On Sat, 29 Nov 2008 22:59:36 +0100 Daniel Mierswa <impulze@xxxxxxxxxxx> wrote: > From: Daniel Mierswa <impulze@xxxxxxxxxxx> > Date: Sat, 29 Nov 2008 22:40:20 +0100 > Subject: [PATCH] Fujitsu Siemens Amilo PA 1510 quirks > > The volume up and down keys on the Fujitsu Siemens Amilo PA 1510 laptop > won't generate release events, so we have to do that. Use the same > way that is already used with other models. > --- > drivers/input/keyboard/atkbd.c | 22 ++++++++++++++++++++++ > 1 files changed, 22 insertions(+), 0 deletions(-) > > diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c > index 99ef522..1250242 100644 > --- a/drivers/input/keyboard/atkbd.c > +++ b/drivers/input/keyboard/atkbd.c > @@ -845,6 +845,19 @@ static void atkbd_disconnect(struct serio *serio) > atkbd->force_release_mask); > > /* > + * The volume up and volume down special keys on a Fujitsu Amilo PA 1510 laptop > + * do not generate release events so we have to do it ourselves. > + */ > +static void atkbd_amilopa1510_keymap_fixup(struct atkbd *atkbd) > +{ > + const unsigned int forced_release_keys[] = { > + 0xb0, 0xae, > + }; > + > + GEN_RELEASE_EVENT > +} It's best to make forced_release_keys static as well - there is no need to build this array on the stack at runtime. The compiler _could_ perform this optimisation itself andallegedly it will sometimes do so. Last time I checked it did not. > +/* > * Most special keys (Fn+F?) on Dell laptops do not generate release > * events so we have to do it ourselves. > */ > @@ -1463,6 +1476,15 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { > .driver_data = atkbd_dell_laptop_keymap_fixup, > }, > { > + .ident = "Fujitsu Amilo PA 1510", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), > + DMI_MATCH(DMI_PRODUCT_NAME, "AMILO Pa 1510"), > + }, > + .callback = atkbd_setup_fixup, > + .driver_data = atkbd_amilopa1510_keymap_fixup, > + }, > + { > .ident = "HP 2133", > .matches = { > DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html