#
# Industrial I/O subsytem configuration
#
menu "IIO staging drivers"
	depends on IIO

config IIO_ST_HWMON
	tristate "Hwmon driver that uses channels specified via iio maps"
	depends on HWMON
	help
	  This is a platform driver that in combination with a suitable
	  map allows IIO devices to provide  basic hwmon functionality
	  for those channels specified in the map.

if IIO_BUFFER

config IIO_SW_RING
       select IIO_TRIGGER
	tristate "Industrial I/O lock free software ring"
	help
	  Example software ring buffer implementation.  The design aim
	  of this particular realization was to minimize write locking
	  with the intention that some devices would be able to write
	  in interrupt context.

endif # IIO_BUFFER

source "drivers/staging/iio/accel/Kconfig"
source "drivers/staging/iio/adc/Kconfig"
source "drivers/staging/iio/addac/Kconfig"
source "drivers/staging/iio/cdc/Kconfig"
source "drivers/staging/iio/dac/Kconfig"
source "drivers/staging/iio/frequency/Kconfig"
source "drivers/staging/iio/gyro/Kconfig"
source "drivers/staging/iio/impedance-analyzer/Kconfig"
source "drivers/staging/iio/imu/Kconfig"
source "drivers/staging/iio/light/Kconfig"
source "drivers/staging/iio/magnetometer/Kconfig"
source "drivers/staging/iio/meter/Kconfig"
source "drivers/staging/iio/resolver/Kconfig"
source "drivers/staging/iio/trigger/Kconfig"

config IIO_DUMMY_EVGEN
       tristate

config IIO_SIMPLE_DUMMY
       tristate "An example driver with no hardware requirements"
       help
	 Driver intended mainly as documentation for how to write
	 a driver. May also be useful for testing userspace code
	 without hardware.

if IIO_SIMPLE_DUMMY

config IIO_SIMPLE_DUMMY_EVENTS
       boolean "Event generation support"
       select IIO_DUMMY_EVGEN
       help
         Add some dummy events to the simple dummy driver.

config IIO_SIMPLE_DUMMY_BUFFER
       boolean "Buffered capture support"
       depends on IIO_KFIFO_BUF
       help
         Add buffered data capture to the simple dummy driver.

endif # IIO_SIMPLE_DUMMY

endmenu
