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

Stefan Bader stefan.bader at canonical.com
Wed Mar 25 08:03:43 GMT 2009


TJ wrote:
> 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;
ACK

-- 

When all other means of communication fail, try words!





More information about the kernel-team mailing list