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