Re: Creating a driver for MAX31827 temperature switch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 3 Apr 2023 00:31:21 +0300
Daniel Matyas <daniel.matyas23@xxxxxxxxx> wrote:

> Dear Kernel community,
> 
> I am developing an IIO driver for a temperature switch, which communicates through I2C at Analog Devices Inc.
> 
> When implementing the event handling for the comparator mode of the device, I faced a problem: I don't know how to differentiate the underTemp event from the overTemp event. To understand better, I suggest you check out the device's data sheet for Address map (page 12), Configuration Register Definition (page 13) and OT/UT Status Bits and ALARM Pin Behavior (page 15) - https://www.analog.com/media/en/technical-documentation/data-sheets/MAX31827-MAX31829.pdf
> 
> I had the idea to make 2 channels with the exact same attributes, but with different indexes, so that I can store the overTemp related events on channel 0 and underTemp related events on channel 1. Even so, I don't really feel like this is the right solution. Can anyone give me some advice on this?

If it's just a question of over and under temp, I'd imagine these map to two
different directions of IIO event. You can have one channel with RISING and FALLING
events on it.

e.g.
https://elixir.bootlin.com/linux/v6.2.9/source/drivers/iio/adc/max1363.c#L451

The place we run into IIO limitations is if you have two events in the same direction
(warn and critical for example)  When that happens it is almost always a device
that fits better in hwmon anyway so we've never figured out how to enable this sort
of thing.  Doesn't seem to apply here though.
> 
> Also, I was suggested that I convert my driver from IIO to HWMON. Do you think that this is needed?

No obvious reason why this benefits from being in IIO so I'm agreeing with the others who have
replied that this looks more suited to hwmon.

Jonathan


> 
> Yours faithfully,
> Daniel Matyas




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux