linux-doc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/22] Move media documentation files
@ 2020-03-10 13:42 Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 01/22] media: docs: avermedia.rst: mark a table as such Mauro Carvalho Chehab
                   ` (20 more replies)
  0 siblings, 21 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Antti Palosaari, Harry Wei, linux-arm-kernel,
	Ramesh Shanmugasundaram, Malcolm Priestley, dri-devel, devel,
	Bingbu Cao, Federico Vaga, linux-usb, Antoine Jacquet, Yong Zhi,
	Mike Isely, Todor Tomov, Philipp Zabel, Pengutronix Kernel Team,
	NXP Linux Team, Andy Walls, Rui Miguel Silva, linux-fbdev,
	Michael Krufky, Greg Kroah-Hartman, Shawn Guo, Hans Verkuil,
	Sascha Hauer, Alex Shi, Hans Verkuil, Sakari Ailus,
	Bartlomiej Zolnierkiewicz, Steve Longerbeam, Fabio Estevam,
	Tian Shu Qiu

That's a second version of a patch series with moves the media documents
to better places.

The first version was actually a RFC. This one is more complete. Yet,
my plan is to merge it only at the media trees only after the end of the
next merge window.

I'm preparing several patches on the top of this series, with are updating
old documents that were at the driver-specific part of the documentation.

Mauro Carvalho Chehab (22):
  media: docs: avermedia.rst: mark a table as such
  media: docs: move soc-camera.rst to staging
  media: docs: split cpia2.rst on two files
  media: docs: split ci.rst into uAPI and user guide docs
  media: docs: split meye.rst into admin and uAPI docs
  media: docs: split vimc.rst into devel and admin parts
  media: docs: split development info from bttv.rst
  media: docs: split development info from cx88.rst
  media: docs: split cx2341x.rst into different audiences
  media: docs: cx18-streams.c: fix broken references to docs
  media: docs: split uAPI info from davinci-vpbe.rst
  media: docs: split uAPI info from fimc.rst
  media: docs: split uAPI info from saa7134-devel.rst
  media: docs: split uAPI info from omap3isp.rst
  media: docs: split uAPI info from imx.rst
  media: docs: move uAPI book to userspace-api/media
  media: docs: kAPI docs: move them to driver-api
  media: docs: move fourcc file to the uAPI document
  media: docs: move user-facing docs to the admin guide
  media: docs: move driver-specific info to driver-api
  media: docs: add an uAPI chapter for driver-specific stuff
  media: docs: get rid of Documentation/media/

 .../ABI/testing/debugfs-cec-error-inj         |   2 +-
 Documentation/Makefile                        |  10 +-
 Documentation/admin-guide/index.rst           |   1 +
 .../admin-guide/kernel-parameters.txt         |   4 +-
 .../media}/au0828-cardlist.rst                |   0
 .../media}/avermedia.rst                      |   4 +
 .../media}/bt8xx.rst                          |   8 +-
 .../media}/bttv-cardlist.rst                  |   0
 .../media}/bttv.rst                           | 120 ------------
 .../media}/cafe_ccic.rst                      |   0
 .../media}/cardlist.rst                       |   0
 .../media}/cards.rst                          |   0
 Documentation/admin-guide/media/ci.rst        |  77 ++++++++
 .../media}/cpia2.rst                          |  46 -----
 .../media}/cx23885-cardlist.rst               |   0
 .../media}/cx88-cardlist.rst                  |   0
 Documentation/admin-guide/media/cx88.rst      |  58 ++++++
 .../media}/davinci-vpbe.rst                   |  42 +---
 .../media}/em28xx-cardlist.rst                |   0
 .../dvb-drivers => admin-guide/media}/faq.rst |   0
 .../media}/fimc.rst                           |  22 +--
 .../media}/gspca-cardlist.rst                 |   0
 .../v4l-drivers => admin-guide/media}/imx.rst |  88 +--------
 .../media}/imx7.rst                           |   0
 Documentation/admin-guide/media/index.rst     | 104 ++++++++++
 .../media}/intro.rst                          |   0
 .../media}/ipu3.rst                           |   0
 .../media}/ipu3_rcb.svg                       |   0
 .../media}/ivtv-cardlist.rst                  |   0
 .../media}/ivtv.rst                           |   0
 .../media}/lmedm04.rst                        |   0
 .../media}/meye.rst                           |  41 ----
 Documentation/admin-guide/media/omap3isp.rst  |  92 +++++++++
 .../media}/omap4_camera.rst                   |   0
 .../media}/opera-firmware.rst                 |   0
 .../media}/philips.rst                        |   0
 .../media}/pulse8-cec.rst                     |   0
 .../media}/qcom_camss.rst                     |   0
 .../media}/qcom_camss_8x96_graph.dot          |   0
 .../media}/qcom_camss_graph.dot               |   0
 .../media}/rcar-fdp1.rst                      |   0
 .../media}/saa7134-cardlist.rst               |   0
 Documentation/admin-guide/media/saa7134.rst   |  61 ++++++
 .../media}/saa7164-cardlist.rst               |   0
 .../media}/si470x.rst                         |   0
 .../media}/si4713.rst                         |   0
 .../media}/si476x.rst                         |   0
 .../media}/technisat.rst                      |   0
 .../media}/tm6000-cardlist.rst                |   0
 .../media}/ttusb-dec.rst                      |   0
 .../media}/tuner-cardlist.rst                 |   0
 .../media}/udev.rst                           |   0
 .../media}/usbvision-cardlist.rst             |   0
 .../media}/v4l-with-ir.rst                    |   0
 .../media}/vimc.dot                           |   0
 .../media}/vimc.rst                           |  11 --
 .../media}/vivid.rst                          |   0
 .../media}/zr364xx.rst                        |   0
 Documentation/doc-guide/parse-headers.rst     |   2 +-
 Documentation/driver-api/index.rst            |   1 +
 .../kapi => driver-api/media}/cec-core.rst    |   0
 .../{media/kapi => driver-api/media}/csi2.rst |   0
 .../driver-api/media/drivers/bttv-devel.rst   | 123 ++++++++++++
 .../media/drivers}/contributors.rst           |   0
 .../driver-api/media/drivers/cpia2_devel.rst  |  56 ++++++
 .../media/drivers/cx2341x-devel.rst}          | 175 -----------------
 .../media/drivers/cx88-devel.rst}             |  52 -----
 .../media/drivers/davinci-vpbe-devel.rst      |  39 ++++
 .../media/drivers}/dvb-usb.rst                |   0
 .../driver-api/media/drivers/fimc-devel.rst   |  33 ++++
 .../media/drivers}/frontends.rst              |   0
 .../media/drivers}/index.rst                  |  40 ++--
 .../media/drivers}/pvrusb2.rst                |   0
 .../media/drivers}/pxa_camera.rst             |   0
 .../media/drivers}/radiotrack.rst             |   0
 .../media/drivers/saa7134-devel.rst}          |  48 -----
 .../media/drivers}/sh_mobile_ceu_camera.rst   |   0
 .../media/drivers}/tuners.rst                 |   0
 .../driver-api/media/drivers/vimc-devel.rst   |  15 ++
 .../kapi => driver-api/media}/dtv-ca.rst      |   0
 .../kapi => driver-api/media}/dtv-common.rst  |   0
 .../kapi => driver-api/media}/dtv-core.rst    |   0
 .../kapi => driver-api/media}/dtv-demux.rst   |   0
 .../media}/dtv-frontend.rst                   |   0
 .../kapi => driver-api/media}/dtv-net.rst     |   0
 .../media/index.rst}                          |  14 +-
 .../kapi => driver-api/media}/mc-core.rst     |   0
 .../kapi => driver-api/media}/rc-core.rst     |   0
 .../kapi => driver-api/media}/v4l2-async.rst  |   0
 .../kapi => driver-api/media}/v4l2-clocks.rst |   0
 .../kapi => driver-api/media}/v4l2-common.rst |   0
 .../media}/v4l2-controls.rst                  |   0
 .../kapi => driver-api/media}/v4l2-core.rst   |   0
 .../kapi => driver-api/media}/v4l2-dev.rst    |   0
 .../kapi => driver-api/media}/v4l2-device.rst |   0
 .../media}/v4l2-dv-timings.rst                |   0
 .../kapi => driver-api/media}/v4l2-event.rst  |   0
 .../kapi => driver-api/media}/v4l2-fh.rst     |   0
 .../media}/v4l2-flash-led-class.rst           |   0
 .../kapi => driver-api/media}/v4l2-fwnode.rst |   0
 .../kapi => driver-api/media}/v4l2-intro.rst  |   0
 .../kapi => driver-api/media}/v4l2-mc.rst     |   0
 .../media}/v4l2-mediabus.rst                  |   0
 .../media}/v4l2-mem2mem.rst                   |   0
 .../kapi => driver-api/media}/v4l2-rect.rst   |   0
 .../kapi => driver-api/media}/v4l2-subdev.rst |   0
 .../kapi => driver-api/media}/v4l2-tuner.rst  |   0
 .../media}/v4l2-tveeprom.rst                  |   0
 .../media}/v4l2-videobuf.rst                  |   0
 .../media}/v4l2-videobuf2.rst                 |   0
 Documentation/fb/api.rst                      |   4 +-
 Documentation/index.rst                       |   1 -
 Documentation/media/cec-drivers/index.rst     |  34 ----
 Documentation/media/index.rst                 |  26 ---
 .../it_IT/doc-guide/parse-headers.rst         |   2 +-
 .../zh_CN/video4linux/omap3isp.txt            |   4 +-
 .../zh_CN/video4linux/v4l2-framework.txt      |   6 +-
 Documentation/userspace-api/index.rst         |   1 +
 .../{ => userspace-api}/media/Makefile        |   2 +-
 .../media/audio.h.rst.exceptions              |   0
 .../media/ca.h.rst.exceptions                 |   0
 .../media/cec.h.rst.exceptions                |   0
 .../media}/cec/cec-api.rst                    |   2 +-
 .../media}/cec/cec-func-close.rst             |   2 +-
 .../media}/cec/cec-func-ioctl.rst             |   2 +-
 .../media}/cec/cec-func-open.rst              |   2 +-
 .../media}/cec/cec-func-poll.rst              |   2 +-
 .../media}/cec/cec-funcs.rst                  |   2 +-
 .../media}/cec/cec-header.rst                 |   2 +-
 .../media}/cec/cec-intro.rst                  |   2 +-
 .../media}/cec/cec-ioc-adap-g-caps.rst        |   2 +-
 .../media}/cec/cec-ioc-adap-g-conn-info.rst   |   0
 .../media}/cec/cec-ioc-adap-g-log-addrs.rst   |   2 +-
 .../media}/cec/cec-ioc-adap-g-phys-addr.rst   |   2 +-
 .../media}/cec/cec-ioc-dqevent.rst            |   2 +-
 .../media}/cec/cec-ioc-g-mode.rst             |   2 +-
 .../media}/cec/cec-ioc-receive.rst            |   2 +-
 .../media}/cec/cec-pin-error-inj.rst          |   2 +-
 .../{ => userspace-api}/media/conf_nitpick.py |   0
 .../media/dmx.h.rst.exceptions                |   0
 .../media/drivers/cx2341x-uapi.rst            | 179 ++++++++++++++++++
 .../userspace-api/media/drivers/imx-uapi.rst  | 125 ++++++++++++
 .../media/drivers}/index.rst                  |  39 +---
 .../media/drivers}/max2175.rst                |   2 +-
 .../userspace-api/media/drivers/meye-uapi.rst |  53 ++++++
 .../media/drivers/omap3isp-uapi.rst}          |  80 +-------
 .../media/drivers}/uvcvideo.rst               |   0
 .../dvb/audio-bilingual-channel-select.rst    |   2 +-
 .../media}/dvb/audio-channel-select.rst       |   2 +-
 .../media}/dvb/audio-clear-buffer.rst         |   2 +-
 .../media}/dvb/audio-continue.rst             |   2 +-
 .../media}/dvb/audio-fclose.rst               |   2 +-
 .../media}/dvb/audio-fopen.rst                |   2 +-
 .../media}/dvb/audio-fwrite.rst               |   2 +-
 .../media}/dvb/audio-get-capabilities.rst     |   2 +-
 .../media}/dvb/audio-get-status.rst           |   2 +-
 .../media}/dvb/audio-pause.rst                |   2 +-
 .../media}/dvb/audio-play.rst                 |   2 +-
 .../media}/dvb/audio-select-source.rst        |   2 +-
 .../media}/dvb/audio-set-av-sync.rst          |   2 +-
 .../media}/dvb/audio-set-bypass-mode.rst      |   2 +-
 .../media}/dvb/audio-set-id.rst               |   2 +-
 .../media}/dvb/audio-set-mixer.rst            |   2 +-
 .../media}/dvb/audio-set-mute.rst             |   2 +-
 .../media}/dvb/audio-set-streamtype.rst       |   2 +-
 .../media}/dvb/audio-stop.rst                 |   2 +-
 .../media}/dvb/audio.rst                      |   2 +-
 .../media}/dvb/audio_data_types.rst           |   2 +-
 .../media}/dvb/audio_function_calls.rst       |   2 +-
 .../media}/dvb/ca-fclose.rst                  |   2 +-
 .../media}/dvb/ca-fopen.rst                   |   2 +-
 .../media}/dvb/ca-get-cap.rst                 |   2 +-
 .../media}/dvb/ca-get-descr-info.rst          |   2 +-
 .../media}/dvb/ca-get-msg.rst                 |   2 +-
 .../media}/dvb/ca-get-slot-info.rst           |   2 +-
 .../media}/dvb/ca-reset.rst                   |   2 +-
 .../media}/dvb/ca-send-msg.rst                |   2 +-
 .../media}/dvb/ca-set-descr.rst               |   2 +-
 .../uapi => userspace-api/media}/dvb/ca.rst   |   3 +-
 .../media}/dvb/ca_data_types.rst              |   2 +-
 .../media}/dvb/ca_function_calls.rst          |   2 +-
 .../media/dvb/ca_high_level.rst}              |  90 +--------
 .../media}/dvb/demux.rst                      |   2 +-
 .../media}/dvb/dmx-add-pid.rst                |   2 +-
 .../media}/dvb/dmx-expbuf.rst                 |   2 +-
 .../media}/dvb/dmx-fclose.rst                 |   2 +-
 .../media}/dvb/dmx-fopen.rst                  |   2 +-
 .../media}/dvb/dmx-fread.rst                  |   2 +-
 .../media}/dvb/dmx-fwrite.rst                 |   2 +-
 .../media}/dvb/dmx-get-pes-pids.rst           |   2 +-
 .../media}/dvb/dmx-get-stc.rst                |   2 +-
 .../media}/dvb/dmx-mmap.rst                   |   2 +-
 .../media}/dvb/dmx-munmap.rst                 |   2 +-
 .../media}/dvb/dmx-qbuf.rst                   |   2 +-
 .../media}/dvb/dmx-querybuf.rst               |   2 +-
 .../media}/dvb/dmx-remove-pid.rst             |   2 +-
 .../media}/dvb/dmx-reqbufs.rst                |   2 +-
 .../media}/dvb/dmx-set-buffer-size.rst        |   2 +-
 .../media}/dvb/dmx-set-filter.rst             |   2 +-
 .../media}/dvb/dmx-set-pes-filter.rst         |   2 +-
 .../media}/dvb/dmx-start.rst                  |   2 +-
 .../media}/dvb/dmx-stop.rst                   |   2 +-
 .../media}/dvb/dmx_fcalls.rst                 |   2 +-
 .../media}/dvb/dmx_types.rst                  |   2 +-
 .../media}/dvb/dvb-fe-read-status.rst         |   2 +-
 .../media}/dvb/dvb-frontend-event.rst         |   2 +-
 .../media}/dvb/dvb-frontend-parameters.rst    |   2 +-
 .../media}/dvb/dvbapi.rst                     |   2 +-
 .../media}/dvb/dvbproperty.rst                |   2 +-
 .../media}/dvb/dvbstb.svg                     |   2 +-
 .../media}/dvb/examples.rst                   |   2 +-
 .../media}/dvb/fe-bandwidth-t.rst             |   2 +-
 .../media}/dvb/fe-diseqc-recv-slave-reply.rst |   2 +-
 .../media}/dvb/fe-diseqc-reset-overload.rst   |   2 +-
 .../media}/dvb/fe-diseqc-send-burst.rst       |   2 +-
 .../media}/dvb/fe-diseqc-send-master-cmd.rst  |   2 +-
 .../dvb/fe-dishnetwork-send-legacy-cmd.rst    |   2 +-
 .../media}/dvb/fe-enable-high-lnb-voltage.rst |   2 +-
 .../media}/dvb/fe-get-event.rst               |   2 +-
 .../media}/dvb/fe-get-frontend.rst            |   2 +-
 .../media}/dvb/fe-get-info.rst                |   2 +-
 .../media}/dvb/fe-get-property.rst            |   2 +-
 .../media}/dvb/fe-read-ber.rst                |   2 +-
 .../media}/dvb/fe-read-signal-strength.rst    |   2 +-
 .../media}/dvb/fe-read-snr.rst                |   2 +-
 .../media}/dvb/fe-read-status.rst             |   2 +-
 .../media}/dvb/fe-read-uncorrected-blocks.rst |   2 +-
 .../media}/dvb/fe-set-frontend-tune-mode.rst  |   2 +-
 .../media}/dvb/fe-set-frontend.rst            |   2 +-
 .../media}/dvb/fe-set-tone.rst                |   2 +-
 .../media}/dvb/fe-set-voltage.rst             |   2 +-
 .../media}/dvb/fe-type-t.rst                  |   2 +-
 .../media}/dvb/fe_property_parameters.rst     |   2 +-
 .../media}/dvb/frontend-header.rst            |   2 +-
 .../dvb/frontend-property-cable-systems.rst   |   2 +-
 .../frontend-property-satellite-systems.rst   |   2 +-
 .../frontend-property-terrestrial-systems.rst |   2 +-
 .../media}/dvb/frontend-stat-properties.rst   |   2 +-
 .../media}/dvb/frontend.rst                   |   2 +-
 .../media}/dvb/frontend_f_close.rst           |   2 +-
 .../media}/dvb/frontend_f_open.rst            |   2 +-
 .../media}/dvb/frontend_fcalls.rst            |   2 +-
 .../media}/dvb/frontend_legacy_api.rst        |   2 +-
 .../media}/dvb/frontend_legacy_dvbv3_api.rst  |   2 +-
 .../media}/dvb/headers.rst                    |   2 +-
 .../media}/dvb/intro.rst                      |   2 +-
 .../media}/dvb/legacy_dvb_apis.rst            |   2 +-
 .../media}/dvb/net-add-if.rst                 |   2 +-
 .../media}/dvb/net-get-if.rst                 |   2 +-
 .../media}/dvb/net-remove-if.rst              |   2 +-
 .../media}/dvb/net-types.rst                  |   2 +-
 .../uapi => userspace-api/media}/dvb/net.rst  |   2 +-
 .../media}/dvb/query-dvb-frontend-info.rst    |   2 +-
 .../media}/dvb/video-clear-buffer.rst         |   2 +-
 .../media}/dvb/video-command.rst              |   2 +-
 .../media}/dvb/video-continue.rst             |   2 +-
 .../media}/dvb/video-fast-forward.rst         |   2 +-
 .../media}/dvb/video-fclose.rst               |   2 +-
 .../media}/dvb/video-fopen.rst                |   2 +-
 .../media}/dvb/video-freeze.rst               |   2 +-
 .../media}/dvb/video-fwrite.rst               |   2 +-
 .../media}/dvb/video-get-capabilities.rst     |   2 +-
 .../media}/dvb/video-get-event.rst            |   2 +-
 .../media}/dvb/video-get-frame-count.rst      |   2 +-
 .../media}/dvb/video-get-pts.rst              |   2 +-
 .../media}/dvb/video-get-size.rst             |   2 +-
 .../media}/dvb/video-get-status.rst           |   2 +-
 .../media}/dvb/video-play.rst                 |   2 +-
 .../media}/dvb/video-select-source.rst        |   2 +-
 .../media}/dvb/video-set-blank.rst            |   2 +-
 .../media}/dvb/video-set-display-format.rst   |   2 +-
 .../media}/dvb/video-set-format.rst           |   2 +-
 .../media}/dvb/video-set-streamtype.rst       |   2 +-
 .../media}/dvb/video-slowmotion.rst           |   2 +-
 .../media}/dvb/video-stillpicture.rst         |   2 +-
 .../media}/dvb/video-stop.rst                 |   2 +-
 .../media}/dvb/video-try-command.rst          |   2 +-
 .../media}/dvb/video.rst                      |   2 +-
 .../media}/dvb/video_function_calls.rst       |   2 +-
 .../media}/dvb/video_types.rst                |   2 +-
 .../media}/fdl-appendix.rst                   |   2 +-
 .../media/frontend.h.rst.exceptions           |   0
 .../media}/gen-errors.rst                     |   2 +-
 .../media/index.rst}                          |  16 +-
 .../{ => userspace-api}/media/intro.rst       |   0
 .../media/lirc.h.rst.exceptions               |   0
 .../media/media.h.rst.exceptions              |   0
 .../mediactl/media-controller-intro.rst       |   2 +-
 .../mediactl/media-controller-model.rst       |   2 +-
 .../media}/mediactl/media-controller.rst      |   2 +-
 .../media}/mediactl/media-func-close.rst      |   2 +-
 .../media}/mediactl/media-func-ioctl.rst      |   2 +-
 .../media}/mediactl/media-func-open.rst       |   2 +-
 .../media}/mediactl/media-funcs.rst           |   2 +-
 .../media}/mediactl/media-header.rst          |   2 +-
 .../media}/mediactl/media-ioc-device-info.rst |   2 +-
 .../mediactl/media-ioc-enum-entities.rst      |   2 +-
 .../media}/mediactl/media-ioc-enum-links.rst  |   2 +-
 .../media}/mediactl/media-ioc-g-topology.rst  |   2 +-
 .../mediactl/media-ioc-request-alloc.rst      |   2 +-
 .../media}/mediactl/media-ioc-setup-link.rst  |   2 +-
 .../mediactl/media-request-ioc-queue.rst      |   2 +-
 .../mediactl/media-request-ioc-reinit.rst     |   2 +-
 .../media}/mediactl/media-types.rst           |   2 +-
 .../media}/mediactl/request-api.rst           |   2 +-
 .../media}/mediactl/request-func-close.rst    |   2 +-
 .../media}/mediactl/request-func-ioctl.rst    |   2 +-
 .../media}/mediactl/request-func-poll.rst     |   2 +-
 .../media/net.h.rst.exceptions                |   0
 .../media}/rc/keytable.c.rst                  |   2 +-
 .../media}/rc/lirc-dev-intro.rst              |   2 +-
 .../media}/rc/lirc-dev.rst                    |   2 +-
 .../media}/rc/lirc-func.rst                   |   2 +-
 .../media}/rc/lirc-get-features.rst           |   2 +-
 .../media}/rc/lirc-get-rec-mode.rst           |   2 +-
 .../media}/rc/lirc-get-rec-resolution.rst     |   2 +-
 .../media}/rc/lirc-get-send-mode.rst          |   2 +-
 .../media}/rc/lirc-get-timeout.rst            |   2 +-
 .../media}/rc/lirc-header.rst                 |   2 +-
 .../media}/rc/lirc-read.rst                   |   2 +-
 .../rc/lirc-set-measure-carrier-mode.rst      |   2 +-
 .../media}/rc/lirc-set-rec-carrier-range.rst  |   2 +-
 .../media}/rc/lirc-set-rec-carrier.rst        |   2 +-
 .../rc/lirc-set-rec-timeout-reports.rst       |   2 +-
 .../media}/rc/lirc-set-rec-timeout.rst        |   2 +-
 .../media}/rc/lirc-set-send-carrier.rst       |   2 +-
 .../media}/rc/lirc-set-send-duty-cycle.rst    |   2 +-
 .../media}/rc/lirc-set-transmitter-mask.rst   |   2 +-
 .../media}/rc/lirc-set-wideband-receiver.rst  |   2 +-
 .../media}/rc/lirc-write.rst                  |   2 +-
 .../media}/rc/rc-intro.rst                    |   2 +-
 .../media}/rc/rc-protos.rst                   |   0
 .../media}/rc/rc-sysfs-nodes.rst              |   2 +-
 .../media}/rc/rc-table-change.rst             |   2 +-
 .../media}/rc/rc-tables.rst                   |   2 +-
 .../media}/rc/remote_controllers.rst          |   2 +-
 .../media/typical_media_device.svg            |   2 +-
 .../media}/v4l/app-pri.rst                    |   2 +-
 .../media}/v4l/async.rst                      |   2 +-
 .../media}/v4l/audio.rst                      |   2 +-
 .../media}/v4l/bayer.svg                      |   2 +-
 .../media}/v4l/biblio.rst                     |   2 +-
 .../media}/v4l/buffer.rst                     |   2 +-
 .../media}/v4l/capture-example.rst            |   2 +-
 .../media}/v4l/capture.c.rst                  |   2 +-
 .../media}/v4l/colorspaces-defs.rst           |   2 +-
 .../media}/v4l/colorspaces-details.rst        |   2 +-
 .../media}/v4l/colorspaces.rst                |   2 +-
 .../media}/v4l/common-defs.rst                |   2 +-
 .../media}/v4l/common.rst                     |   3 +-
 .../media}/v4l/compat.rst                     |   2 +-
 .../media}/v4l/constraints.svg                |   2 +-
 .../media}/v4l/control.rst                    |   2 +-
 .../uapi => userspace-api/media}/v4l/crop.rst |   2 +-
 .../uapi => userspace-api/media}/v4l/crop.svg |   2 +-
 .../media}/v4l/depth-formats.rst              |   2 +-
 .../media}/v4l/dev-capture.rst                |   2 +-
 .../media}/v4l/dev-decoder.rst                |   0
 .../media}/v4l/dev-event.rst                  |   2 +-
 .../media}/v4l/dev-mem2mem.rst                |   2 +-
 .../media}/v4l/dev-meta.rst                   |   2 +-
 .../media}/v4l/dev-osd.rst                    |   2 +-
 .../media}/v4l/dev-output.rst                 |   2 +-
 .../media}/v4l/dev-overlay.rst                |   2 +-
 .../media}/v4l/dev-radio.rst                  |   2 +-
 .../media}/v4l/dev-raw-vbi.rst                |   2 +-
 .../media}/v4l/dev-rds.rst                    |   2 +-
 .../media}/v4l/dev-sdr.rst                    |   2 +-
 .../media}/v4l/dev-sliced-vbi.rst             |   4 +-
 .../media}/v4l/dev-stateless-decoder.rst      |   0
 .../media}/v4l/dev-subdev.rst                 |   2 +-
 .../media}/v4l/dev-touch.rst                  |   2 +-
 .../media}/v4l/devices.rst                    |   2 +-
 .../media}/v4l/diff-v4l.rst                   |   2 +-
 .../media}/v4l/dmabuf.rst                     |   2 +-
 .../media}/v4l/dv-timings.rst                 |   2 +-
 .../media}/v4l/ext-ctrls-camera.rst           |   2 +-
 .../media}/v4l/ext-ctrls-codec.rst            |   4 +-
 .../media}/v4l/ext-ctrls-detect.rst           |   2 +-
 .../media}/v4l/ext-ctrls-dv.rst               |   2 +-
 .../media}/v4l/ext-ctrls-flash.rst            |   2 +-
 .../media}/v4l/ext-ctrls-fm-rx.rst            |   2 +-
 .../media}/v4l/ext-ctrls-fm-tx.rst            |   2 +-
 .../media}/v4l/ext-ctrls-image-process.rst    |   4 +-
 .../media}/v4l/ext-ctrls-image-source.rst     |   2 +-
 .../media}/v4l/ext-ctrls-jpeg.rst             |   2 +-
 .../media}/v4l/ext-ctrls-rf-tuner.rst         |   2 +-
 .../media}/v4l/extended-controls.rst          |   2 +-
 .../media}/v4l/field-order.rst                |   2 +-
 .../media}/v4l/fieldseq_bt.svg                |   2 +-
 .../media}/v4l/fieldseq_tb.svg                |   2 +-
 .../media}/v4l/format.rst                     |   2 +-
 .../media/v4l}/fourcc.rst                     |   0
 .../media}/v4l/func-close.rst                 |   2 +-
 .../media}/v4l/func-ioctl.rst                 |   2 +-
 .../media}/v4l/func-mmap.rst                  |   2 +-
 .../media}/v4l/func-munmap.rst                |   2 +-
 .../media}/v4l/func-open.rst                  |   2 +-
 .../media}/v4l/func-poll.rst                  |   2 +-
 .../media}/v4l/func-read.rst                  |   2 +-
 .../media}/v4l/func-select.rst                |   2 +-
 .../media}/v4l/func-write.rst                 |   2 +-
 .../media}/v4l/hist-v4l2.rst                  |   2 +-
 .../media}/v4l/hsv-formats.rst                |   2 +-
 .../uapi => userspace-api/media}/v4l/io.rst   |   2 +-
 .../media}/v4l/libv4l-introduction.rst        |   2 +-
 .../media}/v4l/libv4l.rst                     |   2 +-
 .../media}/v4l/meta-formats.rst               |   2 +-
 .../uapi => userspace-api/media}/v4l/mmap.rst |   2 +-
 .../media}/v4l/nv12mt.svg                     |   2 +-
 .../media}/v4l/nv12mt_example.svg             |   2 +-
 .../uapi => userspace-api/media}/v4l/open.rst |   2 +-
 .../media}/v4l/pipeline.dot                   |   0
 .../media}/v4l/pixfmt-bayer.rst               |   2 +-
 .../media}/v4l/pixfmt-cnf4.rst                |   0
 .../media}/v4l/pixfmt-compressed.rst          |   2 +-
 .../media}/v4l/pixfmt-grey.rst                |   2 +-
 .../media}/v4l/pixfmt-indexed.rst             |   2 +-
 .../media}/v4l/pixfmt-intro.rst               |   2 +-
 .../media}/v4l/pixfmt-inzi.rst                |   2 +-
 .../media}/v4l/pixfmt-m420.rst                |   2 +-
 .../media}/v4l/pixfmt-meta-d4xx.rst           |   2 +-
 .../media}/v4l/pixfmt-meta-intel-ipu3.rst     |   2 +-
 .../media}/v4l/pixfmt-meta-uvc.rst            |   2 +-
 .../media}/v4l/pixfmt-meta-vivid.rst          |   2 +-
 .../media}/v4l/pixfmt-meta-vsp1-hgo.rst       |   2 +-
 .../media}/v4l/pixfmt-meta-vsp1-hgt.rst       |   2 +-
 .../media}/v4l/pixfmt-nv12.rst                |   2 +-
 .../media}/v4l/pixfmt-nv12m.rst               |   2 +-
 .../media}/v4l/pixfmt-nv12mt.rst              |   2 +-
 .../media}/v4l/pixfmt-nv16.rst                |   2 +-
 .../media}/v4l/pixfmt-nv16m.rst               |   2 +-
 .../media}/v4l/pixfmt-nv24.rst                |   2 +-
 .../media}/v4l/pixfmt-packed-hsv.rst          |   2 +-
 .../media}/v4l/pixfmt-packed-yuv.rst          |   2 +-
 .../media}/v4l/pixfmt-reserved.rst            |   4 +-
 .../media}/v4l/pixfmt-rgb.rst                 |   2 +-
 .../media}/v4l/pixfmt-sdr-cs08.rst            |   2 +-
 .../media}/v4l/pixfmt-sdr-cs14le.rst          |   2 +-
 .../media}/v4l/pixfmt-sdr-cu08.rst            |   2 +-
 .../media}/v4l/pixfmt-sdr-cu16le.rst          |   2 +-
 .../media}/v4l/pixfmt-sdr-pcu16be.rst         |   2 +-
 .../media}/v4l/pixfmt-sdr-pcu18be.rst         |   2 +-
 .../media}/v4l/pixfmt-sdr-pcu20be.rst         |   2 +-
 .../media}/v4l/pixfmt-sdr-ru12le.rst          |   2 +-
 .../media}/v4l/pixfmt-srggb10-ipu3.rst        |   2 +-
 .../media}/v4l/pixfmt-srggb10.rst             |   2 +-
 .../media}/v4l/pixfmt-srggb10alaw8.rst        |   2 +-
 .../media}/v4l/pixfmt-srggb10dpcm8.rst        |   2 +-
 .../media}/v4l/pixfmt-srggb10p.rst            |   2 +-
 .../media}/v4l/pixfmt-srggb12.rst             |   2 +-
 .../media}/v4l/pixfmt-srggb12p.rst            |   2 +-
 .../media}/v4l/pixfmt-srggb14p.rst            |   2 +-
 .../media}/v4l/pixfmt-srggb16.rst             |   2 +-
 .../media}/v4l/pixfmt-srggb8.rst              |   2 +-
 .../media}/v4l/pixfmt-tch-td08.rst            |   2 +-
 .../media}/v4l/pixfmt-tch-td16.rst            |   2 +-
 .../media}/v4l/pixfmt-tch-tu08.rst            |   2 +-
 .../media}/v4l/pixfmt-tch-tu16.rst            |   2 +-
 .../media}/v4l/pixfmt-uv8.rst                 |   2 +-
 .../media}/v4l/pixfmt-uyvy.rst                |   2 +-
 .../media}/v4l/pixfmt-v4l2-mplane.rst         |   2 +-
 .../media}/v4l/pixfmt-v4l2.rst                |   2 +-
 .../media}/v4l/pixfmt-vyuy.rst                |   2 +-
 .../media}/v4l/pixfmt-y10.rst                 |   2 +-
 .../media}/v4l/pixfmt-y10b.rst                |   2 +-
 .../media}/v4l/pixfmt-y10p.rst                |   2 +-
 .../media}/v4l/pixfmt-y12.rst                 |   2 +-
 .../media}/v4l/pixfmt-y12i.rst                |   2 +-
 .../media}/v4l/pixfmt-y16-be.rst              |   2 +-
 .../media}/v4l/pixfmt-y16.rst                 |   2 +-
 .../media}/v4l/pixfmt-y41p.rst                |   2 +-
 .../media}/v4l/pixfmt-y8i.rst                 |   2 +-
 .../media}/v4l/pixfmt-yuv410.rst              |   2 +-
 .../media}/v4l/pixfmt-yuv411p.rst             |   2 +-
 .../media}/v4l/pixfmt-yuv420.rst              |   2 +-
 .../media}/v4l/pixfmt-yuv420m.rst             |   2 +-
 .../media}/v4l/pixfmt-yuv422m.rst             |   2 +-
 .../media}/v4l/pixfmt-yuv422p.rst             |   2 +-
 .../media}/v4l/pixfmt-yuv444m.rst             |   2 +-
 .../media}/v4l/pixfmt-yuyv.rst                |   2 +-
 .../media}/v4l/pixfmt-yvyu.rst                |   2 +-
 .../media}/v4l/pixfmt-z16.rst                 |   2 +-
 .../media}/v4l/pixfmt.rst                     |   2 +-
 .../media}/v4l/planar-apis.rst                |   2 +-
 .../media}/v4l/querycap.rst                   |   2 +-
 .../uapi => userspace-api/media}/v4l/rw.rst   |   2 +-
 .../media}/v4l/sdr-formats.rst                |   2 +-
 .../v4l/selection-api-configuration.rst       |   2 +-
 .../media}/v4l/selection-api-examples.rst     |   2 +-
 .../media}/v4l/selection-api-intro.rst        |   2 +-
 .../media}/v4l/selection-api-targets.rst      |   2 +-
 .../media}/v4l/selection-api-vs-crop-api.rst  |   2 +-
 .../media}/v4l/selection-api.rst              |   2 +-
 .../media}/v4l/selection.svg                  |   2 +-
 .../media}/v4l/selections-common.rst          |   2 +-
 .../media}/v4l/standard.rst                   |   2 +-
 .../media}/v4l/streaming-par.rst              |   2 +-
 .../media}/v4l/subdev-formats.rst             |   2 +-
 .../v4l/subdev-image-processing-crop.svg      |   2 +-
 .../v4l/subdev-image-processing-full.svg      |   2 +-
 ...-image-processing-scaling-multi-source.svg |   2 +-
 .../media}/v4l/tch-formats.rst                |   2 +-
 .../media}/v4l/tuner.rst                      |   2 +-
 .../media}/v4l/user-func.rst                  |   2 +-
 .../media}/v4l/userp.rst                      |   2 +-
 .../media}/v4l/v4l2-selection-flags.rst       |   2 +-
 .../media}/v4l/v4l2-selection-targets.rst     |   2 +-
 .../uapi => userspace-api/media}/v4l/v4l2.rst |   2 +-
 .../media}/v4l/v4l2grab-example.rst           |   2 +-
 .../media}/v4l/v4l2grab.c.rst                 |   2 +-
 .../media}/v4l/vbi_525.svg                    |   2 +-
 .../media}/v4l/vbi_625.svg                    |   2 +-
 .../media}/v4l/vbi_hsync.svg                  |   2 +-
 .../media}/v4l/video.rst                      |   2 +-
 .../media}/v4l/videodev.rst                   |   2 +-
 .../media}/v4l/vidioc-create-bufs.rst         |   2 +-
 .../media}/v4l/vidioc-cropcap.rst             |   2 +-
 .../media}/v4l/vidioc-dbg-g-chip-info.rst     |   2 +-
 .../media}/v4l/vidioc-dbg-g-register.rst      |   2 +-
 .../media}/v4l/vidioc-decoder-cmd.rst         |   2 +-
 .../media}/v4l/vidioc-dqevent.rst             |   2 +-
 .../media}/v4l/vidioc-dv-timings-cap.rst      |   2 +-
 .../media}/v4l/vidioc-encoder-cmd.rst         |   2 +-
 .../media}/v4l/vidioc-enum-dv-timings.rst     |   2 +-
 .../media}/v4l/vidioc-enum-fmt.rst            |   2 +-
 .../media}/v4l/vidioc-enum-frameintervals.rst |   2 +-
 .../media}/v4l/vidioc-enum-framesizes.rst     |   2 +-
 .../media}/v4l/vidioc-enum-freq-bands.rst     |   2 +-
 .../media}/v4l/vidioc-enumaudio.rst           |   2 +-
 .../media}/v4l/vidioc-enumaudioout.rst        |   2 +-
 .../media}/v4l/vidioc-enuminput.rst           |   2 +-
 .../media}/v4l/vidioc-enumoutput.rst          |   2 +-
 .../media}/v4l/vidioc-enumstd.rst             |   2 +-
 .../media}/v4l/vidioc-expbuf.rst              |   2 +-
 .../media}/v4l/vidioc-g-audio.rst             |   2 +-
 .../media}/v4l/vidioc-g-audioout.rst          |   2 +-
 .../media}/v4l/vidioc-g-crop.rst              |   2 +-
 .../media}/v4l/vidioc-g-ctrl.rst              |   2 +-
 .../media}/v4l/vidioc-g-dv-timings.rst        |   2 +-
 .../media}/v4l/vidioc-g-edid.rst              |   2 +-
 .../media}/v4l/vidioc-g-enc-index.rst         |   2 +-
 .../media}/v4l/vidioc-g-ext-ctrls.rst         |   2 +-
 .../media}/v4l/vidioc-g-fbuf.rst              |   2 +-
 .../media}/v4l/vidioc-g-fmt.rst               |   2 +-
 .../media}/v4l/vidioc-g-frequency.rst         |   2 +-
 .../media}/v4l/vidioc-g-input.rst             |   2 +-
 .../media}/v4l/vidioc-g-jpegcomp.rst          |   2 +-
 .../media}/v4l/vidioc-g-modulator.rst         |   2 +-
 .../media}/v4l/vidioc-g-output.rst            |   2 +-
 .../media}/v4l/vidioc-g-parm.rst              |   2 +-
 .../media}/v4l/vidioc-g-priority.rst          |   2 +-
 .../media}/v4l/vidioc-g-selection.rst         |   2 +-
 .../media}/v4l/vidioc-g-sliced-vbi-cap.rst    |   2 +-
 .../media}/v4l/vidioc-g-std.rst               |   2 +-
 .../media}/v4l/vidioc-g-tuner.rst             |   2 +-
 .../media}/v4l/vidioc-log-status.rst          |   2 +-
 .../media}/v4l/vidioc-overlay.rst             |   2 +-
 .../media}/v4l/vidioc-prepare-buf.rst         |   2 +-
 .../media}/v4l/vidioc-qbuf.rst                |   2 +-
 .../media}/v4l/vidioc-query-dv-timings.rst    |   2 +-
 .../media}/v4l/vidioc-querybuf.rst            |   2 +-
 .../media}/v4l/vidioc-querycap.rst            |   2 +-
 .../media}/v4l/vidioc-queryctrl.rst           |   2 +-
 .../media}/v4l/vidioc-querystd.rst            |   2 +-
 .../media}/v4l/vidioc-reqbufs.rst             |   2 +-
 .../media}/v4l/vidioc-s-hw-freq-seek.rst      |   2 +-
 .../media}/v4l/vidioc-streamon.rst            |   2 +-
 .../v4l/vidioc-subdev-enum-frame-interval.rst |   2 +-
 .../v4l/vidioc-subdev-enum-frame-size.rst     |   2 +-
 .../v4l/vidioc-subdev-enum-mbus-code.rst      |   2 +-
 .../media}/v4l/vidioc-subdev-g-crop.rst       |   2 +-
 .../media}/v4l/vidioc-subdev-g-fmt.rst        |   2 +-
 .../v4l/vidioc-subdev-g-frame-interval.rst    |   2 +-
 .../media}/v4l/vidioc-subdev-g-selection.rst  |   2 +-
 .../media}/v4l/vidioc-subscribe-event.rst     |   2 +-
 .../media}/v4l/yuv-formats.rst                |   2 +-
 .../media/video.h.rst.exceptions              |   0
 .../media/videodev2.h.rst.exceptions          |   0
 MAINTAINERS                                   |  46 +++--
 drivers/media/dvb-frontends/dib3000.h         |   2 +-
 drivers/media/dvb-frontends/dib3000mb.c       |   2 +-
 drivers/media/dvb-frontends/eds1547.h         |   2 +-
 drivers/media/dvb-frontends/z0194a.h          |   2 +-
 drivers/media/i2c/max2175.c                   |   6 +-
 drivers/media/pci/bt8xx/Kconfig               |   2 +-
 drivers/media/pci/cx18/cx18-streams.c         |   4 +-
 drivers/media/pci/meye/Kconfig                |   2 +-
 drivers/media/platform/pxa_camera.c           |   4 +-
 drivers/media/radio/Kconfig                   |  12 +-
 drivers/media/radio/si470x/Kconfig            |   2 +-
 drivers/media/radio/wl128x/Kconfig            |   2 +-
 drivers/media/usb/dvb-usb-v2/Kconfig          |   2 +-
 drivers/media/usb/dvb-usb-v2/gl861.c          |   2 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c        |   4 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.h        |   2 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf.c       |   2 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf.h       |   2 +-
 drivers/media/usb/dvb-usb/Kconfig             |   2 +-
 drivers/media/usb/dvb-usb/a800.c              |   2 +-
 drivers/media/usb/dvb-usb/af9005-fe.c         |   2 +-
 drivers/media/usb/dvb-usb/af9005-remote.c     |   2 +-
 drivers/media/usb/dvb-usb/af9005.c            |   2 +-
 drivers/media/usb/dvb-usb/af9005.h            |   2 +-
 drivers/media/usb/dvb-usb/az6027.c            |   2 +-
 drivers/media/usb/dvb-usb/cxusb.c             |   2 +-
 drivers/media/usb/dvb-usb/dibusb-common.c     |   2 +-
 drivers/media/usb/dvb-usb/dibusb-mb.c         |   2 +-
 drivers/media/usb/dvb-usb/dibusb-mc-common.c  |   2 +-
 drivers/media/usb/dvb-usb/dibusb-mc.c         |   2 +-
 drivers/media/usb/dvb-usb/dibusb.h            |   2 +-
 drivers/media/usb/dvb-usb/digitv.c            |   2 +-
 drivers/media/usb/dvb-usb/dtt200u-fe.c        |   2 +-
 drivers/media/usb/dvb-usb/dtt200u.c           |   2 +-
 drivers/media/usb/dvb-usb/dtt200u.h           |   2 +-
 drivers/media/usb/dvb-usb/dvb-usb-init.c      |   2 +-
 drivers/media/usb/dvb-usb/dw2102.c            |   2 +-
 drivers/media/usb/dvb-usb/gp8psk.c            |   2 +-
 drivers/media/usb/dvb-usb/gp8psk.h            |   2 +-
 drivers/media/usb/dvb-usb/m920x.c             |   2 +-
 drivers/media/usb/dvb-usb/nova-t-usb2.c       |   2 +-
 drivers/media/usb/dvb-usb/opera1.c            |   2 +-
 drivers/media/usb/dvb-usb/ttusb2.c            |   2 +-
 drivers/media/usb/dvb-usb/ttusb2.h            |   2 +-
 drivers/media/usb/dvb-usb/umt-010.c           |   2 +-
 drivers/media/usb/dvb-usb/vp702x-fe.c         |   2 +-
 drivers/media/usb/dvb-usb/vp702x.c            |   2 +-
 drivers/media/usb/dvb-usb/vp7045-fe.c         |   2 +-
 drivers/media/usb/dvb-usb/vp7045.c            |   2 +-
 drivers/media/usb/dvb-usb/vp7045.h            |   2 +-
 drivers/media/usb/gspca/Kconfig               |   2 +-
 drivers/media/usb/zr364xx/Kconfig             |   2 +-
 .../staging/media/soc_camera}/soc-camera.rst  |   0
 633 files changed, 1639 insertions(+), 1458 deletions(-)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/au0828-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/avermedia.rst (99%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/bt8xx.rst (93%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/bttv-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/bttv.rst (90%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cafe_ccic.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/cards.rst (100%)
 create mode 100644 Documentation/admin-guide/media/ci.rst
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cpia2.rst (68%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cx23885-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cx88-cardlist.rst (100%)
 create mode 100644 Documentation/admin-guide/media/cx88.rst
 rename Documentation/{media/v4l-drivers => admin-guide/media}/davinci-vpbe.rst (72%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/em28xx-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/faq.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/fimc.rst (91%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/gspca-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/imx.rst (87%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/imx7.rst (100%)
 create mode 100644 Documentation/admin-guide/media/index.rst
 rename Documentation/{media/dvb-drivers => admin-guide/media}/intro.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ipu3.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ipu3_rcb.svg (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ivtv-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ivtv.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/lmedm04.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/meye.rst (63%)
 create mode 100644 Documentation/admin-guide/media/omap3isp.rst
 rename Documentation/{media/v4l-drivers => admin-guide/media}/omap4_camera.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/opera-firmware.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/philips.rst (100%)
 rename Documentation/{media/cec-drivers => admin-guide/media}/pulse8-cec.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss_8x96_graph.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss_graph.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/rcar-fdp1.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/saa7134-cardlist.rst (100%)
 create mode 100644 Documentation/admin-guide/media/saa7134.rst
 rename Documentation/{media/v4l-drivers => admin-guide/media}/saa7164-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si470x.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si4713.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si476x.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/technisat.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/tm6000-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/ttusb-dec.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/tuner-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/udev.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/usbvision-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/v4l-with-ir.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vimc.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vimc.rst (92%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vivid.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/zr364xx.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/cec-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/csi2.rst (100%)
 create mode 100644 Documentation/driver-api/media/drivers/bttv-devel.rst
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/contributors.rst (100%)
 create mode 100644 Documentation/driver-api/media/drivers/cpia2_devel.rst
 rename Documentation/{media/v4l-drivers/cx2341x.rst => driver-api/media/drivers/cx2341x-devel.rst} (91%)
 rename Documentation/{media/v4l-drivers/cx88.rst => driver-api/media/drivers/cx88-devel.rst} (66%)
 create mode 100644 Documentation/driver-api/media/drivers/davinci-vpbe-devel.rst
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/dvb-usb.rst (100%)
 create mode 100644 Documentation/driver-api/media/drivers/fimc-devel.rst
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/frontends.rst (100%)
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/index.rst (67%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pvrusb2.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pxa_camera.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/radiotrack.rst (100%)
 rename Documentation/{media/v4l-drivers/saa7134.rst => driver-api/media/drivers/saa7134-devel.rst} (56%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/sh_mobile_ceu_camera.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/tuners.rst (100%)
 create mode 100644 Documentation/driver-api/media/drivers/vimc-devel.rst
 rename Documentation/{media/kapi => driver-api/media}/dtv-ca.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-common.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-demux.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-frontend.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-net.rst (100%)
 rename Documentation/{media/media_kapi.rst => driver-api/media/index.rst} (89%)
 rename Documentation/{media/kapi => driver-api/media}/mc-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/rc-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-async.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-clocks.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-common.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-controls.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-dev.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-device.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-dv-timings.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-event.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-fh.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-flash-led-class.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-fwnode.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-intro.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mc.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mediabus.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mem2mem.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-rect.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-subdev.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-tuner.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-tveeprom.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-videobuf.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-videobuf2.rst (100%)
 delete mode 100644 Documentation/media/cec-drivers/index.rst
 delete mode 100644 Documentation/media/index.rst
 rename Documentation/{ => userspace-api}/media/Makefile (97%)
 rename Documentation/{ => userspace-api}/media/audio.h.rst.exceptions (100%)
 rename Documentation/{ => userspace-api}/media/ca.h.rst.exceptions (100%)
 rename Documentation/{ => userspace-api}/media/cec.h.rst.exceptions (100%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-api.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-func-close.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-func-ioctl.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-func-open.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-func-poll.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-funcs.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-header.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-intro.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-adap-g-caps.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-adap-g-conn-info.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-adap-g-log-addrs.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-adap-g-phys-addr.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-dqevent.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-g-mode.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-ioc-receive.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/cec/cec-pin-error-inj.rst (99%)
 rename Documentation/{ => userspace-api}/media/conf_nitpick.py (100%)
 rename Documentation/{ => userspace-api}/media/dmx.h.rst.exceptions (100%)
 create mode 100644 Documentation/userspace-api/media/drivers/cx2341x-uapi.rst
 create mode 100644 Documentation/userspace-api/media/drivers/imx-uapi.rst
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/index.rst (73%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/max2175.rst (96%)
 create mode 100644 Documentation/userspace-api/media/drivers/meye-uapi.rst
 rename Documentation/{media/v4l-drivers/omap3isp.rst => userspace-api/media/drivers/omap3isp-uapi.rst} (77%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/uvcvideo.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-bilingual-channel-select.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-channel-select.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-clear-buffer.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-continue.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-fclose.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-fopen.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-fwrite.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-get-capabilities.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-get-status.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-pause.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-play.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-select-source.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-av-sync.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-bypass-mode.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-id.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-mixer.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-mute.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-set-streamtype.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio-stop.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio_data_types.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/audio_function_calls.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-fclose.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-fopen.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-get-cap.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-get-descr-info.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-get-msg.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-get-slot-info.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-reset.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-send-msg.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca-set-descr.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca_data_types.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/ca_function_calls.rst (92%)
 rename Documentation/{media/dvb-drivers/ci.rst => userspace-api/media/dvb/ca_high_level.rst} (68%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/demux.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-add-pid.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-expbuf.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-fclose.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-fopen.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-fread.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-fwrite.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-get-pes-pids.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-get-stc.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-mmap.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-munmap.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-qbuf.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-querybuf.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-remove-pid.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-reqbufs.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-set-buffer-size.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-set-filter.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-set-pes-filter.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-start.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx-stop.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx_fcalls.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dmx_types.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvb-fe-read-status.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvb-frontend-event.rst (91%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvb-frontend-parameters.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvbapi.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvbproperty.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/dvbstb.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/examples.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-bandwidth-t.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-diseqc-recv-slave-reply.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-diseqc-reset-overload.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-diseqc-send-burst.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-diseqc-send-master-cmd.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-dishnetwork-send-legacy-cmd.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-enable-high-lnb-voltage.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-get-event.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-get-frontend.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-get-info.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-get-property.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-read-ber.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-read-signal-strength.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-read-snr.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-read-status.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-read-uncorrected-blocks.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-set-frontend-tune-mode.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-set-frontend.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-set-tone.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-set-voltage.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe-type-t.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/fe_property_parameters.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend-header.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend-property-cable-systems.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend-property-satellite-systems.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend-property-terrestrial-systems.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend-stat-properties.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend_f_close.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend_f_open.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend_fcalls.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend_legacy_api.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/frontend_legacy_dvbv3_api.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/headers.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/intro.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/legacy_dvb_apis.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/net-add-if.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/net-get-if.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/net-remove-if.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/net-types.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/net.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/query-dvb-frontend-info.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-clear-buffer.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-command.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-continue.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-fast-forward.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-fclose.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-fopen.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-freeze.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-fwrite.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-capabilities.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-event.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-frame-count.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-pts.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-size.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-get-status.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-play.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-select-source.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-set-blank.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-set-display-format.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-set-format.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-set-streamtype.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-slowmotion.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-stillpicture.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-stop.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video-try-command.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video_function_calls.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/dvb/video_types.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/fdl-appendix.rst (99%)
 rename Documentation/{ => userspace-api}/media/frontend.h.rst.exceptions (100%)
 rename Documentation/{media/uapi => userspace-api/media}/gen-errors.rst (98%)
 rename Documentation/{media/media_uapi.rst => userspace-api/media/index.rst} (80%)
 rename Documentation/{ => userspace-api}/media/intro.rst (100%)
 rename Documentation/{ => userspace-api}/media/lirc.h.rst.exceptions (100%)
 rename Documentation/{ => userspace-api}/media/media.h.rst.exceptions (100%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-controller-intro.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-controller-model.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-controller.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-func-close.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-func-ioctl.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-func-open.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-funcs.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-header.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-device-info.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-enum-entities.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-enum-links.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-g-topology.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-request-alloc.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-ioc-setup-link.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-request-ioc-queue.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-request-ioc-reinit.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/media-types.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/request-api.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/request-func-close.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/request-func-ioctl.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/mediactl/request-func-poll.rst (98%)
 rename Documentation/{ => userspace-api}/media/net.h.rst.exceptions (100%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/keytable.c.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-dev-intro.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-dev.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-func.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-get-features.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-get-rec-mode.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-get-rec-resolution.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-get-send-mode.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-get-timeout.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-header.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-read.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-measure-carrier-mode.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-rec-carrier-range.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-rec-carrier.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-rec-timeout-reports.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-rec-timeout.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-send-carrier.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-send-duty-cycle.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-transmitter-mask.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-set-wideband-receiver.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/lirc-write.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/rc-intro.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/rc-protos.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/rc-sysfs-nodes.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/rc-table-change.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/rc-tables.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/rc/remote_controllers.rst (95%)
 rename Documentation/{ => userspace-api}/media/typical_media_device.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/app-pri.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/async.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/audio.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/bayer.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/biblio.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/buffer.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/capture-example.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/capture.c.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/colorspaces-defs.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/colorspaces-details.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/colorspaces.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/common-defs.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/common.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/compat.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/constraints.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/control.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/crop.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/crop.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/depth-formats.rst (91%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-capture.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-decoder.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-event.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-mem2mem.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-meta.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-osd.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-output.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-overlay.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-radio.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-raw-vbi.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-rds.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-sdr.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-sliced-vbi.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-stateless-decoder.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-subdev.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dev-touch.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/devices.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/diff-v4l.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dmabuf.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/dv-timings.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-camera.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-codec.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-detect.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-dv.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-flash.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-fm-rx.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-fm-tx.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-image-process.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-image-source.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-jpeg.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/ext-ctrls-rf-tuner.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/extended-controls.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/field-order.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/fieldseq_bt.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/fieldseq_tb.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/format.rst (98%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/v4l}/fourcc.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-close.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-ioctl.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-mmap.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-munmap.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-open.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-poll.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-read.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-select.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/func-write.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/hist-v4l2.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/hsv-formats.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/io.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/libv4l-introduction.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/libv4l.rst (90%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/meta-formats.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/mmap.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/nv12mt.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/nv12mt_example.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/open.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pipeline.dot (100%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-bayer.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-cnf4.rst (100%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-compressed.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-grey.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-indexed.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-intro.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-inzi.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-m420.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-d4xx.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-intel-ipu3.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-uvc.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-vivid.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-vsp1-hgo.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-meta-vsp1-hgt.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv12.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv12m.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv12mt.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv16.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv16m.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-nv24.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-packed-hsv.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-packed-yuv.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-reserved.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-rgb.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-cs08.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-cs14le.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-cu08.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-cu16le.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-pcu16be.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-pcu18be.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-pcu20be.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-sdr-ru12le.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb10-ipu3.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb10.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb10alaw8.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb10dpcm8.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb10p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb12.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb12p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb14p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb16.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-srggb8.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-tch-td08.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-tch-td16.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-tch-tu08.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-tch-tu16.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-uv8.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-uyvy.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-v4l2-mplane.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-v4l2.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-vyuy.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y10.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y10b.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y10p.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y12.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y12i.rst (95%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y16-be.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y16.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y41p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-y8i.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv410.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv411p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv420.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv420m.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv422m.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv422p.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuv444m.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yuyv.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-yvyu.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt-z16.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/pixfmt.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/planar-apis.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/querycap.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/rw.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/sdr-formats.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api-configuration.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api-examples.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api-intro.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api-targets.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api-vs-crop-api.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection-api.rst (92%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selection.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/selections-common.rst (94%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/standard.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/streaming-par.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/subdev-formats.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/subdev-image-processing-crop.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/subdev-image-processing-full.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/subdev-image-processing-scaling-multi-source.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/tch-formats.rst (91%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/tuner.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/user-func.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/userp.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/v4l2-selection-flags.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/v4l2-selection-targets.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/v4l2.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/v4l2grab-example.rst (93%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/v4l2grab.c.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vbi_525.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vbi_625.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vbi_hsync.svg (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/video.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/videodev.rst (91%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-create-bufs.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-cropcap.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-dbg-g-chip-info.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-dbg-g-register.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-decoder-cmd.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-dqevent.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-dv-timings-cap.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-encoder-cmd.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enum-dv-timings.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enum-fmt.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enum-frameintervals.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enum-framesizes.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enum-freq-bands.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enumaudio.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enumaudioout.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enuminput.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enumoutput.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-enumstd.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-expbuf.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-audio.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-audioout.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-crop.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-ctrl.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-dv-timings.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-edid.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-enc-index.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-ext-ctrls.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-fbuf.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-fmt.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-frequency.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-input.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-jpegcomp.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-modulator.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-output.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-parm.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-priority.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-selection.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-sliced-vbi-cap.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-std.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-g-tuner.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-log-status.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-overlay.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-prepare-buf.rst (96%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-qbuf.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-query-dv-timings.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-querybuf.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-querycap.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-queryctrl.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-querystd.rst (97%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-reqbufs.rst (99%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-s-hw-freq-seek.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-streamon.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-enum-frame-interval.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-enum-frame-size.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-enum-mbus-code.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-g-crop.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-g-fmt.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-g-frame-interval.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subdev-g-selection.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/vidioc-subscribe-event.rst (98%)
 rename Documentation/{media/uapi => userspace-api/media}/v4l/yuv-formats.rst (97%)
 rename Documentation/{ => userspace-api}/media/video.h.rst.exceptions (100%)
 rename Documentation/{ => userspace-api}/media/videodev2.h.rst.exceptions (100%)
 rename {Documentation/media/v4l-drivers => drivers/staging/media/soc_camera}/soc-camera.rst (100%)

-- 
2.24.1



^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v2 01/22] media: docs: avermedia.rst: mark a table as such
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 02/22] media: docs: move soc-camera.rst to staging Mauro Carvalho Chehab
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

There's a table on this file, with aren't using the ReST
markups. Fix that.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/dvb-drivers/avermedia.rst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Documentation/media/dvb-drivers/avermedia.rst b/Documentation/media/dvb-drivers/avermedia.rst
index 14f437ca38d3..bf35fd88e164 100644
--- a/Documentation/media/dvb-drivers/avermedia.rst
+++ b/Documentation/media/dvb-drivers/avermedia.rst
@@ -172,12 +172,16 @@ Dandenong.
 The frequencies broadcast by Mount Dandenong are:
 
 Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
+
+=========== ======= ===========
 Broadcaster Channel Frequency
+=========== ======= ===========
 ABC         VHF 12  226.5 MHz
 TEN         VHF 11  219.5 MHz
 NINE        VHF 8   191.625 MHz
 SEVEN       VHF 6   177.5 MHz
 SBS         UHF 29  536.5 MHz
+=========== ======= ===========
 
 The Scan utility has a set of compiled-in defaults for various
 countries and regions, but if they do not suit, or if you have
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 02/22] media: docs: move soc-camera.rst to staging
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 01/22] media: docs: avermedia.rst: mark a table as such Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 03/22] media: docs: split cpia2.rst on two files Mauro Carvalho Chehab
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Greg Kroah-Hartman, devel

As the entire soc_camera driver is on staging to be removed
soon, let's place there its documentation too.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst                        | 1 -
 .../staging/media/soc_camera}/soc-camera.rst                     | 0
 2 files changed, 1 deletion(-)
 rename {Documentation/media/v4l-drivers => drivers/staging/media/soc_camera}/soc-camera.rst (100%)

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index b41fea23fe5d..eca22b82de94 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -61,7 +61,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	si470x
 	si4713
 	si476x
-	soc-camera
 	uvcvideo
 	vimc
 	vivid
diff --git a/Documentation/media/v4l-drivers/soc-camera.rst b/drivers/staging/media/soc_camera/soc-camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/soc-camera.rst
rename to drivers/staging/media/soc_camera/soc-camera.rst
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 03/22] media: docs: split cpia2.rst on two files
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 01/22] media: docs: avermedia.rst: mark a table as such Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 02/22] media: docs: move soc-camera.rst to staging Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-12  7:18   ` Hans Verkuil
  2020-03-10 13:42 ` [PATCH v2 04/22] media: docs: split ci.rst into uAPI and user guide docs Mauro Carvalho Chehab
                   ` (17 subsequent siblings)
  20 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

In order to be able to better organize the subsystem, split the
cpia2 information on two files: one user-facing and another one
from Kernel development PoV.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/cpia2.rst     | 46 ---------------
 .../media/v4l-drivers/cpia2_devel.rst         | 56 +++++++++++++++++++
 Documentation/media/v4l-drivers/index.rst     |  2 +
 3 files changed, 58 insertions(+), 46 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/cpia2_devel.rst

diff --git a/Documentation/media/v4l-drivers/cpia2.rst b/Documentation/media/v4l-drivers/cpia2.rst
index a86baa1c83f1..6f4258aebbfe 100644
--- a/Documentation/media/v4l-drivers/cpia2.rst
+++ b/Documentation/media/v4l-drivers/cpia2.rst
@@ -147,49 +147,3 @@ We are providing a modified gqcam application to view the output. In
 order to avoid confusion, here it is called mview.  There is also the qx5view
 program which can also control the lights on the qx5 microscope. MJPEG Tools
 (http://mjpeg.sourceforge.net) can also be used to record from the camera.
-
-Notes to developers
-~~~~~~~~~~~~~~~~~~~
-
-   - This is a driver version stripped of the 2.4 back compatibility
-     and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
-
-Programmer's overview of cpia2 driver
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
-division of ST Microelectronics).  There are two versions.  The first is the
-STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
-up to CIF, and 15 fps for VGA frames.  The STV0676 is an improved version,
-which can handle up to 30 fps VGA.  Both coprocessors can be attached to two
-CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor.  These will
-be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
-
-The two chipsets operate almost identically.  The core is an 8051 processor,
-running two different versions of firmware.  The 672 runs the VP4 video
-processor code, the 676 runs VP5.  There are a few differences in register
-mappings for the two chips.  In these cases, the symbols defined in the
-header files are marked with VP4 or VP5 as part of the symbol name.
-
-The cameras appear externally as three sets of registers. Setting register
-values is the only way to control the camera.  Some settings are
-interdependant, such as the sequence required to power up the camera. I will
-try to make note of all of these cases.
-
-The register sets are called blocks.  Block 0 is the system block.  This
-section is always powered on when the camera is plugged in.  It contains
-registers that control housekeeping functions such as powering up the video
-processor.  The video processor is the VP block.  These registers control
-how the video from the sensor is processed.  Examples are timing registers,
-user mode (vga, qvga), scaling, cropping, framerates, and so on.  The last
-block is the video compressor (VC).  The video stream sent from the camera is
-compressed as Motion JPEG (JPEGA).  The VC controls all of the compression
-parameters.  Looking at the file cpia2_registers.h, you can get a full view
-of these registers and the possible values for most of them.
-
-One or more registers can be set or read by sending a usb control message to
-the camera.  There are three modes for this.  Block mode requests a number
-of contiguous registers.  Random mode reads or writes random registers with
-a tuple structure containing address/value pairs.  The repeat mode is only
-used by VP4 to load a firmware patch.  It contains a starting address and
-a sequence of bytes to be written into a gpio port.
diff --git a/Documentation/media/v4l-drivers/cpia2_devel.rst b/Documentation/media/v4l-drivers/cpia2_devel.rst
new file mode 100644
index 000000000000..decaa4768c78
--- /dev/null
+++ b/Documentation/media/v4l-drivers/cpia2_devel.rst
@@ -0,0 +1,56 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The cpia2 driver
+================
+
+Authors: Peter Pregler <Peter_Pregler@email.com>,
+Scott J. Bertin <scottbertin@yahoo.com>, and
+Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which
+this one was modelled from.
+
+
+Notes to developers
+~~~~~~~~~~~~~~~~~~~
+
+   - This is a driver version stripped of the 2.4 back compatibility
+     and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
+
+Programmer's overview of cpia2 driver
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
+division of ST Microelectronics).  There are two versions.  The first is the
+STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
+up to CIF, and 15 fps for VGA frames.  The STV0676 is an improved version,
+which can handle up to 30 fps VGA.  Both coprocessors can be attached to two
+CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor.  These will
+be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
+
+The two chipsets operate almost identically.  The core is an 8051 processor,
+running two different versions of firmware.  The 672 runs the VP4 video
+processor code, the 676 runs VP5.  There are a few differences in register
+mappings for the two chips.  In these cases, the symbols defined in the
+header files are marked with VP4 or VP5 as part of the symbol name.
+
+The cameras appear externally as three sets of registers. Setting register
+values is the only way to control the camera.  Some settings are
+interdependant, such as the sequence required to power up the camera. I will
+try to make note of all of these cases.
+
+The register sets are called blocks.  Block 0 is the system block.  This
+section is always powered on when the camera is plugged in.  It contains
+registers that control housekeeping functions such as powering up the video
+processor.  The video processor is the VP block.  These registers control
+how the video from the sensor is processed.  Examples are timing registers,
+user mode (vga, qvga), scaling, cropping, framerates, and so on.  The last
+block is the video compressor (VC).  The video stream sent from the camera is
+compressed as Motion JPEG (JPEGA).  The VC controls all of the compression
+parameters.  Looking at the file cpia2_registers.h, you can get a full view
+of these registers and the possible values for most of them.
+
+One or more registers can be set or read by sending a usb control message to
+the camera.  There are three modes for this.  Block mode requests a number
+of contiguous registers.  Random mode reads or writes random registers with
+a tuple structure containing address/value pairs.  The repeat mode is only
+used by VP4 to load a firmware patch.  It contains a starting address and
+a sequence of bytes to be written into a gpio port.
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index eca22b82de94..72fbb394f6a2 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -65,3 +65,5 @@ For more details see the file COPYING in the source distribution of Linux.
 	vimc
 	vivid
 	zr364xx
+
+	cpia2_devel
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 04/22] media: docs: split ci.rst into uAPI and user guide docs
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (2 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 03/22] media: docs: split cpia2.rst on two files Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 05/22] media: docs: split meye.rst into admin and uAPI docs Mauro Carvalho Chehab
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

The ci.rst file contains two parts: the first one describing
how to use the CA high level interface; the second one with
uAPI internals.

Split this on two separate files, adding the uAPI bits
to the DVB ca.rst configuration.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/dvb-drivers/ci.rst        | 160 +-----------------
 Documentation/media/uapi/dvb/ca.rst           |   1 +
 .../media/uapi/dvb/ca_high_level.rst          | 157 +++++++++++++++++
 3 files changed, 161 insertions(+), 157 deletions(-)
 create mode 100644 Documentation/media/uapi/dvb/ca_high_level.rst

diff --git a/Documentation/media/dvb-drivers/ci.rst b/Documentation/media/dvb-drivers/ci.rst
index 35f33f1f9e2a..ded4d8fbbf92 100644
--- a/Documentation/media/dvb-drivers/ci.rst
+++ b/Documentation/media/dvb-drivers/ci.rst
@@ -1,7 +1,7 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-Digital TV Conditional Access Interface (CI API)
-================================================
+Digital TV Conditional Access Interface
+=======================================
 
 
 .. note::
@@ -15,7 +15,7 @@ existing low level CI API.
 .. note::
 
    For the Twinhan/Twinhan clones, the dst_ca module handles the CI
-   hardware handling.This module is loaded automatically if a CI
+   hardware handling. This module is loaded automatically if a CI
    (Common Interface, that holds the CAM (Conditional Access Module)
    is detected.
 
@@ -75,157 +75,3 @@ Modules that have been tested by this driver at present are
 (1) Irdeto 1 and 2 from SCM
 (2) Viaccess from SCM
 (3) Dragoncam
-
-The High level CI API
-~~~~~~~~~~~~~~~~~~~~~
-
-For the programmer
-^^^^^^^^^^^^^^^^^^
-
-With the High Level CI approach any new card with almost any random
-architecture can be implemented with this style, the definitions
-inside the switch statement can be easily adapted for any card, thereby
-eliminating the need for any additional ioctls.
-
-The disadvantage is that the driver/hardware has to manage the rest. For
-the application programmer it would be as simple as sending/receiving an
-array to/from the CI ioctls as defined in the Linux DVB API. No changes
-have been made in the API to accommodate this feature.
-
-
-Why the need for another CI interface?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This is one of the most commonly asked question. Well a nice question.
-Strictly speaking this is not a new interface.
-
-The CI interface is defined in the DVB API in ca.h as:
-
-.. code-block:: c
-
-	typedef struct ca_slot_info {
-		int num;               /* slot number */
-
-		int type;              /* CA interface this slot supports */
-	#define CA_CI            1     /* CI high level interface */
-	#define CA_CI_LINK       2     /* CI link layer level interface */
-	#define CA_CI_PHYS       4     /* CI physical layer level interface */
-	#define CA_DESCR         8     /* built-in descrambler */
-	#define CA_SC          128     /* simple smart card interface */
-
-		unsigned int flags;
-	#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */
-	#define CA_CI_MODULE_READY   2
-	} ca_slot_info_t;
-
-This CI interface follows the CI high level interface, which is not
-implemented by most applications. Hence this area is revisited.
-
-This CI interface is quite different in the case that it tries to
-accommodate all other CI based devices, that fall into the other categories.
-
-This means that this CI interface handles the EN50221 style tags in the
-Application layer only and no session management is taken care of by the
-application. The driver/hardware will take care of all that.
-
-This interface is purely an EN50221 interface exchanging APDU's. This
-means that no session management, link layer or a transport layer do
-exist in this case in the application to driver communication. It is
-as simple as that. The driver/hardware has to take care of that.
-
-With this High Level CI interface, the interface can be defined with the
-regular ioctls.
-
-All these ioctls are also valid for the High level CI interface
-
-#define CA_RESET          _IO('o', 128)
-#define CA_GET_CAP        _IOR('o', 129, ca_caps_t)
-#define CA_GET_SLOT_INFO  _IOR('o', 130, ca_slot_info_t)
-#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
-#define CA_GET_MSG        _IOR('o', 132, ca_msg_t)
-#define CA_SEND_MSG       _IOW('o', 133, ca_msg_t)
-#define CA_SET_DESCR      _IOW('o', 134, ca_descr_t)
-
-
-On querying the device, the device yields information thus:
-
-.. code-block:: none
-
-	CA_GET_SLOT_INFO
-	----------------------------
-	Command = [info]
-	APP: Number=[1]
-	APP: Type=[1]
-	APP: flags=[1]
-	APP: CI High level interface
-	APP: CA/CI Module Present
-
-	CA_GET_CAP
-	----------------------------
-	Command = [caps]
-	APP: Slots=[1]
-	APP: Type=[1]
-	APP: Descrambler keys=[16]
-	APP: Type=[1]
-
-	CA_SEND_MSG
-	----------------------------
-	Descriptors(Program Level)=[ 09 06 06 04 05 50 ff f1]
-	Found CA descriptor @ program level
-
-	(20) ES type=[2] ES pid=[201]  ES length =[0 (0x0)]
-	(25) ES type=[4] ES pid=[301]  ES length =[0 (0x0)]
-	ca_message length is 25 (0x19) bytes
-	EN50221 CA MSG=[ 9f 80 32 19 03 01 2d d1 f0 08 01 09 06 06 04 05 50 ff f1 02 e0 c9 00 00 04 e1 2d 00 00]
-
-
-Not all ioctl's are implemented in the driver from the API, the other
-features of the hardware that cannot be implemented by the API are achieved
-using the CA_GET_MSG and CA_SEND_MSG ioctls. An EN50221 style wrapper is
-used to exchange the data to maintain compatibility with other hardware.
-
-.. code-block:: c
-
-	/* a message to/from a CI-CAM */
-	typedef struct ca_msg {
-		unsigned int index;
-		unsigned int type;
-		unsigned int length;
-		unsigned char msg[256];
-	} ca_msg_t;
-
-
-The flow of data can be described thus,
-
-.. code-block:: none
-
-	App (User)
-	-----
-	parse
-	  |
-	  |
-	  v
-	en50221 APDU (package)
-   --------------------------------------
-   |	  |				| High Level CI driver
-   |	  |				|
-   |	  v				|
-   |	en50221 APDU (unpackage)	|
-   |	  |				|
-   |	  |				|
-   |	  v				|
-   |	sanity checks			|
-   |	  |				|
-   |	  |				|
-   |	  v				|
-   |	do (H/W dep)			|
-   --------------------------------------
-	  |    Hardware
-	  |
-	  v
-
-
-
-
-The High Level CI interface uses the EN50221 DVB standard, following a
-standard ensures futureproofness.
diff --git a/Documentation/media/uapi/dvb/ca.rst b/Documentation/media/uapi/dvb/ca.rst
index 8796512c1378..c6ee624b1234 100644
--- a/Documentation/media/uapi/dvb/ca.rst
+++ b/Documentation/media/uapi/dvb/ca.rst
@@ -29,3 +29,4 @@ application.
 
     ca_data_types
     ca_function_calls
+    ca_high_level
diff --git a/Documentation/media/uapi/dvb/ca_high_level.rst b/Documentation/media/uapi/dvb/ca_high_level.rst
new file mode 100644
index 000000000000..a73f3691c31f
--- /dev/null
+++ b/Documentation/media/uapi/dvb/ca_high_level.rst
@@ -0,0 +1,157 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The High level CI API
+=====================
+
+.. note::
+
+   This documentation is outdated.
+
+This document describes the high level CI API as in accordance to the
+Linux DVB API.
+
+
+With the High Level CI approach any new card with almost any random
+architecture can be implemented with this style, the definitions
+inside the switch statement can be easily adapted for any card, thereby
+eliminating the need for any additional ioctls.
+
+The disadvantage is that the driver/hardware has to manage the rest. For
+the application programmer it would be as simple as sending/receiving an
+array to/from the CI ioctls as defined in the Linux DVB API. No changes
+have been made in the API to accommodate this feature.
+
+
+Why the need for another CI interface?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This is one of the most commonly asked question. Well a nice question.
+Strictly speaking this is not a new interface.
+
+The CI interface is defined in the DVB API in ca.h as:
+
+.. code-block:: c
+
+	typedef struct ca_slot_info {
+		int num;               /* slot number */
+
+		int type;              /* CA interface this slot supports */
+	#define CA_CI            1     /* CI high level interface */
+	#define CA_CI_LINK       2     /* CI link layer level interface */
+	#define CA_CI_PHYS       4     /* CI physical layer level interface */
+	#define CA_DESCR         8     /* built-in descrambler */
+	#define CA_SC          128     /* simple smart card interface */
+
+		unsigned int flags;
+	#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */
+	#define CA_CI_MODULE_READY   2
+	} ca_slot_info_t;
+
+This CI interface follows the CI high level interface, which is not
+implemented by most applications. Hence this area is revisited.
+
+This CI interface is quite different in the case that it tries to
+accommodate all other CI based devices, that fall into the other categories.
+
+This means that this CI interface handles the EN50221 style tags in the
+Application layer only and no session management is taken care of by the
+application. The driver/hardware will take care of all that.
+
+This interface is purely an EN50221 interface exchanging APDU's. This
+means that no session management, link layer or a transport layer do
+exist in this case in the application to driver communication. It is
+as simple as that. The driver/hardware has to take care of that.
+
+With this High Level CI interface, the interface can be defined with the
+regular ioctls.
+
+All these ioctls are also valid for the High level CI interface
+
+#define CA_RESET          _IO('o', 128)
+#define CA_GET_CAP        _IOR('o', 129, ca_caps_t)
+#define CA_GET_SLOT_INFO  _IOR('o', 130, ca_slot_info_t)
+#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
+#define CA_GET_MSG        _IOR('o', 132, ca_msg_t)
+#define CA_SEND_MSG       _IOW('o', 133, ca_msg_t)
+#define CA_SET_DESCR      _IOW('o', 134, ca_descr_t)
+
+
+On querying the device, the device yields information thus:
+
+.. code-block:: none
+
+	CA_GET_SLOT_INFO
+	----------------------------
+	Command = [info]
+	APP: Number=[1]
+	APP: Type=[1]
+	APP: flags=[1]
+	APP: CI High level interface
+	APP: CA/CI Module Present
+
+	CA_GET_CAP
+	----------------------------
+	Command = [caps]
+	APP: Slots=[1]
+	APP: Type=[1]
+	APP: Descrambler keys=[16]
+	APP: Type=[1]
+
+	CA_SEND_MSG
+	----------------------------
+	Descriptors(Program Level)=[ 09 06 06 04 05 50 ff f1]
+	Found CA descriptor @ program level
+
+	(20) ES type=[2] ES pid=[201]  ES length =[0 (0x0)]
+	(25) ES type=[4] ES pid=[301]  ES length =[0 (0x0)]
+	ca_message length is 25 (0x19) bytes
+	EN50221 CA MSG=[ 9f 80 32 19 03 01 2d d1 f0 08 01 09 06 06 04 05 50 ff f1 02 e0 c9 00 00 04 e1 2d 00 00]
+
+
+Not all ioctl's are implemented in the driver from the API, the other
+features of the hardware that cannot be implemented by the API are achieved
+using the CA_GET_MSG and CA_SEND_MSG ioctls. An EN50221 style wrapper is
+used to exchange the data to maintain compatibility with other hardware.
+
+.. code-block:: c
+
+	/* a message to/from a CI-CAM */
+	typedef struct ca_msg {
+		unsigned int index;
+		unsigned int type;
+		unsigned int length;
+		unsigned char msg[256];
+	} ca_msg_t;
+
+
+The flow of data can be described thus,
+
+.. code-block:: none
+
+	App (User)
+	-----
+	parse
+	  |
+	  |
+	  v
+	en50221 APDU (package)
+   --------------------------------------
+   |	  |				| High Level CI driver
+   |	  |				|
+   |	  v				|
+   |	en50221 APDU (unpackage)	|
+   |	  |				|
+   |	  |				|
+   |	  v				|
+   |	sanity checks			|
+   |	  |				|
+   |	  |				|
+   |	  v				|
+   |	do (H/W dep)			|
+   --------------------------------------
+	  |    Hardware
+	  |
+	  v
+
+The High Level CI interface uses the EN50221 DVB standard, following a
+standard ensures futureproofness.
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 05/22] media: docs: split meye.rst into admin and uAPI docs
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (3 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 04/22] media: docs: split ci.rst into uAPI and user guide docs Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 06/22] media: docs: split vimc.rst into devel and admin parts Mauro Carvalho Chehab
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

Instead of placing both info from admin PoV and uAPI at the
same place, split into two separate documents.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst     |  1 +
 Documentation/media/v4l-drivers/meye-uapi.rst | 53 +++++++++++++++++++
 Documentation/media/v4l-drivers/meye.rst      | 41 --------------
 3 files changed, 54 insertions(+), 41 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/meye-uapi.rst

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 72fbb394f6a2..5a87bd1da9bd 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -67,3 +67,4 @@ For more details see the file COPYING in the source distribution of Linux.
 	zr364xx
 
 	cpia2_devel
+	meye-uapi
diff --git a/Documentation/media/v4l-drivers/meye-uapi.rst b/Documentation/media/v4l-drivers/meye-uapi.rst
new file mode 100644
index 000000000000..66b1c142f920
--- /dev/null
+++ b/Documentation/media/v4l-drivers/meye-uapi.rst
@@ -0,0 +1,53 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. include:: <isonum.txt>
+
+Vaio Picturebook Motion Eye Camera Driver
+=========================================
+
+Copyright |copy| 2001-2004 Stelian Pop <stelian@popies.net>
+
+Copyright |copy| 2001-2002 Alcôve <www.alcove.com>
+
+Copyright |copy| 2000 Andrew Tridgell <tridge@samba.org>
+
+Private API
+-----------
+
+The driver supports frame grabbing with the video4linux API,
+so all video4linux tools (like xawtv) should work with this driver.
+
+Besides the video4linux interface, the driver has a private interface
+for accessing the Motion Eye extended parameters (camera sharpness,
+agc, video framerate), the snapshot and the MJPEG capture facilities.
+
+This interface consists of several ioctls (prototypes and structures
+can be found in include/linux/meye.h):
+
+MEYEIOC_G_PARAMS and MEYEIOC_S_PARAMS
+	Get and set the extended parameters of the motion eye camera.
+	The user should always query the current parameters with
+	MEYEIOC_G_PARAMS, change what he likes and then issue the
+	MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended
+	parameters are described by the meye_params structure.
+
+
+MEYEIOC_QBUF_CAPT
+	Queue a buffer for capture (the buffers must have been
+	obtained with a VIDIOCGMBUF call and mmap'ed by the
+	application). The argument to MEYEIOC_QBUF_CAPT is the
+	buffer number to queue (or -1 to end capture). The first
+	call to MEYEIOC_QBUF_CAPT starts the streaming capture.
+
+MEYEIOC_SYNC
+	Takes as an argument the buffer number you want to sync.
+	This ioctl blocks until the buffer is filled and ready
+	for the application to use. It returns the buffer size.
+
+MEYEIOC_STILLCAPT and MEYEIOC_STILLJCAPT
+	Takes a snapshot in an uncompressed or compressed jpeg format.
+	This ioctl blocks until the snapshot is done and returns (for
+	jpeg snapshot) the size of the image. The image data is
+	available from the first mmap'ed buffer.
+
+Look at the 'motioneye' application code for an actual example.
diff --git a/Documentation/media/v4l-drivers/meye.rst b/Documentation/media/v4l-drivers/meye.rst
index dc57a6a91b43..9098a1e65f8b 100644
--- a/Documentation/media/v4l-drivers/meye.rst
+++ b/Documentation/media/v4l-drivers/meye.rst
@@ -87,47 +87,6 @@ Usage:
 	motioneye (<http://popies.net/meye/>)
 		for getting ppm or jpg snapshots, mjpeg video
 
-Private API
------------
-
-The driver supports frame grabbing with the video4linux API,
-so all video4linux tools (like xawtv) should work with this driver.
-
-Besides the video4linux interface, the driver has a private interface
-for accessing the Motion Eye extended parameters (camera sharpness,
-agc, video framerate), the snapshot and the MJPEG capture facilities.
-
-This interface consists of several ioctls (prototypes and structures
-can be found in include/linux/meye.h):
-
-MEYEIOC_G_PARAMS and MEYEIOC_S_PARAMS
-	Get and set the extended parameters of the motion eye camera.
-	The user should always query the current parameters with
-	MEYEIOC_G_PARAMS, change what he likes and then issue the
-	MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended
-	parameters are described by the meye_params structure.
-
-
-MEYEIOC_QBUF_CAPT
-	Queue a buffer for capture (the buffers must have been
-	obtained with a VIDIOCGMBUF call and mmap'ed by the
-	application). The argument to MEYEIOC_QBUF_CAPT is the
-	buffer number to queue (or -1 to end capture). The first
-	call to MEYEIOC_QBUF_CAPT starts the streaming capture.
-
-MEYEIOC_SYNC
-	Takes as an argument the buffer number you want to sync.
-	This ioctl blocks until the buffer is filled and ready
-	for the application to use. It returns the buffer size.
-
-MEYEIOC_STILLCAPT and MEYEIOC_STILLJCAPT
-	Takes a snapshot in an uncompressed or compressed jpeg format.
-	This ioctl blocks until the snapshot is done and returns (for
-	jpeg snapshot) the size of the image. The image data is
-	available from the first mmap'ed buffer.
-
-Look at the 'motioneye' application code for an actual example.
-
 Bugs / Todo
 -----------
 
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 06/22] media: docs: split vimc.rst into devel and admin parts
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (4 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 05/22] media: docs: split meye.rst into admin and uAPI docs Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 07/22] media: docs: split development info from bttv.rst Mauro Carvalho Chehab
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

The vimc driver has some kerneldoc markups, plus admin info.
Split it into two files.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst      |  2 ++
 Documentation/media/v4l-drivers/vimc-devel.rst | 15 +++++++++++++++
 Documentation/media/v4l-drivers/vimc.rst       | 11 -----------
 3 files changed, 17 insertions(+), 11 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/vimc-devel.rst

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 5a87bd1da9bd..2b8e2cbfff23 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -67,4 +67,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	zr364xx
 
 	cpia2_devel
+	vimc-devel
+
 	meye-uapi
diff --git a/Documentation/media/v4l-drivers/vimc-devel.rst b/Documentation/media/v4l-drivers/vimc-devel.rst
new file mode 100644
index 000000000000..b2aa2ee79205
--- /dev/null
+++ b/Documentation/media/v4l-drivers/vimc-devel.rst
@@ -0,0 +1,15 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The Virtual Media Controller Driver (vimc)
+==========================================
+
+Source code documentation
+-------------------------
+
+vimc-streamer
+~~~~~~~~~~~~~
+
+.. kernel-doc:: drivers/media/platform/vimc/vimc-streamer.h
+   :internal:
+
+.. kernel-doc:: drivers/media/platform/vimc/vimc-streamer.c
diff --git a/Documentation/media/v4l-drivers/vimc.rst b/Documentation/media/v4l-drivers/vimc.rst
index 8f5d7f8d83bb..211cc8972410 100644
--- a/Documentation/media/v4l-drivers/vimc.rst
+++ b/Documentation/media/v4l-drivers/vimc.rst
@@ -88,14 +88,3 @@ Vimc has a module parameter to configure the driver.
         height, so the image size will be ``sca_mult^2`` bigger than the
         original one. Currently, only supports scaling up (the default value
         is 3).
-
-Source code documentation
--------------------------
-
-vimc-streamer
-~~~~~~~~~~~~~
-
-.. kernel-doc:: drivers/media/platform/vimc/vimc-streamer.h
-   :internal:
-
-.. kernel-doc:: drivers/media/platform/vimc/vimc-streamer.c
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 07/22] media: docs: split development info from bttv.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (5 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 06/22] media: docs: split vimc.rst into devel and admin parts Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:42 ` [PATCH v2 08/22] media: docs: split development info from cx88.rst Mauro Carvalho Chehab
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both admin and development stuff. Split on
two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../media/v4l-drivers/bttv-devel.rst          | 123 ++++++++++++++++++
 Documentation/media/v4l-drivers/bttv.rst      | 120 -----------------
 Documentation/media/v4l-drivers/index.rst     |   1 +
 3 files changed, 124 insertions(+), 120 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/bttv-devel.rst

diff --git a/Documentation/media/v4l-drivers/bttv-devel.rst b/Documentation/media/v4l-drivers/bttv-devel.rst
new file mode 100644
index 000000000000..396fad572c93
--- /dev/null
+++ b/Documentation/media/v4l-drivers/bttv-devel.rst
@@ -0,0 +1,123 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The bttv driver
+===============
+
+bttv and sound mini howto
+-------------------------
+
+There are a lot of different bt848/849/878/879 based boards available.
+Making video work often is not a big deal, because this is handled
+completely by the bt8xx chip, which is common on all boards.  But
+sound is handled in slightly different ways on each board.
+
+To handle the grabber boards correctly, there is a array tvcards[] in
+bttv-cards.c, which holds the information required for each board.
+Sound will work only, if the correct entry is used (for video it often
+makes no difference).  The bttv driver prints a line to the kernel
+log, telling which card type is used.  Like this one:
+
+.. code-block:: none
+
+	bttv0: model: BT848(Hauppauge old) [autodetected]
+
+You should verify this is correct.  If it isn't, you have to pass the
+correct board type as insmod argument, "insmod bttv card=2" for
+example.  The file CARDLIST has a list of valid arguments for card.
+If your card isn't listed there, you might check the source code for
+new entries which are not listed yet.  If there isn't one for your
+card, you can check if one of the existing entries does work for you
+(just trial and error...).
+
+Some boards have an extra processor for sound to do stereo decoding
+and other nice features.  The msp34xx chips are used by Hauppauge for
+example.  If your board has one, you might have to load a helper
+module like msp3400.o to make sound work.  If there isn't one for the
+chip used on your board:  Bad luck.  Start writing a new one.  Well,
+you might want to check the video4linux mailing list archive first...
+
+Of course you need a correctly installed soundcard unless you have the
+speakers connected directly to the grabber board.  Hint: check the
+mixer settings too.  ALSA for example has everything muted by default.
+
+
+How sound works in detail
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Still doesn't work?  Looks like some driver hacking is required.
+Below is a do-it-yourself description for you.
+
+The bt8xx chips have 32 general purpose pins, and registers to control
+these pins.  One register is the output enable register
+(BT848_GPIO_OUT_EN), it says which pins are actively driven by the
+bt848 chip.  Another one is the data register (BT848_GPIO_DATA), where
+you can get/set the status if these pins.  They can be used for input
+and output.
+
+Most grabber board vendors use these pins to control an external chip
+which does the sound routing.  But every board is a little different.
+These pins are also used by some companies to drive remote control
+receiver chips.  Some boards use the i2c bus instead of the gpio pins
+to connect the mux chip.
+
+As mentioned above, there is a array which holds the required
+information for each known board.  You basically have to create a new
+line for your board.  The important fields are these two:
+
+.. code-block:: c
+
+	struct tvcard
+	{
+		[ ... ]
+		u32 gpiomask;
+		u32 audiomux[6]; /* Tuner, Radio, external, internal, mute, stereo */
+	};
+
+gpiomask specifies which pins are used to control the audio mux chip.
+The corresponding bits in the output enable register
+(BT848_GPIO_OUT_EN) will be set as these pins must be driven by the
+bt848 chip.
+
+The audiomux\[\] array holds the data values for the different inputs
+(i.e. which pins must be high/low for tuner/mute/...).  This will be
+written to the data register (BT848_GPIO_DATA) to switch the audio
+mux.
+
+
+What you have to do is figure out the correct values for gpiomask and
+the audiomux array.  If you have Windows and the drivers four your
+card installed, you might to check out if you can read these registers
+values used by the windows driver.  A tool to do this is available
+from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil, but it
+doesn't work with bt878 boards according to some reports I received.
+Another one with bt878 support is available from
+http://btwincap.sourceforge.net/Files/btspy2.00.zip
+
+You might also dig around in the \*.ini files of the Windows applications.
+You can have a look at the board to see which of the gpio pins are
+connected at all and then start trial-and-error ...
+
+
+Starting with release 0.7.41 bttv has a number of insmod options to
+make the gpio debugging easier:
+
+.. code-block:: none
+
+	bttv_gpio=0/1		enable/disable gpio debug messages
+	gpiomask=n		set the gpiomask value
+	audiomux=i,j,...	set the values of the audiomux array
+	audioall=a		set the values of the audiomux array (one
+				value for all array elements, useful to check
+				out which effect the particular value has).
+
+The messages printed with bttv_gpio=1 look like this:
+
+.. code-block:: none
+
+	bttv0: gpio: en=00000027, out=00000024 in=00ffffd8 [audio: off]
+
+	en  =	output _en_able register (BT848_GPIO_OUT_EN)
+	out =	_out_put bits of the data register (BT848_GPIO_DATA),
+		i.e. BT848_GPIO_DATA & BT848_GPIO_OUT_EN
+	in  = 	_in_put bits of the data register,
+		i.e. BT848_GPIO_DATA & ~BT848_GPIO_OUT_EN
diff --git a/Documentation/media/v4l-drivers/bttv.rst b/Documentation/media/v4l-drivers/bttv.rst
index f956ee264099..9b15a0cba283 100644
--- a/Documentation/media/v4l-drivers/bttv.rst
+++ b/Documentation/media/v4l-drivers/bttv.rst
@@ -438,126 +438,6 @@ parking, thus lowering arbitration performance. The Bt879 drivers must
 query for these non-compliant devices, and set the EN_VSFX bit only if
 required.
 
-bttv and sound mini howto
--------------------------
-
-There are a lot of different bt848/849/878/879 based boards available.
-Making video work often is not a big deal, because this is handled
-completely by the bt8xx chip, which is common on all boards.  But
-sound is handled in slightly different ways on each board.
-
-To handle the grabber boards correctly, there is a array tvcards[] in
-bttv-cards.c, which holds the information required for each board.
-Sound will work only, if the correct entry is used (for video it often
-makes no difference).  The bttv driver prints a line to the kernel
-log, telling which card type is used.  Like this one:
-
-.. code-block:: none
-
-	bttv0: model: BT848(Hauppauge old) [autodetected]
-
-You should verify this is correct.  If it isn't, you have to pass the
-correct board type as insmod argument, "insmod bttv card=2" for
-example.  The file CARDLIST has a list of valid arguments for card.
-If your card isn't listed there, you might check the source code for
-new entries which are not listed yet.  If there isn't one for your
-card, you can check if one of the existing entries does work for you
-(just trial and error...).
-
-Some boards have an extra processor for sound to do stereo decoding
-and other nice features.  The msp34xx chips are used by Hauppauge for
-example.  If your board has one, you might have to load a helper
-module like msp3400.o to make sound work.  If there isn't one for the
-chip used on your board:  Bad luck.  Start writing a new one.  Well,
-you might want to check the video4linux mailing list archive first...
-
-Of course you need a correctly installed soundcard unless you have the
-speakers connected directly to the grabber board.  Hint: check the
-mixer settings too.  ALSA for example has everything muted by default.
-
-
-How sound works in detail
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Still doesn't work?  Looks like some driver hacking is required.
-Below is a do-it-yourself description for you.
-
-The bt8xx chips have 32 general purpose pins, and registers to control
-these pins.  One register is the output enable register
-(BT848_GPIO_OUT_EN), it says which pins are actively driven by the
-bt848 chip.  Another one is the data register (BT848_GPIO_DATA), where
-you can get/set the status if these pins.  They can be used for input
-and output.
-
-Most grabber board vendors use these pins to control an external chip
-which does the sound routing.  But every board is a little different.
-These pins are also used by some companies to drive remote control
-receiver chips.  Some boards use the i2c bus instead of the gpio pins
-to connect the mux chip.
-
-As mentioned above, there is a array which holds the required
-information for each known board.  You basically have to create a new
-line for your board.  The important fields are these two:
-
-.. code-block:: c
-
-	struct tvcard
-	{
-		[ ... ]
-		u32 gpiomask;
-		u32 audiomux[6]; /* Tuner, Radio, external, internal, mute, stereo */
-	};
-
-gpiomask specifies which pins are used to control the audio mux chip.
-The corresponding bits in the output enable register
-(BT848_GPIO_OUT_EN) will be set as these pins must be driven by the
-bt848 chip.
-
-The audiomux\[\] array holds the data values for the different inputs
-(i.e. which pins must be high/low for tuner/mute/...).  This will be
-written to the data register (BT848_GPIO_DATA) to switch the audio
-mux.
-
-
-What you have to do is figure out the correct values for gpiomask and
-the audiomux array.  If you have Windows and the drivers four your
-card installed, you might to check out if you can read these registers
-values used by the windows driver.  A tool to do this is available
-from ftp://telepresence.dmem.strath.ac.uk/pub/bt848/winutil, but it
-doesn't work with bt878 boards according to some reports I received.
-Another one with bt878 support is available from
-http://btwincap.sourceforge.net/Files/btspy2.00.zip
-
-You might also dig around in the \*.ini files of the Windows applications.
-You can have a look at the board to see which of the gpio pins are
-connected at all and then start trial-and-error ...
-
-
-Starting with release 0.7.41 bttv has a number of insmod options to
-make the gpio debugging easier:
-
-.. code-block:: none
-
-	bttv_gpio=0/1		enable/disable gpio debug messages
-	gpiomask=n		set the gpiomask value
-	audiomux=i,j,...	set the values of the audiomux array
-	audioall=a		set the values of the audiomux array (one
-				value for all array elements, useful to check
-				out which effect the particular value has).
-
-The messages printed with bttv_gpio=1 look like this:
-
-.. code-block:: none
-
-	bttv0: gpio: en=00000027, out=00000024 in=00ffffd8 [audio: off]
-
-	en  =	output _en_able register (BT848_GPIO_OUT_EN)
-	out =	_out_put bits of the data register (BT848_GPIO_DATA),
-		i.e. BT848_GPIO_DATA & BT848_GPIO_OUT_EN
-	in  = 	_in_put bits of the data register,
-		i.e. BT848_GPIO_DATA & ~BT848_GPIO_OUT_EN
-
-
 
 Other elements of the tvcards array
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 2b8e2cbfff23..52d7c8d14ee7 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -66,6 +66,7 @@ For more details see the file COPYING in the source distribution of Linux.
 	vivid
 	zr364xx
 
+	bttv-devel
 	cpia2_devel
 	vimc-devel
 
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 08/22] media: docs: split development info from cx88.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (6 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 07/22] media: docs: split development info from bttv.rst Mauro Carvalho Chehab
@ 2020-03-10 13:42 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 09/22] media: docs: split cx2341x.rst into different audiences Mauro Carvalho Chehab
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:42 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both	admin and development stuff. Split on
two, as	they're	usually	read by	different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../media/v4l-drivers/cx88-devel.rst          | 113 ++++++++++++++++++
 Documentation/media/v4l-drivers/cx88.rst      | 107 -----------------
 Documentation/media/v4l-drivers/index.rst     |   1 +
 3 files changed, 114 insertions(+), 107 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/cx88-devel.rst

diff --git a/Documentation/media/v4l-drivers/cx88-devel.rst b/Documentation/media/v4l-drivers/cx88-devel.rst
new file mode 100644
index 000000000000..cfe7c03f4930
--- /dev/null
+++ b/Documentation/media/v4l-drivers/cx88-devel.rst
@@ -0,0 +1,113 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The cx88 driver
+===============
+
+Author:  Gerd Hoffmann
+
+Documentation missing at the cx88 datasheet
+-------------------------------------------
+
+MO_OUTPUT_FORMAT (0x310164)
+
+.. code-block:: none
+
+  Previous default from DScaler: 0x1c1f0008
+  Digit 8: 31-28
+  28: PREVREMOD = 1
+
+  Digit 7: 27-24 (0xc = 12 = b1100 )
+  27: COMBALT = 1
+  26: PAL_INV_PHASE
+    (DScaler apparently set this to 1, resulted in sucky picture)
+
+  Digits 6,5: 23-16
+  25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512)
+
+  Digit 4: 15-12
+  15: DISIFX = 0
+  14: INVCBF = 0
+  13: DISADAPT = 0
+  12: NARROWADAPT = 0
+
+  Digit 3: 11-8
+  11: FORCE2H
+  10: FORCEREMD
+  9: NCHROMAEN
+  8: NREMODEN
+
+  Digit 2: 7-4
+  7-6: YCORE
+  5-4: CCORE
+
+  Digit 1: 3-0
+  3: RANGE = 1
+  2: HACTEXT
+  1: HSFMT
+
+0x47 is the sync byte for MPEG-2 transport stream packets.
+Datasheet incorrectly states to use 47 decimal. 188 is the length.
+All DVB compliant frontends output packets with this start code.
+
+Hauppauge WinTV cx88 IR information
+-----------------------------------
+
+The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.
+
+====== ======== =================================================
+GPIO0  GPIO1
+====== ======== =================================================
+  0        0    TV Audio
+  1        0    FM radio
+  0        1    Line-In
+  1        1    Mono tuner bypass or CD passthru (tuner specific)
+====== ======== =================================================
+
+GPIO 16(I believe) is tied to the IR port (if present).
+
+
+From the data sheet:
+
+- Register 24'h20004  PCI Interrupt Status
+
+ - bit [18]  IR_SMP_INT Set when 32 input samples have been collected over
+ - gpio[16] pin into GP_SAMPLE register.
+
+What's missing from the data sheet:
+
+- Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5
+  compat remote)
+- set register 0x35C050 to  0xa80a80
+- enable sampling
+- set register 0x35C054 to 0x5
+- enable the IRQ bit 18 in the interrupt mask register (and
+  provide for a handler)
+
+GP_SAMPLE register is at 0x35C058
+
+Bits are then right shifted into the GP_SAMPLE register at the specified
+rate; you get an interrupt when a full DWORD is received.
+You need to recover the actual RC5 bits out of the (oversampled) IR sensor
+bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data)  An
+actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.
+
+I'm pretty sure when no IR signal is present the receiver is always in a
+marking state(1); but stray light, etc can cause intermittent noise values
+as well.  Remember, this is a free running sample of the IR receiver state
+over time, so don't assume any sample starts at any particular place.
+
+Additional info
+~~~~~~~~~~~~~~~
+
+This data sheet (google search) seems to have a lovely description of the
+RC5 basics:
+http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf
+
+This document has more data:
+http://www.nenya.be/beor/electronics/rc5.htm
+
+This document has a  how to decode a bi-phase data stream:
+http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
+
+This document has still more info:
+http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
diff --git a/Documentation/media/v4l-drivers/cx88.rst b/Documentation/media/v4l-drivers/cx88.rst
index 698c73ea2e36..e4badb18199d 100644
--- a/Documentation/media/v4l-drivers/cx88.rst
+++ b/Documentation/media/v4l-drivers/cx88.rst
@@ -56,110 +56,3 @@ the driver.  What to do then?
        trial-and-error using the tuner=<n> insmod option.  If you
        know which one the card has you can also have a look at the
        list in CARDLIST.tuner
-
-Documentation missing at the cx88 datasheet
--------------------------------------------
-
-MO_OUTPUT_FORMAT (0x310164)
-
-.. code-block:: none
-
-  Previous default from DScaler: 0x1c1f0008
-  Digit 8: 31-28
-  28: PREVREMOD = 1
-
-  Digit 7: 27-24 (0xc = 12 = b1100 )
-  27: COMBALT = 1
-  26: PAL_INV_PHASE
-    (DScaler apparently set this to 1, resulted in sucky picture)
-
-  Digits 6,5: 23-16
-  25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512)
-
-  Digit 4: 15-12
-  15: DISIFX = 0
-  14: INVCBF = 0
-  13: DISADAPT = 0
-  12: NARROWADAPT = 0
-
-  Digit 3: 11-8
-  11: FORCE2H
-  10: FORCEREMD
-  9: NCHROMAEN
-  8: NREMODEN
-
-  Digit 2: 7-4
-  7-6: YCORE
-  5-4: CCORE
-
-  Digit 1: 3-0
-  3: RANGE = 1
-  2: HACTEXT
-  1: HSFMT
-
-0x47 is the sync byte for MPEG-2 transport stream packets.
-Datasheet incorrectly states to use 47 decimal. 188 is the length.
-All DVB compliant frontends output packets with this start code.
-
-Hauppauge WinTV cx88 IR information
------------------------------------
-
-The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting.
-
-====== ======== =================================================
-GPIO0  GPIO1
-====== ======== =================================================
-  0        0    TV Audio
-  1        0    FM radio
-  0        1    Line-In
-  1        1    Mono tuner bypass or CD passthru (tuner specific)
-====== ======== =================================================
-
-GPIO 16(I believe) is tied to the IR port (if present).
-
-
-From the data sheet:
-
-- Register 24'h20004  PCI Interrupt Status
-
- - bit [18]  IR_SMP_INT Set when 32 input samples have been collected over
- - gpio[16] pin into GP_SAMPLE register.
-
-What's missing from the data sheet:
-
-- Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5
-  compat remote)
-- set register 0x35C050 to  0xa80a80
-- enable sampling
-- set register 0x35C054 to 0x5
-- enable the IRQ bit 18 in the interrupt mask register (and
-  provide for a handler)
-
-GP_SAMPLE register is at 0x35C058
-
-Bits are then right shifted into the GP_SAMPLE register at the specified
-rate; you get an interrupt when a full DWORD is received.
-You need to recover the actual RC5 bits out of the (oversampled) IR sensor
-bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data)  An
-actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment.
-
-I'm pretty sure when no IR signal is present the receiver is always in a
-marking state(1); but stray light, etc can cause intermittent noise values
-as well.  Remember, this is a free running sample of the IR receiver state
-over time, so don't assume any sample starts at any particular place.
-
-Additional info
-~~~~~~~~~~~~~~~
-
-This data sheet (google search) seems to have a lovely description of the
-RC5 basics:
-http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf
-
-This document has more data:
-http://www.nenya.be/beor/electronics/rc5.htm
-
-This document has a  how to decode a bi-phase data stream:
-http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt
-
-This document has still more info:
-http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 52d7c8d14ee7..dfc878c050da 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -68,6 +68,7 @@ For more details see the file COPYING in the source distribution of Linux.
 
 	bttv-devel
 	cpia2_devel
+	cx88-devel
 	vimc-devel
 
 	meye-uapi
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 09/22] media: docs: split cx2341x.rst into different audiences
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (7 preceding siblings ...)
  2020-03-10 13:42 ` [PATCH v2 08/22] media: docs: split development info from cx88.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 10/22] media: docs: cx18-streams.c: fix broken references to docs Mauro Carvalho Chehab
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both driver develompent documentation
(basically, firmware documentation) and IVTV-specific
documentation about VBI and raw formats, focused on uAPI
development.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../{cx2341x.rst => cx2341x-devel.rst}        | 175 -----------------
 .../media/v4l-drivers/cx2341x-uapi.rst        | 179 ++++++++++++++++++
 Documentation/media/v4l-drivers/index.rst     |   3 +-
 3 files changed, 181 insertions(+), 176 deletions(-)
 rename Documentation/media/v4l-drivers/{cx2341x.rst => cx2341x-devel.rst} (91%)
 create mode 100644 Documentation/media/v4l-drivers/cx2341x-uapi.rst

diff --git a/Documentation/media/v4l-drivers/cx2341x.rst b/Documentation/media/v4l-drivers/cx2341x-devel.rst
similarity index 91%
rename from Documentation/media/v4l-drivers/cx2341x.rst
rename to Documentation/media/v4l-drivers/cx2341x-devel.rst
index 8ca37deb56b6..97699df6ea2e 100644
--- a/Documentation/media/v4l-drivers/cx2341x.rst
+++ b/Documentation/media/v4l-drivers/cx2341x-devel.rst
@@ -3683,178 +3683,3 @@ Register 0x0004 holds the DMA Transfer Status:
 - bit 2:   DMA read error
 - bit 3:   DMA write error
 - bit 4:   Scatter-Gather array error
-
-Non-compressed file format
---------------------------
-
-The cx23416 can produce (and the cx23415 can also read) raw YUV output. The
-format of a YUV frame is specific to this chip and is called HM12. 'HM' stands
-for 'Hauppauge Macroblock', which is a misnomer as 'Conexant Macroblock' would
-be more accurate.
-
-The format is YUV 4:2:0 which uses 1 Y byte per pixel and 1 U and V byte per
-four pixels.
-
-The data is encoded as two macroblock planes, the first containing the Y
-values, the second containing UV macroblocks.
-
-The Y plane is divided into blocks of 16x16 pixels from left to right
-and from top to bottom. Each block is transmitted in turn, line-by-line.
-
-So the first 16 bytes are the first line of the top-left block, the
-second 16 bytes are the second line of the top-left block, etc. After
-transmitting this block the first line of the block on the right to the
-first block is transmitted, etc.
-
-The UV plane is divided into blocks of 16x8 UV values going from left
-to right, top to bottom. Each block is transmitted in turn, line-by-line.
-
-So the first 16 bytes are the first line of the top-left block and
-contain 8 UV value pairs (16 bytes in total). The second 16 bytes are the
-second line of 8 UV pairs of the top-left block, etc. After transmitting
-this block the first line of the block on the right to the first block is
-transmitted, etc.
-
-The code below is given as an example on how to convert HM12 to separate
-Y, U and V planes. This code assumes frames of 720x576 (PAL) pixels.
-
-The width of a frame is always 720 pixels, regardless of the actual specified
-width.
-
-If the height is not a multiple of 32 lines, then the captured video is
-missing macroblocks at the end and is unusable. So the height must be a
-multiple of 32.
-
-Raw format c example
-~~~~~~~~~~~~~~~~~~~~
-
-.. code-block:: c
-
-	#include <stdio.h>
-	#include <stdlib.h>
-	#include <string.h>
-
-	static unsigned char frame[576*720*3/2];
-	static unsigned char framey[576*720];
-	static unsigned char frameu[576*720 / 4];
-	static unsigned char framev[576*720 / 4];
-
-	static void de_macro_y(unsigned char* dst, unsigned char *src, int dstride, int w, int h)
-	{
-	unsigned int y, x, i;
-
-	// descramble Y plane
-	// dstride = 720 = w
-	// The Y plane is divided into blocks of 16x16 pixels
-	// Each block in transmitted in turn, line-by-line.
-	for (y = 0; y < h; y += 16) {
-		for (x = 0; x < w; x += 16) {
-		for (i = 0; i < 16; i++) {
-			memcpy(dst + x + (y + i) * dstride, src, 16);
-			src += 16;
-		}
-		}
-	}
-	}
-
-	static void de_macro_uv(unsigned char *dstu, unsigned char *dstv, unsigned char *src, int dstride, int w, int h)
-	{
-	unsigned int y, x, i;
-
-	// descramble U/V plane
-	// dstride = 720 / 2 = w
-	// The U/V values are interlaced (UVUV...).
-	// Again, the UV plane is divided into blocks of 16x16 UV values.
-	// Each block in transmitted in turn, line-by-line.
-	for (y = 0; y < h; y += 16) {
-		for (x = 0; x < w; x += 8) {
-		for (i = 0; i < 16; i++) {
-			int idx = x + (y + i) * dstride;
-
-			dstu[idx+0] = src[0];  dstv[idx+0] = src[1];
-			dstu[idx+1] = src[2];  dstv[idx+1] = src[3];
-			dstu[idx+2] = src[4];  dstv[idx+2] = src[5];
-			dstu[idx+3] = src[6];  dstv[idx+3] = src[7];
-			dstu[idx+4] = src[8];  dstv[idx+4] = src[9];
-			dstu[idx+5] = src[10]; dstv[idx+5] = src[11];
-			dstu[idx+6] = src[12]; dstv[idx+6] = src[13];
-			dstu[idx+7] = src[14]; dstv[idx+7] = src[15];
-			src += 16;
-		}
-		}
-	}
-	}
-
-	/*************************************************************************/
-	int main(int argc, char **argv)
-	{
-	FILE *fin;
-	int i;
-
-	if (argc == 1) fin = stdin;
-	else fin = fopen(argv[1], "r");
-
-	if (fin == NULL) {
-		fprintf(stderr, "cannot open input\n");
-		exit(-1);
-	}
-	while (fread(frame, sizeof(frame), 1, fin) == 1) {
-		de_macro_y(framey, frame, 720, 720, 576);
-		de_macro_uv(frameu, framev, frame + 720 * 576, 720 / 2, 720 / 2, 576 / 2);
-		fwrite(framey, sizeof(framey), 1, stdout);
-		fwrite(framev, sizeof(framev), 1, stdout);
-		fwrite(frameu, sizeof(frameu), 1, stdout);
-	}
-	fclose(fin);
-	return 0;
-	}
-
-
-Format of embedded V4L2_MPEG_STREAM_VBI_FMT_IVTV VBI data
----------------------------------------------------------
-
-Author: Hans Verkuil <hverkuil@xs4all.nl>
-
-
-This section describes the V4L2_MPEG_STREAM_VBI_FMT_IVTV format of the VBI data
-embedded in an MPEG-2 program stream. This format is in part dictated by some
-hardware limitations of the ivtv driver (the driver for the Conexant cx23415/6
-chips), in particular a maximum size for the VBI data. Anything longer is cut
-off when the MPEG stream is played back through the cx23415.
-
-The advantage of this format is it is very compact and that all VBI data for
-all lines can be stored while still fitting within the maximum allowed size.
-
-The stream ID of the VBI data is 0xBD. The maximum size of the embedded data is
-4 + 43 * 36, which is 4 bytes for a header and 2 * 18 VBI lines with a 1 byte
-header and a 42 bytes payload each. Anything beyond this limit is cut off by
-the cx23415/6 firmware. Besides the data for the VBI lines we also need 36 bits
-for a bitmask determining which lines are captured and 4 bytes for a magic cookie,
-signifying that this data package contains V4L2_MPEG_STREAM_VBI_FMT_IVTV VBI data.
-If all lines are used, then there is no longer room for the bitmask. To solve this
-two different magic numbers were introduced:
-
-'itv0': After this magic number two unsigned longs follow. Bits 0-17 of the first
-unsigned long denote which lines of the first field are captured. Bits 18-31 of
-the first unsigned long and bits 0-3 of the second unsigned long are used for the
-second field.
-
-'ITV0': This magic number assumes all VBI lines are captured, i.e. it implicitly
-implies that the bitmasks are 0xffffffff and 0xf.
-
-After these magic cookies (and the 8 byte bitmask in case of cookie 'itv0') the
-captured VBI lines start:
-
-For each line the least significant 4 bits of the first byte contain the data type.
-Possible values are shown in the table below. The payload is in the following 42
-bytes.
-
-Here is the list of possible data types:
-
-.. code-block:: c
-
-	#define IVTV_SLICED_TYPE_TELETEXT       0x1     // Teletext (uses lines 6-22 for PAL)
-	#define IVTV_SLICED_TYPE_CC             0x4     // Closed Captions (line 21 NTSC)
-	#define IVTV_SLICED_TYPE_WSS            0x5     // Wide Screen Signal (line 23 PAL)
-	#define IVTV_SLICED_TYPE_VPS            0x7     // Video Programming System (PAL) (line 16)
-
diff --git a/Documentation/media/v4l-drivers/cx2341x-uapi.rst b/Documentation/media/v4l-drivers/cx2341x-uapi.rst
new file mode 100644
index 000000000000..8a7977af79d5
--- /dev/null
+++ b/Documentation/media/v4l-drivers/cx2341x-uapi.rst
@@ -0,0 +1,179 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The cx2341x driver
+==================
+
+Non-compressed file format
+--------------------------
+
+The cx23416 can produce (and the cx23415 can also read) raw YUV output. The
+format of a YUV frame is specific to this chip and is called HM12. 'HM' stands
+for 'Hauppauge Macroblock', which is a misnomer as 'Conexant Macroblock' would
+be more accurate.
+
+The format is YUV 4:2:0 which uses 1 Y byte per pixel and 1 U and V byte per
+four pixels.
+
+The data is encoded as two macroblock planes, the first containing the Y
+values, the second containing UV macroblocks.
+
+The Y plane is divided into blocks of 16x16 pixels from left to right
+and from top to bottom. Each block is transmitted in turn, line-by-line.
+
+So the first 16 bytes are the first line of the top-left block, the
+second 16 bytes are the second line of the top-left block, etc. After
+transmitting this block the first line of the block on the right to the
+first block is transmitted, etc.
+
+The UV plane is divided into blocks of 16x8 UV values going from left
+to right, top to bottom. Each block is transmitted in turn, line-by-line.
+
+So the first 16 bytes are the first line of the top-left block and
+contain 8 UV value pairs (16 bytes in total). The second 16 bytes are the
+second line of 8 UV pairs of the top-left block, etc. After transmitting
+this block the first line of the block on the right to the first block is
+transmitted, etc.
+
+The code below is given as an example on how to convert HM12 to separate
+Y, U and V planes. This code assumes frames of 720x576 (PAL) pixels.
+
+The width of a frame is always 720 pixels, regardless of the actual specified
+width.
+
+If the height is not a multiple of 32 lines, then the captured video is
+missing macroblocks at the end and is unusable. So the height must be a
+multiple of 32.
+
+Raw format c example
+~~~~~~~~~~~~~~~~~~~~
+
+.. code-block:: c
+
+	#include <stdio.h>
+	#include <stdlib.h>
+	#include <string.h>
+
+	static unsigned char frame[576*720*3/2];
+	static unsigned char framey[576*720];
+	static unsigned char frameu[576*720 / 4];
+	static unsigned char framev[576*720 / 4];
+
+	static void de_macro_y(unsigned char* dst, unsigned char *src, int dstride, int w, int h)
+	{
+	unsigned int y, x, i;
+
+	// descramble Y plane
+	// dstride = 720 = w
+	// The Y plane is divided into blocks of 16x16 pixels
+	// Each block in transmitted in turn, line-by-line.
+	for (y = 0; y < h; y += 16) {
+		for (x = 0; x < w; x += 16) {
+		for (i = 0; i < 16; i++) {
+			memcpy(dst + x + (y + i) * dstride, src, 16);
+			src += 16;
+		}
+		}
+	}
+	}
+
+	static void de_macro_uv(unsigned char *dstu, unsigned char *dstv, unsigned char *src, int dstride, int w, int h)
+	{
+	unsigned int y, x, i;
+
+	// descramble U/V plane
+	// dstride = 720 / 2 = w
+	// The U/V values are interlaced (UVUV...).
+	// Again, the UV plane is divided into blocks of 16x16 UV values.
+	// Each block in transmitted in turn, line-by-line.
+	for (y = 0; y < h; y += 16) {
+		for (x = 0; x < w; x += 8) {
+		for (i = 0; i < 16; i++) {
+			int idx = x + (y + i) * dstride;
+
+			dstu[idx+0] = src[0];  dstv[idx+0] = src[1];
+			dstu[idx+1] = src[2];  dstv[idx+1] = src[3];
+			dstu[idx+2] = src[4];  dstv[idx+2] = src[5];
+			dstu[idx+3] = src[6];  dstv[idx+3] = src[7];
+			dstu[idx+4] = src[8];  dstv[idx+4] = src[9];
+			dstu[idx+5] = src[10]; dstv[idx+5] = src[11];
+			dstu[idx+6] = src[12]; dstv[idx+6] = src[13];
+			dstu[idx+7] = src[14]; dstv[idx+7] = src[15];
+			src += 16;
+		}
+		}
+	}
+	}
+
+	/*************************************************************************/
+	int main(int argc, char **argv)
+	{
+	FILE *fin;
+	int i;
+
+	if (argc == 1) fin = stdin;
+	else fin = fopen(argv[1], "r");
+
+	if (fin == NULL) {
+		fprintf(stderr, "cannot open input\n");
+		exit(-1);
+	}
+	while (fread(frame, sizeof(frame), 1, fin) == 1) {
+		de_macro_y(framey, frame, 720, 720, 576);
+		de_macro_uv(frameu, framev, frame + 720 * 576, 720 / 2, 720 / 2, 576 / 2);
+		fwrite(framey, sizeof(framey), 1, stdout);
+		fwrite(framev, sizeof(framev), 1, stdout);
+		fwrite(frameu, sizeof(frameu), 1, stdout);
+	}
+	fclose(fin);
+	return 0;
+	}
+
+
+Format of embedded V4L2_MPEG_STREAM_VBI_FMT_IVTV VBI data
+---------------------------------------------------------
+
+Author: Hans Verkuil <hverkuil@xs4all.nl>
+
+
+This section describes the V4L2_MPEG_STREAM_VBI_FMT_IVTV format of the VBI data
+embedded in an MPEG-2 program stream. This format is in part dictated by some
+hardware limitations of the ivtv driver (the driver for the Conexant cx23415/6
+chips), in particular a maximum size for the VBI data. Anything longer is cut
+off when the MPEG stream is played back through the cx23415.
+
+The advantage of this format is it is very compact and that all VBI data for
+all lines can be stored while still fitting within the maximum allowed size.
+
+The stream ID of the VBI data is 0xBD. The maximum size of the embedded data is
+4 + 43 * 36, which is 4 bytes for a header and 2 * 18 VBI lines with a 1 byte
+header and a 42 bytes payload each. Anything beyond this limit is cut off by
+the cx23415/6 firmware. Besides the data for the VBI lines we also need 36 bits
+for a bitmask determining which lines are captured and 4 bytes for a magic cookie,
+signifying that this data package contains V4L2_MPEG_STREAM_VBI_FMT_IVTV VBI data.
+If all lines are used, then there is no longer room for the bitmask. To solve this
+two different magic numbers were introduced:
+
+'itv0': After this magic number two unsigned longs follow. Bits 0-17 of the first
+unsigned long denote which lines of the first field are captured. Bits 18-31 of
+the first unsigned long and bits 0-3 of the second unsigned long are used for the
+second field.
+
+'ITV0': This magic number assumes all VBI lines are captured, i.e. it implicitly
+implies that the bitmasks are 0xffffffff and 0xf.
+
+After these magic cookies (and the 8 byte bitmask in case of cookie 'itv0') the
+captured VBI lines start:
+
+For each line the least significant 4 bits of the first byte contain the data type.
+Possible values are shown in the table below. The payload is in the following 42
+bytes.
+
+Here is the list of possible data types:
+
+.. code-block:: c
+
+	#define IVTV_SLICED_TYPE_TELETEXT       0x1     // Teletext (uses lines 6-22 for PAL)
+	#define IVTV_SLICED_TYPE_CC             0x4     // Closed Captions (line 21 NTSC)
+	#define IVTV_SLICED_TYPE_WSS            0x5     // Wide Screen Signal (line 23 PAL)
+	#define IVTV_SLICED_TYPE_VPS            0x7     // Video Programming System (PAL) (line 16)
+
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index dfc878c050da..f3e34ccaf365 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -38,7 +38,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	bttv
 	cafe_ccic
 	cpia2
-	cx2341x
 	cx88
 	davinci-vpbe
 	fimc
@@ -68,7 +67,9 @@ For more details see the file COPYING in the source distribution of Linux.
 
 	bttv-devel
 	cpia2_devel
+	cx2341x-devel
 	cx88-devel
 	vimc-devel
 
+	cx2341x-uapi
 	meye-uapi
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 10/22] media: docs: cx18-streams.c: fix broken references to docs
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (8 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 09/22] media: docs: split cx2341x.rst into different audiences Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 11/22] media: docs: split uAPI info from davinci-vpbe.rst Mauro Carvalho Chehab
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Andy Walls

There are two places inside this file that points to the
cx2341x documentation, with was split into two. Looking
at changeset dcc0ef88209a
("V4L/DVB (10442): cx18: Fixes for enforcing when Encoder Raw VBI params can be set")
with added those comments, it was originally pointing to:

	Documentation/video4linux/cx2341x/fw-encoder-api.txt

Well, the firmware details went to

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 drivers/media/pci/cx18/cx18-streams.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/media/pci/cx18/cx18-streams.c b/drivers/media/pci/cx18/cx18-streams.c
index 3178df3c4922..0e2365c9f4ad 100644
--- a/drivers/media/pci/cx18/cx18-streams.c
+++ b/drivers/media/pci/cx18/cx18-streams.c
@@ -845,7 +845,7 @@ int cx18_start_v4l2_encode_stream(struct cx18_stream *s)
 
 		/*
 		 * Audio related reset according to
-		 * Documentation/media/v4l-drivers/cx2341x.rst
+		 * Documentation/media/v4l-drivers/cx2341x-devel.rst
 		 */
 		if (atomic_read(&cx->ana_capturing) == 0)
 			cx18_vapi(cx, CX18_CPU_SET_MISC_PARAMETERS, 2,
@@ -853,7 +853,7 @@ int cx18_start_v4l2_encode_stream(struct cx18_stream *s)
 
 		/*
 		 * Number of lines for Field 1 & Field 2 according to
-		 * Documentation/media/v4l-drivers/cx2341x.rst
+		 * Documentation/media/v4l-drivers/cx2341x-devel.rst
 		 * Field 1 is 312 for 625 line systems in BT.656
 		 * Field 2 is 313 for 625 line systems in BT.656
 		 */
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 11/22] media: docs: split uAPI info from davinci-vpbe.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (9 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 10/22] media: docs: cx18-streams.c: fix broken references to docs Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 12/22] media: docs: split uAPI info from fimc.rst Mauro Carvalho Chehab
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both driver develompent documentation and
userspace API.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../media/v4l-drivers/davinci-vpbe-devel.rst  | 39 +++++++++++++++++
 .../media/v4l-drivers/davinci-vpbe.rst        | 42 +++----------------
 Documentation/media/v4l-drivers/index.rst     |  1 +
 3 files changed, 45 insertions(+), 37 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/davinci-vpbe-devel.rst

diff --git a/Documentation/media/v4l-drivers/davinci-vpbe-devel.rst b/Documentation/media/v4l-drivers/davinci-vpbe-devel.rst
new file mode 100644
index 000000000000..f0961672e6a3
--- /dev/null
+++ b/Documentation/media/v4l-drivers/davinci-vpbe-devel.rst
@@ -0,0 +1,39 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The VPBE V4L2 driver design
+===========================
+
+File partitioning
+-----------------
+
+ V4L2 display device driver
+         drivers/media/platform/davinci/vpbe_display.c
+         drivers/media/platform/davinci/vpbe_display.h
+
+ VPBE display controller
+         drivers/media/platform/davinci/vpbe.c
+         drivers/media/platform/davinci/vpbe.h
+
+ VPBE venc sub device driver
+         drivers/media/platform/davinci/vpbe_venc.c
+         drivers/media/platform/davinci/vpbe_venc.h
+         drivers/media/platform/davinci/vpbe_venc_regs.h
+
+ VPBE osd driver
+         drivers/media/platform/davinci/vpbe_osd.c
+         drivers/media/platform/davinci/vpbe_osd.h
+         drivers/media/platform/davinci/vpbe_osd_regs.h
+
+To be done
+----------
+
+vpbe display controller
+    - Add support for external encoders.
+    - add support for selecting external encoder as default at probe time.
+
+vpbe venc sub device
+    - add timings for supporting ths8200
+    - add support for LogicPD LCD.
+
+FB drivers
+    - Add support for fbdev drivers.- Ready and part of subsequent patches.
diff --git a/Documentation/media/v4l-drivers/davinci-vpbe.rst b/Documentation/media/v4l-drivers/davinci-vpbe.rst
index 0fde433e5c71..9e6360fd02db 100644
--- a/Documentation/media/v4l-drivers/davinci-vpbe.rst
+++ b/Documentation/media/v4l-drivers/davinci-vpbe.rst
@@ -3,38 +3,18 @@
 The VPBE V4L2 driver design
 ===========================
 
-File partitioning
------------------
-
- V4L2 display device driver
-         drivers/media/platform/davinci/vpbe_display.c
-         drivers/media/platform/davinci/vpbe_display.h
-
- VPBE display controller
-         drivers/media/platform/davinci/vpbe.c
-         drivers/media/platform/davinci/vpbe.h
-
- VPBE venc sub device driver
-         drivers/media/platform/davinci/vpbe_venc.c
-         drivers/media/platform/davinci/vpbe_venc.h
-         drivers/media/platform/davinci/vpbe_venc_regs.h
-
- VPBE osd driver
-         drivers/media/platform/davinci/vpbe_osd.c
-         drivers/media/platform/davinci/vpbe_osd.h
-         drivers/media/platform/davinci/vpbe_osd_regs.h
-
 Functional partitioning
 -----------------------
 
-Consists of the following (in the same order as the list under file
-partitioning):
+Consists of the following:
 
  1. V4L2 display driver
+
     Implements creation of video2 and video3 device nodes and
     provides v4l2 device interface to manage VID0 and VID1 layers.
 
  2. Display controller
+
     Loads up VENC, OSD and external encoders such as ths8200. It provides
     a set of API calls to V4L2 drivers to set the output/standards
     in the VENC or external sub devices. It also provides
@@ -54,6 +34,7 @@ partitioning):
     encoders is not present, and would be a part of the next patch series.
 
  3. VENC subdevice module
+
     Responsible for setting outputs provided through internal DACs and also
     setting timings at LCD controller port when external encoders are connected
     at the port or LCD panel timings required. When external encoder/LCD panel
@@ -72,6 +53,7 @@ partitioning):
     patch series.
 
  4. OSD module
+
     OSD module implements all OSD layer management and hardware specific
     features. The VPBE module interacts with the OSD for enabling and
     disabling appropriate features of the OSD.
@@ -81,17 +63,3 @@ Current status
 
 A fully functional working version of the V4L2 driver is available. This
 driver has been tested with NTSC and PAL standards and buffer streaming.
-
-To be done
-----------
-
-vpbe display controller
-    - Add support for external encoders.
-    - add support for selecting external encoder as default at probe time.
-
-vpbe venc sub device
-    - add timings for supporting ths8200
-    - add support for LogicPD LCD.
-
-FB drivers
-    - Add support for fbdev drivers.- Ready and part of subsequent patches.
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index f3e34ccaf365..2d782a40a7b6 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -69,6 +69,7 @@ For more details see the file COPYING in the source distribution of Linux.
 	cpia2_devel
 	cx2341x-devel
 	cx88-devel
+	davinci-vpbe-devel
 	vimc-devel
 
 	cx2341x-uapi
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 12/22] media: docs: split uAPI info from fimc.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (10 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 11/22] media: docs: split uAPI info from davinci-vpbe.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 13/22] media: docs: split uAPI info from saa7134-devel.rst Mauro Carvalho Chehab
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both driver develompent documentation and
userspace API.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../media/v4l-drivers/fimc-devel.rst          | 33 +++++++++++++++++++
 Documentation/media/v4l-drivers/fimc.rst      | 22 ++-----------
 Documentation/media/v4l-drivers/index.rst     |  1 +
 3 files changed, 36 insertions(+), 20 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/fimc-devel.rst

diff --git a/Documentation/media/v4l-drivers/fimc-devel.rst b/Documentation/media/v4l-drivers/fimc-devel.rst
new file mode 100644
index 000000000000..956e3a9901f8
--- /dev/null
+++ b/Documentation/media/v4l-drivers/fimc-devel.rst
@@ -0,0 +1,33 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. include:: <isonum.txt>
+
+The Samsung S5P/EXYNOS4 FIMC driver
+===================================
+
+Copyright |copy| 2012 - 2013 Samsung Electronics Co., Ltd.
+
+Files partitioning
+------------------
+
+- media device driver
+
+  drivers/media/platform/exynos4-is/media-dev.[ch]
+
+- camera capture video device driver
+
+  drivers/media/platform/exynos4-is/fimc-capture.c
+
+- MIPI-CSI2 receiver subdev
+
+  drivers/media/platform/exynos4-is/mipi-csis.[ch]
+
+- video post-processor (mem-to-mem)
+
+  drivers/media/platform/exynos4-is/fimc-core.c
+
+- common files
+
+  drivers/media/platform/exynos4-is/fimc-core.h
+  drivers/media/platform/exynos4-is/fimc-reg.h
+  drivers/media/platform/exynos4-is/regs-fimc.h
diff --git a/Documentation/media/v4l-drivers/fimc.rst b/Documentation/media/v4l-drivers/fimc.rst
index 74585ba48b7f..0b8ddc4a3008 100644
--- a/Documentation/media/v4l-drivers/fimc.rst
+++ b/Documentation/media/v4l-drivers/fimc.rst
@@ -38,26 +38,6 @@ Not currently supported
 - LCD writeback input
 - per frame clock gating (mem-to-mem)
 
-Files partitioning
-------------------
-
-- media device driver
-  drivers/media/platform/exynos4-is/media-dev.[ch]
-
-- camera capture video device driver
-  drivers/media/platform/exynos4-is/fimc-capture.c
-
-- MIPI-CSI2 receiver subdev
-  drivers/media/platform/exynos4-is/mipi-csis.[ch]
-
-- video post-processor (mem-to-mem)
-  drivers/media/platform/exynos4-is/fimc-core.c
-
-- common files
-  drivers/media/platform/exynos4-is/fimc-core.h
-  drivers/media/platform/exynos4-is/fimc-reg.h
-  drivers/media/platform/exynos4-is/regs-fimc.h
-
 User space interfaces
 ---------------------
 
@@ -74,6 +54,7 @@ connections of the MIPI-CSIS device(s) to the FIMC entities.
 The media device interface allows to configure the SoC for capturing image
 data from the sensor through more than one FIMC instance (e.g. for simultaneous
 viewfinder and still capture setup).
+
 Reconfiguration is done by enabling/disabling media links created by the driver
 during initialization. The internal device topology can be easily discovered
 through media entity and links enumeration.
@@ -116,6 +97,7 @@ sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
 When we configure these devices through sub-device API at user space, the
 configuration flow must be from left to right, and the video node is
 configured as last one.
+
 When we don't use sub-device user space API the whole configuration of all
 devices belonging to the pipeline is done at the video node driver.
 The sysfs entry allows to instruct the capture node driver not to configure
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 2d782a40a7b6..adf72937b119 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -70,6 +70,7 @@ For more details see the file COPYING in the source distribution of Linux.
 	cx2341x-devel
 	cx88-devel
 	davinci-vpbe-devel
+	fimc-devel
 	vimc-devel
 
 	cx2341x-uapi
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 13/22] media: docs: split uAPI info from saa7134-devel.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (11 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 12/22] media: docs: split uAPI info from fimc.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 14/22] media: docs: split uAPI info from omap3isp.rst Mauro Carvalho Chehab
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both driver develompent documentation and
userspace API.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst     |  1 +
 .../media/v4l-drivers/saa7134-devel.rst       | 67 +++++++++++++++++++
 Documentation/media/v4l-drivers/saa7134.rst   | 54 ---------------
 3 files changed, 68 insertions(+), 54 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/saa7134-devel.rst

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index adf72937b119..6fdfd9a41913 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -71,6 +71,7 @@ For more details see the file COPYING in the source distribution of Linux.
 	cx88-devel
 	davinci-vpbe-devel
 	fimc-devel
+	saa7134-devel
 	vimc-devel
 
 	cx2341x-uapi
diff --git a/Documentation/media/v4l-drivers/saa7134-devel.rst b/Documentation/media/v4l-drivers/saa7134-devel.rst
new file mode 100644
index 000000000000..167fd729bc8c
--- /dev/null
+++ b/Documentation/media/v4l-drivers/saa7134-devel.rst
@@ -0,0 +1,67 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+The saa7134 driver
+==================
+
+Author Gerd Hoffmann
+
+
+Card Variations:
+----------------
+
+Cards can use either of these two crystals (xtal):
+
+- 32.11 MHz -> .audio_clock=0x187de7
+- 24.576MHz -> .audio_clock=0x200000 (xtal * .audio_clock = 51539600)
+
+Some details about 30/34/35:
+
+- saa7130 - low-price chip, doesn't have mute, that is why all those
+  cards should have .mute field defined in their tuner structure.
+
+- saa7134 - usual chip
+
+- saa7133/35 - saa7135 is probably a marketing decision, since all those
+  chips identifies itself as 33 on pci.
+
+LifeView GPIOs
+--------------
+
+This section was authored by: Peter Missel <peter.missel@onlinehome.de>
+
+- LifeView FlyTV Platinum FM (LR214WF)
+
+    - GP27    MDT2005 PB4 pin 10
+    - GP26    MDT2005 PB3 pin 9
+    - GP25    MDT2005 PB2 pin 8
+    - GP23    MDT2005 PB1 pin 7
+    - GP22    MDT2005 PB0 pin 6
+    - GP21    MDT2005 PB5 pin 11
+    - GP20    MDT2005 PB6 pin 12
+    - GP19    MDT2005 PB7 pin 13
+    - nc      MDT2005 PA3 pin 2
+    - Remote  MDT2005 PA2 pin 1
+    - GP18    MDT2005 PA1 pin 18
+    - nc      MDT2005 PA0 pin 17 strap low
+    - GP17    Strap "GP7"=High
+    - GP16    Strap "GP6"=High
+
+	- 0=Radio 1=TV
+	- Drives SA630D ENCH1 and HEF4052 A1 pinsto do FM radio through
+	  SIF input
+
+    - GP15    nc
+    - GP14    nc
+    - GP13    nc
+    - GP12    Strap "GP5" = High
+    - GP11    Strap "GP4" = High
+    - GP10    Strap "GP3" = High
+    - GP09    Strap "GP2" = Low
+    - GP08    Strap "GP1" = Low
+    - GP07.00 nc
+
+Credits
+-------
+
+andrew.stevens@philips.com + werner.leeb@philips.com for providing
+saa7134 hardware specs and sample board.
diff --git a/Documentation/media/v4l-drivers/saa7134.rst b/Documentation/media/v4l-drivers/saa7134.rst
index 15d06facdbc1..c84246dd81c0 100644
--- a/Documentation/media/v4l-drivers/saa7134.rst
+++ b/Documentation/media/v4l-drivers/saa7134.rst
@@ -54,60 +54,6 @@ Known Problems
   default might not work for you depending on which version you have.
   There is a tuner= insmod option to override the driver's default.
 
-Card Variations:
-----------------
-
-Cards can use either of these two crystals (xtal):
-
-- 32.11 MHz -> .audio_clock=0x187de7
-- 24.576MHz -> .audio_clock=0x200000 (xtal * .audio_clock = 51539600)
-
-Some details about 30/34/35:
-
-- saa7130 - low-price chip, doesn't have mute, that is why all those
-  cards should have .mute field defined in their tuner structure.
-
-- saa7134 - usual chip
-
-- saa7133/35 - saa7135 is probably a marketing decision, since all those
-  chips identifies itself as 33 on pci.
-
-LifeView GPIOs
---------------
-
-This section was authored by: Peter Missel <peter.missel@onlinehome.de>
-
-- LifeView FlyTV Platinum FM (LR214WF)
-
-    - GP27    MDT2005 PB4 pin 10
-    - GP26    MDT2005 PB3 pin 9
-    - GP25    MDT2005 PB2 pin 8
-    - GP23    MDT2005 PB1 pin 7
-    - GP22    MDT2005 PB0 pin 6
-    - GP21    MDT2005 PB5 pin 11
-    - GP20    MDT2005 PB6 pin 12
-    - GP19    MDT2005 PB7 pin 13
-    - nc      MDT2005 PA3 pin 2
-    - Remote  MDT2005 PA2 pin 1
-    - GP18    MDT2005 PA1 pin 18
-    - nc      MDT2005 PA0 pin 17 strap low
-    - GP17    Strap "GP7"=High
-    - GP16    Strap "GP6"=High
-
-	- 0=Radio 1=TV
-	- Drives SA630D ENCH1 and HEF4052 A1 pinsto do FM radio through
-	  SIF input
-
-    - GP15    nc
-    - GP14    nc
-    - GP13    nc
-    - GP12    Strap "GP5" = High
-    - GP11    Strap "GP4" = High
-    - GP10    Strap "GP3" = High
-    - GP09    Strap "GP2" = Low
-    - GP08    Strap "GP1" = Low
-    - GP07.00 nc
-
 Credits
 -------
 
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 14/22] media: docs: split uAPI info from omap3isp.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (12 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 13/22] media: docs: split uAPI info from saa7134-devel.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 15/22] media: docs: split uAPI info from imx.rst Mauro Carvalho Chehab
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file contains both driver develompent documentation and
userspace API.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst     |   1 +
 .../media/v4l-drivers/omap3isp-uapi.rst       | 208 ++++++++++++++++++
 Documentation/media/v4l-drivers/omap3isp.rst  | 196 +----------------
 3 files changed, 211 insertions(+), 194 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/omap3isp-uapi.rst

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 6fdfd9a41913..364c65ea86fb 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -76,3 +76,4 @@ For more details see the file COPYING in the source distribution of Linux.
 
 	cx2341x-uapi
 	meye-uapi
+	omap3isp-uapi
diff --git a/Documentation/media/v4l-drivers/omap3isp-uapi.rst b/Documentation/media/v4l-drivers/omap3isp-uapi.rst
new file mode 100644
index 000000000000..5f966a874a3c
--- /dev/null
+++ b/Documentation/media/v4l-drivers/omap3isp-uapi.rst
@@ -0,0 +1,208 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. include:: <isonum.txt>
+
+OMAP 3 Image Signal Processor (ISP) driver
+==========================================
+
+Copyright |copy| 2010 Nokia Corporation
+
+Copyright |copy| 2009 Texas Instruments, Inc.
+
+Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
+Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
+
+
+Events
+------
+
+The OMAP 3 ISP driver does support the V4L2 event interface on CCDC and
+statistics (AEWB, AF and histogram) subdevs.
+
+The CCDC subdev produces V4L2_EVENT_FRAME_SYNC type event on HS_VS
+interrupt which is used to signal frame start. Earlier version of this
+driver used V4L2_EVENT_OMAP3ISP_HS_VS for this purpose. The event is
+triggered exactly when the reception of the first line of the frame starts
+in the CCDC module. The event can be subscribed on the CCDC subdev.
+
+(When using parallel interface one must pay account to correct configuration
+of the VS signal polarity. This is automatically correct when using the serial
+receivers.)
+
+Each of the statistics subdevs is able to produce events. An event is
+generated whenever a statistics buffer can be dequeued by a user space
+application using the VIDIOC_OMAP3ISP_STAT_REQ IOCTL. The events available
+are:
+
+- V4L2_EVENT_OMAP3ISP_AEWB
+- V4L2_EVENT_OMAP3ISP_AF
+- V4L2_EVENT_OMAP3ISP_HIST
+
+The type of the event data is struct omap3isp_stat_event_status for these
+ioctls. If there is an error calculating the statistics, there will be an
+event as usual, but no related statistics buffer. In this case
+omap3isp_stat_event_status.buf_err is set to non-zero.
+
+
+Private IOCTLs
+--------------
+
+The OMAP 3 ISP driver supports standard V4L2 IOCTLs and controls where
+possible and practical. Much of the functions provided by the ISP, however,
+does not fall under the standard IOCTLs --- gamma tables and configuration of
+statistics collection are examples of such.
+
+In general, there is a private ioctl for configuring each of the blocks
+containing hardware-dependent functions.
+
+The following private IOCTLs are supported:
+
+- VIDIOC_OMAP3ISP_CCDC_CFG
+- VIDIOC_OMAP3ISP_PRV_CFG
+- VIDIOC_OMAP3ISP_AEWB_CFG
+- VIDIOC_OMAP3ISP_HIST_CFG
+- VIDIOC_OMAP3ISP_AF_CFG
+- VIDIOC_OMAP3ISP_STAT_REQ
+- VIDIOC_OMAP3ISP_STAT_EN
+
+The parameter structures used by these ioctls are described in
+include/linux/omap3isp.h. The detailed functions of the ISP itself related to
+a given ISP block is described in the Technical Reference Manuals (TRMs) ---
+see the end of the document for those.
+
+While it is possible to use the ISP driver without any use of these private
+IOCTLs it is not possible to obtain optimal image quality this way. The AEWB,
+AF and histogram modules cannot be used without configuring them using the
+appropriate private IOCTLs.
+
+
+CCDC and preview block IOCTLs
+-----------------------------
+
+The VIDIOC_OMAP3ISP_CCDC_CFG and VIDIOC_OMAP3ISP_PRV_CFG IOCTLs are used to
+configure, enable and disable functions in the CCDC and preview blocks,
+respectively. Both IOCTLs control several functions in the blocks they
+control. VIDIOC_OMAP3ISP_CCDC_CFG IOCTL accepts a pointer to struct
+omap3isp_ccdc_update_config as its argument. Similarly VIDIOC_OMAP3ISP_PRV_CFG
+accepts a pointer to struct omap3isp_prev_update_config. The definition of
+both structures is available in [#]_.
+
+The update field in the structures tells whether to update the configuration
+for the specific function and the flag tells whether to enable or disable the
+function.
+
+The update and flag bit masks accept the following values. Each separate
+functions in the CCDC and preview blocks is associated with a flag (either
+disable or enable; part of the flag field in the structure) and a pointer to
+configuration data for the function.
+
+Valid values for the update and flag fields are listed here for
+VIDIOC_OMAP3ISP_CCDC_CFG. Values may be or'ed to configure more than one
+function in the same IOCTL call.
+
+- OMAP3ISP_CCDC_ALAW
+- OMAP3ISP_CCDC_LPF
+- OMAP3ISP_CCDC_BLCLAMP
+- OMAP3ISP_CCDC_BCOMP
+- OMAP3ISP_CCDC_FPC
+- OMAP3ISP_CCDC_CULL
+- OMAP3ISP_CCDC_CONFIG_LSC
+- OMAP3ISP_CCDC_TBL_LSC
+
+The corresponding values for the VIDIOC_OMAP3ISP_PRV_CFG are here:
+
+- OMAP3ISP_PREV_LUMAENH
+- OMAP3ISP_PREV_INVALAW
+- OMAP3ISP_PREV_HRZ_MED
+- OMAP3ISP_PREV_CFA
+- OMAP3ISP_PREV_CHROMA_SUPP
+- OMAP3ISP_PREV_WB
+- OMAP3ISP_PREV_BLKADJ
+- OMAP3ISP_PREV_RGB2RGB
+- OMAP3ISP_PREV_COLOR_CONV
+- OMAP3ISP_PREV_YC_LIMIT
+- OMAP3ISP_PREV_DEFECT_COR
+- OMAP3ISP_PREV_GAMMABYPASS
+- OMAP3ISP_PREV_DRK_FRM_CAPTURE
+- OMAP3ISP_PREV_DRK_FRM_SUBTRACT
+- OMAP3ISP_PREV_LENS_SHADING
+- OMAP3ISP_PREV_NF
+- OMAP3ISP_PREV_GAMMA
+
+The associated configuration pointer for the function may not be NULL when
+enabling the function. When disabling a function the configuration pointer is
+ignored.
+
+
+Statistic blocks IOCTLs
+-----------------------
+
+The statistics subdevs do offer more dynamic configuration options than the
+other subdevs. They can be enabled, disable and reconfigured when the pipeline
+is in streaming state.
+
+The statistics blocks always get the input image data from the CCDC (as the
+histogram memory read isn't implemented). The statistics are dequeueable by
+the user from the statistics subdev nodes using private IOCTLs.
+
+The private IOCTLs offered by the AEWB, AF and histogram subdevs are heavily
+reflected by the register level interface offered by the ISP hardware. There
+are aspects that are purely related to the driver implementation and these are
+discussed next.
+
+VIDIOC_OMAP3ISP_STAT_EN
+-----------------------
+
+This private IOCTL enables/disables a statistic module. If this request is
+done before streaming, it will take effect as soon as the pipeline starts to
+stream.  If the pipeline is already streaming, it will take effect as soon as
+the CCDC becomes idle.
+
+VIDIOC_OMAP3ISP_AEWB_CFG, VIDIOC_OMAP3ISP_HIST_CFG and VIDIOC_OMAP3ISP_AF_CFG
+-----------------------------------------------------------------------------
+
+Those IOCTLs are used to configure the modules. They require user applications
+to have an in-depth knowledge of the hardware. Most of the fields explanation
+can be found on OMAP's TRMs. The two following fields common to all the above
+configure private IOCTLs require explanation for better understanding as they
+are not part of the TRM.
+
+omap3isp_[h3a_af/h3a_aewb/hist]\_config.buf_size:
+
+The modules handle their buffers internally. The necessary buffer size for the
+module's data output depends on the requested configuration. Although the
+driver supports reconfiguration while streaming, it does not support a
+reconfiguration which requires bigger buffer size than what is already
+internally allocated if the module is enabled. It will return -EBUSY on this
+case. In order to avoid such condition, either disable/reconfigure/enable the
+module or request the necessary buffer size during the first configuration
+while the module is disabled.
+
+The internal buffer size allocation considers the requested configuration's
+minimum buffer size and the value set on buf_size field. If buf_size field is
+out of [minimum, maximum] buffer size range, it's clamped to fit in there.
+The driver then selects the biggest value. The corrected buf_size value is
+written back to user application.
+
+omap3isp_[h3a_af/h3a_aewb/hist]\_config.config_counter:
+
+As the configuration doesn't take effect synchronously to the request, the
+driver must provide a way to track this information to provide more accurate
+data. After a configuration is requested, the config_counter returned to user
+space application will be an unique value associated to that request. When
+user application receives an event for buffer availability or when a new
+buffer is requested, this config_counter is used to match a buffer data and a
+configuration.
+
+VIDIOC_OMAP3ISP_STAT_REQ
+------------------------
+
+Send to user space the oldest data available in the internal buffer queue and
+discards such buffer afterwards. The field omap3isp_stat_data.frame_number
+matches with the video buffer's field_count.
+
+
+References
+----------
+
+.. [#] include/linux/omap3isp.h
diff --git a/Documentation/media/v4l-drivers/omap3isp.rst b/Documentation/media/v4l-drivers/omap3isp.rst
index 8974c444e3a1..bc447bbec7ce 100644
--- a/Documentation/media/v4l-drivers/omap3isp.rst
+++ b/Documentation/media/v4l-drivers/omap3isp.rst
@@ -49,7 +49,7 @@ interface to userspace.
 - OMAP3 ISP histogram
 
 Each possible link in the ISP is modelled by a link in the Media controller
-interface. For an example program see [#f2]_.
+interface. For an example program see [#]_.
 
 
 Controlling the OMAP 3 ISP
@@ -68,196 +68,6 @@ Autoidle does have issues with some ISP blocks on the 3430, at least.
 Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
 is non-zero.
 
-
-Events
-------
-
-The OMAP 3 ISP driver does support the V4L2 event interface on CCDC and
-statistics (AEWB, AF and histogram) subdevs.
-
-The CCDC subdev produces V4L2_EVENT_FRAME_SYNC type event on HS_VS
-interrupt which is used to signal frame start. Earlier version of this
-driver used V4L2_EVENT_OMAP3ISP_HS_VS for this purpose. The event is
-triggered exactly when the reception of the first line of the frame starts
-in the CCDC module. The event can be subscribed on the CCDC subdev.
-
-(When using parallel interface one must pay account to correct configuration
-of the VS signal polarity. This is automatically correct when using the serial
-receivers.)
-
-Each of the statistics subdevs is able to produce events. An event is
-generated whenever a statistics buffer can be dequeued by a user space
-application using the VIDIOC_OMAP3ISP_STAT_REQ IOCTL. The events available
-are:
-
-- V4L2_EVENT_OMAP3ISP_AEWB
-- V4L2_EVENT_OMAP3ISP_AF
-- V4L2_EVENT_OMAP3ISP_HIST
-
-The type of the event data is struct omap3isp_stat_event_status for these
-ioctls. If there is an error calculating the statistics, there will be an
-event as usual, but no related statistics buffer. In this case
-omap3isp_stat_event_status.buf_err is set to non-zero.
-
-
-Private IOCTLs
---------------
-
-The OMAP 3 ISP driver supports standard V4L2 IOCTLs and controls where
-possible and practical. Much of the functions provided by the ISP, however,
-does not fall under the standard IOCTLs --- gamma tables and configuration of
-statistics collection are examples of such.
-
-In general, there is a private ioctl for configuring each of the blocks
-containing hardware-dependent functions.
-
-The following private IOCTLs are supported:
-
-- VIDIOC_OMAP3ISP_CCDC_CFG
-- VIDIOC_OMAP3ISP_PRV_CFG
-- VIDIOC_OMAP3ISP_AEWB_CFG
-- VIDIOC_OMAP3ISP_HIST_CFG
-- VIDIOC_OMAP3ISP_AF_CFG
-- VIDIOC_OMAP3ISP_STAT_REQ
-- VIDIOC_OMAP3ISP_STAT_EN
-
-The parameter structures used by these ioctls are described in
-include/linux/omap3isp.h. The detailed functions of the ISP itself related to
-a given ISP block is described in the Technical Reference Manuals (TRMs) ---
-see the end of the document for those.
-
-While it is possible to use the ISP driver without any use of these private
-IOCTLs it is not possible to obtain optimal image quality this way. The AEWB,
-AF and histogram modules cannot be used without configuring them using the
-appropriate private IOCTLs.
-
-
-CCDC and preview block IOCTLs
------------------------------
-
-The VIDIOC_OMAP3ISP_CCDC_CFG and VIDIOC_OMAP3ISP_PRV_CFG IOCTLs are used to
-configure, enable and disable functions in the CCDC and preview blocks,
-respectively. Both IOCTLs control several functions in the blocks they
-control. VIDIOC_OMAP3ISP_CCDC_CFG IOCTL accepts a pointer to struct
-omap3isp_ccdc_update_config as its argument. Similarly VIDIOC_OMAP3ISP_PRV_CFG
-accepts a pointer to struct omap3isp_prev_update_config. The definition of
-both structures is available in [#f1]_.
-
-The update field in the structures tells whether to update the configuration
-for the specific function and the flag tells whether to enable or disable the
-function.
-
-The update and flag bit masks accept the following values. Each separate
-functions in the CCDC and preview blocks is associated with a flag (either
-disable or enable; part of the flag field in the structure) and a pointer to
-configuration data for the function.
-
-Valid values for the update and flag fields are listed here for
-VIDIOC_OMAP3ISP_CCDC_CFG. Values may be or'ed to configure more than one
-function in the same IOCTL call.
-
-- OMAP3ISP_CCDC_ALAW
-- OMAP3ISP_CCDC_LPF
-- OMAP3ISP_CCDC_BLCLAMP
-- OMAP3ISP_CCDC_BCOMP
-- OMAP3ISP_CCDC_FPC
-- OMAP3ISP_CCDC_CULL
-- OMAP3ISP_CCDC_CONFIG_LSC
-- OMAP3ISP_CCDC_TBL_LSC
-
-The corresponding values for the VIDIOC_OMAP3ISP_PRV_CFG are here:
-
-- OMAP3ISP_PREV_LUMAENH
-- OMAP3ISP_PREV_INVALAW
-- OMAP3ISP_PREV_HRZ_MED
-- OMAP3ISP_PREV_CFA
-- OMAP3ISP_PREV_CHROMA_SUPP
-- OMAP3ISP_PREV_WB
-- OMAP3ISP_PREV_BLKADJ
-- OMAP3ISP_PREV_RGB2RGB
-- OMAP3ISP_PREV_COLOR_CONV
-- OMAP3ISP_PREV_YC_LIMIT
-- OMAP3ISP_PREV_DEFECT_COR
-- OMAP3ISP_PREV_GAMMABYPASS
-- OMAP3ISP_PREV_DRK_FRM_CAPTURE
-- OMAP3ISP_PREV_DRK_FRM_SUBTRACT
-- OMAP3ISP_PREV_LENS_SHADING
-- OMAP3ISP_PREV_NF
-- OMAP3ISP_PREV_GAMMA
-
-The associated configuration pointer for the function may not be NULL when
-enabling the function. When disabling a function the configuration pointer is
-ignored.
-
-
-Statistic blocks IOCTLs
------------------------
-
-The statistics subdevs do offer more dynamic configuration options than the
-other subdevs. They can be enabled, disable and reconfigured when the pipeline
-is in streaming state.
-
-The statistics blocks always get the input image data from the CCDC (as the
-histogram memory read isn't implemented). The statistics are dequeueable by
-the user from the statistics subdev nodes using private IOCTLs.
-
-The private IOCTLs offered by the AEWB, AF and histogram subdevs are heavily
-reflected by the register level interface offered by the ISP hardware. There
-are aspects that are purely related to the driver implementation and these are
-discussed next.
-
-VIDIOC_OMAP3ISP_STAT_EN
------------------------
-
-This private IOCTL enables/disables a statistic module. If this request is
-done before streaming, it will take effect as soon as the pipeline starts to
-stream.  If the pipeline is already streaming, it will take effect as soon as
-the CCDC becomes idle.
-
-VIDIOC_OMAP3ISP_AEWB_CFG, VIDIOC_OMAP3ISP_HIST_CFG and VIDIOC_OMAP3ISP_AF_CFG
------------------------------------------------------------------------------
-
-Those IOCTLs are used to configure the modules. They require user applications
-to have an in-depth knowledge of the hardware. Most of the fields explanation
-can be found on OMAP's TRMs. The two following fields common to all the above
-configure private IOCTLs require explanation for better understanding as they
-are not part of the TRM.
-
-omap3isp_[h3a_af/h3a_aewb/hist]\_config.buf_size:
-
-The modules handle their buffers internally. The necessary buffer size for the
-module's data output depends on the requested configuration. Although the
-driver supports reconfiguration while streaming, it does not support a
-reconfiguration which requires bigger buffer size than what is already
-internally allocated if the module is enabled. It will return -EBUSY on this
-case. In order to avoid such condition, either disable/reconfigure/enable the
-module or request the necessary buffer size during the first configuration
-while the module is disabled.
-
-The internal buffer size allocation considers the requested configuration's
-minimum buffer size and the value set on buf_size field. If buf_size field is
-out of [minimum, maximum] buffer size range, it's clamped to fit in there.
-The driver then selects the biggest value. The corrected buf_size value is
-written back to user application.
-
-omap3isp_[h3a_af/h3a_aewb/hist]\_config.config_counter:
-
-As the configuration doesn't take effect synchronously to the request, the
-driver must provide a way to track this information to provide more accurate
-data. After a configuration is requested, the config_counter returned to user
-space application will be an unique value associated to that request. When
-user application receives an event for buffer availability or when a new
-buffer is requested, this config_counter is used to match a buffer data and a
-configuration.
-
-VIDIOC_OMAP3ISP_STAT_REQ
-------------------------
-
-Send to user space the oldest data available in the internal buffer queue and
-discards such buffer afterwards. The field omap3isp_stat_data.frame_number
-matches with the video buffer's field_count.
-
-
 Technical reference manuals (TRMs) and other documentation
 ----------------------------------------------------------
 
@@ -279,6 +89,4 @@ DM 3730 TRM:
 References
 ----------
 
-.. [#f1] include/linux/omap3isp.h
-
-.. [#f2] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
+.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 15/22] media: docs: split uAPI info from imx.rst
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (13 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 14/22] media: docs: split uAPI info from omap3isp.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 17/22] media: docs: kAPI docs: move them to driver-api Mauro Carvalho Chehab
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, linux-arm-kernel

This file contains both driver develompent documentation and
userspace API.

Split on two, as they're usually read by different audiences.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/imx-uapi.rst | 125 +++++++++++++++++++
 Documentation/media/v4l-drivers/imx.rst      |  88 +------------
 Documentation/media/v4l-drivers/index.rst    |   1 +
 3 files changed, 128 insertions(+), 86 deletions(-)
 create mode 100644 Documentation/media/v4l-drivers/imx-uapi.rst

diff --git a/Documentation/media/v4l-drivers/imx-uapi.rst b/Documentation/media/v4l-drivers/imx-uapi.rst
new file mode 100644
index 000000000000..8d47712dea9f
--- /dev/null
+++ b/Documentation/media/v4l-drivers/imx-uapi.rst
@@ -0,0 +1,125 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+=========================
+i.MX Video Capture Driver
+=========================
+
+Events
+======
+
+.. _imx_api_ipuX_csiY:
+
+ipuX_csiY
+---------
+
+This subdev can generate the following event when enabling the second
+IDMAC source pad:
+
+- V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR
+
+The user application can subscribe to this event from the ipuX_csiY
+subdev node. This event is generated by the Frame Interval Monitor
+(see below for more on the FIM).
+
+Controls
+========
+
+.. _imx_api_FIM:
+
+Frame Interval Monitor in ipuX_csiY
+-----------------------------------
+
+The adv718x decoders can occasionally send corrupt fields during
+NTSC/PAL signal re-sync (too little or too many video lines). When
+this happens, the IPU triggers a mechanism to re-establish vertical
+sync by adding 1 dummy line every frame, which causes a rolling effect
+from image to image, and can last a long time before a stable image is
+recovered. Or sometimes the mechanism doesn't work at all, causing a
+permanent split image (one frame contains lines from two consecutive
+captured images).
+
+From experiment it was found that during image rolling, the frame
+intervals (elapsed time between two EOF's) drop below the nominal
+value for the current standard, by about one frame time (60 usec),
+and remain at that value until rolling stops.
+
+While the reason for this observation isn't known (the IPU dummy
+line mechanism should show an increase in the intervals by 1 line
+time every frame, not a fixed value), we can use it to detect the
+corrupt fields using a frame interval monitor. If the FIM detects a
+bad frame interval, the ipuX_csiY subdev will send the event
+V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with
+the FIM event notification on the ipuX_csiY subdev device node.
+Userland can issue a streaming restart when this event is received
+to correct the rolling/split image.
+
+The ipuX_csiY subdev includes custom controls to tweak some dials for
+FIM. If one of these controls is changed during streaming, the FIM will
+be reset and will continue at the new settings.
+
+- V4L2_CID_IMX_FIM_ENABLE
+
+Enable/disable the FIM.
+
+- V4L2_CID_IMX_FIM_NUM
+
+How many frame interval measurements to average before comparing against
+the nominal frame interval reported by the sensor. This can reduce noise
+caused by interrupt latency.
+
+- V4L2_CID_IMX_FIM_TOLERANCE_MIN
+
+If the averaged intervals fall outside nominal by this amount, in
+microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.
+
+- V4L2_CID_IMX_FIM_TOLERANCE_MAX
+
+If any intervals are higher than this value, those samples are
+discarded and do not enter into the average. This can be used to
+discard really high interval errors that might be due to interrupt
+latency from high system load.
+
+- V4L2_CID_IMX_FIM_NUM_SKIP
+
+How many frames to skip after a FIM reset or stream restart before
+FIM begins to average intervals.
+
+- V4L2_CID_IMX_FIM_ICAP_CHANNEL / V4L2_CID_IMX_FIM_ICAP_EDGE
+
+These controls will configure an input capture channel as the method
+for measuring frame intervals. This is superior to the default method
+of measuring frame intervals via EOF interrupt, since it is not subject
+to uncertainty errors introduced by interrupt latency.
+
+Input capture requires hardware support. A VSYNC signal must be routed
+to one of the i.MX6 input capture channel pads.
+
+V4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture
+channel to use. This must be 0 or 1.
+
+V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger
+input capture events. By default the input capture method is disabled
+with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING,
+IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture,
+triggered on the given signal edge(s).
+
+When input capture is disabled, frame intervals will be measured via
+EOF interrupt.
+
+
+File list
+---------
+
+drivers/staging/media/imx/
+include/media/imx.h
+include/linux/imx-media.h
+
+
+Authors
+-------
+
+- Steve Longerbeam <steve_longerbeam@mentor.com>
+- Philipp Zabel <kernel@pengutronix.de>
+- Russell King <linux@armlinux.org.uk>
+
+Copyright (C) 2012-2017 Mentor Graphics Inc.
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/media/v4l-drivers/imx.rst
index 1246573c1019..3182951c7651 100644
--- a/Documentation/media/v4l-drivers/imx.rst
+++ b/Documentation/media/v4l-drivers/imx.rst
@@ -191,14 +191,7 @@ or unqualified interlaced). The capture interface will enforce the same
 field order as the source pad field order (interlaced-bt if source pad
 is seq-bt, interlaced-tb if source pad is seq-tb).
 
-This subdev can generate the following event when enabling the second
-IDMAC source pad:
-
-- V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR
-
-The user application can subscribe to this event from the ipuX_csiY
-subdev node. This event is generated by the Frame Interval Monitor
-(see below for more on the FIM).
+For events produced by ipuX_csiY, see ref:`imx_api_ipuX_csiY`.
 
 Cropping in ipuX_csiY
 ---------------------
@@ -247,84 +240,7 @@ rate by half at the IDMAC output source pad:
 Frame Interval Monitor in ipuX_csiY
 -----------------------------------
 
-The adv718x decoders can occasionally send corrupt fields during
-NTSC/PAL signal re-sync (too little or too many video lines). When
-this happens, the IPU triggers a mechanism to re-establish vertical
-sync by adding 1 dummy line every frame, which causes a rolling effect
-from image to image, and can last a long time before a stable image is
-recovered. Or sometimes the mechanism doesn't work at all, causing a
-permanent split image (one frame contains lines from two consecutive
-captured images).
-
-From experiment it was found that during image rolling, the frame
-intervals (elapsed time between two EOF's) drop below the nominal
-value for the current standard, by about one frame time (60 usec),
-and remain at that value until rolling stops.
-
-While the reason for this observation isn't known (the IPU dummy
-line mechanism should show an increase in the intervals by 1 line
-time every frame, not a fixed value), we can use it to detect the
-corrupt fields using a frame interval monitor. If the FIM detects a
-bad frame interval, the ipuX_csiY subdev will send the event
-V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR. Userland can register with
-the FIM event notification on the ipuX_csiY subdev device node.
-Userland can issue a streaming restart when this event is received
-to correct the rolling/split image.
-
-The ipuX_csiY subdev includes custom controls to tweak some dials for
-FIM. If one of these controls is changed during streaming, the FIM will
-be reset and will continue at the new settings.
-
-- V4L2_CID_IMX_FIM_ENABLE
-
-Enable/disable the FIM.
-
-- V4L2_CID_IMX_FIM_NUM
-
-How many frame interval measurements to average before comparing against
-the nominal frame interval reported by the sensor. This can reduce noise
-caused by interrupt latency.
-
-- V4L2_CID_IMX_FIM_TOLERANCE_MIN
-
-If the averaged intervals fall outside nominal by this amount, in
-microseconds, the V4L2_EVENT_IMX_FRAME_INTERVAL_ERROR event is sent.
-
-- V4L2_CID_IMX_FIM_TOLERANCE_MAX
-
-If any intervals are higher than this value, those samples are
-discarded and do not enter into the average. This can be used to
-discard really high interval errors that might be due to interrupt
-latency from high system load.
-
-- V4L2_CID_IMX_FIM_NUM_SKIP
-
-How many frames to skip after a FIM reset or stream restart before
-FIM begins to average intervals.
-
-- V4L2_CID_IMX_FIM_ICAP_CHANNEL
-- V4L2_CID_IMX_FIM_ICAP_EDGE
-
-These controls will configure an input capture channel as the method
-for measuring frame intervals. This is superior to the default method
-of measuring frame intervals via EOF interrupt, since it is not subject
-to uncertainty errors introduced by interrupt latency.
-
-Input capture requires hardware support. A VSYNC signal must be routed
-to one of the i.MX6 input capture channel pads.
-
-V4L2_CID_IMX_FIM_ICAP_CHANNEL configures which i.MX6 input capture
-channel to use. This must be 0 or 1.
-
-V4L2_CID_IMX_FIM_ICAP_EDGE configures which signal edge will trigger
-input capture events. By default the input capture method is disabled
-with a value of IRQ_TYPE_NONE. Set this control to IRQ_TYPE_EDGE_RISING,
-IRQ_TYPE_EDGE_FALLING, or IRQ_TYPE_EDGE_BOTH to enable input capture,
-triggered on the given signal edge(s).
-
-When input capture is disabled, frame intervals will be measured via
-EOF interrupt.
-
+See ref:`imx_api_FIM`.
 
 ipuX_vdic
 ---------
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 364c65ea86fb..67665a8abe02 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -75,5 +75,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	vimc-devel
 
 	cx2341x-uapi
+	imx-uapi
 	meye-uapi
 	omap3isp-uapi
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 17/22] media: docs: kAPI docs: move them to driver-api
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (14 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 15/22] media: docs: split uAPI info from imx.rst Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 18/22] media: docs: move fourcc file to the uAPI document Mauro Carvalho Chehab
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Hans Verkuil, Harry Wei, Alex Shi

All those documents describe the media driver API. So, move
them to the right place within the Kernel documentation.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../{media/kapi => driver-api/media}/cec-core.rst    |  0
 .../{media/kapi => driver-api/media}/csi2.rst        |  0
 .../{media/kapi => driver-api/media}/dtv-ca.rst      |  0
 .../{media/kapi => driver-api/media}/dtv-common.rst  |  0
 .../{media/kapi => driver-api/media}/dtv-core.rst    |  0
 .../{media/kapi => driver-api/media}/dtv-demux.rst   |  0
 .../kapi => driver-api/media}/dtv-frontend.rst       |  0
 .../{media/kapi => driver-api/media}/dtv-net.rst     |  0
 .../media_kapi.rst => driver-api/media/index.rst}    | 12 ++++++------
 .../{media/kapi => driver-api/media}/mc-core.rst     |  0
 .../{media/kapi => driver-api/media}/rc-core.rst     |  0
 .../{media/kapi => driver-api/media}/v4l2-async.rst  |  0
 .../{media/kapi => driver-api/media}/v4l2-clocks.rst |  0
 .../{media/kapi => driver-api/media}/v4l2-common.rst |  0
 .../kapi => driver-api/media}/v4l2-controls.rst      |  0
 .../{media/kapi => driver-api/media}/v4l2-core.rst   |  0
 .../{media/kapi => driver-api/media}/v4l2-dev.rst    |  0
 .../{media/kapi => driver-api/media}/v4l2-device.rst |  0
 .../kapi => driver-api/media}/v4l2-dv-timings.rst    |  0
 .../{media/kapi => driver-api/media}/v4l2-event.rst  |  0
 .../{media/kapi => driver-api/media}/v4l2-fh.rst     |  0
 .../media}/v4l2-flash-led-class.rst                  |  0
 .../{media/kapi => driver-api/media}/v4l2-fwnode.rst |  0
 .../{media/kapi => driver-api/media}/v4l2-intro.rst  |  0
 .../{media/kapi => driver-api/media}/v4l2-mc.rst     |  0
 .../kapi => driver-api/media}/v4l2-mediabus.rst      |  0
 .../kapi => driver-api/media}/v4l2-mem2mem.rst       |  0
 .../{media/kapi => driver-api/media}/v4l2-rect.rst   |  0
 .../{media/kapi => driver-api/media}/v4l2-subdev.rst |  0
 .../{media/kapi => driver-api/media}/v4l2-tuner.rst  |  0
 .../kapi => driver-api/media}/v4l2-tveeprom.rst      |  0
 .../kapi => driver-api/media}/v4l2-videobuf.rst      |  0
 .../kapi => driver-api/media}/v4l2-videobuf2.rst     |  0
 Documentation/media/index.rst                        |  2 +-
 Documentation/media/v4l-drivers/max2175.rst          |  2 +-
 .../zh_CN/video4linux/v4l2-framework.txt             |  6 +++---
 MAINTAINERS                                          |  4 +++-
 37 files changed, 14 insertions(+), 12 deletions(-)
 rename Documentation/{media/kapi => driver-api/media}/cec-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/csi2.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-ca.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-common.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-demux.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-frontend.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/dtv-net.rst (100%)
 rename Documentation/{media/media_kapi.rst => driver-api/media/index.rst} (89%)
 rename Documentation/{media/kapi => driver-api/media}/mc-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/rc-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-async.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-clocks.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-common.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-controls.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-core.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-dev.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-device.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-dv-timings.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-event.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-fh.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-flash-led-class.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-fwnode.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-intro.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mc.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mediabus.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-mem2mem.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-rect.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-subdev.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-tuner.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-tveeprom.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-videobuf.rst (100%)
 rename Documentation/{media/kapi => driver-api/media}/v4l2-videobuf2.rst (100%)

diff --git a/Documentation/media/kapi/cec-core.rst b/Documentation/driver-api/media/cec-core.rst
similarity index 100%
rename from Documentation/media/kapi/cec-core.rst
rename to Documentation/driver-api/media/cec-core.rst
diff --git a/Documentation/media/kapi/csi2.rst b/Documentation/driver-api/media/csi2.rst
similarity index 100%
rename from Documentation/media/kapi/csi2.rst
rename to Documentation/driver-api/media/csi2.rst
diff --git a/Documentation/media/kapi/dtv-ca.rst b/Documentation/driver-api/media/dtv-ca.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-ca.rst
rename to Documentation/driver-api/media/dtv-ca.rst
diff --git a/Documentation/media/kapi/dtv-common.rst b/Documentation/driver-api/media/dtv-common.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-common.rst
rename to Documentation/driver-api/media/dtv-common.rst
diff --git a/Documentation/media/kapi/dtv-core.rst b/Documentation/driver-api/media/dtv-core.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-core.rst
rename to Documentation/driver-api/media/dtv-core.rst
diff --git a/Documentation/media/kapi/dtv-demux.rst b/Documentation/driver-api/media/dtv-demux.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-demux.rst
rename to Documentation/driver-api/media/dtv-demux.rst
diff --git a/Documentation/media/kapi/dtv-frontend.rst b/Documentation/driver-api/media/dtv-frontend.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-frontend.rst
rename to Documentation/driver-api/media/dtv-frontend.rst
diff --git a/Documentation/media/kapi/dtv-net.rst b/Documentation/driver-api/media/dtv-net.rst
similarity index 100%
rename from Documentation/media/kapi/dtv-net.rst
rename to Documentation/driver-api/media/dtv-net.rst
diff --git a/Documentation/media/media_kapi.rst b/Documentation/driver-api/media/index.rst
similarity index 89%
rename from Documentation/media/media_kapi.rst
rename to Documentation/driver-api/media/index.rst
index 1389998c90f7..d2842f300bbd 100644
--- a/Documentation/media/media_kapi.rst
+++ b/Documentation/driver-api/media/index.rst
@@ -30,9 +30,9 @@ For more details see the file COPYING in the source distribution of Linux.
     :maxdepth: 5
     :numbered:
 
-    kapi/v4l2-core
-    kapi/dtv-core
-    kapi/rc-core
-    kapi/mc-core
-    kapi/cec-core
-    kapi/csi2
+    v4l2-core
+    dtv-core
+    rc-core
+    mc-core
+    cec-core
+    csi2
diff --git a/Documentation/media/kapi/mc-core.rst b/Documentation/driver-api/media/mc-core.rst
similarity index 100%
rename from Documentation/media/kapi/mc-core.rst
rename to Documentation/driver-api/media/mc-core.rst
diff --git a/Documentation/media/kapi/rc-core.rst b/Documentation/driver-api/media/rc-core.rst
similarity index 100%
rename from Documentation/media/kapi/rc-core.rst
rename to Documentation/driver-api/media/rc-core.rst
diff --git a/Documentation/media/kapi/v4l2-async.rst b/Documentation/driver-api/media/v4l2-async.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-async.rst
rename to Documentation/driver-api/media/v4l2-async.rst
diff --git a/Documentation/media/kapi/v4l2-clocks.rst b/Documentation/driver-api/media/v4l2-clocks.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-clocks.rst
rename to Documentation/driver-api/media/v4l2-clocks.rst
diff --git a/Documentation/media/kapi/v4l2-common.rst b/Documentation/driver-api/media/v4l2-common.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-common.rst
rename to Documentation/driver-api/media/v4l2-common.rst
diff --git a/Documentation/media/kapi/v4l2-controls.rst b/Documentation/driver-api/media/v4l2-controls.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-controls.rst
rename to Documentation/driver-api/media/v4l2-controls.rst
diff --git a/Documentation/media/kapi/v4l2-core.rst b/Documentation/driver-api/media/v4l2-core.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-core.rst
rename to Documentation/driver-api/media/v4l2-core.rst
diff --git a/Documentation/media/kapi/v4l2-dev.rst b/Documentation/driver-api/media/v4l2-dev.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-dev.rst
rename to Documentation/driver-api/media/v4l2-dev.rst
diff --git a/Documentation/media/kapi/v4l2-device.rst b/Documentation/driver-api/media/v4l2-device.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-device.rst
rename to Documentation/driver-api/media/v4l2-device.rst
diff --git a/Documentation/media/kapi/v4l2-dv-timings.rst b/Documentation/driver-api/media/v4l2-dv-timings.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-dv-timings.rst
rename to Documentation/driver-api/media/v4l2-dv-timings.rst
diff --git a/Documentation/media/kapi/v4l2-event.rst b/Documentation/driver-api/media/v4l2-event.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-event.rst
rename to Documentation/driver-api/media/v4l2-event.rst
diff --git a/Documentation/media/kapi/v4l2-fh.rst b/Documentation/driver-api/media/v4l2-fh.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-fh.rst
rename to Documentation/driver-api/media/v4l2-fh.rst
diff --git a/Documentation/media/kapi/v4l2-flash-led-class.rst b/Documentation/driver-api/media/v4l2-flash-led-class.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-flash-led-class.rst
rename to Documentation/driver-api/media/v4l2-flash-led-class.rst
diff --git a/Documentation/media/kapi/v4l2-fwnode.rst b/Documentation/driver-api/media/v4l2-fwnode.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-fwnode.rst
rename to Documentation/driver-api/media/v4l2-fwnode.rst
diff --git a/Documentation/media/kapi/v4l2-intro.rst b/Documentation/driver-api/media/v4l2-intro.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-intro.rst
rename to Documentation/driver-api/media/v4l2-intro.rst
diff --git a/Documentation/media/kapi/v4l2-mc.rst b/Documentation/driver-api/media/v4l2-mc.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mc.rst
rename to Documentation/driver-api/media/v4l2-mc.rst
diff --git a/Documentation/media/kapi/v4l2-mediabus.rst b/Documentation/driver-api/media/v4l2-mediabus.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mediabus.rst
rename to Documentation/driver-api/media/v4l2-mediabus.rst
diff --git a/Documentation/media/kapi/v4l2-mem2mem.rst b/Documentation/driver-api/media/v4l2-mem2mem.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-mem2mem.rst
rename to Documentation/driver-api/media/v4l2-mem2mem.rst
diff --git a/Documentation/media/kapi/v4l2-rect.rst b/Documentation/driver-api/media/v4l2-rect.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-rect.rst
rename to Documentation/driver-api/media/v4l2-rect.rst
diff --git a/Documentation/media/kapi/v4l2-subdev.rst b/Documentation/driver-api/media/v4l2-subdev.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-subdev.rst
rename to Documentation/driver-api/media/v4l2-subdev.rst
diff --git a/Documentation/media/kapi/v4l2-tuner.rst b/Documentation/driver-api/media/v4l2-tuner.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-tuner.rst
rename to Documentation/driver-api/media/v4l2-tuner.rst
diff --git a/Documentation/media/kapi/v4l2-tveeprom.rst b/Documentation/driver-api/media/v4l2-tveeprom.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-tveeprom.rst
rename to Documentation/driver-api/media/v4l2-tveeprom.rst
diff --git a/Documentation/media/kapi/v4l2-videobuf.rst b/Documentation/driver-api/media/v4l2-videobuf.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-videobuf.rst
rename to Documentation/driver-api/media/v4l2-videobuf.rst
diff --git a/Documentation/media/kapi/v4l2-videobuf2.rst b/Documentation/driver-api/media/v4l2-videobuf2.rst
similarity index 100%
rename from Documentation/media/kapi/v4l2-videobuf2.rst
rename to Documentation/driver-api/media/v4l2-videobuf2.rst
diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
index 8118c2d001ff..308f6a396d1c 100644
--- a/Documentation/media/index.rst
+++ b/Documentation/media/index.rst
@@ -13,7 +13,7 @@ Linux Media Subsystem Documentation
    :maxdepth: 2
 
    ../userspace-api/media/index
-   media_kapi
+   ../driver-api/media/index
    dvb-drivers/index
    v4l-drivers/index
    cec-drivers/index
diff --git a/Documentation/media/v4l-drivers/max2175.rst b/Documentation/media/v4l-drivers/max2175.rst
index a5e35059d98d..35d3c4b41fc7 100644
--- a/Documentation/media/v4l-drivers/max2175.rst
+++ b/Documentation/media/v4l-drivers/max2175.rst
@@ -9,7 +9,7 @@ The MAX2175 driver implements the following driver-specific controls:
 -------------------------------
     Enable/Disable I2S output of the tuner. This is a private control
     that can be accessed only using the subdev interface.
-    Refer to Documentation/media/kapi/v4l2-controls.rst for more details.
+    Refer to Documentation/driver-api/media/v4l2-controls.rst for more details.
 
 .. flat-table::
     :header-rows:  0
diff --git a/Documentation/translations/zh_CN/video4linux/v4l2-framework.txt b/Documentation/translations/zh_CN/video4linux/v4l2-framework.txt
index 9c39ee58ea50..4d2af480a112 100644
--- a/Documentation/translations/zh_CN/video4linux/v4l2-framework.txt
+++ b/Documentation/translations/zh_CN/video4linux/v4l2-framework.txt
@@ -1,4 +1,4 @@
-Chinese translated version of Documentation/media/media_kapi.rst
+Chinese translated version of Documentation/driver-api/media/index.rst
 
 If you have any comment or update to the content, please contact the
 original document maintainer directly.  However, if you have a problem
@@ -9,7 +9,7 @@ or if there is a problem with the translation.
 Maintainer: Mauro Carvalho Chehab <mchehab@kernel.org>
 Chinese maintainer: Fu Wei <tekkamanninja@gmail.com>
 ---------------------------------------------------------------------
-Documentation/media/media_kapi.rst 的中文翻译
+Documentation/driver-api/media/index.rst 的中文翻译
 
 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
@@ -777,7 +777,7 @@ v4l2 核心 API 提供了一个处理视频缓冲的标准方法(称为“videob
 线性 DMA(videobuf-dma-contig)以及大多用于 USB 设备的用 vmalloc
 分配的缓冲(videobuf-vmalloc)。
 
-请参阅 Documentation/media/kapi/v4l2-videobuf.rst,以获得更多关于 videobuf
+请参阅 Documentation/driver-api/media/v4l2-videobuf.rst,以获得更多关于 videobuf
 层的使用信息。
 
 v4l2_fh 结构体
diff --git a/MAINTAINERS b/MAINTAINERS
index 0ce0a1c93961..b5af1feb5ba1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3853,7 +3853,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 W:	http://linuxtv.org
 S:	Supported
-F:	Documentation/media/kapi/cec-core.rst
+F:	Documentation/driver-api/media/cec-core.rst
 F:	Documentation/userspace-api/media/cec
 F:	drivers/media/cec/
 F:	drivers/media/rc/keymaps/rc-cec.c
@@ -5109,6 +5109,7 @@ X:	Documentation/devicetree/
 X:	Documentation/i2c/
 X:	Documentation/media/
 X:	Documentation/userspace-api/media/
+X:	Documentation/driver-api/media/
 X:	Documentation/power/
 X:	Documentation/spi/
 T:	git git://git.lwn.net/linux.git docs-next
@@ -10489,6 +10490,7 @@ S:	Maintained
 F:	Documentation/devicetree/bindings/media/
 F:	Documentation/media/
 F:	Documentation/userspace-api/media/
+F:	Documentation/driver-api/media/
 F:	drivers/media/
 F:	drivers/staging/media/
 F:	include/linux/platform_data/media/
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 18/22] media: docs: move fourcc file to the uAPI document
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (15 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 17/22] media: docs: kAPI docs: move them to driver-api Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide Mauro Carvalho Chehab
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

This file gives a hint about how fourcc should be named.

It is on a very weird place, as such kind of thing belongs to the
uAPI guide.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/v4l-drivers/index.rst                        | 1 -
 Documentation/userspace-api/media/v4l/common.rst                 | 1 +
 .../{media/v4l-drivers => userspace-api/media/v4l}/fourcc.rst    | 0
 3 files changed, 1 insertion(+), 1 deletion(-)
 rename Documentation/{media/v4l-drivers => userspace-api/media/v4l}/fourcc.rst (100%)

diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 67665a8abe02..8962a86dad70 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -31,7 +31,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	:maxdepth: 5
 	:numbered:
 
-	fourcc
 	v4l-with-ir
 	tuners
 	cardlist
diff --git a/Documentation/userspace-api/media/v4l/common.rst b/Documentation/userspace-api/media/v4l/common.rst
index af28ac1bcf88..7d81c58a13cd 100644
--- a/Documentation/userspace-api/media/v4l/common.rst
+++ b/Documentation/userspace-api/media/v4l/common.rst
@@ -57,6 +57,7 @@ applicable to all devices.
     ext-ctrls-fm-tx
     ext-ctrls-fm-rx
     ext-ctrls-detect
+    fourcc
     format
     planar-apis
     selection-api
diff --git a/Documentation/media/v4l-drivers/fourcc.rst b/Documentation/userspace-api/media/v4l/fourcc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/fourcc.rst
rename to Documentation/userspace-api/media/v4l/fourcc.rst
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (16 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 18/22] media: docs: move fourcc file to the uAPI document Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-12  7:25   ` Hans Verkuil
  2020-03-10 13:43 ` [PATCH v2 20/22] media: docs: move driver-specific info to driver-api Mauro Carvalho Chehab
                   ` (2 subsequent siblings)
  20 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Steve Longerbeam, Philipp Zabel, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Rui Miguel Silva, Sakari Ailus, Andy Walls,
	Hans Verkuil, Todor Tomov, Antoine Jacquet, Harry Wei, Alex Shi,
	Malcolm Priestley, linux-arm-kernel, linux-usb

Most of the driver-specific documentation is meant to help
users of the media subsystem.

Move them to the admin-guide.

It should be noticed, however, that several of those files
are outdated and will require further work in order to make
them useful again.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/admin-guide/index.rst           |   1 +
 .../admin-guide/kernel-parameters.txt         |   4 +-
 .../media}/au0828-cardlist.rst                |   0
 .../media}/avermedia.rst                      |   0
 .../media}/bt8xx.rst                          |   8 +-
 .../media}/bttv-cardlist.rst                  |   0
 .../media}/bttv.rst                           |   0
 .../media}/cafe_ccic.rst                      |   0
 .../media}/cardlist.rst                       |   0
 .../media}/cards.rst                          |   0
 .../dvb-drivers => admin-guide/media}/ci.rst  |   0
 .../media}/cpia2.rst                          |   0
 .../media}/cx23885-cardlist.rst               |   0
 .../media}/cx88-cardlist.rst                  |   0
 .../media}/cx88.rst                           |   0
 .../media}/davinci-vpbe.rst                   |   0
 .../media}/em28xx-cardlist.rst                |   0
 .../dvb-drivers => admin-guide/media}/faq.rst |   0
 .../media}/fimc.rst                           |   0
 .../media}/gspca-cardlist.rst                 |   0
 .../v4l-drivers => admin-guide/media}/imx.rst |   0
 .../media}/imx7.rst                           |   0
 Documentation/admin-guide/media/index.rst     | 104 ++++++++++++++++++
 .../media}/intro.rst                          |   0
 .../media}/ipu3.rst                           |   0
 .../media}/ipu3_rcb.svg                       |   0
 .../media}/ivtv-cardlist.rst                  |   0
 .../media}/ivtv.rst                           |   0
 .../media}/lmedm04.rst                        |   0
 .../media}/meye.rst                           |   0
 .../media}/omap3isp.rst                       |   0
 .../media}/omap4_camera.rst                   |   0
 .../media}/opera-firmware.rst                 |   0
 .../media}/philips.rst                        |   0
 .../media}/pulse8-cec.rst                     |   0
 .../media}/qcom_camss.rst                     |   0
 .../media}/qcom_camss_8x96_graph.dot          |   0
 .../media}/qcom_camss_graph.dot               |   0
 .../media}/rcar-fdp1.rst                      |   0
 .../media}/saa7134-cardlist.rst               |   0
 .../media}/saa7134.rst                        |   0
 .../media}/saa7164-cardlist.rst               |   0
 .../media}/si470x.rst                         |   0
 .../media}/si4713.rst                         |   0
 .../media}/si476x.rst                         |   0
 .../media}/technisat.rst                      |   0
 .../media}/tm6000-cardlist.rst                |   0
 .../media}/ttusb-dec.rst                      |   0
 .../media}/tuner-cardlist.rst                 |   0
 .../media}/udev.rst                           |   0
 .../media}/usbvision-cardlist.rst             |   0
 .../media}/v4l-with-ir.rst                    |   0
 .../media}/vimc.dot                           |   0
 .../media}/vimc.rst                           |   0
 .../media}/vivid.rst                          |   0
 .../media}/zr364xx.rst                        |   0
 Documentation/media/cec-drivers/index.rst     |  34 ------
 Documentation/media/dvb-drivers/index.rst     |  11 --
 Documentation/media/index.rst                 |   4 +-
 Documentation/media/v4l-drivers/index.rst     |  25 -----
 .../zh_CN/video4linux/omap3isp.txt            |   4 +-
 .../media/v4l/dev-sliced-vbi.rst              |   2 +-
 .../media/v4l/ext-ctrls-codec.rst             |   2 +-
 .../media/v4l/ext-ctrls-image-process.rst     |   2 +-
 .../media/v4l/pixfmt-reserved.rst             |   2 +-
 MAINTAINERS                                   |  22 ++--
 drivers/media/pci/bt8xx/Kconfig               |   2 +-
 drivers/media/pci/meye/Kconfig                |   2 +-
 drivers/media/radio/si470x/Kconfig            |   2 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c        |   2 +-
 drivers/media/usb/gspca/Kconfig               |   2 +-
 drivers/media/usb/zr364xx/Kconfig             |   2 +-
 72 files changed, 136 insertions(+), 101 deletions(-)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/au0828-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/avermedia.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/bt8xx.rst (93%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/bttv-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/bttv.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cafe_ccic.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/cards.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/ci.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cpia2.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cx23885-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cx88-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/cx88.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/davinci-vpbe.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/em28xx-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/faq.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/fimc.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/gspca-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/imx.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/imx7.rst (100%)
 create mode 100644 Documentation/admin-guide/media/index.rst
 rename Documentation/{media/dvb-drivers => admin-guide/media}/intro.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ipu3.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ipu3_rcb.svg (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ivtv-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/ivtv.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/lmedm04.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/meye.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/omap3isp.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/omap4_camera.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/opera-firmware.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/philips.rst (100%)
 rename Documentation/{media/cec-drivers => admin-guide/media}/pulse8-cec.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss_8x96_graph.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/qcom_camss_graph.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/rcar-fdp1.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/saa7134-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/saa7134.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/saa7164-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si470x.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si4713.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/si476x.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/technisat.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/tm6000-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/ttusb-dec.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/tuner-cardlist.rst (100%)
 rename Documentation/{media/dvb-drivers => admin-guide/media}/udev.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/usbvision-cardlist.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/v4l-with-ir.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vimc.dot (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vimc.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/vivid.rst (100%)
 rename Documentation/{media/v4l-drivers => admin-guide/media}/zr364xx.rst (100%)
 delete mode 100644 Documentation/media/cec-drivers/index.rst

diff --git a/Documentation/admin-guide/index.rst b/Documentation/admin-guide/index.rst
index f1d0ccffbe72..29a1355d0bed 100644
--- a/Documentation/admin-guide/index.rst
+++ b/Documentation/admin-guide/index.rst
@@ -92,6 +92,7 @@ configure specific aspects of kernel behavior to your liking.
    lockup-watchdogs
    LSM/index
    md
+   media/index
    mm/index
    module-signing
    mono
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index dbc22d684627..b12e9904a320 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -449,7 +449,7 @@
 	bttv.card=	[HW,V4L] bttv (bt848 + bt878 based grabber cards)
 	bttv.radio=	Most important insmod options are available as
 			kernel args too.
-	bttv.pll=	See Documentation/media/v4l-drivers/bttv.rst
+	bttv.pll=	See Documentation/admin-guide/media/bttv.rst
 	bttv.tuner=
 
 	bulk_remove=off	[PPC]  This parameter disables the use of the pSeries
@@ -2658,7 +2658,7 @@
 			See Documentation/admin-guide/pm/sleep-states.rst.
 
 	meye.*=		[HW] Set MotionEye Camera parameters
-			See Documentation/media/v4l-drivers/meye.rst.
+			See Documentation/admin-guide/media/meye.rst.
 
 	mfgpt_irq=	[IA-32] Specify the IRQ to use for the
 			Multi-Function General Purpose Timers on AMD Geode
diff --git a/Documentation/media/v4l-drivers/au0828-cardlist.rst b/Documentation/admin-guide/media/au0828-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/au0828-cardlist.rst
rename to Documentation/admin-guide/media/au0828-cardlist.rst
diff --git a/Documentation/media/dvb-drivers/avermedia.rst b/Documentation/admin-guide/media/avermedia.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/avermedia.rst
rename to Documentation/admin-guide/media/avermedia.rst
diff --git a/Documentation/media/dvb-drivers/bt8xx.rst b/Documentation/admin-guide/media/bt8xx.rst
similarity index 93%
rename from Documentation/media/dvb-drivers/bt8xx.rst
rename to Documentation/admin-guide/media/bt8xx.rst
index 7936cd96fc8f..d800f7791ada 100644
--- a/Documentation/media/dvb-drivers/bt8xx.rst
+++ b/Documentation/admin-guide/media/bt8xx.rst
@@ -20,7 +20,7 @@ General information
 
 This class of cards has a bt878a as the PCI interface, and require the bttv driver
 for accessing the i2c bus and the gpio pins of the bt8xx chipset.
-Please see Documentation/media/dvb-drivers/cards.rst => o Cards based on the Conexant Bt8xx PCI bridge:
+Please see Documentation/admin-guide/media/cards.rst => o Cards based on the Conexant Bt8xx PCI bridge:
 
 Compiling kernel please enable:
 
@@ -47,7 +47,7 @@ Loading Modules
 Regular case: If the bttv driver detects a bt8xx-based DVB card, all frontend and backend modules will be loaded automatically.
 Exceptions are:
 - Old TwinHan DST cards or clones with or without CA slot and not containing an Eeprom.
-People running udev please see Documentation/media/dvb-drivers/udev.rst.
+People running udev please see Documentation/admin-guide/media/udev.rst.
 
 In the following cases overriding the PCI type detection for dvb-bt8xx might be necessary:
 
@@ -74,7 +74,7 @@ Useful parameters for verbosity level and debugging the dst module:
 The autodetected values are determined by the cards' "response string".
 In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
 For bug reports please send in a complete log with verbose=4 activated.
-Please also see Documentation/media/dvb-drivers/ci.rst.
+Please also see Documentation/admin-guide/media/ci.rst.
 
 Running multiple cards
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -102,7 +102,7 @@ Examples of card ID's:
 
 	$ modprobe bttv card=113 card=135
 
-For a full list of card ID's please see Documentation/media/v4l-drivers/bttv-cardlist.rst.
+For a full list of card ID's please see Documentation/admin-guide/media/bttv-cardlist.rst.
 In case of further problems please subscribe and send questions to the mailing list: linux-dvb@linuxtv.org.
 
 Probing the cards with broken PCI subsystem ID
diff --git a/Documentation/media/v4l-drivers/bttv-cardlist.rst b/Documentation/admin-guide/media/bttv-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/bttv-cardlist.rst
rename to Documentation/admin-guide/media/bttv-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/bttv.rst b/Documentation/admin-guide/media/bttv.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/bttv.rst
rename to Documentation/admin-guide/media/bttv.rst
diff --git a/Documentation/media/v4l-drivers/cafe_ccic.rst b/Documentation/admin-guide/media/cafe_ccic.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cafe_ccic.rst
rename to Documentation/admin-guide/media/cafe_ccic.rst
diff --git a/Documentation/media/v4l-drivers/cardlist.rst b/Documentation/admin-guide/media/cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cardlist.rst
rename to Documentation/admin-guide/media/cardlist.rst
diff --git a/Documentation/media/dvb-drivers/cards.rst b/Documentation/admin-guide/media/cards.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/cards.rst
rename to Documentation/admin-guide/media/cards.rst
diff --git a/Documentation/media/dvb-drivers/ci.rst b/Documentation/admin-guide/media/ci.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/ci.rst
rename to Documentation/admin-guide/media/ci.rst
diff --git a/Documentation/media/v4l-drivers/cpia2.rst b/Documentation/admin-guide/media/cpia2.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cpia2.rst
rename to Documentation/admin-guide/media/cpia2.rst
diff --git a/Documentation/media/v4l-drivers/cx23885-cardlist.rst b/Documentation/admin-guide/media/cx23885-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx23885-cardlist.rst
rename to Documentation/admin-guide/media/cx23885-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/cx88-cardlist.rst b/Documentation/admin-guide/media/cx88-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx88-cardlist.rst
rename to Documentation/admin-guide/media/cx88-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/cx88.rst b/Documentation/admin-guide/media/cx88.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx88.rst
rename to Documentation/admin-guide/media/cx88.rst
diff --git a/Documentation/media/v4l-drivers/davinci-vpbe.rst b/Documentation/admin-guide/media/davinci-vpbe.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/davinci-vpbe.rst
rename to Documentation/admin-guide/media/davinci-vpbe.rst
diff --git a/Documentation/media/v4l-drivers/em28xx-cardlist.rst b/Documentation/admin-guide/media/em28xx-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/em28xx-cardlist.rst
rename to Documentation/admin-guide/media/em28xx-cardlist.rst
diff --git a/Documentation/media/dvb-drivers/faq.rst b/Documentation/admin-guide/media/faq.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/faq.rst
rename to Documentation/admin-guide/media/faq.rst
diff --git a/Documentation/media/v4l-drivers/fimc.rst b/Documentation/admin-guide/media/fimc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/fimc.rst
rename to Documentation/admin-guide/media/fimc.rst
diff --git a/Documentation/media/v4l-drivers/gspca-cardlist.rst b/Documentation/admin-guide/media/gspca-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/gspca-cardlist.rst
rename to Documentation/admin-guide/media/gspca-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/imx.rst b/Documentation/admin-guide/media/imx.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/imx.rst
rename to Documentation/admin-guide/media/imx.rst
diff --git a/Documentation/media/v4l-drivers/imx7.rst b/Documentation/admin-guide/media/imx7.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/imx7.rst
rename to Documentation/admin-guide/media/imx7.rst
diff --git a/Documentation/admin-guide/media/index.rst b/Documentation/admin-guide/media/index.rst
new file mode 100644
index 000000000000..5b355c327be1
--- /dev/null
+++ b/Documentation/admin-guide/media/index.rst
@@ -0,0 +1,104 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. include:: <isonum.txt>
+
+**Copyright** |copy| 1999-2020 : LinuxTV Developers
+
+This documentation is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the Free
+Software Foundation version 2 of the License.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+more details.
+
+For more details see the file COPYING in the source distribution of Linux.
+
+.. _uapi-v4l-drivers:
+
+################################################
+Video4Linux (V4L)  driver-specific documentation
+################################################
+
+.. only:: html
+
+    .. class:: toc-title
+
+        Table of Contents
+
+.. toctree::
+	:maxdepth: 5
+	:numbered:
+
+	cardlist
+
+	v4l-with-ir
+
+	bttv
+	cafe_ccic
+	cpia2
+	cx88
+	davinci-vpbe
+	fimc
+	imx
+	imx7
+	ipu3
+	ivtv
+	meye
+	omap3isp
+	omap4_camera
+	philips
+	qcom_camss
+	rcar-fdp1
+	saa7134
+	si470x
+	si4713
+	si476x
+	vimc
+	vivid
+
+##############################################
+Linux Digital TV driver-specific documentation
+##############################################
+
+.. only:: html
+
+    .. class:: toc-title
+
+        Table of Contents
+
+.. toctree::
+	:maxdepth: 5
+	:numbered:
+
+	intro
+
+	cards
+	ci
+	faq
+
+	avermedia
+	bt8xx
+	lmedm04
+	opera-firmware
+	technisat
+	ttusb-dec
+	udev
+	zr364xx
+
+#################################
+CEC driver-specific documentation
+#################################
+
+.. only:: html
+
+    .. class:: toc-title
+
+        Table of Contents
+
+.. toctree::
+	:maxdepth: 5
+	:numbered:
+
+	pulse8-cec
diff --git a/Documentation/media/dvb-drivers/intro.rst b/Documentation/admin-guide/media/intro.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/intro.rst
rename to Documentation/admin-guide/media/intro.rst
diff --git a/Documentation/media/v4l-drivers/ipu3.rst b/Documentation/admin-guide/media/ipu3.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ipu3.rst
rename to Documentation/admin-guide/media/ipu3.rst
diff --git a/Documentation/media/v4l-drivers/ipu3_rcb.svg b/Documentation/admin-guide/media/ipu3_rcb.svg
similarity index 100%
rename from Documentation/media/v4l-drivers/ipu3_rcb.svg
rename to Documentation/admin-guide/media/ipu3_rcb.svg
diff --git a/Documentation/media/v4l-drivers/ivtv-cardlist.rst b/Documentation/admin-guide/media/ivtv-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ivtv-cardlist.rst
rename to Documentation/admin-guide/media/ivtv-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/ivtv.rst b/Documentation/admin-guide/media/ivtv.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/ivtv.rst
rename to Documentation/admin-guide/media/ivtv.rst
diff --git a/Documentation/media/dvb-drivers/lmedm04.rst b/Documentation/admin-guide/media/lmedm04.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/lmedm04.rst
rename to Documentation/admin-guide/media/lmedm04.rst
diff --git a/Documentation/media/v4l-drivers/meye.rst b/Documentation/admin-guide/media/meye.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/meye.rst
rename to Documentation/admin-guide/media/meye.rst
diff --git a/Documentation/media/v4l-drivers/omap3isp.rst b/Documentation/admin-guide/media/omap3isp.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/omap3isp.rst
rename to Documentation/admin-guide/media/omap3isp.rst
diff --git a/Documentation/media/v4l-drivers/omap4_camera.rst b/Documentation/admin-guide/media/omap4_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/omap4_camera.rst
rename to Documentation/admin-guide/media/omap4_camera.rst
diff --git a/Documentation/media/dvb-drivers/opera-firmware.rst b/Documentation/admin-guide/media/opera-firmware.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/opera-firmware.rst
rename to Documentation/admin-guide/media/opera-firmware.rst
diff --git a/Documentation/media/v4l-drivers/philips.rst b/Documentation/admin-guide/media/philips.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/philips.rst
rename to Documentation/admin-guide/media/philips.rst
diff --git a/Documentation/media/cec-drivers/pulse8-cec.rst b/Documentation/admin-guide/media/pulse8-cec.rst
similarity index 100%
rename from Documentation/media/cec-drivers/pulse8-cec.rst
rename to Documentation/admin-guide/media/pulse8-cec.rst
diff --git a/Documentation/media/v4l-drivers/qcom_camss.rst b/Documentation/admin-guide/media/qcom_camss.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss.rst
rename to Documentation/admin-guide/media/qcom_camss.rst
diff --git a/Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot b/Documentation/admin-guide/media/qcom_camss_8x96_graph.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss_8x96_graph.dot
rename to Documentation/admin-guide/media/qcom_camss_8x96_graph.dot
diff --git a/Documentation/media/v4l-drivers/qcom_camss_graph.dot b/Documentation/admin-guide/media/qcom_camss_graph.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/qcom_camss_graph.dot
rename to Documentation/admin-guide/media/qcom_camss_graph.dot
diff --git a/Documentation/media/v4l-drivers/rcar-fdp1.rst b/Documentation/admin-guide/media/rcar-fdp1.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/rcar-fdp1.rst
rename to Documentation/admin-guide/media/rcar-fdp1.rst
diff --git a/Documentation/media/v4l-drivers/saa7134-cardlist.rst b/Documentation/admin-guide/media/saa7134-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7134-cardlist.rst
rename to Documentation/admin-guide/media/saa7134-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/saa7134.rst b/Documentation/admin-guide/media/saa7134.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7134.rst
rename to Documentation/admin-guide/media/saa7134.rst
diff --git a/Documentation/media/v4l-drivers/saa7164-cardlist.rst b/Documentation/admin-guide/media/saa7164-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7164-cardlist.rst
rename to Documentation/admin-guide/media/saa7164-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/si470x.rst b/Documentation/admin-guide/media/si470x.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si470x.rst
rename to Documentation/admin-guide/media/si470x.rst
diff --git a/Documentation/media/v4l-drivers/si4713.rst b/Documentation/admin-guide/media/si4713.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si4713.rst
rename to Documentation/admin-guide/media/si4713.rst
diff --git a/Documentation/media/v4l-drivers/si476x.rst b/Documentation/admin-guide/media/si476x.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/si476x.rst
rename to Documentation/admin-guide/media/si476x.rst
diff --git a/Documentation/media/dvb-drivers/technisat.rst b/Documentation/admin-guide/media/technisat.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/technisat.rst
rename to Documentation/admin-guide/media/technisat.rst
diff --git a/Documentation/media/v4l-drivers/tm6000-cardlist.rst b/Documentation/admin-guide/media/tm6000-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tm6000-cardlist.rst
rename to Documentation/admin-guide/media/tm6000-cardlist.rst
diff --git a/Documentation/media/dvb-drivers/ttusb-dec.rst b/Documentation/admin-guide/media/ttusb-dec.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/ttusb-dec.rst
rename to Documentation/admin-guide/media/ttusb-dec.rst
diff --git a/Documentation/media/v4l-drivers/tuner-cardlist.rst b/Documentation/admin-guide/media/tuner-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tuner-cardlist.rst
rename to Documentation/admin-guide/media/tuner-cardlist.rst
diff --git a/Documentation/media/dvb-drivers/udev.rst b/Documentation/admin-guide/media/udev.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/udev.rst
rename to Documentation/admin-guide/media/udev.rst
diff --git a/Documentation/media/v4l-drivers/usbvision-cardlist.rst b/Documentation/admin-guide/media/usbvision-cardlist.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/usbvision-cardlist.rst
rename to Documentation/admin-guide/media/usbvision-cardlist.rst
diff --git a/Documentation/media/v4l-drivers/v4l-with-ir.rst b/Documentation/admin-guide/media/v4l-with-ir.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/v4l-with-ir.rst
rename to Documentation/admin-guide/media/v4l-with-ir.rst
diff --git a/Documentation/media/v4l-drivers/vimc.dot b/Documentation/admin-guide/media/vimc.dot
similarity index 100%
rename from Documentation/media/v4l-drivers/vimc.dot
rename to Documentation/admin-guide/media/vimc.dot
diff --git a/Documentation/media/v4l-drivers/vimc.rst b/Documentation/admin-guide/media/vimc.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/vimc.rst
rename to Documentation/admin-guide/media/vimc.rst
diff --git a/Documentation/media/v4l-drivers/vivid.rst b/Documentation/admin-guide/media/vivid.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/vivid.rst
rename to Documentation/admin-guide/media/vivid.rst
diff --git a/Documentation/media/v4l-drivers/zr364xx.rst b/Documentation/admin-guide/media/zr364xx.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/zr364xx.rst
rename to Documentation/admin-guide/media/zr364xx.rst
diff --git a/Documentation/media/cec-drivers/index.rst b/Documentation/media/cec-drivers/index.rst
deleted file mode 100644
index 2b7fcaa4311b..000000000000
--- a/Documentation/media/cec-drivers/index.rst
+++ /dev/null
@@ -1,34 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-.. include:: <isonum.txt>
-
-.. _cec-drivers:
-
-#################################
-CEC driver-specific documentation
-#################################
-
-**Copyright** |copy| 2017 : LinuxTV Developers
-
-This documentation is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the Free
-Software Foundation version 2 of the License.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-more details.
-
-For more details see the file COPYING in the source distribution of Linux.
-
-.. only:: html
-
-    .. class:: toc-title
-
-        Table of Contents
-
-.. toctree::
-	:maxdepth: 5
-	:numbered:
-
-	pulse8-cec
diff --git a/Documentation/media/dvb-drivers/index.rst b/Documentation/media/dvb-drivers/index.rst
index 9d3fce544f85..7a870ee7ac7d 100644
--- a/Documentation/media/dvb-drivers/index.rst
+++ b/Documentation/media/dvb-drivers/index.rst
@@ -29,17 +29,6 @@ For more details see the file COPYING in the source distribution of Linux.
 	:maxdepth: 5
 	:numbered:
 
-	intro
-	avermedia
-	bt8xx
-	cards
-	ci
 	dvb-usb
-	faq
-	lmedm04
-	opera-firmware
-	technisat
-	ttusb-dec
-	udev
 	frontends
 	contributors
diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
index 308f6a396d1c..0f75280b8c43 100644
--- a/Documentation/media/index.rst
+++ b/Documentation/media/index.rst
@@ -14,9 +14,9 @@ Linux Media Subsystem Documentation
 
    ../userspace-api/media/index
    ../driver-api/media/index
-   dvb-drivers/index
+
    v4l-drivers/index
-   cec-drivers/index
+   dvb-drivers/index
 
 .. only:: html and subproject
 
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index 8962a86dad70..aef375cfb05a 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -31,38 +31,13 @@ For more details see the file COPYING in the source distribution of Linux.
 	:maxdepth: 5
 	:numbered:
 
-	v4l-with-ir
 	tuners
-	cardlist
-	bttv
-	cafe_ccic
-	cpia2
-	cx88
-	davinci-vpbe
-	fimc
-	imx
-	imx7
-	ipu3
-	ivtv
 	max2175
-	meye
-	omap3isp
-	omap4_camera
-	philips
 	pvrusb2
 	pxa_camera
-	qcom_camss
 	radiotrack
-	rcar-fdp1
-	saa7134
 	sh_mobile_ceu_camera
-	si470x
-	si4713
-	si476x
 	uvcvideo
-	vimc
-	vivid
-	zr364xx
 
 	bttv-devel
 	cpia2_devel
diff --git a/Documentation/translations/zh_CN/video4linux/omap3isp.txt b/Documentation/translations/zh_CN/video4linux/omap3isp.txt
index e9f29375aa95..75e481985630 100644
--- a/Documentation/translations/zh_CN/video4linux/omap3isp.txt
+++ b/Documentation/translations/zh_CN/video4linux/omap3isp.txt
@@ -1,4 +1,4 @@
-Chinese translated version of Documentation/media/v4l-drivers/omap3isp.rst
+Chinese translated version of Documentation/admin-guide/media/omap3isp.rst
 
 If you have any comment or update to the content, please contact the
 original document maintainer directly.  However, if you have a problem
@@ -11,7 +11,7 @@ Maintainer: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 	  David Cohen <dacohen@gmail.com>
 Chinese maintainer: Fu Wei <tekkamanninja@gmail.com>
 ---------------------------------------------------------------------
-Documentation/media/v4l-drivers/omap3isp.rst 的中文翻译
+Documentation/admin-guide/media/omap3isp.rst 的中文翻译
 
 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
diff --git a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
index 0767299e9105..751c6590e774 100644
--- a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
+++ b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
@@ -438,7 +438,7 @@ MPEG stream.
 *Historical context*: This format specification originates from a
 custom, embedded, sliced VBI data format used by the ``ivtv`` driver.
 This format has already been informally specified in the kernel sources
-in the file ``Documentation/media/v4l-drivers/cx2341x.rst`` . The
+in the file ``Documentation/media/v4l-drivers/cx2341x-uapi.rst`` . The
 maximum size of the payload and other aspects of this format are driven
 by the CX23415 MPEG decoder's capabilities and limitations with respect
 to extracting, decoding, and displaying sliced VBI data embedded within
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
index f64f6fc4fd75..f81016c97a0d 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
@@ -116,7 +116,7 @@ enum v4l2_mpeg_stream_vbi_fmt -
     * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
       - VBI in private packets, IVTV format (documented in the kernel
 	sources in the file
-	``Documentation/media/v4l-drivers/cx2341x.rst``)
+	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``)
 
 
 
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-image-process.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-image-process.rst
index e47103aa32ed..bb9d484c25e4 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-image-process.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-image-process.rst
@@ -53,7 +53,7 @@ Image Process Control IDs
 
 ``V4L2_CID_DEINTERLACING_MODE (menu)``
     The video deinterlacing mode (such as Bob, Weave, ...). The menu items are
-    driver specific and are documented in :ref:`v4l-drivers`.
+    driver specific and are documented in :ref:`uapi-v4l-drivers`.
 
 ``V4L2_CID_DIGITAL_GAIN (integer)``
     Digital gain is the value by which all colour components
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
index 8ef90b0df864..dbdcf6c9f072 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
@@ -58,7 +58,7 @@ please make a proposal on the linux-media mailing list.
       - YUV 4:2:0 format used by the IVTV driver.
 
 	The format is documented in the kernel sources in the file
-	``Documentation/media/v4l-drivers/cx2341x.rst``
+	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``
     * .. _V4L2-PIX-FMT-CPIA1:
 
       - ``V4L2_PIX_FMT_CPIA1``
diff --git a/MAINTAINERS b/MAINTAINERS
index b5af1feb5ba1..fbb8b1f13cb8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3711,7 +3711,7 @@ M:	Jonathan Corbet <corbet@lwn.net>
 L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
-F:	Documentation/media/v4l-drivers/cafe_ccic*
+F:	Documentation/admin-guide/media/cafe_ccic*
 F:	drivers/media/platform/marvell-ccic/
 
 CAIF NETWORK LAYER
@@ -6180,7 +6180,7 @@ W:	https://linuxtv.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 F:	drivers/media/usb/em28xx/
-F:	Documentation/media/v4l-drivers/em28xx*
+F:	Documentation/admin-guide/media/em28xx*
 
 EMBEDDED LINUX
 M:	Paul Gortmaker <paul.gortmaker@windriver.com>
@@ -8529,8 +8529,8 @@ L:	linux-media@vger.kernel.org
 S:	Maintained
 F:	drivers/staging/media/ipu3/
 F:	Documentation/userspace-api/media/v4l/pixfmt-meta-intel-ipu3.rst
-F:	Documentation/media/v4l-drivers/ipu3.rst
-F:	Documentation/media/v4l-drivers/ipu3_rcb.svg
+F:	Documentation/admin-guide/media/ipu3.rst
+F:	Documentation/admin-guide/media/ipu3_rcb.svg
 
 INTEL IXP4XX QMGR, NPE, ETHERNET and HSS SUPPORT
 M:	Krzysztof Halasa <khalasa@piap.pl>
@@ -8953,7 +8953,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 W:	https://linuxtv.org
 S:	Maintained
-F:	Documentation/media/v4l-drivers/ivtv*
+F:	Documentation/admin-guide/media/ivtv*
 F:	drivers/media/pci/ivtv/
 F:	include/uapi/linux/ivtv*
 
@@ -10322,7 +10322,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 F:	Documentation/devicetree/bindings/media/imx.txt
-F:	Documentation/media/v4l-drivers/imx.rst
+F:	Documentation/admin-guide/media/imx.rst
 F:	drivers/staging/media/imx/
 F:	include/linux/imx-media.h
 F:	include/media/imx.h
@@ -10341,7 +10341,7 @@ T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 F:	Documentation/devicetree/bindings/media/imx7-csi.txt
 F:	Documentation/devicetree/bindings/media/imx7-mipi-csi2.txt
-F:	Documentation/media/v4l-drivers/imx7.rst
+F:	Documentation/admin-guide/media/imx7.rst
 F:	drivers/staging/media/imx/imx7-media-csi.c
 F:	drivers/staging/media/imx/imx7-mipi-csis.c
 
@@ -13570,7 +13570,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 F:	drivers/media/usb/pulse8-cec/*
-F:	Documentation/media/cec-drivers/pulse8-cec.rst
+F:	Documentation/admin-guide/media/pulse8-cec.rst
 
 PVRUSB2 VIDEO4LINUX DRIVER
 M:	Mike Isely <isely@pobox.com>
@@ -13820,7 +13820,7 @@ M:	Todor Tomov <todor.too@gmail.com>
 L:	linux-media@vger.kernel.org
 S:	Maintained
 F:	Documentation/devicetree/bindings/media/qcom,camss.txt
-F:	Documentation/media/v4l-drivers/qcom_camss.rst
+F:	Documentation/admin-guide/media/qcom_camss.rst
 F:	drivers/media/platform/qcom/camss/
 
 QUALCOMM CPUFREQ DRIVER MSM8996/APQ8096
@@ -16828,7 +16828,7 @@ W:	https://linuxtv.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Odd fixes
 F:	drivers/media/usb/tm6000/
-F:	Documentation/media/v4l-drivers/tm6000*
+F:	Documentation/admin-guide/media/tm6000*
 
 TMIO/SDHI MMC DRIVER
 M:	Wolfram Sang <wsa+renesas@sang-engineering.com>
@@ -17502,7 +17502,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 W:	http://royale.zerezo.com/zr364xx/
 S:	Maintained
-F:	Documentation/media/v4l-drivers/zr364xx*
+F:	Documentation/admin-guide/media/zr364xx*
 F:	drivers/media/usb/zr364xx/
 
 USER-MODE LINUX (UML)
diff --git a/drivers/media/pci/bt8xx/Kconfig b/drivers/media/pci/bt8xx/Kconfig
index 75d172a6f54c..3f56decbb681 100644
--- a/drivers/media/pci/bt8xx/Kconfig
+++ b/drivers/media/pci/bt8xx/Kconfig
@@ -17,7 +17,7 @@ config VIDEO_BT848
 	help
 	  Support for BT848 based frame grabber/overlay boards. This includes
 	  the Miro, Hauppauge and STB boards. Please read the material in
-	  <file:Documentation/media/v4l-drivers/bttv.rst> for more information.
+	  <file:Documentation/admin-guide/media/bttv.rst> for more information.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called bttv.
diff --git a/drivers/media/pci/meye/Kconfig b/drivers/media/pci/meye/Kconfig
index b37da612dd0c..fed1f4a01817 100644
--- a/drivers/media/pci/meye/Kconfig
+++ b/drivers/media/pci/meye/Kconfig
@@ -7,7 +7,7 @@ config VIDEO_MEYE
 	help
 	  This is the video4linux driver for the Motion Eye camera found
 	  in the Vaio Picturebook laptops. Please read the material in
-	  <file:Documentation/media/v4l-drivers/meye.rst> for more information.
+	  <file:Documentation/admin-guide/media/meye.rst> for more information.
 
 	  If you say Y or M here, you need to say Y or M to "Sony Laptop
 	  Extras" in the misc device section.
diff --git a/drivers/media/radio/si470x/Kconfig b/drivers/media/radio/si470x/Kconfig
index a1ba8bc54b62..7161bd6cd13c 100644
--- a/drivers/media/radio/si470x/Kconfig
+++ b/drivers/media/radio/si470x/Kconfig
@@ -30,7 +30,7 @@ config USB_SI470X
 
 	  Please have a look at the documentation, especially on how
 	  to redirect the audio stream from the radio to your sound device:
-	  Documentation/media/v4l-drivers/si470x.rst
+	  Documentation/admin-guide/media/si470x.rst
 
 	  Say Y here if you want to connect this type of radio to your
 	  computer's USB port.
diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
index 62d3566bf7ee..4cf09c5c8216 100644
--- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
@@ -22,7 +22,7 @@
  *
  * LME2510C + M88RS2000
  *
- * For firmware see Documentation/media/dvb-drivers/lmedm04.rst
+ * For firmware see Documentation/admin-guide/media/lmedm04.rst
  *
  * I2C addresses:
  * 0xd0 - STV0288	- Demodulator
diff --git a/drivers/media/usb/gspca/Kconfig b/drivers/media/usb/gspca/Kconfig
index 77a360958239..0283e3b908e4 100644
--- a/drivers/media/usb/gspca/Kconfig
+++ b/drivers/media/usb/gspca/Kconfig
@@ -9,7 +9,7 @@ menuconfig USB_GSPCA
 	  Say Y here if you want to enable selecting webcams based
 	  on the GSPCA framework.
 
-	  See <file:Documentation/media/v4l-drivers/gspca-cardlist.rst> for more info.
+	  See <file:Documentation/admin-guide/media/gspca-cardlist.rst> for more info.
 
 	  This driver uses the Video For Linux API. You must say Y or M to
 	  "Video For Linux" to use this driver.
diff --git a/drivers/media/usb/zr364xx/Kconfig b/drivers/media/usb/zr364xx/Kconfig
index 55b06c833667..49b4257487bb 100644
--- a/drivers/media/usb/zr364xx/Kconfig
+++ b/drivers/media/usb/zr364xx/Kconfig
@@ -7,7 +7,7 @@ config USB_ZR364XX
 	help
 	  Say Y here if you want to connect this type of camera to your
 	  computer's USB port.
-	  See <file:Documentation/media/v4l-drivers/zr364xx.rst> for more info
+	  See <file:Documentation/admin-guide/media/zr364xx.rst> for more info
 	  and list of supported cameras.
 
 	  To compile this driver as a module, choose M here: the
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 20/22] media: docs: move driver-specific info to driver-api
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (17 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-12  7:26   ` Hans Verkuil
  2020-03-10 13:43 ` [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff Mauro Carvalho Chehab
  2020-03-10 13:43 ` [PATCH v2 22/22] media: docs: get rid of Documentation/media/ Mauro Carvalho Chehab
  20 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Mike Isely, Andy Walls, Antti Palosaari,
	Malcolm Priestley, Michael Krufky

Those documents don't really describe the driver API.

Instead, they contain development-specific information.

Yet, as the main index file describes the content of it as:

	"how specific kernel subsystems work
	 from the point of view of a kernel developer"

It seems to be the better fit.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../media/drivers}/bttv-devel.rst             |  0
 .../media/drivers}/contributors.rst           |  0
 .../media/drivers}/cpia2_devel.rst            |  0
 .../media/drivers}/cx2341x-devel.rst          |  0
 .../media/drivers}/cx88-devel.rst             |  0
 .../media/drivers}/davinci-vpbe-devel.rst     |  0
 .../media/drivers}/dvb-usb.rst                |  0
 .../media/drivers}/fimc-devel.rst             |  0
 .../media/drivers}/frontends.rst              |  0
 .../media/drivers}/index.rst                  | 29 ++++++++++++++++++-
 .../media/drivers}/pvrusb2.rst                |  0
 .../media/drivers}/pxa_camera.rst             |  0
 .../media/drivers}/radiotrack.rst             |  0
 .../media/drivers}/saa7134-devel.rst          |  0
 .../media/drivers}/sh_mobile_ceu_camera.rst   |  0
 .../media/drivers}/tuners.rst                 |  0
 .../media/drivers}/vimc-devel.rst             |  0
 Documentation/driver-api/media/index.rst      |  2 ++
 Documentation/media/index.rst                 |  1 -
 Documentation/media/v4l-drivers/index.rst     | 14 ---------
 MAINTAINERS                                   |  8 ++---
 drivers/media/dvb-frontends/dib3000.h         |  2 +-
 drivers/media/dvb-frontends/dib3000mb.c       |  2 +-
 drivers/media/dvb-frontends/eds1547.h         |  2 +-
 drivers/media/dvb-frontends/z0194a.h          |  2 +-
 drivers/media/pci/cx18/cx18-streams.c         |  4 +--
 drivers/media/platform/pxa_camera.c           |  4 +--
 drivers/media/radio/Kconfig                   |  2 +-
 drivers/media/usb/dvb-usb-v2/Kconfig          |  2 +-
 drivers/media/usb/dvb-usb-v2/gl861.c          |  2 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.c        |  2 +-
 drivers/media/usb/dvb-usb-v2/lmedm04.h        |  2 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf.c       |  2 +-
 drivers/media/usb/dvb-usb-v2/mxl111sf.h       |  2 +-
 drivers/media/usb/dvb-usb/Kconfig             |  2 +-
 drivers/media/usb/dvb-usb/a800.c              |  2 +-
 drivers/media/usb/dvb-usb/af9005-fe.c         |  2 +-
 drivers/media/usb/dvb-usb/af9005-remote.c     |  2 +-
 drivers/media/usb/dvb-usb/af9005.c            |  2 +-
 drivers/media/usb/dvb-usb/af9005.h            |  2 +-
 drivers/media/usb/dvb-usb/az6027.c            |  2 +-
 drivers/media/usb/dvb-usb/cxusb.c             |  2 +-
 drivers/media/usb/dvb-usb/dibusb-common.c     |  2 +-
 drivers/media/usb/dvb-usb/dibusb-mb.c         |  2 +-
 drivers/media/usb/dvb-usb/dibusb-mc-common.c  |  2 +-
 drivers/media/usb/dvb-usb/dibusb-mc.c         |  2 +-
 drivers/media/usb/dvb-usb/dibusb.h            |  2 +-
 drivers/media/usb/dvb-usb/digitv.c            |  2 +-
 drivers/media/usb/dvb-usb/dtt200u-fe.c        |  2 +-
 drivers/media/usb/dvb-usb/dtt200u.c           |  2 +-
 drivers/media/usb/dvb-usb/dtt200u.h           |  2 +-
 drivers/media/usb/dvb-usb/dvb-usb-init.c      |  2 +-
 drivers/media/usb/dvb-usb/dw2102.c            |  2 +-
 drivers/media/usb/dvb-usb/gp8psk.c            |  2 +-
 drivers/media/usb/dvb-usb/gp8psk.h            |  2 +-
 drivers/media/usb/dvb-usb/m920x.c             |  2 +-
 drivers/media/usb/dvb-usb/nova-t-usb2.c       |  2 +-
 drivers/media/usb/dvb-usb/opera1.c            |  2 +-
 drivers/media/usb/dvb-usb/ttusb2.c            |  2 +-
 drivers/media/usb/dvb-usb/ttusb2.h            |  2 +-
 drivers/media/usb/dvb-usb/umt-010.c           |  2 +-
 drivers/media/usb/dvb-usb/vp702x-fe.c         |  2 +-
 drivers/media/usb/dvb-usb/vp702x.c            |  2 +-
 drivers/media/usb/dvb-usb/vp7045-fe.c         |  2 +-
 drivers/media/usb/dvb-usb/vp7045.c            |  2 +-
 drivers/media/usb/dvb-usb/vp7045.h            |  2 +-
 66 files changed, 81 insertions(+), 67 deletions(-)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/bttv-devel.rst (100%)
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/contributors.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cpia2_devel.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cx2341x-devel.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cx88-devel.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/davinci-vpbe-devel.rst (100%)
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/dvb-usb.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/fimc-devel.rst (100%)
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/frontends.rst (100%)
 rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/index.rst (67%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pvrusb2.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pxa_camera.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/radiotrack.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/saa7134-devel.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/sh_mobile_ceu_camera.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/tuners.rst (100%)
 rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/vimc-devel.rst (100%)

diff --git a/Documentation/media/v4l-drivers/bttv-devel.rst b/Documentation/driver-api/media/drivers/bttv-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/bttv-devel.rst
rename to Documentation/driver-api/media/drivers/bttv-devel.rst
diff --git a/Documentation/media/dvb-drivers/contributors.rst b/Documentation/driver-api/media/drivers/contributors.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/contributors.rst
rename to Documentation/driver-api/media/drivers/contributors.rst
diff --git a/Documentation/media/v4l-drivers/cpia2_devel.rst b/Documentation/driver-api/media/drivers/cpia2_devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cpia2_devel.rst
rename to Documentation/driver-api/media/drivers/cpia2_devel.rst
diff --git a/Documentation/media/v4l-drivers/cx2341x-devel.rst b/Documentation/driver-api/media/drivers/cx2341x-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx2341x-devel.rst
rename to Documentation/driver-api/media/drivers/cx2341x-devel.rst
diff --git a/Documentation/media/v4l-drivers/cx88-devel.rst b/Documentation/driver-api/media/drivers/cx88-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx88-devel.rst
rename to Documentation/driver-api/media/drivers/cx88-devel.rst
diff --git a/Documentation/media/v4l-drivers/davinci-vpbe-devel.rst b/Documentation/driver-api/media/drivers/davinci-vpbe-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/davinci-vpbe-devel.rst
rename to Documentation/driver-api/media/drivers/davinci-vpbe-devel.rst
diff --git a/Documentation/media/dvb-drivers/dvb-usb.rst b/Documentation/driver-api/media/drivers/dvb-usb.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/dvb-usb.rst
rename to Documentation/driver-api/media/drivers/dvb-usb.rst
diff --git a/Documentation/media/v4l-drivers/fimc-devel.rst b/Documentation/driver-api/media/drivers/fimc-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/fimc-devel.rst
rename to Documentation/driver-api/media/drivers/fimc-devel.rst
diff --git a/Documentation/media/dvb-drivers/frontends.rst b/Documentation/driver-api/media/drivers/frontends.rst
similarity index 100%
rename from Documentation/media/dvb-drivers/frontends.rst
rename to Documentation/driver-api/media/drivers/frontends.rst
diff --git a/Documentation/media/dvb-drivers/index.rst b/Documentation/driver-api/media/drivers/index.rst
similarity index 67%
rename from Documentation/media/dvb-drivers/index.rst
rename to Documentation/driver-api/media/drivers/index.rst
index 7a870ee7ac7d..aafff51f7e0e 100644
--- a/Documentation/media/dvb-drivers/index.rst
+++ b/Documentation/driver-api/media/drivers/index.rst
@@ -2,6 +2,34 @@
 
 .. include:: <isonum.txt>
 
+################################################
+Video4Linux (V4L)  driver-specific documentation
+################################################
+
+.. only:: html
+
+    .. class:: toc-title
+
+        Table of Contents
+
+.. toctree::
+	:maxdepth: 5
+
+	bttv-devel
+	cpia2_devel
+	cx2341x-devel
+	cx88-devel
+	davinci-vpbe-devel
+	fimc-devel
+	pvrusb2
+	pxa_camera
+	radiotrack
+	saa7134-devel
+	sh_mobile_ceu_camera
+	tuners
+	vimc-devel
+
+
 ##############################################
 Linux Digital TV driver-specific documentation
 ##############################################
@@ -27,7 +55,6 @@ For more details see the file COPYING in the source distribution of Linux.
 
 .. toctree::
 	:maxdepth: 5
-	:numbered:
 
 	dvb-usb
 	frontends
diff --git a/Documentation/media/v4l-drivers/pvrusb2.rst b/Documentation/driver-api/media/drivers/pvrusb2.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/pvrusb2.rst
rename to Documentation/driver-api/media/drivers/pvrusb2.rst
diff --git a/Documentation/media/v4l-drivers/pxa_camera.rst b/Documentation/driver-api/media/drivers/pxa_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/pxa_camera.rst
rename to Documentation/driver-api/media/drivers/pxa_camera.rst
diff --git a/Documentation/media/v4l-drivers/radiotrack.rst b/Documentation/driver-api/media/drivers/radiotrack.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/radiotrack.rst
rename to Documentation/driver-api/media/drivers/radiotrack.rst
diff --git a/Documentation/media/v4l-drivers/saa7134-devel.rst b/Documentation/driver-api/media/drivers/saa7134-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/saa7134-devel.rst
rename to Documentation/driver-api/media/drivers/saa7134-devel.rst
diff --git a/Documentation/media/v4l-drivers/sh_mobile_ceu_camera.rst b/Documentation/driver-api/media/drivers/sh_mobile_ceu_camera.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/sh_mobile_ceu_camera.rst
rename to Documentation/driver-api/media/drivers/sh_mobile_ceu_camera.rst
diff --git a/Documentation/media/v4l-drivers/tuners.rst b/Documentation/driver-api/media/drivers/tuners.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/tuners.rst
rename to Documentation/driver-api/media/drivers/tuners.rst
diff --git a/Documentation/media/v4l-drivers/vimc-devel.rst b/Documentation/driver-api/media/drivers/vimc-devel.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/vimc-devel.rst
rename to Documentation/driver-api/media/drivers/vimc-devel.rst
diff --git a/Documentation/driver-api/media/index.rst b/Documentation/driver-api/media/index.rst
index d2842f300bbd..57383df79bd3 100644
--- a/Documentation/driver-api/media/index.rst
+++ b/Documentation/driver-api/media/index.rst
@@ -36,3 +36,5 @@ For more details see the file COPYING in the source distribution of Linux.
     mc-core
     cec-core
     csi2
+
+    drivers/index
diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
index 0f75280b8c43..a5cd600e0b04 100644
--- a/Documentation/media/index.rst
+++ b/Documentation/media/index.rst
@@ -16,7 +16,6 @@ Linux Media Subsystem Documentation
    ../driver-api/media/index
 
    v4l-drivers/index
-   dvb-drivers/index
 
 .. only:: html and subproject
 
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
index aef375cfb05a..ee7faff88a33 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/media/v4l-drivers/index.rst
@@ -31,23 +31,9 @@ For more details see the file COPYING in the source distribution of Linux.
 	:maxdepth: 5
 	:numbered:
 
-	tuners
 	max2175
-	pvrusb2
-	pxa_camera
-	radiotrack
-	sh_mobile_ceu_camera
 	uvcvideo
 
-	bttv-devel
-	cpia2_devel
-	cx2341x-devel
-	cx88-devel
-	davinci-vpbe-devel
-	fimc-devel
-	saa7134-devel
-	vimc-devel
-
 	cx2341x-uapi
 	imx-uapi
 	meye-uapi
diff --git a/MAINTAINERS b/MAINTAINERS
index fbb8b1f13cb8..cf4fd454e053 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3621,7 +3621,7 @@ L:	linux-media@vger.kernel.org
 W:	https://linuxtv.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Odd fixes
-F:	Documentation/media/v4l-drivers/bttv*
+F:	Documentation/driver-api/media/drivers/bttv*
 F:	drivers/media/pci/bt8xx/bttv*
 
 BUS FREQUENCY DRIVER FOR SAMSUNG EXYNOS
@@ -4514,7 +4514,7 @@ L:	linux-media@vger.kernel.org
 W:	https://linuxtv.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Odd fixes
-F:	Documentation/media/v4l-drivers/cx88*
+F:	Documentation/driver-api/media/drivers/cx88*
 F:	drivers/media/pci/cx88/
 
 CXD2820R MEDIA DRIVER
@@ -13579,7 +13579,7 @@ L:	linux-media@vger.kernel.org
 W:	http://www.isely.net/pvrusb2/
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
-F:	Documentation/media/v4l-drivers/pvrusb2*
+F:	Documentation/driver-api/media/drivers/pvrusb2*
 F:	drivers/media/usb/pvrusb2/
 
 PWC WEBCAM DRIVER
@@ -14583,7 +14583,7 @@ L:	linux-media@vger.kernel.org
 W:	https://linuxtv.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Odd fixes
-F:	Documentation/media/v4l-drivers/saa7134*
+F:	Documentation/driver-api/media/drivers/saa7134*
 F:	drivers/media/pci/saa7134/
 
 SAA7146 VIDEO4LINUX-2 DRIVER
diff --git a/drivers/media/dvb-frontends/dib3000.h b/drivers/media/dvb-frontends/dib3000.h
index 9118a7a48ef2..3f129efa21de 100644
--- a/drivers/media/dvb-frontends/dib3000.h
+++ b/drivers/media/dvb-frontends/dib3000.h
@@ -14,7 +14,7 @@
  *  Amaury Demol from DiBcom for providing specs and driver
  *  sources, on which this driver (and the dvb-dibusb) are based.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #ifndef DIB3000_H
diff --git a/drivers/media/dvb-frontends/dib3000mb.c b/drivers/media/dvb-frontends/dib3000mb.c
index 46ed0e20c8fa..0f0480d8576d 100644
--- a/drivers/media/dvb-frontends/dib3000mb.c
+++ b/drivers/media/dvb-frontends/dib3000mb.c
@@ -14,7 +14,7 @@
  *  Amaury Demol from DiBcom for providing specs and driver
  *  sources, on which this driver (and the dvb-dibusb) are based.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
diff --git a/drivers/media/dvb-frontends/eds1547.h b/drivers/media/dvb-frontends/eds1547.h
index 907254b85708..bb85a6e27076 100644
--- a/drivers/media/dvb-frontends/eds1547.h
+++ b/drivers/media/dvb-frontends/eds1547.h
@@ -3,7 +3,7 @@
 *
 * Copyright (C) 2008 Igor M. Liplianin (liplianin@me.by)
 *
-* see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+* see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
 */
 
 #ifndef EDS1547
diff --git a/drivers/media/dvb-frontends/z0194a.h b/drivers/media/dvb-frontends/z0194a.h
index 21442905d116..3446ccbf3c1c 100644
--- a/drivers/media/dvb-frontends/z0194a.h
+++ b/drivers/media/dvb-frontends/z0194a.h
@@ -3,7 +3,7 @@
 *
 * Copyright (C) 2008 Igor M. Liplianin (liplianin@me.by)
 *
-* see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+* see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
 */
 
 #ifndef Z0194A
diff --git a/drivers/media/pci/cx18/cx18-streams.c b/drivers/media/pci/cx18/cx18-streams.c
index 0e2365c9f4ad..c41bae118415 100644
--- a/drivers/media/pci/cx18/cx18-streams.c
+++ b/drivers/media/pci/cx18/cx18-streams.c
@@ -845,7 +845,7 @@ int cx18_start_v4l2_encode_stream(struct cx18_stream *s)
 
 		/*
 		 * Audio related reset according to
-		 * Documentation/media/v4l-drivers/cx2341x-devel.rst
+		 * Documentation/driver-api/media/drivers/cx2341x-devel.rst
 		 */
 		if (atomic_read(&cx->ana_capturing) == 0)
 			cx18_vapi(cx, CX18_CPU_SET_MISC_PARAMETERS, 2,
@@ -853,7 +853,7 @@ int cx18_start_v4l2_encode_stream(struct cx18_stream *s)
 
 		/*
 		 * Number of lines for Field 1 & Field 2 according to
-		 * Documentation/media/v4l-drivers/cx2341x-devel.rst
+		 * Documentation/driver-api/media/drivers/cx2341x-devel.rst
 		 * Field 1 is 312 for 625 line systems in BT.656
 		 * Field 2 is 313 for 625 line systems in BT.656
 		 */
diff --git a/drivers/media/platform/pxa_camera.c b/drivers/media/platform/pxa_camera.c
index 70c85a2a10f5..3c5fe737d36f 100644
--- a/drivers/media/platform/pxa_camera.c
+++ b/drivers/media/platform/pxa_camera.c
@@ -1016,7 +1016,7 @@ static void pxa_camera_wakeup(struct pxa_camera_dev *pcdev,
  *  - a videobuffer is queued on the pcdev->capture list
  *
  * Please check the "DMA hot chaining timeslice issue" in
- *   Documentation/media/v4l-drivers/pxa_camera.rst
+ *   Documentation/driver-api/media/drivers/pxa_camera.rst
  *
  * Context: should only be called within the dma irq handler
  */
@@ -1438,7 +1438,7 @@ static void pxac_vb2_queue(struct vb2_buffer *vb)
 
 /*
  * Please check the DMA prepared buffer structure in :
- *   Documentation/media/v4l-drivers/pxa_camera.rst
+ *   Documentation/driver-api/media/drivers/pxa_camera.rst
  * Please check also in pxa_camera_check_link_miss() to understand why DMA chain
  * modification while DMA chain is running will work anyway.
  */
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index f4df16df19d9..d29e29645e04 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -272,7 +272,7 @@ config RADIO_RTRACK
 	  been reported to be used by these cards.
 
 	  More information is contained in the file
-	  <file:Documentation/media/v4l-drivers/radiotrack.rst>.
+	  <file:Documentation/driver-api/media/drivers/radiotrack.rst>.
 
 	  To compile this driver as a module, choose M here: the
 	  module will be called radio-aimslab.
diff --git a/drivers/media/usb/dvb-usb-v2/Kconfig b/drivers/media/usb/dvb-usb-v2/Kconfig
index b21a4d413872..ff0ae64424c4 100644
--- a/drivers/media/usb/dvb-usb-v2/Kconfig
+++ b/drivers/media/usb/dvb-usb-v2/Kconfig
@@ -7,7 +7,7 @@ config DVB_USB_V2
 	  USB1.1 and USB2.0 DVB devices.
 
 	  Almost every USB device needs a firmware, please look into
-	  <file:Documentation/media/dvb-drivers/dvb-usb.rst>.
+	  <file:Documentation/driver-api/media/drivers/dvb-usb.rst>.
 
 	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
 	  <https://linuxtv.org/wiki/index.php/DVB_USB>
diff --git a/drivers/media/usb/dvb-usb-v2/gl861.c b/drivers/media/usb/dvb-usb-v2/gl861.c
index 19217dcf20f1..42c3b8af0774 100644
--- a/drivers/media/usb/dvb-usb-v2/gl861.c
+++ b/drivers/media/usb/dvb-usb-v2/gl861.c
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: GPL-2.0-only
 /* DVB USB compliant linux driver for GL861 USB2.0 devices.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include <linux/string.h>
 
diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.c b/drivers/media/usb/dvb-usb-v2/lmedm04.c
index 4cf09c5c8216..36a599502f92 100644
--- a/drivers/media/usb/dvb-usb-v2/lmedm04.c
+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.c
@@ -39,7 +39,7 @@
  * Copyright (C) 2010 Malcolm Priestley (tvboxspy@gmail.com)
  * LME2510(C)(C) Leaguerme (Shenzhen) MicroElectronics Co., Ltd.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  *
  * Known Issues :
  *	LME2510: Non Intel USB chipsets fail to maintain High Speed on
diff --git a/drivers/media/usb/dvb-usb-v2/lmedm04.h b/drivers/media/usb/dvb-usb-v2/lmedm04.h
index 766a8348624d..4335b6ebcc1c 100644
--- a/drivers/media/usb/dvb-usb-v2/lmedm04.h
+++ b/drivers/media/usb/dvb-usb-v2/lmedm04.h
@@ -14,7 +14,7 @@
  * MVB0001F (LME2510C+LGTDQT-P001F)
  *
  * *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_LME2510_H_
 #define _DVB_USB_LME2510_H_
diff --git a/drivers/media/usb/dvb-usb-v2/mxl111sf.c b/drivers/media/usb/dvb-usb-v2/mxl111sf.c
index 55b4ae7037a4..7865fa0a8295 100644
--- a/drivers/media/usb/dvb-usb-v2/mxl111sf.c
+++ b/drivers/media/usb/dvb-usb-v2/mxl111sf.c
@@ -2,7 +2,7 @@
 /*
  * Copyright (C) 2010-2014 Michael Krufky (mkrufky@linuxtv.org)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #include <linux/vmalloc.h>
diff --git a/drivers/media/usb/dvb-usb-v2/mxl111sf.h b/drivers/media/usb/dvb-usb-v2/mxl111sf.h
index 70bd2a2a8ec1..e57e5d2353b4 100644
--- a/drivers/media/usb/dvb-usb-v2/mxl111sf.h
+++ b/drivers/media/usb/dvb-usb-v2/mxl111sf.h
@@ -2,7 +2,7 @@
 /*
  * Copyright (C) 2010-2014 Michael Krufky (mkrufky@linuxtv.org)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #ifndef _DVB_USB_MXL111SF_H_
diff --git a/drivers/media/usb/dvb-usb/Kconfig b/drivers/media/usb/dvb-usb/Kconfig
index 1a3e5f965ae4..5360dc1a2210 100644
--- a/drivers/media/usb/dvb-usb/Kconfig
+++ b/drivers/media/usb/dvb-usb/Kconfig
@@ -7,7 +7,7 @@ config DVB_USB
 	  USB1.1 and USB2.0 DVB devices.
 
 	  Almost every USB device needs a firmware, please look into
-	  <file:Documentation/media/dvb-drivers/dvb-usb.rst>.
+	  <file:Documentation/driver-api/media/drivers/dvb-usb.rst>.
 
 	  For a complete list of supported USB devices see the LinuxTV DVB Wiki:
 	  <https://linuxtv.org/wiki/index.php/DVB_USB>
diff --git a/drivers/media/usb/dvb-usb/a800.c b/drivers/media/usb/dvb-usb/a800.c
index 666213f5d5d8..15bbefe3bc00 100644
--- a/drivers/media/usb/dvb-usb/a800.c
+++ b/drivers/media/usb/dvb-usb/a800.c
@@ -8,7 +8,7 @@
  *   - AVerMedia who kindly provided information and
  *   - Glen Harris who suffered from my mistakes during development.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dibusb.h"
 
diff --git a/drivers/media/usb/dvb-usb/af9005-fe.c b/drivers/media/usb/dvb-usb/af9005-fe.c
index 6c960f723457..9d6fa0556d7b 100644
--- a/drivers/media/usb/dvb-usb/af9005-fe.c
+++ b/drivers/media/usb/dvb-usb/af9005-fe.c
@@ -6,7 +6,7 @@
  *
  * Thanks to Afatech who kindly provided information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "af9005.h"
 #include "af9005-script.h"
diff --git a/drivers/media/usb/dvb-usb/af9005-remote.c b/drivers/media/usb/dvb-usb/af9005-remote.c
index c664353f3911..41d48b3c8d05 100644
--- a/drivers/media/usb/dvb-usb/af9005-remote.c
+++ b/drivers/media/usb/dvb-usb/af9005-remote.c
@@ -8,7 +8,7 @@
  *
  * Thanks to Afatech who kindly provided information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "af9005.h"
 /* debug */
diff --git a/drivers/media/usb/dvb-usb/af9005.c b/drivers/media/usb/dvb-usb/af9005.c
index 89b4b5d84cdf..3446bcac8ed1 100644
--- a/drivers/media/usb/dvb-usb/af9005.c
+++ b/drivers/media/usb/dvb-usb/af9005.c
@@ -6,7 +6,7 @@
  *
  * Thanks to Afatech who kindly provided information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "af9005.h"
 
diff --git a/drivers/media/usb/dvb-usb/af9005.h b/drivers/media/usb/dvb-usb/af9005.h
index 3179a7c71e8f..11d74dc26d83 100644
--- a/drivers/media/usb/dvb-usb/af9005.h
+++ b/drivers/media/usb/dvb-usb/af9005.h
@@ -6,7 +6,7 @@
  *
  * Thanks to Afatech who kindly provided information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_AF9005_H_
 #define _DVB_USB_AF9005_H_
diff --git a/drivers/media/usb/dvb-usb/az6027.c b/drivers/media/usb/dvb-usb/az6027.c
index 8de18da0c4bd..d5be540e31a7 100644
--- a/drivers/media/usb/dvb-usb/az6027.c
+++ b/drivers/media/usb/dvb-usb/az6027.c
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2009 Adams.Xu <adams.xu@azwave.com.cn>
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "az6027.h"
 
diff --git a/drivers/media/usb/dvb-usb/cxusb.c b/drivers/media/usb/dvb-usb/cxusb.c
index c421b603be44..fd058f71ce49 100644
--- a/drivers/media/usb/dvb-usb/cxusb.c
+++ b/drivers/media/usb/dvb-usb/cxusb.c
@@ -18,7 +18,7 @@
  * Copyright (C) 2006, 2007 Chris Pascoe (c.pascoe@itee.uq.edu.au)
  * Copyright (C) 2011, 2017 Maciej S. Szmigiero (mail@maciej.szmigiero.name)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include <media/tuner.h>
 #include <linux/delay.h>
diff --git a/drivers/media/usb/dvb-usb/dibusb-common.c b/drivers/media/usb/dvb-usb/dibusb-common.c
index 59ce2dec11e9..02b51d1a1b67 100644
--- a/drivers/media/usb/dvb-usb/dibusb-common.c
+++ b/drivers/media/usb/dvb-usb/dibusb-common.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #include "dibusb.h"
diff --git a/drivers/media/usb/dvb-usb/dibusb-mb.c b/drivers/media/usb/dvb-usb/dibusb-mb.c
index d4ea72bf09c5..f462c918d5a4 100644
--- a/drivers/media/usb/dvb-usb/dibusb-mb.c
+++ b/drivers/media/usb/dvb-usb/dibusb-mb.c
@@ -7,7 +7,7 @@
  * based on GPL code from DiBcom, which has
  * Copyright (C) 2004 Amaury Demol for DiBcom
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dibusb.h"
 
diff --git a/drivers/media/usb/dvb-usb/dibusb-mc-common.c b/drivers/media/usb/dvb-usb/dibusb-mc-common.c
index 967027e29c17..b8cde4cded33 100644
--- a/drivers/media/usb/dvb-usb/dibusb-mc-common.c
+++ b/drivers/media/usb/dvb-usb/dibusb-mc-common.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #include "dibusb.h"
diff --git a/drivers/media/usb/dvb-usb/dibusb-mc.c b/drivers/media/usb/dvb-usb/dibusb-mc.c
index ada3bee296c2..e2689977c8c8 100644
--- a/drivers/media/usb/dvb-usb/dibusb-mc.c
+++ b/drivers/media/usb/dvb-usb/dibusb-mc.c
@@ -7,7 +7,7 @@
  * based on GPL code from DiBcom, which has
  * Copyright (C) 2004 Amaury Demol for DiBcom
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dibusb.h"
 
diff --git a/drivers/media/usb/dvb-usb/dibusb.h b/drivers/media/usb/dvb-usb/dibusb.h
index a83326c36ca7..f61de0744821 100644
--- a/drivers/media/usb/dvb-usb/dibusb.h
+++ b/drivers/media/usb/dvb-usb/dibusb.h
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_DIBUSB_H_
 #define _DVB_USB_DIBUSB_H_
diff --git a/drivers/media/usb/dvb-usb/digitv.c b/drivers/media/usb/dvb-usb/digitv.c
index 99a39339d45d..906438c5a40f 100644
--- a/drivers/media/usb/dvb-usb/digitv.c
+++ b/drivers/media/usb/dvb-usb/digitv.c
@@ -6,7 +6,7 @@
  *
  * partly based on the SDK published by Nebula Electronics
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "digitv.h"
 
diff --git a/drivers/media/usb/dvb-usb/dtt200u-fe.c b/drivers/media/usb/dvb-usb/dtt200u-fe.c
index 00ce723c7bf0..9f83560ba63d 100644
--- a/drivers/media/usb/dvb-usb/dtt200u-fe.c
+++ b/drivers/media/usb/dvb-usb/dtt200u-fe.c
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2005 Patrick Boettcher <patrick.boettcher@posteo.de>
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dtt200u.h"
 
diff --git a/drivers/media/usb/dvb-usb/dtt200u.c b/drivers/media/usb/dvb-usb/dtt200u.c
index 1e7296b2e5b2..24efa023d827 100644
--- a/drivers/media/usb/dvb-usb/dtt200u.c
+++ b/drivers/media/usb/dvb-usb/dtt200u.c
@@ -6,7 +6,7 @@
  *
  * Thanks to Steve Chang from WideView for providing support for the WT-220U.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dtt200u.h"
 
diff --git a/drivers/media/usb/dvb-usb/dtt200u.h b/drivers/media/usb/dvb-usb/dtt200u.h
index 832f355114e4..696c2c1f3af3 100644
--- a/drivers/media/usb/dvb-usb/dtt200u.h
+++ b/drivers/media/usb/dvb-usb/dtt200u.h
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_DTT200U_H_
 #define _DVB_USB_DTT200U_H_
diff --git a/drivers/media/usb/dvb-usb/dvb-usb-init.c b/drivers/media/usb/dvb-usb/dvb-usb-init.c
index 16a0b4a359ea..46ada09ce38a 100644
--- a/drivers/media/usb/dvb-usb/dvb-usb-init.c
+++ b/drivers/media/usb/dvb-usb/dvb-usb-init.c
@@ -6,7 +6,7 @@
  *
  * Copyright (C) 2004-6 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dvb-usb-common.h"
 
diff --git a/drivers/media/usb/dvb-usb/dw2102.c b/drivers/media/usb/dvb-usb/dw2102.c
index 8b584507dd59..4c82acba318f 100644
--- a/drivers/media/usb/dvb-usb/dw2102.c
+++ b/drivers/media/usb/dvb-usb/dw2102.c
@@ -8,7 +8,7 @@
  *	Terratec Cinergy S2 cards
  * Copyright (C) 2008-2012 Igor M. Liplianin (liplianin@me.by)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include <media/dvb-usb-ids.h>
 #include "dw2102.h"
diff --git a/drivers/media/usb/dvb-usb/gp8psk.c b/drivers/media/usb/dvb-usb/gp8psk.c
index 1282f701f185..c07f46f5176e 100644
--- a/drivers/media/usb/dvb-usb/gp8psk.c
+++ b/drivers/media/usb/dvb-usb/gp8psk.c
@@ -9,7 +9,7 @@
  *
  * This module is based off the vp7045 and vp702x modules
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "gp8psk.h"
 #include "gp8psk-fe.h"
diff --git a/drivers/media/usb/dvb-usb/gp8psk.h b/drivers/media/usb/dvb-usb/gp8psk.h
index 2f4c1368eabe..5293dfdd2609 100644
--- a/drivers/media/usb/dvb-usb/gp8psk.h
+++ b/drivers/media/usb/dvb-usb/gp8psk.h
@@ -9,7 +9,7 @@
  *
  * This module is based off the vp7045 and vp702x modules
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_GP8PSK_H_
 #define _DVB_USB_GP8PSK_H_
diff --git a/drivers/media/usb/dvb-usb/m920x.c b/drivers/media/usb/dvb-usb/m920x.c
index d866a1990a7d..b8b99be5564b 100644
--- a/drivers/media/usb/dvb-usb/m920x.c
+++ b/drivers/media/usb/dvb-usb/m920x.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2006 Aapo Tahkola (aet@rasterburn.org)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 
 #include "m920x.h"
diff --git a/drivers/media/usb/dvb-usb/nova-t-usb2.c b/drivers/media/usb/dvb-usb/nova-t-usb2.c
index e368935a5089..e7b290552b66 100644
--- a/drivers/media/usb/dvb-usb/nova-t-usb2.c
+++ b/drivers/media/usb/dvb-usb/nova-t-usb2.c
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dibusb.h"
 
diff --git a/drivers/media/usb/dvb-usb/opera1.c b/drivers/media/usb/dvb-usb/opera1.c
index 823b33ae828d..e8d784b9d119 100644
--- a/drivers/media/usb/dvb-usb/opera1.c
+++ b/drivers/media/usb/dvb-usb/opera1.c
@@ -4,7 +4,7 @@
 * Copyright (C) 2006 Mario Hlawitschka (dh1pa@amsat.org)
 * Copyright (C) 2006 Marco Gittler (g.marco@freenet.de)
 *
-* see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+* see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
 */
 
 #define DVB_USB_LOG_PREFIX "opera"
diff --git a/drivers/media/usb/dvb-usb/ttusb2.c b/drivers/media/usb/dvb-usb/ttusb2.c
index e12a5466b677..fd3e7312daef 100644
--- a/drivers/media/usb/dvb-usb/ttusb2.c
+++ b/drivers/media/usb/dvb-usb/ttusb2.c
@@ -17,7 +17,7 @@
  * Copyright (c) 2003 Felix Domke <tmbinc@elitedvb.net>
  * Copyright (C) 2005-6 Patrick Boettcher <pb@linuxtv.org>
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #define DVB_USB_LOG_PREFIX "ttusb2"
 #include "dvb-usb.h"
diff --git a/drivers/media/usb/dvb-usb/ttusb2.h b/drivers/media/usb/dvb-usb/ttusb2.h
index 8a3853cd6a26..b34c469d83f9 100644
--- a/drivers/media/usb/dvb-usb/ttusb2.h
+++ b/drivers/media/usb/dvb-usb/ttusb2.h
@@ -6,7 +6,7 @@
  * Copyright (c) 2003 Felix Domke <tmbinc@elitedvb.net>
  * Copyright (C) 2005-6 Patrick Boettcher <pb@linuxtv.de>
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_TTUSB2_H_
 #define _DVB_USB_TTUSB2_H_
diff --git a/drivers/media/usb/dvb-usb/umt-010.c b/drivers/media/usb/dvb-usb/umt-010.c
index a2101bd43349..2181993771ae 100644
--- a/drivers/media/usb/dvb-usb/umt-010.c
+++ b/drivers/media/usb/dvb-usb/umt-010.c
@@ -4,7 +4,7 @@
  *
  * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@posteo.de)
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "dibusb.h"
 
diff --git a/drivers/media/usb/dvb-usb/vp702x-fe.c b/drivers/media/usb/dvb-usb/vp702x-fe.c
index 1c75a9c9dfca..c1e7931900ee 100644
--- a/drivers/media/usb/dvb-usb/vp702x-fe.c
+++ b/drivers/media/usb/dvb-usb/vp702x-fe.c
@@ -12,7 +12,7 @@
  * This file can be removed soon, after the DST-driver is rewritten to provice
  * the frontend-controlling separately.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "vp702x.h"
 
diff --git a/drivers/media/usb/dvb-usb/vp702x.c b/drivers/media/usb/dvb-usb/vp702x.c
index 381b5c898a07..bf54747e2e01 100644
--- a/drivers/media/usb/dvb-usb/vp702x.c
+++ b/drivers/media/usb/dvb-usb/vp702x.c
@@ -9,7 +9,7 @@
  *
  * Thanks to Twinhan who kindly provided hardware and information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "vp702x.h"
 #include <linux/mutex.h>
diff --git a/drivers/media/usb/dvb-usb/vp7045-fe.c b/drivers/media/usb/dvb-usb/vp7045-fe.c
index d253307a35f8..e99740ec2650 100644
--- a/drivers/media/usb/dvb-usb/vp7045-fe.c
+++ b/drivers/media/usb/dvb-usb/vp7045-fe.c
@@ -6,7 +6,7 @@
  *
  * Thanks to Twinhan who kindly provided hardware and information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "vp7045.h"
 
diff --git a/drivers/media/usb/dvb-usb/vp7045.c b/drivers/media/usb/dvb-usb/vp7045.c
index 2baf57216d19..23e3a90af1f4 100644
--- a/drivers/media/usb/dvb-usb/vp7045.c
+++ b/drivers/media/usb/dvb-usb/vp7045.c
@@ -7,7 +7,7 @@
  *
  * Thanks to Twinhan who kindly provided hardware and information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #include "vp7045.h"
 
diff --git a/drivers/media/usb/dvb-usb/vp7045.h b/drivers/media/usb/dvb-usb/vp7045.h
index 818366746c41..1c8438f22b97 100644
--- a/drivers/media/usb/dvb-usb/vp7045.h
+++ b/drivers/media/usb/dvb-usb/vp7045.h
@@ -6,7 +6,7 @@
  *
  * Thanks to Twinhan who kindly provided hardware and information.
  *
- * see Documentation/media/dvb-drivers/dvb-usb.rst for more information
+ * see Documentation/driver-api/media/drivers/dvb-usb.rst for more information
  */
 #ifndef _DVB_USB_VP7045_H_
 #define _DVB_USB_VP7045_H_
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (18 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 20/22] media: docs: move driver-specific info to driver-api Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  2020-03-12  7:31   ` Hans Verkuil
  2020-03-10 13:43 ` [PATCH v2 22/22] media: docs: get rid of Documentation/media/ Mauro Carvalho Chehab
  20 siblings, 1 reply; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet,
	linux-media, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Ramesh Shanmugasundaram,
	linux-arm-kernel

There are some uAPI stuff that are driver-specific. Add them
to the main media uAPI body.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/media/index.rst                              | 2 --
 .../media/drivers}/cx2341x-uapi.rst                        | 0
 .../media/drivers}/imx-uapi.rst                            | 0
 .../v4l-drivers => userspace-api/media/drivers}/index.rst  | 7 +++----
 .../media/drivers}/max2175.rst                             | 0
 .../media/drivers}/meye-uapi.rst                           | 0
 .../media/drivers}/omap3isp-uapi.rst                       | 0
 .../media/drivers}/uvcvideo.rst                            | 0
 Documentation/userspace-api/media/index.rst                | 2 ++
 Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst   | 2 +-
 Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst  | 2 +-
 Documentation/userspace-api/media/v4l/pixfmt-reserved.rst  | 2 +-
 MAINTAINERS                                                | 4 ++--
 drivers/media/i2c/max2175.c                                | 6 +++---
 14 files changed, 13 insertions(+), 14 deletions(-)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/cx2341x-uapi.rst (100%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/imx-uapi.rst (100%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/index.rst (97%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/max2175.rst (100%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/meye-uapi.rst (100%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/omap3isp-uapi.rst (100%)
 rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/uvcvideo.rst (100%)

diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
index a5cd600e0b04..e93fd88881af 100644
--- a/Documentation/media/index.rst
+++ b/Documentation/media/index.rst
@@ -15,8 +15,6 @@ Linux Media Subsystem Documentation
    ../userspace-api/media/index
    ../driver-api/media/index
 
-   v4l-drivers/index
-
 .. only:: html and subproject
 
    Indices
diff --git a/Documentation/media/v4l-drivers/cx2341x-uapi.rst b/Documentation/userspace-api/media/drivers/cx2341x-uapi.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/cx2341x-uapi.rst
rename to Documentation/userspace-api/media/drivers/cx2341x-uapi.rst
diff --git a/Documentation/media/v4l-drivers/imx-uapi.rst b/Documentation/userspace-api/media/drivers/imx-uapi.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/imx-uapi.rst
rename to Documentation/userspace-api/media/drivers/imx-uapi.rst
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst
similarity index 97%
rename from Documentation/media/v4l-drivers/index.rst
rename to Documentation/userspace-api/media/drivers/index.rst
index ee7faff88a33..05a82f8c0c99 100644
--- a/Documentation/media/v4l-drivers/index.rst
+++ b/Documentation/userspace-api/media/drivers/index.rst
@@ -2,7 +2,7 @@
 
 .. include:: <isonum.txt>
 
-.. _v4l-drivers:
+.. _v4l-drivers_uapi:
 
 ################################################
 Video4Linux (V4L)  driver-specific documentation
@@ -31,10 +31,9 @@ For more details see the file COPYING in the source distribution of Linux.
 	:maxdepth: 5
 	:numbered:
 
-	max2175
-	uvcvideo
-
 	cx2341x-uapi
 	imx-uapi
+	max2175
 	meye-uapi
 	omap3isp-uapi
+	uvcvideo
diff --git a/Documentation/media/v4l-drivers/max2175.rst b/Documentation/userspace-api/media/drivers/max2175.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/max2175.rst
rename to Documentation/userspace-api/media/drivers/max2175.rst
diff --git a/Documentation/media/v4l-drivers/meye-uapi.rst b/Documentation/userspace-api/media/drivers/meye-uapi.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/meye-uapi.rst
rename to Documentation/userspace-api/media/drivers/meye-uapi.rst
diff --git a/Documentation/media/v4l-drivers/omap3isp-uapi.rst b/Documentation/userspace-api/media/drivers/omap3isp-uapi.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/omap3isp-uapi.rst
rename to Documentation/userspace-api/media/drivers/omap3isp-uapi.rst
diff --git a/Documentation/media/v4l-drivers/uvcvideo.rst b/Documentation/userspace-api/media/drivers/uvcvideo.rst
similarity index 100%
rename from Documentation/media/v4l-drivers/uvcvideo.rst
rename to Documentation/userspace-api/media/drivers/uvcvideo.rst
diff --git a/Documentation/userspace-api/media/index.rst b/Documentation/userspace-api/media/index.rst
index 614310f82395..bcfdd1a5caa0 100644
--- a/Documentation/userspace-api/media/index.rst
+++ b/Documentation/userspace-api/media/index.rst
@@ -31,3 +31,5 @@ entitled "GNU Free Documentation License".
     cec/cec-api
     gen-errors
     fdl-appendix
+
+    drivers/index
diff --git a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
index 751c6590e774..dd0b6646beb5 100644
--- a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
+++ b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
@@ -438,7 +438,7 @@ MPEG stream.
 *Historical context*: This format specification originates from a
 custom, embedded, sliced VBI data format used by the ``ivtv`` driver.
 This format has already been informally specified in the kernel sources
-in the file ``Documentation/media/v4l-drivers/cx2341x-uapi.rst`` . The
+in the file ``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst`` . The
 maximum size of the payload and other aspects of this format are driven
 by the CX23415 MPEG decoder's capabilities and limitations with respect
 to extracting, decoding, and displaying sliced VBI data embedded within
diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
index f81016c97a0d..9b48338fb783 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
@@ -116,7 +116,7 @@ enum v4l2_mpeg_stream_vbi_fmt -
     * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
       - VBI in private packets, IVTV format (documented in the kernel
 	sources in the file
-	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``)
+	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)
 
 
 
diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
index dbdcf6c9f072..59b9e7238f90 100644
--- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
+++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
@@ -58,7 +58,7 @@ please make a proposal on the linux-media mailing list.
       - YUV 4:2:0 format used by the IVTV driver.
 
 	The format is documented in the kernel sources in the file
-	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``
+	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``
     * .. _V4L2-PIX-FMT-CPIA1:
 
       - ``V4L2_PIX_FMT_CPIA1``
diff --git a/MAINTAINERS b/MAINTAINERS
index cf4fd454e053..a883c2e53b86 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10135,7 +10135,7 @@ L:	linux-media@vger.kernel.org
 T:	git git://linuxtv.org/media_tree.git
 S:	Maintained
 F:	Documentation/devicetree/bindings/media/i2c/max2175.txt
-F:	Documentation/media/v4l-drivers/max2175.rst
+F:	Documentation/userspace-api/media/drivers/max2175.rst
 F:	drivers/media/i2c/max2175*
 F:	include/uapi/linux/max2175.h
 
@@ -11251,7 +11251,7 @@ F:	kernel/module.c
 MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
 W:	http://popies.net/meye/
 S:	Orphan
-F:	Documentation/media/v4l-drivers/meye*
+F:	Documentation/userspace-api/media/drivers/meye*
 F:	drivers/media/pci/meye/
 F:	include/uapi/linux/meye.h
 
diff --git a/drivers/media/i2c/max2175.c b/drivers/media/i2c/max2175.c
index 506a30e69ced..03b4ed3a61b8 100644
--- a/drivers/media/i2c/max2175.c
+++ b/drivers/media/i2c/max2175.c
@@ -1194,7 +1194,7 @@ static const struct v4l2_ctrl_ops max2175_ctrl_ops = {
 
 /*
  * I2S output enable/disable configuration. This is a private control.
- * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
+ * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
  */
 static const struct v4l2_ctrl_config max2175_i2s_en = {
 	.ops = &max2175_ctrl_ops,
@@ -1210,7 +1210,7 @@ static const struct v4l2_ctrl_config max2175_i2s_en = {
 
 /*
  * HSLS value control LO freq adjacent location configuration.
- * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
+ * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
  */
 static const struct v4l2_ctrl_config max2175_hsls = {
 	.ops = &max2175_ctrl_ops,
@@ -1226,7 +1226,7 @@ static const struct v4l2_ctrl_config max2175_hsls = {
 /*
  * Rx modes below are a set of preset configurations that decides the tuner's
  * sck and sample rate of transmission. They are separate for EU & NA regions.
- * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
+ * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
  */
 static const char * const max2175_ctrl_eu_rx_modes[] = {
 	[MAX2175_EU_FM_1_2]	= "EU FM 1.2",
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v2 22/22] media: docs: get rid of Documentation/media/
  2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
                   ` (19 preceding siblings ...)
  2020-03-10 13:43 ` [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff Mauro Carvalho Chehab
@ 2020-03-10 13:43 ` Mauro Carvalho Chehab
  20 siblings, 0 replies; 26+ messages in thread
From: Mauro Carvalho Chehab @ 2020-03-10 13:43 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Mauro Carvalho Chehab, linux-kernel, Jonathan Corbet, linux-media

Now that everything got moved, we can get rid of the
old media directory.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/driver-api/index.rst    |  1 +
 Documentation/index.rst               |  1 -
 Documentation/media/index.rst         | 23 -----------------------
 Documentation/userspace-api/index.rst |  1 +
 4 files changed, 2 insertions(+), 24 deletions(-)
 delete mode 100644 Documentation/media/index.rst

diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst
index 0ebe205efd0c..92c2570277ac 100644
--- a/Documentation/driver-api/index.rst
+++ b/Documentation/driver-api/index.rst
@@ -62,6 +62,7 @@ available subsections can be seen below.
    pinctl
    gpio/index
    md/index
+   media/index
    misc_devices
    nfc/index
    dmaengine/index
diff --git a/Documentation/index.rst b/Documentation/index.rst
index e99d0bd2589d..7139190f1c01 100644
--- a/Documentation/index.rst
+++ b/Documentation/index.rst
@@ -108,7 +108,6 @@ needed).
    isdn/index
    infiniband/index
    leds/index
-   media/index
    netlabel/index
    networking/index
    pcmcia/index
diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
deleted file mode 100644
index e93fd88881af..000000000000
--- a/Documentation/media/index.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-.. SPDX-License-Identifier: GPL-2.0
-
-Linux Media Subsystem Documentation
-===================================
-
-.. only:: html
-
-   .. class:: toc-title
-
-        Table of Contents
-
-.. toctree::
-   :maxdepth: 2
-
-   ../userspace-api/media/index
-   ../driver-api/media/index
-
-.. only:: html and subproject
-
-   Indices
-   =======
-
-   * :ref:`genindex`
diff --git a/Documentation/userspace-api/index.rst b/Documentation/userspace-api/index.rst
index e983488b48b1..69fc5167e648 100644
--- a/Documentation/userspace-api/index.rst
+++ b/Documentation/userspace-api/index.rst
@@ -22,6 +22,7 @@ place where this information is gathered.
    spec_ctrl
    accelerators/ocxl
    ioctl/index
+   media/index
 
 .. only::  subproject and html
 
-- 
2.24.1


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH v2 03/22] media: docs: split cpia2.rst on two files
  2020-03-10 13:42 ` [PATCH v2 03/22] media: docs: split cpia2.rst on two files Mauro Carvalho Chehab
@ 2020-03-12  7:18   ` Hans Verkuil
  0 siblings, 0 replies; 26+ messages in thread
From: Hans Verkuil @ 2020-03-12  7:18 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, linux-media

On 3/10/20 2:42 PM, Mauro Carvalho Chehab wrote:
> In order to be able to better organize the subsystem, split the
> cpia2 information on two files: one user-facing and another one
> from Kernel development PoV.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  Documentation/media/v4l-drivers/cpia2.rst     | 46 ---------------
>  .../media/v4l-drivers/cpia2_devel.rst         | 56 +++++++++++++++++++

In other patches the devel file is called foo-devel.rst, here it is cpia2_devel.rst
Can you change this to cpia2-devel.rst as well?

Also, IMHO using -dev instead of -devel feels nicer, although that might be
because I use debian where all developer packages use -dev as suffix :-)

Regards,

	Hans

>  Documentation/media/v4l-drivers/index.rst     |  2 +
>  3 files changed, 58 insertions(+), 46 deletions(-)
>  create mode 100644 Documentation/media/v4l-drivers/cpia2_devel.rst
> 
> diff --git a/Documentation/media/v4l-drivers/cpia2.rst b/Documentation/media/v4l-drivers/cpia2.rst
> index a86baa1c83f1..6f4258aebbfe 100644
> --- a/Documentation/media/v4l-drivers/cpia2.rst
> +++ b/Documentation/media/v4l-drivers/cpia2.rst
> @@ -147,49 +147,3 @@ We are providing a modified gqcam application to view the output. In
>  order to avoid confusion, here it is called mview.  There is also the qx5view
>  program which can also control the lights on the qx5 microscope. MJPEG Tools
>  (http://mjpeg.sourceforge.net) can also be used to record from the camera.
> -
> -Notes to developers
> -~~~~~~~~~~~~~~~~~~~
> -
> -   - This is a driver version stripped of the 2.4 back compatibility
> -     and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
> -
> -Programmer's overview of cpia2 driver
> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -
> -Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
> -division of ST Microelectronics).  There are two versions.  The first is the
> -STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
> -up to CIF, and 15 fps for VGA frames.  The STV0676 is an improved version,
> -which can handle up to 30 fps VGA.  Both coprocessors can be attached to two
> -CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor.  These will
> -be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
> -
> -The two chipsets operate almost identically.  The core is an 8051 processor,
> -running two different versions of firmware.  The 672 runs the VP4 video
> -processor code, the 676 runs VP5.  There are a few differences in register
> -mappings for the two chips.  In these cases, the symbols defined in the
> -header files are marked with VP4 or VP5 as part of the symbol name.
> -
> -The cameras appear externally as three sets of registers. Setting register
> -values is the only way to control the camera.  Some settings are
> -interdependant, such as the sequence required to power up the camera. I will
> -try to make note of all of these cases.
> -
> -The register sets are called blocks.  Block 0 is the system block.  This
> -section is always powered on when the camera is plugged in.  It contains
> -registers that control housekeeping functions such as powering up the video
> -processor.  The video processor is the VP block.  These registers control
> -how the video from the sensor is processed.  Examples are timing registers,
> -user mode (vga, qvga), scaling, cropping, framerates, and so on.  The last
> -block is the video compressor (VC).  The video stream sent from the camera is
> -compressed as Motion JPEG (JPEGA).  The VC controls all of the compression
> -parameters.  Looking at the file cpia2_registers.h, you can get a full view
> -of these registers and the possible values for most of them.
> -
> -One or more registers can be set or read by sending a usb control message to
> -the camera.  There are three modes for this.  Block mode requests a number
> -of contiguous registers.  Random mode reads or writes random registers with
> -a tuple structure containing address/value pairs.  The repeat mode is only
> -used by VP4 to load a firmware patch.  It contains a starting address and
> -a sequence of bytes to be written into a gpio port.
> diff --git a/Documentation/media/v4l-drivers/cpia2_devel.rst b/Documentation/media/v4l-drivers/cpia2_devel.rst
> new file mode 100644
> index 000000000000..decaa4768c78
> --- /dev/null
> +++ b/Documentation/media/v4l-drivers/cpia2_devel.rst
> @@ -0,0 +1,56 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +The cpia2 driver
> +================
> +
> +Authors: Peter Pregler <Peter_Pregler@email.com>,
> +Scott J. Bertin <scottbertin@yahoo.com>, and
> +Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which
> +this one was modelled from.
> +
> +
> +Notes to developers
> +~~~~~~~~~~~~~~~~~~~
> +
> +   - This is a driver version stripped of the 2.4 back compatibility
> +     and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support.
> +
> +Programmer's overview of cpia2 driver
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +Cpia2 is the second generation video coprocessor from VLSI Vision Ltd (now a
> +division of ST Microelectronics).  There are two versions.  The first is the
> +STV0672, which is capable of up to 30 frames per second (fps) in frame sizes
> +up to CIF, and 15 fps for VGA frames.  The STV0676 is an improved version,
> +which can handle up to 30 fps VGA.  Both coprocessors can be attached to two
> +CMOS sensors - the vvl6410 CIF sensor and the vvl6500 VGA sensor.  These will
> +be referred to as the 410 and the 500 sensors, or the CIF and VGA sensors.
> +
> +The two chipsets operate almost identically.  The core is an 8051 processor,
> +running two different versions of firmware.  The 672 runs the VP4 video
> +processor code, the 676 runs VP5.  There are a few differences in register
> +mappings for the two chips.  In these cases, the symbols defined in the
> +header files are marked with VP4 or VP5 as part of the symbol name.
> +
> +The cameras appear externally as three sets of registers. Setting register
> +values is the only way to control the camera.  Some settings are
> +interdependant, such as the sequence required to power up the camera. I will
> +try to make note of all of these cases.
> +
> +The register sets are called blocks.  Block 0 is the system block.  This
> +section is always powered on when the camera is plugged in.  It contains
> +registers that control housekeeping functions such as powering up the video
> +processor.  The video processor is the VP block.  These registers control
> +how the video from the sensor is processed.  Examples are timing registers,
> +user mode (vga, qvga), scaling, cropping, framerates, and so on.  The last
> +block is the video compressor (VC).  The video stream sent from the camera is
> +compressed as Motion JPEG (JPEGA).  The VC controls all of the compression
> +parameters.  Looking at the file cpia2_registers.h, you can get a full view
> +of these registers and the possible values for most of them.
> +
> +One or more registers can be set or read by sending a usb control message to
> +the camera.  There are three modes for this.  Block mode requests a number
> +of contiguous registers.  Random mode reads or writes random registers with
> +a tuple structure containing address/value pairs.  The repeat mode is only
> +used by VP4 to load a firmware patch.  It contains a starting address and
> +a sequence of bytes to be written into a gpio port.
> diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst
> index eca22b82de94..72fbb394f6a2 100644
> --- a/Documentation/media/v4l-drivers/index.rst
> +++ b/Documentation/media/v4l-drivers/index.rst
> @@ -65,3 +65,5 @@ For more details see the file COPYING in the source distribution of Linux.
>  	vimc
>  	vivid
>  	zr364xx
> +
> +	cpia2_devel
> 


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide
  2020-03-10 13:43 ` [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide Mauro Carvalho Chehab
@ 2020-03-12  7:25   ` Hans Verkuil
  0 siblings, 0 replies; 26+ messages in thread
From: Hans Verkuil @ 2020-03-12  7:25 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, linux-media, Steve Longerbeam,
	Philipp Zabel, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
	Fabio Estevam, NXP Linux Team, Rui Miguel Silva, Sakari Ailus,
	Andy Walls, Todor Tomov, Antoine Jacquet, Harry Wei, Alex Shi,
	Malcolm Priestley, linux-arm-kernel, linux-usb

On 3/10/20 2:43 PM, Mauro Carvalho Chehab wrote:
> Most of the driver-specific documentation is meant to help
> users of the media subsystem.
> 
> Move them to the admin-guide.
> 
> It should be noticed, however, that several of those files
> are outdated and will require further work in order to make
> them useful again.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  Documentation/admin-guide/index.rst           |   1 +
>  .../admin-guide/kernel-parameters.txt         |   4 +-
>  .../media}/au0828-cardlist.rst                |   0
>  .../media}/avermedia.rst                      |   0
>  .../media}/bt8xx.rst                          |   8 +-
>  .../media}/bttv-cardlist.rst                  |   0
>  .../media}/bttv.rst                           |   0
>  .../media}/cafe_ccic.rst                      |   0
>  .../media}/cardlist.rst                       |   0
>  .../media}/cards.rst                          |   0
>  .../dvb-drivers => admin-guide/media}/ci.rst  |   0
>  .../media}/cpia2.rst                          |   0
>  .../media}/cx23885-cardlist.rst               |   0
>  .../media}/cx88-cardlist.rst                  |   0
>  .../media}/cx88.rst                           |   0
>  .../media}/davinci-vpbe.rst                   |   0
>  .../media}/em28xx-cardlist.rst                |   0
>  .../dvb-drivers => admin-guide/media}/faq.rst |   0
>  .../media}/fimc.rst                           |   0
>  .../media}/gspca-cardlist.rst                 |   0
>  .../v4l-drivers => admin-guide/media}/imx.rst |   0
>  .../media}/imx7.rst                           |   0
>  Documentation/admin-guide/media/index.rst     | 104 ++++++++++++++++++
>  .../media}/intro.rst                          |   0
>  .../media}/ipu3.rst                           |   0
>  .../media}/ipu3_rcb.svg                       |   0
>  .../media}/ivtv-cardlist.rst                  |   0
>  .../media}/ivtv.rst                           |   0
>  .../media}/lmedm04.rst                        |   0
>  .../media}/meye.rst                           |   0
>  .../media}/omap3isp.rst                       |   0
>  .../media}/omap4_camera.rst                   |   0
>  .../media}/opera-firmware.rst                 |   0
>  .../media}/philips.rst                        |   0
>  .../media}/pulse8-cec.rst                     |   0
>  .../media}/qcom_camss.rst                     |   0
>  .../media}/qcom_camss_8x96_graph.dot          |   0
>  .../media}/qcom_camss_graph.dot               |   0
>  .../media}/rcar-fdp1.rst                      |   0
>  .../media}/saa7134-cardlist.rst               |   0
>  .../media}/saa7134.rst                        |   0
>  .../media}/saa7164-cardlist.rst               |   0
>  .../media}/si470x.rst                         |   0
>  .../media}/si4713.rst                         |   0
>  .../media}/si476x.rst                         |   0
>  .../media}/technisat.rst                      |   0
>  .../media}/tm6000-cardlist.rst                |   0
>  .../media}/ttusb-dec.rst                      |   0
>  .../media}/tuner-cardlist.rst                 |   0
>  .../media}/udev.rst                           |   0
>  .../media}/usbvision-cardlist.rst             |   0
>  .../media}/v4l-with-ir.rst                    |   0
>  .../media}/vimc.dot                           |   0
>  .../media}/vimc.rst                           |   0
>  .../media}/vivid.rst                          |   0
>  .../media}/zr364xx.rst                        |   0
>  Documentation/media/cec-drivers/index.rst     |  34 ------
>  Documentation/media/dvb-drivers/index.rst     |  11 --
>  Documentation/media/index.rst                 |   4 +-
>  Documentation/media/v4l-drivers/index.rst     |  25 -----
>  .../zh_CN/video4linux/omap3isp.txt            |   4 +-
>  .../media/v4l/dev-sliced-vbi.rst              |   2 +-
>  .../media/v4l/ext-ctrls-codec.rst             |   2 +-
>  .../media/v4l/ext-ctrls-image-process.rst     |   2 +-
>  .../media/v4l/pixfmt-reserved.rst             |   2 +-
>  MAINTAINERS                                   |  22 ++--
>  drivers/media/pci/bt8xx/Kconfig               |   2 +-
>  drivers/media/pci/meye/Kconfig                |   2 +-
>  drivers/media/radio/si470x/Kconfig            |   2 +-
>  drivers/media/usb/dvb-usb-v2/lmedm04.c        |   2 +-
>  drivers/media/usb/gspca/Kconfig               |   2 +-
>  drivers/media/usb/zr364xx/Kconfig             |   2 +-
>  72 files changed, 136 insertions(+), 101 deletions(-)
>  rename Documentation/{media/v4l-drivers => admin-guide/media}/au0828-cardlist.rst (100%)
>  rename Documentation/{media/dvb-drivers => admin-guide/media}/avermedia.rst (100%)
>  rename Documentation/{media/dvb-drivers => admin-guide/media}/bt8xx.rst (93%)

I would personally prefer to keep the split between v4l and dvb drivers, rather
then putting them all in the same directory.

What was the reason behind this choice?

Regards,

	Hans

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v2 20/22] media: docs: move driver-specific info to driver-api
  2020-03-10 13:43 ` [PATCH v2 20/22] media: docs: move driver-specific info to driver-api Mauro Carvalho Chehab
@ 2020-03-12  7:26   ` Hans Verkuil
  0 siblings, 0 replies; 26+ messages in thread
From: Hans Verkuil @ 2020-03-12  7:26 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, linux-media, Mike Isely,
	Andy Walls, Antti Palosaari, Malcolm Priestley, Michael Krufky

On 3/10/20 2:43 PM, Mauro Carvalho Chehab wrote:
> Those documents don't really describe the driver API.
> 
> Instead, they contain development-specific information.
> 
> Yet, as the main index file describes the content of it as:
> 
> 	"how specific kernel subsystems work
> 	 from the point of view of a kernel developer"
> 
> It seems to be the better fit.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  .../media/drivers}/bttv-devel.rst             |  0
>  .../media/drivers}/contributors.rst           |  0
>  .../media/drivers}/cpia2_devel.rst            |  0
>  .../media/drivers}/cx2341x-devel.rst          |  0
>  .../media/drivers}/cx88-devel.rst             |  0
>  .../media/drivers}/davinci-vpbe-devel.rst     |  0
>  .../media/drivers}/dvb-usb.rst                |  0
>  .../media/drivers}/fimc-devel.rst             |  0
>  .../media/drivers}/frontends.rst              |  0
>  .../media/drivers}/index.rst                  | 29 ++++++++++++++++++-
>  .../media/drivers}/pvrusb2.rst                |  0
>  .../media/drivers}/pxa_camera.rst             |  0
>  .../media/drivers}/radiotrack.rst             |  0
>  .../media/drivers}/saa7134-devel.rst          |  0
>  .../media/drivers}/sh_mobile_ceu_camera.rst   |  0
>  .../media/drivers}/tuners.rst                 |  0
>  .../media/drivers}/vimc-devel.rst             |  0
>  Documentation/driver-api/media/index.rst      |  2 ++
>  Documentation/media/index.rst                 |  1 -
>  Documentation/media/v4l-drivers/index.rst     | 14 ---------
>  MAINTAINERS                                   |  8 ++---
>  drivers/media/dvb-frontends/dib3000.h         |  2 +-
>  drivers/media/dvb-frontends/dib3000mb.c       |  2 +-
>  drivers/media/dvb-frontends/eds1547.h         |  2 +-
>  drivers/media/dvb-frontends/z0194a.h          |  2 +-
>  drivers/media/pci/cx18/cx18-streams.c         |  4 +--
>  drivers/media/platform/pxa_camera.c           |  4 +--
>  drivers/media/radio/Kconfig                   |  2 +-
>  drivers/media/usb/dvb-usb-v2/Kconfig          |  2 +-
>  drivers/media/usb/dvb-usb-v2/gl861.c          |  2 +-
>  drivers/media/usb/dvb-usb-v2/lmedm04.c        |  2 +-
>  drivers/media/usb/dvb-usb-v2/lmedm04.h        |  2 +-
>  drivers/media/usb/dvb-usb-v2/mxl111sf.c       |  2 +-
>  drivers/media/usb/dvb-usb-v2/mxl111sf.h       |  2 +-
>  drivers/media/usb/dvb-usb/Kconfig             |  2 +-
>  drivers/media/usb/dvb-usb/a800.c              |  2 +-
>  drivers/media/usb/dvb-usb/af9005-fe.c         |  2 +-
>  drivers/media/usb/dvb-usb/af9005-remote.c     |  2 +-
>  drivers/media/usb/dvb-usb/af9005.c            |  2 +-
>  drivers/media/usb/dvb-usb/af9005.h            |  2 +-
>  drivers/media/usb/dvb-usb/az6027.c            |  2 +-
>  drivers/media/usb/dvb-usb/cxusb.c             |  2 +-
>  drivers/media/usb/dvb-usb/dibusb-common.c     |  2 +-
>  drivers/media/usb/dvb-usb/dibusb-mb.c         |  2 +-
>  drivers/media/usb/dvb-usb/dibusb-mc-common.c  |  2 +-
>  drivers/media/usb/dvb-usb/dibusb-mc.c         |  2 +-
>  drivers/media/usb/dvb-usb/dibusb.h            |  2 +-
>  drivers/media/usb/dvb-usb/digitv.c            |  2 +-
>  drivers/media/usb/dvb-usb/dtt200u-fe.c        |  2 +-
>  drivers/media/usb/dvb-usb/dtt200u.c           |  2 +-
>  drivers/media/usb/dvb-usb/dtt200u.h           |  2 +-
>  drivers/media/usb/dvb-usb/dvb-usb-init.c      |  2 +-
>  drivers/media/usb/dvb-usb/dw2102.c            |  2 +-
>  drivers/media/usb/dvb-usb/gp8psk.c            |  2 +-
>  drivers/media/usb/dvb-usb/gp8psk.h            |  2 +-
>  drivers/media/usb/dvb-usb/m920x.c             |  2 +-
>  drivers/media/usb/dvb-usb/nova-t-usb2.c       |  2 +-
>  drivers/media/usb/dvb-usb/opera1.c            |  2 +-
>  drivers/media/usb/dvb-usb/ttusb2.c            |  2 +-
>  drivers/media/usb/dvb-usb/ttusb2.h            |  2 +-
>  drivers/media/usb/dvb-usb/umt-010.c           |  2 +-
>  drivers/media/usb/dvb-usb/vp702x-fe.c         |  2 +-
>  drivers/media/usb/dvb-usb/vp702x.c            |  2 +-
>  drivers/media/usb/dvb-usb/vp7045-fe.c         |  2 +-
>  drivers/media/usb/dvb-usb/vp7045.c            |  2 +-
>  drivers/media/usb/dvb-usb/vp7045.h            |  2 +-
>  66 files changed, 81 insertions(+), 67 deletions(-)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/bttv-devel.rst (100%)
>  rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/contributors.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cpia2_devel.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cx2341x-devel.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/cx88-devel.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/davinci-vpbe-devel.rst (100%)
>  rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/dvb-usb.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/fimc-devel.rst (100%)
>  rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/frontends.rst (100%)
>  rename Documentation/{media/dvb-drivers => driver-api/media/drivers}/index.rst (67%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pvrusb2.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/pxa_camera.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/radiotrack.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/saa7134-devel.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/sh_mobile_ceu_camera.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/tuners.rst (100%)
>  rename Documentation/{media/v4l-drivers => driver-api/media/drivers}/vimc-devel.rst (100%)

Same question here: can we keep the v4l/dvb split?

Regards,

	Hans

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff
  2020-03-10 13:43 ` [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff Mauro Carvalho Chehab
@ 2020-03-12  7:31   ` Hans Verkuil
  0 siblings, 0 replies; 26+ messages in thread
From: Hans Verkuil @ 2020-03-12  7:31 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Doc Mailing List
  Cc: linux-kernel, Jonathan Corbet, linux-media, Shawn Guo,
	Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam,
	NXP Linux Team, Ramesh Shanmugasundaram, linux-arm-kernel

On 3/10/20 2:43 PM, Mauro Carvalho Chehab wrote:
> There are some uAPI stuff that are driver-specific. Add them
> to the main media uAPI body.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  Documentation/media/index.rst                              | 2 --
>  .../media/drivers}/cx2341x-uapi.rst                        | 0
>  .../media/drivers}/imx-uapi.rst                            | 0
>  .../v4l-drivers => userspace-api/media/drivers}/index.rst  | 7 +++----
>  .../media/drivers}/max2175.rst                             | 0
>  .../media/drivers}/meye-uapi.rst                           | 0
>  .../media/drivers}/omap3isp-uapi.rst                       | 0
>  .../media/drivers}/uvcvideo.rst                            | 0
>  Documentation/userspace-api/media/index.rst                | 2 ++
>  Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst   | 2 +-
>  Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst  | 2 +-
>  Documentation/userspace-api/media/v4l/pixfmt-reserved.rst  | 2 +-
>  MAINTAINERS                                                | 4 ++--
>  drivers/media/i2c/max2175.c                                | 6 +++---
>  14 files changed, 13 insertions(+), 14 deletions(-)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/cx2341x-uapi.rst (100%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/imx-uapi.rst (100%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/index.rst (97%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/max2175.rst (100%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/meye-uapi.rst (100%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/omap3isp-uapi.rst (100%)
>  rename Documentation/{media/v4l-drivers => userspace-api/media/drivers}/uvcvideo.rst (100%)
> 
> diff --git a/Documentation/media/index.rst b/Documentation/media/index.rst
> index a5cd600e0b04..e93fd88881af 100644
> --- a/Documentation/media/index.rst
> +++ b/Documentation/media/index.rst
> @@ -15,8 +15,6 @@ Linux Media Subsystem Documentation
>     ../userspace-api/media/index
>     ../driver-api/media/index
>  
> -   v4l-drivers/index
> -
>  .. only:: html and subproject
>  
>     Indices
> diff --git a/Documentation/media/v4l-drivers/cx2341x-uapi.rst b/Documentation/userspace-api/media/drivers/cx2341x-uapi.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/cx2341x-uapi.rst
> rename to Documentation/userspace-api/media/drivers/cx2341x-uapi.rst
> diff --git a/Documentation/media/v4l-drivers/imx-uapi.rst b/Documentation/userspace-api/media/drivers/imx-uapi.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/imx-uapi.rst
> rename to Documentation/userspace-api/media/drivers/imx-uapi.rst
> diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/userspace-api/media/drivers/index.rst
> similarity index 97%
> rename from Documentation/media/v4l-drivers/index.rst
> rename to Documentation/userspace-api/media/drivers/index.rst
> index ee7faff88a33..05a82f8c0c99 100644
> --- a/Documentation/media/v4l-drivers/index.rst
> +++ b/Documentation/userspace-api/media/drivers/index.rst
> @@ -2,7 +2,7 @@
>  
>  .. include:: <isonum.txt>
>  
> -.. _v4l-drivers:
> +.. _v4l-drivers_uapi:
>  
>  ################################################
>  Video4Linux (V4L)  driver-specific documentation
> @@ -31,10 +31,9 @@ For more details see the file COPYING in the source distribution of Linux.
>  	:maxdepth: 5
>  	:numbered:
>  
> -	max2175
> -	uvcvideo
> -
>  	cx2341x-uapi
>  	imx-uapi
> +	max2175
>  	meye-uapi
>  	omap3isp-uapi
> +	uvcvideo
> diff --git a/Documentation/media/v4l-drivers/max2175.rst b/Documentation/userspace-api/media/drivers/max2175.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/max2175.rst
> rename to Documentation/userspace-api/media/drivers/max2175.rst
> diff --git a/Documentation/media/v4l-drivers/meye-uapi.rst b/Documentation/userspace-api/media/drivers/meye-uapi.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/meye-uapi.rst
> rename to Documentation/userspace-api/media/drivers/meye-uapi.rst
> diff --git a/Documentation/media/v4l-drivers/omap3isp-uapi.rst b/Documentation/userspace-api/media/drivers/omap3isp-uapi.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/omap3isp-uapi.rst
> rename to Documentation/userspace-api/media/drivers/omap3isp-uapi.rst
> diff --git a/Documentation/media/v4l-drivers/uvcvideo.rst b/Documentation/userspace-api/media/drivers/uvcvideo.rst
> similarity index 100%
> rename from Documentation/media/v4l-drivers/uvcvideo.rst
> rename to Documentation/userspace-api/media/drivers/uvcvideo.rst
> diff --git a/Documentation/userspace-api/media/index.rst b/Documentation/userspace-api/media/index.rst
> index 614310f82395..bcfdd1a5caa0 100644
> --- a/Documentation/userspace-api/media/index.rst
> +++ b/Documentation/userspace-api/media/index.rst
> @@ -31,3 +31,5 @@ entitled "GNU Free Documentation License".
>      cec/cec-api
>      gen-errors
>      fdl-appendix
> +
> +    drivers/index
> diff --git a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
> index 751c6590e774..dd0b6646beb5 100644
> --- a/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
> +++ b/Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst
> @@ -438,7 +438,7 @@ MPEG stream.
>  *Historical context*: This format specification originates from a
>  custom, embedded, sliced VBI data format used by the ``ivtv`` driver.
>  This format has already been informally specified in the kernel sources
> -in the file ``Documentation/media/v4l-drivers/cx2341x-uapi.rst`` . The
> +in the file ``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst`` . The
>  maximum size of the payload and other aspects of this format are driven
>  by the CX23415 MPEG decoder's capabilities and limitations with respect
>  to extracting, decoding, and displaying sliced VBI data embedded within
> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> index f81016c97a0d..9b48338fb783 100644
> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
> @@ -116,7 +116,7 @@ enum v4l2_mpeg_stream_vbi_fmt -
>      * - ``V4L2_MPEG_STREAM_VBI_FMT_IVTV``
>        - VBI in private packets, IVTV format (documented in the kernel
>  	sources in the file
> -	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``)
> +	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``)

This chunk (and several others like this one) does not appear to belong to
this patch. It looks like they really should be merged with patch 19 instead.

Regards,

	Hans

>  
>  
>  
> diff --git a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> index dbdcf6c9f072..59b9e7238f90 100644
> --- a/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> +++ b/Documentation/userspace-api/media/v4l/pixfmt-reserved.rst
> @@ -58,7 +58,7 @@ please make a proposal on the linux-media mailing list.
>        - YUV 4:2:0 format used by the IVTV driver.
>  
>  	The format is documented in the kernel sources in the file
> -	``Documentation/media/v4l-drivers/cx2341x-uapi.rst``
> +	``Documentation/userspace-api/media/drivers/cx2341x-uapi.rst``
>      * .. _V4L2-PIX-FMT-CPIA1:
>  
>        - ``V4L2_PIX_FMT_CPIA1``
> diff --git a/MAINTAINERS b/MAINTAINERS
> index cf4fd454e053..a883c2e53b86 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -10135,7 +10135,7 @@ L:	linux-media@vger.kernel.org
>  T:	git git://linuxtv.org/media_tree.git
>  S:	Maintained
>  F:	Documentation/devicetree/bindings/media/i2c/max2175.txt
> -F:	Documentation/media/v4l-drivers/max2175.rst
> +F:	Documentation/userspace-api/media/drivers/max2175.rst
>  F:	drivers/media/i2c/max2175*
>  F:	include/uapi/linux/max2175.h
>  
> @@ -11251,7 +11251,7 @@ F:	kernel/module.c
>  MOTION EYE VAIO PICTUREBOOK CAMERA DRIVER
>  W:	http://popies.net/meye/
>  S:	Orphan
> -F:	Documentation/media/v4l-drivers/meye*
> +F:	Documentation/userspace-api/media/drivers/meye*
>  F:	drivers/media/pci/meye/
>  F:	include/uapi/linux/meye.h
>  
> diff --git a/drivers/media/i2c/max2175.c b/drivers/media/i2c/max2175.c
> index 506a30e69ced..03b4ed3a61b8 100644
> --- a/drivers/media/i2c/max2175.c
> +++ b/drivers/media/i2c/max2175.c
> @@ -1194,7 +1194,7 @@ static const struct v4l2_ctrl_ops max2175_ctrl_ops = {
>  
>  /*
>   * I2S output enable/disable configuration. This is a private control.
> - * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
> + * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
>   */
>  static const struct v4l2_ctrl_config max2175_i2s_en = {
>  	.ops = &max2175_ctrl_ops,
> @@ -1210,7 +1210,7 @@ static const struct v4l2_ctrl_config max2175_i2s_en = {
>  
>  /*
>   * HSLS value control LO freq adjacent location configuration.
> - * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
> + * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
>   */
>  static const struct v4l2_ctrl_config max2175_hsls = {
>  	.ops = &max2175_ctrl_ops,
> @@ -1226,7 +1226,7 @@ static const struct v4l2_ctrl_config max2175_hsls = {
>  /*
>   * Rx modes below are a set of preset configurations that decides the tuner's
>   * sck and sample rate of transmission. They are separate for EU & NA regions.
> - * Refer to Documentation/media/v4l-drivers/max2175.rst for more details.
> + * Refer to Documentation/userspace-api/media/drivers/max2175.rst for more details.
>   */
>  static const char * const max2175_ctrl_eu_rx_modes[] = {
>  	[MAX2175_EU_FM_1_2]	= "EU FM 1.2",
> 


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2020-03-12  7:31 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-10 13:42 [PATCH v2 00/22] Move media documentation files Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 01/22] media: docs: avermedia.rst: mark a table as such Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 02/22] media: docs: move soc-camera.rst to staging Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 03/22] media: docs: split cpia2.rst on two files Mauro Carvalho Chehab
2020-03-12  7:18   ` Hans Verkuil
2020-03-10 13:42 ` [PATCH v2 04/22] media: docs: split ci.rst into uAPI and user guide docs Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 05/22] media: docs: split meye.rst into admin and uAPI docs Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 06/22] media: docs: split vimc.rst into devel and admin parts Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 07/22] media: docs: split development info from bttv.rst Mauro Carvalho Chehab
2020-03-10 13:42 ` [PATCH v2 08/22] media: docs: split development info from cx88.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 09/22] media: docs: split cx2341x.rst into different audiences Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 10/22] media: docs: cx18-streams.c: fix broken references to docs Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 11/22] media: docs: split uAPI info from davinci-vpbe.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 12/22] media: docs: split uAPI info from fimc.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 13/22] media: docs: split uAPI info from saa7134-devel.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 14/22] media: docs: split uAPI info from omap3isp.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 15/22] media: docs: split uAPI info from imx.rst Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 17/22] media: docs: kAPI docs: move them to driver-api Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 18/22] media: docs: move fourcc file to the uAPI document Mauro Carvalho Chehab
2020-03-10 13:43 ` [PATCH v2 19/22] media: docs: move user-facing docs to the admin guide Mauro Carvalho Chehab
2020-03-12  7:25   ` Hans Verkuil
2020-03-10 13:43 ` [PATCH v2 20/22] media: docs: move driver-specific info to driver-api Mauro Carvalho Chehab
2020-03-12  7:26   ` Hans Verkuil
2020-03-10 13:43 ` [PATCH v2 21/22] media: docs: add an uAPI chapter for driver-specific stuff Mauro Carvalho Chehab
2020-03-12  7:31   ` Hans Verkuil
2020-03-10 13:43 ` [PATCH v2 22/22] media: docs: get rid of Documentation/media/ Mauro Carvalho Chehab

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).