On Sun, 13 Dec 2020 08:08:26 -0800 Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > On 12/13/20 7:12 AM, Jonathan Cameron wrote: > > On Wed, 9 Dec 2020 11:48:40 -0800 > > Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > > >> On 12/9/20 12:11 AM, Alexandru Ardelean wrote: > >>> On Tue, Dec 8, 2020 at 6:10 PM Puranjay Mohan <puranjay12@xxxxxxxxx> wrote: > >>>> > >>>> I have this TI's TMP117 sensor with me and I was thinking about writing an > >>>> IIO driver for it as a hobby project. Is the IIO subsystem the correct > >>>> place for this driver? if yes, can someone help me get started with this, > >>>> I haven't written an IIO driver before. I have this sensor and also a > >>>> raspberry pi with me for testing. > >>> > >>> This could also fit into drivers/hwmon. > >>> Looking at the HWMON subsystem there are more TMP drivers there > >>> (TMP102/103/108/401/513). > >>> The first 3 seem a bit more similar to TMP117 (in terms of register map). > >>> > >> > >> It would probably be better suited for hwmon (it has limit registers, > >> suggesting a common use as hardware monitoring device). > > It is a curious part. I suspect TI based their design for a medical grade > > digital thermometer chip on an existing hwmon part. > > > > The limit registers are very simple so could be supported by IIO. > > This sits somewhere in the middle of high end thermocouple chips which > > tend to be in IIO and typically lower accuracy / range hwmon parts. > > > > It's in the fuzzy borderline region so I doubt anyone would raise strong > > objections to which subsystem it was in. Guenter has fallen on the > > hwmon side of things and I'm fine with that. > > > > On the other side, it turns out that there is already tmp107 support > in iio, and tmp107 is pretty much the spi equivalent of the same chip. > So it really depends on the use case. If the user wants to use the iio > subsystem, I am fine with it. We just need to remind people that this > implies no or only limited hwmon support. > > [ I really need to spend the time to write a hwmon->iio bridge. > The iio->hwmon bridge is a bit limited - I have not been able to > figure out how to support limit registers (or event values) > and events, and I don't think it is possible. ] So far IIO doesn't have an in kernel consumer interface for events. It shouldn't be that hard to add one though and it has been on the todo list for a very long time. We've discussed it a few times and concluded that there are some short cuts such as sending all events to all consumers and relying on the receiver to do any necessary filtering. It's a bit messy but it makes for much simpler core code. Maybe I'll get bored enough over xmas to look at it... Jonathan > > Guenter > > > Jonathan > > > >> > >>> Let's see what others have to add. > >>> But, all-in-all whatever driver you end up writing, the easiest method > >>> is to copy an existing similar driver and extend it. > >>> Sometimes, a part can be added to an existing driver. > >>> At a quick scan through existing drivers, it doesn't look like TMP117 > >>> is similar to existing drivers, so it may require a new driver > >>> altogether. > >> > >> I don't see an immediate match either, but the tmp102 hwmon driver > >> might be a good start. > >> > >> Guenter > >> > >>> I may have missed something though. > >>> > >>> Thanks > >>> Alex > >>> > >>>> > >>>> -- > >>>> Thanks and Regards > >>>> > >>>> Yours Truly, > >>>> > >>>> Puranjay Mohan > >> > > >