Questions about IIO drivers

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

 



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


[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux