On 4/6/21 8:28 PM, Puranjay Mohan wrote:
+
+static int tmp117_write_raw(struct iio_dev *indio_dev,
+ struct iio_chan_spec const *channel, int val,
+ int val2, long mask)
+{
+ struct tmp117_data *data = iio_priv(indio_dev);
+ s16 off;
+
+ switch (mask) {
+ case IIO_CHAN_INFO_CALIBBIAS:
+ off = clamp(val, -32768, 32767);
+ if (off == data->calibbias)
data->calibbias is only set in probe() and always 0. I'm not sure we
need to cache the value. Reading it back from the device seems fine.
+ return 0;
+ return i2c_smbus_write_word_swapped(data->client,
+ TMP117_REG_TEMP_OFFSET, off);
+
+ default:
+ return -EINVAL;
+ }
+}
+