Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Industrial I/O subsystem configuration
4#
5
6menuconfig IIO
7 tristate "Industrial I/O support"
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).
12
13if IIO
14
15config IIO_BUFFER
16 bool "Enable buffer support within IIO"
17 select DMA_SHARED_BUFFER
18 help
19 Provide core support for various buffer based data
20 acquisition methods.
21
22if IIO_BUFFER
23 source "drivers/iio/buffer/Kconfig"
24endif # IIO_BUFFER
25
26config IIO_CONFIGFS
27 tristate "Enable IIO configuration via configfs"
28 select CONFIGFS_FS
29 help
30 This allows configuring various IIO bits through configfs
31 (e.g. software triggers). For more info see
32 Documentation/iio/iio_configfs.rst.
33
34config IIO_GTS_HELPER
35 tristate
36
37config IIO_TRIGGER
38 bool "Enable triggered sampling support"
39 help
40 Provides IIO core support for triggers. Currently these
41 are used to initialize capture of samples to push into
42 buffers. The triggers are effectively a 'capture
43 data now' interrupt.
44
45config IIO_CONSUMERS_PER_TRIGGER
46 int "Maximum number of consumers per trigger"
47 depends on IIO_TRIGGER
48 default "2"
49 help
50 This value controls the maximum number of consumers that a
51 given trigger may handle. Default is 2.
52
53config IIO_SW_DEVICE
54 tristate "Enable software IIO device support"
55 select IIO_CONFIGFS
56 help
57 Provides IIO core support for software devices. A software
58 device can be created via configfs or directly by a driver
59 using the API provided.
60
61config IIO_SW_TRIGGER
62 tristate "Enable software triggers support"
63 select IIO_CONFIGFS
64 help
65 Provides IIO core support for software triggers. A software
66 trigger can be created via configfs or directly by a driver
67 using the API provided.
68
69config IIO_TRIGGERED_EVENT
70 tristate "Enable triggered events support"
71 select IIO_TRIGGER
72 help
73 Provides helper functions for setting up triggered events.
74
75config IIO_BACKEND
76 tristate
77 help
78 Framework to handle complex IIO aggregate devices. The typical
79 architecture that can make use of this framework is to have one
80 device as the frontend device which can be "linked" against one or
81 multiple backend devices. The framework then makes it easy to get
82 and control such backend devices.
83
84source "drivers/iio/accel/Kconfig"
85source "drivers/iio/adc/Kconfig"
86source "drivers/iio/addac/Kconfig"
87source "drivers/iio/afe/Kconfig"
88source "drivers/iio/amplifiers/Kconfig"
89source "drivers/iio/cdc/Kconfig"
90source "drivers/iio/chemical/Kconfig"
91source "drivers/iio/common/Kconfig"
92source "drivers/iio/dac/Kconfig"
93source "drivers/iio/dummy/Kconfig"
94source "drivers/iio/filter/Kconfig"
95source "drivers/iio/frequency/Kconfig"
96source "drivers/iio/gyro/Kconfig"
97source "drivers/iio/health/Kconfig"
98source "drivers/iio/humidity/Kconfig"
99source "drivers/iio/imu/Kconfig"
100source "drivers/iio/light/Kconfig"
101source "drivers/iio/magnetometer/Kconfig"
102source "drivers/iio/multiplexer/Kconfig"
103source "drivers/iio/orientation/Kconfig"
104source "drivers/iio/test/Kconfig"
105if IIO_TRIGGER
106 source "drivers/iio/trigger/Kconfig"
107endif #IIO_TRIGGER
108source "drivers/iio/position/Kconfig"
109source "drivers/iio/potentiometer/Kconfig"
110source "drivers/iio/potentiostat/Kconfig"
111source "drivers/iio/pressure/Kconfig"
112source "drivers/iio/proximity/Kconfig"
113source "drivers/iio/resolver/Kconfig"
114source "drivers/iio/temperature/Kconfig"
115
116endif # IIO