Re: Two devices, same USB ID: one needs HID, the other doesn't. How to solve this?
From: Jiri Kosina <hidden>
Date: 2012-02-02 08:52:30
Also in:
linux-media
On Fri, 13 Jan 2012, Hans Verkuil wrote:
quoted hunk ↗ jump to hunk
[RFC PATCH] hid-core: ignore the Keene FM transmitter. The Keene FM transmitter USB device has the same USB ID as the Logitech AudioHub Speaker, but it should ignore the hid. Check if the name is that of the Keene device. Signed-off-by: Hans Verkuil <redacted> --- drivers/hid/hid-core.c | 10 ++++++++++ drivers/hid/hid-ids.h | 1 + 2 files changed, 11 insertions(+), 0 deletions(-)diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index af35384..f02d197 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c@@ -1973,6 +1973,16 @@ static bool hid_ignore(struct hid_device *hdev) if (hdev->product >= USB_DEVICE_ID_LOGITECH_HARMONY_FIRST && hdev->product <= USB_DEVICE_ID_LOGITECH_HARMONY_LAST) return true; + /* + * The Keene FM transmitter USB device has the same USB ID as + * the Logitech AudioHub Speaker, but it should ignore the hid. + * Check if the name is that of the Keene device. + * For reference: the name of the AudioHub is + * "HOLTEK AudioHub Speaker". + */ + if (hdev->product == USB_DEVICE_ID_LOGITECH_AUDIOHUB && + !strcmp(hdev->name, "HOLTEK B-LINK USB Audio ")) + return true; break; case USB_VENDOR_ID_SOUNDGRAPH: if (hdev->product >= USB_DEVICE_ID_SOUNDGRAPH_IMON_FIRST &&diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 4a441a6..2f6dc92 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h@@ -440,6 +440,7 @@ #define USB_DEVICE_ID_LG_MULTITOUCH 0x0064 #define USB_VENDOR_ID_LOGITECH 0x046d +#define USB_DEVICE_ID_LOGITECH_AUDIOHUB 0x0a0e #define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101 #define USB_DEVICE_ID_LOGITECH_HARMONY_FIRST 0xc110 #define USB_DEVICE_ID_LOGITECH_HARMONY_LAST 0xc14f-- 1.7.7.3 Comments? Or even better, an Acked-by? I'd like to get this driver in for v3.4, that would be nice.
This is fine and I will Ack/take it once it goes in with your driver for the device. -- Jiri Kosina SUSE Labs