Hi all, I'm currently writing a driver for the ADCs present in Atmel AT91 SoC using iio. I will of course submit it once it is ready. For now, I have the basic integration into iio, and I am beginning to integrate the hardware logic in it. However, this integration raises few questions, and I didn't found any answers to it. (The dummy driver is of great help btw) - While the registers are all the same on the AT91 platform for the ADCs, the number of channels available is not the same from one board to another. For now, I'm declaring the number of channels available through the board definition and platform_data, and I'm declaring the channels to iio using : idev->channels = kzalloc(sizeof(struct iio_chan_spec) * nb_chan, GFP_KERNEL); for(i = 0; i < nb_chan; i++) { struct iio_chan_spec *chan = idev->channels + i; chan->type = IIO_IN; chan->indexed = 1; chan->channel = i; } While it seems to work nicely, it generates a warning, as iio_dev's channels field is declared const. Is there a better solution ? - For now, I don't really want to rely on hardware triggers, but instead use only software triggers. I've taken a look to sysfs triggers, and while the module for sysfs trigger is compiled and loaded, and added to the platform_devices of the board, the file trigger_now is nowhere to be found. I guess that I need to declare triggers in my driver, but I have found no clue on how to do that. How can we achieve it ? Thanks, -- Maxime Ripard, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html