All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Dirk Hohndel <dirk@hohndel.org>, Jiri Kosina <jkosina@suse.cz>
Cc: Henrik Rydberg <rydberg@euromail.se>,
	linux-input@vger.kernel.org,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH] Add support for the MacBook Pro 10,2 keyboard / touchpad
Date: Tue, 30 Oct 2012 23:34:25 -0700	[thread overview]
Message-ID: <20121031063425.GA32539@core.coreip.homeip.net> (raw)
In-Reply-To: <20121030230228.356490.FMU5080@air.gr8dns.org>

On Tue, Oct 30, 2012 at 11:02:28PM -0700, Dirk Hohndel wrote:
> Dmitry Torokhov <dmitry.torokhov@gmail.com> writes:
> >> >
> >> >The entry in hid_mouse_ignore_list seems to be missing.
> >> 
> >> Correct. It works fine without that.
> >
> > Pure luck I think as entries for bcm5974 get sorted before entries for
> > HID. To be safe and make sure it works if hid is built-in we need to add
> > the new devices to hid_mouse_ignore_list.
> 
> Erm - what makes you think I tested this as a module? Actually, come to
> think of, I ONLY tested this built in.
> 
> > That for devices driven by hid-multitouch, so not applicable to this
> > case.
> 
> Ok, thanks
> 
> >> The keyboard definitely needs it, though.
> >> 
> >> Let me phrase it this way: the patch, as submitted, happily works on my rMBP 13
> >
> > By pure luck.
> 
> I'll take your word for it. Here's an updated patch

Thanks!

Jiri, do you want me to take it through my tree or yours?

> 
> /D
> 

> From 67842b2edeb26e90f2805160e06163ab5f7d87f0 Mon Sep 17 00:00:00 2001
> From: Dirk Hohndel <dirk@hohndel.org>
> Date: Tue, 30 Oct 2012 11:11:48 -0700
> Subject: [PATCH] Add support for the MacBook Pro 10,2 keyboard / touchpad
> 
> This enables the existing drivers for keyboard and touchpad with the new
> USB IDs found on the MBP 13" Reasonable Resolution (also known as the
> Retina Display).
> 
> Added entries to both keyboard and mouse ignore lists.
> 
> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
> ---
>  drivers/hid/hid-apple.c       |  6 ++++++
>  drivers/hid/hid-core.c        |  6 ++++++
>  drivers/hid/hid-ids.h         |  3 +++
>  drivers/input/mouse/bcm5974.c | 21 +++++++++++++++++++++
>  4 files changed, 36 insertions(+)
> 
> diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c
> index 06ebdbb..fd7722a 100644
> --- a/drivers/hid/hid-apple.c
> +++ b/drivers/hid/hid-apple.c
> @@ -522,6 +522,12 @@ static const struct hid_device_id apple_devices[] = {
>  		.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
>  		.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
> +		.driver_data = APPLE_HAS_FN },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
> +		.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
> +		.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
>  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
>  		.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
>  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index bd3971b..f4109fd 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1532,6 +1532,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ISO) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) },
>  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI) },
>  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO) },
>  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS) },
> @@ -2139,6 +2142,9 @@ static const struct hid_device_id hid_mouse_ignore_list[] = {
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ISO) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO) },
> +	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
>  	{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
>  	{ }
> diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
> index 269b509..9d7a428 100644
> --- a/drivers/hid/hid-ids.h
> +++ b/drivers/hid/hid-ids.h
> @@ -118,6 +118,9 @@
>  #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 USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI	0x0259
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO	0x025a
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS	0x025b
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI	0x0249
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO	0x024a
>  #define USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS	0x024b
> diff --git a/drivers/input/mouse/bcm5974.c b/drivers/input/mouse/bcm5974.c
> index 3a78f23..2baff1b 100644
> --- a/drivers/input/mouse/bcm5974.c
> +++ b/drivers/input/mouse/bcm5974.c
> @@ -84,6 +84,10 @@
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI	0x0262
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_ISO	0x0263
>  #define USB_DEVICE_ID_APPLE_WELLSPRING7_JIS	0x0264
> +/* MacbookPro10,2 (unibody, October 2012) */
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI	0x0259
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO	0x025a
> +#define USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS	0x025b
>  
>  #define BCM5974_DEVICE(prod) {					\
>  	.match_flags = (USB_DEVICE_ID_MATCH_DEVICE |		\
> @@ -137,6 +141,10 @@ static const struct usb_device_id bcm5974_table[] = {
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI),
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_ISO),
>  	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
> +	/* MacbookPro10,2 */
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
> +	BCM5974_DEVICE(USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
>  	/* Terminating entry */
>  	{}
>  };
> @@ -379,6 +387,19 @@ static const struct bcm5974_config bcm5974_config_table[] = {
>  		{ SN_COORD, -150, 6730 },
>  		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
>  	},
> +	{
> +		USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI,
> +		USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO,
> +		USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS,
> +		HAS_INTEGRATED_BUTTON,
> +		0x84, sizeof(struct bt_data),
> +		0x81, TYPE2, FINGER_TYPE2, FINGER_TYPE2 + SIZEOF_ALL_FINGERS,
> +		{ SN_PRESSURE, 0, 300 },
> +		{ SN_WIDTH, 0, 2048 },
> +		{ SN_COORD, -4750, 5280 },
> +		{ SN_COORD, -150, 6730 },
> +		{ SN_ORIENT, -MAX_FINGER_ORIENTATION, MAX_FINGER_ORIENTATION }
> +	},
>  	{}
>  };
>  
> -- 
> 1.8.0.rc0.18.gf84667d
> 

> 
> -- 
> Dirk Hohndel
> Intel Open Source Technology Center


-- 
Dmitry

  reply	other threads:[~2012-10-31  6:34 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-30 19:51 [PATCH] Add support for the MacBook Pro 10,2 keyboard / touchpad Dirk Hohndel
2012-10-30 22:22 ` Henrik Rydberg
2012-10-30 22:28   ` Dirk Hohndel
2012-10-31  5:48     ` Dmitry Torokhov
2012-10-31  6:02       ` Dirk Hohndel
2012-10-31  6:34         ` Dmitry Torokhov [this message]
2012-10-31  7:41           ` Jiri Kosina

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121031063425.GA32539@core.coreip.homeip.net \
    --to=dmitry.torokhov@gmail.com \
    --cc=dirk@hohndel.org \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=rydberg@euromail.se \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.