diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-20 15:59:01 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-08-20 15:59:01 -0700 |
commit | 7a324b3f0535ceb0f6676fa20ca2a7b6213008cb (patch) | |
tree | 4c03a2f9382ee8264ddbe79a60293f825364fac3 /include | |
parent | 61c4fc1eaf736344904767d201b0d4f7a2ebaf79 (diff) | |
parent | 1429b47bfe98e63421d207aaae8038809c3f90ce (diff) | |
download | linux-7a324b3f0535ceb0f6676fa20ca2a7b6213008cb.tar.bz2 |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID updates from Jiri Kosina:
- touch_max detection improvements and quirk handling fixes in wacom
driver from Jason Gerecke and Ping Cheng
- Palm rejection from Dmitry Torokhov and _dial support from Benjamin
Tissoires for hid-multitouch driver
- Low voltage support for i2c-hid driver from Stephen Boyd
- Guitar-Hero support from Nicolas Adenis-Lamarre
- other assorted small fixes and device ID additions
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (40 commits)
HID: intel_ish-hid: tx_buf memory leak on probe/remove
HID: intel-ish-hid: Prevent loading of driver on Mehlow
HID: cougar: Add support for the Cougar 500k Gaming Keyboard
HID: cougar: make compare_device_paths reusable
HID: intel-ish-hid: remove redundant variable num_frags
HID: multitouch: handle palm for touchscreens
HID: multitouch: touchscreens also use confidence reports
HID: multitouch: report MT_TOOL_PALM for non-confident touches
HID: microsoft: support the Surface Dial
HID: core: do not upper bound the collection stack
HID: input: enable Totem on the Dell Canvas 27
HID: multitouch: remove one copy of values
HID: multitouch: ditch mt_report_id
HID: multitouch: store a per application quirks value
HID: multitouch: Store per collection multitouch data
HID: multitouch: make sure the static list of class is not changed
input: add MT_TOOL_DIAL
HID: elan: Add support for touchpad on the Toshiba Click Mini L9W
HID: elan: Add USB-id for HP x2 10-n000nd touchpad
HID: elan: Add a flag for selecting if the touchpad has a LED
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/hid.h | 17 | ||||
-rw-r--r-- | include/linux/platform_data/i2c-hid.h | 7 | ||||
-rw-r--r-- | include/uapi/linux/input.h | 9 |
3 files changed, 21 insertions, 12 deletions
diff --git a/include/linux/hid.h b/include/linux/hid.h index 773bcb1d4044..834e6461a690 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h @@ -190,6 +190,12 @@ struct hid_item { * http://www.usb.org/developers/hidpage/HUTRR40RadioHIDUsagesFinal.pdf */ #define HID_GD_WIRELESS_RADIO_CTLS 0x0001000c +/* + * System Multi-Axis, see: + * http://www.usb.org/developers/hidpage/HUTRR62_-_Generic_Desktop_CA_for_System_Multi-Axis_Controllers.txt + */ +#define HID_GD_SYSTEM_MULTIAXIS 0x0001000e + #define HID_GD_X 0x00010030 #define HID_GD_Y 0x00010031 #define HID_GD_Z 0x00010032 @@ -638,12 +644,13 @@ static inline void hid_set_drvdata(struct hid_device *hdev, void *data) struct hid_parser { struct hid_global global; struct hid_global global_stack[HID_GLOBAL_STACK_SIZE]; - unsigned global_stack_ptr; + unsigned int global_stack_ptr; struct hid_local local; - unsigned collection_stack[HID_COLLECTION_STACK_SIZE]; - unsigned collection_stack_ptr; + unsigned int *collection_stack; + unsigned int collection_stack_ptr; + unsigned int collection_stack_size; struct hid_device *device; - unsigned scan_flags; + unsigned int scan_flags; }; struct hid_class_descriptor { @@ -894,6 +901,8 @@ const struct hid_device_id *hid_match_id(const struct hid_device *hdev, const struct hid_device_id *id); const struct hid_device_id *hid_match_device(struct hid_device *hdev, struct hid_driver *hdrv); +bool hid_compare_device_paths(struct hid_device *hdev_a, + struct hid_device *hdev_b, char separator); s32 hid_snto32(__u32 value, unsigned n); __u32 hid_field_extract(const struct hid_device *hid, __u8 *report, unsigned offset, unsigned n); diff --git a/include/linux/platform_data/i2c-hid.h b/include/linux/platform_data/i2c-hid.h index 1fb088239d12..c628bb5e1061 100644 --- a/include/linux/platform_data/i2c-hid.h +++ b/include/linux/platform_data/i2c-hid.h @@ -12,14 +12,13 @@ #ifndef __LINUX_I2C_HID_H #define __LINUX_I2C_HID_H +#include <linux/regulator/consumer.h> #include <linux/types.h> -struct regulator; - /** * struct i2chid_platform_data - used by hid over i2c implementation. * @hid_descriptor_address: i2c register where the HID descriptor is stored. - * @supply: regulator for powering on the device. + * @supplies: regulators for powering on the device. * @post_power_delay_ms: delay after powering on before device is usable. * * Note that it is the responsibility of the platform driver (or the acpi 5.0 @@ -35,7 +34,7 @@ struct regulator; */ struct i2c_hid_platform_data { u16 hid_descriptor_address; - struct regulator *supply; + struct regulator_bulk_data supplies[2]; int post_power_delay_ms; }; diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h index 7288a7c573cc..fb78f6f500f3 100644 --- a/include/uapi/linux/input.h +++ b/include/uapi/linux/input.h @@ -270,10 +270,11 @@ struct input_mask { /* * MT_TOOL types */ -#define MT_TOOL_FINGER 0 -#define MT_TOOL_PEN 1 -#define MT_TOOL_PALM 2 -#define MT_TOOL_MAX 2 +#define MT_TOOL_FINGER 0x00 +#define MT_TOOL_PEN 0x01 +#define MT_TOOL_PALM 0x02 +#define MT_TOOL_DIAL 0x0a +#define MT_TOOL_MAX 0x0f /* * Values describing the status of a force-feedback effect |