* Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> [090930 06:26]: > The original driver was written with the KEY() macro defined as (col, row) > instead of (row, col) as defined by the matrix keypad infrastructure. So the > keymap was defined accordingly. > > Since the driver that was merged upstream uses the matrix keypad > infrastructure, modify the keymap accordingly. > > While we are at it, fix the comments in twl4030.h and define PERSISTENT_KEY as > (r,c) instead of (c, r) > > Tested on a RX51 (N900) device. > > Signed-off-by: Amit Kucheria <amit.kucheria@xxxxxxxxxxxxx> > Cc: Tony Lindgren <tony@xxxxxxxxxxx> > Cc: Lauri Leukkunen <lauri.leukkunen@xxxxxxxxx> > Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Dimitry, will you queue this one? I'll also add it into omap-fixes-testing while waiting for it to go to mainline. Regards, Tony > --- > arch/arm/mach-omap2/board-rx51-peripherals.c | 78 +++++++++++++------------- > include/linux/i2c/twl4030.h | 6 +- > 2 files changed, 42 insertions(+), 42 deletions(-) > > diff --git a/arch/arm/mach-omap2/board-rx51-peripherals.c b/arch/arm/mach-omap2/board-rx51-peripherals.c > index b45ad31..c1af532 100644 > --- a/arch/arm/mach-omap2/board-rx51-peripherals.c > +++ b/arch/arm/mach-omap2/board-rx51-peripherals.c > @@ -38,49 +38,49 @@ > > static int board_keymap[] = { > KEY(0, 0, KEY_Q), > - KEY(0, 1, KEY_W), > - KEY(0, 2, KEY_E), > - KEY(0, 3, KEY_R), > - KEY(0, 4, KEY_T), > - KEY(0, 5, KEY_Y), > - KEY(0, 6, KEY_U), > - KEY(0, 7, KEY_I), > - KEY(1, 0, KEY_O), > + KEY(0, 1, KEY_O), > + KEY(0, 2, KEY_P), > + KEY(0, 3, KEY_COMMA), > + KEY(0, 4, KEY_BACKSPACE), > + KEY(0, 6, KEY_A), > + KEY(0, 7, KEY_S), > + KEY(1, 0, KEY_W), > KEY(1, 1, KEY_D), > - KEY(1, 2, KEY_DOT), > - KEY(1, 3, KEY_V), > - KEY(1, 4, KEY_DOWN), > - KEY(2, 0, KEY_P), > - KEY(2, 1, KEY_F), > + KEY(1, 2, KEY_F), > + KEY(1, 3, KEY_G), > + KEY(1, 4, KEY_H), > + KEY(1, 5, KEY_J), > + KEY(1, 6, KEY_K), > + KEY(1, 7, KEY_L), > + KEY(2, 0, KEY_E), > + KEY(2, 1, KEY_DOT), > KEY(2, 2, KEY_UP), > - KEY(2, 3, KEY_B), > - KEY(2, 4, KEY_RIGHT), > - KEY(3, 0, KEY_COMMA), > - KEY(3, 1, KEY_G), > - KEY(3, 2, KEY_ENTER), > + KEY(2, 3, KEY_ENTER), > + KEY(2, 5, KEY_Z), > + KEY(2, 6, KEY_X), > + KEY(2, 7, KEY_C), > + KEY(3, 0, KEY_R), > + KEY(3, 1, KEY_V), > + KEY(3, 2, KEY_B), > KEY(3, 3, KEY_N), > - KEY(4, 0, KEY_BACKSPACE), > - KEY(4, 1, KEY_H), > - KEY(4, 3, KEY_M), > + KEY(3, 4, KEY_M), > + KEY(3, 5, KEY_SPACE), > + KEY(3, 6, KEY_SPACE), > + KEY(3, 7, KEY_LEFT), > + KEY(4, 0, KEY_T), > + KEY(4, 1, KEY_DOWN), > + KEY(4, 2, KEY_RIGHT), > KEY(4, 4, KEY_LEFTCTRL), > - KEY(5, 1, KEY_J), > - KEY(5, 2, KEY_Z), > - KEY(5, 3, KEY_SPACE), > - KEY(5, 4, KEY_LEFTSHIFT), > - KEY(6, 0, KEY_A), > - KEY(6, 1, KEY_K), > - KEY(6, 2, KEY_X), > - KEY(6, 3, KEY_SPACE), > - KEY(6, 4, KEY_FN), > - KEY(7, 0, KEY_S), > - KEY(7, 1, KEY_L), > - KEY(7, 2, KEY_C), > - KEY(7, 3, KEY_LEFT), > - KEY(0xff, 0, KEY_F6), > - KEY(0xff, 1, KEY_F7), > - KEY(0xff, 2, KEY_F8), > - KEY(0xff, 4, KEY_F9), > - KEY(0xff, 5, KEY_F10), > + KEY(4, 5, KEY_RIGHTALT), > + KEY(4, 6, KEY_LEFTSHIFT), > + KEY(5, 0, KEY_Y), > + KEY(6, 0, KEY_U), > + KEY(7, 0, KEY_I), > + KEY(7, 1, KEY_F7), > + KEY(7, 2, KEY_F8), > + KEY(0xff, 2, KEY_F9), > + KEY(0xff, 4, KEY_F10), > + KEY(0xff, 5, KEY_F11), > }; > > static struct matrix_keymap_data board_map_data = { > diff --git a/include/linux/i2c/twl4030.h b/include/linux/i2c/twl4030.h > index 2d02dfd..508824e 100644 > --- a/include/linux/i2c/twl4030.h > +++ b/include/linux/i2c/twl4030.h > @@ -349,11 +349,11 @@ struct twl4030_madc_platform_data { > int irq_line; > }; > > -/* Boards have uniqe mappings of {col, row} --> keycode. > - * Column and row are 4 bits, but range only from 0..7. > +/* Boards have uniqe mappings of {row, col} --> keycode. > + * Column and row are 8 bits each, but range only from 0..7. > * a PERSISTENT_KEY is "always on" and never reported. > */ > -#define PERSISTENT_KEY(c, r) KEY((c), (r), KEY_RESERVED) > +#define PERSISTENT_KEY(r, c) KEY((r), (c), KEY_RESERVED) > > struct twl4030_keypad_data { > const struct matrix_keymap_data *keymap_data; > -- > 1.6.3.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html