diff options
| author | Henrik Rydberg <rydberg@euromail.se> | 2010-08-30 12:52:27 +0200 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2010-08-30 12:52:27 +0200 |
| commit | 2595d194cb1241fc668f3d69ab226aedab32aaf5 (patch) | |
| tree | e56673f09c8c3f7c0e6dc082bfafdaae61147d8f /usr | |
| parent | 8cf31d6799f23120b7c1cb26b433eae9b267de1e (diff) | |
Update to 2.6.36+
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'usr')
| -rw-r--r-- | usr/src/dkms_source_tree/bcm5974.c | 59 | ||||
| -rw-r--r-- | usr/src/dkms_source_tree/dkms.conf | 2 |
2 files changed, 37 insertions, 24 deletions
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 | */ |
| 581 | static int bcm5974_start_traffic(struct bcm5974 *dev) | 587 | static 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 | ||
| 596 | err_kill_bt: | 607 | err_kill_bt: |
| 597 | usb_kill_urb(dev->bt_urb); | 608 | usb_kill_urb(dev->bt_urb); |
| 598 | error: | 609 | err_reset_mode: |
| 599 | return -EIO; | 610 | bcm5974_wellspring_mode(dev, false); |
| 611 | err_out: | ||
| 612 | return error; | ||
| 600 | } | 613 | } |
| 601 | 614 | ||
| 602 | static void bcm5974_pause_traffic(struct bcm5974 *dev) | 615 | static 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 | ||
| 767 | err_free_buffer: | 780 | err_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); |
| 770 | err_free_bt_buffer: | 783 | err_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); |
| 773 | err_free_urb: | 786 | err_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 @@ | |||
| 1 | NAME=bcm5974 | 1 | NAME=bcm5974 |
| 2 | VERSION=1.1.4 | 2 | VERSION=1.1.5 |
| 3 | PACKAGE_NAME="$NAME" | 3 | PACKAGE_NAME="$NAME" |
| 4 | PACKAGE_VERSION="$VERSION" | 4 | PACKAGE_VERSION="$VERSION" |
| 5 | MAKE[0]="make -C ${kernel_source_dir} | 5 | MAKE[0]="make -C ${kernel_source_dir} |
