linux-stable/drivers
Jason Gerecke 326ea2a905 HID: wacom: Support switching from vendor-defined device mode on G9 and G11
A tablet PC booted into Windows may have its pen/touch hardware switched
into "Wacom mode" similar to what we do with explicitly-supported hardware.
Some devices appear to maintain this state across reboots, preventing their
use with the generic HID driver. This patch adds support for detecting the
presence of the mode switch feature report used by devices based on the G9
and G11 chips and has the HID codepath always attempt to reset the device
back to sending standard HID reports.

Fixes: https://sourceforge.net/p/linuxwacom/bugs/307/
Fixes: https://sourceforge.net/p/linuxwacom/bugs/310/
Fixes: https://github.com/linuxwacom/input-wacom/issues/15

Co-authored-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2016-04-05 17:20:32 +02:00
..
accessibility
acpi libnvdimm for 4.6 2016-03-16 17:45:56 -07:00
amba
android Merge 4.5-rc6 into char-misc-next 2016-03-01 16:38:16 -08:00
ata This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
atm
auxdisplay
base Char/Misc patches for 4.6-rc1 2016-03-17 13:47:50 -07:00
bcma
block Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
bluetooth
bus vexpress fixes for v4.5 2016-02-01 12:27:18 -08:00
cdrom
char TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
clk clk: ti: omap3+: dpll: use non-locking version of clk_get_rate 2016-02-22 14:03:02 -08:00
clocksource One of the largest releases for KVM... Hardly any generic improvement, 2016-03-16 09:55:35 -07:00
connector
cpufreq Merge branch 'pm-cpufreq' 2016-03-14 14:22:03 +01:00
cpuidle cpuidle: menu: help gcc generate slightly better code 2016-02-17 00:28:15 +01:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
dca
devfreq PM / devfreq: tegra: Set freq in rate callback 2016-02-23 14:27:42 +09:00
dio
dma dmaengine updates for 4.6 2016-03-17 12:34:54 -07:00
dma-buf
edac EDAC queue for 4.6 2016-03-16 08:36:55 -07:00
eisa
extcon extcon: palmas: Drop IRQF_EARLY_RESUME flag 2016-02-29 11:07:34 +09:00
firewire
firmware arm64 updates for 4.6: 2016-03-17 20:03:47 -07:00
fmc
fpga
gpio gpio: mcp23s08: Fix clearing of interrupt. 2016-03-16 13:41:59 +01:00
gpu PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
hid HID: wacom: Support switching from vendor-defined device mode on G9 and G11 2016-04-05 17:20:32 +02:00
hsi HSI: ssi-protocol: Use handshake logic from n950 2016-01-28 17:47:56 +01:00
hv Char/Misc patches for 4.6-rc1 2016-03-17 13:47:50 -07:00
hwmon hwmon: Create an NSA320 hardware monitoring driver 2016-03-08 18:40:49 -08:00
hwspinlock drivers/hwspinlock: fix race between radix tree insertion and lookup 2016-02-03 08:28:43 -08:00
hwtracing drivers/hwtracing: make coresight-etm-perf.c explicitly non-modular 2016-03-05 12:19:39 -08:00
i2c i2c: designware: Add device HID for future AMD I2C controller 2016-03-10 21:34:47 +01:00
ide PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
idle
iio Second set of IIO fixes for the 4.5 cycle. These ones are mostly 2016-02-01 13:08:26 -08:00
infiniband Configfs changes for the 4.6 merge window: 2016-03-17 16:25:46 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2016-02-10 12:21:57 -08:00
iommu iommu/vt-d: Use BUS_NOTIFY_REMOVED_DEVICE in hotplug path 2016-02-29 23:55:16 +01:00
ipack
irqchip irqchip/irq-alpine-msi: Release the correct domain on error 2016-03-11 10:06:55 +01:00
isdn TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
leds leds: triggers: simplify led_trigger_store 2016-03-14 09:22:23 +01:00
lguest
lightnvm lightnvm: allow to force mm initialization 2016-02-04 09:19:45 -07:00
macintosh PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
mailbox Merge branches 'acpi-processor' and 'acpi-cppc' 2016-03-14 14:20:33 +01:00
mcb
md Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
media media updates for v4.6-rc1 2016-03-16 18:27:32 -07:00
memory
memstick
message mptbase: fixup error handling paths in mpt_attach() 2016-02-23 21:27:02 -05:00
mfd This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
misc Char/Misc patches for 4.6-rc1 2016-03-17 13:47:50 -07:00
mmc TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
mtd This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
net TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
nfc nfc: s3fwrn5: Use shash 2016-01-27 20:36:09 +08:00
ntb NTB: Fix macro parameter conflict with field name 2016-01-21 19:53:10 -05:00
nubus
nvdimm Merge branch 'for-4.6/pfn' into libnvdimm-for-next 2016-03-09 17:15:43 -08:00
nvme nvme: fix max_segments integer truncation 2016-03-03 14:43:10 -07:00
nvmem nvmem: mediatek: Fix later provider initialization 2016-03-05 12:20:29 -08:00
of arm64 updates for 4.6: 2016-03-17 20:03:47 -07:00
oprofile wrappers for ->i_mutex access 2016-01-22 18:04:28 -05:00
parisc PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
parport
pci PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
pcmcia gpio: Include linux/gpio.h instead of asm/gpio.h 2016-02-16 00:20:03 +01:00
perf
phy phy: for 4.6 2016-03-05 12:22:41 -08:00
pinctrl This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
platform goldfish: Fix build error of missing ioremap on UM 2016-03-05 12:33:58 -08:00
pnp PNP / ACPI: add ACPI_RESOURCE_TYPE_SERIAL_BUS as a valid type 2016-03-09 23:50:55 +01:00
power power supply and reset changes for the v4.6 series 2016-03-17 12:50:55 -07:00
powercap powercap/rapl: track lead cpu per package 2016-03-09 00:26:44 +01:00
pps
ps3
ptp Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-15 12:13:56 -07:00
pwm
rapidio drivers: Initialize resource entry to zero 2016-01-30 09:49:58 +01:00
ras
regulator This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
remoteproc remoteproc: Supply controller driver for ST's Remote Processors 2016-01-29 17:26:49 -08:00
reset
rpmsg
rtc rtc: pcf2127: add pcf2129 device id 2016-03-14 17:08:41 +01:00
s390 TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
sbus
scsi Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2016-03-17 11:22:54 -07:00
sfi
sh Linux 4.5-rc6 2016-03-04 12:12:08 +01:00
sn
soc powerpc: qe_lib/gpio: Be sure to clamp return value 2016-01-25 18:02:26 +01:00
spi dmaengine updates for 4.6 2016-03-17 12:34:54 -07:00
spmi spmi: pmic-arb: Support more than 128 peripherals 2016-02-08 14:57:30 -08:00
ssb ssb: host_soc depends on sprom 2016-02-26 12:47:32 +02:00
staging TTY/Serial patches for 4.6-rc1 2016-03-17 13:53:25 -07:00
target Configfs changes for the 4.6 merge window: 2016-03-17 16:25:46 -07:00
tc
thermal thermal: cpu_cooling: fix out of bounds access in time_in_idle 2016-02-11 07:13:29 -08:00
thunderbolt
tty serial: 8250: describe CONFIG_SERIAL_8250_RSA 2016-03-07 16:11:14 -08:00
uio
usb This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
uwb
vfio VFIO updates for v4.6-rc1 2016-03-17 13:05:09 -07:00
vhost vhost: fix error path in vhost_init_used() 2016-03-02 17:01:49 +02:00
video This is the bulk of GPIO changes for kernel v4.6: 2016-03-17 21:05:32 -07:00
virt
virtio PCI changes for the v4.6 merge window: 2016-03-16 14:45:55 -07:00
vlynq
vme vme: vme_ca91cx42.c: use to_pci_dev() 2016-02-07 23:17:59 -08:00
w1 w1: w1_process() is not freezable kthread 2016-02-11 19:23:28 -08:00
watchdog Become maintainer, add hardening tests for use-after-free and atomic wrapping. 2016-03-01 16:51:19 -08:00
xen xen_balloon: support memory auto onlining policy 2016-03-15 16:55:16 -07:00
zorro zorro: Use kobj_to_dev() 2016-01-25 09:42:23 +01:00
Kconfig
Makefile