All of lore.kernel.org
 help / color / mirror / Atom feed
From: Soeren Sonnenburg <kernel@nn7.de>
To: Greg Kroah-Hartman <greg@kroah.com>
Cc: Oliver Neukum <oliver@neukum.name>,
	Sergey Vlasov <vsu@altlinux.ru>,
	linux-kernel@vger.kernel.org,
	linux-usb-devel@lists.sourceforge.net
Subject: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch)
Date: Sat, 28 Oct 2006 22:27:46 +0200	[thread overview]
Message-ID: <1162067266.4044.2.camel@localhost> (raw)
In-Reply-To: <200610282055.29423.oliver@neukum.name>

[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]

On Sat, 2006-10-28 at 20:55 +0200, Oliver Neukum wrote: 
> > From: Sergey Vlasov <vsu@altlinux.ru>
> > Subject: usbhid: Add HID_QUIRK_IGNORE_MOUSE flag
> > 
> > Some HID devices by Apple have both keyboard and mouse interfaces; the
> > keyboard interface is handled by usbhid, but the mouse (really
> > touchpad) interface must be handled by the separate 'appletouch'
> > driver.  Using HID_QUIRK_IGNORE will make hiddev ignore both
> > interfaces, therefore a new quirk flag to ignore only the mouse
> > interface is required.
> 
> Exactly. Combing both patches:
> Soeren, if this works, please sign it off and send it to Greg.

OK, this works, but as the same IDs need the FN key hacks I or'ed the FN
and mouse quirk flags. Also I added the appleir (builtin infrared on the
macbook/pro) to the list of ignored IDs. Therefore the patch though very
similar is again slightly different.

But hey, it worked for me over the last hour on this mbp :-))
Please comment/apply.

Soeren.
-- 
Sometimes, there's a moment as you're waking, when you become aware of
the real world around you, but you're still dreaming.

[-- Attachment #2: mbp-input.patch --]
[-- Type: text/x-patch, Size: 3649 bytes --]

Signed-off-by: Soeren Sonnenburg <kernel@nn7.de>
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>

--- linux-2.6.18.1/drivers/usb/input/hid.h	2006-10-14 05:34:03.000000000 +0200
+++ linux-2.6.18.1-sonne/drivers/usb/input/hid.h	2006-10-28 21:44:32.000000000 +0200
@@ -260,6 +260,7 @@
 #define HID_QUIRK_POWERBOOK_HAS_FN		0x00001000
 #define HID_QUIRK_POWERBOOK_FN_ON		0x00002000
 #define HID_QUIRK_INVERT_HWHEEL			0x00004000
+#define HID_QUIRK_IGNORE_MOUSE          0x00008000
 
 /*
  * This is the global environment of the parser. This information is
--- linux-2.6.18.1/drivers/usb/input/hid-core.c	2006-10-14 05:34:03.000000000 +0200
+++ linux-2.6.18.1-sonne/drivers/usb/input/hid-core.c	2006-10-28 21:46:50.000000000 +0200
@@ -1585,6 +1585,13 @@
 
 #define USB_VENDOR_ID_APPLE		0x05ac
 #define USB_DEVICE_ID_APPLE_MIGHTYMOUSE	0x0304
+#define USB_DEVICE_ID_APPLE_GEYSER_ANSI	0x0214
+#define USB_DEVICE_ID_APPLE_GEYSER_ISO	0x0215
+#define USB_DEVICE_ID_APPLE_GEYSER_JIS	0x0216
+#define USB_DEVICE_ID_APPLE_GEYSER3_ANSI	0x0217
+#define USB_DEVICE_ID_APPLE_GEYSER3_ISO		0x0218
+#define USB_DEVICE_ID_APPLE_GEYSER3_JIS		0x0219
+#define USB_DEVICE_ID_APPLE_IR  0x8240
 
 #define USB_VENDOR_ID_CHERRY		0x046a
 #define USB_DEVICE_ID_CHERRY_CYMOTION	0x0023
@@ -1731,16 +1738,18 @@
 
 	{ USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION, HID_QUIRK_CYMOTION },
 
-	{ USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0214, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0215, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0216, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0217, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0218, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x0219, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_POWERBOOK_HAS_FN },
-	{ USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_POWERBOOK_HAS_FN },
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+	{ USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_POWERBOOK_HAS_FN | HID_QUIRK_IGNORE_MOUSE},
+
+	{ USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IR, HID_QUIRK_IGNORE },
 
 	{ USB_VENDOR_ID_PANJIT, 0x0001, HID_QUIRK_IGNORE },
 	{ USB_VENDOR_ID_PANJIT, 0x0002, HID_QUIRK_IGNORE },
@@ -1837,6 +1846,10 @@
 	if (quirks & HID_QUIRK_IGNORE)
 		return NULL;
 
+	if (quirks & HID_QUIRK_IGNORE_MOUSE)
+		if (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE)
+			return NULL;
+
 	if (usb_get_extra_descriptor(interface, HID_DT_HID, &hdesc) &&
 	    (!interface->desc.bNumEndpoints ||
 	     usb_get_extra_descriptor(&interface->endpoint[0], HID_DT_HID, &hdesc))) {

  parent reply	other threads:[~2006-10-28 20:27 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-26  9:53 usb initialization order (usbhid vs. appletouch) Soeren Sonnenburg
2006-10-26 10:20 ` Oliver Neukum
2006-10-26 11:49   ` Soeren Sonnenburg
2006-10-26 12:36     ` Oliver Neukum
2006-10-28 16:56       ` Soeren Sonnenburg
2006-10-28 17:03         ` Oliver Neukum
2006-10-28 17:36           ` Soeren Sonnenburg
2006-10-28 18:14         ` [linux-usb-devel] " Sergey Vlasov
2006-10-28 18:14         ` Pete Zaitcev
2006-10-28 18:30           ` [linux-usb-devel] " Oliver Neukum
     [not found]         ` <200610282043.59106.oliver@neukum.org>
2006-10-28 18:55           ` Fwd: " Oliver Neukum
2006-10-28 19:14             ` Fwd: " Pete Zaitcev
2006-10-28 20:27             ` Soeren Sonnenburg [this message]
2006-10-30 10:12               ` Fwd: Re: [linux-usb-devel] " Joseph Fannin
2006-10-30 12:43                 ` Soeren Sonnenburg
2006-10-30 20:05                   ` Joseph Fannin
2006-11-01 20:47                     ` Soeren Sonnenburg
2006-12-08 17:19                 ` [PATCH] usbhid quirks for macbook(pro) (was: Re: Fwd: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch)) Soeren Sonnenburg
2006-12-10  2:08                   ` Joseph Fannin
2006-12-15  8:36                     ` Soeren Sonnenburg
2006-12-15 17:56                       ` Greg KH
2006-12-23 10:38                         ` [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc1 Soeren Sonnenburg
2007-01-27 14:08                           ` [PATCH] usbhid quirks for macbook(pro) updated to 2.6.20-rc6 Soeren Sonnenburg
2007-01-29  9:38                             ` Jiri Kosina
2007-01-29 10:59                               ` Soeren Sonnenburg
2007-01-30 15:27                               ` Jiri Kosina
2006-10-28 19:14         ` [linux-usb-devel] usb initialization order (usbhid vs. appletouch) Sergey Vlasov

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=1162067266.4044.2.camel@localhost \
    --to=kernel@nn7.de \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=oliver@neukum.name \
    --cc=vsu@altlinux.ru \
    /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.