aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-07-31 21:47:44 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-07-31 21:47:44 -0400
commit8762541f067d371320731510669e27f5cc40af38 (patch)
treefa2890094858614a947ba70612854acde9888940 /Documentation
parent6dbb35b0a74b44b2a48a5373d48074c5aa69fdf5 (diff)
parentadfe1560de1c696324554fba70c92f2d7c947ff7 (diff)
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull second set of media updates from Mauro Carvalho Chehab: - radio API: add support to work with radio frequency bands - new AM/FM radio drivers: radio-shark, radio-shark2 - new Remote Controller USB driver: iguanair - conversion of several drivers to the v4l2 core control framework - new board additions at existing drivers - the remaining (and vast majority of the patches) are due to drivers/DocBook fixes/cleanups. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (154 commits) [media] radio-tea5777: use library for 64bits div [media] tlg2300: Declare MODULE_FIRMWARE usage [media] lgs8gxx: Declare MODULE_FIRMWARE usage [media] xc5000: Add MODULE_FIRMWARE statements [media] s2255drv: Add MODULE_FIRMWARE statement [media] dib8000: move dereference after check for NULL [media] Documentation: Update cardlists [media] bttv: add support for Aposonic W-DVR [media] cx25821: Remove bad strcpy to read-only char* [media] pms.c: remove duplicated include [media] smiapp-core.c: remove duplicated include [media] via-camera: pass correct format settings to sensor [media] rtl2832.c: minor cleanup [media] Add support for the IguanaWorks USB IR Transceiver [media] Minor cleanups for MCE USB [media] drivers/media/dvb/siano/smscoreapi.c: use list_for_each_entry [media] Use a named union in struct v4l2_ioctl_info [media] mceusb: Add Twisted Melon USB IDs [media] staging/media/solo6x10: use module_pci_driver macro [media] staging/media/dt3155v4l: use module_pci_driver macro ... Conflicts: Documentation/feature-removal-schedule.txt
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml23
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml5
-rw-r--r--Documentation/DocBook/media/v4l/v4l2.xml6
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-create-bufs.xml4
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml14
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml179
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-frequency.xml7
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-tuner.xml26
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-querycap.xml13
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml50
-rw-r--r--Documentation/feature-removal-schedule.txt14
-rw-r--r--Documentation/video4linux/CARDLIST.au08282
-rw-r--r--Documentation/video4linux/CARDLIST.bttv1
-rw-r--r--Documentation/video4linux/CARDLIST.cx238854
-rw-r--r--Documentation/video4linux/CARDLIST.saa71341
15 files changed, 317 insertions, 32 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index 97b895151bb..faa0fd14666 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2460,7 +2460,7 @@ that used it. It was originally scheduled for removal in 2.6.35.
2460 </section> 2460 </section>
2461 2461
2462 <section> 2462 <section>
2463 <title>V4L2 in Linux 3.5</title> 2463 <title>V4L2 in Linux 3.6</title>
2464 <orderedlist> 2464 <orderedlist>
2465 <listitem> 2465 <listitem>
2466 <para>Replaced <structfield>input</structfield> in 2466 <para>Replaced <structfield>input</structfield> in
@@ -2471,6 +2471,24 @@ that used it. It was originally scheduled for removal in 2.6.35.
2471 </orderedlist> 2471 </orderedlist>
2472 </section> 2472 </section>
2473 2473
2474 <section>
2475 <title>V4L2 in Linux 3.6</title>
2476 <orderedlist>
2477 <listitem>
2478 <para>Added V4L2_CAP_VIDEO_M2M and V4L2_CAP_VIDEO_M2M_MPLANE capabilities.</para>
2479 </listitem>
2480 </orderedlist>
2481 </section>
2482
2483 <section>
2484 <title>V4L2 in Linux 3.6</title>
2485 <orderedlist>
2486 <listitem>
2487 <para>Added support for frequency band enumerations: &VIDIOC-ENUM-FREQ-BANDS;.</para>
2488 </listitem>
2489 </orderedlist>
2490 </section>
2491
2474 <section id="other"> 2492 <section id="other">
2475 <title>Relation of V4L2 to other Linux multimedia APIs</title> 2493 <title>Relation of V4L2 to other Linux multimedia APIs</title>
2476 2494
@@ -2600,6 +2618,9 @@ ioctls.</para>
2600 <para><link linkend="v4l2-auto-focus-area"><constant> 2618 <para><link linkend="v4l2-auto-focus-area"><constant>
2601 V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para> 2619 V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para>
2602 </listitem> 2620 </listitem>
2621 <listitem>
2622 <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
2623 </listitem>
2603 </itemizedlist> 2624 </itemizedlist>
2604 </section> 2625 </section>
2605 2626
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index cda0dfb6769..b0964fb4e83 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -373,6 +373,11 @@ minimum value disables backlight compensation.</entry>
373 </entry> 373 </entry>
374 </row> 374 </row>
375 <row> 375 <row>
376 <entry><constant>V4L2_CID_AUTOBRIGHTNESS</constant></entry>
377 <entry>boolean</entry>
378 <entry>Enable Automatic Brightness.</entry>
379 </row>
380 <row>
376 <entry><constant>V4L2_CID_ROTATE</constant></entry> 381 <entry><constant>V4L2_CID_ROTATE</constant></entry>
377 <entry>integer</entry> 382 <entry>integer</entry>
378 <entry>Rotates the image by specified angle. Common angles are 90, 383 <entry>Rotates the image by specified angle. Common angles are 90,
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index 36bafc48e03..eee6908c749 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -140,6 +140,11 @@ structs, ioctls) must be noted in more detail in the history chapter
140applications. --> 140applications. -->
141 141
142 <revision> 142 <revision>
143 <revnumber>3.6</revnumber>
144 <date>2012-07-02</date>
145 <authorinitials>hv</authorinitials>
146 <revremark>Added VIDIOC_ENUM_FREQ_BANDS.
147 </revremark>
143 <revnumber>3.5</revnumber> 148 <revnumber>3.5</revnumber>
144 <date>2012-05-07</date> 149 <date>2012-05-07</date>
145 <authorinitials>sa, sn</authorinitials> 150 <authorinitials>sa, sn</authorinitials>
@@ -534,6 +539,7 @@ and discussions on the V4L mailing list.</revremark>
534 &sub-enum-fmt; 539 &sub-enum-fmt;
535 &sub-enum-framesizes; 540 &sub-enum-framesizes;
536 &sub-enum-frameintervals; 541 &sub-enum-frameintervals;
542 &sub-enum-freq-bands;
537 &sub-enuminput; 543 &sub-enuminput;
538 &sub-enumoutput; 544 &sub-enumoutput;
539 &sub-enumstd; 545 &sub-enumstd;
diff --git a/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml b/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml
index 5e73b1c8d09..a8cda1acacd 100644
--- a/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml
@@ -64,7 +64,7 @@ different sizes.</para>
64 <para>To allocate device buffers applications initialize relevant fields of 64 <para>To allocate device buffers applications initialize relevant fields of
65the <structname>v4l2_create_buffers</structname> structure. They set the 65the <structname>v4l2_create_buffers</structname> structure. They set the
66<structfield>type</structfield> field in the 66<structfield>type</structfield> field in the
67<structname>v4l2_format</structname> structure, embedded in this 67&v4l2-format; structure, embedded in this
68structure, to the respective stream or buffer type. 68structure, to the respective stream or buffer type.
69<structfield>count</structfield> must be set to the number of required buffers. 69<structfield>count</structfield> must be set to the number of required buffers.
70<structfield>memory</structfield> specifies the required I/O method. The 70<structfield>memory</structfield> specifies the required I/O method. The
@@ -114,7 +114,7 @@ information.</para>
114/></entry> 114/></entry>
115 </row> 115 </row>
116 <row> 116 <row>
117 <entry>struct&nbsp;v4l2_format</entry> 117 <entry>&v4l2-format;</entry>
118 <entry><structfield>format</structfield></entry> 118 <entry><structfield>format</structfield></entry>
119 <entry>Filled in by the application, preserved by the driver.</entry> 119 <entry>Filled in by the application, preserved by the driver.</entry>
120 </row> 120 </row>
diff --git a/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml b/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
index 6673ce58205..cd7720d404e 100644
--- a/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml
@@ -54,15 +54,9 @@
54 interface and may change in the future.</para> 54 interface and may change in the future.</para>
55 </note> 55 </note>
56 56
57 <para>To query the available timings, applications initialize the 57 <para>To query the capabilities of the DV receiver/transmitter applications can call
58<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-timings-cap; 58this ioctl and the driver will fill in the structure. Note that drivers may return
59and call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl with a pointer to this 59different values after switching the video input or output.</para>
60structure. Drivers fill the rest of the structure or return an
61&EINVAL; when the index is out of bounds. To enumerate all supported DV timings,
62applications shall begin at index zero, incrementing by one until the
63driver returns <errorcode>EINVAL</errorcode>. Note that drivers may enumerate a
64different set of DV timings after switching the video input or
65output.</para>
66 60
67 <table pgwide="1" frame="none" id="v4l2-bt-timings-cap"> 61 <table pgwide="1" frame="none" id="v4l2-bt-timings-cap">
68 <title>struct <structname>v4l2_bt_timings_cap</structname></title> 62 <title>struct <structname>v4l2_bt_timings_cap</structname></title>
@@ -115,7 +109,7 @@ output.</para>
115 <row> 109 <row>
116 <entry>__u32</entry> 110 <entry>__u32</entry>
117 <entry><structfield>reserved</structfield>[16]</entry> 111 <entry><structfield>reserved</structfield>[16]</entry>
118 <entry></entry> 112 <entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
119 </row> 113 </row>
120 </tbody> 114 </tbody>
121 </tgroup> 115 </tgroup>
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml
new file mode 100644
index 00000000000..6541ba0175e
--- /dev/null
+++ b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml
@@ -0,0 +1,179 @@
1<refentry id="vidioc-enum-freq-bands">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_ENUM_FREQ_BANDS</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_ENUM_FREQ_BANDS</refname>
9 <refpurpose>Enumerate supported frequency bands</refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv>
13 <funcsynopsis>
14 <funcprototype>
15 <funcdef>int <function>ioctl</function></funcdef>
16 <paramdef>int <parameter>fd</parameter></paramdef>
17 <paramdef>int <parameter>request</parameter></paramdef>
18 <paramdef>struct v4l2_frequency_band
19*<parameter>argp</parameter></paramdef>
20 </funcprototype>
21 </funcsynopsis>
22 </refsynopsisdiv>
23
24 <refsect1>
25 <title>Arguments</title>
26
27 <variablelist>
28 <varlistentry>
29 <term><parameter>fd</parameter></term>
30 <listitem>
31 <para>&fd;</para>
32 </listitem>
33 </varlistentry>
34 <varlistentry>
35 <term><parameter>request</parameter></term>
36 <listitem>
37 <para>VIDIOC_ENUM_FREQ_BANDS</para>
38 </listitem>
39 </varlistentry>
40 <varlistentry>
41 <term><parameter>argp</parameter></term>
42 <listitem>
43 <para></para>
44 </listitem>
45 </varlistentry>
46 </variablelist>
47 </refsect1>
48
49 <refsect1>
50 <title>Description</title>
51
52 <note>
53 <title>Experimental</title>
54 <para>This is an <link linkend="experimental"> experimental </link>
55 interface and may change in the future.</para>
56 </note>
57
58 <para>Enumerates the frequency bands that a tuner or modulator supports.
59To do this applications initialize the <structfield>tuner</structfield>,
60<structfield>type</structfield> and <structfield>index</structfield> fields,
61and zero out the <structfield>reserved</structfield> array of a &v4l2-frequency-band; and
62call the <constant>VIDIOC_ENUM_FREQ_BANDS</constant> ioctl with a pointer
63to this structure.</para>
64
65 <para>This ioctl is supported if the <constant>V4L2_TUNER_CAP_FREQ_BANDS</constant> capability
66 of the corresponding tuner/modulator is set.</para>
67
68 <table pgwide="1" frame="none" id="v4l2-frequency-band">
69 <title>struct <structname>v4l2_frequency_band</structname></title>
70 <tgroup cols="3">
71 &cs-str;
72 <tbody valign="top">
73 <row>
74 <entry>__u32</entry>
75 <entry><structfield>tuner</structfield></entry>
76 <entry>The tuner or modulator index number. This is the
77same value as in the &v4l2-input; <structfield>tuner</structfield>
78field and the &v4l2-tuner; <structfield>index</structfield> field, or
79the &v4l2-output; <structfield>modulator</structfield> field and the
80&v4l2-modulator; <structfield>index</structfield> field.</entry>
81 </row>
82 <row>
83 <entry>__u32</entry>
84 <entry><structfield>type</structfield></entry>
85 <entry>The tuner type. This is the same value as in the
86&v4l2-tuner; <structfield>type</structfield> field. The type must be set
87to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename>
88device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant>
89for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for
90modulators (currently only radio modulators are supported).
91See <xref linkend="v4l2-tuner-type" /></entry>
92 </row>
93 <row>
94 <entry>__u32</entry>
95 <entry><structfield>index</structfield></entry>
96 <entry>Identifies the frequency band, set by the application.</entry>
97 </row>
98 <row>
99 <entry>__u32</entry>
100 <entry><structfield>capability</structfield></entry>
101 <entry spanname="hspan">The tuner/modulator capability flags for
102this frequency band, see <xref linkend="tuner-capability" />. The <constant>V4L2_TUNER_CAP_LOW</constant>
103capability must be the same for all frequency bands of the selected tuner/modulator.
104So either all bands have that capability set, or none of them have that capability.</entry>
105 </row>
106 <row>
107 <entry>__u32</entry>
108 <entry><structfield>rangelow</structfield></entry>
109 <entry spanname="hspan">The lowest tunable frequency in
110units of 62.5 kHz, or if the <structfield>capability</structfield>
111flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
112Hz, for this frequency band.</entry>
113 </row>
114 <row>
115 <entry>__u32</entry>
116 <entry><structfield>rangehigh</structfield></entry>
117 <entry spanname="hspan">The highest tunable frequency in
118units of 62.5 kHz, or if the <structfield>capability</structfield>
119flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
120Hz, for this frequency band.</entry>
121 </row>
122 <row>
123 <entry>__u32</entry>
124 <entry><structfield>modulation</structfield></entry>
125 <entry spanname="hspan">The supported modulation systems of this frequency band.
126 See <xref linkend="band-modulation" />. Note that currently only one
127 modulation system per frequency band is supported. More work will need to
128 be done if multiple modulation systems are possible. Contact the
129 linux-media mailing list (&v4l-ml;) if you need that functionality.</entry>
130 </row>
131 <row>
132 <entry>__u32</entry>
133 <entry><structfield>reserved</structfield>[9]</entry>
134 <entry>Reserved for future extensions. Applications and drivers
135 must set the array to zero.</entry>
136 </row>
137 </tbody>
138 </tgroup>
139 </table>
140
141 <table pgwide="1" frame="none" id="band-modulation">
142 <title>Band Modulation Systems</title>
143 <tgroup cols="3">
144 &cs-def;
145 <tbody valign="top">
146 <row>
147 <entry><constant>V4L2_BAND_MODULATION_VSB</constant></entry>
148 <entry>0x02</entry>
149 <entry>Vestigial Sideband modulation, used for analog TV.</entry>
150 </row>
151 <row>
152 <entry><constant>V4L2_BAND_MODULATION_FM</constant></entry>
153 <entry>0x04</entry>
154 <entry>Frequency Modulation, commonly used for analog radio.</entry>
155 </row>
156 <row>
157 <entry><constant>V4L2_BAND_MODULATION_AM</constant></entry>
158 <entry>0x08</entry>
159 <entry>Amplitude Modulation, commonly used for analog radio.</entry>
160 </row>
161 </tbody>
162 </tgroup>
163 </table>
164 </refsect1>
165
166 <refsect1>
167 &return-value;
168
169 <variablelist>
170 <varlistentry>
171 <term><errorcode>EINVAL</errorcode></term>
172 <listitem>
173 <para>The <structfield>tuner</structfield> or <structfield>index</structfield>
174is out of bounds or the <structfield>type</structfield> field is wrong.</para>
175 </listitem>
176 </varlistentry>
177 </variablelist>
178 </refsect1>
179</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
index 40e58a42eb2..c7a1c462e72 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml
@@ -98,11 +98,12 @@ the &v4l2-output; <structfield>modulator</structfield> field and the
98 <entry>__u32</entry> 98 <entry>__u32</entry>
99 <entry><structfield>type</structfield></entry> 99 <entry><structfield>type</structfield></entry>
100 <entry>The tuner type. This is the same value as in the 100 <entry>The tuner type. This is the same value as in the
101&v4l2-tuner; <structfield>type</structfield> field. See The type must be set 101&v4l2-tuner; <structfield>type</structfield> field. The type must be set
102to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> 102to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename>
103device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> 103device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant>
104for all others. The field is not applicable to modulators, &ie; ignored 104for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for
105by drivers. See <xref linkend="v4l2-tuner-type" /></entry> 105modulators (currently only radio modulators are supported).
106See <xref linkend="v4l2-tuner-type" /></entry>
106 </row> 107 </row>
107 <row> 108 <row>
108 <entry>__u32</entry> 109 <entry>__u32</entry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
index 95d5371c170..72039512790 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml
@@ -119,10 +119,14 @@ field is not quite clear.--></para></entry>
119<xref linkend="tuner-capability" />. Audio flags indicate the ability 119<xref linkend="tuner-capability" />. Audio flags indicate the ability
120to decode audio subprograms. They will <emphasis>not</emphasis> 120to decode audio subprograms. They will <emphasis>not</emphasis>
121change, for example with the current video standard.</para><para>When 121change, for example with the current video standard.</para><para>When
122the structure refers to a radio tuner only the 122the structure refers to a radio tuner the
123<constant>V4L2_TUNER_CAP_LOW</constant>, 123<constant>V4L2_TUNER_CAP_LANG1</constant>,
124<constant>V4L2_TUNER_CAP_STEREO</constant> and 124<constant>V4L2_TUNER_CAP_LANG2</constant> and
125<constant>V4L2_TUNER_CAP_RDS</constant> flags can be set.</para></entry> 125<constant>V4L2_TUNER_CAP_NORM</constant> flags can't be used.</para>
126<para>If multiple frequency bands are supported, then
127<structfield>capability</structfield> is the union of all
128<structfield>capability></structfield> fields of each &v4l2-frequency-band;.
129</para></entry>
126 </row> 130 </row>
127 <row> 131 <row>
128 <entry>__u32</entry> 132 <entry>__u32</entry>
@@ -130,7 +134,9 @@ the structure refers to a radio tuner only the
130 <entry spanname="hspan">The lowest tunable frequency in 134 <entry spanname="hspan">The lowest tunable frequency in
131units of 62.5 kHz, or if the <structfield>capability</structfield> 135units of 62.5 kHz, or if the <structfield>capability</structfield>
132flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 136flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
133Hz.</entry> 137Hz. If multiple frequency bands are supported, then
138<structfield>rangelow</structfield> is the lowest frequency
139of all the frequency bands.</entry>
134 </row> 140 </row>
135 <row> 141 <row>
136 <entry>__u32</entry> 142 <entry>__u32</entry>
@@ -138,7 +144,9 @@ Hz.</entry>
138 <entry spanname="hspan">The highest tunable frequency in 144 <entry spanname="hspan">The highest tunable frequency in
139units of 62.5 kHz, or if the <structfield>capability</structfield> 145units of 62.5 kHz, or if the <structfield>capability</structfield>
140flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 146flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5
141Hz.</entry> 147Hz. If multiple frequency bands are supported, then
148<structfield>rangehigh</structfield> is the highest frequency
149of all the frequency bands.</entry>
142 </row> 150 </row>
143 <row> 151 <row>
144 <entry>__u32</entry> 152 <entry>__u32</entry>
@@ -340,6 +348,12 @@ radio tuners.</entry>
340 <entry>0x0200</entry> 348 <entry>0x0200</entry>
341 <entry>The RDS data is parsed by the hardware and set via controls.</entry> 349 <entry>The RDS data is parsed by the hardware and set via controls.</entry>
342 </row> 350 </row>
351 <row>
352 <entry><constant>V4L2_TUNER_CAP_FREQ_BANDS</constant></entry>
353 <entry>0x0400</entry>
354 <entry>The &VIDIOC-ENUM-FREQ-BANDS; ioctl can be used to enumerate
355 the available frequency bands.</entry>
356 </row>
343 </tbody> 357 </tbody>
344 </tgroup> 358 </tgroup>
345 </table> 359 </table>
diff --git a/Documentation/DocBook/media/v4l/vidioc-querycap.xml b/Documentation/DocBook/media/v4l/vidioc-querycap.xml
index 4643505cd4c..f33dd746b66 100644
--- a/Documentation/DocBook/media/v4l/vidioc-querycap.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-querycap.xml
@@ -192,6 +192,19 @@ linkend="output">Video Output</link> interface.</entry>
192 <link linkend="output">Video Output</link> interface.</entry> 192 <link linkend="output">Video Output</link> interface.</entry>
193 </row> 193 </row>
194 <row> 194 <row>
195 <entry><constant>V4L2_CAP_VIDEO_M2M</constant></entry>
196 <entry>0x00004000</entry>
197 <entry>The device supports the single-planar API through the
198 Video Memory-To-Memory interface.</entry>
199 </row>
200 <row>
201 <entry><constant>V4L2_CAP_VIDEO_M2M_MPLANE</constant></entry>
202 <entry>0x00008000</entry>
203 <entry>The device supports the
204 <link linkend="planar-apis">multi-planar API</link> through the
205 Video Memory-To-Memory interface.</entry>
206 </row>
207 <row>
195 <entry><constant>V4L2_CAP_VIDEO_OVERLAY</constant></entry> 208 <entry><constant>V4L2_CAP_VIDEO_OVERLAY</constant></entry>
196 <entry>0x00000004</entry> 209 <entry>0x00000004</entry>
197 <entry>The device supports the <link 210 <entry>The device supports the <link
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 f4db44d0d95..3dd1bec6d3c 100644
--- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml
@@ -52,11 +52,23 @@
52 <para>Start a hardware frequency seek from the current frequency. 52 <para>Start a hardware frequency seek from the current frequency.
53To do this applications initialize the <structfield>tuner</structfield>, 53To do this applications initialize the <structfield>tuner</structfield>,
54<structfield>type</structfield>, <structfield>seek_upward</structfield>, 54<structfield>type</structfield>, <structfield>seek_upward</structfield>,
55<structfield>spacing</structfield> and 55<structfield>wrap_around</structfield>, <structfield>spacing</structfield>,
56<structfield>wrap_around</structfield> fields, and zero out the 56<structfield>rangelow</structfield> and <structfield>rangehigh</structfield>
57<structfield>reserved</structfield> array of a &v4l2-hw-freq-seek; and 57fields, and zero out the <structfield>reserved</structfield> array of a
58call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant> ioctl with a pointer 58&v4l2-hw-freq-seek; and call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant>
59to this structure.</para> 59ioctl with a pointer to this structure.</para>
60
61 <para>The <structfield>rangelow</structfield> and
62<structfield>rangehigh</structfield> fields can be set to a non-zero value to
63tell the driver to search a specific band. If the &v4l2-tuner;
64<structfield>capability</structfield> field has the
65<constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant> flag set, these values
66must fall within one of the bands returned by &VIDIOC-ENUM-FREQ-BANDS;. If
67the <constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant> flag is not set,
68then these values must exactly match those of one of the bands returned by
69&VIDIOC-ENUM-FREQ-BANDS;. If the current frequency of the tuner does not fall
70within the selected band it will be clamped to fit in the band before the
71seek is started.</para>
60 72
61 <para>If an error is returned, then the original frequency will 73 <para>If an error is returned, then the original frequency will
62 be restored.</para> 74 be restored.</para>
@@ -102,7 +114,27 @@ field and the &v4l2-tuner; <structfield>index</structfield> field.</entry>
102 </row> 114 </row>
103 <row> 115 <row>
104 <entry>__u32</entry> 116 <entry>__u32</entry>
105 <entry><structfield>reserved</structfield>[7]</entry> 117 <entry><structfield>rangelow</structfield></entry>
118 <entry>If non-zero, the lowest tunable frequency of the band to
119search in units of 62.5 kHz, or if the &v4l2-tuner;
120<structfield>capability</structfield> field has the
121<constant>V4L2_TUNER_CAP_LOW</constant> flag set, in units of 62.5 Hz.
122If <structfield>rangelow</structfield> is zero a reasonable default value
123is used.</entry>
124 </row>
125 <row>
126 <entry>__u32</entry>
127 <entry><structfield>rangehigh</structfield></entry>
128 <entry>If non-zero, the highest tunable frequency of the band to
129search in units of 62.5 kHz, or if the &v4l2-tuner;
130<structfield>capability</structfield> field has the
131<constant>V4L2_TUNER_CAP_LOW</constant> flag set, in units of 62.5 Hz.
132If <structfield>rangehigh</structfield> is zero a reasonable default value
133is used.</entry>
134 </row>
135 <row>
136 <entry>__u32</entry>
137 <entry><structfield>reserved</structfield>[5]</entry>
106 <entry>Reserved for future extensions. Applications 138 <entry>Reserved for future extensions. Applications
107 must set the array to zero.</entry> 139 must set the array to zero.</entry>
108 </row> 140 </row>
@@ -119,8 +151,10 @@ field and the &v4l2-tuner; <structfield>index</structfield> field.</entry>
119 <term><errorcode>EINVAL</errorcode></term> 151 <term><errorcode>EINVAL</errorcode></term>
120 <listitem> 152 <listitem>
121 <para>The <structfield>tuner</structfield> index is out of 153 <para>The <structfield>tuner</structfield> index is out of
122bounds, the wrap_around value is not supported or the value in the <structfield>type</structfield> field is 154bounds, the <structfield>wrap_around</structfield> value is not supported or
123wrong.</para> 155one of the values in the <structfield>type</structfield>,
156<structfield>rangelow</structfield> or <structfield>rangehigh</structfield>
157fields is wrong.</para>
124 </listitem> 158 </listitem>
125 </varlistentry> 159 </varlistentry>
126 <varlistentry> 160 <varlistentry>
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index e9237fb7195..09b132dd062 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -618,3 +618,17 @@ Why: The regular V4L2 selections and the subdev selection API originally
618Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> 618Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
619 619
620---------------------------- 620----------------------------
621
622What: Using V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags
623 to indicate a V4L2 memory-to-memory device capability
624When: 3.8
625Why: New drivers should use new V4L2_CAP_VIDEO_M2M capability flag
626 to indicate a V4L2 video memory-to-memory (M2M) device and
627 applications can now identify a M2M video device by checking
628 for V4L2_CAP_VIDEO_M2M, with VIDIOC_QUERYCAP ioctl. Using ORed
629 V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags for M2M
630 devices is ambiguous and may lead, for example, to identifying
631 a M2M device as a video capture or output device.
632Who: Sylwester Nawrocki <s.nawrocki@samsung.com>
633
634----------------------------
diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828
index 7b59e953c4b..a8a65753e54 100644
--- a/Documentation/video4linux/CARDLIST.au0828
+++ b/Documentation/video4linux/CARDLIST.au0828
@@ -3,4 +3,4 @@
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]
6 5 -> Hauppauge Woodbury (au0828) [2040:8200] 6 5 -> Hauppauge Woodbury (au0828) [05e1:0480,2040:8200]
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv
index b753906c718..581f666a76c 100644
--- a/Documentation/video4linux/CARDLIST.bttv
+++ b/Documentation/video4linux/CARDLIST.bttv
@@ -159,3 +159,4 @@
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] 161160 -> Tongwei Video Technology TD-3116 [f200:3116]
162161 -> Aposonic W-DVR [0279:0228]
diff --git a/Documentation/video4linux/CARDLIST.cx23885 b/Documentation/video4linux/CARDLIST.cx23885
index f316d1816fc..652aecd1319 100644
--- a/Documentation/video4linux/CARDLIST.cx23885
+++ b/Documentation/video4linux/CARDLIST.cx23885
@@ -18,7 +18,7 @@
18 17 -> NetUP Dual DVB-S2 CI [1b55:2a2c] 18 17 -> NetUP Dual DVB-S2 CI [1b55:2a2c]
19 18 -> Hauppauge WinTV-HVR1270 [0070:2211] 19 18 -> Hauppauge WinTV-HVR1270 [0070:2211]
20 19 -> Hauppauge WinTV-HVR1275 [0070:2215,0070:221d,0070:22f2] 20 19 -> Hauppauge WinTV-HVR1275 [0070:2215,0070:221d,0070:22f2]
21 20 -> Hauppauge WinTV-HVR1255 [0070:2251,0070:2259,0070:22f1] 21 20 -> Hauppauge WinTV-HVR1255 [0070:2251,0070:22f1]
22 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295,0070:2299,0070:229d,0070:22f0,0070:22f3,0070:22f4,0070:22f5] 22 21 -> Hauppauge WinTV-HVR1210 [0070:2291,0070:2295,0070:2299,0070:229d,0070:22f0,0070:22f3,0070:22f4,0070:22f5]
23 22 -> Mygica X8506 DMB-TH [14f1:8651] 23 22 -> Mygica X8506 DMB-TH [14f1:8651]
24 23 -> Magic-Pro ProHDTV Extreme 2 [14f1:8657] 24 23 -> Magic-Pro ProHDTV Extreme 2 [14f1:8657]
@@ -33,3 +33,5 @@
33 32 -> MPX-885 33 32 -> MPX-885
34 33 -> Mygica X8507 [14f1:8502] 34 33 -> Mygica X8507 [14f1:8502]
35 34 -> TerraTec Cinergy T PCIe Dual [153b:117e] 35 34 -> TerraTec Cinergy T PCIe Dual [153b:117e]
36 35 -> TeVii S471 [d471:9022]
37 36 -> Hauppauge WinTV-HVR1255 [0070:2259]
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
index 34f3b330e5f..94d9025aa82 100644
--- a/Documentation/video4linux/CARDLIST.saa7134
+++ b/Documentation/video4linux/CARDLIST.saa7134
@@ -188,3 +188,4 @@
188187 -> Beholder BeholdTV 503 FM [5ace:5030] 188187 -> Beholder BeholdTV 503 FM [5ace:5030]
189188 -> Sensoray 811/911 [6000:0811,6000:0911] 189188 -> Sensoray 811/911 [6000:0811,6000:0911]
190189 -> Kworld PC150-U [17de:a134] 190189 -> Kworld PC150-U [17de:a134]
191190 -> Asus My Cinema PS3-100 [1043:48cd]