€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ*/translations/zh_CN/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/zh_TW/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/it_IT/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ja_JP/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/ko_KR/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/pt_BR/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ*/translations/sp_SP/driver-api/iio/buffers”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒBuffers”h]”hŒBuffers”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒD/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers.rst”h´KubhŒ bullet_list”“”)�”}”(hhh]”(hŒ list_item”“”)�”}”(hŒ.struct iio_buffer — general buffer structure”h]”hŒ paragraph”“”)�”}”(hhÔh]”hŒ.struct iio_buffer — general buffer structure”…”�”}”(hhØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KhhÒubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÍh²hh³hÊh´NubhÑ)�”}”(hŒZ:c:func:`iio_validate_scan_mask_onehot` — Validates that exactly one channel is selected”h]”h×)�”}”(hŒZ:c:func:`iio_validate_scan_mask_onehot` — Validates that exactly one channel is selected”h]”(h)�”}”(hŒ':c:func:`iio_validate_scan_mask_onehot`”h]”hŒliteral”“”)�”}”(hhõh]”hŒiio_validate_scan_mask_onehot()”…”�”}”(hhùh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œc”Œc-func”eh"]”h$]”h&]”uh1h÷hhóubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/iio/buffers”Œ refdomain”jŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰Œ reftarget”Œiio_validate_scan_mask_onehot”uh1hh³hÊh´KhhïubhŒ3 — Validates that exactly one channel is selected”…”�”}”(hhïh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khhëubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÍh²hh³hÊh´NubhÑ)�”}”(hŒ;:c:func:`iio_buffer_get` — Grab a reference to the buffer”h]”h×)�”}”(hj*h]”(h)�”}”(hŒ:c:func:`iio_buffer_get`”h]”hø)�”}”(hj1h]”hŒiio_buffer_get()”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”(jjŒc-func”eh"]”h$]”h&]”uh1h÷hj/ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jŒiio_buffer_get”uh1hh³hÊh´Khj,ubhŒ# — Grab a reference to the buffer”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÍh²hh³hÊh´NubhÑ)�”}”(hŒA:c:func:`iio_buffer_put` — Release the reference to the buffer ”h]”h×)�”}”(hŒ@:c:func:`iio_buffer_put` — Release the reference to the buffer”h]”(h)�”}”(hŒ:c:func:`iio_buffer_put`”h]”hø)�”}”(hjhh]”hŒiio_buffer_put()”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”(jjŒc-func”eh"]”h$]”h&]”uh1h÷hjfubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰jŒiio_buffer_put”uh1hh³hÊh´K hjbubhŒ( — Release the reference to the buffer”…”�”}”(hjbh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K hj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÍh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1hËh³hÊh´Khh·h²hubh×)�”}”(hŒÙThe Industrial I/O core offers a way for continuous data capture based on a trigger source. Multiple data channels can be read at once from :file:`/dev/iio:device{X}` character device node, thus reducing the CPU load.”h]”(hŒŒThe Industrial I/O core offers a way for continuous data capture based on a trigger source. Multiple data channels can be read at once from ”…”�”}”(hj�h²hh³Nh´Nubhø)�”}”(hŒ:file:`/dev/iio:device{X}`”h]”(hŒ/dev/iio:device”…”�”}”(hj¥h²hh³Nh´NubhŒemphasis”“”)�”}”(hŒX”h]”hŒX”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj¥ubeh}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hj�ubhŒ3 character device node, thus reducing the CPU load.”…”�”}”(hj�h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K hh·h²hubh¶)�”}”(hhh]”(h»)�”}”(hŒIIO buffer sysfs interface”h]”hŒIIO buffer sysfs interface”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjÐh²hh³hÊh´Kubh×)�”}”(hŒ™An IIO buffer has an associated attributes directory under :file:`/sys/bus/iio/devices/iio:device{X}/buffer/*`. Here are some of the existing attributes:”h]”(hŒ;An IIO buffer has an associated attributes directory under ”…”�”}”(hjáh²hh³Nh´Nubhø)�”}”(hŒ3:file:`/sys/bus/iio/devices/iio:device{X}/buffer/*`”h]”(hŒ/sys/bus/iio/devices/iio:device”…”�”}”(hjéh²hh³Nh´Nubj®)�”}”(hj±h]”hŒX”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjéubhŒ /buffer/*”…”�”}”(hjéh²hh³Nh´Nubeh}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hjáubhŒ+. Here are some of the existing attributes:”…”�”}”(hjáh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KhjÐh²hubhÌ)�”}”(hhh]”(hÑ)�”}”(hŒ]:file:`length`, the total number of data samples (capacity) that can be stored by the buffer.”h]”h×)�”}”(hŒ]:file:`length`, the total number of data samples (capacity) that can be stored by the buffer.”h]”(hø)�”}”(hŒ:file:`length`”h]”hŒlength”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hjubhŒO, the total number of data samples (capacity) that can be stored by the buffer.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjh²hh³hÊh´NubhÑ)�”}”(hŒ):file:`enable`, activate buffer capture. ”h]”h×)�”}”(hŒ(:file:`enable`, activate buffer capture.”h]”(hø)�”}”(hŒ:file:`enable`”h]”hŒenable”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hjEubhŒ, activate buffer capture.”…”�”}”(hjEh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjh²hh³hÊh´Nubeh}”(h]”h ]”h"]”h$]”h&]”j›jœuh1hËh³hÊh´KhjÐh²hubeh}”(h]”Œiio-buffer-sysfs-interface”ah ]”h"]”Œiio buffer sysfs interface”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒIIO buffer setup”h]”hŒIIO buffer setup”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjxh²hh³hÊh´Kubh×)�”}”(hX=The meta information associated with a channel reading placed in a buffer is called a scan element. The important bits configuring scan elements are exposed to userspace applications via the :file:`/sys/bus/iio/devices/iio:device{X}/scan_elements/` directory. This directory contains attributes of the following form:”h]”(hŒ¿The meta information associated with a channel reading placed in a buffer is called a scan element. The important bits configuring scan elements are exposed to userspace applications via the ”…”�”}”(hj‰h²hh³Nh´Nubhø)�”}”(hŒ9:file:`/sys/bus/iio/devices/iio:device{X}/scan_elements/`”h]”(hŒ/sys/bus/iio/devices/iio:device”…”�”}”(hj‘h²hh³Nh´Nubj®)�”}”(hj±h]”hŒX”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj‘ubhŒ/scan_elements/”…”�”}”(hj‘h²hh³Nh´Nubeh}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hj‰ubhŒE directory. This directory contains attributes of the following form:”…”�”}”(hj‰h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khjxh²hubhÌ)�”}”(hhh]”(hÑ)�”}”(hŒ�:file:`enable`, used for enabling a channel. If and only if its attribute is non *zero*, then a triggered capture will contain data samples for this channel.”h]”h×)�”}”(hŒ�:file:`enable`, used for enabling a channel. If and only if its attribute is non *zero*, then a triggered capture will contain data samples for this channel.”h]”(hø)�”}”(hŒ:file:`enable`”h]”hŒenable”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hjÄubhŒC, used for enabling a channel. If and only if its attribute is non ”…”�”}”(hjÄh²hh³Nh´Nubj®)�”}”(hŒ*zero*”h]”hŒzero”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjÄubhŒF, then a triggered capture will contain data samples for this channel.”…”�”}”(hjÄh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K"hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhj½h²hh³hÊh´NubhÑ)�”}”(hŒ-:file:`index`, the scan_index of the channel.”h]”h×)�”}”(hjýh]”(hø)�”}”(hŒ :file:`index`”h]”hŒindex”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hjÿubhŒ , the scan_index of the channel.”…”�”}”(hjÿh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K%hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhj½h²hh³hÊh´NubhÑ)�”}”(hXÉ:file:`type`, description of the scan element data storage within the buffer and hence the form in which it is read from user space. Format is [be|le]:[f|s|u]bits/storagebits[Xrepeat][>>shift] . * *be* or *le*, specifies big or little endian. * *f*, specifies if floating-point. * *s* or *u*, specifies if signed (2's complement) or unsigned. * *bits*, is the number of valid data bits. * *storagebits*, is the number of bits (after padding) that it occupies in the buffer. * *repeat*, specifies the number of bits/storagebits repetitions. When the repeat element is 0 or 1, then the repeat value is omitted. * *shift*, if specified, is the shift that needs to be applied prior to masking out unused bits. ”h]”(h×)�”}”(hŒÂ:file:`type`, description of the scan element data storage within the buffer and hence the form in which it is read from user space. Format is [be|le]:[f|s|u]bits/storagebits[Xrepeat][>>shift] .”h]”(hø)�”}”(hŒ :file:`type`”h]”hŒtype”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”Œfile”ah"]”h$]”h&]”Œrole”Œfile”uh1h÷hj'ubhŒ¶, description of the scan element data storage within the buffer and hence the form in which it is read from user space. Format is [be|le]:[f|s|u]bits/storagebits[Xrepeat][>>shift] .”…”�”}”(hj'h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K&hj#ubhÌ)�”}”(hhh]”(hÑ)�”}”(hŒ-*be* or *le*, specifies big or little endian.”h]”h×)�”}”(hjKh]”(j®)�”}”(hŒ*be*”h]”hŒbe”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjMubhŒ or ”…”�”}”(hjMh²hh³Nh´Nubj®)�”}”(hŒ*le*”h]”hŒle”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjMubhŒ!, specifies big or little endian.”…”�”}”(hjMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K*hjIubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒ!*f*, specifies if floating-point.”h]”h×)�”}”(hj‚h]”(j®)�”}”(hŒ*f*”h]”hŒf”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj„ubhŒ, specifies if floating-point.”…”�”}”(hj„h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K+hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒ=*s* or *u*, specifies if signed (2's complement) or unsigned.”h]”h×)�”}”(hj§h]”(j®)�”}”(hŒ*s*”h]”hŒs”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj©ubhŒ or ”…”�”}”(hj©h²hh³Nh´Nubj®)�”}”(hŒ*u*”h]”hŒu”…”�”}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj©ubhŒ5, specifies if signed (2’s complement) or unsigned.”…”�”}”(hj©h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K,hj¥ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒ)*bits*, is the number of valid data bits.”h]”h×)�”}”(hjÞh]”(j®)�”}”(hŒ*bits*”h]”hŒbits”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjàubhŒ#, is the number of valid data bits.”…”�”}”(hjàh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K-hjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒT*storagebits*, is the number of bits (after padding) that it occupies in the buffer.”h]”h×)�”}”(hŒT*storagebits*, is the number of bits (after padding) that it occupies in the buffer.”h]”(j®)�”}”(hŒ *storagebits*”h]”hŒ storagebits”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjubhŒG, is the number of bits (after padding) that it occupies in the buffer.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K.hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒ„*repeat*, specifies the number of bits/storagebits repetitions. When the repeat element is 0 or 1, then the repeat value is omitted.”h]”h×)�”}”(hŒ„*repeat*, specifies the number of bits/storagebits repetitions. When the repeat element is 0 or 1, then the repeat value is omitted.”h]”(j®)�”}”(hŒ*repeat*”h]”hŒrepeat”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hj+ubhŒ|, specifies the number of bits/storagebits repetitions. When the repeat element is 0 or 1, then the repeat value is omitted.”…”�”}”(hj+h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K0hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubhÑ)�”}”(hŒ_*shift*, if specified, is the shift that needs to be applied prior to masking out unused bits. ”h]”h×)�”}”(hŒ^*shift*, if specified, is the shift that needs to be applied prior to masking out unused bits.”h]”(j®)�”}”(hŒ*shift*”h]”hŒshift”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j­hjQubhŒW, if specified, is the shift that needs to be applied prior to masking out unused bits.”…”�”}”(hjQh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K2hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjFubeh}”(h]”h ]”h"]”h$]”h&]”j›jœuh1hËh³hÊh´K*hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÐhj½h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”j›jœuh1hËh³hÊh´K"hjxh²hubh×)�”}”(hŒ�For example, a driver for a 3-axis accelerometer with 12 bit resolution where data is stored in two 8-bits registers as follows::”h]”hŒ€For example, a driver for a 3-axis accelerometer with 12 bit resolution where data is stored in two 8-bits registers as follows:”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K5hjxh²hubhŒ literal_block”“”)�”}”(hX? 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+ |D3 |D2 |D1 |D0 | X | X | X | X | (LOW byte, address 0x06) +---+---+---+---+---+---+---+---+ 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+ |D11|D10|D9 |D8 |D7 |D6 |D5 |D4 | (HIGH byte, address 0x07) +---+---+---+---+---+---+---+---+”h]”hX? 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+ |D3 |D2 |D1 |D0 | X | X | X | X | (LOW byte, address 0x06) +---+---+---+---+---+---+---+---+ 7 6 5 4 3 2 1 0 +---+---+---+---+---+---+---+---+ |D11|D10|D9 |D8 |D7 |D6 |D5 |D4 | (HIGH byte, address 0x07) +---+---+---+---+---+---+---+---+”…”�”}”hj•sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j“h³hÊh´K8hjxh²hubh×)�”}”(hŒ9will have the following scan element type for each axis::”h]”hŒ8will have the following scan element type for each axis:”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KBhjxh²hubj”)�”}”(hŒQ$ cat /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_type le:s12/16>>4”h]”hŒQ$ cat /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_type le:s12/16>>4”…”�”}”hj³sbah}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1j“h³hÊh´KDhjxh²hubh×)�”}”(hŒ¾A user space application will interpret data samples read from the buffer as two byte little endian signed data, that needs a 4 bits right shift before masking out the 12 valid bits of data.”h]”hŒ¾A user space application will interpret data samples read from the buffer as two byte little endian signed data, that needs a 4 bits right shift before masking out the 12 valid bits of data.”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KGhjxh²hubh×)�”}”(hŒmFor implementing buffer support a driver should initialize the following fields in iio_chan_spec definition::”h]”hŒlFor implementing buffer support a driver should initialize the following fields in iio_chan_spec definition:”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KKhjxh²hubj”)�”}”(hX3struct iio_chan_spec { /* other members */ int scan_index struct { char format; u8 realbits; u8 storagebits; u8 shift; u8 repeat; enum iio_endian endianness; } scan_type; };”h]”hX3struct iio_chan_spec { /* other members */ int scan_index struct { char format; u8 realbits; u8 storagebits; u8 shift; u8 repeat; enum iio_endian endianness; } scan_type; };”…”�”}”hjÝsbah}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1j“h³hÊh´KNhjxh²hubh×)�”}”(hŒfThe driver implementing the accelerometer described above will have the following channel definition::”h]”hŒeThe driver implementing the accelerometer described above will have the following channel definition:”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K[hjxh²hubj”)�”}”(hX™struct iio_chan_spec accel_channels[] = { { .type = IIO_ACCEL, .modified = 1, .channel2 = IIO_MOD_X, /* other stuff here */ .scan_index = 0, .scan_type = { .format = IIO_SCAN_FORMAT_SIGNED_INT, .realbits = 12, .storagebits = 16, .shift = 4, .endianness = IIO_LE, }, } /* similar for Y (with channel2 = IIO_MOD_Y, scan_index = 1) * and Z (with channel2 = IIO_MOD_Z, scan_index = 2) axis */ }”h]”hX™struct iio_chan_spec accel_channels[] = { { .type = IIO_ACCEL, .modified = 1, .channel2 = IIO_MOD_X, /* other stuff here */ .scan_index = 0, .scan_type = { .format = IIO_SCAN_FORMAT_SIGNED_INT, .realbits = 12, .storagebits = 16, .shift = 4, .endianness = IIO_LE, }, } /* similar for Y (with channel2 = IIO_MOD_Y, scan_index = 1) * and Z (with channel2 = IIO_MOD_Z, scan_index = 2) axis */ }”…”�”}”hjùsbah}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1j“h³hÊh´K^hjxh²hubh×)�”}”(hŒîHere **scan_index** defines the order in which the enabled channels are placed inside the buffer. Channels with a lower **scan_index** will be placed before channels with a higher index. Each channel needs to have a unique **scan_index**.”h]”(hŒHere ”…”�”}”(hjh²hh³Nh´NubhŒstrong”“”)�”}”(hŒ**scan_index**”h]”hŒ scan_index”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒe defines the order in which the enabled channels are placed inside the buffer. Channels with a lower ”…”�”}”(hjh²hh³Nh´Nubj)�”}”(hŒ**scan_index**”h]”hŒ scan_index”…”�”}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒY will be placed before channels with a higher index. Each channel needs to have a unique ”…”�”}”(hjh²hh³Nh´Nubj)�”}”(hŒ**scan_index**”h]”hŒ scan_index”…”�”}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒ.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Krhjxh²hubh×)�”}”(hŒÉSetting **scan_index** to -1 can be used to indicate that the specific channel does not support buffered capture. In this case no entries will be created for the channel in the scan_elements directory.”h]”(hŒSetting ”…”�”}”(hjMh²hh³Nh´Nubj)�”}”(hŒ**scan_index**”h]”hŒ scan_index”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjMubhŒ³ to -1 can be used to indicate that the specific channel does not support buffered capture. In this case no entries will be created for the channel in the scan_elements directory.”…”�”}”(hjMh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Kwhjxh²hubeh}”(h]”Œiio-buffer-setup”ah ]”h"]”Œiio buffer setup”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)�”}”(hhh]”(h»)�”}”(hŒ More details”h]”hŒ More details”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjuh²hh³hÊh´K|ubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ/iio_push_to_buffers_with_timestamp (C function)”Œ$c.iio_push_to_buffers_with_timestamp”hNt”auh1j†hjuh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒaint iio_push_to_buffers_with_timestamp (struct iio_dev *indio_dev, void *data, int64_t timestamp)”h]”hŒdesc_signature_line”“”)�”}”(hŒ`int iio_push_to_buffers_with_timestamp(struct iio_dev *indio_dev, void *data, int64_t timestamp)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒint”h]”hŒint”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1j¨hj¤h²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jºhj¤h²hh³j¹h´KubhŒ desc_name”“”)�”}”(hŒ"iio_push_to_buffers_with_timestamp”h]”hŒ desc_sig_name”“”)�”}”(hŒ"iio_push_to_buffers_with_timestamp”h]”hŒ"iio_push_to_buffers_with_timestamp”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jÑhjÍubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”j£j¤uh1jËhj¤h²hh³j¹h´KubhŒdesc_parameterlist”“”)�”}”(hŒ:(struct iio_dev *indio_dev, void *data, int64_t timestamp)”h]”(hŒdesc_parameter”“”)�”}”(hŒstruct iio_dev *indio_dev”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jöhjòubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjòubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”Œ identifier”Œ reftarget”jŒmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j3Œ ASTIdentifier”“”)�”}”j.jÕsbŒ$c.iio_push_to_buffers_with_timestamp”†”asbuh1hhjòubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj@h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjòubhŒdesc_sig_punctuation”“”)�”}”(hjœh]”hŒ*”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jNhjòubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjòubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjìubjñ)�”}”(hŒ void *data”h]”(j©)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjsubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjsubjO)�”}”(hjœh]”hŒ*”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjsubjÒ)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjsubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjìubjñ)�”}”(hŒint64_t timestamp”h]”(h)�”}”(hhh]”jÒ)�”}”(hŒint64_t”h]”hŒint64_t”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j¾Œmodname”NŒ classname”Nj2j5)�”}”j8]”j<Œ$c.iio_push_to_buffers_with_timestamp”†”asbuh1hhjµubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjµubjÒ)�”}”(hŒ timestamp”h]”hŒ timestamp”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjµubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjìubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhj¤h²hh³j¹h´Kubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤Œ add_permalink”ˆuh1j¢Œsphinx_line_type”Œ declarator”hjžh²hh³j¹h´Kubah}”(h]”j•ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jœh³j¹h´Khj™h²hubhŒ desc_content”“”)�”}”(hhh]”h×)�”}”(hŒ"push data and timestamp to buffers”h]”hŒ"push data and timestamp to buffers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj™h²hh³j¹h´Kubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”Œdomain”jŒobjtype”j4Œdesctype”j4Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j—h²hhjuh³Nh´NubhŒ container”“”)�”}”(hX#**Parameters** ``struct iio_dev *indio_dev`` iio_dev structure for device. ``void *data`` sample data ``int64_t timestamp`` timestamp for the sample data **Description** DEPRECATED: Use iio_push_to_buffers_with_ts() instead. Returns 0 on success, a negative error code otherwise.”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hjFh]”hŒ Parameters”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khj@ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ<``struct iio_dev *indio_dev`` iio_dev structure for device. ”h]”(hŒterm”“”)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hjkh]”hŒstruct iio_dev *indio_dev”…”�”}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjiubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KhjcubhŒ definition”“”)�”}”(hhh]”h×)�”}”(hŒiio_dev structure for device.”h]”hŒiio_dev structure for device.”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j€h´Khjƒubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjcubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j€h´Khj^ubjb)�”}”(hŒ``void *data`` sample data ”h]”(jh)�”}”(hŒ``void *data``”h]”hø)�”}”(hj¦h]”hŒ void *data”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khj ubj‚)�”}”(hhh]”h×)�”}”(hŒ sample data”h]”hŒ sample data”…”�”}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j»h´Khj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j»h´Khj^ubjb)�”}”(hŒ4``int64_t timestamp`` timestamp for the sample data ”h]”(jh)�”}”(hŒ``int64_t timestamp``”h]”hø)�”}”(hjßh]”hŒint64_t timestamp”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KhjÙubj‚)�”}”(hhh]”h×)�”}”(hŒtimestamp for the sample data”h]”hŒtimestamp for the sample data”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jôh´Khjõubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jôh´Khj^ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hj@ubh×)�”}”(hŒ**Description**”h]”j)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khj@ubh×)�”}”(hŒ6DEPRECATED: Use iio_push_to_buffers_with_ts() instead.”h]”hŒ6DEPRECATED: Use iio_push_to_buffers_with_ts() instead.”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khj@ubh×)�”}”(hŒ6Returns 0 on success, a negative error code otherwise.”h]”hŒ6Returns 0 on success, a negative error code otherwise.”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´Khj@ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œ(iio_push_to_buffers_with_ts (C function)”Œc.iio_push_to_buffers_with_ts”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒmint iio_push_to_buffers_with_ts (struct iio_dev *indio_dev, void *data, size_t data_total_len, s64 timestamp)”h]”j£)�”}”(hŒlint iio_push_to_buffers_with_ts(struct iio_dev *indio_dev, void *data, size_t data_total_len, s64 timestamp)”h]”(j©)�”}”(hŒint”h]”hŒint”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjjh²hh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K5ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjjh²hh³j|h´K5ubjÌ)�”}”(hŒiio_push_to_buffers_with_ts”h]”jÒ)�”}”(hŒiio_push_to_buffers_with_ts”h]”hŒiio_push_to_buffers_with_ts”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj‹ubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhjjh²hh³j|h´K5ubjë)�”}”(hŒM(struct iio_dev *indio_dev, void *data, size_t data_total_len, s64 timestamp)”h]”(jñ)�”}”(hŒstruct iio_dev *indio_dev”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj§ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj§ubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjÆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”jËŒmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.j‘sbŒc.iio_push_to_buffers_with_ts”†”asbuh1hhj§ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj§ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhj§ubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj§ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj£ubjñ)�”}”(hŒ void *data”h]”(j©)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hj ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hj9 h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhj ubjÒ)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj£ubjñ)�”}”(hŒsize_t data_total_len”h]”(h)�”}”(hhh]”jÒ)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj_ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”jd Œmodname”NŒ classname”Nj2j5)�”}”j8]”jåŒc.iio_push_to_buffers_with_ts”†”asbuh1hhj[ ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj€ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj[ ubjÒ)�”}”(hŒdata_total_len”h]”hŒdata_total_len”…”�”}”(hjŽ h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj[ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj£ubjñ)�”}”(hŒ s64 timestamp”h]”(h)�”}”(hhh]”jÒ)�”}”(hŒs64”h]”hŒs64”…”�”}”(hjª h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj§ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j¬ Œmodname”NŒ classname”Nj2j5)�”}”j8]”jåŒc.iio_push_to_buffers_with_ts”†”asbuh1hhj£ ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj£ ubjÒ)�”}”(hŒ timestamp”h]”hŒ timestamp”…”�”}”(hjÖ h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj£ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj£ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhjjh²hh³j|h´K5ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hjfh²hh³j|h´K5ubah}”(h]”jaah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³j|h´K5hjch²hubj)�”}”(hhh]”h×)�”}”(hŒ"push data and timestamp to buffers”h]”hŒ"push data and timestamp to buffers”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K5hjý h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjch²hh³j|h´K5ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9j j:j j;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hXÇ**Parameters** ``struct iio_dev *indio_dev`` iio_dev structure for device. ``void *data`` Pointer to sample data buffer. ``size_t data_total_len`` The size of **data** in bytes. ``s64 timestamp`` Timestamp for the sample data. **Description** Pushes data to the IIO device's buffers. If timestamps are enabled for the device the function will store the supplied timestamp as the last element in the sample data buffer before pushing it to the device buffers. The sample data buffer needs to be large enough to hold the additional timestamp (usually the buffer should be at least indio->scan_bytes bytes large). **Context** Any context. **Return** 0 on success, a negative error code otherwise.”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hj" h]”hŒ Parameters”…”�”}”(hj$ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K9hj ubj])�”}”(hhh]”(jb)�”}”(hŒ<``struct iio_dev *indio_dev`` iio_dev structure for device. ”h]”(jh)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hjA h]”hŒstruct iio_dev *indio_dev”…”�”}”(hjC h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj? ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K6hj; ubj‚)�”}”(hhh]”h×)�”}”(hŒiio_dev structure for device.”h]”hŒiio_dev structure for device.”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jV h´K6hjW ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj; ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jV h´K6hj8 ubjb)�”}”(hŒ.``void *data`` Pointer to sample data buffer. ”h]”(jh)�”}”(hŒ``void *data``”h]”hø)�”}”(hjz h]”hŒ void *data”…”�”}”(hj| h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjx ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K7hjt ubj‚)�”}”(hhh]”h×)�”}”(hŒPointer to sample data buffer.”h]”hŒPointer to sample data buffer.”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j� h´K7hj� ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjt ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j� h´K7hj8 ubjb)�”}”(hŒ9``size_t data_total_len`` The size of **data** in bytes. ”h]”(jh)�”}”(hŒ``size_t data_total_len``”h]”hø)�”}”(hj³ h]”hŒsize_t data_total_len”…”�”}”(hjµ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj± ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K8hj­ ubj‚)�”}”(hhh]”h×)�”}”(hŒThe size of **data** in bytes.”h]”(hŒ The size of ”…”�”}”(hjÌ h²hh³Nh´Nubj)�”}”(hŒ**data**”h]”hŒdata”…”�”}”(hjÔ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÌ ubhŒ in bytes.”…”�”}”(hjÌ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jÈ h´K8hjÉ ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj­ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jÈ h´K8hj8 ubjb)�”}”(hŒ1``s64 timestamp`` Timestamp for the sample data. ”h]”(jh)�”}”(hŒ``s64 timestamp``”h]”hø)�”}”(hjþ h]”hŒ s64 timestamp”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjü ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K9hjø ubj‚)�”}”(hhh]”h×)�”}”(hŒTimestamp for the sample data.”h]”hŒTimestamp for the sample data.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j h´K9hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjø ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j h´K9hj8 ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hj ubh×)�”}”(hŒ**Description**”h]”j)�”}”(hj9 h]”hŒ Description”…”�”}”(hj; h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7 ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K;hj ubh×)�”}”(hXoPushes data to the IIO device's buffers. If timestamps are enabled for the device the function will store the supplied timestamp as the last element in the sample data buffer before pushing it to the device buffers. The sample data buffer needs to be large enough to hold the additional timestamp (usually the buffer should be at least indio->scan_bytes bytes large).”h]”hXqPushes data to the IIO device’s buffers. If timestamps are enabled for the device the function will store the supplied timestamp as the last element in the sample data buffer before pushing it to the device buffers. The sample data buffer needs to be large enough to hold the additional timestamp (usually the buffer should be at least indio->scan_bytes bytes large).”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K:hj ubh×)�”}”(hŒ **Context**”h]”j)�”}”(hj` h]”hŒContext”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´K@hj ubh×)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjv h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KAhj ubh×)�”}”(hŒ **Return**”h]”j)�”}”(hj‡ h]”hŒReturn”…”�”}”(hj‰ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj… ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KChj ubh×)�”}”(hŒ.0 on success, a negative error code otherwise.”h]”hŒ.0 on success, a negative error code otherwise.”…”�”}”(hj� h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œb/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:125: ./include/linux/iio/buffer.h”h´KBhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œ*iio_validate_scan_mask_onehot (C function)”Œc.iio_validate_scan_mask_onehot”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒYbool iio_validate_scan_mask_onehot (struct iio_dev *indio_dev, const unsigned long *mask)”h]”j£)�”}”(hŒXbool iio_validate_scan_mask_onehot(struct iio_dev *indio_dev, const unsigned long *mask)”h]”(j©)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjÈ h²hh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M9 ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÛ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjÈ h²hh³jÚ h´M9 ubjÌ)�”}”(hŒiio_validate_scan_mask_onehot”h]”jÒ)�”}”(hŒiio_validate_scan_mask_onehot”h]”hŒiio_validate_scan_mask_onehot”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjé ubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhjÈ h²hh³jÚ h´M9 ubjë)�”}”(hŒ6(struct iio_dev *indio_dev, const unsigned long *mask)”h]”(jñ)�”}”(hŒstruct iio_dev *indio_dev”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj ubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hj' h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj$ ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j) Œmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.jï sbŒc.iio_validate_scan_mask_onehot”†”asbuh1hhj ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjG h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjU h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhj ubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj ubjñ)�”}”(hŒconst unsigned long *mask”h]”(j÷)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjw ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‰ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjw ubj©)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj— h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjw ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjw ubj©)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj³ h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjw ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÁ h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjw ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjw ubjÒ)�”}”(hŒmask”h]”hŒmask”…”�”}”(hjÜ h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjw ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhjÈ h²hh³jÚ h´M9 ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hjÄ h²hh³jÚ h´M9 ubah}”(h]”j¿ ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³jÚ h´M9 hjÁ h²hubj)�”}”(hhh]”h×)�”}”(hŒ.Validates that exactly one channel is selected”h]”hŒ.Validates that exactly one channel is selected”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M9 hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÁ h²hh³jÚ h´M9 ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9j j:j j;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hX***Parameters** ``struct iio_dev *indio_dev`` the iio device ``const unsigned long *mask`` scan mask to be checked **Description** Return true if exactly one bit is set in the scan mask, false otherwise. It can be used for devices where only one channel can be active for sampling at a time.”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hj( h]”hŒ Parameters”…”�”}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj& ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M= hj" ubj])�”}”(hhh]”(jb)�”}”(hŒ-``struct iio_dev *indio_dev`` the iio device ”h]”(jh)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hjG h]”hŒstruct iio_dev *indio_dev”…”�”}”(hjI h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjE ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M: hjA ubj‚)�”}”(hhh]”h×)�”}”(hŒthe iio device”h]”hŒthe iio device”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j\ h´M: hj] ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjA ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j\ h´M: hj> ubjb)�”}”(hŒ6``const unsigned long *mask`` scan mask to be checked ”h]”(jh)�”}”(hŒ``const unsigned long *mask``”h]”hø)�”}”(hj€ h]”hŒconst unsigned long *mask”…”�”}”(hj‚ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj~ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M; hjz ubj‚)�”}”(hhh]”h×)�”}”(hŒscan mask to be checked”h]”hŒscan mask to be checked”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j• h´M; hj– ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjz ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j• h´M; hj> ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hj" ubh×)�”}”(hŒ**Description**”h]”j)�”}”(hj» h]”hŒ Description”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M= hj" ubh×)�”}”(hŒ Return true if exactly one bit is set in the scan mask, false otherwise. It can be used for devices where only one channel can be active for sampling at a time.”h]”hŒ Return true if exactly one bit is set in the scan mask, false otherwise. It can be used for devices where only one channel can be active for sampling at a time.”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M< hj" ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œ iio_push_to_buffers (C function)”Œc.iio_push_to_buffers”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒEint iio_push_to_buffers (struct iio_dev *indio_dev, const void *data)”h]”j£)�”}”(hŒDint iio_push_to_buffers(struct iio_dev *indio_dev, const void *data)”h]”(j©)�”}”(hŒint”h]”hŒint”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjü h²hh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mh ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjü h²hh³jh´Mh ubjÌ)�”}”(hŒiio_push_to_buffers”h]”jÒ)�”}”(hŒiio_push_to_buffers”h]”hŒiio_push_to_buffers”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhjü h²hh³jh´Mh ubjë)�”}”(hŒ-(struct iio_dev *indio_dev, const void *data)”h]”(jñ)�”}”(hŒstruct iio_dev *indio_dev”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj9ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj9ubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjXubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j]Œmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.j#sbŒc.iio_push_to_buffers”†”asbuh1hhj9ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj9ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhj9ubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj9ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj5ubjñ)�”}”(hŒconst void *data”h]”(j÷)�”}”(hj} h]”hŒconst”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhj«ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj«ubj©)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hj«ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj«ubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjæh²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhj«ubjÒ)�”}”(hŒdata”h]”hŒdata”…”�”}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj«ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj5ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhjü h²hh³jh´Mh ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hjø h²hh³jh´Mh ubah}”(h]”jó ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³jh´Mh hjõ h²hubj)�”}”(hhh]”h×)�”}”(hŒpush to a registered buffer.”h]”hŒpush to a registered buffer.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mh hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjõ h²hh³jh´Mh ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9j5j:j5j;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hŒÆ**Parameters** ``struct iio_dev *indio_dev`` iio_dev structure for device. ``const void *data`` Full scan. **Context** Any context. **Return** 0 on success, negative error code on failure.”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hj?h]”hŒ Parameters”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj=ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Ml hj9ubj])�”}”(hhh]”(jb)�”}”(hŒ<``struct iio_dev *indio_dev`` iio_dev structure for device. ”h]”(jh)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hj^h]”hŒstruct iio_dev *indio_dev”…”�”}”(hj`h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj\ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mi hjXubj‚)�”}”(hhh]”h×)�”}”(hŒiio_dev structure for device.”h]”hŒiio_dev structure for device.”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jsh´Mi hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jsh´Mi hjUubjb)�”}”(hŒ ``const void *data`` Full scan. ”h]”(jh)�”}”(hŒ``const void *data``”h]”hø)�”}”(hj—h]”hŒconst void *data”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj•ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mj hj‘ubj‚)�”}”(hhh]”h×)�”}”(hŒ Full scan.”h]”hŒ Full scan.”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j¬h´Mj hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj‘ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j¬h´Mj hjUubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hj9ubh×)�”}”(hŒ **Context**”h]”j)�”}”(hjÒh]”hŒContext”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Ml hj9ubh×)�”}”(hŒ Any context.”h]”hŒ Any context.”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Ml hj9ubh×)�”}”(hŒ **Return**”h]”j)�”}”(hjùh]”hŒReturn”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mn hj9ubh×)�”}”(hŒ-0 on success, negative error code on failure.”h]”hŒ-0 on success, negative error code on failure.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mm hj9ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œ2iio_push_to_buffers_with_ts_unaligned (C function)”Œ'c.iio_push_to_buffers_with_ts_unaligned”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒvint iio_push_to_buffers_with_ts_unaligned (struct iio_dev *indio_dev, const void *data, size_t data_sz, s64 timestamp)”h]”j£)�”}”(hŒuint iio_push_to_buffers_with_ts_unaligned(struct iio_dev *indio_dev, const void *data, size_t data_sz, s64 timestamp)”h]”(j©)�”}”(hŒint”h]”hŒint”…”�”}”(hj>h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hj:h²hh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M€ ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj:h²hh³jLh´M€ ubjÌ)�”}”(hŒ%iio_push_to_buffers_with_ts_unaligned”h]”jÒ)�”}”(hŒ%iio_push_to_buffers_with_ts_unaligned”h]”hŒ%iio_push_to_buffers_with_ts_unaligned”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj[ubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhj:h²hh³jLh´M€ ubjë)�”}”(hŒL(struct iio_dev *indio_dev, const void *data, size_t data_sz, s64 timestamp)”h]”(jñ)�”}”(hŒstruct iio_dev *indio_dev”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjwubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjwubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hj™h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj–ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j›Œmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.jasbŒ'c.iio_push_to_buffers_with_ts_unaligned”†”asbuh1hhjwubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjwubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjwubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjwubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjsubjñ)�”}”(hŒconst void *data”h]”(j÷)�”}”(hj} h]”hŒconst”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjéubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjéubj©)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hjéubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjéubjO)�”}”(hjœh]”hŒ*”…”�”}”(hj$h²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjéubjÒ)�”}”(hŒdata”h]”hŒdata”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjéubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjsubjñ)�”}”(hŒsize_t data_sz”h]”(h)�”}”(hhh]”jÒ)�”}”(hŒsize_t”h]”hŒsize_t”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjJubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”jOŒmodname”NŒ classname”Nj2j5)�”}”j8]”jµŒ'c.iio_push_to_buffers_with_ts_unaligned”†”asbuh1hhjFubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjFubjÒ)�”}”(hŒdata_sz”h]”hŒdata_sz”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjFubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjsubjñ)�”}”(hŒ s64 timestamp”h]”(h)�”}”(hhh]”jÒ)�”}”(hŒs64”h]”hŒs64”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj’ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j—Œmodname”NŒ classname”Nj2j5)�”}”j8]”jµŒ'c.iio_push_to_buffers_with_ts_unaligned”†”asbuh1hhjŽubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjŽubjÒ)�”}”(hŒ timestamp”h]”hŒ timestamp”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjŽubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjsubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhj:h²hh³jLh´M€ ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hj6h²hh³jLh´M€ ubah}”(h]”j1ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³jLh´M€ hj3h²hubj)�”}”(hhh]”h×)�”}”(hŒ>push to registered buffer, no alignment or space requirements.”h]”hŒ>push to registered buffer, no alignment or space requirements.”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M€ hjèh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj3h²hh³jLh´M€ ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9jj:jj;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hXG**Parameters** ``struct iio_dev *indio_dev`` iio_dev structure for device. ``const void *data`` channel data excluding the timestamp. ``size_t data_sz`` size of data. ``s64 timestamp`` timestamp for the sample data. **Description** This special variant of iio_push_to_buffers_with_timestamp() does not require space for the timestamp, or 8 byte alignment of data. It does however require an allocation on first call and additional copies on all calls, so should be avoided if possible. **Context** May sleep. **Return** 0 on success, negative error code on failure.”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hj h]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M„ hjubj])�”}”(hhh]”(jb)�”}”(hŒ<``struct iio_dev *indio_dev`` iio_dev structure for device. ”h]”(jh)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hj,h]”hŒstruct iio_dev *indio_dev”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M‚ hj&ubj‚)�”}”(hhh]”h×)�”}”(hŒiio_dev structure for device.”h]”hŒiio_dev structure for device.”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jAh´M‚ hjBubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jAh´M‚ hj#ubjb)�”}”(hŒ;``const void *data`` channel data excluding the timestamp. ”h]”(jh)�”}”(hŒ``const void *data``”h]”hø)�”}”(hjeh]”hŒconst void *data”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjcubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mƒ hj_ubj‚)�”}”(hhh]”h×)�”}”(hŒ%channel data excluding the timestamp.”h]”hŒ%channel data excluding the timestamp.”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jzh´Mƒ hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj_ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jzh´Mƒ hj#ubjb)�”}”(hŒ!``size_t data_sz`` size of data. ”h]”(jh)�”}”(hŒ``size_t data_sz``”h]”hø)�”}”(hjžh]”hŒsize_t data_sz”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M„ hj˜ubj‚)�”}”(hhh]”h×)�”}”(hŒ size of data.”h]”hŒ size of data.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j³h´M„ hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj˜ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j³h´M„ hj#ubjb)�”}”(hŒ1``s64 timestamp`` timestamp for the sample data. ”h]”(jh)�”}”(hŒ``s64 timestamp``”h]”hø)�”}”(hj×h]”hŒ s64 timestamp”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M… hjÑubj‚)�”}”(hhh]”h×)�”}”(hŒtimestamp for the sample data.”h]”hŒtimestamp for the sample data.”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jìh´M… hjíubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hjÑubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jìh´M… hj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hjubh×)�”}”(hŒ**Description**”h]”j)�”}”(hjh]”hŒ Description”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M‡ hjubh×)�”}”(hŒýThis special variant of iio_push_to_buffers_with_timestamp() does not require space for the timestamp, or 8 byte alignment of data. It does however require an allocation on first call and additional copies on all calls, so should be avoided if possible.”h]”hŒýThis special variant of iio_push_to_buffers_with_timestamp() does not require space for the timestamp, or 8 byte alignment of data. It does however require an allocation on first call and additional copies on all calls, so should be avoided if possible.”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M† hjubh×)�”}”(hŒ **Context**”h]”j)�”}”(hj9h]”hŒContext”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M‹ hjubh×)�”}”(hŒ May sleep.”h]”hŒ May sleep.”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MŒ hjubh×)�”}”(hŒ **Return**”h]”j)�”}”(hj`h]”hŒReturn”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MŽ hjubh×)�”}”(hŒ-0 on success, negative error code on failure.”h]”hŒ-0 on success, negative error code on failure.”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´M� hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œiio_buffer_get (C function)”Œc.iio_buffer_get”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒ>struct iio_buffer * iio_buffer_get (struct iio_buffer *buffer)”h]”j£)�”}”(hŒhjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œiio_buffer_put (C function)”Œc.iio_buffer_put”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒ/void iio_buffer_put (struct iio_buffer *buffer)”h]”j£)�”}”(hŒ.void iio_buffer_put(struct iio_buffer *buffer)”h]”(j©)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hj]h²hh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MÔ ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj]h²hh³joh´MÔ ubjÌ)�”}”(hŒiio_buffer_put”h]”jÒ)�”}”(hŒiio_buffer_put”h]”hŒiio_buffer_put”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj~ubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhj]h²hh³joh´MÔ ubjë)�”}”(hŒ(struct iio_buffer *buffer)”h]”jñ)�”}”(hŒstruct iio_buffer *buffer”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjšubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjšubh)�”}”(hhh]”jÒ)�”}”(hŒ iio_buffer”h]”hŒ iio_buffer”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj¹ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j¾Œmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.j„sbŒc.iio_buffer_put”†”asbuh1hhjšubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÜh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjšubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjêh²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjšubjÒ)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjšubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhj–ubah}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhj]h²hh³joh´MÔ ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hjYh²hh³joh´MÔ ubah}”(h]”jTah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³joh´MÔ hjVh²hubj)�”}”(hhh]”h×)�”}”(hŒ#Release the reference to the buffer”h]”hŒ#Release the reference to the buffer”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MÔ hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjVh²hh³joh´MÔ ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9j9j:j9j;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hŒd**Parameters** ``struct iio_buffer *buffer`` The buffer to release the reference for, may be NULL”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hjCh]”hŒ Parameters”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MØ hj=ubj])�”}”(hhh]”jb)�”}”(hŒR``struct iio_buffer *buffer`` The buffer to release the reference for, may be NULL”h]”(jh)�”}”(hŒ``struct iio_buffer *buffer``”h]”hø)�”}”(hjbh]”hŒstruct iio_buffer *buffer”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MÚ hj\ubj‚)�”}”(hhh]”h×)�”}”(hŒ4The buffer to release the reference for, may be NULL”h]”hŒ4The buffer to release the reference for, may be NULL”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´MÕ hjxubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jwh´MÚ hjYubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj=ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubj‡)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j“Œ%iio_device_attach_buffer (C function)”Œc.iio_device_attach_buffer”hNt”auh1j†hjuh²hh³Nh´Nubj˜)�”}”(hhh]”(j�)�”}”(hŒSint iio_device_attach_buffer (struct iio_dev *indio_dev, struct iio_buffer *buffer)”h]”j£)�”}”(hŒRint iio_device_attach_buffer(struct iio_dev *indio_dev, struct iio_buffer *buffer)”h]”(j©)�”}”(hŒint”h]”hŒint”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”jµah"]”h$]”h&]”uh1j¨hj¸h²hh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mß ubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhj¸h²hh³jÊh´Mß ubjÌ)�”}”(hŒiio_device_attach_buffer”h]”jÒ)�”}”(hŒiio_device_attach_buffer”h]”hŒiio_device_attach_buffer”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjÙubah}”(h]”h ]”(jåjæeh"]”h$]”h&]”j£j¤uh1jËhj¸h²hh³jÊh´Mß ubjë)�”}”(hŒ6(struct iio_dev *indio_dev, struct iio_buffer *buffer)”h]”(jñ)�”}”(hŒstruct iio_dev *indio_dev”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjõubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjõubh)�”}”(hhh]”jÒ)�”}”(hŒiio_dev”h]”hŒiio_dev”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”jŒmodname”NŒ classname”Nj2j5)�”}”j8]”j;)�”}”j.jßsbŒc.iio_device_attach_buffer”†”asbuh1hhjõubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjõubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjõubjÒ)�”}”(hŒ indio_dev”h]”hŒ indio_dev”…”�”}”(hjRh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjõubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjñubjñ)�”}”(hŒstruct iio_buffer *buffer”h]”(j÷)�”}”(hjúh]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jöhjgubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjgubh)�”}”(hhh]”jÒ)�”}”(hŒ iio_buffer”h]”hŒ iio_buffer”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhj†ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”jŒreftype”j.Œ reftarget”j‹Œmodname”NŒ classname”Nj2j5)�”}”j8]”j3Œc.iio_device_attach_buffer”†”asbuh1hhjgubj»)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj§h²hh³Nh´Nubah}”(h]”h ]”jÇah"]”h$]”h&]”uh1jºhjgubjO)�”}”(hjœh]”hŒ*”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jZah"]”h$]”h&]”uh1jNhjgubjÒ)�”}”(hŒbuffer”h]”hŒbuffer”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jÞah"]”h$]”h&]”uh1jÑhjgubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆj£j¤uh1jðhjñubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤uh1jêhj¸h²hh³jÊh´Mß ubeh}”(h]”h ]”h"]”h$]”h&]”j£j¤j ˆuh1j¢j j hj´h²hh³jÊh´Mß ubah}”(h]”j¯ah ]”(jjeh"]”h$]”h&]”jˆj)jhuh1jœh³jÊh´Mß hj±h²hubj)�”}”(hhh]”h×)�”}”(hŒAttach a buffer to a IIO device”h]”hŒAttach a buffer to a IIO device”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mß hjéh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±h²hh³jÊh´Mß ubeh}”(h]”h ]”(jŒfunction”eh"]”h$]”h&]”j8jj9jj:jj;‰j<‰j=‰uh1j—h²hhjuh³Nh´Nubj?)�”}”(hX***Parameters** ``struct iio_dev *indio_dev`` The device the buffer should be attached to ``struct iio_buffer *buffer`` The buffer to attach to the device **Description** Return 0 if successful, negative if error. This function attaches a buffer to a IIO device. The buffer stays attached to the device until the device is freed. For legacy reasons, the first attached buffer will also be assigned to 'indio_dev->buffer'. The array allocated here, will be free'd via the iio_device_detach_buffers() call which is handled by the iio_device_free().”h]”(h×)�”}”(hŒ**Parameters**”h]”j)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mã hjubj])�”}”(hhh]”(jb)�”}”(hŒJ``struct iio_dev *indio_dev`` The device the buffer should be attached to ”h]”(jh)�”}”(hŒ``struct iio_dev *indio_dev``”h]”hø)�”}”(hj-h]”hŒstruct iio_dev *indio_dev”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mà hj'ubj‚)�”}”(hhh]”h×)�”}”(hŒ+The device the buffer should be attached to”h]”hŒ+The device the buffer should be attached to”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³jBh´Mà hjCubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj'ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³jBh´Mà hj$ubjb)�”}”(hŒA``struct iio_buffer *buffer`` The buffer to attach to the device ”h]”(jh)�”}”(hŒ``struct iio_buffer *buffer``”h]”hø)�”}”(hjfh]”hŒstruct iio_buffer *buffer”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h÷hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jgh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Má hj`ubj‚)�”}”(hhh]”h×)�”}”(hŒ"The buffer to attach to the device”h]”hŒ"The buffer to attach to the device”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³j{h´Má hj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1j�hj`ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jah³j{h´Má hj$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j\hjubh×)�”}”(hŒ**Description**”h]”j)�”}”(hj¡h]”hŒ Description”…”�”}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mã hjubh×)�”}”(hŒ*Return 0 if successful, negative if error.”h]”hŒ*Return 0 if successful, negative if error.”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mâ hjubh×)�”}”(hXLThis function attaches a buffer to a IIO device. The buffer stays attached to the device until the device is freed. For legacy reasons, the first attached buffer will also be assigned to 'indio_dev->buffer'. The array allocated here, will be free'd via the iio_device_detach_buffers() call which is handled by the iio_device_free().”h]”hXRThis function attaches a buffer to a IIO device. The buffer stays attached to the device until the device is freed. For legacy reasons, the first attached buffer will also be assigned to ‘indio_dev->buffer’. The array allocated here, will be free’d via the iio_device_detach_buffers() call which is handled by the iio_device_free().”…”�”}”(hjÆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³Œi/var/lib/git/docbuild/linux/Documentation/driver-api/iio/buffers:126: ./drivers/iio/industrialio-buffer.c”h´Mä hjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j>hjuh²hh³Nh´Nubeh}”(h]”Œ more-details”ah ]”h"]”Œ more details”ah$]”h&]”uh1hµhh·h²hh³hÊh´K|ubeh}”(h]”Œbuffers”ah ]”h"]”Œbuffers”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jéjæjujrjrjojájÞuŒ nametypes”}”(jé‰ju‰jr‰já‰uh}”(jæh·jrjÐjojxjÞjuj•jžjajfj¿ jÄ jó jø j1j6j˜j�jTjYj¯j´uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.