mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
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: Michele Jr De Candia <michele.decandia@valueteam.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
This commit is contained in:
parent
a8a8a669ea
commit
5f5bfb09d8
1 changed files with 3 additions and 0 deletions
|
@ -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)
|
||||
{
|
||||
struct tsl2550_data *data = i2c_get_clientdata(client);
|
||||
u8 ch0, ch1;
|
||||
int ret;
|
||||
|
||||
|
@ -274,6 +275,8 @@ static ssize_t __tsl2550_show_lux(struct i2c_client *client, char *buf)
|
|||
ret = tsl2550_calculate_lux(ch0, ch1);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
if (data->operating_mode == 1)
|
||||
ret *= 5;
|
||||
|
||||
return sprintf(buf, "%d\n", ret);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue