]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/hwmon/applesmc.c
hwmon: applesmc: fix light sensor readings on newer MacBooks
[linux-2.6-omap-h63xx.git] / drivers / hwmon / applesmc.c
index dca47a591baf325eabce346ae115ed747efd7c53..e301862365889e1e2750d1514807a45d6489644b 100644 (file)
@@ -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;