Re: [PATCH] eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Cc:ing input)

On Fri, Mar 19, 2010 at 09:39:24PM +0800, Yong Wang wrote:
> Add a WMI driver for Eee PC laptops. Currently it only supports hotkeys.

Looks good.

> +#include <linux/kernel.h>
> +#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/types.h>
> +#include <linux/input.h>
> +#include <acpi/acpi_bus.h>
> +#include <acpi/acpi_drivers.h>
> +
> +MODULE_AUTHOR("Yong Wang <yong.y.wang@xxxxxxxxx>");
> +MODULE_DESCRIPTION("Eee PC WMI Hotkey Driver");
> +MODULE_LICENSE("GPL");
> +
> +#define EEEPC_WMI_EVENT_GUID	"ABBC0F72-8EA1-11D1-00A0-C90629100000"
> +
> +#define NOTIFY_BRNUP_MIN	0x11
> +#define NOTIFY_BRNUP_MAX	0x1f
> +#define NOTIFY_BRNDOWN_MIN	0x20
> +#define NOTIFY_BRNDOWN_MAX	0x2e
> +
> +struct key_entry {
> +	char type;
> +	u8 code;
> +	u16 keycode;
> +};
> +
> +enum { KE_KEY, KE_END };
> +
> +static struct key_entry eeepc_wmi_keymap[] = {
> +	/* Sleep already handled via generic ACPI code */
> +	{KE_KEY, 0x5d, KEY_WLAN },
> +	{KE_KEY, 0x32, KEY_MUTE },
> +	{KE_KEY, 0x31, KEY_VOLUMEDOWN },
> +	{KE_KEY, 0x30, KEY_VOLUMEUP },
> +	{KE_KEY, NOTIFY_BRNDOWN_MIN, KEY_BRIGHTNESSDOWN },
> +	{KE_KEY, NOTIFY_BRNUP_MIN, KEY_BRIGHTNESSUP },
> +	{KE_KEY, 0xcc, KEY_SWITCHVIDEOMODE },
> +	{KE_END, 0},
> +};

This probably ought to use the new sparse keymap code. I know that there 
are drivers that are currently in the tree that don't, but it's probably 
preferable to avoid adding new ones.

> +		if (code >= NOTIFY_BRNUP_MIN && code <= NOTIFY_BRNUP_MAX)
> +			code = NOTIFY_BRNUP_MIN;
> +		else if (code >= NOTIFY_BRNDOWN_MIN && code <= NOTIFY_BRNDOWN_MAX)
> +			code = NOTIFY_BRNDOWN_MIN;

Do the brightness keys just send notifications, or do they actually 
change the brightness? If they actually change the brightness, we 
shouldn't send input events.

Other than that, looks good!
-- 
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux