aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/media/constraints.png.b6459
-rw-r--r--Documentation/DocBook/media/dvb/dvbproperty.xml19
-rw-r--r--Documentation/DocBook/media/dvb/frontend.xml8
-rw-r--r--Documentation/DocBook/media/selection.png.b64206
-rw-r--r--Documentation/DocBook/media/v4l/biblio.xml8
-rw-r--r--Documentation/DocBook/media/v4l/common.xml10
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml30
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml43
-rw-r--r--Documentation/DocBook/media/v4l/dev-capture.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-codec.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-effect.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-event.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-osd.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-output.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-overlay.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-radio.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-raw-vbi.xml8
-rw-r--r--Documentation/DocBook/media/v4l/dev-rds.xml16
-rw-r--r--Documentation/DocBook/media/v4l/dev-sliced-vbi.xml9
-rw-r--r--Documentation/DocBook/media/v4l/dev-teletext.xml8
-rw-r--r--Documentation/DocBook/media/v4l/driver.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-close.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-ioctl.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-mmap.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-munmap.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-open.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-poll.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-read.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-select.xml8
-rw-r--r--Documentation/DocBook/media/v4l/func-write.xml8
-rw-r--r--Documentation/DocBook/media/v4l/io.xml8
-rw-r--r--Documentation/DocBook/media/v4l/libv4l.xml7
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-grey.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-m420.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12m.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv16.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml15
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-uyvy.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-vyuy.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-y16.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-y41p.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv410.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv420.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuyv.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yvyu.xml8
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt.xml13
-rw-r--r--Documentation/DocBook/media/v4l/selection-api.xml321
-rw-r--r--Documentation/DocBook/media/v4l/v4l2.xml1
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enuminput.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enumoutput.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enumstd.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml7
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml14
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-frequency.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-modulator.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-priority.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-selection.xml304
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-std.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-tuner.xml18
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-querybuf.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-queryctrl.xml8
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml8
-rw-r--r--Documentation/coccinelle.txt10
-rwxr-xr-xDocumentation/dvb/get_dvb_firmware42
-rw-r--r--Documentation/feature-removal-schedule.txt35
-rw-r--r--Documentation/hwmon/it8713
-rw-r--r--Documentation/hwmon/lm6321
-rw-r--r--Documentation/hwmon/sysfs-interface2
-rw-r--r--Documentation/kbuild/makefiles.txt50
-rw-r--r--Documentation/kernel-parameters.txt8
-rw-r--r--Documentation/kmemleak.txt3
-rw-r--r--Documentation/video4linux/CARDLIST.au08282
-rw-r--r--Documentation/video4linux/CARDLIST.bttv3
-rw-r--r--Documentation/video4linux/CARDLIST.cx238853
-rw-r--r--Documentation/video4linux/CARDLIST.cx882
-rw-r--r--Documentation/video4linux/CARDLIST.em28xx10
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
-rw-r--r--Documentation/video4linux/CARDLIST.saa71642
-rw-r--r--Documentation/video4linux/gspca.txt2
-rw-r--r--Documentation/video4linux/v4l2-framework.txt11
93 files changed, 1148 insertions, 628 deletions
diff --git a/Documentation/DocBook/media/constraints.png.b64 b/Documentation/DocBook/media/constraints.png.b64
new file mode 100644
index 00000000000..125b4a94962
--- /dev/null
+++ b/Documentation/DocBook/media/constraints.png.b64
@@ -0,0 +1,59 @@
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
59RU5ErkJggg==
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml
index 3bc8a61efe3..ffee1fbbc00 100644
--- a/Documentation/DocBook/media/dvb/dvbproperty.xml
+++ b/Documentation/DocBook/media/dvb/dvbproperty.xml
@@ -334,9 +334,10 @@ typedef enum fe_rolloff {
334 <title>fe_delivery_system type</title> 334 <title>fe_delivery_system type</title>
335 <para>Possible values: </para> 335 <para>Possible values: </para>
336<programlisting> 336<programlisting>
337
337typedef enum fe_delivery_system { 338typedef enum fe_delivery_system {
338 SYS_UNDEFINED, 339 SYS_UNDEFINED,
339 SYS_DVBC_ANNEX_AC, 340 SYS_DVBC_ANNEX_A,
340 SYS_DVBC_ANNEX_B, 341 SYS_DVBC_ANNEX_B,
341 SYS_DVBT, 342 SYS_DVBT,
342 SYS_DSS, 343 SYS_DSS,
@@ -353,6 +354,7 @@ typedef enum fe_delivery_system {
353 SYS_DAB, 354 SYS_DAB,
354 SYS_DVBT2, 355 SYS_DVBT2,
355 SYS_TURBO, 356 SYS_TURBO,
357 SYS_DVBC_ANNEX_C,
356} fe_delivery_system_t; 358} fe_delivery_system_t;
357</programlisting> 359</programlisting>
358 </section> 360 </section>
@@ -647,6 +649,18 @@ typedef enum fe_hierarchy {
647 many data types via a single multiplex. The API will soon support this 649 many data types via a single multiplex. The API will soon support this
648 at which point this section will be expanded.</para> 650 at which point this section will be expanded.</para>
649 </section> 651 </section>
652 <section id="DTV_ENUM_DELSYS">
653 <title><constant>DTV_ENUM_DELSYS</constant></title>
654 <para>A Multi standard frontend needs to advertise the delivery systems provided.
655 Applications need to enumerate the provided delivery systems, before using
656 any other operation with the frontend. Prior to it's introduction,
657 FE_GET_INFO was used to determine a frontend type. A frontend which
658 provides more than a single delivery system, FE_GET_INFO doesn't help much.
659 Applications which intends to use a multistandard frontend must enumerate
660 the delivery systems associated with it, rather than trying to use
661 FE_GET_INFO. In the case of a legacy frontend, the result is just the same
662 as with FE_GET_INFO, but in a more structured format </para>
663 </section>
650</section> 664</section>
651 <section id="frontend-property-terrestrial-systems"> 665 <section id="frontend-property-terrestrial-systems">
652 <title>Properties used on terrestrial delivery systems</title> 666 <title>Properties used on terrestrial delivery systems</title>
@@ -767,7 +781,8 @@ typedef enum fe_hierarchy {
767 <title>Properties used on cable delivery systems</title> 781 <title>Properties used on cable delivery systems</title>
768 <section id="dvbc-params"> 782 <section id="dvbc-params">
769 <title>DVB-C delivery system</title> 783 <title>DVB-C delivery system</title>
770 <para>The DVB-C Annex-A/C is the widely used cable standard. Transmission uses QAM modulation.</para> 784 <para>The DVB-C Annex-A is the widely used cable standard. Transmission uses QAM modulation.</para>
785 <para>The DVB-C Annex-C is optimized for 6MHz, and is used in Japan. It supports a subset of the Annex A modulation types, and a roll-off of 0.13, instead of 0.15</para>
771 <para>The following parameters are valid for DVB-C Annex A/C:</para> 786 <para>The following parameters are valid for DVB-C Annex A/C:</para>
772 <itemizedlist mark='opencircle'> 787 <itemizedlist mark='opencircle'>
773 <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem> 788 <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml
index 61407eaba02..aeaed59d0f1 100644
--- a/Documentation/DocBook/media/dvb/frontend.xml
+++ b/Documentation/DocBook/media/dvb/frontend.xml
@@ -45,8 +45,8 @@ transmission. The fontend types are given by fe_type_t type, defined as:</para>
45 </row> 45 </row>
46 <row> 46 <row>
47 <entry id="FE_QAM"><constant>FE_QAM</constant></entry> 47 <entry id="FE_QAM"><constant>FE_QAM</constant></entry>
48 <entry>For DVB-C annex A/C standard</entry> 48 <entry>For DVB-C annex A standard</entry>
49 <entry><constant>SYS_DVBC_ANNEX_AC</constant></entry> 49 <entry><constant>SYS_DVBC_ANNEX_A</constant></entry>
50 </row> 50 </row>
51 <row> 51 <row>
52 <entry id="FE_OFDM"><constant>FE_OFDM</constant></entry> 52 <entry id="FE_OFDM"><constant>FE_OFDM</constant></entry>
@@ -63,6 +63,10 @@ transmission. The fontend types are given by fe_type_t type, defined as:</para>
63<para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're 63<para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're
64supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter. 64supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter.
65</para> 65</para>
66
67<para>The usage of this field is deprecated, as it doesn't report all supported standards, and
68will provide an incomplete information for frontends that support multiple delivery systems.
69Please use <link linkend="DTV_ENUM_DELSYS">DTV_ENUM_DELSYS</link> instead.</para>
66</section> 70</section>
67 71
68<section id="fe-caps-t"> 72<section id="fe-caps-t">
diff --git a/Documentation/DocBook/media/selection.png.b64 b/Documentation/DocBook/media/selection.png.b64
new file mode 100644
index 00000000000..416186558cb
--- /dev/null
+++ b/Documentation/DocBook/media/selection.png.b64
@@ -0,0 +1,206 @@
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
177wiIAAAAAHn5oAgAAgLG1OKcKkI/KIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwYIJrAAAAivq4
178frz9+7mJtre8/vm1SxN3z71ubl1bl5n6PUe2K3adW4/DWvsfPb5737PlmJrc/T2VRQAAABSzNHB/
179929bX3/W9u/ZzjO2/+gxOrrcrcve856alt8qlUUAAAAUsVb18zpoX3r9/d8+rh+L1Sdbq19itu91
180uXu28/73qapz9tiyjyWWneo9Z+xvb1QWAQAAkF3M7WGxAczSa3Pac9vbnu08M7RYu+3r8/b5eM3W
181dj/aFjmO8xnnUQuERQAAABSzNQhZen3Mv81VK6UOZPZu52i3Qe1p99zhmYqi79yGBgAAABFShjqf
182t88vy4sNsfZMon10H9fmYzozbMndHqMSFgEAANCleyBzDzS2VBWVmDfoXfVTrsqnFPv4/HevYRd9
183ERYBAABApBwhzlxodHRC59T7WGM4pIIoD2ERAAAAxWy9bWntaWdrnquL7v8dY2sIcXQ7n9d55oTd
184e7Z9yzHds2+520OF1HcmuAYAACC7mKdOzT1ZbG0enVqeHrZlO1sLKO5PQXv9s8WeY5b7ONdyHtVG
185ZREAAABFPM9zs6UqaOn1MQP8Ek/T2rOde+ZFamVC55T7lqo9SsxD1QuVRQAAABSz9RHzex9Jb7+O
186i7l1b8utc3uqkfa8p6blt+oyTdO0+U2XSwghhNvtpgUBgOyu12sIIYQd3RZKdix/9xGnRwdcXxEA
187zvbxux91+f3fMf0plUUAAAAAPJizCACA09yrxl7NVbBvef3za5cq4udeN7eurctM/Z4j2xW7ztT7
188eH/t2nGda//YZS7tz1q77DlmAL1SWQQAwCmWBvbv/m3r68/a/j3becb2x+5jDccixTLn9qXm9oc9
189Pq4fi38gRrHKopikvvQvG3vWs+fLxS8yfpEBAOb7DDH9taXX3//ter0u9pP29AvXtu91uXu2c6mP
190d6RftsWWdR89FiXsOWZ7zw+ojcmaSaFIZVGqXx5S/nqzd3v37r9fZAAA1sOGd3+/9votPz6msue2
191tz3bWWvgcsaxOLq81tof4EzZK4u2/mq05XVry1/7ZWPLLw4pvlBTbXcNHQS/yAAAOfoae19/u90W
192K5zvP3jN9V9S9lf2budaFXlpe6uacrRnquW11P4AZ8paWbT1V6PUy6/h1wO/yPjCBQD6kzNcWqrk
193fve61z9792duOTX05e7bkONHyL3tD9CzIreh5f6CWftlo9aORMntzn1Puy9XAKBmr2HDliqSEkHK
1947XYTWpx8fmh/gD9+1LhRZ06SfOQLodQEhEe+BN+VYKdc9mtbqCoCAHqVo5/zroJmy5QKqfclV9+x
195tr7snvYH6NmPkXe+9nCn1Q6T0AgAiO2LbekjrD3tLKav8lwtErvuPU/KPbKdc/2qVo5diW0+crtd
196D+0PkNtfNW7UvQz0tRz0zKdb7Nnu5+2v5YumxPbMlfECALz2tbY+DGTtCbO1PBxky3a21E86eiy2
197PiE4VT+9l/YHKKVIZdHR0s21JyDs/WWjhvmM/CIDAIzouX+3pSpo6fUxfbsSc2nu2c49fdaUUzds
198DWy27mOq45dif1K1P0DPslYWbf3VKPXya3uKQ6rt9osMANCDrQ/7qPmhJr3u17uK8b3bnGo/j94F
1990Op5BVDSZZqmafObLpdNH55rQcJrBcrWx83HLv/19ak+/Pc+Qn7rdqfc19flbA1+UuwLAGz9rt3R
200baFkx/J3H/F+lD59/wPA6T5+96Muv/87pj9VZM6iFGn93mXU8uQGv8gAAAAALShSWQQAcITKokY6
201liqLAKA6eyqLfmg2AADoj2kCANhLWAQAAB0SBgGwl7BohV9kAAAAgJEIi1YIgwAAAICRCIsAAMji
202Y6VCGwCo01+aAAAAAIA7lUUAACR10QQA0PZ3+TRN0+Y3XXQBAIDydnRbKNmx1EcEgC76UyqLAAAo
2031vkEAOq3KyzSEQAAAADokwmuAQAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA
204AA/CIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA
205AA/CIgAAAAAehEUAAAAAPAiLAAAAAHgQFgEAAADwICwCAAAA4EFYBAAAAMCDsAgAAACAB2ERAAAA
206AA/CIgAAAAAe/g/10lQlA3JSSwAAAABJRU5ErkJggg==
diff --git a/Documentation/DocBook/media/v4l/biblio.xml b/Documentation/DocBook/media/v4l/biblio.xml
index afc8a0dd260..cea6fd3ed42 100644
--- a/Documentation/DocBook/media/v4l/biblio.xml
+++ b/Documentation/DocBook/media/v4l/biblio.xml
@@ -178,11 +178,3 @@ in the frequency range from 87,5 to 108,0 MHz</title>
178 </biblioentry> 178 </biblioentry>
179 179
180 </bibliography> 180 </bibliography>
181
182 <!--
183Local Variables:
184mode: sgml
185sgml-parent-document: "v4l2.sgml"
186indent-tabs-mode: nil
187End:
188 -->
diff --git a/Documentation/DocBook/media/v4l/common.xml b/Documentation/DocBook/media/v4l/common.xml
index a86f7a04552..c79278acfb0 100644
--- a/Documentation/DocBook/media/v4l/common.xml
+++ b/Documentation/DocBook/media/v4l/common.xml
@@ -1168,6 +1168,8 @@ dheight = format.fmt.pix.height;
1168 </section> 1168 </section>
1169 </section> 1169 </section>
1170 1170
1171 &sub-selection-api;
1172
1171 <section id="streaming-par"> 1173 <section id="streaming-par">
1172 <title>Streaming Parameters</title> 1174 <title>Streaming Parameters</title>
1173 1175
@@ -1195,11 +1197,3 @@ separate parameters for input and output devices.</para>
1195 <para>These ioctls are optional, drivers need not implement 1197 <para>These ioctls are optional, drivers need not implement
1196them. If so, they return the &EINVAL;.</para> 1198them. If so, they return the &EINVAL;.</para>
1197 </section> 1199 </section>
1198
1199 <!--
1200Local Variables:
1201mode: sgml
1202sgml-parent-document: "v4l2.sgml"
1203indent-tabs-mode: nil
1204End:
1205 -->
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index b68698f96e7..c736380b464 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -1082,7 +1082,7 @@ until the time in the timestamp field has arrived. I would like to
1082follow SGI's lead, and adopt a multimedia timestamping system like 1082follow SGI's lead, and adopt a multimedia timestamping system like
1083their UST (Unadjusted System Time). See 1083their UST (Unadjusted System Time). See
1084http://web.archive.org/web/*/http://reality.sgi.com 1084http://web.archive.org/web/*/http://reality.sgi.com
1085/cpirazzi_engr/lg/time/intro.html. 1085/cpirazzi_engr/lg/time/intro.html.
1086UST uses timestamps that are 64-bit signed integers 1086UST uses timestamps that are 64-bit signed integers
1087(not struct timeval's) and given in nanosecond units. The UST clock 1087(not struct timeval's) and given in nanosecond units. The UST clock
1088starts at zero when the system is booted and runs continuously and 1088starts at zero when the system is booted and runs continuously and
@@ -2376,6 +2376,23 @@ that used it. It was originally scheduled for removal in 2.6.35.
2376 <listitem> 2376 <listitem>
2377 <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para> 2377 <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para>
2378 </listitem> 2378 </listitem>
2379 <listitem>
2380 <para>Add selection API for extended control over cropping and
2381composing. Does not affect the compatibility of current drivers and
2382applications. See <link linkend="selection-api"> selection API </link> for
2383details.</para>
2384 </listitem>
2385 </orderedlist>
2386 </section>
2387
2388 <section>
2389 <title>V4L2 in Linux 3.3</title>
2390 <orderedlist>
2391 <listitem>
2392 <para>Added <constant>V4L2_CID_ALPHA_COMPONENT</constant> control
2393 to the <link linkend="control">User controls class</link>.
2394 </para>
2395 </listitem>
2379 </orderedlist> 2396 </orderedlist>
2380 </section> 2397 </section>
2381 2398
@@ -2489,6 +2506,9 @@ ioctls.</para>
2489 <listitem> 2506 <listitem>
2490 <para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para> 2507 <para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para>
2491 </listitem> 2508 </listitem>
2509 <listitem>
2510 <para>Selection API. <xref linkend="selection-api" /></para>
2511 </listitem>
2492 </itemizedlist> 2512 </itemizedlist>
2493 </section> 2513 </section>
2494 2514
@@ -2507,11 +2527,3 @@ interfaces and should not be implemented in new drivers.</para>
2507 </itemizedlist> 2527 </itemizedlist>
2508 </section> 2528 </section>
2509 </section> 2529 </section>
2510
2511 <!--
2512Local Variables:
2513mode: sgml
2514sgml-parent-document: "v4l2.sgml"
2515indent-tabs-mode: nil
2516End:
2517 -->
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 3bc5ee8b2c7..a1be37897ad 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -324,12 +324,6 @@ minimum value disables backlight compensation.</entry>
324 (usually a microscope).</entry> 324 (usually a microscope).</entry>
325 </row> 325 </row>
326 <row> 326 <row>
327 <entry><constant>V4L2_CID_LASTP1</constant></entry>
328 <entry></entry>
329 <entry>End of the predefined control IDs (currently
330<constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry>
331 </row>
332 <row>
333 <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry> 327 <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
334 <entry>integer</entry> 328 <entry>integer</entry>
335 <entry>This is a read-only control that can be read by the application 329 <entry>This is a read-only control that can be read by the application
@@ -345,6 +339,25 @@ and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS.
345The value is the minimum number of OUTPUT buffers that is necessary for hardware 339The value is the minimum number of OUTPUT buffers that is necessary for hardware
346to work.</entry> 340to work.</entry>
347 </row> 341 </row>
342 <row id="v4l2-alpha-component">
343 <entry><constant>V4L2_CID_ALPHA_COMPONENT</constant></entry>
344 <entry>integer</entry>
345 <entry> Sets the alpha color component on the capture device or on
346 the capture buffer queue of a mem-to-mem device. When a mem-to-mem
347 device produces frame format that includes an alpha component
348 (e.g. <link linkend="rgb-formats">packed RGB image formats</link>)
349 and the alpha value is not defined by the mem-to-mem input data
350 this control lets you select the alpha component value of all
351 pixels. It is applicable to any pixel format that contains an alpha
352 component.
353 </entry>
354 </row>
355 <row>
356 <entry><constant>V4L2_CID_LASTP1</constant></entry>
357 <entry></entry>
358 <entry>End of the predefined control IDs (currently
359 <constant>V4L2_CID_ALPHA_COMPONENT</constant> + 1).</entry>
360 </row>
348 <row> 361 <row>
349 <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry> 362 <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
350 <entry></entry> 363 <entry></entry>
@@ -3329,6 +3342,16 @@ interface and may change in the future.</para>
3329 <entry>The short circuit protection of the flash 3342 <entry>The short circuit protection of the flash
3330 controller has been triggered.</entry> 3343 controller has been triggered.</entry>
3331 </row> 3344 </row>
3345 <row>
3346 <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
3347 <entry>Current in the LED power supply has exceeded the limit
3348 specific to the flash controller.</entry>
3349 </row>
3350 <row>
3351 <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
3352 <entry>The flash controller has detected a short or open
3353 circuit condition on the indicator LED.</entry>
3354 </row>
3332 </tbody> 3355 </tbody>
3333 </entrytbl> 3356 </entrytbl>
3334 </row> 3357 </row>
@@ -3357,11 +3380,3 @@ interface and may change in the future.</para>
3357 3380
3358 </section> 3381 </section>
3359</section> 3382</section>
3360
3361 <!--
3362Local Variables:
3363mode: sgml
3364sgml-parent-document: "common.sgml"
3365indent-tabs-mode: nil
3366End:
3367 -->
diff --git a/Documentation/DocBook/media/v4l/dev-capture.xml b/Documentation/DocBook/media/v4l/dev-capture.xml
index 2237c661f26..e1c5f9406d6 100644
--- a/Documentation/DocBook/media/v4l/dev-capture.xml
+++ b/Documentation/DocBook/media/v4l/dev-capture.xml
@@ -108,11 +108,3 @@ linkend="mmap">memory mapping</link> or <link
108linkend="userp">user pointer</link>) I/O. See <xref 108linkend="userp">user pointer</link>) I/O. See <xref
109linkend="io" /> for details.</para> 109linkend="io" /> for details.</para>
110 </section> 110 </section>
111
112 <!--
113Local Variables:
114mode: sgml
115sgml-parent-document: "v4l2.sgml"
116indent-tabs-mode: nil
117End:
118 -->
diff --git a/Documentation/DocBook/media/v4l/dev-codec.xml b/Documentation/DocBook/media/v4l/dev-codec.xml
index 6e156dc45b9..dca0ecd54dc 100644
--- a/Documentation/DocBook/media/v4l/dev-codec.xml
+++ b/Documentation/DocBook/media/v4l/dev-codec.xml
@@ -16,11 +16,3 @@ Applications send data to be converted to the driver through a
16I/O.</para> 16I/O.</para>
17 17
18 <para>[to do]</para> 18 <para>[to do]</para>
19
20 <!--
21Local Variables:
22mode: sgml
23sgml-parent-document: "v4l2.sgml"
24indent-tabs-mode: nil
25End:
26 -->
diff --git a/Documentation/DocBook/media/v4l/dev-effect.xml b/Documentation/DocBook/media/v4l/dev-effect.xml
index 9c243beba0e..2350a67c071 100644
--- a/Documentation/DocBook/media/v4l/dev-effect.xml
+++ b/Documentation/DocBook/media/v4l/dev-effect.xml
@@ -15,11 +15,3 @@ receive the result data either with &func-read; and &func-write;
15functions, or through the streaming I/O mechanism.</para> 15functions, or through the streaming I/O mechanism.</para>
16 16
17 <para>[to do]</para> 17 <para>[to do]</para>
18
19 <!--
20Local Variables:
21mode: sgml
22sgml-parent-document: "v4l2.sgml"
23indent-tabs-mode: nil
24End:
25 -->
diff --git a/Documentation/DocBook/media/v4l/dev-event.xml b/Documentation/DocBook/media/v4l/dev-event.xml
index f14ae3fe107..19f4becfae3 100644
--- a/Documentation/DocBook/media/v4l/dev-event.xml
+++ b/Documentation/DocBook/media/v4l/dev-event.xml
@@ -41,11 +41,3 @@ intermediate step leading up to that information. See the documentation for the
41event you want to subscribe to whether this is applicable for that event or not.</para> 41event you want to subscribe to whether this is applicable for that event or not.</para>
42 </listitem> 42 </listitem>
43 </orderedlist></para> 43 </orderedlist></para>
44
45 <!--
46Local Variables:
47mode: sgml
48sgml-parent-document: "v4l2.sgml"
49indent-tabs-mode: nil
50End:
51 -->
diff --git a/Documentation/DocBook/media/v4l/dev-osd.xml b/Documentation/DocBook/media/v4l/dev-osd.xml
index c9a68a2ccd3..479d9433869 100644
--- a/Documentation/DocBook/media/v4l/dev-osd.xml
+++ b/Documentation/DocBook/media/v4l/dev-osd.xml
@@ -154,11 +154,3 @@ data flow. For more information see <xref linkend="crop" />.</para>
154however the framebuffer interface of the driver may support the 154however the framebuffer interface of the driver may support the
155<constant>FBIOBLANK</constant> ioctl.</para> 155<constant>FBIOBLANK</constant> ioctl.</para>
156 </section> 156 </section>
157
158 <!--
159Local Variables:
160mode: sgml
161sgml-parent-document: "v4l2.sgml"
162indent-tabs-mode: nil
163End:
164 -->
diff --git a/Documentation/DocBook/media/v4l/dev-output.xml b/Documentation/DocBook/media/v4l/dev-output.xml
index 919e22c5385..9130a3dc788 100644
--- a/Documentation/DocBook/media/v4l/dev-output.xml
+++ b/Documentation/DocBook/media/v4l/dev-output.xml
@@ -104,11 +104,3 @@ linkend="mmap">memory mapping</link> or <link
104linkend="userp">user pointer</link>) I/O. See <xref 104linkend="userp">user pointer</link>) I/O. See <xref
105linkend="io" /> for details.</para> 105linkend="io" /> for details.</para>
106 </section> 106 </section>
107
108 <!--
109Local Variables:
110mode: sgml
111sgml-parent-document: "v4l2.sgml"
112indent-tabs-mode: nil
113End:
114 -->
diff --git a/Documentation/DocBook/media/v4l/dev-overlay.xml b/Documentation/DocBook/media/v4l/dev-overlay.xml
index 92513cf7915..40d1d768143 100644
--- a/Documentation/DocBook/media/v4l/dev-overlay.xml
+++ b/Documentation/DocBook/media/v4l/dev-overlay.xml
@@ -369,11 +369,3 @@ reasons. <!-- video4linux-list@redhat.com on 22 Oct 2002 subject
369 <para>To start or stop the frame buffer overlay applications call 369 <para>To start or stop the frame buffer overlay applications call
370the &VIDIOC-OVERLAY; ioctl.</para> 370the &VIDIOC-OVERLAY; ioctl.</para>
371 </section> 371 </section>
372
373 <!--
374Local Variables:
375mode: sgml
376sgml-parent-document: "v4l2.sgml"
377indent-tabs-mode: nil
378End:
379 -->
diff --git a/Documentation/DocBook/media/v4l/dev-radio.xml b/Documentation/DocBook/media/v4l/dev-radio.xml
index 73aa90b45b3..3e6ac73b36a 100644
--- a/Documentation/DocBook/media/v4l/dev-radio.xml
+++ b/Documentation/DocBook/media/v4l/dev-radio.xml
@@ -47,11 +47,3 @@ depending on the selected frequency. The &VIDIOC-G-TUNER; or
47&VIDIOC-G-MODULATOR; ioctl 47&VIDIOC-G-MODULATOR; ioctl
48reports the supported frequency range.</para> 48reports the supported frequency range.</para>
49 </section> 49 </section>
50
51<!--
52Local Variables:
53mode: sgml
54sgml-parent-document: "v4l2.sgml"
55indent-tabs-mode: nil
56End:
57 -->
diff --git a/Documentation/DocBook/media/v4l/dev-raw-vbi.xml b/Documentation/DocBook/media/v4l/dev-raw-vbi.xml
index c5a70bdfaf2..b788c72c885 100644
--- a/Documentation/DocBook/media/v4l/dev-raw-vbi.xml
+++ b/Documentation/DocBook/media/v4l/dev-raw-vbi.xml
@@ -337,11 +337,3 @@ an &EBUSY; if the required hardware resources are temporarily
337unavailable, for example the device is already in use by another 337unavailable, for example the device is already in use by another
338process.</para> 338process.</para>
339 </section> 339 </section>
340
341 <!--
342Local Variables:
343mode: sgml
344sgml-parent-document: "v4l2.sgml"
345indent-tabs-mode: nil
346End:
347 -->
diff --git a/Documentation/DocBook/media/v4l/dev-rds.xml b/Documentation/DocBook/media/v4l/dev-rds.xml
index 2427f54397e..38883a419e6 100644
--- a/Documentation/DocBook/media/v4l/dev-rds.xml
+++ b/Documentation/DocBook/media/v4l/dev-rds.xml
@@ -29,10 +29,10 @@ returned by the &VIDIOC-QUERYCAP; ioctl. Any tuner that supports RDS
29will set the <constant>V4L2_TUNER_CAP_RDS</constant> flag in 29will set the <constant>V4L2_TUNER_CAP_RDS</constant> flag in
30the <structfield>capability</structfield> field of &v4l2-tuner;. If 30the <structfield>capability</structfield> field of &v4l2-tuner;. If
31the driver only passes RDS blocks without interpreting the data 31the driver only passes RDS blocks without interpreting the data
32the <constant>V4L2_TUNER_SUB_RDS_BLOCK_IO</constant> flag has to be 32the <constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant> flag has to be
33set, see <link linkend="reading-rds-data">Reading RDS data</link>. 33set, see <link linkend="reading-rds-data">Reading RDS data</link>.
34For future use the 34For future use the
35flag <constant>V4L2_TUNER_SUB_RDS_CONTROLS</constant> has also been 35flag <constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant> has also been
36defined. However, a driver for a radio tuner with this capability does 36defined. However, a driver for a radio tuner with this capability does
37not yet exist, so if you are planning to write such a driver you 37not yet exist, so if you are planning to write such a driver you
38should discuss this on the linux-media mailing list: &v4l-ml;.</para> 38should discuss this on the linux-media mailing list: &v4l-ml;.</para>
@@ -52,9 +52,9 @@ field of &v4l2-modulator;.
52In order to enable the RDS transmission one must set the <constant>V4L2_TUNER_SUB_RDS</constant> 52In order to enable the RDS transmission one must set the <constant>V4L2_TUNER_SUB_RDS</constant>
53bit in the <structfield>txsubchans</structfield> field of &v4l2-modulator;. 53bit in the <structfield>txsubchans</structfield> field of &v4l2-modulator;.
54If the driver only passes RDS blocks without interpreting the data 54If the driver only passes RDS blocks without interpreting the data
55the <constant>V4L2_TUNER_SUB_RDS_BLOCK_IO</constant> flag has to be set. If the 55the <constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant> flag has to be set. If the
56tuner is capable of handling RDS entities like program identification codes and radio 56tuner is capable of handling RDS entities like program identification codes and radio
57text, the flag <constant>V4L2_TUNER_SUB_RDS_CONTROLS</constant> should be set, 57text, the flag <constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant> should be set,
58see <link linkend="writing-rds-data">Writing RDS data</link> and 58see <link linkend="writing-rds-data">Writing RDS data</link> and
59<link linkend="fm-tx-controls">FM Transmitter Control Reference</link>.</para> 59<link linkend="fm-tx-controls">FM Transmitter Control Reference</link>.</para>
60 </section> 60 </section>
@@ -194,11 +194,3 @@ as follows:</para>
194 </tgroup> 194 </tgroup>
195 </table> 195 </table>
196 </section> 196 </section>
197
198<!--
199Local Variables:
200mode: sgml
201sgml-parent-document: "v4l2.sgml"
202indent-tabs-mode: nil
203End:
204 -->
diff --git a/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml b/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml
index 69e789fa7f7..548f8ea28de 100644
--- a/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml
+++ b/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml
@@ -697,12 +697,3 @@ Sliced VBI services</link> for a description of the line payload.</entry>
697 697
698 </section> 698 </section>
699 </section> 699 </section>
700
701
702<!--
703Local Variables:
704mode: sgml
705sgml-parent-document: "v4l2.sgml"
706indent-tabs-mode: nil
707End:
708 -->
diff --git a/Documentation/DocBook/media/v4l/dev-teletext.xml b/Documentation/DocBook/media/v4l/dev-teletext.xml
index 414b1cfff9f..bd21c64d70f 100644
--- a/Documentation/DocBook/media/v4l/dev-teletext.xml
+++ b/Documentation/DocBook/media/v4l/dev-teletext.xml
@@ -27,11 +27,3 @@ kernel 2.6.37.</para>
27 27
28 <para>Modern devices all use the <link linkend="raw-vbi">raw</link> or 28 <para>Modern devices all use the <link linkend="raw-vbi">raw</link> or
29<link linkend="sliced">sliced</link> VBI API.</para> 29<link linkend="sliced">sliced</link> VBI API.</para>
30
31 <!--
32Local Variables:
33mode: sgml
34sgml-parent-document: "v4l2.sgml"
35indent-tabs-mode: nil
36End:
37 -->
diff --git a/Documentation/DocBook/media/v4l/driver.xml b/Documentation/DocBook/media/v4l/driver.xml
index 1f7eea5c4ec..eacafe312cd 100644
--- a/Documentation/DocBook/media/v4l/driver.xml
+++ b/Documentation/DocBook/media/v4l/driver.xml
@@ -198,11 +198,3 @@ devices with the videodev module.</para>
198 <para>to do</para> 198 <para>to do</para>
199 </section> 199 </section>
200--> 200-->
201
202<!--
203Local Variables:
204mode: sgml
205sgml-parent-document: "v4l2.sgml"
206indent-tabs-mode: nil
207End:
208-->
diff --git a/Documentation/DocBook/media/v4l/func-close.xml b/Documentation/DocBook/media/v4l/func-close.xml
index dfb41cbbbec..232920d2f3c 100644
--- a/Documentation/DocBook/media/v4l/func-close.xml
+++ b/Documentation/DocBook/media/v4l/func-close.xml
@@ -60,11 +60,3 @@ descriptor.</para>
60 </variablelist> 60 </variablelist>
61 </refsect1> 61 </refsect1>
62</refentry> 62</refentry>
63
64<!--
65Local Variables:
66mode: sgml
67sgml-parent-document: "v4l2.sgml"
68indent-tabs-mode: nil
69End:
70-->
diff --git a/Documentation/DocBook/media/v4l/func-ioctl.xml b/Documentation/DocBook/media/v4l/func-ioctl.xml
index 2de64be706f..4394184a1a6 100644
--- a/Documentation/DocBook/media/v4l/func-ioctl.xml
+++ b/Documentation/DocBook/media/v4l/func-ioctl.xml
@@ -69,11 +69,3 @@ their respective function and parameters are specified in <xref
69 the parameter remains unmodified.</para> 69 the parameter remains unmodified.</para>
70 </refsect1> 70 </refsect1>
71</refentry> 71</refentry>
72
73<!--
74Local Variables:
75mode: sgml
76sgml-parent-document: "v4l2.sgml"
77indent-tabs-mode: nil
78End:
79-->
diff --git a/Documentation/DocBook/media/v4l/func-mmap.xml b/Documentation/DocBook/media/v4l/func-mmap.xml
index 786732b64bb..f31ad71bf30 100644
--- a/Documentation/DocBook/media/v4l/func-mmap.xml
+++ b/Documentation/DocBook/media/v4l/func-mmap.xml
@@ -181,11 +181,3 @@ complete the request.</para>
181 </variablelist> 181 </variablelist>
182 </refsect1> 182 </refsect1>
183</refentry> 183</refentry>
184
185<!--
186Local Variables:
187mode: sgml
188sgml-parent-document: "v4l2.sgml"
189indent-tabs-mode: nil
190End:
191-->
diff --git a/Documentation/DocBook/media/v4l/func-munmap.xml b/Documentation/DocBook/media/v4l/func-munmap.xml
index e2c4190f9bb..860d49ca54a 100644
--- a/Documentation/DocBook/media/v4l/func-munmap.xml
+++ b/Documentation/DocBook/media/v4l/func-munmap.xml
@@ -74,11 +74,3 @@ mapped yet.</para>
74 </variablelist> 74 </variablelist>
75 </refsect1> 75 </refsect1>
76</refentry> 76</refentry>
77
78<!--
79Local Variables:
80mode: sgml
81sgml-parent-document: "v4l2.sgml"
82indent-tabs-mode: nil
83End:
84-->
diff --git a/Documentation/DocBook/media/v4l/func-open.xml b/Documentation/DocBook/media/v4l/func-open.xml
index 7595d07a8c7..cf64e207c3e 100644
--- a/Documentation/DocBook/media/v4l/func-open.xml
+++ b/Documentation/DocBook/media/v4l/func-open.xml
@@ -111,11 +111,3 @@ system has been reached.</para>
111 </variablelist> 111 </variablelist>
112 </refsect1> 112 </refsect1>
113</refentry> 113</refentry>
114
115<!--
116Local Variables:
117mode: sgml
118sgml-parent-document: "v4l2.sgml"
119indent-tabs-mode: nil
120End:
121-->
diff --git a/Documentation/DocBook/media/v4l/func-poll.xml b/Documentation/DocBook/media/v4l/func-poll.xml
index ec3c718f596..85cad8bff5b 100644
--- a/Documentation/DocBook/media/v4l/func-poll.xml
+++ b/Documentation/DocBook/media/v4l/func-poll.xml
@@ -117,11 +117,3 @@ than <constant>OPEN_MAX</constant>.</para>
117 </variablelist> 117 </variablelist>
118 </refsect1> 118 </refsect1>
119</refentry> 119</refentry>
120
121<!--
122Local Variables:
123mode: sgml
124sgml-parent-document: "v4l2.sgml"
125indent-tabs-mode: nil
126End:
127-->
diff --git a/Documentation/DocBook/media/v4l/func-read.xml b/Documentation/DocBook/media/v4l/func-read.xml
index a5089bf8873..e218bbfbd36 100644
--- a/Documentation/DocBook/media/v4l/func-read.xml
+++ b/Documentation/DocBook/media/v4l/func-read.xml
@@ -179,11 +179,3 @@ type of device.</para>
179 </variablelist> 179 </variablelist>
180 </refsect1> 180 </refsect1>
181</refentry> 181</refentry>
182
183<!--
184Local Variables:
185mode: sgml
186sgml-parent-document: "v4l2.sgml"
187indent-tabs-mode: nil
188End:
189-->
diff --git a/Documentation/DocBook/media/v4l/func-select.xml b/Documentation/DocBook/media/v4l/func-select.xml
index b6713623181..e12a60d9bd8 100644
--- a/Documentation/DocBook/media/v4l/func-select.xml
+++ b/Documentation/DocBook/media/v4l/func-select.xml
@@ -128,11 +128,3 @@ zero or greater than <constant>FD_SETSIZE</constant>.</para>
128 </variablelist> 128 </variablelist>
129 </refsect1> 129 </refsect1>
130</refentry> 130</refentry>
131
132<!--
133Local Variables:
134mode: sgml
135sgml-parent-document: "v4l2.sgml"
136indent-tabs-mode: nil
137End:
138-->
diff --git a/Documentation/DocBook/media/v4l/func-write.xml b/Documentation/DocBook/media/v4l/func-write.xml
index 2c09c09371c..57520788572 100644
--- a/Documentation/DocBook/media/v4l/func-write.xml
+++ b/Documentation/DocBook/media/v4l/func-write.xml
@@ -126,11 +126,3 @@ type of device.</para>
126 </variablelist> 126 </variablelist>
127 </refsect1> 127 </refsect1>
128</refentry> 128</refentry>
129
130<!--
131Local Variables:
132mode: sgml
133sgml-parent-document: "v4l2.sgml"
134indent-tabs-mode: nil
135End:
136-->
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml
index 3f47df1aa54..b815929b5bb 100644
--- a/Documentation/DocBook/media/v4l/io.xml
+++ b/Documentation/DocBook/media/v4l/io.xml
@@ -1282,11 +1282,3 @@ line, top field first. The bottom field is transmitted first.</entry>
1282 </mediaobject> 1282 </mediaobject>
1283 </figure> 1283 </figure>
1284 </section> 1284 </section>
1285
1286 <!--
1287Local Variables:
1288mode: sgml
1289sgml-parent-document: "v4l2.sgml"
1290indent-tabs-mode: nil
1291End:
1292 -->
diff --git a/Documentation/DocBook/media/v4l/libv4l.xml b/Documentation/DocBook/media/v4l/libv4l.xml
index 3cb10ec5192..d3b71e20003 100644
--- a/Documentation/DocBook/media/v4l/libv4l.xml
+++ b/Documentation/DocBook/media/v4l/libv4l.xml
@@ -158,10 +158,3 @@ still don't use libv4l.</para>
158 </section> 158 </section>
159 159
160</section> 160</section>
161<!--
162Local Variables:
163mode: sgml
164sgml-parent-document: "v4l2.sgml"
165indent-tabs-mode: nil
166End:
167-->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-grey.xml b/Documentation/DocBook/media/v4l/pixfmt-grey.xml
index 3b72bc6b2de..bee970d3f76 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-grey.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-grey.xml
@@ -60,11 +60,3 @@ pixel image</title>
60 </example> 60 </example>
61 </refsect1> 61 </refsect1>
62 </refentry> 62 </refentry>
63
64 <!--
65Local Variables:
66mode: sgml
67sgml-parent-document: "pixfmt.sgml"
68indent-tabs-mode: nil
69End:
70 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-m420.xml b/Documentation/DocBook/media/v4l/pixfmt-m420.xml
index ce4bc019e5c..aadae92c5d0 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-m420.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-m420.xml
@@ -137,11 +137,3 @@ pixel image</title>
137 </example> 137 </example>
138 </refsect1> 138 </refsect1>
139 </refentry> 139 </refentry>
140
141 <!--
142Local Variables:
143mode: sgml
144sgml-parent-document: "pixfmt.sgml"
145indent-tabs-mode: nil
146End:
147 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12.xml
index 873f6703518..84dd4fd7cb8 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12.xml
@@ -141,11 +141,3 @@ pixel image</title>
141 </example> 141 </example>
142 </refsect1> 142 </refsect1>
143 </refentry> 143 </refentry>
144
145 <!--
146Local Variables:
147mode: sgml
148sgml-parent-document: "pixfmt.sgml"
149indent-tabs-mode: nil
150End:
151 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
index c9e166d9ded..3fd3ce5df27 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
@@ -144,11 +144,3 @@ CbCr plane has as many pad bytes after its rows.</para>
144 </example> 144 </example>
145 </refsect1> 145 </refsect1>
146 </refentry> 146 </refentry>
147
148 <!--
149Local Variables:
150mode: sgml
151sgml-parent-document: "pixfmt.sgml"
152indent-tabs-mode: nil
153End:
154 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
index 7a2855a526c..2f82b1da8df 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml
@@ -64,11 +64,3 @@ layout of macroblocks</title>
64 </example> 64 </example>
65 </refsect1> 65 </refsect1>
66 </refentry> 66 </refentry>
67
68 <!--
69Local Variables:
70mode: sgml
71sgml-parent-document: "pixfmt.sgml"
72indent-tabs-mode: nil
73End:
74 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv16.xml b/Documentation/DocBook/media/v4l/pixfmt-nv16.xml
index 26094035fc0..8ae1f8a810d 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv16.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv16.xml
@@ -164,11 +164,3 @@ pixel image</title>
164 </example> 164 </example>
165 </refsect1> 165 </refsect1>
166 </refentry> 166 </refentry>
167
168 <!--
169Local Variables:
170mode: sgml
171sgml-parent-document: "pixfmt.sgml"
172indent-tabs-mode: nil
173End:
174 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
index 4db272b8a0d..166c8d65e4f 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml
@@ -428,8 +428,11 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para>
428 <para>Bit 7 is the most significant bit. The value of a = alpha 428 <para>Bit 7 is the most significant bit. The value of a = alpha
429bits is undefined when reading from the driver, ignored when writing 429bits is undefined when reading from the driver, ignored when writing
430to the driver, except when alpha blending has been negotiated for a 430to the driver, except when alpha blending has been negotiated for a
431<link linkend="overlay">Video Overlay</link> or <link 431<link linkend="overlay">Video Overlay</link> or <link linkend="osd">
432linkend="osd">Video Output Overlay</link>.</para> 432Video Output Overlay</link> or when alpha component has been configured
433for a <link linkend="capture">Video Capture</link> by means of <link
434linkend="v4l2-alpha-component"> <constant>V4L2_CID_ALPHA_COMPONENT
435</constant> </link> control.</para>
433 436
434 <example> 437 <example>
435 <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 &times; 4 pixel 438 <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 &times; 4 pixel
@@ -930,11 +933,3 @@ See &v4l-dvb; for access instructions.</para>
930 933
931 </refsect1> 934 </refsect1>
932 </refentry> 935 </refentry>
933
934 <!--
935Local Variables:
936mode: sgml
937sgml-parent-document: "pixfmt.sgml"
938indent-tabs-mode: nil
939End:
940 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml
index 3cab5d0ca75..33fa5a47a86 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml
@@ -234,11 +234,3 @@ linkend="osd">Video Output Overlay</link>.</para>
234 234
235 </refsect1> 235 </refsect1>
236 </refentry> 236 </refentry>
237
238 <!--
239Local Variables:
240mode: sgml
241sgml-parent-document: "pixfmt.sgml"
242indent-tabs-mode: nil
243End:
244 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml b/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml
index 519a9efbac1..6494b05d84a 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml
@@ -81,11 +81,3 @@ pixel image</title>
81 </example> 81 </example>
82 </refsect1> 82 </refsect1>
83</refentry> 83</refentry>
84
85 <!--
86Local Variables:
87mode: sgml
88sgml-parent-document: "pixfmt.sgml"
89indent-tabs-mode: nil
90End:
91 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml b/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml
index 5fe84ecc2eb..5eaf2b42d3f 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml
@@ -65,11 +65,3 @@ pixel image</title>
65 </example> 65 </example>
66 </refsect1> 66 </refsect1>
67 </refentry> 67 </refentry>
68
69 <!--
70Local Variables:
71mode: sgml
72sgml-parent-document: "pixfmt.sgml"
73indent-tabs-mode: nil
74End:
75 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml b/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml
index d67a472b088..fee65dca79c 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml
@@ -65,11 +65,3 @@ pixel image</title>
65 </example> 65 </example>
66 </refsect1> 66 </refsect1>
67 </refentry> 67 </refentry>
68
69 <!--
70Local Variables:
71mode: sgml
72sgml-parent-document: "pixfmt.sgml"
73indent-tabs-mode: nil
74End:
75 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml b/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml
index 0cdf13b8ac1..19727ab4c75 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml
@@ -65,11 +65,3 @@ columns and rows.</para>
65 </example> 65 </example>
66 </refsect1> 66 </refsect1>
67 </refentry> 67 </refentry>
68
69 <!--
70Local Variables:
71mode: sgml
72sgml-parent-document: "pixfmt.sgml"
73indent-tabs-mode: nil
74End:
75 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml b/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml
index 816c8d467c1..b1f6801a17f 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml
@@ -118,11 +118,3 @@ pixel image</title>
118 </example> 118 </example>
119 </refsect1> 119 </refsect1>
120 </refentry> 120 </refentry>
121
122 <!--
123Local Variables:
124mode: sgml
125sgml-parent-document: "pixfmt.sgml"
126indent-tabs-mode: nil
127End:
128 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml b/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml
index 61f12a5e68d..82803408b38 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml
@@ -118,11 +118,3 @@ pixel image</title>
118 </example> 118 </example>
119 </refsect1> 119 </refsect1>
120 </refentry> 120 </refentry>
121
122 <!--
123Local Variables:
124mode: sgml
125sgml-parent-document: "pixfmt.sgml"
126indent-tabs-mode: nil
127End:
128 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-y16.xml b/Documentation/DocBook/media/v4l/pixfmt-y16.xml
index d5840401507..ff4f727d562 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-y16.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-y16.xml
@@ -79,11 +79,3 @@ pixel image</title>
79 </example> 79 </example>
80 </refsect1> 80 </refsect1>
81</refentry> 81</refentry>
82
83 <!--
84Local Variables:
85mode: sgml
86sgml-parent-document: "pixfmt.sgml"
87indent-tabs-mode: nil
88End:
89 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-y41p.xml b/Documentation/DocBook/media/v4l/pixfmt-y41p.xml
index 73c8536efb0..98dcb91d291 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-y41p.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-y41p.xml
@@ -147,11 +147,3 @@ pixel image</title>
147 </example> 147 </example>
148 </refsect1> 148 </refsect1>
149 </refentry> 149 </refentry>
150
151 <!--
152Local Variables:
153mode: sgml
154sgml-parent-document: "pixfmt.sgml"
155indent-tabs-mode: nil
156End:
157 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml
index 8eb4a193d77..0869dce5f92 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml
@@ -131,11 +131,3 @@ pixel image</title>
131 </example> 131 </example>
132 </refsect1> 132 </refsect1>
133 </refentry> 133 </refentry>
134
135 <!--
136Local Variables:
137mode: sgml
138sgml-parent-document: "pixfmt.sgml"
139indent-tabs-mode: nil
140End:
141 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml
index 00e0960a986..086dc731bf0 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml
@@ -145,11 +145,3 @@ pixel image</title>
145 </example> 145 </example>
146 </refsect1> 146 </refsect1>
147 </refentry> 147 </refentry>
148
149 <!--
150Local Variables:
151mode: sgml
152sgml-parent-document: "v4l2.sgml"
153indent-tabs-mode: nil
154End:
155 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml
index 42d7de5e456..48649fac159 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml
@@ -147,11 +147,3 @@ pixel image</title>
147 </example> 147 </example>
148 </refsect1> 148 </refsect1>
149 </refentry> 149 </refentry>
150
151 <!--
152Local Variables:
153mode: sgml
154sgml-parent-document: "pixfmt.sgml"
155indent-tabs-mode: nil
156End:
157 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
index f5d8f57495c..9957863daf1 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
@@ -152,11 +152,3 @@ pixel image</title>
152 </example> 152 </example>
153 </refsect1> 153 </refsect1>
154 </refentry> 154 </refentry>
155
156 <!--
157Local Variables:
158mode: sgml
159sgml-parent-document: "pixfmt.sgml"
160indent-tabs-mode: nil
161End:
162 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml
index 4348bd9f0d0..4ce6463fe0a 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml
@@ -151,11 +151,3 @@ pixel image</title>
151 </example> 151 </example>
152 </refsect1> 152 </refsect1>
153 </refentry> 153 </refentry>
154
155 <!--
156Local Variables:
157mode: sgml
158sgml-parent-document: "pixfmt.sgml"
159indent-tabs-mode: nil
160End:
161 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml b/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml
index bdb2ffacbbc..58384092251 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml
@@ -118,11 +118,3 @@ pixel image</title>
118 </example> 118 </example>
119 </refsect1> 119 </refsect1>
120 </refentry> 120 </refentry>
121
122 <!--
123Local Variables:
124mode: sgml
125sgml-parent-document: "pixfmt.sgml"
126indent-tabs-mode: nil
127End:
128 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml b/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml
index 40d17ae39dd..bfffdc76d3d 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml
@@ -118,11 +118,3 @@ pixel image</title>
118 </example> 118 </example>
119 </refsect1> 119 </refsect1>
120 </refentry> 120 </refentry>
121
122 <!--
123Local Variables:
124mode: sgml
125sgml-parent-document: "pixfmt.sgml"
126indent-tabs-mode: nil
127End:
128 -->
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml
index aef4615fb07..31eaae2469f 100644
--- a/Documentation/DocBook/media/v4l/pixfmt.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt.xml
@@ -891,6 +891,11 @@ kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm
891 <entry>'M310'</entry> 891 <entry>'M310'</entry>
892 <entry>Compressed BGGR Bayer format used by the gspca driver.</entry> 892 <entry>Compressed BGGR Bayer format used by the gspca driver.</entry>
893 </row> 893 </row>
894 <row id="V4L2-PIX-FMT-JL2005BCD">
895 <entry><constant>V4L2_PIX_FMT_JL2005BCD</constant></entry>
896 <entry>'JL20'</entry>
897 <entry>JPEG compressed RGGB Bayer format used by the gspca driver.</entry>
898 </row>
894 <row id="V4L2-PIX-FMT-OV511"> 899 <row id="V4L2-PIX-FMT-OV511">
895 <entry><constant>V4L2_PIX_FMT_OV511</constant></entry> 900 <entry><constant>V4L2_PIX_FMT_OV511</constant></entry>
896 <entry>'O511'</entry> 901 <entry>'O511'</entry>
@@ -998,11 +1003,3 @@ the other bits are set to 0.</entry>
998 </tgroup> 1003 </tgroup>
999 </table> 1004 </table>
1000 </section> 1005 </section>
1001
1002 <!--
1003Local Variables:
1004mode: sgml
1005sgml-parent-document: "v4l2.sgml"
1006indent-tabs-mode: nil
1007End:
1008 -->
diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml
new file mode 100644
index 00000000000..2f0bdb4d555
--- /dev/null
+++ b/Documentation/DocBook/media/v4l/selection-api.xml
@@ -0,0 +1,321 @@
1<section id="selection-api">
2
3 <title>Experimental API for cropping, composing and scaling</title>
4
5 <note>
6 <title>Experimental</title>
7
8 <para>This is an <link linkend="experimental">experimental</link>
9interface and may change in the future.</para>
10 </note>
11
12 <section>
13 <title>Introduction</title>
14
15<para>Some video capture devices can sample a subsection of a picture and
16shrink or enlarge it to an image of arbitrary size. Next, the devices can
17insert the image into larger one. Some video output devices can crop part of an
18input image, scale it up or down and insert it at an arbitrary scan line and
19horizontal offset into a video signal. We call these abilities cropping,
20scaling and composing.</para>
21
22<para>On a video <emphasis>capture</emphasis> device the source is a video
23signal, and the cropping target determine the area actually sampled. The sink
24is an image stored in a memory buffer. The composing area specifies which part
25of the buffer is actually written to by the hardware. </para>
26
27<para>On a video <emphasis>output</emphasis> device the source is an image in a
28memory buffer, and the cropping target is a part of an image to be shown on a
29display. The sink is the display or the graphics screen. The application may
30select the part of display where the image should be displayed. The size and
31position of such a window is controlled by the compose target.</para>
32
33<para>Rectangles for all cropping and composing targets are defined even if the
34device does supports neither cropping nor composing. Their size and position
35will be fixed in such a case. If the device does not support scaling then the
36cropping and composing rectangles have the same size.</para>
37
38 </section>
39
40 <section>
41 <title>Selection targets</title>
42
43 <figure id="sel-targets-capture">
44 <title>Cropping and composing targets</title>
45 <mediaobject>
46 <imageobject>
47 <imagedata fileref="selection.png" format="PNG" />
48 </imageobject>
49 <textobject>
50 <phrase>Targets used by a cropping, composing and scaling
51 process</phrase>
52 </textobject>
53 </mediaobject>
54 </figure>
55 </section>
56
57 <section>
58
59 <title>Configuration</title>
60
61<para>Applications can use the <link linkend="vidioc-g-selection">selection
62API</link> to select an area in a video signal or a buffer, and to query for
63default settings and hardware limits.</para>
64
65<para>Video hardware can have various cropping, composing and scaling
66limitations. It may only scale up or down, support only discrete scaling
67factors, or have different scaling abilities in the horizontal and vertical
68directions. Also it may not support scaling at all. At the same time the
69cropping/composing rectangles may have to be aligned, and both the source and
70the sink may have arbitrary upper and lower size limits. Therefore, as usual,
71drivers are expected to adjust the requested parameters and return the actual
72values selected. An application can control the rounding behaviour using <link
73linkend="v4l2-sel-flags"> constraint flags </link>.</para>
74
75 <section>
76
77 <title>Configuration of video capture</title>
78
79<para>See figure <xref linkend="sel-targets-capture" /> for examples of the
80selection targets available for a video capture device. It is recommended to
81configure the cropping targets before to the composing targets.</para>
82
83<para>The range of coordinates of the top left corner, width and height of
84areas that can be sampled is given by the <constant> V4L2_SEL_TGT_CROP_BOUNDS
85</constant> target. It is recommended for the driver developers to put the
86top/left corner at position <constant> (0,0) </constant>. The rectangle's
87coordinates are expressed in pixels.</para>
88
89<para>The top left corner, width and height of the source rectangle, that is
90the area actually sampled, is given by the <constant> V4L2_SEL_TGT_CROP_ACTIVE
91</constant> target. It uses the same coordinate system as <constant>
92V4L2_SEL_TGT_CROP_BOUNDS </constant>. The active cropping area must lie
93completely inside the capture boundaries. The driver may further adjust the
94requested size and/or position according to hardware limitations.</para>
95
96<para>Each capture device has a default source rectangle, given by the
97<constant> V4L2_SEL_TGT_CROP_DEFAULT </constant> target. This rectangle shall
98over what the driver writer considers the complete picture. Drivers shall set
99the active crop rectangle to the default when the driver is first loaded, but
100not later.</para>
101
102<para>The composing targets refer to a memory buffer. The limits of composing
103coordinates are obtained using <constant> V4L2_SEL_TGT_COMPOSE_BOUNDS
104</constant>. All coordinates are expressed in pixels. The rectangle's top/left
105corner must be located at position <constant> (0,0) </constant>. The width and
106height are equal to the image size set by <constant> VIDIOC_S_FMT </constant>.
107</para>
108
109<para>The part of a buffer into which the image is inserted by the hardware is
110controlled by the <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target.
111The rectangle's coordinates are also expressed in the same coordinate system as
112the bounds rectangle. The composing rectangle must lie completely inside bounds
113rectangle. The driver must adjust the composing rectangle to fit to the
114bounding limits. Moreover, the driver can perform other adjustments according
115to hardware limitations. The application can control rounding behaviour using
116<link linkend="v4l2-sel-flags"> constraint flags </link>.</para>
117
118<para>For capture devices the default composing rectangle is queried using
119<constant> V4L2_SEL_TGT_COMPOSE_DEFAULT </constant>. It is usually equal to the
120bounding rectangle.</para>
121
122<para>The part of a buffer that is modified by the hardware is given by
123<constant> V4L2_SEL_TGT_COMPOSE_PADDED </constant>. It contains all pixels
124defined using <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> plus all
125padding data modified by hardware during insertion process. All pixels outside
126this rectangle <emphasis>must not</emphasis> be changed by the hardware. The
127content of pixels that lie inside the padded area but outside active area is
128undefined. The application can use the padded and active rectangles to detect
129where the rubbish pixels are located and remove them if needed.</para>
130
131 </section>
132
133 <section>
134
135 <title>Configuration of video output</title>
136
137<para>For output devices targets and ioctls are used similarly to the video
138capture case. The <emphasis> composing </emphasis> rectangle refers to the
139insertion of an image into a video signal. The cropping rectangles refer to a
140memory buffer. It is recommended to configure the composing targets before to
141the cropping targets.</para>
142
143<para>The cropping targets refer to the memory buffer that contains an image to
144be inserted into a video signal or graphical screen. The limits of cropping
145coordinates are obtained using <constant> V4L2_SEL_TGT_CROP_BOUNDS </constant>.
146All coordinates are expressed in pixels. The top/left corner is always point
147<constant> (0,0) </constant>. The width and height is equal to the image size
148specified using <constant> VIDIOC_S_FMT </constant> ioctl.</para>
149
150<para>The top left corner, width and height of the source rectangle, that is
151the area from which image date are processed by the hardware, is given by the
152<constant> V4L2_SEL_TGT_CROP_ACTIVE </constant>. Its coordinates are expressed
153in in the same coordinate system as the bounds rectangle. The active cropping
154area must lie completely inside the crop boundaries and the driver may further
155adjust the requested size and/or position according to hardware
156limitations.</para>
157
158<para>For output devices the default cropping rectangle is queried using
159<constant> V4L2_SEL_TGT_CROP_DEFAULT </constant>. It is usually equal to the
160bounding rectangle.</para>
161
162<para>The part of a video signal or graphics display where the image is
163inserted by the hardware is controlled by <constant>
164V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target. The rectangle's coordinates
165are expressed in pixels. The composing rectangle must lie completely inside the
166bounds rectangle. The driver must adjust the area to fit to the bounding
167limits. Moreover, the driver can perform other adjustments according to
168hardware limitations. </para>
169
170<para>The device has a default composing rectangle, given by the <constant>
171V4L2_SEL_TGT_COMPOSE_DEFAULT </constant> target. This rectangle shall cover what
172the driver writer considers the complete picture. It is recommended for the
173driver developers to put the top/left corner at position <constant> (0,0)
174</constant>. Drivers shall set the active composing rectangle to the default
175one when the driver is first loaded.</para>
176
177<para>The devices may introduce additional content to video signal other than
178an image from memory buffers. It includes borders around an image. However,
179such a padded area is driver-dependent feature not covered by this document.
180Driver developers are encouraged to keep padded rectangle equal to active one.
181The padded target is accessed by the <constant> V4L2_SEL_TGT_COMPOSE_PADDED
182</constant> identifier. It must contain all pixels from the <constant>
183V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target.</para>
184
185 </section>
186
187 <section>
188
189 <title>Scaling control.</title>
190
191<para>An application can detect if scaling is performed by comparing the width
192and the height of rectangles obtained using <constant> V4L2_SEL_TGT_CROP_ACTIVE
193</constant> and <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> targets. If
194these are not equal then the scaling is applied. The application can compute
195the scaling ratios using these values.</para>
196
197 </section>
198
199 </section>
200
201 <section>
202
203 <title>Comparison with old cropping API.</title>
204
205<para>The selection API was introduced to cope with deficiencies of previous
206<link linkend="crop"> API </link>, that was designed to control simple capture
207devices. Later the cropping API was adopted by video output drivers. The ioctls
208are used to select a part of the display were the video signal is inserted. It
209should be considered as an API abuse because the described operation is
210actually the composing. The selection API makes a clear distinction between
211composing and cropping operations by setting the appropriate targets. The V4L2
212API lacks any support for composing to and cropping from an image inside a
213memory buffer. The application could configure a capture device to fill only a
214part of an image by abusing V4L2 API. Cropping a smaller image from a larger
215one is achieved by setting the field <structfield>
216&v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets
217could be done by modifying field <structfield> &v4l2-buffer;::m:userptr
218</structfield> before calling <constant> VIDIOC_QBUF </constant>. Those
219operations should be avoided because they are not portable (endianness), and do
220not work for macroblock and Bayer formats and mmap buffers. The selection API
221deals with configuration of buffer cropping/composing in a clear, intuitive and
222portable way. Next, with the selection API the concepts of the padded target
223and constraints flags are introduced. Finally, <structname> &v4l2-crop;
224</structname> and <structname> &v4l2-cropcap; </structname> have no reserved
225fields. Therefore there is no way to extend their functionality. The new
226<structname> &v4l2-selection; </structname> provides a lot of place for future
227extensions. Driver developers are encouraged to implement only selection API.
228The former cropping API would be simulated using the new one. </para>
229
230 </section>
231
232 <section>
233 <title>Examples</title>
234 <example>
235 <title>Resetting the cropping parameters</title>
236
237 <para>(A video capture device is assumed; change <constant>
238V4L2_BUF_TYPE_VIDEO_CAPTURE </constant> for other devices; change target to
239<constant> V4L2_SEL_TGT_COMPOSE_* </constant> family to configure composing
240area)</para>
241
242 <programlisting>
243
244 &v4l2-selection; sel = {
245 .type = V4L2_BUF_TYPE_VIDEO_CAPTURE,
246 .target = V4L2_SEL_TGT_CROP_DEFAULT,
247 };
248 ret = ioctl(fd, &VIDIOC-G-SELECTION;, &amp;sel);
249 if (ret)
250 exit(-1);
251 sel.target = V4L2_SEL_TGT_CROP_ACTIVE;
252 ret = ioctl(fd, &VIDIOC-S-SELECTION;, &amp;sel);
253 if (ret)
254 exit(-1);
255
256 </programlisting>
257 </example>
258
259 <example>
260 <title>Simple downscaling</title>
261 <para>Setting a composing area on output of size of <emphasis> at most
262</emphasis> half of limit placed at a center of a display.</para>
263 <programlisting>
264
265 &v4l2-selection; sel = {
266 .type = V4L2_BUF_TYPE_VIDEO_OUTPUT,
267 .target = V4L2_SEL_TGT_COMPOSE_BOUNDS,
268 };
269 struct v4l2_rect r;
270
271 ret = ioctl(fd, &VIDIOC-G-SELECTION;, &amp;sel);
272 if (ret)
273 exit(-1);
274 /* setting smaller compose rectangle */
275 r.width = sel.r.width / 2;
276 r.height = sel.r.height / 2;
277 r.left = sel.r.width / 4;
278 r.top = sel.r.height / 4;
279 sel.r = r;
280 sel.target = V4L2_SEL_TGT_COMPOSE_ACTIVE;
281 sel.flags = V4L2_SEL_FLAG_LE;
282 ret = ioctl(fd, &VIDIOC-S-SELECTION;, &amp;sel);
283 if (ret)
284 exit(-1);
285
286 </programlisting>
287 </example>
288
289 <example>
290 <title>Querying for scaling factors</title>
291 <para>A video output device is assumed; change <constant>
292V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> for other devices</para>
293 <programlisting>
294
295 &v4l2-selection; compose = {
296 .type = V4L2_BUF_TYPE_VIDEO_OUTPUT,
297 .target = V4L2_SEL_TGT_COMPOSE_ACTIVE,
298 };
299 &v4l2-selection; crop = {
300 .type = V4L2_BUF_TYPE_VIDEO_OUTPUT,
301 .target = V4L2_SEL_TGT_CROP_ACTIVE,
302 };
303 double hscale, vscale;
304
305 ret = ioctl(fd, &VIDIOC-G-SELECTION;, &amp;compose);
306 if (ret)
307 exit(-1);
308 ret = ioctl(fd, &VIDIOC-G-SELECTION;, &amp;crop);
309 if (ret)
310 exit(-1);
311
312 /* computing scaling factors */
313 hscale = (double)compose.r.width / crop.r.width;
314 vscale = (double)compose.r.height / crop.r.height;
315
316 </programlisting>
317 </example>
318
319 </section>
320
321</section>
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index 2ab365c10fb..e97c512861b 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -501,6 +501,7 @@ and discussions on the V4L mailing list.</revremark>
501 &sub-g-output; 501 &sub-g-output;
502 &sub-g-parm; 502 &sub-g-parm;
503 &sub-g-priority; 503 &sub-g-priority;
504 &sub-g-selection;
504 &sub-g-sliced-vbi-cap; 505 &sub-g-sliced-vbi-cap;
505 &sub-g-std; 506 &sub-g-std;
506 &sub-g-tuner; 507 &sub-g-tuner;
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
index 1d31427edd1..0be17c232d3 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
@@ -228,11 +228,3 @@ is out of bounds.</para>
228 </variablelist> 228 </variablelist>
229 </refsect1> 229 </refsect1>
230</refentry> 230</refentry>
231
232<!--
233Local Variables:
234mode: sgml
235sgml-parent-document: "v4l2.sgml"
236indent-tabs-mode: nil
237End:
238-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml b/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml
index 71d373b6d36..347d142e743 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml
@@ -156,11 +156,3 @@ bounds.</para>
156 </variablelist> 156 </variablelist>
157 </refsect1> 157 </refsect1>
158</refentry> 158</refentry>
159
160<!--
161Local Variables:
162mode: sgml
163sgml-parent-document: "v4l2.sgml"
164indent-tabs-mode: nil
165End:
166-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
index 476fe1d2bba..9b8efcd6e94 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
@@ -311,11 +311,3 @@ out of bounds.</para>
311 </variablelist> 311 </variablelist>
312 </refsect1> 312 </refsect1>
313</refentry> 313</refentry>
314
315<!--
316Local Variables:
317mode: sgml
318sgml-parent-document: "v4l2.sgml"
319indent-tabs-mode: nil
320End:
321-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
index a281d26a195..a64d5ef103f 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
@@ -196,11 +196,3 @@ is out of bounds.</para>
196 </variablelist> 196 </variablelist>
197 </refsect1> 197 </refsect1>
198</refentry> 198</refentry>
199
200<!--
201Local Variables:
202mode: sgml
203sgml-parent-document: "v4l2.sgml"
204indent-tabs-mode: nil
205End:
206-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumstd.xml b/Documentation/DocBook/media/v4l/vidioc-enumstd.xml
index 95803fe2c8e..3a5fc5405f9 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enumstd.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enumstd.xml
@@ -381,11 +381,3 @@ is out of bounds.</para>
381 </variablelist> 381 </variablelist>
382 </refsect1> 382 </refsect1>
383</refentry> 383</refentry>
384
385<!--
386Local Variables:
387mode: sgml
388sgml-parent-document: "v4l2.sgml"
389indent-tabs-mode: nil
390End:
391-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml b/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml
index 5146d00782e..12b1d0503e2 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml
@@ -127,11 +127,3 @@ this control belongs to.</para>
127 </variablelist> 127 </variablelist>
128 </refsect1> 128 </refsect1>
129</refentry> 129</refentry>
130
131<!--
132Local Variables:
133mode: sgml
134sgml-parent-document: "v4l2.sgml"
135indent-tabs-mode: nil
136End:
137-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
index 5122ce87e0b..6f1f9a629dc 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
@@ -312,10 +312,3 @@ to store the payload and this error code is returned.</para>
312 </refsect1> 312 </refsect1>
313</refentry> 313</refentry>
314 314
315<!--
316Local Variables:
317mode: sgml
318sgml-parent-document: "v4l2.sgml"
319indent-tabs-mode: nil
320End:
321-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml b/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml
index 055718231bc..93817f33703 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml
@@ -295,7 +295,8 @@ set this field to zero.</entry>
295 <entry>The device is capable of non-destructive overlays. 295 <entry>The device is capable of non-destructive overlays.
296When the driver clears this flag, only destructive overlays are 296When the driver clears this flag, only destructive overlays are
297supported. There are no drivers yet which support both destructive and 297supported. There are no drivers yet which support both destructive and
298non-destructive overlays.</entry> 298non-destructive overlays. Video Output Overlays are in practice always
299non-destructive.</entry>
299 </row> 300 </row>
300 <row> 301 <row>
301 <entry><constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> 302 <entry><constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry>
@@ -339,8 +340,8 @@ blending makes no sense for destructive overlays.</entry>
339 <row> 340 <row>
340 <entry><constant>V4L2_FBUF_CAP_SRC_CHROMAKEY</constant></entry> 341 <entry><constant>V4L2_FBUF_CAP_SRC_CHROMAKEY</constant></entry>
341 <entry>0x0080</entry> 342 <entry>0x0080</entry>
342 <entry>The device supports Source Chroma-keying. Framebuffer pixels 343 <entry>The device supports Source Chroma-keying. Video pixels
343with the chroma-key colors are replaced by video pixels, which is exactly opposite of 344with the chroma-key colors are replaced by framebuffer pixels, which is exactly opposite of
344<constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> 345<constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry>
345 </row> 346 </row>
346 </tbody> 347 </tbody>
@@ -356,7 +357,9 @@ with the chroma-key colors are replaced by video pixels, which is exactly opposi
356 <entry><constant>V4L2_FBUF_FLAG_PRIMARY</constant></entry> 357 <entry><constant>V4L2_FBUF_FLAG_PRIMARY</constant></entry>
357 <entry>0x0001</entry> 358 <entry>0x0001</entry>
358 <entry>The framebuffer is the primary graphics surface. 359 <entry>The framebuffer is the primary graphics surface.
359In other words, the overlay is destructive. [?]</entry> 360In other words, the overlay is destructive. This flag is typically set by any
361driver that doesn't have the <constant>V4L2_FBUF_CAP_EXTERNOVERLAY</constant>
362capability and it is cleared otherwise.</entry>
360 </row> 363 </row>
361 <row> 364 <row>
362 <entry><constant>V4L2_FBUF_FLAG_OVERLAY</constant></entry> 365 <entry><constant>V4L2_FBUF_FLAG_OVERLAY</constant></entry>
@@ -366,9 +369,8 @@ size as the capture. [?]</entry>
366 </row> 369 </row>
367 <row> 370 <row>
368 <entry spanname="hspan">The purpose of 371 <entry spanname="hspan">The purpose of
369<constant>V4L2_FBUF_FLAG_PRIMARY</constant> and
370<constant>V4L2_FBUF_FLAG_OVERLAY</constant> was never quite clear. 372<constant>V4L2_FBUF_FLAG_OVERLAY</constant> was never quite clear.
371Most drivers seem to ignore these flags. For compatibility with the 373Most drivers seem to ignore this flag. For compatibility with the
372<wordasword>bttv</wordasword> driver applications should set the 374<wordasword>bttv</wordasword> driver applications should set the
373<constant>V4L2_FBUF_FLAG_OVERLAY</constant> flag.</entry> 375<constant>V4L2_FBUF_FLAG_OVERLAY</constant> flag.</entry>
374 </row> 376 </row>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
index 062d7206909..16431813beb 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
@@ -135,11 +135,3 @@ wrong.</para>
135 </variablelist> 135 </variablelist>
136 </refsect1> 136 </refsect1>
137</refentry> 137</refentry>
138
139<!--
140Local Variables:
141mode: sgml
142sgml-parent-document: "v4l2.sgml"
143indent-tabs-mode: nil
144End:
145-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml b/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml
index 15ce660f0f5..7f4ac7e41fa 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml
@@ -236,11 +236,3 @@ mode.</entry>
236 </variablelist> 236 </variablelist>
237 </refsect1> 237 </refsect1>
238</refentry> 238</refentry>
239
240<!--
241Local Variables:
242mode: sgml
243sgml-parent-document: "v4l2.sgml"
244indent-tabs-mode: nil
245End:
246-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-priority.xml b/Documentation/DocBook/media/v4l/vidioc-g-priority.xml
index 8f5e3da7002..6a81b4fe953 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-priority.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-priority.xml
@@ -133,11 +133,3 @@ priority.</para>
133 </variablelist> 133 </variablelist>
134 </refsect1> 134 </refsect1>
135</refentry> 135</refentry>
136
137<!--
138Local Variables:
139mode: sgml
140sgml-parent-document: "v4l2.sgml"
141indent-tabs-mode: nil
142End:
143-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
new file mode 100644
index 00000000000..a9d36e0c090
--- /dev/null
+++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
@@ -0,0 +1,304 @@
1<refentry id="vidioc-g-selection">
2
3 <refmeta>
4 <refentrytitle>ioctl VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</refentrytitle>
5 &manvol;
6 </refmeta>
7
8 <refnamediv>
9 <refname>VIDIOC_G_SELECTION</refname>
10 <refname>VIDIOC_S_SELECTION</refname>
11 <refpurpose>Get or set one of the selection rectangles</refpurpose>
12 </refnamediv>
13
14 <refsynopsisdiv>
15 <funcsynopsis>
16 <funcprototype>
17 <funcdef>int <function>ioctl</function></funcdef>
18 <paramdef>int <parameter>fd</parameter></paramdef>
19 <paramdef>int <parameter>request</parameter></paramdef>
20 <paramdef>struct v4l2_selection *<parameter>argp</parameter></paramdef>
21 </funcprototype>
22 </funcsynopsis>
23 </refsynopsisdiv>
24
25 <refsect1>
26 <title>Arguments</title>
27
28 <variablelist>
29 <varlistentry>
30 <term><parameter>fd</parameter></term>
31 <listitem>
32 <para>&fd;</para>
33 </listitem>
34 </varlistentry>
35 <varlistentry>
36 <term><parameter>request</parameter></term>
37 <listitem>
38 <para>VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</para>
39 </listitem>
40 </varlistentry>
41 <varlistentry>
42 <term><parameter>argp</parameter></term>
43 <listitem>
44 <para></para>
45 </listitem>
46 </varlistentry>
47 </variablelist>
48 </refsect1>
49
50 <refsect1>
51 <title>Description</title>
52
53 <note>
54 <title>Experimental</title>
55 <para>This is an <link linkend="experimental"> experimental </link>
56 interface and may change in the future.</para>
57 </note>
58
59 <para>The ioctls are used to query and configure selection rectangles.</para>
60
61<para> To query the cropping (composing) rectangle set <structfield>
62&v4l2-selection;::type </structfield> to the respective buffer type. Do not
63use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE
64</constant> instead of <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
65</constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of
66<constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is
67setting <structfield> &v4l2-selection;::target </structfield> to value
68<constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant>
69V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref
70linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional
71targets. Fields <structfield> &v4l2-selection;::flags </structfield> and
72<structfield> &v4l2-selection;::reserved </structfield> are ignored and they
73must be filled with zeros. The driver fills the rest of the structure or
74returns &EINVAL; if incorrect buffer type or target was used. If cropping
75(composing) is not supported then the active rectangle is not mutable and it is
76always equal to the bounds rectangle. Finally, structure <structfield>
77&v4l2-selection;::r </structfield> is filled with the current cropping
78(composing) coordinates. The coordinates are expressed in driver-dependent
79units. The only exception are rectangles for images in raw formats, whose
80coordinates are always expressed in pixels. </para>
81
82<para> To change the cropping (composing) rectangle set <structfield>
83&v4l2-selection;::type </structfield> to the respective buffer type. Do not
84use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE
85</constant> instead of <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
86</constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of
87<constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is
88setting <structfield> &v4l2-selection;::target </structfield> to value
89<constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant>
90V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref
91linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional
92targets. Set desired active area into the field <structfield>
93&v4l2-selection;::r </structfield>. Field <structfield>
94&v4l2-selection;::reserved </structfield> is ignored and must be filled with
95zeros. The driver may adjust the rectangle coordinates. An application may
96introduce constraints to control rounding behaviour. Set the field
97<structfield> &v4l2-selection;::flags </structfield> to one of values:
98
99<itemizedlist>
100 <listitem>
101<para><constant>0</constant> - The driver can adjust the rectangle size freely
102and shall choose a crop/compose rectangle as close as possible to the requested
103one.</para>
104 </listitem>
105 <listitem>
106<para><constant>V4L2_SEL_FLAG_GE</constant> - The driver is not allowed to
107shrink the rectangle. The original rectangle must lay inside the adjusted
108one.</para>
109 </listitem>
110 <listitem>
111<para><constant>V4L2_SEL_FLAG_LE</constant> - The driver is not allowed to
112enlarge the rectangle. The adjusted rectangle must lay inside the original
113one.</para>
114 </listitem>
115 <listitem>
116<para><constant>V4L2_SEL_FLAG_GE | V4L2_SEL_FLAG_LE</constant> - The driver
117must choose the size exactly the same as in the requested rectangle.</para>
118 </listitem>
119</itemizedlist>
120
121Please refer to <xref linkend="sel-const-adjust" />.
122
123</para>
124
125<para> The driver may have to adjusts the requested dimensions against hardware
126limits and other parts as the pipeline, i.e. the bounds given by the
127capture/output window or TV display. The closest possible values of horizontal
128and vertical offset and sizes are chosen according to following priority:
129
130<orderedlist>
131 <listitem>
132 <para>Satisfy constraints from <structfield>&v4l2-selection;::flags</structfield>.</para>
133 </listitem>
134 <listitem>
135 <para>Adjust width, height, left, and top to hardware limits and alignments.</para>
136 </listitem>
137 <listitem>
138 <para>Keep center of adjusted rectangle as close as possible to the original one.</para>
139 </listitem>
140 <listitem>
141 <para>Keep width and height as close as possible to original ones.</para>
142 </listitem>
143 <listitem>
144 <para>Keep horizontal and vertical offset as close as possible to original ones.</para>
145 </listitem>
146</orderedlist>
147
148On success the field <structfield> &v4l2-selection;::r </structfield> contains
149the adjusted rectangle. When the parameters are unsuitable the application may
150modify the cropping (composing) or image parameters and repeat the cycle until
151satisfactory parameters have been negotiated. If constraints flags have to be
152violated at then ERANGE is returned. The error indicates that <emphasis> there
153exist no rectangle </emphasis> that satisfies the constraints.</para>
154
155 </refsect1>
156
157 <refsect1>
158 <table frame="none" pgwide="1" id="v4l2-sel-target">
159 <title>Selection targets.</title>
160 <tgroup cols="3">
161 &cs-def;
162 <tbody valign="top">
163 <row>
164 <entry><constant>V4L2_SEL_TGT_CROP_ACTIVE</constant></entry>
165 <entry>0</entry>
166 <entry>area that is currently cropped by hardware</entry>
167 </row>
168 <row>
169 <entry><constant>V4L2_SEL_TGT_CROP_DEFAULT</constant></entry>
170 <entry>1</entry>
171 <entry>suggested cropping rectangle that covers the "whole picture"</entry>
172 </row>
173 <row>
174 <entry><constant>V4L2_SEL_TGT_CROP_BOUNDS</constant></entry>
175 <entry>2</entry>
176 <entry>limits for the cropping rectangle</entry>
177 </row>
178 <row>
179 <entry><constant>V4L2_SEL_TGT_COMPOSE_ACTIVE</constant></entry>
180 <entry>256</entry>
181 <entry>area to which data are composed by hardware</entry>
182 </row>
183 <row>
184 <entry><constant>V4L2_SEL_TGT_COMPOSE_DEFAULT</constant></entry>
185 <entry>257</entry>
186 <entry>suggested composing rectangle that covers the "whole picture"</entry>
187 </row>
188 <row>
189 <entry><constant>V4L2_SEL_TGT_COMPOSE_BOUNDS</constant></entry>
190 <entry>258</entry>
191 <entry>limits for the composing rectangle</entry>
192 </row>
193 <row>
194 <entry><constant>V4L2_SEL_TGT_COMPOSE_PADDED</constant></entry>
195 <entry>259</entry>
196 <entry>the active area and all padding pixels that are inserted or modified by the hardware</entry>
197 </row>
198 </tbody>
199 </tgroup>
200 </table>
201 </refsect1>
202
203 <refsect1>
204 <table frame="none" pgwide="1" id="v4l2-sel-flags">
205 <title>Selection constraint flags</title>
206 <tgroup cols="3">
207 &cs-def;
208 <tbody valign="top">
209 <row>
210 <entry><constant>V4L2_SEL_FLAG_GE</constant></entry>
211 <entry>0x00000001</entry>
212 <entry>indicate that adjusted rectangle must contain a rectangle from <structfield>&v4l2-selection;::r</structfield></entry>
213 </row>
214 <row>
215 <entry><constant>V4L2_SEL_FLAG_LE</constant></entry>
216 <entry>0x00000002</entry>
217 <entry>indicate that adjusted rectangle must be inside a rectangle from <structfield>&v4l2-selection;::r</structfield></entry>
218 </row>
219 </tbody>
220 </tgroup>
221 </table>
222 </refsect1>
223
224 <section>
225 <figure id="sel-const-adjust">
226 <title>Size adjustments with constraint flags.</title>
227 <mediaobject>
228 <imageobject>
229 <imagedata fileref="constraints.png" format="PNG" />
230 </imageobject>
231 <textobject>
232 <phrase>Behaviour of rectangle adjustment for different constraint
233 flags.</phrase>
234 </textobject>
235 </mediaobject>
236 </figure>
237 </section>
238
239 <refsect1>
240 <table pgwide="1" frame="none" id="v4l2-selection">
241 <title>struct <structname>v4l2_selection</structname></title>
242 <tgroup cols="3">
243 &cs-str;
244 <tbody valign="top">
245 <row>
246 <entry>__u32</entry>
247 <entry><structfield>type</structfield></entry>
248 <entry>Type of the buffer (from &v4l2-buf-type;)</entry>
249 </row>
250 <row>
251 <entry>__u32</entry>
252 <entry><structfield>target</structfield></entry>
253 <entry>used to select between <link linkend="v4l2-sel-target"> cropping and composing rectangles </link></entry>
254 </row>
255 <row>
256 <entry>__u32</entry>
257 <entry><structfield>flags</structfield></entry>
258 <entry>control over coordinates adjustments, refer to <link linkend="v4l2-sel-flags">selection flags</link></entry>
259 </row>
260 <row>
261 <entry>&v4l2-rect;</entry>
262 <entry><structfield>r</structfield></entry>
263 <entry>selection rectangle</entry>
264 </row>
265 <row>
266 <entry>__u32</entry>
267 <entry><structfield>reserved[9]</structfield></entry>
268 <entry>Reserved fields for future use</entry>
269 </row>
270 </tbody>
271 </tgroup>
272 </table>
273 </refsect1>
274
275 <refsect1>
276 &return-value;
277 <variablelist>
278 <varlistentry>
279 <term><errorcode>EINVAL</errorcode></term>
280 <listitem>
281 <para>The buffer <structfield> &v4l2-selection;::type </structfield>
282or <structfield> &v4l2-selection;::target </structfield> is not supported, or
283the <structfield> &v4l2-selection;::flags </structfield> are invalid.</para>
284 </listitem>
285 </varlistentry>
286 <varlistentry>
287 <term><errorcode>ERANGE</errorcode></term>
288 <listitem>
289 <para>it is not possible to adjust a rectangle <structfield>
290&v4l2-selection;::r </structfield> that satisfies all contraints from
291<structfield> &v4l2-selection;::flags </structfield>.</para>
292 </listitem>
293 </varlistentry>
294 <varlistentry>
295 <term><errorcode>EBUSY</errorcode></term>
296 <listitem>
297 <para>it is not possible to apply change of selection rectangle at the moment.
298Usually because streaming is in progress.</para>
299 </listitem>
300 </varlistentry>
301 </variablelist>
302 </refsect1>
303
304</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-std.xml b/Documentation/DocBook/media/v4l/vidioc-g-std.xml
index 37996f25b5d..99ff1a01622 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-std.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-std.xml
@@ -88,11 +88,3 @@ standards.</para>
88 </variablelist> 88 </variablelist>
89 </refsect1> 89 </refsect1>
90</refentry> 90</refentry>
91
92<!--
93Local Variables:
94mode: sgml
95sgml-parent-document: "v4l2.sgml"
96indent-tabs-mode: nil
97End:
98-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
index bd98c734c06..91ec2fb658f 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
@@ -318,6 +318,16 @@ standard.</para><!-- FIXME what if PAL+NTSC and Bi but not SAP? --></entry>
318 <entry>RDS capture is supported. This capability is only valid for 318 <entry>RDS capture is supported. This capability is only valid for
319radio tuners.</entry> 319radio tuners.</entry>
320 </row> 320 </row>
321 <row>
322 <entry><constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant></entry>
323 <entry>0x0100</entry>
324 <entry>The RDS data is passed as unparsed RDS blocks.</entry>
325 </row>
326 <row>
327 <entry><constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant></entry>
328 <entry>0x0200</entry>
329 <entry>The RDS data is parsed by the hardware and set via controls.</entry>
330 </row>
321 </tbody> 331 </tbody>
322 </tgroup> 332 </tgroup>
323 </table> 333 </table>
@@ -525,11 +535,3 @@ out of bounds.</para>
525 </variablelist> 535 </variablelist>
526 </refsect1> 536 </refsect1>
527</refentry> 537</refentry>
528
529<!--
530Local Variables:
531mode: sgml
532sgml-parent-document: "v4l2.sgml"
533indent-tabs-mode: nil
534End:
535-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
index 5c104d42d31..6e414d7b6df 100644
--- a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
@@ -100,11 +100,3 @@ supported, or the <structfield>index</structfield> is out of bounds.</para>
100 </variablelist> 100 </variablelist>
101 </refsect1> 101 </refsect1>
102</refentry> 102</refentry>
103
104<!--
105Local Variables:
106mode: sgml
107sgml-parent-document: "v4l2.sgml"
108indent-tabs-mode: nil
109End:
110-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml
index 0ac0057a51c..36660d311b5 100644
--- a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml
@@ -443,11 +443,3 @@ or this particular menu item is not supported by the driver.</para>
443 </variablelist> 443 </variablelist>
444 </refsect1> 444 </refsect1>
445</refentry> 445</refentry>
446
447<!--
448Local Variables:
449mode: sgml
450sgml-parent-document: "v4l2.sgml"
451indent-tabs-mode: nil
452End:
453-->
diff --git a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
index c30dcc4232c..e013da845b1 100644
--- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
@@ -125,11 +125,3 @@ wrong.</para>
125 </variablelist> 125 </variablelist>
126 </refsect1> 126 </refsect1>
127</refentry> 127</refentry>
128
129<!--
130Local Variables:
131mode: sgml
132sgml-parent-document: "v4l2.sgml"
133indent-tabs-mode: nil
134End:
135-->
diff --git a/Documentation/coccinelle.txt b/Documentation/coccinelle.txt
index 96b690348ba..cf44eb6499b 100644
--- a/Documentation/coccinelle.txt
+++ b/Documentation/coccinelle.txt
@@ -102,9 +102,15 @@ or
102 make coccicheck COCCI=<my_SP.cocci> MODE=report 102 make coccicheck COCCI=<my_SP.cocci> MODE=report
103 103
104 104
105 Using Coccinelle on (modified) files 105 Controlling Which Files are Processed by Coccinelle
106~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 106~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
107By default the entire kernel source tree is checked.
108
109To apply Coccinelle to a specific directory, M= can be used.
110For example, to check drivers/net/wireless/ one may write:
107 111
112 make coccicheck M=drivers/net/wireless/
113
108To apply Coccinelle on a file basis, instead of a directory basis, the 114To apply Coccinelle on a file basis, instead of a directory basis, the
109following command may be used: 115following command may be used:
110 116
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware
index e67be7afc78..d1d4a179a38 100755
--- a/Documentation/dvb/get_dvb_firmware
+++ b/Documentation/dvb/get_dvb_firmware
@@ -27,8 +27,8 @@ use IO::Handle;
27 "or51211", "or51132_qam", "or51132_vsb", "bluebird", 27 "or51211", "or51132_qam", "or51132_vsb", "bluebird",
28 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", 28 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",
29 "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", 29 "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395",
30 "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "tda10071", 30 "lme2510c_s7395_old", "drxk", "drxk_terratec_h5",
31 "it9135" ); 31 "drxk_hauppauge_hvr930c", "tda10071", "it9135", "it9137");
32 32
33# Check args 33# Check args
34syntax() if (scalar(@ARGV) != 1); 34syntax() if (scalar(@ARGV) != 1);
@@ -644,6 +644,24 @@ sub drxk {
644 "$fwfile" 644 "$fwfile"
645} 645}
646 646
647sub drxk_hauppauge_hvr930c {
648 my $url = "http://www.wintvcd.co.uk/drivers/";
649 my $zipfile = "HVR-9x0_5_10_325_28153_SIGNED.zip";
650 my $hash = "83ab82e7e9480ec8bf1ae0155ca63c88";
651 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
652 my $drvfile = "HVR-900/emOEM.sys";
653 my $fwfile = "dvb-usb-hauppauge-hvr930c-drxk.fw";
654
655 checkstandard();
656
657 wgetfile($zipfile, $url . $zipfile);
658 verify($zipfile, $hash);
659 unzip($zipfile, $tmpdir);
660 extract("$tmpdir/$drvfile", 0x117b0, 42692, "$fwfile");
661
662 "$fwfile"
663}
664
647sub drxk_terratec_h5 { 665sub drxk_terratec_h5 {
648 my $url = "http://www.linuxtv.org/downloads/firmware/"; 666 my $url = "http://www.linuxtv.org/downloads/firmware/";
649 my $hash = "19000dada8e2741162ccc50cc91fa7f1"; 667 my $hash = "19000dada8e2741162ccc50cc91fa7f1";
@@ -658,6 +676,26 @@ sub drxk_terratec_h5 {
658} 676}
659 677
660sub it9135 { 678sub it9135 {
679 my $sourcefile = "dvb-usb-it9135.zip";
680 my $url = "http://www.ite.com.tw/uploads/firmware/v3.6.0.0/$sourcefile";
681 my $hash = "1e55f6c8833f1d0ae067c2bb2953e6a9";
682 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0);
683 my $outfile = "dvb-usb-it9135.fw";
684 my $fwfile1 = "dvb-usb-it9135-01.fw";
685 my $fwfile2 = "dvb-usb-it9135-02.fw";
686
687 checkstandard();
688
689 wgetfile($sourcefile, $url);
690 unzip($sourcefile, $tmpdir);
691 verify("$tmpdir/$outfile", $hash);
692 extract("$tmpdir/$outfile", 64, 8128, "$fwfile1");
693 extract("$tmpdir/$outfile", 12866, 5817, "$fwfile2");
694
695 "$fwfile1 $fwfile2"
696}
697
698sub it9137 {
661 my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/"; 699 my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/";
662 my $zipfile = "Driver_V10.323.1.0412.100412.zip"; 700 my $zipfile = "Driver_V10.323.1.0412.100412.zip";
663 my $hash = "79b597dc648698ed6820845c0c9d0d37"; 701 my $hash = "79b597dc648698ed6820845c0c9d0d37";
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index d49c2ec72d1..d725c0dfe03 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -439,41 +439,6 @@ Who: Jean Delvare <khali@linux-fr.org>
439 439
440---------------------------- 440----------------------------
441 441
442What: Support for driver specific ioctls in the pwc driver (everything
443 defined in media/pwc-ioctl.h)
444When: 3.3
445Why: This stems from the v4l1 era, with v4l2 everything can be done with
446 standardized v4l2 API calls
447Who: Hans de Goede <hdegoede@redhat.com>
448
449----------------------------
450
451What: Driver specific sysfs API in the pwc driver
452When: 3.3
453Why: Setting pan/tilt should be done with v4l2 controls, like with other
454 cams. The button is available as a standard input device
455Who: Hans de Goede <hdegoede@redhat.com>
456
457----------------------------
458
459What: Driver specific use of pixfmt.priv in the pwc driver
460When: 3.3
461Why: The .priv field never was intended for this, setting a framerate is
462 support using the standardized S_PARM ioctl
463Who: Hans de Goede <hdegoede@redhat.com>
464
465----------------------------
466
467What: Software emulation of arbritary resolutions in the pwc driver
468When: 3.3
469Why: The pwc driver claims to support any resolution between 160x120
470 and 640x480, but emulates this by simply drawing a black border
471 around the image. Userspace can draw its own black border if it
472 really wants one.
473Who: Hans de Goede <hdegoede@redhat.com>
474
475----------------------------
476
477What: For VIDIOC_S_FREQUENCY the type field must match the device node's type. 442What: For VIDIOC_S_FREQUENCY the type field must match the device node's type.
478 If not, return -EINVAL. 443 If not, return -EINVAL.
479When: 3.2 444When: 3.2
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87
index 6f496a58673..23b7def21ba 100644
--- a/Documentation/hwmon/it87
+++ b/Documentation/hwmon/it87
@@ -26,6 +26,10 @@ Supported chips:
26 Prefix: 'it8721' 26 Prefix: 'it8721'
27 Addresses scanned: from Super I/O config space (8 I/O ports) 27 Addresses scanned: from Super I/O config space (8 I/O ports)
28 Datasheet: Not publicly available 28 Datasheet: Not publicly available
29 * IT8728F
30 Prefix: 'it8728'
31 Addresses scanned: from Super I/O config space (8 I/O ports)
32 Datasheet: Not publicly available
29 * SiS950 [clone of IT8705F] 33 * SiS950 [clone of IT8705F]
30 Prefix: 'it87' 34 Prefix: 'it87'
31 Addresses scanned: from Super I/O config space (8 I/O ports) 35 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -71,7 +75,7 @@ Description
71----------- 75-----------
72 76
73This driver implements support for the IT8705F, IT8712F, IT8716F, 77This driver implements support for the IT8705F, IT8712F, IT8716F,
74IT8718F, IT8720F, IT8721F, IT8726F, IT8758E and SiS950 chips. 78IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E and SiS950 chips.
75 79
76These chips are 'Super I/O chips', supporting floppy disks, infrared ports, 80These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
77joysticks and other miscellaneous stuff. For hardware monitoring, they 81joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -105,6 +109,9 @@ The IT8726F is just bit enhanced IT8716F with additional hardware
105for AMD power sequencing. Therefore the chip will appear as IT8716F 109for AMD power sequencing. Therefore the chip will appear as IT8716F
106to userspace applications. 110to userspace applications.
107 111
112The IT8728F is considered compatible with the IT8721F, until a datasheet
113becomes available (hopefully.)
114
108Temperatures are measured in degrees Celsius. An alarm is triggered once 115Temperatures are measured in degrees Celsius. An alarm is triggered once
109when the Overtemperature Shutdown limit is crossed. 116when the Overtemperature Shutdown limit is crossed.
110 117
@@ -121,8 +128,8 @@ alarm is triggered if the voltage has crossed a programmable minimum or
121maximum limit. Note that minimum in this case always means 'closest to 128maximum limit. Note that minimum in this case always means 'closest to
122zero'; this is important for negative voltage measurements. All voltage 129zero'; this is important for negative voltage measurements. All voltage
123inputs can measure voltages between 0 and 4.08 volts, with a resolution of 130inputs can measure voltages between 0 and 4.08 volts, with a resolution of
1240.016 volt (except IT8721F/IT8758E: 0.012 volt.) The battery voltage in8 does 1310.016 volt (except IT8721F/IT8758E and IT8728F: 0.012 volt.) The battery
125not have limit registers. 132voltage in8 does not have limit registers.
126 133
127On the IT8721F/IT8758E, some voltage inputs are internal and scaled inside 134On the IT8721F/IT8758E, some voltage inputs are internal and scaled inside
128the chip (in7, in8 and optionally in3). The driver handles this transparently 135the chip (in7, in8 and optionally in3). The driver handles this transparently
diff --git a/Documentation/hwmon/lm63 b/Documentation/hwmon/lm63
index b9843eab1af..4d30d209881 100644
--- a/Documentation/hwmon/lm63
+++ b/Documentation/hwmon/lm63
@@ -12,6 +12,11 @@ Supported chips:
12 Addresses scanned: I2C 0x18 and 0x4e 12 Addresses scanned: I2C 0x18 and 0x4e
13 Datasheet: Publicly available at the National Semiconductor website 13 Datasheet: Publicly available at the National Semiconductor website
14 http://www.national.com/pf/LM/LM64.html 14 http://www.national.com/pf/LM/LM64.html
15 * National Semiconductor LM96163
16 Prefix: 'lm96163'
17 Addresses scanned: I2C 0x4c
18 Datasheet: Publicly available at the National Semiconductor website
19 http://www.national.com/pf/LM/LM96163.html
15 20
16Author: Jean Delvare <khali@linux-fr.org> 21Author: Jean Delvare <khali@linux-fr.org>
17 22
@@ -49,16 +54,24 @@ value for measuring the speed of the fan. It can measure fan speeds down to
49Note that the pin used for fan monitoring is shared with an alert out 54Note that the pin used for fan monitoring is shared with an alert out
50function. Depending on how the board designer wanted to use the chip, fan 55function. Depending on how the board designer wanted to use the chip, fan
51speed monitoring will or will not be possible. The proper chip configuration 56speed monitoring will or will not be possible. The proper chip configuration
52is left to the BIOS, and the driver will blindly trust it. 57is left to the BIOS, and the driver will blindly trust it. Only the original
58LM63 suffers from this limitation, the LM64 and LM96163 have separate pins
59for fan monitoring and alert out. On the LM64, monitoring is always enabled;
60on the LM96163 it can be disabled.
53 61
54A PWM output can be used to control the speed of the fan. The LM63 has two 62A PWM output can be used to control the speed of the fan. The LM63 has two
55PWM modes: manual and automatic. Automatic mode is not fully implemented yet 63PWM modes: manual and automatic. Automatic mode is not fully implemented yet
56(you cannot define your custom PWM/temperature curve), and mode change isn't 64(you cannot define your custom PWM/temperature curve), and mode change isn't
57supported either. 65supported either.
58 66
59The lm63 driver will not update its values more frequently than every 67The lm63 driver will not update its values more frequently than configured with
60second; reading them more often will do no harm, but will return 'old' 68the update_interval sysfs attribute; reading them more often will do no harm,
61values. 69but will return 'old' values. Values in the automatic fan control lookup table
70(attributes pwm1_auto_*) have their own independent lifetime of 5 seconds.
62 71
63The LM64 is effectively an LM63 with GPIO lines. The driver does not 72The LM64 is effectively an LM63 with GPIO lines. The driver does not
64support these GPIO lines at present. 73support these GPIO lines at present.
74
75The LM96163 is an enhanced version of LM63 with improved temperature accuracy
76and better PWM resolution. For LM96163, the external temperature sensor type is
77configurable as CPU embedded diode(1) or 3904 transistor(2).
diff --git a/Documentation/hwmon/sysfs-interface b/Documentation/hwmon/sysfs-interface
index a4aa8f600e0..1f4dd855a29 100644
--- a/Documentation/hwmon/sysfs-interface
+++ b/Documentation/hwmon/sysfs-interface
@@ -304,7 +304,7 @@ value (fastest fan speed) wins.
304temp[1-*]_type Sensor type selection. 304temp[1-*]_type Sensor type selection.
305 Integers 1 to 6 305 Integers 1 to 6
306 RW 306 RW
307 1: PII/Celeron Diode 307 1: CPU embedded diode
308 2: 3904 transistor 308 2: 3904 transistor
309 3: thermal diode 309 3: thermal diode
310 4: thermistor 310 4: thermistor
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index f47cdefb4d1..ab0a984530d 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -33,14 +33,15 @@ This document describes the Linux kernel Makefiles.
33 33
34 === 6 Architecture Makefiles 34 === 6 Architecture Makefiles
35 --- 6.1 Set variables to tweak the build to the architecture 35 --- 6.1 Set variables to tweak the build to the architecture
36 --- 6.2 Add prerequisites to archprepare: 36 --- 6.2 Add prerequisites to archheaders:
37 --- 6.3 List directories to visit when descending 37 --- 6.3 Add prerequisites to archprepare:
38 --- 6.4 Architecture-specific boot images 38 --- 6.4 List directories to visit when descending
39 --- 6.5 Building non-kbuild targets 39 --- 6.5 Architecture-specific boot images
40 --- 6.6 Commands useful for building a boot image 40 --- 6.6 Building non-kbuild targets
41 --- 6.7 Custom kbuild commands 41 --- 6.7 Commands useful for building a boot image
42 --- 6.8 Preprocessing linker scripts 42 --- 6.8 Custom kbuild commands
43 --- 6.9 Generic header files 43 --- 6.9 Preprocessing linker scripts
44 --- 6.10 Generic header files
44 45
45 === 7 Kbuild syntax for exported headers 46 === 7 Kbuild syntax for exported headers
46 --- 7.1 header-y 47 --- 7.1 header-y
@@ -252,7 +253,7 @@ more details, with real examples.
252 This will create a library lib.a based on delay.o. For kbuild to 253 This will create a library lib.a based on delay.o. For kbuild to
253 actually recognize that there is a lib.a being built, the directory 254 actually recognize that there is a lib.a being built, the directory
254 shall be listed in libs-y. 255 shall be listed in libs-y.
255 See also "6.3 List directories to visit when descending". 256 See also "6.4 List directories to visit when descending".
256 257
257 Use of lib-y is normally restricted to lib/ and arch/*/lib. 258 Use of lib-y is normally restricted to lib/ and arch/*/lib.
258 259
@@ -974,7 +975,20 @@ When kbuild executes, the following steps are followed (roughly):
974 $(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic 975 $(KBUILD_ARFLAGS) set by the top level Makefile to "D" (deterministic
975 mode) if this option is supported by $(AR). 976 mode) if this option is supported by $(AR).
976 977
977--- 6.2 Add prerequisites to archprepare: 978--- 6.2 Add prerequisites to archheaders:
979
980 The archheaders: rule is used to generate header files that
981 may be installed into user space by "make header_install" or
982 "make headers_install_all". In order to support
983 "make headers_install_all", this target has to be able to run
984 on an unconfigured tree, or a tree configured for another
985 architecture.
986
987 It is run before "make archprepare" when run on the
988 architecture itself.
989
990
991--- 6.3 Add prerequisites to archprepare:
978 992
979 The archprepare: rule is used to list prerequisites that need to be 993 The archprepare: rule is used to list prerequisites that need to be
980 built before starting to descend down in the subdirectories. 994 built before starting to descend down in the subdirectories.
@@ -990,7 +1004,7 @@ When kbuild executes, the following steps are followed (roughly):
990 generating offset header files. 1004 generating offset header files.
991 1005
992 1006
993--- 6.3 List directories to visit when descending 1007--- 6.4 List directories to visit when descending
994 1008
995 An arch Makefile cooperates with the top Makefile to define variables 1009 An arch Makefile cooperates with the top Makefile to define variables
996 which specify how to build the vmlinux file. Note that there is no 1010 which specify how to build the vmlinux file. Note that there is no
@@ -1019,7 +1033,7 @@ When kbuild executes, the following steps are followed (roughly):
1019 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ 1033 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/
1020 1034
1021 1035
1022--- 6.4 Architecture-specific boot images 1036--- 6.5 Architecture-specific boot images
1023 1037
1024 An arch Makefile specifies goals that take the vmlinux file, compress 1038 An arch Makefile specifies goals that take the vmlinux file, compress
1025 it, wrap it in bootstrapping code, and copy the resulting files 1039 it, wrap it in bootstrapping code, and copy the resulting files
@@ -1070,7 +1084,7 @@ When kbuild executes, the following steps are followed (roughly):
1070 1084
1071 When "make" is executed without arguments, bzImage will be built. 1085 When "make" is executed without arguments, bzImage will be built.
1072 1086
1073--- 6.5 Building non-kbuild targets 1087--- 6.6 Building non-kbuild targets
1074 1088
1075 extra-y 1089 extra-y
1076 1090
@@ -1090,7 +1104,7 @@ When kbuild executes, the following steps are followed (roughly):
1090 shall be built, but shall not be linked as part of built-in.o. 1104 shall be built, but shall not be linked as part of built-in.o.
1091 1105
1092 1106
1093--- 6.6 Commands useful for building a boot image 1107--- 6.7 Commands useful for building a boot image
1094 1108
1095 Kbuild provides a few macros that are useful when building a 1109 Kbuild provides a few macros that are useful when building a
1096 boot image. 1110 boot image.
@@ -1112,7 +1126,7 @@ When kbuild executes, the following steps are followed (roughly):
1112 always be built. 1126 always be built.
1113 Assignments to $(targets) are without $(obj)/ prefix. 1127 Assignments to $(targets) are without $(obj)/ prefix.
1114 if_changed may be used in conjunction with custom commands as 1128 if_changed may be used in conjunction with custom commands as
1115 defined in 6.7 "Custom kbuild commands". 1129 defined in 6.8 "Custom kbuild commands".
1116 1130
1117 Note: It is a typical mistake to forget the FORCE prerequisite. 1131 Note: It is a typical mistake to forget the FORCE prerequisite.
1118 Another common pitfall is that whitespace is sometimes 1132 Another common pitfall is that whitespace is sometimes
@@ -1171,7 +1185,7 @@ When kbuild executes, the following steps are followed (roughly):
1171 $(obj)/%.dtb: $(src)/%.dts 1185 $(obj)/%.dtb: $(src)/%.dts
1172 $(call cmd,dtc) 1186 $(call cmd,dtc)
1173 1187
1174--- 6.7 Custom kbuild commands 1188--- 6.8 Custom kbuild commands
1175 1189
1176 When kbuild is executing with KBUILD_VERBOSE=0, then only a shorthand 1190 When kbuild is executing with KBUILD_VERBOSE=0, then only a shorthand
1177 of a command is normally displayed. 1191 of a command is normally displayed.
@@ -1198,7 +1212,7 @@ When kbuild executes, the following steps are followed (roughly):
1198 will be displayed with "make KBUILD_VERBOSE=0". 1212 will be displayed with "make KBUILD_VERBOSE=0".
1199 1213
1200 1214
1201--- 6.8 Preprocessing linker scripts 1215--- 6.9 Preprocessing linker scripts
1202 1216
1203 When the vmlinux image is built, the linker script 1217 When the vmlinux image is built, the linker script
1204 arch/$(ARCH)/kernel/vmlinux.lds is used. 1218 arch/$(ARCH)/kernel/vmlinux.lds is used.
@@ -1228,7 +1242,7 @@ When kbuild executes, the following steps are followed (roughly):
1228 The kbuild infrastructure for *lds file are used in several 1242 The kbuild infrastructure for *lds file are used in several
1229 architecture-specific files. 1243 architecture-specific files.
1230 1244
1231--- 6.9 Generic header files 1245--- 6.10 Generic header files
1232 1246
1233 The directory include/asm-generic contains the header files 1247 The directory include/asm-generic contains the header files
1234 that may be shared between individual architectures. 1248 that may be shared between individual architectures.
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index eb93fd0ec73..b29f3c41629 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2475,6 +2475,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
2475 stacktrace [FTRACE] 2475 stacktrace [FTRACE]
2476 Enabled the stack tracer on boot up. 2476 Enabled the stack tracer on boot up.
2477 2477
2478 stacktrace_filter=[function-list]
2479 [FTRACE] Limit the functions that the stack tracer
2480 will trace at boot up. function-list is a comma separated
2481 list of functions. This list can be changed at run
2482 time by the stack_trace_filter file in the debugfs
2483 tracing directory. Note, this enables stack tracing
2484 and the stacktrace above is not needed.
2485
2478 sti= [PARISC,HW] 2486 sti= [PARISC,HW]
2479 Format: <num> 2487 Format: <num>
2480 Set the STI (builtin display/keyboard on the HP-PARISC 2488 Set the STI (builtin display/keyboard on the HP-PARISC
diff --git a/Documentation/kmemleak.txt b/Documentation/kmemleak.txt
index 51063e681ca..b6e39739a36 100644
--- a/Documentation/kmemleak.txt
+++ b/Documentation/kmemleak.txt
@@ -127,7 +127,10 @@ See the include/linux/kmemleak.h header for the functions prototype.
127 127
128kmemleak_init - initialize kmemleak 128kmemleak_init - initialize kmemleak
129kmemleak_alloc - notify of a memory block allocation 129kmemleak_alloc - notify of a memory block allocation
130kmemleak_alloc_percpu - notify of a percpu memory block allocation
130kmemleak_free - notify of a memory block freeing 131kmemleak_free - notify of a memory block freeing
132kmemleak_free_part - notify of a partial memory block freeing
133kmemleak_free_percpu - notify of a percpu memory block freeing
131kmemleak_not_leak - mark an object as not a leak 134kmemleak_not_leak - mark an object as not a leak
132kmemleak_ignore - do not scan or report an object as leak 135kmemleak_ignore - do not scan or report an object as leak
133kmemleak_scan_area - add scan areas inside a memory block 136kmemleak_scan_area - add scan areas inside a memory block
diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828
index d5cb4ea287b..7b59e953c4b 100644
--- a/Documentation/video4linux/CARDLIST.au0828
+++ b/Documentation/video4linux/CARDLIST.au0828
@@ -1,5 +1,5 @@
1 0 -> Unknown board (au0828) 1 0 -> Unknown board (au0828)
2 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008] 2 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008,2040:7260,2040:7213]
3 2 -> Hauppauge HVR850 (au0828) [2040:7240] 3 2 -> Hauppauge HVR850 (au0828) [2040:7240]
4 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] 4 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620]
5 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] 5 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281]
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv
index 4739d568430..b753906c718 100644
--- a/Documentation/video4linux/CARDLIST.bttv
+++ b/Documentation/video4linux/CARDLIST.bttv
@@ -71,7 +71,7 @@
71 70 -> Prolink Pixelview PV-BT878P+ (Rev.4C,8E) 71 70 -> Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
72 71 -> Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851] 72 71 -> Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851]
73 72 -> Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011] 73 72 -> Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011]
74 73 -> Sensoray 311 [6000:0311] 74 73 -> Sensoray 311/611 [6000:0311,6000:0611]
75 74 -> RemoteVision MX (RV605) 75 74 -> RemoteVision MX (RV605)
76 75 -> Powercolor MTV878/ MTV878R/ MTV878F 76 75 -> Powercolor MTV878/ MTV878R/ MTV878F
77 76 -> Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079] 77 76 -> Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079]
@@ -158,3 +158,4 @@
158157 -> Geovision GV-800(S) (master) [800a:763d] 158157 -> Geovision GV-800(S) (master) [800a:763d]
159158 -> Geovision GV-800(S) (slave) [800b:763d,800c:763d,800d:763d] 159158 -> Geovision GV-800(S) (slave) [800b:763d,800c:763d,800d:763d]
160159 -> ProVideo PV183 [1830:1540,1831:1540,1832:1540,1833:1540,1834:1540,1835:1540,1836:1540,1837:1540] 160159 -> ProVideo PV183 [1830:1540,1831:1540,1832:1540,1833:1540,1834:1540,1835:1540,1836:1540,1837:1540]
161160 -> Tongwei Video Technology TD-3116 [f200:3116]
diff --git a/Documentation/video4linux/CARDLIST.cx23885 b/Documentation/video4linux/CARDLIST.cx23885
index 8910449d23a..23584d0c6a7 100644
--- a/Documentation/video4linux/CARDLIST.cx23885
+++ b/Documentation/video4linux/CARDLIST.cx23885
@@ -29,3 +29,6 @@
29 28 -> LEADTEK WinFast PxTV1200 [107d:6f22] 29 28 -> LEADTEK WinFast PxTV1200 [107d:6f22]
30 29 -> GoTView X5 3D Hybrid [5654:2390] 30 29 -> GoTView X5 3D Hybrid [5654:2390]
31 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4] 31 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4]
32 31 -> Leadtek Winfast PxDVR3200 H XC4000 [107d:6f39]
33 32 -> MPX-885
34 33 -> Mygica X8507 [14f1:8502]
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88
index d9c0f119196..eee18e6962b 100644
--- a/Documentation/video4linux/CARDLIST.cx88
+++ b/Documentation/video4linux/CARDLIST.cx88
@@ -85,3 +85,5 @@
85 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd] 85 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd]
86 85 -> Twinhan VP-1027 DVB-S [1822:0023] 86 85 -> Twinhan VP-1027 DVB-S [1822:0023]
87 86 -> TeVii S464 DVB-S/S2 [d464:9022] 87 86 -> TeVii S464 DVB-S/S2 [d464:9022]
88 87 -> Leadtek WinFast DTV2000 H PLUS [107d:6f42]
89 88 -> Leadtek WinFast DTV1800 H (XC4000) [107d:6f38]
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx
index 4a7b3df6d8b..e7be3ac49ea 100644
--- a/Documentation/video4linux/CARDLIST.em28xx
+++ b/Documentation/video4linux/CARDLIST.em28xx
@@ -11,7 +11,7 @@
11 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] 11 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500]
12 11 -> Terratec Hybrid XS (em2880) 12 11 -> Terratec Hybrid XS (em2880)
13 12 -> Kworld PVR TV 2800 RF (em2820/em2840) 13 12 -> Kworld PVR TV 2800 RF (em2820/em2840)
14 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] 14 13 -> Terratec Prodigy XS (em2880)
15 14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) 15 14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 (em2820/em2840)
16 15 -> V-Gear PocketTV (em2800) 16 15 -> V-Gear PocketTV (em2800)
17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b] 17 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b]
@@ -40,7 +40,7 @@
40 39 -> KWorld PVRTV 300U (em2861) [eb1a:e300] 40 39 -> KWorld PVRTV 300U (em2861) [eb1a:e300]
41 40 -> Plextor ConvertX PX-TV100U (em2861) [093b:a005] 41 40 -> Plextor ConvertX PX-TV100U (em2861) [093b:a005]
42 41 -> Kworld 350 U DVB-T (em2870) [eb1a:e350] 42 41 -> Kworld 350 U DVB-T (em2870) [eb1a:e350]
43 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357] 43 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357,eb1a:e359]
44 43 -> Terratec Cinergy T XS (em2870) [0ccd:0043] 44 43 -> Terratec Cinergy T XS (em2870) [0ccd:0043]
45 44 -> Terratec Cinergy T XS (MT2060) (em2870) 45 44 -> Terratec Cinergy T XS (MT2060) (em2870)
46 45 -> Pinnacle PCTV DVB-T (em2870) 46 45 -> Pinnacle PCTV DVB-T (em2870)
@@ -64,7 +64,7 @@
64 64 -> Easy Cap Capture DC-60 (em2860) 64 64 -> Easy Cap Capture DC-60 (em2860)
65 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] 65 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515]
66 66 -> Empire dual TV (em2880) 66 66 -> Empire dual TV (em2880)
67 67 -> Terratec Grabby (em2860) [0ccd:0096] 67 67 -> Terratec Grabby (em2860) [0ccd:0096,0ccd:10AF]
68 68 -> Terratec AV350 (em2860) [0ccd:0084] 68 68 -> Terratec AV350 (em2860) [0ccd:0084]
69 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313] 69 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313]
70 70 -> Evga inDtube (em2882) 70 70 -> Evga inDtube (em2882)
@@ -76,3 +76,7 @@
76 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] 76 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340]
77 77 -> EM2874 Leadership ISDBT (em2874) 77 77 -> EM2874 Leadership ISDBT (em2874)
78 78 -> PCTV nanoStick T2 290e (em28174) 78 78 -> PCTV nanoStick T2 290e (em28174)
79 79 -> Terratec Cinergy H5 (em2884) [0ccd:10a2,0ccd:10ad]
80 80 -> PCTV DVB-S2 Stick (460e) (em28174)
81 81 -> Hauppauge WinTV HVR 930C (em2884) [2040:1605]
82 82 -> Terratec Cinergy HTC Stick (em2884) [0ccd:00b2]
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 7efae9bd73e..e7ef38a1985 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -186,3 +186,4 @@
186185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136] 186185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136]
187186 -> Beholder BeholdTV 501 [5ace:5010] 187186 -> Beholder BeholdTV 501 [5ace:5010]
188187 -> Beholder BeholdTV 503 FM [5ace:5030] 188187 -> Beholder BeholdTV 503 FM [5ace:5030]
189188 -> Sensoray 811/911 [6000:0811,6000:0911]
diff --git a/Documentation/video4linux/CARDLIST.saa7164 b/Documentation/video4linux/CARDLIST.saa7164
index 152bd7b781c..2205e8d5553 100644
--- a/Documentation/video4linux/CARDLIST.saa7164
+++ b/Documentation/video4linux/CARDLIST.saa7164
@@ -7,3 +7,5 @@
7 6 -> Hauppauge WinTV-HVR2200 [0070:8901] 7 6 -> Hauppauge WinTV-HVR2200 [0070:8901]
8 7 -> Hauppauge WinTV-HVR2250 [0070:8891,0070:8851] 8 7 -> Hauppauge WinTV-HVR2250 [0070:8891,0070:8851]
9 8 -> Hauppauge WinTV-HVR2250 [0070:88A1] 9 8 -> Hauppauge WinTV-HVR2250 [0070:88A1]
10 9 -> Hauppauge WinTV-HVR2200 [0070:8940]
11 10 -> Hauppauge WinTV-HVR2200 [0070:8953]
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt
index b15e29f3112..f2060f0dc02 100644
--- a/Documentation/video4linux/gspca.txt
+++ b/Documentation/video4linux/gspca.txt
@@ -189,6 +189,7 @@ ov519 05a9:0511 Video Blaster WebCam 3/WebCam Plus, D-Link USB Digital Video Ca
189ov519 05a9:0518 Creative WebCam 189ov519 05a9:0518 Creative WebCam
190ov519 05a9:0519 OV519 Microphone 190ov519 05a9:0519 OV519 Microphone
191ov519 05a9:0530 OmniVision 191ov519 05a9:0530 OmniVision
192ov534_9 05a9:1550 OmniVision VEHO Filmscanner
192ov519 05a9:2800 OmniVision SuperCAM 193ov519 05a9:2800 OmniVision SuperCAM
193ov519 05a9:4519 Webcam Classic 194ov519 05a9:4519 Webcam Classic
194ov534_9 05a9:8065 OmniVision test kit ov538+ov9712 195ov534_9 05a9:8065 OmniVision test kit ov538+ov9712
@@ -278,6 +279,7 @@ pac7302 093a:2628 Genius iLook 300
278pac7302 093a:2629 Genious iSlim 300 279pac7302 093a:2629 Genious iSlim 300
279pac7302 093a:262a Webcam 300k 280pac7302 093a:262a Webcam 300k
280pac7302 093a:262c Philips SPC 230 NC 281pac7302 093a:262c Philips SPC 230 NC
282jl2005bcd 0979:0227 Various brands, 19 known cameras supported
281jeilinj 0979:0280 Sakar 57379 283jeilinj 0979:0280 Sakar 57379
282jeilinj 0979:0280 Sportscam DV15 284jeilinj 0979:0280 Sportscam DV15
283zc3xx 0ac8:0302 Z-star Vimicro zc0302 285zc3xx 0ac8:0302 Z-star Vimicro zc0302
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt
index f8dcabf7852..659b2ba12a4 100644
--- a/Documentation/video4linux/v4l2-framework.txt
+++ b/Documentation/video4linux/v4l2-framework.txt
@@ -612,6 +612,12 @@ You can set a pointer to a mutex_lock in struct video_device. Usually this
612will be either a top-level mutex or a mutex per device node. If you want 612will be either a top-level mutex or a mutex per device node. If you want
613finer-grained locking then you have to set it to NULL and do you own locking. 613finer-grained locking then you have to set it to NULL and do you own locking.
614 614
615It is up to the driver developer to decide which method to use. However, if
616your driver has high-latency operations (for example, changing the exposure
617of a USB webcam might take a long time), then you might be better off with
618doing your own locking if you want to allow the user to do other things with
619the device while waiting for the high-latency command to finish.
620
615If a lock is specified then all file operations will be serialized on that 621If a lock is specified then all file operations will be serialized on that
616lock. If you use videobuf then you must pass the same lock to the videobuf 622lock. If you use videobuf then you must pass the same lock to the videobuf
617queue initialize function: if videobuf has to wait for a frame to arrive, then 623queue initialize function: if videobuf has to wait for a frame to arrive, then
@@ -619,6 +625,11 @@ it will temporarily unlock the lock and relock it afterwards. If your driver
619also waits in the code, then you should do the same to allow other processes 625also waits in the code, then you should do the same to allow other processes
620to access the device node while the first process is waiting for something. 626to access the device node while the first process is waiting for something.
621 627
628In the case of videobuf2 you will need to implement the wait_prepare and
629wait_finish callbacks to unlock/lock if applicable. In particular, if you use
630the lock in struct video_device then you must unlock/lock this mutex in
631wait_prepare and wait_finish.
632
622The implementation of a hotplug disconnect should also take the lock before 633The implementation of a hotplug disconnect should also take the lock before
623calling v4l2_device_disconnect. 634calling v4l2_device_disconnect.
624 635