Re: [PATCH 2/4] Input: mt-matrix-keypad: Add Bosch mt matrix keypad driver

From: Gireesh.Hiremath
Date: Wed May 04 2022 - 09:48:46 EST


From: Gireesh Hiremath <Gireesh.Hiremath@xxxxxxxxxxxx>

The existing matric_keypad.c use different gpio line for row and colunm,
where in mt_matrix_kepad.c use same gpio line for row as well as column.
a key can be placed at each intersection of a unique row number
not equal to a unique column and they are diagonally symmetric.
Advantage of this is with existed gpio line we can get more keys

example: in matrix_keypad.c for 5 gpio line possible matrix is 2X3 or 3X2
and maximum possible keys are 6 but
in mt_matrix_kepad.c for same 5 gpio line possible matrix is 5X5 and maximum
possible buttons are 10, below table will discribe that
------------------------------------------------------
|Row\Col |GPIO 0 | GPIO 1 | GPIO 2 | GPIO 3 | GPIO 4 |
------------------------------------------------------
| GPIO 0 | X | KEY_9 | KEY_2 | KEY_3 | KEY_1 |
------------------------------------------------------
| GPIO 1 | KEY_9 | X | KEY_6 | KEY_5 | KEY_0 |
------------------------------------------------------
| GPIO 2 | KEY_2 | KEY_6 | X | KEY_4 | KEY_7 |
------------------------------------------------------
| GPIO 3 | KEY_3 | KEY_5 | KEY_4 | X | KEY_8 |
------------------------------------------------------
| GPIO 4 | KEY_1 | KEY_0 | KEY_7 | KEY_8 | X |
------------------------------------------------------
X - invalid key
KEY_x - preferred key code

both matric_keypad.c and mt_matrix_kepad.c logically operate differently,
my openion is not to merge both.