input: bcm5974: Add support for MacBookAir3
authorEdgar (gimli) Hucek <gimli@dark-green.com>
Tue, 9 Nov 2010 16:38:42 +0000 (17:38 +0100)
committerJiri Kosina <jkosina@suse.cz>
Mon, 15 Nov 2010 13:18:36 +0000 (14:18 +0100)
This patch adds support for the MacBookAir3,1 and MacBookAir3,2
models.

[rydberg@euromail.se: touchpad range calibration]
Cc: stable@kernel.org
Signed-off-by: Edgar (gimli) Hucek <gimli@dark-green.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/input/mouse/bcm5974.c

index b952317639116f2f18a7bc1f41ff5887c17f2a49..ee82851afe3ee9a660873b59d5fcb8cf39181ca7 100644 (file)
 #define USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI   0x0236
 #define USB_DEVICE_ID_APPLE_WELLSPRING3_ISO    0x0237
 #define USB_DEVICE_ID_APPLE_WELLSPRING3_JIS    0x0238
+/* MacbookAir3,2 (unibody), aka wellspring5 */
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI   0x023f
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_ISO    0x0240
+#define USB_DEVICE_ID_APPLE_WELLSPRING4_JIS    0x0241
+/* MacbookAir3,1 (unibody), aka wellspring4 */
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI  0x0242
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO   0x0243
+#define USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS   0x0244
 
 #define BCM5974_DEVICE(prod) {                                 \
        .match_flags = (USB_DEVICE_ID_MATCH_DEVICE |            \
@@ -80,6 +88,14 @@ static const struct usb_device_id bcm5974_table[] = {
        BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
        BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
        BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
+       /* MacbookAir3,2 */
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
+       /* MacbookAir3,1 */
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
+       BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
        /* Terminating entry */
        {}
 };
@@ -234,6 +250,30 @@ static const struct bcm5974_config bcm5974_config_table[] = {
                { DIM_X, DIM_X / SN_COORD, -4460, 5166 },
                { DIM_Y, DIM_Y / SN_COORD, -75, 6700 }
        },
+       {
+               USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI,
+               USB_DEVICE_ID_APPLE_WELLSPRING4_ISO,
+               USB_DEVICE_ID_APPLE_WELLSPRING4_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 }
+       },
+       {
+               USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI,
+               USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO,
+               USB_DEVICE_ID_APPLE_WELLSPRING4A_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, -4616, 5112 },
+               { DIM_Y, DIM_Y / SN_COORD, -142, 5234 }
+       },
        {}
 };