Userspace access to IIO

Example, ST Microelectronics LIS3L02DQ accelerometer.

Typical sysfs entries (pruned for clarity)

/sys/class/iio
  device0 - iio_dev related elements
    name - driver specific identifier (here lis3l02dq)
    accel_x - polled (or from ring) raw readout of acceleration
    accel_x_gain - hardware gain (calibration)
    accel_x_offset - hardware offset (calibration)
    available_sampling_frequency

    available_sampling_frequency - what options are there
    sampling_frequency - control of internal sampling frequency
    scan_elements - controls which channels will be stored in the ring buffer
      scan_en_accel_x
      scan_en_accel_y
      scan_en_timestamp
    device - link to underlying hardware device
    uevent - udev related element

    thresh - unified threshold used for detection on all axis
    event_line0_sources - which events are enabled
      accel_x_high - enable x axis high threshold event
      accel_x_low - enable x axis low threshold event

    event_line0 - event interface
      dev - major:minor for the chrdev (note major allocation dynamic)
    trigger - consumer attachement
      current_trigger - name based association with a trigger
    ring_buffer0 - ring buffer interface
      bps - byptes per sample (read only), dependant on scan element selection
      length - (rw) specificy length fo software ring buffer (typically ro in hw case)
      ring_enable - turn the ring on. If its the first to be enabled attached to this
                    trigger will also enable the trigger.
      ring_access0
        dev - major:minor for ring buffer access chrdev
      ring_event_line0
        dev - major:minor for ring buffer event chrdev

  trigger0 - data ready trigger elements
    name - unqiue name of trigger

Udev will create the following entries under /dev by default:

ring_access0 - ring access chrdev
ring_event0 - ring event chrdev
event_line0 - general event chrdev.

For the example code we assume the following rules have been used to ensure
unique and consistent naming of these for the lis3l02dq in question:

KERNEL="ring_event_line*", ID="spi1.0", DRIVER="lis3l02dq", NAME="iio/lis3l02dq_ring_event"
KERNEL="event_line*", ID="spi1.0", DRIVER="lis3l02dq", NAME="iio/lis3l02dq_event"
KERNEL="ring_access*", ID="spi1.0", DRIVER="lis3l02dq", NAME="iio/lis3l02dq_ring_access"

The files, lis3l02dqbuffersimple.c and iio_utils.h in this directory provide an example
of how to use the ring buffer and event interfaces.
