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.077 / U:0.088 seconds]
©2003-2014 Jasper Spaans. Advertise on this site