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]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}(hj; hhhNhNubah}(h]h ]nah"]h$]h&]uh1j9 hj5 ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j3 hj/ 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&]uh1je hj$ hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjs objtypejt desctypejt noindexnoindexentrynocontentsentryuh1j" 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](j #V4L.VIDIOC_DBG_S_REGISTER (C macro)c.V4L.VIDIOC_DBG_S_REGISTERhNtauh1j hj hhhNhNubj# )}(hhh](j( )}(hVIDIOC_DBG_S_REGISTERh]j. )}(hVIDIOC_DBG_S_REGISTERh]j4 )}(hVIDIOC_DBG_S_REGISTERh]j: )}(hj h]hVIDIOC_DBG_S_REGISTER}(hj hhhNhNubah}(h]h ]jE ah"]h$]h&]uh1j9 hj ubah}(h]h ](jL jM eh"]h$]h&]hhuh1j3 hj hhhhhKubah}(h]h ]h"]h$]h&]hhjW uh1j- jX jY hj hhhhhKubah}(h]j ah ](j] j^ eh"]h$]h&]jb jc )jd huh1j' hhhKhj hhubjf )}(hhh]h}(h]h ]h"]h$]h&]uh1je hj hhhhhKubeh}(h]h ](js macroeh"]h$]h&]jx js jy j jz j j{ j| j} uh1j" 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 )}(hj" h]hfd}(hj$ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j hhhKhj ubh
definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hj< hhhNhNubh)}(h:c:func:`open()`h]j )}(hjF h]hopen()}(hjH hhhNhNubah}(h]h ](xrefjs c-funceh"]h$]h&]uh1j hjD ubah}(h]h ]h"]h$]h&]refdoc-userspace-api/media/v4l/vidioc-dbg-g-register refdomainjs reftypefuncrefexplicitrefwarnc:parent_keysphinx.domains.c LookupKey)}data]je
ASTIdentifier)}
identifierV4LsbNasb reftargetopenuh1hhhhKhj< ubh.}(hj< hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj9 ubah}(h]h ]h"]h$]h&]uh1j7 hj ubeh}(h]h ]h"]h$]h&]uh1j hhhKhj ubj )}(h8``argp``
Pointer to struct :c:type:`v4l2_dbg_register`.
h](j )}(h``argp``h]j )}(hj h]hargp}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]uh1j hhhK!hj ubj8 )}(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 ](jR js c-typeeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjs reftypetyperefexplicitrefwarnjd jh js v4l2_dbg_registeruh1hhhhK!hj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hj ubah}(h]h ]h"]h$]h&]uh1j7 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 ](jR stdstd-refeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj# reftyperefrefexplicitrefwarnjs 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.}(hjE 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 }(hjS hhhNhNubj )}(h``CONFIG_VIDEO_ADV_DEBUG``h]hCONFIG_VIDEO_ADV_DEBUG}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjS ubh option to enable these ioctls.}(hjS 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
}(hjs hhhNhNubh)}(h:c:type:`v4l2_dbg_register`h]j )}(hj} h]hv4l2_dbg_register}(hj hhhNhNubah}(h]h ](jR js c-typeeh"]h$]h&]uh1j hj{ ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjs reftypetyperefexplicitrefwarnjd jh js v4l2_dbg_registeruh1hhhhK4hjs ubh except for }(hjs hhhNhNubj )}(h``size``h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh
and
call }(hjs hhhNhNubj )}(h``VIDIOC_DBG_S_REGISTER``h]hVIDIOC_DBG_S_REGISTER}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh' with a pointer to this structure. The
}(hjs hhhNhNubj )}(h``match.type``h]h
match.type}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh and }(hjs hhhNhNubj )}(h``match.addr``h]h
match.addr}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh or }(hjs hhhNhNubj )}(h``match.name``h]h
match.name}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh* fields select a chip
on the TV card, the }(hjs hhhNhNubj )}(h``reg``h]hreg}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh+ field specifies a register number and the
}(hjs hhhNhNubj )}(h``val``h]hval}(hj
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjs ubh1 field the value to be written into the register.}(hjs 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 }(hj" hhhNhNubj )}(h``match.type``h]h
match.type}(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 or }(hj" hhhNhNubj )}(h``match.name``h]h
match.name}(hjN hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh and }(hj" hhhNhNubj )}(h``reg``h]hreg}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh fields, and call
}(hj" hhhNhNubj )}(h``VIDIOC_DBG_G_REGISTER``h]hVIDIOC_DBG_G_REGISTER}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubhZ with a pointer to this structure. On success
the driver stores the register value in the }(hj" hhhNhNubj )}(h``val``h]hval}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh/ field and the size
(in bytes) of the value in }(hj" hhhNhNubj )}(h``size``h]hsize}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj" ubh.}(hj" 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 ](jR stdstd-refeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj reftyperefrefexplicitrefwarnjs 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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh is }(hj hhhNhNubj )}(h``V4L2_CHIP_MATCH_SUBDEV``h]hV4L2_CHIP_MATCH_SUBDEV}(hj0 hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubh, }(hj hhhNhNubj )}(h``match.addr``h]h
match.addr}(hjB 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
}(hjZ hhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j )}(hjd h]hVIDIOC_DBG_G_CHIP_INFO}(hjf hhhNhNubah}(h]h ](jR stdstd-refeh"]h$]h&]uh1j hjb ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjp reftyperefrefexplicitrefwarnjs vidioc_dbg_g_chip_infouh1hhhhKJhjZ ubh. Conversely
it may support }(hjZ hhhNhNubj )}(h``VIDIOC_DBG_G_CHIP_INFO``h]hVIDIOC_DBG_G_CHIP_INFO}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjZ ubh but not these ioctls.}(hjZ 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](j V4L.v4l2_dbg_match (C type)c.V4L.v4l2_dbg_matchhNtauh1j hj hhhNhNubj# )}(hhh](j( )}(hv4l2_dbg_matchh]j. )}(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 hhhhhKZubj4 )}(hv4l2_dbg_matchh]j: )}(hj h]hv4l2_dbg_match}(hj> hhhNhNubah}(h]h ]jE ah"]h$]h&]uh1j9 hj: ubah}(h]h ](jL jM eh"]h$]h&]hhuh1j3 hj hhhhhKZubeh}(h]h ]h"]h$]h&]hhjW uh1j- jX jY hj hhhhhKZubah}(h]j ah ](j] j^ eh"]h$]h&]jb jc )jd huh1j' hhhKZhj
hhubjf )}(hhh]h}(h]h ]h"]h$]h&]uh1je hj
hhhhhKZubeh}(h]h ](js typeeh"]h$]h&]jx js jy ji jz ji j{ j| j} uh1j" hhhj hNhNubhtable)}(hhh](h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hjr hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjo 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 ](jR stdstd-refeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj reftyperefrefexplicitrefwarnjs 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 {}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhj, ubah}(h]h ]h"]h$]h&]uh1j hj) ubj )}(hhh]h)}(h(anonymous)h]h(anonymous)}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjC 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}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhjd ubah}(h]h ]h"]h$]h&]uh1j hja 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 hja 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 hja 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}}(hj9 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKnhj6 ubah}(h]h ]h"]h$]h&]uh1j hj3 ubj )}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1j hj3 ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]colsKuh1j hjo ubeh}(h]id1ah ]h"]h$]h&]uh1jm hj hhhNhNubj )}(hhh]h}(h]h ]h"]h$]h&]entries](j V4L.v4l2_dbg_register (C type)c.V4L.v4l2_dbg_registerhNtauh1j hj hhhNhNubj# )}(hhh](j( )}(hv4l2_dbg_registerh]j. )}(htype v4l2_dbg_registerh](j )}(hj h]htype}(hj hhhNhNubah}(h]h ]j% ah"]h$]h&]uh1j hj hhhhhKrubj* )}(h h]h }(hj hhhNhNubah}(h]h ]j6 ah"]h$]h&]uh1j) hj hhhhhKrubj4 )}(hv4l2_dbg_registerh]j: )}(hj h]hv4l2_dbg_register}(hj hhhNhNubah}(h]h ]jE ah"]h$]h&]uh1j9 hj ubah}(h]h ](jL jM eh"]h$]h&]hhuh1j3 hj hhhhhKrubeh}(h]h ]h"]h$]h&]hhjW uh1j- jX jY hj hhhhhKrubah}(h]j} ah ](j] j^ eh"]h$]h&]jb jc )jd huh1j' hhhKrhj hhubjf )}(hhh]h}(h]h ]h"]h$]h&]uh1je hj hhhhhKrubeh}(h]h ](js typeeh"]h$]h&]jx js jy j jz j j{ j| j} uh1j" hhhj hNhNubjn )}(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}(hj. 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 }(hjJ hhhNhNubh)}(h:c:type:`v4l2_dbg_match`h]j )}(hjT h]hv4l2_dbg_match}(hjV hhhNhNubah}(h]h ](jR js c-typeeh"]h$]h&]uh1j hjR ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjs reftypetyperefexplicitrefwarnjd jh js v4l2_dbg_matchuh1hhhhKzhjJ ubh.}(hjJ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKzhjG 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}(hj;
hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj8
ubah}(h]h ]h"]h$]h&]uh1j hj5
ubj )}(hhh]h)}(h``val``h]j )}(hjT
h]hval}(hjV
hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjR
ubah}(h]h ]h"]h$]h&]uh1hhhhKhjO
ubah}(h]h ]h"]h$]h&]uh1j hj5
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&]uh1j hj5
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&]uh1jm 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&]hchip-match-typesuh1hhKhj hhhhubjn )}(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&]uh1hhhhKhj$ 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 )}(hjI h]hV4L2_CHIP_MATCH_SUBDEV}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjG ubah}(h]h ]h"]h$]h&]uh1hhhhKhjD ubah}(h]h ]h"]h$]h&]uh1j hjA ubj )}(hhh]h)}(h4h]h4}(hjg hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjd ubah}(h]h ]h"]h$]h&]uh1j hjA 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 hjA 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&]uh1jm 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 ](jR stdstd-refeh"]h$]h&]uh1j hj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj reftyperefrefexplicitrefwarnjs
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&]uh1j hhhKhj 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&]uh1j7 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 }jT 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_sourceh_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}(jT hjS jP hhj j j j j j j j
jK jH u nametypes}(jT jS hj j j j jK uh}(hhjP hhhj j j j) j j j j j j j j j} j j
j
jH j jl jo 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 hj6 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 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 ubetransformerNinclude_log]
decorationNhhub.