summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--debian/changelog7
-rw-r--r--debian/postinst2
-rw-r--r--debian/postrm2
-rw-r--r--debian/prerm2
-rwxr-xr-xdebian/rules2
-rw-r--r--usr/src/dkms_source_tree/bcm5974.c59
-rw-r--r--usr/src/dkms_source_tree/dkms.conf2
8 files changed, 46 insertions, 32 deletions
diff --git a/Makefile b/Makefile
index f9c9f41..afd5167 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
1NAME = bcm5974 1NAME = bcm5974
2VERSION = 1.1.4 2VERSION = 1.1.5
3SRC = usr/src 3SRC = usr/src
4 4
5TARBALL = $(NAME)-$(VERSION).dkms.tar.gz 5TARBALL = $(NAME)-$(VERSION).dkms.tar.gz
diff --git a/debian/changelog b/debian/changelog
index 790930a..ef71eb4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,9 @@
1bcm5974-dkms (1.1.4-0ubuntu1~mactel-support1~karmic1) karmic; urgency=low 1bcm5974-dkms (1.1.5) maverick; urgency=low
2 2
3 * Update karmic version to mt-enabled kernel version 2.6.33 3 * Update maverick version to kernel version 2.6.36
4 * Adjust contact scaling
4 5
5 -- Henrik Rydberg <rydberg@euromail.se> Sun, 31 Jan 2010 12:06:47 +0100 6 -- Henrik Rydberg <rydberg@euromail.se> Mon, 30 Aug 2010 12:48:04 +0200
6 7
7bcm5974-dkms (1.1.3) jaunty; urgency=low 8bcm5974-dkms (1.1.3) jaunty; urgency=low
8 9
diff --git a/debian/postinst b/debian/postinst
index abd388c..7395342 100644
--- a/debian/postinst
+++ b/debian/postinst
@@ -3,7 +3,7 @@
3set -e 3set -e
4 4
5NAME=bcm5974 5NAME=bcm5974
6VERSION=1.1.4 6VERSION=1.1.5
7 7
8case "$1" in 8case "$1" in
9 configure) 9 configure)
diff --git a/debian/postrm b/debian/postrm
index f49c1e1..d51b5d7 100644
--- a/debian/postrm
+++ b/debian/postrm
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAME=bcm5974 3NAME=bcm5974
4VERSION=1.1.4 4VERSION=1.1.5
5 5
6set -e 6set -e
7 7
diff --git a/debian/prerm b/debian/prerm
index cef14fd..5321b8b 100644
--- a/debian/prerm
+++ b/debian/prerm
@@ -1,7 +1,7 @@
1#!/bin/sh 1#!/bin/sh
2 2
3NAME=bcm5974 3NAME=bcm5974
4VERSION=1.1.4 4VERSION=1.1.5
5 5
6set -e 6set -e
7 7
diff --git a/debian/rules b/debian/rules
index 60b6e39..ec2ab0c 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,7 +5,7 @@
5#export DH_VERBOSE=1 5#export DH_VERBOSE=1
6 6
7NAME=bcm5974 7NAME=bcm5974
8VERSION=1.1.4 8VERSION=1.1.5
9 9
10configure: configure-stamp 10configure: configure-stamp
11configure-stamp: 11configure-stamp:
diff --git a/usr/src/dkms_source_tree/bcm5974.c b/usr/src/dkms_source_tree/bcm5974.c
index b89879b..b952317 100644
--- a/usr/src/dkms_source_tree/bcm5974.c
+++ b/usr/src/dkms_source_tree/bcm5974.c
@@ -312,6 +312,8 @@ static void setup_events_to_report(struct input_dev *input_dev,
312 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit); 312 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
313 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit); 313 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
314 __set_bit(BTN_LEFT, input_dev->keybit); 314 __set_bit(BTN_LEFT, input_dev->keybit);
315
316 input_set_events_per_packet(input_dev, 60);
315} 317}
316 318
317/* report button data as logical button state */ 319/* report button data as logical button state */
@@ -335,10 +337,14 @@ static void report_finger_data(struct input_dev *input,
335 const struct bcm5974_config *cfg, 337 const struct bcm5974_config *cfg,
336 const struct tp_finger *f) 338 const struct tp_finger *f)
337{ 339{
338 input_report_abs(input, ABS_MT_TOUCH_MAJOR, raw2int(f->force_major)); 340 input_report_abs(input, ABS_MT_TOUCH_MAJOR,
339 input_report_abs(input, ABS_MT_TOUCH_MINOR, raw2int(f->force_minor)); 341 raw2int(f->force_major) << 1);
340 input_report_abs(input, ABS_MT_WIDTH_MAJOR, raw2int(f->size_major)); 342 input_report_abs(input, ABS_MT_TOUCH_MINOR,
341 input_report_abs(input, ABS_MT_WIDTH_MINOR, raw2int(f->size_minor)); 343 raw2int(f->force_minor) << 1);
344 input_report_abs(input, ABS_MT_WIDTH_MAJOR,
345 raw2int(f->size_major) << 1);
346 input_report_abs(input, ABS_MT_WIDTH_MINOR,
347 raw2int(f->size_minor) << 1);
342 input_report_abs(input, ABS_MT_ORIENTATION, 348 input_report_abs(input, ABS_MT_ORIENTATION,
343 MAX_FINGER_ORIENTATION - raw2int(f->orientation)); 349 MAX_FINGER_ORIENTATION - raw2int(f->orientation));
344 input_report_abs(input, ABS_MT_POSITION_X, raw2int(f->abs_x)); 350 input_report_abs(input, ABS_MT_POSITION_X, raw2int(f->abs_x));
@@ -580,23 +586,30 @@ exit:
580 */ 586 */
581static int bcm5974_start_traffic(struct bcm5974 *dev) 587static int bcm5974_start_traffic(struct bcm5974 *dev)
582{ 588{
583 if (bcm5974_wellspring_mode(dev, true)) { 589 int error;
590
591 error = bcm5974_wellspring_mode(dev, true);
592 if (error) {
584 dprintk(1, "bcm5974: mode switch failed\n"); 593 dprintk(1, "bcm5974: mode switch failed\n");
585 goto error; 594 goto err_out;
586 } 595 }
587 596
588 if (usb_submit_urb(dev->bt_urb, GFP_KERNEL)) 597 error = usb_submit_urb(dev->bt_urb, GFP_KERNEL);
589 goto error; 598 if (error)
599 goto err_reset_mode;
590 600
591 if (usb_submit_urb(dev->tp_urb, GFP_KERNEL)) 601 error = usb_submit_urb(dev->tp_urb, GFP_KERNEL);
602 if (error)
592 goto err_kill_bt; 603 goto err_kill_bt;
593 604
594 return 0; 605 return 0;
595 606
596err_kill_bt: 607err_kill_bt:
597 usb_kill_urb(dev->bt_urb); 608 usb_kill_urb(dev->bt_urb);
598error: 609err_reset_mode:
599 return -EIO; 610 bcm5974_wellspring_mode(dev, false);
611err_out:
612 return error;
600} 613}
601 614
602static void bcm5974_pause_traffic(struct bcm5974 *dev) 615static void bcm5974_pause_traffic(struct bcm5974 *dev)
@@ -715,15 +728,15 @@ static int bcm5974_probe(struct usb_interface *iface,
715 if (!dev->tp_urb) 728 if (!dev->tp_urb)
716 goto err_free_bt_urb; 729 goto err_free_bt_urb;
717 730
718 dev->bt_data = usb_buffer_alloc(dev->udev, 731 dev->bt_data = usb_alloc_coherent(dev->udev,
719 dev->cfg.bt_datalen, GFP_KERNEL, 732 dev->cfg.bt_datalen, GFP_KERNEL,
720 &dev->bt_urb->transfer_dma); 733 &dev->bt_urb->transfer_dma);
721 if (!dev->bt_data) 734 if (!dev->bt_data)
722 goto err_free_urb; 735 goto err_free_urb;
723 736
724 dev->tp_data = usb_buffer_alloc(dev->udev, 737 dev->tp_data = usb_alloc_coherent(dev->udev,
725 dev->cfg.tp_datalen, GFP_KERNEL, 738 dev->cfg.tp_datalen, GFP_KERNEL,
726 &dev->tp_urb->transfer_dma); 739 &dev->tp_urb->transfer_dma);
727 if (!dev->tp_data) 740 if (!dev->tp_data)
728 goto err_free_bt_buffer; 741 goto err_free_bt_buffer;
729 742
@@ -765,10 +778,10 @@ static int bcm5974_probe(struct usb_interface *iface,
765 return 0; 778 return 0;
766 779
767err_free_buffer: 780err_free_buffer:
768 usb_buffer_free(dev->udev, dev->cfg.tp_datalen, 781 usb_free_coherent(dev->udev, dev->cfg.tp_datalen,
769 dev->tp_data, dev->tp_urb->transfer_dma); 782 dev->tp_data, dev->tp_urb->transfer_dma);
770err_free_bt_buffer: 783err_free_bt_buffer:
771 usb_buffer_free(dev->udev, dev->cfg.bt_datalen, 784 usb_free_coherent(dev->udev, dev->cfg.bt_datalen,
772 dev->bt_data, dev->bt_urb->transfer_dma); 785 dev->bt_data, dev->bt_urb->transfer_dma);
773err_free_urb: 786err_free_urb:
774 usb_free_urb(dev->tp_urb); 787 usb_free_urb(dev->tp_urb);
@@ -788,10 +801,10 @@ static void bcm5974_disconnect(struct usb_interface *iface)
788 usb_set_intfdata(iface, NULL); 801 usb_set_intfdata(iface, NULL);
789 802
790 input_unregister_device(dev->input); 803 input_unregister_device(dev->input);
791 usb_buffer_free(dev->udev, dev->cfg.tp_datalen, 804 usb_free_coherent(dev->udev, dev->cfg.tp_datalen,
792 dev->tp_data, dev->tp_urb->transfer_dma); 805 dev->tp_data, dev->tp_urb->transfer_dma);
793 usb_buffer_free(dev->udev, dev->cfg.bt_datalen, 806 usb_free_coherent(dev->udev, dev->cfg.bt_datalen,
794 dev->bt_data, dev->bt_urb->transfer_dma); 807 dev->bt_data, dev->bt_urb->transfer_dma);
795 usb_free_urb(dev->tp_urb); 808 usb_free_urb(dev->tp_urb);
796 usb_free_urb(dev->bt_urb); 809 usb_free_urb(dev->bt_urb);
797 kfree(dev); 810 kfree(dev);
diff --git a/usr/src/dkms_source_tree/dkms.conf b/usr/src/dkms_source_tree/dkms.conf
index bb1ed5b..09be17b 100644
--- a/usr/src/dkms_source_tree/dkms.conf
+++ b/usr/src/dkms_source_tree/dkms.conf
@@ -1,5 +1,5 @@
1NAME=bcm5974 1NAME=bcm5974
2VERSION=1.1.4 2VERSION=1.1.5
3PACKAGE_NAME="$NAME" 3PACKAGE_NAME="$NAME"
4PACKAGE_VERSION="$VERSION" 4PACKAGE_VERSION="$VERSION"
5MAKE[0]="make -C ${kernel_source_dir} 5MAKE[0]="make -C ${kernel_source_dir}