No one shouted so off it goes. I did miss the imx driver previously so I've just made the trivial change from iio_push_to_buffer -> iio_push_to_buffers for that one. Picked that up in a final sanity check pass of the code. Also a trivial merge with the ad7887 move out of staging. Hopefully this won't cause too much trouble *fingers crossed* Jonathan On 11/02/2012 11:06 AM, Jonathan Cameron wrote: > I've let this sit for nearly long enough I think. If no one shouts > in the next few days (or asks for more time to take a look). I'll add > patches 1-3 of this the togreg branch of iio.git and send a pull request > for it to Greg. The input client driver can wait for a bit. > > I'm really really keen to get this lot in place in time to have a few > weeks of testing in linux-next before the merge window opens. > > (it's over a year old now as Peter noticed, and I'm getting serriously > bored of it ;) > >> Same as V5 but with the changes from Lars-Peter's review to close some >> memory leaks and catch up with some changes in the subsystem that had >> passed this by. It should also now be possible to disable the >> timestamp! (oops). >> >> Thanks to Lars for his work reviewing my patches and also for his >> excellent work reviewing in general! Without him the whole subsystem >> would be moving a lot slower. >> >> >> Again, more testing would be good (thanks for those who already >> have). >> >> In quick summary this is needed to do interrupt driven in kernel >> clients as it adds the option to push to multiple 'buffer' interfaces. >> Note that some of these may not actually do any buffering but rather >> push directly into another subsytem (the example is input). >> >> I would like to merge at least the first 3 patches early in this cycle. >> What I need is some testing across a reasonable range of devices. Review >> is welcome of course as well! >> >> The complexity in this set is entirely in the changes to industrialio-buffer.c >> concerning how we go about adding and removing client buffers. To do this >> we need to work out which scan mask is appropriate given the requests of >> all the given buffers (and whether we can satisfy it). I've been testing >> with the max1363 driver which probably has the most complex set of available >> scan masks. Thus when a new buffer is added or one is removed the whole >> buffer set are torn down and built up again. This may be undesirable for >> some applications but should occur only rarely. >> >> The example driver is for bridging to the input subsystem and still needs >> some work, but that can occur later in this merge cycle whereas the changes >> to the core really want to go in asap. >> >> Changes since v3 >> >> Rebased and added other drivers that have occured whilst this patch series >> has been languishing in my local tree. >> >> Changes since V2. >> >> Improved handling of error conditions in the buffer insertion and >> removal code. (suggested by Lars-Peter). I want to take another >> look at these, but didn't want to keep people from testing this >> in the meantime. >> >> Also a number of minor fixes that came up during testing. >> >> Thanks, >> >> Jonathan >> >> >> Jonathan Cameron (4): >> staging:iio: Add support for multiple buffers >> staging:iio:in kernel users: Add a data field for channel specific >> info. >> staging:iio: add a callback buffer for in kernel push interface >> staging:iio: Proof of concept input driver. >> >> drivers/iio/Kconfig | 6 + >> drivers/iio/Makefile | 1 + >> drivers/iio/accel/hid-sensor-accel-3d.c | 15 +- >> drivers/iio/adc/ad7266.c | 3 +- >> drivers/iio/adc/ad7476.c | 2 +- >> drivers/iio/adc/ad_sigma_delta.c | 2 +- >> drivers/iio/adc/at91_adc.c | 3 +- >> drivers/iio/buffer_cb.c | 113 +++++++ >> drivers/iio/gyro/hid-sensor-gyro-3d.c | 15 +- >> drivers/iio/industrialio-buffer.c | 380 ++++++++++++++++-------- >> drivers/iio/industrialio-core.c | 1 + >> drivers/iio/inkern.c | 1 + >> drivers/iio/light/adjd_s311.c | 3 +- >> drivers/iio/light/hid-sensor-als.c | 15 +- >> drivers/iio/magnetometer/hid-sensor-magn-3d.c | 15 +- >> drivers/staging/iio/Kconfig | 11 + >> drivers/staging/iio/Makefile | 1 + >> drivers/staging/iio/accel/adis16201_ring.c | 2 +- >> drivers/staging/iio/accel/adis16203_ring.c | 2 +- >> drivers/staging/iio/accel/adis16204_ring.c | 2 +- >> drivers/staging/iio/accel/adis16209_ring.c | 2 +- >> drivers/staging/iio/accel/adis16240_ring.c | 2 +- >> drivers/staging/iio/accel/lis3l02dq_ring.c | 2 +- >> drivers/staging/iio/adc/ad7298_ring.c | 2 +- >> drivers/staging/iio/adc/ad7606_ring.c | 2 +- >> drivers/staging/iio/adc/ad7887_ring.c | 2 +- >> drivers/staging/iio/adc/ad799x_ring.c | 2 +- >> drivers/staging/iio/adc/max1363_ring.c | 2 +- >> drivers/staging/iio/gyro/adis16260_ring.c | 2 +- >> drivers/staging/iio/iio_input.c | 225 ++++++++++++++ >> drivers/staging/iio/iio_input.h | 23 ++ >> drivers/staging/iio/iio_simple_dummy_buffer.c | 5 +- >> drivers/staging/iio/impedance-analyzer/ad5933.c | 4 +- >> drivers/staging/iio/imu/adis16400_ring.c | 5 +- >> drivers/staging/iio/meter/ade7758_ring.c | 2 +- >> include/linux/iio/buffer.h | 24 +- >> include/linux/iio/consumer.h | 48 +++ >> include/linux/iio/iio.h | 2 + >> include/linux/iio/machine.h | 2 + >> 39 files changed, 743 insertions(+), 208 deletions(-) >> create mode 100644 drivers/iio/buffer_cb.c >> create mode 100644 drivers/staging/iio/iio_input.c >> create mode 100644 drivers/staging/iio/iio_input.h >> -- 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