Browse Source

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>
Jonathan Cameron 13 years ago
parent
commit
a980e04609

+ 2 - 0
drivers/Kconfig

@@ -140,4 +140,6 @@ source "drivers/virt/Kconfig"
 
 
 source "drivers/devfreq/Kconfig"
 source "drivers/devfreq/Kconfig"
 
 
+source "drivers/iio/Kconfig"
+
 endmenu
 endmenu

+ 1 - 0
drivers/Makefile

@@ -134,3 +134,4 @@ obj-$(CONFIG_VIRT_DRIVERS)	+= virt/
 obj-$(CONFIG_HYPERV)		+= hv/
 obj-$(CONFIG_HYPERV)		+= hv/
 
 
 obj-$(CONFIG_PM_DEVFREQ)	+= devfreq/
 obj-$(CONFIG_PM_DEVFREQ)	+= devfreq/
+obj-$(CONFIG_IIO)		+= iio/

+ 51 - 0
drivers/iio/Kconfig

@@ -0,0 +1,51 @@
+#
+# Industrial I/O subsytem configuration
+#
+
+menuconfig IIO
+	tristate "Industrial I/O support"
+	depends on GENERIC_HARDIRQS
+	help
+	  The industrial I/O subsystem provides a unified framework for
+	  drivers for many different types of embedded sensors using a
+	  number of different physical interfaces (i2c, spi, etc). See
+	  Documentation/iio for more information.
+
+if IIO
+
+config IIO_BUFFER
+	bool "Enable buffer support within IIO"
+	help
+	  Provide core support for various buffer based data
+	  acquisition methods.
+
+if IIO_BUFFER
+
+config IIO_KFIFO_BUF
+	select IIO_TRIGGER
+	tristate "Industrial I/O buffering based on kfifo"
+	help
+	  A simple fifo based on kfifo.  Use this if you want a fifo
+	  rather than a ring buffer. Note that this currently provides
+	  no buffer events so it is up to userspace to work out how
+	  often to read from the buffer.
+
+endif # IIO_BUFFER
+
+config IIO_TRIGGER
+	boolean "Enable triggered sampling support"
+	help
+	  Provides IIO core support for triggers.  Currently these
+	  are used to initialize capture of samples to push into
+	  ring buffers.  The triggers are effectively a 'capture
+	  data now' interrupt.
+
+config IIO_CONSUMERS_PER_TRIGGER
+       int "Maximum number of consumers per trigger"
+       depends on IIO_TRIGGER
+       default "2"
+       help
+	This value controls the maximum number of consumers that a
+	given trigger may handle. Default is 2.
+
+endif # IIO

+ 10 - 0
drivers/iio/Makefile

@@ -0,0 +1,10 @@
+#
+# Makefile for the industrial I/O core.
+#
+
+obj-$(CONFIG_IIO) += industrialio.o
+industrialio-y := industrialio-core.o industrialio-event.o inkern.o
+industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o
+industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o
+
+obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o

+ 0 - 0
drivers/staging/iio/iio_core.h → drivers/iio/iio_core.h


+ 0 - 0
drivers/staging/iio/iio_core_trigger.h → drivers/iio/iio_core_trigger.h


+ 0 - 0
drivers/staging/iio/industrialio-buffer.c → drivers/iio/industrialio-buffer.c


+ 0 - 0
drivers/staging/iio/industrialio-core.c → drivers/iio/industrialio-core.c


+ 0 - 0
drivers/staging/iio/industrialio-event.c → drivers/iio/industrialio-event.c


+ 0 - 0
drivers/staging/iio/industrialio-trigger.c → drivers/iio/industrialio-trigger.c


+ 0 - 0
drivers/staging/iio/inkern.c → drivers/iio/inkern.c


+ 0 - 0
drivers/staging/iio/kfifo_buf.c → drivers/iio/kfifo_buf.c


+ 3 - 41
drivers/staging/iio/Kconfig

@@ -1,16 +1,9 @@
 #
 #
 # Industrial I/O subsytem configuration
 # Industrial I/O subsytem configuration
 #
 #
+menu "IIO staging drivers"
+	depends on IIO
 
 
-menuconfig IIO
-	tristate "Industrial I/O support"
-	depends on GENERIC_HARDIRQS
-	help
-	  The industrial I/O subsystem provides a unified framework for
-	  drivers for many different types of embedded sensors using a
-	  number of different physical interfaces (i2c, spi, etc). See
-	  drivers/staging/iio/Documentation for more information.
-if IIO
 config IIO_ST_HWMON
 config IIO_ST_HWMON
 	tristate "Hwmon driver that uses channels specified via iio maps"
 	tristate "Hwmon driver that uses channels specified via iio maps"
 	depends on HWMON
 	depends on HWMON
@@ -19,12 +12,6 @@ config IIO_ST_HWMON
 	  map allows IIO devices to provide  basic hwmon functionality
 	  map allows IIO devices to provide  basic hwmon functionality
 	  for those channels specified in the map.
 	  for those channels specified in the map.
 
 
-config IIO_BUFFER
-	bool "Enable buffer support within IIO"
-	help
-	  Provide core support for various buffer based data
-	  acquisition methods.
-
 if IIO_BUFFER
 if IIO_BUFFER
 
 
 config IIO_SW_RING
 config IIO_SW_RING
@@ -36,33 +23,8 @@ config IIO_SW_RING
 	  with the intention that some devices would be able to write
 	  with the intention that some devices would be able to write
 	  in interrupt context.
 	  in interrupt context.
 
 
-config IIO_KFIFO_BUF
-	select IIO_TRIGGER
-	tristate "Industrial I/O buffering based on kfifo"
-	help
-	  A simple fifo based on kfifo.  Use this if you want a fifo
-	  rather than a ring buffer. Note that this currently provides
-	  no buffer events so it is up to userspace to work out how
-	  often to read from the buffer.
-
 endif # IIO_BUFFER
 endif # IIO_BUFFER
 
 
-config IIO_TRIGGER
-	boolean "Enable triggered sampling support"
-	help
-	  Provides IIO core support for triggers.  Currently these
-	  are used to initialize capture of samples to push into
-	  ring buffers.  The triggers are effectively a 'capture
-	  data now' interrupt.
-
-config IIO_CONSUMERS_PER_TRIGGER
-       int "Maximum number of consumers per trigger"
-       depends on IIO_TRIGGER
-       default "2"
-       help
-	This value controls the maximum number of consumers that a
-	given trigger may handle. Default is 2.
-
 source "drivers/staging/iio/accel/Kconfig"
 source "drivers/staging/iio/accel/Kconfig"
 source "drivers/staging/iio/adc/Kconfig"
 source "drivers/staging/iio/adc/Kconfig"
 source "drivers/staging/iio/addac/Kconfig"
 source "drivers/staging/iio/addac/Kconfig"
@@ -104,4 +66,4 @@ config IIO_SIMPLE_DUMMY_BUFFER
 
 
 endif # IIO_SIMPLE_DUMMY
 endif # IIO_SIMPLE_DUMMY
 
 
-endif # IIO
+endmenu

+ 0 - 6
drivers/staging/iio/Makefile

@@ -2,13 +2,7 @@
 # Makefile for the industrial I/O core.
 # Makefile for the industrial I/O core.
 #
 #
 
 
-obj-$(CONFIG_IIO) += industrialio.o
-industrialio-y := industrialio-core.o industrialio-event.o inkern.o
-industrialio-$(CONFIG_IIO_BUFFER) += industrialio-buffer.o
-industrialio-$(CONFIG_IIO_TRIGGER) += industrialio-trigger.o
-
 obj-$(CONFIG_IIO_SW_RING) += ring_sw.o
 obj-$(CONFIG_IIO_SW_RING) += ring_sw.o
-obj-$(CONFIG_IIO_KFIFO_BUF) += kfifo_buf.o
 
 
 obj-$(CONFIG_IIO_SIMPLE_DUMMY) += iio_dummy.o
 obj-$(CONFIG_IIO_SIMPLE_DUMMY) += iio_dummy.o
 iio_dummy-y := iio_simple_dummy.o
 iio_dummy-y := iio_simple_dummy.o