aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/Kconfig6
-rw-r--r--drivers/hid/hid-elecom.c32
-rw-r--r--drivers/hid/hid-ids.h13
-rw-r--r--drivers/hid/hid-quirks.c13
4 files changed, 34 insertions, 30 deletions
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index 19c499f5623d..4989ec4028bf 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -280,9 +280,9 @@ config HID_ELECOM
280 ---help--- 280 ---help---
281 Support for ELECOM devices: 281 Support for ELECOM devices:
282 - BM084 Bluetooth Mouse 282 - BM084 Bluetooth Mouse
283 - EX-G Trackball (Wired and wireless) 283 - EX-G Trackballs (M-XT3DRBK, M-XT3URBK)
284 - DEFT Trackball (Wired and wireless) 284 - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
285 - HUGE Trackball (Wired and wireless) 285 - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
286 286
287config HID_ELO 287config HID_ELO
288 tristate "ELO USB 4000/4500 touchscreen" 288 tristate "ELO USB 4000/4500 touchscreen"
diff --git a/drivers/hid/hid-elecom.c b/drivers/hid/hid-elecom.c
index 1a1ecc491c02..ae8e9413c79d 100644
--- a/drivers/hid/hid-elecom.c
+++ b/drivers/hid/hid-elecom.c
@@ -1,9 +1,9 @@
1/* 1/*
2 * HID driver for ELECOM devices: 2 * HID driver for ELECOM devices:
3 * - BM084 Bluetooth Mouse 3 * - BM084 Bluetooth Mouse
4 * - EX-G Trackball (Wired and wireless) 4 * - EX-G Trackballs (M-XT3DRBK, M-XT3URBK, M-XT4DRBK)
5 * - DEFT Trackball (Wired and wireless) 5 * - DEFT Trackballs (M-DT1DRBK, M-DT1URBK, M-DT2DRBK, M-DT2URBK)
6 * - HUGE Trackball (Wired and wireless) 6 * - HUGE Trackballs (M-HT1DRBK, M-HT1URBK)
7 * 7 *
8 * Copyright (c) 2010 Richard Nauber <Richard.Nauber@gmail.com> 8 * Copyright (c) 2010 Richard Nauber <Richard.Nauber@gmail.com>
9 * Copyright (c) 2016 Yuxuan Shui <yshuiv7@gmail.com> 9 * Copyright (c) 2016 Yuxuan Shui <yshuiv7@gmail.com>
@@ -65,14 +65,15 @@ static __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
65 rdesc[47] = 0x00; 65 rdesc[47] = 0x00;
66 } 66 }
67 break; 67 break;
68 case USB_DEVICE_ID_ELECOM_EX_G_WIRED: 68 case USB_DEVICE_ID_ELECOM_M_XT3URBK:
69 case USB_DEVICE_ID_ELECOM_EX_G_WIRELESS: 69 case USB_DEVICE_ID_ELECOM_M_XT3DRBK:
70 case USB_DEVICE_ID_ELECOM_M_XT4DRBK:
70 mouse_button_fixup(hdev, rdesc, *rsize, 6); 71 mouse_button_fixup(hdev, rdesc, *rsize, 6);
71 break; 72 break;
72 case USB_DEVICE_ID_ELECOM_DEFT_WIRED: 73 case USB_DEVICE_ID_ELECOM_M_DT1URBK:
73 case USB_DEVICE_ID_ELECOM_DEFT_WIRELESS: 74 case USB_DEVICE_ID_ELECOM_M_DT1DRBK:
74 case USB_DEVICE_ID_ELECOM_HUGE_WIRED: 75 case USB_DEVICE_ID_ELECOM_M_HT1URBK:
75 case USB_DEVICE_ID_ELECOM_HUGE_WIRELESS: 76 case USB_DEVICE_ID_ELECOM_M_HT1DRBK:
76 mouse_button_fixup(hdev, rdesc, *rsize, 8); 77 mouse_button_fixup(hdev, rdesc, *rsize, 8);
77 break; 78 break;
78 } 79 }
@@ -81,12 +82,13 @@ static __u8 *elecom_report_fixup(struct hid_device *hdev, __u8 *rdesc,
81 82
82static const struct hid_device_id elecom_devices[] = { 83static const struct hid_device_id elecom_devices[] = {
83 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, 84 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
84 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRED) }, 85 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
85 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRELESS) }, 86 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
86 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) }, 87 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
87 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) }, 88 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
88 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) }, 89 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
89 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) }, 90 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
91 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) },
90 { } 92 { }
91}; 93};
92MODULE_DEVICE_TABLE(hid, elecom_devices); 94MODULE_DEVICE_TABLE(hid, elecom_devices);
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index a099e519482d..3fdd101119ec 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -372,12 +372,13 @@
372 372
373#define USB_VENDOR_ID_ELECOM 0x056e 373#define USB_VENDOR_ID_ELECOM 0x056e
374#define USB_DEVICE_ID_ELECOM_BM084 0x0061 374#define USB_DEVICE_ID_ELECOM_BM084 0x0061
375#define USB_DEVICE_ID_ELECOM_EX_G_WIRED 0x00fb 375#define USB_DEVICE_ID_ELECOM_M_XT3URBK 0x00fb
376#define USB_DEVICE_ID_ELECOM_EX_G_WIRELESS 0x00fc 376#define USB_DEVICE_ID_ELECOM_M_XT3DRBK 0x00fc
377#define USB_DEVICE_ID_ELECOM_DEFT_WIRED 0x00fe 377#define USB_DEVICE_ID_ELECOM_M_XT4DRBK 0x00fd
378#define USB_DEVICE_ID_ELECOM_DEFT_WIRELESS 0x00ff 378#define USB_DEVICE_ID_ELECOM_M_DT1URBK 0x00fe
379#define USB_DEVICE_ID_ELECOM_HUGE_WIRED 0x010c 379#define USB_DEVICE_ID_ELECOM_M_DT1DRBK 0x00ff
380#define USB_DEVICE_ID_ELECOM_HUGE_WIRELESS 0x010d 380#define USB_DEVICE_ID_ELECOM_M_HT1URBK 0x010c
381#define USB_DEVICE_ID_ELECOM_M_HT1DRBK 0x010d
381 382
382#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 383#define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34
383#define USB_DEVICE_ID_DREAM_CHEEKY_WN 0x0004 384#define USB_DEVICE_ID_DREAM_CHEEKY_WN 0x0004
diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
index 7203eba3c029..a67c599fa151 100644
--- a/drivers/hid/hid-quirks.c
+++ b/drivers/hid/hid-quirks.c
@@ -337,12 +337,13 @@ static const struct hid_device_id hid_have_special_driver[] = {
337#endif 337#endif
338#if IS_ENABLED(CONFIG_HID_ELECOM) 338#if IS_ENABLED(CONFIG_HID_ELECOM)
339 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) }, 339 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_BM084) },
340 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRED) }, 340 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3URBK) },
341 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_EX_G_WIRELESS) }, 341 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT3DRBK) },
342 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRED) }, 342 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_XT4DRBK) },
343 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_DEFT_WIRELESS) }, 343 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) },
344 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRED) }, 344 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) },
345 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_HUGE_WIRELESS) }, 345 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) },
346 { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) },
346#endif 347#endif
347#if IS_ENABLED(CONFIG_HID_ELO) 348#if IS_ENABLED(CONFIG_HID_ELO)
348 { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) }, 349 { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) },