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]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 refdomainhreftypefunc 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)}(hjh]hdevm_iio_trigger_register()}(hjhhhNhNubah}(h]h ](hhc-funceh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdoch refdomainhreftypefunc refexplicitrefwarnjdevm_iio_trigger_registeruh1hhhhKhjubhA — Resource-managed iio_trigger_register iio_trigger_unregister}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(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)}(hjTh]h!iio_trigger_validate_own_device()}(hjVhhhNhNubah}(h]h ](hhc-funceh"]h$]h&]uh1hhjRubah}(h]h ]h"]h$]h&]refdoch refdomainhreftypefunc refexplicitrefwarnjiio_trigger_validate_own_deviceuh1hhhhK hjNubh@ — Check if a trigger and IIO device belong to the same device}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjJubah}(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&]rolefileuh1hhjubhD, trigger name that can be later used for association with a device.}(hjhhhNhNubeh}(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}(hj$hhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhj ubhZ, some timer based triggers use this attribute to specify the frequency for trigger calls.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(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}(hjYhhhNhNubj)}(hXh]hX}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhjYubh /trigger/*}(hjYhhhNhNubeh}(h]h ]fileah"]h$]h&]rolefileuh1hhjUubh, 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 }(hjUhhhNhNubh)}(h:file:`current_trigger`h]hcurrent_trigger}(hjhhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhjUubh file.}(hjUhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjQubah}(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&]uh1hhjhhhhhNubah}(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:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(hhh](h)}(h?:file:`set_trigger_state`, switch the trigger on/off on demand.h]h)}(hj-h](h)}(h:file:`set_trigger_state`h]hset_trigger_state}(hj2hhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhj/ubh&, switch the trigger on/off on demand.}(hj/hhhNhNubeh}(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}(hj[hhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhjWubhH, function to validate the device when the current trigger gets changed.}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjSubah}(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.}(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&]uh1jhjhhhjhKubeh}(h]h ](hstructeh"]h$]h&]domainhobjtypej/desctypej/noindex 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}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jChj?ubh:}(hj?hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj;ubj)}(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); };}hj^sbah}(h]h ]h"]h$]h&]jjuh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj;ubh)}(h **Members**h]jD)}(hjoh]hMembers}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjmubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK"hj;ubhdefinition_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)}(hj h]hvalidate_device}(hj hhhNhNubah}(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.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhj;ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubh)}(h**Description**h]jD)}(hjKh]h Description}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjIubah}(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.}(hjahhhNhNubah}(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 ](jjeh"]h$]h&]jjuh1jhjhhhjhK#ubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhK#ubah}(h]j|ah ](j j eh"]h$]h&]jj)jhuh1jhjhK#hj~hhubj)}(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&]uh1jhj~hhhjhK#ubeh}(h]h ](hstructeh"]h$]h&]j3hj4jj5jj6j7j8uh1jhhhjhNhNubj:)}(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](jD)}(h**Definition**h]h Definition}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubh:}(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]jD)}(hjh]hMembers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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)}(hj8h]hops}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj6ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK+hj2ubj)}(hhh]h)}(h[DRIVER] operations structureh]h[DRIVER] operations structure}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjMhK+hjNubah}(h]h ]h"]h$]h&]uh1jhj2ubeh}(h]h ]h"]h$]h&]uh1jhjMhK+hj/ubj)}(h/``owner`` [INTERN] owner of this driver module h](j)}(h ``owner``h]h)}(hjqh]howner}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK,hjkubj)}(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&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjhK,hj/ubj)}(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-hj/ubj)}(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&]uh1hhjhK.hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK.hj/ubj)}(h1``dev`` [DRIVER] associated device (if relevant) h](j)}(h``dev``h]h)}(hjh]hdev}(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] associated device (if relevant)h]h([DRIVER] associated device (if relevant)}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1hK/hj2ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj1hK/hj/ubj)}(h=``list`` [INTERN] used in maintenance of global trigger list h](j)}(h``list``h]h)}(hjUh]hlist}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK0hjOubj)}(hhh]h)}(h3[INTERN] used in maintenance of global trigger listh]h3[INTERN] used in maintenance of global trigger list}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjjhK0hjkubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]uh1jhjjhK0hj/ubj)}(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&]uh1jhjhK1hj/ubj)}(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&]uh1jhjhK2hj/ubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK3hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK3hj/ubj)}(hC``subirq_base`` [INTERN] base number for irqs provided by trigger. h](j)}(h``subirq_base``h]h)}(hj9h]h subirq_base}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj7ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK4hj3ubj)}(hhh]h)}(h2[INTERN] base number for irqs provided by trigger.h]h2[INTERN] base number for irqs provided by trigger.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjNhK4hjOubah}(h]h ]h"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjNhK4hj/ubj)}(h9``subirqs`` [INTERN] information about the 'child' irqs. h](j)}(h ``subirqs``h]h)}(hjrh]hsubirqs}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjpubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK5hjlubj)}(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&]uh1jhjlubeh}(h]h ]h"]h$]h&]uh1jhjhK5hj/ubj)}(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&]uh1jhjhK6hj/ubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhK7hj/ubj)}(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)}(hj h]hattached_own_device}(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.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.}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK8hj3 ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj2 hK:hj/ubj)}(hG``reenable_work`` [INTERN] work item used to ensure reenable can sleep.h](j)}(h``reenable_work``h]h)}(hjW h]h reenable_work}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjU ubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK:hjQ ubj)}(hhh]h)}(h5[INTERN] work item used to ensure reenable can sleep.h]h5[INTERN] work item used to ensure reenable can sleep.}(hjp hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhK;hjm ubah}(h]h ]h"]h$]h&]uh1jhjQ ubeh}(h]h ]h"]h$]h&]uh1jhjl hK:hj/ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(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.hhKrubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hKrubj)}(hiio_trigger_set_drvdatah]j)}(hiio_trigger_set_drvdatah]hiio_trigger_set_drvdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhj hhhj hKrubhdesc_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&] refdomainhreftype identifier reftargetj modnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j. ASTIdentifier)}j) j sbc.iio_trigger_set_drvdataasbuh1hhj ubj)}(h h]h }(hj; hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubhdesc_sig_punctuation)}(hjh]h*}(hjK hhhNhNubah}(h]h ]pah"]h$]h&]uh1jI hj ubj)}(htrigh]htrig}(hjY hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubj )}(h void *datah](j )}(hvoidh]hvoid}(hjr hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjn ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn ubjJ )}(hjh]h*}(hj hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjn ubj)}(hdatah]hdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjn ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubeh}(h]h ]h"]h$]h&]jjuh1j hj hhhj hKrubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj hhhj hKrubah}(h]j ah ](j j eh"]h$]h&]jj)jhuh1jhj hKrhj 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&]uh1jhj hhhj hKrubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j j5j j6j7j8uh1jhhhjhNhNubj:)}(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]jD)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hKlhj 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)}(hj? h]h void *data}(hjA 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.hhKmhj9 ubj)}(hhh]h)}(hDriver specific datah]hDriver specific data}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjT hKmhjU ubah}(h]h ]h"]h$]h&]uh1jhj9 ubeh}(h]h ]h"]h$]h&]uh1jhjT hKmhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]jD)}(hjz h]h Description}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjx 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.hhKohj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(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.hhK}ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj hhhj hK}ubjJ )}(hjh]h*}(hj hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj hhhj hK}ubj)}(hiio_trigger_get_drvdatah]j)}(hiio_trigger_get_drvdatah]hiio_trigger_get_drvdata}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhj hhhj hK}ubj )}(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&]uh1jhj$ ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj) modnameN classnameNj- j0 )}j3 ]j6 )}j) j sbc.iio_trigger_get_drvdataasbuh1hhj ubj)}(h h]h }(hjG hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjJ )}(hjh]h*}(hjU hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj ubj)}(htrigh]htrig}(hjb hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj ubah}(h]h ]h"]h$]h&]jjuh1j hj hhhj hK}ubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj hhhj hK}ubah}(h]j ah ](j j eh"]h$]h&]jj)jhuh1jhj hK}hj 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&]uh1jhj hhhj hK}ubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j j5j j6j7j8uh1jhhhjhNhNubj:)}(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]jD)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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]jD)}(hj h]h Description}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj 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()}(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 ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(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}(hjM hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjI hhhc/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&]uh1jhjI hhhj[ hKubj)}(hiio_trigger_registerh]j)}(hiio_trigger_registerh]hiio_trigger_register}(hjn hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhjI hhhj[ 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&] refdomainhreftypej) reftargetj modnameN classnameNj- j0 )}j3 ]j6 )}j) jp sbc.iio_trigger_registerasbuh1hhj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjJ )}(hjh]h*}(hj hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI 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 hjI hhhj[ hKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjE hhhj[ hKubah}(h]j@ ah ](j j eh"]h$]h&]jj)jhuh1jhj[ hKhjB 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.hhKhj hhubah}(h]h ]h"]h$]h&]uh1jhjB hhhj[ hKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j%j5j%j6j7j8uh1jhhhjhNhNubj:)}(hL**Parameters** ``struct iio_trigger *trig_info`` trigger to be registeredh](h)}(h**Parameters**h]jD)}(hj/h]h Parameters}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj-ubah}(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)}(hjNh]hstruct iio_trigger *trig_info}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjLubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjHubj)}(hhh]h)}(htrigger to be registeredh]htrigger to be registered}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjdubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhjchKhjEubah}(h]h ]h"]h$]h&]uh1jhj)ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(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 ](jjeh"]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&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]j6 )}j) jsbc.iio_trigger_unregisterasbuh1hhjubj)}(h h]h }(hj#hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hj1hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(h trig_infoh]h trig_info}(hj>hhhNhNubah}(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 ](j j eh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h"unregister a trigger from the coreh]h"unregister a trigger from the core}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjehhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jj5jj6j7j8uh1jhhhjhNhNubj:)}(hN**Parameters** ``struct iio_trigger *trig_info`` trigger to be unregisteredh](h)}(h**Parameters**h]jD)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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&]uh1j9hjhhhNhNubj)}(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 }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hiio_trigger_set_immutableh]j)}(hiio_trigger_set_immutableh]hiio_trigger_set_immutable}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubj )}(h5(struct iio_dev *indio_dev, struct iio_trigger *trig)h](j )}(hstruct iio_dev *indio_devh](j)}(hjh]hstruct}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubj)}(h h]h }(hjMhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubh)}(hhh]j)}(hiio_devh]hiio_dev}(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj[ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj`modnameN classnameNj- j0 )}j3 ]j6 )}j) j&sbc.iio_trigger_set_immutableasbuh1hhj<ubj)}(h h]h }(hj~hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj<ubj)}(h indio_devh]h indio_dev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj8ubj )}(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&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]jzc.iio_trigger_set_immutableasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(htrigh]htrig}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj8ubeh}(h]h ]h"]h$]h&]jjuh1j hjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhKubah}(h]jah ](j j eh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h'set an immutable trigger on destinationh]h'set an immutable trigger on destination}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhj0hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jKj5jKj6j7j8uh1jhhhjhNhNubj:)}(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]jD)}(hjUh]h Parameters}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjSubah}(h]h ]h"]h$]h&]uh1hhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjOubj)}(hhh](j)}(hI``struct iio_dev *indio_dev`` IIO device structure containing the device h](j)}(h``struct iio_dev *indio_dev``h]h)}(hjth]hstruct iio_dev *indio_dev}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjrubah}(h]h ]h"]h$]h&]uh1jhc/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:76: ./include/linux/iio/trigger.hhKhjnubj)}(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&]uh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjhKhjkubj)}(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&]uh1jhjhKhjkubeh}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(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 }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hiio_trigger_using_ownh]j)}(hiio_trigger_using_ownh]hiio_trigger_using_own}(hj(hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubj )}(h(struct iio_dev *indio_dev)h]j )}(hstruct iio_dev *indio_devh](j)}(hjh]hstruct}(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubj)}(h h]h }(hjQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubh)}(hhh]j)}(hiio_devh]hiio_dev}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjdmodnameN classnameNj- j0 )}j3 ]j6 )}j) j*sbc.iio_trigger_using_ownasbuh1hhj@ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj@ubj)}(h indio_devh]h indio_dev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj<ubah}(h]h ]h"]h$]h&]jjuh1j hjhhhjhKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhKubah}(h]jah ](j j eh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(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&]uh1jhjhhhjhKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jj5jj6j7j8uh1jhhhjhNhNubj:)}(h?**Parameters** ``struct iio_dev *indio_dev`` device to checkh](h)}(h**Parameters**h]jD)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(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}(hj hhhNhNubah}(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}(hj!hhhNhNubah}(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&]uh1j9hjhhhNhNubj)}(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}(hjbhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj^hhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKubj)}(h h]h }(hjqhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^hhhjphKubj)}(hiio_trigger_pollh]j)}(hiio_trigger_pollh]hiio_trigger_poll}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhj^hhhjphKubj )}(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&]uh1jhjubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]j6 )}j) jsbc.iio_trigger_pollasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(htrigh]htrig}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubah}(h]h ]h"]h$]h&]jjuh1j hj^hhhjphKubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjZhhhjphKubah}(h]jUah ](j j eh"]h$]h&]jj)jhuh1jhjphKhjWhhubj)}(hhh]h)}(h-Call the IRQ trigger handler of the consumersh]h-Call the IRQ trigger handler of the consumers}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjWhhhjphKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j:j5j:j6j7j8uh1jhhhjhNhNubj:)}(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]jD)}(hjDh]h Parameters}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjBubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhj>ubj)}(hhh]j)}(h4``struct iio_trigger *trig`` trigger which occurred h](j)}(h``struct iio_trigger *trig``h]h)}(hjch]hstruct iio_trigger *trig}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhjaubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhj]ubj)}(hhh]h)}(htrigger which occurredh]htrigger which occurred}(hj|hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxhKhjyubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjxhKhjZubah}(h]h ]h"]h$]h&]uh1jhj>ubh)}(h**Description**h]jD)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhj>ubh)}(hubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j$iio_trigger_poll_nested (C function)c.iio_trigger_poll_nestedhNtauh1jhjhhhNhNubj)}(hhh](j)}(h7void iio_trigger_poll_nested (struct iio_trigger *trig)h]j)}(h6void iio_trigger_poll_nested(struct iio_trigger *trig)h](j )}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjhhhj/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&]uh1jhjhhhjhKubj)}(hiio_trigger_poll_nestedh]j)}(hiio_trigger_poll_nestedh]hiio_trigger_poll_nested}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhKubj )}(h(struct iio_trigger *trig)h]j )}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hj-hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hj>hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj@modnameN classnameNj- j0 )}j3 ]j6 )}j) jsbc.iio_trigger_poll_nestedasbuh1hhjubj)}(h h]h }(hj^hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjlhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(htrigh]htrig}(hjyhhhNhNubah}(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 ](j j eh"]h$]h&]jj)jhuh1jhjhKhjhhubj)}(hhh]h)}(h2Call the threaded trigger handler of the consumersh]h2Call the threaded trigger handler of the consumers}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhKubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jj5jj6j7j8uh1jhhhjhNhNubj:)}(h**Parameters** ``struct iio_trigger *trig`` trigger which occurred **Description** This function should only be called from a kernel thread context.h](h)}(h**Parameters**h]jD)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjubj)}(hhh]j)}(h4``struct iio_trigger *trig`` trigger which occurred h](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&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjubj)}(hhh]h)}(htrigger which occurredh]htrigger which occurred}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]jD)}(hjh]h Description}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjubh)}(hAThis function should only be called from a kernel thread context.h]hAThis function should only be called from a kernel thread context.}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j __iio_trigger_alloc (C function)c.__iio_trigger_allochNtauh1jhjhhhNhNubj)}(hhh](j)}(hostruct iio_trigger * __iio_trigger_alloc (struct device *parent, struct module *this_mod, const char *fmt, ...)h]j)}(hmstruct iio_trigger *__iio_trigger_alloc(struct device *parent, struct module *this_mod, const char *fmt, ...)h](j)}(hjh]hstruct}(hjdhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`hhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMgubj)}(h h]h }(hjrhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`hhhjqhMgubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]j6 )}j) __iio_trigger_allocsbc.__iio_trigger_allocasbuh1hhj`hhhjqhMgubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj`hhhjqhMgubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj`hhhjqhMgubj)}(h__iio_trigger_alloch]j)}(hjh]h__iio_trigger_alloc}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhj`hhhjqhMgubj )}(hF(struct device *parent, struct module *this_mod, const char *fmt, ...)h](j )}(hstruct device *parenth](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]jc.__iio_trigger_allocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hj(hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(hparenth]hparent}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubj )}(hstruct module *this_modh](j)}(hjh]hstruct}(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubj)}(h h]h }(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubh)}(hhh]j)}(hmoduleh]hmodule}(hjlhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjiubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjnmodnameN classnameNj- j0 )}j3 ]jc.__iio_trigger_allocasbuh1hhjJubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjJubj)}(hthis_modh]hthis_mod}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubj )}(hconst char *fmth](j)}(hconsth]hconst}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(hcharh]hchar}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(hfmth]hfmt}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubj )}(h...h]jJ )}(h...h]h...}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubah}(h]h ]h"]h$]h&]noemphjjuh1j hjubeh}(h]h ]h"]h$]h&]jjuh1j hj`hhhjqhMgubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj\hhhjqhMgubah}(h]jWah ](j j eh"]h$]h&]jj)jhuh1jhjqhMghjYhhubj)}(hhh]h)}(hAllocate a triggerh]hAllocate a trigger}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chM]hjChhubah}(h]h ]h"]h$]h&]uh1jhjYhhhjqhMgubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j^j5j^j6j7j8uh1jhhhjhNhNubj:)}(hX**Parameters** ``struct device *parent`` Device to allocate iio_trigger for ``struct module *this_mod`` module allocating the trigger ``const char *fmt`` trigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers. ``...`` variable arguments **Return** Pointer to allocated iio_trigger on success, NULL on failure.h](h)}(h**Parameters**h]jD)}(hjhh]h Parameters}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjfubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMahjbubj)}(hhh](j)}(h=``struct device *parent`` Device to allocate iio_trigger for h](j)}(h``struct device *parent``h]h)}(hjh]hstruct device *parent}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chM^hjubj)}(hhh]h)}(h"Device to allocate iio_trigger forh]h"Device to allocate iio_trigger for}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM^hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM^hj~ubj)}(h:``struct module *this_mod`` module allocating the trigger h](j)}(h``struct module *this_mod``h]h)}(hjh]hstruct module *this_mod}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chM_hjubj)}(hhh]h)}(hmodule allocating the triggerh]hmodule allocating the trigger}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhM_hj~ubj)}(h``const char *fmt`` trigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers. h](j)}(h``const char *fmt``h]h)}(hjh]hconst char *fmt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMchjubj)}(hhh]h)}(htrigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.h]htrigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chM`hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMchj~ubj)}(h``...`` variable arguments h](j)}(h``...``h]h)}(hj3h]h...}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj1ubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMfhj-ubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjHhMfhjIubah}(h]h ]h"]h$]h&]uh1jhj-ubeh}(h]h ]h"]h$]h&]uh1jhjHhMfhj~ubeh}(h]h ]h"]h$]h&]uh1jhjbubh)}(h **Return**h]jD)}(hjnh]hReturn}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jChjlubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhhjbubh)}(h=Pointer to allocated iio_trigger on success, NULL on failure.h]h=Pointer to allocated iio_trigger on success, NULL on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMdhjbubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%__devm_iio_trigger_alloc (C function)c.__devm_iio_trigger_allochNtauh1jhjhhhNhNubj)}(hhh](j)}(htstruct iio_trigger * __devm_iio_trigger_alloc (struct device *parent, struct module *this_mod, const char *fmt, ...)h]j)}(hrstruct iio_trigger *__devm_iio_trigger_alloc(struct device *parent, struct module *this_mod, const char *fmt, ...)h](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]j6 )}j) __devm_iio_trigger_allocsbc.__devm_iio_trigger_allocasbuh1hhjhhhjhMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjhhhjhMubj)}(h__devm_iio_trigger_alloch]j)}(hjh]h__devm_iio_trigger_alloc}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhMubj )}(hF(struct device *parent, struct module *this_mod, const char *fmt, ...)h](j )}(hstruct device *parenth](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)}(hdeviceh]hdevice}(hjKhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjMmodnameN classnameNj- j0 )}j3 ]jc.__devm_iio_trigger_allocasbuh1hhj)ubj)}(h h]h }(hjihhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)ubjJ )}(hjh]h*}(hjwhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj)ubj)}(hparenth]hparent}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj)ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj%ubj )}(hstruct module *this_modh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hmoduleh]hmodule}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]jc.__devm_iio_trigger_allocasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(hthis_modh]hthis_mod}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj%ubj )}(hconst char *fmth](j)}(hjh]hconst}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj )}(hcharh]hchar}(hj(hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj ubj)}(h h]h }(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubjJ )}(hjh]h*}(hjDhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj ubj)}(hfmth]hfmt}(hjQhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj%ubj )}(h...h]jJ )}(hjh]h...}(hjjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjfubah}(h]h ]h"]h$]h&]noemphjjuh1j hj%ubeh}(h]h ]h"]h$]h&]jjuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhMubah}(h]jah ](j j eh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(hResource-managed iio_trigger_alloc() Managed iio_trigger_alloc. iio_trigger allocated with this function is automatically freed on driver detach.h]hResource-managed iio_trigger_alloc() Managed iio_trigger_alloc. iio_trigger allocated with this function is automatically freed on driver detach.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjhhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jj5jj6j7j8uh1jhhhjhNhNubj:)}(hX**Parameters** ``struct device *parent`` Device to allocate iio_trigger for ``struct module *this_mod`` module allocating the trigger ``const char *fmt`` trigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers. ``...`` variable arguments **Return** Pointer to allocated iio_trigger on success, NULL on failure.h](h)}(h**Parameters**h]jD)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubj)}(hhh](j)}(h=``struct device *parent`` Device to allocate iio_trigger for h](j)}(h``struct device *parent``h]h)}(hjh]hstruct device *parent}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubj)}(hhh]h)}(h"Device to allocate iio_trigger forh]h"Device to allocate iio_trigger for}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubj)}(h:``struct module *this_mod`` module allocating the trigger h](j)}(h``struct module *this_mod``h]h)}(hj h]hstruct module *this_mod}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubj)}(hhh]h)}(hmodule allocating the triggerh]hmodule allocating the trigger}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj"hMhj#ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj"hMhjubj)}(h``const char *fmt`` trigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers. h](j)}(h``const char *fmt``h]h)}(hjFh]hconst char *fmt}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjDubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj@ubj)}(hhh]h)}(htrigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.h]htrigger name format. If it includes format specifiers, the additional arguments following format are formatted and inserted in the resulting string replacing their respective specifiers.}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj\ubah}(h]h ]h"]h$]h&]uh1jhj@ubeh}(h]h ]h"]h$]h&]uh1jhj[hMhjubj)}(h``...`` variable arguments h](j)}(h``...``h]h)}(hjh]h...}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj~ubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjzubj)}(hhh]h)}(hvariable argumentsh]hvariable arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]uh1jhjhMhjubeh}(h]h ]h"]h$]h&]uh1jhjubh)}(h **Return**h]jD)}(hjh]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubh)}(h=Pointer to allocated iio_trigger on success, NULL on failure.h]h=Pointer to allocated iio_trigger on success, NULL on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j&devm_iio_trigger_register (C function)c.devm_iio_trigger_registerhNtauh1jhjhhhNhNubj)}(hhh](j)}(hQint devm_iio_trigger_register (struct device *dev, struct iio_trigger *trig_info)h]j)}(hPint devm_iio_trigger_register(struct device *dev, struct iio_trigger *trig_info)h](j )}(hinth]hint}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhMubj)}(hdevm_iio_trigger_registerh]j)}(hdevm_iio_trigger_registerh]hdevm_iio_trigger_register}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ](jjeh"]h$]h&]jjuh1jhjhhhjhMubj )}(h3(struct device *dev, struct iio_trigger *trig_info)h](j )}(hstruct device *devh](j)}(hjh]hstruct}(hj=hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubj)}(h h]h }(hjJhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubh)}(hhh]j)}(hdeviceh]hdevice}(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj]modnameN classnameNj- j0 )}j3 ]j6 )}j) j#sbc.devm_iio_trigger_registerasbuh1hhj9ubj)}(h h]h }(hj{hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj9ubj)}(hdevh]hdev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj5ubj )}(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&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]jwc.devm_iio_trigger_registerasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(h trig_infoh]h trig_info}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj5ubeh}(h]h ]h"]h$]h&]jjuh1j hjhhhjhMubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjhhhjhMubah}(h]jah ](j j eh"]h$]h&]jj)jhuh1jhjhMhjhhubj)}(hhh]h)}(h'Resource-managed iio_trigger_register()h]h'Resource-managed iio_trigger_register()}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj-hhubah}(h]h ]h"]h$]h&]uh1jhjhhhjhMubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4jHj5jHj6j7j8uh1jhhhjhNhNubj:)}(hX**Parameters** ``struct device *dev`` device this trigger was allocated for ``struct iio_trigger *trig_info`` trigger to register **Description** Managed iio_trigger_register(). The IIO trigger registered with this function is automatically unregistered on driver detach. This function calls iio_trigger_register() internally. Refer to that function for more information. **Return** 0 on success, negative error number on failure.h](h)}(h**Parameters**h]jD)}(hjRh]h Parameters}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jChjPubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjLubj)}(hhh](j)}(h=``struct device *dev`` device this trigger was allocated for h](j)}(h``struct device *dev``h]h)}(hjqh]hstruct device *dev}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjkubj)}(hhh]h)}(h%device this trigger was allocated forh]h%device this trigger was allocated for}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhubj)}(h6``struct iio_trigger *trig_info`` trigger to register h](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&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjubj)}(hhh]h)}(htrigger to registerh]htrigger to register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhMhjhubeh}(h]h ]h"]h$]h&]uh1jhjLubh)}(h**Description**h]jD)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChjubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjLubh)}(hManaged iio_trigger_register(). The IIO trigger registered with this function is automatically unregistered on driver detach. This function calls iio_trigger_register() internally. Refer to that function for more information.h]hManaged iio_trigger_register(). The IIO trigger registered with this function is automatically unregistered on driver detach. This function calls iio_trigger_register() internally. Refer to that function for more information.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjLubh)}(h **Return**h]jD)}(hj h]hReturn}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jChj ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjLubh)}(h/0 on success, negative error number on failure.h]h/0 on success, negative error number on failure.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjLubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j%iio_validate_own_trigger (C function)c.iio_validate_own_triggerhNtauh1jhjhhhNhNubj)}(hhh](j)}(hMint iio_validate_own_trigger (struct iio_dev *idev, struct iio_trigger *trig)h]j)}(hLint iio_validate_own_trigger(struct iio_dev *idev, struct iio_trigger *trig)h](j )}(hinth]hint}(hjQhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjMhhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMubj)}(h h]h }(hj`hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjMhhhj_hMubj)}(hiio_validate_own_triggerh]j)}(hiio_validate_own_triggerh]hiio_validate_own_trigger}(hjrhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjnubah}(h]h ](jjeh"]h$]h&]jjuh1jhjMhhhj_hMubj )}(h0(struct iio_dev *idev, struct iio_trigger *trig)h](j )}(hstruct iio_dev *idevh](j)}(hjh]hstruct}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(hiio_devh]hiio_dev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjmodnameN classnameNj- j0 )}j3 ]j6 )}j) jtsbc.iio_validate_own_triggerasbuh1hhjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjhhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(hidevh]hidev}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubj )}(hstruct iio_trigger *trigh](j)}(hjh]hstruct}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh)}(hhh]j)}(h iio_triggerh]h iio_trigger}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj modnameN classnameNj- j0 )}j3 ]jc.iio_validate_own_triggerasbuh1hhjubj)}(h h]h }(hj< hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjJ )}(hjh]h*}(hjJ hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjubj)}(htrigh]htrig}(hjW hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]noemphjjuh1j hjubeh}(h]h ]h"]h$]h&]jjuh1j hjMhhhj_hMubeh}(h]h ]h"]h$]h&]jjjuh1jjjhjIhhhj_hMubah}(h]jDah ](j j eh"]h$]h&]jj)jhuh1jhj_hMhjFhhubj)}(hhh]h)}(h;Check if a trigger and IIO device belong to the same deviceh]h;Check if a trigger and IIO device belong to the same device}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj~ hhubah}(h]h ]h"]h$]h&]uh1jhjFhhhj_hMubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j j5j j6j7j8uh1jhhhjhNhNubj:)}(hXh**Parameters** ``struct iio_dev *idev`` the IIO device to check ``struct iio_trigger *trig`` the IIO trigger to check **Description** This function can be used as the validate_trigger callback for triggers that can only be attached to their own device. **Return** 0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.h](h)}(h**Parameters**h]jD)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubj)}(hhh](j)}(h1``struct iio_dev *idev`` the IIO device to check h](j)}(h``struct iio_dev *idev``h]h)}(hj h]hstruct iio_dev *idev}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubj)}(hhh]h)}(hthe IIO device to checkh]hthe IIO device to check}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hMhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hMhj ubj)}(h6``struct iio_trigger *trig`` the IIO trigger to check 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&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubj)}(hhh]h)}(hthe IIO trigger to checkh]hthe IIO trigger to check}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hMhj!ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj!hMhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubh)}(h**Description**h]jD)}(hj6!h]h Description}(hj8!hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj4!ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubh)}(hvThis function can be used as the validate_trigger callback for triggers that can only be attached to their own device.h]hvThis function can be used as the validate_trigger callback for triggers that can only be attached to their own device.}(hjL!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubh)}(h **Return**h]jD)}(hj]!h]hReturn}(hj_!hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj[!ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubh)}(hV0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.h]hV0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.}(hjs!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j,iio_trigger_validate_own_device (C function)!c.iio_trigger_validate_own_devicehNtauh1jhjhhhNhNubj)}(hhh](j)}(hYint iio_trigger_validate_own_device (struct iio_trigger *trig, struct iio_dev *indio_dev)h]j)}(hXint iio_trigger_validate_own_device(struct iio_trigger *trig, struct iio_dev *indio_dev)h](j )}(hinth]hint}(hj!hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj!hhhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMubj)}(h h]h }(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!hhhj!hMubj)}(hiio_trigger_validate_own_deviceh]j)}(hiio_trigger_validate_own_deviceh]hiio_trigger_validate_own_device}(hj!hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubah}(h]h ](jjeh"]h$]h&]jjuh1jhj!hhhj!hMubj )}(h5(struct iio_trigger *trig, struct iio_dev *indio_dev)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&]uh1jhj!ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetj!modnameN classnameNj- j0 )}j3 ]j6 )}j) j!sb!c.iio_trigger_validate_own_deviceasbuh1hhj!ubj)}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubjJ )}(hjh]h*}(hj+"hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hj!ubj)}(htrigh]htrig}(hj8"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj!ubj )}(hstruct iio_dev *indio_devh](j)}(hjh]hstruct}(hjQ"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjM"ubj)}(h h]h }(hj^"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjM"ubh)}(hhh]j)}(hiio_devh]hiio_dev}(hjo"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjl"ubah}(h]h ]h"]h$]h&] refdomainhreftypej) reftargetjq"modnameN classnameNj- j0 )}j3 ]j"!c.iio_trigger_validate_own_deviceasbuh1hhjM"ubj)}(h h]h }(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjM"ubjJ )}(hjh]h*}(hj"hhhNhNubah}(h]h ]jU ah"]h$]h&]uh1jI hjM"ubj)}(h indio_devh]h indio_dev}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjM"ubeh}(h]h ]h"]h$]h&]noemphjjuh1j hj!ubeh}(h]h ]h"]h$]h&]jjuh1j hj!hhhj!hMubeh}(h]h ]h"]h$]h&]jjjuh1jjjhj!hhhj!hMubah}(h]j!ah ](j j eh"]h$]h&]jj)jhuh1jhj!hMhj!hhubj)}(hhh]h)}(h;Check if a trigger and IIO device belong to the same deviceh]h;Check if a trigger and IIO device belong to the same device}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"hhubah}(h]h ]h"]h$]h&]uh1jhj!hhhj!hMubeh}(h]h ](hfunctioneh"]h$]h&]j3hj4j"j5j"j6j7j8uh1jhhhjhNhNubj:)}(hXl**Parameters** ``struct iio_trigger *trig`` The IIO trigger to check ``struct iio_dev *indio_dev`` the IIO device to check **Description** This function can be used as the validate_device callback for triggers that can only be attached to their own device. **Return** 0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.h](h)}(h**Parameters**h]jD)}(hj"h]h Parameters}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj"ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"ubj)}(hhh](j)}(h6``struct iio_trigger *trig`` The IIO trigger to check 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&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj #ubj)}(hhh]h)}(hThe IIO trigger to checkh]hThe IIO trigger to check}(hj,#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj(#hMhj)#ubah}(h]h ]h"]h$]h&]uh1jhj #ubeh}(h]h ]h"]h$]h&]uh1jhj(#hMhj #ubj)}(h6``struct iio_dev *indio_dev`` the IIO device to check h](j)}(h``struct iio_dev *indio_dev``h]h)}(hjL#h]hstruct iio_dev *indio_dev}(hjN#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjJ#ubah}(h]h ]h"]h$]h&]uh1jhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhjF#ubj)}(hhh]h)}(hthe IIO device to checkh]hthe IIO device to check}(hje#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhja#hMhjb#ubah}(h]h ]h"]h$]h&]uh1jhjF#ubeh}(h]h ]h"]h$]h&]uh1jhja#hMhj #ubeh}(h]h ]h"]h$]h&]uh1jhj"ubh)}(h**Description**h]jD)}(hj#h]h Description}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj#ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"ubh)}(huThis function can be used as the validate_device callback for triggers that can only be attached to their own device.h]huThis function can be used as the validate_device callback for triggers that can only be attached to their own device.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"ubh)}(h **Return**h]jD)}(hj#h]hReturn}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jChj#ubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"ubh)}(hV0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.h]hV0 if both the trigger and the IIO device belong to the same device, -EINVAL otherwise.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj/var/lib/git/docbuild/linux/Documentation/driver-api/iio/triggers:77: ./drivers/iio/industrialio-trigger.chMhj"ubeh}(h]h ] kernelindentah"]h$]h&]uh1j9hjhhhNhNubeh}(h] more-detailsah ]h"] more detailsah$]h&]uh1hhhhhhhhKKubeh}(h]triggersah ]h"]triggersah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj $error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(j#j#jjjjjjj#j#u nametypes}(j#jjjj#uh}(j#hjjjjjjj#jjjj|jj j j j j@ jE jjjjjjjUjZjjjWj\jjjjjDjIj!j!u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.