€•Œ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/userspace-api/gpio/chardev”Œ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/userspace-api/gpio/chardev”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/it_IT/userspace-api/gpio/chardev”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ja_JP/userspace-api/gpio/chardev”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ko_KR/userspace-api/gpio/chardev”Œ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/userspace-api/gpio/chardev”Œ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/userspace-api/gpio/chardev”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒH/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ#GPIO Character Device Userspace API”h]”hŒ#GPIO Character Device Userspace API”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)�”}”(hŒeThis is latest version (v2) of the character device API, as defined in ``include/uapi/linux/gpio.h.``”h]”(hŒGThis is latest version (v2) of the character device API, as defined in ”…”�”}”(hhßh²hh³Nh´NubhŒliteral”“”)�”}”(hŒ``include/uapi/linux/gpio.h.``”h]”hŒinclude/uapi/linux/gpio.h.”…”�”}”(hhéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhhßubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)�”}”(hŒFirst added in 5.10.”h]”hŒFirst added in 5.10.”…”�”}”(hhýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhÊh²hubhŒnote”“”)�”}”(hXNDo NOT abuse userspace APIs to control hardware that has proper kernel drivers. There may already be a driver for your use case, and an existing kernel driver is sure to provide a superior solution to bitbashing from userspace. Read Documentation/driver-api/gpio/drivers-on-gpio.rst to avoid reinventing kernel wheels in userspace. Similarly, for multi-function lines there may be other subsystems, such as Documentation/spi/index.rst, Documentation/i2c/index.rst, Documentation/driver-api/pwm.rst, Documentation/w1/index.rst etc, that provide suitable drivers and APIs for your hardware.”h]”(hÞ)�”}”(hŒãDo NOT abuse userspace APIs to control hardware that has proper kernel drivers. There may already be a driver for your use case, and an existing kernel driver is sure to provide a superior solution to bitbashing from userspace.”h]”hŒãDo NOT abuse userspace APIs to control hardware that has proper kernel drivers. There may already be a driver for your use case, and an existing kernel driver is sure to provide a superior solution to bitbashing from userspace.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hj ubhÞ)�”}”(hŒgRead Documentation/driver-api/gpio/drivers-on-gpio.rst to avoid reinventing kernel wheels in userspace.”h]”hŒgRead Documentation/driver-api/gpio/drivers-on-gpio.rst to avoid reinventing kernel wheels in userspace.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj ubhÞ)�”}”(hXSimilarly, for multi-function lines there may be other subsystems, such as Documentation/spi/index.rst, Documentation/i2c/index.rst, Documentation/driver-api/pwm.rst, Documentation/w1/index.rst etc, that provide suitable drivers and APIs for your hardware.”h]”hXSimilarly, for multi-function lines there may be other subsystems, such as Documentation/spi/index.rst, Documentation/i2c/index.rst, Documentation/driver-api/pwm.rst, Documentation/w1/index.rst etc, that provide suitable drivers and APIs for your hardware.”…”�”}”(hj-h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j hhÊh²hh³hÇh´NubhÞ)�”}”(hŒOBasic examples using the character device API can be found in ``tools/gpio/*``.”h]”(hŒ>Basic examples using the character device API can be found in ”…”�”}”(hjAh²hh³Nh´Nubhè)�”}”(hŒ``tools/gpio/*``”h]”hŒ tools/gpio/*”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjAubhŒ.”…”�”}”(hjAh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhÞ)�”}”(hŒgThe API is based around two major objects, the :ref:`gpio-v2-chip` and the :ref:`gpio-v2-line-request`.”h]”(hŒ/The API is based around two major objects, the ”…”�”}”(hjah²hh³Nh´Nubh)�”}”(hŒ:ref:`gpio-v2-chip`”h]”hŒinline”“”)�”}”(hjkh]”hŒ gpio-v2-chip”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jmhjiubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œuserspace-api/gpio/chardev”Œ refdomain”jzŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆŒ reftarget”Œ gpio-v2-chip”uh1hh³hÇh´KhjaubhŒ and the ”…”�”}”(hjah²hh³Nh´Nubh)�”}”(hŒ:ref:`gpio-v2-line-request`”h]”jn)�”}”(hj”h]”hŒgpio-v2-line-request”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”(jyŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jmhj’ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”j Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒŒgpio-v2-line-request”uh1hh³hÇh´KhjaubhŒ.”…”�”}”(hjah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhŒtarget”“”)�”}”(hŒ.. _gpio-v2-chip:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ gpio-v2-chip”uh1j¼h´KhhÊh²hh³hÇubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒChip”h]”hŒChip”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÊh²hh³hÇh´K"ubhÞ)�”}”(hŒuThe Chip represents a single GPIO chip and is exposed to userspace using device files of the form ``/dev/gpiochipX``.”h]”(hŒbThe Chip represents a single GPIO chip and is exposed to userspace using device files of the form ”…”�”}”(hjÛh²hh³Nh´Nubhè)�”}”(hŒ``/dev/gpiochipX``”h]”hŒ/dev/gpiochipX”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÛubhŒ.”…”�”}”(hjÛh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K$hjÊh²hubhÞ)�”}”(hŒÃEach chip supports a number of GPIO lines, :c:type:`chip.lines`. Lines on the chip are identified by an ``offset`` in the range from 0 to ``chip.lines - 1``, i.e. `[0,chip.lines)`.”h]”(hŒ+Each chip supports a number of GPIO lines, ”…”�”}”(hjûh²hh³Nh´Nubh)�”}”(hŒ#:c:type:`chip.lines`”h]”hè)�”}”(hjh]”hŒ chip.lines”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jyŒc”Œc-type”eh"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jŒŒ gpiochip_info”uh1hh³hÇh´K'hjûubhŒ). Lines on the chip are identified by an ”…”�”}”(hjûh²hh³Nh´Nubhè)�”}”(hŒ ``offset``”h]”hŒoffset”…”�”}”(hj'h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjûubhŒ in the range from 0 to ”…”�”}”(hjûh²hh³Nh´Nubhè)�”}”(hŒ``chip.lines - 1``”h]”hŒchip.lines - 1”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjûubhŒ, i.e. ”…”�”}”(hjûh²hh³Nh´NubhŒtitle_reference”“”)�”}”(hŒ`[0,chip.lines)`”h]”hŒ[0,chip.lines)”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjûubhŒ.”…”�”}”(hjûh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K'hjÊh²hubhÞ)�”}”(hŒ¯Lines are requested from the chip using gpio-v2-get-line-ioctl.rst and the resulting line request is used to access the GPIO chip's lines or monitor the lines for edge events.”h]”hŒ±Lines are requested from the chip using gpio-v2-get-line-ioctl.rst and the resulting line request is used to access the GPIO chip’s lines or monitor the lines for edge events.”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K+hjÊh²hubhÞ)�”}”(hŒ‚Within this documentation, the file descriptor returned by calling `open()` on the GPIO device file is referred to as ``chip_fd``.”h]”(hŒCWithin this documentation, the file descriptor returned by calling ”…”�”}”(hjsh²hh³Nh´NubjL)�”}”(hŒ`open()`”h]”hŒopen()”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjsubhŒ+ on the GPIO device file is referred to as ”…”�”}”(hjsh²hh³Nh´Nubhè)�”}”(hŒ ``chip_fd``”h]”hŒchip_fd”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjsubhŒ.”…”�”}”(hjsh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K/hjÊh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Operations”h]”hŒ Operations”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj¥h²hh³hÇh´K3ubhÞ)�”}”(hŒ6The following operations may be performed on the chip:”h]”hŒ6The following operations may be performed on the chip:”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K5hj¥h²hubhŒcompound”“”)�”}”(hhh]”hŒtoctree”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hj†Œentries”]”(ŒGet Line”Œ)userspace-api/gpio/gpio-v2-get-line-ioctl”†”Œ Get Chip Info”Œ*userspace-api/gpio/gpio-get-chipinfo-ioctl”†”Œ Get Line Info”Œ-userspace-api/gpio/gpio-v2-get-lineinfo-ioctl”†”ŒWatch Line Info”Œ3userspace-api/gpio/gpio-v2-get-lineinfo-watch-ioctl”†”ŒUnwatch Line Info”Œ2userspace-api/gpio/gpio-get-lineinfo-unwatch-ioctl”†”ŒRead Line Info Changed Events”Œ0userspace-api/gpio/gpio-v2-lineinfo-changed-read”†”eŒ includefiles”]”(j×jÚjÝjàjãjæeŒmaxdepth”JÿÿÿÿŒcaption”NŒglob”‰Œhidden”‰Œ includehidden”‰Œnumbered”KŒ titlesonly”ˆŒ rawentries”]”(jÖjÙjÜjßjâjåeuh1jÉh³hÇh´K7hjÆubah}”(h]”h ]”Œtoctree-wrapper”ah"]”h$]”h&]”uh1jÄhj¥h²hh³hÇh´Nubj½)�”}”(hŒ.. _gpio-v2-line-request:”h]”h}”(h]”h ]”h"]”h$]”h&]”jÈŒgpio-v2-line-request”uh1j¼h´KAhj¥h²hh³hÇubeh}”(h]”Œ operations”ah ]”h"]”h$]”Œ operations”ah&]”uh1hÈhjÊh²hh³hÇh´K3Œ referenced”Kubeh}”(h]”(Œchip”jÉeh ]”h"]”(Œchip”Œ gpio-v2-chip”eh$]”h&]”uh1hÈhhÊh²hh³hÇh´K"Œexpect_referenced_by_name”}”jj¾sŒexpect_referenced_by_id”}”jÉj¾subhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Line Request”h]”hŒ Line Request”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjh²hh³hÇh´KDubhÞ)�”}”(hX Line requests are created by gpio-v2-get-line-ioctl.rst and provide access to a set of requested lines. The line request is exposed to userspace via the anonymous file descriptor returned in :c:type:`request.fd` by gpio-v2-get-line-ioctl.rst.”h]”(hŒÀLine requests are created by gpio-v2-get-line-ioctl.rst and provide access to a set of requested lines. The line request is exposed to userspace via the anonymous file descriptor returned in ”…”�”}”(hj,h²hh³Nh´Nubh)�”}”(hŒ*:c:type:`request.fd`”h]”hè)�”}”(hj6h]”hŒ request.fd”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhj4ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰jŒŒgpio_v2_line_request”uh1hh³hÇh´KFhj,ubhŒ by gpio-v2-get-line-ioctl.rst.”…”�”}”(hj,h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KFhjh²hubhÞ)�”}”(hŒYWithin this documentation, the line request file descriptor is referred to as ``req_fd``.”h]”(hŒNWithin this documentation, the line request file descriptor is referred to as ”…”�”}”(hj]h²hh³Nh´Nubhè)�”}”(hŒ ``req_fd``”h]”hŒreq_fd”…”�”}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj]ubhŒ.”…”�”}”(hj]h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KKhjh²hubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒ Operations”h]”hŒ Operations”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj}h²hh³hÇh´KOubhÞ)�”}”(hŒ>The following operations may be performed on the line request:”h]”hŒ>The following operations may be performed on the line request:”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KQhj}h²hubjÅ)�”}”(hhh]”jÊ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hj†jÔ]”(ŒGet Line Values”Œ0userspace-api/gpio/gpio-v2-line-get-values-ioctl”†”ŒSet Line Values”Œ0userspace-api/gpio/gpio-v2-line-set-values-ioctl”†”ŒRead Line Edge Events”Œ*userspace-api/gpio/gpio-v2-line-event-read”†”ŒReconfigure Lines”Œ0userspace-api/gpio/gpio-v2-line-set-config-ioctl”†”ejè]”(jªj­j°j³ejêJÿÿÿÿjëNjì‰jí‰jî‰jïKjðˆjñ]”(j©j¬j¯j²euh1jÉh³hÇh´KShjœubah}”(h]”h ]”jöah"]”h$]”h&]”uh1jÄhj}h²hh³hÇh´Nubeh}”(h]”Œid1”ah ]”h"]”h$]”j ah&]”uh1hÈhjh²hh³hÇh´KOj Kubeh}”(h]”(Œ line-request”jeh ]”h"]”(Œ line request”Œgpio-v2-line-request”eh$]”h&]”uh1hÈhhÊh²hh³hÇh´KDj}”jÊjúsj}”jjúsubhÉ)�”}”(hhh]”(hÎ)�”}”(hŒTypes”h]”hŒTypes”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhjÏh²hh³hÇh´K\ubhÞ)�”}”(hŒ{This section contains the structs and enums that are referenced by the API v2, as defined in ``include/uapi/linux/gpio.h``.”h]”(hŒ]This section contains the structs and enums that are referenced by the API v2, as defined in ”…”�”}”(hjàh²hh³Nh´Nubhè)�”}”(hŒ``include/uapi/linux/gpio.h``”h]”hŒinclude/uapi/linux/gpio.h”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjàubhŒ.”…”�”}”(hjàh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K^hjÏh²hubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œgpiochip_info (C struct)”Œc.gpiochip_info”hNt”auh1jhjÏh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ gpiochip_info”h]”hŒdesc_signature_line”“”)�”}”(hŒstruct gpiochip_info”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hj%h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j#hjh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j5hjh²hh³j4h´KubhŒ desc_name”“”)�”}”(hŒ gpiochip_info”h]”hŒ desc_sig_name”“”)�”}”(hjh]”hŒ gpiochip_info”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jLhjHubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jFhjh²hh³j4h´Kubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jŒsphinx_line_type”Œ declarator”hjh²hh³j4h´Kubah}”(h]”jah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³j4h´Khjh²hubhŒ desc_content”“”)�”}”(hhh]”hÞ)�”}”(hŒ%Information about a certain GPIO chip”h]”hŒ%Information about a certain GPIO chip”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khjzh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjh²hh³j4h´Kubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”Œdomain”jŒobjtype”j•Œdesctype”j•Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jh²hhjÏh³jh´NubhŒ container”“”)�”}”(hXq**Definition**:: struct gpiochip_info { char name[GPIO_MAX_NAME_SIZE]; char label[GPIO_MAX_NAME_SIZE]; __u32 lines; }; **Members** ``name`` the Linux kernel name of this GPIO chip ``label`` a functional name for this GPIO chip, such as a product number, may be empty (i.e. label[0] == '\0') ``lines`` number of GPIO lines on this chip”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(hŒstrong”“”)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj¥ubhŒ:”…”�”}”(hj¥h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khj¡ubhŒ literal_block”“”)�”}”(hŒqstruct gpiochip_info { char name[GPIO_MAX_NAME_SIZE]; char label[GPIO_MAX_NAME_SIZE]; __u32 lines; };”h]”hŒqstruct gpiochip_info { char name[GPIO_MAX_NAME_SIZE]; char label[GPIO_MAX_NAME_SIZE]; __u32 lines; };”…”�”}”hjÆsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K hj¡ubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hj×h]”hŒMembers”…”�”}”(hjÙh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjÕubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K&hj¡ubhŒdefinition_list”“”)�”}”(hhh]”(hŒdefinition_list_item”“”)�”}”(hŒ1``name`` the Linux kernel name of this GPIO chip ”h]”(hŒterm”“”)�”}”(hŒ``name``”h]”hè)�”}”(hjüh]”hŒname”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjúubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KhjôubhŒ definition”“”)�”}”(hhh]”hÞ)�”}”(hŒ'the Linux kernel name of this GPIO chip”h]”hŒ'the Linux kernel name of this GPIO chip”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjôubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jh´Khjïubjó)�”}”(hŒo``label`` a functional name for this GPIO chip, such as a product number, may be empty (i.e. label[0] == '\0') ”h]”(jù)�”}”(hŒ ``label``”h]”hè)�”}”(hj7h]”hŒlabel”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khj1ubj)�”}”(hhh]”hÞ)�”}”(hŒda functional name for this GPIO chip, such as a product number, may be empty (i.e. label[0] == '\0')”h]”hŒha functional name for this GPIO chip, such as a product number, may be empty (i.e. label[0] == ‘0’)”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jLh´Khjïubjó)�”}”(hŒ+``lines`` number of GPIO lines on this chip”h]”(jù)�”}”(hŒ ``lines``”h]”hè)�”}”(hjqh]”hŒlines”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khjkubj)�”}”(hhh]”hÞ)�”}”(hŒ!number of GPIO lines on this chip”h]”hŒ!number of GPIO lines on this chip”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j†h´Khjïubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhj¡ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_flag (C enum)”Œc.gpio_v2_line_flag”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_flag”h]”j)�”}”(hŒenum gpio_v2_line_flag”h]”(j$)�”}”(hŒenum”h]”hŒenum”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hjÇh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K%ubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÚh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjÇh²hh³jÙh´K%ubjG)�”}”(hŒgpio_v2_line_flag”h]”jM)�”}”(hjÅh]”hŒgpio_v2_line_flag”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjèubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhjÇh²hh³jÙh´K%ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjÃh²hh³jÙh´K%ubah}”(h]”j¾ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jÙh´K%hjÀh²hubjy)�”}”(hhh]”hÞ)�”}”(hŒM:c:type:`struct gpio_v2_line_attribute `.flags values”h]”(h)�”}”(hŒ@:c:type:`struct gpio_v2_line_attribute `”h]”hè)�”}”(hjh]”hŒstruct gpio_v2_line_attribute”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j1Œ ASTIdentifier”“”)�”}”Œ identifier”jÅsbŒc.gpio_v2_line_flag”†”asbjŒŒgpio_v2_line_attribute”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KhjubhŒ .flags values”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K6hj h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjÀh²hh³jÙh´K%ubeh}”(h]”h ]”(jŒenum”eh"]”h$]”h&]”j™jjšjUj›jUjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hXÇ**Constants** ``GPIO_V2_LINE_FLAG_USED`` line is not available for request ``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` line active state is physical low ``GPIO_V2_LINE_FLAG_INPUT`` line is an input ``GPIO_V2_LINE_FLAG_OUTPUT`` line is an output ``GPIO_V2_LINE_FLAG_EDGE_RISING`` line detects rising (inactive to active) edges ``GPIO_V2_LINE_FLAG_EDGE_FALLING`` line detects falling (active to inactive) edges ``GPIO_V2_LINE_FLAG_OPEN_DRAIN`` line is an open drain output ``GPIO_V2_LINE_FLAG_OPEN_SOURCE`` line is an open source output ``GPIO_V2_LINE_FLAG_BIAS_PULL_UP`` line has pull-up bias enabled ``GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN`` line has pull-down bias enabled ``GPIO_V2_LINE_FLAG_BIAS_DISABLED`` line has bias disabled ``GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME`` line events contain REALTIME timestamps ``GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE`` line events contain timestamps from the hardware timestamping engine (HTE) subsystem”h]”(hÞ)�”}”(hŒ **Constants**”h]”jª)�”}”(hj_h]”hŒ Constants”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj]ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K:hjYubjî)�”}”(hhh]”(jó)�”}”(hŒ=``GPIO_V2_LINE_FLAG_USED`` line is not available for request ”h]”(jù)�”}”(hŒ``GPIO_V2_LINE_FLAG_USED``”h]”hè)�”}”(hj~h]”hŒGPIO_V2_LINE_FLAG_USED”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj|ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K=hjxubj)�”}”(hhh]”hÞ)�”}”(hŒ!line is not available for request”h]”hŒ!line is not available for request”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j“h´K=hj”ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjxubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j“h´K=hjuubjó)�”}”(hŒC``GPIO_V2_LINE_FLAG_ACTIVE_LOW`` line active state is physical low ”h]”(jù)�”}”(hŒ ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``”h]”hè)�”}”(hj·h]”hŒGPIO_V2_LINE_FLAG_ACTIVE_LOW”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K@hj±ubj)�”}”(hhh]”hÞ)�”}”(hŒ!line active state is physical low”h]”hŒ!line active state is physical low”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jÌh´K@hjÍubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jÌh´K@hjuubjó)�”}”(hŒ-``GPIO_V2_LINE_FLAG_INPUT`` line is an input ”h]”(jù)�”}”(hŒ``GPIO_V2_LINE_FLAG_INPUT``”h]”hè)�”}”(hjðh]”hŒGPIO_V2_LINE_FLAG_INPUT”…”�”}”(hjòh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjîubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KChjêubj)�”}”(hhh]”hÞ)�”}”(hŒline is an input”h]”hŒline is an input”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jh´KChjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjêubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jh´KChjuubjó)�”}”(hŒ/``GPIO_V2_LINE_FLAG_OUTPUT`` line is an output ”h]”(jù)�”}”(hŒ``GPIO_V2_LINE_FLAG_OUTPUT``”h]”hè)�”}”(hj)h]”hŒGPIO_V2_LINE_FLAG_OUTPUT”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KFhj#ubj)�”}”(hhh]”hÞ)�”}”(hŒline is an output”h]”hŒline is an output”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j>h´KFhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j>h´KFhjuubjó)�”}”(hŒQ``GPIO_V2_LINE_FLAG_EDGE_RISING`` line detects rising (inactive to active) edges ”h]”(jù)�”}”(hŒ!``GPIO_V2_LINE_FLAG_EDGE_RISING``”h]”hè)�”}”(hjbh]”hŒGPIO_V2_LINE_FLAG_EDGE_RISING”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj`ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KJhj\ubj)�”}”(hhh]”hÞ)�”}”(hŒ.line detects rising (inactive to active) edges”h]”hŒ.line detects rising (inactive to active) edges”…”�”}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KIhjxubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj\ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jwh´KJhjuubjó)�”}”(hŒS``GPIO_V2_LINE_FLAG_EDGE_FALLING`` line detects falling (active to inactive) edges ”h]”(jù)�”}”(hŒ"``GPIO_V2_LINE_FLAG_EDGE_FALLING``”h]”hè)�”}”(hjœh]”hŒGPIO_V2_LINE_FLAG_EDGE_FALLING”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KNhj–ubj)�”}”(hhh]”hÞ)�”}”(hŒ/line detects falling (active to inactive) edges”h]”hŒ/line detects falling (active to inactive) edges”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KMhj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j±h´KNhjuubjó)�”}”(hŒ>``GPIO_V2_LINE_FLAG_OPEN_DRAIN`` line is an open drain output ”h]”(jù)�”}”(hŒ ``GPIO_V2_LINE_FLAG_OPEN_DRAIN``”h]”hè)�”}”(hjÖh]”hŒGPIO_V2_LINE_FLAG_OPEN_DRAIN”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KQhjÐubj)�”}”(hhh]”hÞ)�”}”(hŒline is an open drain output”h]”hŒline is an open drain output”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jëh´KQhjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jëh´KQhjuubjó)�”}”(hŒ@``GPIO_V2_LINE_FLAG_OPEN_SOURCE`` line is an open source output ”h]”(jù)�”}”(hŒ!``GPIO_V2_LINE_FLAG_OPEN_SOURCE``”h]”hè)�”}”(hjh]”hŒGPIO_V2_LINE_FLAG_OPEN_SOURCE”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KThj ubj)�”}”(hhh]”hÞ)�”}”(hŒline is an open source output”h]”hŒline is an open source output”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j$h´KThj%ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j$h´KThjuubjó)�”}”(hŒA``GPIO_V2_LINE_FLAG_BIAS_PULL_UP`` line has pull-up bias enabled ”h]”(jù)�”}”(hŒ"``GPIO_V2_LINE_FLAG_BIAS_PULL_UP``”h]”hè)�”}”(hjHh]”hŒGPIO_V2_LINE_FLAG_BIAS_PULL_UP”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KWhjBubj)�”}”(hhh]”hÞ)�”}”(hŒline has pull-up bias enabled”h]”hŒline has pull-up bias enabled”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j]h´KWhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j]h´KWhjuubjó)�”}”(hŒE``GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN`` line has pull-down bias enabled ”h]”(jù)�”}”(hŒ$``GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN``”h]”hè)�”}”(hj�h]”hŒ GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KZhj{ubj)�”}”(hhh]”hÞ)�”}”(hŒline has pull-down bias enabled”h]”hŒline has pull-down bias enabled”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j–h´KZhj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj{ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j–h´KZhjuubjó)�”}”(hŒ;``GPIO_V2_LINE_FLAG_BIAS_DISABLED`` line has bias disabled ”h]”(jù)�”}”(hŒ#``GPIO_V2_LINE_FLAG_BIAS_DISABLED``”h]”hè)�”}”(hjºh]”hŒGPIO_V2_LINE_FLAG_BIAS_DISABLED”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K]hj´ubj)�”}”(hhh]”hÞ)�”}”(hŒline has bias disabled”h]”hŒline has bias disabled”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jÏh´K]hjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jÏh´K]hjuubjó)�”}”(hŒS``GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME`` line events contain REALTIME timestamps ”h]”(jù)�”}”(hŒ*``GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME``”h]”hè)�”}”(hjóh]”hŒ&GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K`hjíubj)�”}”(hhh]”hÞ)�”}”(hŒ'line events contain REALTIME timestamps”h]”hŒ'line events contain REALTIME timestamps”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j h´K`hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j h´K`hjuubjó)�”}”(hŒz``GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE`` line events contain timestamps from the hardware timestamping engine (HTE) subsystem”h]”(jù)�”}”(hŒ%``GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE``”h]”hè)�”}”(hj, h]”hŒ!GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE”…”�”}”(hj. h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj* ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kchj& ubj)�”}”(hhh]”hÞ)�”}”(hŒTline events contain timestamps from the hardware timestamping engine (HTE) subsystem”h]”hŒTline events contain timestamps from the hardware timestamping engine (HTE) subsystem”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jA h´KchjB ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj& ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jA h´Kchjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjYubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_values (C struct)”Œc.gpio_v2_line_values”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_values”h]”j)�”}”(hŒstruct gpio_v2_line_values”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hj… h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj� h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kiubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj� h²hh³j’ h´KiubjG)�”}”(hŒgpio_v2_line_values”h]”jM)�”}”(hj h]”hŒgpio_v2_line_values”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj¡ ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj� h²hh³j’ h´Kiubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhj} h²hh³j’ h´Kiubah}”(h]”jx ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³j’ h´Kihjz h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒValues of GPIO lines”h]”hŒValues of GPIO lines”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KYhjÄ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjz h²hh³j’ h´Kiubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšjß j›jß jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hX�**Definition**:: struct gpio_v2_line_values { __aligned_u64 bits; __aligned_u64 mask; }; **Members** ``bits`` a bitmap containing the value of the lines, set to 1 for active and 0 for inactive ``mask`` a bitmap identifying the lines to get or set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjç ubhŒ:”…”�”}”(hjç h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K]hjã ubjÅ)�”}”(hŒOstruct gpio_v2_line_values { __aligned_u64 bits; __aligned_u64 mask; };”h]”hŒOstruct gpio_v2_line_values { __aligned_u64 bits; __aligned_u64 mask; };”…”�”}”hj sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K_hjã ubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hj h]”hŒMembers”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kdhjã ubjî)�”}”(hhh]”(jó)�”}”(hŒ\``bits`` a bitmap containing the value of the lines, set to 1 for active and 0 for inactive ”h]”(jù)�”}”(hŒ``bits``”h]”hè)�”}”(hj4 h]”hŒbits”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj2 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K\hj. ubj)�”}”(hhh]”hÞ)�”}”(hŒRa bitmap containing the value of the lines, set to 1 for active and 0 for inactive”h]”hŒRa bitmap containing the value of the lines, set to 1 for active and 0 for inactive”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K[hjJ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj. ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jI h´K\hj+ ubjó)�”}”(hŒ°``mask`` a bitmap identifying the lines to get or set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(jù)�”}”(hŒ``mask``”h]”hè)�”}”(hjn h]”hŒmask”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjl ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K^hjh ubj)�”}”(hhh]”hÞ)�”}”(hŒ§a bitmap identifying the lines to get or set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(hŒca bitmap identifying the lines to get or set, with each bit number corresponding to the index into ”…”�”}”(hj‡ h²hh³Nh´Nubh)�”}”(hŒ<:c:type:`struct gpio_v2_line_request `”h]”hè)�”}”(hj‘ h]”hŒstruct gpio_v2_line_request”…”�”}”(hj“ h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhj� ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j3)�”}”j6]”sbjŒŒgpio_v2_line_request”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K]hj‡ ubhŒ.offsets”…”�”}”(hj‡ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j± h´K]hj„ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjh ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jƒ h´K^hj+ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjã ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_attr_id (C enum)”Œc.gpio_v2_line_attr_id”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_attr_id”h]”j)�”}”(hŒenum gpio_v2_line_attr_id”h]”(j$)�”}”(hjÍh]”hŒenum”…”�”}”(hjî h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hjê h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Keubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjü h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjê h²hh³jû h´KeubjG)�”}”(hŒgpio_v2_line_attr_id”h]”jM)�”}”(hjè h]”hŒgpio_v2_line_attr_id”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhjê h²hh³jû h´Keubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjæ h²hh³jû h´Keubah}”(h]”já ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jû h´Kehjã h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ„:c:type:`struct gpio_v2_line_attribute `.id values identifying which field of the attribute union is in use.”h]”(h)�”}”(hŒ@:c:type:`struct gpio_v2_line_attribute `”h]”hè)�”}”(hj6 h]”hŒstruct gpio_v2_line_attribute”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhj4 ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j3)�”}”j6]”j9)�”}”j<jè sbŒc.gpio_v2_line_attr_id”†”asbjŒŒgpio_v2_line_attribute”uh1hh³j@h´Khj0 ubhŒD.id values identifying which field of the attribute union is in use.”…”�”}”(hj0 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kfhj- h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjã h²hh³jû h´Keubeh}”(h]”h ]”(jŒenum”eh"]”h$]”h&]”j™jjšjn j›jn jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hŒÎ**Constants** ``GPIO_V2_LINE_ATTR_ID_FLAGS`` flags field is in use ``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES`` values field is in use ``GPIO_V2_LINE_ATTR_ID_DEBOUNCE`` debounce_period_us field is in use”h]”(hÞ)�”}”(hŒ **Constants**”h]”jª)�”}”(hjx h]”hŒ Constants”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjv ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kjhjr ubjî)�”}”(hhh]”(jó)�”}”(hŒ5``GPIO_V2_LINE_ATTR_ID_FLAGS`` flags field is in use ”h]”(jù)�”}”(hŒ``GPIO_V2_LINE_ATTR_ID_FLAGS``”h]”hè)�”}”(hj— h]”hŒGPIO_V2_LINE_ATTR_ID_FLAGS”…”�”}”(hj™ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj• ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kmhj‘ ubj)�”}”(hhh]”hÞ)�”}”(hŒflags field is in use”h]”hŒflags field is in use”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¬ h´Kmhj­ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj‘ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j¬ h´KmhjŽ ubjó)�”}”(hŒ>``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES`` values field is in use ”h]”(jù)�”}”(hŒ&``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES``”h]”hè)�”}”(hjÐ h]”hŒ"GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES”…”�”}”(hjÒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÎ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KphjÊ ubj)�”}”(hhh]”hÞ)�”}”(hŒvalues field is in use”h]”hŒvalues field is in use”…”�”}”(hjé h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jå h´Kphjæ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÊ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jå h´KphjŽ ubjó)�”}”(hŒD``GPIO_V2_LINE_ATTR_ID_DEBOUNCE`` debounce_period_us field is in use”h]”(jù)�”}”(hŒ!``GPIO_V2_LINE_ATTR_ID_DEBOUNCE``”h]”hè)�”}”(hj h]”hŒGPIO_V2_LINE_ATTR_ID_DEBOUNCE”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Krhj ubj)�”}”(hhh]”hÞ)�”}”(hŒ"debounce_period_us field is in use”h]”hŒ"debounce_period_us field is in use”…”�”}”(hj" h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kshj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j h´KrhjŽ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjr ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ!gpio_v2_line_attribute (C struct)”Œc.gpio_v2_line_attribute”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_attribute”h]”j)�”}”(hŒstruct gpio_v2_line_attribute”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hjc h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj_ h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kxubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjq h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj_ h²hh³jp h´KxubjG)�”}”(hŒgpio_v2_line_attribute”h]”jM)�”}”(hj] h]”hŒgpio_v2_line_attribute”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj_ h²hh³jp h´Kxubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhj[ h²hh³jp h´Kxubah}”(h]”jV ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jp h´KxhjX h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ"a configurable attribute of a line”h]”hŒ"a configurable attribute of a line”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kshj¢ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjX h²hh³jp h´Kxubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšj½ j›j½ jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hX¦**Definition**:: struct gpio_v2_line_attribute { __u32 id; __u32 padding; union { __aligned_u64 flags; __aligned_u64 values; __u32 debounce_period_us; }; }; **Members** ``id`` attribute identifier with value from :c:type:`enum gpio_v2_line_attr_id ` ``padding`` reserved for future use and must be zero filled ``{unnamed_union}`` anonymous ``flags`` if id is ``GPIO_V2_LINE_ATTR_ID_FLAGS``, the flags for the GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This overrides the default flags contained in the :c:type:`struct gpio_v2_line_config ` for the associated line. ``values`` if id is ``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES``, a bitmap containing the values to which the lines will be set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets ``debounce_period_us`` if id is ``GPIO_V2_LINE_ATTR_ID_DEBOUNCE``, the desired debounce period, in microseconds”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjÅ ubhŒ:”…”�”}”(hjÅ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KwhjÁ ubjÅ)�”}”(hŒ³struct gpio_v2_line_attribute { __u32 id; __u32 padding; union { __aligned_u64 flags; __aligned_u64 values; __u32 debounce_period_us; }; };”h]”hŒ³struct gpio_v2_line_attribute { __u32 id; __u32 padding; union { __aligned_u64 flags; __aligned_u64 values; __u32 debounce_period_us; }; };”…”�”}”hjâ sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KyhjÁ ubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjó h]”hŒMembers”…”�”}”(hjõ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjñ ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KƒhjÁ ubjî)�”}”(hhh]”(jó)�”}”(hŒg``id`` attribute identifier with value from :c:type:`enum gpio_v2_line_attr_id ` ”h]”(jù)�”}”(hŒ``id``”h]”hè)�”}”(hj h]”hŒid”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kuhj ubj)�”}”(hhh]”hÞ)�”}”(hŒ_attribute identifier with value from :c:type:`enum gpio_v2_line_attr_id `”h]”(hŒ%attribute identifier with value from ”…”�”}”(hj+ h²hh³Nh´Nubh)�”}”(hŒ::c:type:`enum gpio_v2_line_attr_id `”h]”hè)�”}”(hj5 h]”hŒenum gpio_v2_line_attr_id”…”�”}”(hj7 h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhj3 ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_attr_id”uh1hh³j' h´Kuhj+ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j' h´Kuhj( ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j' h´Kuhj ubjó)�”}”(hŒ<``padding`` reserved for future use and must be zero filled ”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hjj h]”hŒpadding”…”�”}”(hjl h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjh ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kvhjd ubj)�”}”(hhh]”hÞ)�”}”(hŒ/reserved for future use and must be zero filled”h]”hŒ/reserved for future use and must be zero filled”…”�”}”(hjƒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j h´Kvhj€ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjd ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j h´Kvhj ubjó)�”}”(hŒ``{unnamed_union}`` anonymous ”h]”(jù)�”}”(hŒ``{unnamed_union}``”h]”hè)�”}”(hj£ h]”hŒ{unnamed_union}”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¡ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Khj� ubj)�”}”(hhh]”hÞ)�”}”(hŒ anonymous”h]”hŒ anonymous”…”�”}”(hj¼ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¸ h´Khj¹ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj� ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j¸ h´Khj ubjó)�”}”(hXz``flags`` if id is ``GPIO_V2_LINE_ATTR_ID_FLAGS``, the flags for the GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This overrides the default flags contained in the :c:type:`struct gpio_v2_line_config ` for the associated line. ”h]”(jù)�”}”(hŒ ``flags``”h]”hè)�”}”(hjÜ h]”hŒflags”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÚ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K{hjÖ ubj)�”}”(hhh]”hÞ)�”}”(hXoif id is ``GPIO_V2_LINE_ATTR_ID_FLAGS``, the flags for the GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This overrides the default flags contained in the :c:type:`struct gpio_v2_line_config ` for the associated line.”h]”(hŒ if id is ”…”�”}”(hjõ h²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_LINE_ATTR_ID_FLAGS``”h]”hŒGPIO_V2_LINE_ATTR_ID_FLAGS”…”�”}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjõ ubhŒ0, the flags for the GPIO line, with values from ”…”�”}”(hjõ h²hh³Nh´Nubh)�”}”(hŒ4:c:type:`enum gpio_v2_line_flag `”h]”hè)�”}”(hjh]”hŒenum gpio_v2_line_flag”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_flag”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kwhjõ ubhŒ , such as ”…”�”}”(hjõ h²hh³Nh´Nubhè)�”}”(hŒ ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``”h]”hŒGPIO_V2_LINE_FLAG_ACTIVE_LOW”…”�”}”(hj3h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjõ ubhŒ, ”…”�”}”(hjõ h²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_LINE_FLAG_OUTPUT``”h]”hŒGPIO_V2_LINE_FLAG_OUTPUT”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjõ ubhŒI etc, added together. This overrides the default flags contained in the ”…”�”}”(hjõ h²hh³Nh´Nubh)�”}”(hŒ::c:type:`struct gpio_v2_line_config `”h]”hè)�”}”(hjYh]”hŒstruct gpio_v2_line_config”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjWubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_config”uh1hh³j.h´Kwhjõ ubhŒ for the associated line.”…”�”}”(hjõ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j.h´Kwhjò ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÖ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jñ h´K{hj ubjó)�”}”(hŒõ``values`` if id is ``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES``, a bitmap containing the values to which the lines will be set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets ”h]”(jù)�”}”(hŒ ``values``”h]”hè)�”}”(hj’h]”hŒvalues”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KhjŒubj)�”}”(hhh]”hÞ)�”}”(hŒéif id is ``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES``, a bitmap containing the values to which the lines will be set, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(hŒ if id is ”…”�”}”(hj«h²hh³Nh´Nubhè)�”}”(hŒ&``GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES``”h]”hŒ"GPIO_V2_LINE_ATTR_ID_OUTPUT_VALUES”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj«ubhŒv, a bitmap containing the values to which the lines will be set, with each bit number corresponding to the index into ”…”�”}”(hj«h²hh³Nh´Nubh)�”}”(hŒ<:c:type:`struct gpio_v2_line_request `”h]”hè)�”}”(hjÇh]”hŒstruct gpio_v2_line_request”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjÅubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_request”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K|hj«ubhŒ.offsets”…”�”}”(hj«h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jäh´K|hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjŒubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j§h´Khj ubjó)�”}”(hŒo``debounce_period_us`` if id is ``GPIO_V2_LINE_ATTR_ID_DEBOUNCE``, the desired debounce period, in microseconds”h]”(jù)�”}”(hŒ``debounce_period_us``”h]”hè)�”}”(hjh]”hŒdebounce_period_us”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÿubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K€hjûubj)�”}”(hhh]”hÞ)�”}”(hŒXif id is ``GPIO_V2_LINE_ATTR_ID_DEBOUNCE``, the desired debounce period, in microseconds”h]”(hŒ if id is ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ!``GPIO_V2_LINE_ATTR_ID_DEBOUNCE``”h]”hŒGPIO_V2_LINE_ATTR_ID_DEBOUNCE”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒ., the desired debounce period, in microseconds”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jh´K€hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjûubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jh´K€hj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjÁ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ(gpio_v2_line_config_attribute (C struct)”Œc.gpio_v2_line_config_attribute”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_config_attribute”h]”j)�”}”(hŒ$struct gpio_v2_line_config_attribute”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hjhh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K‡ubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjhh²hh³jyh´K‡ubjG)�”}”(hŒgpio_v2_line_config_attribute”h]”jM)�”}”(hjfh]”hŒgpio_v2_line_config_attribute”…”�”}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjˆubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhjhh²hh³jyh´K‡ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjdh²hh³jyh´K‡ubah}”(h]”j_ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jyh´K‡hjah²hubjy)�”}”(hhh]”hÞ)�”}”(hŒMa configuration attribute associated with one or more of the requested lines.”h]”hŒMa configuration attribute associated with one or more of the requested lines.”…”�”}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K�hj«h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjah²hh³jyh´K‡ubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšjÆj›jÆjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hX€**Definition**:: struct gpio_v2_line_config_attribute { struct gpio_v2_line_attribute attr; __aligned_u64 mask; }; **Members** ``attr`` the configurable attribute ``mask`` a bitmap identifying the lines to which the attribute applies, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjÎubhŒ:”…”�”}”(hjÎh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K‘hjÊubjÅ)�”}”(hŒistruct gpio_v2_line_config_attribute { struct gpio_v2_line_attribute attr; __aligned_u64 mask; };”h]”hŒistruct gpio_v2_line_config_attribute { struct gpio_v2_line_attribute attr; __aligned_u64 mask; };”…”�”}”hjësbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K“hjÊubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjüh]”hŒMembers”…”�”}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjúubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K˜hjÊubjî)�”}”(hhh]”(jó)�”}”(hŒ$``attr`` the configurable attribute ”h]”(jù)�”}”(hŒ``attr``”h]”hè)�”}”(hjh]”hŒattr”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K�hjubj)�”}”(hhh]”hÞ)�”}”(hŒthe configurable attribute”h]”hŒthe configurable attribute”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j0h´K�hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j0h´K�hjubjó)�”}”(hŒÁ``mask`` a bitmap identifying the lines to which the attribute applies, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(jù)�”}”(hŒ``mask``”h]”hè)�”}”(hjTh]”hŒmask”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjRubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K’hjNubj)�”}”(hhh]”hÞ)�”}”(hŒ¸a bitmap identifying the lines to which the attribute applies, with each bit number corresponding to the index into :c:type:`struct gpio_v2_line_request `.offsets”h]”(hŒta bitmap identifying the lines to which the attribute applies, with each bit number corresponding to the index into ”…”�”}”(hjmh²hh³Nh´Nubh)�”}”(hŒ<:c:type:`struct gpio_v2_line_request `”h]”hè)�”}”(hjwh]”hŒstruct gpio_v2_line_request”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjuubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_request”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K‘hjmubhŒ.offsets”…”�”}”(hjmh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j”h´K‘hjjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjNubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jih´K’hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjÊubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_config (C struct)”Œc.gpio_v2_line_config”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_config”h]”j)�”}”(hŒstruct gpio_v2_line_config”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hjÍh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K™ubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjÍh²hh³jÞh´K™ubjG)�”}”(hŒgpio_v2_line_config”h]”jM)�”}”(hjËh]”hŒgpio_v2_line_config”…”�”}”(hjñh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjíubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhjÍh²hh³jÞh´K™ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjÉh²hh³jÞh´K™ubah}”(h]”jÄah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jÞh´K™hjÆh²hubjy)�”}”(hhh]”hÞ)�”}”(hŒConfiguration for GPIO lines”h]”hŒConfiguration for GPIO lines”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kšhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjÆh²hh³jÞh´K™ubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšj+j›j+jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hXž**Definition**:: struct gpio_v2_line_config { __aligned_u64 flags; __u32 num_attrs; __u32 padding[5]; struct gpio_v2_line_config_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; }; **Members** ``flags`` flags for the GPIO lines, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This is the default for all requested lines but may be overridden for particular lines using **attrs**. ``num_attrs`` the number of attributes in **attrs** ``padding`` reserved for future use and must be zero filled ``attrs`` the configuration attributes associated with the requested lines. Any attribute should only be associated with a particular line once. If an attribute is associated with a line multiple times then the first occurrence (i.e. lowest index) has precedence.”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj3ubhŒ:”…”�”}”(hj3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kžhj/ubjÅ)�”}”(hŒ¯struct gpio_v2_line_config { __aligned_u64 flags; __u32 num_attrs; __u32 padding[5]; struct gpio_v2_line_config_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; };”h]”hŒ¯struct gpio_v2_line_config { __aligned_u64 flags; __u32 num_attrs; __u32 padding[5]; struct gpio_v2_line_config_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; };”…”�”}”hjPsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K hj/ubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjah]”hŒMembers”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K§hj/ubjî)�”}”(hhh]”(jó)�”}”(hX0``flags`` flags for the GPIO lines, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This is the default for all requested lines but may be overridden for particular lines using **attrs**. ”h]”(jù)�”}”(hŒ ``flags``”h]”hè)�”}”(hj€h]”hŒflags”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K hjzubj)�”}”(hhh]”hÞ)�”}”(hX%flags for the GPIO lines, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together. This is the default for all requested lines but may be overridden for particular lines using **attrs**.”h]”(hŒ+flags for the GPIO lines, with values from ”…”�”}”(hj™h²hh³Nh´Nubh)�”}”(hŒ4:c:type:`enum gpio_v2_line_flag `”h]”hè)�”}”(hj£h]”hŒenum gpio_v2_line_flag”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhj¡ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_flag”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kœhj™ubhŒ , such as ”…”�”}”(hj™h²hh³Nh´Nubhè)�”}”(hŒ ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``”h]”hŒGPIO_V2_LINE_FLAG_ACTIVE_LOW”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj™ubhŒ, ”…”�”}”(hj™h²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_LINE_FLAG_OUTPUT``”h]”hŒGPIO_V2_LINE_FLAG_OUTPUT”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj™ubh•ÜŒt etc, added together. This is the default for all requested lines but may be overridden for particular lines using ”…”�”}”(hj™h²hh³Nh´Nubjª)�”}”(hŒ **attrs**”h]”hŒattrs”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj™ubhŒ.”…”�”}”(hj™h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jÀh´Kœhj–ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjzubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j•h´K hjwubjó)�”}”(hŒ4``num_attrs`` the number of attributes in **attrs** ”h]”(jù)�”}”(hŒ ``num_attrs``”h]”hè)�”}”(hjh]”hŒ num_attrs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¡hj ubj)�”}”(hhh]”hÞ)�”}”(hŒ%the number of attributes in **attrs**”h]”(hŒthe number of attributes in ”…”�”}”(hj,h²hh³Nh´Nubjª)�”}”(hŒ **attrs**”h]”hŒattrs”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j(h´K¡hj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j(h´K¡hjwubjó)�”}”(hŒ<``padding`` reserved for future use and must be zero filled ”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hjZh]”hŒpadding”…”�”}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¢hjTubj)�”}”(hhh]”hÞ)�”}”(hŒ/reserved for future use and must be zero filled”h]”hŒ/reserved for future use and must be zero filled”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³joh´K¢hjpubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjTubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³joh´K¢hjwubjó)�”}”(hX ``attrs`` the configuration attributes associated with the requested lines. Any attribute should only be associated with a particular line once. If an attribute is associated with a line multiple times then the first occurrence (i.e. lowest index) has precedence.”h]”(jù)�”}”(hŒ ``attrs``”h]”hè)�”}”(hj“h]”hŒattrs”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj‘ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¥hj�ubj)�”}”(hhh]”hÞ)�”}”(hŒÿthe configuration attributes associated with the requested lines. Any attribute should only be associated with a particular line once. If an attribute is associated with a line multiple times then the first occurrence (i.e. lowest index) has precedence.”h]”hŒÿthe configuration attributes associated with the requested lines. Any attribute should only be associated with a particular line once. If an attribute is associated with a line multiple times then the first occurrence (i.e. lowest index) has precedence.”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K£hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j¨h´K¥hjwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhj/ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_request (C struct)”Œc.gpio_v2_line_request”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_request”h]”j)�”}”(hŒstruct gpio_v2_line_request”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hjéh²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¬ubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hjéh²hh³júh´K¬ubjG)�”}”(hŒgpio_v2_line_request”h]”jM)�”}”(hjçh]”hŒgpio_v2_line_request”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhjéh²hh³júh´K¬ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjåh²hh³júh´K¬ubah}”(h]”jàah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³júh´K¬hjâh²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ*Information about a request for GPIO lines”h]”hŒ*Information about a request for GPIO lines”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K°hj,h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjâh²hh³júh´K¬ubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšjGj›jGjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hX **Definition**:: struct gpio_v2_line_request { __u32 offsets[GPIO_V2_LINES_MAX]; char consumer[GPIO_MAX_NAME_SIZE]; struct gpio_v2_line_config config; __u32 num_lines; __u32 event_buffer_size; __u32 padding[5]; __s32 fd; }; **Members** ``offsets`` an array of desired lines, specified by offset index for the associated GPIO chip ``consumer`` a desired consumer label for the selected GPIO lines such as "my-bitbanged-relay" ``config`` requested configuration for the lines ``num_lines`` number of lines requested in this request, i.e. the number of valid fields in the ``GPIO_V2_LINES_MAX`` sized arrays, set to 1 to request a single line ``event_buffer_size`` a suggested minimum number of line events that the kernel should buffer. This is only relevant if edge detection is enabled in the configuration. Note that this is only a suggested value and the kernel may allocate a larger buffer or cap the size of the buffer. If this field is zero then the buffer size defaults to a minimum of **num_lines** * 16. ``padding`` reserved for future use and must be zero filled ``fd`` after a successful ``GPIO_V2_GET_LINE_IOCTL`` operation, contains a valid anonymous file descriptor representing the request”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjOubhŒ:”…”�”}”(hjOh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K´hjKubjÅ)�”}”(hŒêstruct gpio_v2_line_request { __u32 offsets[GPIO_V2_LINES_MAX]; char consumer[GPIO_MAX_NAME_SIZE]; struct gpio_v2_line_config config; __u32 num_lines; __u32 event_buffer_size; __u32 padding[5]; __s32 fd; };”h]”hŒêstruct gpio_v2_line_request { __u32 offsets[GPIO_V2_LINES_MAX]; char consumer[GPIO_MAX_NAME_SIZE]; struct gpio_v2_line_config config; __u32 num_lines; __u32 event_buffer_size; __u32 padding[5]; __s32 fd; };”…”�”}”hjlsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¶hjKubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hj}h]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÀhjKubjî)�”}”(hhh]”(jó)�”}”(hŒ^``offsets`` an array of desired lines, specified by offset index for the associated GPIO chip ”h]”(jù)�”}”(hŒ ``offsets``”h]”hè)�”}”(hjœh]”hŒoffsets”…”�”}”(hjžh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjšubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K³hj–ubj)�”}”(hhh]”hÞ)�”}”(hŒQan array of desired lines, specified by offset index for the associated GPIO chip”h]”hŒQan array of desired lines, specified by offset index for the associated GPIO chip”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K²hj²ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj–ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j±h´K³hj“ubjó)�”}”(hŒ_``consumer`` a desired consumer label for the selected GPIO lines such as "my-bitbanged-relay" ”h]”(jù)�”}”(hŒ ``consumer``”h]”hè)�”}”(hjÖh]”hŒconsumer”…”�”}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KµhjÐubj)�”}”(hhh]”hÞ)�”}”(hŒQa desired consumer label for the selected GPIO lines such as "my-bitbanged-relay"”h]”hŒUa desired consumer label for the selected GPIO lines such as “my-bitbanged-relayâ€�”…”�”}”(hjïh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K´hjìubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÐubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jëh´Kµhj“ubjó)�”}”(hŒ1``config`` requested configuration for the lines ”h]”(jù)�”}”(hŒ ``config``”h]”hè)�”}”(hjh]”hŒconfig”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¶hj ubj)�”}”(hhh]”hÞ)�”}”(hŒ%requested configuration for the lines”h]”hŒ%requested configuration for the lines”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j%h´K¶hj&ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j%h´K¶hj“ubjó)�”}”(hŒ¦``num_lines`` number of lines requested in this request, i.e. the number of valid fields in the ``GPIO_V2_LINES_MAX`` sized arrays, set to 1 to request a single line ”h]”(jù)�”}”(hŒ ``num_lines``”h]”hè)�”}”(hjIh]”hŒ num_lines”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjGubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¹hjCubj)�”}”(hhh]”hÞ)�”}”(hŒ—number of lines requested in this request, i.e. the number of valid fields in the ``GPIO_V2_LINES_MAX`` sized arrays, set to 1 to request a single line”h]”(hŒRnumber of lines requested in this request, i.e. the number of valid fields in the ”…”�”}”(hjbh²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_LINES_MAX``”h]”hŒGPIO_V2_LINES_MAX”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjbubhŒ0 sized arrays, set to 1 to request a single line”…”�”}”(hjbh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K·hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j^h´K¹hj“ubjó)�”}”(hXu``event_buffer_size`` a suggested minimum number of line events that the kernel should buffer. This is only relevant if edge detection is enabled in the configuration. Note that this is only a suggested value and the kernel may allocate a larger buffer or cap the size of the buffer. If this field is zero then the buffer size defaults to a minimum of **num_lines** * 16. ”h]”(jù)�”}”(hŒ``event_buffer_size``”h]”hè)�”}”(hj•h]”hŒevent_buffer_size”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj“ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K¿hj�ubj)�”}”(hhh]”hÞ)�”}”(hX^a suggested minimum number of line events that the kernel should buffer. This is only relevant if edge detection is enabled in the configuration. Note that this is only a suggested value and the kernel may allocate a larger buffer or cap the size of the buffer. If this field is zero then the buffer size defaults to a minimum of **num_lines** * 16.”h]”(hXKa suggested minimum number of line events that the kernel should buffer. This is only relevant if edge detection is enabled in the configuration. Note that this is only a suggested value and the kernel may allocate a larger buffer or cap the size of the buffer. If this field is zero then the buffer size defaults to a minimum of ”…”�”}”(hj®h²hh³Nh´Nubjª)�”}”(hŒ **num_lines**”h]”hŒ num_lines”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj®ubhŒ * 16.”…”�”}”(hj®h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kºhj«ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj�ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jªh´K¿hj“ubjó)�”}”(hŒ<``padding`` reserved for future use and must be zero filled ”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hjáh]”hŒpadding”…”�”}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjßubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÀhjÛubj)�”}”(hhh]”hÞ)�”}”(hŒ/reserved for future use and must be zero filled”h]”hŒ/reserved for future use and must be zero filled”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jöh´KÀhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÛubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jöh´KÀhj“ubjó)�”}”(hŒƒ``fd`` after a successful ``GPIO_V2_GET_LINE_IOCTL`` operation, contains a valid anonymous file descriptor representing the request”h]”(jù)�”}”(hŒ``fd``”h]”hè)�”}”(hjh]”hŒfd”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÁhjubj)�”}”(hhh]”hÞ)�”}”(hŒ|after a successful ``GPIO_V2_GET_LINE_IOCTL`` operation, contains a valid anonymous file descriptor representing the request”h]”(hŒafter a successful ”…”�”}”(hj3h²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_GET_LINE_IOCTL``”h]”hŒGPIO_V2_GET_LINE_IOCTL”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj3ubhŒO operation, contains a valid anonymous file descriptor representing the request”…”�”}”(hj3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j/h´KÁhj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j/h´KÁhj“ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjKubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_info (C struct)”Œc.gpio_v2_line_info”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_info”h]”j)�”}”(hŒstruct gpio_v2_line_info”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj�h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÈubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj�h²hh³j’h´KÈubjG)�”}”(hŒgpio_v2_line_info”h]”jM)�”}”(hjh]”hŒgpio_v2_line_info”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj¡ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj�h²hh³j’h´KÈubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhj}h²hh³j’h´KÈubah}”(h]”jxah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³j’h´KÈhjzh²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ%Information about a certain GPIO line”h]”hŒ%Information about a certain GPIO line”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÏhjÄh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhjzh²hh³j’h´KÈubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšjßj›jßjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hXÀ**Definition**:: struct gpio_v2_line_info { char name[GPIO_MAX_NAME_SIZE]; char consumer[GPIO_MAX_NAME_SIZE]; __u32 offset; __u32 num_attrs; __aligned_u64 flags; struct gpio_v2_line_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; __u32 padding[4]; }; **Members** ``name`` the name of this GPIO line, such as the output pin of the line on the chip, a rail or a pin header name on a board, as specified by the GPIO chip, may be empty (i.e. name[0] == '\0') ``consumer`` a functional name for the consumer of this GPIO line as set by whatever is using it, will be empty if there is no current user but may also be empty if the consumer doesn't set this up ``offset`` the local offset on this GPIO chip, fill this in when requesting the line information from the kernel ``num_attrs`` the number of attributes in **attrs** ``flags`` flags for this GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together ``attrs`` the configuration attributes associated with the line ``padding`` reserved for future use, must be zero filled”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjçubhŒ:”…”�”}”(hjçh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÓhjãubjÅ)�”}”(hXstruct gpio_v2_line_info { char name[GPIO_MAX_NAME_SIZE]; char consumer[GPIO_MAX_NAME_SIZE]; __u32 offset; __u32 num_attrs; __aligned_u64 flags; struct gpio_v2_line_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; __u32 padding[4]; };”h]”hXstruct gpio_v2_line_info { char name[GPIO_MAX_NAME_SIZE]; char consumer[GPIO_MAX_NAME_SIZE]; __u32 offset; __u32 num_attrs; __aligned_u64 flags; struct gpio_v2_line_attribute attrs[GPIO_V2_LINE_NUM_ATTRS_MAX]; __u32 padding[4]; };”…”�”}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÕhjãubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjh]”hŒMembers”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kßhjãubjî)�”}”(hhh]”(jó)�”}”(hŒÀ``name`` the name of this GPIO line, such as the output pin of the line on the chip, a rail or a pin header name on a board, as specified by the GPIO chip, may be empty (i.e. name[0] == '\0') ”h]”(jù)�”}”(hŒ``name``”h]”hè)�”}”(hj4h]”hŒname”…”�”}”(hj6h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj2ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÓhj.ubj)�”}”(hhh]”hÞ)�”}”(hŒ¶the name of this GPIO line, such as the output pin of the line on the chip, a rail or a pin header name on a board, as specified by the GPIO chip, may be empty (i.e. name[0] == '\0')”h]”hŒºthe name of this GPIO line, such as the output pin of the line on the chip, a rail or a pin header name on a board, as specified by the GPIO chip, may be empty (i.e. name[0] == ‘0’)”…”�”}”(hjMh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÑhjJubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jIh´KÓhj+ubjó)�”}”(hŒÆ``consumer`` a functional name for the consumer of this GPIO line as set by whatever is using it, will be empty if there is no current user but may also be empty if the consumer doesn't set this up ”h]”(jù)�”}”(hŒ ``consumer``”h]”hè)�”}”(hjnh]”hŒconsumer”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjlubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÖhjhubj)�”}”(hhh]”hÞ)�”}”(hŒ¸a functional name for the consumer of this GPIO line as set by whatever is using it, will be empty if there is no current user but may also be empty if the consumer doesn't set this up”h]”hŒºa functional name for the consumer of this GPIO line as set by whatever is using it, will be empty if there is no current user but may also be empty if the consumer doesn’t set this up”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÔhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jƒh´KÖhj+ubjó)�”}”(hŒq``offset`` the local offset on this GPIO chip, fill this in when requesting the line information from the kernel ”h]”(jù)�”}”(hŒ ``offset``”h]”hè)�”}”(hj¨h]”hŒoffset”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KØhj¢ubj)�”}”(hhh]”hÞ)�”}”(hŒethe local offset on this GPIO chip, fill this in when requesting the line information from the kernel”h]”hŒethe local offset on this GPIO chip, fill this in when requesting the line information from the kernel”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K×hj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j½h´KØhj+ubjó)�”}”(hŒ4``num_attrs`` the number of attributes in **attrs** ”h]”(jù)�”}”(hŒ ``num_attrs``”h]”hè)�”}”(hjâh]”hŒ num_attrs”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjàubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÙhjÜubj)�”}”(hhh]”hÞ)�”}”(hŒ%the number of attributes in **attrs**”h]”(hŒthe number of attributes in ”…”�”}”(hjûh²hh³Nh´Nubjª)�”}”(hŒ **attrs**”h]”hŒattrs”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjûubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j÷h´KÙhjøubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÜubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j÷h´KÙhj+ubjó)�”}”(hŒÆ``flags`` flags for this GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together ”h]”(jù)�”}”(hŒ ``flags``”h]”hè)�”}”(hj)h]”hŒflags”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÜhj#ubj)�”}”(hhh]”hÞ)�”}”(hŒ»flags for this GPIO line, with values from :c:type:`enum gpio_v2_line_flag `, such as ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``, ``GPIO_V2_LINE_FLAG_OUTPUT`` etc, added together”h]”(hŒ+flags for this GPIO line, with values from ”…”�”}”(hjBh²hh³Nh´Nubh)�”}”(hŒ4:c:type:`enum gpio_v2_line_flag `”h]”hè)�”}”(hjLh]”hŒenum gpio_v2_line_flag”…”�”}”(hjNh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjJubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_flag”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÚhjBubhŒ , such as ”…”�”}”(hjBh²hh³Nh´Nubhè)�”}”(hŒ ``GPIO_V2_LINE_FLAG_ACTIVE_LOW``”h]”hŒGPIO_V2_LINE_FLAG_ACTIVE_LOW”…”�”}”(hjnh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjBubhŒ, ”…”�”}”(hjBh²hh³Nh´Nubhè)�”}”(hŒ``GPIO_V2_LINE_FLAG_OUTPUT``”h]”hŒGPIO_V2_LINE_FLAG_OUTPUT”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjBubhŒ etc, added together”…”�”}”(hjBh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jih´KÚhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj#ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j>h´KÜhj+ubjó)�”}”(hŒ@``attrs`` the configuration attributes associated with the line ”h]”(jù)�”}”(hŒ ``attrs``”h]”hè)�”}”(hjªh]”hŒattrs”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÝhj¤ubj)�”}”(hhh]”hÞ)�”}”(hŒ5the configuration attributes associated with the line”h]”hŒ5the configuration attributes associated with the line”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¿h´KÝhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j¿h´KÝhj+ubjó)�”}”(hŒ8``padding`` reserved for future use, must be zero filled”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hjãh]”hŒpadding”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÝhjÝubj)�”}”(hhh]”hÞ)�”}”(hŒ,reserved for future use, must be zero filled”h]”hŒ,reserved for future use, must be zero filled”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÞhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jøh´KÝhj+ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjãubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ"gpio_v2_line_changed_type (C enum)”Œc.gpio_v2_line_changed_type”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_changed_type”h]”j)�”}”(hŒenum gpio_v2_line_changed_type”h]”(j$)�”}”(hjÍh]”hŒenum”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj9h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Käubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj9h²hh³jJh´KäubjG)�”}”(hŒgpio_v2_line_changed_type”h]”jM)�”}”(hj7h]”hŒgpio_v2_line_changed_type”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjYubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj9h²hh³jJh´Käubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhj5h²hh³jJh´Käubah}”(h]”j0ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jJh´Kähj2h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒN:c:type:`struct gpio_v2_line_changed `.event_type values”h]”(h)�”}”(hŒ<:c:type:`struct gpio_v2_line_changed `”h]”hè)�”}”(hj…h]”hŒstruct gpio_v2_line_changed”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjƒubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j3)�”}”j6]”j9)�”}”j<j7sbŒc.gpio_v2_line_changed_type”†”asbjŒŒgpio_v2_line_changed”uh1hh³j@h´KhjubhŒ.event_type values”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Këhj|h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj2h²hh³jJh´Käubeh}”(h]”h ]”(jŒenum”eh"]”h$]”h&]”j™jjšj½j›j½jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hŒÅ**Constants** ``GPIO_V2_LINE_CHANGED_REQUESTED`` line has been requested ``GPIO_V2_LINE_CHANGED_RELEASED`` line has been released ``GPIO_V2_LINE_CHANGED_CONFIG`` line has been reconfigured”h]”(hÞ)�”}”(hŒ **Constants**”h]”jª)�”}”(hjÇh]”hŒ Constants”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KïhjÁubjî)�”}”(hhh]”(jó)�”}”(hŒ;``GPIO_V2_LINE_CHANGED_REQUESTED`` line has been requested ”h]”(jù)�”}”(hŒ"``GPIO_V2_LINE_CHANGED_REQUESTED``”h]”hè)�”}”(hjæh]”hŒGPIO_V2_LINE_CHANGED_REQUESTED”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjäubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kòhjàubj)�”}”(hhh]”hÞ)�”}”(hŒline has been requested”h]”hŒline has been requested”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jûh´Kòhjüubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjàubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jûh´KòhjÝubjó)�”}”(hŒ9``GPIO_V2_LINE_CHANGED_RELEASED`` line has been released ”h]”(jù)�”}”(hŒ!``GPIO_V2_LINE_CHANGED_RELEASED``”h]”hè)�”}”(hjh]”hŒGPIO_V2_LINE_CHANGED_RELEASED”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kõhjubj)�”}”(hhh]”hÞ)�”}”(hŒline has been released”h]”hŒline has been released”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j4h´Kõhj5ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j4h´KõhjÝubjó)�”}”(hŒ:``GPIO_V2_LINE_CHANGED_CONFIG`` line has been reconfigured”h]”(jù)�”}”(hŒ``GPIO_V2_LINE_CHANGED_CONFIG``”h]”hè)�”}”(hjXh]”hŒGPIO_V2_LINE_CHANGED_CONFIG”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjVubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´K÷hjRubj)�”}”(hhh]”hÞ)�”}”(hŒline has been reconfigured”h]”hŒline has been reconfigured”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Køhjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jmh´K÷hjÝubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjÁubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œ$gpio_v2_line_info_changed (C struct)”Œc.gpio_v2_line_info_changed”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_info_changed”h]”j)�”}”(hŒ struct gpio_v2_line_info_changed”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hj²h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj®h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kýubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj®h²hh³j¿h´KýubjG)�”}”(hŒgpio_v2_line_info_changed”h]”jM)�”}”(hj¬h]”hŒgpio_v2_line_info_changed”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjÎubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj®h²hh³j¿h´Kýubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjªh²hh³j¿h´Kýubah}”(h]”j¥ah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³j¿h´Kýhj§h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ3Information about a change in status of a GPIO line”h]”hŒ3Information about a change in status of a GPIO line”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Køhjñh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj§h²hh³j¿h´Kýubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšj j›j jœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hXÚ**Definition**:: struct gpio_v2_line_info_changed { struct gpio_v2_line_info info; __aligned_u64 timestamp_ns; __u32 event_type; __u32 padding[5]; }; **Members** ``info`` updated line information ``timestamp_ns`` estimate of time of status change occurrence, in nanoseconds ``event_type`` the type of change with a value from :c:type:`enum gpio_v2_line_changed_type ` ``padding`` reserved for future use”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjubhŒ:”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KühjubjÅ)�”}”(hŒ”struct gpio_v2_line_info_changed { struct gpio_v2_line_info info; __aligned_u64 timestamp_ns; __u32 event_type; __u32 padding[5]; };”h]”hŒ”struct gpio_v2_line_info_changed { struct gpio_v2_line_info info; __aligned_u64 timestamp_ns; __u32 event_type; __u32 padding[5]; };”…”�”}”hj1sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KþhjubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjBh]”hŒMembers”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjubjî)�”}”(hhh]”(jó)�”}”(hŒ"``info`` updated line information ”h]”(jù)�”}”(hŒ``info``”h]”hè)�”}”(hjah]”hŒinfo”…”�”}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kûhj[ubj)�”}”(hhh]”hÞ)�”}”(hŒupdated line information”h]”hŒupdated line information”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jvh´Kûhjwubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jvh´KûhjXubjó)�”}”(hŒN``timestamp_ns`` estimate of time of status change occurrence, in nanoseconds ”h]”(jù)�”}”(hŒ``timestamp_ns``”h]”hè)�”}”(hjšh]”hŒ timestamp_ns”…”�”}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj˜ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kühj”ubj)�”}”(hhh]”hÞ)�”}”(hŒ` ”h]”(jù)�”}”(hŒ``event_type``”h]”hè)�”}”(hjÓh]”hŒ event_type”…”�”}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KþhjÍubj)�”}”(hhh]”hÞ)�”}”(hŒithe type of change with a value from :c:type:`enum gpio_v2_line_changed_type `”h]”(hŒ%the type of change with a value from ”…”�”}”(hjìh²hh³Nh´Nubh)�”}”(hŒD:c:type:`enum gpio_v2_line_changed_type `”h]”hè)�”}”(hjöh]”hŒenum gpio_v2_line_changed_type”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjôubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_changed_type”uh1hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kýhjìubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jh´Kýhjéubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÍubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jèh´KþhjXubjó)�”}”(hŒ#``padding`` reserved for future use”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hj,h]”hŒpadding”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj*ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Kþhj&ubj)�”}”(hhh]”hÞ)�”}”(hŒreserved for future use”h]”hŒreserved for future use”…”�”}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´KÿhjBubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jAh´KþhjXubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_event_id (C enum)”Œc.gpio_v2_line_event_id”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_event_id”h]”j)�”}”(hŒenum gpio_v2_line_event_id”h]”(j$)�”}”(hjÍh]”hŒenum”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj‚h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj”h²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj‚h²hh³j“h´MubjG)�”}”(hŒgpio_v2_line_event_id”h]”jM)�”}”(hj€h]”hŒgpio_v2_line_event_id”…”�”}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhj¢ubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj‚h²hh³j“h´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhj~h²hh³j“h´Mubah}”(h]”jyah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³j“h´Mhj{h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒB:c:type:`struct gpio_v2_line_event `.id values”h]”(h)�”}”(hŒ8:c:type:`struct gpio_v2_line_event `”h]”hè)�”}”(hjÎh]”hŒstruct gpio_v2_line_event”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjÌubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j3)�”}”j6]”j9)�”}”j<j€sbŒc.gpio_v2_line_event_id”†”asbjŒŒgpio_v2_line_event”uh1hh³j@h´KhjÈubhŒ .id values”…”�”}”(hjÈh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´M hjÅh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj{h²hh³j“h´Mubeh}”(h]”h ]”(jŒenum”eh"]”h$]”h&]”j™jjšjj›jjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hŒ�**Constants** ``GPIO_V2_LINE_EVENT_RISING_EDGE`` event triggered by a rising edge ``GPIO_V2_LINE_EVENT_FALLING_EDGE`` event triggered by a falling edge”h]”(hÞ)�”}”(hŒ **Constants**”h]”jª)�”}”(hjh]”hŒ Constants”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´M hj ubjî)�”}”(hhh]”(jó)�”}”(hŒD``GPIO_V2_LINE_EVENT_RISING_EDGE`` event triggered by a rising edge ”h]”(jù)�”}”(hŒ"``GPIO_V2_LINE_EVENT_RISING_EDGE``”h]”hè)�”}”(hj/h]”hŒGPIO_V2_LINE_EVENT_RISING_EDGE”…”�”}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj)ubj)�”}”(hhh]”hÞ)�”}”(hŒ event triggered by a rising edge”h]”hŒ event triggered by a rising edge”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jDh´MhjEubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jDh´Mhj&ubjó)�”}”(hŒE``GPIO_V2_LINE_EVENT_FALLING_EDGE`` event triggered by a falling edge”h]”(jù)�”}”(hŒ#``GPIO_V2_LINE_EVENT_FALLING_EDGE``”h]”hè)�”}”(hjhh]”hŒGPIO_V2_LINE_EVENT_FALLING_EDGE”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjfubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjbubj)�”}”(hhh]”hÞ)�”}”(hŒ!event triggered by a falling edge”h]”hŒ!event triggered by a falling edge”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj~ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjbubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j}h´Mhj&ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´Nubj)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j Œgpio_v2_line_event (C struct)”Œc.gpio_v2_line_event”hNt”auh1jhjÏh²hh³jh´Nubj)�”}”(hhh]”(j)�”}”(hŒgpio_v2_line_event”h]”j)�”}”(hŒstruct gpio_v2_line_event”h]”(j$)�”}”(hj'h]”hŒstruct”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”j0ah"]”h$]”h&]”uh1j#hj¾h²hh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mubj6)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jBah"]”h$]”h&]”uh1j5hj¾h²hh³jÏh´MubjG)�”}”(hŒgpio_v2_line_event”h]”jM)�”}”(hj¼h]”hŒgpio_v2_line_event”…”�”}”(hjâh²hh³Nh´Nubah}”(h]”h ]”jXah"]”h$]”h&]”uh1jLhjÞubah}”(h]”h ]”(j_j`eh"]”h$]”h&]”hÅhÆuh1jFhj¾h²hh³jÏh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjjˆuh1jjkjlhjºh²hh³jÏh´Mubah}”(h]”jµah ]”(jpjqeh"]”h$]”h&]”juˆjv)jwhuh1jh³jÏh´Mhj·h²hubjy)�”}”(hhh]”hÞ)�”}”(hŒ*The actual event being pushed to userspace”h]”hŒ*The actual event being pushed to userspace”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jxhj·h²hh³jÏh´Mubeh}”(h]”h ]”(jŒstruct”eh"]”h$]”h&]”j™jjšjj›jjœ‰j�‰jž‰uh1jh²hhjÏh³jh´Nubj )�”}”(hXÁ**Definition**:: struct gpio_v2_line_event { __aligned_u64 timestamp_ns; __u32 id; __u32 offset; __u32 seqno; __u32 line_seqno; __u32 padding[6]; }; **Members** ``timestamp_ns`` best estimate of time of event occurrence, in nanoseconds ``id`` event identifier with value from :c:type:`enum gpio_v2_line_event_id ` ``offset`` the offset of the line that triggered the event ``seqno`` the sequence number for this event in the sequence of events for all the lines in this line request ``line_seqno`` the sequence number for this event in the sequence of events on this particular line ``padding`` reserved for future use”h]”(hÞ)�”}”(hŒ**Definition**::”h]”(jª)�”}”(hŒ**Definition**”h]”hŒ Definition”…”�”}”(hj(h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj$ubhŒ:”…”�”}”(hj$h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj ubjÅ)�”}”(hŒ›struct gpio_v2_line_event { __aligned_u64 timestamp_ns; __u32 id; __u32 offset; __u32 seqno; __u32 line_seqno; __u32 padding[6]; };”h]”hŒ›struct gpio_v2_line_event { __aligned_u64 timestamp_ns; __u32 id; __u32 offset; __u32 seqno; __u32 line_seqno; __u32 padding[6]; };”…”�”}”hjAsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jÄh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj ubhÞ)�”}”(hŒ **Members**”h]”jª)�”}”(hjRh]”hŒMembers”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´M"hj ubjî)�”}”(hhh]”(jó)�”}”(hŒK``timestamp_ns`` best estimate of time of event occurrence, in nanoseconds ”h]”(jù)�”}”(hŒ``timestamp_ns``”h]”hè)�”}”(hjqh]”hŒ timestamp_ns”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjkubj)�”}”(hhh]”hÞ)�”}”(hŒ9best estimate of time of event occurrence, in nanoseconds”h]”hŒ9best estimate of time of event occurrence, in nanoseconds”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j†h´Mhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j†h´Mhjhubjó)�”}”(hŒe``id`` event identifier with value from :c:type:`enum gpio_v2_line_event_id ` ”h]”(jù)�”}”(hŒ``id``”h]”hè)�”}”(hjªh]”hŒid”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj¤ubj)�”}”(hhh]”hÞ)�”}”(hŒ]event identifier with value from :c:type:`enum gpio_v2_line_event_id `”h]”(hŒ!event identifier with value from ”…”�”}”(hjÃh²hh³Nh´Nubh)�”}”(hŒ<:c:type:`enum gpio_v2_line_event_id `”h]”hè)�”}”(hjÍh]”hŒenum gpio_v2_line_event_id”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”(jyjŒc-type”eh"]”h$]”h&]”uh1hçhjËubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j†Œ refdomain”jŒreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j0j­ jŒŒgpio_v2_line_event_id”uh1hh³j¿h´MhjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³j¿h´MhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³j¿h´Mhjhubjó)�”}”(hŒ;``offset`` the offset of the line that triggered the event ”h]”(jù)�”}”(hŒ ``offset``”h]”hè)�”}”(hjh]”hŒoffset”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjüubj)�”}”(hhh]”hÞ)�”}”(hŒ/the offset of the line that triggered the event”h]”hŒ/the offset of the line that triggered the event”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³jh´Mhjubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjüubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jh´Mhjhubjó)�”}”(hŒn``seqno`` the sequence number for this event in the sequence of events for all the lines in this line request ”h]”(jù)�”}”(hŒ ``seqno``”h]”hè)�”}”(hj;h]”hŒseqno”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj5ubj)�”}”(hhh]”hÞ)�”}”(hŒcthe sequence number for this event in the sequence of events for all the lines in this line request”h]”hŒcthe sequence number for this event in the sequence of events for all the lines in this line request”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´MhjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jPh´Mhjhubjó)�”}”(hŒd``line_seqno`` the sequence number for this event in the sequence of events on this particular line ”h]”(jù)�”}”(hŒ``line_seqno``”h]”hè)�”}”(hjuh]”hŒ line_seqno”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhjoubj)�”}”(hhh]”hÞ)�”}”(hŒTthe sequence number for this event in the sequence of events on this particular line”h]”hŒTthe sequence number for this event in the sequence of events on this particular line”…”�”}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj‹ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jŠh´Mhjhubjó)�”}”(hŒ#``padding`` reserved for future use”h]”(jù)�”}”(hŒ ``padding``”h]”hè)�”}”(hj¯h]”hŒpadding”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jøh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´Mhj©ubj)�”}”(hhh]”hÞ)�”}”(hŒreserved for future use”h]”hŒreserved for future use”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´MhjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jòh³jÄh´Mhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jíhj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1jŸhjÏh²hh³jh´NubhÞ)�”}”(hŒ**Description**”h]”jª)�”}”(hjòh]”hŒ Description”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´MhjÏh²hubhÞ)�”}”(hŒ·By default the **timestamp_ns** is read from ``CLOCK_MONOTONIC`` and is intended to allow the accurate measurement of the time between events. It does not provide the wall-clock time.”h]”(hŒBy default the ”…”�”}”(hjh²hh³Nh´Nubjª)�”}”(hŒ**timestamp_ns**”h]”hŒ timestamp_ns”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hjubhŒ is read from ”…”�”}”(hjh²hh³Nh´Nubhè)�”}”(hŒ``CLOCK_MONOTONIC``”h]”hŒCLOCK_MONOTONIC”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhjubhŒw and is intended to allow the accurate measurement of the time between events. It does not provide the wall-clock time.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´MhjÏh²hubhÞ)�”}”(hŒxIf the ``GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME`` flag is set then the **timestamp_ns** is read from ``CLOCK_REALTIME``.”h]”(hŒIf the ”…”�”}”(hj;h²hh³Nh´Nubhè)�”}”(hŒ*``GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME``”h]”hŒ&GPIO_V2_LINE_FLAG_EVENT_CLOCK_REALTIME”…”�”}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj;ubhŒ flag is set then the ”…”�”}”(hj;h²hh³Nh´Nubjª)�”}”(hŒ**timestamp_ns**”h]”hŒ timestamp_ns”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj;ubhŒ is read from ”…”�”}”(hj;h²hh³Nh´Nubhè)�”}”(hŒ``CLOCK_REALTIME``”h]”hŒCLOCK_REALTIME”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj;ubhŒ.”…”�”}”(hj;h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´M hjÏh²hubhÞ)�”}”(hŒ“If the ``GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE`` flag is set then the **timestamp_ns** is provided by the hardware timestamping engine (HTE) subsystem.”h]”(hŒIf the ”…”�”}”(hj€h²hh³Nh´Nubhè)�”}”(hŒ%``GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE``”h]”hŒ!GPIO_V2_LINE_FLAG_EVENT_CLOCK_HTE”…”�”}”(hjˆh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hçhj€ubhŒ flag is set then the ”…”�”}”(hj€h²hh³Nh´Nubjª)�”}”(hŒ**timestamp_ns**”h]”hŒ timestamp_ns”…”�”}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j©hj€ubhŒA is provided by the hardware timestamping engine (HTE) subsystem.”…”�”}”(hj€h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³Œd/var/lib/git/docbuild/linux/Documentation/userspace-api/gpio/chardev:97: ./include/uapi/linux/gpio.h”h´M#hjÏh²hubjÅ)�”}”(hhh]”jÊ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hj†jÔ]”NŒuserspace-api/gpio/error-codes”†”ajè]”jÀajêJÿÿÿÿjëNjì‰jíˆjî‰jïKjð‰jñ]”uh1jÉh³hÇh´Kqhj³ubah}”(h]”h ]”jöah"]”h$]”h&]”uh1jÄhjÏh²hh³hÇh´Nubeh}”(h]”Œtypes”ah ]”h"]”Œtypes”ah$]”h&]”uh1hÈhhÊh²hh³hÇh´K\ubeh}”(h]”Œ#gpio-character-device-userspace-api”ah ]”h"]”Œ#gpio character device userspace api”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”}”(jÉ]”j¾aj]”júauŒnameids”}”(j×jÔjjÉjjŒ operations”NjÊjjÉjÆjÏjÌuŒ nametypes”}”(j׉jˆj‰jC ‰jʈjɉjωuh}”(jÔhÊjÉjÊjjÊjj¥jjjÆjj¿j}jÌjÏjjj¾jÃjx j} já jæ jV j[ j_jdjÄjÉjàjåjxj}j0j5j¥jªjyj~jµ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”“”}”j Ks…”R”Œparse_messages”]”hŒsystem_message”“”)�”}”(hhh]”hÞ)�”}”(hŒ-Duplicate implicit target name: "operations".”h]”hŒ1Duplicate implicit target name: “operationsâ€�.”…”�”}”(hjg h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjd ubah}”(h]”h ]”h"]”h$]”h&]”j¿aŒlevel”KŒtype”ŒINFO”Œsource”hÇŒline”KOuh1jb hj}h²hh³hÇh´KOubaŒtransform_messages”]”(jc )�”}”(hhh]”hÞ)�”}”(hhh]”hŒ2Hyperlink target "gpio-v2-chip" is not referenced.”…”�”}”hj… sbah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhj‚ ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j} Œsource”hÇŒline”Kuh1jb ubjc )�”}”(hhh]”hÞ)�”}”(hhh]”hŒ:Hyperlink target "gpio-v2-line-request" is not referenced.”…”�”}”hjŸ sbah}”(h]”h ]”h"]”h$]”h&]”uh1hÝhjœ ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”j} Œsource”hÇŒline”KAuh1jb ubeŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.