[RFC v1 PATCH 1/6] matrix_keypad: Increase the max limit of rows and columns

2010-11-10 Thread Trilok Soni
Some keyboard controller have support for more than
16 columns and rows.

Cc: Dmitry Torokhov dmitry.torok...@gmail.com
Cc: Eric Miao eric.y.m...@gmail.com
Signed-off-by: Trilok Soni ts...@codeaurora.org
---
 include/linux/input/matrix_keypad.h |8 
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/linux/input/matrix_keypad.h 
b/include/linux/input/matrix_keypad.h
index 80352ad..d80845e 100644
--- a/include/linux/input/matrix_keypad.h
+++ b/include/linux/input/matrix_keypad.h
@@ -4,11 +4,11 @@
 #include linux/types.h
 #include linux/input.h
 
-#define MATRIX_MAX_ROWS16
-#define MATRIX_MAX_COLS16
+#define MATRIX_MAX_ROWS18
+#define MATRIX_MAX_COLS18
 
-#define KEY(row, col, val) row)  (MATRIX_MAX_ROWS - 1))  24) |\
-(((col)  (MATRIX_MAX_COLS - 1))  16) |\
+#define KEY(row, col, val) row) % (MATRIX_MAX_ROWS))  24) |\
+(((col) % (MATRIX_MAX_COLS))  16) |\
 (val  0x))
 
 #define KEY_ROW(k) (((k)  24)  0xff)
-- 
1.7.0.2

--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC v1 PATCH 1/6] matrix_keypad: Increase the max limit of rows and columns

2010-11-10 Thread Eric Miao
On Wed, Nov 10, 2010 at 8:47 PM, Trilok Soni ts...@codeaurora.org wrote:
 Some keyboard controller have support for more than
 16 columns and rows.

 Cc: Dmitry Torokhov dmitry.torok...@gmail.com
 Cc: Eric Miao eric.y.m...@gmail.com
 Signed-off-by: Trilok Soni ts...@codeaurora.org
 ---
  include/linux/input/matrix_keypad.h |    8 
  1 files changed, 4 insertions(+), 4 deletions(-)

 diff --git a/include/linux/input/matrix_keypad.h 
 b/include/linux/input/matrix_keypad.h
 index 80352ad..d80845e 100644
 --- a/include/linux/input/matrix_keypad.h
 +++ b/include/linux/input/matrix_keypad.h
 @@ -4,11 +4,11 @@
  #include linux/types.h
  #include linux/input.h

 -#define MATRIX_MAX_ROWS                16
 -#define MATRIX_MAX_COLS                16
 +#define MATRIX_MAX_ROWS                18
 +#define MATRIX_MAX_COLS                18

 -#define KEY(row, col, val)     row)  (MATRIX_MAX_ROWS - 1))  24) |\
 -                                (((col)  (MATRIX_MAX_COLS - 1))  16) |\
 +#define KEY(row, col, val)     row) % (MATRIX_MAX_ROWS))  24) |\
 +                                (((col) % (MATRIX_MAX_COLS))  16) |\
                                 (val  0x))


Or maybe we can solve this completely by introducing something like:

struct matrix_keycode {
int row;
int col;
int value;
}

And make changes to KEY() macro and other places. You may also want to
eliminate the hardcoded MATRIX_MAX_* in matrix_keypad.c.
  #define KEY_ROW(k)             (((k)  24)  0xff)
 --
 1.7.0.2


--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC v1 PATCH 1/6] matrix_keypad: Increase the max limit of rows and columns

2010-11-10 Thread Dmitry Torokhov
On Thu, Nov 11, 2010 at 02:33:45AM +0800, Eric Miao wrote:
 On Wed, Nov 10, 2010 at 8:47 PM, Trilok Soni ts...@codeaurora.org wrote:
  Some keyboard controller have support for more than
  16 columns and rows.
 
  Cc: Dmitry Torokhov dmitry.torok...@gmail.com
  Cc: Eric Miao eric.y.m...@gmail.com
  Signed-off-by: Trilok Soni ts...@codeaurora.org
  ---
   include/linux/input/matrix_keypad.h |    8 
   1 files changed, 4 insertions(+), 4 deletions(-)
 
  diff --git a/include/linux/input/matrix_keypad.h 
  b/include/linux/input/matrix_keypad.h
  index 80352ad..d80845e 100644
  --- a/include/linux/input/matrix_keypad.h
  +++ b/include/linux/input/matrix_keypad.h
  @@ -4,11 +4,11 @@
   #include linux/types.h
   #include linux/input.h
 
  -#define MATRIX_MAX_ROWS                16
  -#define MATRIX_MAX_COLS                16
  +#define MATRIX_MAX_ROWS                18
  +#define MATRIX_MAX_COLS                18
 
  -#define KEY(row, col, val)     row)  (MATRIX_MAX_ROWS - 1))  24) |\
  -                                (((col)  (MATRIX_MAX_COLS - 1))  16) |\
  +#define KEY(row, col, val)     row) % (MATRIX_MAX_ROWS))  24) |\
  +                                (((col) % (MATRIX_MAX_COLS))  16) |\
                                  (val  0x))
 
 
 Or maybe we can solve this completely by introducing something like:
 
 struct matrix_keycode {
 int row;
 int col;
 int value;

Though that triples the space needed to store initial keymaps.

-- 
Dmitry
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html