[PATCH v2] Keyboard: omap-keypad: use matrix_keypad.h

Dmitry Torokhov dmitry.torokhov at gmail.com
Mon Dec 20 13:02:08 EST 2010


On Mon, Dec 20, 2010 at 06:32:22PM +0100, Janusz Krzysztofik wrote:
> Monday 20 December 2010 16:29:32 Aaro Koskinen wrote:
> > Hello,
> >
> > On Sat, 18 Dec 2010, Janusz Krzysztofik wrote:
> > > Most keypad drivers make use of the <linux/input/matrix_keypad.h>
> > > defined macros, structures and inline functions.
> > >
> > > Convert omap-keypad driver to use those as well, as suggested by a
> > > compile time warning, hardcoded into the OMAP <palt/keypad.h>.
> > >
> > > Created against linux-2.6.37-rc5.
> > > Tested on Amstrad Delta.
> > > Compile tested with omap1_defconfig and omap2plus_defconfig
> > > shrinked to board-h4.
> > >
> > > Signed-off-by: Janusz Krzysztofik <jkrzyszt at tis.icnet.pl>
> >
> > [...]
> >
> > > --- linux-2.6.37-rc5/arch/arm/mach-omap1/board-ams-delta.c.orig
> > > 2010-12-09 23:07:35.000000000 +0100 +++
> > > linux-2.6.37-rc5/arch/arm/mach-omap1/board-ams-delta.c     
> > > 2010-12-18 16:23:29.000000000 +0100 @@ -46,81 +46,79 @@ static u16
> > > ams_delta_latch2_reg;
> > > static int ams_delta_keymap[] = {
> >
> > [...]
> >
> > > +static const struct matrix_keymap_data ams_delta_keymap_data = {
> > > +       .keymap         = ams_delta_keymap,
> > > +       .keymap_size    = ARRAY_SIZE(ams_delta_keymap),
> > > +};
> >
> > You should update the ams_delta_keymap type as well, otherwise this
> > patch will introduce the following sparse warning:
> >
> >    CHECK   arch/arm/mach-omap1/board-ams-delta.c
> > arch/arm/mach-omap1/board-ams-delta.c:191:27: warning: incorrect type in initializer (different signedness)
> > arch/arm/mach-omap1/board-ams-delta.c:191:27:    expected unsigned int const [usertype] *keymap
> > arch/arm/mach-omap1/board-ams-delta.c:191:27:    got int static [toplevel] *<noident>
> 
> Hi Aaro,
> How did you get this output? I'm using OpenEmbedded as my development 
> environment. Running make with "C=1" (EXTRA_OEMAKE=" C=1 ") displays a 
> lot but the above. Running sparse by hand breaks with "unable to 
> open 'linux/init.h'". Any advice?
> 

Not sure why exactly your sparse does not pick it up (too old maybe?)
but the following:

--- linux-2.6.37-rc5/arch/arm/mach-omap1/board-ams-delta.c.orig 2010-12-09 23:07:35.000000000 +0100
+++ linux-2.6.37-rc5/arch/arm/mach-omap1/board-ams-delta.c 2010-12-18 16:23:29.000000000 +0100
@@ -46,81 +46,79 @@ static u16 ams_delta_latch2_reg;
 static int ams_delta_keymap[] = {
        KEY(0, 0, KEY_F1),              /* Advert    */

should be

 static const unisgned int ams_delta_keymap[] = {

Same goes for the rest of keymaps.

Thanks.

-- 
Dmitry



More information about the linux-arm-kernel mailing list