sphinx.addnodesdocument)}( rawsource children](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 classnameNrefexplicitutagnamehhhubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/zh_TW/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/it_IT/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ja_JP/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/ko_KR/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/pt_BR/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetA/translations/sp_SP/userspace-api/media/v4l/vidioc-dbg-g-registermodnameN classnameNrefexplicituh1hhhubeh}(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&]uh1hhhhhhhhKubh 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&]uh1hhhhhhhhKubh)}(hhh](h)}(hSynopsish]hSynopsis}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh index)}(hhh]h}(h]h ]h"]h$]h&]entries](single#V4L.VIDIOC_DBG_G_REGISTER (C macro)c.V4L.VIDIOC_DBG_G_REGISTERhNtauh1j% hj hhhNhNubh desc)}(hhh](h desc_signature)}(hVIDIOC_DBG_G_REGISTERh]h desc_signature_line)}(hVIDIOC_DBG_G_REGISTERh]h desc_name)}(hVIDIOC_DBG_G_REGISTERh]h
desc_sig_name)}(hj? h]hVIDIOC_DBG_G_REGISTER}(hjO hhhNhNubah}(h]h ]nah"]h$]h&]uh1jM hjI ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jG hjC hhhhhKubah}(h]h ]h"]h$]h&]hhƌ
add_permalinkuh1jA sphinx_line_type
declaratorhj= hhhhhKubah}(h]j4 ah ](sig
sig-objecteh"]h$]h&]is_multiline
_toc_parts) _toc_namehuh1j; hhhKhj8 hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jy hj8 hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainj objtypej desctypej noindexnoindexentrynocontentsentryuh1j6 hhhj hNhNubh)}(hL``int ioctl(int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp)``h]hliteral)}(hj h]hHint ioctl(int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj& )}(hhh]h}(h]h ]h"]h$]h&]entries](j2 #V4L.VIDIOC_DBG_S_REGISTER (C macro)c.V4L.VIDIOC_DBG_S_REGISTERhNtauh1j% hj hhhNhNubj7 )}(hhh](j< )}(hVIDIOC_DBG_S_REGISTERh]jB )}(hVIDIOC_DBG_S_REGISTERh]jH )}(hVIDIOC_DBG_S_REGISTERh]jN )}(hj h]hVIDIOC_DBG_S_REGISTER}(hj hhhNhNubah}(h]h ]jY ah"]h$]h&]uh1jM hj ubah}(h]h ](j` ja eh"]h$]h&]hhuh1jG hj hhhhhKubah}(h]h ]h"]h$]h&]hhjk uh1jA jl jm hj hhhhhKubah}(h]j ah ](jq jr eh"]h$]h&]jv jw )jx huh1j; hhhKhj hhubjz )}(hhh]h}(h]h ]h"]h$]h&]uh1jy hj hhhhhKubeh}(h]h ](j macroeh"]h$]h&]j j j j j j j j j uh1j6 hhhj hNhNubh)}(hR``int ioctl(int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp)``h]j )}(hj h]hNint ioctl(int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(h5``fd``
File descriptor returned by :c:func:`open()`.
h](hterm)}(h``fd``h]j )}(hj6 h]hfd}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj4 ubah}(h]h ]h"]h$]h&]uh1j2 hhhKhj. ubh
definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjP hhhNhNubh)}(h:c:func:`open()`h]j )}(hjZ h]hopen()}(hj\ hhhNhNubah}(h]h ](xrefj c-funceh"]h$]h&]uh1j hjX ubah}(h]h ]h"]h$]h&]refdoc-userspace-api/media/v4l/vidioc-dbg-g-register refdomainj reftypefuncrefexplicitrefwarnc:parent_keysphinx.domains.c LookupKey)}data]jy
ASTIdentifier)}
identifierV4LsbNasb reftargetopenuh1hhhhKhjP ubh.}(hjP hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjM ubah}(h]h ]h"]h$]h&]uh1jK hj. 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 )}(hj h]hargp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j2 hhhK!hj ubjL )}(hhh]h)}(h.Pointer to struct :c:type:`v4l2_dbg_register`.h](hPointer to struct }(hj hhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j )}(hj h]hv4l2_dbg_register}(hj hhhNhNubah}(h]h ](jf j c-typeeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftypetyperefexplicitrefwarnjx j| j v4l2_dbg_registeruh1hhhhK!hj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hj ubah}(h]h ]h"]h$]h&]uh1jK hj ubeh}(h]h ]h"]h$]h&]uh1j, hhhK!hj) hhubeh}(h]h ]h"]h$]h&]uh1j' hj hhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hDescriptionh]hDescription}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK$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](hThis is an }(hj hhhNhNubh)}(h:ref:`experimental`h]hinline)}(hj) h]hexperimental}(hj- hhhNhNubah}(h]h ](jf stdstd-refeh"]h$]h&]uh1j+ hj' ubah}(h]h ]h"]h$]h&]refdocjr refdomainj7 reftyperefrefexplicitrefwarnj experimentaluh1hhhhK(hj ubh( interface and may
change in the future.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK(hj ubah}(h]h ]h"]h$]h&]uh1j hj hhhhhNubh)}(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.}(hjY hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hj hhubh)}(hX Since 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 }(hjg hhhNhNubj )}(h``CONFIG_VIDEO_ADV_DEBUG``h]hCONFIG_VIDEO_ADV_DEBUG}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjg ubh option to enable these ioctls.}(hjg hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK/hj hhubh)}(hX To 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
}(hj hhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j )}(hj h]hv4l2_dbg_register}(hj hhhNhNubah}(h]h ](jf j c-typeeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftypetyperefexplicitrefwarnjx j| j v4l2_dbg_registeruh1hhhhK4hj ubh except for }(hj hhhNhNubj )}(h``size``h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh
and
call }(hj hhhNhNubj )}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh' with a pointer to this structure. The
}(hj hhhNhNubj )}(h``match.type``h]h
match.type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh and }(hj hhhNhNubj )}(h``match.addr``h]h
match.addr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh or }(hj hhhNhNubj )}(h``match.name``h]h
match.name}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh* fields select a chip
on the TV card, the }(hj hhhNhNubj )}(h``reg``h]hreg}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh+ field specifies a register number and the
}(hj hhhNhNubj )}(h``val``h]hval}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh1 field the value to be written into the register.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hj hhubh)}(hX4 To 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 }(hj6 hhhNhNubj )}(h``match.type``h]h
match.type}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh,
}(hj6 hhhNhNubj )}(h``match.addr``h]h
match.addr}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh or }(hj6 hhhNhNubj )}(h``match.name``h]h
match.name}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh and }(hj6 hhhNhNubj )}(h``reg``h]hreg}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh fields, and call
}(hj6 hhhNhNubj )}(h``VIDIOC_DBG_G_REGISTER``h]hVIDIOC_DBG_G_REGISTER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubhZ with a pointer to this structure. On success
the driver stores the register value in the }(hj6 hhhNhNubj )}(h``val``h]hval}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh/ field and the size
(in bytes) of the value in }(hj6 hhhNhNubj )}(h``size``h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj6 ubh.}(hj6 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hj hhubh)}(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 }(hj hhhNhNubj )}(h``match.type``h]h
match.type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh is }(hj hhhNhNubj )}(h``V4L2_CHIP_MATCH_BRIDGE``h]hV4L2_CHIP_MATCH_BRIDGE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh, }(hj hhhNhNubj )}(h``match.addr``h]h
match.addr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh
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
}(hj hhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j, )}(hj h]hVIDIOC_DBG_G_CHIP_INFO}(hj hhhNhNubah}(h]h ](jf stdstd-refeh"]h$]h&]uh1j+ hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftyperefrefexplicitrefwarnj vidioc_dbg_g_chip_infouh1hhhhKAhj ubh ioctl.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKAhj hhubh)}(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}(hj2 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj* ubh is }(hj* hhhNhNubj )}(h``V4L2_CHIP_MATCH_SUBDEV``h]hV4L2_CHIP_MATCH_SUBDEV}(hjD hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj* ubh, }(hj* hhhNhNubj )}(h``match.addr``h]h
match.addr}(hjV hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj* ubh
selects the nth sub-device.}(hj* hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKGhj hhubh)}(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
}(hjn hhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j, )}(hjx h]hVIDIOC_DBG_G_CHIP_INFO}(hjz hhhNhNubah}(h]h ](jf stdstd-refeh"]h$]h&]uh1j+ hjv ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftyperefrefexplicitrefwarnj vidioc_dbg_g_chip_infouh1hhhhKJhjn ubh. Conversely
it may support }(hjn hhhNhNubj )}(h``VIDIOC_DBG_G_CHIP_INFO``h]hVIDIOC_DBG_G_CHIP_INFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjn ubh but not these ioctls.}(hjn hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKJhj hhubh)}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh and }(hj hhhNhNubj )}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubhg were introduced
in Linux 2.6.21, but their API was changed to the one described here in
kernel 2.6.29.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKOhj hhubh)}(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
}(hj hhhNhNubh reference)}(h9`https://linuxtv.org/repo/ `__h]hhttps://linuxtv.org/repo/}(hj hhhNhNubah}(h]h ]h"]h$]h&]namehttps://linuxtv.org/repo/refurihttps://linuxtv.org/repo/uh1j hj ubh for access
instructions.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKShj hhubh tabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec%|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{6.6cm}|uh1j hhhKXhj hhubj& )}(hhh]h}(h]h ]h"]h$]h&]entries](j2 V4L.v4l2_dbg_match (C type)c.V4L.v4l2_dbg_matchhNtauh1j% hj hhhNhNubj7 )}(hhh](j< )}(hv4l2_dbg_matchh]jB )}(htype v4l2_dbg_matchh](h desc_sig_keyword)}(htypeh]htype}(hj. hhhNhNubah}(h]h ]kah"]h$]h&]uh1j, hj( hhhhhKZubh desc_sig_space)}(h h]h }(hj? hhhNhNubah}(h]h ]wah"]h$]h&]uh1j= hj( hhhhhKZubjH )}(hv4l2_dbg_matchh]jN )}(hj& h]hv4l2_dbg_match}(hjR hhhNhNubah}(h]h ]jY ah"]h$]h&]uh1jM hjN ubah}(h]h ](j` ja eh"]h$]h&]hhuh1jG hj( hhhhhKZubeh}(h]h ]h"]h$]h&]hhjk uh1jA jl jm hj$ hhhhhKZubah}(h]j ah ](jq jr eh"]h$]h&]jv jw )jx huh1j; hhhKZhj! hhubjz )}(hhh]h}(h]h ]h"]h$]h&]uh1jy hj! hhhhhKZubeh}(h]h ](j typeeh"]h$]h&]j j j j} j j} j j j uh1j6 hhhj hNhNubhtable)}(hhh](h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj ubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj ubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h``type``h]j )}(hj h]htype}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKbhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h9See :ref:`chip-match-types` for a list of possible types.h](hSee }(hj hhhNhNubh)}(h:ref:`chip-match-types`h]j, )}(hj h]hchip-match-types}(hj hhhNhNubah}(h]h ](jf stdstd-refeh"]h$]h&]uh1j+ hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftyperefrefexplicitrefwarnj chip-match-typesuh1hhhhKchj ubh for a list of possible types.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKchj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(hunion {h]hunion {}(hjC hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhj@ ubah}(h]h ]h"]h$]h&]uh1j hj= ubj )}(hhh]h)}(h(anonymous)h]h(anonymous)}(hjZ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjW ubah}(h]h ]h"]h$]h&]morecolsKuh1j hj= ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(h__u32h]h__u32}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjx ubah}(h]h ]h"]h$]h&]uh1j hju ubj )}(hhh]h)}(h``addr``h]j )}(hj h]haddr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKghj ubah}(h]h ]h"]h$]h&]uh1j hju ubj )}(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 }(hj hhhNhNubj )}(h``type``h]htype}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh
field.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhj ubah}(h]h ]h"]h$]h&]uh1j hju ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(hcharh]hchar}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h``name[32]``h]j )}(hj h]hname[32]}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKkhj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(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 }(hj hhhNhNubj )}(h``type``h]htype}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh
field. Currently unused.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKlhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(h}h]h}}(hjM hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhjJ ubah}(h]h ]h"]h$]h&]uh1j hjG ubj )}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1j hjG ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubeh}(h]id1ah ]h"]h$]h&]uh1j hj hhhNhNubj& )}(hhh]h}(h]h ]h"]h$]h&]entries](j2 V4L.v4l2_dbg_register (C type)c.V4L.v4l2_dbg_registerhNtauh1j% hj hhhNhNubj7 )}(hhh](j< )}(hv4l2_dbg_registerh]jB )}(htype v4l2_dbg_registerh](j- )}(hj0 h]htype}(hj hhhNhNubah}(h]h ]j9 ah"]h$]h&]uh1j, hj hhhhhKrubj> )}(h h]h }(hj hhhNhNubah}(h]h ]jJ ah"]h$]h&]uh1j= hj hhhhhKrubjH )}(hv4l2_dbg_registerh]jN )}(hj h]hv4l2_dbg_register}(hj hhhNhNubah}(h]h ]jY ah"]h$]h&]uh1jM hj ubah}(h]h ](j` ja eh"]h$]h&]hhuh1jG hj hhhhhKrubeh}(h]h ]h"]h$]h&]hhjk uh1jA jl jm hj hhhhhKrubah}(h]j ah ](jq jr eh"]h$]h&]jv jw )jx huh1j; hhhKrhj hhubjz )}(hhh]h}(h]h ]h"]h$]h&]uh1jy hj hhhhhKrubeh}(h]h ](j typeeh"]h$]h&]j j j j j j j j j uh1j6 hhhj hNhNubj )}(hhh](h)}(hstruct v4l2_dbg_registerh]hstruct v4l2_dbg_register}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthj ubj )}(hhh](j )}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j hj ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthK!uh1j hj ubj )}(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&]uh1j hj! ubj )}(hhh]h)}(h ``match``h]j )}(hj@ h]hmatch}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj> ubah}(h]h ]h"]h$]h&]uh1hhhhKyhj; ubah}(h]h ]h"]h$]h&]uh1j hj! 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 ](jf j c-typeeh"]h$]h&]uh1j hjf ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftypetyperefexplicitrefwarnjx j| j v4l2_dbg_matchuh1hhhhKzhj^ ubh.}(hj^ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKzhj[ ubah}(h]h ]h"]h$]h&]uh1j hj! ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h``size``h]j )}(hj h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhK|hj ubah}(h]h ]h"]h$]h&]uh1j hj 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&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(h__u64h]h__u64}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hj ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(h``reg``h]j )}(hj
h]hreg}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj
ubah}(h]h ]h"]h$]h&]uh1hhhhKhj
ubah}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh]h)}(hA register number.h]hA register number.}(hj/
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj,
ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubj )}(hhh](j )}(hhh]h)}(h__u64h]h__u64}(hjO
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjL
ubah}(h]h ]h"]h$]h&]uh1j hjI
ubj )}(hhh]h)}(h``val``h]j )}(hjh
h]hval}(hjj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjf
ubah}(h]h ]h"]h$]h&]uh1hhhhKhjc
ubah}(h]h ]h"]h$]h&]uh1j hjI
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&]uh1j hjI
ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hj ubeh}(h]id2ah ]h"]h$]h&]uh1j hj hhhNhNubj )}(hhh]h}(h]h ]h"]h$]h&]j |p{6.6cm}|p{2.2cm}|p{8.5cm}|uh1j hhhKhj hhubh)}(h.. _chip-match-types:h]h}(h]h ]h"]h$]h&]hԌchip-match-typesuh1hhKhj hhhhubj )}(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&]colwidthKuh1j hj
ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj
ubj )}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j hj
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&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj
ubj )}(hhh]h)}(h0h]h0}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj! ubah}(h]h ]h"]h$]h&]uh1j hj
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&]uh1j hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
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&]uh1j hj[ ubah}(h]h ]h"]h$]h&]uh1hhhhKhjX ubah}(h]h ]h"]h$]h&]uh1j hjU ubj )}(hhh]h)}(h4h]h4}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjx ubah}(h]h ]h"]h$]h&]uh1j hjU 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&]uh1j hjU ubeh}(h]h ]h"]h$]h&]uh1j hj
ubeh}(h]h ]h"]h$]h&]uh1j hj
ubeh}(h]h ]h"]h$]h&]colsKuh1j hj
ubeh}(h](id3j
eh ]h"]chip-match-typesah$]h&]uh1j hj hhhNhNexpect_referenced_by_name}j j
sexpect_referenced_by_id}j
j
subeh}(h]descriptionah ]h"]descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(hReturn Valueh]hReturn 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&]uh1j hj 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 ](jf stdstd-refeh"]h$]h&]uh1j+ hj ubah}(h]h ]h"]h$]h&]refdocjr refdomainj reftyperefrefexplicitrefwarnj
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&]uh1j2 hhhKhj% 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&]uh1jK hj% 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_sourceNcurrent_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampNsource_linkN
source_urlN
toc_backlinksj footnote_backlinksK
sectnum_xformKstrip_commentsNstrip_elements_with_classesN
strip_classesNreport_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_enabledraw_enabledKline_length_limitM'pep_referencesNpep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesNrfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlongsmart_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 j j j j j j j j j j
j_ j\ u nametypes}(jh jg j j j j j j_ uh}(hhjd hj hj j j4 j= j j j j j j j j$ j j j
j
j\ j j j j
j j j
u
footnote_refs}
citation_refs}
autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK
id_countercollectionsCounter}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 hjJ ubatransform_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 ubetransformerNinclude_log]
decorationNhhub.