linux/drivers/platform/x86
Hans de Goede e3271a5917 platform/x86: ideapad-laptop: Stop sending KEY_TOUCHPAD_TOGGLE
Commit 5829f8a897 ("platform/x86: ideapad-laptop: Send
KEY_TOUCHPAD_TOGGLE on some models") made ideapad-laptop send
KEY_TOUCHPAD_TOGGLE when we receive an ACPI notify with VPC event bit 5 set
and the touchpad-state has not been changed by the EC itself already.

This was done under the assumption that this would be good to do to make
the touchpad-toggle hotkey work on newer models where the EC does not
toggle the touchpad on/off itself (because it is not routed through
the PS/2 controller, but uses I2C).

But it turns out that at least some models, e.g. the Yoga 7-15ITL5 the EC
triggers an ACPI notify with VPC event bit 5 set on resume, which would
now cause a spurious KEY_TOUCHPAD_TOGGLE on resume to which the desktop
environment responds by disabling the touchpad in software, breaking
the touchpad (until manually re-enabled) on resume.

It was never confirmed that sending KEY_TOUCHPAD_TOGGLE actually improves
things on new models and at least some new models like the Yoga 7-15ITL5
don't have a touchpad on/off toggle hotkey at all, while still sending
ACPI notify events with VPC event bit 5 set.

So it seems best to revert the change to send KEY_TOUCHPAD_TOGGLE when
receiving an ACPI notify events with VPC event bit 5 and the touchpad
state as reported by the EC has not changed.

Note this is not a full revert the code to cache the last EC touchpad
state is kept to avoid sending spurious KEY_TOUCHPAD_ON / _OFF events
on resume.

Fixes: 5829f8a897 ("platform/x86: ideapad-laptop: Send KEY_TOUCHPAD_TOGGLE on some models")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=217234
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20230330194644.64628-1-hdegoede@redhat.com
2023-03-31 19:37:18 +02:00
..
amd platform/x86/amd: pmc: remove CONFIG_SUSPEND checks 2023-03-07 11:37:27 +01:00
dell platform/x86: dell-ddv: Fix temperature scaling 2023-03-07 11:37:27 +01:00
hp platform/x86: hp-wmi: Ignore Win-Lock key events 2023-02-02 22:48:21 +01:00
intel platform/x86/intel/pmc: Alder Lake PCH slp_s0_residency fix 2023-03-27 13:34:34 +02:00
acer-wireless.c
acer-wmi.c platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) 2022-11-15 17:16:40 +01:00
acerhdf.c platform-drivers-x86 for v6.3-1 2023-02-21 17:32:50 -08:00
adv_swbutton.c
amilo-rfkill.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
apple-gmux.c platform/x86: apple-gmux: Add apple_gmux_detect() helper 2023-01-24 13:41:57 +01:00
asus-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Add quirk_asus_tablet_mode to other ROG Flow X13 models 2023-03-31 19:36:14 +02:00
asus-tf103c-dock.c platform/x86: asus-tf103c-dock: Constify toprow keymap 2023-02-06 15:08:45 +01:00
asus-wireless.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
asus-wmi.c platform/x86: asus-wmi: Fix kbd_dock_devid tablet-switch reporting 2023-01-24 13:41:13 +01:00
asus-wmi.h platform/x86: asus-wmi: Add quirk wmi_ignore_fan 2023-01-12 19:35:51 +01:00
barco-p50-gpio.c platform/x86: barco-p50-gpio: Add check for platform_driver_register 2022-06-10 21:59:08 +02:00
classmate-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
compal-laptop.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
dual_accel_detect.h
eeepc-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
eeepc-wmi.c platform/x86: asus-wmi: Move acpi_backlight=vendor quirks to ACPI video_detect.c 2022-09-03 12:17:27 +02:00
firmware_attributes_class.c
firmware_attributes_class.h
fujitsu-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
fujitsu-tablet.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
gigabyte-wmi.c platform/x86: gigabyte-wmi: add support for X570S AORUS ELITE 2023-03-31 19:31:48 +02:00
gpd-pocket-fan.c
hdaps.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
huawei-wmi.c platform/x86: huawei-wmi: remove unnecessary member 2022-11-16 08:48:19 +01:00
ibm_rtl.c
ideapad-laptop.c platform/x86: ideapad-laptop: Stop sending KEY_TOUCHPAD_TOGGLE 2023-03-31 19:37:18 +02:00
intel_ips.c
intel_ips.h
intel_scu_ipc.c platform/x86: intel_scu_ipc: fix possible name leak in __intel_scu_ipc_register() 2022-12-08 17:35:49 +01:00
intel_scu_ipcutil.c
intel_scu_pcidrv.c
intel_scu_pltdrv.c
intel_scu_wdt.c
Kconfig platform: x86: MLX_PLATFORM: select REGMAP instead of depending on it 2023-03-07 11:37:27 +01:00
lenovo-yogabook-wmi.c
lg-laptop.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
Makefile platform/x86: Move existing HP drivers to a new hp subdir 2022-11-16 08:48:19 +01:00
meraki-mx100.c
mlx-platform.c platform: mellanox: mlx-platform: Initialize shift variable to 0 2023-03-07 12:08:30 +01:00
msi-laptop.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
msi-wmi.c
mxm-wmi.c platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() 2022-12-08 16:32:12 +01:00
nvidia-wmi-ec-backlight.c platform/x86: nvidia-wmi-ec-backlight: Add force module parameter 2023-02-18 11:45:52 +01:00
p2sb.c platform/x86: p2sb: Don't fail if unknown CPU is found 2022-11-07 12:33:49 +01:00
panasonic-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
pcengines-apuv2.c
peaq-wmi.c
pmc_atom.c platform/x86: pmc_atom: Amend comment style and grammar 2022-08-25 16:23:52 +02:00
samsung-laptop.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
samsung-q10.c
serial-multi-instantiate.c sound fixes for 6.0-rc2 2022-08-19 09:46:11 -07:00
simatic-ipc.c platform/x86: simatic-ipc: add another model 2023-01-12 19:42:53 +01:00
sony-laptop.c platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during probe 2022-12-27 12:23:11 +01:00
system76_acpi.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
think-lmi.c platform/x86: think-lmi: Add possible_values for ThinkStation 2023-03-22 15:20:48 +01:00
think-lmi.h platform/x86: think-lmi: certificate support clean ups 2022-04-04 15:20:53 +02:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: Fix thinklight LED brightness returning 255 2023-01-30 14:37:22 +01:00
topstar-laptop.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba_acpi.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
toshiba_bluetooth.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba_haps.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
toshiba-wmi.c
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match 2023-02-02 11:34:38 +01:00
uv_sysfs.c x86/platform/uv: Make kobj_type structure constant 2023-02-10 17:24:37 +01:00
winmate-fm07-keys.c platform/x86: use PLATFORM_DEVID_NONE instead of -1 2022-10-03 09:40:04 +02:00
wireless-hotkey.c ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
wmi-bmof.c
wmi.c driver core: make struct bus_type.uevent() take a const * 2023-01-27 13:45:52 +01:00
x86-android-tablets.c power: supply: bq25890: Support boards with more then one charger IC 2023-01-03 00:04:26 +01:00
xiaomi-wmi.c
xo1-rfkill.c
xo15-ebook.c ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00