Posted Jun 3, 2010 10:17 UTC (Thu) by jic23 (subscriber, #56049)
Parent article: Ambient light sensors
Thanks for picking up on this discussion.
ALS existed because we (those who actually wrote the drivers for these things) felt that they were so simple they didn't justify a heavyweight system, in a similar fashion to hwmon. It was really just documentation and a class (to give a common location in sysfs).
After Linus' response to my pull request, I decided to stop spending time on trying to deal with the simple cases and put it instead in to IIO (currently in staging). That is very much intended to be the general subsystem that others wanted from ALS. There are plans to add an input bridge from IIO buffers. Admittedly it isn't overwhelmingly high on our priority list as most IIO devs are primarily interested in high speed devices where doing this would be silly (anyone for a 1MHz+ 16 channel mouse?) Such a bridge has theoretical support from the input maintainer and should to a certain degree answer Linus' issues with ALS.
We are quite happy to take ambient light sensors (and indeed, tsl2563 is already in there.) Pulling the others into IIO was discussed and IIRC the developers of all of those in the kernel at the time were happy for us to do that (tsl2550 and isl2009). That we haven't is simply a case of priorities and the interesting question of whether pulling drivers out of mainline into staging is a good idea even if it does clean up these sort of interface questions.
Note we have a nice strictly defined abi to be found in drivers/staging/iio/Documentation/sysfs-class-iio. Recent abi changes to bring the tsl2563 in line with the rest of the subsystem can be found on the linux-iio archive at marc.info.