---
name: "struct_iio_trigger"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_iio_trigger"
---

# struct\_iio\_trigger(9)

industrial I/O trigger device

## NAME

struct\_iio\_trigger - industrial I/O trigger device

## SYNOPSIS

```
struct iio_trigger {
  const struct iio_trigger_ops * ops;
  int id;
  const char * name;
  struct device dev;
  struct list_head list;
  struct list_head alloc_list;
  atomic_t use_count;
  struct irq_chip subirq_chip;
  int subirq_base;
  struct iio_subirq subirqs[CONFIG_IIO_CONSUMERS_PER_TRIGGER];
  unsigned long pool[BITS_TO_LONGS(CONFIG_IIO_CONSUMERS_PER_TRIGGER)];
  struct mutex pool_lock;
  bool attached_own_device;
};
```

## MEMBERS

ops

\[DRIVER\] operations structure

id

\[INTERN\] unique id number

name

\[DRIVER\] unique name

dev

\[DRIVER\] associated device (if relevant)

list

\[INTERN\] used in maintenance of global trigger list

alloc\_list

\[DRIVER\] used for driver specific trigger list

use\_count

use count for the trigger

subirq\_chip

\[INTERN\] associate 'virtual' irq chip.

subirq\_base

\[INTERN\] base number for irqs provided by trigger.

subirqs\[CONFIG\_IIO\_CONSUMERS\_PER\_TRIGGER\]

\[INTERN\] information about the 'child' irqs.

pool\[BITS\_TO\_LONGS(CONFIG\_IIO\_CONSUMERS\_PER\_TRIGGER)\]

\[INTERN\] bitmap of irqs currently in use.

pool\_lock

\[INTERN\] protection of the irq pool.

attached\_own\_device

\[INTERN\] if we are using our own device as trigger, i.e. if we registered a poll function to the same device as the one providing the trigger.

## AUTHOR

**Daniel Baluta** \<daniel.baluta@intel.com\>

Author.

## COPYRIGHT
