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

From: Dmitry Torokhov
Date: Wed Nov 10 2010 - 18:30:50 EST


On Thu, Nov 11, 2010 at 02:33:45AM +0800, Eric Miao wrote:
> On Wed, Nov 10, 2010 at 8:47 PM, Trilok Soni <tsoni@xxxxxxxxxxxxxx> wrote:
> > Some keyboard controller have support for more than
> > 16 columns and rows.
> >
> > Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx>
> > Cc: Eric Miao <eric.y.miao@xxxxxxxxx>
> > Signed-off-by: Trilok Soni <tsoni@xxxxxxxxxxxxxx>
> > ---
> >  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 & 0xffff))
> >
>
> 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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/