1#
2# Industrial I/O subsytem configuration
3#
4
5menuconfig 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.
13if IIO
14
15config IIO_BUFFER
16	bool "Enable buffer support within IIO"
17	help
18	  Provide core support for various buffer based data
19	  acquisition methods.
20
21if IIO_BUFFER
22
23config IIO_SW_RING
24       select IIO_TRIGGER
25	tristate "Industrial I/O lock free software ring"
26	help
27	  Example software ring buffer implementation.  The design aim
28	  of this particular realization was to minimize write locking
29	  with the intention that some devices would be able to write
30	  in interrupt context.
31
32config IIO_KFIFO_BUF
33	select IIO_TRIGGER
34	tristate "Industrial I/O buffering based on kfifo"
35	help
36	  A simple fifo based on kfifo.  Use this if you want a fifo
37	  rather than a ring buffer. Note that this currently provides
38	  no buffer events so it is up to userspace to work out how
39	  often to read from the buffer.
40
41endif # IIO_BUFFER
42
43config IIO_TRIGGER
44	boolean "Enable triggered sampling support"
45	help
46	  Provides IIO core support for triggers.  Currently these
47	  are used to initialize capture of samples to push into
48	  ring buffers.  The triggers are effectively a 'capture
49	  data now' interrupt.
50
51config IIO_CONSUMERS_PER_TRIGGER
52       int "Maximum number of consumers per trigger"
53       depends on IIO_TRIGGER
54       default "2"
55       help
56	This value controls the maximum number of consumers that a
57	given trigger may handle. Default is 2.
58
59source "drivers/staging/iio/accel/Kconfig"
60source "drivers/staging/iio/adc/Kconfig"
61source "drivers/staging/iio/addac/Kconfig"
62source "drivers/staging/iio/cdc/Kconfig"
63source "drivers/staging/iio/dac/Kconfig"
64source "drivers/staging/iio/dds/Kconfig"
65source "drivers/staging/iio/gyro/Kconfig"
66source "drivers/staging/iio/impedance-analyzer/Kconfig"
67source "drivers/staging/iio/imu/Kconfig"
68source "drivers/staging/iio/light/Kconfig"
69source "drivers/staging/iio/magnetometer/Kconfig"
70source "drivers/staging/iio/meter/Kconfig"
71source "drivers/staging/iio/resolver/Kconfig"
72source "drivers/staging/iio/trigger/Kconfig"
73
74config IIO_DUMMY_EVGEN
75       tristate
76
77config IIO_SIMPLE_DUMMY
78       tristate "An example driver with no hardware requirements"
79       help
80	 Driver intended mainly as documentation for how to write
81	 a driver. May also be useful for testing userspace code
82	 without hardward.
83
84if IIO_SIMPLE_DUMMY
85
86config IIO_SIMPLE_DUMMY_EVENTS
87       boolean "Event generation support"
88       select IIO_DUMMY_EVGEN
89       help
90         Add some dummy events to the simple dummy driver.
91
92config IIO_SIMPLE_DUMMY_BUFFER
93       boolean "Buffered capture support"
94       depends on IIO_KFIFO_BUF
95       help
96         Add buffered data capture to the simple dummy driver.
97
98endif # IIO_SIMPLE_DUMMY
99
100endif # IIO
101