From: Yuanshen Cao <alex.caoys@gmail.com>
To: Jonathan Cameron <jic23@kernel.org>
Cc: "David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] iio: light: tsl2772: fix ALS calibscale readback
Date: Mon, 27 Jul 2026 04:40:13 +0000 [thread overview]
Message-ID: <ambhLVO6CkMVzqKJ@45fec588b341> (raw)
In-Reply-To: <20260727031407.44a6d201@jic23-huawei>
On Mon, Jul 27, 2026 at 03:14:07AM +0100, Jonathan Cameron wrote:
> On Fri, 24 Jul 2026 23:46:01 +0000
> Yuanshen Cao <alex.caoys@gmail.com> wrote:
>
> > The read_raw() implementation uses IIO_LIGHT to distinguish between the
> > ambient light and proximity channels when handling
> > IIO_CHAN_INFO_CALIBSCALE.
> >
> > However, the ALS channel is registered as IIO_INTENSITY, while
> > write_raw() correctly writes to IIO_INTENSITY. As a result, reading
> > in_intensity0_calibscale incorrectly returns the proximity gain instead
> > of the ALS gain.
> >
> > This causes the following user-visible behavior:
> > - Writing in_intensity0_calibscale appears to have no effect because the
> > readback reports the proximity gain.
> > - Writing in_proximity0_calibscale causes both in_proximity0_calibscale
> > and in_intensity0_calibscale to report the same value.
> >
> > Fix this by checking for IIO_INTENSITY in read_raw(), matching the
> > channel definition and the existing write_raw() implementation.
> >
> > Signed-off-by: Yuanshen Cao <alex.caoys@gmail.com>
> Hi,
>
> Fix looks good and the explanation correct. Was this an AI found
> one, or did you either spot this whilst reading the code or best
> of all saw it in practice and went looking for what is wrong?
Hi Jonathan,
It's actually a bit of both. I first noticed the strange calibscale
behavior while testing a device with this sensor. Since most part of
this driver has been around for 7+ years, I wasn't expecting to find a
bug there. I asked ChatGPT for some ideas about what might explain the
behavior, and it pointed out the mismatch. I then went back and verified
it, and sure enough, it turned out to be a 14-year-old bug. After that,
I checked the rest of the file for similar issues, but this appears to
be the only instance. Also this was tested on the device and it works
as intended now.
> Give it is fix, what is missing is a suitable Fixes tag.
> Please see if you can figure out what that should be.
> No need to send a v2 unless anything else comes up in review.
> Just reply to this thread with the Fixes tag so I'll get it
> when I use b4 to pick up the patch
Thanks for pointing this out.
The missing tag is:
Fixes: 3c97c08b5735 ("iio: light: add TAOS tsl2x7x driver")
Best,
Yuanshen (Alex) Cao
> Thanks,
>
> Jonathan
>
> > ---
> > drivers/iio/light/tsl2772.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/iio/light/tsl2772.c b/drivers/iio/light/tsl2772.c
> > index 244f44379c36..2287585711c6 100644
> > --- a/drivers/iio/light/tsl2772.c
> > +++ b/drivers/iio/light/tsl2772.c
> > @@ -1274,7 +1274,7 @@ static int tsl2772_read_raw(struct iio_dev *indio_dev,
> > }
> > break;
> > case IIO_CHAN_INFO_CALIBSCALE:
> > - if (chan->type == IIO_LIGHT)
> > + if (chan->type == IIO_INTENSITY)
> > *val = tsl2772_als_gain[chip->settings.als_gain];
> > else
> > *val = tsl2772_prox_gain[chip->settings.prox_gain];
> >
> > ---
> > base-commit: 1590cf0329716306e948a8fc29f1d3ee87d3989f
> > change-id: 20260724-tsl2772-calibscale-fix-0cc42518d5fc
> >
> > Best regards,
> > --
> > Yuanshen Cao <alex.caoys@gmail.com>
> >
>
next prev parent reply other threads:[~2026-07-27 4:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-24 23:46 [PATCH] iio: light: tsl2772: fix ALS calibscale readback Yuanshen Cao
2026-07-25 21:27 ` David Lechner
2026-07-27 2:14 ` Jonathan Cameron
2026-07-27 4:40 ` Yuanshen Cao [this message]
2026-07-27 21:25 ` Jonathan Cameron
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=ambhLVO6CkMVzqKJ@45fec588b341 \
--to=alex.caoys@gmail.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
/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