sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetB/translations/zh_CN/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/zh_TW/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/it_IT/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/ja_JP/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/ko_KR/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetB/translations/sp_SP/userspace-api/media/v4l/vidioc-dbg-g-chip-infomodnameN 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-chip-info.rsthKubhtarget)}(h.. _VIDIOC_DBG_G_CHIP_INFO:h]h}(h]h ]h"]h$]h&]refidvidioc-dbg-g-chip-infouh1hhKhhhhhhubhsection)}(hhh](htitle)}(hioctl VIDIOC_DBG_G_CHIP_INFOh]hioctl VIDIOC_DBG_G_CHIP_INFO}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(h8VIDIOC_DBG_G_CHIP_INFO - Identify the chips on a TV cardh]h8VIDIOC_DBG_G_CHIP_INFO - Identify the chips on a TV card}(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_CHIP_INFO (C macro)c.V4L.VIDIOC_DBG_G_CHIP_INFOhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_DBG_G_CHIP_INFOh]hdesc_signature_line)}(hVIDIOC_DBG_G_CHIP_INFOh]h desc_name)}(hVIDIOC_DBG_G_CHIP_INFOh]h desc_sig_name)}(hj+h]hVIDIOC_DBG_G_CHIP_INFO}(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)}(hN``int ioctl(int fd, VIDIOC_DBG_G_CHIP_INFO, struct v4l2_dbg_chip_info *argp)``h]hliteral)}(hjh]hJint ioctl(int fd, VIDIOC_DBG_G_CHIP_INFO, struct v4l2_dbg_chip_info *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(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)}(hjh]hfd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjhhhNhNubh)}(h:c:func:`open()`h]j)}(hjh]hopen()}(hjhhhNhNubah}(h]h ](xrefjsc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc.userspace-api/media/v4l/vidioc-dbg-g-chip-info refdomainjsreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h9``argp`` Pointer to struct :c:type:`v4l2_dbg_chip_info`. h](j)}(h``argp``h]j)}(hj.h]hargp}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhKhj(ubj)}(hhh]h)}(h/Pointer to struct :c:type:`v4l2_dbg_chip_info`.h](hPointer to struct }(hjFhhhNhNubh)}(h:c:type:`v4l2_dbg_chip_info`h]j)}(hjPh]hv4l2_dbg_chip_info}(hjRhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_dbg_chip_infouh1hhhhKhjFubh.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjCubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(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 }(hjhhhNhNubh)}(h:ref:`experimental`h]hinline)}(hjh]h experimental}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj experimentaluh1hhhhK$hjubh( interface and may change in the future.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK$hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hXKFor driver debugging purposes this ioctl allows test applications to query the driver about the chips present on the TV card. Regular applications must not use it. When you found a chip specific bug, please contact the linux-media mailing list (`https://linuxtv.org/lists.php `__) so it can be fixed.h](hFor driver debugging purposes this ioctl allows test applications to query the driver about the chips present on the TV card. Regular applications must not use it. When you found a chip specific bug, please contact the linux-media mailing list (}(hjhhhNhNubh reference)}(hA`https://linuxtv.org/lists.php `__h]hhttps://linuxtv.org/lists.php}(hjhhhNhNubah}(h]h ]h"]h$]h&]namehttps://linuxtv.org/lists.phprefurihttps://linuxtv.org/lists.phpuh1jhjubh) so it can be fixed.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjhhubh)}(hoAdditionally the Linux kernel must be compiled with the ``CONFIG_VIDEO_ADV_DEBUG`` option to enable this ioctl.h](h8Additionally the Linux kernel must be compiled with the }(hjhhhNhNubj)}(h``CONFIG_VIDEO_ADV_DEBUG``h]hCONFIG_VIDEO_ADV_DEBUG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh option to enable this ioctl.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK.hjhhubh)}(hXHTo query the driver applications must initialize the ``match.type`` and ``match.addr`` or ``match.name`` fields of a struct :c:type:`v4l2_dbg_chip_info` and call :ref:`VIDIOC_DBG_G_CHIP_INFO` with a pointer to this structure. On success the driver stores information about the selected chip in the ``name`` and ``flags`` fields.h](h5To query the driver applications must initialize the }(hj(hhhNhNubj)}(h``match.type``h]h match.type}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh and }(hj(hhhNhNubj)}(h``match.addr``h]h match.addr}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh or }(hj(hhhNhNubj)}(h``match.name``h]h match.name}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh fields of a struct }(hj(hhhNhNubh)}(h:c:type:`v4l2_dbg_chip_info`h]j)}(hjhh]hv4l2_dbg_chip_info}(hjjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjfubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_dbg_chip_infouh1hhhhK1hj(ubh and call }(hj(hhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j)}(hjh]hVIDIOC_DBG_G_CHIP_INFO}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjvidioc_dbg_g_chip_infouh1hhhhK1hj(ubhk with a pointer to this structure. On success the driver stores information about the selected chip in the }(hj(hhhNhNubj)}(h``name``h]hname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh and }(hj(hhhNhNubj)}(h ``flags``h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh fields.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(hXWhen ``match.type`` is ``V4L2_CHIP_MATCH_BRIDGE``, ``match.addr`` selects the nth bridge 'chip' on the TV card. You can enumerate all chips by starting at zero and incrementing ``match.addr`` by one until :ref:`VIDIOC_DBG_G_CHIP_INFO` fails with an ``EINVAL`` error code. The number zero always selects the bridge chip itself, e. g. the chip connected to the PCI or USB bus. Non-zero numbers identify specific parts of the bridge chip such as an AC97 register block.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&]uh1jhjubht selects the nth bridge ‘chip’ on the TV card. You can enumerate all chips by starting at zero and incrementing }(hjhhhNhNubj)}(h``match.addr``h]h match.addr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh by one until }(hjhhhNhNubh)}(h:ref:`VIDIOC_DBG_G_CHIP_INFO`h]j)}(hj)h]hVIDIOC_DBG_G_CHIP_INFO}(hj+hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj'ubah}(h]h ]h"]h$]h&]refdocj refdomainj5reftyperef refexplicitrefwarnjvidioc_dbg_g_chip_infouh1hhhhK8hjubh fails with an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh error code. The number zero always selects the bridge chip itself, e. g. the chip connected to the PCI or USB bus. Non-zero numbers identify specific parts of the bridge chip such as an AC97 register block.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK8hjhhubh)}(hWhen ``match.type`` is ``V4L2_CHIP_MATCH_SUBDEV``, ``match.addr`` selects the nth sub-device. This allows you to enumerate over all sub-devices.h](hWhen }(hjchhhNhNubj)}(h``match.type``h]h match.type}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubh is }(hjchhhNhNubj)}(h``V4L2_CHIP_MATCH_SUBDEV``h]hV4L2_CHIP_MATCH_SUBDEV}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubh, }(hjchhhNhNubj)}(h``match.addr``h]h match.addr}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjcubhO selects the nth sub-device. This allows you to enumerate over all sub-devices.}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK@hjhhubh)}(hXOn success, the ``name`` field will contain a chip name and the ``flags`` field will contain ``V4L2_CHIP_FL_READABLE`` if the driver supports reading registers from the device or ``V4L2_CHIP_FL_WRITABLE`` if the driver supports writing registers to the device.h](hOn success, the }(hjhhhNhNubj)}(h``name``h]hname}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh( field will contain a chip name and the }(hjhhhNhNubj)}(h ``flags``h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field will contain }(hjhhhNhNubj)}(h``V4L2_CHIP_FL_READABLE``h]hV4L2_CHIP_FL_READABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh= if the driver supports reading registers from the device or }(hjhhhNhNubj)}(h``V4L2_CHIP_FL_WRITABLE``h]hV4L2_CHIP_FL_WRITABLE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh8 if the driver supports writing registers to the device.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubh)}(hWe recommended the v4l2-dbg utility over calling this ioctl 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 this ioctl directly. It is available from the LinuxTV v4l-dvb repository; see }(hjhhhNhNubj)}(h9`https://linuxtv.org/repo/ `__h]hhttps://linuxtv.org/repo/}(hjhhhNhNubah}(h]h ]h"]h$]h&]namehttps://linuxtv.org/repo/jhttps://linuxtv.org/repo/uh1jhjubh for access instructions.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKIhjhhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec%|p{3.5cm}|p{3.5cm}|p{3.5cm}|p{6.6cm}|uh1j hhhKNhjhhubh)}(h.. _name-v4l2-dbg-match:h]h}(h]h ]h"]h$]h&]hname-v4l2-dbg-matchuh1hhKPhjhhhhubhtable)}(hhh](h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhj:ubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjMubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjMubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjMubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhj|ubah}(h]h ]h"]h$]h&]uh1jzhjwubj{)}(hhh]h)}(h``type``h]j)}(hjh]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jzhjwubj{)}(hhh]h)}(h>See :ref:`name-chip-match-types` for a list of possible types.h](hSee }(hjhhhNhNubh)}(h:ref:`name-chip-match-types`h]j)}(hjh]hname-chip-match-types}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjname-chip-match-typesuh1hhhhKYhjubh for a list of possible types.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKYhjubah}(h]h ]h"]h$]h&]uh1jzhjwubeh}(h]h ]h"]h$]h&]uh1juhjrubjv)}(hhh](j{)}(hhh]h)}(hunion {h]hunion {}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(h (anonymous)h]h (anonymous)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]morecolsKuh1jzhjubeh}(h]h ]h"]h$]h&]uh1juhjrubjv)}(hhh](j{)}(hhh]h)}(h__u32h]h__u32}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hj/ubah}(h]h ]h"]h$]h&]uh1jzhj,ubj{)}(hhh]h)}(h``addr``h]j)}(hjKh]haddr}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjIubah}(h]h ]h"]h$]h&]uh1hhhhK]hjFubah}(h]h ]h"]h$]h&]uh1jzhj,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 }(hjihhhNhNubj)}(h``type``h]htype}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjiubh field.}(hjihhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK^hjfubah}(h]h ]h"]h$]h&]uh1jzhj,ubeh}(h]h ]h"]h$]h&]uh1juhjrubjv)}(hhh](j{)}(hhh]h)}(hcharh]hchar}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(h ``name[32]``h]j)}(hjh]hname[32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(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&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jzhjubeh}(h]h ]h"]h$]h&]uh1juhjrubjv)}(hhh](j{)}(hhh]h)}(h}h]h}}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h}(h]h ]h"]h$]h&]morecolsKuh1jzhjubeh}(h]h ]h"]h$]h&]uh1juhjrubeh}(h]h ]h"]h$]h&]uh1jphjMubeh}(h]h ]h"]h$]h&]colsKuh1jKhj:ubeh}(h](id1j7eh ]h"]name-v4l2-dbg-matchah$]h&]uh1j8hjhhhNhNexpect_referenced_by_name}j:j-sexpect_referenced_by_id}j7j-subj!)}(hhh]h}(h]h ]h"]h$]h&]j+|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1j hhhKhhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_dbg_chip_info (C type)c.V4L.v4l2_dbg_chip_infohNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_dbg_chip_infoh]j.)}(htype v4l2_dbg_chip_infoh](hdesc_sig_keyword)}(htypeh]htype}(hjfhhhNhNubah}(h]h ]kah"]h$]h&]uh1jdhj`hhhhhKjubhdesc_sig_space)}(h h]h }(hjwhhhNhNubah}(h]h ]wah"]h$]h&]uh1juhj`hhhhhKjubj4)}(hv4l2_dbg_chip_infoh]j:)}(hj^h]hv4l2_dbg_chip_info}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hj`hhhhhKjubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj\hhhhhKjubah}(h]jWah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKjhjYhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjYhhhhhKjubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubj9)}(hhh](h)}(hstruct v4l2_dbg_chip_infoh]hstruct v4l2_dbg_chip_info}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjubjL)}(hhh](jQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhjubjq)}(hhh](jv)}(hhh](j{)}(hhh]h)}(hstruct v4l2_dbg_matchh]hstruct v4l2_dbg_match}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(h ``match``h]j)}(hj h]hmatch}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(h6How to match the chip, see :ref:`name-v4l2-dbg-match`.h](hHow to match the chip, see }(hj+hhhNhNubh)}(h:ref:`name-v4l2-dbg-match`h]j)}(hj5h]hname-v4l2-dbg-match}(hj7hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]refdocj refdomainjAreftyperef refexplicitrefwarnjname-v4l2-dbg-matchuh1hhhhKshj+ubh.}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKshj(ubah}(h]h ]h"]h$]h&]uh1jzhjubeh}(h]h ]h"]h$]h&]uh1juhjubjv)}(hhh](j{)}(hhh]h)}(hcharh]hchar}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKthjlubah}(h]h ]h"]h$]h&]uh1jzhjiubj{)}(hhh]h)}(h ``name[32]``h]j)}(hjh]hname[32]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKuhjubah}(h]h ]h"]h$]h&]uh1jzhjiubj{)}(hhh]h)}(hThe name of the chip.h]hThe name of the chip.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1jzhjiubeh}(h]h ]h"]h$]h&]uh1juhjubjv)}(hhh](j{)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(h ``flags``h]j)}(hjh]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jzhjubj{)}(hhh]h)}(hSet by the driver. If ``V4L2_CHIP_FL_READABLE`` is set, then the driver supports reading registers from the device. If ``V4L2_CHIP_FL_WRITABLE`` is set, then it supports writing registers.h](hSet by the driver. If }(hjhhhNhNubj)}(h``V4L2_CHIP_FL_READABLE``h]hV4L2_CHIP_FL_READABLE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhH is set, then the driver supports reading registers from the device. If }(hjhhhNhNubj)}(h``V4L2_CHIP_FL_WRITABLE``h]hV4L2_CHIP_FL_WRITABLE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, is set, then it supports writing registers.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jzhjubeh}(h]h ]h"]h$]h&]uh1juhjubjv)}(hhh](j{)}(hhh]h)}(h__u32h]h__u32}(hjA hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hj> ubah}(h]h ]h"]h$]h&]uh1jzhj; ubj{)}(hhh]h)}(h``reserved[8]``h]j)}(hjZ h]h reserved[8]}(hj\ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjX ubah}(h]h ]h"]h$]h&]uh1hhhhK~hjU ubah}(h]h ]h"]h$]h&]uh1jzhj; ubj{)}(hhh]h)}(hAReserved fields, both application and driver must set these to 0.h]hAReserved fields, both application and driver must set these to 0.}(hjx hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhju ubah}(h]h ]h"]h$]h&]uh1jzhj; ubeh}(h]h ]h"]h$]h&]uh1juhjubeh}(h]h ]h"]h$]h&]uh1jphjubeh}(h]h ]h"]h$]h&]colsKuh1jKhjubeh}(h]id2ah ]h"]h$]h&]uh1j8hjhhhNhNubj!)}(hhh]h}(h]h ]h"]h$]h&]j+|p{6.6cm}|p{2.2cm}|p{8.5cm}|uh1j hhhKhjhhubh)}(h.. _name-chip-match-types:h]h}(h]h ]h"]h$]h&]hname-chip-match-typesuh1hhKhjhhhhubj9)}(hhh](h)}(hChip Match Typesh]hChip Match Types}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubjL)}(hhh](jQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhj ubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhj ubjQ)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jPhj ubjq)}(hhh](jv)}(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&]uh1jzhj ubj{)}(hhh]h)}(h0h]h0}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jzhj 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&]uh1jzhj ubeh}(h]h ]h"]h$]h&]uh1juhj ubjv)}(hhh](j{)}(hhh]h)}(h``V4L2_CHIP_MATCH_SUBDEV``h]j)}(hjO h]hV4L2_CHIP_MATCH_SUBDEV}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjM ubah}(h]h ]h"]h$]h&]uh1hhhhKhjJ ubah}(h]h ]h"]h$]h&]uh1jzhjG ubj{)}(hhh]h)}(h4h]h4}(hjm hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjj ubah}(h]h ]h"]h$]h&]uh1jzhjG 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&]uh1jzhjG ubeh}(h]h ]h"]h$]h&]uh1juhj ubeh}(h]h ]h"]h$]h&]uh1jphj ubeh}(h]h ]h"]h$]h&]colsKuh1jKhj ubeh}(h](id3j eh ]h"]name-chip-match-typesah$]h&]uh1j8hjhhhNhNj=}j j sj?}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 ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj gen-errorsuh1hhhhKhj ubh chapter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj)}(hhh]j)}(hCEINVAL The ``match_type`` is invalid or no device could be matched.h](j)}(hEINVALh]hEINVAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj)}(hhh]h)}(h