aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2012-08-14 05:10:01 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-08-15 17:58:04 -0400
commit071408b6dcc1cb29150699621e13b0ddb81e3cf1 (patch)
treef48a6e8e3caf14539c1e33fe3a72d13b949d2639 /Documentation
parent34affc6a5c75ce6523d7282d56c51bb36c183da7 (diff)
[media] DocBook validation fixes
More validation fixes as reported by xmllint. There are still three xmllint errors after this remaining regarding SVG file support. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/DocBook/media/Makefile2
-rw-r--r--Documentation/DocBook/media/dvb/dvbproperty.xml22
-rw-r--r--Documentation/DocBook/media/dvb/frontend.xml20
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml447
-rw-r--r--Documentation/DocBook/media/v4l/dev-subdev.xml20
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml3
-rw-r--r--Documentation/DocBook/media/v4l/selection-api.xml22
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-g-selection.xml9
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-qbuf.xml2
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml8
10 files changed, 278 insertions, 277 deletions
diff --git a/Documentation/DocBook/media/Makefile b/Documentation/DocBook/media/Makefile
index 362520992ced..9b7e4c557928 100644
--- a/Documentation/DocBook/media/Makefile
+++ b/Documentation/DocBook/media/Makefile
@@ -300,7 +300,7 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml
300 @( \ 300 @( \
301 for ident in $(IOCTLS) ; do \ 301 for ident in $(IOCTLS) ; do \
302 entity=`echo $$ident | tr _ -` ; \ 302 entity=`echo $$ident | tr _ -` ; \
303 id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \ 303 id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml $(MEDIA_OBJ_DIR)/media-ioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \
304 echo "<!ENTITY $$entity \"<link" \ 304 echo "<!ENTITY $$entity \"<link" \
305 "linkend='$$id'><constant>$$ident</constant></link>\">" \ 305 "linkend='$$id'><constant>$$ident</constant></link>\">" \
306 >>$@ ; \ 306 >>$@ ; \
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml
index eddfe6f9a750..d188be963a47 100644
--- a/Documentation/DocBook/media/dvb/dvbproperty.xml
+++ b/Documentation/DocBook/media/dvb/dvbproperty.xml
@@ -569,33 +569,33 @@ typedef enum fe_delivery_system {
569 <title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title> 569 <title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title>
570 <para>RS frame mode.</para> 570 <para>RS frame mode.</para>
571 <para>Possible values are:</para> 571 <para>Possible values are:</para>
572 <section id="atscmh-rs-frame-mode"> 572 <para id="atscmh-rs-frame-mode">
573<programlisting> 573<programlisting>
574typedef enum atscmh_rs_frame_mode { 574typedef enum atscmh_rs_frame_mode {
575 ATSCMH_RSFRAME_PRI_ONLY = 0, 575 ATSCMH_RSFRAME_PRI_ONLY = 0,
576 ATSCMH_RSFRAME_PRI_SEC = 1, 576 ATSCMH_RSFRAME_PRI_SEC = 1,
577} atscmh_rs_frame_mode_t; 577} atscmh_rs_frame_mode_t;
578</programlisting> 578</programlisting>
579 </section> 579 </para>
580 </section> 580 </section>
581 <section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE"> 581 <section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE">
582 <title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title> 582 <title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title>
583 <para>RS frame ensemble.</para> 583 <para>RS frame ensemble.</para>
584 <para>Possible values are:</para> 584 <para>Possible values are:</para>
585 <section id="atscmh-rs-frame-ensemble"> 585 <para id="atscmh-rs-frame-ensemble">
586<programlisting> 586<programlisting>
587typedef enum atscmh_rs_frame_ensemble { 587typedef enum atscmh_rs_frame_ensemble {
588 ATSCMH_RSFRAME_ENS_PRI = 0, 588 ATSCMH_RSFRAME_ENS_PRI = 0,
589 ATSCMH_RSFRAME_ENS_SEC = 1, 589 ATSCMH_RSFRAME_ENS_SEC = 1,
590} atscmh_rs_frame_ensemble_t; 590} atscmh_rs_frame_ensemble_t;
591</programlisting> 591</programlisting>
592 </section> 592 </para>
593 </section> 593 </section>
594 <section id="DTV-ATSCMH-RS-CODE-MODE-PRI"> 594 <section id="DTV-ATSCMH-RS-CODE-MODE-PRI">
595 <title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title> 595 <title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title>
596 <para>RS code mode (primary).</para> 596 <para>RS code mode (primary).</para>
597 <para>Possible values are:</para> 597 <para>Possible values are:</para>
598 <section id="atscmh-rs-code-mode"> 598 <para id="atscmh-rs-code-mode">
599<programlisting> 599<programlisting>
600typedef enum atscmh_rs_code_mode { 600typedef enum atscmh_rs_code_mode {
601 ATSCMH_RSCODE_211_187 = 0, 601 ATSCMH_RSCODE_211_187 = 0,
@@ -603,7 +603,7 @@ typedef enum atscmh_rs_code_mode {
603 ATSCMH_RSCODE_235_187 = 2, 603 ATSCMH_RSCODE_235_187 = 2,
604} atscmh_rs_code_mode_t; 604} atscmh_rs_code_mode_t;
605</programlisting> 605</programlisting>
606 </section> 606 </para>
607 </section> 607 </section>
608 <section id="DTV-ATSCMH-RS-CODE-MODE-SEC"> 608 <section id="DTV-ATSCMH-RS-CODE-MODE-SEC">
609 <title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title> 609 <title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title>
@@ -621,27 +621,27 @@ typedef enum atscmh_rs_code_mode {
621 <title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title> 621 <title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title>
622 <para>Series Concatenated Convolutional Code Block Mode.</para> 622 <para>Series Concatenated Convolutional Code Block Mode.</para>
623 <para>Possible values are:</para> 623 <para>Possible values are:</para>
624 <section id="atscmh-sccc-block-mode"> 624 <para id="atscmh-sccc-block-mode">
625<programlisting> 625<programlisting>
626typedef enum atscmh_sccc_block_mode { 626typedef enum atscmh_sccc_block_mode {
627 ATSCMH_SCCC_BLK_SEP = 0, 627 ATSCMH_SCCC_BLK_SEP = 0,
628 ATSCMH_SCCC_BLK_COMB = 1, 628 ATSCMH_SCCC_BLK_COMB = 1,
629} atscmh_sccc_block_mode_t; 629} atscmh_sccc_block_mode_t;
630</programlisting> 630</programlisting>
631 </section> 631 </para>
632 </section> 632 </section>
633 <section id="DTV-ATSCMH-SCCC-CODE-MODE-A"> 633 <section id="DTV-ATSCMH-SCCC-CODE-MODE-A">
634 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title> 634 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title>
635 <para>Series Concatenated Convolutional Code Rate.</para> 635 <para>Series Concatenated Convolutional Code Rate.</para>
636 <para>Possible values are:</para> 636 <para>Possible values are:</para>
637 <section id="atscmh-sccc-code-mode"> 637 <para id="atscmh-sccc-code-mode">
638<programlisting> 638<programlisting>
639typedef enum atscmh_sccc_code_mode { 639typedef enum atscmh_sccc_code_mode {
640 ATSCMH_SCCC_CODE_HLF = 0, 640 ATSCMH_SCCC_CODE_HLF = 0,
641 ATSCMH_SCCC_CODE_QTR = 1, 641 ATSCMH_SCCC_CODE_QTR = 1,
642} atscmh_sccc_code_mode_t; 642} atscmh_sccc_code_mode_t;
643</programlisting> 643</programlisting>
644 </section> 644 </para>
645 </section> 645 </section>
646 <section id="DTV-ATSCMH-SCCC-CODE-MODE-B"> 646 <section id="DTV-ATSCMH-SCCC-CODE-MODE-B">
647 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title> 647 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title>
@@ -817,7 +817,7 @@ typedef enum fe_hierarchy {
817 </section> 817 </section>
818 <section id="DTV-INTERLEAVING"> 818 <section id="DTV-INTERLEAVING">
819 <title><constant>DTV_INTERLEAVING</constant></title> 819 <title><constant>DTV_INTERLEAVING</constant></title>
820 <para>Interleaving mode</para> 820 <para id="fe-interleaving">Interleaving mode</para>
821 <programlisting> 821 <programlisting>
822enum fe_interleaving { 822enum fe_interleaving {
823 INTERLEAVING_NONE, 823 INTERLEAVING_NONE,
diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml
index 1ab2e1af81f1..950bdfb4504b 100644
--- a/Documentation/DocBook/media/dvb/frontend.xml
+++ b/Documentation/DocBook/media/dvb/frontend.xml
@@ -264,7 +264,7 @@ and to add newer delivery systems.</para>
264<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in 264<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in
265order to be able to support the newer System Delivery like DVB-S2, DVB-T2, 265order to be able to support the newer System Delivery like DVB-S2, DVB-T2,
266DVB-C2, ISDB, etc.</para> 266DVB-C2, ISDB, etc.</para>
267<para>All kinds of parameters are combined as an union in the FrontendParameters structure:</para> 267<para>All kinds of parameters are combined as an union in the FrontendParameters structure:
268<programlisting> 268<programlisting>
269struct dvb_frontend_parameters { 269struct dvb_frontend_parameters {
270 uint32_t frequency; /&#x22C6; (absolute) frequency in Hz for QAM/OFDM &#x22C6;/ 270 uint32_t frequency; /&#x22C6; (absolute) frequency in Hz for QAM/OFDM &#x22C6;/
@@ -277,12 +277,13 @@ struct dvb_frontend_parameters {
277 struct dvb_vsb_parameters vsb; 277 struct dvb_vsb_parameters vsb;
278 } u; 278 } u;
279}; 279};
280</programlisting> 280</programlisting></para>
281<para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate 281<para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate
282frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of 282frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of
283the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and 283the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and
284OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz. 284OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz.
285</para> 285</para>
286
286<section id="dvb-qpsk-parameters"> 287<section id="dvb-qpsk-parameters">
287<title>QPSK parameters</title> 288<title>QPSK parameters</title>
288<para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para> 289<para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para>
@@ -347,8 +348,8 @@ itself.
347<section id="fe-code-rate-t"> 348<section id="fe-code-rate-t">
348<title>frontend code rate</title> 349<title>frontend code rate</title>
349<para>The possible values for the <constant>fec_inner</constant> field used on 350<para>The possible values for the <constant>fec_inner</constant> field used on
350<link refend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and 351<link linkend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and
351<link refend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are: 352<link linkend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are:
352</para> 353</para>
353<programlisting> 354<programlisting>
354typedef enum fe_code_rate { 355typedef enum fe_code_rate {
@@ -373,9 +374,9 @@ detection.
373<section id="fe-modulation-t"> 374<section id="fe-modulation-t">
374<title>frontend modulation type for QAM, OFDM and VSB</title> 375<title>frontend modulation type for QAM, OFDM and VSB</title>
375<para>For cable and terrestrial frontends, e. g. for 376<para>For cable and terrestrial frontends, e. g. for
376<link refend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>, 377<link linkend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>,
377<link refend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and 378<link linkend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and
378<link refend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>, 379<link linkend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>,
379it needs to specify the quadrature modulation mode which can be one of the following: 380it needs to specify the quadrature modulation mode which can be one of the following:
380</para> 381</para>
381<programlisting> 382<programlisting>
@@ -396,8 +397,8 @@ it needs to specify the quadrature modulation mode which can be one of the follo
396 } fe_modulation_t; 397 } fe_modulation_t;
397</programlisting> 398</programlisting>
398</section> 399</section>
399<para>Finally, there are several more parameters for OFDM: 400<section>
400</para> 401<title>More OFDM parameters</title>
401<section id="fe-transmit-mode-t"> 402<section id="fe-transmit-mode-t">
402<title>Number of carriers per channel</title> 403<title>Number of carriers per channel</title>
403<programlisting> 404<programlisting>
@@ -453,6 +454,7 @@ typedef enum fe_hierarchy {
453 } fe_hierarchy_t; 454 } fe_hierarchy_t;
454</programlisting> 455</programlisting>
455</section> 456</section>
457</section>
456 458
457</section> 459</section>
458 460
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 41cd801f0f0b..93b9c6872e53 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -3717,232 +3717,231 @@ interface and may change in the future.</para>
3717 use case involving camera or individually. 3717 use case involving camera or individually.
3718 </para> 3718 </para>
3719 3719
3720 </section>
3721 3720
3721 <table pgwide="1" frame="none" id="flash-control-id">
3722 <title>Flash Control IDs</title>
3723
3724 <tgroup cols="4">
3725 <colspec colname="c1" colwidth="1*" />
3726 <colspec colname="c2" colwidth="6*" />
3727 <colspec colname="c3" colwidth="2*" />
3728 <colspec colname="c4" colwidth="6*" />
3729 <spanspec namest="c1" nameend="c2" spanname="id" />
3730 <spanspec namest="c2" nameend="c4" spanname="descr" />
3731 <thead>
3732 <row>
3733 <entry spanname="id" align="left">ID</entry>
3734 <entry align="left">Type</entry>
3735 </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
3736 </row>
3737 </thead>
3738 <tbody valign="top">
3739 <row><entry></entry></row>
3740 <row>
3741 <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
3742 <entry>class</entry>
3743 </row>
3744 <row>
3745 <entry spanname="descr">The FLASH class descriptor.</entry>
3746 </row>
3747 <row>
3748 <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
3749 <entry>menu</entry>
3750 </row>
3751 <row id="v4l2-flash-led-mode">
3752 <entry spanname="descr">Defines the mode of the flash LED,
3753 the high-power white LED attached to the flash controller.
3754 Setting this control may not be possible in presence of
3755 some faults. See V4L2_CID_FLASH_FAULT.</entry>
3756 </row>
3757 <row>
3758 <entrytbl spanname="descr" cols="2">
3759 <tbody valign="top">
3760 <row>
3761 <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
3762 <entry>Off.</entry>
3763 </row>
3764 <row>
3765 <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
3766 <entry>Flash mode.</entry>
3767 </row>
3768 <row>
3769 <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
3770 <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
3771 </row>
3772 </tbody>
3773 </entrytbl>
3774 </row>
3775 <row>
3776 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
3777 <entry>menu</entry>
3778 </row>
3779 <row id="v4l2-flash-strobe-source"><entry
3780 spanname="descr">Defines the source of the flash LED
3781 strobe.</entry>
3782 </row>
3783 <row>
3784 <entrytbl spanname="descr" cols="2">
3785 <tbody valign="top">
3786 <row>
3787 <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
3788 <entry>The flash strobe is triggered by using
3789 the V4L2_CID_FLASH_STROBE control.</entry>
3790 </row>
3791 <row>
3792 <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
3793 <entry>The flash strobe is triggered by an
3794 external source. Typically this is a sensor,
3795 which makes it possible to synchronises the
3796 flash strobe start to exposure start.</entry>
3797 </row>
3798 </tbody>
3799 </entrytbl>
3800 </row>
3801 <row>
3802 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
3803 <entry>button</entry>
3804 </row>
3805 <row>
3806 <entry spanname="descr">Strobe flash. Valid when
3807 V4L2_CID_FLASH_LED_MODE is set to
3808 V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
3809 is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
3810 control may not be possible in presence of some faults.
3811 See V4L2_CID_FLASH_FAULT.</entry>
3812 </row>
3813 <row>
3814 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
3815 <entry>button</entry>
3816 </row>
3817 <row><entry spanname="descr">Stop flash strobe immediately.</entry>
3818 </row>
3819 <row>
3820 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
3821 <entry>boolean</entry>
3822 </row>
3823 <row>
3824 <entry spanname="descr">Strobe status: whether the flash
3825 is strobing at the moment or not. This is a read-only
3826 control.</entry>
3827 </row>
3828 <row>
3829 <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
3830 <entry>integer</entry>
3831 </row>
3832 <row>
3833 <entry spanname="descr">Hardware timeout for flash. The
3834 flash strobe is stopped after this period of time has
3835 passed from the start of the strobe.</entry>
3836 </row>
3837 <row>
3838 <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
3839 <entry>integer</entry>
3840 </row>
3841 <row>
3842 <entry spanname="descr">Intensity of the flash strobe when
3843 the flash LED is in flash mode
3844 (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
3845 (mA) if possible.</entry>
3846 </row>
3847 <row>
3848 <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
3849 <entry>integer</entry>
3850 </row>
3851 <row>
3852 <entry spanname="descr">Intensity of the flash LED in
3853 torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
3854 milliamps (mA) if possible. Setting this control may not
3855 be possible in presence of some faults. See
3856 V4L2_CID_FLASH_FAULT.</entry>
3857 </row>
3858 <row>
3859 <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
3860 <entry>integer</entry>
3861 </row>
3862 <row>
3863 <entry spanname="descr">Intensity of the indicator LED.
3864 The indicator LED may be fully independent of the flash
3865 LED. The unit should be microamps (uA) if possible.</entry>
3866 </row>
3867 <row>
3868 <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
3869 <entry>bitmask</entry>
3870 </row>
3871 <row>
3872 <entry spanname="descr">Faults related to the flash. The
3873 faults tell about specific problems in the flash chip
3874 itself or the LEDs attached to it. Faults may prevent
3875 further use of some of the flash controls. In particular,
3876 V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
3877 if the fault affects the flash LED. Exactly which faults
3878 have such an effect is chip dependent. Reading the faults
3879 resets the control and returns the chip to a usable state
3880 if possible.</entry>
3881 </row>
3882 <row>
3883 <entrytbl spanname="descr" cols="2">
3884 <tbody valign="top">
3885 <row>
3886 <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
3887 <entry>Flash controller voltage to the flash LED
3888 has exceeded the limit specific to the flash
3889 controller.</entry>
3890 </row>
3891 <row>
3892 <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
3893 <entry>The flash strobe was still on when
3894 the timeout set by the user ---
3895 V4L2_CID_FLASH_TIMEOUT control --- has expired.
3896 Not all flash controllers may set this in all
3897 such conditions.</entry>
3898 </row>
3899 <row>
3900 <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
3901 <entry>The flash controller has overheated.</entry>
3902 </row>
3903 <row>
3904 <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
3905 <entry>The short circuit protection of the flash
3906 controller has been triggered.</entry>
3907 </row>
3908 <row>
3909 <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
3910 <entry>Current in the LED power supply has exceeded the limit
3911 specific to the flash controller.</entry>
3912 </row>
3913 <row>
3914 <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
3915 <entry>The flash controller has detected a short or open
3916 circuit condition on the indicator LED.</entry>
3917 </row>
3918 </tbody>
3919 </entrytbl>
3920 </row>
3921 <row>
3922 <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
3923 <entry>boolean</entry>
3924 </row>
3925 <row><entry spanname="descr">Enable or disable charging of the xenon
3926 flash capacitor.</entry>
3927 </row>
3928 <row>
3929 <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
3930 <entry>boolean</entry>
3931 </row>
3932 <row>
3933 <entry spanname="descr">Is the flash ready to strobe?
3934 Xenon flashes require their capacitors charged before
3935 strobing. LED flashes often require a cooldown period
3936 after strobe during which another strobe will not be
3937 possible. This is a read-only control.</entry>
3938 </row>
3939 <row><entry></entry></row>
3940 </tbody>
3941 </tgroup>
3942 </table>
3943 </section>
3722 </section> 3944 </section>
3723
3724 <table pgwide="1" frame="none" id="flash-control-id">
3725 <title>Flash Control IDs</title>
3726
3727 <tgroup cols="4">
3728 <colspec colname="c1" colwidth="1*" />
3729 <colspec colname="c2" colwidth="6*" />
3730 <colspec colname="c3" colwidth="2*" />
3731 <colspec colname="c4" colwidth="6*" />
3732 <spanspec namest="c1" nameend="c2" spanname="id" />
3733 <spanspec namest="c2" nameend="c4" spanname="descr" />
3734 <thead>
3735 <row>
3736 <entry spanname="id" align="left">ID</entry>
3737 <entry align="left">Type</entry>
3738 </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
3739 </row>
3740 </thead>
3741 <tbody valign="top">
3742 <row><entry></entry></row>
3743 <row>
3744 <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
3745 <entry>class</entry>
3746 </row>
3747 <row>
3748 <entry spanname="descr">The FLASH class descriptor.</entry>
3749 </row>
3750 <row>
3751 <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
3752 <entry>menu</entry>
3753 </row>
3754 <row id="v4l2-flash-led-mode">
3755 <entry spanname="descr">Defines the mode of the flash LED,
3756 the high-power white LED attached to the flash controller.
3757 Setting this control may not be possible in presence of
3758 some faults. See V4L2_CID_FLASH_FAULT.</entry>
3759 </row>
3760 <row>
3761 <entrytbl spanname="descr" cols="2">
3762 <tbody valign="top">
3763 <row>
3764 <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
3765 <entry>Off.</entry>
3766 </row>
3767 <row>
3768 <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
3769 <entry>Flash mode.</entry>
3770 </row>
3771 <row>
3772 <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
3773 <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
3774 </row>
3775 </tbody>
3776 </entrytbl>
3777 </row>
3778 <row>
3779 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
3780 <entry>menu</entry>
3781 </row>
3782 <row id="v4l2-flash-strobe-source"><entry
3783 spanname="descr">Defines the source of the flash LED
3784 strobe.</entry>
3785 </row>
3786 <row>
3787 <entrytbl spanname="descr" cols="2">
3788 <tbody valign="top">
3789 <row>
3790 <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
3791 <entry>The flash strobe is triggered by using
3792 the V4L2_CID_FLASH_STROBE control.</entry>
3793 </row>
3794 <row>
3795 <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
3796 <entry>The flash strobe is triggered by an
3797 external source. Typically this is a sensor,
3798 which makes it possible to synchronises the
3799 flash strobe start to exposure start.</entry>
3800 </row>
3801 </tbody>
3802 </entrytbl>
3803 </row>
3804 <row>
3805 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
3806 <entry>button</entry>
3807 </row>
3808 <row>
3809 <entry spanname="descr">Strobe flash. Valid when
3810 V4L2_CID_FLASH_LED_MODE is set to
3811 V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
3812 is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
3813 control may not be possible in presence of some faults.
3814 See V4L2_CID_FLASH_FAULT.</entry>
3815 </row>
3816 <row>
3817 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
3818 <entry>button</entry>
3819 </row>
3820 <row><entry spanname="descr">Stop flash strobe immediately.</entry>
3821 </row>
3822 <row>
3823 <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
3824 <entry>boolean</entry>
3825 </row>
3826 <row>
3827 <entry spanname="descr">Strobe status: whether the flash
3828 is strobing at the moment or not. This is a read-only
3829 control.</entry>
3830 </row>
3831 <row>
3832 <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
3833 <entry>integer</entry>
3834 </row>
3835 <row>
3836 <entry spanname="descr">Hardware timeout for flash. The
3837 flash strobe is stopped after this period of time has
3838 passed from the start of the strobe.</entry>
3839 </row>
3840 <row>
3841 <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
3842 <entry>integer</entry>
3843 </row>
3844 <row>
3845 <entry spanname="descr">Intensity of the flash strobe when
3846 the flash LED is in flash mode
3847 (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
3848 (mA) if possible.</entry>
3849 </row>
3850 <row>
3851 <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
3852 <entry>integer</entry>
3853 </row>
3854 <row>
3855 <entry spanname="descr">Intensity of the flash LED in
3856 torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
3857 milliamps (mA) if possible. Setting this control may not
3858 be possible in presence of some faults. See
3859 V4L2_CID_FLASH_FAULT.</entry>
3860 </row>
3861 <row>
3862 <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
3863 <entry>integer</entry>
3864 </row>
3865 <row>
3866 <entry spanname="descr">Intensity of the indicator LED.
3867 The indicator LED may be fully independent of the flash
3868 LED. The unit should be microamps (uA) if possible.</entry>
3869 </row>
3870 <row>
3871 <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
3872 <entry>bitmask</entry>
3873 </row>
3874 <row>
3875 <entry spanname="descr">Faults related to the flash. The
3876 faults tell about specific problems in the flash chip
3877 itself or the LEDs attached to it. Faults may prevent
3878 further use of some of the flash controls. In particular,
3879 V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
3880 if the fault affects the flash LED. Exactly which faults
3881 have such an effect is chip dependent. Reading the faults
3882 resets the control and returns the chip to a usable state
3883 if possible.</entry>
3884 </row>
3885 <row>
3886 <entrytbl spanname="descr" cols="2">
3887 <tbody valign="top">
3888 <row>
3889 <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
3890 <entry>Flash controller voltage to the flash LED
3891 has exceeded the limit specific to the flash
3892 controller.</entry>
3893 </row>
3894 <row>
3895 <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
3896 <entry>The flash strobe was still on when
3897 the timeout set by the user ---
3898 V4L2_CID_FLASH_TIMEOUT control --- has expired.
3899 Not all flash controllers may set this in all
3900 such conditions.</entry>
3901 </row>
3902 <row>
3903 <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
3904 <entry>The flash controller has overheated.</entry>
3905 </row>
3906 <row>
3907 <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
3908 <entry>The short circuit protection of the flash
3909 controller has been triggered.</entry>
3910 </row>
3911 <row>
3912 <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
3913 <entry>Current in the LED power supply has exceeded the limit
3914 specific to the flash controller.</entry>
3915 </row>
3916 <row>
3917 <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
3918 <entry>The flash controller has detected a short or open
3919 circuit condition on the indicator LED.</entry>
3920 </row>
3921 </tbody>
3922 </entrytbl>
3923 </row>
3924 <row>
3925 <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
3926 <entry>boolean</entry>
3927 </row>
3928 <row><entry spanname="descr">Enable or disable charging of the xenon
3929 flash capacitor.</entry>
3930 </row>
3931 <row>
3932 <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
3933 <entry>boolean</entry>
3934 </row>
3935 <row>
3936 <entry spanname="descr">Is the flash ready to strobe?
3937 Xenon flashes require their capacitors charged before
3938 strobing. LED flashes often require a cooldown period
3939 after strobe during which another strobe will not be
3940 possible. This is a read-only control.</entry>
3941 </row>
3942 <row><entry></entry></row>
3943 </tbody>
3944 </tgroup>
3945 </table>
3946 </section> 3945 </section>
3947 3946
3948 <section id="jpeg-controls"> 3947 <section id="jpeg-controls">
diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml
index a3d9dd093268..d15aaf83f56f 100644
--- a/Documentation/DocBook/media/v4l/dev-subdev.xml
+++ b/Documentation/DocBook/media/v4l/dev-subdev.xml
@@ -374,29 +374,29 @@
374 rectangle --- if it is supported by the hardware.</para> 374 rectangle --- if it is supported by the hardware.</para>
375 375
376 <orderedlist> 376 <orderedlist>
377 <listitem>Sink pad format. The user configures the sink pad 377 <listitem><para>Sink pad format. The user configures the sink pad
378 format. This format defines the parameters of the image the 378 format. This format defines the parameters of the image the
379 entity receives through the pad for further processing.</listitem> 379 entity receives through the pad for further processing.</para></listitem>
380 380
381 <listitem>Sink pad actual crop selection. The sink pad crop 381 <listitem><para>Sink pad actual crop selection. The sink pad crop
382 defines the crop performed to the sink pad format.</listitem> 382 defines the crop performed to the sink pad format.</para></listitem>
383 383
384 <listitem>Sink pad actual compose selection. The size of the 384 <listitem><para>Sink pad actual compose selection. The size of the
385 sink pad compose rectangle defines the scaling ratio compared 385 sink pad compose rectangle defines the scaling ratio compared
386 to the size of the sink pad crop rectangle. The location of 386 to the size of the sink pad crop rectangle. The location of
387 the compose rectangle specifies the location of the actual 387 the compose rectangle specifies the location of the actual
388 sink compose rectangle in the sink compose bounds 388 sink compose rectangle in the sink compose bounds
389 rectangle.</listitem> 389 rectangle.</para></listitem>
390 390
391 <listitem>Source pad actual crop selection. Crop on the source 391 <listitem><para>Source pad actual crop selection. Crop on the source
392 pad defines crop performed to the image in the sink compose 392 pad defines crop performed to the image in the sink compose
393 bounds rectangle.</listitem> 393 bounds rectangle.</para></listitem>
394 394
395 <listitem>Source pad format. The source pad format defines the 395 <listitem><para>Source pad format. The source pad format defines the
396 output pixel format of the subdev, as well as the other 396 output pixel format of the subdev, as well as the other
397 parameters with the exception of the image width and height. 397 parameters with the exception of the image width and height.
398 Width and height are defined by the size of the source pad 398 Width and height are defined by the size of the source pad
399 actual crop selection.</listitem> 399 actual crop selection.</para></listitem>
400 </orderedlist> 400 </orderedlist>
401 401
402 <para>Accessing any of the above rectangles not supported by the 402 <para>Accessing any of the above rectangles not supported by the
diff --git a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
index 8eace3e2e7d4..2d3f0b1aefe0 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml
@@ -22,8 +22,7 @@
22 with 10 bits per colour compressed to 8 bits each, using DPCM 22 with 10 bits per colour compressed to 8 bits each, using DPCM
23 compression. DPCM, differential pulse-code modulation, is lossy. 23 compression. DPCM, differential pulse-code modulation, is lossy.
24 Each colour component consumes 8 bits of memory. In other respects 24 Each colour component consumes 8 bits of memory. In other respects
25 this format is similar to <xref 25 this format is similar to <xref linkend="pixfmt-srggb10" />.</para>
26 linkend="pixfmt-srggb10">.</xref></para>
27 26
28 </refsect1> 27 </refsect1>
29 </refentry> 28 </refentry>
diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml
index e7ed5077834d..4c238ce068b0 100644
--- a/Documentation/DocBook/media/v4l/selection-api.xml
+++ b/Documentation/DocBook/media/v4l/selection-api.xml
@@ -40,6 +40,7 @@ cropping and composing rectangles have the same size.</para>
40 <section> 40 <section>
41 <title>Selection targets</title> 41 <title>Selection targets</title>
42 42
43 <para>
43 <figure id="sel-targets-capture"> 44 <figure id="sel-targets-capture">
44 <title>Cropping and composing targets</title> 45 <title>Cropping and composing targets</title>
45 <mediaobject> 46 <mediaobject>
@@ -52,12 +53,12 @@ cropping and composing rectangles have the same size.</para>
52 </textobject> 53 </textobject>
53 </mediaobject> 54 </mediaobject>
54 </figure> 55 </figure>
56 </para>
55 57
58 <para>See <xref linkend="v4l2-selection-targets" /> for more
59 information.</para>
56 </section> 60 </section>
57 61
58 See <xref linkend="v4l2-selection-targets" /> for more
59 information.
60
61 <section> 62 <section>
62 63
63 <title>Configuration</title> 64 <title>Configuration</title>
@@ -216,18 +217,17 @@ composing and cropping operations by setting the appropriate targets. The V4L2
216API lacks any support for composing to and cropping from an image inside a 217API lacks any support for composing to and cropping from an image inside a
217memory buffer. The application could configure a capture device to fill only a 218memory buffer. The application could configure a capture device to fill only a
218part of an image by abusing V4L2 API. Cropping a smaller image from a larger 219part of an image by abusing V4L2 API. Cropping a smaller image from a larger
219one is achieved by setting the field <structfield> 220one is achieved by setting the field
220&v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets 221&v4l2-pix-format;<structfield>::bytesperline</structfield>. Introducing an image offsets
221could be done by modifying field <structfield> &v4l2-buffer;::m:userptr 222could be done by modifying field &v4l2-buffer;<structfield>::m_userptr</structfield>
222</structfield> before calling <constant> VIDIOC_QBUF </constant>. Those 223before calling <constant> VIDIOC_QBUF </constant>. Those
223operations should be avoided because they are not portable (endianness), and do 224operations should be avoided because they are not portable (endianness), and do
224not work for macroblock and Bayer formats and mmap buffers. The selection API 225not work for macroblock and Bayer formats and mmap buffers. The selection API
225deals with configuration of buffer cropping/composing in a clear, intuitive and 226deals with configuration of buffer cropping/composing in a clear, intuitive and
226portable way. Next, with the selection API the concepts of the padded target 227portable way. Next, with the selection API the concepts of the padded target
227and constraints flags are introduced. Finally, <structname> &v4l2-crop; 228and constraints flags are introduced. Finally, &v4l2-crop; and &v4l2-cropcap;
228</structname> and <structname> &v4l2-cropcap; </structname> have no reserved 229have no reserved fields. Therefore there is no way to extend their functionality.
229fields. Therefore there is no way to extend their functionality. The new 230The new &v4l2-selection; provides a lot of place for future
230<structname> &v4l2-selection; </structname> provides a lot of place for future
231extensions. Driver developers are encouraged to implement only selection API. 231extensions. Driver developers are encouraged to implement only selection API.
232The former cropping API would be simulated using the new one. </para> 232The former cropping API would be simulated using the new one. </para>
233 233
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
index f76d8a6d9b92..b11ec75e21a1 100644
--- a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml
@@ -152,12 +152,10 @@ satisfactory parameters have been negotiated. If constraints flags have to be
152violated at then ERANGE is returned. The error indicates that <emphasis> there 152violated at then ERANGE is returned. The error indicates that <emphasis> there
153exist no rectangle </emphasis> that satisfies the constraints.</para> 153exist no rectangle </emphasis> that satisfies the constraints.</para>
154 154
155 </refsect1>
156
157 <para>Selection targets and flags are documented in <xref 155 <para>Selection targets and flags are documented in <xref
158 linkend="v4l2-selections-common"/>.</para> 156 linkend="v4l2-selections-common"/>.</para>
159 157
160 <section> 158 <para>
161 <figure id="sel-const-adjust"> 159 <figure id="sel-const-adjust">
162 <title>Size adjustments with constraint flags.</title> 160 <title>Size adjustments with constraint flags.</title>
163 <mediaobject> 161 <mediaobject>
@@ -170,9 +168,9 @@ exist no rectangle </emphasis> that satisfies the constraints.</para>
170 </textobject> 168 </textobject>
171 </mediaobject> 169 </mediaobject>
172 </figure> 170 </figure>
173 </section> 171 </para>
174 172
175 <refsect1> 173 <para>
176 <table pgwide="1" frame="none" id="v4l2-selection"> 174 <table pgwide="1" frame="none" id="v4l2-selection">
177 <title>struct <structname>v4l2_selection</structname></title> 175 <title>struct <structname>v4l2_selection</structname></title>
178 <tgroup cols="3"> 176 <tgroup cols="3">
@@ -208,6 +206,7 @@ exist no rectangle </emphasis> that satisfies the constraints.</para>
208 </tbody> 206 </tbody>
209 </tgroup> 207 </tgroup>
210 </table> 208 </table>
209 </para>
211 </refsect1> 210 </refsect1>
212 211
213 <refsect1> 212 <refsect1>
diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
index 77ff5be0809d..6a821a65a5ae 100644
--- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
@@ -155,6 +155,8 @@ or no buffers have been allocated yet, or the
155<structfield>userptr</structfield> or 155<structfield>userptr</structfield> or
156<structfield>length</structfield> are invalid.</para> 156<structfield>length</structfield> are invalid.</para>
157 </listitem> 157 </listitem>
158 </varlistentry>
159 <varlistentry>
158 <term><errorcode>EIO</errorcode></term> 160 <term><errorcode>EIO</errorcode></term>
159 <listitem> 161 <listitem>
160 <para><constant>VIDIOC_DQBUF</constant> failed due to an 162 <para><constant>VIDIOC_DQBUF</constant> failed due to an
diff --git a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
index f33cc814a01d..1ba9e999af3f 100644
--- a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml
@@ -69,23 +69,22 @@
69 more information on how each selection target affects the image 69 more information on how each selection target affects the image
70 processing pipeline inside the subdevice.</para> 70 processing pipeline inside the subdevice.</para>
71 71
72 <section> 72 <refsect2>
73 <title>Types of selection targets</title> 73 <title>Types of selection targets</title>
74 74
75 <para>There are two types of selection targets: actual and bounds. The 75 <para>There are two types of selection targets: actual and bounds. The
76 actual targets are the targets which configure the hardware. The BOUNDS 76 actual targets are the targets which configure the hardware. The BOUNDS
77 target will return a rectangle that contain all possible actual 77 target will return a rectangle that contain all possible actual
78 rectangles.</para> 78 rectangles.</para>
79 </section> 79 </refsect2>
80 80
81 <section> 81 <refsect2>
82 <title>Discovering supported features</title> 82 <title>Discovering supported features</title>
83 83
84 <para>To discover which targets are supported, the user can 84 <para>To discover which targets are supported, the user can
85 perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them. 85 perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them.
86 Any unsupported target will return 86 Any unsupported target will return
87 <constant>EINVAL</constant>.</para> 87 <constant>EINVAL</constant>.</para>
88 </section>
89 88
90 <para>Selection targets and flags are documented in <xref 89 <para>Selection targets and flags are documented in <xref
91 linkend="v4l2-selections-common"/>.</para> 90 linkend="v4l2-selections-common"/>.</para>
@@ -132,6 +131,7 @@
132 </tbody> 131 </tbody>
133 </tgroup> 132 </tgroup>
134 </table> 133 </table>
134 </refsect2>
135 135
136 </refsect1> 136 </refsect1>
137 137