Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 select IIO_SIMPLE_DUMMY_EVGEN if IIO_SIMPLE_DUMMY_EVENTS
80 help
81 Driver intended mainly as documentation for how to write
82 a driver. May also be useful for testing userspace code
83 without hardward.
84
85if IIO_SIMPLE_DUMMY
86
87config IIO_SIMPLE_DUMMY_EVENTS
88 boolean "Event generation support"
89 select IIO_DUMMY_EVGEN
90 help
91 Add some dummy events to the simple dummy driver.
92
93config IIO_SIMPLE_DUMMY_BUFFER
94 boolean "Buffered capture support"
95 depends on IIO_KFIFO_BUF
96 help
97 Add buffered data capture to the simple dummy driver.
98
99endif # IIO_SIMPLE_DUMMY
100
101endif # IIO