mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 19:07:52 +00:00
HID: Ignore D-WAV/eGalax devices handled by usbtouchscreen
Previously, both usbhid and usbtouchscreen would bind to D-WAV devices
with class HID and protocol None, so they would be claimed by whichever
driver was loaded first. Some of these devices do in fact work with
usbhid, but not all of them do. OTOH they all work with usbtouchscreen
as of commit 037a833ed0
("Input:
usbtouchscreen - initialize eGalax devices"). So we ignore them in
usbhid to prevent getting in the way of usbtouchscreen and claiming an
interface that we may not be able to do anything useful with.
Signed-off-by: Forest Bond <forest.bond@rapidrollout.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
537b6643dc
commit
729b814ace
2 changed files with 11 additions and 1 deletions
|
@ -2184,6 +2184,15 @@ static bool hid_ignore(struct hid_device *hdev)
|
||||||
hdev->type == HID_TYPE_USBNONE)
|
hdev->type == HID_TYPE_USBNONE)
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
case USB_VENDOR_ID_DWAV:
|
||||||
|
/* These are handled by usbtouchscreen. hdev->type is probably
|
||||||
|
* HID_TYPE_USBNONE, but we say !HID_TYPE_USBMOUSE to match
|
||||||
|
* usbtouchscreen. */
|
||||||
|
if ((hdev->product == USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER ||
|
||||||
|
hdev->product == USB_DEVICE_ID_DWAV_TOUCHCONTROLLER) &&
|
||||||
|
hdev->type != HID_TYPE_USBMOUSE)
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hdev->type == HID_TYPE_USBMOUSE &&
|
if (hdev->type == HID_TYPE_USBMOUSE &&
|
||||||
|
|
|
@ -254,6 +254,7 @@
|
||||||
|
|
||||||
#define USB_VENDOR_ID_DWAV 0x0eef
|
#define USB_VENDOR_ID_DWAV 0x0eef
|
||||||
#define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001
|
#define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER 0x0001
|
||||||
|
#define USB_DEVICE_ID_DWAV_TOUCHCONTROLLER 0x0002
|
||||||
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D 0x480d
|
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480D 0x480d
|
||||||
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E 0x480e
|
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_480E 0x480e
|
||||||
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7207 0x7207
|
#define USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH_7207 0x7207
|
||||||
|
|
Loading…
Reference in a new issue