aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r--Documentation/DocBook/media/dvb/dvbproperty.xml52
-rw-r--r--Documentation/DocBook/media/v4l/common.xml14
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml24
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml87
-rw-r--r--Documentation/DocBook/media/v4l/io.xml6
-rw-r--r--Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml10
-rw-r--r--Documentation/DocBook/media/v4l/subdev-formats.xml206
-rw-r--r--Documentation/DocBook/media/v4l/v4l2.xml19
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml9
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml223
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml29
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml240
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enuminput.xml5
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-enumoutput.xml5
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml113
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml9
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml78
-rw-r--r--Documentation/DocBook/media_api.tmpl1
18 files changed, 618 insertions, 512 deletions
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml
index 4a5eaeed0b9e..a9b15e34c5b2 100644
--- a/Documentation/DocBook/media/dvb/dvbproperty.xml
+++ b/Documentation/DocBook/media/dvb/dvbproperty.xml
@@ -1,6 +1,6 @@
1<section id="FE_GET_SET_PROPERTY"> 1<section id="FE_GET_SET_PROPERTY">
2<title><constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></title> 2<title><constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></title>
3<para>This section describes the DVB version 5 extention of the DVB-API, also 3<para>This section describes the DVB version 5 extension of the DVB-API, also
4called "S2API", as this API were added to provide support for DVB-S2. It was 4called "S2API", as this API were added to provide support for DVB-S2. It was
5designed to be able to replace the old frontend API. Yet, the DISEQC and 5designed to be able to replace the old frontend API. Yet, the DISEQC and
6the capability ioctls weren't implemented yet via the new way.</para> 6the capability ioctls weren't implemented yet via the new way.</para>
@@ -903,14 +903,12 @@ enum fe_interleaving {
903 <constant>svalue</constant> is for signed values of the measure (dB measures) 903 <constant>svalue</constant> is for signed values of the measure (dB measures)
904 and <constant>uvalue</constant> is for unsigned values (counters, relative scale)</para></listitem> 904 and <constant>uvalue</constant> is for unsigned values (counters, relative scale)</para></listitem>
905 <listitem><para><constant>scale</constant> - Scale for the value. It can be:</para> 905 <listitem><para><constant>scale</constant> - Scale for the value. It can be:</para>
906 <section id = "fecap-scale-params"> 906 <itemizedlist mark='bullet' id="fecap-scale-params">
907 <itemizedlist mark='bullet'>
908 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - The parameter is supported by the frontend, but it was not possible to collect it (could be a transitory or permanent condition)</para></listitem> 907 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - The parameter is supported by the frontend, but it was not possible to collect it (could be a transitory or permanent condition)</para></listitem>
909 <listitem><para><constant>FE_SCALE_DECIBEL</constant> - parameter is a signed value, measured in 1/1000 dB</para></listitem> 908 <listitem><para><constant>FE_SCALE_DECIBEL</constant> - parameter is a signed value, measured in 1/1000 dB</para></listitem>
910 <listitem><para><constant>FE_SCALE_RELATIVE</constant> - parameter is a unsigned value, where 0 means 0% and 65535 means 100%.</para></listitem> 909 <listitem><para><constant>FE_SCALE_RELATIVE</constant> - parameter is a unsigned value, where 0 means 0% and 65535 means 100%.</para></listitem>
911 <listitem><para><constant>FE_SCALE_COUNTER</constant> - parameter is a unsigned value that counts the occurrence of an event, like bit error, block error, or lapsed time.</para></listitem> 910 <listitem><para><constant>FE_SCALE_COUNTER</constant> - parameter is a unsigned value that counts the occurrence of an event, like bit error, block error, or lapsed time.</para></listitem>
912 </itemizedlist> 911 </itemizedlist>
913 </section>
914 </listitem> 912 </listitem>
915 </itemizedlist> 913 </itemizedlist>
916 <section id="DTV-STAT-SIGNAL-STRENGTH"> 914 <section id="DTV-STAT-SIGNAL-STRENGTH">
@@ -918,9 +916,9 @@ enum fe_interleaving {
918 <para>Indicates the signal strength level at the analog part of the tuner or of the demod.</para> 916 <para>Indicates the signal strength level at the analog part of the tuner or of the demod.</para>
919 <para>Possible scales for this metric are:</para> 917 <para>Possible scales for this metric are:</para>
920 <itemizedlist mark='bullet'> 918 <itemizedlist mark='bullet'>
921 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 919 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
922 <listitem><constant>FE_SCALE_DECIBEL</constant> - signal strength is in 0.0001 dBm units, power measured in miliwatts. This value is generally negative.</listitem> 920 <listitem><para><constant>FE_SCALE_DECIBEL</constant> - signal strength is in 0.0001 dBm units, power measured in miliwatts. This value is generally negative.</para></listitem>
923 <listitem><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for power (actually, 0 to 65535).</listitem> 921 <listitem><para><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for power (actually, 0 to 65535).</para></listitem>
924 </itemizedlist> 922 </itemizedlist>
925 </section> 923 </section>
926 <section id="DTV-STAT-CNR"> 924 <section id="DTV-STAT-CNR">
@@ -928,9 +926,9 @@ enum fe_interleaving {
928 <para>Indicates the Signal to Noise ratio for the main carrier.</para> 926 <para>Indicates the Signal to Noise ratio for the main carrier.</para>
929 <para>Possible scales for this metric are:</para> 927 <para>Possible scales for this metric are:</para>
930 <itemizedlist mark='bullet'> 928 <itemizedlist mark='bullet'>
931 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 929 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
932 <listitem><constant>FE_SCALE_DECIBEL</constant> - Signal/Noise ratio is in 0.0001 dB units.</listitem> 930 <listitem><para><constant>FE_SCALE_DECIBEL</constant> - Signal/Noise ratio is in 0.0001 dB units.</para></listitem>
933 <listitem><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for Signal/Noise (actually, 0 to 65535).</listitem> 931 <listitem><para><constant>FE_SCALE_RELATIVE</constant> - The frontend provides a 0% to 100% measurement for Signal/Noise (actually, 0 to 65535).</para></listitem>
934 </itemizedlist> 932 </itemizedlist>
935 </section> 933 </section>
936 <section id="DTV-STAT-PRE-ERROR-BIT-COUNT"> 934 <section id="DTV-STAT-PRE-ERROR-BIT-COUNT">
@@ -943,8 +941,8 @@ enum fe_interleaving {
943 The frontend may reset it when a channel/transponder is tuned.</para> 941 The frontend may reset it when a channel/transponder is tuned.</para>
944 <para>Possible scales for this metric are:</para> 942 <para>Possible scales for this metric are:</para>
945 <itemizedlist mark='bullet'> 943 <itemizedlist mark='bullet'>
946 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 944 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
947 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted before the inner coding.</listitem> 945 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted before the inner coding.</para></listitem>
948 </itemizedlist> 946 </itemizedlist>
949 </section> 947 </section>
950 <section id="DTV-STAT-PRE-TOTAL-BIT-COUNT"> 948 <section id="DTV-STAT-PRE-TOTAL-BIT-COUNT">
@@ -952,14 +950,14 @@ enum fe_interleaving {
952 <para>Measures the amount of bits received before the inner code block, during the same period as 950 <para>Measures the amount of bits received before the inner code block, during the same period as
953 <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> 951 <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link> measurement was taken.</para>
954 <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, 952 <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream,
955 as the frontend may need to manually restart the measurement, loosing some data between each measurement interval.</para> 953 as the frontend may need to manually restart the measurement, losing some data between each measurement interval.</para>
956 <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. 954 <para>This measurement is monotonically increased, as the frontend gets more bit count measurements.
957 The frontend may reset it when a channel/transponder is tuned.</para> 955 The frontend may reset it when a channel/transponder is tuned.</para>
958 <para>Possible scales for this metric are:</para> 956 <para>Possible scales for this metric are:</para>
959 <itemizedlist mark='bullet'> 957 <itemizedlist mark='bullet'>
960 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 958 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
961 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring 959 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring
962 <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link>.</listitem> 960 <link linkend="DTV-STAT-PRE-ERROR-BIT-COUNT"><constant>DTV_STAT_PRE_ERROR_BIT_COUNT</constant></link>.</para></listitem>
963 </itemizedlist> 961 </itemizedlist>
964 </section> 962 </section>
965 <section id="DTV-STAT-POST-ERROR-BIT-COUNT"> 963 <section id="DTV-STAT-POST-ERROR-BIT-COUNT">
@@ -972,8 +970,8 @@ enum fe_interleaving {
972 The frontend may reset it when a channel/transponder is tuned.</para> 970 The frontend may reset it when a channel/transponder is tuned.</para>
973 <para>Possible scales for this metric are:</para> 971 <para>Possible scales for this metric are:</para>
974 <itemizedlist mark='bullet'> 972 <itemizedlist mark='bullet'>
975 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 973 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
976 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted after the inner coding.</listitem> 974 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error bits counted after the inner coding.</para></listitem>
977 </itemizedlist> 975 </itemizedlist>
978 </section> 976 </section>
979 <section id="DTV-STAT-POST-TOTAL-BIT-COUNT"> 977 <section id="DTV-STAT-POST-TOTAL-BIT-COUNT">
@@ -981,14 +979,14 @@ enum fe_interleaving {
981 <para>Measures the amount of bits received after the inner coding, during the same period as 979 <para>Measures the amount of bits received after the inner coding, during the same period as
982 <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link> measurement was taken.</para> 980 <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link> measurement was taken.</para>
983 <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream, 981 <para>It should be noticed that this measurement can be smaller than the total amount of bits on the transport stream,
984 as the frontend may need to manually restart the measurement, loosing some data between each measurement interval.</para> 982 as the frontend may need to manually restart the measurement, losing some data between each measurement interval.</para>
985 <para>This measurement is monotonically increased, as the frontend gets more bit count measurements. 983 <para>This measurement is monotonically increased, as the frontend gets more bit count measurements.
986 The frontend may reset it when a channel/transponder is tuned.</para> 984 The frontend may reset it when a channel/transponder is tuned.</para>
987 <para>Possible scales for this metric are:</para> 985 <para>Possible scales for this metric are:</para>
988 <itemizedlist mark='bullet'> 986 <itemizedlist mark='bullet'>
989 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 987 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
990 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring 988 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of bits counted while measuring
991 <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link>.</listitem> 989 <link linkend="DTV-STAT-POST-ERROR-BIT-COUNT"><constant>DTV_STAT_POST_ERROR_BIT_COUNT</constant></link>.</para></listitem>
992 </itemizedlist> 990 </itemizedlist>
993 </section> 991 </section>
994 <section id="DTV-STAT-ERROR-BLOCK-COUNT"> 992 <section id="DTV-STAT-ERROR-BLOCK-COUNT">
@@ -998,8 +996,8 @@ enum fe_interleaving {
998 The frontend may reset it when a channel/transponder is tuned.</para> 996 The frontend may reset it when a channel/transponder is tuned.</para>
999 <para>Possible scales for this metric are:</para> 997 <para>Possible scales for this metric are:</para>
1000 <itemizedlist mark='bullet'> 998 <itemizedlist mark='bullet'>
1001 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 999 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
1002 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of error blocks counted after the outer coding.</listitem> 1000 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of error blocks counted after the outer coding.</para></listitem>
1003 </itemizedlist> 1001 </itemizedlist>
1004 </section> 1002 </section>
1005 <section id="DTV-STAT-TOTAL-BLOCK-COUNT"> 1003 <section id="DTV-STAT-TOTAL-BLOCK-COUNT">
@@ -1011,9 +1009,9 @@ enum fe_interleaving {
1011 by <link linkend="DTV-STAT-TOTAL-BLOCK-COUNT"><constant>DTV-STAT-TOTAL-BLOCK-COUNT</constant></link>.</para> 1009 by <link linkend="DTV-STAT-TOTAL-BLOCK-COUNT"><constant>DTV-STAT-TOTAL-BLOCK-COUNT</constant></link>.</para>
1012 <para>Possible scales for this metric are:</para> 1010 <para>Possible scales for this metric are:</para>
1013 <itemizedlist mark='bullet'> 1011 <itemizedlist mark='bullet'>
1014 <listitem><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</listitem> 1012 <listitem><para><constant>FE_SCALE_NOT_AVAILABLE</constant> - it failed to measure it, or the measurement was not complete yet.</para></listitem>
1015 <listitem><constant>FE_SCALE_COUNTER</constant> - Number of blocks counted while measuring 1013 <listitem><para><constant>FE_SCALE_COUNTER</constant> - Number of blocks counted while measuring
1016 <link linkend="DTV-STAT-ERROR-BLOCK-COUNT"><constant>DTV_STAT_ERROR_BLOCK_COUNT</constant></link>.</listitem> 1014 <link linkend="DTV-STAT-ERROR-BLOCK-COUNT"><constant>DTV_STAT_ERROR_BLOCK_COUNT</constant></link>.</para></listitem>
1017 </itemizedlist> 1015 </itemizedlist>
1018 </section> 1016 </section>
1019 </section> 1017 </section>
diff --git a/Documentation/DocBook/media/v4l/common.xml b/Documentation/DocBook/media/v4l/common.xml
index ae06afbbb3a9..1ddf354aa997 100644
--- a/Documentation/DocBook/media/v4l/common.xml
+++ b/Documentation/DocBook/media/v4l/common.xml
@@ -750,15 +750,6 @@ header can be used to get the timings of the formats in the <xref linkend="cea86
750<xref linkend="vesadmt" /> standards. 750<xref linkend="vesadmt" /> standards.
751 </para> 751 </para>
752 </listitem> 752 </listitem>
753 <listitem>
754 <para>DV Presets: Digital Video (DV) presets (<emphasis role="bold">deprecated</emphasis>).
755 These are IDs representing a
756video timing at the input/output. Presets are pre-defined timings implemented
757by the hardware according to video standards. A __u32 data type is used to represent
758a preset unlike the bit mask that is used in &v4l2-std-id; allowing future extensions
759to support as many different presets as needed. This API is deprecated in favor of the DV Timings
760API.</para>
761 </listitem>
762 </itemizedlist> 753 </itemizedlist>
763 <para>To enumerate and query the attributes of the DV timings supported by a device, 754 <para>To enumerate and query the attributes of the DV timings supported by a device,
764 applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls. 755 applications use the &VIDIOC-ENUM-DV-TIMINGS; and &VIDIOC-DV-TIMINGS-CAP; ioctls.
@@ -766,11 +757,6 @@ API.</para>
766&VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the 757&VIDIOC-S-DV-TIMINGS; ioctl and to get current DV timings they use the
767&VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications 758&VIDIOC-G-DV-TIMINGS; ioctl. To detect the DV timings as seen by the video receiver applications
768use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para> 759use the &VIDIOC-QUERY-DV-TIMINGS; ioctl.</para>
769 <para>To enumerate and query the attributes of DV presets supported by a device,
770applications use the &VIDIOC-ENUM-DV-PRESETS; ioctl. To get the current DV preset,
771applications use the &VIDIOC-G-DV-PRESET; ioctl and to set a preset they use the
772&VIDIOC-S-DV-PRESET; ioctl. To detect the preset as seen by the video receiver applications
773use the &VIDIOC-QUERY-DV-PRESET; ioctl.</para>
774 <para>Applications can make use of the <xref linkend="input-capabilities" /> and 760 <para>Applications can make use of the <xref linkend="input-capabilities" /> and
775<xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the 761<xref linkend="output-capabilities"/> flags to decide what ioctls are available to set the
776video timings for the device.</para> 762video timings for the device.</para>
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index 104a1a2b8849..f43542ae2981 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2310,6 +2310,9 @@ more information.</para>
2310 <listitem> 2310 <listitem>
2311 <para>Added FM Modulator (FM TX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_TX</constant> and their Control IDs.</para> 2311 <para>Added FM Modulator (FM TX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_TX</constant> and their Control IDs.</para>
2312 </listitem> 2312 </listitem>
2313<listitem>
2314 <para>Added FM Receiver (FM RX) Extended Control Class: <constant>V4L2_CTRL_CLASS_FM_RX</constant> and their Control IDs.</para>
2315 </listitem>
2313 <listitem> 2316 <listitem>
2314 <para>Added Remote Controller chapter, describing the default Remote Controller mapping for media devices.</para> 2317 <para>Added Remote Controller chapter, describing the default Remote Controller mapping for media devices.</para>
2315 </listitem> 2318 </listitem>
@@ -2493,6 +2496,23 @@ that used it. It was originally scheduled for removal in 2.6.35.
2493 </orderedlist> 2496 </orderedlist>
2494 </section> 2497 </section>
2495 2498
2499 <section>
2500 <title>V4L2 in Linux 3.10</title>
2501 <orderedlist>
2502 <listitem>
2503 <para>Removed obsolete and unused DV_PRESET ioctls
2504 VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
2505 VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability
2506 flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS.
2507 </para>
2508 </listitem>
2509 <listitem>
2510 <para>Added new debugging ioctl &VIDIOC-DBG-G-CHIP-INFO;.
2511 </para>
2512 </listitem>
2513 </orderedlist>
2514 </section>
2515
2496 <section id="other"> 2516 <section id="other">
2497 <title>Relation of V4L2 to other Linux multimedia APIs</title> 2517 <title>Relation of V4L2 to other Linux multimedia APIs</title>
2498 2518
@@ -2625,8 +2645,8 @@ interfaces and should not be implemented in new drivers.</para>
2625<xref linkend="extended-controls" />.</para> 2645<xref linkend="extended-controls" />.</para>
2626 </listitem> 2646 </listitem>
2627 <listitem> 2647 <listitem>
2628 <para>&VIDIOC-G-DV-PRESET;, &VIDIOC-S-DV-PRESET;, &VIDIOC-ENUM-DV-PRESETS; and 2648 <para>VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_ENUM_DV_PRESETS and
2629 &VIDIOC-QUERY-DV-PRESET; ioctls. Use the DV Timings API (<xref linkend="dv-timings" />).</para> 2649 VIDIOC_QUERY_DV_PRESET ioctls. Use the DV Timings API (<xref linkend="dv-timings" />).</para>
2630 </listitem> 2650 </listitem>
2631 <listitem> 2651 <listitem>
2632 <para><constant>VIDIOC_SUBDEV_G_CROP</constant> and 2652 <para><constant>VIDIOC_SUBDEV_G_CROP</constant> and
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 9e8f85498678..8d7a77928d49 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -2300,6 +2300,12 @@ Possible values are:</entry>
2300 </row> 2300 </row>
2301 <row><entry></entry></row> 2301 <row><entry></entry></row>
2302 <row> 2302 <row>
2303 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER</constant>&nbsp;</entry>
2304 <entry>boolean</entry>
2305 </row><row><entry spanname="descr">Repeat the video sequence headers. Repeating these
2306headers makes random access to the video stream easier. Applicable to the MPEG1, 2 and 4 encoder.</entry>
2307 </row>
2308 <row>
2303 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant>&nbsp;</entry> 2309 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant>&nbsp;</entry>
2304 <entry>boolean</entry> 2310 <entry>boolean</entry>
2305 </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder. 2311 </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder.
@@ -3136,6 +3142,13 @@ giving priority to the center of the metered area.</entry>
3136 <entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant>&nbsp;</entry> 3142 <entry><constant>V4L2_EXPOSURE_METERING_SPOT</constant>&nbsp;</entry>
3137 <entry>Measure only very small area at the center of the frame.</entry> 3143 <entry>Measure only very small area at the center of the frame.</entry>
3138 </row> 3144 </row>
3145 <row>
3146 <entry><constant>V4L2_EXPOSURE_METERING_MATRIX</constant>&nbsp;</entry>
3147 <entry>A multi-zone metering. The light intensity is measured
3148in several points of the frame and the the results are combined. The
3149algorithm of the zones selection and their significance in calculating the
3150final value is device dependant.</entry>
3151 </row>
3139 </tbody> 3152 </tbody>
3140 </entrytbl> 3153 </entrytbl>
3141 </row> 3154 </row>
@@ -3848,7 +3861,7 @@ in Hz. The range and step are driver-specific.</entry>
3848 </row> 3861 </row>
3849 <row> 3862 <row>
3850 <entry spanname="id"><constant>V4L2_CID_TUNE_PREEMPHASIS</constant>&nbsp;</entry> 3863 <entry spanname="id"><constant>V4L2_CID_TUNE_PREEMPHASIS</constant>&nbsp;</entry>
3851 <entry>integer</entry> 3864 <entry>enum v4l2_preemphasis</entry>
3852 </row> 3865 </row>
3853 <row id="v4l2-preemphasis"><entry spanname="descr">Configures the pre-emphasis value for broadcasting. 3866 <row id="v4l2-preemphasis"><entry spanname="descr">Configures the pre-emphasis value for broadcasting.
3854A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies. 3867A pre-emphasis filter is applied to the broadcast to accentuate the high audio frequencies.
@@ -4687,4 +4700,76 @@ interface and may change in the future.</para>
4687 </table> 4700 </table>
4688 4701
4689 </section> 4702 </section>
4703
4704 <section id="fm-rx-controls">
4705 <title>FM Receiver Control Reference</title>
4706
4707 <para>The FM Receiver (FM_RX) class includes controls for common features of
4708 FM Reception capable devices.</para>
4709
4710 <table pgwide="1" frame="none" id="fm-rx-control-id">
4711 <title>FM_RX Control IDs</title>
4712
4713 <tgroup cols="4">
4714 <colspec colname="c1" colwidth="1*" />
4715 <colspec colname="c2" colwidth="6*" />
4716 <colspec colname="c3" colwidth="2*" />
4717 <colspec colname="c4" colwidth="6*" />
4718 <spanspec namest="c1" nameend="c2" spanname="id" />
4719 <spanspec namest="c2" nameend="c4" spanname="descr" />
4720 <thead>
4721 <row>
4722 <entry spanname="id" align="left">ID</entry>
4723 <entry align="left">Type</entry>
4724 </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
4725 </row>
4726 </thead>
4727 <tbody valign="top">
4728 <row><entry></entry></row>
4729 <row>
4730 <entry spanname="id"><constant>V4L2_CID_FM_RX_CLASS</constant>&nbsp;</entry>
4731 <entry>class</entry>
4732 </row><row><entry spanname="descr">The FM_RX class
4733descriptor. Calling &VIDIOC-QUERYCTRL; for this control will return a
4734description of this control class.</entry>
4735 </row>
4736 <row>
4737 <entry spanname="id"><constant>V4L2_CID_RDS_RECEPTION</constant>&nbsp;</entry>
4738 <entry>boolean</entry>
4739 </row><row><entry spanname="descr">Enables/disables RDS
4740 reception by the radio tuner</entry>
4741 </row>
4742 <row>
4743 <entry spanname="id"><constant>V4L2_CID_TUNE_DEEMPHASIS</constant>&nbsp;</entry>
4744 <entry>enum v4l2_deemphasis</entry>
4745 </row>
4746 <row id="v4l2-deemphasis"><entry spanname="descr">Configures the de-emphasis value for reception.
4747A de-emphasis filter is applied to the broadcast to accentuate the high audio frequencies.
4748Depending on the region, a time constant of either 50 or 75 useconds is used. The enum&nbsp;v4l2_deemphasis
4749defines possible values for de-emphasis. Here they are:</entry>
4750 </row><row>
4751 <entrytbl spanname="descr" cols="2">
4752 <tbody valign="top">
4753 <row>
4754 <entry><constant>V4L2_DEEMPHASIS_DISABLED</constant>&nbsp;</entry>
4755 <entry>No de-emphasis is applied.</entry>
4756 </row>
4757 <row>
4758 <entry><constant>V4L2_DEEMPHASIS_50_uS</constant>&nbsp;</entry>
4759 <entry>A de-emphasis of 50 uS is used.</entry>
4760 </row>
4761 <row>
4762 <entry><constant>V4L2_DEEMPHASIS_75_uS</constant>&nbsp;</entry>
4763 <entry>A de-emphasis of 75 uS is used.</entry>
4764 </row>
4765 </tbody>
4766 </entrytbl>
4767
4768 </row>
4769 <row><entry></entry></row>
4770 </tbody>
4771 </tgroup>
4772 </table>
4773
4774 </section>
4690</section> 4775</section>
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml
index e6c58559ca6b..2c4c068dde83 100644
--- a/Documentation/DocBook/media/v4l/io.xml
+++ b/Documentation/DocBook/media/v4l/io.xml
@@ -1145,6 +1145,12 @@ in which case caches have not been used.</entry>
1145 same clock outside V4L2, use 1145 same clock outside V4L2, use
1146 <function>clock_gettime(2)</function> .</entry> 1146 <function>clock_gettime(2)</function> .</entry>
1147 </row> 1147 </row>
1148 <row>
1149 <entry><constant>V4L2_BUF_FLAG_TIMESTAMP_COPY</constant></entry>
1150 <entry>0x4000</entry>
1151 <entry>The CAPTURE buffer timestamp has been taken from the
1152 corresponding OUTPUT buffer. This flag applies only to mem2mem devices.</entry>
1153 </row>
1148 </tbody> 1154 </tbody>
1149 </tgroup> 1155 </tgroup>
1150 </table> 1156 </table>
diff --git a/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml
index 576b68b33f2c..116c301656e0 100644
--- a/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml
+++ b/Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml
@@ -272,6 +272,16 @@
272 <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry> 272 <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_LENS</constant></entry>
273 <entry>Lens controller</entry> 273 <entry>Lens controller</entry>
274 </row> 274 </row>
275 <row>
276 <entry><constant>MEDIA_ENT_T_V4L2_SUBDEV_DECODER</constant></entry>
277 <entry>Video decoder, the basic function of the video decoder is to
278 accept analogue video from a wide variety of sources such as
279 broadcast, DVD players, cameras and video cassette recorders, in
280 either NTSC, PAL or HD format and still occasionally SECAM, separate
281 it into its component parts, luminance and chrominance, and output
282 it in some digital video standard, with appropriate embedded timing
283 signals.</entry>
284 </row>
275 </tbody> 285 </tbody>
276 </tgroup> 286 </tgroup>
277 </table> 287 </table>
diff --git a/Documentation/DocBook/media/v4l/subdev-formats.xml b/Documentation/DocBook/media/v4l/subdev-formats.xml
index cc51372ed5e0..adc61982df7b 100644
--- a/Documentation/DocBook/media/v4l/subdev-formats.xml
+++ b/Documentation/DocBook/media/v4l/subdev-formats.xml
@@ -93,19 +93,35 @@
93 93
94 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb"> 94 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-rgb">
95 <title>RGB formats</title> 95 <title>RGB formats</title>
96 <tgroup cols="11"> 96 <tgroup cols="27">
97 <colspec colname="id" align="left" /> 97 <colspec colname="id" align="left" />
98 <colspec colname="code" align="center"/> 98 <colspec colname="code" align="center"/>
99 <colspec colname="bit" /> 99 <colspec colname="bit" />
100 <colspec colnum="4" colname="b07" align="center" /> 100 <colspec colnum="4" colname="b23" align="center" />
101 <colspec colnum="5" colname="b06" align="center" /> 101 <colspec colnum="5" colname="b22" align="center" />
102 <colspec colnum="6" colname="b05" align="center" /> 102 <colspec colnum="6" colname="b21" align="center" />
103 <colspec colnum="7" colname="b04" align="center" /> 103 <colspec colnum="7" colname="b20" align="center" />
104 <colspec colnum="8" colname="b03" align="center" /> 104 <colspec colnum="8" colname="b19" align="center" />
105 <colspec colnum="9" colname="b02" align="center" /> 105 <colspec colnum="9" colname="b18" align="center" />
106 <colspec colnum="10" colname="b01" align="center" /> 106 <colspec colnum="10" colname="b17" align="center" />
107 <colspec colnum="11" colname="b00" align="center" /> 107 <colspec colnum="11" colname="b16" align="center" />
108 <spanspec namest="b07" nameend="b00" spanname="b0" /> 108 <colspec colnum="12" colname="b15" align="center" />
109 <colspec colnum="13" colname="b14" align="center" />
110 <colspec colnum="14" colname="b13" align="center" />
111 <colspec colnum="15" colname="b12" align="center" />
112 <colspec colnum="16" colname="b11" align="center" />
113 <colspec colnum="17" colname="b10" align="center" />
114 <colspec colnum="18" colname="b09" align="center" />
115 <colspec colnum="19" colname="b08" align="center" />
116 <colspec colnum="20" colname="b07" align="center" />
117 <colspec colnum="21" colname="b06" align="center" />
118 <colspec colnum="22" colname="b05" align="center" />
119 <colspec colnum="23" colname="b04" align="center" />
120 <colspec colnum="24" colname="b03" align="center" />
121 <colspec colnum="25" colname="b02" align="center" />
122 <colspec colnum="26" colname="b01" align="center" />
123 <colspec colnum="27" colname="b00" align="center" />
124 <spanspec namest="b23" nameend="b00" spanname="b0" />
109 <thead> 125 <thead>
110 <row> 126 <row>
111 <entry>Identifier</entry> 127 <entry>Identifier</entry>
@@ -117,6 +133,22 @@
117 <entry></entry> 133 <entry></entry>
118 <entry></entry> 134 <entry></entry>
119 <entry>Bit</entry> 135 <entry>Bit</entry>
136 <entry>23</entry>
137 <entry>22</entry>
138 <entry>21</entry>
139 <entry>20</entry>
140 <entry>19</entry>
141 <entry>18</entry>
142 <entry>17</entry>
143 <entry>16</entry>
144 <entry>15</entry>
145 <entry>14</entry>
146 <entry>13</entry>
147 <entry>12</entry>
148 <entry>11</entry>
149 <entry>10</entry>
150 <entry>9</entry>
151 <entry>8</entry>
120 <entry>7</entry> 152 <entry>7</entry>
121 <entry>6</entry> 153 <entry>6</entry>
122 <entry>5</entry> 154 <entry>5</entry>
@@ -132,6 +164,7 @@
132 <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE</entry> 164 <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE</entry>
133 <entry>0x1001</entry> 165 <entry>0x1001</entry>
134 <entry></entry> 166 <entry></entry>
167 &dash-ent-16;
135 <entry>0</entry> 168 <entry>0</entry>
136 <entry>0</entry> 169 <entry>0</entry>
137 <entry>0</entry> 170 <entry>0</entry>
@@ -145,6 +178,7 @@
145 <entry></entry> 178 <entry></entry>
146 <entry></entry> 179 <entry></entry>
147 <entry></entry> 180 <entry></entry>
181 &dash-ent-16;
148 <entry>g<subscript>3</subscript></entry> 182 <entry>g<subscript>3</subscript></entry>
149 <entry>g<subscript>2</subscript></entry> 183 <entry>g<subscript>2</subscript></entry>
150 <entry>g<subscript>1</subscript></entry> 184 <entry>g<subscript>1</subscript></entry>
@@ -158,6 +192,7 @@
158 <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE</entry> 192 <entry>V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE</entry>
159 <entry>0x1002</entry> 193 <entry>0x1002</entry>
160 <entry></entry> 194 <entry></entry>
195 &dash-ent-16;
161 <entry>g<subscript>3</subscript></entry> 196 <entry>g<subscript>3</subscript></entry>
162 <entry>g<subscript>2</subscript></entry> 197 <entry>g<subscript>2</subscript></entry>
163 <entry>g<subscript>1</subscript></entry> 198 <entry>g<subscript>1</subscript></entry>
@@ -171,6 +206,7 @@
171 <entry></entry> 206 <entry></entry>
172 <entry></entry> 207 <entry></entry>
173 <entry></entry> 208 <entry></entry>
209 &dash-ent-16;
174 <entry>0</entry> 210 <entry>0</entry>
175 <entry>0</entry> 211 <entry>0</entry>
176 <entry>0</entry> 212 <entry>0</entry>
@@ -184,6 +220,7 @@
184 <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</entry> 220 <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE</entry>
185 <entry>0x1003</entry> 221 <entry>0x1003</entry>
186 <entry></entry> 222 <entry></entry>
223 &dash-ent-16;
187 <entry>0</entry> 224 <entry>0</entry>
188 <entry>r<subscript>4</subscript></entry> 225 <entry>r<subscript>4</subscript></entry>
189 <entry>r<subscript>3</subscript></entry> 226 <entry>r<subscript>3</subscript></entry>
@@ -197,6 +234,7 @@
197 <entry></entry> 234 <entry></entry>
198 <entry></entry> 235 <entry></entry>
199 <entry></entry> 236 <entry></entry>
237 &dash-ent-16;
200 <entry>g<subscript>2</subscript></entry> 238 <entry>g<subscript>2</subscript></entry>
201 <entry>g<subscript>1</subscript></entry> 239 <entry>g<subscript>1</subscript></entry>
202 <entry>g<subscript>0</subscript></entry> 240 <entry>g<subscript>0</subscript></entry>
@@ -210,6 +248,7 @@
210 <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE</entry> 248 <entry>V4L2_MBUS_FMT_RGB555_2X8_PADHI_LE</entry>
211 <entry>0x1004</entry> 249 <entry>0x1004</entry>
212 <entry></entry> 250 <entry></entry>
251 &dash-ent-16;
213 <entry>g<subscript>2</subscript></entry> 252 <entry>g<subscript>2</subscript></entry>
214 <entry>g<subscript>1</subscript></entry> 253 <entry>g<subscript>1</subscript></entry>
215 <entry>g<subscript>0</subscript></entry> 254 <entry>g<subscript>0</subscript></entry>
@@ -223,6 +262,7 @@
223 <entry></entry> 262 <entry></entry>
224 <entry></entry> 263 <entry></entry>
225 <entry></entry> 264 <entry></entry>
265 &dash-ent-16;
226 <entry>0</entry> 266 <entry>0</entry>
227 <entry>r<subscript>4</subscript></entry> 267 <entry>r<subscript>4</subscript></entry>
228 <entry>r<subscript>3</subscript></entry> 268 <entry>r<subscript>3</subscript></entry>
@@ -236,6 +276,7 @@
236 <entry>V4L2_MBUS_FMT_BGR565_2X8_BE</entry> 276 <entry>V4L2_MBUS_FMT_BGR565_2X8_BE</entry>
237 <entry>0x1005</entry> 277 <entry>0x1005</entry>
238 <entry></entry> 278 <entry></entry>
279 &dash-ent-16;
239 <entry>b<subscript>4</subscript></entry> 280 <entry>b<subscript>4</subscript></entry>
240 <entry>b<subscript>3</subscript></entry> 281 <entry>b<subscript>3</subscript></entry>
241 <entry>b<subscript>2</subscript></entry> 282 <entry>b<subscript>2</subscript></entry>
@@ -249,6 +290,7 @@
249 <entry></entry> 290 <entry></entry>
250 <entry></entry> 291 <entry></entry>
251 <entry></entry> 292 <entry></entry>
293 &dash-ent-16;
252 <entry>g<subscript>2</subscript></entry> 294 <entry>g<subscript>2</subscript></entry>
253 <entry>g<subscript>1</subscript></entry> 295 <entry>g<subscript>1</subscript></entry>
254 <entry>g<subscript>0</subscript></entry> 296 <entry>g<subscript>0</subscript></entry>
@@ -262,6 +304,7 @@
262 <entry>V4L2_MBUS_FMT_BGR565_2X8_LE</entry> 304 <entry>V4L2_MBUS_FMT_BGR565_2X8_LE</entry>
263 <entry>0x1006</entry> 305 <entry>0x1006</entry>
264 <entry></entry> 306 <entry></entry>
307 &dash-ent-16;
265 <entry>g<subscript>2</subscript></entry> 308 <entry>g<subscript>2</subscript></entry>
266 <entry>g<subscript>1</subscript></entry> 309 <entry>g<subscript>1</subscript></entry>
267 <entry>g<subscript>0</subscript></entry> 310 <entry>g<subscript>0</subscript></entry>
@@ -275,6 +318,7 @@
275 <entry></entry> 318 <entry></entry>
276 <entry></entry> 319 <entry></entry>
277 <entry></entry> 320 <entry></entry>
321 &dash-ent-16;
278 <entry>b<subscript>4</subscript></entry> 322 <entry>b<subscript>4</subscript></entry>
279 <entry>b<subscript>3</subscript></entry> 323 <entry>b<subscript>3</subscript></entry>
280 <entry>b<subscript>2</subscript></entry> 324 <entry>b<subscript>2</subscript></entry>
@@ -288,6 +332,7 @@
288 <entry>V4L2_MBUS_FMT_RGB565_2X8_BE</entry> 332 <entry>V4L2_MBUS_FMT_RGB565_2X8_BE</entry>
289 <entry>0x1007</entry> 333 <entry>0x1007</entry>
290 <entry></entry> 334 <entry></entry>
335 &dash-ent-16;
291 <entry>r<subscript>4</subscript></entry> 336 <entry>r<subscript>4</subscript></entry>
292 <entry>r<subscript>3</subscript></entry> 337 <entry>r<subscript>3</subscript></entry>
293 <entry>r<subscript>2</subscript></entry> 338 <entry>r<subscript>2</subscript></entry>
@@ -301,6 +346,7 @@
301 <entry></entry> 346 <entry></entry>
302 <entry></entry> 347 <entry></entry>
303 <entry></entry> 348 <entry></entry>
349 &dash-ent-16;
304 <entry>g<subscript>2</subscript></entry> 350 <entry>g<subscript>2</subscript></entry>
305 <entry>g<subscript>1</subscript></entry> 351 <entry>g<subscript>1</subscript></entry>
306 <entry>g<subscript>0</subscript></entry> 352 <entry>g<subscript>0</subscript></entry>
@@ -314,6 +360,7 @@
314 <entry>V4L2_MBUS_FMT_RGB565_2X8_LE</entry> 360 <entry>V4L2_MBUS_FMT_RGB565_2X8_LE</entry>
315 <entry>0x1008</entry> 361 <entry>0x1008</entry>
316 <entry></entry> 362 <entry></entry>
363 &dash-ent-16;
317 <entry>g<subscript>2</subscript></entry> 364 <entry>g<subscript>2</subscript></entry>
318 <entry>g<subscript>1</subscript></entry> 365 <entry>g<subscript>1</subscript></entry>
319 <entry>g<subscript>0</subscript></entry> 366 <entry>g<subscript>0</subscript></entry>
@@ -327,6 +374,27 @@
327 <entry></entry> 374 <entry></entry>
328 <entry></entry> 375 <entry></entry>
329 <entry></entry> 376 <entry></entry>
377 &dash-ent-16;
378 <entry>r<subscript>4</subscript></entry>
379 <entry>r<subscript>3</subscript></entry>
380 <entry>r<subscript>2</subscript></entry>
381 <entry>r<subscript>1</subscript></entry>
382 <entry>r<subscript>0</subscript></entry>
383 <entry>g<subscript>5</subscript></entry>
384 <entry>g<subscript>4</subscript></entry>
385 <entry>g<subscript>3</subscript></entry>
386 </row>
387 <row id="V4L2-MBUS-FMT-RGB666-1X18">
388 <entry>V4L2_MBUS_FMT_RGB666_1X18</entry>
389 <entry>0x1009</entry>
390 <entry></entry>
391 <entry>-</entry>
392 <entry>-</entry>
393 <entry>-</entry>
394 <entry>-</entry>
395 <entry>-</entry>
396 <entry>-</entry>
397 <entry>r<subscript>5</subscript></entry>
330 <entry>r<subscript>4</subscript></entry> 398 <entry>r<subscript>4</subscript></entry>
331 <entry>r<subscript>3</subscript></entry> 399 <entry>r<subscript>3</subscript></entry>
332 <entry>r<subscript>2</subscript></entry> 400 <entry>r<subscript>2</subscript></entry>
@@ -335,6 +403,124 @@
335 <entry>g<subscript>5</subscript></entry> 403 <entry>g<subscript>5</subscript></entry>
336 <entry>g<subscript>4</subscript></entry> 404 <entry>g<subscript>4</subscript></entry>
337 <entry>g<subscript>3</subscript></entry> 405 <entry>g<subscript>3</subscript></entry>
406 <entry>g<subscript>2</subscript></entry>
407 <entry>g<subscript>1</subscript></entry>
408 <entry>g<subscript>0</subscript></entry>
409 <entry>b<subscript>5</subscript></entry>
410 <entry>b<subscript>4</subscript></entry>
411 <entry>b<subscript>3</subscript></entry>
412 <entry>b<subscript>2</subscript></entry>
413 <entry>b<subscript>1</subscript></entry>
414 <entry>b<subscript>0</subscript></entry>
415 </row>
416 <row id="V4L2-MBUS-FMT-RGB888-1X24">
417 <entry>V4L2_MBUS_FMT_RGB888_1X24</entry>
418 <entry>0x100a</entry>
419 <entry></entry>
420 <entry>r<subscript>7</subscript></entry>
421 <entry>r<subscript>6</subscript></entry>
422 <entry>r<subscript>5</subscript></entry>
423 <entry>r<subscript>4</subscript></entry>
424 <entry>r<subscript>3</subscript></entry>
425 <entry>r<subscript>2</subscript></entry>
426 <entry>r<subscript>1</subscript></entry>
427 <entry>r<subscript>0</subscript></entry>
428 <entry>g<subscript>7</subscript></entry>
429 <entry>g<subscript>6</subscript></entry>
430 <entry>g<subscript>5</subscript></entry>
431 <entry>g<subscript>4</subscript></entry>
432 <entry>g<subscript>3</subscript></entry>
433 <entry>g<subscript>2</subscript></entry>
434 <entry>g<subscript>1</subscript></entry>
435 <entry>g<subscript>0</subscript></entry>
436 <entry>b<subscript>7</subscript></entry>
437 <entry>b<subscript>6</subscript></entry>
438 <entry>b<subscript>5</subscript></entry>
439 <entry>b<subscript>4</subscript></entry>
440 <entry>b<subscript>3</subscript></entry>
441 <entry>b<subscript>2</subscript></entry>
442 <entry>b<subscript>1</subscript></entry>
443 <entry>b<subscript>0</subscript></entry>
444 </row>
445 <row id="V4L2-MBUS-FMT-RGB888-2X12-BE">
446 <entry>V4L2_MBUS_FMT_RGB888_2X12_BE</entry>
447 <entry>0x100b</entry>
448 <entry></entry>
449 &dash-ent-10;
450 <entry>-</entry>
451 <entry>-</entry>
452 <entry>r<subscript>7</subscript></entry>
453 <entry>r<subscript>6</subscript></entry>
454 <entry>r<subscript>5</subscript></entry>
455 <entry>r<subscript>4</subscript></entry>
456 <entry>r<subscript>3</subscript></entry>
457 <entry>r<subscript>2</subscript></entry>
458 <entry>r<subscript>1</subscript></entry>
459 <entry>r<subscript>0</subscript></entry>
460 <entry>g<subscript>7</subscript></entry>
461 <entry>g<subscript>6</subscript></entry>
462 <entry>g<subscript>5</subscript></entry>
463 <entry>g<subscript>4</subscript></entry>
464 </row>
465 <row>
466 <entry></entry>
467 <entry></entry>
468 <entry></entry>
469 &dash-ent-10;
470 <entry>-</entry>
471 <entry>-</entry>
472 <entry>g<subscript>3</subscript></entry>
473 <entry>g<subscript>2</subscript></entry>
474 <entry>g<subscript>1</subscript></entry>
475 <entry>g<subscript>0</subscript></entry>
476 <entry>b<subscript>7</subscript></entry>
477 <entry>b<subscript>6</subscript></entry>
478 <entry>b<subscript>5</subscript></entry>
479 <entry>b<subscript>4</subscript></entry>
480 <entry>b<subscript>3</subscript></entry>
481 <entry>b<subscript>2</subscript></entry>
482 <entry>b<subscript>1</subscript></entry>
483 <entry>b<subscript>0</subscript></entry>
484 </row>
485 <row id="V4L2-MBUS-FMT-RGB888-2X12-LE">
486 <entry>V4L2_MBUS_FMT_RGB888_2X12_LE</entry>
487 <entry>0x100c</entry>
488 <entry></entry>
489 &dash-ent-10;
490 <entry>-</entry>
491 <entry>-</entry>
492 <entry>g<subscript>3</subscript></entry>
493 <entry>g<subscript>2</subscript></entry>
494 <entry>g<subscript>1</subscript></entry>
495 <entry>g<subscript>0</subscript></entry>
496 <entry>b<subscript>7</subscript></entry>
497 <entry>b<subscript>6</subscript></entry>
498 <entry>b<subscript>5</subscript></entry>
499 <entry>b<subscript>4</subscript></entry>
500 <entry>b<subscript>3</subscript></entry>
501 <entry>b<subscript>2</subscript></entry>
502 <entry>b<subscript>1</subscript></entry>
503 <entry>b<subscript>0</subscript></entry>
504 </row>
505 <row>
506 <entry></entry>
507 <entry></entry>
508 <entry></entry>
509 &dash-ent-10;
510 <entry>-</entry>
511 <entry>-</entry>
512 <entry>r<subscript>7</subscript></entry>
513 <entry>r<subscript>6</subscript></entry>
514 <entry>r<subscript>5</subscript></entry>
515 <entry>r<subscript>4</subscript></entry>
516 <entry>r<subscript>3</subscript></entry>
517 <entry>r<subscript>2</subscript></entry>
518 <entry>r<subscript>1</subscript></entry>
519 <entry>r<subscript>0</subscript></entry>
520 <entry>g<subscript>7</subscript></entry>
521 <entry>g<subscript>6</subscript></entry>
522 <entry>g<subscript>5</subscript></entry>
523 <entry>g<subscript>4</subscript></entry>
338 </row> 524 </row>
339 </tbody> 525 </tbody>
340 </tgroup> 526 </tgroup>
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml
index a3cce18384e9..bfc93cdcf696 100644
--- a/Documentation/DocBook/media/v4l/v4l2.xml
+++ b/Documentation/DocBook/media/v4l/v4l2.xml
@@ -124,6 +124,7 @@ Remote Controller chapter.</contrib>
124 <year>2010</year> 124 <year>2010</year>
125 <year>2011</year> 125 <year>2011</year>
126 <year>2012</year> 126 <year>2012</year>
127 <year>2013</year>
127 <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin 128 <holder>Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin
128Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab, 129Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
129 Pawel Osciak</holder> 130 Pawel Osciak</holder>
@@ -140,12 +141,22 @@ structs, ioctls) must be noted in more detail in the history chapter
140applications. --> 141applications. -->
141 142
142 <revision> 143 <revision>
144 <revnumber>3.10</revnumber>
145 <date>2013-03-25</date>
146 <authorinitials>hv</authorinitials>
147 <revremark>Remove obsolete and unused DV_PRESET ioctls:
148 VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
149 VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability
150 flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO.
151 </revremark>
152 </revision>
153
154 <revision>
143 <revnumber>3.9</revnumber> 155 <revnumber>3.9</revnumber>
144 <date>2012-12-03</date> 156 <date>2012-12-03</date>
145 <authorinitials>sa, sn</authorinitials> 157 <authorinitials>sa, sn</authorinitials>
146 <revremark>Added timestamp types to v4l2_buffer. 158 <revremark>Added timestamp types to v4l2_buffer.
147 Added <constant>V4L2_EVENT_CTRL_CH_RANGE</constant> control 159 Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag.
148 event changes flag, see <xref linkend="changes-flags"/>.
149 </revremark> 160 </revremark>
150 </revision> 161 </revision>
151 162
@@ -537,6 +548,7 @@ and discussions on the V4L mailing list.</revremark>
537 &sub-create-bufs; 548 &sub-create-bufs;
538 &sub-cropcap; 549 &sub-cropcap;
539 &sub-dbg-g-chip-ident; 550 &sub-dbg-g-chip-ident;
551 &sub-dbg-g-chip-info;
540 &sub-dbg-g-register; 552 &sub-dbg-g-register;
541 &sub-decoder-cmd; 553 &sub-decoder-cmd;
542 &sub-dqevent; 554 &sub-dqevent;
@@ -544,7 +556,6 @@ and discussions on the V4L mailing list.</revremark>
544 &sub-encoder-cmd; 556 &sub-encoder-cmd;
545 &sub-enumaudio; 557 &sub-enumaudio;
546 &sub-enumaudioout; 558 &sub-enumaudioout;
547 &sub-enum-dv-presets;
548 &sub-enum-dv-timings; 559 &sub-enum-dv-timings;
549 &sub-enum-fmt; 560 &sub-enum-fmt;
550 &sub-enum-framesizes; 561 &sub-enum-framesizes;
@@ -558,7 +569,6 @@ and discussions on the V4L mailing list.</revremark>
558 &sub-g-audioout; 569 &sub-g-audioout;
559 &sub-g-crop; 570 &sub-g-crop;
560 &sub-g-ctrl; 571 &sub-g-ctrl;
561 &sub-g-dv-preset;
562 &sub-g-dv-timings; 572 &sub-g-dv-timings;
563 &sub-g-enc-index; 573 &sub-g-enc-index;
564 &sub-g-ext-ctrls; 574 &sub-g-ext-ctrls;
@@ -582,7 +592,6 @@ and discussions on the V4L mailing list.</revremark>
582 &sub-querybuf; 592 &sub-querybuf;
583 &sub-querycap; 593 &sub-querycap;
584 &sub-queryctrl; 594 &sub-queryctrl;
585 &sub-query-dv-preset;
586 &sub-query-dv-timings; 595 &sub-query-dv-timings;
587 &sub-querystd; 596 &sub-querystd;
588 &sub-reqbufs; 597 &sub-reqbufs;
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
index 4ecd966808de..921e18550d26 100644
--- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml
@@ -200,10 +200,10 @@ the values from <xref linkend="chip-ids" />.</entry>
200 &cs-def; 200 &cs-def;
201 <tbody valign="top"> 201 <tbody valign="top">
202 <row> 202 <row>
203 <entry><constant>V4L2_CHIP_MATCH_HOST</constant></entry> 203 <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry>
204 <entry>0</entry> 204 <entry>0</entry>
205 <entry>Match the nth chip on the card, zero for the 205 <entry>Match the nth chip on the card, zero for the
206 host chip. Does not match &i2c; chips.</entry> 206 bridge chip. Does not match sub-devices.</entry>
207 </row> 207 </row>
208 <row> 208 <row>
209 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> 209 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
@@ -220,6 +220,11 @@ the values from <xref linkend="chip-ids" />.</entry>
220 <entry>3</entry> 220 <entry>3</entry>
221 <entry>Match the nth anciliary AC97 chip.</entry> 221 <entry>Match the nth anciliary AC97 chip.</entry>
222 </row> 222 </row>
223 <row>
224 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
225 <entry>4</entry>
226 <entry>Match the nth sub-device. Can't be used with this ioctl.</entry>
227 </row>
223 </tbody> 228 </tbody>
224 </tgroup> 229 </tgroup>
225 </table> 230 </table>
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml
new file mode 100644
index 000000000000..e1cece6c5de1
--- /dev/null
+++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml
@@ -0,0 +1,223 @@
1<refentry id="vidioc-dbg-g-chip-info">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_DBG_G_CHIP_INFO</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_DBG_G_CHIP_INFO</refname>
9 <refpurpose>Identify the chips on a TV card</refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv>
13 <funcsynopsis>
14 <funcprototype>
15 <funcdef>int <function>ioctl</function></funcdef>
16 <paramdef>int <parameter>fd</parameter></paramdef>
17 <paramdef>int <parameter>request</parameter></paramdef>
18 <paramdef>struct v4l2_dbg_chip_info
19*<parameter>argp</parameter></paramdef>
20 </funcprototype>
21 </funcsynopsis>
22 </refsynopsisdiv>
23
24 <refsect1>
25 <title>Arguments</title>
26
27 <variablelist>
28 <varlistentry>
29 <term><parameter>fd</parameter></term>
30 <listitem>
31 <para>&fd;</para>
32 </listitem>
33 </varlistentry>
34 <varlistentry>
35 <term><parameter>request</parameter></term>
36 <listitem>
37 <para>VIDIOC_DBG_G_CHIP_INFO</para>
38 </listitem>
39 </varlistentry>
40 <varlistentry>
41 <term><parameter>argp</parameter></term>
42 <listitem>
43 <para></para>
44 </listitem>
45 </varlistentry>
46 </variablelist>
47 </refsect1>
48
49 <refsect1>
50 <title>Description</title>
51
52 <note>
53 <title>Experimental</title>
54
55 <para>This is an <link
56linkend="experimental">experimental</link> interface and may change in
57the future.</para>
58 </note>
59
60 <para>For driver debugging purposes this ioctl allows test
61applications to query the driver about the chips present on the TV
62card. Regular applications must not use it. When you found a chip
63specific bug, please contact the linux-media mailing list (&v4l-ml;)
64so it can be fixed.</para>
65
66 <para>Additionally the Linux kernel must be compiled with the
67<constant>CONFIG_VIDEO_ADV_DEBUG</constant> option to enable this ioctl.</para>
68
69 <para>To query the driver applications must initialize the
70<structfield>match.type</structfield> and
71<structfield>match.addr</structfield> or <structfield>match.name</structfield>
72fields of a &v4l2-dbg-chip-info;
73and call <constant>VIDIOC_DBG_G_CHIP_INFO</constant> with a pointer to
74this structure. On success the driver stores information about the
75selected chip in the <structfield>name</structfield> and
76<structfield>flags</structfield> fields. On failure the structure
77remains unchanged.</para>
78
79 <para>When <structfield>match.type</structfield> is
80<constant>V4L2_CHIP_MATCH_BRIDGE</constant>,
81<structfield>match.addr</structfield> selects the nth bridge 'chip'
82on the TV card. You can enumerate all chips by starting at zero and
83incrementing <structfield>match.addr</structfield> by one until
84<constant>VIDIOC_DBG_G_CHIP_INFO</constant> fails with an &EINVAL;.
85The number zero always selects the bridge chip itself, &eg; the chip
86connected to the PCI or USB bus. Non-zero numbers identify specific
87parts of the bridge chip such as an AC97 register block.</para>
88
89 <para>When <structfield>match.type</structfield> is
90<constant>V4L2_CHIP_MATCH_SUBDEV</constant>,
91<structfield>match.addr</structfield> selects the nth sub-device. This
92allows you to enumerate over all sub-devices.</para>
93
94 <para>On success, the <structfield>name</structfield> field will
95contain a chip name and the <structfield>flags</structfield> field will
96contain <constant>V4L2_CHIP_FL_READABLE</constant> if the driver supports
97reading registers from the device or <constant>V4L2_CHIP_FL_WRITABLE</constant>
98if the driver supports writing registers to the device.</para>
99
100 <para>We recommended the <application>v4l2-dbg</application>
101utility over calling this ioctl directly. It is available from the
102LinuxTV v4l-dvb repository; see <ulink
103url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for
104access instructions.</para>
105
106 <!-- Note for convenience vidioc-dbg-g-register.sgml
107 contains a duplicate of this table. -->
108 <table pgwide="1" frame="none" id="name-v4l2-dbg-match">
109 <title>struct <structname>v4l2_dbg_match</structname></title>
110 <tgroup cols="4">
111 &cs-ustr;
112 <tbody valign="top">
113 <row>
114 <entry>__u32</entry>
115 <entry><structfield>type</structfield></entry>
116 <entry>See <xref linkend="name-chip-match-types" /> for a list of
117possible types.</entry>
118 </row>
119 <row>
120 <entry>union</entry>
121 <entry>(anonymous)</entry>
122 </row>
123 <row>
124 <entry></entry>
125 <entry>__u32</entry>
126 <entry><structfield>addr</structfield></entry>
127 <entry>Match a chip by this number, interpreted according
128to the <structfield>type</structfield> field.</entry>
129 </row>
130 <row>
131 <entry></entry>
132 <entry>char</entry>
133 <entry><structfield>name[32]</structfield></entry>
134 <entry>Match a chip by this name, interpreted according
135to the <structfield>type</structfield> field.</entry>
136 </row>
137 </tbody>
138 </tgroup>
139 </table>
140
141 <table pgwide="1" frame="none" id="v4l2-dbg-chip-info">
142 <title>struct <structname>v4l2_dbg_chip_info</structname></title>
143 <tgroup cols="3">
144 &cs-str;
145 <tbody valign="top">
146 <row>
147 <entry>struct v4l2_dbg_match</entry>
148 <entry><structfield>match</structfield></entry>
149 <entry>How to match the chip, see <xref linkend="name-v4l2-dbg-match" />.</entry>
150 </row>
151 <row>
152 <entry>char</entry>
153 <entry><structfield>name[32]</structfield></entry>
154 <entry>The name of the chip.</entry>
155 </row>
156 <row>
157 <entry>__u32</entry>
158 <entry><structfield>flags</structfield></entry>
159 <entry>Set by the driver. If <constant>V4L2_CHIP_FL_READABLE</constant>
160is set, then the driver supports reading registers from the device. If
161<constant>V4L2_CHIP_FL_WRITABLE</constant> is set, then it supports writing registers.</entry>
162 </row>
163 <row>
164 <entry>__u32</entry>
165 <entry><structfield>reserved[8]</structfield></entry>
166 <entry>Reserved fields, both application and driver must set these to 0.</entry>
167 </row>
168 </tbody>
169 </tgroup>
170 </table>
171
172 <!-- Note for convenience vidioc-dbg-g-register.sgml
173 contains a duplicate of this table. -->
174 <table pgwide="1" frame="none" id="name-chip-match-types">
175 <title>Chip Match Types</title>
176 <tgroup cols="3">
177 &cs-def;
178 <tbody valign="top">
179 <row>
180 <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry>
181 <entry>0</entry>
182 <entry>Match the nth chip on the card, zero for the
183 bridge chip. Does not match sub-devices.</entry>
184 </row>
185 <row>
186 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
187 <entry>1</entry>
188 <entry>Match an &i2c; chip by its driver name. Can't be used with this ioctl.</entry>
189 </row>
190 <row>
191 <entry><constant>V4L2_CHIP_MATCH_I2C_ADDR</constant></entry>
192 <entry>2</entry>
193 <entry>Match a chip by its 7 bit &i2c; bus address. Can't be used with this ioctl.</entry>
194 </row>
195 <row>
196 <entry><constant>V4L2_CHIP_MATCH_AC97</constant></entry>
197 <entry>3</entry>
198 <entry>Match the nth anciliary AC97 chip. Can't be used with this ioctl.</entry>
199 </row>
200 <row>
201 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
202 <entry>4</entry>
203 <entry>Match the nth sub-device.</entry>
204 </row>
205 </tbody>
206 </tgroup>
207 </table>
208 </refsect1>
209
210 <refsect1>
211 &return-value;
212
213 <variablelist>
214 <varlistentry>
215 <term><errorcode>EINVAL</errorcode></term>
216 <listitem>
217 <para>The <structfield>match_type</structfield> is invalid or
218no device could be matched.</para>
219 </listitem>
220 </varlistentry>
221 </variablelist>
222 </refsect1>
223</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
index a44aebc7997a..d13bac9e2445 100644
--- a/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml
@@ -87,7 +87,7 @@ written into the register.</para>
87 87
88 <para>To read a register applications must initialize the 88 <para>To read a register applications must initialize the
89<structfield>match.type</structfield>, 89<structfield>match.type</structfield>,
90<structfield>match.chip</structfield> or <structfield>match.name</structfield> and 90<structfield>match.addr</structfield> or <structfield>match.name</structfield> and
91<structfield>reg</structfield> fields, and call 91<structfield>reg</structfield> fields, and call
92<constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this 92<constant>VIDIOC_DBG_G_REGISTER</constant> with a pointer to this
93structure. On success the driver stores the register value in the 93structure. On success the driver stores the register value in the
@@ -95,11 +95,11 @@ structure. On success the driver stores the register value in the
95unchanged.</para> 95unchanged.</para>
96 96
97 <para>When <structfield>match.type</structfield> is 97 <para>When <structfield>match.type</structfield> is
98<constant>V4L2_CHIP_MATCH_HOST</constant>, 98<constant>V4L2_CHIP_MATCH_BRIDGE</constant>,
99<structfield>match.addr</structfield> selects the nth non-&i2c; chip 99<structfield>match.addr</structfield> selects the nth non-sub-device chip
100on the TV card. The number zero always selects the host chip, &eg; the 100on the TV card. The number zero always selects the host chip, &eg; the
101chip connected to the PCI or USB bus. You can find out which chips are 101chip connected to the PCI or USB bus. You can find out which chips are
102present with the &VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para> 102present with the &VIDIOC-DBG-G-CHIP-INFO; ioctl.</para>
103 103
104 <para>When <structfield>match.type</structfield> is 104 <para>When <structfield>match.type</structfield> is
105<constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>, 105<constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant>,
@@ -109,7 +109,7 @@ For instance
109supported by the saa7127 driver, regardless of its &i2c; bus address. 109supported by the saa7127 driver, regardless of its &i2c; bus address.
110When multiple chips supported by the same driver are present, the 110When multiple chips supported by the same driver are present, the
111effect of these ioctls is undefined. Again with the 111effect of these ioctls is undefined. Again with the
112&VIDIOC-DBG-G-CHIP-IDENT; ioctl you can find out which &i2c; chips are 112&VIDIOC-DBG-G-CHIP-INFO; ioctl you can find out which &i2c; chips are
113present.</para> 113present.</para>
114 114
115 <para>When <structfield>match.type</structfield> is 115 <para>When <structfield>match.type</structfield> is
@@ -122,19 +122,23 @@ bus address.</para>
122<structfield>match.addr</structfield> selects the nth AC97 chip 122<structfield>match.addr</structfield> selects the nth AC97 chip
123on the TV card.</para> 123on the TV card.</para>
124 124
125 <para>When <structfield>match.type</structfield> is
126<constant>V4L2_CHIP_MATCH_SUBDEV</constant>,
127<structfield>match.addr</structfield> selects the nth sub-device.</para>
128
125 <note> 129 <note>
126 <title>Success not guaranteed</title> 130 <title>Success not guaranteed</title>
127 131
128 <para>Due to a flaw in the Linux &i2c; bus driver these ioctls may 132 <para>Due to a flaw in the Linux &i2c; bus driver these ioctls may
129return successfully without actually reading or writing a register. To 133return successfully without actually reading or writing a register. To
130catch the most likely failure we recommend a &VIDIOC-DBG-G-CHIP-IDENT; 134catch the most likely failure we recommend a &VIDIOC-DBG-G-CHIP-INFO;
131call confirming the presence of the selected &i2c; chip.</para> 135call confirming the presence of the selected &i2c; chip.</para>
132 </note> 136 </note>
133 137
134 <para>These ioctls are optional, not all drivers may support them. 138 <para>These ioctls are optional, not all drivers may support them.
135However when a driver supports these ioctls it must also support 139However when a driver supports these ioctls it must also support
136&VIDIOC-DBG-G-CHIP-IDENT;. Conversely it may support 140&VIDIOC-DBG-G-CHIP-INFO;. Conversely it may support
137<constant>VIDIOC_DBG_G_CHIP_IDENT</constant> but not these ioctls.</para> 141<constant>VIDIOC_DBG_G_CHIP_INFO</constant> but not these ioctls.</para>
138 142
139 <para><constant>VIDIOC_DBG_G_REGISTER</constant> and 143 <para><constant>VIDIOC_DBG_G_REGISTER</constant> and
140<constant>VIDIOC_DBG_S_REGISTER</constant> were introduced in Linux 144<constant>VIDIOC_DBG_S_REGISTER</constant> were introduced in Linux
@@ -217,10 +221,10 @@ register.</entry>
217 &cs-def; 221 &cs-def;
218 <tbody valign="top"> 222 <tbody valign="top">
219 <row> 223 <row>
220 <entry><constant>V4L2_CHIP_MATCH_HOST</constant></entry> 224 <entry><constant>V4L2_CHIP_MATCH_BRIDGE</constant></entry>
221 <entry>0</entry> 225 <entry>0</entry>
222 <entry>Match the nth chip on the card, zero for the 226 <entry>Match the nth chip on the card, zero for the
223 host chip. Does not match &i2c; chips.</entry> 227 bridge chip. Does not match sub-devices.</entry>
224 </row> 228 </row>
225 <row> 229 <row>
226 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry> 230 <entry><constant>V4L2_CHIP_MATCH_I2C_DRIVER</constant></entry>
@@ -237,6 +241,11 @@ register.</entry>
237 <entry>3</entry> 241 <entry>3</entry>
238 <entry>Match the nth anciliary AC97 chip.</entry> 242 <entry>Match the nth anciliary AC97 chip.</entry>
239 </row> 243 </row>
244 <row>
245 <entry><constant>V4L2_CHIP_MATCH_SUBDEV</constant></entry>
246 <entry>4</entry>
247 <entry>Match the nth sub-device.</entry>
248 </row>
240 </tbody> 249 </tbody>
241 </tgroup> 250 </tgroup>
242 </table> 251 </table>
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
deleted file mode 100644
index fced5fb0dbf0..000000000000
--- a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml
+++ /dev/null
@@ -1,240 +0,0 @@
1<refentry id="vidioc-enum-dv-presets">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_ENUM_DV_PRESETS</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_ENUM_DV_PRESETS</refname>
9 <refpurpose>Enumerate supported Digital Video presets</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_dv_enum_preset *<parameter>argp</parameter></paramdef>
19 </funcprototype>
20 </funcsynopsis>
21 </refsynopsisdiv>
22
23 <refsect1>
24 <title>Arguments</title>
25
26 <variablelist>
27 <varlistentry>
28 <term><parameter>fd</parameter></term>
29 <listitem>
30 <para>&fd;</para>
31 </listitem>
32 </varlistentry>
33 <varlistentry>
34 <term><parameter>request</parameter></term>
35 <listitem>
36 <para>VIDIOC_ENUM_DV_PRESETS</para>
37 </listitem>
38 </varlistentry>
39 <varlistentry>
40 <term><parameter>argp</parameter></term>
41 <listitem>
42 <para></para>
43 </listitem>
44 </varlistentry>
45 </variablelist>
46 </refsect1>
47
48 <refsect1>
49 <title>Description</title>
50
51 <para>This ioctl is <emphasis role="bold">deprecated</emphasis>.
52 New drivers and applications should use &VIDIOC-ENUM-DV-TIMINGS; instead.
53 </para>
54
55 <para>To query the attributes of a DV preset, applications initialize the
56<structfield>index</structfield> field and zero the reserved array of &v4l2-dv-enum-preset;
57and call the <constant>VIDIOC_ENUM_DV_PRESETS</constant> ioctl with a pointer to this
58structure. Drivers fill the rest of the structure or return an
59&EINVAL; when the index is out of bounds. To enumerate all DV Presets supported,
60applications shall begin at index zero, incrementing by one until the
61driver returns <errorcode>EINVAL</errorcode>. Drivers may enumerate a
62different set of DV presets after switching the video input or
63output.</para>
64
65 <table pgwide="1" frame="none" id="v4l2-dv-enum-preset">
66 <title>struct <structname>v4l2_dv_enum_presets</structname></title>
67 <tgroup cols="3">
68 &cs-str;
69 <tbody valign="top">
70 <row>
71 <entry>__u32</entry>
72 <entry><structfield>index</structfield></entry>
73 <entry>Number of the DV preset, set by the
74application.</entry>
75 </row>
76 <row>
77 <entry>__u32</entry>
78 <entry><structfield>preset</structfield></entry>
79 <entry>This field identifies one of the DV preset values listed in <xref linkend="v4l2-dv-presets-vals"/>.</entry>
80 </row>
81 <row>
82 <entry>__u8</entry>
83 <entry><structfield>name</structfield>[24]</entry>
84 <entry>Name of the preset, a NUL-terminated ASCII string, for example: "720P-60", "1080I-60". This information is
85intended for the user.</entry>
86 </row>
87 <row>
88 <entry>__u32</entry>
89 <entry><structfield>width</structfield></entry>
90 <entry>Width of the active video in pixels for the DV preset.</entry>
91 </row>
92 <row>
93 <entry>__u32</entry>
94 <entry><structfield>height</structfield></entry>
95 <entry>Height of the active video in lines for the DV preset.</entry>
96 </row>
97 <row>
98 <entry>__u32</entry>
99 <entry><structfield>reserved</structfield>[4]</entry>
100 <entry>Reserved for future extensions. Drivers must set the array to zero.</entry>
101 </row>
102 </tbody>
103 </tgroup>
104 </table>
105
106 <table pgwide="1" frame="none" id="v4l2-dv-presets-vals">
107 <title>struct <structname>DV Presets</structname></title>
108 <tgroup cols="3">
109 &cs-str;
110 <tbody valign="top">
111 <row>
112 <entry>Preset</entry>
113 <entry>Preset value</entry>
114 <entry>Description</entry>
115 </row>
116 <row>
117 <entry></entry>
118 <entry></entry>
119 <entry></entry>
120 </row>
121 <row>
122 <entry>V4L2_DV_INVALID</entry>
123 <entry>0</entry>
124 <entry>Invalid preset value.</entry>
125 </row>
126 <row>
127 <entry>V4L2_DV_480P59_94</entry>
128 <entry>1</entry>
129 <entry>720x480 progressive video at 59.94 fps as per BT.1362.</entry>
130 </row>
131 <row>
132 <entry>V4L2_DV_576P50</entry>
133 <entry>2</entry>
134 <entry>720x576 progressive video at 50 fps as per BT.1362.</entry>
135 </row>
136 <row>
137 <entry>V4L2_DV_720P24</entry>
138 <entry>3</entry>
139 <entry>1280x720 progressive video at 24 fps as per SMPTE 296M.</entry>
140 </row>
141 <row>
142 <entry>V4L2_DV_720P25</entry>
143 <entry>4</entry>
144 <entry>1280x720 progressive video at 25 fps as per SMPTE 296M.</entry>
145 </row>
146 <row>
147 <entry>V4L2_DV_720P30</entry>
148 <entry>5</entry>
149 <entry>1280x720 progressive video at 30 fps as per SMPTE 296M.</entry>
150 </row>
151 <row>
152 <entry>V4L2_DV_720P50</entry>
153 <entry>6</entry>
154 <entry>1280x720 progressive video at 50 fps as per SMPTE 296M.</entry>
155 </row>
156 <row>
157 <entry>V4L2_DV_720P59_94</entry>
158 <entry>7</entry>
159 <entry>1280x720 progressive video at 59.94 fps as per SMPTE 274M.</entry>
160 </row>
161 <row>
162 <entry>V4L2_DV_720P60</entry>
163 <entry>8</entry>
164 <entry>1280x720 progressive video at 60 fps as per SMPTE 274M/296M.</entry>
165 </row>
166 <row>
167 <entry>V4L2_DV_1080I29_97</entry>
168 <entry>9</entry>
169 <entry>1920x1080 interlaced video at 29.97 fps as per BT.1120/SMPTE 274M.</entry>
170 </row>
171 <row>
172 <entry>V4L2_DV_1080I30</entry>
173 <entry>10</entry>
174 <entry>1920x1080 interlaced video at 30 fps as per BT.1120/SMPTE 274M.</entry>
175 </row>
176 <row>
177 <entry>V4L2_DV_1080I25</entry>
178 <entry>11</entry>
179 <entry>1920x1080 interlaced video at 25 fps as per BT.1120.</entry>
180 </row>
181 <row>
182 <entry>V4L2_DV_1080I50</entry>
183 <entry>12</entry>
184 <entry>1920x1080 interlaced video at 50 fps as per SMPTE 296M.</entry>
185 </row>
186 <row>
187 <entry>V4L2_DV_1080I60</entry>
188 <entry>13</entry>
189 <entry>1920x1080 interlaced video at 60 fps as per SMPTE 296M.</entry>
190 </row>
191 <row>
192 <entry>V4L2_DV_1080P24</entry>
193 <entry>14</entry>
194 <entry>1920x1080 progressive video at 24 fps as per SMPTE 296M.</entry>
195 </row>
196 <row>
197 <entry>V4L2_DV_1080P25</entry>
198 <entry>15</entry>
199 <entry>1920x1080 progressive video at 25 fps as per SMPTE 296M.</entry>
200 </row>
201 <row>
202 <entry>V4L2_DV_1080P30</entry>
203 <entry>16</entry>
204 <entry>1920x1080 progressive video at 30 fps as per SMPTE 296M.</entry>
205 </row>
206 <row>
207 <entry>V4L2_DV_1080P50</entry>
208 <entry>17</entry>
209 <entry>1920x1080 progressive video at 50 fps as per BT.1120.</entry>
210 </row>
211 <row>
212 <entry>V4L2_DV_1080P60</entry>
213 <entry>18</entry>
214 <entry>1920x1080 progressive video at 60 fps as per BT.1120.</entry>
215 </row>
216 </tbody>
217 </tgroup>
218 </table>
219 </refsect1>
220
221 <refsect1>
222 &return-value;
223
224 <variablelist>
225 <varlistentry>
226 <term><errorcode>EINVAL</errorcode></term>
227 <listitem>
228 <para>The &v4l2-dv-enum-preset; <structfield>index</structfield>
229is out of bounds.</para>
230 </listitem>
231 </varlistentry>
232 <varlistentry>
233 <term><errorcode>ENODATA</errorcode></term>
234 <listitem>
235 <para>Digital video presets are not supported for this input or output.</para>
236 </listitem>
237 </varlistentry>
238 </variablelist>
239 </refsect1>
240</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
index 3c9a81305ad4..493a39a8ef21 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml
@@ -278,11 +278,6 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009.
278 &cs-def; 278 &cs-def;
279 <tbody valign="top"> 279 <tbody valign="top">
280 <row> 280 <row>
281 <entry><constant>V4L2_IN_CAP_PRESETS</constant></entry>
282 <entry>0x00000001</entry>
283 <entry>This input supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry>
284 </row>
285 <row>
286 <entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry> 281 <entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry>
287 <entry>0x00000002</entry> 282 <entry>0x00000002</entry>
288 <entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> 283 <entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
index f4ab0798545d..2654e097df39 100644
--- a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml
@@ -163,11 +163,6 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009.
163 &cs-def; 163 &cs-def;
164 <tbody valign="top"> 164 <tbody valign="top">
165 <row> 165 <row>
166 <entry><constant>V4L2_OUT_CAP_PRESETS</constant></entry>
167 <entry>0x00000001</entry>
168 <entry>This output supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry>
169 </row>
170 <row>
171 <entry><constant>V4L2_OUT_CAP_DV_TIMINGS</constant></entry> 166 <entry><constant>V4L2_OUT_CAP_DV_TIMINGS</constant></entry>
172 <entry>0x00000002</entry> 167 <entry>0x00000002</entry>
173 <entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry> 168 <entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml b/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml
deleted file mode 100644
index b9ea37634f6c..000000000000
--- a/Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml
+++ /dev/null
@@ -1,113 +0,0 @@
1<refentry id="vidioc-g-dv-preset">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_G_DV_PRESET</refname>
9 <refname>VIDIOC_S_DV_PRESET</refname>
10 <refpurpose>Query or select the DV preset of the current input or output</refpurpose>
11 </refnamediv>
12
13 <refsynopsisdiv>
14 <funcsynopsis>
15 <funcprototype>
16 <funcdef>int <function>ioctl</function></funcdef>
17 <paramdef>int <parameter>fd</parameter></paramdef>
18 <paramdef>int <parameter>request</parameter></paramdef>
19 <paramdef>struct v4l2_dv_preset *<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_G_DV_PRESET, VIDIOC_S_DV_PRESET</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 <para>These ioctls are <emphasis role="bold">deprecated</emphasis>.
53 New drivers and applications should use &VIDIOC-G-DV-TIMINGS; and &VIDIOC-S-DV-TIMINGS;
54 instead.
55 </para>
56
57 <para>To query and select the current DV preset, applications
58use the <constant>VIDIOC_G_DV_PRESET</constant> and <constant>VIDIOC_S_DV_PRESET</constant>
59ioctls which take a pointer to a &v4l2-dv-preset; type as argument.
60Applications must zero the reserved array in &v4l2-dv-preset;.
61<constant>VIDIOC_G_DV_PRESET</constant> returns a dv preset in the field
62<structfield>preset</structfield> of &v4l2-dv-preset;.</para>
63
64 <para><constant>VIDIOC_S_DV_PRESET</constant> accepts a pointer to a &v4l2-dv-preset;
65that has the preset value to be set. Applications must zero the reserved array in &v4l2-dv-preset;.
66If the preset is not supported, it returns an &EINVAL; </para>
67 </refsect1>
68
69 <refsect1>
70 &return-value;
71
72 <variablelist>
73 <varlistentry>
74 <term><errorcode>EINVAL</errorcode></term>
75 <listitem>
76 <para>This ioctl is not supported, or the
77<constant>VIDIOC_S_DV_PRESET</constant>,<constant>VIDIOC_S_DV_PRESET</constant> parameter was unsuitable.</para>
78 </listitem>
79 </varlistentry>
80 <varlistentry>
81 <term><errorcode>ENODATA</errorcode></term>
82 <listitem>
83 <para>Digital video presets are not supported for this input or output.</para>
84 </listitem>
85 </varlistentry>
86 <varlistentry>
87 <term><errorcode>EBUSY</errorcode></term>
88 <listitem>
89 <para>The device is busy and therefore can not change the preset.</para>
90 </listitem>
91 </varlistentry>
92 </variablelist>
93
94 <table pgwide="1" frame="none" id="v4l2-dv-preset">
95 <title>struct <structname>v4l2_dv_preset</structname></title>
96 <tgroup cols="3">
97 &cs-str;
98 <tbody valign="top">
99 <row>
100 <entry>__u32</entry>
101 <entry><structfield>preset</structfield></entry>
102 <entry>Preset value to represent the digital video timings</entry>
103 </row>
104 <row>
105 <entry>__u32</entry>
106 <entry><structfield>reserved[4]</structfield></entry>
107 <entry>Reserved fields for future use</entry>
108 </row>
109 </tbody>
110 </tgroup>
111 </table>
112 </refsect1>
113</refentry>
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
index 4e16112df992..b3bb9575b2e0 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml
@@ -319,6 +319,15 @@ These controls are described in <xref
319 processing controls. These controls are described in <xref 319 processing controls. These controls are described in <xref
320 linkend="image-process-controls" />.</entry> 320 linkend="image-process-controls" />.</entry>
321 </row> 321 </row>
322
323 <row>
324 <entry><constant>V4L2_CTRL_CLASS_FM_RX</constant></entry>
325 <entry>0xa10000</entry>
326 <entry>The class containing FM Receiver (FM RX) controls.
327These controls are described in <xref
328 linkend="fm-rx-controls" />.</entry>
329 </row>
330
322 </tbody> 331 </tbody>
323 </tgroup> 332 </tgroup>
324 </table> 333 </table>
diff --git a/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml b/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml
deleted file mode 100644
index 68b49d09e245..000000000000
--- a/Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml
+++ /dev/null
@@ -1,78 +0,0 @@
1<refentry id="vidioc-query-dv-preset">
2 <refmeta>
3 <refentrytitle>ioctl VIDIOC_QUERY_DV_PRESET</refentrytitle>
4 &manvol;
5 </refmeta>
6
7 <refnamediv>
8 <refname>VIDIOC_QUERY_DV_PRESET</refname>
9 <refpurpose>Sense the DV preset received by the current
10input</refpurpose>
11 </refnamediv>
12
13 <refsynopsisdiv>
14 <funcsynopsis>
15 <funcprototype>
16 <funcdef>int <function>ioctl</function></funcdef>
17 <paramdef>int <parameter>fd</parameter></paramdef>
18 <paramdef>int <parameter>request</parameter></paramdef>
19 <paramdef>struct v4l2_dv_preset *<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_QUERY_DV_PRESET</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 <para>This ioctl is <emphasis role="bold">deprecated</emphasis>.
53 New drivers and applications should use &VIDIOC-QUERY-DV-TIMINGS; instead.
54 </para>
55
56 <para>The hardware may be able to detect the current DV preset
57automatically, similar to sensing the video standard. To do so, applications
58call <constant> VIDIOC_QUERY_DV_PRESET</constant> with a pointer to a
59&v4l2-dv-preset; type. Once the hardware detects a preset, that preset is
60returned in the preset field of &v4l2-dv-preset;. If the preset could not be
61detected because there was no signal, or the signal was unreliable, or the
62signal did not map to a supported preset, then the value V4L2_DV_INVALID is
63returned.</para>
64 </refsect1>
65
66 <refsect1>
67 &return-value;
68
69 <variablelist>
70 <varlistentry>
71 <term><errorcode>ENODATA</errorcode></term>
72 <listitem>
73 <para>Digital video presets are not supported for this input or output.</para>
74 </listitem>
75 </varlistentry>
76 </variablelist>
77 </refsect1>
78</refentry>
diff --git a/Documentation/DocBook/media_api.tmpl b/Documentation/DocBook/media_api.tmpl
index 1f6593deb995..6a8b7158697f 100644
--- a/Documentation/DocBook/media_api.tmpl
+++ b/Documentation/DocBook/media_api.tmpl
@@ -23,6 +23,7 @@
23<!-- LinuxTV v4l-dvb repository. --> 23<!-- LinuxTV v4l-dvb repository. -->
24<!ENTITY v4l-dvb "<ulink url='http://linuxtv.org/repo/'>http://linuxtv.org/repo/</ulink>"> 24<!ENTITY v4l-dvb "<ulink url='http://linuxtv.org/repo/'>http://linuxtv.org/repo/</ulink>">
25<!ENTITY dash-ent-10 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>"> 25<!ENTITY dash-ent-10 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>">
26<!ENTITY dash-ent-16 "<entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry><entry>-</entry>">
26]> 27]>
27 28
28<book id="media_api"> 29<book id="media_api">