On Fri, 17 May 2024 10:10:49 +0200 Dimitri Fedrau <dima.fedrau@xxxxxxxxx> wrote: > The mapping from cold junction to ambient temperature is inaccurate. We > provide an index for hot and cold junction temperatures. > > Suggested-by: Jonathan Cameron <jic23@xxxxxxxxxx> > Signed-off-by: Dimitri Fedrau <dima.fedrau@xxxxxxxxx> Hi Dmitri, I'm not sure you replied to the question in previous review of what sysfs files exist for this device. Whilst I am at least a little open to changing the ABI, I'd like to fully understand what is currently presented and why iio_info is having trouble with it. I also want an ack from Andrew on this one given might break it existing usage. The current interface is perhaps less than ideal, but I don't think it is wrong as such. Whilst I wasn't particularly keen on the cold junction == ambient I'm not sure moving to just indexed is an improvement. Hence looking for input from Andrew. +CC Nuno as someone who is both active in IIO and has written thermocouple front end drivers in the past. Jonathan > --- > drivers/iio/temperature/mcp9600.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/iio/temperature/mcp9600.c b/drivers/iio/temperature/mcp9600.c > index 46845804292b..22451d1d9e1f 100644 > --- a/drivers/iio/temperature/mcp9600.c > +++ b/drivers/iio/temperature/mcp9600.c > @@ -14,6 +14,9 @@ > > #include <linux/iio/iio.h> > > +#define MCP9600_CHAN_HOT_JUNCTION 0 > +#define MCP9600_CHAN_COLD_JUNCTION 1 > + > /* MCP9600 registers */ > #define MCP9600_HOT_JUNCTION 0x0 > #define MCP9600_COLD_JUNCTION 0x2 > @@ -25,17 +28,19 @@ > static const struct iio_chan_spec mcp9600_channels[] = { > { > .type = IIO_TEMP, > + .channel = MCP9600_CHAN_HOT_JUNCTION, > .address = MCP9600_HOT_JUNCTION, > .info_mask_separate = > BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), > + .indexed = 1, > }, > { > .type = IIO_TEMP, > + .channel = MCP9600_CHAN_COLD_JUNCTION, > .address = MCP9600_COLD_JUNCTION, > - .channel2 = IIO_MOD_TEMP_AMBIENT, > - .modified = 1, > .info_mask_separate = > BIT(IIO_CHAN_INFO_RAW) | BIT(IIO_CHAN_INFO_SCALE), > + .indexed = 1, > }, > }; >