linux/drivers/staging/iio/Documentation/trigger.txt
<<
>>
Prefs
   1IIO trigger drivers.
   2
   3Many triggers are provided by hardware that will also be registered as
   4an IIO device.  Whilst this can create device specific complexities
   5such triggers are registered with the core in the same way as
   6stand-alone triggers.
   7
   8struct iio_trig *trig = iio_trigger_alloc("<trigger format string>", ...);
   9
  10allocates a trigger structure.  The key elements to then fill in within
  11a driver are:
  12
  13trig->owner
  14        Typically set to THIS_MODULE. Used to ensure correct
  15        ownership of core allocated resources.
  16
  17trig->set_trigger_state:
  18        Function that enables / disables the underlying source of the trigger.
  19
  20There is also a
  21trig->alloc_list which is useful for drivers that allocate multiple
  22triggers to keep track of what they have created.
  23
  24When these have been set call:
  25
  26iio_trigger_register(trig);
  27
  28to register the trigger with the core, making it available to trigger
  29consumers.
  30
  31Trigger Consumers
  32
  33Currently triggers are only used for the filling of software
  34buffers and as such any device supporting INDIO_RING_TRIGGERED has the
  35consumer interface automatically created.
  36