Input: wistron - add support for TravelMate 610
authorEric Piel <eric.piel@tremplin-utc.net>
Wed, 7 Mar 2007 06:45:16 +0000 (01:45 -0500)
committerDmitry Torokhov <dtor@insightbb.com>
Wed, 7 Mar 2007 06:45:16 +0000 (01:45 -0500)
Add support for Acer TravelMate 610 to wistron_btns. All special keys
are detected, but the 2 leds are not handled (yet).

Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/misc/wistron_btns.c

index e1183aeb8ed5ce4708b585acb1b500394d3e628e..39e437599d35d668005432beabaf5e32996fac7b 100644 (file)
@@ -324,6 +324,21 @@ static struct key_entry keymap_acer_travelmate_240[] = {
        { KE_END, 0 }
 };
 
+/* Wifi subsystem only activates the led. Therefore we need to pass
+ * wifi event as a normal key, then userspace can really change the wifi state.
+ * TODO we need to export led state to userspace (wifi and mail) */
+static struct key_entry keymap_acer_travelmate_610[] = {
+       { KE_KEY, 0x01, KEY_HELP },
+       { KE_KEY, 0x02, KEY_CONFIG },
+       { KE_KEY, 0x11, KEY_PROG1 },
+       { KE_KEY, 0x12, KEY_PROG2 },
+       { KE_KEY, 0x13, KEY_PROG3 },
+       { KE_KEY, 0x14, KEY_MAIL },
+       { KE_KEY, 0x15, KEY_WWW },
+       { KE_KEY, 0x40, KEY_WLAN }, /* Wifi */
+       { KE_END, 0 }
+};
+
 static struct key_entry keymap_aopen_1559as[] = {
        { KE_KEY,  0x01, KEY_HELP },
        { KE_KEY,  0x06, KEY_PROG3 },
@@ -406,6 +421,15 @@ static struct dmi_system_id dmi_ids[] __initdata = {
                },
                .driver_data = keymap_acer_travelmate_240
        },
+       {
+               .callback = dmi_matched,
+               .ident = "Acer TravelMate 610",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "ACER"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "TravelMate 610"),
+               },
+               .driver_data = keymap_acer_travelmate_610
+       },
        {
                .callback = dmi_matched,
                .ident = "AOpen 1559AS",