[Oneiric,v2] (upstream) Input: bcm5974 - add support for touchpads found in MacBookAir4, 2

Submitted by Chase Douglas on Aug. 25, 2011, 11:07 p.m.

Details

Message ID 1314313646-29608-1-git-send-email-chase.douglas@canonical.com
State New
Headers show

Commit Message

Chase Douglas Aug. 25, 2011, 11:07 p.m.
From: Joshua V. Dillon <jvdillon@gmail.com>

Added USB device IDs for MacBookAir4,2 trackpad. Device constants were
copied from the MacBookAir3,2 constants. The 4,2 device specification is
reportedly unchanged from the 3,2 predecessor and seems to work well.

Signed-off-by: Joshua V Dillon <jvdillon@gmail.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
(cherry picked from commit db0b34b07438d92c4c190998c42a502fbf90064e)
---
This time with commit IDs from Linus' tree.

 drivers/input/mouse/bcm5974.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

Comments

Tim Gardner Aug. 26, 2011, 1:49 p.m.
On 08/25/2011 05:07 PM, Chase Douglas wrote:
> From: Joshua V. Dillon<jvdillon@gmail.com>
>
> Added USB device IDs for MacBookAir4,2 trackpad. Device constants were
> copied from the MacBookAir3,2 constants. The 4,2 device specification is
> reportedly unchanged from the 3,2 predecessor and seems to work well.
>
> Signed-off-by: Joshua V Dillon<jvdillon@gmail.com>
> Signed-off-by: Chase Douglas<chase.douglas@canonical.com>
> Signed-off-by: Dmitry Torokhov<dtor@mail.ru>
> (cherry picked from commit db0b34b07438d92c4c190998c42a502fbf90064e)
> ---
> This time with commit IDs from Linus' tree.
>
>   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..48d9ec1 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
> +/* MacbookAir4,2 (unibody, July 2011) */
> +#define USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI	0x024c
> +#define USB_DEVICE_ID_APPLE_WELLSPRING6_ISO	0x024d
> +#define USB_DEVICE_ID_APPLE_WELLSPRING6_JIS	0x024e
>
>   #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),
> +	/* MacbookAir4,2 */
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_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_WELLSPRING6_ANSI,
> +		USB_DEVICE_ID_APPLE_WELLSPRING6_ISO,
> +		USB_DEVICE_ID_APPLE_WELLSPRING6_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, -4620, 5140 },
> +		{ DIM_Y, DIM_Y / SN_COORD, -150, 6600 }
> +	},
>   	{}
>   };
>

Patch hide | download patch | download mbox

diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
index 3126983..48d9ec1 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
+/* MacbookAir4,2 (unibody, July 2011) */
+#define USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI	0x024c
+#define USB_DEVICE_ID_APPLE_WELLSPRING6_ISO	0x024d
+#define USB_DEVICE_ID_APPLE_WELLSPRING6_JIS	0x024e
 
 #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),
+	/* MacbookAir4,2 */
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
+	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING6_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_WELLSPRING6_ANSI,
+		USB_DEVICE_ID_APPLE_WELLSPRING6_ISO,
+		USB_DEVICE_ID_APPLE_WELLSPRING6_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, -4620, 5140 },
+		{ DIM_Y, DIM_Y / SN_COORD, -150, 6600 }
+	},
 	{}
 };