All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] TSL2550: extended mode bugfix
@ 2009-08-05 15:08 Michele De Candia (VT)
       [not found] ` <4A79A055.1010602-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Michele De Candia (VT) @ 2009-08-05 15:08 UTC (permalink / raw)
  To: Linux I2C

Hi all,
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.
The following patch should fix the lux calculation in this case.

Regards,
Michele De Candia
--

Signed-off-by: Michele Jr De Candia <michele.decandia-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>

drivers/i2c/chips/tsl2550.c |    7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/chips/tsl2550.c b/drivers/i2c/chips/tsl2550.c
index b96f302..04b87e0 100644
--- a/drivers/i2c/chips/tsl2550.c
+++ b/drivers/i2c/chips/tsl2550.c
@@ -279,7 +279,7 @@ static ssize_t __tsl2550_show_lux(struct i2c_client
*client, char *buf)
{
     u8 ch0, ch1;
     int ret;
-
+    struct tsl2550_data *data = i2c_get_clientdata(client);
     ret = tsl2550_get_adc_value(client, TSL2550_READ_ADC0);
     if (ret < 0)
         return ret;
@@ -293,7 +293,10 @@ static ssize_t __tsl2550_show_lux(struct i2c_client
*client, char *buf)
     ch1 = ret;

     /* Do the job */
-    ret = tsl2550_calculate_lux(ch0, ch1);
+    if (!data->operating_mode)
+        ret = tsl2550_calculate_lux(ch0, ch1);
+    else
+        ret = tsl2550_calculate_lux(ch0, ch1) * 5;
     if (ret < 0)
         return ret;

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-11-09 16:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-05 15:08 [PATCH] TSL2550: extended mode bugfix Michele De Candia (VT)
     [not found] ` <4A79A055.1010602-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-08-05 15:14   ` Jean Delvare
     [not found]     ` <20090805171452.592a2bbd-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-08-05 15:22       ` Wolfram Sang
     [not found]     ` <4A79AAF5.9000702@valueteam.com>
     [not found]       ` <4A79AAF5.9000702-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-08-05 16:00         ` Wolfram Sang
2009-11-09 16:33         ` Jean Delvare

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.