All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matthew Garrett <mjg59@srcf.ucam.org>
To: Yong Wang <yong.y.wang@linux.intel.com>
Cc: Corentin Chary <corentincj@iksaif.net>,
	platform-driver-x86@vger.kernel.org, linux-input@vger.kernel.org
Subject: Re: [PATCH] eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops
Date: Fri, 19 Mar 2010 13:59:29 +0000	[thread overview]
Message-ID: <20100319135929.GA29027@srcf.ucam.org> (raw)
In-Reply-To: <20100319133924.GA30427@ywang-moblin2.bj.intel.com>

(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@intel.com>");
> +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@srcf.ucam.org

       reply	other threads:[~2010-03-19 13:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20100319133924.GA30427@ywang-moblin2.bj.intel.com>
2010-03-19 13:59 ` Matthew Garrett [this message]
2010-03-19 15:10   ` [PATCH] eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops Yong Wang
2010-03-19 15:23     ` Matthew Garrett
2010-03-19 15:21       ` Yong Wang
2010-03-20  0:55       ` Yong Wang
2010-03-20 12:20         ` cascardo
2010-03-20 12:24           ` Yong Wang
2010-03-20 17:21             ` Corentin Chary
2010-03-21  0:59               ` Yong Wang
2010-03-21 13:14                 ` Corentin Chary
2010-03-21 13:35                   ` Yong Wang
2010-03-21 13:55                     ` Corentin Chary

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100319135929.GA29027@srcf.ucam.org \
    --to=mjg59@srcf.ucam.org \
    --cc=corentincj@iksaif.net \
    --cc=linux-input@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=yong.y.wang@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.