[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220123190106.80591-3-jeff@labundy.com>
Date: Sun, 23 Jan 2022 13:01:06 -0600
From: Jeff LaBundy <jeff@...undy.com>
To: lee.jones@...aro.org, jic23@...nel.org
Cc: linux-kernel@...r.kernel.org, linux-iio@...r.kernel.org,
Jeff LaBundy <jeff@...undy.com>
Subject: [PATCH 2/2] iio: temperature: iqs620at-temp: Add support for V3 silicon
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@...undy.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;
return IIO_VAL_INT;
default:
--
2.25.1
Powered by blists - more mailing lists