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