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