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;
+       }
+}
+

Reply via email to