Message ID | 20220123190106.80591-3-jeff@labundy.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | Add support for Azoteq IQS620A(T) V3 | expand |
On Sun, 23 Jan 2022 13:01:06 -0600 Jeff LaBundy <jeff@labundy.com> 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@labundy.com> Trivial comment inline but I'm fine with this either way. Assuming it will go through mfd. Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > 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:
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; return IIO_VAL_INT; default:
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@labundy.com> --- drivers/iio/temperature/iqs620at-temp.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)