Patchwork [Oneiric] (upstream) Input: bcm5974 - Add support for newer MacBookPro8, 2

login
register
mail settings
Submitter Chase Douglas
Date Aug. 25, 2011, 11:08 p.m.
Message ID <1314313718-30779-1-git-send-email-chase.douglas@canonical.com>
Download mbox | patch
Permalink /patch/111689/
State New
Headers show

Comments

Chase Douglas - Aug. 25, 2011, 11:08 p.m.
From: Andrew Drake <adrake@adrake.org>

New MacBook Pro devices reporting product name MacBookPro8,2 come with
newer/higher resolution touchpads than others with the same product
name with USB ID 05ac:0252. This patch adds support for these devices.

Signed-off-by: Andrew Drake <adrake@adrake.org>
Reviewed-by: Wanlong Gao <gaowanlong@cn.fujitsu.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
(cherry picked from commit c331eb580a0a7906c0cdb8dbae3cfe99e3c0e555)
---
 drivers/input/mouse/bcm5974.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
Tim Gardner - Aug. 26, 2011, 1:51 p.m.
On 08/25/2011 05:08 PM, Chase Douglas wrote:
> From: Andrew Drake<adrake@adrake.org>
>
> New MacBook Pro devices reporting product name MacBookPro8,2 come with
> newer/higher resolution touchpads than others with the same product
> name with USB ID 05ac:0252. This patch adds support for these devices.
>
> Signed-off-by: Andrew Drake<adrake@adrake.org>
> Reviewed-by: Wanlong Gao<gaowanlong@cn.fujitsu.com>
> Signed-off-by: Dmitry Torokhov<dtor@mail.ru>
> (cherry picked from commit c331eb580a0a7906c0cdb8dbae3cfe99e3c0e555)
> ---
>   drivers/input/mouse/bcm5974.c |   20 ++++++++++++++++++++
>   1 files changed, 20 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
> index 48d9ec1..da28018 100644
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -71,6 +71,10 @@
>   #define USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI	0x024c
>   #define USB_DEVICE_ID_APPLE_WELLSPRING6_ISO	0x024d
>   #define USB_DEVICE_ID_APPLE_WELLSPRING6_JIS	0x024e
> +/* Macbook8,2 (unibody) */
> +#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 BCM5974_DEVICE(prod) {					\
>   	.match_flags = (USB_DEVICE_ID_MATCH_DEVICE |		\
> @@ -112,6 +116,10 @@ static const struct usb_device_id bcm5974_table[] = {
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
> +	/* MacbookPro8,2 */
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS),
>   	/* Terminating entry */
>   	{}
>   };
> @@ -314,6 +322,18 @@ static const struct bcm5974_config bcm5974_config_table[] = {
>   		{ DIM_X, DIM_X / SN_COORD, -4620, 5140 },
>   		{ DIM_Y, DIM_Y / SN_COORD, -150, 6600 }
>   	},
> +	{
> +		USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI,
> +		USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO,
> +		USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS,
> +		HAS_INTEGRATED_BUTTON,
> +		0x84, sizeof(struct bt_data),
> +		0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
> +		{ DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 },
> +		{ DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
> +		{ DIM_X, DIM_X / SN_COORD, -4750, 5280 },
> +		{ DIM_Y, DIM_Y / SN_COORD, -150, 6730 }
> +	},
>   	{}
>   };
>

Patch

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 48d9ec1..da28018 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -71,6 +71,10 @@ 
 #define USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI	0x024c
 #define USB_DEVICE_ID_APPLE_WELLSPRING6_ISO	0x024d
 #define USB_DEVICE_ID_APPLE_WELLSPRING6_JIS	0x024e
+/* Macbook8,2 (unibody) */
+#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 BCM5974_DEVICE(prod) {					\
 	.match_flags = (USB_DEVICE_ID_MATCH_DEVICE |		\
@@ -112,6 +116,10 @@  static const struct usb_device_id bcm5974_table[] = {
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
+	/* MacbookPro8,2 */
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS),
 	/* Terminating entry */
 	{}
 };
@@ -314,6 +322,18 @@  static const struct bcm5974_config bcm5974_config_table[] = {
 		{ DIM_X, DIM_X / SN_COORD, -4620, 5140 },
 		{ DIM_Y, DIM_Y / SN_COORD, -150, 6600 }
 	},
+	{
+		USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI,
+		USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO,
+		USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS,
+		HAS_INTEGRATED_BUTTON,
+		0x84, sizeof(struct bt_data),
+		0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
+		{ DIM_PRESSURE, DIM_PRESSURE / SN_PRESSURE, 0, 300 },
+		{ DIM_WIDTH, DIM_WIDTH / SN_WIDTH, 0, 2048 },
+		{ DIM_X, DIM_X / SN_COORD, -4750, 5280 },
+		{ DIM_Y, DIM_Y / SN_COORD, -150, 6730 }
+	},
 	{}
 };