Re: [PATCH 2/2] ideapad-laptop: Handle the App-controlled RF event

From: Ike Panhc
Date: Wed Jun 29 2011 - 09:56:33 EST


On 06/28/2011 09:35 PM, Keng-Yu Lin wrote:
> Notification with VPC2 bit 5 set is generated when the wireless
> hotkey is pressed. BIOS fires this to notify a Windows
> application to handle the RF switch.
>
> On Linux, there is no such application. This patch implements
> a toggle for all RF devices through accessing the EC I/O ports.
>
> Without the explicit EC commands, the wifi LED is always on.
>
> Signed-off-by: Keng-Yu Lin <kengyu@xxxxxxxxxxxxx>
> ---
> drivers/platform/x86/ideapad-laptop.c | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/platform/x86/ideapad-laptop.c b/drivers/platform/x86/ideapad-laptop.c
> index 820f013..5e1e971 100644
> --- a/drivers/platform/x86/ideapad-laptop.c
> +++ b/drivers/platform/x86/ideapad-laptop.c
> @@ -461,7 +461,11 @@ static void ideapad_acpi_notify(struct acpi_device *adevice, u32 event)
> if (test_bit(vpc_bit, &vpc1)) {
> if (vpc_bit == 9)
> ideapad_sync_rfk_state(adevice);
> - else if (vpc_bit == 4)
> + else if (vpc_bit == 13) {
> + read_ec_data(handle, 0x23, &vpc2);
> + write_ec_cmd(handle, 0x24, !vpc2);
> + ideapad_sync_rfk_state(adevice);
> + } else if (vpc_bit == 4)
> read_ec_data(handle, 0x12, &vpc2);
> else if (vpc_bit == 1) {
> } else

I think its better to implement the changes in ideapad_sync_rfk_state() because we have
read switch status there. It is not necessary to read the same data twice in an event.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/