[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <298610bb0812250530r4661cbfaof88ba9d3946e744f@mail.gmail.com>
Date: Thu, 25 Dec 2008 14:30:46 +0100
From: "Krzysztof Kosiński" <tweenk.pl@...il.com>
To: linux-kernel@...r.kernel.org
Cc: "Carlos Corbacho" <carlos@...angeworlds.co.uk>,
linux-acpi@...r.kernel.org, "Len Brown" <lenb@...nel.org>
Subject: Re: [PATCH] tc1100-wmi: fix state reporting
(Resend)
This small patch fixes the state reported when reading the files in
/sys/devices/platofrm/tc1100-wmi/*. The first change fixes always
returning 0 from the files in sysfs. The second one fixes jogdial
state reporting to match with the commands used to set it (e.g. now
after "echo 0 > /sys/devices/platofrm/tc1100-wmi/jogdial", "cat
/sys/devices/platofrm/tc1100-wmi/jogdial" will return 0 instead of 1).
Fixes bug #12286.
Signed-off-by: Krzysztof Kosiński <tweenk.pl@...il.com>
--- linux-2.6.27/drivers/misc/tc1100-wmi.c 2008-10-10
00:13:53.000000000 +0200
+++ linux/drivers/misc/tc1100-wmi.c 2008-12-25 02:58:48.000000000 +0100
@@ -95,9 +95,8 @@
return -ENODEV;
obj = (union acpi_object *) result.pointer;
- if (obj && obj->type == ACPI_TYPE_BUFFER &&
- obj->buffer.length == sizeof(u32)) {
- tmp = *((u32 *) obj->buffer.pointer);
+ if (obj && obj->type == ACPI_TYPE_INTEGER) {
+ tmp = obj->integer.value;
} else {
tmp = 0;
}
@@ -110,7 +109,7 @@
*out = (tmp == 3) ? 1 : 0;
return 0;
case TC1100_INSTANCE_JOGDIAL:
- *out = (tmp == 1) ? 1 : 0;
+ *out = (tmp == 1) ? 0 : 1;
return 0;
default:
return -ENODEV;
Powered by blists - more mailing lists