Re: [PATCH 2/2] iio: temperature: iqs620at-temp: Add support for V3 silicon

From: Jonathan Cameron
Date: Mon Jan 24 2022 - 12:35:06 EST


On Sun, 23 Jan 2022 13:01:06 -0600
Jeff LaBundy <jeff@xxxxxxxxxxx> wrote:

> The vendor introduced an updated revision of IQS620A(T) silicon
> which is backwards-compatible with previous revisions, the only
> exception being the offset used to derive temperature.
>
> Enable this new revision by returning the appropriate offset as
> a function of the hardware number provided by the parent MFD.
>
> Signed-off-by: Jeff LaBundy <jeff@xxxxxxxxxxx>
Trivial comment inline but I'm fine with this either way.
Assuming it will go through mfd.

Acked-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>

> ---
> drivers/iio/temperature/iqs620at-temp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/iio/temperature/iqs620at-temp.c b/drivers/iio/temperature/iqs620at-temp.c
> index fe126e1fb783..e2f878d57af7 100644
> --- a/drivers/iio/temperature/iqs620at-temp.c
> +++ b/drivers/iio/temperature/iqs620at-temp.c
> @@ -17,6 +17,7 @@
>
> #define IQS620_TEMP_SCALE 1000
> #define IQS620_TEMP_OFFSET (-100)
> +#define IQS620_TEMP_OFFSET_V3 (-40)
>
> static int iqs620_temp_read_raw(struct iio_dev *indio_dev,
> struct iio_chan_spec const *chan,
> @@ -41,7 +42,8 @@ static int iqs620_temp_read_raw(struct iio_dev *indio_dev,
> return IIO_VAL_INT;
>
> case IIO_CHAN_INFO_OFFSET:
> - *val = IQS620_TEMP_OFFSET;
> + *val = iqs62x->hw_num < IQS620_HW_NUM_V3 ? IQS620_TEMP_OFFSET
> + : IQS620_TEMP_OFFSET_V3;

Line is a bit long, so maybe it would be better to just use an if / else

if (iqs6x->hw_num < IQS620_HW_NUM_V3)
*val = IQS620_TEMP_OFFSET;
else
*val = IQS620_TEMP_OFFSET_V3;


> return IIO_VAL_INT;
>
> default: