linux/drivers/hid/i2c-hid
Johan Hovold 0eafc58f21 HID: i2c-hid: elan: fix reset suspend current leakage
The Elan eKTH5015M touch controller found on the Lenovo ThinkPad X13s
shares the VCC33 supply with other peripherals that may remain powered
during suspend (e.g. when enabled as wakeup sources).

The reset line is also wired so that it can be left deasserted when the
supply is off.

This is important as it avoids holding the controller in reset for
extended periods of time when it remains powered, which can lead to
increased power consumption, and also avoids leaking current through the
X13s reset circuitry during suspend (and after driver unbind).

Use the new 'no-reset-on-power-off' devicetree property to determine
when reset needs to be asserted on power down.

Notably this also avoids wasting power on machine variants without a
touchscreen for which the driver would otherwise exit probe with reset
asserted.

Fixes: bd3cba00dc ("HID: i2c-hid: elan: Add support for Elan eKTH6915 i2c-hid touchscreens")
Cc: <stable@vger.kernel.org>	# 6.0
Cc: Douglas Anderson <dianders@chromium.org>
Tested-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20240507144821.12275-5-johan+linaro@kernel.org
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
2024-06-07 11:18:11 +02:00
..
i2c-hid-acpi.c HID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[] 2023-12-04 16:17:12 +01:00
i2c-hid-core.c Merge branch 'for-6.10/i2c-hid' into for-linus 2024-05-14 13:51:19 +02:00
i2c-hid-dmi-quirks.c HID: retain initial quirks set up when creating HID devices 2023-02-09 14:24:30 +01:00
i2c-hid-of-elan.c HID: i2c-hid: elan: fix reset suspend current leakage 2024-06-07 11:18:11 +02:00
i2c-hid-of-goodix.c Merge branch 'for-6.5/i2c-hid' into for-linus 2023-06-27 22:42:28 +02:00
i2c-hid-of.c HID: i2c-hid-of: fix NULL-deref on failed power up 2024-01-26 18:52:14 +01:00
i2c-hid.h HID: multitouch: Add quirks for flipped axes 2023-01-18 10:08:51 +01:00
Kconfig HID: i2c-hid: add more DRM dependencies 2023-08-03 07:36:41 -07:00
Makefile HID: i2c-hid: elan: Add support for Elan eKTH6915 i2c-hid touchscreens 2022-06-08 11:46:23 +02:00