aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 15:09:57 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-13 15:09:57 -0400
commit858655116bfc722837e3aec0909b8e9d08f96996 (patch)
treeef9171d51ffcd01e40d1131d62be32e5a7d371dc /Documentation/DocBook
parent239dab4636f7f5f971ac39b5ca84254cff112cac (diff)
parent1b2c14b44adcb7836528640bfdc40bf7499d987d (diff)
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: "This series contain: - new i2c video drivers: ml86v7667 (video decoder), ths8200 (video encoder) - a new video driver for EasyCap cards based on Fushicai USBTV007 - Improved support for OF and embedded systems, with V4L2 async initialization and a better support for clocks - API cleanups on the ioctls used by the v4l2 debug tool - Lots of cleanups - As usual, several driver improvements and new cards additions - Revert two changesets that change the minimal symbol rate for stv0399, as request by Manu - Update MAINTAINERS and other files to point to my new e-mail" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (378 commits) MAINTAINERS & ABI: Update to point to my new email [media] stb0899: restore minimal rate to 5Mbauds [media] exynos4-is: Correct colorspace handling at FIMC-LITE [media] exynos4-is: Set valid initial format on FIMC.n subdevs [media] exynos4-is: Set valid initial format on FIMC-IS-ISP subdev pads [media] exynos4-is: Fix format propagation on FIMC-IS-ISP subdev [media] exynos4-is: Set valid initial format at FIMC-LITE [media] exynos4-is: Fix format propagation on FIMC-LITE.n subdevs [media] MAINTAINERS: Update S5P/Exynos FIMC driver entry [media] Documentation: Update driver's directory in video4linux/fimc.txt [media] exynos4-is: Change fimc-is firmware file names [media] exynos4-is: Add support for Exynos5250 MIPI-CSIS [media] exynos4-is: Add Exynos5250 SoC support to fimc-lite driver [media] exynos4-is: Drop drvdata handling in fimc-lite for non-dt platforms [media] media: i2c: tvp514x: remove manual setting of subdev name [media] media: i2c: tvp7002: remove manual setting of subdev name [media] mem2mem: set missing v4l2_dev pointer [media] wl128x: add missing struct v4l2_device [media] tvp514x: Fix init seqeunce [media] saa7134: Fix sparse warnings by adding __user annotation ...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml14
-rw-r--r--Documentation/DocBook/media/v4l/v4l2.xml11
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml271
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml20
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml64
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-querystd.xml3
6 files changed, 37 insertions, 346 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index f43542ae2981..0c7195e3e093 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2254,7 +2254,7 @@ video encoding.</para>
2254 <orderedlist> 2254 <orderedlist>
2255 <listitem> 2255 <listitem>
2256 <para>The <constant>VIDIOC_G_CHIP_IDENT</constant> ioctl was renamed 2256 <para>The <constant>VIDIOC_G_CHIP_IDENT</constant> ioctl was renamed
2257to <constant>VIDIOC_G_CHIP_IDENT_OLD</constant> and &VIDIOC-DBG-G-CHIP-IDENT; 2257to <constant>VIDIOC_G_CHIP_IDENT_OLD</constant> and <constant>VIDIOC_DBG_G_CHIP_IDENT</constant>
2258was introduced in its place. The old struct <structname>v4l2_chip_ident</structname> 2258was introduced in its place. The old struct <structname>v4l2_chip_ident</structname>
2259was renamed to <structname id="v4l2-chip-ident-old">v4l2_chip_ident_old</structname>.</para> 2259was renamed to <structname id="v4l2-chip-ident-old">v4l2_chip_ident_old</structname>.</para>
2260 </listitem> 2260 </listitem>
@@ -2513,6 +2513,16 @@ that used it. It was originally scheduled for removal in 2.6.35.
2513 </orderedlist> 2513 </orderedlist>
2514 </section> 2514 </section>
2515 2515
2516 <section>
2517 <title>V4L2 in Linux 3.11</title>
2518 <orderedlist>
2519 <listitem>
2520 <para>Remove obsolete <constant>VIDIOC_DBG_G_CHIP_IDENT</constant> ioctl.
2521 </para>
2522 </listitem>
2523 </orderedlist>
2524 </section>
2525
2516 <section id="other"> 2526 <section id="other">
2517 <title>Relation of V4L2 to other Linux multimedia APIs</title> 2527 <title>Relation of V4L2 to other Linux multimedia APIs</title>
2518 2528
@@ -2596,7 +2606,7 @@ and may change in the future.</para>
2596ioctls.</para> 2606ioctls.</para>
2597 </listitem> 2607 </listitem>
2598 <listitem> 2608 <listitem>
2599 <para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para> 2609 <para>&VIDIOC-DBG-G-CHIP-INFO; ioctl.</para>
2600 </listitem> 2610 </listitem>
2601 <listitem> 2611 <listitem>
2602 <para>&VIDIOC-ENUM-DV-TIMINGS;, &VIDIOC-QUERY-DV-TIMINGS; and 2612 <para>&VIDIOC-ENUM-DV-TIMINGS;, &VIDIOC-QUERY-DV-TIMINGS; and
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index bfe823dd0f31..8469fe13945c 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -141,6 +141,14 @@ structs, ioctls) must be noted in more detail in the history chapter
141applications. --> 141applications. -->
142 142
143 <revision> 143 <revision>
144 <revnumber>3.11</revnumber>
145 <date>2013-05-26</date>
146 <authorinitials>hv</authorinitials>
147 <revremark>Remove obsolete VIDIOC_DBG_G_CHIP_IDENT ioctl.
148 </revremark>
149 </revision>
150
151 <revision>
144 <revnumber>3.10</revnumber> 152 <revnumber>3.10</revnumber>
145 <date>2013-03-25</date> 153 <date>2013-03-25</date>
146 <authorinitials>hv</authorinitials> 154 <authorinitials>hv</authorinitials>
@@ -493,7 +501,7 @@ and discussions on the V4L mailing list.</revremark>
493</partinfo> 501</partinfo>
494 502
495<title>Video for Linux Two API Specification</title> 503<title>Video for Linux Two API Specification</title>
496 <subtitle>Revision 3.10</subtitle> 504 <subtitle>Revision 3.11</subtitle>
497 505
498 <chapter id="common"> 506 <chapter id="common">
499 &sub-common; 507 &sub-common;
@@ -547,7 +555,6 @@ and discussions on the V4L mailing list.</revremark>
547 <!-- All ioctls go here. --> 555 <!-- All ioctls go here. -->
548 &sub-create-bufs; 556 &sub-create-bufs;
549 &sub-cropcap; 557 &sub-cropcap;
550 &sub-dbg-g-chip-ident;
551 &sub-dbg-g-chip-info; 558 &sub-dbg-g-chip-info;
552 &sub-dbg-g-register; 559 &sub-dbg-g-register;
553 &sub-decoder-cmd; 560 &sub-decoder-cmd;
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
deleted file mode 100644
index 921e18550d26..000000000000
--- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
+++ /dev/null
@@ -1,271 +0,0 @@
1<refentry id="vidioc-dbg-g-chip-ident">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_DBG_G_CHIP_IDENT</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_DBG_G_CHIP_IDENT</refname>
9 <refpurpose>Identify the chips on a TV card</refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv>
13 <funcsynopsis>
14 <funcprototype>
15 <funcdef>int <function>ioctl</function></funcdef>
16 <paramdef>int <parameter>fd</parameter></paramdef>
17 <paramdef>int <parameter>request</parameter></paramdef>
18 <paramdef>struct v4l2_dbg_chip_ident
19*<parameter>argp</parameter></paramdef>
20 </funcprototype>
21 </funcsynopsis>
22 </refsynopsisdiv>
23
24 <refsect1>
25 <title>Arguments</title>
26
27 <variablelist>
28 <varlistentry>
29 <term><parameter>fd</parameter></term>
30 <listitem>
31 <para>&fd;</para>
32 </listitem>
33 </varlistentry>
34 <varlistentry>
35 <term><parameter>request</parameter></term>
36 <listitem>
37 <para>VIDIOC_DBG_G_CHIP_IDENT</para>
38 </listitem>
39 </varlistentry>
40 <varlistentry>
41 <term><parameter>argp</parameter></term>
42 <listitem>
43 <para></para>
44 </listitem>
45 </varlistentry>
46 </variablelist>
47 </refsect1>
48
49 <refsect1>
50 <title>Description</title>
51
52 <note>
53 <title>Experimental</title>
54
55 <para>This is an <link
56linkend="experimental">experimental</link> interface and may change in
57the future.</para>
58 </note>
59
60 <para>For driver debugging purposes this ioctl allows test
61applications to query the driver about the chips present on the TV
62card. Regular applications must not use it. When you found a chip
63specific bug, please contact the linux-media mailing list (&v4l-ml;)
64so it can be fixed.</para>
65
66 <para>To query the driver applications must initialize the
67<structfield>match.type</structfield> and
68<structfield>match.addr</structfield> or <structfield>match.name</structfield>
69fields of a &v4l2-dbg-chip-ident;
70and call <constant>VIDIOC_DBG_G_CHIP_IDENT</constant> with a pointer to
71this structure. On success the driver stores information about the
72selected chip in the <structfield>ident</structfield> and
73<structfield>revision</structfield> fields. On failure the structure
74remains unchanged.</para>
75
76 <para>When <structfield>match.type</structfield> is
77<constant>V4L2_CHIP_MATCH_HOST</constant>,
78<structfield>match.addr</structfield> selects the nth non-&i2c; chip
79on the TV card. You can enumerate all chips by starting at zero and
80incrementing <structfield>match.addr</structfield> by one until
81<constant>VIDIOC_DBG_G_CHIP_IDENT</constant> fails with an &EINVAL;.
82The number zero always selects the host chip, &eg; the chip connected
83to the PCI or USB bus.</para>
84
85 <para>When <structfield>match.type</structfield> is
86<constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>,
87<structfield>match.name</structfield> contains the I2C driver name.
88For instance
89<constant>"saa7127"</constant> will match any chip
90supported by the saa7127 driver, regardless of its &i2c; bus address.
91When multiple chips supported by the same driver are present, the
92ioctl will return <constant>V4L2_IDENT_AMBIGUOUS</constant> in the
93<structfield>ident</structfield> field.</para>
94
95 <para>When <structfield>match.type</structfield> is
96<constant>V4L2_CHIP_MATCH_I2C_ADDR</constant>,
97<structfield>match.addr</structfield> selects a chip by its 7 bit
98&i2c; bus address.</para>
99
100 <para>When <structfield>match.type</structfield> is
101<constant>V4L2_CHIP_MATCH_AC97</constant>,
102<structfield>match.addr</structfield> selects the nth AC97 chip
103on the TV card. You can enumerate all chips by starting at zero and
104incrementing <structfield>match.addr</structfield> by one until
105<constant>VIDIOC_DBG_G_CHIP_IDENT</constant> fails with an &EINVAL;.</para>
106
107 <para>On success, the <structfield>ident</structfield> field will
108contain a chip ID from the Linux
109<filename>media/v4l2-chip-ident.h</filename> header file, and the
110<structfield>revision</structfield> field will contain a driver
111specific value, or zero if no particular revision is associated with
112this chip.</para>
113
114 <para>When the driver could not identify the selected chip,
115<structfield>ident</structfield> will contain
116<constant>V4L2_IDENT_UNKNOWN</constant>. When no chip matched
117the ioctl will succeed but the
118<structfield>ident</structfield> field will contain
119<constant>V4L2_IDENT_NONE</constant>. If multiple chips matched,
120<structfield>ident</structfield> will contain
121<constant>V4L2_IDENT_AMBIGUOUS</constant>. In all these cases the
122<structfield>revision</structfield> field remains unchanged.</para>
123
124 <para>This ioctl is optional, not all drivers may support it. It
125was introduced in Linux 2.6.21, but the API was changed to the
126one described here in 2.6.29.</para>
127
128 <para>We recommended the <application>v4l2-dbg</application>
129utility over calling this ioctl directly. It is available from the
130LinuxTV v4l-dvb repository; see <ulink
131url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for
132access instructions.</para>
133
134 <!-- Note for convenience vidioc-dbg-g-register.sgml
135 contains a duplicate of this table. -->
136 <table pgwide="1" frame="none" id="ident-v4l2-dbg-match">
137 <title>struct <structname>v4l2_dbg_match</structname></title>
138 <tgroup cols="4">
139 &cs-ustr;
140 <tbody valign="top">
141 <row>
142 <entry>__u32</entry>
143 <entry><structfield>type</structfield></entry>
144 <entry>See <xref linkend="ident-chip-match-types" /> for a list of
145possible types.</entry>
146 </row>
147 <row>
148 <entry>union</entry>
149 <entry>(anonymous)</entry>
150 </row>
151 <row>
152 <entry></entry>
153 <entry>__u32</entry>
154 <entry><structfield>addr</structfield></entry>
155 <entry>Match a chip by this number, interpreted according
156to the <structfield>type</structfield> field.</entry>
157 </row>
158 <row>
159 <entry></entry>
160 <entry>char</entry>
161 <entry><structfield>name[32]</structfield></entry>
162 <entry>Match a chip by this name, interpreted according
163to the <structfield>type</structfield> field.</entry>
164 </row>
165 </tbody>
166 </tgroup>
167 </table>
168
169 <table pgwide="1" frame="none" id="v4l2-dbg-chip-ident">
170 <title>struct <structname>v4l2_dbg_chip_ident</structname></title>
171 <tgroup cols="3">
172 &cs-str;
173 <tbody valign="top">
174 <row>
175 <entry>struct v4l2_dbg_match</entry>
176 <entry><structfield>match</structfield></entry>
177 <entry>How to match the chip, see <xref linkend="ident-v4l2-dbg-match" />.</entry>
178 </row>
179 <row>
180 <entry>__u32</entry>
181 <entry><structfield>ident</structfield></entry>
182 <entry>A chip identifier as defined in the Linux
183<filename>media/v4l2-chip-ident.h</filename> header file, or one of
184the values from <xref linkend="chip-ids" />.</entry>
185 </row>
186 <row>
187 <entry>__u32</entry>
188 <entry><structfield>revision</structfield></entry>
189 <entry>A chip revision, chip and driver specific.</entry>
190 </row>
191 </tbody>
192 </tgroup>
193 </table>
194
195 <!-- Note for convenience vidioc-dbg-g-register.sgml
196 contains a duplicate of this table. -->
197 <table pgwide="1" frame="none" id="ident-chip-match-types">
198 <title>Chip Match Types</title>
199 <tgroup cols="3">
200 &cs-def;
201 <tbody valign="top">
202 <row>
203 <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry>
204 <entry>0</entry>
205 <entry>Match the nth chip on the card, zero for the
206 bridge chip. Does not match sub-devices.</entry>
207 </row>
208 <row>
209 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
210 <entry>1</entry>
211 <entry>Match an &i2c; chip by its driver name.</entry>
212 </row>
213 <row>
214 <entry><constant>V4L2_CHIP_MATCH_I2C_ADDR</constant></entry>
215 <entry>2</entry>
216 <entry>Match a chip by its 7 bit &i2c; bus address.</entry>
217 </row>
218 <row>
219 <entry><constant>V4L2_CHIP_MATCH_AC97</constant></entry>
220 <entry>3</entry>
221 <entry>Match the nth anciliary AC97 chip.</entry>
222 </row>
223 <row>
224 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
225 <entry>4</entry>
226 <entry>Match the nth sub-device. Can't be used with this ioctl.</entry>
227 </row>
228 </tbody>
229 </tgroup>
230 </table>
231
232 <!-- This is an anonymous enum in media/v4l2-chip-ident.h. -->
233 <table pgwide="1" frame="none" id="chip-ids">
234 <title>Chip Identifiers</title>
235 <tgroup cols="3">
236 &cs-def;
237 <tbody valign="top">
238 <row>
239 <entry><constant>V4L2_IDENT_NONE</constant></entry>
240 <entry>0</entry>
241 <entry>No chip matched.</entry>
242 </row>
243 <row>
244 <entry><constant>V4L2_IDENT_AMBIGUOUS</constant></entry>
245 <entry>1</entry>
246 <entry>Multiple chips matched.</entry>
247 </row>
248 <row>
249 <entry><constant>V4L2_IDENT_UNKNOWN</constant></entry>
250 <entry>2</entry>
251 <entry>A chip is present at this address, but the driver
252could not identify it.</entry>
253 </row>
254 </tbody>
255 </tgroup>
256 </table>
257 </refsect1>
258
259 <refsect1>
260 &return-value;
261
262 <variablelist>
263 <varlistentry>
264 <term><errorcode>EINVAL</errorcode></term>
265 <listitem>
266 <para>The <structfield>match_type</structfield> is invalid.</para>
267 </listitem>
268 </varlistentry>
269 </variablelist>
270 </refsect1>
271</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml
index e1cece6c5de1..4c4603c135fe 100644
--- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml
@@ -73,8 +73,7 @@ fields of a &v4l2-dbg-chip-info;
73and call <constant>VIDIOC_DBG_G_CHIP_INFO</constant> with a pointer to 73and call <constant>VIDIOC_DBG_G_CHIP_INFO</constant> with a pointer to
74this structure. On success the driver stores information about the 74this structure. On success the driver stores information about the
75selected chip in the <structfield>name</structfield> and 75selected chip in the <structfield>name</structfield> and
76<structfield>flags</structfield> fields. On failure the structure 76<structfield>flags</structfield> fields.</para>
77remains unchanged.</para>
78 77
79 <para>When <structfield>match.type</structfield> is 78 <para>When <structfield>match.type</structfield> is
80<constant>V4L2_CHIP_MATCH_BRIDGE</constant>, 79<constant>V4L2_CHIP_MATCH_BRIDGE</constant>,
@@ -132,7 +131,7 @@ to the <structfield>type</structfield> field.</entry>
132 <entry>char</entry> 131 <entry>char</entry>
133 <entry><structfield>name[32]</structfield></entry> 132 <entry><structfield>name[32]</structfield></entry>
134 <entry>Match a chip by this name, interpreted according 133 <entry>Match a chip by this name, interpreted according
135to the <structfield>type</structfield> field.</entry> 134to the <structfield>type</structfield> field. Currently unused.</entry>
136 </row> 135 </row>
137 </tbody> 136 </tbody>
138 </tgroup> 137 </tgroup>
@@ -183,21 +182,6 @@ is set, then the driver supports reading registers from the device. If
183 bridge chip. Does not match sub-devices.</entry> 182 bridge chip. Does not match sub-devices.</entry>
184 </row> 183 </row>
185 <row> 184 <row>
186 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
187 <entry>1</entry>
188 <entry>Match an &i2c; chip by its driver name. Can't be used with this ioctl.</entry>
189 </row>
190 <row>
191 <entry><constant>V4L2_CHIP_MATCH_I2C_ADDR</constant></entry>
192 <entry>2</entry>
193 <entry>Match a chip by its 7 bit &i2c; bus address. Can't be used with this ioctl.</entry>
194 </row>
195 <row>
196 <entry><constant>V4L2_CHIP_MATCH_AC97</constant></entry>
197 <entry>3</entry>
198 <entry>Match the nth anciliary AC97 chip. Can't be used with this ioctl.</entry>
199 </row>
200 <row>
201 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry> 185 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
202 <entry>4</entry> 186 <entry>4</entry>
203 <entry>Match the nth sub-device.</entry> 187 <entry>Match the nth sub-device.</entry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
index d13bac9e2445..3d038e75d12b 100644
--- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
@@ -76,7 +76,7 @@ compiled with the <constant>CONFIG_VIDEO_ADV_DEBUG</constant> option
76to enable these ioctls.</para> 76to enable these ioctls.</para>
77 77
78 <para>To write a register applications must initialize all fields 78 <para>To write a register applications must initialize all fields
79of a &v4l2-dbg-register; and call 79of a &v4l2-dbg-register; except for <structfield>size</structfield> and call
80<constant>VIDIOC_DBG_S_REGISTER</constant> with a pointer to this 80<constant>VIDIOC_DBG_S_REGISTER</constant> with a pointer to this
81structure. The <structfield>match.type</structfield> and 81structure. The <structfield>match.type</structfield> and
82<structfield>match.addr</structfield> or <structfield>match.name</structfield> 82<structfield>match.addr</structfield> or <structfield>match.name</structfield>
@@ -91,8 +91,8 @@ written into the register.</para>
91<structfield>reg</structfield> fields, and call 91<structfield>reg</structfield> fields, and call
92<constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this 92<constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this
93structure. On success the driver stores the register value in the 93structure. On success the driver stores the register value in the
94<structfield>val</structfield> field. On failure the structure remains 94<structfield>val</structfield> field and the size (in bytes) of the
95unchanged.</para> 95value in <structfield>size</structfield>.</para>
96 96
97 <para>When <structfield>match.type</structfield> is 97 <para>When <structfield>match.type</structfield> is
98<constant>V4L2_CHIP_MATCH_BRIDGE</constant>, 98<constant>V4L2_CHIP_MATCH_BRIDGE</constant>,
@@ -102,39 +102,9 @@ chip connected to the PCI or USB bus. You can find out which chips are
102present with the &VIDIOC-DBG-G-CHIP-INFO; ioctl.</para> 102present with the &VIDIOC-DBG-G-CHIP-INFO; ioctl.</para>
103 103
104 <para>When <structfield>match.type</structfield> is 104 <para>When <structfield>match.type</structfield> is
105<constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>,
106<structfield>match.name</structfield> contains the I2C driver name.
107For instance
108<constant>"saa7127"</constant> will match any chip
109supported by the saa7127 driver, regardless of its &i2c; bus address.
110When multiple chips supported by the same driver are present, the
111effect of these ioctls is undefined. Again with the
112&VIDIOC-DBG-G-CHIP-INFO; ioctl you can find out which &i2c; chips are
113present.</para>
114
115 <para>When <structfield>match.type</structfield> is
116<constant>V4L2_CHIP_MATCH_I2C_ADDR</constant>,
117<structfield>match.addr</structfield> selects a chip by its 7 bit &i2c;
118bus address.</para>
119
120 <para>When <structfield>match.type</structfield> is
121<constant>V4L2_CHIP_MATCH_AC97</constant>,
122<structfield>match.addr</structfield> selects the nth AC97 chip
123on the TV card.</para>
124
125 <para>When <structfield>match.type</structfield> is
126<constant>V4L2_CHIP_MATCH_SUBDEV</constant>, 105<constant>V4L2_CHIP_MATCH_SUBDEV</constant>,
127<structfield>match.addr</structfield> selects the nth sub-device.</para> 106<structfield>match.addr</structfield> selects the nth sub-device.</para>
128 107
129 <note>
130 <title>Success not guaranteed</title>
131
132 <para>Due to a flaw in the Linux &i2c; bus driver these ioctls may
133return successfully without actually reading or writing a register. To
134catch the most likely failure we recommend a &VIDIOC-DBG-G-CHIP-INFO;
135call confirming the presence of the selected &i2c; chip.</para>
136 </note>
137
138 <para>These ioctls are optional, not all drivers may support them. 108 <para>These ioctls are optional, not all drivers may support them.
139However when a driver supports these ioctls it must also support 109However when a driver supports these ioctls it must also support
140&VIDIOC-DBG-G-CHIP-INFO;. Conversely it may support 110&VIDIOC-DBG-G-CHIP-INFO;. Conversely it may support
@@ -150,7 +120,7 @@ LinuxTV v4l-dvb repository; see <ulink
150url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for 120url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for
151access instructions.</para> 121access instructions.</para>
152 122
153 <!-- Note for convenience vidioc-dbg-g-chip-ident.sgml 123 <!-- Note for convenience vidioc-dbg-g-chip-info.sgml
154 contains a duplicate of this table. --> 124 contains a duplicate of this table. -->
155 <table pgwide="1" frame="none" id="v4l2-dbg-match"> 125 <table pgwide="1" frame="none" id="v4l2-dbg-match">
156 <title>struct <structname>v4l2_dbg_match</structname></title> 126 <title>struct <structname>v4l2_dbg_match</structname></title>
@@ -160,7 +130,7 @@ access instructions.</para>
160 <row> 130 <row>
161 <entry>__u32</entry> 131 <entry>__u32</entry>
162 <entry><structfield>type</structfield></entry> 132 <entry><structfield>type</structfield></entry>
163 <entry>See <xref linkend="ident-chip-match-types" /> for a list of 133 <entry>See <xref linkend="chip-match-types" /> for a list of
164possible types.</entry> 134possible types.</entry>
165 </row> 135 </row>
166 <row> 136 <row>
@@ -179,7 +149,7 @@ to the <structfield>type</structfield> field.</entry>
179 <entry>char</entry> 149 <entry>char</entry>
180 <entry><structfield>name[32]</structfield></entry> 150 <entry><structfield>name[32]</structfield></entry>
181 <entry>Match a chip by this name, interpreted according 151 <entry>Match a chip by this name, interpreted according
182to the <structfield>type</structfield> field.</entry> 152to the <structfield>type</structfield> field. Currently unused.</entry>
183 </row> 153 </row>
184 </tbody> 154 </tbody>
185 </tgroup> 155 </tgroup>
@@ -199,6 +169,11 @@ to the <structfield>type</structfield> field.</entry>
199 <entry>How to match the chip, see <xref linkend="v4l2-dbg-match" />.</entry> 169 <entry>How to match the chip, see <xref linkend="v4l2-dbg-match" />.</entry>
200 </row> 170 </row>
201 <row> 171 <row>
172 <entry>__u32</entry>
173 <entry><structfield>size</structfield></entry>
174 <entry>The register size in bytes.</entry>
175 </row>
176 <row>
202 <entry>__u64</entry> 177 <entry>__u64</entry>
203 <entry><structfield>reg</structfield></entry> 178 <entry><structfield>reg</structfield></entry>
204 <entry>A register number.</entry> 179 <entry>A register number.</entry>
@@ -213,7 +188,7 @@ register.</entry>
213 </tgroup> 188 </tgroup>
214 </table> 189 </table>
215 190
216 <!-- Note for convenience vidioc-dbg-g-chip-ident.sgml 191 <!-- Note for convenience vidioc-dbg-g-chip-info.sgml
217 contains a duplicate of this table. --> 192 contains a duplicate of this table. -->
218 <table pgwide="1" frame="none" id="chip-match-types"> 193 <table pgwide="1" frame="none" id="chip-match-types">
219 <title>Chip Match Types</title> 194 <title>Chip Match Types</title>
@@ -227,21 +202,6 @@ register.</entry>
227 bridge chip. Does not match sub-devices.</entry> 202 bridge chip. Does not match sub-devices.</entry>
228 </row> 203 </row>
229 <row> 204 <row>
230 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
231 <entry>1</entry>
232 <entry>Match an &i2c; chip by its driver name.</entry>
233 </row>
234 <row>
235 <entry><constant>V4L2_CHIP_MATCH_I2C_ADDR</constant></entry>
236 <entry>2</entry>
237 <entry>Match a chip by its 7 bit &i2c; bus address.</entry>
238 </row>
239 <row>
240 <entry><constant>V4L2_CHIP_MATCH_AC97</constant></entry>
241 <entry>3</entry>
242 <entry>Match the nth anciliary AC97 chip.</entry>
243 </row>
244 <row>
245 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry> 205 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
246 <entry>4</entry> 206 <entry>4</entry>
247 <entry>Match the nth sub-device.</entry> 207 <entry>Match the nth sub-device.</entry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-querystd.xml b/Documentation/DocBook/media/v4l/vidioc-querystd.xml
index fe80a183d957..222348542182 100644
--- a/Documentation/DocBook/media/v4l/vidioc-querystd.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-querystd.xml
@@ -54,7 +54,8 @@ standard automatically. To do so, applications call <constant>
54VIDIOC_QUERYSTD</constant> with a pointer to a &v4l2-std-id; type. The 54VIDIOC_QUERYSTD</constant> with a pointer to a &v4l2-std-id; type. The
55driver stores here a set of candidates, this can be a single flag or a 55driver stores here a set of candidates, this can be a single flag or a
56set of supported standards if for example the hardware can only 56set of supported standards if for example the hardware can only
57distinguish between 50 and 60 Hz systems. When detection is not 57distinguish between 50 and 60 Hz systems. If no signal was detected,
58then the driver will return V4L2_STD_UNKNOWN. When detection is not
58possible or fails, the set must contain all standards supported by the 59possible or fails, the set must contain all standards supported by the
59current video input or output.</para> 60current video input or output.</para>
60 61