kernel_samsung_a53x/drivers/input
Hans de Goede 7cd9c291da Input: atkbd - skip ATKBD_CMD_GETID in translated mode
[ Upstream commit 936e4d49ecbc8c404790504386e1422b599dec39 ]

There have been multiple reports of keyboard issues on recent laptop models
which can be worked around by setting i8042.dumbkbd, with the downside
being this breaks the capslock LED.

It seems that these issues are caused by recent laptops getting confused by
ATKBD_CMD_GETID. Rather then adding and endless growing list of quirks for
this, just skip ATKBD_CMD_GETID alltogether on laptops in translated mode.

The main goal of sending ATKBD_CMD_GETID is to skip binding to ps/2
mice/touchpads and those are never used in translated mode.

Examples of laptop models which benefit from skipping ATKBD_CMD_GETID:

* "HP Laptop 15s-fq2xxx", "HP laptop 15s-fq4xxx" and "HP Laptop 15-dy2xxx"
  models the kbd stops working for the first 2 - 5 minutes after boot
  (waiting for EC watchdog reset?)

* On "HP Spectre x360 13-aw2xxx" atkbd fails to probe the keyboard

* At least 9 different Lenovo models have issues with ATKBD_CMD_GETID, see:
  https://github.com/yescallop/atkbd-nogetid

This has been tested on:

1. A MSI B550M PRO-VDH WIFI desktop, where the i8042 controller is not
   in translated mode when no keyboard is plugged in and with a ps/2 kbd
   a "AT Translated Set 2 keyboard" /dev/input/event# node shows up

2. A Lenovo ThinkPad X1 Yoga gen 8 (always has a translated set 2 keyboard)

Reported-by: Shang Ye <yesh25@mail2.sysu.edu.cn>
Closes: https://lore.kernel.org/linux-input/886D6167733841AE+20231017135318.11142-1-yesh25@mail2.sysu.edu.cn/
Closes: https://github.com/yescallop/atkbd-nogetid
Reported-by: gurevitch <mail@gurevit.ch>
Closes: https://lore.kernel.org/linux-input/2iAJTwqZV6lQs26cTb38RNYqxvsink6SRmrZ5h0cBUSuf9NT0tZTsf9fEAbbto2maavHJEOP8GA1evlKa6xjKOsaskDhtJWxjcnrgPigzVo=@gurevit.ch/
Reported-by: Egor Ignatov <egori@altlinux.org>
Closes: https://lore.kernel.org/all/20210609073333.8425-1-egori@altlinux.org/
Reported-by: Anton Zhilyaev <anton@cpp.in>
Closes: https://lore.kernel.org/linux-input/20210201160336.16008-1-anton@cpp.in/
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2086156
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231115174625.7462-1-hdegoede@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-18 12:12:16 +01:00
..
gameport Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input_boost Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
joystick Input: xpad - add HyperX Clutch Gladiate Support 2024-11-18 12:11:10 +01:00
keyboard Input: atkbd - skip ATKBD_CMD_GETID in translated mode 2024-11-18 12:12:16 +01:00
misc Input: soc_button_array - add mapping for airplane mode button 2024-11-18 12:12:01 +01:00
mouse Input: synaptics-rmi4 - handle reset delay when using SMBus trsnsport 2024-11-18 10:58:46 +01:00
rmi4 Input: synaptics-rmi4 - fix use after free in rmi_unregister_function() 2024-11-18 11:43:07 +01:00
sec_input Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
serio Input: i8042 - add Fujitsu Lifebook E5411 to i8042 quirk table 2024-11-08 11:25:50 +01:00
tablet Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
touchscreen Input: goodix - ensure int GPIO is in input for gpio_count == 1 && gpio_int_idx == 0 case 2024-11-08 11:25:50 +01:00
apm-power.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
evbug.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
evdev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ff-core.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ff-memless.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-compat.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-compat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-leds.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-mt.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-polldev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-poller.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input-poller.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
input.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
joydev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
matrix-keymap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mousedev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sparse-keymap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00