linux/drivers/input/keyboard
Mattijs Korpershoek a1e2d6c849 Input: mt6779-keypad - match hardware matrix organization
commit d6ed525830 upstream.

The MediaTek keypad has a set of bits representing keys,
from KEY0 to KEY77, arranged in 5 chunks of 15 bits split into 5 32-bit
registers.

In our implementation, we simply decided to use register number as row
and offset in the register as column when encoding our "matrix".

Because of this, we can have a 5x32 matrix which does not match the
hardware at all, which is confusing.

Change the row/column calculation to match the hardware.

Fixes: f28af984e7 ("Input: mt6779-keypad - add MediaTek keypad driver")
Co-developed-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Link: https://lore.kernel.org/r/20220707075236.126631-2-mkorpershoek@baylibre.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2022-08-25 11:45:19 +02:00
..
adc-keys.c Input: adc-keys - drop bogus __refdata annotation 2021-09-03 23:49:58 -07:00
adp5520-keys.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 149 2019-05-30 11:25:18 -07:00
adp5588-keys.c Input: adp5588-keys - use the right header 2021-08-30 15:55:15 -07:00
adp5589-keys.c Input: adp5589-keys - use the right header 2021-08-30 15:55:18 -07:00
amikbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
applespi.c spi: make remove callback a void function 2022-02-09 13:00:45 +00:00
applespi.h Input: add Apple SPI keyboard and trackpad driver 2019-07-19 11:58:34 +03:00
applespi_trace.h Input: add Apple SPI keyboard and trackpad driver 2019-07-19 11:58:34 +03:00
atakbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
atkbd.c Input: extract ChromeOS vivaldi physmap show function 2022-03-14 21:11:09 -07:00
bcm-keypad.c Input: bcm-keypad - remove unneeded NULL check before clk_disable_unprepare 2022-05-16 21:10:12 -07:00
cap11xx.c Input: cap11xx - add support for cap1206 2021-11-02 17:03:04 -07:00
clps711x-keypad.c Input: clps711x-keypad - use syscon_regmap_lookup_by_phandle 2022-04-24 18:25:00 -07:00
cros_ec_keyb.c Merge branch 'ib/5.17-cros-ec-keyb' into next 2022-05-18 15:02:27 -07:00
cypress-sf.c Input: cypress-sf - register a callback to disable the regulators 2022-04-08 19:34:46 -07:00
davinci_keyscan.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
dlink-dir685-touchkeys.c Input: dlink-dir685-touchkeys - fix a typo in driver name 2020-04-22 14:15:06 -07:00
ep93xx_keypad.c Input: ep93xx_keypad - use devm_platform_ioremap_resource() helper 2022-04-24 18:25:03 -07:00
goldfish_events.c Input: goldfish_events - replace zero-length array with flexible-array member 2020-02-13 17:09:47 -08:00
gpio_keys.c Input: gpio-keys - cancel delayed work only in case of GPIO 2022-05-26 09:56:40 -07:00
gpio_keys_polled.c Input: gpio_keys_polled - replace zero-length array with flexible-array member 2020-02-14 17:19:19 -08:00
hil_kbd.c Input: hil_kbd - fix error return code in hil_dev_connect() 2021-05-24 20:57:04 -07:00
hilkbd.c parisc: Make struct parisc_driver::remove() return void 2021-08-30 10:18:25 +02:00
hpps2atkbd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
imx_keypad.c Input: imx_keypad - convert to a DT-only driver 2021-03-27 21:40:21 -07:00
imx_sc_key.c Input: imx_sc_key - use devm_add_action_or_reset() to handle all cleanups 2020-05-13 10:34:58 -07:00
ipaq-micro-keys.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
iqs62x-keys.c input: keyboard: Add support for Azoteq IQS620A/621/622/624/625 2020-03-27 08:25:42 +00:00
jornada680_kbd.c Input: jornada680_kbd - switch to using polled mode of input devices 2019-10-29 17:13:44 -07:00
jornada720_kbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Kconfig Input: extract ChromeOS vivaldi physmap show function 2022-03-14 21:11:09 -07:00
lkkbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
lm8323.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 394 2019-06-05 17:37:12 +02:00
lm8333.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 178 2019-05-30 11:29:19 -07:00
locomokbd.c ARM: 9049/1: locomo: make locomo bus's remove callback return void 2021-02-01 19:44:30 +00:00
lpc32xx-keys.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
Makefile Input: mt6779-keypad - add MediaTek keypad driver 2022-03-05 15:00:23 -08:00
maple_keyb.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 64 2019-05-24 17:36:46 +02:00
matrix_keypad.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
max7359_keypad.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mcs_touchkey.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
mpr121_touchkey.c Input: mpr121 - make use of the helper function devm_add_action_or_reset() 2021-09-22 21:56:50 -07:00
mt6779-keypad.c Input: mt6779-keypad - match hardware matrix organization 2022-08-25 11:45:19 +02:00
mtk-pmic-keys.c Input: mtk-pmic-keys - add support for MT6358 2022-02-07 21:45:20 -08:00
newtonkbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
nomadik-ske-keypad.c Input: nomadik-ske-keypad - provide some missing struct member docs 2020-11-08 22:19:53 -08:00
nspire-keypad.c Input: nspire-keypad - enable interrupts only when opened 2021-03-23 10:55:10 -07:00
omap-keypad.c input: omap: void using mach/*.h headers 2022-04-21 15:01:42 +02:00
omap4-keypad.c Input: omap4-keypad - fix pm_runtime_get_sync() error checking 2022-04-17 13:13:34 -07:00
opencores-kbd.c Input: remove dev_err() usage after platform_get_irq() 2019-08-14 10:49:01 -07:00
pmic8xxx-keypad.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
pxa27x_keypad.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
pxa930_rotary.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
qt1050.c Input: qt1050 - add Microchip AT42QT1050 support 2019-05-07 14:12:43 -07:00
qt1070.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
qt2160.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
samsung-keypad.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
sh_keysc.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
snvs_pwrkey.c Input: snvs_pwrkey - add clk handling 2021-10-15 22:11:01 -07:00
spear-keyboard.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
st-keyscan.c Input: use input_device_enabled() 2020-12-02 22:10:33 -08:00
stmpe-keypad.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 464 2019-06-19 17:09:10 +02:00
stowaway.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
sun4i-lradc-keys.c Input: sun4i-lradc-keys - add support for R329 and D1 2022-05-05 10:23:49 -07:00
sunkbd.c Input: sunkbd - avoid use-after-free in teardown paths 2020-11-08 21:59:07 -08:00
tc3589x-keypad.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 464 2019-06-19 17:09:10 +02:00
tca6416-keypad.c Input: move to use request_irq by IRQF_NO_AUTOEN flag 2021-03-25 15:27:56 -07:00
tca8418_keypad.c Input: tca8418 - remove set but not used variable 'max_keys' 2019-05-27 19:01:42 -07:00
tegra-kbc.c Input: move to use request_irq by IRQF_NO_AUTOEN flag 2021-03-25 15:27:56 -07:00
tm2-touchkey.c Input: tm2-touchkey - allow changing keycodes from userspace 2021-10-15 20:26:30 -07:00
twl4030_keypad.c Input: twl4030_keypad - fix handling of platform_get_irq() error 2020-09-16 10:42:15 -07:00
xtkbd.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00