[PATCH 1/1] UBUNTU: SAUCE: wistron_btns: support Prestigio Wifi RF kill button over suspend

TJ ubuntu at tjworld.net
Wed Mar 25 05:05:49 UTC 2009


Bug: #346586

Other bugs: #53953 #53310

The Prestigio 157, an old no-name clone laptop uses input keys very similar to
the Wistron 1557/MS2141 with the addition of BIOS-controlled wireless radio
frequency kill switch.

This patch adds support for the RF kill switch control and adds manual identification
of the model.

The Prestigio does not expose any recognisable identity via dmidecode and so
requires manual selection at module init using force=1 keymap=prestigio

Signed-off-by: TJ <ubuntu at tjworld.net>
---
 drivers/input/misc/wistron_btns.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c
index 7c8957d..563858b 100644
--- a/drivers/input/misc/wistron_btns.c
+++ b/drivers/input/misc/wistron_btns.c
@@ -611,6 +611,20 @@ static struct key_entry keymap_wistron_generic[] __initdata = {
 	{ KE_END, 0 }
 };
 
+static struct key_entry keymap_prestigio[] __initdata = {
+	{ KE_KEY,  0x11, {KEY_PROG1} },
+	{ KE_KEY,  0x12, {KEY_PROG2} },
+	{ KE_WIFI,  0x30 },
+	{ KE_KEY,  0x22, {KEY_REWIND} },
+	{ KE_KEY,  0x23, {KEY_FORWARD} },
+	{ KE_KEY,  0x24, {KEY_PLAYPAUSE} },
+	{ KE_KEY,  0x25, {KEY_STOPCD} },
+	{ 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
@@ -964,6 +978,10 @@ static int __init select_keymap(void)
 			keymap = keymap_wistron_ms2141;
 		else if (strcmp (keymap_name, "generic") == 0)
 			keymap = keymap_wistron_generic;
+		else if (strcmp (keymap_name, "prestigio") == 0) {
+			keymap = keymap_prestigio;
+			have_wifi = 1;
+		}
 		else {
 			printk(KERN_ERR "wistron_btns: Keymap unknown\n");
 			return -EINVAL;
-- 
1.6.0.4





More information about the kernel-team mailing list