Message ID | 1314313646-29608-1-git-send-email-chase.douglas@canonical.com |
---|---|
State | New |
Headers | show |
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 } > + }, > {} > }; >
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 } + }, {} };