diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2014-09-23 18:08:08 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2014-10-01 09:11:23 +0200 |
commit | 7704ac937345d4b502062952657027234aa86a37 (patch) | |
tree | f74ae80b7e96d23da461256dde4ec1a57a7968af /drivers/hid/wacom.h | |
parent | HID: wacom: move allocation of inputs earlier (diff) | |
download | linux-7704ac937345d4b502062952657027234aa86a37.tar.xz linux-7704ac937345d4b502062952657027234aa86a37.zip |
HID: wacom: implement generic HID handling for pen generic devices
ISDv4 and v5 are plain HID devices. We can directly implement a generic
HID parsing/handling and remove the need to manually add those PID in
the list of supported devices.
This patch implements the pen support only. The finger part will come in
a later patch.
To be properly notified of an .event() and a .report(), we need to force
hid-core to go through the HID parsing. By default, wacom.ko binds only
hidraw, so the hid parsing is not done by hid-core. When a true HID device
is there, we add the flag HID_CLAIMED_DRIVER to hid->claimed which will
force hid-core to parse the incoming reports.
(Note that this can be easily backported by directly setting the .claimed
flag to HID_CLAIMED_DRIVER even if hid-core does not support
HID_CONNECT_DRIVER)
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Jason Gerecke <killertofu@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/wacom.h')
-rw-r--r-- | drivers/hid/wacom.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/hid/wacom.h b/drivers/hid/wacom.h index 64bc1b296d91..0cc53440543a 100644 --- a/drivers/hid/wacom.h +++ b/drivers/hid/wacom.h @@ -89,6 +89,7 @@ #include <linux/slab.h> #include <linux/module.h> #include <linux/mod_devicetable.h> +#include <linux/hid.h> #include <linux/usb/input.h> #include <linux/power_supply.h> #include <asm/unaligned.h> @@ -143,4 +144,9 @@ int wacom_setup_input_capabilities(struct input_dev *input_dev, struct wacom_wac *wacom_wac); int wacom_setup_pad_input_capabilities(struct input_dev *input_dev, struct wacom_wac *wacom_wac); +void wacom_wac_usage_mapping(struct hid_device *hdev, + struct hid_field *field, struct hid_usage *usage); +int wacom_wac_event(struct hid_device *hdev, struct hid_field *field, + struct hid_usage *usage, __s32 value); +void wacom_wac_report(struct hid_device *hdev, struct hid_report *report); #endif |