What is Iio in Linux?
The main purpose of the Industrial I/O subsystem (IIO) is to provide support for devices that in some sense perform either analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC) or both. The aim is to fill the gap between the somewhat similar hwmon and input subsystems.
What is an IIO device?
An IIO device usually corresponds to a single hardware sensor and it provides all the information needed by a driver handling a device. /dev/iio:deviceX , character device node interface used for buffered data transfer and for events information retrieval.
What does iiO mean in Linux device driver?
L/sys/bus/iio/iio: deviceX/: Represents sensors and their channels L/dev/iio: deviceX: Character device that represents the export of device events and data buffers IIO Framework Architecture and Layout The figure above shows how to organize IIO frameworks between the kernel and user space.
How is the IIO device represented in the kernel?
The IIO device is represented in the kernel as an example of the struct iio_dev structure, which is described by the struct iio_info structure. All important IIO structures are defined in include/linux/iio/iio.h.
When did the Linux iiO framework come out?
Jonathan Cameron and the Linux-IIO community have been developing it since 2009. Accelerometers, gyroscopes, current/voltage measurement chips, optical sensors, pressure sensors and so on belong to IIO series devices. IIO model is based on device and channel architecture: The device represents the chip itself.
How to unregister a device from the IIO subsystem?
iio_device_unregister () – unregister a device from the IIO subsystem An IIO device usually corresponds to a single hardware sensor and it provides all the information needed by a driver handling a device. Let’s first have a look at the functionality embedded in an IIO device then we will show how a device driver makes use of an IIO device.