[PATCH] tc1100-wmi: fix state reporting

From: Krzysztof KosiÅski
Date: Wed Dec 24 2008 - 21:45:37 EST


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 reprting 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).

Please CC any replies to me (I'm not subscribed).
Regards, Krzysztof KosiÅski

--- 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;
N‹§²æìr¸›yúèšØb²X¬¶ÇvØ^–)Þ{.nÇ+‰·¥Š{±‘êçzX§¶›¡Ü}©ž²ÆzÚ&j:+v‰¨¾«‘êçzZ+€Ê+zf£¢·hšˆ§~†­†Ûiÿûàz¹®w¥¢¸?™¨è­Ú&¢)ßf”ù^jÇy§m…á@A«a¶Úÿ 0¶ìh®å’i