Re: [PATCH] Add support for the MacBook Pro 10,2 keyboard / touchpad

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dirk,

> From 364d79a254029881345d34ab02d5127fe74e288c Mon Sep 17 00:00:00 2001
> From: Dirk Hohndel <dirk@xxxxxxxxxxx>
> 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 <dirk@xxxxxxxxxxx>
> ---
>  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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux