Re: [PATCH] iio: magnetometer: tlv493d: fix magnetic field scale

From: Dixit Parmar

Date: Sun Oct 18 2026 - 12:00:10 EST


LGTM. Good catch. There seem to be miscalculated Gauss scale due to
multiple conversion factor.

Reviewed-by: Dixit Parmar <dixitparmar19@xxxxxxxxx>

On Sun, Oct 18, 2026 at 9:22 PM Dixit Parmar <dixitparmar19@xxxxxxxxx> wrote:
>
> This change looks correct, the Gauss scale value seem to be miscalculated due to multiple conversations and different reference. Good catch.
>
> On Sunday, October 18, 2026, Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>>
>> On Wed, 14 Oct 2026 23:07:36 +0530
>> Viral Patel <viral8854@xxxxxxxxx> wrote:
>>
>> > The TLV493D-A1B6 datasheet specifies a magnetic resolution of
>> > 98 uT/LSB (0.098 mT/LSB). IIO reports magnetic field in Gauss
>> > (1 mT = 10 G), so the scale should be 0.98 G/LSB.
>> >
>> > The driver currently reports 98/1000 = 0.098 G/LSB, which
>> > under-reports the magnetic field by a factor of 10. The comment
>> > also gives the resolution as 0.0098 mT (9.8 uT), mixing up units.
>> >
>> > Correct the scale value and the comment.
>> >
>> > Fixes: 106511d280c7 ("iio: magnetometer: add support for Infineon TLV493D 3D Magentic sensor")
>> > Signed-off-by: Viral Patel <viral8854@xxxxxxxxx>
>>
>> I'll give some time for Dixit to take a look at this.
>>
>> Thanks,
>>
>> Jonathan
>>
>> > ---
>> > Found while comparing this driver against the TLE493D-W2B6 register
>> > map for a new driver I am working on. Compile-tested only; I do not
>> > have TLV493D-A1B6 hardware.
>> > ---
>> > drivers/iio/magnetometer/tlv493d.c | 6 +++---
>> > 1 file changed, 3 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/drivers/iio/magnetometer/tlv493d.c b/drivers/iio/magnetometer/tlv493d.c
>> > index 03415cc2c9b3..234e3ce63ff7 100644
>> > --- a/drivers/iio/magnetometer/tlv493d.c
>> > +++ b/drivers/iio/magnetometer/tlv493d.c
>> > @@ -299,11 +299,11 @@ static int tlv493d_read_raw(struct iio_dev *indio_dev,
>> > switch (chan->type) {
>> > case IIO_MAGN:
>> > /*
>> > - * Magnetic field scale: 0.0098 mTesla (i.e. 9.8 µT)
>> > - * Magnetic field in Gauss: mT * 10 = 0.098.
>> > + * Magnetic field scale: 0.098 mTesla (i.e. 98 µT) per LSB.
>> > + * In Gauss (1 mT = 10 G): 0.98 G per LSB.
>> > */
>> > *val = 98;
>> > - *val2 = 1000;
>> > + *val2 = 100;
>> > return IIO_VAL_FRACTIONAL;
>> > case IIO_TEMP:
>> > /*
>> >
>> > ---
>> > base-commit: ceb05f22e5cdc3f8bd3f7d5dcfc57843942191dd
>> > change-id: 20261014-tlv493d-scale-fix-5a0b83b52d2a
>> >
>> > Best regards,
>>