iio_dev structure

This structure represents the IIO device, describing the device and the driver. It tells us about:

  • How many channels are available on the device
  • What modes can the device operate in: one-shot, triggered buffer
  • What hooks are available for this driver
struct iio_dev { 
   [...] 
   int modes; 
   int currentmode; 
   struct device dev; 
 
   struct iio_buffer *buffer; 
   int scan_bytes; 
 
   const unsigned long *available_scan_masks; 
   const unsigned long *active_scan_mask; 
   bool scan_timestamp; 
   struct iio_trigger *trig; 
   struct iio_poll_func *pollfunc; 
 
   struct iio_chan_spec const *channels; 
   int num_channels; 
   const char *name; 
   const struct iio_info *info; 
   const struct iio_buffer_setup_ops *setup_ops; 
   struct cdev chrdev; 
}; 

The complete structure is defined ...

Get Linux Device Drivers Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.