diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 16:23:07 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-10-25 16:23:07 +0300 |
commit | 96f2f66a985699d201b3a84222b8dd42262a71fe (patch) | |
tree | e957bbf2a361163d34df64c9f20e35fe70a14874 /drivers/hid/wacom_wac.c | |
parent | 3f2dcb6411eb3fd4a8be5d3713be0e2c1c750d6d (diff) | |
parent | 46011e9755e9af6ef90bb59522d315d781d2307b (diff) | |
download | linux-96f2f66a985699d201b3a84222b8dd42262a71fe.tar.xz |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID updates from Jiri Kosina:
- rumble support for Xbox One S, from Andrey Smirnov
- high-resolution support for Logitech mice, from Harry Cutts
- support for recent devices requiring the HID parse to be able to cope
with tag report sizes > 256
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits)
HID: usbhid: Add quirk for Redragon/Dragonrise Seymur 2
HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452
HID: google: add dependency on Cros EC for Hammer
HID: elan: fix spelling mistake "registred" -> "registered"
HID: google: drop superfluous const before SIMPLE_DEV_PM_OPS()
HID: google: add support tablet mode switch for Whiskers
mfd: cros: add "base attached" MKBP switch definition
Input: reserve 2 events code because of HID
HID: magicmouse: add support for Apple Magic Trackpad 2
HID: i2c-hid: override HID descriptors for certain devices
HID: hid-bigbenff: driver for BigBen Interactive PS3OFMINIPAD gamepad
HID: logitech: fix a used uninitialized GCC warning
HID: intel-ish-hid: using list_head for ipc write queue
HID: intel-ish-hid: use resource-managed api
HID: intel_ish-hid: Enhance API to get ring buffer sizes
HID: intel-ish-hid: use helper function to search client id
HID: intel-ish-hid: ishtp: add helper function for client search
HID: intel-ish-hid: use helper function to access client buffer
HID: intel-ish-hid: ishtp: add helper functions for client buffer operation
HID: intel-ish-hid: use helper function for private driver data set/get
...
Diffstat (limited to 'drivers/hid/wacom_wac.c')
-rw-r--r-- | drivers/hid/wacom_wac.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index e0a06be5ef5c..5dd3a8245f0f 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -3335,6 +3335,7 @@ static void wacom_setup_intuos(struct wacom_wac *wacom_wac) void wacom_setup_device_quirks(struct wacom *wacom) { + struct wacom_wac *wacom_wac = &wacom->wacom_wac; struct wacom_features *features = &wacom->wacom_wac.features; /* The pen and pad share the same interface on most devices */ @@ -3464,6 +3465,24 @@ void wacom_setup_device_quirks(struct wacom *wacom) if (features->type == REMOTE) features->device_type |= WACOM_DEVICETYPE_WL_MONITOR; + + /* HID descriptor for DTK-2451 / DTH-2452 claims to report lots + * of things it shouldn't. Lets fix up the damage... + */ + if (wacom->hdev->product == 0x382 || wacom->hdev->product == 0x37d) { + features->quirks &= ~WACOM_QUIRK_TOOLSERIAL; + __clear_bit(BTN_TOOL_BRUSH, wacom_wac->pen_input->keybit); + __clear_bit(BTN_TOOL_PENCIL, wacom_wac->pen_input->keybit); + __clear_bit(BTN_TOOL_AIRBRUSH, wacom_wac->pen_input->keybit); + __clear_bit(ABS_Z, wacom_wac->pen_input->absbit); + __clear_bit(ABS_DISTANCE, wacom_wac->pen_input->absbit); + __clear_bit(ABS_TILT_X, wacom_wac->pen_input->absbit); + __clear_bit(ABS_TILT_Y, wacom_wac->pen_input->absbit); + __clear_bit(ABS_WHEEL, wacom_wac->pen_input->absbit); + __clear_bit(ABS_MISC, wacom_wac->pen_input->absbit); + __clear_bit(MSC_SERIAL, wacom_wac->pen_input->mscbit); + __clear_bit(EV_MSC, wacom_wac->pen_input->evbit); + } } int wacom_setup_pen_input_capabilities(struct input_dev *input_dev, |