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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/pt_BR/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_REGISTERhNtauh1j%hjhhhNhNubhdesc)}(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}(hjOhhhNhNubah}(h]h ]nah"]h$]h&]uh1jMhjIubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jGhjChhhhhKubah}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jAsphinx_line_type declaratorhj=hhhhhKubah}(h]j4ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j;hhhKhj8hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj8hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j6hhhjhNhNubh)}(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&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2#V4L.VIDIOC_DBG_S_REGISTER (C macro)c.V4L.VIDIOC_DBG_S_REGISTERhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(hVIDIOC_DBG_S_REGISTERh]jB)}(hVIDIOC_DBG_S_REGISTERh]jH)}(hVIDIOC_DBG_S_REGISTERh]jN)}(hjh]hVIDIOC_DBG_S_REGISTER}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhjhhhhhKubah}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhKubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKhjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhKubeh}(h]h ](jmacroeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubh)}(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)}(hj6h]hfd}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]uh1j2hhhKhj.ubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjPhhhNhNubh)}(h:c:func:`open()`h]j)}(hjZh]hopen()}(hj\hhhNhNubah}(h]h ](xrefjc-funceh"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]refdoc-userspace-api/media/v4l/vidioc-dbg-g-register refdomainjreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]jy ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhjPubh.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjMubah}(h]h ]h"]h$]h&]uh1jKhj.ubeh}(h]h ]h"]h$]h&]uh1j,hhhKhj)ubj-)}(h8``argp`` Pointer to struct :c:type:`v4l2_dbg_register`. h](j3)}(h``argp``h]j)}(hjh]hargp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1j2hhhK!hjubjL)}(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 ](jfjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftypetype refexplicitrefwarnjxj|jv4l2_dbg_registeruh1hhhhK!hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1jKhjubeh}(h]h ]h"]h$]h&]uh1j,hhhK!hj)hhubeh}(h]h ]h"]h$]h&]uh1j'hjhhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hj hhhNhNubah}(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 }(hjhhhNhNubh)}(h:ref:`experimental`h]hinline)}(hj)h]h experimental}(hj-hhhNhNubah}(h]h ](jfstdstd-refeh"]h$]h&]uh1j+hj'ubah}(h]h ]h"]h$]h&]refdocjr refdomainj7reftyperef refexplicitrefwarnj experimentaluh1hhhhK(hjubh( interface and may change in the future.}(hjhhhNhNubeh}(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.}(hjYhhhNhNubah}(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 }(hjghhhNhNubj)}(h``CONFIG_VIDEO_ADV_DEBUG``h]hCONFIG_VIDEO_ADV_DEBUG}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjgubh option to enable these ioctls.}(hjghhhNhNubeh}(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 }(hjhhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j)}(hjh]hv4l2_dbg_register}(hjhhhNhNubah}(h]h ](jfjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftypetype refexplicitrefwarnjxj|jv4l2_dbg_registeruh1hhhhK4hjubh except for }(hjhhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and call }(hjhhhNhNubj)}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh' with a pointer to this structure. The }(hjhhhNhNubj)}(h``match.type``h]h match.type}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``match.addr``h]h match.addr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh or }(hjhhhNhNubj)}(h``match.name``h]h match.name}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh* fields select a chip on the TV card, the }(hjhhhNhNubj)}(h``reg``h]hreg}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh+ field specifies a register number and the }(hjhhhNhNubj)}(h``val``h]hval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh1 field the value to be written into the register.}(hjhhhNhNubeh}(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 }(hj6hhhNhNubj)}(h``match.type``h]h match.type}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh, }(hj6hhhNhNubj)}(h``match.addr``h]h match.addr}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh or }(hj6hhhNhNubj)}(h``match.name``h]h match.name}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh and }(hj6hhhNhNubj)}(h``reg``h]hreg}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh fields, and call }(hj6hhhNhNubj)}(h``VIDIOC_DBG_G_REGISTER``h]hVIDIOC_DBG_G_REGISTER}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubhZ with a pointer to this structure. On success the driver stores the register value in the }(hj6hhhNhNubj)}(h``val``h]hval}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh/ field and the size (in bytes) of the value in }(hj6hhhNhNubj)}(h``size``h]hsize}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6ubh.}(hj6hhhNhNubeh}(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 ](jfstdstd-refeh"]h$]h&]uh1j+hjubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftyperef refexplicitrefwarnjvidioc_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 }(hj*hhhNhNubj)}(h``match.type``h]h match.type}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh is }(hj*hhhNhNubj)}(h``V4L2_CHIP_MATCH_SUBDEV``h]hV4L2_CHIP_MATCH_SUBDEV}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh, }(hj*hhhNhNubj)}(h``match.addr``h]h match.addr}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*ubh selects the nth sub-device.}(hj*hhhNhNubeh}(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 }(hjnhhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j,)}(hjxh]hVIDIOC_DBG_G_CHIP_INFO}(hjzhhhNhNubah}(h]h ](jfstdstd-refeh"]h$]h&]uh1j+hjvubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftyperef refexplicitrefwarnjvidioc_dbg_g_chip_infouh1hhhhKJhjnubh. Conversely it may support }(hjnhhhNhNubj)}(h``VIDIOC_DBG_G_CHIP_INFO``h]hVIDIOC_DBG_G_CHIP_INFO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnubh but not these ioctls.}(hjnhhhNhNubeh}(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](j2V4L.v4l2_dbg_match (C type)c.V4L.v4l2_dbg_matchhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(hv4l2_dbg_matchh]jB)}(htype v4l2_dbg_matchh](hdesc_sig_keyword)}(htypeh]htype}(hj.hhhNhNubah}(h]h ]kah"]h$]h&]uh1j,hj(hhhhhKZubhdesc_sig_space)}(h h]h }(hj?hhhNhNubah}(h]h ]wah"]h$]h&]uh1j=hj(hhhhhKZubjH)}(hv4l2_dbg_matchh]jN)}(hj&h]hv4l2_dbg_match}(hjRhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjNubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhj(hhhhhKZubeh}(h]h ]h"]h$]h&]hhjkuh1jAjljmhj$hhhhhKZubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKZhj!hhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj!hhhhhKZubeh}(h]h ](jtypeeh"]h$]h&]jjjj}jj}jjjuh1j6hhhjhNhNubhtable)}(hhh](h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjubhtgroup)}(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,)}(hj h]hchip-match-types}(hj hhhNhNubah}(h]h ](jfstdstd-refeh"]h$]h&]uh1j+hjubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftyperef refexplicitrefwarnjchip-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 {}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhj@ubah}(h]h ]h"]h$]h&]uh1jhj=ubj)}(hhh]h)}(h (anonymous)h]h (anonymous)}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjWubah}(h]h ]h"]h$]h&]morecolsKuh1jhj=ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjxubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(hhh]h)}(h``addr``h]j)}(hjh]haddr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1jhjuubj)}(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&]uh1jhjuubeh}(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}(hj#hhhNhNubah}(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}}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjJubah}(h]h ]h"]h$]h&]uh1jhjGubj)}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1jhjGubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2V4L.v4l2_dbg_register (C type)c.V4L.v4l2_dbg_registerhNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(hv4l2_dbg_registerh]jB)}(htype v4l2_dbg_registerh](j-)}(hj0h]htype}(hjhhhNhNubah}(h]h ]j9ah"]h$]h&]uh1j,hjhhhhhKrubj>)}(h h]h }(hjhhhNhNubah}(h]h ]jJah"]h$]h&]uh1j=hjhhhhhKrubjH)}(hv4l2_dbg_registerh]jN)}(hjh]hv4l2_dbg_register}(hjhhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhjhhhhhKrubeh}(h]h ]h"]h$]h&]hhjkuh1jAjljmhjhhhhhKrubah}(h]jah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKrhjhhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhjhhhhhKrubeh}(h]h ](jtypeeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubj)}(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}(hjB 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 }(hj^ hhhNhNubh)}(h:c:type:`v4l2_dbg_match`h]j)}(hjh h]hv4l2_dbg_match}(hjj hhhNhNubah}(h]h ](jfjc-typeeh"]h$]h&]uh1jhjf ubah}(h]h ]h"]h$]h&]refdocjr refdomainjreftypetype refexplicitrefwarnjxj|jv4l2_dbg_matchuh1hhhhKzhj^ ubh.}(hj^ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKzhj[ 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}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjL ubah}(h]h ]h"]h$]h&]uh1jhjI ubj)}(hhh]h)}(h``val``h]j)}(hjh h]hval}(hjj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjf ubah}(h]h ]h"]h$]h&]uh1hhhhKhjc ubah}(h]h ]h"]h$]h&]uh1jhjI 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjI 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&]uh1jhjhhhNhNubj)}(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&]hԌchip-match-typesuh1hhKhjhhhhubj)}(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&]uh1hhhhKhj8 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)}(hj] h]hV4L2_CHIP_MATCH_SUBDEV}(hj_ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ ubah}(h]h ]h"]h$]h&]uh1hhhhKhjX ubah}(h]h ]h"]h$]h&]uh1jhjU ubj)}(hhh]h)}(h4h]h4}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjx ubah}(h]h ]h"]h$]h&]uh1jhjU 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&]uh1jhjU 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&]uh1jhjhhhNhNexpect_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 ](jfstdstd-refeh"]h$]h&]uh1j+hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftyperef refexplicitrefwarnj 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](j3)}(hEPERMh]hEPERM}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1j2hhhKhj% ubjL)}(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&]uh1hhhhKhj7 ubah}(h]h ]h"]h$]h&]uh1jKhj% ubeh}(h]h ]h"]h$]h&]uh1j,hhhKhj" ubah}(h]h ]h"]h$]h&]uh1j'hj 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 }jh 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_sourcehnj _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}(jh hjg jd jjjjjjj j j j j_ j\ u nametypes}(jh jg jjjj j j_ uh}(hhjd hjhjjj4j=jjjjj jjj$jjj j j\ j jjj 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 hjJubatransform_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 sourcehnjlineKuh1j ubj )}(hhh]h)}(hhh]h6Hyperlink target "chip-match-types" is not referenced.}hj0 sbah}(h]h ]h"]h$]h&]uh1hhj- ubah}(h]h ]h"]h$]h&]levelKtypej sourcehnjlineKuh1j ube transformerN include_log] decorationNhhub.