Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

IIO: Move the core files to drivers/iio

Take the core support + the kfifo buffer implentation out of
staging. Whilst we are far from done in improving this subsystem
it is now at a stage where the userspae interfaces (provided by
the core) can be considered stable.

Drivers will follow over a longer time scale.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jonathan Cameron and committed by
Greg Kroah-Hartman
a980e046 06458e27

+67 -47
+2
drivers/Kconfig
··· 140 140 141 141 source "drivers/devfreq/Kconfig" 142 142 143 + source "drivers/iio/Kconfig" 144 + 143 145 endmenu
+1
drivers/Makefile
··· 134 134 obj-$(CONFIG_HYPERV) += hv/ 135 135 136 136 obj-$(CONFIG_PM_DEVFREQ) += devfreq/ 137 + obj-$(CONFIG_IIO) += iio/
+51
drivers/iio/Kconfig
··· 1 + # 2 + # Industrial I/O subsytem configuration 3 + # 4 + 5 + menuconfig IIO 6 + tristate "Industrial I/O support" 7 + depends on GENERIC_HARDIRQS 8 + help 9 + The industrial I/O subsystem provides a unified framework for 10 + drivers for many different types of embedded sensors using a 11 + number of different physical interfaces (i2c, spi, etc). See 12 + Documentation/iio for more information. 13 + 14 + if IIO 15 + 16 + config IIO_BUFFER 17 + bool "Enable buffer support within IIO" 18 + help 19 + Provide core support for various buffer based data 20 + acquisition methods. 21 + 22 + if IIO_BUFFER 23 + 24 + config IIO_KFIFO_BUF 25 + select IIO_TRIGGER 26 + tristate "Industrial I/O buffering based on kfifo" 27 + help 28 + A simple fifo based on kfifo. Use this if you want a fifo 29 + rather than a ring buffer. Note that this currently provides 30 + no buffer events so it is up to userspace to work out how 31 + often to read from the buffer. 32 + 33 + endif # IIO_BUFFER 34 + 35 + config IIO_TRIGGER 36 + boolean "Enable triggered sampling support" 37 + help 38 + Provides IIO core support for triggers. Currently these 39 + are used to initialize capture of samples to push into 40 + ring buffers. The triggers are effectively a 'capture 41 + data now' interrupt. 42 + 43 + config IIO_CONSUMERS_PER_TRIGGER 44 + int "Maximum number of consumers per trigger" 45 + depends on IIO_TRIGGER 46 + default "2" 47 + help 48 + This value controls the maximum number of consumers that a 49 + given trigger may handle. Default is 2. 50 + 51 + endif # IIO
+10
drivers/iio/Makefile
··· 1 + # 2 + # Makefile for the industrial I/O core. 3 + # 4 + 5 + obj-$(CONFIG_IIO) += industrialio.o 6 + industrialio-y := industrialio-core.o industrialio-event.o inkern.o 7 + industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o 8 + industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o 9 + 10 + obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o
+3 -41
drivers/staging/iio/Kconfig
··· 1 1 # 2 2 # Industrial I/O subsytem configuration 3 3 # 4 + menu "IIO staging drivers" 5 + depends on IIO 4 6 5 - menuconfig IIO 6 - tristate "Industrial I/O support" 7 - depends on GENERIC_HARDIRQS 8 - help 9 - The industrial I/O subsystem provides a unified framework for 10 - drivers for many different types of embedded sensors using a 11 - number of different physical interfaces (i2c, spi, etc). See 12 - drivers/staging/iio/Documentation for more information. 13 - if IIO 14 7 config IIO_ST_HWMON 15 8 tristate "Hwmon driver that uses channels specified via iio maps" 16 9 depends on HWMON ··· 11 18 This is a platform driver that in combination with a suitable 12 19 map allows IIO devices to provide basic hwmon functionality 13 20 for those channels specified in the map. 14 - 15 - config IIO_BUFFER 16 - bool "Enable buffer support within IIO" 17 - help 18 - Provide core support for various buffer based data 19 - acquisition methods. 20 21 21 22 if IIO_BUFFER 22 23 ··· 23 36 with the intention that some devices would be able to write 24 37 in interrupt context. 25 38 26 - config IIO_KFIFO_BUF 27 - select IIO_TRIGGER 28 - tristate "Industrial I/O buffering based on kfifo" 29 - help 30 - A simple fifo based on kfifo. Use this if you want a fifo 31 - rather than a ring buffer. Note that this currently provides 32 - no buffer events so it is up to userspace to work out how 33 - often to read from the buffer. 34 - 35 39 endif # IIO_BUFFER 36 - 37 - config IIO_TRIGGER 38 - boolean "Enable triggered sampling support" 39 - help 40 - Provides IIO core support for triggers. Currently these 41 - are used to initialize capture of samples to push into 42 - ring buffers. The triggers are effectively a 'capture 43 - data now' interrupt. 44 - 45 - config IIO_CONSUMERS_PER_TRIGGER 46 - int "Maximum number of consumers per trigger" 47 - depends on IIO_TRIGGER 48 - default "2" 49 - help 50 - This value controls the maximum number of consumers that a 51 - given trigger may handle. Default is 2. 52 40 53 41 source "drivers/staging/iio/accel/Kconfig" 54 42 source "drivers/staging/iio/adc/Kconfig" ··· 66 104 67 105 endif # IIO_SIMPLE_DUMMY 68 106 69 - endif # IIO 107 + endmenu
-6
drivers/staging/iio/Makefile
··· 2 2 # Makefile for the industrial I/O core. 3 3 # 4 4 5 - obj-$(CONFIG_IIO) += industrialio.o 6 - industrialio-y := industrialio-core.o industrialio-event.o inkern.o 7 - industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o 8 - industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o 9 - 10 5 obj-$(CONFIG_IIO_SW_RING) += ring_sw.o 11 - obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o 12 6 13 7 obj-$(CONFIG_IIO_SIMPLE_DUMMY) += iio_dummy.o 14 8 iio_dummy-y := iio_simple_dummy.o
drivers/staging/iio/iio_core.h drivers/iio/iio_core.h
drivers/staging/iio/iio_core_trigger.h drivers/iio/iio_core_trigger.h
drivers/staging/iio/industrialio-buffer.c drivers/iio/industrialio-buffer.c
drivers/staging/iio/industrialio-core.c drivers/iio/industrialio-core.c
drivers/staging/iio/industrialio-event.c drivers/iio/industrialio-event.c
drivers/staging/iio/industrialio-trigger.c drivers/iio/industrialio-trigger.c
drivers/staging/iio/inkern.c drivers/iio/inkern.c
drivers/staging/iio/kfifo_buf.c drivers/iio/kfifo_buf.c