Hi Dirk,

> From 364d79a254029881345d34ab02d5127fe74e288c Mon Sep 17 00:00:00 2001
> From: Dirk Hohndel <[email protected]>
> Date: Tue, 30 Oct 2012 11:11:48 -0700
> Subject: [PATCH] Add support for the MacBook Pro 10,2 keyboard / touchpad
> 
> This enables the existing drivers for keyboard and touchpad with the new
> USB IDs found on the MBP 13" Reasonable Resolution (also known as the
> Retina Display).
> 
> Signed-off-by: Dirk Hohndel <[email protected]>
> ---
>  drivers/hid/hid-apple.c       |  6 ++++++
>  drivers/hid/hid-core.c        |  3 +++
>  drivers/hid/hid-ids.h         |  3 +++
>  drivers/input/mouse/bcm5974.c | 21 +++++++++++++++++++++
>  4 files changed, 33 insertions(+)

Thanks for the patch, nice to see the 13'' in the open. One comment below.

> 
> diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
> index 06ebdbb..fd7722a 100644
> --- a/drivers/hid/hid-apple.c
> +++ b/drivers/hid/hid-apple.c
> @@ -522,6 +522,12 @@ static const struct hid_device_id apple_devices[] = {
>               .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
>       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
>               .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
> +             .driver_data = APPLE_HAS_FN },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
> +             .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
> +             .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
>       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
>               .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
>       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index bd3971b..e0f7a83 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1532,6 +1532,9 @@ static const struct hid_device_id 
> hid_have_special_driver[] = {
>       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI) },
>       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7_ISO) },
>       { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7_JIS) },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) },
> +     { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) },
>       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
>       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
>       { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, 
> USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },

The entry in hid_mouse_ignore_list seems to be missing.

> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 269b509..9d7a428 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -118,6 +118,9 @@
>  #define USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI        0x0252
>  #define USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO 0x0253
>  #define USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS 0x0254
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI        0x0259
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO 0x025a
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS 0x025b
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI        0x0249
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO 0x024a
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS 0x024b
> diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
> index 3a78f23..2baff1b 100644
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -84,6 +84,10 @@
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI 0x0262
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_ISO  0x0263
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_JIS  0x0264
> +/* MacbookPro10,2 (unibody, October 2012) */
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI        0x0259
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO 0x025a
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS 0x025b
>  
>  #define BCM5974_DEVICE(prod) {                                       \
>       .match_flags = (USB_DEVICE_ID_MATCH_DEVICE |            \
> @@ -137,6 +141,10 @@ static const struct usb_device_id bcm5974_table[] = {
>       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI),
>       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_ISO),
>       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
> +     /* MacbookPro10,2 */
> +     BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
> +     BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
> +     BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
>       /* Terminating entry */
>       {}
>  };
> @@ -379,6 +387,19 @@ static const struct bcm5974_config 
> bcm5974_config_table[] = {
>               { SN_COORD, -150, 6730 },
>               { SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
>       },
> +     {
> +             USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI,
> +             USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO,
> +             USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS,
> +             HAS_INTEGRATED_BUTTON,
> +             0x84, sizeof(struct bt_data),
> +             0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
> +             { SN_PRESSURE, 0, 300 },
> +             { SN_WIDTH, 0, 2048 },
> +             { SN_COORD, -4750, 5280 },
> +             { SN_COORD, -150, 6730 },
> +             { SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
> +     },
>       {}
>  };

Thanks,
Henrik
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to