Commit 5f5bfb09 authored by Michele Jr De Candia's avatar Michele Jr De Candia Committed by Jean Delvare

i2c/tsl2550: Fix lux value in extended mode

According to the TAOS Application Note 'Controlling a Backlight with
the TSL2550 Ambient Light Sensor' (page 14), the actual lux value in
extended mode should be obtained multiplying the calculated lux value
by 5.
Signed-off-by: default avatarMichele Jr De Candia <michele.decandia@valueteam.com>
Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
parent a8a8a669
...@@ -257,6 +257,7 @@ static DEVICE_ATTR(operating_mode, S_IWUSR | S_IRUGO, ...@@ -257,6 +257,7 @@ static DEVICE_ATTR(operating_mode, S_IWUSR | S_IRUGO,
static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf) static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf)
{ {
struct tsl2550_data *data = i2c_get_clientdata(client);
u8 ch0, ch1; u8 ch0, ch1;
int ret; int ret;
...@@ -274,6 +275,8 @@ static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf) ...@@ -274,6 +275,8 @@ static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf)
ret = tsl2550_calculate_lux(ch0, ch1); ret = tsl2550_calculate_lux(ch0, ch1);
if (ret < 0) if (ret < 0)
return ret; return ret;
if (data->operating_mode == 1)
ret *= 5;
return sprintf(buf, "%d\n", ret); return sprintf(buf, "%d\n", ret);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment