lkml.org 
[lkml]   [2008]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] Fujitsu Amilo PA 1510 key-release events quirk
    On Sat, 29 Nov 2008 22:59:36 +0100 Daniel Mierswa <impulze@impulze.org> wrote:

    > From: Daniel Mierswa <impulze@impulze.org>
    > 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"),


    \
     
     \ /
      Last update: 2008-11-30 08:45    [W:0.024 / U:31.276 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site