Input: atkbd - expand Latitude's force release quirk to other Dells

Dell laptops fail to send key up events for several of their special
keys. There's an existing quirk in the kernel to handle this, but it's
limited to the Latitude range. This patch extends it to cover all
portable Dells.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
Matthew Garrett 2008-08-15 13:54:51 -04:00 committed by Dmitry Torokhov
parent 108fcb42c7
commit 61579ba839

View File

@ -834,10 +834,10 @@ static void atkbd_disconnect(struct serio *serio)
} }
/* /*
* Most special keys (Fn+F?) on Dell Latitudes do not generate release * Most special keys (Fn+F?) on Dell laptops do not generate release
* events so we have to do it ourselves. * events so we have to do it ourselves.
*/ */
static void atkbd_latitude_keymap_fixup(struct atkbd *atkbd) static void atkbd_dell_laptop_keymap_fixup(struct atkbd *atkbd)
{ {
const unsigned int forced_release_keys[] = { const unsigned int forced_release_keys[] = {
0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8f, 0x93, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8f, 0x93,
@ -1451,13 +1451,13 @@ static int __init atkbd_setup_fixup(const struct dmi_system_id *id)
static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = { static struct dmi_system_id atkbd_dmi_quirk_table[] __initdata = {
{ {
.ident = "Dell Latitude series", .ident = "Dell Laptop",
.matches = { .matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
DMI_MATCH(DMI_PRODUCT_NAME, "Latitude"), DMI_MATCH(DMI_CHASSIS_TYPE, "8"), /* Portable */
}, },
.callback = atkbd_setup_fixup, .callback = atkbd_setup_fixup,
.driver_data = atkbd_latitude_keymap_fixup, .driver_data = atkbd_dell_laptop_keymap_fixup,
}, },
{ {
.ident = "HP 2133", .ident = "HP 2133",