sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetA/translations/zh_CN/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/zh_TW/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/it_IT/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ja_JP/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ko_KR/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/sp_SP/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh[/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-dbg-g-register.rsthKubhtarget)}(h.. _VIDIOC_DBG_G_REGISTER:h]h}(h]h ]h"]h$]h&]refidvidioc-dbg-g-registeruh1hhKhhhhhhubhsection)}(hhh](htitle)}(h2ioctl VIDIOC_DBG_G_REGISTER, VIDIOC_DBG_S_REGISTERh]h2ioctl VIDIOC_DBG_G_REGISTER, VIDIOC_DBG_S_REGISTER}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hPVIDIOC_DBG_G_REGISTER - VIDIOC_DBG_S_REGISTER - Read or write hardware registersh]hPVIDIOC_DBG_G_REGISTER - VIDIOC_DBG_S_REGISTER - Read or write hardware registers}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]nameah ]h"]nameah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSynopsish]hSynopsis}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single#V4L.VIDIOC_DBG_G_REGISTER (C macro)c.V4L.VIDIOC_DBG_G_REGISTERhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_DBG_G_REGISTERh]hdesc_signature_line)}(hVIDIOC_DBG_G_REGISTERh]h desc_name)}(hVIDIOC_DBG_G_REGISTERh]h desc_sig_name)}(hj+h]hVIDIOC_DBG_G_REGISTER}(hj;hhhNhNubah}(h]h ]nah"]h$]h&]uh1j9hj5ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j3hj/hhhhhKubah}(h]h ]h"]h$]h&]hh add_permalinkuh1j-sphinx_line_type declaratorhj)hhhhhKubah}(h]j ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j'hhhKhj$hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj$hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjsobjtypejtdesctypejtnoindex noindexentrynocontentsentryuh1j"hhhjhNhNubh)}(hL``int ioctl(int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp)``h]hliteral)}(hjh]hHint ioctl(int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j#V4L.VIDIOC_DBG_S_REGISTER (C macro)c.V4L.VIDIOC_DBG_S_REGISTERhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hVIDIOC_DBG_S_REGISTERh]j.)}(hVIDIOC_DBG_S_REGISTERh]j4)}(hVIDIOC_DBG_S_REGISTERh]j:)}(hjh]hVIDIOC_DBG_S_REGISTER}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKubah}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKhjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKubeh}(h]h ](jsmacroeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubh)}(hR``int ioctl(int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp)``h]j)}(hjh]hNint ioctl(int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(h5``fd`` File descriptor returned by :c:func:`open()`. h](hterm)}(h``fd``h]j)}(hj"h]hfd}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hj<hhhNhNubh)}(h:c:func:`open()`h]j)}(hjFh]hopen()}(hjHhhhNhNubah}(h]h ](xrefjsc-funceh"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]refdoc-userspace-api/media/v4l/vidioc-dbg-g-register refdomainjsreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]je ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhj<ubh.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h8``argp`` Pointer to struct :c:type:`v4l2_dbg_register`. h](j)}(h``argp``h]j)}(hjh]hargp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjubj8)}(hhh]h)}(h.Pointer to struct :c:type:`v4l2_dbg_register`.h](hPointer to struct }(hjhhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j)}(hjh]hv4l2_dbg_register}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_dbg_registeruh1hhhhK!hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhK!hjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK$ubhnote)}(hFThis is an :ref:`experimental` interface and may change in the future.h]h)}(hFThis is an :ref:`experimental` interface and may change in the future.h](h This is an }(hj hhhNhNubh)}(h:ref:`experimental`h]hinline)}(hjh]h experimental}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainj#reftyperef refexplicitrefwarnjs experimentaluh1hhhhK(hj ubh( interface and may change in the future.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hFor driver debugging purposes these ioctls allow test applications to access hardware registers directly. Regular applications must not use them.h]hFor driver debugging purposes these ioctls allow test applications to access hardware registers directly. Regular applications must not use them.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubh)}(hXSince writing or even reading registers can jeopardize the system security, its stability and damage the hardware, both ioctls require superuser privileges. Additionally the Linux kernel must be compiled with the ``CONFIG_VIDEO_ADV_DEBUG`` option to enable these ioctls.h](hSince writing or even reading registers can jeopardize the system security, its stability and damage the hardware, both ioctls require superuser privileges. Additionally the Linux kernel must be compiled with the }(hjShhhNhNubj)}(h``CONFIG_VIDEO_ADV_DEBUG``h]hCONFIG_VIDEO_ADV_DEBUG}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjSubh option to enable these ioctls.}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK/hjhhubh)}(hXTo write a register applications must initialize all fields of a struct :c:type:`v4l2_dbg_register` except for ``size`` and call ``VIDIOC_DBG_S_REGISTER`` with a pointer to this structure. The ``match.type`` and ``match.addr`` or ``match.name`` fields select a chip on the TV card, the ``reg`` field specifies a register number and the ``val`` field the value to be written into the register.h](hHTo write a register applications must initialize all fields of a struct }(hjshhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j)}(hj}h]hv4l2_dbg_register}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhj{ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_dbg_registeruh1hhhhK4hjsubh except for }(hjshhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh and call }(hjshhhNhNubj)}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh' with a pointer to this structure. The }(hjshhhNhNubj)}(h``match.type``h]h match.type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh and }(hjshhhNhNubj)}(h``match.addr``h]h match.addr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh or }(hjshhhNhNubj)}(h``match.name``h]h match.name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh* fields select a chip on the TV card, the }(hjshhhNhNubj)}(h``reg``h]hreg}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh+ field specifies a register number and the }(hjshhhNhNubj)}(h``val``h]hval}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjsubh1 field the value to be written into the register.}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hjhhubh)}(hX4To read a register applications must initialize the ``match.type``, ``match.addr`` or ``match.name`` and ``reg`` fields, and call ``VIDIOC_DBG_G_REGISTER`` with a pointer to this structure. On success the driver stores the register value in the ``val`` field and the size (in bytes) of the value in ``size``.h](h4To read a register applications must initialize the }(hj"hhhNhNubj)}(h``match.type``h]h match.type}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh, }(hj"hhhNhNubj)}(h``match.addr``h]h match.addr}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh or }(hj"hhhNhNubj)}(h``match.name``h]h match.name}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh and }(hj"hhhNhNubj)}(h``reg``h]hreg}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh fields, and call }(hj"hhhNhNubj)}(h``VIDIOC_DBG_G_REGISTER``h]hVIDIOC_DBG_G_REGISTER}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubhZ with a pointer to this structure. On success the driver stores the register value in the }(hj"hhhNhNubj)}(h``val``h]hval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh/ field and the size (in bytes) of the value in }(hj"hhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj"ubh.}(hj"hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjhhubh)}(hX*When ``match.type`` is ``V4L2_CHIP_MATCH_BRIDGE``, ``match.addr`` selects the nth non-sub-device chip on the TV card. The number zero always selects the host chip, e. g. the chip connected to the PCI or USB bus. You can find out which chips are present with the :ref:`VIDIOC_DBG_G_CHIP_INFO` ioctl.h](hWhen }(hjhhhNhNubj)}(h``match.type``h]h match.type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is }(hjhhhNhNubj)}(h``V4L2_CHIP_MATCH_BRIDGE``h]hV4L2_CHIP_MATCH_BRIDGE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``match.addr``h]h match.addr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh selects the nth non-sub-device chip on the TV card. The number zero always selects the host chip, e. g. the chip connected to the PCI or USB bus. You can find out which chips are present with the }(hjhhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j)}(hjh]hVIDIOC_DBG_G_CHIP_INFO}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjsvidioc_dbg_g_chip_infouh1hhhhKAhjubh ioctl.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKAhjhhubh)}(h]When ``match.type`` is ``V4L2_CHIP_MATCH_SUBDEV``, ``match.addr`` selects the nth sub-device.h](hWhen }(hjhhhNhNubj)}(h``match.type``h]h match.type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is }(hjhhhNhNubj)}(h``V4L2_CHIP_MATCH_SUBDEV``h]hV4L2_CHIP_MATCH_SUBDEV}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``match.addr``h]h match.addr}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh selects the nth sub-device.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhjhhubh)}(hThese ioctls are optional, not all drivers may support them. However when a driver supports these ioctls it must also support :ref:`VIDIOC_DBG_G_CHIP_INFO`. Conversely it may support ``VIDIOC_DBG_G_CHIP_INFO`` but not these ioctls.h](h~These ioctls are optional, not all drivers may support them. However when a driver supports these ioctls it must also support }(hjZhhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j)}(hjdh]hVIDIOC_DBG_G_CHIP_INFO}(hjfhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]refdocj^ refdomainjpreftyperef refexplicitrefwarnjsvidioc_dbg_g_chip_infouh1hhhhKJhjZubh. Conversely it may support }(hjZhhhNhNubj)}(h``VIDIOC_DBG_G_CHIP_INFO``h]hVIDIOC_DBG_G_CHIP_INFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjZubh but not these ioctls.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubh)}(h``VIDIOC_DBG_G_REGISTER`` and ``VIDIOC_DBG_S_REGISTER`` were introduced in Linux 2.6.21, but their API was changed to the one described here in kernel 2.6.29.h](j)}(h``VIDIOC_DBG_G_REGISTER``h]hVIDIOC_DBG_G_REGISTER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhg were introduced in Linux 2.6.21, but their API was changed to the one described here in kernel 2.6.29.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKOhjhhubh)}(hWe recommended the v4l2-dbg utility over calling these ioctls directly. It is available from the LinuxTV v4l-dvb repository; see `https://linuxtv.org/repo/ `__ for access instructions.h](hWe recommended the v4l2-dbg utility over calling these ioctls directly. It is available from the LinuxTV v4l-dvb repository; see }(hjhhhNhNubh reference)}(h9`https://linuxtv.org/repo/ `__h]hhttps://linuxtv.org/repo/}(hjhhhNhNubah}(h]h ]h"]h$]h&]namehttps://linuxtv.org/repo/refurihttps://linuxtv.org/repo/uh1jhjubh for access instructions.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKShjhhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec%|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{6.6cm}|uh1jhhhKXhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_dbg_match (C type)c.V4L.v4l2_dbg_matchhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_dbg_matchh]j.)}(htype v4l2_dbg_matchh](hdesc_sig_keyword)}(htypeh]htype}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhhhKZubhdesc_sig_space)}(h h]h }(hj+hhhNhNubah}(h]h ]wah"]h$]h&]uh1j)hjhhhhhKZubj4)}(hv4l2_dbg_matchh]j:)}(hjh]hv4l2_dbg_match}(hj>hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hj:ubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKZubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKZubah}(h]j ah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKZhj hhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj hhhhhKZubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjijzjij{j|j}uh1j"hhhjhNhNubhtable)}(hhh](h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hjrhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjoubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``type``h]j)}(hjh]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h9See :ref:`chip-match-types` for a list of possible types.h](hSee }(hjhhhNhNubh)}(h:ref:`chip-match-types`h]j)}(hjh]hchip-match-types}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjschip-match-typesuh1hhhhKchjubh for a list of possible types.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKchjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hunion {h]hunion {}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhj,ubah}(h]h ]h"]h$]h&]uh1jhj)ubj)}(hhh]h)}(h (anonymous)h]h (anonymous)}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjCubah}(h]h ]h"]h$]h&]morecolsKuh1jhj)ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h``addr``h]j)}(hjh]haddr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hhhhKghj{ubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hIMatch a chip by this number, interpreted according to the ``type`` field.h](h:Match a chip by this number, interpreted according to the }(hjhhhNhNubj)}(h``type``h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``name[32]``h]j)}(hjh]hname[32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hYMatch a chip by this name, interpreted according to the ``type`` field. Currently unused.h](h8Match a chip by this name, interpreted according to the }(hjhhhNhNubj)}(h``type``h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field. Currently unused.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKlhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h}h]h}}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubj)}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1jhj3ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjoubeh}(h]id1ah ]h"]h$]h&]uh1jmhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_dbg_register (C type)c.V4L.v4l2_dbg_registerhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_dbg_registerh]j.)}(htype v4l2_dbg_registerh](j)}(hjh]htype}(hjhhhNhNubah}(h]h ]j%ah"]h$]h&]uh1jhjhhhhhKrubj*)}(h h]h }(hjhhhNhNubah}(h]h ]j6ah"]h$]h&]uh1j)hjhhhhhKrubj4)}(hv4l2_dbg_registerh]j:)}(hjh]hv4l2_dbg_register}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKrubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKrubah}(h]j}ah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKrhjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKrubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubjn)}(hhh](h)}(hstruct v4l2_dbg_registerh]hstruct v4l2_dbg_register}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1jhjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKxhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``match``h]j)}(hj, h]hmatch}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj* ubah}(h]h ]h"]h$]h&]uh1hhhhKyhj' ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h4How to match the chip, see :c:type:`v4l2_dbg_match`.h](hHow to match the chip, see }(hjJ hhhNhNubh)}(h:c:type:`v4l2_dbg_match`h]j)}(hjT h]hv4l2_dbg_match}(hjV hhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjR ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_dbg_matchuh1hhhhKzhjJ ubh.}(hjJ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKzhjG ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``size``h]j)}(hj h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhK|hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hThe register size in bytes.h]hThe register size in bytes.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h__u64h]h__u64}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h``reg``h]j)}(hj h]hreg}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hA register number.h]hA register number.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h__u64h]h__u64}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8 ubah}(h]h ]h"]h$]h&]uh1jhj5 ubj)}(hhh]h)}(h``val``h]j)}(hjT h]hval}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjR ubah}(h]h ]h"]h$]h&]uh1hhhhKhjO ubah}(h]h ]h"]h$]h&]uh1jhj5 ubj)}(hhh]h)}(h8The value read from, or to be written into the register.h]h8The value read from, or to be written into the register.}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjo ubah}(h]h ]h"]h$]h&]uh1jhj5 ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id2ah ]h"]h$]h&]uh1jmhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{6.6cm}|p{2.2cm}|p{8.5cm}|uh1jhhhKhjhhubh)}(h.. _chip-match-types:h]h}(h]h ]h"]h$]h&]hchip-match-typesuh1hhKhjhhhhubjn)}(hhh](h)}(hChip Match Typesh]hChip Match Types}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(h``V4L2_CHIP_MATCH_BRIDGE``h]j)}(hj h]hV4L2_CHIP_MATCH_BRIDGE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hUMatch the nth chip on the card, zero for the bridge chip. Does not match sub-devices.h]hUMatch the nth chip on the card, zero for the bridge chip. Does not match sub-devices.}(hj' hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_CHIP_MATCH_SUBDEV``h]j)}(hjI h]hV4L2_CHIP_MATCH_SUBDEV}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjG ubah}(h]h ]h"]h$]h&]uh1hhhhKhjD ubah}(h]h ]h"]h$]h&]uh1jhjA ubj)}(hhh]h)}(h4h]h4}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjd ubah}(h]h ]h"]h$]h&]uh1jhjA ubj)}(hhh]h)}(hMatch the nth sub-device.h]hMatch the nth sub-device.}(hj~ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ ubah}(h]h ]h"]h$]h&]uh1jhjA ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubeh}(h](id3j eh ]h"]chip-match-typesah$]h&]uh1jmhjhhhNhNexpect_referenced_by_name}j j sexpect_referenced_by_id}j j subeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(hOn success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.h](h.On success 0 is returned, on error -1 and the }(hj hhhNhNubj)}(h ``errno``h]herrno}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhM variable is set appropriately. The generic error codes are described at the }(hj hhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hj h]hGeneric Error Codes}(hj hhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj reftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKhj ubh chapter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj)}(hhh]j)}(hUEPERM Insufficient permissions. Root privileges are required to execute these ioctls.h](j)}(hEPERMh]hEPERM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj8)}(hhh]h)}(hOInsufficient permissions. Root privileges are required to execute these ioctls.h]hOInsufficient permissions. Root privileges are required to execute these ioctls.}(hj& hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj# ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj hhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](1ioctl-vidioc-dbg-g-register-vidioc-dbg-s-registerheh ]h"](2ioctl vidioc_dbg_g_register, vidioc_dbg_s_registervidioc_dbg_g_registereh$]h&]uh1hhhhhhhhKj }jT hsj }hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj{ error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}(h]haj ]j aunameids}(jT hjS jP hhjjjjj j j j jK jH u nametypes}(jT jS hjjj j jK uh}(hhjP hhhjjj j)jjjjj jj jj}jj j jH j jljoj jj j u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j KsRparse_messages]hsystem_message)}(hhh]h)}(heUnexpected possible title overline or transition. Treating it as ordinary text because it's so short.h]hgUnexpected possible title overline or transition. Treating it as ordinary text because it’s so short.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOlineKnsourcehuh1j hj6ubatransform_messages](j )}(hhh]h)}(hhh]h;Hyperlink target "vidioc-dbg-g-register" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "chip-match-types" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1j ube transformerN include_log] decorationNhhub.