diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-12-13 13:32:56 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-12-13 13:32:56 -0800 |
commit | 2043f9a37d163ef4f572992bec7cdcdf54d965de (patch) | |
tree | ee4951f64bdd586346636eca23aa935d43145fe8 /drivers/hid/i2c-hid | |
parent | 86a0b4255e84563739d137ad374af6c7215bb3ff (diff) | |
parent | f722052c990b6a67d0dc0a13862b32ddbf567b95 (diff) |
Merge tag 'for-linus-2022121301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid
Pull HID updates from Jiri Kosina:
- iio support for the MCP2221 HID driver (Matt Ranostay)
- support for more than one hinge sensor in hid-sensor-custom (Yauhen
Kharuzhy)
- PS DualShock 4 controller support (Roderick Colenbrander)
- XP-PEN Deco LW support (José Expósito)
- other assorted code cleanups and device ID/quirk addtions
* tag 'for-linus-2022121301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (51 commits)
HID: logitech HID++: Send SwID in GetProtocolVersion
HID: hid-elan: use default remove for hid device
HID: hid-alps: use default remove for hid device
HID: hid-sensor-custom: set fixed size for custom attributes
HID: i2c: let RMI devices decide what constitutes wakeup event
HID: playstation: fix DualShock4 bluetooth CRC endian issue.
HID: playstation: fix DualShock4 bluetooth memory corruption bug.
HID: apple: Swap Control and Command keys on Apple keyboards
HID: intel-ish-hid: ishtp: remove variable rb_count
HID: uclogic: Standardize test name prefix
HID: hid-sensor-custom: Allow more than one hinge angle sensor
HID: ft260: fix 'cast to restricted' kernel CI bot warnings
HID: ft260: missed NACK from busy device
HID: ft260: fix a NULL pointer dereference in ft260_i2c_write
HID: ft260: wake up device from power saving mode
HID: ft260: missed NACK from big i2c read
HID: ft260: remove SMBus Quick command support
HID: ft260: skip unexpected HID input reports
HID: ft260: do not populate /dev/hidraw device
HID: ft260: improve i2c large reads performance
...
Diffstat (limited to 'drivers/hid/i2c-hid')
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid-core.c | 3 | ||||
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid-of-elan.c | 5 | ||||
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid-of-goodix.c | 5 | ||||
-rw-r--r-- | drivers/hid/i2c-hid/i2c-hid-of.c | 5 |
4 files changed, 8 insertions, 10 deletions
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c index 9050bd5e24ac..b86b62f97108 100644 --- a/drivers/hid/i2c-hid/i2c-hid-core.c +++ b/drivers/hid/i2c-hid/i2c-hid-core.c @@ -554,7 +554,8 @@ static void i2c_hid_get_input(struct i2c_hid *ihid) i2c_hid_dbg(ihid, "input: %*ph\n", ret_size, ihid->inbuf); if (test_bit(I2C_HID_STARTED, &ihid->flags)) { - pm_wakeup_event(&ihid->client->dev, 0); + if (ihid->hid->group != HID_GROUP_RMI) + pm_wakeup_event(&ihid->client->dev, 0); hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + sizeof(__le16), diff --git a/drivers/hid/i2c-hid/i2c-hid-of-elan.c b/drivers/hid/i2c-hid/i2c-hid-of-elan.c index 2d991325e734..76ddc8be1cbb 100644 --- a/drivers/hid/i2c-hid/i2c-hid-of-elan.c +++ b/drivers/hid/i2c-hid/i2c-hid-of-elan.c @@ -68,8 +68,7 @@ static void elan_i2c_hid_power_down(struct i2chid_ops *ops) regulator_disable(ihid_elan->vcc33); } -static int i2c_hid_of_elan_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int i2c_hid_of_elan_probe(struct i2c_client *client) { struct i2c_hid_of_elan *ihid_elan; @@ -119,7 +118,7 @@ static struct i2c_driver elan_i2c_hid_ts_driver = { .probe_type = PROBE_PREFER_ASYNCHRONOUS, .of_match_table = of_match_ptr(elan_i2c_hid_of_match), }, - .probe = i2c_hid_of_elan_probe, + .probe_new = i2c_hid_of_elan_probe, .remove = i2c_hid_core_remove, .shutdown = i2c_hid_core_shutdown, }; diff --git a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c index ec6c73f75ffe..29c6cb174032 100644 --- a/drivers/hid/i2c-hid/i2c-hid-of-goodix.c +++ b/drivers/hid/i2c-hid/i2c-hid-of-goodix.c @@ -87,8 +87,7 @@ static int ihid_goodix_vdd_notify(struct notifier_block *nb, return ret; } -static int i2c_hid_of_goodix_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int i2c_hid_of_goodix_probe(struct i2c_client *client) { struct i2c_hid_of_goodix *ihid_goodix; int ret; @@ -167,7 +166,7 @@ static struct i2c_driver goodix_i2c_hid_ts_driver = { .probe_type = PROBE_PREFER_ASYNCHRONOUS, .of_match_table = of_match_ptr(goodix_i2c_hid_of_match), }, - .probe = i2c_hid_of_goodix_probe, + .probe_new = i2c_hid_of_goodix_probe, .remove = i2c_hid_core_remove, .shutdown = i2c_hid_core_shutdown, }; diff --git a/drivers/hid/i2c-hid/i2c-hid-of.c b/drivers/hid/i2c-hid/i2c-hid-of.c index 97a27a803f58..10176568133a 100644 --- a/drivers/hid/i2c-hid/i2c-hid-of.c +++ b/drivers/hid/i2c-hid/i2c-hid-of.c @@ -66,8 +66,7 @@ static void i2c_hid_of_power_down(struct i2chid_ops *ops) ihid_of->supplies); } -static int i2c_hid_of_probe(struct i2c_client *client, - const struct i2c_device_id *dev_id) +static int i2c_hid_of_probe(struct i2c_client *client) { struct device *dev = &client->dev; struct i2c_hid_of *ihid_of; @@ -138,7 +137,7 @@ static struct i2c_driver i2c_hid_of_driver = { .of_match_table = of_match_ptr(i2c_hid_of_match), }, - .probe = i2c_hid_of_probe, + .probe_new = i2c_hid_of_probe, .remove = i2c_hid_core_remove, .shutdown = i2c_hid_core_shutdown, .id_table = i2c_hid_of_id_table, |