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