On Mon, 25 Oct 2010 18:28:00 -0200 Mauro Carvalho Chehab wrote:

Hi,
A few comments, interspersed below...

> There are some files that are automatically generated by the old
> subsystem Makefile. Move those rules to kernel DocBook Makefile, in
> order to autogenerate the media cross-reference files:
>       media-entities.tmpl
>       media-indices.tmpl
>       dvb/frontend.h.xml
>       v4l/videodev2.h.xml
> 
> v3: rebase it to apply over the current tree. Still need to address
> the issues pointed by Randy of not properly handling make O=dir
> 
> PS.: Resent, since some patchwork bug made this message disappear from
>      patchwork database...
> 
> Signed-off-by: Mauro Carvalho Chehab <mche...@redhat.com>
> 
>  delete mode 100644 Documentation/DocBook/dvb/frontend.h.xml
>  delete mode 100644 Documentation/DocBook/media-entities.tmpl
>  delete mode 100644 Documentation/DocBook/media-indices.tmpl
>  delete mode 100644 Documentation/DocBook/v4l/videodev2.h.xml
> 
> 
> ---
>  Documentation/DocBook/Makefile            |  534 ++++++++
>  Documentation/DocBook/dvb/frontend.h.xml  |  416 ------
>  Documentation/DocBook/media-entities.tmpl |  401 ------
>  Documentation/DocBook/media-indices.tmpl  |   89 -
>  Documentation/DocBook/v4l/videodev2.h.xml | 1825 
> ------------------------------
>  5 files changed, 515 insertions(+), 2750 deletions(-)
> 
> --- patchwork.orig/Documentation/DocBook/Makefile
> +++ patchwork/Documentation/DocBook/Makefile
> @@ -6,6 +6,8 @@
>  # To add a new book the only step required is to add the book to the
>  # list of DOCBOOKS.
>  
> +TMPMEDIA=.tmpmedia
> +
>  DOCBOOKS := z8530book.xml mcabook.xml device-drivers.xml \
>           kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
>           writing_usb_driver.xml networking.xml \
> @@ -14,7 +16,7 @@ DOCBOOKS := z8530book.xml mcabook.xml de
>           genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
>           mac80211.xml debugobjects.xml sh.xml regulator.xml \
>           alsa-driver-api.xml writing-an-alsa-driver.xml \
> -         tracepoint.xml media.xml drm.xml
> +         tracepoint.xml $(TMPMEDIA)/media.xml drm.xml
>  
>  ###
>  # The build process is as follows (targets):
> @@ -32,7 +34,7 @@ PS_METHOD   = $(prefer-db2x)
>  
>  ###
>  # The targets that may be used.
> -PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs 
> cleandocs xmldoclinks
> +PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs 
> cleandocs mediaprep
>  
>  BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
>  xmldocs: $(BOOKS)
> @@ -45,25 +47,13 @@ PDF := $(patsubst %.xml, %.pdf, $(BOOKS)
>  pdfdocs: $(PDF)
>  
>  HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
> -htmldocs: $(HTML) xmldoclinks
> +htmldocs: $(HTML)
>       $(call build_main_index)
>       $(call build_images)
>  
>  MAN := $(patsubst %.xml, %.9, $(BOOKS))
>  mandocs: $(MAN)
>  
> -build_images = mkdir -p $(objtree)/Documentation/DocBook/media/ && \
> -            cp $(srctree)/Documentation/DocBook/dvb/*.png 
> $(srctree)/Documentation/DocBook/v4l/*.gif 
> $(objtree)/Documentation/DocBook/media/
> -
> -xmldoclinks:
> -ifneq ($(objtree),$(srctree))
> -     for dep in dvb media-entities.tmpl media-indices.tmpl v4l; do \
> -             rm -f $(objtree)/Documentation/DocBook/$$dep \
> -             && ln -s $(srctree)/Documentation/DocBook/$$dep 
> $(objtree)/Documentation/DocBook/ \
> -             || exit; \
> -     done
> -endif
> -
>  installmandocs: mandocs
>       mkdir -p /usr/local/man/man9/
>       install Documentation/DocBook/man/*.9.gz /usr/local/man/man9/
> @@ -95,11 +85,11 @@ define rule_docproc
>          ) > $(dir $@).$(notdir $@).cmd
>  endef
>  
> -%.xml: %.tmpl xmldoclinks FORCE
> +%.xml: %.tmpl FORCE
>       $(call if_changed_rule,docproc)
>  
>  ###
> -#Read in all saved dependency files 
> +#Read in all saved dependency files
>  cmd_files := $(wildcard $(foreach f,$(BOOKS),$(dir $(f)).$(notdir $(f)).cmd))
>  
>  ifneq ($(cmd_files),)
> @@ -148,7 +138,7 @@ quiet_cmd_db2pdf = PDF     $@
>  
>  index = index.html
>  main_idx = Documentation/DocBook/$(index)
> -build_main_index = rm -rf $(main_idx) && \
> +build_main_index = rm -rf $(main_idx); \

Does this fix a problem?

>                  echo '<h1>Linux Kernel HTML Documentation</h1>' >> 
> $(main_idx) && \
>                  echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> 
> $(main_idx) && \
>                  cat $(HTML) >> $(main_idx)
> @@ -238,7 +228,7 @@ clean-files := $(DOCBOOKS) \
>       $(patsubst %.xml, %.9,    $(DOCBOOKS)) \
>       $(index)
>  
> -clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
> +clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man $(MEDIADIR)

Where is MEDIADIR defined?
Oh, I see a MEDIA_DIR below.

>  
>  cleandocs:
>       $(Q)rm -f $(call objectify, $(clean-files))
> @@ -248,3 +238,509 @@ cleandocs:
>  # information in a variable se we can use it in if_changed and friends.
>  
>  .PHONY: $(PHONY)
> +
> +

Would it be possible for media to have its own Makefile instead of merging
into this one?

> +#
> +# Media build rules - Auto-generates media contents/indexes and *.h xml's
> +#
> +
> +SHELL=/bin/bash
> +
> +MEDIA_DIR=$(objtree)/Documentation/DocBook/$(TMPMEDIA)
> +
> +V4L_SGMLS = \
> +     biblio.xml \
> +     common.xml \
> +     compat.xml \
> +     controls.xml \
> +     dev-capture.xml \
> +     dev-codec.xml \
> +     dev-effect.xml \
> +     dev-event.xml \
> +     dev-osd.xml \
> +     dev-output.xml \
> +     dev-overlay.xml \
> +     dev-radio.xml \
> +     dev-raw-vbi.xml \
> +     dev-rds.xml \
> +     dev-sliced-vbi.xml \
> +     dev-teletext.xml \
> +     driver.xml \
> +     libv4l.xml \
> +     remote_controllers.xml \
> +     lirc_device_interface.xml \
> +     fdl-appendix.xml \
> +     func-close.xml \
> +     func-ioctl.xml \
> +     func-mmap.xml \
> +     func-munmap.xml \
> +     func-open.xml \
> +     func-poll.xml \
> +     func-read.xml \
> +     func-select.xml \
> +     func-write.xml \
> +     io.xml \
> +     pixfmt-grey.xml \
> +     pixfmt-nv12.xml \
> +     pixfmt-nv16.xml \
> +     pixfmt-packed-rgb.xml \
> +     pixfmt-packed-yuv.xml \
> +     pixfmt-sbggr16.xml \
> +     pixfmt-sbggr8.xml \
> +     pixfmt-sgbrg8.xml \
> +     pixfmt-sgrbg8.xml \
> +     pixfmt-srggb8.xml \
> +     pixfmt-uyvy.xml \
> +     pixfmt-vyuy.xml \
> +     pixfmt-y10.xml \
> +     pixfmt-y16.xml \
> +     pixfmt-y41p.xml \
> +     pixfmt-yuv410.xml \
> +     pixfmt-yuv411p.xml \
> +     pixfmt-yuv420.xml \
> +     pixfmt-yuv422p.xml \
> +     pixfmt-yuyv.xml \
> +     pixfmt-yvyu.xml \
> +     pixfmt-srggb10.xml \
> +     pixfmt-srggb8.xml \
> +     pixfmt-y10.xml \
> +     pixfmt.xml \
> +     vidioc-cropcap.xml \
> +     vidioc-dbg-g-register.xml \
> +     vidioc-dqevent.xml \
> +     vidioc-encoder-cmd.xml \
> +     vidioc-enum-fmt.xml \
> +     vidioc-enum-frameintervals.xml \
> +     vidioc-enum-framesizes.xml \
> +     vidioc-enumaudio.xml \
> +     vidioc-enumaudioout.xml \
> +     vidioc-enuminput.xml \
> +     vidioc-enumoutput.xml \
> +     vidioc-enum-dv-presets.xml \
> +     vidioc-g-dv-preset.xml \
> +     vidioc-query-dv-preset.xml \
> +     vidioc-g-dv-timings.xml \
> +     vidioc-enumstd.xml \
> +     vidioc-g-audio.xml \
> +     vidioc-g-audioout.xml \
> +     vidioc-dbg-g-chip-ident.xml \
> +     vidioc-g-crop.xml \
> +     vidioc-g-ctrl.xml \
> +     vidioc-g-enc-index.xml \
> +     vidioc-g-ext-ctrls.xml \
> +     vidioc-g-fbuf.xml \
> +     vidioc-g-fmt.xml \
> +     vidioc-g-frequency.xml \
> +     vidioc-g-input.xml \
> +     vidioc-g-jpegcomp.xml \
> +     vidioc-g-modulator.xml \
> +     vidioc-g-output.xml \
> +     vidioc-g-parm.xml \
> +     vidioc-g-priority.xml \
> +     vidioc-g-sliced-vbi-cap.xml \
> +     vidioc-g-std.xml \
> +     vidioc-g-tuner.xml \
> +     vidioc-log-status.xml \
> +     vidioc-overlay.xml \
> +     vidioc-qbuf.xml \
> +     vidioc-querybuf.xml \
> +     vidioc-querycap.xml \
> +     vidioc-queryctrl.xml \
> +     vidioc-querystd.xml \
> +     vidioc-reqbufs.xml \
> +     vidioc-s-hw-freq-seek.xml \
> +     vidioc-streamon.xml \
> +     vidioc-subscribe-event.xml \
> +     capture.c.xml \
> +     keytable.c.xml \
> +     v4l2grab.c.xml \
> +     videodev2.h.xml \
> +     v4l2.xml
> +
> +DVB_SGMLS = \
> +     intro.xml \
> +     frontend.xml \
> +     dvbproperty.xml \
> +     demux.xml \
> +     video.xml \
> +     audio.xml \
> +     ca.xml \
> +     net.xml \
> +     kdapi.xml \
> +     examples.xml \
> +     frontend.h.xml \
> +     dvbapi.xml
> +
> +MEDIA_SGMLS =   $(addprefix ./,$(V4L_SGMLS)) $(addprefix ./,$(DVB_SGMLS)) 
> $(addprefix ./,$(MEDIA_TEMP))
> +
> +MEDIA_TEMP =  media-entities.tmpl \
> +           media-indices.tmpl \
> +           videodev2.h.xml \
> +           frontend.h.xml
> +
> +MEDIA_TEMP_OBJ := $(addprefix $(MEDIA_DIR)/,$(MEDIA_TEMP))
> +
> +FUNCS = \
> +     close \
> +     ioctl \
> +     mmap \
> +     munmap \
> +     open \
> +     poll \
> +     read \
> +     select \
> +     write \
> +

so the blank line terminates the value setting, here and below?

> +IOCTLS = \
> +     VIDIOC_CROPCAP \
> +     VIDIOC_DBG_G_CHIP_IDENT \
> +     VIDIOC_DBG_G_REGISTER \
> +     VIDIOC_DBG_S_REGISTER \
> +     VIDIOC_DQBUF \
> +     VIDIOC_DQEVENT \
> +     VIDIOC_ENCODER_CMD \
> +     VIDIOC_ENUMAUDIO \
> +     VIDIOC_ENUMAUDOUT \
> +     VIDIOC_ENUMINPUT \
> +     VIDIOC_ENUMOUTPUT \
> +     VIDIOC_ENUMSTD \
> +     VIDIOC_ENUM_DV_PRESETS \
> +     VIDIOC_ENUM_FMT \
> +     VIDIOC_ENUM_FRAMEINTERVALS \
> +     VIDIOC_ENUM_FRAMESIZES \
> +     VIDIOC_G_AUDIO \
> +     VIDIOC_G_AUDOUT \
> +     VIDIOC_G_CROP \
> +     VIDIOC_G_CTRL \
> +     VIDIOC_G_DV_PRESET \
> +     VIDIOC_G_DV_TIMINGS \
> +     VIDIOC_G_ENC_INDEX \
> +     VIDIOC_G_EXT_CTRLS \
> +     VIDIOC_G_FBUF \
> +     VIDIOC_G_FMT \
> +     VIDIOC_G_FREQUENCY \
> +     VIDIOC_G_INPUT \
> +     VIDIOC_G_JPEGCOMP \
> +     VIDIOC_G_MPEGCOMP \
> +     VIDIOC_G_MODULATOR \
> +     VIDIOC_G_OUTPUT \
> +     VIDIOC_G_PARM \
> +     VIDIOC_G_PRIORITY \
> +     VIDIOC_G_SLICED_VBI_CAP \
> +     VIDIOC_G_STD \
> +     VIDIOC_G_TUNER \
> +     VIDIOC_LOG_STATUS \
> +     VIDIOC_OVERLAY \
> +     VIDIOC_QBUF \
> +     VIDIOC_QUERYBUF \
> +     VIDIOC_QUERYCAP \
> +     VIDIOC_QUERYCTRL \
> +     VIDIOC_QUERYMENU \
> +     VIDIOC_QUERYSTD \
> +     VIDIOC_QUERY_DV_PRESET \
> +     VIDIOC_REQBUFS \
> +     VIDIOC_STREAMOFF \
> +     VIDIOC_STREAMON \
> +     VIDIOC_S_AUDIO \
> +     VIDIOC_S_AUDOUT \
> +     VIDIOC_S_CROP \
> +     VIDIOC_S_CTRL \
> +     VIDIOC_S_DV_PRESET \
> +     VIDIOC_S_DV_TIMINGS \
> +     VIDIOC_S_EXT_CTRLS \
> +     VIDIOC_S_FBUF \
> +     VIDIOC_S_FMT \
> +     VIDIOC_S_FREQUENCY \
> +     VIDIOC_S_HW_FREQ_SEEK \
> +     VIDIOC_S_INPUT \
> +     VIDIOC_S_JPEGCOMP \
> +     VIDIOC_S_MPEGCOMP \
> +     VIDIOC_S_MODULATOR \
> +     VIDIOC_S_OUTPUT \
> +     VIDIOC_S_PARM \
> +     VIDIOC_S_PRIORITY \
> +     VIDIOC_S_STD \
> +     VIDIOC_SUBSCRIBE_EVENT \
> +     VIDIOC_S_TUNER \
> +     VIDIOC_TRY_ENCODER_CMD \
> +     VIDIOC_TRY_EXT_CTRLS \
> +     VIDIOC_TRY_FMT \
> +     VIDIOC-UNSUBSCRIBE-EVENT \
> +
> +TYPES = \
> +     v4l2_std_id \
> +
> +ENUMS = \
> +     v4l2_buf_type \
> +     v4l2_colorspace \
> +     v4l2_ctrl_type \
> +     v4l2_exposure_auto_type \
> +     v4l2_field \
> +     v4l2_frmivaltypes \
> +     v4l2_frmsizetypes \
> +     v4l2_memory \
> +     v4l2_mpeg_audio_ac3_bitrate \
> +     v4l2_mpeg_audio_crc \
> +     v4l2_mpeg_audio_emphasis \
> +     v4l2_mpeg_audio_encoding \
> +     v4l2_mpeg_audio_l1_bitrate \
> +     v4l2_mpeg_audio_l2_bitrate \
> +     v4l2_mpeg_audio_l3_bitrate \
> +     v4l2_mpeg_audio_mode \
> +     v4l2_mpeg_audio_mode_extension \
> +     v4l2_mpeg_audio_sampling_freq \
> +     v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type \
> +     v4l2_mpeg_cx2341x_video_luma_spatial_filter_type \
> +     v4l2_mpeg_cx2341x_video_median_filter_type \
> +     v4l2_mpeg_cx2341x_video_spatial_filter_mode \
> +     v4l2_mpeg_cx2341x_video_temporal_filter_mode \
> +     v4l2_mpeg_stream_type \
> +     v4l2_mpeg_stream_vbi_fmt \
> +     v4l2_mpeg_video_aspect \
> +     v4l2_mpeg_video_bitrate_mode \
> +     v4l2_mpeg_video_encoding \
> +     v4l2_power_line_frequency \
> +     v4l2_priority \
> +     v4l2_tuner_type \
> +     v4l2_preemphasis \
> +
> +STRUCTS = \
> +     v4l2_audio \
> +     v4l2_audioout \
> +     v4l2_bt_timings \
> +     v4l2_buffer \
> +     v4l2_capability \
> +     v4l2_captureparm \
> +     v4l2_clip \
> +     v4l2_control \
> +     v4l2_crop \
> +     v4l2_cropcap \
> +     v4l2_dbg_chip_ident \
> +     v4l2_dbg_match \
> +     v4l2_dbg_register \
> +     v4l2_dv_enum_preset \
> +     v4l2_dv_preset \
> +     v4l2_dv_timings \
> +     v4l2_event \
> +     v4l2_event_vsync \
> +     v4l2_enc_idx \
> +     v4l2_enc_idx_entry \
> +     v4l2_encoder_cmd \
> +     v4l2_ext_control \
> +     v4l2_ext_controls \
> +     v4l2_fmtdesc \
> +     v4l2_format \
> +     v4l2_fract \
> +     v4l2_framebuffer \
> +     v4l2_frequency \
> +     v4l2_frmival_stepwise \
> +     v4l2_frmivalenum \
> +     v4l2_frmsize_discrete \
> +     v4l2_frmsize_stepwise \
> +     v4l2_frmsizeenum \
> +     v4l2_hw_freq_seek \
> +     v4l2_input \
> +     v4l2_jpegcompression \
> +     v4l2_modulator \
> +     v4l2_mpeg_vbi_fmt_ivtv \
> +     v4l2_output \
> +     v4l2_outputparm \
> +     v4l2_pix_format \
> +     v4l2_queryctrl \
> +     v4l2_querymenu \
> +     v4l2_rect \
> +     v4l2_requestbuffers \
> +     v4l2_sliced_vbi_cap \
> +     v4l2_sliced_vbi_data \
> +     v4l2_sliced_vbi_format \
> +     v4l2_standard \
> +     v4l2_streamparm \
> +     v4l2_timecode \
> +     v4l2_tuner \
> +     v4l2_vbi_format \
> +     v4l2_window \
> +
> +ERRORS = \
> +     EACCES \
> +     EAGAIN \
> +     EBADF \
> +     EBUSY \
> +     EFAULT \
> +     EIO \
> +     EINTR \
> +     EINVAL \
> +     ENFILE \
> +     ENOMEM \
> +     ENOSPC \
> +     ENOTTY \
> +     ENXIO \
> +     EMFILE \
> +     EPERM \
> +     ERANGE \
> +
> +ESCAPE = \
> +     -e "s/&/\\&amp;/g" \
> +     -e "s/</\\&lt;/g" \
> +     -e "s/>/\\&gt;/g"
> +
> +FILENAME = \
> +     -e s,"^[^\/]*/",, \
> +     -e s/"\\.xml"// \
> +     -e s/"\\.tmpl"// \
> +     -e s/\\\./-/g \
> +     -e s/"^func-"// \
> +     -e s/"^pixfmt-"// \
> +     -e s/"^vidioc-"//
> +
> +# Generate references to these structs in videodev2.h.xml.

[snip]

[snip deleted files]


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to