bcm5974.c (ca371d2854d48c0c22e7aa031df182f96dc85820) bcm5974.c (52965cc012f7a3cf35f06485ec275ebf3b3fddae)
1/*
2 * Apple USB BCM5974 (Macbook Air and Penryn Macbook Pro) multitouch driver
3 *
4 * Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se)
5 *
6 * The USB initialization and package decoding was made by
7 * Scott Shawcroft as part of the touchd user-space driver project:
8 * Copyright (C) 2008 Scott Shawcroft (scott.shawcroft@gmail.com)

--- 419 unchanged lines hidden (view full) ---

428 __set_bit(EV_KEY, input_dev->evbit);
429 __set_bit(BTN_TOUCH, input_dev->keybit);
430 __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
431 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
432 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
433 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
434 __set_bit(BTN_LEFT, input_dev->keybit);
435
1/*
2 * Apple USB BCM5974 (Macbook Air and Penryn Macbook Pro) multitouch driver
3 *
4 * Copyright (C) 2008 Henrik Rydberg (rydberg@euromail.se)
5 *
6 * The USB initialization and package decoding was made by
7 * Scott Shawcroft as part of the touchd user-space driver project:
8 * Copyright (C) 2008 Scott Shawcroft (scott.shawcroft@gmail.com)

--- 419 unchanged lines hidden (view full) ---

428 __set_bit(EV_KEY, input_dev->evbit);
429 __set_bit(BTN_TOUCH, input_dev->keybit);
430 __set_bit(BTN_TOOL_FINGER, input_dev->keybit);
431 __set_bit(BTN_TOOL_DOUBLETAP, input_dev->keybit);
432 __set_bit(BTN_TOOL_TRIPLETAP, input_dev->keybit);
433 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
434 __set_bit(BTN_LEFT, input_dev->keybit);
435
436 if (cfg->caps & HAS_INTEGRATED_BUTTON)
437 __set_bit(INPUT_PROP_BUTTONPAD, input_dev->propbit);
438
436 input_set_events_per_packet(input_dev, 60);
437}
438
439/* report button data as logical button state */
440static int report_bt_state(struct bcm5974 *dev, int size)
441{
442 if (size != sizeof(struct bt_data))
443 return -EIO;

--- 491 unchanged lines hidden (view full) ---

935 .probe = bcm5974_probe,
936 .disconnect = bcm5974_disconnect,
937 .suspend = bcm5974_suspend,
938 .resume = bcm5974_resume,
939 .id_table = bcm5974_table,
940 .supports_autosuspend = 1,
941};
942
439 input_set_events_per_packet(input_dev, 60);
440}
441
442/* report button data as logical button state */
443static int report_bt_state(struct bcm5974 *dev, int size)
444{
445 if (size != sizeof(struct bt_data))
446 return -EIO;

--- 491 unchanged lines hidden (view full) ---

938 .probe = bcm5974_probe,
939 .disconnect = bcm5974_disconnect,
940 .suspend = bcm5974_suspend,
941 .resume = bcm5974_resume,
942 .id_table = bcm5974_table,
943 .supports_autosuspend = 1,
944};
945
943module_usb_driver(bcm5974_driver);
946static int __init bcm5974_init(void)
947{
948 return usb_register(&bcm5974_driver);
949}
950
951static void __exit bcm5974_exit(void)
952{
953 usb_deregister(&bcm5974_driver);
954}
955
956module_init(bcm5974_init);
957module_exit(bcm5974_exit);
958