diff mbox

input: bcm5974: Add support for newer MacBookPro8,2

Message ID 4E4A0C26.1060307@adrake.org (mailing list archive)
State New, archived
Headers show

Commit Message

Andrew Drake Aug. 16, 2011, 6:20 a.m. UTC
I just received a new MacBook Pro, product name MacBookPro8,2. It came
with a newer/higher resolution touchpad than others with the same
product name with USB ID 05ac:0252. The following patch (which applies
on top of 3.1-rc2) adds support for this device.

Signed-off-by: Andrew Drake <adrake@adrake.org>
---
 drivers/input/mouse/bcm5974.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)




--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Wanlong Gao Aug. 16, 2011, 7:13 a.m. UTC | #1
On 08/16/2011 02:20 PM, Andrew Drake wrote:
> I just received a new MacBook Pro, product name MacBookPro8,2. It came
> with a newer/higher resolution touchpad than others with the same
> product name with USB ID 05ac:0252. The following patch (which applies
> on top of 3.1-rc2) adds support for this device.
>
> Signed-off-by: Andrew Drake<adrake@adrake.org>
> ---
>   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 3126983..a0a4964 100644
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -67,6 +67,10 @@
>   #define USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI	0x0245
>   #define USB_DEVICE_ID_APPLE_WELLSPRING5_ISO	0x0246
>   #define USB_DEVICE_ID_APPLE_WELLSPRING5_JIS	0x0247
> +/* 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 |		\
> @@ -104,6 +108,10 @@ static const struct usb_device_id bcm5974_table[] = {
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
>   	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_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 */
>   	{}
>   };
> @@ -294,6 +302,18 @@ static const struct bcm5974_config
> bcm5974_config_table[] = {
>   		{ DIM_X, DIM_X / SN_COORD, -4415, 5050 },
>   		{ DIM_Y, DIM_Y / SN_COORD, -55, 6680 }
>   	},
> +	{
> +		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 }
> +	},
>   	{}
>   };
>
>
>
> --
I wonder that why can't I apply this patch?
#git am <[path]>
Applying: input: bcm5974: Add support for newer MacBookPro8,2
fatal: corrupt patch at line 32
Patch failed at 0001 input: bcm5974: Add support for newer MacBookPro8,2
diff mbox

Patch

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 3126983..a0a4964 100644
--- a/drivers/input/mouse/bcm5974.c
+++ b/drivers/input/mouse/bcm5974.c
@@ -67,6 +67,10 @@ 
 #define USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI	0x0245
 #define USB_DEVICE_ID_APPLE_WELLSPRING5_ISO	0x0246
 #define USB_DEVICE_ID_APPLE_WELLSPRING5_JIS	0x0247
+/* 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 |		\
@@ -104,6 +108,10 @@  static const struct usb_device_id bcm5974_table[] = {
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
 	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING5_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 */
 	{}
 };
@@ -294,6 +302,18 @@  static const struct bcm5974_config
bcm5974_config_table[] = {
 		{ DIM_X, DIM_X / SN_COORD, -4415, 5050 },
 		{ DIM_Y, DIM_Y / SN_COORD, -55, 6680 }
 	},
+	{
+		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 }
+	},
 	{}
 };