Merge branch 'upstream-greg' of gregkh@master.kernel.org:/pub/scm/linux/kernel/git...
[pandora-kernel.git] / drivers / input / misc / wistron_btns.c
index 36cd2e0..de0f46d 100644 (file)
@@ -94,7 +94,7 @@ static void call_bios(struct regs *regs)
 
 static ssize_t __init locate_wistron_bios(void __iomem *base)
 {
-       static const unsigned char __initdata signature[] =
+       static unsigned char __initdata signature[] =
                { 0x42, 0x21, 0x55, 0x30 };
        ssize_t offset;
 
@@ -285,6 +285,15 @@ static struct key_entry keymap_fujitsu_n3510[] = {
        { KE_END, 0 }
 };
 
+static struct key_entry keymap_wistron_ms2111[] = {
+       { KE_KEY,  0x11, KEY_PROG1 },
+       { KE_KEY,  0x12, KEY_PROG2 },
+       { KE_KEY,  0x13, KEY_PROG3 },
+       { KE_KEY,  0x31, KEY_MAIL },
+       { KE_KEY,  0x36, KEY_WWW },
+       { KE_END,  0 }
+};
+
 static struct key_entry keymap_wistron_ms2141[] = {
        { KE_KEY,  0x11, KEY_PROG1 },
        { KE_KEY,  0x12, KEY_PROG2 },
@@ -318,12 +327,23 @@ static struct key_entry keymap_acer_travelmate_240[] = {
        { KE_END, 0 }
 };
 
+static struct key_entry keymap_aopen_1559as[] = {
+       { KE_KEY,  0x01, KEY_HELP },
+       { KE_KEY,  0x06, KEY_PROG3 },
+       { KE_KEY,  0x11, KEY_PROG1 },
+       { KE_KEY,  0x12, KEY_PROG2 },
+       { KE_WIFI, 0x30, 0 },
+       { KE_KEY,  0x31, KEY_MAIL },
+       { KE_KEY,  0x36, KEY_WWW },
+       { KE_END,  0 },
+};
+
 /*
  * If your machine is not here (which is currently rather likely), please send
  * a list of buttons and their key codes (reported when loading this module
  * with force=1) and the output of dmidecode to $MODULE_AUTHOR.
  */
-static struct dmi_system_id dmi_ids[] = {
+static struct dmi_system_id dmi_ids[] __initdata = {
        {
                .callback = dmi_matched,
                .ident = "Fujitsu-Siemens Amilo Pro V2000",
@@ -369,6 +389,24 @@ static struct dmi_system_id dmi_ids[] = {
                },
                .driver_data = keymap_acer_travelmate_240
        },
+        {
+               .callback = dmi_matched,
+               .ident = "AOpen 1559AS",
+               .matches = {
+                       DMI_MATCH(DMI_PRODUCT_NAME, "E2U"),
+                       DMI_MATCH(DMI_BOARD_NAME, "E2U"),
+               },
+               .driver_data = keymap_aopen_1559as
+       },
+       {
+               .callback = dmi_matched,
+               .ident = "Medion MD 9783",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "MEDIONNB"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "MD 9783"),
+               },
+               .driver_data = keymap_wistron_ms2111
+       },
        { NULL, }
 };