These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / Documentation / DocBook / media / Makefile
index 8bf7c61..08527e7 100644 (file)
@@ -65,29 +65,31 @@ IOCTLS = \
        $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/video.h) \
        $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/media.h) \
        $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \
-       VIDIOC_SUBDEV_G_FRAME_INTERVAL \
-       VIDIOC_SUBDEV_S_FRAME_INTERVAL \
-       VIDIOC_SUBDEV_ENUM_MBUS_CODE \
-       VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
-       VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
-       VIDIOC_SUBDEV_G_SELECTION \
-       VIDIOC_SUBDEV_S_SELECTION \
+
+DEFINES = \
+       $(shell perl -ne 'print "$$1 " if /\#define\s+(DTV_[^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/frontend.h) \
 
 TYPES = \
-       $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/uapi/linux/videodev2.h) \
-       $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/uapi/linux/dvb/frontend.h)
+       $(shell perl -ne 'print "$$1 " if /^typedef\s+.*\s+(\S+)\;/' $(srctree)/include/uapi/linux/videodev2.h) \
+       $(shell perl -ne 'print "$$1 " if /^typedef\s+.*\s+(\S+)\;/' $(srctree)/include/uapi/linux/dvb/frontend.h)
 
 ENUMS = \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/audio.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/ca.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/dmx.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/frontend.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/net.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/video.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) \
-       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h)
+       $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' \
+               $(srctree)/include/uapi/linux/videodev2.h \
+               $(srctree)/include/uapi/linux/dvb/audio.h \
+               $(srctree)/include/uapi/linux/dvb/ca.h \
+               $(srctree)/include/uapi/linux/dvb/dmx.h \
+               $(srctree)/include/uapi/linux/dvb/frontend.h \
+               $(srctree)/include/uapi/linux/dvb/net.h \
+               $(srctree)/include/uapi/linux/dvb/video.h \
+               $(srctree)/include/uapi/linux/media.h \
+               $(srctree)/include/uapi/linux/v4l2-mediabus.h \
+               $(srctree)/include/uapi/linux/v4l2-subdev.h)
+
+ENUM_DEFS = \
+       $(shell perl -e 'open IN,"cat @ARGV| cpp -fpreprocessed |"; while (<IN>) { if ($$enum) {print "$$1\n" if (/\s*([A-Z]\S+)\b/); } $$enum = 0 if ($$enum && /^\}/); $$enum = 1 if(/^\s*enum\s/); }; close IN;' \
+               $(srctree)/include/uapi/linux/dvb/dmx.h \
+               $(srctree)/include/uapi/linux/dvb/frontend.h)
 
 STRUCTS = \
        $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \
@@ -95,7 +97,7 @@ STRUCTS = \
        $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/ca.h) \
        $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/dmx.h) \
        $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/frontend.h) \
-       $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/net.h) \
+       $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/ && !/_old/)' $(srctree)/include/uapi/linux/dvb/net.h) \
        $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/video.h) \
        $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \
        $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \
@@ -179,7 +181,6 @@ DOCUMENTED = \
        -e "s/v4l2\-mpeg\-vbi\-ITV0/v4l2-mpeg-vbi-itv0-1/g"
 
 DVB_DOCUMENTED = \
-       -e "s/\(linkend\=\"\)FE_SET_PROPERTY/\1FE_GET_PROPERTY/g" \
        -e "s,\(struct\s\+\)\([a-z0-9_]\+\)\(\s\+{\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
        -e "s,\(}\s\+\)\([a-z0-9_]\+_t\+\),\1\<link linkend=\"\2\">\2\<\/link\>,g" \
        -e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+[0-9]\+\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
@@ -188,14 +189,18 @@ DVB_DOCUMENTED = \
        -e "s,\(audio-mixer\|audio-karaoke\|audio-status\|ca-slot-info\|ca-descr-info\|ca-caps\|ca-msg\|ca-descr\|ca-pid\|dmx-filter\|dmx-caps\|video-system\|video-highlight\|video-spu\|video-spu-palette\|video-navi-pack\)-t,\1,g" \
        -e "s,DTV-ISDBT-LAYER[A-C],DTV-ISDBT-LAYER,g" \
        -e "s,\(define\s\+\)\([A-Z0-9_]\+\)\(\s\+_IO\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
+       -e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
        -e "s,<link\s\+linkend=\".*\">\(__.*_OLD\)<\/link>,\1,g" \
+       -e "s/\(linkend\=\"\)FE_SET_PROPERTY/\1FE_GET_PROPERTY/g" \
+       -e "s,<link\s\+linkend=\".*\">\(DTV_ISDBS_TS_ID_LEGACY\|DTV_MAX_COMMAND\|DTV_IOCTL_MAX_MSGS\)<\/link>,\1,g" \
 
 #
 # Media targets and dependencies
 #
 
 install_media_images = \
-       $(Q)-cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api
+       $(Q)-mkdir $(MEDIA_OBJ_DIR)/media_api; \
+       cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/*.svg $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api
 
 $(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
        $(Q)base64 -d $< >$@
@@ -243,9 +248,14 @@ $(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/uapi/linux/dvb/dmx.h $(MEDIA_OBJ_
        @(                                      \
        echo "<programlisting>") > $@
        @(                                      \
+       for ident in $(ENUM_DEFS) ; do          \
+         entity=`echo $$ident | tr _ -` ;      \
+         r="$$r s/([^\w\-])$$ident([^\w\-])/\1\&$$entity\;\2/g;";\
+       done;                                   \
        expand --tabs=8 < $< |                  \
          sed $(ESCAPE) $(DVB_DOCUMENTED) |     \
-         sed 's/i\.e\./&ie;/') >> $@
+         sed 's/i\.e\./&ie;/' |                \
+         perl -ne "$$r print $$_;") >> $@
        @(                                      \
        echo "</programlisting>") >> $@
 
@@ -254,9 +264,14 @@ $(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/uapi/linux/dvb/frontend.h $(
        @(                                      \
        echo "<programlisting>") > $@
        @(                                      \
+       for ident in $(ENUM_DEFS) ; do          \
+         entity=`echo $$ident | tr _ -` ;      \
+         r="$$r s/([^\w\-])$$ident([^\w\-])/\1\&$$entity\;\2/g;";\
+       done;                                   \
        expand --tabs=8 < $< |                  \
          sed $(ESCAPE) $(DVB_DOCUMENTED) |     \
-         sed 's/i\.e\./&ie;/') >> $@
+         sed 's/i\.e\./&ie;/' |                \
+         perl -ne "$$r print $$_;") >> $@
        @(                                      \
        echo "</programlisting>") >> $@
 
@@ -298,11 +313,22 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml
        @(                                                              \
        echo -e "\n<!-- Ioctls -->") >>$@
        @(                                                              \
-       for ident in $(IOCTLS) ; do                                     \
+       for ident in `echo $(IOCTLS) | sed -e "s,VIDIOC_RESERVED,,"`; do\
          entity=`echo $$ident | tr _ -` ;                              \
-         id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml $(MEDIA_OBJ_DIR)/media-ioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \
-         echo "<!ENTITY $$entity \"<link"                              \
+         id=`grep -e "<refname>$$ident" -e "<section id=\"$$ident\"" $$(find $(MEDIA_SRC_DIR) -name *.xml -type f)| sed -r s,"^.*/(.*).xml.*","\1",` ; \
+         if [ "$$id" != "" ]; then echo "<!ENTITY $$entity \"<link"    \
            "linkend='$$id'><constant>$$ident</constant></link>\">"     \
+         >>$@ ; else                                                   \
+               echo "Warning: undocumented ioctl: $$ident. Please document it at the media DocBook!" >&2;      \
+         fi;                                                           \
+       done)
+       @(                                                              \
+       echo -e "\n<!-- Defines -->") >>$@
+       @(                                                              \
+       for ident in $(DEFINES) ; do                                    \
+         entity=`echo $$ident | tr _ -` ;                              \
+         echo "<!ENTITY $$entity \"<link"                              \
+           "linkend='$$entity'><constant>$$ident</constant></link>\">" \
          >>$@ ;                                                        \
        done)
        @(                                                              \
@@ -322,6 +348,15 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml
            "linkend='$$entity'>$$ident</link>\">" >>$@ ;               \
        done)
        @(                                                              \
+       echo -e "\n<!-- Enum definitions -->") >>$@
+       @(                                                              \
+       for ident in $(ENUM_DEFS) ; do                                  \
+         entity=`echo $$ident | tr _ -` ;                              \
+         echo "<!ENTITY $$entity \"<link"                              \
+           "linkend='$$entity'><constant>$$ident</constant></link>\">" \
+         >>$@ ;                                                        \
+       done)
+       @(                                                              \
        echo -e "\n<!-- Structures -->") >>$@
        @(                                                              \
        for ident in $(STRUCTS) ; do                                    \