|From:||Jonathan Cameron <firstname.lastname@example.org>|
|Subject:||[RFC V2 PATCH 0/6] IIO in kernel interfaces|
|Date:||Wed, 19 Oct 2011 15:47:02 +0100|
|Cc:||email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, Jonathan Cameron <firstname.lastname@example.org>|
Dear All, Since V1: Uses the bus's list of devices instead of having a local one. (thanks to Lars-Peter). Added are interfaces for getting all channels mapped to a particular device. Hwmon driver is now vaguely complete - hence cc'd hwmon. If people are happy I'd expect this to ultimately end up in drivers/hmwon. Right now it is acting as a test driver for these interfaces. Thanks and all comments welcome. I've added hwmon to the cc list this time round. V1 message: There are obviously some rough corners in here that will need cleaning up. For now I've just put this out there to see if anyone radically disagrees on the direction. It sits on top the recent rfc to move first bit of IIO out of staging with a few buglets fixed. Best bet if anyone wants to test is to pull from: https://github.com/jic23/linux-iio/tree/outofstaging which now also includes these patches. Intereresting patches are 3 and 4. 5 gives a trivial example of a driver using this (hwmon driver that only takes first matching channel and sticks it out as in1_input - breaks all sorts elements of the hwmon interface spec.) For now I've gone with Mark Brown's suggestion of a datasheet_name for finding the channels on the device. Patch 2 hacks this name into the max1363 driver. I'll probably put a version matching on channel number and type in at a later date. Here we just have a pull interface. Push is considerably harder to do and needs quite a lot more of the IIO infrastructure to be in place (triggers / buffers etc). Events obviously require IIO event handling to be there. Hence all of that will have to wait until those elements have in of themselves been posted for review. It is pretty clear to me that hwmon interface for starters needs the ability to say - 'give me all mappings that correspond to me'. This is what I intend to add next followed by some utility functions to make it easy to match the hwmon interface. At that point I'll propose the hwmon driver goes into drivers/hwmon (subject to the underlying iio stuff merging). Fun fun fun. Thanks to Linus an Mark for their input on this. Hope this is roughly what you guys were looking for. Also on my list to do is to check this very thoroughly for any possible race conditions around the removal of the underlying device. Jonathan Jonathan Cameron (6): IIO: core: add datasheet_name to chan_spec IIO:ADC:max1363 add datasheet_name entries. IIO:CORE: put defs needed by inkern and userspace interfaces into chan_spec.h IIO:CORE add in kernel interface mapping and getting IIO channels. IIO:hwmon interface client driver. stargate2: example of map configuration for iio to hwmon example. arch/arm/mach-pxa/stargate2.c | 23 ++++ drivers/Makefile | 2 +- drivers/iio/Kconfig | 8 + drivers/iio/Makefile | 2 + drivers/iio/adc/max1363_core.c | 4 +- drivers/iio/iio.c | 279 +++++++++++++++++++++++++++++++++++++++- drivers/iio/iio_hwmon.c | 214 ++++++++++++++++++++++++++++++ drivers/iio/inkern.c | 21 +++ include/linux/iio/chan_spec.h | 46 +++++++ include/linux/iio/iio.h | 41 +----- include/linux/iio/inkern.h | 87 +++++++++++++ 11 files changed, 687 insertions(+), 40 deletions(-) create mode 100644 drivers/iio/iio_hwmon.c create mode 100644 drivers/iio/inkern.c create mode 100644 include/linux/iio/chan_spec.h create mode 100644 include/linux/iio/inkern.h -- 1.7.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to email@example.com More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Copyright © 2011, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds