This series came out of the mess that became apparant when looking at the autogenerated docs. As we pull the kernel-doc from buffer.h in when describing the API the drivers use to access it we were pulling in a lot of documentation that was irrelevant to that use case. Hence, this series does two things: 1) Splits the buffer.h header into two parts: * buffer.h which just contains the stuff that drivers using buffers need. * buffer_impl.h which just contains the stuff related to the implementation of buffers This makes struct iio_buffer opaque to the drivers (with a few extra access functions and a bit of code reorganization) 2) Takes the documentation of struct iio_buffer inline, allowing fairly sensible use of the private: label within docs rather than our local iio specific tagging of documentation. There is an oddity here in that I have deliberately 'broken' the kernel-doc for elements that are private in order to avoid lots of warnings about excess documentation. Along the way various drivers gained additional includes that should probably have been there in the first place. This was needed to cleanup the includes within the includes. Most drivers did it 'right' anyway so this wasn't too bad. I'll probably follow this up with similar cleanups elsewhere at some point. This was against 4.10-rc1 as that's where I'm working on docs, but should go in reasonably cleanly on iio/togreg or iio/testing. Jonathan Cameron (11): iio:buffer: Stop exporting iio_update_demux iio:buffer.h Reformat structure comments to be inline. iio:buffer: Introduced a function to assign the buffer specific attrs. iio:buffer: Stop exporting iio_scan_mask_query iio:buffers: Push some docs down into the .c file. iio:buffer:iio_push_to_buffers_with_timestamp fix kernel-doc. iio:kfifo_buf header include push down. iio:buffer.h include pushdown into buffer implementations iio:buffer: Push implementation of iio_device_attach_buffer into .c file iio:dummy: Stop enabling timestamp by default. iio:buffer.h - split into buffer.h and buffer_impl.h drivers/iio/accel/bmc150-accel-core.c | 3 +- drivers/iio/accel/ssp_accel_sensor.c | 1 + drivers/iio/adc/ina2xx-adc.c | 2 + drivers/iio/buffer/industrialio-buffer-cb.c | 3 +- drivers/iio/buffer/kfifo_buf.c | 2 + drivers/iio/common/ssp_sensors/ssp_iio.c | 1 + drivers/iio/dummy/iio_simple_dummy_buffer.c | 4 +- drivers/iio/gyro/ssp_gyro_sensor.c | 1 + drivers/iio/industrialio-buffer.c | 321 +++++++++++++++------------- drivers/iio/industrialio-core.c | 1 + drivers/staging/iio/meter/ade7758_ring.c | 1 + include/linux/iio/buffer.h | 160 +------------- include/linux/iio/buffer_impl.h | 162 ++++++++++++++ include/linux/iio/kfifo_buf.h | 5 +- 14 files changed, 360 insertions(+), 307 deletions(-) create mode 100644 include/linux/iio/buffer_impl.h -- 2.11.0 -- 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