Ӄ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/hw-consumermodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/zh_TW/driver-api/iio/hw-consumermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/it_IT/driver-api/iio/hw-consumermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ja_JP/driver-api/iio/hw-consumermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/ko_KR/driver-api/iio/hw-consumermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget./translations/sp_SP/driver-api/iio/hw-consumermodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(h HW consumerh]h HW consumer}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhH/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer.rsthKubh paragraph)}(hXUAn IIO device can be directly connected to another device in hardware. In this case the buffers between IIO provider and IIO consumer are handled by hardware. The Industrial I/O HW consumer offers a way to bond these IIO devices without software buffer for data. The implementation can be found under :file:`drivers/iio/buffer/hw-consumer.c`h](hX-An IIO device can be directly connected to another device in hardware. In this case the buffers between IIO provider and IIO consumer are handled by hardware. The Industrial I/O HW consumer offers a way to bond these IIO devices without software buffer for data. The implementation can be found under }(hhhhhNhNubhliteral)}(h(:file:`drivers/iio/buffer/hw-consumer.c`h]h drivers/iio/buffer/hw-consumer.c}(hhhhhNhNubah}(h]h ]fileah"]h$]h&]rolefileuh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh bullet_list)}(hhh](h list_item)}(h6struct iio_hw_consumer — Hardware consumer structureh]h)}(hhh]h6struct iio_hw_consumer — Hardware consumer structure}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hB:c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumerh]h)}(hhh](h)}(h:c:func:`iio_hw_consumer_alloc`h]h)}(hjh]hiio_hw_consumer_alloc()}(hjhhhNhNubah}(h]h ](xrefcc-funceh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdocdriver-api/iio/hw-consumer refdomainjreftypefunc refexplicitrefwarn reftargetiio_hw_consumer_allocuh1hhhhK hhubh# — Allocate IIO hardware consumer}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h=:c:func:`iio_hw_consumer_free` — Free IIO hardware consumerh]h)}(hj4h](h)}(h:c:func:`iio_hw_consumer_free`h]h)}(hj;h]hiio_hw_consumer_free()}(hj=hhhNhNubah}(h]h ](j jc-funceh"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnj iio_hw_consumer_freeuh1hhhhK hj6ubh — Free IIO hardware consumer}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hj2ubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hA:c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumerh]h)}(hjjh](h)}(h :c:func:`iio_hw_consumer_enable`h]h)}(hjqh]hiio_hw_consumer_enable()}(hjshhhNhNubah}(h]h ](j jc-funceh"]h$]h&]uh1hhjoubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnj iio_hw_consumer_enableuh1hhhhKhjlubh! — Enable IIO hardware consumer}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hE:c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumer h]h)}(hC:c:func:`iio_hw_consumer_disable` — Disable IIO hardware consumerh](h)}(h!:c:func:`iio_hw_consumer_disable`h]h)}(hjh]hiio_hw_consumer_disable()}(hjhhhNhNubah}(h]h ](j jc-funceh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnj iio_hw_consumer_disableuh1hhhhKhjubh" — Disable IIO hardware consumer}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]h ]h"]h$]h&]bullet*uh1hhhhK hhhhubh)}(hhh](h)}(hHW consumer setuph]hHW consumer setup}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubh)}(h~As standard IIO device the implementation is based on IIO provider/consumer. A typical IIO HW consumer setup looks like this::h]h}As standard IIO device the implementation is based on IIO provider/consumer. A typical IIO HW consumer setup looks like this:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh literal_block)}(hXstatic struct iio_hw_consumer *hwc; static const struct iio_info adc_info = { .read_raw = adc_read_raw, }; static int adc_read_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *chan, int *val, int *val2, long mask) { ret = iio_hw_consumer_enable(hwc); /* Acquire data */ ret = iio_hw_consumer_disable(hwc); } static int adc_probe(struct platform_device *pdev) { hwc = devm_iio_hw_consumer_alloc(&iio->dev); }h]hXstatic struct iio_hw_consumer *hwc; static const struct iio_info adc_info = { .read_raw = adc_read_raw, }; static int adc_read_raw(struct iio_dev *indio_dev, struct iio_chan_spec const *chan, int *val, int *val2, long mask) { ret = iio_hw_consumer_enable(hwc); /* Acquire data */ ret = iio_hw_consumer_disable(hwc); } static int adc_probe(struct platform_device *pdev) { hwc = devm_iio_hw_consumer_alloc(&iio->dev); }}hjsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1jhhhKhjhhubeh}(h]hw-consumer-setupah ]h"]hw consumer setupah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h More detailsh]h More details}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK/ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single"iio_hw_consumer_alloc (C function)c.iio_hw_consumer_allochNtauh1j'hjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hCstruct iio_hw_consumer * iio_hw_consumer_alloc (struct device *dev)h]hdesc_signature_line)}(hAstruct iio_hw_consumer *iio_hw_consumer_alloc(struct device *dev)h](hdesc_sig_keyword)}(hstructh]hstruct}(hjKhhhNhNubah}(h]h ]kah"]h$]h&]uh1jIhjEhhhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKSubhdesc_sig_space)}(h h]h }(hj]hhhNhNubah}(h]h ]wah"]h$]h&]uh1j[hjEhhhjZhKSubh)}(hhh]h desc_sig_name)}(hiio_hw_consumerh]hiio_hw_consumer}(hjqhhhNhNubah}(h]h ]nah"]h$]h&]uh1johjlubah}(h]h ]h"]h$]h&] refdomainjreftype identifier reftargetjsmodnameN classnameN c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)}jiio_hw_consumer_allocsbc.iio_hw_consumer_allocasbuh1hhjEhhhjZhKSubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjEhhhjZhKSubhdesc_sig_punctuation)}(hjh]h*}(hjhhhNhNubah}(h]h ]pah"]h$]h&]uh1jhjEhhhjZhKSubh desc_name)}(hiio_hw_consumer_alloch]jp)}(hjh]hiio_hw_consumer_alloc}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ](sig-namedescnameeh"]h$]h&]j j uh1jhjEhhhjZhKSubhdesc_parameterlist)}(h(struct device *dev)h]hdesc_parameter)}(hstruct device *devh](jJ)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhjubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubh)}(hhh]jp)}(hdeviceh]hdevice}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]jc.iio_hw_consumer_allocasbuh1hhjubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubj)}(hjh]h*}(hj*hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjp)}(hdevh]hdev}(hj7hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphj j uh1jhjubah}(h]h ]h"]h$]h&]j j uh1jhjEhhhjZhKSubeh}(h]h ]h"]h$]h&]j j  add_permalinkuh1jCsphinx_line_type declaratorhj?hhhjZhKSubah}(h]j6ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j=hjZhKShj:hhubh desc_content)}(hhh]h)}(hAllocate IIO hardware consumerh]hAllocate IIO hardware consumer}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKNhjhhhubah}(h]h ]h"]h$]h&]uh1jfhj:hhhjZhKSubeh}(h]h ](jfunctioneh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j8hhhjhNhNubh container)}(h**Parameters** ``struct device *dev`` Pointer to consumer device. **Description** Returns a valid iio_hw_consumer on success or a ERR_PTR() on failure.h](h)}(h**Parameters**h]hstrong)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKRhjubhdefinition_list)}(hhh]hdefinition_list_item)}(h3``struct device *dev`` Pointer to consumer device. h](hterm)}(h``struct device *dev``h]h)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKOhjubh definition)}(hhh]h)}(hPointer to consumer device.h]hPointer to consumer device.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKOhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKOhjubah}(h]h ]h"]h$]h&]uh1jhjubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKQhjubh)}(hEReturns a valid iio_hw_consumer on success or a ERR_PTR() on failure.h]hEReturns a valid iio_hw_consumer on success or a ERR_PTR() on failure.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKQhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj()}(hhh]h}(h]h ]h"]h$]h&]entries](j4!iio_hw_consumer_free (C function)c.iio_hw_consumer_freehNtauh1j'hjhhhNhNubj9)}(hhh](j>)}(h7void iio_hw_consumer_free (struct iio_hw_consumer *hwc)h]jD)}(h6void iio_hw_consumer_free(struct iio_hw_consumer *hwc)h](hdesc_sig_keyword_type)}(hvoidh]hvoid}(hj@hhhNhNubah}(h]h ]ktah"]h$]h&]uh1j>hj:hhhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKubj\)}(h h]h }(hjPhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj:hhhjOhKubj)}(hiio_hw_consumer_freeh]jp)}(hiio_hw_consumer_freeh]hiio_hw_consumer_free}(hjbhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj^ubah}(h]h ](jjeh"]h$]h&]j j uh1jhj:hhhjOhKubj)}(h(struct iio_hw_consumer *hwc)h]j)}(hstruct iio_hw_consumer *hwch](jJ)}(hjMh]hstruct}(hj~hhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhjzubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjzubh)}(hhh]jp)}(hiio_hw_consumerh]hiio_hw_consumer}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjdsbc.iio_hw_consumer_freeasbuh1hhjzubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjzubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjzubjp)}(hhwch]hhwc}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjzubeh}(h]h ]h"]h$]h&]noemphj j uh1jhjvubah}(h]h ]h"]h$]h&]j j uh1jhj:hhhjOhKubeh}(h]h ]h"]h$]h&]j j jXuh1jCjYjZhj6hhhjOhKubah}(h]j1ah ](j^j_eh"]h$]h&]jcjd)jehuh1j=hjOhKhj3hhubjg)}(hhh]h)}(hFree IIO hardware consumerh]hFree IIO hardware consumer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chK~hjhhubah}(h]h ]h"]h$]h&]uh1jfhj3hhhjOhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j8hhhjhNhNubj)}(hF**Parameters** ``struct iio_hw_consumer *hwc`` hw consumer to free.h](h)}(h**Parameters**h]j)}(hj#h]h Parameters}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubj)}(hhh]j)}(h4``struct iio_hw_consumer *hwc`` hw consumer to free.h](j)}(h``struct iio_hw_consumer *hwc``h]h)}(hjBh]hstruct iio_hw_consumer *hwc}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj@ubah}(h]h ]h"]h$]h&]uh1jhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj<ubj)}(hhh]h)}(hhw consumer to free.h]hhw consumer to free.}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjXubah}(h]h ]h"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]uh1jhjWhKhj9ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj()}(hhh]h}(h]h ]h"]h$]h&]entries](j4'devm_iio_hw_consumer_alloc (C function)c.devm_iio_hw_consumer_allochNtauh1j'hjhhhNhNubj9)}(hhh](j>)}(hHstruct iio_hw_consumer * devm_iio_hw_consumer_alloc (struct device *dev)h]jD)}(hFstruct iio_hw_consumer *devm_iio_hw_consumer_alloc(struct device *dev)h](jJ)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhjhhhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjhhhjhKubh)}(hhh]jp)}(hiio_hw_consumerh]hiio_hw_consumer}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jdevm_iio_hw_consumer_allocsbc.devm_iio_hw_consumer_allocasbuh1hhjhhhjhKubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjhhhjhKubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjhhhjhKubj)}(hdevm_iio_hw_consumer_alloch]jp)}(hjh]hdevm_iio_hw_consumer_alloc}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ](jjeh"]h$]h&]j j uh1jhjhhhjhKubj)}(h(struct device *dev)h]j)}(hstruct device *devh](jJ)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhjubj\)}(h h]h }(hj#hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubh)}(hhh]jp)}(hdeviceh]hdevice}(hj4hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj1ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetj6modnameN classnameNjj)}j]jc.devm_iio_hw_consumer_allocasbuh1hhjubj\)}(h h]h }(hjRhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubj)}(hjh]h*}(hj`hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjp)}(hdevh]hdev}(hjmhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphj j uh1jhjubah}(h]h ]h"]h$]h&]j j uh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]j j jXuh1jCjYjZhjhhhjhKubah}(h]jah ](j^j_eh"]h$]h&]jcjd)jehuh1j=hjhKhjhhubjg)}(hhh]h)}(h(Resource-managed iio_hw_consumer_alloc()h]h(Resource-managed iio_hw_consumer_alloc()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjhhubah}(h]h ]h"]h$]h&]uh1jfhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjjjjjjjuh1j8hhhjhNhNubj)}(hX**Parameters** ``struct device *dev`` Pointer to consumer device. **Description** Managed iio_hw_consumer_alloc. iio_hw_consumer allocated with this function is automatically freed on driver detach. returns pointer to allocated iio_hw_consumer on success, NULL on failure.h](h)}(h**Parameters**h]j)}(hjh]h Parameters}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubj)}(hhh]j)}(h3``struct device *dev`` Pointer to consumer device. h](j)}(h``struct device *dev``h]h)}(hjh]hstruct device *dev}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]uh1jhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubj)}(hhh]h)}(hPointer to consumer device.h]hPointer to consumer device.}(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]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubh)}(htManaged iio_hw_consumer_alloc. iio_hw_consumer allocated with this function is automatically freed on driver detach.h]htManaged iio_hw_consumer_alloc. iio_hw_consumer allocated with this function is automatically freed on driver detach.}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubh)}(hIreturns pointer to allocated iio_hw_consumer on success, NULL on failure.h]hIreturns pointer to allocated iio_hw_consumer on success, NULL on failure.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj()}(hhh]h}(h]h ]h"]h$]h&]entries](j4#iio_hw_consumer_enable (C function)c.iio_hw_consumer_enablehNtauh1j'hjhhhNhNubj9)}(hhh](j>)}(h8int iio_hw_consumer_enable (struct iio_hw_consumer *hwc)h]jD)}(h7int iio_hw_consumer_enable(struct iio_hw_consumer *hwc)h](j?)}(hinth]hint}(hjghhhNhNubah}(h]h ]jKah"]h$]h&]uh1j>hjchhhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKubj\)}(h h]h }(hjvhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjchhhjuhKubj)}(hiio_hw_consumer_enableh]jp)}(hiio_hw_consumer_enableh]hiio_hw_consumer_enable}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ](jjeh"]h$]h&]j j uh1jhjchhhjuhKubj)}(h(struct iio_hw_consumer *hwc)h]j)}(hstruct iio_hw_consumer *hwch](jJ)}(hjMh]hstruct}(hjhhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhjubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubh)}(hhh]jp)}(hiio_hw_consumerh]hiio_hw_consumer}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjmodnameN classnameNjj)}j]j)}jjsbc.iio_hw_consumer_enableasbuh1hhjubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjubj)}(hjh]h*}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubjp)}(hhwch]hhwc}(hjhhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]noemphj j uh1jhjubah}(h]h ]h"]h$]h&]j j uh1jhjchhhjuhKubeh}(h]h ]h"]h$]h&]j j jXuh1jCjYjZhj_hhhjuhKubah}(h]jZah ](j^j_eh"]h$]h&]jcjd)jehuh1j=hjuhKhj\hhubjg)}(hhh]h)}(hEnable IIO hardware consumerh]hEnable IIO hardware consumer}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj$hhubah}(h]h ]h"]h$]h&]uh1jfhj\hhhjuhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj?jj?jjjuh1j8hhhjhNhNubj)}(ht**Parameters** ``struct iio_hw_consumer *hwc`` iio_hw_consumer to enable. **Description** Returns 0 on success.h](h)}(h**Parameters**h]j)}(hjIh]h Parameters}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjGubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjCubj)}(hhh]j)}(h;``struct iio_hw_consumer *hwc`` iio_hw_consumer to enable. h](j)}(h``struct iio_hw_consumer *hwc``h]h)}(hjhh]hstruct iio_hw_consumer *hwc}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfubah}(h]h ]h"]h$]h&]uh1jhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjbubj)}(hhh]h)}(hiio_hw_consumer to enable.h]hiio_hw_consumer to enable.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj}hKhj~ubah}(h]h ]h"]h$]h&]uh1jhjbubeh}(h]h ]h"]h$]h&]uh1jhj}hKhj_ubah}(h]h ]h"]h$]h&]uh1jhjCubh)}(h**Description**h]j)}(hjh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjCubh)}(hReturns 0 on success.h]hReturns 0 on success.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhjCubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubj()}(hhh]h}(h]h ]h"]h$]h&]entries](j4$iio_hw_consumer_disable (C function)c.iio_hw_consumer_disablehNtauh1j'hjhhhNhNubj9)}(hhh](j>)}(h:void iio_hw_consumer_disable (struct iio_hw_consumer *hwc)h]jD)}(h9void iio_hw_consumer_disable(struct iio_hw_consumer *hwc)h](j?)}(hvoidh]hvoid}(hjhhhNhNubah}(h]h ]jKah"]h$]h&]uh1j>hjhhhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKubj\)}(h h]h }(hjhhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hjhhhjhKubj)}(hiio_hw_consumer_disableh]jp)}(hiio_hw_consumer_disableh]hiio_hw_consumer_disable}(hj hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj ubah}(h]h ](jjeh"]h$]h&]j j uh1jhjhhhjhKubj)}(h(struct iio_hw_consumer *hwc)h]j)}(hstruct iio_hw_consumer *hwch](jJ)}(hjMh]hstruct}(hj% hhhNhNubah}(h]h ]jVah"]h$]h&]uh1jIhj! ubj\)}(h h]h }(hj2 hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj! ubh)}(hhh]jp)}(hiio_hw_consumerh]hiio_hw_consumer}(hjC hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj@ ubah}(h]h ]h"]h$]h&] refdomainjreftypej reftargetjE modnameN classnameNjj)}j]j)}jj sbc.iio_hw_consumer_disableasbuh1hhj! ubj\)}(h h]h }(hjc hhhNhNubah}(h]h ]jhah"]h$]h&]uh1j[hj! ubj)}(hjh]h*}(hjq hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj! ubjp)}(hhwch]hhwc}(hj~ hhhNhNubah}(h]h ]j|ah"]h$]h&]uh1johj! ubeh}(h]h ]h"]h$]h&]noemphj j uh1jhj ubah}(h]h ]h"]h$]h&]j j uh1jhjhhhjhKubeh}(h]h ]h"]h$]h&]j j jXuh1jCjYjZhjhhhjhKubah}(h]jah ](j^j_eh"]h$]h&]jcjd)jehuh1j=hjhKhjhhubjg)}(hhh]h)}(hDisable IIO hardware consumerh]hDisable IIO hardware consumer}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj hhubah}(h]h ]h"]h$]h&]uh1jfhjhhhjhKubeh}(h]h ](jfunctioneh"]h$]h&]jjjj jj jjjuh1j8hhhjhNhNubj)}(hM**Parameters** ``struct iio_hw_consumer *hwc`` iio_hw_consumer to disable.h](h)}(h**Parameters**h]j)}(hj h]h Parameters}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj ubj)}(hhh]j)}(h;``struct iio_hw_consumer *hwc`` iio_hw_consumer to disable.h](j)}(h``struct iio_hw_consumer *hwc``h]h)}(hj h]hstruct iio_hw_consumer *hwc}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]uh1jhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj ubj)}(hhh]h)}(hiio_hw_consumer to disable.h]hiio_hw_consumer to disable.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhx/var/lib/git/docbuild/linux/Documentation/driver-api/iio/hw-consumer:48: ./drivers/iio/buffer/industrialio-hw-consumer.chKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ] kernelindentah"]h$]h&]uh1jhjhhhNhNubeh}(h] more-detailsah ]h"] more detailsah$]h&]uh1hhhhhhhhK/ubeh}(h] hw-consumerah ]h"] hw consumerah$]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}(j7 j4 jjj/ j, u nametypes}(j7 jj/ uh}(j4 hjjj, jj6j?j1j6jjjZj_jju 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.