treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / driver-api / iio / intro.rst
blob3653fbd57069e005c2f9cbaaeb9a05ddc476540e
1 .. include:: <isonum.txt>
3 ============
4 Introduction
5 ============
7 The main purpose of the Industrial I/O subsystem (IIO) is to provide support
8 for devices that in some sense perform either
9 analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC)
10 or both. The aim is to fill the gap between the somewhat similar hwmon and
11 :doc:`input <../input>` subsystems. Hwmon is directed at low sample rate
12 sensors used to monitor and control the system itself, like fan speed control
13 or temperature measurement. :doc:`Input <../input>` is, as its name suggests,
14 focused on human interaction input devices (keyboard, mouse, touchscreen).
15 In some cases there is considerable overlap between these and IIO.
17 Devices that fall into this category include:
19 * analog to digital converters (ADCs)
20 * accelerometers
21 * capacitance to digital converters (CDCs)
22 * digital to analog converters (DACs)
23 * gyroscopes
24 * inertial measurement units (IMUs)
25 * color and light sensors
26 * magnetometers
27 * pressure sensors
28 * proximity sensors
29 * temperature sensors
31 Usually these sensors are connected via :doc:`SPI <../spi>` or
32 :doc:`I2C <../i2c>`. A common use case of the sensors devices is to have
33 combined functionality (e.g. light plus proximity sensor).