diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-31 21:47:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-31 21:47:44 -0400 |
commit | 8762541f067d371320731510669e27f5cc40af38 (patch) | |
tree | fa2890094858614a947ba70612854acde9888940 /Documentation/DocBook | |
parent | 6dbb35b0a74b44b2a48a5373d48074c5aa69fdf5 (diff) | |
parent | adfe1560de1c696324554fba70c92f2d7c947ff7 (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/DocBook')
10 files changed, 297 insertions, 30 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index 97b895151bb0..faa0fd14666a 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 cda0dfb6769a..b0964fb4e834 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 36bafc48e03b..eee6908c749f 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 | |||
140 | applications. --> | 140 | applications. --> |
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 5e73b1c8d095..a8cda1acacd9 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 |
65 | the <structname>v4l2_create_buffers</structname> structure. They set the | 65 | the <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 |
68 | structure, to the respective stream or buffer type. | 68 | structure, 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 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 6673ce582050..cd7720d404ea 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; | 58 | this ioctl and the driver will fill in the structure. Note that drivers may return |
59 | and call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl with a pointer to this | 59 | different values after switching the video input or output.</para> |
60 | structure. 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, | ||
62 | applications shall begin at index zero, incrementing by one until the | ||
63 | driver returns <errorcode>EINVAL</errorcode>. Note that drivers may enumerate a | ||
64 | different set of DV timings after switching the video input or | ||
65 | output.</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 000000000000..6541ba0175ed --- /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. | ||
59 | To do this applications initialize the <structfield>tuner</structfield>, | ||
60 | <structfield>type</structfield> and <structfield>index</structfield> fields, | ||
61 | and zero out the <structfield>reserved</structfield> array of a &v4l2-frequency-band; and | ||
62 | call the <constant>VIDIOC_ENUM_FREQ_BANDS</constant> ioctl with a pointer | ||
63 | to 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 | ||
77 | same value as in the &v4l2-input; <structfield>tuner</structfield> | ||
78 | field and the &v4l2-tuner; <structfield>index</structfield> field, or | ||
79 | the &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 | ||
87 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | ||
88 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | ||
89 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for | ||
90 | modulators (currently only radio modulators are supported). | ||
91 | See <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 | ||
102 | this frequency band, see <xref linkend="tuner-capability" />. The <constant>V4L2_TUNER_CAP_LOW</constant> | ||
103 | capability must be the same for all frequency bands of the selected tuner/modulator. | ||
104 | So 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 | ||
110 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
111 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
112 | Hz, 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 | ||
118 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
119 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
120 | Hz, 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> | ||
174 | is 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 40e58a42eb26..c7a1c462e724 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 |
102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | 102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> |
103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | 103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> |
104 | for all others. The field is not applicable to modulators, &ie; ignored | 104 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for |
105 | by drivers. See <xref linkend="v4l2-tuner-type" /></entry> | 105 | modulators (currently only radio modulators are supported). |
106 | See <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 95d5371c1709..720395127904 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 |
120 | to decode audio subprograms. They will <emphasis>not</emphasis> | 120 | to decode audio subprograms. They will <emphasis>not</emphasis> |
121 | change, for example with the current video standard.</para><para>When | 121 | change, for example with the current video standard.</para><para>When |
122 | the structure refers to a radio tuner only the | 122 | the 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 |
131 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 135 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
132 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 136 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
133 | Hz.</entry> | 137 | Hz. If multiple frequency bands are supported, then |
138 | <structfield>rangelow</structfield> is the lowest frequency | ||
139 | of 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 |
139 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 145 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
140 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 146 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
141 | Hz.</entry> | 147 | Hz. If multiple frequency bands are supported, then |
148 | <structfield>rangehigh</structfield> is the highest frequency | ||
149 | of 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 4643505cd4ca..f33dd746b66b 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 f4db44d0d95a..3dd1bec6d3c7 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. |
53 | To do this applications initialize the <structfield>tuner</structfield>, | 53 | To 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 | 57 | fields, and zero out the <structfield>reserved</structfield> array of a |
58 | call 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> |
59 | to this structure.</para> | 59 | ioctl 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 | ||
63 | tell 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 | ||
66 | must fall within one of the bands returned by &VIDIOC-ENUM-FREQ-BANDS;. If | ||
67 | the <constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant> flag is not set, | ||
68 | then 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 | ||
70 | within the selected band it will be clamped to fit in the band before the | ||
71 | seek 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 | ||
119 | search 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. | ||
122 | If <structfield>rangelow</structfield> is zero a reasonable default value | ||
123 | is 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 | ||
129 | search 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. | ||
132 | If <structfield>rangehigh</structfield> is zero a reasonable default value | ||
133 | is 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 |
122 | bounds, the wrap_around value is not supported or the value in the <structfield>type</structfield> field is | 154 | bounds, the <structfield>wrap_around</structfield> value is not supported or |
123 | wrong.</para> | 155 | one of the values in the <structfield>type</structfield>, |
156 | <structfield>rangelow</structfield> or <structfield>rangehigh</structfield> | ||
157 | fields is wrong.</para> | ||
124 | </listitem> | 158 | </listitem> |
125 | </varlistentry> | 159 | </varlistentry> |
126 | <varlistentry> | 160 | <varlistentry> |