sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget+/translations/zh_CN/driver-api/iio/triggersmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/zh_TW/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/it_IT/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ja_JP/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/ko_KR/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/pt_BR/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget+/translations/sp_SP/driver-api/iio/triggersmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hTriggersh]hTriggers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhE/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers.rsthKubh bullet_list)}(hhh](h list_item)}(h4struct iio_trigger — industrial I/O trigger deviceh]h paragraph)}(hhh]h4struct iio_trigger — industrial I/O trigger device}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hG:c:func:`devm_iio_trigger_alloc` — Resource-managed iio_trigger_alloch]h)}(hhh](h)}(h :c:func:`devm_iio_trigger_alloc`h]hliteral)}(hhh]hdevm_iio_trigger_alloc()}(hhhhhNhNubah}(h]h ](xrefcc-funceh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdocdriver-api/iio/triggers refdomainjreftypefunc refexplicitrefwarn reftargetdevm_iio_trigger_allocuh1hhhhKhhubh' — Resource-managed iio_trigger_alloc}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hd:c:func:`devm_iio_trigger_register` — Resource-managed iio_trigger_register iio_trigger_unregisterh]h)}(hd:c:func:`devm_iio_trigger_register` — Resource-managed iio_trigger_register iio_trigger_unregisterh](h)}(h#:c:func:`devm_iio_trigger_register`h]h)}(hj1h]hdevm_iio_trigger_register()}(hj3hhhNhNubah}(h]h ](jjc-funceh"]h$]h&]uh1hhj/ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnjdevm_iio_trigger_registeruh1hhhhKhj+ubhA — Resource-managed iio_trigger_register iio_trigger_unregister}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj'ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hj:c:func:`iio_trigger_validate_own_device` — Check if a trigger and IIO device belong to the same device h]h)}(hi:c:func:`iio_trigger_validate_own_device` — Check if a trigger and IIO device belong to the same deviceh](h)}(h):c:func:`iio_trigger_validate_own_device`h]h)}(hjhh]h!iio_trigger_validate_own_device()}(hjjhhhNhNubah}(h]h ](jjc-funceh"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnjiio_trigger_validate_own_deviceuh1hhhhK hjbubh@ — Check if a trigger and IIO device belong to the same device}(hjbhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj^ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1hhhhKhhhhubh)}(hXhIn many situations it is useful for a driver to be able to capture data based on some external event (trigger) as opposed to periodically polling for data. An IIO trigger can be provided by a device driver that also has an IIO device based on hardware generated events (e.g. data ready or threshold exceeded) or provided by a separate driver from an independent interrupt source (e.g. GPIO line connected to some external system, timer interrupt or user space writing a specific file in sysfs). A trigger may initiate data capture for a number of sensors and also it may be completely unrelated to the sensor itself.h]hXhIn many situations it is useful for a driver to be able to capture data based on some external event (trigger) as opposed to periodically polling for data. An IIO trigger can be provided by a device driver that also has an IIO device based on hardware generated events (e.g. data ready or threshold exceeded) or provided by a separate driver from an independent interrupt source (e.g. GPIO line connected to some external system, timer interrupt or user space writing a specific file in sysfs). A trigger may initiate data capture for a number of sensors and also it may be completely unrelated to the sensor itself.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hhh](h)}(hIIO trigger sysfs interfaceh]hIIO trigger sysfs interface}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h5There are two locations in sysfs related to triggers:h]h5There are two locations in sysfs related to triggers:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hhh](h)}(hX:file:`/sys/bus/iio/devices/trigger{Y}/*`, this file is created once an IIO trigger is registered with the IIO core and corresponds to trigger with index Y. Because triggers can be very different depending on type there are few standard attributes that we can describe here: * :file:`name`, trigger name that can be later used for association with a device. * :file:`sampling_frequency`, some timer based triggers use this attribute to specify the frequency for trigger calls. h](h)}(hX:file:`/sys/bus/iio/devices/trigger{Y}/*`, this file is created once an IIO trigger is registered with the IIO core and corresponds to trigger with index Y. Because triggers can be very different depending on type there are few standard attributes that we can describe here:h](h)}(h):file:`/sys/bus/iio/devices/trigger{Y}/*`h](h/sys/bus/iio/devices/trigger}(hjhhhNhNubhemphasis)}(hYh]hY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh/*}(hjhhhNhNubeh}(h]h ]fileah"]h$]h&]rolefileuh1hhjubh, this file is created once an IIO trigger is registered with the IIO core and corresponds to trigger with index Y. Because triggers can be very different depending on type there are few standard attributes that we can describe here:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(hhh](h)}(hP:file:`name`, trigger name that can be later used for association with a device.h]h)}(hP:file:`name`, trigger name that can be later used for association with a device.h](h)}(h :file:`name`h]hname}(hjhhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhj ubhD, trigger name that can be later used for association with a device.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1hhjubh)}(hu:file:`sampling_frequency`, some timer based triggers use this attribute to specify the frequency for trigger calls. h]h)}(ht:file:`sampling_frequency`, some timer based triggers use this attribute to specify the frequency for trigger calls.h](h)}(h:file:`sampling_frequency`h]hsampling_frequency}(hj8hhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhj4ubhZ, some timer based triggers use this attribute to specify the frequency for trigger calls.}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hj0ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jjuh1hhhhK hjubeh}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(h:file:`/sys/bus/iio/devices/iio:device{X}/trigger/*`, this directory is created once the device supports a triggered buffer. We can associate a trigger with our device by writing the trigger's name in the :file:`current_trigger` file. h]h)}(h:file:`/sys/bus/iio/devices/iio:device{X}/trigger/*`, this directory is created once the device supports a triggered buffer. We can associate a trigger with our device by writing the trigger's name in the :file:`current_trigger` file.h](h)}(h4:file:`/sys/bus/iio/devices/iio:device{X}/trigger/*`h](h/sys/bus/iio/devices/iio:device}(hjmhhhNhNubj)}(hXh]hX}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubh /trigger/*}(hjmhhhNhNubeh}(h]h ]fileah"]h$]h&]rolefileuh1hhjiubh, this directory is created once the device supports a triggered buffer. We can associate a trigger with our device by writing the trigger’s name in the }(hjihhhNhNubh)}(h:file:`current_trigger`h]hcurrent_trigger}(hjhhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhjiubh file.}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjeubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(h]h ]h"]h$]h&]jjuh1hhhhKhjhhubeh}(h]iio-trigger-sysfs-interfaceah ]h"]iio trigger sysfs interfaceah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hIIO trigger setuph]hIIO trigger setup}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK+ubh)}(hMLet's see a simple example of how to setup a trigger to be used by a driver::h]hNLet’s see a simple example of how to setup a trigger to be used by a driver:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjhhubh literal_block)}(hXstruct iio_trigger_ops trigger_ops = { .set_trigger_state = sample_trigger_state, .validate_device = sample_validate_device, } struct iio_trigger *trig; /* first, allocate memory for our trigger */ trig = iio_trigger_alloc(dev, "trig-%s-%d", name, idx); /* setup trigger operations field */ trig->ops = &trigger_ops; /* now register the trigger with the IIO core */ iio_trigger_register(trig);h]hXstruct iio_trigger_ops trigger_ops = { .set_trigger_state = sample_trigger_state, .validate_device = sample_validate_device, } struct iio_trigger *trig; /* first, allocate memory for our trigger */ trig = iio_trigger_alloc(dev, "trig-%s-%d", name, idx); /* setup trigger operations field */ trig->ops = &trigger_ops; /* now register the trigger with the IIO core */ iio_trigger_register(trig);}hjsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1jhhhK/hjhhubeh}(h]iio-trigger-setupah ]h"]iio trigger setupah$]h&]uh1hhhhhhhhK+ubh)}(hhh](h)}(hIIO trigger opsh]hIIO trigger ops}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK@ubh)}(hhh]h)}(hDstruct iio_trigger_ops — operations structure for an iio_trigger. h]h)}(hCstruct iio_trigger_ops — operations structure for an iio_trigger.h]hCstruct iio_trigger_ops — operations structure for an iio_trigger.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjubah}(h]h ]h"]h$]h&]uh1hhj hhhhhNubah}(h]h ]h"]h$]h&]jjuh1hhhhKBhjhhubh)}(h7Notice that a trigger has a set of operations attached:h]h7Notice that a trigger has a set of operations attached:}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(hhh](h)}(h?:file:`set_trigger_state`, switch the trigger on/off on demand.h]h)}(hjAh](h)}(h:file:`set_trigger_state`h]hset_trigger_state}(hjFhhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhjCubh&, switch the trigger on/off on demand.}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKFhj?ubah}(h]h ]h"]h$]h&]uh1hhj<hhhhhNubh)}(h`:file:`validate_device`, function to validate the device when the current trigger gets changed. h]h)}(h_:file:`validate_device`, function to validate the device when the current trigger gets changed.h](h)}(h:file:`validate_device`h]hvalidate_device}(hjohhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhjkubhH, function to validate the device when the current trigger gets changed.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjgubah}(h]h ]h"]h$]h&]uh1hhj<hhhhhNubeh}(h]h ]h"]h$]h&]jjuh1hhhhKFhjhhubeh}(h]iio-trigger-opsah ]h"]iio trigger opsah$]h&]uh1hhhhhhhhK@ubh)}(hhh](h)}(h More detailsh]h More details}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singleiio_trigger_ops (C struct)c.iio_trigger_opshNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hiio_trigger_opsh]hdesc_signature_line)}(hstruct iio_trigger_opsh](hdesc_sig_keyword)}(hstructh]hstruct}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhjhKubh desc_name)}(hiio_trigger_opsh]h desc_sig_name)}(hjh]hiio_trigger_ops}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubah}(h]h ](sig-namedescnameeh"]h$]h&]jjuh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]jj add_permalinkuh1jsphinx_line_type declaratorhjhhhjhKubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhjhKhjhhubh desc_content)}(hhh]h)}(h(operations structure for an iio_trigger.h]h(operations structure for an iio_trigger.}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj(hhubah}(h]h ]h"]h$]h&]uh1j&hjhhhjhKubeh}(h]h ](jstructeh"]h$]h&]domainjobjtypejCdesctypejCnoindex noindexentrynocontentsentryuh1jhhhjhNhNubh container)}(hX**Definition**:: struct iio_trigger_ops { int (*set_trigger_state)(struct iio_trigger *trig, bool state); void (*reenable)(struct iio_trigger *trig); int (*validate_device)(struct iio_trigger *trig, struct iio_dev *indio_dev); }; **Members** ``set_trigger_state`` switch on/off the trigger on demand ``reenable`` function to reenable the trigger when the use count is zero (may be NULL) ``validate_device`` function to validate the device when the current trigger gets changed.h](h)}(h**Definition**::h](hstrong)}(h**Definition**h]h Definition}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjSubh:}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjOubj)}(hstruct iio_trigger_ops { int (*set_trigger_state)(struct iio_trigger *trig, bool state); void (*reenable)(struct iio_trigger *trig); int (*validate_device)(struct iio_trigger *trig, struct iio_dev *indio_dev); };h]hstruct iio_trigger_ops { int (*set_trigger_state)(struct iio_trigger *trig, bool state); void (*reenable)(struct iio_trigger *trig); int (*validate_device)(struct iio_trigger *trig, struct iio_dev *indio_dev); };}hjrsbah}(h]h ]h"]h$]h&]jjuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjOubh)}(h **Members**h]jX)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK"hjOubhdefinition_list)}(hhh](hdefinition_list_item)}(h:``set_trigger_state`` switch on/off the trigger on demand h](hterm)}(h``set_trigger_state``h]h)}(hjh]hset_trigger_state}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubh definition)}(hhh]h)}(h#switch on/off the trigger on demandh]h#switch on/off the trigger on demand}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hW``reenable`` function to reenable the trigger when the use count is zero (may be NULL) h](j)}(h ``reenable``h]h)}(hjh]hreenable}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(hIfunction to reenable the trigger when the use count is zero (may be NULL)h]hIfunction to reenable the trigger when the use count is zero (may be NULL)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hZ``validate_device`` function to validate the device when the current trigger gets changed.h](j)}(h``validate_device``h]h)}(hjh]hvalidate_device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(hFfunction to validate the device when the current trigger gets changed.h]hFfunction to validate the device when the current trigger gets changed.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj2hKhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj2hKhjubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubh)}(h**Description**h]jX)}(hj_h]h Description}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj]ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjhhubh)}(hYThis is typically static const within a driver and shared by instances of a given device.h]hYThis is typically static const within a driver and shared by instances of a given device.}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jiio_trigger (C struct) c.iio_triggerhNtauh1jhjhhhNhNubj)}(hhh](j)}(h iio_triggerh]j)}(hstruct iio_triggerh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK"ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhK"ubj)}(h iio_triggerh]j)}(hjh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](j jeh"]h$]h&]jjuh1jhjhhhjhK"ubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhK"ubah}(h]jah ](jjeh"]h$]h&]j#j$)j%huh1jhjhK"hjhhubj')}(hhh]h)}(hindustrial I/O trigger deviceh]hindustrial I/O trigger device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK)hjhhubah}(h]h ]h"]h$]h&]uh1j&hjhhhjhK"ubeh}(h]h ](jstructeh"]h$]h&]jGjjHjjIjjJjKjLuh1jhhhjhNhNubjN)}(hX{**Definition**:: struct iio_trigger { const struct iio_trigger_ops *ops; struct module *owner; 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; struct work_struct reenable_work; }; **Members** ``ops`` [DRIVER] operations structure ``owner`` [INTERN] owner of this driver module ``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`` [INTERN] use count for the trigger. ``subirq_chip`` [INTERN] associate 'virtual' irq chip. ``subirq_base`` [INTERN] base number for irqs provided by trigger. ``subirqs`` [INTERN] information about the 'child' irqs. ``pool`` [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. ``reenable_work`` [INTERN] work item used to ensure reenable can sleep.h](h)}(h**Definition**::h](jX)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjubh:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK-hjubj)}(hXstruct iio_trigger { const struct iio_trigger_ops *ops; struct module *owner; 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; struct work_struct reenable_work; };h]hXstruct iio_trigger { const struct iio_trigger_ops *ops; struct module *owner; 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; struct work_struct reenable_work; };}hjsbah}(h]h ]h"]h$]h&]jjuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK/hjubh)}(h **Members**h]jX)}(hj-h]hMembers}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj+ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKAhjubj)}(hhh](j)}(h&``ops`` [DRIVER] operations structure h](j)}(h``ops``h]h)}(hjLh]hops}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK+hjFubj)}(hhh]h)}(h[DRIVER] operations structureh]h[DRIVER] operations structure}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjahK+hjbubah}(h]h ]h"]h$]h&]uh1jhjFubeh}(h]h ]h"]h$]h&]uh1jhjahK+hjCubj)}(h/``owner`` [INTERN] owner of this driver module h](j)}(h ``owner``h]h)}(hjh]howner}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK,hjubj)}(hhh]h)}(h$[INTERN] owner of this driver moduleh]h$[INTERN] owner of this driver module}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK,hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK,hjCubj)}(h!``id`` [INTERN] unique id number h](j)}(h``id``h]h)}(hjh]hid}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK-hjubj)}(hhh]h)}(h[INTERN] unique id numberh]h[INTERN] unique id number}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK-hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK-hjCubj)}(h``name`` [DRIVER] unique name h](j)}(h``name``h]h)}(hjh]hname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK.hjubj)}(hhh]h)}(h[DRIVER] unique nameh]h[DRIVER] unique name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK.hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hK.hjCubj)}(h1``dev`` [DRIVER] associated device (if relevant) h](j)}(h``dev``h]h)}(hj0h]hdev}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj.ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK/hj*ubj)}(hhh]h)}(h([DRIVER] associated device (if relevant)h]h([DRIVER] associated device (if relevant)}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjEhK/hjFubah}(h]h ]h"]h$]h&]uh1jhj*ubeh}(h]h ]h"]h$]h&]uh1jhjEhK/hjCubj)}(h=``list`` [INTERN] used in maintenance of global trigger list h](j)}(h``list``h]h)}(hjih]hlist}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjgubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK0hjcubj)}(hhh]h)}(h3[INTERN] used in maintenance of global trigger listh]h3[INTERN] used in maintenance of global trigger list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~hK0hjubah}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ]h"]h$]h&]uh1jhj~hK0hjCubj)}(h>``alloc_list`` [DRIVER] used for driver specific trigger list h](j)}(h``alloc_list``h]h)}(hjh]h alloc_list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK1hjubj)}(hhh]h)}(h.[DRIVER] used for driver specific trigger listh]h.[DRIVER] used for driver specific trigger list}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK1hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK1hjCubj)}(h2``use_count`` [INTERN] use count for the trigger. h](j)}(h ``use_count``h]h)}(hjh]h use_count}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK2hjubj)}(hhh]h)}(h#[INTERN] use count for the trigger.h]h#[INTERN] use count for the trigger.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK2hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK2hjCubj)}(h7``subirq_chip`` [INTERN] associate 'virtual' irq chip. h](j)}(h``subirq_chip``h]h)}(hjh]h subirq_chip}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK3hjubj)}(hhh]h)}(h&[INTERN] associate 'virtual' irq chip.h]h*[INTERN] associate ‘virtual’ irq chip.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj)hK3hj*ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj)hK3hjCubj)}(hC``subirq_base`` [INTERN] base number for irqs provided by trigger. h](j)}(h``subirq_base``h]h)}(hjMh]h subirq_base}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjKubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK4hjGubj)}(hhh]h)}(h2[INTERN] base number for irqs provided by trigger.h]h2[INTERN] base number for irqs provided by trigger.}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjbhK4hjcubah}(h]h ]h"]h$]h&]uh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjbhK4hjCubj)}(h9``subirqs`` [INTERN] information about the 'child' irqs. h](j)}(h ``subirqs``h]h)}(hjh]hsubirqs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK5hjubj)}(hhh]h)}(h,[INTERN] information about the 'child' irqs.h]h0[INTERN] information about the ‘child’ irqs.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK5hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK5hjCubj)}(h3``pool`` [INTERN] bitmap of irqs currently in use. h](j)}(h``pool``h]h)}(hjh]hpool}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK6hjubj)}(hhh]h)}(h)[INTERN] bitmap of irqs currently in use.h]h)[INTERN] bitmap of irqs currently in use.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK6hjCubj)}(h3``pool_lock`` [INTERN] protection of the irq pool. h](j)}(h ``pool_lock``h]h)}(hjh]h pool_lock}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK7hjubj)}(hhh]h)}(h$[INTERN] protection of the irq pool.h]h$[INTERN] protection of the irq pool.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hK7hj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj hK7hjCubj)}(h``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. h](j)}(h``attached_own_device``h]h)}(hj1 h]hattached_own_device}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK:hj+ ubj)}(hhh]h)}(h[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.h]h[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.}(hjJ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK8hjG ubah}(h]h ]h"]h$]h&]uh1jhj+ ubeh}(h]h ]h"]h$]h&]uh1jhjF hK:hjCubj)}(hG``reenable_work`` [INTERN] work item used to ensure reenable can sleep.h](j)}(h``reenable_work``h]h)}(hjk h]h reenable_work}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1hhji ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK:hje ubj)}(hhh]h)}(h5[INTERN] work item used to ensure reenable can sleep.h]h5[INTERN] work item used to ensure reenable can sleep.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK;hj ubah}(h]h ]h"]h$]h&]uh1jhje ubeh}(h]h ]h"]h$]h&]uh1jhj hK:hjCubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$iio_trigger_set_drvdata (C function)c.iio_trigger_set_drvdatahNtauh1jhjhhhNhNubj)}(hhh](j)}(hCvoid iio_trigger_set_drvdata (struct iio_trigger *trig, void *data)h]j)}(hBvoid iio_trigger_set_drvdata(struct iio_trigger *trig, void *data)h](hdesc_sig_keyword_type)}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]ktah"]h$]h&]uh1j hj hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKkubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKkubj)}(hiio_trigger_set_drvdatah]j)}(hiio_trigger_set_drvdatah]hiio_trigger_set_drvdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](j jeh"]h$]h&]jjuh1jhj hhhj hKkubhdesc_parameterlist)}(h&(struct iio_trigger *trig, void *data)h](hdesc_parameter)}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hj' hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ ubah}(h]h ]h"]h$]h&] refdomainjreftype identifier reftargetj) modnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]jB ASTIdentifier)}j= j sbc.iio_trigger_set_drvdataasbuh1hhj ubj)}(h h]h }(hjO hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubhdesc_sig_punctuation)}(hjh]h*}(hj_ hhhNhNubah}(h]h ]pah"]h$]h&]uh1j] hj ubj)}(htrigh]htrig}(hjm hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubj )}(h void *datah](j )}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj^ )}(hjh]h*}(hj hhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hj ubj)}(hdatah]hdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubeh}(h]h ]h"]h$]h&]jjuh1j hj hhhj hKkubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj hhhj hKkubah}(h]j ah ](jjeh"]h$]h&]j#j$)j%huh1jhj hKkhj hhubj')}(hhh]h)}(hSet trigger driver datah]hSet trigger driver data}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKkhj hhubah}(h]h ]h"]h$]h&]uh1j&hj hhhj hKkubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHj jIj jJjKjLuh1jhhhjhNhNubjN)}(h**Parameters** ``struct iio_trigger *trig`` IIO trigger structure ``void *data`` Driver specific data **Description** Allows to attach an arbitrary pointer to an IIO trigger, which can later be retrieved by iio_trigger_get_drvdata().h](h)}(h**Parameters**h]jX)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKohj ubj)}(hhh](j)}(h3``struct iio_trigger *trig`` IIO trigger structure h](j)}(h``struct iio_trigger *trig``h]h)}(hj h]hstruct iio_trigger *trig}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKlhj ubj)}(hhh]h)}(hIIO trigger structureh]hIIO trigger structure}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/ hKlhj0 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj/ hKlhj ubj)}(h$``void *data`` Driver specific data h](j)}(h``void *data``h]h)}(hjS h]h void *data}(hjU hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjQ ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKmhjM ubj)}(hhh]h)}(hDriver specific datah]hDriver specific data}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjh hKmhji ubah}(h]h ]h"]h$]h&]uh1jhjM ubeh}(h]h ]h"]h$]h&]uh1jhjh hKmhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]jX)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKohj ubh)}(hsAllows to attach an arbitrary pointer to an IIO trigger, which can later be retrieved by iio_trigger_get_drvdata().h]hsAllows to attach an arbitrary pointer to an IIO trigger, which can later be retrieved by iio_trigger_get_drvdata().}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKnhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$iio_trigger_get_drvdata (C function)c.iio_trigger_get_drvdatahNtauh1jhjhhhNhNubj)}(hhh](j)}(h9void * iio_trigger_get_drvdata (struct iio_trigger *trig)h]j)}(h7void *iio_trigger_get_drvdata(struct iio_trigger *trig)h](j )}(hvoidh]hvoid}(hj hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKxubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKxubj^ )}(hjh]h*}(hj hhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hj hhhj hKxubj)}(hiio_trigger_get_drvdatah]j)}(hiio_trigger_get_drvdatah]hiio_trigger_get_drvdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](j jeh"]h$]h&]jjuh1jhj hhhj hKxubj )}(h(struct iio_trigger *trig)h]j )}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h h]h }(hj* hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hj; hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8 ubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetj= modnameN classnameNjA jD )}jG ]jJ )}j= j sbc.iio_trigger_get_drvdataasbuh1hhj ubj)}(h h]h }(hj[ hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj^ )}(hjh]h*}(hji hhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hj ubj)}(htrigh]htrig}(hjv hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubah}(h]h ]h"]h$]h&]jjuh1j hj hhhj hKxubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj hhhj hKxubah}(h]j ah ](jjeh"]h$]h&]j#j$)j%huh1jhj hKxhj hhubj')}(hhh]h)}(hGet trigger driver datah]hGet trigger driver data}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKxhj hhubah}(h]h ]h"]h$]h&]uh1j&hj hhhj hKxubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHj jIj jJjKjLuh1jhhhjhNhNubjN)}(h**Parameters** ``struct iio_trigger *trig`` IIO trigger structure **Description** Returns the data previously set with iio_trigger_set_drvdata()h](h)}(h**Parameters**h]jX)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK|hj ubj)}(hhh]j)}(h3``struct iio_trigger *trig`` IIO trigger structure h](j)}(h``struct iio_trigger *trig``h]h)}(hj h]hstruct iio_trigger *trig}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKyhj ubj)}(hhh]h)}(hIIO trigger structureh]hIIO trigger structure}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKyhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKyhj ubah}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]jX)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jWhj ubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK{hj ubh)}(h>Returns the data previously set with iio_trigger_set_drvdata()h]h>Returns the data previously set with iio_trigger_set_drvdata()}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKzhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j!iio_trigger_register (C function)c.iio_trigger_registerhNtauh1jhjhhhNhNubj)}(hhh](j)}(h8int iio_trigger_register (struct iio_trigger *trig_info)h]j)}(h7int iio_trigger_register(struct iio_trigger *trig_info)h](j )}(hinth]hint}(hja hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj] hhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKubj)}(h h]h }(hjp hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj] hhhjo hKubj)}(hiio_trigger_registerh]j)}(hiio_trigger_registerh]hiio_trigger_register}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~ ubah}(h]h ](j jeh"]h$]h&]jjuh1jhj] hhhjo hKubj )}(h(struct iio_trigger *trig_info)h]j )}(hstruct iio_trigger *trig_infoh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetj modnameN classnameNjA jD )}jG ]jJ )}j= j sbc.iio_trigger_registerasbuh1hhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj^ )}(hjh]h*}(hj hhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hj ubj)}(h trig_infoh]h trig_info}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubah}(h]h ]h"]h$]h&]jjuh1j hj] hhhjo hKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjY hhhjo hKubah}(h]jT ah ](jjeh"]h$]h&]j#j$)j%huh1jhjo hKhjV hhubj')}(hhh]h)}(h$register a trigger with the IIO coreh]h$register a trigger with the IIO core}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjhhubah}(h]h ]h"]h$]h&]uh1j&hjV hhhjo hKubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHj9jIj9jJjKjLuh1jhhhjhNhNubjN)}(hL**Parameters** ``struct iio_trigger *trig_info`` trigger to be registeredh](h)}(h**Parameters**h]jX)}(hjCh]h Parameters}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjAubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj=ubj)}(hhh]j)}(h:``struct iio_trigger *trig_info`` trigger to be registeredh](j)}(h!``struct iio_trigger *trig_info``h]h)}(hjbh]hstruct iio_trigger *trig_info}(hjdhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj`ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj\ubj)}(hhh]h)}(htrigger to be registeredh]htrigger to be registered}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjxubah}(h]h ]h"]h$]h&]uh1jhj\ubeh}(h]h ]h"]h$]h&]uh1jhjwhKhjYubah}(h]h ]h"]h$]h&]uh1jhj=ubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#iio_trigger_unregister (C function)c.iio_trigger_unregisterhNtauh1jhjhhhNhNubj)}(hhh](j)}(h;void iio_trigger_unregister (struct iio_trigger *trig_info)h]j)}(h:void iio_trigger_unregister(struct iio_trigger *trig_info)h](j )}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hiio_trigger_unregisterh]j)}(hiio_trigger_unregisterh]hiio_trigger_unregister}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](j jeh"]h$]h&]jjuh1jhjhhhjhKubj )}(h(struct iio_trigger *trig_info)h]j )}(hstruct iio_trigger *trig_infoh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetjmodnameN classnameNjA jD )}jG ]jJ )}j= jsbc.iio_trigger_unregisterasbuh1hhjubj)}(h h]h }(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj^ )}(hjh]h*}(hjEhhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hjubj)}(h trig_infoh]h trig_info}(hjRhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubah}(h]h ]h"]h$]h&]jjuh1j hjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhKubah}(h]jah ](jjeh"]h$]h&]j#j$)j%huh1jhjhKhjhhubj')}(hhh]h)}(h"unregister a trigger from the coreh]h"unregister a trigger from the core}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjyhhubah}(h]h ]h"]h$]h&]uh1j&hjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHjjIjjJjKjLuh1jhhhjhNhNubjN)}(hN**Parameters** ``struct iio_trigger *trig_info`` trigger to be unregisteredh](h)}(h**Parameters**h]jX)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]j)}(h<``struct iio_trigger *trig_info`` trigger to be unregisteredh](j)}(h!``struct iio_trigger *trig_info``h]h)}(hjh]hstruct iio_trigger *trig_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(htrigger to be unregisteredh]htrigger to be unregistered}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&iio_trigger_set_immutable (C function)c.iio_trigger_set_immutablehNtauh1jhjhhhNhNubj)}(hhh](j)}(hSint iio_trigger_set_immutable (struct iio_dev *indio_dev, struct iio_trigger *trig)h]j)}(hRint iio_trigger_set_immutable(struct iio_dev *indio_dev, struct iio_trigger *trig)h](j )}(hinth]hint}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKubj)}(h h]h }(hj&hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj%hKubj)}(hiio_trigger_set_immutableh]j)}(hiio_trigger_set_immutableh]hiio_trigger_set_immutable}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubah}(h]h ](j jeh"]h$]h&]jjuh1jhjhhhj%hKubj )}(h5(struct iio_dev *indio_dev, struct iio_trigger *trig)h](j )}(hstruct iio_dev *indio_devh](j)}(hjh]hstruct}(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubj)}(h h]h }(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubh)}(hhh]j)}(hiio_devh]hiio_dev}(hjrhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjoubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetjtmodnameN classnameNjA jD )}jG ]jJ )}j= j:sbc.iio_trigger_set_immutableasbuh1hhjPubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubj^ )}(hjh]h*}(hjhhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hjPubj)}(h indio_devh]h indio_dev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjLubj )}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetjmodnameN classnameNjA jD )}jG ]jc.iio_trigger_set_immutableasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj^ )}(hjh]h*}(hjhhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hjubj)}(htrigh]htrig}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjLubeh}(h]h ]h"]h$]h&]jjuh1j hjhhhj%hKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhj%hKubah}(h]j ah ](jjeh"]h$]h&]j#j$)j%huh1jhj%hKhj hhubj')}(hhh]h)}(h'set an immutable trigger on destinationh]h'set an immutable trigger on destination}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjDhhubah}(h]h ]h"]h$]h&]uh1j&hj hhhj%hKubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHj_jIj_jJjKjLuh1jhhhjhNhNubjN)}(h**Parameters** ``struct iio_dev *indio_dev`` IIO device structure containing the device ``struct iio_trigger *trig`` trigger to assign to deviceh](h)}(h**Parameters**h]jX)}(hjih]h Parameters}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjgubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjcubj)}(hhh](j)}(hI``struct iio_dev *indio_dev`` IIO device structure containing the device h](j)}(h``struct iio_dev *indio_dev``h]h)}(hjh]hstruct iio_dev *indio_dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(h*IIO device structure containing the deviceh]h*IIO device structure containing the device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(h8``struct iio_trigger *trig`` trigger to assign to deviceh](j)}(h``struct iio_trigger *trig``h]h)}(hjh]hstruct iio_trigger *trig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(htrigger to assign to deviceh]htrigger to assign to device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjcubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"iio_trigger_using_own (C function)c.iio_trigger_using_ownhNtauh1jhjhhhNhNubj)}(hhh](j)}(h6bool iio_trigger_using_own (struct iio_dev *indio_dev)h]j)}(h5bool iio_trigger_using_own(struct iio_dev *indio_dev)h](j )}(hboolh]hbool}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjhhhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKubj)}(h h]h }(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj)hKubj)}(hiio_trigger_using_ownh]j)}(hiio_trigger_using_ownh]hiio_trigger_using_own}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubah}(h]h ](j jeh"]h$]h&]jjuh1jhjhhhj)hKubj )}(h(struct iio_dev *indio_dev)h]j )}(hstruct iio_dev *indio_devh](j)}(hjh]hstruct}(hjXhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj)}(h h]h }(hjehhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubh)}(hhh]j)}(hiio_devh]hiio_dev}(hjvhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetjxmodnameN classnameNjA jD )}jG ]jJ )}j= j>sbc.iio_trigger_using_ownasbuh1hhjTubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubj^ )}(hjh]h*}(hjhhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hjTubj)}(h indio_devh]h indio_dev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjPubah}(h]h ]h"]h$]h&]jjuh1j hjhhhj)hKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhj)hKubah}(h]jah ](jjeh"]h$]h&]j#j$)j%huh1jhj)hKhjhhubj')}(hhh]h)}(h/tells us if we use our own HW trigger ourselvesh]h/tells us if we use our own HW trigger ourselves}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjhhubah}(h]h ]h"]h$]h&]uh1j&hjhhhj)hKubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHjjIjjJjKjLuh1jhhhjhNhNubjN)}(h?**Parameters** ``struct iio_dev *indio_dev`` device to checkh](h)}(h**Parameters**h]jX)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]j)}(h-``struct iio_dev *indio_dev`` device to checkh](j)}(h``struct iio_dev *indio_dev``h]h)}(hjh]hstruct iio_dev *indio_dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjubj)}(hhh]h)}(hdevice to checkh]hdevice to check}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1hKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jMhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jiio_trigger_poll (C function)c.iio_trigger_pollhNtauh1jhjhhhNhNubj)}(hhh](j)}(h0void iio_trigger_poll (struct iio_trigger *trig)h]j)}(h/void iio_trigger_poll(struct iio_trigger *trig)h](j )}(hvoidh]hvoid}(hjvhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjrhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjrhhhjhKubj)}(hiio_trigger_pollh]j)}(hiio_trigger_pollh]hiio_trigger_poll}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](j jeh"]h$]h&]jjuh1jhjrhhhjhKubj )}(h(struct iio_trigger *trig)h]j )}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubhx)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainjreftypej= reftargetjmodnameN classnameNjA jD )}jG ]jJ )}j= jsbc.iio_trigger_pollasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj^ )}(hjh]h*}(hjhhhNhNubah}(h]h ]ji ah"]h$]h&]uh1j] hjubj)}(htrigh]htrig}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubah}(h]h ]h"]h$]h&]jjuh1j hjrhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjnhhhjhKubah}(h]jiah ](jjeh"]h$]h&]j#j$)j%huh1jhjhKhjkhhubj')}(hhh]h)}(h-Call the IRQ trigger handler of the consumersh]h-Call the IRQ trigger handler of the consumers}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhj3hhubah}(h]h ]h"]h$]h&]uh1j&hjkhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jGjjHjNjIjNjJjKjLuh1jhhhjhNhNubjN)}(h**Parameters** ``struct iio_trigger *trig`` trigger which occurred **Description** This function should only be called from a hard IRQ context.h](h)}(h**Parameters**h]jX)}(hjXh]h Parameters}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjVubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjRubj)}(hhh]j)}(h4``struct iio_trigger *trig`` trigger which occurred h](j)}(h``struct iio_trigger *trig``h]h)}(hjwh]hstruct iio_trigger *trig}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjuubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjqubj)}(hhh]h)}(htrigger which occurredh]htrigger which occurred}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjqubeh}(h]h ]h"]h$]h&]uh1jhjhKhjnubah}(h]h ]h"]h$]h&]uh1jhjRubh)}(h**Description**h]jX)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jWhjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjRubh)}(h