From: Sergey Vlasov <vsu@altlinux.ru>
To: Soeren Sonnenburg <kernel@nn7.de>
Cc: Oliver Neukum <oliver@neukum.org>,
linux-usb-devel@lists.sourceforge.net,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [linux-usb-devel] usb initialization order (usbhid vs. appletouch)
Date: Sat, 28 Oct 2006 23:14:40 +0400 [thread overview]
Message-ID: <20061028191440.GA17787@procyon.home> (raw)
In-Reply-To: <1162054576.3769.15.camel@localhost>
[-- Attachment #1: Type: text/plain, Size: 3168 bytes --]
(sorry for the duplicate - the message was considered as spam by some
servers due to local misconfiguration on my end)
On Sat, Oct 28, 2006 at 06:56:16PM +0200, Soeren Sonnenburg wrote:
[...]
> OK, so I tried adding all of them to the HID_QUIRK_IGNORE LIST, i.e.
>
>
> #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
>
>
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, 0x020E, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, 0x020F, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, 0x030A, HID_QUIRK_IGNORE },
> { USB_VENDOR_ID_APPLE, 0x030B, HID_QUIRK_IGNORE },
>
>
> however this did (and cannot) work, as the product id stands for both
> keyboard AND mouse.
You mean that the device has multiple HID interfaces, but only one of
them should be ignored by usbhid and passed to appletouch? Then you
probably need to add a new quirk flag to hiddev (patch completely
untested):
---
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.
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c
index 45f44fe..feb41e7 100644
--- a/drivers/usb/input/hid-core.c
+++ b/drivers/usb/input/hid-core.c
@@ -1872,6 +1872,9 @@ static struct hid_device *usb_hid_config
if (quirks & HID_QUIRK_IGNORE)
return NULL;
+ if ((quirks & HID_QUIRK_IGNORE_MOUSE) &&
+ (interface->desc.bInterfaceProtocol == USB_INTERFACE_PROTOCOL_MOUSE))
+ return NULL;
if (usb_get_extra_descriptor(interface, HID_DT_HID, &hdesc) &&
(!interface->desc.bNumEndpoints ||
diff --git a/drivers/usb/input/hid.h b/drivers/usb/input/hid.h
index 9b50eff..abd7b52 100644
--- a/drivers/usb/input/hid.h
+++ b/drivers/usb/input/hid.h
@@ -260,6 +260,7 @@ struct hid_item {
#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
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
prev parent reply other threads:[~2006-10-28 19:14 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 ` Fwd: Re: [linux-usb-devel] " Soeren Sonnenburg
2006-10-30 10:12 ` 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 ` Sergey Vlasov [this message]
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=20061028191440.GA17787@procyon.home \
--to=vsu@altlinux.ru \
--cc=kernel@nn7.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb-devel@lists.sourceforge.net \
--cc=oliver@neukum.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox