[PATCH] Input: Add keyboard quirk for HP Pavilion ZV6100 laptop

From: Rikard Ljungstrand
Date: Sat Jan 10 2009 - 08:44:46 EST


Hi,

Sending an updated version of a trivial patch from last November which got no feedback on the list.
Applies cleanly against the latest input.git tree (and probably other recent trees).

Cheers,
Rikard

----

Add quirk for misbehaving volume buttons on HP Pavilion ZV6100 laptop which
are not sending keyrelease events, as reported by Aaron Pickett.

Signed-off-by: Rikard Ljungstrand <lrikard@xxxxxxxxxxxxxxxxxxx>
---
drivers/input/keyboard/atkbd.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 379b7ff..99e73a1 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -868,9 +868,10 @@ static void atkbd_hp_keymap_fixup(struct atkbd *atkbd)
}

/*
- * Inventec system with broken key release on volume keys
+ * Perform fixup for Inventec system and HP Pavilion ZV6100 laptop that don't
+ * generate release for their volume buttons
*/
-static void atkbd_inventec_keymap_fixup(struct atkbd *atkbd)
+static void atkbd_inventec_and_hp_zv6100_keymap_fixup(struct atkbd *atkbd)
{
const unsigned int forced_release_keys[] = {
0xae, 0xb0,
@@ -1491,7 +1492,16 @@ static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "SYMPHONY 6.0/7.0"),
},
.callback = atkbd_setup_fixup,
- .driver_data = atkbd_inventec_keymap_fixup,
+ .driver_data = atkbd_inventec_and_hp_zv6100_keymap_fixup,
+ },
+ {
+ .ident = "HP Pavilion ZV6100",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Pavilion ZV6100"),
+ },
+ .callback = atkbd_setup_fixup,
+ .driver_data = atkbd_inventec_and_hp_zv6100_keymap_fixup,
},
{ }
};
--
1.5.6.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/