From: Jonathan Cameron <jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
To: "Michele De Candia (VT)"
<michele.decandia-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
giometti-k2GhghHVRtY@public.gmane.org
Subject: Re: [PATCH] TSL2550 driver bugfix
Date: Wed, 01 Jul 2009 10:00:56 +0000 [thread overview]
Message-ID: <4A4B33D8.1070903@cam.ac.uk> (raw)
In-Reply-To: <4A4B1A71.20101-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
Looks good to me. (perhaps a bit more detail in the commit
message of the patch?)
Acked-by: Jonathan Cameron <jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
> Jonathan Cameron wrote:
>> Michele De Candia (VT) wrote:
>>
>>> Hi all,
>>>
>>> I've tested TSL2550 driver and I've found a bug: when light is off,
>>> returned value from tsl2550_calculate_lux function is -1 when it should
>>> be 0 (sensor correctly read that light was off).
>>>
>>> I think the bug is that a zero c0 value (approximated value of ch0) is
>>> misinterpreted as an error.
>>> I'm attaching you a patch that fixes the bug.
>>>
>>> Regards,
>>> Michele Jr De Candia
>>>
>> Sounds reasonable, but I think a stray line got away in your patch
>> (see below)
>> Not to mention, if the c1 <= c0 check is still valid, should you not also
>> confirm that c1 == 0 as well? Perhaps reverse the ordering?
>>
> That's right. A new patch can be found in attachment.
>> if (c1 <= c0)
>> if(c0) {
>> r = c1* 128 / c0;
>> lux = ((c0 - c1) * ratio_lut[r]) / 256;
>> } else
>> lux = 0;
>> else
>> return -1;
>>
>>
>> Signed-off-by: Michele Jr De Candia <michele.decandia-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
>>
>> diff --git a/drivers/i2c/chips/tsl2550.c b/drivers/i2c/chips/tsl2550.c
>> index 1a9cc13..6bad072 100644
>> --- a/drivers/i2c/chips/tsl2550.c
>> +++ b/drivers/i2c/chips/tsl2550.c
>> @@ -189,10 +189,16 @@ static int tsl2550_calculate_lux(u8 ch0, u8 ch1)
>> u8 r = 128;
>>
>> /* Avoid division by 0 and count 1 cannot be greater than count 0 */
>> - if (c0 && (c1 <= c0))
>> - r = c1 * 128 / c0;
>> - else
>> - return -1;
>> + if (c0) {
>> + if (c1 <= c0)
>> + r = c1 * 128 / c0;
>> + else
>> + return -1;
>> +
>> + /* Calculate LUX */
>> + lux = ((c0 - c1) * ratio_lut[r]) / 256;
>> + }
>> + else lux = 0;
>>
>>
>> This last line should have been removed I think?
>> /* Calculate LUX */
>> lux = ((c0 - c1) * ratio_lut[r]) / 256;
>>
>> ---
>> Jonathan Cameron
>>
>>
> Than
next prev parent reply other threads:[~2009-07-01 10:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-30 15:31 [PATCH] TSL2550 driver bugfix Michele De Candia (VT)
[not found] ` <4A4A2FBC.1060804-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-06-30 16:41 ` Jonathan Cameron
[not found] ` <4A4A4036.3000408-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2009-07-01 8:12 ` Michele De Candia (VT)
[not found] ` <4A4B1A71.20101-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-07-01 10:00 ` Jonathan Cameron [this message]
[not found] ` <4A4B7904.5010301@valueteam.com>
[not found] ` <4A4B7904.5010301-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-07-01 16:06 ` Jonathan Cameron
2009-07-11 18:20 ` Jean Delvare
[not found] ` <20090711202030.52ffbddb-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-07-12 8:52 ` Jean Delvare
[not found] ` <20090712105237.01e11954-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2009-07-13 7:56 ` Michele De Candia (VT)
[not found] ` <4A5AE89A.8000000-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-07-13 8:44 ` Jean Delvare
[not found] ` <4A5B011F.8030507@valueteam.com>
[not found] ` <4A5B011F.8030507-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org>
2009-07-13 10:06 ` Rodolfo Giometti
2009-07-13 19:17 ` Jean Delvare
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4A4B33D8.1070903@cam.ac.uk \
--to=jic23-kwpb1pkirijaa/9udqfwiw@public.gmane.org \
--cc=giometti-k2GhghHVRtY@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=michele.decandia-EZxuzQJkuwwybS5Ee8rs3A@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).