On Wed, Nov 10, 2010 at 03:30:36PM -0800, Dmitry Torokhov wrote:
> On Thu, Nov 11, 2010 at 02:33:45AM +0800, Eric Miao wrote:
> > On Wed, Nov 10, 2010 at 8:47 PM, Trilok Soni <[email protected]> wrote:
> > > Some keyboard controller have support for more than
> > > 16 columns and rows.
> > >
> > > Cc: Dmitry Torokhov <[email protected]>
> > > Cc: Eric Miao <[email protected]>
> > > Signed-off-by: Trilok Soni <[email protected]>
> > > ---
> > >  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.
> 

Looking at it I think we should simply bump up max cols/rows to 32 and
be done with it. It will grow the matrix keypad structure by a few bytes
but nothing drastic.

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

Reply via email to