diff options
| -rw-r--r-- | CHANGES | 7 | ||||
| -rw-r--r-- | bcm5974-dkms-mkdeb/debian/changelog | 7 | ||||
| -rw-r--r-- | bcm5974.c | 26 | ||||
| -rw-r--r-- | dkms.conf | 2 |
4 files changed, 33 insertions, 9 deletions
| @@ -1,3 +1,10 @@ | |||
| 1 | bcm5974 (0.57) unstable; urgency=low | ||
| 2 | |||
| 3 | * Keep reset_resume around | ||
| 4 | * Submitted to kernel.org | ||
| 5 | |||
| 6 | -- Henrik Rydberg <rydberg@euromail.se> Fri, 18 Jul 2008 02:42:52 +0200 | ||
| 7 | |||
| 1 | bcm5974 (0.56) unstable; urgency=low | 8 | bcm5974 (0.56) unstable; urgency=low |
| 2 | 9 | ||
| 3 | * Leave device initialization to hid; use mode-switch only | 10 | * Leave device initialization to hid; use mode-switch only |
diff --git a/bcm5974-dkms-mkdeb/debian/changelog b/bcm5974-dkms-mkdeb/debian/changelog index cd60af8..76304fd 100644 --- a/bcm5974-dkms-mkdeb/debian/changelog +++ b/bcm5974-dkms-mkdeb/debian/changelog | |||
| @@ -1,9 +1,6 @@ | |||
| 1 | MODULE_NAME-dkms (MODULE_VERSION) unstable; urgency=low | 1 | MODULE_NAME-dkms (MODULE_VERSION) unstable; urgency=low |
| 2 | 2 | ||
| 3 | * Leave device initialization to hid; use mode-switch only | 3 | * Keep reset_resume around |
| 4 | * Mode switch moved to atp_open and simplified | 4 | * Submitted to kernel.org |
| 5 | * Corrected cleanup action in atp_open | ||
| 6 | * Simplified control package detection | ||
| 7 | * Removed reset_resume, pre_reset, post_reset; not needed | ||
| 8 | 5 | ||
| 9 | -- Henrik Rydberg <rydberg@euromail.se> DATE_STAMP | 6 | -- Henrik Rydberg <rydberg@euromail.se> DATE_STAMP |
| @@ -404,14 +404,33 @@ exit: | |||
| 404 | err("bcm5974: trackpad urb failed: %d", error); | 404 | err("bcm5974: trackpad urb failed: %d", error); |
| 405 | } | 405 | } |
| 406 | 406 | ||
| 407 | /* | ||
| 408 | * The Wellspring trackpad, like many recent Apple trackpads, share | ||
| 409 | * the usb device with the keyboard. Since keyboards are usually | ||
| 410 | * handled by the HID system, the device ends up being handled by two | ||
| 411 | * modules. Setting up the device therefore becomes slightly | ||
| 412 | * complicated. To enable multitouch features, a mode switch is | ||
| 413 | * required, which is usually applied via the control interface of the | ||
| 414 | * device. It can be argued where this switch should take place. In | ||
| 415 | * some drivers, like appletouch, the switch is made during | ||
| 416 | * probe. However, the hid module may also alter the state of the | ||
| 417 | * device, resulting in trackpad malfunction under certain | ||
| 418 | * circumstances. To get around this problem, there is at least one | ||
| 419 | * example that utilizes the USB_QUIRK_RESET_RESUME quirk in order to | ||
| 420 | * recieve a reset_resume request rather than the normal resume. Since | ||
| 421 | * the implementation of reset_resume is equal to mode switch plus | ||
| 422 | * open, it seems easier to always do the switch while opening the | ||
| 423 | * device. | ||
| 424 | */ | ||
| 407 | static int atp_open(struct input_dev *input) | 425 | static int atp_open(struct input_dev *input) |
| 408 | { | 426 | { |
| 409 | struct atp *dev = input_get_drvdata(input); | 427 | struct atp *dev = input_get_drvdata(input); |
| 410 | 428 | ||
| 411 | if (!dev->open) { | 429 | if (!dev->open) { |
| 412 | if (atp_wellspring_mode(dev)) | 430 | if (atp_wellspring_mode(dev)) { |
| 413 | printk(KERN_INFO "bcm5974: mode switch failed\n"); | 431 | dprintk(1, "bcm5974: mode switch failed\n"); |
| 414 | 432 | goto error; | |
| 433 | } | ||
| 415 | if (usb_submit_urb(dev->bt_urb, GFP_KERNEL)) | 434 | if (usb_submit_urb(dev->bt_urb, GFP_KERNEL)) |
| 416 | goto error; | 435 | goto error; |
| 417 | if (usb_submit_urb(dev->tp_urb, GFP_KERNEL)) | 436 | if (usb_submit_urb(dev->tp_urb, GFP_KERNEL)) |
| @@ -609,6 +628,7 @@ static struct usb_driver atp_driver = { | |||
| 609 | .disconnect = atp_disconnect, | 628 | .disconnect = atp_disconnect, |
| 610 | .suspend = atp_suspend, | 629 | .suspend = atp_suspend, |
| 611 | .resume = atp_resume, | 630 | .resume = atp_resume, |
| 631 | .reset_resume = atp_resume, | ||
| 612 | .id_table = atp_table, | 632 | .id_table = atp_table, |
| 613 | }; | 633 | }; |
| 614 | 634 | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | PACKAGE_NAME="bcm5974" | 1 | PACKAGE_NAME="bcm5974" |
| 2 | PACKAGE_VERSION="0.56" | 2 | PACKAGE_VERSION="0.57" |
| 3 | MAKE[0]="make -C ${kernel_source_dir} | 3 | MAKE[0]="make -C ${kernel_source_dir} |
| 4 | SUBDIRS=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build modules" | 4 | SUBDIRS=${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build modules" |
| 5 | BUILT_MODULE_NAME[0]="bcm5974" | 5 | BUILT_MODULE_NAME[0]="bcm5974" |
