Merge tag 'v3.16' into next
[firefly-linux-kernel-4.4.55.git] / drivers / iio / Kconfig
1 #
2 # Industrial I/O subsystem configuration
3 #
4
5 menuconfig IIO
6         tristate "Industrial I/O support"
7         select ANON_INODES
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
13 if IIO
14
15 config IIO_BUFFER
16         bool "Enable buffer support within IIO"
17         help
18           Provide core support for various buffer based data
19           acquisition methods.
20
21 if IIO_BUFFER
22
23 config IIO_BUFFER_CB
24 boolean "IIO callback buffer used for push in-kernel interfaces"
25         help
26           Should be selected by any drivers that do in-kernel push
27           usage.  That is, those where the data is pushed to the consumer.
28
29 config IIO_KFIFO_BUF
30         select IIO_TRIGGER
31         tristate "Industrial I/O buffering based on kfifo"
32         help
33           A simple fifo based on kfifo.  Note that this currently provides
34           no buffer events so it is up to userspace to work out how
35           often to read from the buffer.
36
37 config IIO_TRIGGERED_BUFFER
38         tristate
39         select IIO_TRIGGER
40         select IIO_KFIFO_BUF
41         help
42           Provides helper functions for setting up triggered buffers.
43
44 endif # IIO_BUFFER
45
46 config IIO_TRIGGER
47         boolean "Enable triggered sampling support"
48         help
49           Provides IIO core support for triggers.  Currently these
50           are used to initialize capture of samples to push into
51           buffers.  The triggers are effectively a 'capture
52           data now' interrupt.
53
54 config IIO_CONSUMERS_PER_TRIGGER
55        int "Maximum number of consumers per trigger"
56        depends on IIO_TRIGGER
57        default "2"
58        help
59         This value controls the maximum number of consumers that a
60         given trigger may handle. Default is 2.
61
62 source "drivers/iio/accel/Kconfig"
63 source "drivers/iio/adc/Kconfig"
64 source "drivers/iio/amplifiers/Kconfig"
65 source "drivers/iio/common/Kconfig"
66 source "drivers/iio/dac/Kconfig"
67 source "drivers/iio/frequency/Kconfig"
68 source "drivers/iio/gyro/Kconfig"
69 source "drivers/iio/humidity/Kconfig"
70 source "drivers/iio/imu/Kconfig"
71 source "drivers/iio/light/Kconfig"
72 source "drivers/iio/magnetometer/Kconfig"
73 source "drivers/iio/orientation/Kconfig"
74 if IIO_TRIGGER
75    source "drivers/iio/trigger/Kconfig"
76 endif #IIO_TRIGGER
77 source "drivers/iio/pressure/Kconfig"
78 source "drivers/iio/proximity/Kconfig"
79 source "drivers/iio/temperature/Kconfig"
80
81 endif # IIO