summaryrefslogtreecommitdiff
path: root/drivers/hwmon/applesmc.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2009-01-22 12:03:02 +0300
committerThomas Gleixner <tglx@linutronix.de>2009-01-22 12:03:02 +0300
commit6552ebae25ffd57574c6e72d17fce67fea08b918 (patch)
treecde6cc932c7e47d818154b011dfd8a6997d5c18e /drivers/hwmon/applesmc.c
parent749a440b2218e9937dca8c68e23e51ca4d8d37fe (diff)
parent336f6c322d87806ef93afad6308ac65083a865e5 (diff)
downloadlinux-6552ebae25ffd57574c6e72d17fce67fea08b918.tar.xz
Merge branch 'core/debugobjects' into core/urgent
Diffstat (limited to 'drivers/hwmon/applesmc.c')
-rw-r--r--drivers/hwmon/applesmc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index dca47a591baf..e30186236588 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -590,6 +590,11 @@ static ssize_t applesmc_light_show(struct device *dev,
}
ret = applesmc_read_key(LIGHT_SENSOR_LEFT_KEY, buffer, data_length);
+ /* newer macbooks report a single 10-bit bigendian value */
+ if (data_length == 10) {
+ left = be16_to_cpu(*(__be16 *)(buffer + 6)) >> 2;
+ goto out;
+ }
left = buffer[2];
if (ret)
goto out;