History

Merge tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull documentation updates from Mauro Carvalho Chehab: "A series of patches addressing warnings produced by make htmldocs. This includes: - kernel-doc markup fixes - ReST fixes - Updates at the build system in order to support newer versions of the docs build toolchain (Sphinx) After this series, the number of html build warnings should reduce significantly, and building with Sphinx 3.1 or later should now be supported (although it is still recommended to use Sphinx 2.4.4). As agreed with Jon, I should be sending you a late pull request by the end of the merge window addressing remaining issues with docs build, as there are a number of warning fixes that depends on pull requests that should be happening along the merge window. The end goal is to have a clean htmldocs build on Kernel 5.10. PS. It should be noticed that Sphinx 3.0 is not currently supported, as it lacks support for C domain namespaces. Such feature, needed in order to document uAPI system calls with Sphinx 3.x, was added only on Sphinx 3.1" * tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (75 commits) PM / devfreq: remove a duplicated kernel-doc markup mm/doc: fix a literal block markup workqueue: fix a kernel-doc warning docs: virt: user_mode_linux_howto_v2.rst: fix a literal block markup Input: sparse-keymap: add a description for @sw rcu/tree: docs: document bkvcache new members at struct kfree_rcu_cpu nl80211: docs: add a description for s1g_cap parameter usb: docs: document altmode register/unregister functions kunit: test.h: fix a bad kernel-doc markup drivers: core: fix kernel-doc markup for dev_err_probe() docs: bio: fix a kerneldoc markup kunit: test.h: solve kernel-doc warnings block: bio: fix a warning at the kernel-doc markups docs: powerpc: syscall64-abi.rst: fix a malformed table drivers: net: hamradio: fix document location net: appletalk: Kconfig: Fix docs location dt-bindings: fix references to files converted to yaml memblock: get rid of a :c:type leftover math64.h: kernel-docs: Convert some markups into normal comments media: uAPI: buffer.rst: remove a left-over documentation ...

Linus Torvalds committed 6 years ago

Commit 54a4c782 parents 93f3d8f 3e2ac97309 files · +1952 −2275Browse files

Unified · Split

309 files
  1. Documentation/admin-guide/pm/cpufreq.rst +5 −6
  2. Documentation/admin-guide/pstore-blk.rst +2 −8
  3. Documentation/block/blk-mq.rst +6 −6
  4. Documentation/block/inline-encryption.rst +4 −4
  5. Documentation/conf.py +62 −3
  6. Documentation/core-api/genericirq.rst +2 −0
  7. Documentation/core-api/kernel-api.rst +0 −6
  8. Documentation/core-api/workqueue.rst +2 −0
  9. Documentation/dev-tools/kgdb.rst +3 −3
  10. Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt +1 −1
  11. Documentation/devicetree/bindings/mailbox/omap-mailbox.txt +1 −1
  12. Documentation/devicetree/bindings/media/i2c/tvp5150.txt +1 −1
  13. Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.yaml +1 −1
  14. Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml +1 −1
  15. Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml +1 −1
  16. Documentation/doc-guide/kernel-doc.rst +8 −0
  17. Documentation/driver-api/basics.rst +4 −15
  18. Documentation/driver-api/device_link.rst +4 −9
  19. Documentation/driver-api/fpga/fpga-bridge.rst +2 −2
  20. Documentation/driver-api/fpga/fpga-mgr.rst +3 −3
  21. Documentation/driver-api/fpga/fpga-programming.rst +1 −1
  22. Documentation/driver-api/fpga/fpga-region.rst +3 −3
  23. Documentation/driver-api/iio/buffers.rst +1 −1
  24. Documentation/driver-api/iio/core.rst +3 −3
  25. Documentation/driver-api/iio/hw-consumer.rst +1 −1
  26. Documentation/driver-api/iio/triggered-buffers.rst +1 −1
  27. Documentation/driver-api/iio/triggers.rst +2 −2
  28. Documentation/driver-api/index.rst +0 −1
  29. Documentation/driver-api/infrastructure.rst +1 −3
  30. Documentation/driver-api/libata.rst +1 −1
  31. Documentation/driver-api/media/cec-core.rst +1 −1
  32. Documentation/driver-api/media/dtv-frontend.rst +2 −2
  33. Documentation/driver-api/media/mc-core.rst +12 −12
  34. Documentation/driver-api/media/v4l2-controls.rst +1 −1
  35. Documentation/driver-api/media/v4l2-dev.rst +4 −4
  36. Documentation/driver-api/media/v4l2-device.rst +3 −3
  37. Documentation/driver-api/media/v4l2-event.rst +5 −5
  38. Documentation/driver-api/media/v4l2-fh.rst +8 −8
  39. Documentation/driver-api/media/v4l2-subdev.rst +1 −1
  40. Documentation/driver-api/mei/mei.rst +1 −1
  41. Documentation/driver-api/pm/cpuidle.rst +30 −35
  42. Documentation/driver-api/pm/devices.rst +9 −17
  43. Documentation/driver-api/regulator.rst +2 −2
  44. Documentation/driver-api/sound.rst +0 −54
  45. Documentation/driver-api/target.rst +0 −12
  46. Documentation/driver-api/usb/URB.rst +1 −1
  47. Documentation/driver-api/usb/gadget.rst +5 −5
  48. Documentation/driver-api/usb/hotplug.rst +1 −1
  49. Documentation/driver-api/usb/typec_bus.rst +7 −1
  50. Documentation/filesystems/fscrypt.rst +36 −38
  51. Documentation/filesystems/fsverity.rst +1 −1
  52. Documentation/gpu/i915.rst +25 −4
  53. Documentation/networking/ieee802154.rst +10 −8
  54. Documentation/powerpc/syscall64-abi.rst +16 −16
  55. Documentation/sound/designs/tracepoints.rst +11 −11
  56. Documentation/sound/kernel-api/alsa-driver-api.rst +1 −0
  57. Documentation/sound/kernel-api/writing-an-alsa-driver.rst +49 −61
  58. Documentation/sphinx/automarkup.py +97 −11
  59. Documentation/sphinx/cdomain.py +92 −1
  60. Documentation/sphinx/kerneldoc.py +14 −1
  61. Documentation/sphinx/parse-headers.pl +1 −1
  62. Documentation/trace/ftrace-uses.rst +6 −6
  63. Documentation/translations/it_IT/kernel-hacking/hacking.rst +1 −1
  64. Documentation/translations/it_IT/kernel-hacking/locking.rst +2 −0
  65. Documentation/translations/zh_CN/arm64/amu.rst +2 −2
  66. Documentation/userspace-api/media/cec/cec-func-close.rst +3 −7
  67. Documentation/userspace-api/media/cec/cec-func-ioctl.rst +4 −7
  68. Documentation/userspace-api/media/cec/cec-func-open.rst +3 −7
  69. Documentation/userspace-api/media/cec/cec-func-poll.rst +5 −9
  70. Documentation/userspace-api/media/cec/cec-ioc-adap-g-caps.rst +5 −5
  71. Documentation/userspace-api/media/cec/cec-ioc-adap-g-conn-info.rst +6 −5
  72. Documentation/userspace-api/media/cec/cec-ioc-adap-g-log-addrs.rst +8 −12
  73. Documentation/userspace-api/media/cec/cec-ioc-adap-g-phys-addr.rst +8 −7
  74. Documentation/userspace-api/media/cec/cec-ioc-dqevent.rst +5 −10
  75. Documentation/userspace-api/media/cec/cec-ioc-g-mode.rst +8 −8
  76. Documentation/userspace-api/media/cec/cec-ioc-receive.rst +8 −10
  77. Documentation/userspace-api/media/dvb/audio-bilingual-channel-select.rst +3 −4
  78. Documentation/userspace-api/media/dvb/audio-channel-select.rst +3 −5
  79. Documentation/userspace-api/media/dvb/audio-clear-buffer.rst +4 −4
  80. Documentation/userspace-api/media/dvb/audio-continue.rst +3 −4
  81. Documentation/userspace-api/media/dvb/audio-fclose.rst +1 −6
  82. Documentation/userspace-api/media/dvb/audio-fopen.rst +1 −6
  83. Documentation/userspace-api/media/dvb/audio-fwrite.rst +1 −6
  84. Documentation/userspace-api/media/dvb/audio-get-capabilities.rst +3 −5
  85. Documentation/userspace-api/media/dvb/audio-get-status.rst +3 −5
  86. Documentation/userspace-api/media/dvb/audio-pause.rst +4 −5
  87. Documentation/userspace-api/media/dvb/audio-play.rst +3 −4
  88. Documentation/userspace-api/media/dvb/audio-select-source.rst +3 −5
  89. Documentation/userspace-api/media/dvb/audio-set-av-sync.rst +3 −5
  90. Documentation/userspace-api/media/dvb/audio-set-bypass-mode.rst +4 −5
  91. Documentation/userspace-api/media/dvb/audio-set-id.rst +4 −5
  92. Documentation/userspace-api/media/dvb/audio-set-mixer.rst +4 −5
  93. Documentation/userspace-api/media/dvb/audio-set-mute.rst +3 −5
  94. Documentation/userspace-api/media/dvb/audio-set-streamtype.rst +3 −7
  95. Documentation/userspace-api/media/dvb/audio-stop.rst +4 −5
  96. Documentation/userspace-api/media/dvb/ca-fclose.rst +2 −5
  97. Documentation/userspace-api/media/dvb/ca-fopen.rst +1 −6
  98. Documentation/userspace-api/media/dvb/ca-get-cap.rst +4 −4
  99. Documentation/userspace-api/media/dvb/ca-get-descr-info.rst +5 −4
  100. Documentation/userspace-api/media/dvb/ca-get-msg.rst +4 −6
  101. Documentation/userspace-api/media/dvb/ca-get-slot-info.rst +4 −5
  102. Documentation/userspace-api/media/dvb/ca-reset.rst +4 −5
  103. Documentation/userspace-api/media/dvb/ca-send-msg.rst +4 −5
  104. Documentation/userspace-api/media/dvb/ca-set-descr.rst +4 −4
  105. Documentation/userspace-api/media/dvb/dmx-add-pid.rst +4 −6
  106. Documentation/userspace-api/media/dvb/dmx-expbuf.rst +4 −7
  107. Documentation/userspace-api/media/dvb/dmx-fclose.rst +3 −6
  108. Documentation/userspace-api/media/dvb/dmx-fopen.rst +1 −4
  109. Documentation/userspace-api/media/dvb/dmx-fread.rst +2 −5
  110. Documentation/userspace-api/media/dvb/dmx-fwrite.rst +2 −4
  111. Documentation/userspace-api/media/dvb/dmx-get-pes-pids.rst +5 −7
  112. Documentation/userspace-api/media/dvb/dmx-get-stc.rst +5 −7
  113. Documentation/userspace-api/media/dvb/dmx-mmap.rst +6 −9
  114. Documentation/userspace-api/media/dvb/dmx-munmap.rst +5 −9
  115. Documentation/userspace-api/media/dvb/dmx-qbuf.rst +8 −9
  116. Documentation/userspace-api/media/dvb/dmx-querybuf.rst +4 −5
  117. Documentation/userspace-api/media/dvb/dmx-remove-pid.rst +4 −6
  118. Documentation/userspace-api/media/dvb/dmx-reqbufs.rst +4 −5
  119. Documentation/userspace-api/media/dvb/dmx-set-buffer-size.rst +4 −6
  120. Documentation/userspace-api/media/dvb/dmx-set-filter.rst +5 −7
  121. Documentation/userspace-api/media/dvb/dmx-set-pes-filter.rst +4 −9
  122. Documentation/userspace-api/media/dvb/dmx-start.rst +4 −7
  123. Documentation/userspace-api/media/dvb/dmx-stop.rst +4 −5
  124. Documentation/userspace-api/media/dvb/fe-diseqc-recv-slave-reply.rst +4 −5
  125. Documentation/userspace-api/media/dvb/fe-diseqc-reset-overload.rst +4 −5
  126. Documentation/userspace-api/media/dvb/fe-diseqc-send-burst.rst +4 −6
  127. Documentation/userspace-api/media/dvb/fe-diseqc-send-master-cmd.rst +4 −5
  128. Documentation/userspace-api/media/dvb/fe-dishnetwork-send-legacy-cmd.rst +4 −6
  129. Documentation/userspace-api/media/dvb/fe-enable-high-lnb-voltage.rst +4 −6
  130. Documentation/userspace-api/media/dvb/fe-get-event.rst +4 −8
  131. Documentation/userspace-api/media/dvb/fe-get-frontend.rst +4 −8
  132. Documentation/userspace-api/media/dvb/fe-get-info.rst +4 −7
  133. Documentation/userspace-api/media/dvb/fe-get-property.rst +7 −8
  134. Documentation/userspace-api/media/dvb/fe-read-ber.rst +4 −5
  135. Documentation/userspace-api/media/dvb/fe-read-signal-strength.rst +4 −5
  136. Documentation/userspace-api/media/dvb/fe-read-snr.rst +4 −5
  137. Documentation/userspace-api/media/dvb/fe-read-status.rst +4 −7
  138. Documentation/userspace-api/media/dvb/fe-read-uncorrected-blocks.rst +4 −5
  139. Documentation/userspace-api/media/dvb/fe-set-frontend-tune-mode.rst +4 −6
  140. Documentation/userspace-api/media/dvb/fe-set-frontend.rst +4 −7
  141. Documentation/userspace-api/media/dvb/fe-set-tone.rst +4 −6
  142. Documentation/userspace-api/media/dvb/fe-set-voltage.rst +4 −6
  143. Documentation/userspace-api/media/dvb/frontend_f_close.rst +2 −6
  144. Documentation/userspace-api/media/dvb/frontend_f_open.rst +2 −8
  145. Documentation/userspace-api/media/dvb/net-add-if.rst +4 −5
  146. Documentation/userspace-api/media/dvb/net-get-if.rst +4 −6
  147. Documentation/userspace-api/media/dvb/net-remove-if.rst +4 −6
  148. Documentation/userspace-api/media/dvb/video-clear-buffer.rst +3 −5
  149. Documentation/userspace-api/media/dvb/video-command.rst +4 −6
  150. Documentation/userspace-api/media/dvb/video-continue.rst +3 −5
  151. Documentation/userspace-api/media/dvb/video-fast-forward.rst +3 −7
  152. Documentation/userspace-api/media/dvb/video-fclose.rst +1 −5
  153. Documentation/userspace-api/media/dvb/video-fopen.rst +1 −5
  154. Documentation/userspace-api/media/dvb/video-freeze.rst +3 −5
  155. Documentation/userspace-api/media/dvb/video-fwrite.rst +1 −5
  156. Documentation/userspace-api/media/dvb/video-get-capabilities.rst +3 −5
  157. Documentation/userspace-api/media/dvb/video-get-event.rst +3 −5
  158. Documentation/userspace-api/media/dvb/video-get-frame-count.rst +3 −5
  159. Documentation/userspace-api/media/dvb/video-get-pts.rst +3 −5
  160. Documentation/userspace-api/media/dvb/video-get-size.rst +3 −5
  161. Documentation/userspace-api/media/dvb/video-get-status.rst +3 −4
  162. Documentation/userspace-api/media/dvb/video-play.rst +3 −5
  163. Documentation/userspace-api/media/dvb/video-select-source.rst +3 −4
  164. Documentation/userspace-api/media/dvb/video-set-blank.rst +3 −5
  165. Documentation/userspace-api/media/dvb/video-set-display-format.rst +3 −5
  166. Documentation/userspace-api/media/dvb/video-set-format.rst +3 −6
  167. Documentation/userspace-api/media/dvb/video-set-streamtype.rst +3 −5
  168. Documentation/userspace-api/media/dvb/video-slowmotion.rst +3 −7
  169. Documentation/userspace-api/media/dvb/video-stillpicture.rst +3 −5
  170. Documentation/userspace-api/media/dvb/video-stop.rst +3 −5
  171. Documentation/userspace-api/media/dvb/video-try-command.rst +3 −5
  172. Documentation/userspace-api/media/mediactl/media-func-close.rst +3 −7
  173. Documentation/userspace-api/media/mediactl/media-func-ioctl.rst +3 −7
  174. Documentation/userspace-api/media/mediactl/media-func-open.rst +3 −7
  175. Documentation/userspace-api/media/mediactl/media-ioc-device-info.rst +4 −9
  176. Documentation/userspace-api/media/mediactl/media-ioc-enum-entities.rst +4 −7
  177. Documentation/userspace-api/media/mediactl/media-ioc-enum-links.rst +4 −9
  178. Documentation/userspace-api/media/mediactl/media-ioc-g-topology.rst +4 −10
  179. Documentation/userspace-api/media/mediactl/media-ioc-request-alloc.rst +5 −6
  180. Documentation/userspace-api/media/mediactl/media-ioc-setup-link.rst +4 −6
  181. Documentation/userspace-api/media/mediactl/media-request-ioc-queue.rst +3 −4
  182. Documentation/userspace-api/media/mediactl/media-request-ioc-reinit.rst +4 −4
  183. Documentation/userspace-api/media/mediactl/request-api.rst +3 −2
  184. Documentation/userspace-api/media/mediactl/request-func-close.rst +2 −6
  185. Documentation/userspace-api/media/mediactl/request-func-ioctl.rst +2 −6
  186. Documentation/userspace-api/media/mediactl/request-func-poll.rst +4 −8
  187. Documentation/userspace-api/media/rc/lirc-get-features.rst +4 −5
  188. Documentation/userspace-api/media/rc/lirc-get-rec-mode.rst +7 −5
  189. Documentation/userspace-api/media/rc/lirc-get-rec-resolution.rst +4 −4
  190. Documentation/userspace-api/media/rc/lirc-get-send-mode.rst +7 −7
  191. Documentation/userspace-api/media/rc/lirc-get-timeout.rst +7 −6
  192. Documentation/userspace-api/media/rc/lirc-read.rst +3 −7
  193. Documentation/userspace-api/media/rc/lirc-set-measure-carrier-mode.rst +4 −4
  194. Documentation/userspace-api/media/rc/lirc-set-rec-carrier-range.rst +4 −2
  195. Documentation/userspace-api/media/rc/lirc-set-rec-carrier.rst +4 −4
  196. Documentation/userspace-api/media/rc/lirc-set-rec-timeout-reports.rst +4 −4
  197. Documentation/userspace-api/media/rc/lirc-set-rec-timeout.rst +7 −6
  198. Documentation/userspace-api/media/rc/lirc-set-send-carrier.rst +4 −4
  199. Documentation/userspace-api/media/rc/lirc-set-send-duty-cycle.rst +4 −4
  200. Documentation/userspace-api/media/rc/lirc-set-transmitter-mask.rst +4 −4
  201. Documentation/userspace-api/media/rc/lirc-set-wideband-receiver.rst +4 −4
  202. Documentation/userspace-api/media/rc/lirc-write.rst +2 −5
  203. Documentation/userspace-api/media/v4l/buffer.rst +3 −25
  204. Documentation/userspace-api/media/v4l/dev-capture.rst +2 −5
  205. Documentation/userspace-api/media/v4l/dev-output.rst +2 −5
  206. Documentation/userspace-api/media/v4l/dev-raw-vbi.rst +6 −13
  207. Documentation/userspace-api/media/v4l/dev-rds.rst +3 −9
  208. Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst +7 −24
  209. Documentation/userspace-api/media/v4l/diff-v4l.rst +6 −33
  210. Documentation/userspace-api/media/v4l/dmabuf.rst +4 −4
  211. Documentation/userspace-api/media/v4l/format.rst +3 −4
  212. Documentation/userspace-api/media/v4l/func-close.rst +2 −6
  213. Documentation/userspace-api/media/v4l/func-ioctl.rst +3 −7
  214. Documentation/userspace-api/media/v4l/func-mmap.rst +7 −11
  215. Documentation/userspace-api/media/v4l/func-munmap.rst +5 −9
  216. Documentation/userspace-api/media/v4l/func-open.rst +5 −9
  217. Documentation/userspace-api/media/v4l/func-poll.rst +18 −22
  218. Documentation/userspace-api/media/v4l/func-read.rst +18 −21
  219. Documentation/userspace-api/media/v4l/func-select.rst +19 −23
  220. Documentation/userspace-api/media/v4l/func-write.rst +5 −8
  221. Documentation/userspace-api/media/v4l/hist-v4l2.rst +4 −66
  222. Documentation/userspace-api/media/v4l/io.rst +3 −3
  223. Documentation/userspace-api/media/v4l/libv4l-introduction.rst +13 −17
  224. Documentation/userspace-api/media/v4l/mmap.rst +13 −13
  225. Documentation/userspace-api/media/v4l/open.rst +6 −9
  226. Documentation/userspace-api/media/v4l/rw.rst +9 −9
  227. Documentation/userspace-api/media/v4l/streaming-par.rst +3 −2
  228. Documentation/userspace-api/media/v4l/userp.rst +6 −5
  229. Documentation/userspace-api/media/v4l/vidioc-create-bufs.rst +4 −7
  230. Documentation/userspace-api/media/v4l/vidioc-cropcap.rst +4 −7
  231. Documentation/userspace-api/media/v4l/vidioc-dbg-g-chip-info.rst +4 −9
  232. Documentation/userspace-api/media/v4l/vidioc-dbg-g-register.rst +7 −11
  233. Documentation/userspace-api/media/v4l/vidioc-decoder-cmd.rst +8 −11
  234. Documentation/userspace-api/media/v4l/vidioc-dqevent.rst +4 −15
  235. Documentation/userspace-api/media/v4l/vidioc-dv-timings-cap.rst +7 −10
  236. Documentation/userspace-api/media/v4l/vidioc-encoder-cmd.rst +11 −14
  237. Documentation/userspace-api/media/v4l/vidioc-enum-dv-timings.rst +7 −9
  238. Documentation/userspace-api/media/v4l/vidioc-enum-fmt.rst +4 −8
  239. Documentation/userspace-api/media/v4l/vidioc-enum-frameintervals.rst +4 −11
  240. Documentation/userspace-api/media/v4l/vidioc-enum-framesizes.rst +4 −12
  241. Documentation/userspace-api/media/v4l/vidioc-enum-freq-bands.rst +4 −8
  242. Documentation/userspace-api/media/v4l/vidioc-enumaudio.rst +4 −6
  243. Documentation/userspace-api/media/v4l/vidioc-enumaudioout.rst +4 −6
  244. Documentation/userspace-api/media/v4l/vidioc-enuminput.rst +4 −10
  245. Documentation/userspace-api/media/v4l/vidioc-enumoutput.rst +4 −9
  246. Documentation/userspace-api/media/v4l/vidioc-enumstd.rst +7 −16
  247. Documentation/userspace-api/media/v4l/vidioc-expbuf.rst +4 −10
  248. Documentation/userspace-api/media/v4l/vidioc-g-audio.rst +7 −11
  249. Documentation/userspace-api/media/v4l/vidioc-g-audioout.rst +7 −9
  250. Documentation/userspace-api/media/v4l/vidioc-g-crop.rst +7 −9
  251. Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst +7 −9
  252. Documentation/userspace-api/media/v4l/vidioc-g-dv-timings.rst +13 −13
  253. Documentation/userspace-api/media/v4l/vidioc-g-edid.rst +12 −13
  254. Documentation/userspace-api/media/v4l/vidioc-g-enc-index.rst +4 −9
  255. Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst +8 −13
  256. Documentation/userspace-api/media/v4l/vidioc-g-fbuf.rst +7 −11
  257. Documentation/userspace-api/media/v4l/vidioc-g-fmt.rst +11 −11
  258. Documentation/userspace-api/media/v4l/vidioc-g-frequency.rst +7 −9
  259. Documentation/userspace-api/media/v4l/vidioc-g-input.rst +7 −8
  260. Documentation/userspace-api/media/v4l/vidioc-g-jpegcomp.rst +7 −10
  261. Documentation/userspace-api/media/v4l/vidioc-g-modulator.rst +7 −10
  262. Documentation/userspace-api/media/v4l/vidioc-g-output.rst +7 −8
  263. Documentation/userspace-api/media/v4l/vidioc-g-parm.rst +12 −18
  264. Documentation/userspace-api/media/v4l/vidioc-g-priority.rst +7 −9
  265. Documentation/userspace-api/media/v4l/vidioc-g-selection.rst +6 −9
  266. Documentation/userspace-api/media/v4l/vidioc-g-sliced-vbi-cap.rst +4 −8
  267. Documentation/userspace-api/media/v4l/vidioc-g-std.rst +13 −11
  268. Documentation/userspace-api/media/v4l/vidioc-g-tuner.rst +7 −12
  269. Documentation/userspace-api/media/v4l/vidioc-log-status.rst +4 −6
  270. Documentation/userspace-api/media/v4l/vidioc-overlay.rst +4 −6
  271. Documentation/userspace-api/media/v4l/vidioc-prepare-buf.rst +4 −6
  272. Documentation/userspace-api/media/v4l/vidioc-qbuf.rst +8 −9
  273. Documentation/userspace-api/media/v4l/vidioc-query-dv-timings.rst +7 −8
  274. Documentation/userspace-api/media/v4l/vidioc-querybuf.rst +4 −6
  275. Documentation/userspace-api/media/v4l/vidioc-querycap.rst +6 −10
  276. Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst +8 −14
  277. Documentation/userspace-api/media/v4l/vidioc-querystd.rst +7 −8
  278. Documentation/userspace-api/media/v4l/vidioc-reqbufs.rst +4 −6
  279. Documentation/userspace-api/media/v4l/vidioc-s-hw-freq-seek.rst +4 −7
  280. Documentation/userspace-api/media/v4l/vidioc-streamon.rst +7 −7
  281. Documentation/userspace-api/media/v4l/vidioc-subdev-enum-frame-interval.rst +4 −6
  282. Documentation/userspace-api/media/v4l/vidioc-subdev-enum-frame-size.rst +4 −7
  283. Documentation/userspace-api/media/v4l/vidioc-subdev-enum-mbus-code.rst +4 −6
  284. Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst +7 −9
  285. Documentation/userspace-api/media/v4l/vidioc-subdev-g-fmt.rst +7 −10
  286. Documentation/userspace-api/media/v4l/vidioc-subdev-g-frame-interval.rst +7 −9
  287. Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rst +7 −10
  288. Documentation/userspace-api/media/v4l/vidioc-subdev-querycap.rst +4 −5
  289. Documentation/userspace-api/media/v4l/vidioc-subscribe-event.rst +7 −10
  290. Documentation/virt/uml/user_mode_linux_howto_v2.rst +1 −0
  291. Documentation/vm/hmm.rst +1 −1
  292. Documentation/vm/ksm.rst +1 −1
  293. Documentation/vm/memory-model.rst +3 −3
  294. MAINTAINERS +8 −8
  295. block/bio.c +2 −2
  296. drivers/base/core.c +5 −2
  297. drivers/net/appletalk/Kconfig +1 −1
  298. drivers/net/hamradio/scc.c +1 −1
  299. include/kunit/test.h +9 −5
  300. include/linux/devfreq.h +1 −6
  301. include/linux/input/sparse-keymap.h +1 −0
  302. include/linux/math64.h +4 −4
  303. include/linux/usb/typec_altmode.h +16 −0
  304. include/net/cfg80211.h +1 −0
  305. kernel/rcu/tree.c +6 −8
  306. kernel/workqueue.c +3 −0
  307. mm/ksm.c +1 −1
  308. mm/memblock.c +4 −4
  309. scripts/kernel-doc +223 −82
Documentation/admin-guide/pm/cpufreq.rst+5−6
@@ -1,7 +1,6 @@
11 .. SPDX-License-Identifier: GPL-2.0
22 .. include:: <isonum.txt>
33
4−.. |struct cpufreq_policy| replace:: :c:type:`struct cpufreq_policy <cpufreq_policy>`
54 .. |intel_pstate| replace:: :doc:`intel_pstate <intel_pstate>`
65
76 =======================
@@ -92,16 +91,16 @@ control the P-state of multiple CPUs at the same time and writing to it affects · 84 unmodified lines
9291 all of those CPUs simultaneously.
9392
9493 Sets of CPUs sharing hardware P-state control interfaces are represented by
95−``CPUFreq`` as |struct cpufreq_policy| objects. For consistency,
96−|struct cpufreq_policy| is also used when there is only one CPU in the given
94+``CPUFreq`` as struct cpufreq_policy objects. For consistency,
95+struct cpufreq_policy is also used when there is only one CPU in the given
9796 set.
9897
99−The ``CPUFreq`` core maintains a pointer to a |struct cpufreq_policy| object for
98+The ``CPUFreq`` core maintains a pointer to a struct cpufreq_policy object for
10099 every CPU in the system, including CPUs that are currently offline. If multiple
101100 CPUs share the same hardware P-state control interface, all of the pointers
102−corresponding to them point to the same |struct cpufreq_policy| object.
101+corresponding to them point to the same struct cpufreq_policy object.
103102
104−``CPUFreq`` uses |struct cpufreq_policy| as its basic data type and the design
103+``CPUFreq`` uses struct cpufreq_policy as its basic data type and the design
105104 of its user space interface is based on the policy concept.
106105
107106
Documentation/admin-guide/pstore-blk.rst+2−8
@@ -154,17 +154,11 @@ Configurations for driver · 153 unmodified lines
154154 Only a block device driver cares about these configurations. A block device
155155 driver uses ``register_pstore_blk`` to register to pstore/blk.
156156
157−.. kernel-doc:: fs/pstore/blk.c
158− :identifiers: register_pstore_blk
159−
160157 A non-block device driver uses ``register_pstore_device`` with
161158 ``struct pstore_device_info`` to register to pstore/blk.
162159
163160 .. kernel-doc:: fs/pstore/blk.c
164− :identifiers: register_pstore_device
165−
166−.. kernel-doc:: include/linux/pstore_blk.h
167− :identifiers: pstore_device_info
161+ :export:
168162
169163 Compression and header
170164 ----------------------
@@ -237,7 +231,7 @@ For developer reference, here are all the important structures and APIs: · 66 unmodified lines
237231 :internal:
238232
239233 .. kernel-doc:: fs/pstore/blk.c
240− :export:
234+ :internal:
241235
242236 .. kernel-doc:: include/linux/pstore_blk.h
243237 :internal:
Documentation/block/blk-mq.rst+6−6
@@ -63,10 +63,10 @@ Software staging queues · 62 unmodified lines
6363 ~~~~~~~~~~~~~~~~~~~~~~~
6464
6565 The block IO subsystem adds requests in the software staging queues
66−(represented by struct :c:type:`blk_mq_ctx`) in case that they weren't sent
66+(represented by struct blk_mq_ctx) in case that they weren't sent
6767 directly to the driver. A request is one or more BIOs. They arrived at the
68−block layer through the data structure struct :c:type:`bio`. The block layer
69−will then build a new structure from it, the struct :c:type:`request` that will
68+block layer through the data structure struct bio. The block layer
69+will then build a new structure from it, the struct request that will
7070 be used to communicate with the device driver. Each queue has its own lock and
7171 the number of queues is defined by a per-CPU or per-node basis.
7272
@@ -102,7 +102,7 @@ hardware queue will be drained in sequence according to their mapping. · 29 unmodified lines
102102 Hardware dispatch queues
103103 ~~~~~~~~~~~~~~~~~~~~~~~~
104104
105−The hardware queue (represented by struct :c:type:`blk_mq_hw_ctx`) is a struct
105+The hardware queue (represented by struct blk_mq_hw_ctx) is a struct
106106 used by device drivers to map the device submission queues (or device DMA ring
107107 buffer), and are the last step of the block layer submission code before the
108108 low level device driver taking ownership of the request. To run this queue, the
@@ -110,9 +110,9 @@ block layer removes requests from the associated software queues and tries to · 1 unmodified line
110110 dispatch to the hardware.
111111
112112 If it's not possible to send the requests directly to hardware, they will be
113−added to a linked list (:c:type:`hctx->dispatch`) of requests. Then,
113+added to a linked list (``hctx->dispatch``) of requests. Then,
114114 next time the block layer runs a queue, it will send the requests laying at the
115−:c:type:`dispatch` list first, to ensure a fairness dispatch with those
115+``dispatch`` list first, to ensure a fairness dispatch with those
116116 requests that were ready to be sent first. The number of hardware queues
117117 depends on the number of hardware contexts supported by the hardware and its
118118 device driver, but it will not be more than the number of cores of the system.
Documentation/block/inline-encryption.rst+4−4
@@ -52,7 +52,7 @@ Constraints and notes · 51 unmodified lines
5252 Design
5353 ======
5454
55−We add a :c:type:`struct bio_crypt_ctx` to :c:type:`struct bio` that can
55+We add a struct bio_crypt_ctx to struct bio that can
5656 represent an encryption context, because we need to be able to pass this
5757 encryption context from the upper layers (like the fs layer) to the
5858 device driver to act upon.
@@ -85,7 +85,7 @@ blk-mq changes, other block layer changes and blk-crypto-fallback · 26 unmodified lines
8585 =================================================================
8686
8787 We add a pointer to a ``bi_crypt_context`` and ``keyslot`` to
88−:c:type:`struct request`. These will be referred to as the ``crypto fields``
88+struct request. These will be referred to as the ``crypto fields``
8989 for the request. This ``keyslot`` is the keyslot into which the
9090 ``bi_crypt_context`` has been programmed in the KSM of the ``request_queue``
9191 that this request is being sent to.
@@ -118,7 +118,7 @@ of the algorithm being used adheres to spec and functions correctly). · 26 unmodified lines
118118 If a ``request queue``'s inline encryption hardware claimed to support the
119119 encryption context specified with a bio, then it will not be handled by the
120120 ``blk-crypto-fallback``. We will eventually reach a point in blk-mq when a
121−:c:type:`struct request` needs to be allocated for that bio. At that point,
121+struct request needs to be allocated for that bio. At that point,
122122 blk-mq tries to program the encryption context into the ``request_queue``'s
123123 keyslot_manager, and obtain a keyslot, which it stores in its newly added
124124 ``keyslot`` field. This keyslot is released when the request is completed.
@@ -188,7 +188,7 @@ keyslots supported by the hardware. · 63 unmodified lines
188188 The device driver also needs to tell the KSM how to actually manipulate the
189189 IE hardware in the device to do things like programming the crypto key into
190190 the IE hardware into a particular keyslot. All this is achieved through the
191−:c:type:`struct blk_ksm_ll_ops` field in the KSM that the device driver
191+struct blk_ksm_ll_ops field in the KSM that the device driver
192192 must fill up after initing the ``blk_keyslot_manager``.
193193
194194 The KSM also handles runtime power management for the device when applicable
Documentation/conf.py+62−3
@@ -47,9 +47,68 @@ extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', · 46 unmodified lines
4747 #
4848 if major >= 3:
4949 sys.stderr.write('''WARNING: The kernel documentation build process
50− does not work correctly with Sphinx v3.0 and above. Expect errors
51− in the generated output.
52− ''')
50+ support for Sphinx v3.0 and above is brand new. Be prepared for
51+ possible issues in the generated output.
52+ ''')
53+ if minor > 0 or patch >= 2:
54+ # Sphinx c function parser is more pedantic with regards to type
55+ # checking. Due to that, having macros at c:function cause problems.
56+ # Those needed to be scaped by using c_id_attributes[] array
57+ c_id_attributes = [
58+ # GCC Compiler types not parsed by Sphinx:
59+ "__restrict__",
60+
61+ # include/linux/compiler_types.h:
62+ "__iomem",
63+ "__kernel",
64+ "noinstr",
65+ "notrace",
66+ "__percpu",
67+ "__rcu",
68+ "__user",
69+
70+ # include/linux/compiler_attributes.h:
71+ "__alias",
72+ "__aligned",
73+ "__aligned_largest",
74+ "__always_inline",
75+ "__assume_aligned",
76+ "__cold",
77+ "__attribute_const__",
78+ "__copy",
79+ "__pure",
80+ "__designated_init",
81+ "__visible",
82+ "__printf",
83+ "__scanf",
84+ "__gnu_inline",
85+ "__malloc",
86+ "__mode",
87+ "__no_caller_saved_registers",
88+ "__noclone",
89+ "__nonstring",
90+ "__noreturn",
91+ "__packed",
92+ "__pure",
93+ "__section",
94+ "__always_unused",
95+ "__maybe_unused",
96+ "__used",
97+ "__weak",
98+ "noinline",
99+
100+ # include/linux/memblock.h:
101+ "__init_memblock",
102+ "__meminit",
103+
104+ # include/linux/init.h:
105+ "__init",
106+ "__ref",
107+
108+ # include/linux/linkage.h:
109+ "asmlinkage",
110+ ]
111+
53112 else:
54113 extensions.append('cdomain')
55114
Documentation/core-api/genericirq.rst+2−0
@@ -419,6 +419,7 @@ functions which are exported. · 418 unmodified lines
419419 .. kernel-doc:: kernel/irq/manage.c
420420
421421 .. kernel-doc:: kernel/irq/chip.c
422+ :export:
422423
423424 Internal Functions Provided
424425 ===========================
@@ -431,6 +432,7 @@ functions. · 6 unmodified lines
431432 .. kernel-doc:: kernel/irq/handle.c
432433
433434 .. kernel-doc:: kernel/irq/chip.c
435+ :internal:
434436
435437 Credits
436438 =======
Documentation/core-api/kernel-api.rst+0−6
@@ -231,12 +231,6 @@ Refer to the file kernel/module.c for more information. · 230 unmodified lines
231231 Hardware Interfaces
232232 ===================
233233
234−Interrupt Handling
235−------------------
236−
237−.. kernel-doc:: kernel/irq/manage.c
238− :export:
239−
240234 DMA Channels
241235 ------------
242236
Documentation/core-api/workqueue.rst+2−0
@@ -396,3 +396,5 @@ Kernel Inline Documentations Reference · 395 unmodified lines
396396 ======================================
397397
398398 .. kernel-doc:: include/linux/workqueue.h
399+
400+.. kernel-doc:: kernel/workqueue.c
Documentation/dev-tools/kgdb.rst+3−3
@@ -726,7 +726,7 @@ The kernel debugger is organized into a number of components: · 725 unmodified lines
726726 - contains an arch-specific trap catcher which invokes
727727 kgdb_handle_exception() to start kgdb about doing its work
728728
729− - translation to and from gdb specific packet format to :c:type:`pt_regs`
729+ - translation to and from gdb specific packet format to struct pt_regs
730730
731731 - Registration and unregistration of architecture specific trap
732732 hooks
@@ -846,7 +846,7 @@ invokes a callback in the serial core which in turn uses the callback in · 113 unmodified lines
846846 the UART driver.
847847
848848 When using kgdboc with a UART, the UART driver must implement two
849−callbacks in the :c:type:`struct uart_ops <uart_ops>`.
849+callbacks in the struct uart_ops.
850850 Example from ``drivers/8250.c``::
851851
852852
@@ -875,7 +875,7 @@ kernel when ``CONFIG_KDB_KEYBOARD=y`` is set in the kernel configuration. · 22 unmodified lines
875875 The core polled keyboard driver for PS/2 type keyboards is in
876876 ``drivers/char/kdb_keyboard.c``. This driver is hooked into the debug core
877877 when kgdboc populates the callback in the array called
878−:c:type:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level
878+:c:expr:`kdb_poll_funcs[]`. The kdb_get_kbd_char() is the top-level
879879 function which polls hardware for single character input.
880880
881881 kgdboc and kms
Documentation/devicetree/bindings/display/tilcdc/tilcdc.txt+1−1
@@ -37,7 +37,7 @@ Optional nodes: · 36 unmodified lines
3737 supports a single port with a single endpoint.
3838
3939 - See also Documentation/devicetree/bindings/display/tilcdc/panel.txt and
40− Documentation/devicetree/bindings/display/bridge/ti,tfp410.txt for connecting
40+ Documentation/devicetree/bindings/display/bridge/ti,tfp410.yaml for connecting
4141 tfp410 DVI encoder or lcd panel to lcdc
4242
4343 [1] There is an errata about AM335x color wiring. For 16-bit color mode
Documentation/devicetree/bindings/mailbox/omap-mailbox.txt+1−1
@@ -69,7 +69,7 @@ The following are mandatory properties for the K3 AM65x and J721E SoCs only: · 68 unmodified lines
6969 the interrupt routes between the IP and the main GIC
7070 controllers. See the following binding for additional
7171 details,
72− Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.txt
72+ Documentation/devicetree/bindings/interrupt-controller/ti,sci-intr.yaml
7373
7474 Child Nodes:
7575 ============
Documentation/devicetree/bindings/media/i2c/tvp5150.txt+1−1
@@ -56,7 +56,7 @@ Optional Connector Properties: · 55 unmodified lines
5656 instead of using the autodetection mechnism. Please look at
5757 [1] for more information.
5858
59−[1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.txt.
59+[1] Documentation/devicetree/bindings/display/connector/analog-tv-connector.yaml.
6060
6161 Example - three input sources:
6262 #include <dt-bindings/display/sdtv-standards.h>
Documentation/devicetree/bindings/pwm/google,cros-ec-pwm.yaml+1−1
@@ -14,7 +14,7 @@ description: | · 13 unmodified lines
1414 Google's ChromeOS EC PWM is a simple PWM attached to the Embedded Controller
1515 (EC) and controlled via a host-command interface.
1616 An EC PWM node should be only found as a sub-node of the EC node (see
17− Documentation/devicetree/bindings/mfd/cros-ec.txt).
17+ Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
1818
1919 properties:
2020 compatible:
Documentation/devicetree/bindings/soc/qcom/qcom,smd-rpm.yaml+1−1
@@ -20,7 +20,7 @@ description: | · 19 unmodified lines
2020 present and this subnode may contain children that designate regulator
2121 resources.
2222
23− Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.txt
23+ Refer to Documentation/devicetree/bindings/regulator/qcom,smd-rpm-regulator.yaml
2424 for information on the regulator subnodes that can exist under the
2525 rpm_requests.
2626
Documentation/devicetree/bindings/sound/google,cros-ec-codec.yaml+1−1
@@ -13,7 +13,7 @@ description: | · 12 unmodified lines
1313 Google's ChromeOS EC codec is a digital mic codec provided by the
1414 Embedded Controller (EC) and is controlled via a host-command interface.
1515 An EC codec node should only be found as a sub-node of the EC node (see
16− Documentation/devicetree/bindings/mfd/cros-ec.txt).
16+ Documentation/devicetree/bindings/mfd/google,cros-ec.yaml).
1717
1818 properties:
1919 compatible:
Documentation/doc-guide/kernel-doc.rst+8−0
@@ -490,6 +490,14 @@ identifiers: *[ function/type ...]* · 489 unmodified lines
490490 .. kernel-doc:: lib/idr.c
491491 :identifiers:
492492
493+no-identifiers: *[ function/type ...]*
494+ Exclude documentation for each *function* and *type* in *source*.
495+
496+ Example::
497+
498+ .. kernel-doc:: lib/bitmap.c
499+ :no-identifiers: bitmap_parselist
500+
493501 functions: *[ function/type ...]*
494502 This is an alias of the 'identifiers' directive and deprecated.
495503
Documentation/driver-api/basics.rst+4−15
@@ -12,6 +12,8 @@ Driver device table · 11 unmodified lines
1212
1313 .. kernel-doc:: include/linux/mod_devicetable.h
1414 :internal:
15+ :no-identifiers: pci_device_id
16+
1517
1618 Delaying, scheduling, and timer routines
1719 ----------------------------------------
@@ -55,15 +57,6 @@ High-resolution timers · 37 unmodified lines
5557 .. kernel-doc:: kernel/time/hrtimer.c
5658 :export:
5759
58−Workqueues and Kevents
59−----------------------
60−
61−.. kernel-doc:: include/linux/workqueue.h
62− :internal:
63−
64−.. kernel-doc:: kernel/workqueue.c
65− :export:
66−
6760 Internal Functions
6861 ------------------
6962
@@ -105,19 +98,15 @@ Kernel utility functions · 35 unmodified lines
10598
10699 .. kernel-doc:: include/linux/kernel.h
107100 :internal:
101+ :no-identifiers: kstrtol kstrtoul
108102
109103 .. kernel-doc:: kernel/printk/printk.c
110104 :export:
105+ :no-identifiers: printk
111106
112107 .. kernel-doc:: kernel/panic.c
113108 :export:
114109
115−.. kernel-doc:: kernel/rcu/tree.c
116− :export:
117−
118−.. kernel-doc:: kernel/rcu/update.c
119− :export:
120−
121110 .. kernel-doc:: include/linux/overflow.h
122111 :internal:
123112
Documentation/driver-api/device_link.rst+4−9
@@ -1,7 +1,3 @@
1−.. |struct dev_pm_domain| replace:: :c:type:`struct dev_pm_domain <dev_pm_domain>`
2−.. |struct generic_pm_domain| replace:: :c:type:`struct generic_pm_domain <generic_pm_domain>`
3−
4−
51 .. _device_link:
62
73 ============
@@ -166,7 +162,7 @@ Examples · 158 unmodified lines
166162 is the same as if the MMU was the parent of the master device.
167163
168164 The fact that both devices share the same power domain would normally
169− suggest usage of a |struct dev_pm_domain| or |struct generic_pm_domain|,
165+ suggest usage of a struct dev_pm_domain or struct generic_pm_domain,
170166 however these are not independent devices that happen to share a power
171167 switch, but rather the MMU device serves the busmaster device and is
172168 useless without it. A device link creates a synthetic hierarchical
@@ -202,7 +198,7 @@ Examples · 29 unmodified lines
202198 Alternatives
203199 ============
204200
205−* A |struct dev_pm_domain| can be used to override the bus,
201+* A struct dev_pm_domain can be used to override the bus,
206202 class or device type callbacks. It is intended for devices sharing
207203 a single on/off switch, however it does not guarantee a specific
208204 suspend/resume ordering, this needs to be implemented separately.
@@ -211,7 +207,7 @@ Alternatives · 2 unmodified lines
211207 suspended. Furthermore it cannot be used to enforce a specific shutdown
212208 ordering or a driver presence dependency.
213209
214−* A |struct generic_pm_domain| is a lot more heavyweight than a
210+* A struct generic_pm_domain is a lot more heavyweight than a
215211 device link and does not allow for shutdown ordering or driver presence
216212 dependencies. It also cannot be used on ACPI systems.
217213
@@ -321,5 +317,4 @@ State machine · 103 unmodified lines
321317 API
322318 ===
323319
324−.. kernel-doc:: drivers/base/core.c
325− :functions: device_link_add device_link_del device_link_remove
320+See device_link_add(), device_link_del() and device_link_remove().
Documentation/driver-api/fpga/fpga-bridge.rst+2−2
@@ -4,8 +4,8 @@ FPGA Bridge · 3 unmodified lines
44 API to implement a new FPGA bridge
55 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
7−* struct :c:type:`fpga_bridge` — The FPGA Bridge structure
8−* struct :c:type:`fpga_bridge_ops` — Low level Bridge driver ops
7+* struct fpga_bridge — The FPGA Bridge structure
8+* struct fpga_bridge_ops — Low level Bridge driver ops
99 * devm_fpga_bridge_create() — Allocate and init a bridge struct
1010 * fpga_bridge_register() — Register a bridge
1111 * fpga_bridge_unregister() — Unregister a bridge
Documentation/driver-api/fpga/fpga-mgr.rst+3−3
@@ -101,9 +101,9 @@ in state. · 100 unmodified lines
101101 API for implementing a new FPGA Manager driver
102102 ----------------------------------------------
103103
104−* ``fpga_mgr_states`` — Values for :c:member:`fpga_manager->state`.
105−* struct :c:type:`fpga_manager` — the FPGA manager struct
106−* struct :c:type:`fpga_manager_ops` — Low level FPGA manager driver ops
104+* ``fpga_mgr_states`` — Values for :c:expr:`fpga_manager->state`.
105+* struct fpga_manager — the FPGA manager struct
106+* struct fpga_manager_ops — Low level FPGA manager driver ops
107107 * devm_fpga_mgr_create() — Allocate and init a manager struct
108108 * fpga_mgr_register() — Register an FPGA manager
109109 * fpga_mgr_unregister() — Unregister an FPGA manager
Documentation/driver-api/fpga/fpga-programming.rst+1−1
@@ -15,7 +15,7 @@ the FPGA manager and bridges. It will: · 14 unmodified lines
1515 * lock the mutex of the region's FPGA manager
1616 * build a list of FPGA bridges if a method has been specified to do so
1717 * disable the bridges
18− * program the FPGA using info passed in :c:member:`fpga_region->info`.
18+ * program the FPGA using info passed in :c:expr:`fpga_region->info`.
1919 * re-enable the bridges
2020 * release the locks
2121
Documentation/driver-api/fpga/fpga-region.rst+3−3
@@ -45,7 +45,7 @@ An example of usage can be seen in the probe function of [#f2]_. · 44 unmodified lines
4545 API to add a new FPGA region
4646 ----------------------------
4747
48−* struct :c:type:`fpga_region` — The FPGA region struct
48+* struct fpga_region — The FPGA region struct
4949 * devm_fpga_region_create() — Allocate and init a region struct
5050 * fpga_region_register() — Register an FPGA region
5151 * fpga_region_unregister() — Unregister an FPGA region
@@ -61,9 +61,9 @@ during the region's probe function. · 9 unmodified lines
6161
6262 The FPGA region will need to specify which bridges to control while programming
6363 the FPGA. The region driver can build a list of bridges during probe time
64−(:c:member:`fpga_region->bridge_list`) or it can have a function that creates
64+(:c:expr:`fpga_region->bridge_list`) or it can have a function that creates
6565 the list of bridges to program just before programming
66−(:c:member:`fpga_region->get_bridges`). The FPGA bridge framework supplies the
66+(:c:expr:`fpga_region->get_bridges`). The FPGA bridge framework supplies the
6767 following APIs to handle building or tearing down that list.
6868
6969 * fpga_bridge_get_to_list() — Get a ref of an FPGA bridge, add it to a
Documentation/driver-api/iio/buffers.rst+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
22 Buffers
33 =======
44
5−* struct :c:type:`iio_buffer` — general buffer structure
5+* struct iio_buffer — general buffer structure
66 * :c:func:`iio_validate_scan_mask_onehot` — Validates that exactly one channel
77 is selected
88 * :c:func:`iio_buffer_get` — Grab a reference to the buffer
Documentation/driver-api/iio/core.rst+3−3
@@ -10,7 +10,7 @@ applications manipulating sensors. The implementation can be found under · 9 unmodified lines
1010 Industrial I/O Devices
1111 ----------------------
1212
13−* struct :c:type:`iio_dev` - industrial I/O device
13+* struct iio_dev - industrial I/O device
1414 * iio_device_alloc() - allocate an :c:type:`iio_dev` from a driver
1515 * iio_device_free() - free an :c:type:`iio_dev` from a driver
1616 * iio_device_register() - register a device with the IIO subsystem
@@ -66,7 +66,7 @@ Common attributes are: · 49 unmodified lines
6666 IIO device channels
6767 ===================
6868
69−struct :c:type:`iio_chan_spec` - specification of a single channel
69+struct iio_chan_spec - specification of a single channel
7070
7171 An IIO device channel is a representation of a data channel. An IIO device can
7272 have one or multiple channels. For example:
@@ -77,7 +77,7 @@ have one or multiple channels. For example: · 4 unmodified lines
7777 * an accelerometer can have up to 3 channels representing acceleration on X, Y
7878 and Z axes.
7979
80−An IIO channel is described by the struct :c:type:`iio_chan_spec`.
80+An IIO channel is described by the struct iio_chan_spec.
8181 A thermometer driver for the temperature sensor in the example above would
8282 have to describe its channel as follows::
8383
Documentation/driver-api/iio/hw-consumer.rst+1−1
@@ -8,7 +8,7 @@ software buffer for data. The implementation can be found under · 7 unmodified lines
88 :file:`drivers/iio/buffer/hw-consumer.c`
99
1010
11−* struct :c:type:`iio_hw_consumer` — Hardware consumer structure
11+* struct iio_hw_consumer — Hardware consumer structure
1212 * :c:func:`iio_hw_consumer_alloc` — Allocate IIO hardware consumer
1313 * :c:func:`iio_hw_consumer_free` — Free IIO hardware consumer
1414 * :c:func:`iio_hw_consumer_enable` — Enable IIO hardware consumer
Documentation/driver-api/iio/triggered-buffers.rst+1−1
@@ -10,7 +10,7 @@ IIO triggered buffer setup · 9 unmodified lines
1010 * :c:func:`iio_triggered_buffer_setup` — Setup triggered buffer and pollfunc
1111 * :c:func:`iio_triggered_buffer_cleanup` — Free resources allocated by
1212 :c:func:`iio_triggered_buffer_setup`
13−* struct :c:type:`iio_buffer_setup_ops` — buffer setup related callbacks
13+* struct iio_buffer_setup_ops — buffer setup related callbacks
1414
1515 A typical triggered buffer setup looks like this::
1616
Documentation/driver-api/iio/triggers.rst+2−2
@@ -2,7 +2,7 @@ · 1 unmodified line
22 Triggers
33 ========
44
5−* struct :c:type:`iio_trigger` — industrial I/O trigger device
5+* struct iio_trigger — industrial I/O trigger device
66 * :c:func:`devm_iio_trigger_alloc` — Resource-managed iio_trigger_alloc
77 * :c:func:`devm_iio_trigger_register` — Resource-managed iio_trigger_register
88 iio_trigger_unregister
@@ -63,7 +63,7 @@ Let's see a simple example of how to setup a trigger to be used by a driver:: · 54 unmodified lines
6363 IIO trigger ops
6464 ===============
6565
66−* struct :c:type:`iio_trigger_ops` — operations structure for an iio_trigger.
66+* struct iio_trigger_ops — operations structure for an iio_trigger.
6767
6868 Notice that a trigger has a set of operations attached:
6969
Documentation/driver-api/index.rst+0−1
@@ -27,7 +27,6 @@ available subsections can be seen below. · 26 unmodified lines
2727 component
2828 message-based
2929 infiniband
30− sound
3130 frame-buffer
3231 regulator
3332 iio/index
Documentation/driver-api/infrastructure.rst+1−3
@@ -6,6 +6,7 @@ The Basic Device Driver-Model Structures · 5 unmodified lines
66
77 .. kernel-doc:: include/linux/device.h
88 :internal:
9+ :no-identifiers: device_link_state
910
1011 Device Drivers Base
1112 -------------------
@@ -28,9 +29,6 @@ Device Drivers Base · 16 unmodified lines
2829 .. kernel-doc:: drivers/base/node.c
2930 :internal:
3031
31−.. kernel-doc:: drivers/base/firmware_loader/main.c
32− :export:
33−
3432 .. kernel-doc:: drivers/base/transport_class.c
3533 :export:
3634
Documentation/driver-api/libata.rst+1−1
@@ -508,7 +508,7 @@ also complete commands. · 507 unmodified lines
508508
509509 2. ATA_QCFLAG_ACTIVE is cleared from qc->flags.
510510
511−3. :c:func:`qc->complete_fn` callback is invoked. If the return value of the
511+3. :c:expr:`qc->complete_fn` callback is invoked. If the return value of the
512512 callback is not zero. Completion is short circuited and
513513 :c:func:`ata_qc_complete` returns.
514514
Documentation/driver-api/media/cec-core.rst+1−1
@@ -98,7 +98,7 @@ Implementing the Low-Level CEC Adapter · 97 unmodified lines
9898 The following low-level adapter operations have to be implemented in
9999 your driver:
100100
101−.. c:type:: struct cec_adap_ops
101+.. c:struct:: cec_adap_ops
102102
103103 .. code-block:: none
104104
Documentation/driver-api/media/dtv-frontend.rst+2−2
@@ -125,7 +125,7 @@ responsible for tuning the device. It supports multiple algorithms to · 124 unmodified lines
125125 detect a channel, as defined at enum :c:func:`dvbfe_algo`.
126126
127127 The algorithm to be used is obtained via ``.get_frontend_algo``. If the driver
128−doesn't fill its field at struct :c:type:`dvb_frontend_ops`, it will default to
128+doesn't fill its field at struct dvb_frontend_ops, it will default to
129129 ``DVBFE_ALGO_SW``, meaning that the dvb-core will do a zigzag when tuning,
130130 e. g. it will try first to use the specified center frequency ``f``,
131131 then, it will do ``f`` + |delta|, ``f`` - |delta|, ``f`` + 2 x |delta|,
@@ -140,7 +140,7 @@ define a ``.get_frontend_algo`` function that would return ``DVBFE_ALGO_HW``. · 8 unmodified lines
140140 a third type (``DVBFE_ALGO_CUSTOM``), in order to allow the driver to
141141 define its own hardware-assisted algorithm. Very few hardware need to
142142 use it nowadays. Using ``DVBFE_ALGO_CUSTOM`` require to provide other
143− function callbacks at struct :c:type:`dvb_frontend_ops`.
143+ function callbacks at struct dvb_frontend_ops.
144144
145145 Attaching frontend driver to the bridge driver
146146 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Documentation/driver-api/media/mc-core.rst+12−12
@@ -36,7 +36,7 @@ pad to a sink pad. · 35 unmodified lines
3636 Media device
3737 ^^^^^^^^^^^^
3838
39−A media device is represented by a struct :c:type:`media_device`
39+A media device is represented by a struct media_device
4040 instance, defined in ``include/media/media-device.h``.
4141 Allocation of the structure is handled by the media device driver, usually by
4242 embedding the :c:type:`media_device` instance in a larger driver-specific
@@ -49,7 +49,7 @@ and unregistered by calling :c:func:`media_device_unregister()`. · 6 unmodified lines
4949 Entities
5050 ^^^^^^^^
5151
52−Entities are represented by a struct :c:type:`media_entity`
52+Entities are represented by a struct media_entity
5353 instance, defined in ``include/media/media-entity.h``. The structure is usually
5454 embedded into a higher-level structure, such as
5555 :c:type:`v4l2_subdev` or :c:type:`video_device`
@@ -67,10 +67,10 @@ Interfaces · 11 unmodified lines
6767 ^^^^^^^^^^
6868
6969 Interfaces are represented by a
70−struct :c:type:`media_interface` instance, defined in
70+struct media_interface instance, defined in
7171 ``include/media/media-entity.h``. Currently, only one type of interface is
7272 defined: a device node. Such interfaces are represented by a
73−struct :c:type:`media_intf_devnode`.
73+struct media_intf_devnode.
7474
7575 Drivers initialize and create device node interfaces by calling
7676 :c:func:`media_devnode_create()`
@@ -79,7 +79,7 @@ and remove them by calling: · 2 unmodified lines
7979
8080 Pads
8181 ^^^^
82−Pads are represented by a struct :c:type:`media_pad` instance,
82+Pads are represented by a struct media_pad instance,
8383 defined in ``include/media/media-entity.h``. Each entity stores its pads in
8484 a pads array managed by the entity driver. Drivers usually embed the array in
8585 a driver-specific structure.
@@ -87,8 +87,8 @@ a driver-specific structure. · 1 unmodified line
8787 Pads are identified by their entity and their 0-based index in the pads
8888 array.
8989
90−Both information are stored in the struct :c:type:`media_pad`,
91−making the struct :c:type:`media_pad` pointer the canonical way
90+Both information are stored in the struct media_pad,
91+making the struct media_pad pointer the canonical way
9292 to store and pass link references.
9393
9494 Pads have flags that describe the pad capabilities and state.
@@ -104,7 +104,7 @@ Pads have flags that describe the pad capabilities and state. · 9 unmodified lines
104104 Links
105105 ^^^^^
106106
107−Links are represented by a struct :c:type:`media_link` instance,
107+Links are represented by a struct media_link instance,
108108 defined in ``include/media/media-entity.h``. There are two types of links:
109109
110110 **1. pad to pad links**:
@@ -187,7 +187,7 @@ Use count and power handling · 76 unmodified lines
187187
188188 Due to the wide differences between drivers regarding power management
189189 needs, the media controller does not implement power management. However,
190−the struct :c:type:`media_entity` includes a ``use_count``
190+the struct media_entity includes a ``use_count``
191191 field that media drivers
192192 can use to track the number of users of every entity for power management
193193 needs.
@@ -213,11 +213,11 @@ prevent link states from being modified during streaming by calling · 19 unmodified lines
213213 The function will mark all entities connected to the given entity through
214214 enabled links, either directly or indirectly, as streaming.
215215
216−The struct :c:type:`media_pipeline` instance pointed to by
216+The struct media_pipeline instance pointed to by
217217 the pipe argument will be stored in every entity in the pipeline.
218−Drivers should embed the struct :c:type:`media_pipeline`
218+Drivers should embed the struct media_pipeline
219219 in higher-level pipeline structures and can then access the
220−pipeline through the struct :c:type:`media_entity`
220+pipeline through the struct media_entity
221221 pipe field.
222222
223223 Calls to :c:func:`media_pipeline_start()` can be nested.
Documentation/driver-api/media/v4l2-controls.rst+1−1
@@ -27,7 +27,7 @@ V4L2 specification with respect to controls in a central place. And to make · 26 unmodified lines
2727 life as easy as possible for the driver developer.
2828
2929 Note that the control framework relies on the presence of a struct
30−:c:type:`v4l2_device` for V4L2 drivers and struct :c:type:`v4l2_subdev` for
30+:c:type:`v4l2_device` for V4L2 drivers and struct v4l2_subdev for
3131 sub-device drivers.
3232
3333
Documentation/driver-api/media/v4l2-dev.rst+4−4
@@ -67,7 +67,7 @@ You should also set these fields of :c:type:`video_device`: · 66 unmodified lines
6767 file operation is called this lock will be taken by the core and released
6868 afterwards. See the next section for more details.
6969
70−- :c:type:`video_device`->queue: a pointer to the struct :c:type:`vb2_queue`
70+- :c:type:`video_device`->queue: a pointer to the struct vb2_queue
7171 associated with this device node.
7272 If queue is not ``NULL``, and queue->lock is not ``NULL``, then queue->lock
7373 is used for the queuing ioctls (``VIDIOC_REQBUFS``, ``CREATE_BUFS``,
@@ -81,7 +81,7 @@ You should also set these fields of :c:type:`video_device`: · 7 unmodified lines
8181
8282 - :c:type:`video_device`->prio: keeps track of the priorities. Used to
8383 implement ``VIDIOC_G_PRIORITY`` and ``VIDIOC_S_PRIORITY``.
84− If left to ``NULL``, then it will use the struct :c:type:`v4l2_prio_state`
84+ If left to ``NULL``, then it will use the struct v4l2_prio_state
8585 in :c:type:`v4l2_device`. If you want to have a separate priority state per
8686 (group of) device node(s), then you can point it to your own struct
8787 :c:type:`v4l2_prio_state`.
@@ -95,7 +95,7 @@ You should also set these fields of :c:type:`video_device`: · 7 unmodified lines
9595 but it is used by both a raw video PCI device (cx8800) and a MPEG PCI device
9696 (cx8802). Since the :c:type:`v4l2_device` cannot be associated with two PCI
9797 devices at the same time it is setup without a parent device. But when the
98− struct :c:type:`video_device` is initialized you **do** know which parent
98+ struct video_device is initialized you **do** know which parent
9999 PCI device to use and so you set ``dev_device`` to the correct PCI device.
100100
101101 If you use :c:type:`v4l2_ioctl_ops`, then you should set
@@ -138,7 +138,7 @@ ioctls and locking · 36 unmodified lines
138138 ------------------
139139
140140 The V4L core provides optional locking services. The main service is the
141−lock field in struct :c:type:`video_device`, which is a pointer to a mutex.
141+lock field in struct video_device, which is a pointer to a mutex.
142142 If you set this pointer, then that will be used by unlocked_ioctl to
143143 serialize all ioctls.
144144
Documentation/driver-api/media/v4l2-device.rst+3−3
@@ -3,7 +3,7 @@ · 2 unmodified lines
33 V4L2 device instance
44 --------------------
55
6−Each device instance is represented by a struct :c:type:`v4l2_device`.
6+Each device instance is represented by a struct v4l2_device.
77 Very simple devices can just allocate this struct, but most of the time you
88 would embed this struct inside a larger struct.
99
@@ -18,9 +18,9 @@ dev->driver_data field is ``NULL``, it will be linked to · 8 unmodified lines
1818
1919 Drivers that want integration with the media device framework need to set
2020 dev->driver_data manually to point to the driver-specific device structure
21−that embed the struct :c:type:`v4l2_device` instance. This is achieved by a
21+that embed the struct v4l2_device instance. This is achieved by a
2222 ``dev_set_drvdata()`` call before registering the V4L2 device instance.
23−They must also set the struct :c:type:`v4l2_device` mdev field to point to a
23+They must also set the struct v4l2_device mdev field to point to a
2424 properly initialized and registered :c:type:`media_device` instance.
2525
2626 If :c:type:`v4l2_dev <v4l2_device>`\ ->name is empty then it will be set to a
Documentation/driver-api/media/v4l2-event.rst+5−5
@@ -44,18 +44,18 @@ such objects. · 43 unmodified lines
4444
4545 So to summarize:
4646
47−- struct :c:type:`v4l2_fh` has two lists: one of the ``subscribed`` events,
47+- struct v4l2_fh has two lists: one of the ``subscribed`` events,
4848 and one of the ``available`` events.
4949
50−- struct :c:type:`v4l2_subscribed_event` has a ringbuffer of raised
50+- struct v4l2_subscribed_event has a ringbuffer of raised
5151 (pending) events of that particular type.
5252
53−- If struct :c:type:`v4l2_subscribed_event` is associated with a specific
53+- If struct v4l2_subscribed_event is associated with a specific
5454 object, then that object will have an internal list of
55− struct :c:type:`v4l2_subscribed_event` so it knows who subscribed an
55+ struct v4l2_subscribed_event so it knows who subscribed an
5656 event to that object.
5757
58−Furthermore, the internal struct :c:type:`v4l2_subscribed_event` has
58+Furthermore, the internal struct v4l2_subscribed_event has
5959 ``merge()`` and ``replace()`` callbacks which drivers can set. These
6060 callbacks are called when a new event is raised and there is no more room.
6161
Documentation/driver-api/media/v4l2-fh.rst+8−8
@@ -3,11 +3,11 @@ · 2 unmodified lines
33 V4L2 File handlers
44 ------------------
55
6−struct :c:type:`v4l2_fh` provides a way to easily keep file handle specific
6+struct v4l2_fh provides a way to easily keep file handle specific
77 data that is used by the V4L2 framework.
88
99 .. attention::
10− New drivers must use struct :c:type:`v4l2_fh`
10+ New drivers must use struct v4l2_fh
1111 since it is also used to implement priority handling
1212 (:ref:`VIDIOC_G_PRIORITY`).
1313
@@ -16,11 +16,11 @@ whether a driver uses :c:type:`v4l2_fh` as its ``file->private_data`` pointer · 2 unmodified lines
1616 by testing the ``V4L2_FL_USES_V4L2_FH`` bit in :c:type:`video_device`->flags.
1717 This bit is set whenever :c:func:`v4l2_fh_init` is called.
1818
19−struct :c:type:`v4l2_fh` is allocated as a part of the driver's own file handle
19+struct v4l2_fh is allocated as a part of the driver's own file handle
2020 structure and ``file->private_data`` is set to it in the driver's ``open()``
2121 function by the driver.
2222
23−In many cases the struct :c:type:`v4l2_fh` will be embedded in a larger
23+In many cases the struct v4l2_fh will be embedded in a larger
2424 structure. In that case you should call:
2525
2626 #) :c:func:`v4l2_fh_init` and :c:func:`v4l2_fh_add` in ``open()``
@@ -102,18 +102,18 @@ Below is a short description of the :c:type:`v4l2_fh` functions used: · 75 unmodified lines
102102 memory can be freed.
103103
104104
105−If struct :c:type:`v4l2_fh` is not embedded, then you can use these helper functions:
105+If struct v4l2_fh is not embedded, then you can use these helper functions:
106106
107107 :c:func:`v4l2_fh_open <v4l2_fh_open>`
108108 (struct file \*filp)
109109
110−- This allocates a struct :c:type:`v4l2_fh`, initializes it and adds it to
111− the struct :c:type:`video_device` associated with the file struct.
110+- This allocates a struct v4l2_fh, initializes it and adds it to
111+ the struct video_device associated with the file struct.
112112
113113 :c:func:`v4l2_fh_release <v4l2_fh_release>`
114114 (struct file \*filp)
115115
116−- This deletes it from the struct :c:type:`video_device` associated with the
116+- This deletes it from the struct video_device associated with the
117117 file struct, uninitialised the :c:type:`v4l2_fh` and frees it.
118118
119119 These two functions can be plugged into the v4l2_file_operation's ``open()``
Documentation/driver-api/media/v4l2-subdev.rst+1−1
@@ -110,7 +110,7 @@ pads: · 109 unmodified lines
110110 err = media_entity_pads_init(&sd->entity, npads, pads);
111111
112112 The pads array must have been previously initialized. There is no need to
113−manually set the struct :c:type:`media_entity` function and name fields, but the
113+manually set the struct media_entity function and name fields, but the
114114 revision field must be initialized if needed.
115115
116116 A reference to the entity will be automatically acquired/released when the
Documentation/driver-api/mei/mei.rst+1−1
@@ -38,7 +38,7 @@ Because some of the Intel ME features can change the system · 37 unmodified lines
3838 configuration, the driver by default allows only a privileged
3939 user to access it.
4040
41−The session is terminated calling :c:func:`close(int fd)`.
41+The session is terminated calling :c:expr:`close(fd)`.
4242
4343 A code snippet for an application communicating with Intel AMTHI client:
4444
Documentation/driver-api/pm/cpuidle.rst+30−35
@@ -1,11 +1,6 @@
11 .. SPDX-License-Identifier: GPL-2.0
22 .. include:: <isonum.txt>
33
4−.. |struct cpuidle_governor| replace:: :c:type:`struct cpuidle_governor <cpuidle_governor>`
5−.. |struct cpuidle_device| replace:: :c:type:`struct cpuidle_device <cpuidle_device>`
6−.. |struct cpuidle_driver| replace:: :c:type:`struct cpuidle_driver <cpuidle_driver>`
7−.. |struct cpuidle_state| replace:: :c:type:`struct cpuidle_state <cpuidle_state>`
8−
94 ========================
105 CPU Idle Time Management
116 ========================
@@ -54,7 +49,7 @@ platform that the Linux kernel can run on. For this reason, data structures · 42 unmodified lines
5449 operated on by them cannot depend on any hardware architecture or platform
5550 design details as well.
5651
57−The governor itself is represented by a |struct cpuidle_governor| object
52+The governor itself is represented by a struct cpuidle_governor object
5853 containing four callback pointers, :c:member:`enable`, :c:member:`disable`,
5954 :c:member:`select`, :c:member:`reflect`, a :c:member:`rating` field described
6055 below, and a name (string) used for identifying it.
@@ -83,11 +78,11 @@ callbacks: · 22 unmodified lines
8378 int (*enable) (struct cpuidle_driver *drv, struct cpuidle_device *dev);
8479
8580 The role of this callback is to prepare the governor for handling the
86− (logical) CPU represented by the |struct cpuidle_device| object pointed
87− to by the ``dev`` argument. The |struct cpuidle_driver| object pointed
81+ (logical) CPU represented by the struct cpuidle_device object pointed
82+ to by the ``dev`` argument. The struct cpuidle_driver object pointed
8883 to by the ``drv`` argument represents the ``CPUIdle`` driver to be used
8984 with that CPU (among other things, it should contain the list of
90− |struct cpuidle_state| objects representing idle states that the
85+ struct cpuidle_state objects representing idle states that the
9186 processor holding the given CPU can be asked to enter).
9287
9388 It may fail, in which case it is expected to return a negative error
@@ -102,7 +97,7 @@ callbacks: · 8 unmodified lines
10297 void (*disable) (struct cpuidle_driver *drv, struct cpuidle_device *dev);
10398
10499 Called to make the governor stop handling the (logical) CPU represented
105− by the |struct cpuidle_device| object pointed to by the ``dev``
100+ by the struct cpuidle_device object pointed to by the ``dev``
106101 argument.
107102
108103 It is expected to reverse any changes made by the ``->enable()``
@@ -116,12 +111,12 @@ callbacks: · 7 unmodified lines
116111 bool *stop_tick);
117112
118113 Called to select an idle state for the processor holding the (logical)
119− CPU represented by the |struct cpuidle_device| object pointed to by the
114+ CPU represented by the struct cpuidle_device object pointed to by the
120115 ``dev`` argument.
121116
122117 The list of idle states to take into consideration is represented by the
123− :c:member:`states` array of |struct cpuidle_state| objects held by the
124− |struct cpuidle_driver| object pointed to by the ``drv`` argument (which
118+ :c:member:`states` array of struct cpuidle_state objects held by the
119+ struct cpuidle_driver object pointed to by the ``drv`` argument (which
125120 represents the ``CPUIdle`` driver to be used with the CPU at hand). The
126121 value returned by this callback is interpreted as an index into that
127122 array (unless it is a negative error code).
@@ -136,7 +131,7 @@ callbacks: · 8 unmodified lines
136131 asking the processor to enter the idle state).
137132
138133 This callback is mandatory (i.e. the :c:member:`select` callback pointer
139− in |struct cpuidle_governor| must not be ``NULL`` for the registration
134+ in struct cpuidle_governor must not be ``NULL`` for the registration
140135 of the governor to succeed).
141136
142137 :c:member:`reflect`
@@ -167,21 +162,21 @@ CPU idle time management (``CPUIdle``) drivers provide an interface between the · 24 unmodified lines
167162 other parts of ``CPUIdle`` and the hardware.
168163
169164 First of all, a ``CPUIdle`` driver has to populate the :c:member:`states` array
170−of |struct cpuidle_state| objects included in the |struct cpuidle_driver| object
165+of struct cpuidle_state objects included in the struct cpuidle_driver object
171166 representing it. Going forward this array will represent the list of available
172167 idle states that the processor hardware can be asked to enter shared by all of
173168 the logical CPUs handled by the given driver.
174169
175170 The entries in the :c:member:`states` array are expected to be sorted by the
176−value of the :c:member:`target_residency` field in |struct cpuidle_state| in
171+value of the :c:member:`target_residency` field in struct cpuidle_state in
177172 the ascending order (that is, index 0 should correspond to the idle state with
178173 the minimum value of :c:member:`target_residency`). [Since the
179174 :c:member:`target_residency` value is expected to reflect the "depth" of the
180−idle state represented by the |struct cpuidle_state| object holding it, this
175+idle state represented by the struct cpuidle_state object holding it, this
181176 sorting order should be the same as the ascending sorting order by the idle
182177 state "depth".]
183178
184−Three fields in |struct cpuidle_state| are used by the existing ``CPUIdle``
179+Three fields in struct cpuidle_state are used by the existing ``CPUIdle``
185180 governors for computations related to idle state selection:
186181
187182 :c:member:`target_residency`
@@ -203,7 +198,7 @@ governors for computations related to idle state selection: · 15 unmodified lines
203198 any idle state at all. [There are other flags used by the ``CPUIdle``
204199 core in special situations.]
205200
206−The :c:member:`enter` callback pointer in |struct cpuidle_state|, which must not
201+The :c:member:`enter` callback pointer in struct cpuidle_state, which must not
207202 be ``NULL``, points to the routine to execute in order to ask the processor to
208203 enter this particular idle state:
209204
@@ -212,14 +207,14 @@ enter this particular idle state: · 2 unmodified lines
212207 void (*enter) (struct cpuidle_device *dev, struct cpuidle_driver *drv,
213208 int index);
214209
215−The first two arguments of it point to the |struct cpuidle_device| object
210+The first two arguments of it point to the struct cpuidle_device object
216211 representing the logical CPU running this callback and the
217−|struct cpuidle_driver| object representing the driver itself, respectively,
218−and the last one is an index of the |struct cpuidle_state| entry in the driver's
212+struct cpuidle_driver object representing the driver itself, respectively,
213+and the last one is an index of the struct cpuidle_state entry in the driver's
219214 :c:member:`states` array representing the idle state to ask the processor to
220215 enter.
221216
222−The analogous ``->enter_s2idle()`` callback in |struct cpuidle_state| is used
217+The analogous ``->enter_s2idle()`` callback in struct cpuidle_state is used
223218 only for implementing the suspend-to-idle system-wide power management feature.
224219 The difference between in and ``->enter()`` is that it must not re-enable
225220 interrupts at any point (even temporarily) or attempt to change the states of
@@ -227,48 +222,48 @@ clock event devices, which the ``->enter()`` callback may do sometimes. · 1 unmodified line
227222
228223 Once the :c:member:`states` array has been populated, the number of valid
229224 entries in it has to be stored in the :c:member:`state_count` field of the
230−|struct cpuidle_driver| object representing the driver. Moreover, if any
225+struct cpuidle_driver object representing the driver. Moreover, if any
231226 entries in the :c:member:`states` array represent "coupled" idle states (that
232227 is, idle states that can only be asked for if multiple related logical CPUs are
233−idle), the :c:member:`safe_state_index` field in |struct cpuidle_driver| needs
228+idle), the :c:member:`safe_state_index` field in struct cpuidle_driver needs
234229 to be the index of an idle state that is not "coupled" (that is, one that can be
235230 asked for if only one logical CPU is idle).
236231
237232 In addition to that, if the given ``CPUIdle`` driver is only going to handle a
238233 subset of logical CPUs in the system, the :c:member:`cpumask` field in its
239−|struct cpuidle_driver| object must point to the set (mask) of CPUs that will be
234+struct cpuidle_driver object must point to the set (mask) of CPUs that will be
240235 handled by it.
241236
242237 A ``CPUIdle`` driver can only be used after it has been registered. If there
243238 are no "coupled" idle state entries in the driver's :c:member:`states` array,
244−that can be accomplished by passing the driver's |struct cpuidle_driver| object
239+that can be accomplished by passing the driver's struct cpuidle_driver object
245240 to :c:func:`cpuidle_register_driver()`. Otherwise, :c:func:`cpuidle_register()`
246241 should be used for this purpose.
247242
248−However, it also is necessary to register |struct cpuidle_device| objects for
243+However, it also is necessary to register struct cpuidle_device objects for
249244 all of the logical CPUs to be handled by the given ``CPUIdle`` driver with the
250245 help of :c:func:`cpuidle_register_device()` after the driver has been registered
251246 and :c:func:`cpuidle_register_driver()`, unlike :c:func:`cpuidle_register()`,
252247 does not do that automatically. For this reason, the drivers that use
253248 :c:func:`cpuidle_register_driver()` to register themselves must also take care
254−of registering the |struct cpuidle_device| objects as needed, so it is generally
249+of registering the struct cpuidle_device objects as needed, so it is generally
255250 recommended to use :c:func:`cpuidle_register()` for ``CPUIdle`` driver
256251 registration in all cases.
257252
258−The registration of a |struct cpuidle_device| object causes the ``CPUIdle``
253+The registration of a struct cpuidle_device object causes the ``CPUIdle``
259254 ``sysfs`` interface to be created and the governor's ``->enable()`` callback to
260255 be invoked for the logical CPU represented by it, so it must take place after
261256 registering the driver that will handle the CPU in question.
262257
263−``CPUIdle`` drivers and |struct cpuidle_device| objects can be unregistered
258+``CPUIdle`` drivers and struct cpuidle_device objects can be unregistered
264259 when they are not necessary any more which allows some resources associated with
265260 them to be released. Due to dependencies between them, all of the
266−|struct cpuidle_device| objects representing CPUs handled by the given
261+struct cpuidle_device objects representing CPUs handled by the given
267262 ``CPUIdle`` driver must be unregistered, with the help of
268263 :c:func:`cpuidle_unregister_device()`, before calling
269264 :c:func:`cpuidle_unregister_driver()` to unregister the driver. Alternatively,
270265 :c:func:`cpuidle_unregister()` can be called to unregister a ``CPUIdle`` driver
271−along with all of the |struct cpuidle_device| objects representing CPUs handled
266+along with all of the struct cpuidle_device objects representing CPUs handled
272267 by it.
273268
274269 ``CPUIdle`` drivers can respond to runtime system configuration changes that
@@ -277,8 +272,8 @@ happen, for example, when the system's power source is switched from AC to · 2 unmodified lines
277272 battery or the other way around). Upon a notification of such a change,
278273 a ``CPUIdle`` driver is expected to call :c:func:`cpuidle_pause_and_lock()` to
279274 turn ``CPUIdle`` off temporarily and then :c:func:`cpuidle_disable_device()` for
280−all of the |struct cpuidle_device| objects representing CPUs affected by that
275+all of the struct cpuidle_device objects representing CPUs affected by that
281276 change. Next, it can update its :c:member:`states` array in accordance with
282277 the new configuration of the system, call :c:func:`cpuidle_enable_device()` for
283−all of the relevant |struct cpuidle_device| objects and invoke
278+all of the relevant struct cpuidle_device objects and invoke
284279 :c:func:`cpuidle_resume_and_unlock()` to allow ``CPUIdle`` to be used again.
Documentation/driver-api/pm/devices.rst+9−17
@@ -1,14 +1,6 @@
11 .. SPDX-License-Identifier: GPL-2.0
22 .. include:: <isonum.txt>
33
4−.. |struct dev_pm_ops| replace:: :c:type:`struct dev_pm_ops <dev_pm_ops>`
5−.. |struct dev_pm_domain| replace:: :c:type:`struct dev_pm_domain <dev_pm_domain>`
6−.. |struct bus_type| replace:: :c:type:`struct bus_type <bus_type>`
7−.. |struct device_type| replace:: :c:type:`struct device_type <device_type>`
8−.. |struct class| replace:: :c:type:`struct class <class>`
9−.. |struct wakeup_source| replace:: :c:type:`struct wakeup_source <wakeup_source>`
10−.. |struct device| replace:: :c:type:`struct device <device>`
11−
124 .. _driverapi_pm_devices:
135
146 ==============================
@@ -107,7 +99,7 @@ Device Power Management Operations · 92 unmodified lines
10799
108100 Device power management operations, at the subsystem level as well as at the
109101 device driver level, are implemented by defining and populating objects of type
110−|struct dev_pm_ops| defined in :file:`include/linux/pm.h`. The roles of the
102+struct dev_pm_ops defined in :file:`include/linux/pm.h`. The roles of the
111103 methods included in it will be explained in what follows. For now, it should be
112104 sufficient to remember that the last three methods are specific to runtime power
113105 management while the remaining ones are used during system-wide power
@@ -115,7 +107,7 @@ transitions. · 1 unmodified line
115107
116108 There also is a deprecated "old" or "legacy" interface for power management
117109 operations available at least for some subsystems. This approach does not use
118−|struct dev_pm_ops| objects and it is suitable only for implementing system
110+struct dev_pm_ops objects and it is suitable only for implementing system
119111 sleep power management methods in a limited way. Therefore it is not described
120112 in this document, so please refer directly to the source code for more
121113 information about it.
@@ -125,9 +117,9 @@ Subsystem-Level Methods · 3 unmodified lines
125117 -----------------------
126118
127119 The core methods to suspend and resume devices reside in
128−|struct dev_pm_ops| pointed to by the :c:member:`ops` member of
129−|struct dev_pm_domain|, or by the :c:member:`pm` member of |struct bus_type|,
130−|struct device_type| and |struct class|. They are mostly of interest to the
120+struct dev_pm_ops pointed to by the :c:member:`ops` member of
121+struct dev_pm_domain, or by the :c:member:`pm` member of struct bus_type,
122+struct device_type and struct class. They are mostly of interest to the
131123 people writing infrastructure for platforms and buses, like PCI or USB, or
132124 device type and device class drivers. They also are relevant to the writers of
133125 device drivers whose subsystems (PM domains, device types, device classes and
@@ -156,7 +148,7 @@ The :c:member:`power.can_wakeup` flag just records whether the device (and its · 22 unmodified lines
156148 driver) can physically support wakeup events. The
157149 :c:func:`device_set_wakeup_capable()` routine affects this flag. The
158150 :c:member:`power.wakeup` field is a pointer to an object of type
159−|struct wakeup_source| used for controlling whether or not the device should use
151+struct wakeup_source used for controlling whether or not the device should use
160152 its system wakeup mechanism and for notifying the PM core of system wakeup
161153 events signaled by the device. This object is only present for wakeup-capable
162154 devices (i.e. devices whose :c:member:`can_wakeup` flags are set) and is created
@@ -418,7 +410,7 @@ On many platforms they will gate off one or more clock sources; sometimes they · 255 unmodified lines
418410 will also switch off power supplies or reduce voltages. [Drivers supporting
419411 runtime PM may already have performed some or all of these steps.]
420412
421−If :c:func:`device_may_wakeup(dev)` returns ``true``, the device should be
413+If :c:func:`device_may_wakeup()` returns ``true``, the device should be
422414 prepared for generating hardware wakeup signals to trigger a system wakeup event
423415 when the system is in the sleep state. For example, :c:func:`enable_irq_wake()`
424416 might identify GPIO signals hooked up to a switch or other external hardware,
@@ -713,8 +705,8 @@ nested inside another power domain. The nested domain is referred to as the · 288 unmodified lines
713705 sub-domain of the parent domain.
714706
715707 Support for power domains is provided through the :c:member:`pm_domain` field of
716−|struct device|. This field is a pointer to an object of type
717−|struct dev_pm_domain|, defined in :file:`include/linux/pm.h`, providing a set
708+struct device. This field is a pointer to an object of type
709+struct dev_pm_domain, defined in :file:`include/linux/pm.h`, providing a set
718710 of power management callbacks analogous to the subsystem-level and device driver
719711 callbacks that are executed for the given device during all power transitions,
720712 instead of the respective subsystem-level callbacks. Specifically, if a
Documentation/driver-api/regulator.rst+2−2
@@ -116,7 +116,7 @@ core, providing operations structures to the core. A notifier interface · 115 unmodified lines
116116 allows error conditions to be reported to the core.
117117
118118 Registration should be triggered by explicit setup done by the platform,
119−supplying a struct :c:type:`regulator_init_data` for the regulator
119+supplying a struct regulator_init_data for the regulator
120120 containing constraint and supply information.
121121
122122 Machine interface
@@ -144,7 +144,7 @@ a given system, for example supporting higher supply voltages than the · 21 unmodified lines
144144 consumers are rated for.
145145
146146 This is done at driver registration time` by providing a
147−struct :c:type:`regulation_constraints`.
147+struct regulation_constraints.
148148
149149 The constraints may also specify an initial configuration for the
150150 regulator in the constraints, which is particularly useful for use with
Documentation/driver-api/sound.rst+0−54
@@ -1,54 +0,0 @@
1−Sound Devices
2−=============
3−
4−.. kernel-doc:: include/sound/core.h
5− :internal:
6−
7−.. kernel-doc:: sound/sound_core.c
8− :export:
9−
10−.. kernel-doc:: include/sound/pcm.h
11− :internal:
12−
13−.. kernel-doc:: sound/core/pcm.c
14− :export:
15−
16−.. kernel-doc:: sound/core/device.c
17− :export:
18−
19−.. kernel-doc:: sound/core/info.c
20− :export:
21−
22−.. kernel-doc:: sound/core/rawmidi.c
23− :export:
24−
25−.. kernel-doc:: sound/core/sound.c
26− :export:
27−
28−.. kernel-doc:: sound/core/memory.c
29− :export:
30−
31−.. kernel-doc:: sound/core/pcm_memory.c
32− :export:
33−
34−.. kernel-doc:: sound/core/init.c
35− :export:
36−
37−.. kernel-doc:: sound/core/isadma.c
38− :export:
39−
40−.. kernel-doc:: sound/core/control.c
41− :export:
42−
43−.. kernel-doc:: sound/core/pcm_lib.c
44− :export:
45−
46−.. kernel-doc:: sound/core/hwdep.c
47− :export:
48−
49−.. kernel-doc:: sound/core/pcm_native.c
50− :export:
51−
52−.. kernel-doc:: sound/core/memalloc.c
53− :export:
54−
Documentation/driver-api/target.rst+0−12
@@ -41,18 +41,6 @@ iSCSI boot information · 40 unmodified lines
4141 .. kernel-doc:: drivers/scsi/iscsi_boot_sysfs.c
4242 :export:
4343
44−
45−iSCSI transport class
46−=====================
47−
48−The file drivers/scsi/scsi_transport_iscsi.c defines transport
49−attributes for the iSCSI class, which sends SCSI packets over TCP/IP
50−connections.
51−
52−.. kernel-doc:: drivers/scsi/scsi_transport_iscsi.c
53− :export:
54−
55−
5644 iSCSI TCP interfaces
5745 ====================
5846
Documentation/driver-api/usb/URB.rst+1−1
@@ -47,7 +47,7 @@ called USB Request Block, or URB for short. · 46 unmodified lines
4747 The URB structure
4848 =================
4949
50−Some of the fields in struct :c:type:`urb` are::
50+Some of the fields in struct urb are::
5151
5252 struct urb
5353 {
Documentation/driver-api/usb/gadget.rst+5−5
@@ -176,9 +176,9 @@ Kernel Mode Gadget API · 175 unmodified lines
176176
177177 Gadget drivers declare themselves through a struct
178178 :c:type:`usb_gadget_driver`, which is responsible for most parts of enumeration
179−for a struct :c:type:`usb_gadget`. The response to a set_configuration usually
180−involves enabling one or more of the struct :c:type:`usb_ep` objects exposed by
181−the gadget, and submitting one or more struct :c:type:`usb_request` buffers to
179+for a struct usb_gadget. The response to a set_configuration usually
180+involves enabling one or more of the struct usb_ep objects exposed by
181+the gadget, and submitting one or more struct usb_request buffers to
182182 transfer data. Understand those four data types, and their operations,
183183 and you will understand how this API works.
184184
@@ -339,8 +339,8 @@ multi-configuration devices (also more than one function, but not · 154 unmodified lines
339339 necessarily sharing a given configuration). There is however an optional
340340 framework which makes it easier to reuse and combine functions.
341341
342−Devices using this framework provide a struct :c:type:`usb_composite_driver`,
343−which in turn provides one or more struct :c:type:`usb_configuration`
342+Devices using this framework provide a struct usb_composite_driver,
343+which in turn provides one or more struct usb_configuration
344344 instances. Each such configuration includes at least one struct
345345 :c:type:`usb_function`, which packages a user visible role such as "network
346346 link" or "mass storage device". Management functions may also exist,
Documentation/driver-api/usb/hotplug.rst+1−1
@@ -122,7 +122,7 @@ and their quirks, might have a MODULE_DEVICE_TABLE like this:: · 121 unmodified lines
122122 Most USB device drivers should pass these tables to the USB subsystem as
123123 well as to the module management subsystem. Not all, though: some driver
124124 frameworks connect using interfaces layered over USB, and so they won't
125−need such a struct :c:type:`usb_driver`.
125+need such a struct usb_driver.
126126
127127 Drivers that connect directly to the USB subsystem should be declared
128128 something like this::
Documentation/driver-api/usb/typec_bus.rst+7−1
@@ -91,10 +91,16 @@ their control. · 90 unmodified lines
9191 Driver API
9292 ----------
9393
94+Alternate mode structs
95+~~~~~~~~~~~~~~~~~~~~~~
96+
97+.. kernel-doc:: include/linux/usb/typec_altmode.h
98+ :functions: typec_altmode_driver typec_altmode_ops
99+
94100 Alternate mode driver registering/unregistering
95101 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96102
97−.. kernel-doc:: drivers/usb/typec/bus.c
103+.. kernel-doc:: include/linux/usb/typec_altmode.h
98104 :functions: typec_altmode_register_driver typec_altmode_unregister_driver
99105
100106 Alternate mode driver operations
Documentation/filesystems/fscrypt.rst+36−38
@@ -436,9 +436,9 @@ FS_IOC_SET_ENCRYPTION_POLICY · 435 unmodified lines
436436
437437 The FS_IOC_SET_ENCRYPTION_POLICY ioctl sets an encryption policy on an
438438 empty directory or verifies that a directory or regular file already
439−has the specified encryption policy. It takes in a pointer to a
440−:c:type:`struct fscrypt_policy_v1` or a :c:type:`struct
441−fscrypt_policy_v2`, defined as follows::
439+has the specified encryption policy. It takes in a pointer to
440+struct fscrypt_policy_v1 or struct fscrypt_policy_v2, defined as
441+follows::
442442
443443 #define FSCRYPT_POLICY_V1 0
444444 #define FSCRYPT_KEY_DESCRIPTOR_SIZE 8
@@ -464,11 +464,11 @@ fscrypt_policy_v2`, defined as follows:: · 19 unmodified lines
464464
465465 This structure must be initialized as follows:
466466
467−- ``version`` must be FSCRYPT_POLICY_V1 (0) if the struct is
468− :c:type:`fscrypt_policy_v1` or FSCRYPT_POLICY_V2 (2) if the struct
469− is :c:type:`fscrypt_policy_v2`. (Note: we refer to the original
470− policy version as "v1", though its version code is really 0.) For
471− new encrypted directories, use v2 policies.
467+- ``version`` must be FSCRYPT_POLICY_V1 (0) if
468+ struct fscrypt_policy_v1 is used or FSCRYPT_POLICY_V2 (2) if
469+ struct fscrypt_policy_v2 is used. (Note: we refer to the original
470+ policy version as "v1", though its version code is really 0.)
471+ For new encrypted directories, use v2 policies.
472472
473473 - ``contents_encryption_mode`` and ``filenames_encryption_mode`` must
474474 be set to constants from ``<linux/fscrypt.h>`` which identify the
@@ -508,9 +508,9 @@ This structure must be initialized as follows: · 33 unmodified lines
508508 replaced with ``master_key_identifier``, which is longer and cannot
509509 be arbitrarily chosen. Instead, the key must first be added using
510510 `FS_IOC_ADD_ENCRYPTION_KEY`_. Then, the ``key_spec.u.identifier``
511− the kernel returned in the :c:type:`struct fscrypt_add_key_arg` must
512− be used as the ``master_key_identifier`` in the :c:type:`struct
513− fscrypt_policy_v2`.
511+ the kernel returned in the struct fscrypt_add_key_arg must
512+ be used as the ``master_key_identifier`` in
513+ struct fscrypt_policy_v2.
514514
515515 If the file is not yet encrypted, then FS_IOC_SET_ENCRYPTION_POLICY
516516 verifies that the file is an empty directory. If so, the specified
@@ -590,7 +590,7 @@ FS_IOC_GET_ENCRYPTION_POLICY_EX · 73 unmodified lines
590590 The FS_IOC_GET_ENCRYPTION_POLICY_EX ioctl retrieves the encryption
591591 policy, if any, for a directory or regular file. No additional
592592 permissions are required beyond the ability to open the file. It
593−takes in a pointer to a :c:type:`struct fscrypt_get_policy_ex_arg`,
593+takes in a pointer to struct fscrypt_get_policy_ex_arg,
594594 defined as follows::
595595
596596 struct fscrypt_get_policy_ex_arg {
@@ -637,9 +637,8 @@ The FS_IOC_GET_ENCRYPTION_POLICY ioctl can also retrieve the · 40 unmodified lines
637637 encryption policy, if any, for a directory or regular file. However,
638638 unlike `FS_IOC_GET_ENCRYPTION_POLICY_EX`_,
639639 FS_IOC_GET_ENCRYPTION_POLICY only supports the original policy
640−version. It takes in a pointer directly to a :c:type:`struct
641−fscrypt_policy_v1` rather than a :c:type:`struct
642−fscrypt_get_policy_ex_arg`.
640+version. It takes in a pointer directly to struct fscrypt_policy_v1
641+rather than struct fscrypt_get_policy_ex_arg.
643642
644643 The error codes for FS_IOC_GET_ENCRYPTION_POLICY are the same as those
645644 for FS_IOC_GET_ENCRYPTION_POLICY_EX, except that
@@ -680,8 +679,7 @@ the filesystem, making all files on the filesystem which were · 34 unmodified lines
680679 encrypted using that key appear "unlocked", i.e. in plaintext form.
681680 It can be executed on any file or directory on the target filesystem,
682681 but using the filesystem's root directory is recommended. It takes in
683−a pointer to a :c:type:`struct fscrypt_add_key_arg`, defined as
684−follows::
682+a pointer to struct fscrypt_add_key_arg, defined as follows::
685683
686684 struct fscrypt_add_key_arg {
687685 struct fscrypt_key_specifier key_spec;
@@ -710,17 +708,16 @@ follows:: · 22 unmodified lines
710708 __u8 raw[];
711709 };
712710
713−:c:type:`struct fscrypt_add_key_arg` must be zeroed, then initialized
711+struct fscrypt_add_key_arg must be zeroed, then initialized
714712 as follows:
715713
716714 - If the key is being added for use by v1 encryption policies, then
717715 ``key_spec.type`` must contain FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR, and
718716 ``key_spec.u.descriptor`` must contain the descriptor of the key
719717 being added, corresponding to the value in the
720− ``master_key_descriptor`` field of :c:type:`struct
721− fscrypt_policy_v1`. To add this type of key, the calling process
722− must have the CAP_SYS_ADMIN capability in the initial user
723− namespace.
718+ ``master_key_descriptor`` field of struct fscrypt_policy_v1.
719+ To add this type of key, the calling process must have the
720+ CAP_SYS_ADMIN capability in the initial user namespace.
724721
725722 Alternatively, if the key is being added for use by v2 encryption
726723 policies, then ``key_spec.type`` must contain
@@ -737,12 +734,13 @@ as follows: · 10 unmodified lines
737734
738735 - ``key_id`` is 0 if the raw key is given directly in the ``raw``
739736 field. Otherwise ``key_id`` is the ID of a Linux keyring key of
740− type "fscrypt-provisioning" whose payload is a :c:type:`struct
741− fscrypt_provisioning_key_payload` whose ``raw`` field contains the
742− raw key and whose ``type`` field matches ``key_spec.type``. Since
743− ``raw`` is variable-length, the total size of this key's payload
744− must be ``sizeof(struct fscrypt_provisioning_key_payload)`` plus the
745− raw key size. The process must have Search permission on this key.
737+ type "fscrypt-provisioning" whose payload is
738+ struct fscrypt_provisioning_key_payload whose ``raw`` field contains
739+ the raw key and whose ``type`` field matches ``key_spec.type``.
740+ Since ``raw`` is variable-length, the total size of this key's
741+ payload must be ``sizeof(struct fscrypt_provisioning_key_payload)``
742+ plus the raw key size. The process must have Search permission on
743+ this key.
746744
747745 Most users should leave this 0 and specify the raw key directly.
748746 The support for specifying a Linux keyring key is intended mainly to
@@ -860,8 +858,8 @@ The FS_IOC_REMOVE_ENCRYPTION_KEY ioctl removes a claim to a master · 111 unmodified lines
860858 encryption key from the filesystem, and possibly removes the key
861859 itself. It can be executed on any file or directory on the target
862860 filesystem, but using the filesystem's root directory is recommended.
863−It takes in a pointer to a :c:type:`struct fscrypt_remove_key_arg`,
864−defined as follows::
861+It takes in a pointer to struct fscrypt_remove_key_arg, defined
862+as follows::
865863
866864 struct fscrypt_remove_key_arg {
867865 struct fscrypt_key_specifier key_spec;
@@ -956,8 +954,8 @@ FS_IOC_GET_ENCRYPTION_KEY_STATUS · 88 unmodified lines
956954 The FS_IOC_GET_ENCRYPTION_KEY_STATUS ioctl retrieves the status of a
957955 master encryption key. It can be executed on any file or directory on
958956 the target filesystem, but using the filesystem's root directory is
959−recommended. It takes in a pointer to a :c:type:`struct
960−fscrypt_get_key_status_arg`, defined as follows::
957+recommended. It takes in a pointer to
958+struct fscrypt_get_key_status_arg, defined as follows::
961959
962960 struct fscrypt_get_key_status_arg {
963961 /* input */
@@ -1148,10 +1146,10 @@ Implementation details · 184 unmodified lines
11481146 Encryption context
11491147 ------------------
11501148
1151−An encryption policy is represented on-disk by a :c:type:`struct
1152−fscrypt_context_v1` or a :c:type:`struct fscrypt_context_v2`. It is
1153−up to individual filesystems to decide where to store it, but normally
1154−it would be stored in a hidden extended attribute. It should *not* be
1149+An encryption policy is represented on-disk by
1150+struct fscrypt_context_v1 or struct fscrypt_context_v2. It is up to
1151+individual filesystems to decide where to store it, but normally it
1152+would be stored in a hidden extended attribute. It should *not* be
11551153 exposed by the xattr-related system calls such as getxattr() and
11561154 setxattr() because of the special semantics of the encryption xattr.
11571155 (In particular, there would be much confusion if an encryption policy
@@ -1249,8 +1247,8 @@ a strong "hash" of the ciphertext filename, along with the optional · 91 unmodified lines
12491247 filesystem-specific hash(es) needed for directory lookups. This
12501248 allows the filesystem to still, with a high degree of confidence, map
12511249 the filename given in ->lookup() back to a particular directory entry
1252−that was previously listed by readdir(). See :c:type:`struct
1253−fscrypt_nokey_name` in the source for more details.
1250+that was previously listed by readdir(). See
1251+struct fscrypt_nokey_name in the source for more details.
12541252
12551253 Note that the precise way that filenames are presented to userspace
12561254 without the key is subject to change in the future. It is only meant
Documentation/filesystems/fsverity.rst+1−1
@@ -84,7 +84,7 @@ FS_IOC_ENABLE_VERITY · 83 unmodified lines
8484 --------------------
8585
8686 The FS_IOC_ENABLE_VERITY ioctl enables fs-verity on a file. It takes
87−in a pointer to a :c:type:`struct fsverity_enable_arg`, defined as
87+in a pointer to a struct fsverity_enable_arg, defined as
8888 follows::
8989
9090 struct fsverity_enable_arg {
Documentation/gpu/i915.rst+25−4
@@ -636,15 +636,36 @@ i915 Perf Observation Architecture Stream · 635 unmodified lines
636636 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c
637637 :functions: i915_oa_poll_wait
638638
639−All i915 Perf Internals
640−-----------------------
639+Other i915 Perf Internals
640+-------------------------
641641
642−This section simply includes all currently documented i915 perf internals, in
643−no particular order, but may include some more minor utilities or platform
642+This section simply includes all other currently documented i915 perf internals,
643+in no particular order, but may include some more minor utilities or platform
644644 specific details than found in the more high-level sections.
645645
646646 .. kernel-doc:: drivers/gpu/drm/i915/i915_perf.c
647647 :internal:
648+ :no-identifiers:
649+ i915_perf_init
650+ i915_perf_fini
651+ i915_perf_register
652+ i915_perf_unregister
653+ i915_perf_open_ioctl
654+ i915_perf_release
655+ i915_perf_add_config_ioctl
656+ i915_perf_remove_config_ioctl
657+ read_properties_unlocked
658+ i915_perf_open_ioctl_locked
659+ i915_perf_destroy_locked
660+ i915_perf_read i915_perf_ioctl
661+ i915_perf_enable_locked
662+ i915_perf_disable_locked
663+ i915_perf_poll i915_perf_poll_locked
664+ i915_oa_stream_init i915_oa_read
665+ i915_oa_stream_enable
666+ i915_oa_stream_disable
667+ i915_oa_wait_unlocked
668+ i915_oa_poll_wait
648669
649670 Style
650671 =====
Documentation/networking/ieee802154.rst+10−8
@@ -26,7 +26,9 @@ The stack is composed of three main parts: · 25 unmodified lines
2626 Socket API
2727 ==========
2828
29−.. c:function:: int sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
29+::
30+
31+ int sd = socket(PF_IEEE802154, SOCK_DGRAM, 0);
3032
3133 The address family, socket addresses etc. are defined in the
3234 include/net/af_ieee802154.h header or in the special header
@@ -131,12 +133,12 @@ Register PHY in the system. · 98 unmodified lines
131133
132134 Freeing registered PHY.
133135
134−.. c:function:: void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, u8 lqi):
136+.. c:function:: void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, u8 lqi)
135137
136138 Telling 802.15.4 module there is a new received frame in the skb with
137139 the RF Link Quality Indicator (LQI) from the hardware device.
138140
139−.. c:function:: void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, bool ifs_handling):
141+.. c:function:: void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, bool ifs_handling)
140142
141143 Telling 802.15.4 module the frame in the skb is or going to be
142144 transmitted through the hardware device
@@ -155,25 +157,25 @@ operations structure at least:: · 12 unmodified lines
155157 ...
156158 };
157159
158−.. c:function:: int start(struct ieee802154_hw *hw):
160+.. c:function:: int start(struct ieee802154_hw *hw)
159161
160162 Handler that 802.15.4 module calls for the hardware device initialization.
161163
162−.. c:function:: void stop(struct ieee802154_hw *hw):
164+.. c:function:: void stop(struct ieee802154_hw *hw)
163165
164166 Handler that 802.15.4 module calls for the hardware device cleanup.
165167
166−.. c:function:: int xmit_async(struct ieee802154_hw *hw, struct sk_buff *skb):
168+.. c:function:: int xmit_async(struct ieee802154_hw *hw, struct sk_buff *skb)
167169
168170 Handler that 802.15.4 module calls for each frame in the skb going to be
169171 transmitted through the hardware device.
170172
171−.. c:function:: int ed(struct ieee802154_hw *hw, u8 *level):
173+.. c:function:: int ed(struct ieee802154_hw *hw, u8 *level)
172174
173175 Handler that 802.15.4 module calls for Energy Detection from the hardware
174176 device.
175177
176−.. c:function:: int set_channel(struct ieee802154_hw *hw, u8 page, u8 channel):
178+.. c:function:: int set_channel(struct ieee802154_hw *hw, u8 page, u8 channel)
177179
178180 Set radio for listening on specific channel of the hardware device.
179181
Documentation/powerpc/syscall64-abi.rst+16−16
@@ -49,22 +49,22 @@ Register preservation rules · 48 unmodified lines
4949 Register preservation rules match the ELF ABI calling sequence with the
5050 following differences:
5151
52−--- For the sc instruction, differences with the ELF ABI ---
53−=========== ============= ========================================
54−r0 Volatile (System call number.)
55−r3 Volatile (Parameter 1, and return value.)
56−r4-r8 Volatile (Parameters 2-6.)
57−cr0 Volatile (cr0.SO is the return error condition.)
58−cr1, cr5-7 Nonvolatile
59−lr Nonvolatile
60−=========== ============= ========================================
61−
62−--- For the scv 0 instruction, differences with the ELF ABI ---
63−=========== ============= ========================================
64−r0 Volatile (System call number.)
65−r3 Volatile (Parameter 1, and return value.)
66−r4-r8 Volatile (Parameters 2-6.)
67−=========== ============= ========================================
52++------------------------------------------------------------------------+
53+| For the sc instruction, differences with the ELF ABI |
54++--------------+--------------+------------------------------------------+
55+| r0 | Volatile | (System call number.) |
56+| rr3 | Volatile | (Parameter 1, and return value.) |
57+| rr4-r8 | Volatile | (Parameters 2-6.) |
58+| rcr0 | Volatile | (cr0.SO is the return error condition.) |
59+| rcr1, cr5-7 | Nonvolatile | |
60+| rlr | Nonvolatile | |
61++--------------+--------------+------------------------------------------+
62+| For the scv 0 instruction, differences with the ELF ABI |
63++--------------+--------------+------------------------------------------+
64+| r0 | Volatile | (System call number.) |
65+| r3 | Volatile | (Parameter 1, and return value.) |
66+| r4-r8 | Volatile | (Parameters 2-6.) |
67++--------------+--------------+------------------------------------------+
6868
6969 All floating point and vector data registers as well as control and status
7070 registers are nonvolatile.
Documentation/sound/designs/tracepoints.rst+11−11
@@ -34,20 +34,20 @@ substream. In this procedure, PCM hardware parameters are decided by · 33 unmodified lines
3434 interaction between applications and ALSA PCM core. Once decided, runtime of
3535 the PCM substream keeps the parameters.
3636
37−The parameters are described in :c:type:`struct snd_pcm_hw_params`. This
37+The parameters are described in struct snd_pcm_hw_params. This
3838 structure includes several types of parameters. Applications set preferable
3939 value to these parameters, then execute ioctl(2) with SNDRV_PCM_IOCTL_HW_REFINE
4040 or SNDRV_PCM_IOCTL_HW_PARAMS. The former is used just for refining available
4141 set of parameters. The latter is used for an actual decision of the parameters.
4242
43−The :c:type:`struct snd_pcm_hw_params` structure has below members:
43+The struct snd_pcm_hw_params structure has below members:
4444
4545 ``flags``
4646 Configurable. ALSA PCM core and some drivers handle this flag to select
4747 convenient parameters or change their behaviour.
4848 ``masks``
4949 Configurable. This type of parameter is described in
50− :c:type:`struct snd_mask` and represent mask values. As of PCM protocol
50+ struct snd_mask and represent mask values. As of PCM protocol
5151 v2.0.13, three types are defined.
5252
5353 - SNDRV_PCM_HW_PARAM_ACCESS
@@ -55,7 +55,7 @@ The :c:type:`struct snd_pcm_hw_params` structure has below members: · 1 unmodified line
5555 - SNDRV_PCM_HW_PARAM_SUBFORMAT
5656 ``intervals``
5757 Configurable. This type of parameter is described in
58− :c:type:`struct snd_interval` and represent values with a range. As of
58+ struct snd_interval and represent values with a range. As of
5959 PCM protocol v2.0.13, twelve types are defined.
6060
6161 - SNDRV_PCM_HW_PARAM_SAMPLE_BITS
@@ -78,7 +78,7 @@ The :c:type:`struct snd_pcm_hw_params` structure has below members: · 16 unmodified lines
7878 are going to be changed.
7979 ``cmask``
8080 Read-only. After returning from ioctl(2), buffer in user space for
81− :c:type:`struct snd_pcm_hw_params` includes result of each operation.
81+ struct snd_pcm_hw_params includes result of each operation.
8282 This mask represents which mask/interval parameter is actually changed.
8383 ``info``
8484 Read-only. This represents hardware/driver capabilities as bit flags
@@ -110,10 +110,10 @@ The :c:type:`struct snd_pcm_hw_params` structure has below members: · 25 unmodified lines
110110 value to this parameter but some drivers intentionally set zero with
111111 a care of hardware design or data transmission protocol.
112112
113−ALSA PCM core handles buffer of :c:type:`struct snd_pcm_hw_params` when
113+ALSA PCM core handles buffer of struct snd_pcm_hw_params when
114114 applications execute ioctl(2) with SNDRV_PCM_HW_REFINE or SNDRV_PCM_HW_PARAMS.
115115 Parameters in the buffer are changed according to
116−:c:type:`struct snd_pcm_hardware` and rules of constraints in the runtime. The
116+struct snd_pcm_hardware and rules of constraints in the runtime. The
117117 structure describes capabilities of handled hardware. The rules describes
118118 dependencies on which a parameter is decided according to several parameters.
119119 A rule has a callback function, and drivers can register arbitrary functions
@@ -121,17 +121,17 @@ to compute the target parameter. ALSA PCM core registers some rules to the · 1 unmodified line
121121 runtime as a default.
122122
123123 Each driver can join in the interaction as long as it prepared for two stuffs
124−in a callback of :c:type:`struct snd_pcm_ops.open`.
124+in a callback of struct snd_pcm_ops.open.
125125
126126 1. In the callback, drivers are expected to change a member of
127− :c:type:`struct snd_pcm_hardware` type in the runtime, according to
127+ struct snd_pcm_hardware type in the runtime, according to
128128 capacities of corresponding hardware.
129129 2. In the same callback, drivers are also expected to register additional rules
130130 of constraints into the runtime when several parameters have dependencies
131131 due to hardware design.
132132
133133 The driver can refers to result of the interaction in a callback of
134−:c:type:`struct snd_pcm_ops.hw_params`, however it should not change the
134+struct snd_pcm_ops.hw_params, however it should not change the
135135 content.
136136
137137 Tracepoints in this category are designed to trace changes of the
@@ -163,7 +163,7 @@ fields are different according to type of the parameter. For parameters of mask · 25 unmodified lines
163163 type, the fields represent hexadecimal dump of content of the parameter. For
164164 parameters of interval type, the fields represent values of each member of
165165 ``empty``, ``integer``, ``openmin``, ``min``, ``max``, ``openmax`` in
166−:c:type:`struct snd_interval` in this order.
166+struct snd_interval in this order.
167167
168168 Tracepoints in drivers
169169 ======================
Documentation/sound/kernel-api/alsa-driver-api.rst+1−0
@@ -132,3 +132,4 @@ ISA DMA Helpers · 131 unmodified lines
132132 Other Helper Macros
133133 -------------------
134134 .. kernel-doc:: include/sound/core.h
135+.. kernel-doc:: sound/sound_core.c
Documentation/sound/kernel-api/writing-an-alsa-driver.rst+49−61
@@ -194,7 +194,7 @@ The minimum flow for PCI soundcards is as follows: · 193 unmodified lines
194194
195195 - create ``remove`` callback.
196196
197−- create a :c:type:`struct pci_driver <pci_driver>` structure
197+- create a struct pci_driver structure
198198 containing the three pointers above.
199199
200200 - create an ``init`` function just calling the
@@ -487,7 +487,7 @@ The destructor, remove callback, simply releases the card instance. Then · 286 unmodified lines
487487 the ALSA middle layer will release all the attached components
488488 automatically.
489489
490−It would be typically just :c:func:`calling snd_card_free()`:
490+It would be typically just calling :c:func:`snd_card_free()`:
491491
492492 ::
493493
@@ -560,16 +560,15 @@ return the card instance. The extra_size argument is used to allocate · 66 unmodified lines
560560 card->private_data for the chip-specific data. Note that these data are
561561 allocated by :c:func:`snd_card_new()`.
562562
563−The first argument, the pointer of struct :c:type:`struct device
564−<device>`, specifies the parent device. For PCI devices, typically
565−``&pci->`` is passed there.
563+The first argument, the pointer of struct device, specifies the parent
564+device. For PCI devices, typically ``&pci->`` is passed there.
566565
567566 Components
568567 ----------
569568
570569 After the card is created, you can attach the components (devices) to
571570 the card instance. In an ALSA driver, a component is represented as a
572−:c:type:`struct snd_device <snd_device>` object. A component
571+struct snd_device object. A component
573572 can be a PCM instance, a control interface, a raw MIDI interface, etc.
574573 Each such instance has one component entry.
575574
@@ -628,7 +627,7 @@ argument of :c:func:`snd_card_new()`, i.e. · 52 unmodified lines
628627 err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE,
629628 sizeof(struct mychip), &card);
630629
631−:c:type:`struct mychip <mychip>` is the type of the chip record.
630+struct mychip is the type of the chip record.
632631
633632 In return, the allocated record can be accessed as
634633
@@ -890,7 +889,7 @@ functions. These resources must be released in the destructor · 255 unmodified lines
890889 function (see below).
891890
892891 Now assume that the PCI device has an I/O port with 8 bytes and an
893−interrupt. Then :c:type:`struct mychip <mychip>` will have the
892+interrupt. Then struct mychip will have the
894893 following fields:
895894
896895 ::
@@ -1094,7 +1093,7 @@ PCI Entries · 197 unmodified lines
10941093 -----------
10951094
10961095 So far, so good. Let's finish the missing PCI stuff. At first, we need a
1097−:c:type:`struct pci_device_id <pci_device_id>` table for
1096+struct pci_device_id table for
10981097 this chipset. It's a table of PCI vendor/device ID number, and some
10991098 masks.
11001099
@@ -1110,19 +1109,17 @@ For example, · 9 unmodified lines
11101109 };
11111110 MODULE_DEVICE_TABLE(pci, snd_mychip_ids);
11121111
1113−The first and second fields of the :c:type:`struct pci_device_id
1114−<pci_device_id>` structure are the vendor and device IDs. If you
1115−have no reason to filter the matching devices, you can leave the
1116−remaining fields as above. The last field of the :c:type:`struct
1117−pci_device_id <pci_device_id>` struct contains private data
1118−for this entry. You can specify any value here, for example, to define
1119−specific operations for supported device IDs. Such an example is found
1120−in the intel8x0 driver.
1112+The first and second fields of the struct pci_device_id are the vendor
1113+and device IDs. If you have no reason to filter the matching devices, you can
1114+leave the remaining fields as above. The last field of the
1115+struct pci_device_id contains private data for this entry. You can specify
1116+any value here, for example, to define specific operations for supported
1117+device IDs. Such an example is found in the intel8x0 driver.
11211118
11221119 The last entry of this list is the terminator. You must specify this
11231120 all-zero entry.
11241121
1125−Then, prepare the :c:type:`struct pci_driver <pci_driver>`
1122+Then, prepare the struct pci_driver
11261123 record:
11271124
11281125 ::
@@ -1439,8 +1436,8 @@ corresponding argument. · 310 unmodified lines
14391436 If a chip supports multiple playbacks or captures, you can specify more
14401437 numbers, but they must be handled properly in open/close, etc.
14411438 callbacks. When you need to know which substream you are referring to,
1442−then it can be obtained from :c:type:`struct snd_pcm_substream
1443−<snd_pcm_substream>` data passed to each callback as follows:
1439+then it can be obtained from struct snd_pcm_substream data passed to each
1440+callback as follows:
14441441
14451442 ::
14461443
@@ -1639,10 +1636,9 @@ In the sections below, important records are explained. · 192 unmodified lines
16391636 Hardware Description
16401637 ~~~~~~~~~~~~~~~~~~~~
16411638
1642−The hardware descriptor (:c:type:`struct snd_pcm_hardware
1643−<snd_pcm_hardware>`) contains the definitions of the fundamental
1644−hardware configuration. Above all, you'll need to define this in the
1645−`PCM open callback`_. Note that the runtime instance holds the copy of
1639+The hardware descriptor (struct snd_pcm_hardware) contains the definitions of
1640+the fundamental hardware configuration. Above all, you'll need to define this
1641+in the `PCM open callback`_. Note that the runtime instance holds the copy of
16461642 the descriptor, not the pointer to the existing descriptor. That is,
16471643 in the open callback, you can modify the copied descriptor
16481644 (``runtime->hw``) as you need. For example, if the maximum number of
@@ -1800,14 +1796,13 @@ Running Status · 151 unmodified lines
18001796 ~~~~~~~~~~~~~~
18011797
18021798 The running status can be referred via ``runtime->status``. This is
1803−the pointer to the :c:type:`struct snd_pcm_mmap_status
1804−<snd_pcm_mmap_status>` record. For example, you can get the current
1799+the pointer to the struct snd_pcm_mmap_status record.
1800+For example, you can get the current
18051801 DMA hardware pointer via ``runtime->status->hw_ptr``.
18061802
18071803 The DMA application pointer can be referred via ``runtime->control``,
1808−which points to the :c:type:`struct snd_pcm_mmap_control
1809−<snd_pcm_mmap_control>` record. However, accessing directly to
1810−this value is not recommended.
1804+which points to the struct snd_pcm_mmap_control record.
1805+However, accessing directly to this value is not recommended.
18111806
18121807 Private Data
18131808 ~~~~~~~~~~~~
@@ -1843,8 +1838,8 @@ error number such as ``-EINVAL``. To choose an appropriate error · 29 unmodified lines
18431838 number, it is advised to check what value other parts of the kernel
18441839 return when the same kind of request fails.
18451840
1846−The callback function takes at least the argument with :c:type:`struct
1847−snd_pcm_substream <snd_pcm_substream>` pointer. To retrieve the chip
1841+The callback function takes at least the argument with
1842+struct snd_pcm_substream pointer. To retrieve the chip
18481843 record from the given substream instance, you can use the following
18491844 macro.
18501845
@@ -2313,10 +2308,10 @@ non-atomic contexts. For example, the function · 462 unmodified lines
23132308 :c:func:`snd_pcm_period_elapsed()` is called typically from the
23142309 interrupt handler. But, if you set up the driver to use a threaded
23152310 interrupt handler, this call can be in non-atomic context, too. In such
2316−a case, you can set ``nonatomic`` filed of :c:type:`struct snd_pcm
2317−<snd_pcm>` object after creating it. When this flag is set, mutex
2318−and rwsem are used internally in the PCM core instead of spin and
2319−rwlocks, so that you can call all PCM functions safely in a non-atomic
2311+a case, you can set ``nonatomic`` filed of struct snd_pcm object
2312+after creating it. When this flag is set, mutex and rwsem are used internally
2313+in the PCM core instead of spin and rwlocks, so that you can call all PCM
2314+functions safely in a non-atomic
23202315 context.
23212316
23222317 Constraints
@@ -2357,8 +2352,7 @@ There are many different constraints. Look at ``sound/pcm.h`` for a · 34 unmodified lines
23572352 complete list. You can even define your own constraint rules. For
23582353 example, let's suppose my_chip can manage a substream of 1 channel if
23592354 and only if the format is ``S16_LE``, otherwise it supports any format
2360−specified in the :c:type:`struct snd_pcm_hardware
2361−<snd_pcm_hardware>` structure (or in any other
2355+specified in struct snd_pcm_hardware> (or in any other
23622356 constraint_list). You can build a rule like this:
23632357
23642358 ::
@@ -2467,7 +2461,7 @@ Definition of Controls · 102 unmodified lines
24672461
24682462 To create a new control, you need to define the following three
24692463 callbacks: ``info``, ``get`` and ``put``. Then, define a
2470−:c:type:`struct snd_kcontrol_new <snd_kcontrol_new>` record, such as:
2464+struct snd_kcontrol_new record, such as:
24712465
24722466 ::
24732467
@@ -2602,8 +2596,8 @@ info callback · 128 unmodified lines
26022596 ~~~~~~~~~~~~~
26032597
26042598 The ``info`` callback is used to get detailed information on this
2605−control. This must store the values of the given :c:type:`struct
2606−snd_ctl_elem_info <snd_ctl_elem_info>` object. For example,
2599+control. This must store the values of the given
2600+struct snd_ctl_elem_info object. For example,
26072601 for a boolean control with a single element:
26082602
26092603 ::
@@ -2774,13 +2768,11 @@ In the simplest way, you can do like this: · 164 unmodified lines
27742768 if (err < 0)
27752769 return err;
27762770
2777−where ``my_control`` is the :c:type:`struct snd_kcontrol_new
2778−<snd_kcontrol_new>` object defined above, and chip is the object
2779−pointer to be passed to kcontrol->private_data which can be referred
2780−to in callbacks.
2771+where ``my_control`` is the struct snd_kcontrol_new object defined above,
2772+and chip is the object pointer to be passed to kcontrol->private_data which
2773+can be referred to in callbacks.
27812774
2782−:c:func:`snd_ctl_new1()` allocates a new :c:type:`struct
2783−snd_kcontrol <snd_kcontrol>` instance, and
2775+:c:func:`snd_ctl_new1()` allocates a new struct snd_kcontrol instance, and
27842776 :c:func:`snd_ctl_add()` assigns the given control component to the
27852777 card.
27862778
@@ -2797,10 +2789,9 @@ can call :c:func:`snd_ctl_notify()`. For example, · 10 unmodified lines
27972789 This function takes the card pointer, the event-mask, and the control id
27982790 pointer for the notification. The event-mask specifies the types of
27992791 notification, for example, in the above example, the change of control
2800−values is notified. The id pointer is the pointer of :c:type:`struct
2801−snd_ctl_elem_id <snd_ctl_elem_id>` to be notified. You can
2802−find some examples in ``es1938.c`` or ``es1968.c`` for hardware volume
2803−interrupts.
2792+values is notified. The id pointer is the pointer of struct snd_ctl_elem_id
2793+to be notified. You can find some examples in ``es1938.c`` or ``es1968.c``
2794+for hardware volume interrupts.
28042795
28052796 Metadata
28062797 --------
@@ -2915,9 +2906,8 @@ with an ``ac97_bus_ops_t`` record with callback functions. · 108 unmodified lines
29152906
29162907 The bus record is shared among all belonging ac97 instances.
29172908
2918−And then call :c:func:`snd_ac97_mixer()` with an :c:type:`struct
2919−snd_ac97_template <snd_ac97_template>` record together with
2920−the bus pointer created above.
2909+And then call :c:func:`snd_ac97_mixer()` with an struct snd_ac97_template
2910+record together with the bus pointer created above.
29212911
29222912 ::
29232913
@@ -3118,11 +3108,10 @@ devices on the card, set ``MPU401_INFO_IRQ_HOOK`` (see · 194 unmodified lines
31183108
31193109 Usually, the port address corresponds to the command port and port + 1
31203110 corresponds to the data port. If not, you may change the ``cport``
3121−field of :c:type:`struct snd_mpu401 <snd_mpu401>` manually afterward.
3122−However, :c:type:`struct snd_mpu401 <snd_mpu401>` pointer is
3111+field of struct snd_mpu401 manually afterward.
3112+However, struct snd_mpu401 pointer is
31233113 not returned explicitly by :c:func:`snd_mpu401_uart_new()`. You
3124−need to cast ``rmidi->private_data`` to :c:type:`struct snd_mpu401
3125−<snd_mpu401>` explicitly,
3114+need to cast ``rmidi->private_data`` to struct snd_mpu401 explicitly,
31263115
31273116 ::
31283117
@@ -3326,8 +3315,7 @@ data and removes them from the buffer at once: · 197 unmodified lines
33263315 }
33273316
33283317 If you know beforehand how many bytes you can accept, you can use a
3329−buffer size greater than one with the
3330−:c:func:`snd_rawmidi_transmit\*()` functions.
3318+buffer size greater than one with the ``snd_rawmidi_transmit*()`` functions.
33313319
33323320 The ``trigger`` callback must not sleep. If the hardware FIFO is full
33333321 before the substream buffer has been emptied, you have to continue
@@ -3772,7 +3760,7 @@ For creating the SG-buffer handler, call · 438 unmodified lines
37723760 :c:func:`snd_pcm_set_managed_buffer_all()` with
37733761 ``SNDRV_DMA_TYPE_DEV_SG`` in the PCM constructor like other PCI
37743762 pre-allocator. You need to pass ``&pci->dev``, where pci is
3775−the :c:type:`struct pci_dev <pci_dev>` pointer of the chip as
3763+the struct pci_dev pointer of the chip as
37763764 well.
37773765
37783766 ::
@@ -3927,7 +3915,7 @@ the maximum size of the proc file access. · 148 unmodified lines
39273915
39283916 The read/write callbacks of raw mode are more direct than the text mode.
39293917 You need to use a low-level I/O functions such as
3930−:c:func:`copy_from/to_user()` to transfer the data.
3918+:c:func:`copy_from_user()` and :c:func:`copy_to_user()` to transfer the data.
39313919
39323920 ::
39333921
Documentation/sphinx/automarkup.py+97−11
@@ -22,13 +22,34 @@ from itertools import chain · 21 unmodified lines
2222 # :c:func: block (i.e. ":c:func:`mmap()`s" flakes out), so the last
2323 # bit tries to restrict matches to things that won't create trouble.
2424 #
25−RE_function = re.compile(r'(([\w_][\w\d_]+)\(\))')
26−RE_type = re.compile(r'(struct|union|enum|typedef)\s+([\w_][\w\d_]+)')
25+RE_function = re.compile(r'\b(([a-zA-Z_]\w+)\(\))', flags=re.ASCII)
26+
27+#
28+# Sphinx 2 uses the same :c:type role for struct, union, enum and typedef
29+#
30+RE_generic_type = re.compile(r'\b(struct|union|enum|typedef)\s+([a-zA-Z_]\w+)',
31+ flags=re.ASCII)
32+
33+#
34+# Sphinx 3 uses a different C role for each one of struct, union, enum and
35+# typedef
36+#
37+RE_struct = re.compile(r'\b(struct)\s+([a-zA-Z_]\w+)', flags=re.ASCII)
38+RE_union = re.compile(r'\b(union)\s+([a-zA-Z_]\w+)', flags=re.ASCII)
39+RE_enum = re.compile(r'\b(enum)\s+([a-zA-Z_]\w+)', flags=re.ASCII)
40+RE_typedef = re.compile(r'\b(typedef)\s+([a-zA-Z_]\w+)', flags=re.ASCII)
41+
2742 #
2843 # Detects a reference to a documentation page of the form Documentation/... with
2944 # an optional extension
3045 #
31−RE_doc = re.compile(r'Documentation(/[\w\-_/]+)(\.\w+)*')
46+RE_doc = re.compile(r'\bDocumentation(/[\w\-_/]+)(\.\w+)*')
47+
48+#
49+# Reserved C words that we should skip when cross-referencing
50+#
51+Skipnames = [ 'for', 'if', 'register', 'sizeof', 'struct', 'unsigned' ]
52+
3253
3354 #
3455 # Many places in the docs refer to common system calls. It is
@@ -48,9 +69,22 @@ def markup_refs(docname, app, node): · 13 unmodified lines
4869 #
4970 # Associate each regex with the function that will markup its matches
5071 #
51− markup_func = {RE_type: markup_c_ref,
52− RE_function: markup_c_ref,
53− RE_doc: markup_doc_ref}
72+ markup_func_sphinx2 = {RE_doc: markup_doc_ref,
73+ RE_function: markup_c_ref,
74+ RE_generic_type: markup_c_ref}
75+
76+ markup_func_sphinx3 = {RE_doc: markup_doc_ref,
77+ RE_function: markup_func_ref_sphinx3,
78+ RE_struct: markup_c_ref,
79+ RE_union: markup_c_ref,
80+ RE_enum: markup_c_ref,
81+ RE_typedef: markup_c_ref}
82+
83+ if sphinx.version_info[0] >= 3:
84+ markup_func = markup_func_sphinx3
85+ else:
86+ markup_func = markup_func_sphinx2
87+
5488 match_iterators = [regex.finditer(t) for regex in markup_func]
5589 #
5690 # Sort all references by the starting position in text
@@ -75,12 +109,63 @@ def markup_refs(docname, app, node): · 18 unmodified lines
75109 return repl
76110
77111 #
78−# Try to replace a C reference (function() or struct/union/enum/typedef
79−# type_name) with an appropriate cross reference.
112+# In sphinx3 we can cross-reference to C macro and function, each one with its
113+# own C role, but both match the same regex, so we try both.
80114 #
115+def markup_func_ref_sphinx3(docname, app, match):
116+ class_str = ['c-func', 'c-macro']
117+ reftype_str = ['function', 'macro']
118+
119+ cdom = app.env.domains['c']
120+ #
121+ # Go through the dance of getting an xref out of the C domain
122+ #
123+ target = match.group(2)
124+ target_text = nodes.Text(match.group(0))
125+ xref = None
126+ if not (target in Skipfuncs or target in Skipnames):
127+ for class_s, reftype_s in zip(class_str, reftype_str):
128+ lit_text = nodes.literal(classes=['xref', 'c', class_s])
129+ lit_text += target_text
130+ pxref = addnodes.pending_xref('', refdomain = 'c',
131+ reftype = reftype_s,
132+ reftarget = target, modname = None,
133+ classname = None)
134+ #
135+ # XXX The Latex builder will throw NoUri exceptions here,
136+ # work around that by ignoring them.
137+ #
138+ try:
139+ xref = cdom.resolve_xref(app.env, docname, app.builder,
140+ reftype_s, target, pxref,
141+ lit_text)
142+ except NoUri:
143+ xref = None
144+
145+ if xref:
146+ return xref
147+
148+ return target_text
149+
81150 def markup_c_ref(docname, app, match):
82− class_str = {RE_function: 'c-func', RE_type: 'c-type'}
83− reftype_str = {RE_function: 'function', RE_type: 'type'}
151+ class_str = {# Sphinx 2 only
152+ RE_function: 'c-func',
153+ RE_generic_type: 'c-type',
154+ # Sphinx 3+ only
155+ RE_struct: 'c-struct',
156+ RE_union: 'c-union',
157+ RE_enum: 'c-enum',
158+ RE_typedef: 'c-type',
159+ }
160+ reftype_str = {# Sphinx 2 only
161+ RE_function: 'function',
162+ RE_generic_type: 'type',
163+ # Sphinx 3+ only
164+ RE_struct: 'struct',
165+ RE_union: 'union',
166+ RE_enum: 'enum',
167+ RE_typedef: 'type',
168+ }
84169
85170 cdom = app.env.domains['c']
86171 #
@@ -89,7 +174,8 @@ def markup_c_ref(docname, app, match): · 2 unmodified lines
89174 target = match.group(2)
90175 target_text = nodes.Text(match.group(0))
91176 xref = None
92− if not (match.re == RE_function and target in Skipfuncs):
177+ if not ((match.re == RE_function and target in Skipfuncs)
178+ or (target in Skipnames)):
93179 lit_text = nodes.literal(classes=['xref', 'c', class_str[match.re]])
94180 lit_text += target_text
95181 pxref = addnodes.pending_xref('', refdomain = 'c',
Documentation/sphinx/cdomain.py+92−1
@@ -40,14 +40,94 @@ from sphinx import addnodes · 39 unmodified lines
4040 from sphinx.domains.c import c_funcptr_sig_re, c_sig_re
4141 from sphinx.domains.c import CObject as Base_CObject
4242 from sphinx.domains.c import CDomain as Base_CDomain
43+from itertools import chain
44+import re
4345
44−__version__ = '1.0'
46+__version__ = '1.1'
4547
4648 # Get Sphinx version
4749 major, minor, patch = sphinx.version_info[:3]
4850
51+# Namespace to be prepended to the full name
52+namespace = None
53+
54+#
55+# Handle trivial newer c domain tags that are part of Sphinx 3.1 c domain tags
56+# - Store the namespace if ".. c:namespace::" tag is found
57+#
58+RE_namespace = re.compile(r'^\s*..\s*c:namespace::\s*(\S+)\s*$')
59+
60+def markup_namespace(match):
61+ global namespace
62+
63+ namespace = match.group(1)
64+
65+ return ""
66+
67+#
68+# Handle c:macro for function-style declaration
69+#
70+RE_macro = re.compile(r'^\s*..\s*c:macro::\s*(\S+)\s+(\S.*)\s*$')
71+def markup_macro(match):
72+ return ".. c:function:: " + match.group(1) + ' ' + match.group(2)
73+
74+#
75+# Handle newer c domain tags that are evaluated as .. c:type: for
76+# backward-compatibility with Sphinx < 3.0
77+#
78+RE_ctype = re.compile(r'^\s*..\s*c:(struct|union|enum|enumerator|alias)::\s*(.*)$')
79+
80+def markup_ctype(match):
81+ return ".. c:type:: " + match.group(2)
82+
83+#
84+# Handle newer c domain tags that are evaluated as :c:type: for
85+# backward-compatibility with Sphinx < 3.0
86+#
87+RE_ctype_refs = re.compile(r':c:(var|struct|union|enum|enumerator)::`([^\`]+)`')
88+def markup_ctype_refs(match):
89+ return ":c:type:`" + match.group(2) + '`'
90+
91+#
92+# Simply convert :c:expr: and :c:texpr: into a literal block.
93+#
94+RE_expr = re.compile(r':c:(expr|texpr):`([^\`]+)`')
95+def markup_c_expr(match):
96+ return '\ ``' + match.group(2) + '``\ '
97+
98+#
99+# Parse Sphinx 3.x C markups, replacing them by backward-compatible ones
100+#
101+def c_markups(app, docname, source):
102+ result = ""
103+ markup_func = {
104+ RE_namespace: markup_namespace,
105+ RE_expr: markup_c_expr,
106+ RE_macro: markup_macro,
107+ RE_ctype: markup_ctype,
108+ RE_ctype_refs: markup_ctype_refs,
109+ }
110+
111+ lines = iter(source[0].splitlines(True))
112+ for n in lines:
113+ match_iterators = [regex.finditer(n) for regex in markup_func]
114+ matches = sorted(chain(*match_iterators), key=lambda m: m.start())
115+ for m in matches:
116+ n = n[:m.start()] + markup_func[m.re](m) + n[m.end():]
117+
118+ result = result + n
119+
120+ source[0] = result
121+
122+#
123+# Now implements support for the cdomain namespacing logic
124+#
125+
49126 def setup(app):
50127
128+ # Handle easy Sphinx 3.1+ simple new tags: :c:expr and .. c:namespace::
129+ app.connect('source-read', c_markups)
130+
51131 if (major == 1 and minor < 8):
52132 app.override_domain(CDomain)
53133 else:
@@ -75,6 +155,8 @@ class CObject(Base_CObject): · 21 unmodified lines
75155 function-like macro, the name of the macro is returned. Otherwise
76156 ``False`` is returned. """
77157
158+ global namespace
159+
78160 if not self.objtype == 'function':
79161 return False
80162
@@ -107,11 +189,16 @@ class CObject(Base_CObject): · 26 unmodified lines
107189 param += nodes.emphasis(argname, argname)
108190 paramlist += param
109191
192+ if namespace:
193+ fullname = namespace + "." + fullname
194+
110195 return fullname
111196
112197 def handle_signature(self, sig, signode):
113198 """Transform a C signature into RST nodes."""
114199
200+ global namespace
201+
115202 fullname = self.handle_func_like_macro(sig, signode)
116203 if not fullname:
117204 fullname = super(CObject, self).handle_signature(sig, signode)
@@ -122,6 +209,10 @@ class CObject(Base_CObject): · 4 unmodified lines
122209 else:
123210 # FIXME: handle :name: value of other declaration types?
124211 pass
212+ else:
213+ if namespace:
214+ fullname = namespace + "." + fullname
215+
125216 return fullname
126217
127218 def add_target_and_index(self, name, sig, signode):
Documentation/sphinx/kerneldoc.py+14−1
@@ -62,6 +62,7 @@ class KernelDocDirective(Directive): · 61 unmodified lines
6262 'export': directives.unchanged,
6363 'internal': directives.unchanged,
6464 'identifiers': directives.unchanged,
65+ 'no-identifiers': directives.unchanged,
6566 'functions': directives.unchanged,
6667 }
6768 has_content = False
@@ -70,6 +71,11 @@ class KernelDocDirective(Directive): · 2 unmodified lines
7071 env = self.state.document.settings.env
7172 cmd = [env.config.kerneldoc_bin, '-rst', '-enable-lineno']
7273
74+ # Pass the version string to kernel-doc, as it needs to use a different
75+ # dialect, depending what the C domain supports for each specific
76+ # Sphinx versions
77+ cmd += ['-sphinx-version', sphinx.__version__]
78+
7379 filename = env.config.kerneldoc_srctree + '/' + self.arguments[0]
7480 export_file_patterns = []
7581
@@ -99,6 +105,12 @@ class KernelDocDirective(Directive): · 23 unmodified lines
99105 else:
100106 cmd += ['-no-doc-sections']
101107
108+ if 'no-identifiers' in self.options:
109+ no_identifiers = self.options.get('no-identifiers').split()
110+ if no_identifiers:
111+ for i in no_identifiers:
112+ cmd += ['-nosymbol', i]
113+
102114 for pattern in export_file_patterns:
103115 for f in glob.glob(env.config.kerneldoc_srctree + '/' + pattern):
104116 env.note_dependency(os.path.abspath(f))
@@ -136,7 +148,8 @@ class KernelDocDirective(Directive): · 31 unmodified lines
136148 lineoffset = int(match.group(1)) - 1
137149 # we must eat our comments since the upset the markup
138150 else:
139− result.append(line, filename, lineoffset)
151+ doc = env.srcdir + "/" + env.docname + ":" + str(self.lineno)
152+ result.append(line, doc + ": " + filename, lineoffset)
140153 lineoffset += 1
141154
142155 node = nodes.section()
Documentation/sphinx/parse-headers.pl+1−1
@@ -110,7 +110,7 @@ while (<IN>) { · 109 unmodified lines
110110 ) {
111111 my $s = $1;
112112
113− $structs{$s} = "struct :c:type:`$s`\\ ";
113+ $structs{$s} = "struct $s\\ ";
114114 next;
115115 }
116116 }
Documentation/trace/ftrace-uses.rst+6−6
@@ -55,17 +55,17 @@ an ftrace_ops with ftrace: · 54 unmodified lines
5555
5656 Both .flags and .private are optional. Only .func is required.
5757
58−To enable tracing call:
58+To enable tracing call::
5959
60−.. c:function:: register_ftrace_function(&ops);
60+ register_ftrace_function(&ops);
6161
62−To disable tracing call:
62+To disable tracing call::
6363
64−.. c:function:: unregister_ftrace_function(&ops);
64+ unregister_ftrace_function(&ops);
6565
66−The above is defined by including the header:
66+The above is defined by including the header::
6767
68−.. c:function:: #include <linux/ftrace.h>
68+ #include <linux/ftrace.h>
6969
7070 The registered callback will start being called some time after the
7171 register_ftrace_function() is called and before it returns. The exact time
Documentation/translations/it_IT/kernel-hacking/hacking.rst+1−1
@@ -402,7 +402,7 @@ il valore convertito. Tutte le varianti supportano anche il processo inverso: · 401 unmodified lines
402402 :c:func:`be32_to_cpu()`, eccetera.
403403
404404 Queste funzioni hanno principalmente due varianti: la variante per
405−puntatori, come :c:func:`cpu_to_be32p(), che prende un puntatore
405+puntatori, come :c:func:`cpu_to_be32p()`, che prende un puntatore
406406 ad un tipo, e ritorna il valore convertito. L'altra variante per
407407 la famiglia di conversioni "in-situ", come :c:func:`cpu_to_be32s()`,
408408 che convertono il valore puntato da un puntatore, e ritornano void.
Documentation/translations/it_IT/kernel-hacking/locking.rst+2−0
@@ -1,5 +1,7 @@
11 .. include:: ../disclaimer-ita.rst
22
3+.. c:namespace:: it_IT
4+
35 :Original: :ref:`Documentation/kernel-hacking/locking.rst <kernel_hacking_lock>`
46 :Translator: Federico Vaga <federico.vaga@vaga.pv.it>
57
Documentation/translations/zh_CN/arm64/amu.rst+2−2
@@ -4,9 +4,9 @@ · 3 unmodified lines
44
55 Translator: Bailu Lin <bailu.lin@vivo.com>
66
7−=================================
7+==================================
88 AArch64 Linux 中扩展的活动监控单元
9−=================================
9+==================================
1010
1111 作者: Ionela Voinescu <ionela.voinescu@arm.com>
1212
Documentation/userspace-api/media/cec/cec-func-close.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _cec-func-close:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 cec-close - Close a cec device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,16 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: int close( int fd )
24− :name: cec-close
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :c:func:`open() <cec-open>`.
31−
28+ File descriptor returned by :c:func:`open()`.
3229
3330 Description
3431 ===========
@@ -36,11 +33,10 @@ Description · 1 unmodified line
3633 Closes the cec device. Resources associated with the file descriptor are
3734 freed. The device configuration remain unchanged.
3835
39−
4036 Return Value
4137 ============
4238
43−:c:func:`close() <cec-close>` returns 0 on success. On error, -1 is returned, and
39+:c:func:`close()` returns 0 on success. On error, -1 is returned, and
4440 ``errno`` is set appropriately. Possible error codes are:
4541
4642 ``EBADF``
Documentation/userspace-api/media/cec/cec-func-ioctl.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _cec-func-ioctl:
45
@@ -18,15 +19,13 @@ Synopsis · 13 unmodified lines
1819
1920 #include <sys/ioctl.h>
2021
21−
22−.. c:function:: int ioctl( int fd, int request, void *argp )
23− :name: cec-ioctl
22+``int ioctl(int fd, int request, void *argp)``
2423
2524 Arguments
2625 =========
2726
2827 ``fd``
29− File descriptor returned by :c:func:`open() <cec-open>`.
28+ File descriptor returned by :c:func:`open()`.
3029
3130 ``request``
3231 CEC ioctl request code as defined in the cec.h header file, for
@@ -35,11 +34,10 @@ Arguments · 2 unmodified lines
3534 ``argp``
3635 Pointer to a request-specific structure.
3736
38−
3937 Description
4038 ===========
4139
42−The :c:func:`ioctl() <cec-ioctl>` function manipulates cec device parameters. The
40+The :c:func:`ioctl()` function manipulates cec device parameters. The
4341 argument ``fd`` must be an open file descriptor.
4442
4543 The ioctl ``request`` code specifies the cec function to be called. It
@@ -51,7 +49,6 @@ their parameters are located in the cec.h header file. All cec ioctl · 5 unmodified lines
5149 requests, their respective function and parameters are specified in
5250 :ref:`cec-user-func`.
5351
54−
5552 Return Value
5653 ============
5754
Documentation/userspace-api/media/cec/cec-func-open.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _cec-func-open:
45
@@ -18,10 +19,7 @@ Synopsis · 13 unmodified lines
1819
1920 #include <fcntl.h>
2021
21−
2222 .. c:function:: int open( const char *device_name, int flags )
23− :name: cec-open
24−
2523
2624 Arguments
2725 =========
@@ -42,11 +40,10 @@ Arguments · 14 unmodified lines
4240
4341 Other flags have no effect.
4442
45−
4643 Description
4744 ===========
4845
49−To open a cec device applications call :c:func:`open() <cec-open>` with the
46+To open a cec device applications call :c:func:`open()` with the
5047 desired device name. The function has no side effects; the device
5148 configuration remain unchanged.
5249
@@ -54,11 +51,10 @@ When the device is opened in read-only mode, attempts to modify its · 1 unmodified line
5451 configuration will result in an error, and ``errno`` will be set to
5552 EBADF.
5653
57−
5854 Return Value
5955 ============
6056
61−:c:func:`open() <cec-open>` returns the new file descriptor on success. On error,
57+:c:func:`open()` returns the new file descriptor on success. On error,
6258 -1 is returned, and ``errno`` is set appropriately. Possible error codes
6359 include:
6460
Documentation/userspace-api/media/cec/cec-func-poll.rst+5−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _cec-func-poll:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 cec-poll - Wait for some event on a file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/poll.h>
2121
22−
2322 .. c:function:: int poll( struct pollfd *ufds, unsigned int nfds, int timeout )
24− :name: cec-poll
2523
2624 Arguments
2725 =========
@@ -35,14 +33,13 @@ Arguments · 7 unmodified lines
3533 ``timeout``
3634 Timeout to wait for events
3735
38−
3936 Description
4037 ===========
4138
42−With the :c:func:`poll() <cec-poll>` function applications can wait for CEC
39+With the :c:func:`poll()` function applications can wait for CEC
4340 events.
4441
45−On success :c:func:`poll() <cec-poll>` returns the number of file descriptors
42+On success :c:func:`poll()` returns the number of file descriptors
4643 that have been selected (that is, file descriptors for which the
4744 ``revents`` field of the respective struct :c:type:`pollfd`
4845 is non-zero). CEC devices set the ``POLLIN`` and ``POLLRDNORM`` flags in
@@ -53,13 +50,12 @@ then the ``POLLPRI`` flag is set. When the function times out it returns · 4 unmodified lines
5350 a value of zero, on failure it returns -1 and the ``errno`` variable is
5451 set appropriately.
5552
56−For more details see the :c:func:`poll() <cec-poll>` manual page.
57−
53+For more details see the :c:func:`poll()` manual page.
5854
5955 Return Value
6056 ============
6157
62−On success, :c:func:`poll() <cec-poll>` returns the number structures which have
58+On success, :c:func:`poll()` returns the number structures which have
6359 non-zero ``revents`` fields, or zero if the call timed out. On error -1
6460 is returned, and the ``errno`` variable is set appropriately:
6561
Documentation/userspace-api/media/cec/cec-ioc-adap-g-caps.rst+5−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_ADAP_G_CAPS:
45
@@ -14,18 +15,18 @@ CEC_ADAP_G_CAPS - Query device capabilities · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp )
18− :name: CEC_ADAP_G_CAPS
18+.. c:macro:: CEC_ADAP_G_CAPS
19+
20+``int ioctl(int fd, CEC_ADAP_G_CAPS, struct cec_caps *argp)``
1921
2022 Arguments
2123 =========
2224
2325 ``fd``
24− File descriptor returned by :c:func:`open() <cec-open>`.
26+ File descriptor returned by :c:func:`open()`.
2527
2628 ``argp``
2729
28−
2930 Description
3031 ===========
3132
@@ -62,7 +63,6 @@ returns the information to the application. The ioctl never fails. · 30 unmodified lines
6263 - CEC Framework API version, formatted with the ``KERNEL_VERSION()``
6364 macro.
6465
65−
6666 .. tabularcolumns:: |p{4.4cm}|p{2.5cm}|p{10.6cm}|
6767
6868 .. _cec-capabilities:
Documentation/userspace-api/media/cec/cec-ioc-adap-g-conn-info.rst+6−5
@@ -2,6 +2,8 @@ · 1 unmodified line
22 ..
33 .. Copyright 2019 Google LLC
44 ..
5+.. c:namespace:: CEC
6+
57 .. _CEC_ADAP_G_CONNECTOR_INFO:
68
79 *******************************
@@ -16,18 +18,18 @@ CEC_ADAP_G_CONNECTOR_INFO - Query HDMI connector information · 8 unmodified lines
1618 Synopsis
1719 ========
1820
19−.. c:function:: int ioctl( int fd, CEC_ADAP_G_CONNECTOR_INFO, struct cec_connector_info *argp )
20− :name: CEC_ADAP_G_CONNECTOR_INFO
21+.. c:macro:: CEC_ADAP_G_CONNECTOR_INFO
22+
23+``int ioctl(int fd, CEC_ADAP_G_CONNECTOR_INFO, struct cec_connector_info *argp)``
2124
2225 Arguments
2326 =========
2427
2528 ``fd``
26− File descriptor returned by :c:func:`open() <cec-open>`.
29+ File descriptor returned by :c:func:`open()`.
2730
2831 ``argp``
2932
30−
3133 Description
3234 ===========
3335
@@ -57,7 +59,6 @@ is only available if the ``CEC_CAP_CONNECTOR_INFO`` capability is set. · 23 unmodified lines
5759 * - }
5860 -
5961
60−
6162 .. tabularcolumns:: |p{4.4cm}|p{2.5cm}|p{10.6cm}|
6263
6364 .. _connector-type:
Documentation/userspace-api/media/cec/cec-ioc-adap-g-log-addrs.rst+8−12
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_ADAP_LOG_ADDRS:
45 .. _CEC_ADAP_G_LOG_ADDRS:
@@ -13,21 +14,22 @@ Name · 8 unmodified lines
1314
1415 CEC_ADAP_G_LOG_ADDRS, CEC_ADAP_S_LOG_ADDRS - Get or set the logical addresses
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, CEC_ADAP_G_LOG_ADDRS, struct cec_log_addrs *argp )
21− :name: CEC_ADAP_G_LOG_ADDRS
20+.. c:macro:: CEC_ADAP_G_LOG_ADDRS
21+
22+``int ioctl(int fd, CEC_ADAP_G_LOG_ADDRS, struct cec_log_addrs *argp)``
23+
24+.. c:macro:: CEC_ADAP_S_LOG_ADDRS
2225
23−.. c:function:: int ioctl( int fd, CEC_ADAP_S_LOG_ADDRS, struct cec_log_addrs *argp )
24− :name: CEC_ADAP_S_LOG_ADDRS
26+``int ioctl(int fd, CEC_ADAP_S_LOG_ADDRS, struct cec_log_addrs *argp)``
2527
2628 Arguments
2729 =========
2830
2931 ``fd``
30− File descriptor returned by :c:func:`open() <cec-open>`.
32+ File descriptor returned by :c:func:`open()`.
3133
3234 ``argp``
3335 Pointer to struct :c:type:`cec_log_addrs`.
@@ -148,7 +150,6 @@ logical address types are already defined will return with error ``EBUSY``. · 114 unmodified lines
148150 give the CEC framework more information about the device type, even
149151 though the framework won't use it directly in the CEC message.
150152
151−
152153 .. tabularcolumns:: |p{7.8cm}|p{1.0cm}|p{8.7cm}|
153154
154155 .. _cec-log-addrs-flags:
@@ -185,7 +186,6 @@ logical address types are already defined will return with error ``EBUSY``. · 30 unmodified lines
185186
186187 All other messages are ignored.
187188
188−
189189 .. tabularcolumns:: |p{7.8cm}|p{1.0cm}|p{8.7cm}|
190190
191191 .. _cec-versions:
@@ -211,7 +211,6 @@ logical address types are already defined will return with error ``EBUSY``. · 19 unmodified lines
211211 - 6
212212 - CEC version according to the HDMI 2.0 standard.
213213
214−
215214 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
216215
217216 .. _cec-prim-dev-types:
@@ -257,7 +256,6 @@ logical address types are already defined will return with error ``EBUSY``. · 39 unmodified lines
257256 - 7
258257 - Use for a video processor device.
259258
260−
261259 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
262260
263261 .. _cec-log-addr-types:
@@ -306,7 +304,6 @@ logical address types are already defined will return with error ``EBUSY``. · 42 unmodified lines
306304 Control).
307305
308306
309−
310307 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
311308
312309 .. _cec-all-dev-types-flags:
@@ -348,7 +345,6 @@ logical address types are already defined will return with error ``EBUSY``. · 35 unmodified lines
348345 - This supports the CEC Switch or Video Processing type.
349346
350347
351−
352348 Return Value
353349 ============
354350
Documentation/userspace-api/media/cec/cec-ioc-adap-g-phys-addr.rst+8−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_ADAP_PHYS_ADDR:
45 .. _CEC_ADAP_G_PHYS_ADDR:
@@ -13,21 +14,22 @@ Name · 8 unmodified lines
1314
1415 CEC_ADAP_G_PHYS_ADDR, CEC_ADAP_S_PHYS_ADDR - Get or set the physical address
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, CEC_ADAP_G_PHYS_ADDR, __u16 *argp )
21− :name: CEC_ADAP_G_PHYS_ADDR
20+.. c:macro:: CEC_ADAP_G_PHYS_ADDR
21+
22+``int ioctl(int fd, CEC_ADAP_G_PHYS_ADDR, __u16 *argp)``
2223
23−.. c:function:: int ioctl( int fd, CEC_ADAP_S_PHYS_ADDR, __u16 *argp )
24− :name: CEC_ADAP_S_PHYS_ADDR
24+.. c:macro:: CEC_ADAP_S_PHYS_ADDR
25+
26+``int ioctl(int fd, CEC_ADAP_S_PHYS_ADDR, __u16 *argp)``
2527
2628 Arguments
2729 =========
2830
2931 ``fd``
30− File descriptor returned by :c:func:`open() <cec-open>`.
32+ File descriptor returned by :c:func:`open()`.
3133
3234 ``argp``
3335 Pointer to the CEC address.
@@ -71,7 +73,6 @@ For example, the EDID for each HDMI input of the TV will have a · 37 unmodified lines
7173 different physical address of the form a.0.0.0 that the sources will
7274 read out and use as their physical address.
7375
74−
7576 Return Value
7677 ============
7778
Documentation/userspace-api/media/cec/cec-ioc-dqevent.rst+5−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_DQEVENT:
45
@@ -11,22 +12,21 @@ Name · 6 unmodified lines
1112
1213 CEC_DQEVENT - Dequeue a CEC event
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, CEC_DQEVENT, struct cec_event *argp )
19− :name: CEC_DQEVENT
18+.. c:macro:: CEC_DQEVENT
19+
20+``int ioctl(int fd, CEC_DQEVENT, struct cec_event *argp)``
2021
2122 Arguments
2223 =========
2324
2425 ``fd``
25− File descriptor returned by :c:func:`open() <cec-open>`.
26+ File descriptor returned by :c:func:`open()`.
2627
2728 ``argp``
2829
29−
3030 Description
3131 ===========
3232
@@ -72,7 +72,6 @@ it is guaranteed that the state did change in between the two events. · 39 unmodified lines
7272 the HDMI driver is still configuring the device or because the HDMI
7373 device was unbound.
7474
75−
7675 .. c:type:: cec_event_lost_msgs
7776
7877 .. tabularcolumns:: |p{1.0cm}|p{2.0cm}|p{14.5cm}|
@@ -94,7 +93,6 @@ it is guaranteed that the state did change in between the two events. · 15 unmodified lines
9493 replied to within a second according to the CEC specification,
9594 this is more than enough.
9695
97−
9896 .. tabularcolumns:: |p{1.0cm}|p{4.4cm}|p{2.5cm}|p{9.6cm}|
9997
10098 .. c:type:: cec_event
@@ -130,7 +128,6 @@ it is guaranteed that the state did change in between the two events. · 29 unmodified lines
130128 * - }
131129 -
132130
133−
134131 .. tabularcolumns:: |p{5.6cm}|p{0.9cm}|p{11.0cm}|
135132
136133 .. _cec-events:
@@ -204,7 +201,6 @@ it is guaranteed that the state did change in between the two events. · 67 unmodified lines
204201 if the 5V is high, then an initial event will be generated for that
205202 filehandle.
206203
207−
208204 .. tabularcolumns:: |p{6.0cm}|p{0.6cm}|p{10.9cm}|
209205
210206 .. _cec-event-flags:
@@ -230,7 +226,6 @@ it is guaranteed that the state did change in between the two events. · 19 unmodified lines
230226 This is an indication that the application cannot keep up.
231227
232228
233−
234229 Return Value
235230 ============
236231
Documentation/userspace-api/media/cec/cec-ioc-g-mode.rst+8−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_MODE:
45 .. _CEC_G_MODE:
@@ -13,17 +14,19 @@ CEC_G_MODE, CEC_S_MODE - Get or set exclusive use of the CEC adapter · 8 unmodified lines
1314 Synopsis
1415 ========
1516
16−.. c:function:: int ioctl( int fd, CEC_G_MODE, __u32 *argp )
17− :name: CEC_G_MODE
17+.. c:macro:: CEC_G_MODE
1818
19−.. c:function:: int ioctl( int fd, CEC_S_MODE, __u32 *argp )
20− :name: CEC_S_MODE
19+``int ioctl(int fd, CEC_G_MODE, __u32 *argp)``
20+
21+.. c:macro:: CEC_S_MODE
22+
23+``int ioctl(int fd, CEC_S_MODE, __u32 *argp)``
2124
2225 Arguments
2326 =========
2427
2528 ``fd``
26− File descriptor returned by :c:func:`open() <cec-open>`.
29+ File descriptor returned by :c:func:`open()`.
2730
2831 ``argp``
2932 Pointer to CEC mode.
@@ -101,7 +104,6 @@ Available initiator modes are: · 71 unmodified lines
101104 then an attempt to become one will return the ``EBUSY`` error code
102105 error.
103106
104−
105107 Available follower modes are:
106108
107109 .. tabularcolumns:: |p{6.6cm}|p{0.9cm}|p{10.0cm}|
@@ -193,7 +195,6 @@ Available follower modes are: · 85 unmodified lines
193195 the process has the ``CAP_NET_ADMIN`` capability. If that is not
194196 set, then the ``EPERM`` error code is returned.
195197
196−
197198 Core message processing details:
198199
199200 .. tabularcolumns:: |p{6.6cm}|p{10.9cm}|
@@ -272,7 +273,6 @@ Core message processing details: · 72 unmodified lines
272273 and then just pass the message on to the follower(s).
273274
274275
275−
276276 Return Value
277277 ============
278278
Documentation/userspace-api/media/cec/cec-ioc-receive.rst+8−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: CEC
23
34 .. _CEC_TRANSMIT:
45 .. _CEC_RECEIVE:
@@ -12,21 +13,22 @@ Name · 7 unmodified lines
1213
1314 CEC_RECEIVE, CEC_TRANSMIT - Receive or transmit a CEC message
1415
15−
1616 Synopsis
1717 ========
1818
19−.. c:function:: int ioctl( int fd, CEC_RECEIVE, struct cec_msg \*argp )
20− :name: CEC_RECEIVE
19+.. c:macro:: CEC_RECEIVE
20+
21+``int ioctl(int fd, CEC_RECEIVE, struct cec_msg *argp)``
2122
22−.. c:function:: int ioctl( int fd, CEC_TRANSMIT, struct cec_msg \*argp )
23− :name: CEC_TRANSMIT
23+.. c:macro:: CEC_TRANSMIT
24+
25+``int ioctl(int fd, CEC_TRANSMIT, struct cec_msg *argp)``
2426
2527 Arguments
2628 =========
2729
2830 ``fd``
29− File descriptor returned by :c:func:`open() <cec-open>`.
31+ File descriptor returned by :c:func:`open()`.
3032
3133 ``argp``
3234 Pointer to struct cec_msg.
@@ -194,7 +196,6 @@ View On' messages from initiator 0xf ('Unregistered') to destination 0 ('TV'). · 161 unmodified lines
194196 supports this, otherwise it is always 0. This counter is only
195197 valid if the :ref:`CEC_TX_STATUS_ERROR <CEC-TX-STATUS-ERROR>` status bit is set.
196198
197−
198199 .. tabularcolumns:: |p{6.2cm}|p{1.0cm}|p{10.3cm}|
199200
200201 .. _cec-msg-flags:
@@ -228,7 +229,6 @@ View On' messages from initiator 0xf ('Unregistered') to destination 0 ('TV'). · 27 unmodified lines
228229 capability. If that is not set, then the ``EPERM`` error code is
229230 returned.
230231
231−
232232 .. tabularcolumns:: |p{5.6cm}|p{0.9cm}|p{11.0cm}|
233233
234234 .. _cec-tx-status:
@@ -298,7 +298,6 @@ View On' messages from initiator 0xf ('Unregistered') to destination 0 ('TV'). · 63 unmodified lines
298298 - The transmit timed out. This should not normally happen and this
299299 indicates a driver problem.
300300
301−
302301 .. tabularcolumns:: |p{5.6cm}|p{0.9cm}|p{11.0cm}|
303302
304303 .. _cec-rx-status:
@@ -335,7 +334,6 @@ View On' messages from initiator 0xf ('Unregistered') to destination 0 ('TV'). · 30 unmodified lines
335334 reply was interrupted.
336335
337336
338−
339337 Return Value
340338 ============
341339
Documentation/userspace-api/media/dvb/audio-bilingual-channel-select.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_BILINGUAL_CHANNEL_SELECT:
45
@@ -16,9 +17,9 @@ AUDIO_BILINGUAL_CHANNEL_SELECT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_BILINGUAL_CHANNEL_SELECT, struct *audio_channel_select)
20− :name: AUDIO_BILINGUAL_CHANNEL_SELECT
20+.. c:macro:: AUDIO_BILINGUAL_CHANNEL_SELECT
2121
22+``int ioctl(int fd, AUDIO_BILINGUAL_CHANNEL_SELECT, struct audio_channel_select *select)``
2223
2324 Arguments
2425 ---------
@@ -39,7 +40,6 @@ Arguments · 14 unmodified lines
3940
4041 - Select the output format of the audio (mono left/right, stereo).
4142
42−
4343 Description
4444 -----------
4545
@@ -50,7 +50,6 @@ for MPEG decoders controlled through V4L2. · 4 unmodified lines
5050 This ioctl call asks the Audio Device to select the requested channel
5151 for bilingual streams if possible.
5252
53−
5453 Return Value
5554 ------------
5655
Documentation/userspace-api/media/dvb/audio-channel-select.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_CHANNEL_SELECT:
45
@@ -16,9 +17,9 @@ AUDIO_CHANNEL_SELECT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_CHANNEL_SELECT, struct *audio_channel_select)
20− :name: AUDIO_CHANNEL_SELECT
20+.. c:macro:: AUDIO_CHANNEL_SELECT
2121
22+``int ioctl(int fd, AUDIO_CHANNEL_SELECT, struct audio_channel_select *select)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - Select the output format of the audio (mono left/right, stereo).
4242
43−
4443 Description
4544 -----------
4645
@@ -50,7 +49,6 @@ V4L2 ``V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK`` control instead. · 3 unmodified lines
5049 This ioctl call asks the Audio Device to select the requested channel if
5150 possible.
5251
53−
5452 Return Value
5553 ------------
5654
Documentation/userspace-api/media/dvb/audio-clear-buffer.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_CLEAR_BUFFER:
45
@@ -16,8 +17,9 @@ AUDIO_CLEAR_BUFFER · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_CLEAR_BUFFER)
20− :name: AUDIO_CLEAR_BUFFER
20+.. c:macro:: AUDIO_CLEAR_BUFFER
21+
22+``int ioctl(int fd, AUDIO_CLEAR_BUFFER)``
2123
2224 Arguments
2325 ---------
@@ -26,7 +28,6 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 - .. row 1
3132
3233 - int fd
@@ -39,7 +40,6 @@ Description · 6 unmodified lines
3940 This ioctl call asks the Audio Device to clear all software and hardware
4041 buffers of the audio decoder device.
4142
42−
4343 Return Value
4444 ------------
4545
Documentation/userspace-api/media/dvb/audio-continue.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_CONTINUE:
45
@@ -16,9 +17,9 @@ AUDIO_CONTINUE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_CONTINUE)
20− :name: AUDIO_CONTINUE
20+.. c:macro:: AUDIO_CONTINUE
2121
22+``int ioctl(int fd, AUDIO_CONTINUE)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,7 +40,6 @@ Description · 6 unmodified lines
4040 This ioctl restarts the decoding and playing process previously paused
4141 with AUDIO_PAUSE command.
4242
43−
4443 Return Value
4544 ------------
4645
Documentation/userspace-api/media/dvb/audio-fclose.rst+1−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _audio_fclose:
45
@@ -17,8 +18,6 @@ Synopsis · 12 unmodified lines
1718 --------
1819
1920 .. c:function:: int close(int fd)
20− :name: dvb-audio-close
21−
2221
2322 Arguments
2423 ---------
@@ -27,20 +26,17 @@ Arguments · 2 unmodified lines
2726 :header-rows: 0
2827 :stub-columns: 0
2928
30−
3129 - .. row 1
3230
3331 - int fd
3432
3533 - File descriptor returned by a previous call to open().
3634
37−
3835 Description
3936 -----------
4037
4138 This system call closes a previously opened audio device.
4239
43−
4440 Return Value
4541 ------------
4642
@@ -48,7 +44,6 @@ Return Value · 1 unmodified line
4844 :header-rows: 0
4945 :stub-columns: 0
5046
51−
5247 - .. row 1
5348
5449 - ``EBADF``
Documentation/userspace-api/media/dvb/audio-fopen.rst+1−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _audio_fopen:
45
@@ -17,8 +18,6 @@ Synopsis · 12 unmodified lines
1718 --------
1819
1920 .. c:function:: int open(const char *deviceName, int flags)
20− :name: dvb-audio-open
21−
2221
2322 Arguments
2423 ---------
@@ -27,7 +26,6 @@ Arguments · 2 unmodified lines
2726 :header-rows: 0
2827 :stub-columns: 0
2928
30−
3129 - .. row 1
3230
3331 - const char \*deviceName
@@ -60,7 +58,6 @@ Arguments · 26 unmodified lines
6058 -
6159 - (blocking mode is the default)
6260
63−
6461 Description
6562 -----------
6663
@@ -78,7 +75,6 @@ fail, and an error code will be returned. If the Audio Device is opened · 11 unmodified lines
7875 in O_RDONLY mode, the only ioctl call that can be used is
7976 AUDIO_GET_STATUS. All other call will return with an error code.
8077
81−
8278 Return Value
8379 ------------
8480
@@ -88,7 +84,6 @@ Return Value · 3 unmodified lines
8884 :header-rows: 0
8985 :stub-columns: 0
9086
91−
9287 - .. row 1
9388
9489 - ``ENODEV``
Documentation/userspace-api/media/dvb/audio-fwrite.rst+1−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _audio_fwrite:
45
@@ -17,8 +18,6 @@ Synopsis · 12 unmodified lines
1718 --------
1819
1920 .. c:function:: size_t write(int fd, const void *buf, size_t count)
20− :name: dvb-audio-write
21−
2221
2322 Arguments
2423 ---------
@@ -27,7 +26,6 @@ Arguments · 2 unmodified lines
2726 :header-rows: 0
2827 :stub-columns: 0
2928
30−
3129 - .. row 1
3230
3331 - int fd
@@ -46,7 +44,6 @@ Arguments · 12 unmodified lines
4644
4745 - Size of buf.
4846
49−
5047 Description
5148 -----------
5249
@@ -56,7 +53,6 @@ PES format. If O_NONBLOCK is not specified the function will block · 3 unmodified lines
5653 until buffer space is available. The amount of data to be transferred is
5754 implied by count.
5855
59−
6056 Return Value
6157 ------------
6258
@@ -64,7 +60,6 @@ Return Value · 1 unmodified line
6460 :header-rows: 0
6561 :stub-columns: 0
6662
67−
6863 - .. row 1
6964
7065 - ``EPERM``
Documentation/userspace-api/media/dvb/audio-get-capabilities.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_GET_CAPABILITIES:
45
@@ -16,9 +17,9 @@ AUDIO_GET_CAPABILITIES · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_GET_CAPABILITIES, unsigned int *cap)
20− :name: AUDIO_GET_CAPABILITIES
20+.. c:macro:: AUDIO_GET_CAPABILITIES
2121
22+``int ioctl(int fd, AUDIO_GET_CAPABILITIES, unsigned int *cap)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -40,14 +40,12 @@ Arguments · 6 unmodified lines
4040
4141 - Returns a bit array of supported sound formats.
4242
43−
4443 Description
4544 -----------
4645
4746 This ioctl call asks the Audio Device to tell us about the decoding
4847 capabilities of the audio hardware.
4948
50−
5149 Return Value
5250 ------------
5351
Documentation/userspace-api/media/dvb/audio-get-status.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_GET_STATUS:
45
@@ -16,9 +17,9 @@ AUDIO_GET_STATUS · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_GET_STATUS, struct audio_status *status)
20− :name: AUDIO_GET_STATUS
20+.. c:macro:: AUDIO_GET_STATUS
2121
22+``int ioctl(int fd, AUDIO_GET_STATUS, struct audio_status *status)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -40,14 +40,12 @@ Arguments · 6 unmodified lines
4040
4141 - Returns the current state of Audio Device.
4242
43−
4443 Description
4544 -----------
4645
4746 This ioctl call asks the Audio Device to return the current state of the
4847 Audio Device.
4948
50−
5149 Return Value
5250 ------------
5351
Documentation/userspace-api/media/dvb/audio-pause.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_PAUSE:
45
@@ -16,8 +17,9 @@ AUDIO_PAUSE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_PAUSE)
20− :name: AUDIO_PAUSE
20+.. c:macro:: AUDIO_PAUSE
21+
22+``int ioctl(int fd, AUDIO_PAUSE)``
2123
2224 Arguments
2325 ---------
@@ -26,14 +28,12 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 - .. row 1
3132
3233 - int fd
3334
3435 - File descriptor returned by a previous call to open().
3536
36−
3737 Description
3838 -----------
3939
@@ -41,7 +41,6 @@ This ioctl call suspends the audio stream being played. Decoding and · 1 unmodified line
4141 playing are paused. It is then possible to restart again decoding and
4242 playing process of the audio stream using AUDIO_CONTINUE command.
4343
44−
4544 Return Value
4645 ------------
4746
Documentation/userspace-api/media/dvb/audio-play.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_PLAY:
45
@@ -16,9 +17,9 @@ AUDIO_PLAY · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_PLAY)
20− :name: AUDIO_PLAY
20+.. c:macro:: AUDIO_PLAY
2121
22+``int ioctl(int fd, AUDIO_PLAY)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,7 +40,6 @@ Description · 6 unmodified lines
4040 This ioctl call asks the Audio Device to start playing an audio stream
4141 from the selected source.
4242
43−
4443 Return Value
4544 ------------
4645
Documentation/userspace-api/media/dvb/audio-select-source.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SELECT_SOURCE:
45
@@ -16,9 +17,9 @@ AUDIO_SELECT_SOURCE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SELECT_SOURCE, struct audio_stream_source *source)
20− :name: AUDIO_SELECT_SOURCE
20+.. c:macro:: AUDIO_SELECT_SOURCE
2121
22+``int ioctl(int fd, AUDIO_SELECT_SOURCE, struct audio_stream_source *source)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - Indicates the source that shall be used for the Audio stream.
4242
43−
4443 Description
4544 -----------
4645
@@ -49,7 +48,6 @@ the input data. The possible sources are demux or memory. If · 2 unmodified lines
4948 AUDIO_SOURCE_MEMORY is selected, the data is fed to the Audio Device
5049 through the write command.
5150
52−
5351 Return Value
5452 ------------
5553
Documentation/userspace-api/media/dvb/audio-set-av-sync.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_AV_SYNC:
45
@@ -16,9 +17,9 @@ AUDIO_SET_AV_SYNC · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SET_AV_SYNC, boolean state)
20− :name: AUDIO_SET_AV_SYNC
20+.. c:macro:: AUDIO_SET_AV_SYNC
2121
22+``int ioctl(int fd, AUDIO_SET_AV_SYNC, boolean state)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -44,14 +44,12 @@ Arguments · 10 unmodified lines
4444
4545 FALSE: AV-sync OFF
4646
47−
4847 Description
4948 -----------
5049
5150 This ioctl call asks the Audio Device to turn ON or OFF A/V
5251 synchronization.
5352
54−
5553 Return Value
5654 ------------
5755
Documentation/userspace-api/media/dvb/audio-set-bypass-mode.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_BYPASS_MODE:
45
@@ -16,8 +17,9 @@ AUDIO_SET_BYPASS_MODE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SET_BYPASS_MODE, boolean mode)
20− :name: AUDIO_SET_BYPASS_MODE
20+.. c:macro:: AUDIO_SET_BYPASS_MODE
21+
22+``int ioctl(int fd, AUDIO_SET_BYPASS_MODE, boolean mode)``
2123
2224 Arguments
2325 ---------
@@ -26,7 +28,6 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 -
3132
3233 - int fd
@@ -44,7 +45,6 @@ Arguments · 11 unmodified lines
4445
4546 FALSE: Bypass is enabled
4647
47−
4848 Description
4949 -----------
5050
@@ -54,7 +54,6 @@ that can’t be handled by the Digital TV system shall be decoded. Dolby · 3 unmodified lines
5454 DigitalTM streams are automatically forwarded by the Digital TV subsystem if
5555 the hardware can handle it.
5656
57−
5857 Return Value
5958 ------------
6059
Documentation/userspace-api/media/dvb/audio-set-id.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_ID:
45
@@ -16,8 +17,9 @@ AUDIO_SET_ID · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SET_ID, int id)
20− :name: AUDIO_SET_ID
20+.. c:macro:: AUDIO_SET_ID
21+
22+``int ioctl(int fd, AUDIO_SET_ID, int id)``
2123
2224 Arguments
2325 ---------
@@ -26,7 +28,6 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 -
3132
3233 - int fd
@@ -39,7 +40,6 @@ Arguments · 6 unmodified lines
3940
4041 - audio sub-stream id
4142
42−
4343 Description
4444 -----------
4545
@@ -51,7 +51,6 @@ other stream types. If the stream type is set the id just specifies the · 5 unmodified lines
5151 substream id of the audio stream and only the first 5 bits are
5252 recognized.
5353
54−
5554 Return Value
5655 ------------
5756
Documentation/userspace-api/media/dvb/audio-set-mixer.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_MIXER:
45
@@ -16,8 +17,9 @@ AUDIO_SET_MIXER · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SET_MIXER, struct audio_mixer *mix)
20− :name: AUDIO_SET_MIXER
20+.. c:macro:: AUDIO_SET_MIXER
21+
22+``int ioctl(int fd, AUDIO_SET_MIXER, struct audio_mixer *mix)``
2123
2224 Arguments
2325 ---------
@@ -26,7 +28,6 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 -
3132
3233 - int fd
@@ -39,13 +40,11 @@ Arguments · 6 unmodified lines
3940
4041 - mixer settings.
4142
42−
4343 Description
4444 -----------
4545
4646 This ioctl lets you adjust the mixer settings of the audio decoder.
4747
48−
4948 Return Value
5049 ------------
5150
Documentation/userspace-api/media/dvb/audio-set-mute.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_MUTE:
45
@@ -16,9 +17,9 @@ AUDIO_SET_MUTE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_SET_MUTE, boolean state)
20− :name: AUDIO_SET_MUTE
20+.. c:macro:: AUDIO_SET_MUTE
2121
22+``int ioctl(int fd, AUDIO_SET_MUTE, boolean state)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -44,7 +44,6 @@ Arguments · 10 unmodified lines
4444
4545 FALSE: Audio Un-mute
4646
47−
4847 Description
4948 -----------
5049
@@ -55,7 +54,6 @@ V4L2 :ref:`VIDIOC_DECODER_CMD` with the · 4 unmodified lines
5554 This ioctl call asks the audio device to mute the stream that is
5655 currently being played.
5756
58−
5957 Return Value
6058 ------------
6159
Documentation/userspace-api/media/dvb/audio-set-streamtype.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_SET_STREAMTYPE:
45
@@ -16,9 +17,9 @@ AUDIO_SET_STREAMTYPE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, AUDIO_SET_STREAMTYPE, int type)
20− :name: AUDIO_SET_STREAMTYPE
20+.. c:macro:: AUDIO_SET_STREAMTYPE
2121
22+``int ioctl(fd, AUDIO_SET_STREAMTYPE, int type)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 -
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - stream type
4242
43−
4443 Description
4544 -----------
4645
@@ -48,7 +47,6 @@ This ioctl tells the driver which kind of audio stream to expect. This · 1 unmodified line
4847 is useful if the stream offers several audio sub-streams like LPCM and
4948 AC3.
5049
51−
5250 Return Value
5351 ------------
5452
@@ -57,12 +55,10 @@ appropriately. The generic error codes are described at the · 2 unmodified lines
5755 :ref:`Generic Error Codes <gen-errors>` chapter.
5856
5957
60−
6158 .. flat-table::
6259 :header-rows: 0
6360 :stub-columns: 0
6461
65−
6662 - .. row 1
6763
6864 - ``EINVAL``
Documentation/userspace-api/media/dvb/audio-stop.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.audio
23
34 .. _AUDIO_STOP:
45
@@ -16,8 +17,9 @@ AUDIO_STOP · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, AUDIO_STOP)
20− :name: AUDIO_STOP
20+.. c:macro:: AUDIO_STOP
21+
22+``int ioctl(int fd, AUDIO_STOP)``
2123
2224 Arguments
2325 ---------
@@ -26,21 +28,18 @@ Arguments · 2 unmodified lines
2628 :header-rows: 0
2729 :stub-columns: 0
2830
29−
3031 - .. row 1
3132
3233 - int fd
3334
3435 - File descriptor returned by a previous call to open().
3536
36−
3737 Description
3838 -----------
3939
4040 This ioctl call asks the Audio Device to stop playing the current
4141 stream.
4242
43−
4443 Return Value
4544 ------------
4645
Documentation/userspace-api/media/dvb/ca-fclose.rst+2−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _ca_fclose:
45
@@ -11,26 +12,22 @@ Name · 6 unmodified lines
1112
1213 Digital TV CA close()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: int close(int fd)
19− :name: dvb-ca-close
20−
2119
2220 Arguments
2321 ---------
2422
2523 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
24+ File descriptor returned by a previous call to :c:func:`open()`.
2725
2826 Description
2927 -----------
3028
3129 This system call closes a previously opened CA device.
3230
33−
3431 Return Value
3532 ------------
3633
Documentation/userspace-api/media/dvb/ca-fopen.rst+1−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _ca_fopen:
45
@@ -11,13 +12,10 @@ Name · 6 unmodified lines
1112
1213 Digital TV CA open()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: int open(const char *name, int flags)
19− :name: dvb-ca-open
20−
2119
2220 Arguments
2321 ---------
@@ -45,7 +43,6 @@ Arguments · 21 unmodified lines
4543 - open in non-blocking mode
4644 (blocking mode is the default)
4745
48−
4946 Description
5047 -----------
5148
@@ -63,11 +60,9 @@ Only one user can open the CA Device in ``O_RDWR`` mode. All other · 11 unmodified lines
6360 attempts to open the device in this mode will fail, and an error code
6461 will be returned.
6562
66−
6763 Return Value
6864 ------------
6965
70−
7166 On success 0 is returned.
7267
7368 On error -1 is returned, and the ``errno`` variable is set
Documentation/userspace-api/media/dvb/ca-get-cap.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_GET_CAP:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_GET_CAP
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_GET_CAP, struct ca_caps *caps)
19− :name: CA_GET_CAP
18+.. c:macro:: CA_GET_CAP
2019
20+``int ioctl(fd, CA_GET_CAP, struct ca_caps *caps)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 ``caps``
2929 Pointer to struct :c:type:`ca_caps`.
Documentation/userspace-api/media/dvb/ca-get-descr-info.rst+5−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_GET_DESCR_INFO:
45
@@ -11,18 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_GET_DESCR_INFO
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_GET_DESCR_INFO, struct ca_descr_info *desc)
19− :name: CA_GET_DESCR_INFO
18+.. c:macro:: CA_GET_DESCR_INFO
19+
20+``int ioctl(fd, CA_GET_DESCR_INFO, struct ca_descr_info *desc)``
2021
2122 Arguments
2223 ---------
2324
2425 ``fd``
25− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2627
2728 ``desc``
2829 Pointer to struct :c:type:`ca_descr_info`.
Documentation/userspace-api/media/dvb/ca-get-msg.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_GET_MSG:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_GET_MSG
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_GET_MSG, struct ca_msg *msg)
19− :name: CA_GET_MSG
18+.. c:macro:: CA_GET_MSG
2019
20+``int ioctl(fd, CA_GET_MSG, struct ca_msg *msg)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 ``msg``
2929 Pointer to struct :c:type:`ca_msg`.
@@ -38,11 +38,9 @@ Receives a message via a CI CA module. · 8 unmodified lines
3838 Please notice that, on most drivers, this is done by reading from
3939 the /dev/adapter?/ca? device node.
4040
41−
4241 Return Value
4342 ------------
4443
45−
4644 On success 0 is returned.
4745
4846 On error -1 is returned, and the ``errno`` variable is set
Documentation/userspace-api/media/dvb/ca-get-slot-info.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_GET_SLOT_INFO:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_GET_SLOT_INFO
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_GET_SLOT_INFO, struct ca_slot_info *info)
19− :name: CA_GET_SLOT_INFO
18+.. c:macro:: CA_GET_SLOT_INFO
2019
20+``int ioctl(fd, CA_GET_SLOT_INFO, struct ca_slot_info *info)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <cec-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 ``info``
2929 Pointer to struct :c:type:`ca_slot_info`.
@@ -34,7 +34,6 @@ Description · 4 unmodified lines
3434 Returns information about a CA slot identified by
3535 :c:type:`ca_slot_info`.slot_num.
3636
37−
3837 Return Value
3938 ------------
4039
Documentation/userspace-api/media/dvb/ca-reset.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_RESET:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_RESET
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_RESET)
19− :name: CA_RESET
18+.. c:macro:: CA_RESET
2019
20+``int ioctl(fd, CA_RESET)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <cec-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 Description
2929 -----------
@@ -31,7 +31,6 @@ Description · 1 unmodified line
3131 Puts the Conditional Access hardware on its initial state. It should
3232 be called before start using the CA hardware.
3333
34−
3534 Return Value
3635 ------------
3736
Documentation/userspace-api/media/dvb/ca-send-msg.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_SEND_MSG:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 CA_SEND_MSG
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_SEND_MSG, struct ca_msg *msg)
19− :name: CA_SEND_MSG
18+.. c:macro:: CA_SEND_MSG
2019
20+``int ioctl(fd, CA_SEND_MSG, struct ca_msg *msg)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <cec-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 ``msg``
2929 Pointer to struct :c:type:`ca_msg`.
3030
31−
3231 Description
3332 -----------
3433
Documentation/userspace-api/media/dvb/ca-set-descr.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.ca
23
34 .. _CA_SET_DESCR:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 CA_SET_DESCR
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, CA_SET_DESCR, struct ca_descr *desc)
19− :name: CA_SET_DESCR
18+.. c:macro:: CA_SET_DESCR
2019
20+``int ioctl(fd, CA_SET_DESCR, struct ca_descr *desc)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by a previous call to :c:func:`open() <cec-open>`.
26+ File descriptor returned by a previous call to :c:func:`open()`.
2727
2828 ``msg``
2929 Pointer to struct :c:type:`ca_descr`.
Documentation/userspace-api/media/dvb/dmx-add-pid.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_ADD_PID:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 DMX_ADD_PID
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, DMX_ADD_PID, __u16 *pid)
19− :name: DMX_ADD_PID
18+.. c:macro:: DMX_ADD_PID
2019
20+``int ioctl(fd, DMX_ADD_PID, __u16 *pid)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``pid``
2929 PID number to be filtered.
3030
31−
3231 Description
3332 -----------
3433
@@ -36,7 +35,6 @@ This ioctl call allows to add multiple PIDs to a transport stream filter · 1 unmodified line
3635 previously set up with :ref:`DMX_SET_PES_FILTER` and output equal to
3736 :c:type:`DMX_OUT_TSDEMUX_TAP <dmx_output>`.
3837
39−
4038 Return Value
4139 ------------
4240
Documentation/userspace-api/media/dvb/dmx-expbuf.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_EXPBUF:
45
@@ -13,24 +14,22 @@ DMX_EXPBUF - Export a buffer as a DMABUF file descriptor. · 8 unmodified lines
1314
1415 .. warning:: this API is still experimental
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, DMX_EXPBUF, struct dmx_exportbuffer *argp )
21− :name: DMX_EXPBUF
20+.. c:macro:: DMX_EXPBUF
2221
22+``int ioctl(int fd, DMX_EXPBUF, struct dmx_exportbuffer *argp)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :ref:`open() <dmx_fopen>`.
28+ File descriptor returned by :c:func:`open()`.
2929
3030 ``argp``
3131 Pointer to struct :c:type:`dmx_exportbuffer`.
3232
33−
3433 Description
3534 ===========
3635
@@ -54,11 +53,9 @@ driver, on success. This is a DMABUF file descriptor. The application may · 17 unmodified lines
5453 pass it to other DMABUF-aware devices. It is recommended to close a DMABUF
5554 file when it is no longer used to allow the associated memory to be reclaimed.
5655
57−
5856 Examples
5957 ========
6058
61−
6259 .. code-block:: c
6360
6461 int buffer_export(int v4lfd, enum dmx_buf_type bt, int index, int *dmafd)
Documentation/userspace-api/media/dvb/dmx-fclose.rst+3−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx_fclose:
45
@@ -11,27 +12,23 @@ Name · 6 unmodified lines
1112
1213 Digital TV demux close()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: int close(int fd)
19− :name: dvb-dmx-close
20−
2119
2220 Arguments
2321 ---------
2422
2523 ``fd``
2624 File descriptor returned by a previous call to
27− :c:func:`open() <dvb-dmx-open>`.
25+ :c:func:`open()`.
2826
2927 Description
3028 -----------
3129
3230 This system call deactivates and deallocates a filter that was
33−previously allocated via the :c:func:`open() <dvb-dmx-open>` call.
34−
31+previously allocated via the :c:func:`open()` call.
3532
3633 Return Value
3734 ------------
Documentation/userspace-api/media/dvb/dmx-fopen.rst+1−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx_fopen:
45
@@ -11,12 +12,10 @@ Name · 6 unmodified lines
1112
1213 Digital TV demux open()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: int open(const char *deviceName, int flags)
19− :name: dvb-dmx-open
2019
2120 Arguments
2221 ---------
@@ -47,7 +46,6 @@ Arguments · 24 unmodified lines
4746 - open in non-blocking mode
4847 (blocking mode is the default)
4948
50−
5149 Description
5250 -----------
5351
@@ -68,7 +66,6 @@ affect the semantics of the ``open()`` call itself. A device opened · 14 unmodified lines
6866 in blocking mode can later be put into non-blocking mode (and vice versa)
6967 using the ``F_SETFL`` command of the fcntl system call.
7068
71−
7269 Return Value
7370 ------------
7471
Documentation/userspace-api/media/dvb/dmx-fread.rst+2−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx_fread:
45
@@ -11,18 +12,16 @@ Name · 6 unmodified lines
1112
1213 Digital TV demux read()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: size_t read(int fd, void *buf, size_t count)
19− :name: dvb-dmx-read
2019
2120 Arguments
2221 ---------
2322
2423 ``fd``
25− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
24+ File descriptor returned by a previous call to :c:func:`open()`.
2625
2726 ``buf``
2827 Buffer to be filled
@@ -44,7 +43,6 @@ to be transferred is implied by count. · 15 unmodified lines
4443 :c:type:`DMX_CHECK_CRC <dmx_sct_filter_params>` flag set,
4544 data that fails on CRC check will be silently ignored.
4645
47−
4846 Return Value
4947 ------------
5048
@@ -75,6 +73,5 @@ appropriately. · 24 unmodified lines
7573 - The driver failed to write to the callers buffer due to an
7674 invalid \*buf pointer.
7775
78−
7976 The generic error codes are described at the
8077 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/dmx-fwrite.rst+2−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx_fwrite:
45
@@ -11,18 +12,16 @@ Name · 6 unmodified lines
1112
1213 Digital TV demux write()
1314
14−
1515 Synopsis
1616 --------
1717
1818 .. c:function:: ssize_t write(int fd, const void *buf, size_t count)
19− :name: dvb-dmx-write
2019
2120 Arguments
2221 ---------
2322
2423 ``fd``
25− File descriptor returned by a previous call to :c:func:`open() <dvb-ca-open>`.
24+ File descriptor returned by a previous call to :c:func:`open()`.
2625
2726 ``buf``
2827 Buffer with data to be written
@@ -40,7 +39,6 @@ digitally recorded Transport Stream. Matching filters have to be defined · 11 unmodified lines
4039 in the corresponding physical demux device, ``/dev/dvb/adapter?/demux?``.
4140 The amount of data to be transferred is implied by count.
4241
43−
4442 Return Value
4543 ------------
4644
Documentation/userspace-api/media/dvb/dmx-get-pes-pids.rst+5−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_GET_PES_PIDS:
45
@@ -11,23 +12,22 @@ Name · 6 unmodified lines
1112
1213 DMX_GET_PES_PIDS
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, DMX_GET_PES_PIDS, __u16 pids[5])
19− :name: DMX_GET_PES_PIDS
18+.. c:macro:: DMX_GET_PES_PIDS
19+
20+``int ioctl(fd, DMX_GET_PES_PIDS, __u16 pids[5])``
2021
2122 Arguments
2223 ---------
2324
2425 ``fd``
25− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2627
2728 ``pids``
2829 Array used to store 5 Program IDs.
2930
30−
3131 Description
3232 -----------
3333
@@ -45,13 +45,11 @@ pids[DMX_PES_SUBTITLE] 3 first subtitle PID · 11 unmodified lines
4545 pids[DMX_PES_PCR] 4 first Program Clock Reference PID
4646 ======================= ======== =======================================
4747
48−
4948 .. note::
5049
5150 A value equal to 0xffff means that the PID was not filled by the
5251 Kernel.
5352
54−
5553 Return Value
5654 ------------
5755
Documentation/userspace-api/media/dvb/dmx-get-stc.rst+5−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_GET_STC:
45
@@ -11,23 +12,22 @@ Name · 6 unmodified lines
1112
1213 DMX_GET_STC
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_GET_STC, struct dmx_stc *stc)
19− :name: DMX_GET_STC
18+.. c:macro:: DMX_GET_STC
19+
20+``int ioctl(int fd, DMX_GET_STC, struct dmx_stc *stc)``
2021
2122 Arguments
2223 ---------
2324
2425 ``fd``
25− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2627
2728 ``stc``
2829 Pointer to :c:type:`dmx_stc` where the stc data is to be stored.
2930
30−
3131 Description
3232 -----------
3333
@@ -39,7 +39,6 @@ The result is returned in form of a ratio with a 64 bit numerator · 5 unmodified lines
3939 and a 32 bit denominator, so the real 90kHz STC value is
4040 ``stc->stc / stc->base``.
4141
42−
4342 Return Value
4443 ------------
4544
@@ -61,6 +60,5 @@ appropriately. · 15 unmodified lines
6160
6261 - Invalid stc number.
6362
64−
6563 The generic error codes are described at the
6664 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/dmx-mmap.rst+6−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx-mmap:
45
@@ -21,9 +22,7 @@ Synopsis · 16 unmodified lines
2122 #include <unistd.h>
2223 #include <sys/mman.h>
2324
24−
2525 .. c:function:: void *mmap( void *start, size_t length, int prot, int flags, int fd, off_t offset )
26− :name: dmx-mmap
2726
2827 Arguments
2928 =========
@@ -54,7 +53,7 @@ Arguments · 24 unmodified lines
5453
5554 ``MAP_FIXED`` requests that the driver selects no other address than
5655 the one specified. If the specified address cannot be used,
57− :ref:`mmap() <dmx-mmap>` will fail. If ``MAP_FIXED`` is specified,
56+ :c:func:`mmap()` will fail. If ``MAP_FIXED`` is specified,
5857 ``start`` must be a multiple of the pagesize. Use of this option is
5958 discouraged.
6059
@@ -69,17 +68,16 @@ Arguments · 8 unmodified lines
6968 flags.
7069
7170 ``fd``
72− File descriptor returned by :ref:`open() <dmx_fopen>`.
71+ File descriptor returned by :c:func:`open()`.
7372
7473 ``offset``
7574 Offset of the buffer in device memory, as returned by
7675 :ref:`DMX_QUERYBUF` ioctl.
7776
78−
7977 Description
8078 ===========
8179
82−The :ref:`mmap() <dmx-mmap>` function asks to map ``length`` bytes starting at
80+The :c:func:`mmap()` function asks to map ``length`` bytes starting at
8381 ``offset`` in the memory of the device specified by ``fd`` into the
8482 application address space, preferably at address ``start``. This latter
8583 address is a hint only, and is usually specified as 0.
@@ -88,13 +86,12 @@ Suitable length and offset parameters are queried with the · 2 unmodified lines
8886 :ref:`DMX_QUERYBUF` ioctl. Buffers must be allocated with the
8987 :ref:`DMX_REQBUFS` ioctl before they can be queried.
9088
91−To unmap buffers the :ref:`munmap() <dmx-munmap>` function is used.
92−
89+To unmap buffers the :c:func:`munmap()` function is used.
9390
9491 Return Value
9592 ============
9693
97−On success :ref:`mmap() <dmx-mmap>` returns a pointer to the mapped buffer. On
94+On success :c:func:`mmap()` returns a pointer to the mapped buffer. On
9895 error ``MAP_FAILED`` (-1) is returned, and the ``errno`` variable is set
9996 appropriately. Possible error codes are:
10097
Documentation/userspace-api/media/dvb/dmx-munmap.rst+5−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _dmx-munmap:
45
@@ -13,7 +14,6 @@ dmx-munmap - Unmap device memory · 8 unmodified lines
1314
1415 .. warning:: This API is still experimental.
1516
16−
1717 Synopsis
1818 ========
1919
@@ -22,33 +22,29 @@ Synopsis · 2 unmodified lines
2222 #include <unistd.h>
2323 #include <sys/mman.h>
2424
25−
2625 .. c:function:: int munmap( void *start, size_t length )
27− :name: dmx-munmap
2826
2927 Arguments
3028 =========
3129
3230 ``start``
3331 Address of the mapped buffer as returned by the
34− :ref:`mmap() <dmx-mmap>` function.
32+ :c:func:`mmap()` function.
3533
3634 ``length``
3735 Length of the mapped buffer. This must be the same value as given to
38− :ref:`mmap() <dmx-mmap>`.
39−
36+ :c:func:`mmap()`.
4037
4138 Description
4239 ===========
4340
44−Unmaps a previously with the :ref:`mmap() <dmx-mmap>` function mapped
41+Unmaps a previously with the :c:func:`mmap()` function mapped
4542 buffer and frees it, if possible.
4643
47−
4844 Return Value
4945 ============
5046
51−On success :ref:`munmap() <dmx-munmap>` returns 0, on failure -1 and the
47+On success :c:func:`munmap()` returns 0, on failure -1 and the
5248 ``errno`` variable is set appropriately:
5349
5450 EINVAL
Documentation/userspace-api/media/dvb/dmx-qbuf.rst+8−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_QBUF:
45
@@ -13,27 +14,26 @@ DMX_QBUF - DMX_DQBUF - Exchange a buffer with the driver · 8 unmodified lines
1314
1415 .. warning:: this API is still experimental
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, DMX_QBUF, struct dmx_buffer *argp )
21− :name: DMX_QBUF
20+.. c:macro:: DMX_QBUF
21+
22+``int ioctl(int fd, DMX_QBUF, struct dmx_buffer *argp)``
2223
23−.. c:function:: int ioctl( int fd, DMX_DQBUF, struct dmx_buffer *argp )
24− :name: DMX_DQBUF
24+.. c:macro:: DMX_DQBUF
2525
26+``int ioctl(int fd, DMX_DQBUF, struct dmx_buffer *argp)``
2627
2728 Arguments
2829 =========
2930
3031 ``fd``
31− File descriptor returned by :ref:`open() <dmx_fopen>`.
32+ File descriptor returned by :c:func:`open()`.
3233
3334 ``argp``
3435 Pointer to struct :c:type:`dmx_buffer`.
3536
36−
3737 Description
3838 ===========
3939
@@ -60,13 +60,12 @@ the driver fills the remaining fields or returns an error code. · 20 unmodified lines
6060
6161 By default ``DMX_DQBUF`` blocks when no buffer is in the outgoing
6262 queue. When the ``O_NONBLOCK`` flag was given to the
63−:ref:`open() <dmx_fopen>` function, ``DMX_DQBUF`` returns
63+:c:func:`open()` function, ``DMX_DQBUF`` returns
6464 immediately with an ``EAGAIN`` error code when no buffer is available.
6565
6666 The struct :c:type:`dmx_buffer` structure is specified in
6767 :ref:`buffer`.
6868
69−
7069 Return Value
7170 ============
7271
Documentation/userspace-api/media/dvb/dmx-querybuf.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_QUERYBUF:
45
@@ -13,24 +14,22 @@ DMX_QUERYBUF - Query the status of a buffer · 8 unmodified lines
1314
1415 .. warning:: this API is still experimental
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, DMX_QUERYBUF, struct dvb_buffer *argp )
21− :name: DMX_QUERYBUF
20+.. c:macro:: DMX_QUERYBUF
2221
22+``int ioctl(int fd, DMX_QUERYBUF, struct dvb_buffer *argp)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :ref:`open() <dmx_fopen>`.
28+ File descriptor returned by :c:func:`open()`.
2929
3030 ``argp``
3131 Pointer to struct :c:type:`dvb_buffer`.
3232
33−
3433 Description
3534 ===========
3635
Documentation/userspace-api/media/dvb/dmx-remove-pid.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_REMOVE_PID:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 DMX_REMOVE_PID
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl(fd, DMX_REMOVE_PID, __u16 *pid)
19− :name: DMX_REMOVE_PID
18+.. c:macro:: DMX_REMOVE_PID
2019
20+``int ioctl(fd, DMX_REMOVE_PID, __u16 *pid)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``pid``
2929 PID of the PES filter to be removed.
3030
31−
3231 Description
3332 -----------
3433
@@ -37,7 +36,6 @@ transport stream filter, e. g. a filter previously set up with output · 2 unmodified lines
3736 equal to :c:type:`DMX_OUT_TSDEMUX_TAP <dmx_output>`, created via either
3837 :ref:`DMX_SET_PES_FILTER` or :ref:`DMX_ADD_PID`.
3938
40−
4139 Return Value
4240 ------------
4341
Documentation/userspace-api/media/dvb/dmx-reqbufs.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_REQBUFS:
45
@@ -13,19 +14,18 @@ DMX_REQBUFS - Initiate Memory Mapping and/or DMA buffer I/O · 8 unmodified lines
1314
1415 .. warning:: this API is still experimental
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl( int fd, DMX_REQBUFS, struct dmx_requestbuffers *argp )
21− :name: DMX_REQBUFS
20+.. c:macro:: DMX_REQBUFS
2221
22+``int ioctl(int fd, DMX_REQBUFS, struct dmx_requestbuffers *argp)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :ref:`open() <dmx_fopen>`.
28+ File descriptor returned by :c:func:`open()`.
2929
3030 ``argp``
3131 Pointer to struct :c:type:`dmx_requestbuffers`.
@@ -64,7 +64,6 @@ buffers, however this cannot succeed when any buffers are still mapped. · 32 unmodified lines
6464 A ``count`` value of zero frees all buffers, after aborting or finishing
6565 any DMA in progress.
6666
67−
6867 Return Value
6968 ============
7069
Documentation/userspace-api/media/dvb/dmx-set-buffer-size.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_SET_BUFFER_SIZE:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 DMX_SET_BUFFER_SIZE
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_SET_BUFFER_SIZE, unsigned long size)
19− :name: DMX_SET_BUFFER_SIZE
18+.. c:macro:: DMX_SET_BUFFER_SIZE
2019
20+``int ioctl(int fd, DMX_SET_BUFFER_SIZE, unsigned long size)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``size``
2929 Unsigned long size
@@ -36,11 +36,9 @@ filtered data. The default size is two maximum sized sections, i.e. if · 6 unmodified lines
3636 this function is not called a buffer size of ``2 * 4096`` bytes will be
3737 used.
3838
39−
4039 Return Value
4140 ------------
4241
43−
4442 On success 0 is returned.
4543
4644 On error -1 is returned, and the ``errno`` variable is set
Documentation/userspace-api/media/dvb/dmx-set-filter.rst+5−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_SET_FILTER:
45
@@ -11,24 +12,23 @@ Name · 6 unmodified lines
1112
1213 DMX_SET_FILTER
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_SET_FILTER, struct dmx_sct_filter_params *params)
19− :name: DMX_SET_FILTER
18+.. c:macro:: DMX_SET_FILTER
19+
20+``int ioctl(int fd, DMX_SET_FILTER, struct dmx_sct_filter_params *params)``
2021
2122 Arguments
2223 ---------
2324
2425 ``fd``
25− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2627
2728 ``params``
2829
2930 Pointer to structure containing filter parameters.
3031
31−
3232 Description
3333 -----------
3434
@@ -43,11 +43,9 @@ operation should be started immediately (without waiting for a · 8 unmodified lines
4343 :ref:`DMX_START` ioctl call). If a filter was previously set-up, this
4444 filter will be canceled, and the receive buffer will be flushed.
4545
46−
4746 Return Value
4847 ------------
4948
50−
5149 On success 0 is returned.
5250
5351 On error -1 is returned, and the ``errno`` variable is set
Documentation/userspace-api/media/dvb/dmx-set-pes-filter.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_SET_PES_FILTER:
45
@@ -11,25 +12,22 @@ Name · 6 unmodified lines
1112
1213 DMX_SET_PES_FILTER
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_SET_PES_FILTER, struct dmx_pes_filter_params *params)
19− :name: DMX_SET_PES_FILTER
18+.. c:macro:: DMX_SET_PES_FILTER
2019
20+``int ioctl(int fd, DMX_SET_PES_FILTER, struct dmx_pes_filter_params *params)``
2121
2222 Arguments
2323 ---------
2424
25−
2625 ``fd``
27− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2827
2928 ``params``
3029 Pointer to structure containing filter parameters.
3130
32−
3331 Description
3432 -----------
3533
@@ -38,7 +36,6 @@ provided. By a PES filter is meant a filter that is based just on the · 2 unmodified lines
3836 packet identifier (PID), i.e. no PES header or payload filtering
3937 capability is supported.
4038
41−
4239 Return Value
4340 ------------
4441
@@ -54,7 +51,6 @@ appropriately. · 9 unmodified lines
5451 :stub-columns: 0
5552 :widths: 1 16
5653
57−
5854 - .. row 1
5955
6056 - ``EBUSY``
@@ -64,6 +60,5 @@ appropriately. · 3 unmodified lines
6460 Make sure that these filters are stopped before starting this
6561 filter.
6662
67−
6863 The generic error codes are described at the
6964 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/dmx-start.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_START:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 DMX_START
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_START)
19− :name: DMX_START
18+.. c:macro:: DMX_START
2019
20+``int ioctl(int fd, DMX_START)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 Description
2929 -----------
@@ -31,7 +31,6 @@ Description · 1 unmodified line
3131 This ioctl call is used to start the actual filtering operation defined
3232 via the ioctl calls :ref:`DMX_SET_FILTER` or :ref:`DMX_SET_PES_FILTER`.
3333
34−
3534 Return Value
3635 ------------
3736
@@ -46,7 +45,6 @@ appropriately. · 8 unmodified lines
4645 :header-rows: 0
4746 :stub-columns: 0
4847
49−
5048 - .. row 1
5149
5250 - ``EINVAL``
@@ -63,6 +61,5 @@ appropriately. · 10 unmodified lines
6361 Make sure that these filters are stopped before starting this
6462 filter.
6563
66−
6764 The generic error codes are described at the
6865 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/dmx-stop.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.dmx
23
34 .. _DMX_STOP:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 DMX_STOP
1314
14−
1515 Synopsis
1616 --------
1717
18−.. c:function:: int ioctl( int fd, DMX_STOP)
19− :name: DMX_STOP
18+.. c:macro:: DMX_STOP
2019
20+``int ioctl(int fd, DMX_STOP)``
2121
2222 Arguments
2323 ---------
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-dmx-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 Description
2929 -----------
@@ -32,7 +32,6 @@ This ioctl call is used to stop the actual filtering operation defined · 2 unmodified lines
3232 via the ioctl calls :ref:`DMX_SET_FILTER` or :ref:`DMX_SET_PES_FILTER` and
3333 started via the :ref:`DMX_START` command.
3434
35−
3635 Return Value
3736 ------------
3837
Documentation/userspace-api/media/dvb/fe-diseqc-recv-slave-reply.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_DISEQC_RECV_SLAVE_REPLY:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 FE_DISEQC_RECV_SLAVE_REPLY - Receives reply from a DiSEqC 2.0 command
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_DISEQC_RECV_SLAVE_REPLY, struct dvb_diseqc_slave_reply *argp )
19− :name: FE_DISEQC_RECV_SLAVE_REPLY
18+.. c:macro:: FE_DISEQC_RECV_SLAVE_REPLY
2019
20+``int ioctl(int fd, FE_DISEQC_RECV_SLAVE_REPLY, struct dvb_diseqc_slave_reply *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 pointer to struct :c:type:`dvb_diseqc_slave_reply`.
3030
31−
3231 Description
3332 ===========
3433
Documentation/userspace-api/media/dvb/fe-diseqc-reset-overload.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_DISEQC_RESET_OVERLOAD:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 FE_DISEQC_RESET_OVERLOAD - Restores the power to the antenna subsystem, if it was powered off due - to power overload.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_DISEQC_RESET_OVERLOAD, NULL )
19− :name: FE_DISEQC_RESET_OVERLOAD
18+.. c:macro:: FE_DISEQC_RESET_OVERLOAD
2019
20+``int ioctl(int fd, FE_DISEQC_RESET_OVERLOAD, NULL)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 Description
2929 ===========
@@ -33,7 +33,6 @@ this ioctl call restores the power to the bus. The call requires · 3 unmodified lines
3333 read/write access to the device. This call has no effect if the device
3434 is manually powered off. Not all Digital TV adapters support this ioctl.
3535
36−
3736 Return Value
3837 ============
3938
Documentation/userspace-api/media/dvb/fe-diseqc-send-burst.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_DISEQC_SEND_BURST:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 FE_DISEQC_SEND_BURST - Sends a 22KHz tone burst for 2x1 mini DiSEqC satellite selection.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_DISEQC_SEND_BURST, enum fe_sec_mini_cmd tone )
19− :name: FE_DISEQC_SEND_BURST
18+.. c:macro:: FE_DISEQC_SEND_BURST
2019
20+``int ioctl(int fd, FE_DISEQC_SEND_BURST, enum fe_sec_mini_cmd tone)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``tone``
2929 An integer enumered value described at :c:type:`fe_sec_mini_cmd`.
3030
31−
3231 Description
3332 ===========
3433
@@ -39,7 +38,6 @@ read/write permissions. · 4 unmodified lines
3938 It provides support for what's specified at
4039 `Digital Satellite Equipment Control (DiSEqC) - Simple "ToneBurst" Detection Circuit specification. <http://www.eutelsat.com/files/contributed/satellites/pdf/Diseqc/associated%20docs/simple_tone_burst_detec.pdf>`__
4140
42−
4341 Return Value
4442 ============
4543
Documentation/userspace-api/media/dvb/fe-diseqc-send-master-cmd.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_DISEQC_SEND_MASTER_CMD:
45
@@ -11,25 +12,23 @@ Name · 6 unmodified lines
1112
1213 FE_DISEQC_SEND_MASTER_CMD - Sends a DiSEqC command
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_DISEQC_SEND_MASTER_CMD, struct dvb_diseqc_master_cmd *argp )
19− :name: FE_DISEQC_SEND_MASTER_CMD
18+.. c:macro:: FE_DISEQC_SEND_MASTER_CMD
2019
20+``int ioctl(int fd, FE_DISEQC_SEND_MASTER_CMD, struct dvb_diseqc_master_cmd *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 pointer to struct
3030 :c:type:`dvb_diseqc_master_cmd`
3131
32−
3332 Description
3433 ===========
3534
Documentation/userspace-api/media/dvb/fe-dishnetwork-send-legacy-cmd.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_DISHNETWORK_SEND_LEGACY_CMD:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 FE_DISHNETWORK_SEND_LEGACY_CMD
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl(int fd, FE_DISHNETWORK_SEND_LEGACY_CMD, unsigned long cmd)
19− :name: FE_DISHNETWORK_SEND_LEGACY_CMD
18+.. c:macro:: FE_DISHNETWORK_SEND_LEGACY_CMD
2019
20+``int ioctl(int fd, FE_DISHNETWORK_SEND_LEGACY_CMD, unsigned long cmd)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``cmd``
2929 Sends the specified raw cmd to the dish via DISEqC.
3030
31−
3231 Description
3332 ===========
3433
@@ -42,7 +41,6 @@ frontend, for Dish Network legacy switches. · 7 unmodified lines
4241 As support for this ioctl were added in 2004, this means that such
4342 dishes were already legacy in 2004.
4443
45−
4644 Return Value
4745 ============
4846
Documentation/userspace-api/media/dvb/fe-enable-high-lnb-voltage.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_ENABLE_HIGH_LNB_VOLTAGE:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 FE_ENABLE_HIGH_LNB_VOLTAGE - Select output DC level between normal LNBf voltages or higher LNBf - voltages.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_ENABLE_HIGH_LNB_VOLTAGE, unsigned int high )
19− :name: FE_ENABLE_HIGH_LNB_VOLTAGE
18+.. c:macro:: FE_ENABLE_HIGH_LNB_VOLTAGE
2019
20+``int ioctl(int fd, FE_ENABLE_HIGH_LNB_VOLTAGE, unsigned int high)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``high``
2929 Valid flags:
@@ -33,7 +33,6 @@ Arguments · 3 unmodified lines
3333 - >0 - enables slightly higher voltages instead of 13/18V, in order
3434 to compensate for long antenna cables.
3535
36−
3736 Description
3837 ===========
3938
@@ -41,7 +40,6 @@ Select output DC level between normal LNBf voltages or higher LNBf · 1 unmodified line
4140 voltages between 0 (normal) or a value grater than 0 for higher
4241 voltages.
4342
44−
4543 Return Value
4644 ============
4745
Documentation/userspace-api/media/dvb/fe-get-event.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_GET_EVENT:
45
@@ -13,24 +14,22 @@ FE_GET_EVENT · 8 unmodified lines
1314
1415 .. attention:: This ioctl is deprecated.
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl(int fd, FE_GET_EVENT, struct dvb_frontend_event *ev)
21− :name: FE_GET_EVENT
20+.. c:macro:: FE_GET_EVENT
2221
22+``int ioctl(int fd, FE_GET_EVENT, struct dvb_frontend_event *ev)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2929
3030 ``ev``
3131 Points to the location where the event, if any, is to be stored.
3232
33−
3433 Description
3534 ===========
3635
@@ -40,7 +39,6 @@ or non-blocking mode. In the latter case, the call fails immediately · 3 unmodified lines
4039 with errno set to ``EWOULDBLOCK``. In the former case, the call blocks until
4140 an event becomes available.
4241
43−
4442 Return Value
4543 ============
4644
@@ -49,12 +47,10 @@ On success 0 is returned. · 2 unmodified lines
4947 On error -1 is returned, and the ``errno`` variable is set
5048 appropriately.
5149
52−
5350 .. flat-table::
5451 :header-rows: 0
5552 :stub-columns: 0
5653
57−
5854 - .. row 1
5955
6056 - ``EWOULDBLOCK``
Documentation/userspace-api/media/dvb/fe-get-frontend.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_GET_FRONTEND:
45
@@ -13,32 +14,28 @@ FE_GET_FRONTEND · 8 unmodified lines
1314
1415 .. attention:: This ioctl is deprecated.
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl(int fd, FE_GET_FRONTEND, struct dvb_frontend_parameters *p)
21− :name: FE_GET_FRONTEND
20+.. c:macro:: FE_GET_FRONTEND
2221
22+``int ioctl(int fd, FE_GET_FRONTEND, struct dvb_frontend_parameters *p)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
29−
28+ File descriptor returned by :c:func:`open()`.
3029
3130 ``p``
3231 Points to parameters for tuning operation.
3332
34−
3533 Description
3634 ===========
3735
3836 This ioctl call queries the currently effective frontend parameters. For
3937 this command, read-only access to the device is sufficient.
4038
41−
4239 Return Value
4340 ============
4441
@@ -51,7 +48,6 @@ appropriately. · 6 unmodified lines
5148 :header-rows: 0
5249 :stub-columns: 0
5350
54−
5551 - .. row 1
5652
5753 - ``EINVAL``
Documentation/userspace-api/media/dvb/fe-get-info.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_GET_INFO:
45
@@ -12,24 +13,22 @@ Name · 7 unmodified lines
1213 FE_GET_INFO - Query Digital TV frontend capabilities and returns information
1314 about the - front-end. This call only requires read-only access to the device.
1415
15−
1616 Synopsis
1717 ========
1818
19−.. c:function:: int ioctl( int fd, FE_GET_INFO, struct dvb_frontend_info *argp )
20− :name: FE_GET_INFO
19+.. c:macro:: FE_GET_INFO
2120
21+``int ioctl(int fd, FE_GET_INFO, struct dvb_frontend_info *argp)``
2222
2323 Arguments
2424 =========
2525
2626 ``fd``
27− File descriptor returned by :ref:`open() <frontend_f_open>`.
27+ File descriptor returned by :c:func:`open()`.
2828
2929 ``argp``
3030 pointer to struct :c:type:`dvb_frontend_info`
3131
32−
3332 Description
3433 ===========
3534
@@ -40,7 +39,6 @@ takes a pointer to dvb_frontend_info which is filled by the driver. · 4 unmodified lines
4039 When the driver is not compatible with this specification the ioctl
4140 returns an error.
4241
43−
4442 frontend capabilities
4543 =====================
4644
@@ -49,7 +47,6 @@ supported only on some specific frontend types. · 2 unmodified lines
4947
5048 The frontend capabilities are described at :c:type:`fe_caps`.
5149
52−
5350 Return Value
5451 ============
5552
Documentation/userspace-api/media/dvb/fe-get-property.rst+7−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_GET_PROPERTY:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 FE_SET_PROPERTY - FE_GET_PROPERTY - FE_SET_PROPERTY sets one or more frontend properties. - FE_GET_PROPERTY returns one or more frontend properties.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_GET_PROPERTY, struct dtv_properties *argp )
19− :name: FE_GET_PROPERTY
18+.. c:macro:: FE_GET_PROPERTY
19+
20+``int ioctl(int fd, FE_GET_PROPERTY, struct dtv_properties *argp)``
2021
21−.. c:function:: int ioctl( int fd, FE_SET_PROPERTY, struct dtv_properties *argp )
22− :name: FE_SET_PROPERTY
22+.. c:macro:: FE_SET_PROPERTY
2323
24+``int ioctl(int fd, FE_SET_PROPERTY, struct dtv_properties *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <frontend_f_open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`dtv_properties`.
3334
34−
3535 Description
3636 ===========
3737
@@ -63,7 +63,6 @@ depends on the delivery system and on the device: · 25 unmodified lines
6363
6464 - This call only requires read-only access to the device.
6565
66−
6766 Return Value
6867 ============
6968
Documentation/userspace-api/media/dvb/fe-read-ber.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_READ_BER:
45
@@ -16,20 +17,19 @@ FE_READ_BER · 11 unmodified lines
1617 Synopsis
1718 ========
1819
19−.. c:function:: int ioctl(int fd, FE_READ_BER, uint32_t *ber)
20− :name: FE_READ_BER
20+.. c:macro:: FE_READ_BER
2121
22+``int ioctl(int fd, FE_READ_BER, uint32_t *ber)``
2223
2324 Arguments
2425 =========
2526
2627 ``fd``
27− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2829
2930 ``ber``
3031 The bit error rate is stored into \*ber.
3132
32−
3333 Description
3434 ===========
3535
@@ -37,7 +37,6 @@ This ioctl call returns the bit error rate for the signal currently · 1 unmodified line
3737 received/demodulated by the front-end. For this command, read-only
3838 access to the device is sufficient.
3939
40−
4140 Return Value
4241 ============
4342
Documentation/userspace-api/media/dvb/fe-read-signal-strength.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_READ_SIGNAL_STRENGTH:
45
@@ -16,20 +17,19 @@ FE_READ_SIGNAL_STRENGTH · 11 unmodified lines
1617 Synopsis
1718 ========
1819
19−.. c:function:: int ioctl( int fd, FE_READ_SIGNAL_STRENGTH, uint16_t *strength)
20− :name: FE_READ_SIGNAL_STRENGTH
20+.. c:macro:: FE_READ_SIGNAL_STRENGTH
2121
22+``int ioctl(int fd, FE_READ_SIGNAL_STRENGTH, uint16_t *strength)``
2223
2324 Arguments
2425 =========
2526
2627 ``fd``
27− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2829
2930 ``strength``
3031 The signal strength value is stored into \*strength.
3132
32−
3333 Description
3434 ===========
3535
@@ -37,7 +37,6 @@ This ioctl call returns the signal strength value for the signal · 1 unmodified line
3737 currently received by the front-end. For this command, read-only access
3838 to the device is sufficient.
3939
40−
4140 Return Value
4241 ============
4342
Documentation/userspace-api/media/dvb/fe-read-snr.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_READ_SNR:
45
@@ -16,20 +17,19 @@ FE_READ_SNR · 11 unmodified lines
1617 Synopsis
1718 ========
1819
19−.. c:function:: int ioctl(int fd, FE_READ_SNR, int16_t *snr)
20− :name: FE_READ_SNR
20+.. c:macro:: FE_READ_SNR
2121
22+``int ioctl(int fd, FE_READ_SNR, int16_t *snr)``
2223
2324 Arguments
2425 =========
2526
2627 ``fd``
27− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2829
2930 ``snr``
3031 The signal-to-noise ratio is stored into \*snr.
3132
32−
3333 Description
3434 ===========
3535
@@ -37,7 +37,6 @@ This ioctl call returns the signal-to-noise ratio for the signal · 1 unmodified line
3737 currently received by the front-end. For this command, read-only access
3838 to the device is sufficient.
3939
40−
4140 Return Value
4241 ============
4342
Documentation/userspace-api/media/dvb/fe-read-status.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_READ_STATUS:
45
@@ -11,25 +12,23 @@ Name · 6 unmodified lines
1112
1213 FE_READ_STATUS - Returns status information about the front-end. This call only requires - read-only access to the device
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_READ_STATUS, unsigned int *status )
19− :name: FE_READ_STATUS
18+.. c:macro:: FE_READ_STATUS
2019
20+``int ioctl(int fd, FE_READ_STATUS, unsigned int *status)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``status``
2929 pointer to a bitmask integer filled with the values defined by enum
3030 :c:type:`fe_status`.
3131
32−
3332 Description
3433 ===========
3534
@@ -44,7 +43,6 @@ written. · 8 unmodified lines
4443 varies according with the architecture. This needs to be fixed in the
4544 future.
4645
47−
4846 int fe_status
4947 =============
5048
@@ -52,7 +50,6 @@ The fe_status parameter is used to indicate the current state and/or · 1 unmodified line
5250 state changes of the frontend hardware. It is produced using the enum
5351 :c:type:`fe_status` values on a bitmask
5452
55−
5653 Return Value
5754 ============
5855
Documentation/userspace-api/media/dvb/fe-read-uncorrected-blocks.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_READ_UNCORRECTED_BLOCKS:
45
@@ -16,20 +17,19 @@ FE_READ_UNCORRECTED_BLOCKS · 11 unmodified lines
1617 Synopsis
1718 ========
1819
19−.. c:function:: int ioctl( int fd, FE_READ_UNCORRECTED_BLOCKS, uint32_t *ublocks)
20− :name: FE_READ_UNCORRECTED_BLOCKS
20+.. c:macro:: FE_READ_UNCORRECTED_BLOCKS
2121
22+``int ioctl(int fd, FE_READ_UNCORRECTED_BLOCKS, uint32_t *ublocks)``
2223
2324 Arguments
2425 =========
2526
2627 ``fd``
27− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2829
2930 ``ublocks``
3031 The total number of uncorrected blocks seen by the driver so far.
3132
32−
3333 Description
3434 ===========
3535
@@ -39,7 +39,6 @@ increment in block count during a specific time interval should be · 3 unmodified lines
3939 calculated. For this command, read-only access to the device is
4040 sufficient.
4141
42−
4342 Return Value
4443 ============
4544
Documentation/userspace-api/media/dvb/fe-set-frontend-tune-mode.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_SET_FRONTEND_TUNE_MODE:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 FE_SET_FRONTEND_TUNE_MODE - Allow setting tuner mode flags to the frontend.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_SET_FRONTEND_TUNE_MODE, unsigned int flags )
19− :name: FE_SET_FRONTEND_TUNE_MODE
18+.. c:macro:: FE_SET_FRONTEND_TUNE_MODE
2019
20+``int ioctl(int fd, FE_SET_FRONTEND_TUNE_MODE, unsigned int flags)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``flags``
2929 Valid flags:
@@ -37,14 +37,12 @@ Arguments · 7 unmodified lines
3737 is closed, this flag will be automatically turned off when the
3838 device is reopened read-write.
3939
40−
4140 Description
4241 ===========
4342
4443 Allow setting tuner mode flags to the frontend, between 0 (normal) or
4544 ``FE_TUNE_MODE_ONESHOT`` mode
4645
47−
4846 Return Value
4947 ============
5048
Documentation/userspace-api/media/dvb/fe-set-frontend.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_SET_FRONTEND:
45
@@ -13,24 +14,22 @@ Name · 8 unmodified lines
1314
1415 FE_SET_FRONTEND
1516
16−
1717 Synopsis
1818 ========
1919
20−.. c:function:: int ioctl(int fd, FE_SET_FRONTEND, struct dvb_frontend_parameters *p)
21− :name: FE_SET_FRONTEND
20+.. c:macro:: FE_SET_FRONTEND
2221
22+``int ioctl(int fd, FE_SET_FRONTEND, struct dvb_frontend_parameters *p)``
2323
2424 Arguments
2525 =========
2626
2727 ``fd``
28− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
28+ File descriptor returned by :c:func:`open()`.
2929
3030 ``p``
3131 Points to parameters for tuning operation.
3232
33−
3433 Description
3534 ===========
3635
@@ -44,7 +43,6 @@ operation is initiated before the previous one was completed, the · 7 unmodified lines
4443 previous operation will be aborted in favor of the new one. This command
4544 requires read/write access to the device.
4645
47−
4846 Return Value
4947 ============
5048
@@ -66,6 +64,5 @@ appropriately. · 15 unmodified lines
6664
6765 - Maximum supported symbol rate reached.
6866
69−
7067 Generic error codes are described at the
7168 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/fe-set-tone.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_SET_TONE:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 FE_SET_TONE - Sets/resets the generation of the continuous 22kHz tone.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_SET_TONE, enum fe_sec_tone_mode tone )
19− :name: FE_SET_TONE
18+.. c:macro:: FE_SET_TONE
2019
20+``int ioctl(int fd, FE_SET_TONE, enum fe_sec_tone_mode tone)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``tone``
2929 an integer enumered value described at :c:type:`fe_sec_tone_mode`
3030
31−
3231 Description
3332 ===========
3433
@@ -45,7 +44,6 @@ this is done using the DiSEqC ioctls. · 10 unmodified lines
4544 capability of selecting the band. So, it is recommended that applications
4645 would change to SEC_TONE_OFF when the device is not used.
4746
48−
4947 Return Value
5048 ============
5149
Documentation/userspace-api/media/dvb/fe-set-voltage.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _FE_SET_VOLTAGE:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 FE_SET_VOLTAGE - Allow setting the DC level sent to the antenna subsystem.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, FE_SET_VOLTAGE, enum fe_sec_voltage voltage )
19− :name: FE_SET_VOLTAGE
18+.. c:macro:: FE_SET_VOLTAGE
2019
20+``int ioctl(int fd, FE_SET_VOLTAGE, enum fe_sec_voltage voltage)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``voltage``
2929 an integer enumered value described at :c:type:`fe_sec_voltage`
3030
31−
3231 Description
3332 ===========
3433
@@ -49,7 +48,6 @@ power up the LNBf. · 14 unmodified lines
4948 the voltage to SEC_VOLTAGE_OFF while the device is not is used is
5049 recommended.
5150
52−
5351 Return Value
5452 ============
5553
Documentation/userspace-api/media/dvb/frontend_f_close.rst+2−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _frontend_f_close:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 fe-close - Close a frontend device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,16 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: int close( int fd )
24− :name: dvb-fe-close
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :c:func:`open() <dvb-fe-open>`.
31−
28+ File descriptor returned by :c:func:`open()`.
3229
3330 Description
3431 ===========
@@ -37,7 +34,6 @@ This system call closes a previously opened front-end device. After · 2 unmodified lines
3734 closing a front-end device, its corresponding hardware might be powered
3835 down automatically.
3936
40−
4137 Return Value
4238 ============
4339
Documentation/userspace-api/media/dvb/frontend_f_open.rst+2−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.fe
23
34 .. _frontend_f_open:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 fe-open - Open a frontend device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <fcntl.h>
2121
22−
2322 .. c:function:: int open( const char *device_name, int flags )
24− :name: dvb-fe-open
2523
2624 Arguments
2725 =========
@@ -44,7 +42,6 @@ Arguments · 16 unmodified lines
4442
4543 Other flags have no effect.
4644
47−
4845 Description
4946 ===========
5047
@@ -70,16 +67,14 @@ the specified mode. This implies that the corresponding hardware is · 19 unmodified lines
7067 powered up, and that other front-ends may have been powered down to make
7168 that possible.
7269
73−
7470 Return Value
7571 ============
7672
77−On success :ref:`open() <frontend_f_open>` returns the new file descriptor.
73+On success :c:func:`open()` returns the new file descriptor.
7874 On error, -1 is returned, and the ``errno`` variable is set appropriately.
7975
8076 Possible error codes are:
8177
82−
8378 On success 0 is returned, and :c:type:`ca_slot_info` is filled.
8479
8580 On error -1 is returned, and the ``errno`` variable is set
@@ -105,6 +100,5 @@ appropriately. · 19 unmodified lines
105100 - The limit on the total number of files open on the system has been
106101 reached.
107102
108−
109103 The generic error codes are described at the
110104 :ref:`Generic Error Codes <gen-errors>` chapter.
Documentation/userspace-api/media/dvb/net-add-if.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.net
23
34 .. _NET_ADD_IF:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 NET_ADD_IF - Creates a new network interface for a given Packet ID.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, NET_ADD_IF, struct dvb_net_if *net_if )
19− :name: NET_ADD_IF
18+.. c:macro:: NET_ADD_IF
2019
20+``int ioctl(int fd, NET_ADD_IF, struct dvb_net_if *net_if)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``net_if``
2929 pointer to struct :c:type:`dvb_net_if`
3030
31−
3231 Description
3332 ===========
3433
Documentation/userspace-api/media/dvb/net-get-if.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.net
23
34 .. _NET_GET_IF:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 NET_GET_IF - Read the configuration data of an interface created via - :ref:`NET_ADD_IF <net>`.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, NET_GET_IF, struct dvb_net_if *net_if )
19− :name: NET_GET_IF
18+.. c:macro:: NET_GET_IF
2019
20+``int ioctl(int fd, NET_GET_IF, struct dvb_net_if *net_if)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``net_if``
2929 pointer to struct :c:type:`dvb_net_if`
3030
31−
3231 Description
3332 ===========
3433
@@ -39,7 +38,6 @@ encapsulation type used on such interface. If the interface was not · 4 unmodified lines
3938 created yet with :ref:`NET_ADD_IF <net>`, it will return -1 and fill
4039 the ``errno`` with ``EINVAL`` error code.
4140
42−
4341 Return Value
4442 ============
4543
Documentation/userspace-api/media/dvb/net-remove-if.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.net
23
34 .. _NET_REMOVE_IF:
45
@@ -11,31 +12,28 @@ Name · 6 unmodified lines
1112
1213 NET_REMOVE_IF - Removes a network interface.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, NET_REMOVE_IF, int ifnum )
19− :name: NET_REMOVE_IF
18+.. c:macro:: NET_REMOVE_IF
2019
20+``int ioctl(int fd, NET_REMOVE_IF, int ifnum)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <frontend_f_open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``net_if``
2929 number of the interface to be removed
3030
31−
3231 Description
3332 ===========
3433
3534 The NET_REMOVE_IF ioctl deletes an interface previously created via
3635 :ref:`NET_ADD_IF <net>`.
3736
38−
3937 Return Value
4038 ============
4139
Documentation/userspace-api/media/dvb/video-clear-buffer.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_CLEAR_BUFFER:
45
@@ -16,9 +17,9 @@ VIDEO_CLEAR_BUFFER · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_CLEAR_BUFFER)
20− :name: VIDEO_CLEAR_BUFFER
20+.. c:macro:: VIDEO_CLEAR_BUFFER
2121
22+``int ioctl(fd, VIDEO_CLEAR_BUFFER)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,14 +40,12 @@ Arguments · 6 unmodified lines
4040
4141 - Equals VIDEO_CLEAR_BUFFER for this command.
4242
43−
4443 Description
4544 -----------
4645
4746 This ioctl call clears all video buffers in the driver and in the
4847 decoder hardware.
4948
50−
5149 Return Value
5250 ------------
5351
Documentation/userspace-api/media/dvb/video-command.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_COMMAND:
45
@@ -16,9 +17,9 @@ VIDEO_COMMAND · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, VIDEO_COMMAND, struct video_command *cmd)
20− :name: VIDEO_COMMAND
20+.. c:macro:: VIDEO_COMMAND
2121
22+``int ioctl(int fd, VIDEO_COMMAND, struct video_command *cmd)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Commands the decoder.
4848
49−
5049 Description
5150 -----------
5251
@@ -59,7 +58,7 @@ subset of the ``v4l2_decoder_cmd`` struct, so refer to the · 6 unmodified lines
5958 :ref:`VIDIOC_DECODER_CMD` documentation for
6059 more information.
6160
62−.. c:type:: struct video_command
61+.. c:type:: video_command
6362
6463 .. code-block:: c
6564
@@ -89,7 +88,6 @@ more information. · 23 unmodified lines
8988 };
9089 };
9190
92−
9391 Return Value
9492 ------------
9593
Documentation/userspace-api/media/dvb/video-continue.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_CONTINUE:
45
@@ -16,9 +17,9 @@ VIDEO_CONTINUE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_CONTINUE)
20− :name: VIDEO_CONTINUE
20+.. c:macro:: VIDEO_CONTINUE
2121
22+``int ioctl(fd, VIDEO_CONTINUE)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - Equals VIDEO_CONTINUE for this command.
4242
43−
4443 Description
4544 -----------
4645
@@ -50,7 +49,6 @@ V4L2 :ref:`VIDIOC_DECODER_CMD` instead. · 3 unmodified lines
5049 This ioctl call restarts decoding and playing processes of the video
5150 stream which was played before a call to VIDEO_FREEZE was made.
5251
53−
5452 Return Value
5553 ------------
5654
Documentation/userspace-api/media/dvb/video-fast-forward.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_FAST_FORWARD:
45
@@ -16,9 +17,9 @@ VIDEO_FAST_FORWARD · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_FAST_FORWARD, int nFrames)
20− :name: VIDEO_FAST_FORWARD
20+.. c:macro:: VIDEO_FAST_FORWARD
2121
22+``int ioctl(fd, VIDEO_FAST_FORWARD, int nFrames)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - The number of frames to skip.
4848
49−
5049 Description
5150 -----------
5251
@@ -54,7 +53,6 @@ This ioctl call asks the Video Device to skip decoding of N number of · 1 unmodified line
5453 I-frames. This call can only be used if VIDEO_SOURCE_MEMORY is
5554 selected.
5655
57−
5856 Return Value
5957 ------------
6058
@@ -63,12 +61,10 @@ appropriately. The generic error codes are described at the · 2 unmodified lines
6361 :ref:`Generic Error Codes <gen-errors>` chapter.
6462
6563
66−
6764 .. flat-table::
6865 :header-rows: 0
6966 :stub-columns: 0
7067
71−
7268 - .. row 1
7369
7470 - ``EPERM``
Documentation/userspace-api/media/dvb/video-fclose.rst+1−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _video_fclose:
45
@@ -18,7 +19,6 @@ Synopsis · 13 unmodified lines
1819
1920 .. c:function:: int close(int fd)
2021
21−
2222 Arguments
2323 ---------
2424
@@ -26,20 +26,17 @@ Arguments · 1 unmodified line
2626 :header-rows: 0
2727 :stub-columns: 0
2828
29−
3029 - .. row 1
3130
3231 - int fd
3332
3433 - File descriptor returned by a previous call to open().
3534
36−
3735 Description
3836 -----------
3937
4038 This system call closes a previously opened video device.
4139
42−
4340 Return Value
4441 ------------
4542
@@ -47,7 +44,6 @@ Return Value · 1 unmodified line
4744 :header-rows: 0
4845 :stub-columns: 0
4946
50−
5147 - .. row 1
5248
5349 - ``EBADF``
Documentation/userspace-api/media/dvb/video-fopen.rst+1−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _video_fopen:
45
@@ -18,7 +19,6 @@ Synopsis · 13 unmodified lines
1819
1920 .. c:function:: int open(const char *deviceName, int flags)
2021
21−
2222 Arguments
2323 ---------
2424
@@ -26,7 +26,6 @@ Arguments · 1 unmodified line
2626 :header-rows: 0
2727 :stub-columns: 0
2828
29−
3029 - .. row 1
3130
3231 - const char \*deviceName
@@ -59,7 +58,6 @@ Arguments · 26 unmodified lines
5958 -
6059 - (blocking mode is the default)
6160
62−
6361 Description
6462 -----------
6563
@@ -79,7 +77,6 @@ returned. If the Video Device is opened in O_RDONLY mode, the only · 13 unmodified lines
7977 ioctl call that can be used is VIDEO_GET_STATUS. All other call will
8078 return an error code.
8179
82−
8380 Return Value
8481 ------------
8582
@@ -89,7 +86,6 @@ Return Value · 3 unmodified lines
8986 :header-rows: 0
9087 :stub-columns: 0
9188
92−
9389 - .. row 1
9490
9591 - ``ENODEV``
Documentation/userspace-api/media/dvb/video-freeze.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_FREEZE:
45
@@ -16,9 +17,9 @@ VIDEO_FREEZE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_FREEZE)
20− :name: VIDEO_FREEZE
20+.. c:macro:: VIDEO_FREEZE
2121
22+``int ioctl(fd, VIDEO_FREEZE)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - Equals VIDEO_FREEZE for this command.
4242
43−
4443 Description
4544 -----------
4645
@@ -54,7 +53,6 @@ If VIDEO_SOURCE_MEMORY is selected in the ioctl call · 7 unmodified lines
5453 VIDEO_SELECT_SOURCE, the Digital TV subsystem will not decode any more data
5554 until the ioctl call VIDEO_CONTINUE or VIDEO_PLAY is performed.
5655
57−
5856 Return Value
5957 ------------
6058
Documentation/userspace-api/media/dvb/video-fwrite.rst+1−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _video_fwrite:
45
@@ -18,7 +19,6 @@ Synopsis · 13 unmodified lines
1819
1920 .. c:function:: size_t write(int fd, const void *buf, size_t count)
2021
21−
2222 Arguments
2323 ---------
2424
@@ -26,7 +26,6 @@ Arguments · 1 unmodified line
2626 :header-rows: 0
2727 :stub-columns: 0
2828
29−
3029 - .. row 1
3130
3231 - int fd
@@ -45,7 +44,6 @@ Arguments · 12 unmodified lines
4544
4645 - Size of buf.
4746
48−
4947 Description
5048 -----------
5149
@@ -55,7 +53,6 @@ PES format, unless the capability allows other formats. If O_NONBLOCK · 3 unmodified lines
5553 is not specified the function will block until buffer space is
5654 available. The amount of data to be transferred is implied by count.
5755
58−
5956 Return Value
6057 ------------
6158
@@ -63,7 +60,6 @@ Return Value · 1 unmodified line
6360 :header-rows: 0
6461 :stub-columns: 0
6562
66−
6763 - .. row 1
6864
6965 - ``EPERM``
Documentation/userspace-api/media/dvb/video-get-capabilities.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_CAPABILITIES:
45
@@ -16,9 +17,9 @@ VIDEO_GET_CAPABILITIES · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_GET_CAPABILITIES, unsigned int *cap)
20− :name: VIDEO_GET_CAPABILITIES
20+.. c:macro:: VIDEO_GET_CAPABILITIES
2121
22+``int ioctl(fd, VIDEO_GET_CAPABILITIES, unsigned int *cap)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Pointer to a location where to store the capability information.
4848
49−
5049 Description
5150 -----------
5251
@@ -54,7 +53,6 @@ This ioctl call asks the video device about its decoding capabilities. · 1 unmodified line
5453 On success it returns and integer which has bits set according to the
5554 defines in section ??.
5655
57−
5856 Return Value
5957 ------------
6058
Documentation/userspace-api/media/dvb/video-get-event.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_EVENT:
45
@@ -16,9 +17,9 @@ VIDEO_GET_EVENT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_GET_EVENT, struct video_event *ev)
20− :name: VIDEO_GET_EVENT
20+.. c:macro:: VIDEO_GET_EVENT
2121
22+``int ioctl(fd, VIDEO_GET_EVENT, struct video_event *ev)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Points to the location where the event, if any, is to be stored.
4848
49−
5049 Description
5150 -----------
5251
@@ -93,7 +92,6 @@ appropriately. The generic error codes are described at the · 40 unmodified lines
9392 :header-rows: 0
9493 :stub-columns: 0
9594
96−
9795 - .. row 1
9896
9997 - ``EWOULDBLOCK``
Documentation/userspace-api/media/dvb/video-get-frame-count.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_FRAME_COUNT:
45
@@ -16,9 +17,9 @@ VIDEO_GET_FRAME_COUNT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, VIDEO_GET_FRAME_COUNT, __u64 *pts)
20− :name: VIDEO_GET_FRAME_COUNT
20+.. c:macro:: VIDEO_GET_FRAME_COUNT
2121
22+``int ioctl(int fd, VIDEO_GET_FRAME_COUNT, __u64 *pts)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -47,7 +47,6 @@ Arguments · 13 unmodified lines
4747 - Returns the number of frames displayed since the decoder was
4848 started.
4949
50−
5150 Description
5251 -----------
5352
@@ -58,7 +57,6 @@ control. · 4 unmodified lines
5857 This ioctl call asks the Video Device to return the number of displayed
5958 frames since the decoder was started.
6059
61−
6260 Return Value
6361 ------------
6462
Documentation/userspace-api/media/dvb/video-get-pts.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_PTS:
45
@@ -16,9 +17,9 @@ VIDEO_GET_PTS · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, VIDEO_GET_PTS, __u64 *pts)
20− :name: VIDEO_GET_PTS
20+.. c:macro:: VIDEO_GET_PTS
2121
22+``int ioctl(int fd, VIDEO_GET_PTS, __u64 *pts)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -51,7 +51,6 @@ Arguments · 17 unmodified lines
5151 but may also be a value close to it like the PTS of the last
5252 decoded frame or the last PTS extracted by the PES parser.
5353
54−
5554 Description
5655 -----------
5756
@@ -62,7 +61,6 @@ control. · 4 unmodified lines
6261 This ioctl call asks the Video Device to return the current PTS
6362 timestamp.
6463
65−
6664 Return Value
6765 ------------
6866
Documentation/userspace-api/media/dvb/video-get-size.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_SIZE:
45
@@ -16,9 +17,9 @@ VIDEO_GET_SIZE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, VIDEO_GET_SIZE, video_size_t *size)
20− :name: VIDEO_GET_SIZE
20+.. c:macro:: VIDEO_GET_SIZE
2121
22+``int ioctl(int fd, VIDEO_GET_SIZE, video_size_t *size)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Returns the size and aspect ratio.
4848
49−
5049 Description
5150 -----------
5251
@@ -62,7 +61,6 @@ This ioctl returns the size and aspect ratio. · 9 unmodified lines
6261 video_format_t aspect_ratio;
6362 } video_size_t;
6463
65−
6664 Return Value
6765 ------------
6866
Documentation/userspace-api/media/dvb/video-get-status.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_GET_STATUS:
45
@@ -16,9 +17,9 @@ VIDEO_GET_STATUS · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_GET_STATUS, struct video_status *status)
20− :name: VIDEO_GET_STATUS
20+.. c:macro:: VIDEO_GET_STATUS
2121
22+``int ioctl(fd, VIDEO_GET_STATUS, struct video_status *status)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Returns the current status of the Video Device.
4848
49−
5049 Description
5150 -----------
5251
Documentation/userspace-api/media/dvb/video-play.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_PLAY:
45
@@ -16,9 +17,9 @@ VIDEO_PLAY · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_PLAY)
20− :name: VIDEO_PLAY
20+.. c:macro:: VIDEO_PLAY
2121
22+``int ioctl(fd, VIDEO_PLAY)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -40,7 +40,6 @@ Arguments · 6 unmodified lines
4040
4141 - Equals VIDEO_PLAY for this command.
4242
43−
4443 Description
4544 -----------
4645
@@ -50,7 +49,6 @@ V4L2 :ref:`VIDIOC_DECODER_CMD` instead. · 3 unmodified lines
5049 This ioctl call asks the Video Device to start playing a video stream
5150 from the selected source.
5251
53−
5452 Return Value
5553 ------------
5654
Documentation/userspace-api/media/dvb/video-select-source.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SELECT_SOURCE:
45
@@ -16,9 +17,9 @@ VIDEO_SELECT_SOURCE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SELECT_SOURCE, video_stream_source_t source)
20− :name: VIDEO_SELECT_SOURCE
20+.. c:macro:: VIDEO_SELECT_SOURCE
2121
22+``int ioctl(fd, VIDEO_SELECT_SOURCE, video_stream_source_t source)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Indicates which source shall be used for the Video stream.
4848
49−
5049 Description
5150 -----------
5251
Documentation/userspace-api/media/dvb/video-set-blank.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SET_BLANK:
45
@@ -16,9 +17,9 @@ VIDEO_SET_BLANK · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SET_BLANK, boolean mode)
20− :name: VIDEO_SET_BLANK
20+.. c:macro:: VIDEO_SET_BLANK
2121
22+``int ioctl(fd, VIDEO_SET_BLANK, boolean mode)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -51,13 +51,11 @@ Arguments · 17 unmodified lines
5151 -
5252 - FALSE: Show last decoded frame.
5353
54−
5554 Description
5655 -----------
5756
5857 This ioctl call asks the Video Device to blank out the picture.
5958
60−
6159 Return Value
6260 ------------
6361
Documentation/userspace-api/media/dvb/video-set-display-format.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SET_DISPLAY_FORMAT:
45
@@ -16,9 +17,9 @@ VIDEO_SET_DISPLAY_FORMAT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SET_DISPLAY_FORMAT)
20− :name: VIDEO_SET_DISPLAY_FORMAT
20+.. c:macro:: VIDEO_SET_DISPLAY_FORMAT
2121
22+``int ioctl(fd, VIDEO_SET_DISPLAY_FORMAT)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,14 +46,12 @@ Arguments · 12 unmodified lines
4646
4747 - Selects the video format to be used.
4848
49−
5049 Description
5150 -----------
5251
5352 This ioctl call asks the Video Device to select the video format to be
5453 applied by the MPEG chip on the video.
5554
56−
5755 Return Value
5856 ------------
5957
Documentation/userspace-api/media/dvb/video-set-format.rst+3−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SET_FORMAT:
45
@@ -16,9 +17,9 @@ VIDEO_SET_FORMAT · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SET_FORMAT, video_format_t format)
20− :name: VIDEO_SET_FORMAT
20+.. c:macro:: VIDEO_SET_FORMAT
2121
22+``int ioctl(fd, VIDEO_SET_FORMAT, video_format_t format)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - video format of TV as defined in section ??.
4848
49−
5049 Description
5150 -----------
5251
@@ -72,12 +71,10 @@ appropriately. The generic error codes are described at the · 19 unmodified lines
7271 :ref:`Generic Error Codes <gen-errors>` chapter.
7372
7473
75−
7674 .. flat-table::
7775 :header-rows: 0
7876 :stub-columns: 0
7977
80−
8178 - .. row 1
8279
8380 - ``EINVAL``
Documentation/userspace-api/media/dvb/video-set-streamtype.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SET_STREAMTYPE:
45
@@ -16,9 +17,9 @@ VIDEO_SET_STREAMTYPE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SET_STREAMTYPE, int type)
20− :name: VIDEO_SET_STREAMTYPE
20+.. c:macro:: VIDEO_SET_STREAMTYPE
2121
22+``int ioctl(fd, VIDEO_SET_STREAMTYPE, int type)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - stream type
4848
49−
5049 Description
5150 -----------
5251
@@ -54,7 +53,6 @@ This ioctl tells the driver which kind of stream to expect being written · 1 unmodified line
5453 to it. If this call is not used the default of video PES is used. Some
5554 drivers might not support this call and always expect PES.
5655
57−
5856 Return Value
5957 ------------
6058
Documentation/userspace-api/media/dvb/video-slowmotion.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_SLOWMOTION:
45
@@ -16,9 +17,9 @@ VIDEO_SLOWMOTION · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_SLOWMOTION, int nFrames)
20− :name: VIDEO_SLOWMOTION
20+.. c:macro:: VIDEO_SLOWMOTION
2121
22+``int ioctl(fd, VIDEO_SLOWMOTION, int nFrames)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - The number of times to repeat each frame.
4848
49−
5049 Description
5150 -----------
5251
@@ -54,7 +53,6 @@ This ioctl call asks the video device to repeat decoding frames N number · 1 unmodified line
5453 of times. This call can only be used if VIDEO_SOURCE_MEMORY is
5554 selected.
5655
57−
5856 Return Value
5957 ------------
6058
@@ -63,12 +61,10 @@ appropriately. The generic error codes are described at the · 2 unmodified lines
6361 :ref:`Generic Error Codes <gen-errors>` chapter.
6462
6563
66−
6764 .. flat-table::
6865 :header-rows: 0
6966 :stub-columns: 0
7067
71−
7268 - .. row 1
7369
7470 - ``EPERM``
Documentation/userspace-api/media/dvb/video-stillpicture.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_STILLPICTURE:
45
@@ -16,9 +17,9 @@ VIDEO_STILLPICTURE · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_STILLPICTURE, struct video_still_picture *sp)
20− :name: VIDEO_STILLPICTURE
20+.. c:macro:: VIDEO_STILLPICTURE
2121
22+``int ioctl(fd, VIDEO_STILLPICTURE, struct video_still_picture *sp)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Pointer to a location where an I-frame and size is stored.
4848
49−
5049 Description
5150 -----------
5251
@@ -54,7 +53,6 @@ This ioctl call asks the Video Device to display a still picture · 1 unmodified line
5453 (I-frame). The input data shall contain an I-frame. If the pointer is
5554 NULL, then the current displayed still picture is blanked.
5655
57−
5856 Return Value
5957 ------------
6058
Documentation/userspace-api/media/dvb/video-stop.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_STOP:
45
@@ -16,9 +17,9 @@ VIDEO_STOP · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(fd, VIDEO_STOP, boolean mode)
20− :name: VIDEO_STOP
20+.. c:macro:: VIDEO_STOP
2121
22+``int ioctl(fd, VIDEO_STOP, boolean mode)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -56,7 +56,6 @@ Arguments · 22 unmodified lines
5656 -
5757 - FALSE: Show last decoded frame.
5858
59−
6059 Description
6160 -----------
6261
@@ -67,7 +66,6 @@ This ioctl call asks the Video Device to stop playing the current · 4 unmodified lines
6766 stream. Depending on the input parameter, the screen can be blanked out
6867 or displaying the last decoded frame.
6968
70−
7169 Return Value
7270 ------------
7371
Documentation/userspace-api/media/dvb/video-try-command.rst+3−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: DTV.video
23
34 .. _VIDEO_TRY_COMMAND:
45
@@ -16,9 +17,9 @@ VIDEO_TRY_COMMAND · 11 unmodified lines
1617 Synopsis
1718 --------
1819
19−.. c:function:: int ioctl(int fd, VIDEO_TRY_COMMAND, struct video_command *cmd)
20− :name: VIDEO_TRY_COMMAND
20+.. c:macro:: VIDEO_TRY_COMMAND
2121
22+``int ioctl(int fd, VIDEO_TRY_COMMAND, struct video_command *cmd)``
2223
2324 Arguments
2425 ---------
@@ -27,7 +28,6 @@ Arguments · 2 unmodified lines
2728 :header-rows: 0
2829 :stub-columns: 0
2930
30−
3131 - .. row 1
3232
3333 - int fd
@@ -46,7 +46,6 @@ Arguments · 12 unmodified lines
4646
4747 - Try a decoder command.
4848
49−
5049 Description
5150 -----------
5251
@@ -59,7 +58,6 @@ subset of the ``v4l2_decoder_cmd`` struct, so refer to the · 6 unmodified lines
5958 :ref:`VIDIOC_TRY_DECODER_CMD <VIDIOC_DECODER_CMD>` documentation
6059 for more information.
6160
62−
6361 Return Value
6462 ------------
6563
Documentation/userspace-api/media/mediactl/media-func-close.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media-func-close:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 media-close - Close a media device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,16 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: int close( int fd )
24− :name: mc-close
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :c:func:`open() <mc-open>`.
31−
28+ File descriptor returned by :c:func:`open()`.
3229
3330 Description
3431 ===========
@@ -36,11 +33,10 @@ Description · 1 unmodified line
3633 Closes the media device. Resources associated with the file descriptor
3734 are freed. The device configuration remain unchanged.
3835
39−
4036 Return Value
4137 ============
4238
43−:ref:`close() <media-func-close>` returns 0 on success. On error, -1 is returned, and
39+:c:func:`close()` returns 0 on success. On error, -1 is returned, and
4440 ``errno`` is set appropriately. Possible error codes are:
4541
4642 EBADF
Documentation/userspace-api/media/mediactl/media-func-ioctl.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media-func-ioctl:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 media-ioctl - Control a media device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,15 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/ioctl.h>
2121
22−
23−.. c:function:: int ioctl( int fd, int request, void *argp )
24− :name: mc-ioctl
22+``int ioctl(int fd, int request, void *argp)``
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :c:func:`open() <mc-open>`.
28+ File descriptor returned by :c:func:`open()`.
3129
3230 ``request``
3331 Media ioctl request code as defined in the media.h header file, for
@@ -36,7 +34,6 @@ Arguments · 2 unmodified lines
3634 ``argp``
3735 Pointer to a request-specific structure.
3836
39−
4037 Description
4138 ===========
4239
@@ -52,7 +49,6 @@ their parameters are located in the media.h header file. All media ioctl · 9 unmodified lines
5249 requests, their respective function and parameters are specified in
5350 :ref:`media-user-func`.
5451
55−
5652 Return Value
5753 ============
5854
Documentation/userspace-api/media/mediactl/media-func-open.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media-func-open:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 media-open - Open a media device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <fcntl.h>
2121
22−
2322 .. c:function:: int open( const char *device_name, int flags )
24− :name: mc-open
2523
2624 Arguments
2725 =========
@@ -33,11 +31,10 @@ Arguments · 5 unmodified lines
3331 Open flags. Access mode must be either ``O_RDONLY`` or ``O_RDWR``.
3432 Other flags have no effect.
3533
36−
3734 Description
3835 ===========
3936
40−To open a media device applications call :ref:`open() <media-func-open>` with the
37+To open a media device applications call :c:func:`open()` with the
4138 desired device name. The function has no side effects; the device
4239 configuration remain unchanged.
4340
@@ -45,11 +42,10 @@ When the device is opened in read-only mode, attempts to modify its · 1 unmodified line
4542 configuration will result in an error, and ``errno`` will be set to
4643 EBADF.
4744
48−
4945 Return Value
5046 ============
5147
52−:ref:`open() <func-open>` returns the new file descriptor on success. On error,
48+:c:func:`open()` returns the new file descriptor on success. On error,
5349 -1 is returned, and ``errno`` is set appropriately. Possible error codes
5450 are:
5551
Documentation/userspace-api/media/mediactl/media-ioc-device-info.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_device_info:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_DEVICE_INFO - Query device information
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_DEVICE_INFO, struct media_device_info *argp )
19− :name: MEDIA_IOC_DEVICE_INFO
18+.. c:macro:: MEDIA_IOC_DEVICE_INFO
2019
20+``int ioctl(int fd, MEDIA_IOC_DEVICE_INFO, struct media_device_info *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`media_device_info`.
3030
31−
3231 Description
3332 ===========
3433
@@ -38,7 +37,6 @@ a struct :c:type:`media_device_info`. The driver · 3 unmodified lines
3837 fills the structure and returns the information to the application. The
3938 ioctl never fails.
4039
41−
4240 .. c:type:: media_device_info
4341
4442 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -48,7 +46,6 @@ ioctl never fails. · 3 unmodified lines
4846 :stub-columns: 0
4947 :widths: 1 1 2
5048
51−
5249 * - char
5350 - ``driver``\ [16]
5451 - Name of the driver implementing the media API as a NUL-terminated
@@ -94,7 +91,6 @@ ioctl never fails. · 39 unmodified lines
9491 - Reserved for future extensions. Drivers and applications must set
9592 this array to zero.
9693
97−
9894 The ``serial`` and ``bus_info`` fields can be used to distinguish
9995 between multiple instances of otherwise identical hardware. The serial
10096 number takes precedence when provided and can be assumed to be unique.
@@ -102,7 +98,6 @@ If the serial number is an empty string, the ``bus_info`` field can be · 1 unmodified line
10298 used instead. The ``bus_info`` field is guaranteed to be unique, but can
10399 vary across reboots or device unplug/replug.
104100
105−
106101 Return Value
107102 ============
108103
Documentation/userspace-api/media/mediactl/media-ioc-enum-entities.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_enum_entities:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_ENUM_ENTITIES - Enumerate entities and their properties
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp )
19− :name: MEDIA_IOC_ENUM_ENTITIES
18+.. c:macro:: MEDIA_IOC_ENUM_ENTITIES
2019
20+``int ioctl(int fd, MEDIA_IOC_ENUM_ENTITIES, struct media_entity_desc *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`media_entity_desc`.
3030
31−
3231 Description
3332 ===========
3433
@@ -49,7 +48,6 @@ Entity IDs can be non-contiguous. Applications must *not* try to · 14 unmodified lines
4948 enumerate entities by calling MEDIA_IOC_ENUM_ENTITIES with increasing
5049 id's until they get an error.
5150
52−
5351 .. c:type:: media_entity_desc
5452
5553 .. tabularcolumns:: |p{1.5cm}|p{1.7cm}|p{1.6cm}|p{1.5cm}|p{11.2cm}|
@@ -136,7 +134,6 @@ id's until they get an error. · 80 unmodified lines
136134 * - }
137135 -
138136
139−
140137 Return Value
141138 ============
142139
Documentation/userspace-api/media/mediactl/media-ioc-enum-links.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_enum_links:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_ENUM_LINKS - Enumerate all pads and links for a given entity
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_ENUM_LINKS, struct media_links_enum *argp )
19− :name: MEDIA_IOC_ENUM_LINKS
18+.. c:macro:: MEDIA_IOC_ENUM_LINKS
2019
20+``int ioctl(int fd, MEDIA_IOC_ENUM_LINKS, struct media_links_enum *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`media_links_enum`.
3030
31−
3231 Description
3332 ===========
3433
@@ -53,7 +52,6 @@ outbound links can be retrieved with :ref:`MEDIA_IOC_ENUM_ENTITIES`. · 18 unmodified lines
5352 Only forward links that originate at one of the entity's source pads are
5453 returned during the enumeration process.
5554
56−
5755 .. c:type:: media_links_enum
5856
5957 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -82,7 +80,6 @@ returned during the enumeration process. · 22 unmodified lines
8280 - Reserved for future extensions. Drivers and applications must set
8381 the array to zero.
8482
85−
8683 .. c:type:: media_pad_desc
8784
8885 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -110,7 +107,6 @@ returned during the enumeration process. · 21 unmodified lines
110107 the array to zero.
111108
112109
113−
114110 .. c:type:: media_link_desc
115111
116112 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -137,7 +133,6 @@ returned during the enumeration process. · 20 unmodified lines
137133 - Reserved for future extensions. Drivers and applications must set
138134 the array to zero.
139135
140−
141136 Return Value
142137 ============
143138
Documentation/userspace-api/media/mediactl/media-ioc-g-topology.rst+4−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_g_topology:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_G_TOPOLOGY - Enumerate the graph topology and graph element properties
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_G_TOPOLOGY, struct media_v2_topology *argp )
19− :name: MEDIA_IOC_G_TOPOLOGY
18+.. c:macro:: MEDIA_IOC_G_TOPOLOGY
2019
20+``int ioctl(int fd, MEDIA_IOC_G_TOPOLOGY, struct media_v2_topology *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`media_v2_topology`.
3030
31−
3231 Description
3332 ===========
3433
@@ -120,7 +119,6 @@ desired arrays with the media graph elements. · 85 unmodified lines
120119 converted to a 64-bits integer. It can be zero. if zero, the ioctl
121120 won't store the links. It will just update ``num_links``
122121
123−
124122 .. tabularcolumns:: |p{1.6cm}|p{3.2cm}|p{12.7cm}|
125123
126124 .. c:type:: media_v2_entity
@@ -158,7 +156,6 @@ desired arrays with the media graph elements. · 31 unmodified lines
158156 - Reserved for future extensions. Drivers and applications must set
159157 this array to zero.
160158
161−
162159 .. tabularcolumns:: |p{1.6cm}|p{3.2cm}|p{12.7cm}|
163160
164161 .. c:type:: media_v2_interface
@@ -192,7 +189,6 @@ desired arrays with the media graph elements. · 27 unmodified lines
192189 - Used only for device node interfaces. See
193190 :c:type:`media_v2_intf_devnode` for details.
194191
195−
196192 .. tabularcolumns:: |p{1.6cm}|p{3.2cm}|p{12.7cm}|
197193
198194 .. c:type:: media_v2_intf_devnode
@@ -245,7 +241,6 @@ desired arrays with the media graph elements. · 46 unmodified lines
245241 - Reserved for future extensions. Drivers and applications must set
246242 this array to zero.
247243
248−
249244 .. tabularcolumns:: |p{1.6cm}|p{3.2cm}|p{12.7cm}|
250245
251246 .. c:type:: media_v2_link
@@ -282,7 +277,6 @@ desired arrays with the media graph elements. · 30 unmodified lines
282277 - Reserved for future extensions. Drivers and applications must set
283278 this array to zero.
284279
285−
286280 Return Value
287281 ============
288282
Documentation/userspace-api/media/mediactl/media-ioc-request-alloc.rst+5−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_request_alloc:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_REQUEST_ALLOC - Allocate a request
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_REQUEST_ALLOC, int *argp )
19− :name: MEDIA_IOC_REQUEST_ALLOC
18+.. c:macro:: MEDIA_IOC_REQUEST_ALLOC
2019
20+``int ioctl(int fd, MEDIA_IOC_REQUEST_ALLOC, int *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to an integer.
3030
31−
3231 Description
3332 ===========
3433
@@ -51,7 +50,7 @@ Finally, the file descriptor can be :ref:`polled <request-func-poll>` to wait · 16 unmodified lines
5150 for the request to complete.
5251
5352 The request will remain allocated until all the file descriptors associated
54−with it are closed by :ref:`close() <request-func-close>` and the driver no
53+with it are closed by :c:func:`close()` and the driver no
5554 longer uses the request internally. See also
5655 :ref:`here <media-request-life-time>` for more information.
5756
Documentation/userspace-api/media/mediactl/media-ioc-setup-link.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_ioc_setup_link:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 MEDIA_IOC_SETUP_LINK - Modify the properties of a link
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, MEDIA_IOC_SETUP_LINK, struct media_link_desc *argp )
19− :name: MEDIA_IOC_SETUP_LINK
18+.. c:macro:: MEDIA_IOC_SETUP_LINK
2019
20+``int ioctl(int fd, MEDIA_IOC_SETUP_LINK, struct media_link_desc *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <media-func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`media_link_desc`.
3030
31−
3231 Description
3332 ===========
3433
@@ -53,7 +52,6 @@ non-dynamic link will return an ``EBUSY`` error code. · 18 unmodified lines
5352 If the specified link can't be found the driver returns with an ``EINVAL``
5453 error code.
5554
56−
5755 Return Value
5856 ============
5957
Documentation/userspace-api/media/mediactl/media-request-ioc-queue.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_request_ioc_queue:
45
@@ -11,13 +12,12 @@ Name · 6 unmodified lines
1112
1213 MEDIA_REQUEST_IOC_QUEUE - Queue a request
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int request_fd, MEDIA_REQUEST_IOC_QUEUE )
19− :name: MEDIA_REQUEST_IOC_QUEUE
18+.. c:macro:: MEDIA_REQUEST_IOC_QUEUE
2019
20+``int ioctl(int request_fd, MEDIA_REQUEST_IOC_QUEUE)``
2121
2222 Arguments
2323 =========
@@ -25,7 +25,6 @@ Arguments · 1 unmodified line
2525 ``request_fd``
2626 File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`.
2727
28−
2928 Description
3029 ===========
3130
Documentation/userspace-api/media/mediactl/media-request-ioc-reinit.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media_request_ioc_reinit:
45
@@ -11,13 +12,12 @@ Name · 6 unmodified lines
1112
1213 MEDIA_REQUEST_IOC_REINIT - Re-initialize a request
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int request_fd, MEDIA_REQUEST_IOC_REINIT )
19− :name: MEDIA_REQUEST_IOC_REINIT
18+.. c:macro:: MEDIA_REQUEST_IOC_REINIT
2019
20+``int ioctl(int request_fd, MEDIA_REQUEST_IOC_REINIT)``
2121
2222 Arguments
2323 =========
@@ -33,7 +33,7 @@ this request ioctl can be used to re-initialize a previously allocated · 9 unmodified lines
3333 request.
3434
3535 Re-initializing a request will clear any existing data from the request.
36−This avoids having to :ref:`close() <request-func-close>` a completed
36+This avoids having to :c:func:`close()` a completed
3737 request and allocate a new request. Instead the completed request can just
3838 be re-initialized and it is ready to be used again.
3939
Documentation/userspace-api/media/mediactl/request-api.rst+3−2
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _media-request-api:
45
@@ -93,7 +94,7 @@ regardless of whether a request is in use or not. · 88 unmodified lines
9394 Setting the same control through a request and also directly can lead to
9495 undefined behavior!
9596
96−User-space can :ref:`poll() <request-func-poll>` a request file descriptor in
97+User-space can :c:func:`poll()` a request file descriptor in
9798 order to wait until the request completes. A request is considered complete
9899 once all its associated buffers are available for dequeuing and all the
99100 associated controls have been updated with the values at the time of completion.
@@ -115,7 +116,7 @@ Recycling and Destruction · 15 unmodified lines
115116 -------------------------
116117
117118 Finally, a completed request can either be discarded or be reused. Calling
118−:ref:`close() <request-func-close>` on a request file descriptor will make
119+:c:func:`close()` on a request file descriptor will make
119120 that file descriptor unusable and the request will be freed once it is no
120121 longer in use by the kernel. That is, if the request is queued and then the
121122 file descriptor is closed, then it won't be freed until the driver completed
Documentation/userspace-api/media/mediactl/request-func-close.rst+2−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC.request
23
34 .. _request-func-close:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 request-close - Close a request file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: int close( int fd )
24− :name: req-close
2523
2624 Arguments
2725 =========
@@ -29,7 +27,6 @@ Arguments · 1 unmodified line
2927 ``fd``
3028 File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`.
3129
32−
3330 Description
3431 ===========
3532
@@ -38,11 +35,10 @@ are freed once all file descriptors associated with the request are closed · 2 unmodified lines
3835 and the driver has completed the request.
3936 See :ref:`here <media-request-life-time>` for more information.
4037
41−
4238 Return Value
4339 ============
4440
45−:ref:`close() <request-func-close>` returns 0 on success. On error, -1 is
41+:c:func:`close()` returns 0 on success. On error, -1 is
4642 returned, and ``errno`` is set appropriately. Possible error codes are:
4743
4844 EBADF
Documentation/userspace-api/media/mediactl/request-func-ioctl.rst+2−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _request-func-ioctl:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 request-ioctl - Control a request file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/ioctl.h>
2121
22−
23−.. c:function:: int ioctl( int fd, int cmd, void *argp )
24− :name: req-ioctl
22+``int ioctl(int fd, int cmd, void *argp)``
2523
2624 Arguments
2725 =========
@@ -36,7 +34,6 @@ Arguments · 8 unmodified lines
3634 ``argp``
3735 Pointer to a request-specific structure.
3836
39−
4037 Description
4138 ===========
4239
@@ -52,7 +49,6 @@ their parameters are located in the media.h header file. All request ioctl · 9 unmodified lines
5249 commands, their respective function and parameters are specified in
5350 :ref:`media-user-func`.
5451
55−
5652 Return Value
5753 ============
5854
Documentation/userspace-api/media/mediactl/request-func-poll.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: MC
23
34 .. _request-func-poll:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 request-poll - Wait for some event on a file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/poll.h>
2121
22−
2322 .. c:function:: int poll( struct pollfd *ufds, unsigned int nfds, int timeout )
24− :name: request-poll
2523
2624 Arguments
2725 =========
@@ -35,14 +33,13 @@ Arguments · 7 unmodified lines
3533 ``timeout``
3634 Timeout to wait for events
3735
38−
3936 Description
4037 ===========
4138
42−With the :c:func:`poll() <request-func-poll>` function applications can wait
39+With the :c:func:`poll()` function applications can wait
4340 for a request to complete.
4441
45−On success :c:func:`poll() <request-func-poll>` returns the number of file
42+On success :c:func:`poll()` returns the number of file
4643 descriptors that have been selected (that is, file descriptors for which the
4744 ``revents`` field of the respective struct :c:type:`pollfd`
4845 is non-zero). Request file descriptor set the ``POLLPRI`` flag in ``revents``
@@ -53,11 +50,10 @@ set appropriately. · 4 unmodified lines
5350 Attempting to poll for a request that is not yet queued will
5451 set the ``POLLERR`` flag in ``revents``.
5552
56−
5753 Return Value
5854 ============
5955
60−On success, :c:func:`poll() <request-func-poll>` returns the number of
56+On success, :c:func:`poll()` returns the number of
6157 structures which have non-zero ``revents`` fields, or zero if the call
6258 timed out. On error -1 is returned, and the ``errno`` variable is set
6359 appropriately:
Documentation/userspace-api/media/rc/lirc-get-features.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_get_features:
45
@@ -14,8 +15,9 @@ LIRC_GET_FEATURES - Get the underlying hardware device's features · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_GET_FEATURES, __u32 *features)
18− :name: LIRC_GET_FEATURES
18+.. c:macro:: LIRC_GET_FEATURES
19+
20+``int ioctl(int fd, LIRC_GET_FEATURES, __u32 *features)``
1921
2022 Arguments
2123 =========
@@ -26,11 +28,9 @@ Arguments · 4 unmodified lines
2628 ``features``
2729 Bitmask with the LIRC features.
2830
29−
3031 Description
3132 ===========
3233
33−
3434 Get the underlying hardware device's features. If a driver does not
3535 announce support of certain features, calling of the corresponding ioctls
3636 is undefined.
@@ -184,7 +184,6 @@ LIRC features · 147 unmodified lines
184184
185185 Unused. Kept just to avoid breaking uAPI.
186186
187−
188187 Return Value
189188 ============
190189
Documentation/userspace-api/media/rc/lirc-get-rec-mode.rst+7−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_get_rec_mode:
45 .. _lirc_set_rec_mode:
@@ -15,11 +16,13 @@ LIRC_GET_REC_MODE/LIRC_SET_REC_MODE - Get/set current receive mode. · 10 unmodified lines
1516 Synopsis
1617 ========
1718
18−.. c:function:: int ioctl( int fd, LIRC_GET_REC_MODE, __u32 *mode)
19− :name: LIRC_GET_REC_MODE
19+.. c:macro:: LIRC_GET_REC_MODE
2020
21−.. c:function:: int ioctl( int fd, LIRC_SET_REC_MODE, __u32 *mode)
22− :name: LIRC_SET_REC_MODE
21+``int ioctl(int fd, LIRC_GET_REC_MODE, __u32 *mode)``
22+
23+.. c:macro:: LIRC_SET_REC_MODE
24+
25+``int ioctl(int fd, LIRC_SET_REC_MODE, __u32 *mode)``
2326
2427 Arguments
2528 =========
@@ -47,7 +50,6 @@ Return Value · 21 unmodified lines
4750 :header-rows: 0
4851 :stub-columns: 0
4952
50−
5153 - .. row 1
5254
5355 - ``ENODEV``
Documentation/userspace-api/media/rc/lirc-get-rec-resolution.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_get_rec_resolution:
45
@@ -14,8 +15,9 @@ LIRC_GET_REC_RESOLUTION - Obtain the value of receive resolution, in microsecond · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_GET_REC_RESOLUTION, __u32 *microseconds)
18− :name: LIRC_GET_REC_RESOLUTION
18+.. c:macro:: LIRC_GET_REC_RESOLUTION
19+
20+``int ioctl(int fd, LIRC_GET_REC_RESOLUTION, __u32 *microseconds)``
1921
2022 Arguments
2123 =========
@@ -26,7 +28,6 @@ Arguments · 4 unmodified lines
2628 ``microseconds``
2729 Resolution, in microseconds.
2830
29−
3031 Description
3132 ===========
3233
@@ -38,7 +39,6 @@ This ioctl returns the integer value with such resolution, with can be · 5 unmodified lines
3839 used by userspace applications like lircd to automatically adjust the
3940 tolerance value.
4041
41−
4242 Return Value
4343 ============
4444
Documentation/userspace-api/media/rc/lirc-get-send-mode.rst+7−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_get_send_mode:
45 .. _lirc_set_send_mode:
@@ -15,11 +16,13 @@ LIRC_GET_SEND_MODE/LIRC_SET_SEND_MODE - Get/set current transmit mode. · 10 unmodified lines
1516 Synopsis
1617 ========
1718
18−.. c:function:: int ioctl( int fd, LIRC_GET_SEND_MODE, __u32 *mode )
19− :name: LIRC_GET_SEND_MODE
19+.. c:macro:: LIRC_GET_SEND_MODE
2020
21−.. c:function:: int ioctl( int fd, LIRC_SET_SEND_MODE, __u32 *mode )
22− :name: LIRC_SET_SEND_MODE
21+``int ioctl(int fd, LIRC_GET_SEND_MODE, __u32 *mode)``
22+
23+.. c:macro:: LIRC_SET_SEND_MODE
24+
25+``int ioctl(int fd, LIRC_SET_SEND_MODE, __u32 *mode)``
2326
2427 Arguments
2528 =========
@@ -30,7 +33,6 @@ Arguments · 4 unmodified lines
3033 ``mode``
3134 The mode used for transmitting.
3235
33−
3436 Description
3537 ===========
3638
@@ -44,14 +46,12 @@ modes the driver supports. · 7 unmodified lines
4446 Return Value
4547 ============
4648
47−
4849 .. tabularcolumns:: |p{2.5cm}|p{15.0cm}|
4950
5051 .. flat-table::
5152 :header-rows: 0
5253 :stub-columns: 0
5354
54−
5555 - .. row 1
5656
5757 - ``ENODEV``
Documentation/userspace-api/media/rc/lirc-get-timeout.rst+7−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_get_min_timeout:
45 .. _lirc_get_max_timeout:
@@ -16,11 +17,13 @@ range for IR receive. · 11 unmodified lines
1617 Synopsis
1718 ========
1819
19−.. c:function:: int ioctl( int fd, LIRC_GET_MIN_TIMEOUT, __u32 *timeout)
20− :name: LIRC_GET_MIN_TIMEOUT
20+.. c:macro:: LIRC_GET_MIN_TIMEOUT
2121
22−.. c:function:: int ioctl( int fd, LIRC_GET_MAX_TIMEOUT, __u32 *timeout)
23− :name: LIRC_GET_MAX_TIMEOUT
22+``int ioctl(int fd, LIRC_GET_MIN_TIMEOUT, __u32 *timeout)``
23+
24+.. c:macro:: LIRC_GET_MAX_TIMEOUT
25+
26+``int ioctl(int fd, LIRC_GET_MAX_TIMEOUT, __u32 *timeout)``
2427
2528 Arguments
2629 =========
@@ -31,7 +34,6 @@ Arguments · 4 unmodified lines
3134 ``timeout``
3235 Timeout, in microseconds.
3336
34−
3537 Description
3638 ===========
3739
@@ -47,7 +49,6 @@ that can be set. · 9 unmodified lines
4749 both ioctls will return the same value even though the timeout
4850 cannot be changed via :ref:`LIRC_SET_REC_TIMEOUT`.
4951
50−
5152 Return Value
5253 ============
5354
Documentation/userspace-api/media/rc/lirc-read.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc-read:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 lirc-read - Read from a LIRC device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,10 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: ssize_t read( int fd, void *buf, size_t count )
24− :name: lirc-read
25−
2623
2724 Arguments
2825 =========
@@ -39,9 +36,9 @@ Arguments · 10 unmodified lines
3936 Description
4037 ===========
4138
42−:ref:`read() <lirc-read>` attempts to read up to ``count`` bytes from file
39+:c:func:`read()` attempts to read up to ``count`` bytes from file
4340 descriptor ``fd`` into the buffer starting at ``buf``. If ``count`` is zero,
44−:ref:`read() <lirc-read>` returns zero and has no other results. If ``count``
41+:c:func:`read()` returns zero and has no other results. If ``count``
4542 is greater than ``SSIZE_MAX``, the result is unspecified.
4643
4744 The exact format of the data depends on what :ref:`lirc_modes` a driver
@@ -59,7 +56,6 @@ by hardware decoders. The :c:type:`rc_proto` member is set to the · 11 unmodified lines
5956 used for transmission, and ``scancode`` to the decoded scancode,
6057 and the ``keycode`` set to the keycode or ``KEY_RESERVED``.
6158
62−
6359 Return Value
6460 ============
6561
Documentation/userspace-api/media/rc/lirc-set-measure-carrier-mode.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_measure_carrier_mode:
45
@@ -14,8 +15,9 @@ LIRC_SET_MEASURE_CARRIER_MODE - enable or disable measure mode · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_SET_MEASURE_CARRIER_MODE, __u32 *enable )
18− :name: LIRC_SET_MEASURE_CARRIER_MODE
18+.. c:macro:: LIRC_SET_MEASURE_CARRIER_MODE
19+
20+``int ioctl(int fd, LIRC_SET_MEASURE_CARRIER_MODE, __u32 *enable)``
1921
2022 Arguments
2123 =========
@@ -27,7 +29,6 @@ Arguments · 5 unmodified lines
2729 enable = 1 means enable measure mode, enable = 0 means disable measure
2830 mode.
2931
30−
3132 Description
3233 ===========
3334
@@ -37,7 +38,6 @@ Enable or disable measure mode. If enabled, from the next key · 3 unmodified lines
3738 press on, the driver will send ``LIRC_MODE2_FREQUENCY`` packets. By
3839 default this should be turned off.
3940
40−
4141 Return Value
4242 ============
4343
Documentation/userspace-api/media/rc/lirc-set-rec-carrier-range.rst+4−2
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_rec_carrier_range:
45
@@ -15,8 +16,9 @@ IR receive. · 10 unmodified lines
1516 Synopsis
1617 ========
1718
18−.. c:function:: int ioctl( int fd, LIRC_SET_REC_CARRIER_RANGE, __u32 *frequency )
19− :name: LIRC_SET_REC_CARRIER_RANGE
19+.. c:macro:: LIRC_SET_REC_CARRIER_RANGE
20+
21+``int ioctl(int fd, LIRC_SET_REC_CARRIER_RANGE, __u32 *frequency)``
2022
2123 Arguments
2224 =========
Documentation/userspace-api/media/rc/lirc-set-rec-carrier.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_rec_carrier:
45
@@ -11,12 +12,12 @@ Name · 6 unmodified lines
1112
1213 LIRC_SET_REC_CARRIER - Set carrier used to modulate IR receive.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, LIRC_SET_REC_CARRIER, __u32 *frequency )
19− :name: LIRC_SET_REC_CARRIER
18+.. c:macro:: LIRC_SET_REC_CARRIER
19+
20+``int ioctl(int fd, LIRC_SET_REC_CARRIER, __u32 *frequency)``
2021
2122 Arguments
2223 =========
@@ -37,7 +38,6 @@ Set receive carrier used to modulate IR PWM pulses and spaces. · 14 unmodified lines
3738 If called together with :ref:`LIRC_SET_REC_CARRIER_RANGE`, this ioctl
3839 sets the upper bound frequency that will be recognized by the device.
3940
40−
4141 Return Value
4242 ============
4343
Documentation/userspace-api/media/rc/lirc-set-rec-timeout-reports.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_rec_timeout_reports:
45
@@ -14,8 +15,9 @@ LIRC_SET_REC_TIMEOUT_REPORTS - enable or disable timeout reports for IR receive · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_SET_REC_TIMEOUT_REPORTS, __u32 *enable )
18− :name: LIRC_SET_REC_TIMEOUT_REPORTS
18+.. c:macro:: LIRC_SET_REC_TIMEOUT_REPORTS
19+
20+``int ioctl(int fd, LIRC_SET_REC_TIMEOUT_REPORTS, __u32 *enable)``
1921
2022 Arguments
2123 =========
@@ -27,7 +29,6 @@ Arguments · 5 unmodified lines
2729 enable = 1 means enable timeout report, enable = 0 means disable timeout
2830 reports.
2931
30−
3132 Description
3233 ===========
3334
@@ -40,7 +41,6 @@ should be turned off. · 6 unmodified lines
4041
4142 This ioctl is only valid for :ref:`LIRC_MODE_MODE2 <lirc-mode-mode2>`.
4243
43−
4444 Return Value
4545 ============
4646
Documentation/userspace-api/media/rc/lirc-set-rec-timeout.rst+7−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_rec_timeout:
45 .. _lirc_get_rec_timeout:
@@ -15,11 +16,13 @@ LIRC_GET_REC_TIMEOUT/LIRC_SET_REC_TIMEOUT - Get/set the integer value for IR ina · 10 unmodified lines
1516 Synopsis
1617 ========
1718
18−.. c:function:: int ioctl( int fd, LIRC_GET_REC_TIMEOUT, __u32 *timeout )
19− :name: LIRC_GET_REC_TIMEOUT
19+.. c:macro:: LIRC_GET_REC_TIMEOUT
2020
21−.. c:function:: int ioctl( int fd, LIRC_SET_REC_TIMEOUT, __u32 *timeout )
22− :name: LIRC_SET_REC_TIMEOUT
21+``int ioctl(int fd, LIRC_GET_REC_TIMEOUT, __u32 *timeout)``
22+
23+.. c:macro:: LIRC_SET_REC_TIMEOUT
24+
25+``int ioctl(int fd, LIRC_SET_REC_TIMEOUT, __u32 *timeout)``
2326
2427 Arguments
2528 =========
@@ -30,7 +33,6 @@ Arguments · 4 unmodified lines
3033 ``timeout``
3134 Timeout, in microseconds.
3235
33−
3436 Description
3537 ===========
3638
@@ -45,7 +47,6 @@ given value should be set. · 8 unmodified lines
4547
4648 The range of supported timeout is given by :ref:`LIRC_GET_MIN_TIMEOUT`.
4749
48−
4950 Return Value
5051 ============
5152
Documentation/userspace-api/media/rc/lirc-set-send-carrier.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_send_carrier:
45
@@ -11,12 +12,12 @@ Name · 6 unmodified lines
1112
1213 LIRC_SET_SEND_CARRIER - Set send carrier used to modulate IR TX.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, LIRC_SET_SEND_CARRIER, __u32 *frequency )
19− :name: LIRC_SET_SEND_CARRIER
18+.. c:macro:: LIRC_SET_SEND_CARRIER
19+
20+``int ioctl(int fd, LIRC_SET_SEND_CARRIER, __u32 *frequency)``
2021
2122 Arguments
2223 =========
@@ -32,7 +33,6 @@ Description · 9 unmodified lines
3233
3334 Set send carrier used to modulate IR PWM pulses and spaces.
3435
35−
3636 Return Value
3737 ============
3838
Documentation/userspace-api/media/rc/lirc-set-send-duty-cycle.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_send_duty_cycle:
45
@@ -15,8 +16,9 @@ IR transmit. · 10 unmodified lines
1516 Synopsis
1617 ========
1718
18−.. c:function:: int ioctl( int fd, LIRC_SET_SEND_DUTY_CYCLE, __u32 *duty_cycle)
19− :name: LIRC_SET_SEND_DUTY_CYCLE
19+.. c:macro:: LIRC_SET_SEND_DUTY_CYCLE
20+
21+``int ioctl(int fd, LIRC_SET_SEND_DUTY_CYCLE, __u32 *duty_cycle)``
2022
2123 Arguments
2224 =========
@@ -28,7 +30,6 @@ Arguments · 5 unmodified lines
2830 Duty cicle, describing the pulse width in percent (from 1 to 99) of
2931 the total cycle. Values 0 and 100 are reserved.
3032
31−
3233 Description
3334 ===========
3435
@@ -38,7 +39,6 @@ Currently, no special meaning is defined for 0 or 100, but this · 3 unmodified lines
3839 could be used to switch off carrier generation in the future, so
3940 these values should be reserved.
4041
41−
4242 Return Value
4343 ============
4444
Documentation/userspace-api/media/rc/lirc-set-transmitter-mask.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_transmitter_mask:
45
@@ -14,8 +15,9 @@ LIRC_SET_TRANSMITTER_MASK - Enables send codes on a given set of transmitters · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_SET_TRANSMITTER_MASK, __u32 *mask )
18− :name: LIRC_SET_TRANSMITTER_MASK
18+.. c:macro:: LIRC_SET_TRANSMITTER_MASK
19+
20+``int ioctl(int fd, LIRC_SET_TRANSMITTER_MASK, __u32 *mask)``
1921
2022 Arguments
2123 =========
@@ -26,7 +28,6 @@ Arguments · 4 unmodified lines
2628 ``mask``
2729 Mask with channels to enable tx. Channel 0 is the least significant bit.
2830
29−
3031 Description
3132 ===========
3233
@@ -42,7 +43,6 @@ When an invalid bit mask is given, i.e. a bit is set, even though the device · 9 unmodified lines
4243 does not have so many transitters, then this ioctl returns the number of
4344 available transitters and does nothing otherwise.
4445
45−
4646 Return Value
4747 ============
4848
Documentation/userspace-api/media/rc/lirc-set-wideband-receiver.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc_set_wideband_receiver:
45
@@ -14,8 +15,9 @@ LIRC_SET_WIDEBAND_RECEIVER - enable wide band receiver. · 9 unmodified lines
1415 Synopsis
1516 ========
1617
17−.. c:function:: int ioctl( int fd, LIRC_SET_WIDEBAND_RECEIVER, __u32 *enable )
18− :name: LIRC_SET_WIDEBAND_RECEIVER
18+.. c:macro:: LIRC_SET_WIDEBAND_RECEIVER
19+
20+``int ioctl(int fd, LIRC_SET_WIDEBAND_RECEIVER, __u32 *enable)``
1921
2022 Arguments
2123 =========
@@ -27,7 +29,6 @@ Arguments · 5 unmodified lines
2729 enable = 1 means enable wideband receiver, enable = 0 means disable
2830 wideband receiver.
2931
30−
3132 Description
3233 ===========
3334
@@ -47,7 +48,6 @@ reduced range of reception. · 13 unmodified lines
4748 carrier reports. Trying to disable wide band receiver while carrier
4849 reports are active will do nothing.
4950
50−
5151 Return Value
5252 ============
5353
Documentation/userspace-api/media/rc/lirc-write.rst+2−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: RC
23
34 .. _lirc-write:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 lirc-write - Write to a LIRC device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: ssize_t write( int fd, void *buf, size_t count )
24− :name: lirc-write
2523
2624 Arguments
2725 =========
@@ -38,7 +36,7 @@ Arguments · 10 unmodified lines
3836 Description
3937 ===========
4038
41−:ref:`write() <lirc-write>` writes up to ``count`` bytes to the device
39+:c:func:`write()` writes up to ``count`` bytes to the device
4240 referenced by the file descriptor ``fd`` from the buffer starting at
4341 ``buf``.
4442
@@ -64,7 +62,6 @@ for the protocol or the scancode is not valid for the specified protocol, · 19 unmodified lines
6462 ``EINVAL`` is returned. The write function blocks until the scancode
6563 is transmitted by the hardware.
6664
67−
6865 Return Value
6966 ============
7067
Documentation/userspace-api/media/v4l/buffer.rst+3−25
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _buffer:
45
@@ -33,7 +34,6 @@ mem-to-mem devices is an exception to the rule: the timestamp source · 28 unmodified lines
3334 flags are copied from the OUTPUT video buffer to the CAPTURE video
3435 buffer.
3536
36−
3737 Interactions between formats, controls and buffers
3838 ==================================================
3939
@@ -152,7 +152,6 @@ based on the queried sizes (for instance by allocating a set of buffers large · 112 unmodified lines
152152 enough for all the desired formats and controls, or by allocating separate set
153153 of appropriately sized buffers for each use case).
154154
155−
156155 .. c:type:: v4l2_buffer
157156
158157 struct v4l2_buffer
@@ -257,7 +256,7 @@ struct v4l2_buffer · 98 unmodified lines
257256 ``V4L2_MEMORY_MMAP`` this is the offset of the buffer from the
258257 start of the device memory. The value is returned by the driver
259258 and apart of serving as parameter to the
260− :ref:`mmap() <func-mmap>` function not useful for applications.
259+ :c:func:`mmap()` function not useful for applications.
261260 See :ref:`mmap` for details
262261 * - unsigned long
263262 - ``userptr``
@@ -310,7 +309,6 @@ struct v4l2_buffer · 46 unmodified lines
310309 given, then ``EINVAL`` will be returned.
311310
312311
313−
314312 .. c:type:: v4l2_plane
315313
316314 struct v4l2_plane
@@ -350,7 +348,7 @@ struct v4l2_plane · 33 unmodified lines
350348 - ``mem_offset``
351349 - When the memory type in the containing struct
352350 :c:type:`v4l2_buffer` is ``V4L2_MEMORY_MMAP``, this
353− is the value that should be passed to :ref:`mmap() <func-mmap>`,
351+ is the value that should be passed to :c:func:`mmap()`,
354352 similar to the ``offset`` field in struct
355353 :c:type:`v4l2_buffer`.
356354 * - unsigned long
@@ -384,7 +382,6 @@ struct v4l2_plane · 27 unmodified lines
384382 applications.
385383
386384
387−
388385 .. c:type:: v4l2_buf_type
389386
390387 enum v4l2_buf_type
@@ -448,7 +445,6 @@ enum v4l2_buf_type · 57 unmodified lines
448445 - Buffer for metadata output, see :ref:`metadata`.
449446
450447
451−
452448 .. _buffer-flags:
453449
454450 Buffer Flags
@@ -682,20 +678,6 @@ Buffer Flags · 227 unmodified lines
682678
683679 .. _memory-flags:
684680
685−Memory Consistency Flags
686−========================
687−
688−.. tabularcolumns:: |p{7.0cm}|p{2.2cm}|p{8.3cm}|
689−
690−.. cssclass:: longtable
691−
692−.. flat-table::
693− :header-rows: 0
694− :stub-columns: 0
695− :widths: 3 1 4
696−
697−.. c:type:: v4l2_memory
698−
699681 enum v4l2_memory
700682 ================
701683
@@ -720,7 +702,6 @@ enum v4l2_memory · 18 unmodified lines
720702 - The buffer is used for :ref:`DMA shared buffer <dmabuf>` I/O.
721703
722704
723−
724705 Timecodes
725706 =========
726707
@@ -729,7 +710,6 @@ The :c:type:`v4l2_buffer_timecode` structure is designed to hold a · 2 unmodified lines
729710 (struct :c:type:`timeval` timestamps are stored in the struct
730711 :c:type:`v4l2_buffer` ``timestamp`` field.)
731712
732−
733713 .. c:type:: v4l2_timecode
734714
735715 struct v4l2_timecode
@@ -766,7 +746,6 @@ struct v4l2_timecode · 30 unmodified lines
766746 - The "user group" bits from the timecode.
767747
768748
769−
770749 .. _timecode-type:
771750
772751 Timecode Types
@@ -796,7 +775,6 @@ Timecode Types · 23 unmodified lines
796775 -
797776
798777
799−
800778 .. _timecode-flags:
801779
802780 Timecode Flags
Documentation/userspace-api/media/v4l/dev-capture.rst+2−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _capture:
45
@@ -19,7 +20,6 @@ device. · 14 unmodified lines
1920
2021 .. note:: The same device file names are used for video output devices.
2122
22−
2323 Querying Capabilities
2424 =====================
2525
@@ -34,7 +34,6 @@ functions they may also support the :ref:`video overlay <overlay>` · 8 unmodified lines
3434 streaming I/O methods must be supported. Tuners and audio inputs are
3535 optional.
3636
37−
3837 Supplemental Functions
3938 ======================
4039
@@ -45,7 +44,6 @@ Video capture devices shall support :ref:`audio input <audio>`, · 4 unmodified lines
4544 :ref:`video input <video>` ioctls must be supported by all video
4645 capture devices.
4746
48−
4947 Image Format Negotiation
5048 ========================
5149
@@ -55,7 +53,7 @@ capture, the latter how images are stored in memory, i. e. in RGB or YUV · 3 unmodified lines
5553 format, the number of bits per pixel or width and height. Together they
5654 also define how images are scaled in the process.
5755
58−As usual these parameters are *not* reset at :ref:`open() <func-open>`
56+As usual these parameters are *not* reset at :c:func:`open()`
5957 time to permit Unix tool chains, programming a device and then reading
6058 from it as if it was a plain file. Well written V4L2 applications ensure
6159 they really get what they want, including cropping and scaling.
@@ -95,7 +93,6 @@ and :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, even if :ref:`VIDIOC_S_FMT <VIDIOC · 33 unmodified lines
9593 requests and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does.
9694 :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` is optional.
9795
98−
9996 Reading Images
10097 ==============
10198
Documentation/userspace-api/media/v4l/dev-output.rst+2−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _output:
45
@@ -18,7 +19,6 @@ device. · 13 unmodified lines
1819
1920 .. note:: The same device file names are used also for video capture devices.
2021
21−
2222 Querying Capabilities
2323 =====================
2424
@@ -32,7 +32,6 @@ functions they may also support the :ref:`raw VBI output <raw-vbi>` · 7 unmodified lines
3232 streaming I/O methods must be supported. Modulators and audio outputs
3333 are optional.
3434
35−
3635 Supplemental Functions
3736 ======================
3837
@@ -43,7 +42,6 @@ Video output devices shall support :ref:`audio output <audio>`, · 4 unmodified lines
4342 :ref:`video output <video>` ioctls must be supported by all video
4443 output devices.
4544
46−
4745 Image Format Negotiation
4846 ========================
4947
@@ -53,7 +51,7 @@ the latter how images are stored in memory, i. e. in RGB or YUV format, · 3 unmodified lines
5351 the number of bits per pixel or width and height. Together they also
5452 define how images are scaled in the process.
5553
56−As usual these parameters are *not* reset at :ref:`open() <func-open>`
54+As usual these parameters are *not* reset at :c:func:`open()`
5755 time to permit Unix tool chains, programming a device and then writing
5856 to it as if it was a plain file. Well written V4L2 applications ensure
5957 they really get what they want, including cropping and scaling.
@@ -92,7 +90,6 @@ and :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, even if :ref:`VIDIOC_S_FMT <VIDIOC · 32 unmodified lines
9290 requests and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does.
9391 :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` is optional.
9492
95−
9693 Writing Images
9794 ==============
9895
Documentation/userspace-api/media/v4l/dev-raw-vbi.rst+6−13
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _raw-vbi:
45
@@ -32,7 +33,6 @@ applications must call the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. · 27 unmodified lines
3233 Accessed as ``/dev/vbi``, raw VBI capturing or output is the default
3334 device function.
3435
35−
3636 Querying Capabilities
3737 =====================
3838
@@ -44,7 +44,6 @@ in the ``capabilities`` field of struct · 5 unmodified lines
4444 read/write, streaming or asynchronous I/O methods must be supported. VBI
4545 devices may or may not have a tuner or modulator.
4646
47−
4847 Supplemental Functions
4948 ======================
5049
@@ -53,7 +52,6 @@ VBI devices shall support :ref:`video input or output <video>`, · 2 unmodified lines
5352 ioctls as needed. The :ref:`video standard <standard>` ioctls provide
5453 information vital to program a VBI device, therefore must be supported.
5554
56−
5755 Raw VBI Format Negotiation
5856 ==========================
5957
@@ -62,7 +60,7 @@ frequency. To properly interpret the data V4L2 specifies an ioctl to · 2 unmodified lines
6260 query the sampling parameters. Moreover, to allow for some flexibility
6361 applications can also suggest different parameters.
6462
65−As usual these parameters are *not* reset at :ref:`open() <func-open>`
63+As usual these parameters are *not* reset at :c:func:`open()`
6664 time to permit Unix tool chains, programming a device and then reading
6765 from it as if it was a plain file. Well written V4L2 applications should
6866 always ensure they really get what they want, requesting reasonable
@@ -91,8 +89,8 @@ happen for instance when the video and VBI areas to capture would · 22 unmodified lines
9189 overlap, or when the driver supports multiple opens and another process
9290 already requested VBI capturing or output. Anyway, applications must
9391 expect other resource allocation points which may return ``EBUSY``, at the
94−:ref:`VIDIOC_STREAMON` ioctl and the first :ref:`read() <func-read>`
95−, :ref:`write() <func-write>` and :ref:`select() <func-select>` calls.
92+:ref:`VIDIOC_STREAMON` ioctl and the first :c:func:`read()`
93+, :c:func:`write()` and :c:func:`select()` calls.
9694
9795 VBI devices must implement both the :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` and
9896 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, even if :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ignores all requests
@@ -182,7 +180,6 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does · 83 unmodified lines
182180 - This array is reserved for future extensions. Drivers and
183181 applications must set it to zero.
184182
185−
186183 .. tabularcolumns:: |p{4.4cm}|p{1.5cm}|p{11.6cm}|
187184
188185 .. _vbifmt-flags:
@@ -218,7 +215,6 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does · 29 unmodified lines
218215 non-zero.
219216
220217
221−
222218 .. _vbi-hsync:
223219
224220 .. kernel-figure:: vbi_hsync.svg
@@ -227,7 +223,6 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does · 2 unmodified lines
227223
228224 **Figure 4.1. Line synchronization**
229225
230−
231226 .. _vbi-525:
232227
233228 .. kernel-figure:: vbi_525.svg
@@ -251,7 +246,6 @@ negotiation, or after switching the video standard which may invalidate · 17 unmodified lines
251246 the negotiated VBI parameters, should be refused by the driver. A format
252247 change during active I/O is not permitted.
253248
254−
255249 Reading and writing VBI images
256250 ==============================
257251
@@ -261,7 +255,6 @@ consisting of two fields of VBI images immediately following in memory. · 3 unmodified lines
261255
262256 The total size of a frame computes as follows:
263257
264−
265258 .. code-block:: c
266259
267260 (count[0] + count[1]) * samples_per_line * sample size in bytes
@@ -276,8 +269,8 @@ The latter bears the possibility of synchronizing video and VBI data by · 8 unmodified lines
276269 using buffer timestamps.
277270
278271 Remember the :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` ioctl and the
279−first :ref:`read() <func-read>`, :ref:`write() <func-write>` and
280−:ref:`select() <func-select>` call can be resource allocation
272+first :c:func:`read()`, :c:func:`write()` and
273+:c:func:`select()` call can be resource allocation
281274 points returning an ``EBUSY`` error code if the required hardware resources
282275 are temporarily unavailable, for example the device is already in use by
283276 another process.
Documentation/userspace-api/media/v4l/dev-rds.rst+3−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _rds:
45
@@ -28,7 +29,6 @@ The RDS interface does not support this format. Should support for MMBS · 23 unmodified lines
2829 the linux-media mailing list:
2930 `https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__.
3031
31−
3232 Querying Capabilities
3333 =====================
3434
@@ -68,31 +68,27 @@ like program identification codes and radio text, the flag · 33 unmodified lines
6868 :ref:`Writing RDS data <writing-rds-data>` and
6969 :ref:`FM Transmitter Control Reference <fm-tx-controls>`.
7070
71−
7271 .. _reading-rds-data:
7372
7473 Reading RDS data
7574 ================
7675
7776 RDS data can be read from the radio device with the
78−:ref:`read() <func-read>` function. The data is packed in groups of
77+:c:func:`read()` function. The data is packed in groups of
7978 three bytes.
8079
81−
8280 .. _writing-rds-data:
8381
8482 Writing RDS data
8583 ================
8684
8785 RDS data can be written to the radio device with the
88−:ref:`write() <func-write>` function. The data is packed in groups of
86+:c:func:`write()` function. The data is packed in groups of
8987 three bytes, as follows:
9088
91−
9289 RDS datastructures
9390 ==================
9491
95−
9692 .. c:type:: v4l2_rds_data
9793
9894 .. tabularcolumns:: |p{2.5cm}|p{2.5cm}|p{12.5cm}|
@@ -113,7 +109,6 @@ RDS datastructures · 14 unmodified lines
113109 - Block description
114110
115111
116−
117112 .. _v4l2-rds-block:
118113
119114 .. tabularcolumns:: |p{2.9cm}|p{14.6cm}|
@@ -136,7 +131,6 @@ RDS datastructures · 16 unmodified lines
136131 reception of this block.
137132
138133
139−
140134 .. _v4l2-rds-block-codes:
141135
142136 .. tabularcolumns:: |p{6.4cm}|p{2.0cm}|p{1.2cm}|p{7.9cm}|
Documentation/userspace-api/media/v4l/dev-sliced-vbi.rst+7−24
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _sliced:
45
@@ -27,7 +28,6 @@ however the default function here is video capturing or output. · 22 unmodified lines
2728 Different file descriptors must be used to pass raw and sliced VBI data
2829 simultaneously, if this is supported by the driver.
2930
30−
3131 Querying Capabilities
3232 =====================
3333
@@ -39,7 +39,6 @@ respectively, in the ``capabilities`` field of struct · 5 unmodified lines
3939 read/write, streaming or asynchronous :ref:`I/O methods <io>` must be
4040 supported. Sliced VBI devices may have a tuner or modulator.
4141
42−
4342 Supplemental Functions
4443 ======================
4544
@@ -49,7 +48,6 @@ capabilities, and they may support :ref:`control` ioctls. · 3 unmodified lines
4948 The :ref:`video standard <standard>` ioctls provide information vital
5049 to program a sliced VBI device, therefore must be supported.
5150
52−
5351 .. _sliced-vbi-format-negotitation:
5452
5553 Sliced VBI Format Negotiation
@@ -96,9 +94,8 @@ at this point, it may return an ``EBUSY`` error code if the required · 40 unmodified lines
9694 resources are temporarily unavailable. Other resource allocation points
9795 which may return ``EBUSY`` can be the
9896 :ref:`VIDIOC_STREAMON` ioctl and the first
99−:ref:`read() <func-read>`, :ref:`write() <func-write>` and
100−:ref:`select() <func-select>` call.
101−
97+:c:func:`read()`, :c:func:`write()` and
98+:c:func:`select()` call.
10299
103100 .. c:type:: v4l2_sliced_vbi_format
104101
@@ -191,7 +188,7 @@ struct v4l2_sliced_vbi_format · 86 unmodified lines
191188 * - __u32
192189 - ``io_size``
193190 - :cspan:`2` Maximum number of bytes passed by one
194− :ref:`read() <func-read>` or :ref:`write() <func-write>` call,
191+ :c:func:`read()` or :c:func:`write()` call,
195192 and the buffer size in bytes for the
196193 :ref:`VIDIOC_QBUF` and
197194 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl. Drivers set this field
@@ -274,7 +271,6 @@ Sliced VBI services · 76 unmodified lines
274271
275272 \normalsize
276273
277−
278274 Drivers may return an ``EINVAL`` error code when applications attempt to
279275 read or write data without prior format negotiation, after switching the
280276 video standard (which may invalidate the negotiated VBI parameters) and
@@ -284,13 +280,12 @@ return an ``EBUSY`` error code when applications attempt to change the · 3 unmodified lines
284280 format while i/o is in progress (between a
285281 :ref:`VIDIOC_STREAMON` and
286282 :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` call, and after the first
287−:ref:`read() <func-read>` or :ref:`write() <func-write>` call).
288−
283+:c:func:`read()` or :c:func:`write()` call).
289284
290285 Reading and writing sliced VBI data
291286 ===================================
292287
293−A single :ref:`read() <func-read>` or :ref:`write() <func-write>`
288+A single :c:func:`read()` or :c:func:`write()`
294289 call must pass all data belonging to one video frame. That is an array
295290 of struct :c:type:`v4l2_sliced_vbi_data` structures with one or
296291 more elements and a total size not exceeding ``io_size`` bytes. Likewise
@@ -298,7 +293,6 @@ in streaming I/O mode one buffer of ``io_size`` bytes must contain data · 1 unmodified line
298293 of one video frame. The ``id`` of unused
299294 struct :c:type:`v4l2_sliced_vbi_data` elements must be zero.
300295
301−
302296 .. c:type:: v4l2_sliced_vbi_data
303297
304298 struct v4l2_sliced_vbi_data
@@ -344,9 +338,8 @@ struct v4l2_sliced_vbi_data · 39 unmodified lines
344338 bytes at the end of this array are undefined, drivers and
345339 applications shall ignore them.
346340
347−
348341 Packets are always passed in ascending line number order, without
349−duplicate line numbers. The :ref:`write() <func-write>` function and
342+duplicate line numbers. The :c:func:`write()` function and
350343 the :ref:`VIDIOC_QBUF` ioctl must return an ``EINVAL``
351344 error code when applications violate this rule. They must also return an
352345 EINVAL error code when applications pass an incorrect field or line
@@ -370,7 +363,6 @@ streaming (:ref:`memory mapping <mmap>` and/or · 17 unmodified lines
370363 :ref:`user pointer <userp>`) I/O. The latter bears the possibility of
371364 synchronizing video and VBI data by using buffer timestamps.
372365
373−
374366 Sliced VBI Data in MPEG Streams
375367 ===============================
376368
@@ -405,7 +397,6 @@ data insertion is not supported by the device. · 28 unmodified lines
405397 The following subsections specify the format of the embedded sliced VBI
406398 data.
407399
408−
409400 MPEG Stream Embedded, Sliced VBI Data Format: NONE
410401 --------------------------------------------------
411402
@@ -417,7 +408,6 @@ nor driver shall insert "empty" embedded sliced VBI data packets in the · 5 unmodified lines
417408 MPEG stream when this format is set. No MPEG stream data structures are
418409 specified for this format.
419410
420−
421411 MPEG Stream Embedded, Sliced VBI Data Format: IVTV
422412 --------------------------------------------------
423413
@@ -460,7 +450,6 @@ the end with unspecified fill bytes to align the end of the payload to a · 36 unmodified lines
460450 with 18 lines/field with 43 bytes of data/line and a 4 byte magic
461451 number).
462452
463−
464453 .. c:type:: v4l2_mpeg_vbi_fmt_ivtv
465454
466455 struct v4l2_mpeg_vbi_fmt_ivtv
@@ -523,7 +512,6 @@ Magic Constants for struct v4l2_mpeg_vbi_fmt_ivtv magic field · 56 unmodified lines
523512 valid and that 36 lines of sliced VBI data are present.
524513
525514
526−
527515 .. c:type:: v4l2_mpeg_vbi_itv0
528516
529517 .. c:type:: v4l2_mpeg_vbi_ITV0
@@ -548,7 +536,6 @@ structs v4l2_mpeg_vbi_itv0 and v4l2_mpeg_vbi_ITV0 · 18 unmodified lines
548536 value:
549537
550538
551−
552539 ::
553540
554541 linemask[0] b0: line 6 first field
@@ -574,7 +561,6 @@ structs v4l2_mpeg_vbi_itv0 and v4l2_mpeg_vbi_ITV0 · 19 unmodified lines
574561 applications.
575562
576563
577−
578564 .. _v4l2-mpeg-vbi-itv0-1:
579565
580566 struct v4l2_mpeg_vbi_ITV0
@@ -596,7 +582,6 @@ struct v4l2_mpeg_vbi_ITV0 · 15 unmodified lines
596582 lines 6 through 23 of the second field.
597583
598584
599−
600585 .. c:type:: v4l2_mpeg_vbi_itv0_line
601586
602587 struct v4l2_mpeg_vbi_itv0_line
@@ -619,7 +604,6 @@ struct v4l2_mpeg_vbi_itv0_line · 16 unmodified lines
619604 - The sliced VBI data for the line.
620605
621606
622−
623607 .. _ITV0-Line-Identifier-Constants:
624608
625609 Line Identifiers for struct v4l2_mpeg_vbi_itv0_line id field
@@ -653,7 +637,6 @@ Line Identifiers for struct v4l2_mpeg_vbi_itv0_line id field · 27 unmodified lines
653637 description of the line payload.
654638
655639
656−
657640 .. [#f1]
658641 According to :ref:`ETS 300 706 <ets300706>` lines 6-22 of the first
659642 field and lines 5-22 of the second field may carry Teletext data.
Documentation/userspace-api/media/v4l/diff-v4l.rst+6−33
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _diff-v4l:
45
@@ -13,7 +14,6 @@ the much improved V4L2 API replaces the V4L API. The support for the old · 8 unmodified lines
1314 V4L calls were removed from Kernel, but the library :ref:`libv4l`
1415 supports the conversion of a V4L API system call into a V4L2 one.
1516
16−
1717 Opening and Closing Devices
1818 ===========================
1919
@@ -32,7 +32,6 @@ recommend that V4L2 drivers by default register devices with the same · 12 unmodified lines
3232 numbers, but the system administrator can assign arbitrary minor numbers
3333 using driver module options. The major device number remains 81.
3434
35−
3635 .. _v4l-dev:
3736
3837 .. flat-table:: V4L Device Types, Names and Numbers
@@ -53,14 +52,12 @@ using driver module options. The major device number remains 81. · 14 unmodified lines
5352 - ``/dev/vbi``, ``/dev/vbi0`` to ``/dev/vbi31``
5453 - 224-255
5554
56−
5755 V4L prohibits (or used to prohibit) multiple opens of a device file.
5856 V4L2 drivers *may* support multiple opens, see :ref:`open` for details
5957 and consequences.
6058
6159 V4L drivers respond to V4L2 ioctls with an ``EINVAL`` error code.
6260
63−
6461 Querying Capabilities
6562 =====================
6663
@@ -151,7 +148,6 @@ introduction. · 84 unmodified lines
151148 - ``-``
152149 - See above.
153150
154−
155151 The ``audios`` field was replaced by ``capabilities`` flag
156152 ``V4L2_CAP_AUDIO``, indicating *if* the device has any audio inputs or
157153 outputs. To determine their number applications can enumerate audio
@@ -164,7 +160,6 @@ were removed. Calling the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` or · 6 unmodified lines
164160 dimensions returns the closest size possible, taking into account the
165161 current video standard, cropping and scaling limitations.
166162
167−
168163 Video Sources
169164 =============
170165
@@ -180,7 +175,6 @@ The ``channel`` field counting inputs was renamed to ``index``, the · 9 unmodified lines
180175 video input types were renamed as follows:
181176
182177
183−
184178 .. flat-table::
185179 :header-rows: 1
186180 :stub-columns: 0
@@ -192,7 +186,6 @@ video input types were renamed as follows: · 5 unmodified lines
192186 * - ``VIDEO_TYPE_CAMERA``
193187 - ``V4L2_INPUT_TYPE_CAMERA``
194188
195−
196189 Unlike the ``tuners`` field expressing the number of tuners of this
197190 input, V4L2 assumes each video input is connected to at most one tuner.
198191 However a tuner can have more than one input, i. e. RF connectors, and a
@@ -216,7 +209,6 @@ addition together with the ``norm`` field and has been removed in the · 17 unmodified lines
216209 meantime. V4L2 has a similar, albeit more comprehensive approach to
217210 video standards, see :ref:`standard` for more information.
218211
219−
220212 Tuning
221213 ======
222214
@@ -260,7 +252,6 @@ frequency where renamed to · 37 unmodified lines
260252 to a struct :c:type:`v4l2_frequency` instead of an
261253 unsigned long integer.
262254
263−
264255 .. _v4l-image-properties:
265256
266257 Image Properties
@@ -274,7 +265,6 @@ replaced by V4L2 controls accessible with the · 7 unmodified lines
274265 :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` ioctls:
275266
276267
277−
278268 .. flat-table::
279269 :header-rows: 1
280270 :stub-columns: 0
@@ -292,7 +282,6 @@ replaced by V4L2 controls accessible with the · 11 unmodified lines
292282 * - ``whiteness``
293283 - ``V4L2_CID_WHITENESS``
294284
295−
296285 The V4L picture controls are assumed to range from 0 to 65535 with no
297286 particular reset value. The V4L2 API permits arbitrary limits and
298287 defaults which can be queried with the
@@ -306,7 +295,6 @@ of the image depth and others need not know. The ``palette`` field moved · 7 unmodified lines
306295 into the struct :c:type:`v4l2_pix_format`:
307296
308297
309−
310298 .. flat-table::
311299 :header-rows: 1
312300 :stub-columns: 0
@@ -346,11 +334,9 @@ into the struct :c:type:`v4l2_pix_format`: · 33 unmodified lines
346334 * - ``VIDEO_PALETTE_YUV410P``
347335 - :ref:`V4L2_PIX_FMT_YVU410 <V4L2-PIX-FMT-YVU410>`
348336
349−
350337 V4L2 image formats are defined in :ref:`pixfmt`. The image format can
351338 be selected with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl.
352339
353−
354340 Audio
355341 =====
356342
@@ -384,7 +370,6 @@ The following fields where replaced by V4L2 controls accessible with the · 27 unmodified lines
384370 :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` ioctls:
385371
386372
387−
388373 .. flat-table::
389374 :header-rows: 1
390375 :stub-columns: 0
@@ -400,7 +385,6 @@ The following fields where replaced by V4L2 controls accessible with the · 9 unmodified lines
400385 * - ``balance``
401386 - ``V4L2_CID_AUDIO_BALANCE``
402387
403−
404388 To determine which of these controls are supported by a driver V4L
405389 provides the ``flags`` ``VIDEO_AUDIO_VOLUME``, ``VIDEO_AUDIO_BASS``,
406390 ``VIDEO_AUDIO_TREBLE`` and ``VIDEO_AUDIO_BALANCE``. In the V4L2 API the
@@ -416,7 +400,6 @@ V4L2 API permits arbitrary limits and defaults which can be queried with · 9 unmodified lines
416400 the :ref:`VIDIOC_QUERYCTRL` ioctl. For general
417401 information about controls see :ref:`control`.
418402
419−
420403 Frame Buffer Overlay
421404 ====================
422405
@@ -463,7 +446,6 @@ size is determined by ``w.width`` and ``w.height``. · 40 unmodified lines
463446 The ``VIDIOCCAPTURE`` ioctl to enable or disable overlay was renamed to
464447 :ref:`VIDIOC_OVERLAY`.
465448
466−
467449 Cropping
468450 ========
469451
@@ -490,21 +472,19 @@ struct :c:type:`v4l2_window`. These structures are used to · 20 unmodified lines
490472 select a capture or overlay format with the
491473 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl.
492474
493−
494475 Reading Images, Memory Mapping
495476 ==============================
496477
497−
498478 Capturing using the read method
499479 -------------------------------
500480
501481 There is no essential difference between reading images from a V4L or
502−V4L2 device using the :ref:`read() <func-read>` function, however V4L2
482+V4L2 device using the :c:func:`read()` function, however V4L2
503483 drivers are not required to support this I/O method. Applications can
504484 determine if the function is available with the
505485 :ref:`VIDIOC_QUERYCAP` ioctl. All V4L2 devices
506486 exchanging data with applications must support the
507−:ref:`select() <func-select>` and :ref:`poll() <func-poll>`
487+:c:func:`select()` and :c:func:`poll()`
508488 functions.
509489
510490 To select an image format and size, V4L provides the ``VIDIOCSPICT`` and
@@ -517,7 +497,6 @@ negotiation ioctls :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` and · 6 unmodified lines
517497
518498 For more information about the V4L2 read interface see :ref:`rw`.
519499
520−
521500 Capturing using memory mapping
522501 ------------------------------
523502
@@ -528,7 +507,6 @@ read method. V4L2 supports memory mapping as well, with a few · 4 unmodified lines
528507 differences.
529508
530509
531−
532510 .. flat-table::
533511 :header-rows: 1
534512 :stub-columns: 0
@@ -550,7 +528,7 @@ differences. · 15 unmodified lines
550528 ``VIDIOCGMBUF`` ioctl is available to query the number of buffers,
551529 the offset of each buffer from the start of the virtual file, and
552530 the overall amount of memory used, which can be used as arguments
553− for the :ref:`mmap() <func-mmap>` function.
531+ for the :c:func:`mmap()` function.
554532 - Buffers are individually mapped. The offset and size of each
555533 buffer can be determined with the
556534 :ref:`VIDIOC_QUERYBUF` ioctl.
@@ -568,7 +546,7 @@ differences. · 11 unmodified lines
568546 the incoming queue. Filled buffers are dequeued from the outgoing
569547 queue with the :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl. To wait
570548 until filled buffers become available this function,
571− :ref:`select() <func-select>` or :ref:`poll() <func-poll>` can
549+ :c:func:`select()` or :c:func:`poll()` can
572550 be used. The :ref:`VIDIOC_STREAMON` ioctl
573551 must be called once after enqueuing one or more buffers to start
574552 capturing. Its counterpart
@@ -577,11 +555,9 @@ differences. · 2 unmodified lines
577555 signal status, if known, with the
578556 :ref:`VIDIOC_ENUMINPUT` ioctl.
579557
580−
581558 For a more in-depth discussion of memory mapping and examples, see
582559 :ref:`mmap`.
583560
584−
585561 Reading Raw VBI Data
586562 ====================
587563
@@ -592,7 +568,6 @@ the V4L VBI interface. Reading from the device yields a raw VBI image · 4 unmodified lines
592568 with the following parameters:
593569
594570
595−
596571 .. flat-table::
597572 :header-rows: 1
598573 :stub-columns: 0
@@ -616,7 +591,6 @@ with the following parameters: · 17 unmodified lines
616591 * - flags
617592 - 0
618593
619−
620594 Undocumented in the V4L specification, in Linux 2.3 the
621595 ``VIDIOCGVBIFMT`` and ``VIDIOCSVBIFMT`` ioctls using struct
622596 ``vbi_format`` were added to determine the VBI image
@@ -630,11 +604,10 @@ remaining fields are probably equivalent to struct · 7 unmodified lines
630604
631605 Apparently only the Zoran (ZR 36120) driver implements these ioctls. The
632606 semantics differ from those specified for V4L2 in two ways. The
633−parameters are reset on :ref:`open() <func-open>` and
607+parameters are reset on :c:func:`open()` and
634608 ``VIDIOCSVBIFMT`` always returns an ``EINVAL`` error code if the parameters
635609 are invalid.
636610
637−
638611 Miscellaneous
639612 =============
640613
Documentation/userspace-api/media/v4l/dmabuf.rst+4−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _dmabuf:
45
@@ -36,7 +37,6 @@ are passed in struct :c:type:`v4l2_buffer` (or in struct · 31 unmodified lines
3637 driver must be switched into DMABUF I/O mode by calling the
3738 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>` with the desired buffer type.
3839
39−
4040 Example: Initiating streaming I/O with DMABUF file descriptors
4141 ==============================================================
4242
@@ -135,10 +135,10 @@ buffers it must wait until an empty buffer can be dequeued and reused. · 92 unmodified lines
135135 Two methods exist to suspend execution of the application until one or
136136 more buffers can be dequeued. By default :ref:`VIDIOC_DQBUF
137137 <VIDIOC_QBUF>` blocks when no buffer is in the outgoing queue. When the
138−``O_NONBLOCK`` flag was given to the :ref:`open() <func-open>` function,
138+``O_NONBLOCK`` flag was given to the :c:func:`open()` function,
139139 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` returns immediately with an ``EAGAIN``
140140 error code when no buffer is available. The
141−:ref:`select() <func-select>` and :ref:`poll() <func-poll>`
141+:c:func:`select()` and :c:func:`poll()`
142142 functions are always available.
143143
144144 To start and stop capturing or displaying applications call the
@@ -158,5 +158,5 @@ Drivers implementing DMABUF importing I/O must support the · 13 unmodified lines
158158 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>`, :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`,
159159 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`, :ref:`VIDIOC_STREAMON
160160 <VIDIOC_STREAMON>` and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls,
161−and the :ref:`select() <func-select>` and :ref:`poll() <func-poll>`
161+and the :c:func:`select()` and :c:func:`poll()`
162162 functions.
Documentation/userspace-api/media/v4l/format.rst+3−4
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _format:
45
@@ -6,7 +7,6 @@ · 1 unmodified line
67 Data Formats
78 ************
89
9−
1010 Data Format Negotiation
1111 =======================
1212
@@ -53,8 +53,8 @@ image size. · 40 unmodified lines
5353 When applications omit the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl its locking side
5454 effects are implied by the next step, the selection of an I/O method
5555 with the :ref:`VIDIOC_REQBUFS` ioctl or implicit
56−with the first :ref:`read() <func-read>` or
57−:ref:`write() <func-write>` call.
56+with the first :c:func:`read()` or
57+:c:func:`write()` call.
5858
5959 Generally only one logical stream can be assigned to a file descriptor,
6060 the exception being drivers permitting simultaneous video capturing and
@@ -67,7 +67,6 @@ All drivers exchanging data with applications must support the · 6 unmodified lines
6767 :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` and :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. Implementation of the
6868 :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` is highly recommended but optional.
6969
70−
7170 Image Format Enumeration
7271 ========================
7372
Documentation/userspace-api/media/v4l/func-close.rst+2−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-close:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-close - Close a V4L2 device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,16 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: int close( int fd )
24− :name: v4l2-close
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
31−
28+ File descriptor returned by :c:func:`open()`.
3229
3330 Description
3431 ===========
@@ -38,7 +35,6 @@ associated with the file descriptor are freed. However data format · 3 unmodified lines
3835 parameters, current input or output, control values or other properties
3936 remain unchanged.
4037
41−
4238 Return Value
4339 ============
4440
Documentation/userspace-api/media/v4l/func-ioctl.rst+3−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-ioctl:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-ioctl - Program a V4L2 device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,15 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/ioctl.h>
2121
22−
23−.. c:function:: int ioctl( int fd, int request, void *argp )
24− :name: v4l2-ioctl
22+``int ioctl(int fd, int request, void *argp)``
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
28+ File descriptor returned by :c:func:`open()`.
3129
3230 ``request``
3331 V4L2 ioctl request code as defined in the ``videodev2.h`` header
@@ -36,7 +34,6 @@ Arguments · 2 unmodified lines
3634 ``argp``
3735 Pointer to a function parameter, usually a structure.
3836
39−
4037 Description
4138 ===========
4239
@@ -50,7 +47,6 @@ include the version in the kernel sources on the system they compile on. · 7 unmodified lines
5047 All V4L2 ioctl requests, their respective function and parameters are
5148 specified in :ref:`user-func`.
5249
53−
5450 Return Value
5551 ============
5652
Documentation/userspace-api/media/v4l/func-mmap.rst+7−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-mmap:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-mmap - Map device memory into application address space
1314
14−
1515 Synopsis
1616 ========
1717
@@ -20,9 +20,7 @@ Synopsis · 2 unmodified lines
2020 #include <unistd.h>
2121 #include <sys/mman.h>
2222
23−
2423 .. c:function:: void *mmap( void *start, size_t length, int prot, int flags, int fd, off_t offset )
25− :name: v4l2-mmap
2624
2725 Arguments
2826 =========
@@ -54,7 +52,7 @@ Arguments · 25 unmodified lines
5452 #. The Linux ``videobuf`` kernel module, which is used by some
5553 drivers supports only ``PROT_READ`` | ``PROT_WRITE``. When the
5654 driver does not support the desired protection, the
57− :ref:`mmap() <func-mmap>` function fails.
55+ :c:func:`mmap()` function fails.
5856
5957 #. Device memory accesses (e. g. the memory on a graphics card
6058 with video capturing hardware) may incur a performance penalty
@@ -70,7 +68,7 @@ Arguments · 9 unmodified lines
7068
7169 ``MAP_FIXED`` requests that the driver selects no other address than
7270 the one specified. If the specified address cannot be used,
73− :ref:`mmap() <func-mmap>` will fail. If ``MAP_FIXED`` is specified,
71+ :c:func:`mmap()` will fail. If ``MAP_FIXED`` is specified,
7472 ``start`` must be a multiple of the pagesize. Use of this option is
7573 discouraged.
7674
@@ -87,7 +85,7 @@ Arguments · 10 unmodified lines
8785 flags.
8886
8987 ``fd``
90− File descriptor returned by :ref:`open() <func-open>`.
88+ File descriptor returned by :c:func:`open()`.
9189
9290 ``offset``
9391 Offset of the buffer in device memory. This must be the same value
@@ -97,11 +95,10 @@ Arguments · 3 unmodified lines
9795 in the struct :c:type:`v4l2_plane` ``m`` union
9896 ``mem_offset`` field for the multi-planar API.
9997
100−
10198 Description
10299 ===========
103100
104−The :ref:`mmap() <func-mmap>` function asks to map ``length`` bytes starting at
101+The :c:func:`mmap()` function asks to map ``length`` bytes starting at
105102 ``offset`` in the memory of the device specified by ``fd`` into the
106103 application address space, preferably at address ``start``. This latter
107104 address is a hint only, and is usually specified as 0.
@@ -111,13 +108,12 @@ Suitable length and offset parameters are queried with the · 3 unmodified lines
111108 allocated with the :ref:`VIDIOC_REQBUFS` ioctl
112109 before they can be queried.
113110
114−To unmap buffers the :ref:`munmap() <func-munmap>` function is used.
115−
111+To unmap buffers the :c:func:`munmap()` function is used.
116112
117113 Return Value
118114 ============
119115
120−On success :ref:`mmap() <func-mmap>` returns a pointer to the mapped buffer. On
116+On success :c:func:`mmap()` returns a pointer to the mapped buffer. On
121117 error ``MAP_FAILED`` (-1) is returned, and the ``errno`` variable is set
122118 appropriately. Possible error codes are:
123119
Documentation/userspace-api/media/v4l/func-munmap.rst+5−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-munmap:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-munmap - Unmap device memory
1314
14−
1515 Synopsis
1616 ========
1717
@@ -20,37 +20,33 @@ Synopsis · 2 unmodified lines
2020 #include <unistd.h>
2121 #include <sys/mman.h>
2222
23−
2423 .. c:function:: int munmap( void *start, size_t length )
25− :name: v4l2-munmap
2624
2725 Arguments
2826 =========
2927
3028 ``start``
3129 Address of the mapped buffer as returned by the
32− :ref:`mmap() <func-mmap>` function.
30+ :c:func:`mmap()` function.
3331
3432 ``length``
3533 Length of the mapped buffer. This must be the same value as given to
36− :ref:`mmap() <func-mmap>` and returned by the driver in the struct
34+ :c:func:`mmap()` and returned by the driver in the struct
3735 :c:type:`v4l2_buffer` ``length`` field for the
3836 single-planar API and in the struct
3937 :c:type:`v4l2_plane` ``length`` field for the
4038 multi-planar API.
4139
42−
4340 Description
4441 ===========
4542
46−Unmaps a previously with the :ref:`mmap() <func-mmap>` function mapped
43+Unmaps a previously with the :c:func:`mmap()` function mapped
4744 buffer and frees it, if possible.
4845
49−
5046 Return Value
5147 ============
5248
53−On success :ref:`munmap() <func-munmap>` returns 0, on failure -1 and the
49+On success :c:func:`munmap()` returns 0, on failure -1 and the
5450 ``errno`` variable is set appropriately:
5551
5652 EINVAL
Documentation/userspace-api/media/v4l/func-open.rst+5−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-open:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-open - Open a V4L2 device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,9 +19,7 @@ Synopsis · 1 unmodified line
1919
2020 #include <fcntl.h>
2121
22−
2322 .. c:function:: int open( const char *device_name, int flags )
24− :name: v4l2-open
2523
2624 Arguments
2725 =========
@@ -34,7 +32,7 @@ Arguments · 6 unmodified lines
3432 technicality, input devices still support only reading and output
3533 devices only writing.
3634
37− When the ``O_NONBLOCK`` flag is given, the :ref:`read() <func-read>`
35+ When the ``O_NONBLOCK`` flag is given, the :c:func:`read()`
3836 function and the :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl will
3937 return the ``EAGAIN`` error code when no data is available or no
4038 buffer is in the driver outgoing queue, otherwise these functions
@@ -43,22 +41,20 @@ Arguments · 2 unmodified lines
4341
4442 Other flags have no effect.
4543
46−
4744 Description
4845 ===========
4946
50−To open a V4L2 device applications call :ref:`open() <func-open>` with the
47+To open a V4L2 device applications call :c:func:`open()` with the
5148 desired device name. This function has no side effects; all data format
5249 parameters, current input or output, control values or other properties
53−remain unchanged. At the first :ref:`open() <func-open>` call after loading the
50+remain unchanged. At the first :c:func:`open()` call after loading the
5451 driver they will be reset to default values, drivers are never in an
5552 undefined state.
5653
57−
5854 Return Value
5955 ============
6056
61−On success :ref:`open() <func-open>` returns the new file descriptor. On error
57+On success :c:func:`open()` returns the new file descriptor. On error
6258 -1 is returned, and the ``errno`` variable is set appropriately.
6359 Possible error codes are:
6460
Documentation/userspace-api/media/v4l/func-poll.rst+18−22
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-poll:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-poll - Wait for some event on a file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,19 +19,16 @@ Synopsis · 1 unmodified line
1919
2020 #include <sys/poll.h>
2121
22−
2322 .. c:function:: int poll( struct pollfd *ufds, unsigned int nfds, int timeout )
24− :name: v4l2-poll
2523
2624 Arguments
2725 =========
2826
2927
30−
3128 Description
3229 ===========
3330
34−With the :ref:`poll() <func-poll>` function applications can suspend execution
31+With the :c:func:`poll()` function applications can suspend execution
3532 until the driver has captured data or is ready to accept data for
3633 output.
3734
@@ -44,57 +41,56 @@ display. When buffers are already in the outgoing queue of the driver · 6 unmodified lines
4441 (capture) or the incoming queue isn't full (display) the function
4542 returns immediately.
4643
47−On success :ref:`poll() <func-poll>` returns the number of file descriptors
44+On success :c:func:`poll()` returns the number of file descriptors
4845 that have been selected (that is, file descriptors for which the
49−``revents`` field of the respective :c:func:`struct pollfd` structure
46+``revents`` field of the respective ``struct pollfd`` structure
5047 is non-zero). Capture devices set the ``POLLIN`` and ``POLLRDNORM``
5148 flags in the ``revents`` field, output devices the ``POLLOUT`` and
5249 ``POLLWRNORM`` flags. When the function timed out it returns a value of
5350 zero, on failure it returns -1 and the ``errno`` variable is set
5451 appropriately. When the application did not call
55−:ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` the :ref:`poll() <func-poll>`
52+:ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` the :c:func:`poll()`
5653 function succeeds, but sets the ``POLLERR`` flag in the ``revents``
5754 field. When the application has called
5855 :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` for a capture device but
5956 hasn't yet called :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`, the
60−:ref:`poll() <func-poll>` function succeeds and sets the ``POLLERR`` flag in
57+:c:func:`poll()` function succeeds and sets the ``POLLERR`` flag in
6158 the ``revents`` field. For output devices this same situation will cause
62−:ref:`poll() <func-poll>` to succeed as well, but it sets the ``POLLOUT`` and
59+:c:func:`poll()` to succeed as well, but it sets the ``POLLOUT`` and
6360 ``POLLWRNORM`` flags in the ``revents`` field.
6461
6562 If an event occurred (see :ref:`VIDIOC_DQEVENT`)
6663 then ``POLLPRI`` will be set in the ``revents`` field and
67−:ref:`poll() <func-poll>` will return.
64+:c:func:`poll()` will return.
6865
69−When use of the :ref:`read() <func-read>` function has been negotiated and the
70−driver does not capture yet, the :ref:`poll() <func-poll>` function starts
66+When use of the :c:func:`read()` function has been negotiated and the
67+driver does not capture yet, the :c:func:`poll()` function starts
7168 capturing. When that fails it returns a ``POLLERR`` as above. Otherwise
7269 it waits until data has been captured and can be read. When the driver
7370 captures continuously (as opposed to, for example, still images) the
7471 function may return immediately.
7572
76−When use of the :ref:`write() <func-write>` function has been negotiated and the
77−driver does not stream yet, the :ref:`poll() <func-poll>` function starts
73+When use of the :c:func:`write()` function has been negotiated and the
74+driver does not stream yet, the :c:func:`poll()` function starts
7875 streaming. When that fails it returns a ``POLLERR`` as above. Otherwise
7976 it waits until the driver is ready for a non-blocking
80−:ref:`write() <func-write>` call.
77+:c:func:`write()` call.
8178
8279 If the caller is only interested in events (just ``POLLPRI`` is set in
83−the ``events`` field), then :ref:`poll() <func-poll>` will *not* start
80+the ``events`` field), then :c:func:`poll()` will *not* start
8481 streaming if the driver does not stream yet. This makes it possible to
8582 just poll for events and not for buffers.
8683
87−All drivers implementing the :ref:`read() <func-read>` or :ref:`write() <func-write>`
88−function or streaming I/O must also support the :ref:`poll() <func-poll>`
84+All drivers implementing the :c:func:`read()` or :c:func:`write()`
85+function or streaming I/O must also support the :c:func:`poll()`
8986 function.
9087
91−For more details see the :ref:`poll() <func-poll>` manual page.
92−
88+For more details see the :c:func:`poll()` manual page.
9389
9490 Return Value
9591 ============
9692
97−On success, :ref:`poll() <func-poll>` returns the number structures which have
93+On success, :c:func:`poll()` returns the number structures which have
9894 non-zero ``revents`` fields, or zero if the call timed out. On error -1
9995 is returned, and the ``errno`` variable is set appropriately:
10096
Documentation/userspace-api/media/v4l/func-read.rst+18−21
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-read:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-read - Read from a V4L2 device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,15 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: ssize_t read( int fd, void *buf, size_t count )
24− :name: v4l2-read
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
28+ File descriptor returned by :c:func:`open()`.
3129
3230 ``buf``
3331 Buffer to be filled
@@ -38,48 +36,48 @@ Arguments · 4 unmodified lines
3836 Description
3937 ===========
4038
41−:ref:`read() <func-read>` attempts to read up to ``count`` bytes from file
39+:c:func:`read()` attempts to read up to ``count`` bytes from file
4240 descriptor ``fd`` into the buffer starting at ``buf``. The layout of the
4341 data in the buffer is discussed in the respective device interface
44−section, see ##. If ``count`` is zero, :ref:`read() <func-read>` returns zero
42+section, see ##. If ``count`` is zero, :c:func:`read()` returns zero
4543 and has no other results. If ``count`` is greater than ``SSIZE_MAX``,
4644 the result is unspecified. Regardless of the ``count`` value each
47−:ref:`read() <func-read>` call will provide at most one frame (two fields)
45+:c:func:`read()` call will provide at most one frame (two fields)
4846 worth of data.
4947
50−By default :ref:`read() <func-read>` blocks until data becomes available. When
51−the ``O_NONBLOCK`` flag was given to the :ref:`open() <func-open>`
48+By default :c:func:`read()` blocks until data becomes available. When
49+the ``O_NONBLOCK`` flag was given to the :c:func:`open()`
5250 function it returns immediately with an ``EAGAIN`` error code when no data
53−is available. The :ref:`select() <func-select>` or
54−:ref:`poll() <func-poll>` functions can always be used to suspend
51+is available. The :c:func:`select()` or
52+:c:func:`poll()` functions can always be used to suspend
5553 execution until data becomes available. All drivers supporting the
56−:ref:`read() <func-read>` function must also support :ref:`select() <func-select>` and
57−:ref:`poll() <func-poll>`.
54+:c:func:`read()` function must also support :c:func:`select()` and
55+:c:func:`poll()`.
5856
5957 Drivers can implement read functionality in different ways, using a
6058 single or multiple buffers and discarding the oldest or newest frames
6159 once the internal buffers are filled.
6260
63−:ref:`read() <func-read>` never returns a "snapshot" of a buffer being filled.
61+:c:func:`read()` never returns a "snapshot" of a buffer being filled.
6462 Using a single buffer the driver will stop capturing when the
6563 application starts reading the buffer until the read is finished. Thus
6664 only the period of the vertical blanking interval is available for
6765 reading, or the capture rate must fall below the nominal frame rate of
6866 the video standard.
6967
70−The behavior of :ref:`read() <func-read>` when called during the active picture
68+The behavior of :c:func:`read()` when called during the active picture
7169 period or the vertical blanking separating the top and bottom field
7270 depends on the discarding policy. A driver discarding the oldest frames
7371 keeps capturing into an internal buffer, continuously overwriting the
7472 previously, not read frame, and returns the frame being received at the
75−time of the :ref:`read() <func-read>` call as soon as it is complete.
73+time of the :c:func:`read()` call as soon as it is complete.
7674
7775 A driver discarding the newest frames stops capturing until the next
78−:ref:`read() <func-read>` call. The frame being received at :ref:`read() <func-read>`
76+:c:func:`read()` call. The frame being received at :c:func:`read()`
7977 time is discarded, returning the following frame instead. Again this
8078 implies a reduction of the capture rate to one half or less of the
8179 nominal frame rate. An example of this model is the video read mode of
82−the bttv driver, initiating a DMA to user memory when :ref:`read() <func-read>`
80+the bttv driver, initiating a DMA to user memory when :c:func:`read()`
8381 is called and returning when the DMA finished.
8482
8583 In the multiple buffer model drivers maintain a ring of internal
@@ -94,14 +92,13 @@ the driver with the :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and · 8 unmodified lines
9492 however. The discarding policy is not reported and cannot be changed.
9593 For minimum requirements see :ref:`devices`.
9694
97−
9895 Return Value
9996 ============
10097
10198 On success, the number of bytes read is returned. It is not an error if
10299 this number is smaller than the number of bytes requested, or the amount
103100 of data required for one frame. This may happen for example because
104−:ref:`read() <func-read>` was interrupted by a signal. On error, -1 is
101+:c:func:`read()` was interrupted by a signal. On error, -1 is
105102 returned, and the ``errno`` variable is set appropriately. In this case
106103 the next read will start at the beginning of a new frame. Possible error
107104 codes are:
@@ -129,5 +126,5 @@ EIO · 21 unmodified lines
129126 communicate with a remote device (USB camera etc.).
130127
131128 EINVAL
132− The :ref:`read() <func-read>` function is not supported by this driver, not
129+ The :c:func:`read()` function is not supported by this driver, not
133130 on this device, or generally not on this type of device.
Documentation/userspace-api/media/v4l/func-select.rst+19−23
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-select:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-select - Synchronous I/O multiplexing
1314
14−
1515 Synopsis
1616 ========
1717
@@ -21,9 +21,7 @@ Synopsis · 3 unmodified lines
2121 #include <sys/types.h>
2222 #include <unistd.h>
2323
24−
2524 .. c:function:: int select( int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout )
26− :name: v4l2-select
2725
2826 Arguments
2927 =========
@@ -43,11 +41,10 @@ Arguments · 13 unmodified lines
4341 ``timeout``
4442 Maximum time to wait.
4543
46−
4744 Description
4845 ===========
4946
50−With the :ref:`select() <func-select>` function applications can suspend
47+With the :c:func:`select()` function applications can suspend
5148 execution until the driver has captured data or is ready to accept data
5249 for output.
5350
@@ -56,40 +53,39 @@ buffer has been filled or displayed and can be dequeued with the · 2 unmodified lines
5653 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl. When buffers are already in
5754 the outgoing queue of the driver the function returns immediately.
5855
59−On success :ref:`select() <func-select>` returns the total number of bits set in
60−:c:func:`struct fd_set`. When the function timed out it returns
56+On success :c:func:`select()` returns the total number of bits set in
57+``fd_set``. When the function timed out it returns
6158 a value of zero. On failure it returns -1 and the ``errno`` variable is
6259 set appropriately. When the application did not call
6360 :ref:`VIDIOC_QBUF` or
64−:ref:`VIDIOC_STREAMON` yet the :ref:`select() <func-select>`
61+:ref:`VIDIOC_STREAMON` yet the :c:func:`select()`
6562 function succeeds, setting the bit of the file descriptor in ``readfds``
6663 or ``writefds``, but subsequent :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`
6764 calls will fail. [#f1]_
6865
69−When use of the :ref:`read() <func-read>` function has been negotiated and the
70−driver does not capture yet, the :ref:`select() <func-select>` function starts
71−capturing. When that fails, :ref:`select() <func-select>` returns successful and
72−a subsequent :ref:`read() <func-read>` call, which also attempts to start
66+When use of the :c:func:`read()` function has been negotiated and the
67+driver does not capture yet, the :c:func:`select()` function starts
68+capturing. When that fails, :c:func:`select()` returns successful and
69+a subsequent :c:func:`read()` call, which also attempts to start
7370 capturing, will return an appropriate error code. When the driver
7471 captures continuously (as opposed to, for example, still images) and
75−data is already available the :ref:`select() <func-select>` function returns
72+data is already available the :c:func:`select()` function returns
7673 immediately.
7774
78−When use of the :ref:`write() <func-write>` function has been negotiated the
79−:ref:`select() <func-select>` function just waits until the driver is ready for a
80−non-blocking :ref:`write() <func-write>` call.
75+When use of the :c:func:`write()` function has been negotiated the
76+:c:func:`select()` function just waits until the driver is ready for a
77+non-blocking :c:func:`write()` call.
8178
82−All drivers implementing the :ref:`read() <func-read>` or :ref:`write() <func-write>`
83−function or streaming I/O must also support the :ref:`select() <func-select>`
79+All drivers implementing the :c:func:`read()` or :c:func:`write()`
80+function or streaming I/O must also support the :c:func:`select()`
8481 function.
8582
86−For more details see the :ref:`select() <func-select>` manual page.
87−
83+For more details see the :c:func:`select()` manual page.
8884
8985 Return Value
9086 ============
9187
92−On success, :ref:`select() <func-select>` returns the number of descriptors
88+On success, :c:func:`select()` returns the number of descriptors
9389 contained in the three returned descriptor sets, which will be zero if
9490 the timeout expired. On error -1 is returned, and the ``errno`` variable
9591 is set appropriately; the sets and ``timeout`` are undefined. Possible
@@ -115,6 +111,6 @@ EINVAL · 19 unmodified lines
115111 ``FD_SETSIZE``.
116112
117113 .. [#f1]
118− The Linux kernel implements :ref:`select() <func-select>` like the
119− :ref:`poll() <func-poll>` function, but :ref:`select() <func-select>` cannot
114+ The Linux kernel implements :c:func:`select()` like the
115+ :c:func:`poll()` function, but :c:func:`select()` cannot
120116 return a ``POLLERR``.
Documentation/userspace-api/media/v4l/func-write.rst+5−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _func-write:
45
@@ -11,7 +12,6 @@ Name · 6 unmodified lines
1112
1213 v4l2-write - Write to a V4L2 device
1314
14−
1515 Synopsis
1616 ========
1717
@@ -19,15 +19,13 @@ Synopsis · 1 unmodified line
1919
2020 #include <unistd.h>
2121
22−
2322 .. c:function:: ssize_t write( int fd, void *buf, size_t count )
24− :name: v4l2-write
2523
2624 Arguments
2725 =========
2826
2927 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
28+ File descriptor returned by :c:func:`open()`.
3129
3230 ``buf``
3331 Buffer with data to be written
@@ -38,10 +36,10 @@ Arguments · 4 unmodified lines
3836 Description
3937 ===========
4038
41−:ref:`write() <func-write>` writes up to ``count`` bytes to the device
39+:c:func:`write()` writes up to ``count`` bytes to the device
4240 referenced by the file descriptor ``fd`` from the buffer starting at
4341 ``buf``. When the hardware outputs are not active yet, this function
44−enables them. When ``count`` is zero, :ref:`write() <func-write>` returns 0
42+enables them. When ``count`` is zero, :c:func:`write()` returns 0
4543 without any other effect.
4644
4745 When the application does not provide more data in time, the previous
@@ -49,7 +47,6 @@ video frame, raw VBI image, sliced VPS or WSS data is displayed again. · 1 unmodified line
4947 Sliced Teletext or Closed Caption data is not repeated, the driver
5048 inserts a blank line instead.
5149
52−
5350 Return Value
5451 ============
5552
@@ -80,5 +77,5 @@ EIO · 24 unmodified lines
8077 I/O error. This indicates some hardware problem.
8178
8279 EINVAL
83− The :ref:`write() <func-write>` function is not supported by this driver,
80+ The :c:func:`write()` function is not supported by this driver,
8481 not on this device, or generally not on this type of device.
Documentation/userspace-api/media/v4l/hist-v4l2.rst+4−66
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _hist-v4l2:
45
@@ -14,18 +15,17 @@ not just an extension but a replacement for the V4L API. However it took · 9 unmodified lines
1415 another four years and two stable kernel releases until the new API was
1516 finally accepted for inclusion into the kernel in its present form.
1617
17−
1818 Early Versions
1919 ==============
2020
2121 1998-08-20: First version.
2222
23−1998-08-27: The :ref:`select() <func-select>` function was introduced.
23+1998-08-27: The :c:func:`select()` function was introduced.
2424
2525 1998-09-10: New video standard interface.
2626
2727 1998-09-18: The ``VIDIOC_NONCAP`` ioctl was replaced by the otherwise
28−meaningless ``O_TRUNC`` :ref:`open() <func-open>` flag, and the
28+meaningless ``O_TRUNC`` :c:func:`open()` flag, and the
2929 aliases ``O_NONCAP`` and ``O_NOIO`` were defined. Applications can set
3030 this flag if they intend to access controls only, as opposed to capture
3131 applications which need exclusive access. The ``VIDEO_STD_XXX``
@@ -65,7 +65,6 @@ output devices were added. · 33 unmodified lines
6565
6666 1999-01-19: The ``VIDIOC_NEXTBUF`` ioctl was removed.
6767
68−
6968 V4L2 Version 0.16 1999-01-31
7069 ============================
7170
@@ -73,7 +72,6 @@ V4L2 Version 0.16 1999-01-31 · 1 unmodified line
7372 are gone. VIDIOC_QBUF takes a v4l2_buffer as a parameter. Added
7473 digital zoom (cropping) controls.
7574
76−
7775 V4L2 Version 0.18 1999-03-16
7876 ============================
7977
@@ -81,7 +79,6 @@ Added a v4l to V4L2 ioctl compatibility layer to videodev.c. Driver · 1 unmodified line
8179 writers, this changes how you implement your ioctl handler. See the
8280 Driver Writer's Guide. Added some more control id codes.
8381
84−
8582 V4L2 Version 0.19 1999-06-05
8683 ============================
8784
@@ -107,7 +104,6 @@ malfunction of this ioctl. · 19 unmodified lines
107104
108105 1999-06-05: Changed the value of V4L2_CID_WHITENESS.
109106
110−
111107 V4L2 Version 0.20 (1999-09-10)
112108 ==============================
113109
@@ -128,14 +124,12 @@ common Linux driver API conventions. · 14 unmodified lines
128124 VIDIOC_STREAMON, VIDIOC_STREAMOFF, VIDIOC_S_FREQ,
129125 VIDIOC_S_INPUT, VIDIOC_S_OUTPUT, VIDIOC_S_EFFECT. For example
130126
131−
132127 .. code-block:: c
133128
134129 err = ioctl (fd, VIDIOC_XXX, V4L2_XXX);
135130
136131 becomes
137132
138−
139133 .. code-block:: c
140134
141135 int a = V4L2_XXX; err = ioctl(fd, VIDIOC_XXX, &a);
@@ -202,7 +196,6 @@ common Linux driver API conventions. · 60 unmodified lines
202196 field counts captured frames, it is ignored by output devices. When a
203197 capture driver drops a frame, the sequence number of that frame is skipped.
204198
205−
206199 V4L2 Version 0.20 incremental changes
207200 =====================================
208201
@@ -290,13 +283,11 @@ A number of changes were made to the raw VBI interface. · 81 unmodified lines
290283 were added. The former is an alias for the old ``V4L2_TYPE_VBI``, the
291284 latter was missing in the ``videodev.h`` file.
292285
293−
294286 V4L2 Version 0.20 2002-07-25
295287 ============================
296288
297289 Added sliced VBI interface proposal.
298290
299−
300291 V4L2 in Linux 2.5.46, 2002-10
301292 =============================
302293
@@ -307,7 +298,7 @@ This unnamed version was finally merged into Linux 2.5.46. · 4 unmodified lines
307298 1. As specified in :ref:`related`, drivers must make related device
308299 functions available under all minor device numbers.
309300
310−2. The :ref:`open() <func-open>` function requires access mode
301+2. The :c:func:`open()` function requires access mode
311302 ``O_RDWR`` regardless of the device type. All V4L2 drivers
312303 exchanging data with applications must support the ``O_NONBLOCK``
313304 flag. The ``O_NOIO`` flag, a V4L2 symbol which aliased the
@@ -435,7 +426,6 @@ This unnamed version was finally merged into Linux 2.5.46. · 121 unmodified lines
435426 the buffer type names changed as follows.
436427
437428
438−
439429 .. flat-table::
440430 :header-rows: 1
441431 :stub-columns: 0
@@ -597,7 +587,6 @@ This unnamed version was finally merged into Linux 2.5.46. · 155 unmodified lines
597587 V4L2 documentation was inaccurate, this has been corrected in
598588 :ref:`pixfmt`.
599589
600−
601590 V4L2 2003-06-19
602591 ===============
603592
@@ -648,7 +637,6 @@ V4L2 2003-06-19 · 44 unmodified lines
648637 Kernel 2.6.39. Drivers and applications assuming a constant parameter
649638 need an update.
650639
651−
652640 V4L2 2003-11-05
653641 ===============
654642
@@ -657,7 +645,6 @@ V4L2 2003-11-05 · 2 unmodified lines
657645 refer to bytes in memory, in ascending address order.
658646
659647
660−
661648 .. flat-table::
662649 :header-rows: 1
663650 :stub-columns: 0
@@ -678,7 +665,6 @@ V4L2 2003-11-05 · 14 unmodified lines
678665 - R, G, B, X
679666 - B, G, R, X
680667
681−
682668 The ``V4L2_PIX_FMT_BGR24`` example was always correct.
683669
684670 In :ref:`v4l-image-properties` the mapping of the V4L
@@ -689,7 +675,6 @@ V4L2 2003-11-05 · 4 unmodified lines
689675 RGB pixel formats differently. These issues have yet to be addressed,
690676 for details see :ref:`pixfmt-rgb`.
691677
692−
693678 V4L2 in Linux 2.6.6, 2004-05-09
694679 ===============================
695680
@@ -698,7 +683,6 @@ V4L2 in Linux 2.6.6, 2004-05-09 · 2 unmodified lines
698683 ioctl, while the read-only version was renamed to
699684 ``VIDIOC_CROPCAP_OLD``. The old ioctl was removed on Kernel 2.6.39.
700685
701−
702686 V4L2 in Linux 2.6.8
703687 ===================
704688
@@ -709,7 +693,6 @@ V4L2 in Linux 2.6.8 · 4 unmodified lines
709693 the new ``V4L2_BUF_FLAG_INPUT`` flag. The ``flags`` field is no
710694 longer read-only.
711695
712−
713696 V4L2 spec erratum 2004-08-01
714697 ============================
715698
@@ -727,7 +710,6 @@ V4L2 spec erratum 2004-08-01 · 11 unmodified lines
727710 also missing from examples. Also on the ``VIDIOC_DQBUF`` page the ``EIO``
728711 error code was not documented.
729712
730−
731713 V4L2 in Linux 2.6.14
732714 ====================
733715
@@ -735,7 +717,6 @@ V4L2 in Linux 2.6.14 · 1 unmodified line
735717 :ref:`sliced` and replaces the interface first proposed in V4L2
736718 specification 0.8.
737719
738−
739720 V4L2 in Linux 2.6.15
740721 ====================
741722
@@ -755,7 +736,6 @@ V4L2 in Linux 2.6.15 · 13 unmodified lines
755736 ``VIDIOC_G_MPEGCOMP`` and ``VIDIOC_S_MPEGCOMP`` ioctls where removed
756737 in Linux 2.6.25.)
757738
758−
759739 V4L2 spec erratum 2005-11-27
760740 ============================
761741
@@ -765,7 +745,6 @@ cropping is supported. In the video standard selection example in · 3 unmodified lines
765745 :ref:`standard` the :ref:`VIDIOC_S_STD <VIDIOC_G_STD>` call used
766746 the wrong argument type.
767747
768−
769748 V4L2 spec erratum 2006-01-10
770749 ============================
771750
@@ -778,14 +757,12 @@ V4L2 spec erratum 2006-01-10 · 6 unmodified lines
778757 write-only as stated on its reference page. The ioctl changed in 2003
779758 as noted above.
780759
781−
782760 V4L2 spec erratum 2006-02-03
783761 ============================
784762
785763 1. In struct v4l2_captureparm and struct v4l2_outputparm the ``timeperframe``
786764 field gives the time in seconds, not microseconds.
787765
788−
789766 V4L2 spec erratum 2006-02-04
790767 ============================
791768
@@ -808,7 +785,6 @@ V4L2 in Linux 2.6.17 · 16 unmodified lines
808785 ``V4L2_TUNER_MODE_STEREO`` for this purpose is deprecated now. See
809786 the :ref:`VIDIOC_G_TUNER <VIDIOC_G_TUNER>` section for details.
810787
811−
812788 V4L2 spec erratum 2006-09-23 (Draft 0.15)
813789 =========================================
814790
@@ -837,7 +813,6 @@ V4L2 spec erratum 2006-09-23 (Draft 0.15) · 22 unmodified lines
837813 extended from 224-239 to 224-255. Accordingly device file names
838814 ``/dev/vbi0`` to ``/dev/vbi31`` are possible now.
839815
840−
841816 V4L2 in Linux 2.6.18
842817 ====================
843818
@@ -852,7 +827,6 @@ V4L2 in Linux 2.6.18 · 8 unmodified lines
852827 ``V4L2_CTRL_FLAG_INACTIVE`` and ``V4L2_CTRL_FLAG_SLIDER``
853828 (:ref:`control-flags`). See :ref:`extended-controls` for details.
854829
855−
856830 V4L2 in Linux 2.6.19
857831 ====================
858832
@@ -874,14 +848,12 @@ V4L2 in Linux 2.6.19 · 15 unmodified lines
874848 3. A new pixel format ``V4L2_PIX_FMT_RGB444`` (:ref:`pixfmt-rgb`) was
875849 added.
876850
877−
878851 V4L2 spec erratum 2006-10-12 (Draft 0.17)
879852 =========================================
880853
881854 1. ``V4L2_PIX_FMT_HM12`` (:ref:`reserved-formats`) is a YUV 4:2:0, not
882855 4:2:2 format.
883856
884−
885857 V4L2 in Linux 2.6.21
886858 ====================
887859
@@ -889,7 +861,6 @@ V4L2 in Linux 2.6.21 · 1 unmodified line
889861 General Public License version two or later, and under a 3-clause
890862 BSD-style license.
891863
892−
893864 V4L2 in Linux 2.6.22
894865 ====================
895866
@@ -914,7 +885,6 @@ V4L2 in Linux 2.6.22 · 18 unmodified lines
914885 This may **break compatibility** with existing applications. Drivers
915886 supporting the "host order RGB32" format are not known.
916887
917−
918888 V4L2 in Linux 2.6.24
919889 ====================
920890
@@ -922,7 +892,6 @@ V4L2 in Linux 2.6.24 · 1 unmodified line
922892 ``V4L2_PIX_FMT_YUV555``, ``V4L2_PIX_FMT_YUV565`` and
923893 ``V4L2_PIX_FMT_YUV32`` were added.
924894
925−
926895 V4L2 in Linux 2.6.25
927896 ====================
928897
@@ -949,7 +918,6 @@ V4L2 in Linux 2.6.25 · 20 unmodified lines
949918 interface in Linux 2.6.18, where finally removed from the
950919 ``videodev2.h`` header file.
951920
952−
953921 V4L2 in Linux 2.6.26
954922 ====================
955923
@@ -959,7 +927,6 @@ V4L2 in Linux 2.6.26 · 3 unmodified lines
959927 2. Added user controls ``V4L2_CID_CHROMA_AGC`` and
960928 ``V4L2_CID_COLOR_KILLER``.
961929
962−
963930 V4L2 in Linux 2.6.27
964931 ====================
965932
@@ -971,7 +938,6 @@ V4L2 in Linux 2.6.27 · 5 unmodified lines
971938 ``V4L2_PIX_FMT_PCA561``, ``V4L2_PIX_FMT_SGBRG8``,
972939 ``V4L2_PIX_FMT_PAC207`` and ``V4L2_PIX_FMT_PJPG`` were added.
973940
974−
975941 V4L2 in Linux 2.6.28
976942 ====================
977943
@@ -983,7 +949,6 @@ V4L2 in Linux 2.6.28 · 5 unmodified lines
983949 3. The pixel formats ``V4L2_PIX_FMT_SGRBG10`` and
984950 ``V4L2_PIX_FMT_SGRBG10DPCM8`` were added.
985951
986−
987952 V4L2 in Linux 2.6.29
988953 ====================
989954
@@ -999,7 +964,6 @@ V4L2 in Linux 2.6.29 · 9 unmodified lines
999964 ``V4L2_CID_ZOOM_RELATIVE``, ``V4L2_CID_ZOOM_CONTINUOUS`` and
1000965 ``V4L2_CID_PRIVACY``.
1001966
1002−
1003967 V4L2 in Linux 2.6.30
1004968 ====================
1005969
@@ -1007,7 +971,6 @@ V4L2 in Linux 2.6.30 · 1 unmodified line
1007971
1008972 2. New control ``V4L2_CID_COLORFX`` was added.
1009973
1010−
1011974 V4L2 in Linux 2.6.32
1012975 ====================
1013976
@@ -1034,21 +997,18 @@ V4L2 in Linux 2.6.32 · 20 unmodified lines
1034997 9. Added Remote Controller chapter, describing the default Remote
1035998 Controller mapping for media devices.
1036999
1037−
10381000 V4L2 in Linux 2.6.33
10391001 ====================
10401002
10411003 1. Added support for Digital Video timings in order to support HDTV
10421004 receivers and transmitters.
10431005
1044−
10451006 V4L2 in Linux 2.6.34
10461007 ====================
10471008
10481009 1. Added ``V4L2_CID_IRIS_ABSOLUTE`` and ``V4L2_CID_IRIS_RELATIVE``
10491010 controls to the :ref:`Camera controls class <camera-controls>`.
10501011
1051−
10521012 V4L2 in Linux 2.6.37
10531013 ====================
10541014
@@ -1057,7 +1017,6 @@ V4L2 in Linux 2.6.37 · 2 unmodified lines
10571017 applications found that used it. It was originally scheduled for
10581018 removal in 2.6.35.
10591019
1060−
10611020 V4L2 in Linux 2.6.39
10621021 ====================
10631022
@@ -1067,7 +1026,6 @@ V4L2 in Linux 2.6.39 · 3 unmodified lines
10671026 drivers and applications. See :ref:`multi-planar API <planar-apis>`
10681027 for details.
10691028
1070−
10711029 V4L2 in Linux 3.1
10721030 =================
10731031
@@ -1078,7 +1036,6 @@ V4L2 in Linux 3.1 · 4 unmodified lines
10781036
10791037 Added V4L2_CTRL_TYPE_BITMASK.
10801038
1081−
10821039 V4L2 in Linux 3.2
10831040 =================
10841041
@@ -1089,7 +1046,6 @@ V4L2 in Linux 3.2 · 4 unmodified lines
10891046 Does not affect the compatibility of current drivers and
10901047 applications. See :ref:`selection API <selection-api>` for details.
10911048
1092−
10931049 V4L2 in Linux 3.3
10941050 =================
10951051
@@ -1099,7 +1055,6 @@ V4L2 in Linux 3.3 · 3 unmodified lines
10991055 2. Added the device_caps field to struct v4l2_capabilities and added
11001056 the new V4L2_CAP_DEVICE_CAPS capability.
11011057
1102−
11031058 V4L2 in Linux 3.4
11041059 =================
11051060
@@ -1110,7 +1065,6 @@ V4L2 in Linux 3.4 · 4 unmodified lines
11101065 :ref:`VIDIOC_QUERY_DV_TIMINGS` and
11111066 :ref:`VIDIOC_DV_TIMINGS_CAP`.
11121067
1113−
11141068 V4L2 in Linux 3.5
11151069 =================
11161070
@@ -1137,7 +1091,6 @@ V4L2 in Linux 3.5 · 20 unmodified lines
11371091 ``V4L2_CID_AUTO_FOCUS_START``, ``V4L2_CID_AUTO_FOCUS_STOP``,
11381092 ``V4L2_CID_AUTO_FOCUS_STATUS`` and ``V4L2_CID_AUTO_FOCUS_RANGE``.
11391093
1140−
11411094 V4L2 in Linux 3.6
11421095 =================
11431096
@@ -1150,7 +1103,6 @@ V4L2 in Linux 3.6 · 6 unmodified lines
11501103 3. Added support for frequency band enumerations:
11511104 :ref:`VIDIOC_ENUM_FREQ_BANDS`.
11521105
1153−
11541106 V4L2 in Linux 3.9
11551107 =================
11561108
@@ -1160,7 +1112,6 @@ V4L2 in Linux 3.9 · 3 unmodified lines
11601112 2. Added ``V4L2_EVENT_CTRL_CH_RANGE`` control event changes flag. See
11611113 :ref:`ctrl-changes-flags`.
11621114
1163−
11641115 V4L2 in Linux 3.10
11651116 ==================
11661117
@@ -1172,32 +1123,27 @@ V4L2 in Linux 3.10 · 5 unmodified lines
11721123 2. Added new debugging ioctl
11731124 :ref:`VIDIOC_DBG_G_CHIP_INFO`.
11741125
1175−
11761126 V4L2 in Linux 3.11
11771127 ==================
11781128
11791129 1. Remove obsolete ``VIDIOC_DBG_G_CHIP_IDENT`` ioctl.
11801130
1181−
11821131 V4L2 in Linux 3.14
11831132 ==================
11841133
11851134 1. In struct v4l2_rect, the type of ``width`` and
11861135 ``height`` fields changed from _s32 to _u32.
11871136
1188−
11891137 V4L2 in Linux 3.15
11901138 ==================
11911139
11921140 1. Added Software Defined Radio (SDR) Interface.
11931141
1194−
11951142 V4L2 in Linux 3.16
11961143 ==================
11971144
11981145 1. Added event V4L2_EVENT_SOURCE_CHANGE.
11991146
1200−
12011147 V4L2 in Linux 3.17
12021148 ==================
12031149
@@ -1207,14 +1153,12 @@ V4L2 in Linux 3.17 · 3 unmodified lines
12071153 2. Added compound control types and
12081154 :ref:`VIDIOC_QUERY_EXT_CTRL <VIDIOC_QUERYCTRL>`.
12091155
1210−
12111156 V4L2 in Linux 3.18
12121157 ==================
12131158
12141159 1. Added ``V4L2_CID_PAN_SPEED`` and ``V4L2_CID_TILT_SPEED`` camera
12151160 controls.
12161161
1217−
12181162 V4L2 in Linux 3.19
12191163 ==================
12201164
@@ -1232,13 +1176,11 @@ V4L2 in Linux 4.4 · 11 unmodified lines
12321176
12331177 3. Added transmitter support for Software Defined Radio (SDR) Interface.
12341178
1235−
12361179 .. _other:
12371180
12381181 Relation of V4L2 to other Linux multimedia APIs
12391182 ===============================================
12401183
1241−
12421184 .. _xvideo:
12431185
12441186 X Video Extension
@@ -1284,7 +1226,6 @@ YUV to RGB conversion and scaling for faster video playback, and added · 39 unmodified lines
12841226 an interface to MPEG-2 decoding hardware. This API is useful to display
12851227 images captured with V4L2 devices.
12861228
1287−
12881229 Digital Video
12891230 -------------
12901231
@@ -1294,13 +1235,11 @@ homepage at `https://linuxtv.org <https://linuxtv.org>`__. The Linux · 3 unmodified lines
12941235 DVB API has no connection to the V4L2 API except that drivers for hybrid
12951236 hardware may support both.
12961237
1297−
12981238 Audio Interfaces
12991239 ----------------
13001240
13011241 [to do - OSS/ALSA]
13021242
1303−
13041243 .. _experimental:
13051244
13061245 Experimental API Elements
@@ -1314,7 +1253,6 @@ change in the future. · 7 unmodified lines
13141253
13151254 - :ref:`VIDIOC_DBG_G_CHIP_INFO` ioctl.
13161255
1317−
13181256 .. _obsolete:
13191257
13201258 Obsolete API Elements
Documentation/userspace-api/media/v4l/io.rst+3−3
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _io:
45
@@ -9,8 +10,8 @@ The V4L2 API defines several different methods to read from or write to · 4 unmodified lines
910 a device. All drivers exchanging data with applications must support at
1011 least one of them.
1112
12−The classic I/O method using the :ref:`read() <func-read>` and
13−:ref:`write() <func-write>` function is automatically selected after opening a
13+The classic I/O method using the :c:func:`read()` and
14+:c:func:`write()` function is automatically selected after opening a
1415 V4L2 device. When the driver does not support this method attempts to
1516 read or write will fail at any time.
1617
@@ -38,7 +39,6 @@ closing and reopening the device. · 21 unmodified lines
3839
3940 The following sections describe the various I/O methods in more detail.
4041
41−
4242 .. toctree::
4343 :maxdepth: 1
4444
Documentation/userspace-api/media/v4l/libv4l-introduction.rst+13−17
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _libv4l-introduction:
45
@@ -17,7 +18,6 @@ An example of using libv4l is provided by · 12 unmodified lines
1718
1819 libv4l consists of 3 different libraries:
1920
20−
2121 libv4lconvert
2222 =============
2323
@@ -65,7 +65,6 @@ libv4lconvert/processing. These controls are stored application wide · 41 unmodified lines
6565 libv4lconvert/processing offers the actual video processing
6666 functionality.
6767
68−
6968 libv4l1
7069 =======
7170
@@ -78,7 +77,6 @@ just pass calls through. · 6 unmodified lines
7877 Since those functions are emulations of the old V4L1 API, it shouldn't
7978 be used for new applications.
8079
81−
8280 libv4l2
8381 =======
8482
@@ -105,7 +103,6 @@ available in the driver. :ref:`VIDIOC_ENUM_FMT <VIDIOC_ENUM_FMT>` · 20 unmodified lines
105103 keeps enumerating the hardware supported formats, plus the emulated
106104 formats offered by libv4l at the end.
107105
108−
109106 .. _libv4l-ops:
110107
111108 Libv4l device control functions
@@ -115,17 +112,17 @@ The common file operation methods are provided by libv4l. · 3 unmodified lines
115112
116113 Those functions operate just like the gcc function ``dup()`` and
117114 V4L2 functions
118−:c:func:`open() <v4l2-open>`, :c:func:`close() <v4l2-close>`,
119−:c:func:`ioctl() <v4l2-ioctl>`, :c:func:`read() <v4l2-read>`,
120−:c:func:`mmap() <v4l2-mmap>` and :c:func:`munmap() <v4l2-munmap>`:
115+:c:func:`open()`, :c:func:`close()`,
116+:c:func:`ioctl()`, :c:func:`read()`,
117+:c:func:`mmap()` and :c:func:`munmap()`:
121118
122119 .. c:function:: int v4l2_open(const char *file, int oflag, ...)
123120
124− operates like the :c:func:`open() <v4l2-open>` function.
121+ operates like the :c:func:`open()` function.
125122
126123 .. c:function:: int v4l2_close(int fd)
127124
128− operates like the :c:func:`close() <v4l2-close>` function.
125+ operates like the :c:func:`close()` function.
129126
130127 .. c:function:: int v4l2_dup(int fd)
131128
@@ -133,19 +130,19 @@ V4L2 functions · 1 unmodified line
133130
134131 .. c:function:: int v4l2_ioctl (int fd, unsigned long int request, ...)
135132
136− operates like the :c:func:`ioctl() <v4l2-ioctl>` function.
133+ operates like the :c:func:`ioctl()` function.
137134
138135 .. c:function:: int v4l2_read (int fd, void* buffer, size_t n)
139136
140− operates like the :c:func:`read() <v4l2-read>` function.
137+ operates like the :c:func:`read()` function.
141138
142139 .. c:function:: void v4l2_mmap(void *start, size_t length, int prot, int flags, int fd, int64_t offset);
143140
144− operates like the :c:func:`munmap() <v4l2-munmap>` function.
141+ operates like the :c:func:`munmap()` function.
145142
146143 .. c:function:: int v4l2_munmap(void *_start, size_t length);
147144
148− operates like the :c:func:`munmap() <v4l2-munmap>` function.
145+ operates like the :c:func:`munmap()` function.
149146
150147 Those functions provide additional control:
151148
@@ -168,14 +165,13 @@ Those functions provide additional control: · 16 unmodified lines
168165 of the given v4l control id. when the cid does not exist, could not be
169166 accessed for some reason, or some error occurred 0 is returned.
170167
171−
172168 v4l1compat.so wrapper library
173169 =============================
174170
175171 This library intercepts calls to
176−:c:func:`open() <v4l2-open>`, :c:func:`close() <v4l2-close>`,
177−:c:func:`ioctl() <v4l2-ioctl>`, :c:func:`mmap() <v4l2-mmap>` and
178−:c:func:`munmap() <v4l2-munmap>`
172+:c:func:`open()`, :c:func:`close()`,
173+:c:func:`ioctl()`, :c:func:`mmap()` and
174+:c:func:`munmap()`
179175 operations and redirects them to the libv4l counterparts, by using
180176 ``LD_PRELOAD=/usr/lib/v4l1compat.so``. It also emulates V4L1 calls via V4L2
181177 API.
Documentation/userspace-api/media/v4l/mmap.rst+13−13
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _mmap:
45
@@ -35,22 +36,22 @@ This ioctl can also be used to change the number of buffers or to free · 30 unmodified lines
3536 the allocated memory, provided none of the buffers are still mapped.
3637
3738 Before applications can access the buffers they must map them into their
38−address space with the :ref:`mmap() <func-mmap>` function. The
39+address space with the :c:func:`mmap()` function. The
3940 location of the buffers in device memory can be determined with the
4041 :ref:`VIDIOC_QUERYBUF` ioctl. In the single-planar
4142 API case, the ``m.offset`` and ``length`` returned in a struct
4243 :c:type:`v4l2_buffer` are passed as sixth and second
43−parameter to the :ref:`mmap() <func-mmap>` function. When using the
44+parameter to the :c:func:`mmap()` function. When using the
4445 multi-planar API, struct :c:type:`v4l2_buffer` contains an
4546 array of struct :c:type:`v4l2_plane` structures, each
4647 containing its own ``m.offset`` and ``length``. When using the
4748 multi-planar API, every plane of every buffer has to be mapped
48−separately, so the number of calls to :ref:`mmap() <func-mmap>` should
49+separately, so the number of calls to :c:func:`mmap()` should
4950 be equal to number of buffers times number of planes in each buffer. The
5051 offset and length values must not be modified. Remember, the buffers are
5152 allocated in physical memory, as opposed to virtual memory, which can be
5253 swapped out to disk. Applications should free the buffers as soon as
53−possible with the :ref:`munmap() <func-munmap>` function.
54+possible with the :c:func:`munmap()` function.
5455
5556 Example: Mapping buffers in the single-planar API
5657 =================================================
@@ -122,7 +123,6 @@ Example: Mapping buffers in the single-planar API · 65 unmodified lines
122123 for (i = 0; i < reqbuf.count; i++)
123124 munmap(buffers[i].start, buffers[i].length);
124125
125−
126126 Example: Mapping buffers in the multi-planar API
127127 ================================================
128128
@@ -238,10 +238,10 @@ be determined at any time using the :ref:`VIDIOC_QUERYBUF` ioctl. Two · 109 unmodified lines
238238 methods exist to suspend execution of the application until one or more
239239 buffers can be dequeued. By default :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`
240240 blocks when no buffer is in the outgoing queue. When the ``O_NONBLOCK``
241−flag was given to the :ref:`open() <func-open>` function,
241+flag was given to the :c:func:`open()` function,
242242 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` returns immediately with an ``EAGAIN``
243−error code when no buffer is available. The :ref:`select() <func-select>`
244−or :ref:`poll() <func-poll>` functions are always available.
243+error code when no buffer is available. The :c:func:`select()`
244+or :c:func:`poll()` functions are always available.
245245
246246 To start and stop capturing or output applications call the
247247 :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>` and :ref:`VIDIOC_STREAMOFF
@@ -259,15 +259,15 @@ Drivers implementing memory mapping I/O must support the · 11 unmodified lines
259259 <VIDIOC_QUERYBUF>`, :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`, :ref:`VIDIOC_DQBUF
260260 <VIDIOC_QBUF>`, :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
261261 and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the :ref:`mmap()
262−<func-mmap>`, :ref:`munmap() <func-munmap>`, :ref:`select()
263−<func-select>` and :ref:`poll() <func-poll>` function. [#f3]_
262+<func-mmap>`, :c:func:`munmap()`, :ref:`select()
263+<func-select>` and :c:func:`poll()` function. [#f3]_
264264
265265 [capture example]
266266
267267 .. [#f1]
268268 One could use one file descriptor and set the buffer type field
269269 accordingly when calling :ref:`VIDIOC_QBUF` etc.,
270− but it makes the :ref:`select() <func-select>` function ambiguous. We also
270+ but it makes the :c:func:`select()` function ambiguous. We also
271271 like the clean approach of one file descriptor per logical stream.
272272 Video overlay for example is also a logical stream, although the CPU
273273 is not needed for continuous operation.
@@ -280,6 +280,6 @@ and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the :ref:`mmap() · 6 unmodified lines
280280 scatter-gather lists and the like.
281281
282282 .. [#f3]
283− At the driver level :ref:`select() <func-select>` and :ref:`poll() <func-poll>` are
284− the same, and :ref:`select() <func-select>` is too important to be optional.
283+ At the driver level :c:func:`select()` and :c:func:`poll()` are
284+ the same, and :c:func:`select()` is too important to be optional.
285285 The rest should be evident.
Documentation/userspace-api/media/v4l/open.rst+6−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _open:
45
@@ -140,7 +141,6 @@ means applications cannot *reliably* scan for loaded or installed · 135 unmodified lines
140141 drivers. The user must enter a device name, or the application can try
141142 the conventional device names.
142143
143−
144144 .. _related:
145145
146146 Related Devices
@@ -157,7 +157,7 @@ support all functions. However, in practice this never worked: this · 10 unmodified lines
157157 support it and if they did it was certainly never tested. In addition,
158158 switching a device node between different functions only works when
159159 using the streaming I/O API, not with the
160−:ref:`read() <func-read>`/\ :ref:`write() <func-write>` API.
160+:c:func:`read()`/\ :c:func:`write()` API.
161161
162162 Today each V4L2 device node supports just one function.
163163
@@ -178,7 +178,6 @@ the Media Controller. If you want to work on this please write to the · 14 unmodified lines
178178 linux-media mailing list:
179179 `https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__.
180180
181−
182181 Multiple Opens
183182 ==============
184183
@@ -192,8 +191,8 @@ device should not change the state of the device. [#f2]_ · 7 unmodified lines
192191 Once an application has allocated the memory buffers needed for
193192 streaming data (by calling the :ref:`VIDIOC_REQBUFS`
194193 or :ref:`VIDIOC_CREATE_BUFS` ioctls, or
195−implicitly by calling the :ref:`read() <func-read>` or
196−:ref:`write() <func-write>` functions) that application (filehandle)
194+implicitly by calling the :c:func:`read()` or
195+:c:func:`write()` functions) that application (filehandle)
197196 becomes the owner of the device. It is no longer allowed to make changes
198197 that would affect the buffer sizes (e.g. by calling the
199198 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl) and other applications are
@@ -206,7 +205,6 @@ requested type of data, and to change related properties, to this file · 6 unmodified lines
206205 descriptor. Applications can request additional access privileges using
207206 the priority mechanism described in :ref:`app-pri`.
208207
209−
210208 Shared Data Streams
211209 ===================
212210
@@ -215,12 +213,11 @@ the same data stream on a device by copying buffers, time multiplexing · 2 unmodified lines
215213 or similar means. This is better handled by a proxy application in user
216214 space.
217215
218−
219216 Functions
220217 =========
221218
222219 To open and close V4L2 devices applications use the
223−:ref:`open() <func-open>` and :ref:`close() <func-close>` function,
220+:c:func:`open()` and :c:func:`close()` function,
224221 respectively. Devices are programmed using the
225222 :ref:`ioctl() <func-ioctl>` function as explained in the following
226223 sections.
@@ -228,7 +225,7 @@ sections. · 1 unmodified line
228225 .. [#f1]
229226 There are still some old and obscure drivers that have not been
230227 updated to allow for multiple opens. This implies that for such
231− drivers :ref:`open() <func-open>` can return an ``EBUSY`` error code
228+ drivers :c:func:`open()` can return an ``EBUSY`` error code
232229 when the device is already in use.
233230
234231 .. [#f2]
Documentation/userspace-api/media/v4l/rw.rst+9−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _rw:
45
@@ -6,8 +7,8 @@ · 1 unmodified line
67 Read/Write
78 **********
89
9−Input and output devices support the :ref:`read() <func-read>` and
10−:ref:`write() <func-write>` function, respectively, when the
10+Input and output devices support the :c:func:`read()` and
11+:c:func:`write()` function, respectively, when the
1112 ``V4L2_CAP_READWRITE`` flag in the ``capabilities`` field of struct
1213 :c:type:`v4l2_capability` returned by the
1314 :ref:`VIDIOC_QUERYCAP` ioctl is set.
@@ -22,18 +23,17 @@ However this is also the simplest I/O method, requiring little or no · 8 unmodified lines
2223 setup to exchange data. It permits command line stunts like this (the
2324 vidctrl tool is fictitious):
2425
25−
2626 .. code-block:: none
2727
2828 $ vidctrl /dev/video --input=0 --format=YUYV --size=352x288
2929 $ dd if=/dev/video of=myimage.422 bs=202752 count=1
3030
31−To read from the device applications use the :ref:`read() <func-read>`
32−function, to write the :ref:`write() <func-write>` function. Drivers
31+To read from the device applications use the :c:func:`read()`
32+function, to write the :c:func:`write()` function. Drivers
3333 must implement one I/O method if they exchange data with applications,
3434 but it need not be this. [#f1]_ When reading or writing is supported, the
35−driver must also support the :ref:`select() <func-select>` and
36−:ref:`poll() <func-poll>` function. [#f2]_
35+driver must also support the :c:func:`select()` and
36+:c:func:`poll()` function. [#f2]_
3737
3838 .. [#f1]
3939 It would be desirable if applications could depend on drivers
@@ -43,5 +43,5 @@ driver must also support the :ref:`select() <func-select>` and · 3 unmodified lines
4343 capturing still images.
4444
4545 .. [#f2]
46− At the driver level :ref:`select() <func-select>` and :ref:`poll() <func-poll>` are
47− the same, and :ref:`select() <func-select>` is too important to be optional.
46+ At the driver level :c:func:`select()` and :c:func:`poll()` are
47+ the same, and :c:func:`select()` is too important to be optional.
Documentation/userspace-api/media/v4l/streaming-par.rst+3−2
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _streaming-par:
45
@@ -14,13 +15,13 @@ The current video standard determines a nominal number of frames per · 9 unmodified lines
1415 second. If less than this number of frames is to be captured or output,
1516 applications can request frame skipping or duplicating on the driver
1617 side. This is especially useful when using the
17−:ref:`read() <func-read>` or :ref:`write() <func-write>`, which are
18+:c:func:`read()` or :c:func:`write()`, which are
1819 not augmented by timestamps or sequence counters, and to avoid
1920 unnecessary data copying.
2021
2122 Finally these ioctls can be used to determine the number of buffers used
2223 internally by a driver in read/write mode. For implications see the
23−section discussing the :ref:`read() <func-read>` function.
24+section discussing the :c:func:`read()` function.
2425
2526 To get and set the streaming parameters applications call the
2627 :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and
Documentation/userspace-api/media/v4l/userp.rst+6−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _userp:
45
@@ -78,10 +79,10 @@ buffers it must wait until an empty buffer can be dequeued and reused. · 73 unmodified lines
7879 Two methods exist to suspend execution of the application until one or
7980 more buffers can be dequeued. By default :ref:`VIDIOC_DQBUF
8081 <VIDIOC_QBUF>` blocks when no buffer is in the outgoing queue. When the
81−``O_NONBLOCK`` flag was given to the :ref:`open() <func-open>` function,
82+``O_NONBLOCK`` flag was given to the :c:func:`open()` function,
8283 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` returns immediately with an ``EAGAIN``
8384 error code when no buffer is available. The :ref:`select()
84−<func-select>` or :ref:`poll() <func-poll>` function are always
85+<func-select>` or :c:func:`poll()` function are always
8586 available.
8687
8788 To start and stop capturing or output applications call the
@@ -101,7 +102,7 @@ Drivers implementing user pointer I/O must support the · 13 unmodified lines
101102 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>`, :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`,
102103 :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`, :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
103104 and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the
104−:ref:`select() <func-select>` and :ref:`poll() <func-poll>` function. [#f2]_
105+:c:func:`select()` and :c:func:`poll()` function. [#f2]_
105106
106107 .. [#f1]
107108 We expect that frequently used buffers are typically not swapped out.
@@ -116,6 +117,6 @@ and :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` ioctls, the · 8 unmodified lines
116117 because an application may share them with other processes.
117118
118119 .. [#f2]
119− At the driver level :ref:`select() <func-select>` and :ref:`poll() <func-poll>` are
120− the same, and :ref:`select() <func-select>` is too important to be optional.
120+ At the driver level :c:func:`select()` and :c:func:`poll()` are
121+ the same, and :c:func:`select()` is too important to be optional.
121122 The rest should be evident.
Documentation/userspace-api/media/v4l/vidioc-create-bufs.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_CREATE_BUFS:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_CREATE_BUFS - Create buffers for Memory Mapped or User Pointer or DMA Buffer I/O
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_CREATE_BUFS, struct v4l2_create_buffers *argp )
19− :name: VIDIOC_CREATE_BUFS
18+.. c:macro:: VIDIOC_CREATE_BUFS
2019
20+``int ioctl(int fd, VIDIOC_CREATE_BUFS, struct v4l2_create_buffers *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_create_buffers`.
3030
31−
3231 Description
3332 ===========
3433
@@ -71,7 +70,6 @@ the actual number allocated and the starting index in the ``count`` and · 36 unmodified lines
7170 the ``index`` fields respectively. On return ``count`` can be smaller
7271 than the number requested.
7372
74−
7573 .. c:type:: v4l2_create_buffers
7674
7775 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -119,7 +117,6 @@ than the number requested. · 41 unmodified lines
119117 - A place holder for future extensions. Drivers and applications
120118 must set the array to zero.
121119
122−
123120 Return Value
124121 ============
125122
Documentation/userspace-api/media/v4l/vidioc-cropcap.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_CROPCAP:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_CROPCAP - Information about the video cropping and scaling abilities
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_CROPCAP, struct v4l2_cropcap *argp )
19− :name: VIDIOC_CROPCAP
18+.. c:macro:: VIDIOC_CROPCAP
2019
20+``int ioctl(int fd, VIDIOC_CROPCAP, struct v4l2_cropcap *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_cropcap`.
3030
31−
3231 Description
3332 ===========
3433
@@ -95,7 +94,6 @@ overlay devices. · 60 unmodified lines
9594 Starting with kernel 4.13 both variations are allowed.
9695
9796
98−
9997 .. _v4l2-rect-crop:
10098
10199 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -120,7 +118,6 @@ overlay devices. · 18 unmodified lines
120118 - ``height``
121119 - Height of the rectangle, in pixels.
122120
123−
124121 Return Value
125122 ============
126123
Documentation/userspace-api/media/v4l/vidioc-dbg-g-chip-info.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_DBG_G_CHIP_INFO:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_DBG_G_CHIP_INFO - Identify the chips on a TV card
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_DBG_G_CHIP_INFO, struct v4l2_dbg_chip_info *argp )
19− :name: VIDIOC_DBG_G_CHIP_INFO
18+.. c:macro:: VIDIOC_DBG_G_CHIP_INFO
2019
20+``int ioctl(int fd, VIDIOC_DBG_G_CHIP_INFO, struct v4l2_dbg_chip_info *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_dbg_chip_info`.
3030
31−
3231 Description
3332 ===========
3433
@@ -76,7 +75,6 @@ is available from the LinuxTV v4l-dvb repository; see · 41 unmodified lines
7675 `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
7776 instructions.
7877
79−
8078 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{3.5cm}|p{7.0cm}|
8179
8280 .. _name-v4l2-dbg-match:
@@ -103,7 +101,6 @@ instructions. · 20 unmodified lines
103101 -
104102
105103
106−
107104 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
108105
109106 .. c:type:: v4l2_dbg_chip_info
@@ -130,7 +127,6 @@ instructions. · 20 unmodified lines
130127 - Reserved fields, both application and driver must set these to 0.
131128
132129
133−
134130 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
135131
136132 .. _name-chip-match-types:
@@ -148,7 +144,6 @@ instructions. · 11 unmodified lines
148144 - 4
149145 - Match the nth sub-device.
150146
151−
152147 Return Value
153148 ============
154149
Documentation/userspace-api/media/v4l/vidioc-dbg-g-register.rst+7−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_DBG_G_REGISTER:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_DBG_G_REGISTER - VIDIOC_DBG_S_REGISTER - Read or write hardware registers
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp )
19− :name: VIDIOC_DBG_G_REGISTER
18+.. c:macro:: VIDIOC_DBG_G_REGISTER
19+
20+``int ioctl(int fd, VIDIOC_DBG_G_REGISTER, struct v4l2_dbg_register *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp )
22− :name: VIDIOC_DBG_S_REGISTER
22+.. c:macro:: VIDIOC_DBG_S_REGISTER
2323
24+``int ioctl(int fd, VIDIOC_DBG_S_REGISTER, const struct v4l2_dbg_register *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_dbg_register`.
3334
34−
3535 Description
3636 ===========
3737
@@ -85,7 +85,6 @@ It is available from the LinuxTV v4l-dvb repository; see · 47 unmodified lines
8585 `https://linuxtv.org/repo/ <https://linuxtv.org/repo/>`__ for access
8686 instructions.
8787
88−
8988 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{3.5cm}|p{7.0cm}|
9089
9190 .. c:type:: v4l2_dbg_match
@@ -112,7 +111,6 @@ instructions. · 20 unmodified lines
112111 -
113112
114113
115−
116114 .. c:type:: v4l2_dbg_register
117115
118116 .. flat-table:: struct v4l2_dbg_register
@@ -133,7 +131,6 @@ instructions. · 14 unmodified lines
133131 - The value read from, or to be written into the register.
134132
135133
136−
137134 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
138135
139136 .. _chip-match-types:
@@ -151,7 +148,6 @@ instructions. · 11 unmodified lines
151148 - 4
152149 - Match the nth sub-device.
153150
154−
155151 Return Value
156152 ============
157153
Documentation/userspace-api/media/v4l/vidioc-decoder-cmd.rst+8−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_DECODER_CMD:
45
@@ -11,28 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_DECODER_CMD - VIDIOC_TRY_DECODER_CMD - Execute an decoder command
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_DECODER_CMD, struct v4l2_decoder_cmd *argp )
19− :name: VIDIOC_DECODER_CMD
18+.. c:macro:: VIDIOC_DECODER_CMD
2019
20+``int ioctl(int fd, VIDIOC_DECODER_CMD, struct v4l2_decoder_cmd *argp)``
2121
22−.. c:function:: int ioctl( int fd, VIDIOC_TRY_DECODER_CMD, struct v4l2_decoder_cmd *argp )
23− :name: VIDIOC_TRY_DECODER_CMD
22+.. c:macro:: VIDIOC_TRY_DECODER_CMD
2423
24+``int ioctl(int fd, VIDIOC_TRY_DECODER_CMD, struct v4l2_decoder_cmd *argp)``
2525
2626 Arguments
2727 =========
2828
2929 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3131
3232 ``argp``
3333 pointer to struct :c:type:`v4l2_decoder_cmd`.
3434
35−
3635 Description
3736 ===========
3837
@@ -47,11 +46,11 @@ this structure. · 8 unmodified lines
4746 The ``cmd`` field must contain the command code. Some commands use the
4847 ``flags`` field for additional information.
4948
50−A :ref:`write() <func-write>` or :ref:`VIDIOC_STREAMON`
49+A :c:func:`write()` or :ref:`VIDIOC_STREAMON`
5150 call sends an implicit START command to the decoder if it has not been
5251 started yet. Applies to both queues of mem2mem decoders.
5352
54−A :ref:`close() <func-close>` or :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`
53+A :c:func:`close()` or :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`
5554 call of a streaming file descriptor sends an implicit immediate STOP
5655 command to the decoder, and all buffered data is discarded. Applies to both
5756 queues of mem2mem decoders.
@@ -60,7 +59,6 @@ In principle, these ioctls are optional, not all drivers may support them. They · 2 unmodified lines
6059 introduced in Linux 3.3. They are, however, mandatory for stateful mem2mem decoders
6160 (as further documented in :ref:`decoder`).
6261
63−
6462 .. tabularcolumns:: |p{1.1cm}|p{2.4cm}|p{1.2cm}|p{1.6cm}|p{10.6cm}|
6563
6664 .. c:type:: v4l2_decoder_cmd
@@ -131,7 +129,6 @@ introduced in Linux 3.3. They are, however, mandatory for stateful mem2mem decod · 64 unmodified lines
131129 -
132130
133131
134−
135132 .. tabularcolumns:: |p{5.6cm}|p{0.6cm}|p{11.3cm}|
136133
137134 .. _decoder-cmds:
Documentation/userspace-api/media/v4l/vidioc-dqevent.rst+4−15
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_DQEVENT:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_DQEVENT - Dequeue event
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_DQEVENT, struct v4l2_event *argp )
19− :name: VIDIOC_DQEVENT
18+.. c:macro:: VIDIOC_DQEVENT
2019
20+``int ioctl(int fd, VIDIOC_DQEVENT, struct v4l2_event *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_event`.
3030
31−
3231 Description
3332 ===========
3433
@@ -38,7 +37,6 @@ structure are filled by the driver. The file handle will also receive · 3 unmodified lines
3837 exceptions which the application may get by e.g. using the select system
3938 call.
4039
41−
4240 .. tabularcolumns:: |p{3.0cm}|p{4.4cm}|p{2.4cm}|p{7.7cm}|
4341
4442 .. c:type:: v4l2_event
@@ -100,7 +98,6 @@ call. · 55 unmodified lines
10098 zero.
10199
102100
103−
104101 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
105102
106103 .. cssclass:: longtable
@@ -191,7 +188,6 @@ call. · 84 unmodified lines
191188 - Base event number for driver-private events.
192189
193190
194−
195191 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
196192
197193 .. c:type:: v4l2_event_vsync
@@ -206,7 +202,6 @@ call. · 8 unmodified lines
206202 - The upcoming field. See enum :c:type:`v4l2_field`.
207203
208204
209−
210205 .. tabularcolumns:: |p{3.5cm}|p{3.0cm}|p{1.8cm}|p{8.5cm}|
211206
212207 .. c:type:: v4l2_event_ctrl
@@ -257,7 +252,6 @@ call. · 44 unmodified lines
257252 :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
258253
259254
260−
261255 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
262256
263257 .. c:type:: v4l2_event_frame_sync
@@ -272,7 +266,6 @@ call. · 8 unmodified lines
272266 - The sequence number of the frame being received.
273267
274268
275−
276269 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
277270
278271 .. c:type:: v4l2_event_src_change
@@ -288,7 +281,6 @@ call. · 9 unmodified lines
288281 :ref:`src-changes-flags`.
289282
290283
291−
292284 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
293285
294286 .. c:type:: v4l2_event_motion_det
@@ -318,7 +310,6 @@ call. · 23 unmodified lines
318310 automatically assigned to the default region 0.
319311
320312
321−
322313 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
323314
324315 .. _ctrl-changes-flags:
@@ -344,7 +335,6 @@ call. · 19 unmodified lines
344335 step or the default value of the control changed.
345336
346337
347−
348338 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
349339
350340 .. _src-changes-flags:
@@ -375,7 +365,6 @@ call. · 24 unmodified lines
375365 loss of signal and so restarting streaming I/O is required in order for
376366 the hardware to synchronize to the video signal.
377367
378−
379368 Return Value
380369 ============
381370
Documentation/userspace-api/media/v4l/vidioc-dv-timings-cap.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_DV_TIMINGS_CAP:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_DV_TIMINGS_CAP - VIDIOC_SUBDEV_DV_TIMINGS_CAP - The capabilities of the Digital Video receiver/transmitter
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp )
19− :name: VIDIOC_DV_TIMINGS_CAP
18+.. c:macro:: VIDIOC_DV_TIMINGS_CAP
19+
20+``int ioctl(int fd, VIDIOC_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp )
22− :name: VIDIOC_SUBDEV_DV_TIMINGS_CAP
22+.. c:macro:: VIDIOC_SUBDEV_DV_TIMINGS_CAP
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_DV_TIMINGS_CAP, struct v4l2_dv_timings_cap *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_dv_timings_cap`.
3334
34−
3535 Description
3636 ===========
3737
@@ -55,7 +55,6 @@ the desired pad number in the struct · 17 unmodified lines
5555 zero the ``reserved`` array. Attempts to query capabilities on a pad
5656 that doesn't support them will return an ``EINVAL`` error code.
5757
58−
5958 .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}|
6059
6160 .. c:type:: v4l2_bt_timings_cap
@@ -97,7 +96,6 @@ that doesn't support them will return an ``EINVAL`` error code. · 35 unmodified lines
9796 Drivers must set the array to zero.
9897
9998
100−
10199 .. tabularcolumns:: |p{1.0cm}|p{4.0cm}|p{3.5cm}|p{9.2cm}|
102100
103101 .. c:type:: v4l2_dv_timings_cap
@@ -153,7 +151,6 @@ that doesn't support them will return an ``EINVAL`` error code. · 49 unmodified lines
153151 - Can support non-standard timings, i.e. timings not belonging to
154152 the standards set in the ``standards`` field.
155153
156−
157154 Return Value
158155 ============
159156
Documentation/userspace-api/media/v4l/vidioc-encoder-cmd.rst+11−14
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENCODER_CMD:
45
@@ -11,22 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENCODER_CMD - VIDIOC_TRY_ENCODER_CMD - Execute an encoder command
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENCODER_CMD, struct v4l2_encoder_cmd *argp )
19− :name: VIDIOC_ENCODER_CMD
18+.. c:macro:: VIDIOC_ENCODER_CMD
19+
20+``int ioctl(int fd, VIDIOC_ENCODER_CMD, struct v4l2_encoder_cmd *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_TRY_ENCODER_CMD, struct v4l2_encoder_cmd *argp )
22− :name: VIDIOC_TRY_ENCODER_CMD
22+.. c:macro:: VIDIOC_TRY_ENCODER_CMD
2323
24+``int ioctl(int fd, VIDIOC_TRY_ENCODER_CMD, struct v4l2_encoder_cmd *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_encoder_cmd`.
@@ -47,16 +48,16 @@ this structure. · 14 unmodified lines
4748 The ``cmd`` field must contain the command code. Some commands use the
4849 ``flags`` field for additional information.
4950
50−After a STOP command, :ref:`read() <func-read>` calls will read
51+After a STOP command, :c:func:`read()` calls will read
5152 the remaining data buffered by the driver. When the buffer is empty,
52−:ref:`read() <func-read>` will return zero and the next :ref:`read() <func-read>`
53+:c:func:`read()` will return zero and the next :c:func:`read()`
5354 call will restart the encoder.
5455
55−A :ref:`read() <func-read>` or :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
56+A :c:func:`read()` or :ref:`VIDIOC_STREAMON <VIDIOC_STREAMON>`
5657 call sends an implicit START command to the encoder if it has not been
5758 started yet. Applies to both queues of mem2mem encoders.
5859
59−A :ref:`close() <func-close>` or :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`
60+A :c:func:`close()` or :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`
6061 call of a streaming file descriptor sends an implicit immediate STOP to
6162 the encoder, and all buffered data is discarded. Applies to both queues of
6263 mem2mem encoders.
@@ -65,7 +66,6 @@ These ioctls are optional, not all drivers may support them. They were · 2 unmodified lines
6566 introduced in Linux 2.6.21. They are, however, mandatory for stateful mem2mem
6667 encoders (as further documented in :ref:`encoder`).
6768
68−
6969 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
7070
7171 .. c:type:: v4l2_encoder_cmd
@@ -89,7 +89,6 @@ encoders (as further documented in :ref:`encoder`). · 17 unmodified lines
8989 the array to zero.
9090
9191
92−
9392 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
9493
9594 .. _encoder-cmds:
@@ -134,7 +133,6 @@ encoders (as further documented in :ref:`encoder`). · 38 unmodified lines
134133 the encoder is already running, this command does nothing. No
135134 flags are defined for this command.
136135
137−
138136 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
139137
140138 .. _encoder-flags:
@@ -151,7 +149,6 @@ encoders (as further documented in :ref:`encoder`). · 10 unmodified lines
151149
152150 Does not apply to :ref:`encoder`.
153151
154−
155152 Return Value
156153 ============
157154
Documentation/userspace-api/media/v4l/vidioc-enum-dv-timings.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUM_DV_TIMINGS:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUM_DV_TIMINGS - VIDIOC_SUBDEV_ENUM_DV_TIMINGS - Enumerate supported Digital Video timings
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUM_DV_TIMINGS, struct v4l2_enum_dv_timings *argp )
19− :name: VIDIOC_ENUM_DV_TIMINGS
18+.. c:macro:: VIDIOC_ENUM_DV_TIMINGS
19+
20+``int ioctl(int fd, VIDIOC_ENUM_DV_TIMINGS, struct v4l2_enum_dv_timings *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_DV_TIMINGS, struct v4l2_enum_dv_timings *argp )
22− :name: VIDIOC_SUBDEV_ENUM_DV_TIMINGS
22+.. c:macro:: VIDIOC_SUBDEV_ENUM_DV_TIMINGS
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_ENUM_DV_TIMINGS, struct v4l2_enum_dv_timings *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_enum_dv_timings`.
3334
34−
3535 Description
3636 ===========
3737
@@ -65,7 +65,6 @@ pad number in the struct · 27 unmodified lines
6565 Attempts to enumerate timings on a pad that doesn't support them will
6666 return an ``EINVAL`` error code.
6767
68−
6968 .. c:type:: v4l2_enum_dv_timings
7069
7170 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -91,7 +90,6 @@ return an ``EINVAL`` error code. · 19 unmodified lines
9190 - ``timings``
9291 - The timings.
9392
94−
9593 Return Value
9694 ============
9795
Documentation/userspace-api/media/v4l/vidioc-enum-fmt.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUM_FMT:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUM_FMT - Enumerate image formats
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUM_FMT, struct v4l2_fmtdesc *argp )
19− :name: VIDIOC_ENUM_FMT
18+.. c:macro:: VIDIOC_ENUM_FMT
2019
20+``int ioctl(int fd, VIDIOC_ENUM_FMT, struct v4l2_fmtdesc *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_fmtdesc`.
3030
31−
3231 Description
3332 ===========
3433
@@ -72,7 +71,6 @@ the ``mbus_code`` field is handled differently: · 37 unmodified lines
7271 formats shall not depend on the active configuration of the video device
7372 or device pipeline.
7473
75−
7674 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
7775
7876 .. c:type:: v4l2_fmtdesc
@@ -137,7 +135,6 @@ the ``mbus_code`` field is handled differently: · 58 unmodified lines
137135 zero.
138136
139137
140−
141138 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
142139
143140 .. _fmtdesc-flags:
@@ -227,7 +224,6 @@ the ``mbus_code`` field is handled differently: · 83 unmodified lines
227224 device when calling the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl with
228225 :ref:`V4L2_PIX_FMT_FLAG_SET_CSC <v4l2-pix-fmt-flag-set-csc>` set.
229226
230−
231227 Return Value
232228 ============
233229
Documentation/userspace-api/media/v4l/vidioc-enum-frameintervals.rst+4−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUM_FRAMEINTERVALS:
45
@@ -11,25 +12,23 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUM_FRAMEINTERVALS - Enumerate frame intervals
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUM_FRAMEINTERVALS, struct v4l2_frmivalenum *argp )
19− :name: VIDIOC_ENUM_FRAMEINTERVALS
18+.. c:macro:: VIDIOC_ENUM_FRAMEINTERVALS
2019
20+``int ioctl(int fd, VIDIOC_ENUM_FRAMEINTERVALS, struct v4l2_frmivalenum *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_frmivalenum`
3030 that contains a pixel format and size and receives a frame interval.
3131
32−
3332 Description
3433 ===========
3534
@@ -91,7 +90,6 @@ other ioctl calls while it runs the frame interval enumeration. · 55 unmodified lines
9190
9291 frame_rate = 1 / frame_interval
9392
94−
9593 Structs
9694 =======
9795
@@ -99,7 +97,6 @@ In the structs below, *IN* denotes a value that has to be filled in by · 1 unmodified line
9997 the application, *OUT* denotes values that the driver fills in. The
10098 application should zero out all members except for the *IN* fields.
10199
102−
103100 .. c:type:: v4l2_frmival_stepwise
104101
105102 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -120,7 +117,6 @@ application should zero out all members except for the *IN* fields. · 14 unmodified lines
120117 - Frame interval step size [s].
121118
122119
123−
124120 .. c:type:: v4l2_frmivalenum
125121
126122 .. tabularcolumns:: |p{1.8cm}|p{4.4cm}|p{2.4cm}|p{8.9cm}|
@@ -163,11 +159,9 @@ application should zero out all members except for the *IN* fields. · 36 unmodified lines
163159 applications.
164160
165161
166−
167162 Enums
168163 =====
169164
170−
171165 .. c:type:: v4l2_frmivaltypes
172166
173167 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
@@ -187,7 +181,6 @@ Enums · 13 unmodified lines
187181 - 3
188182 - Step-wise defined frame interval.
189183
190−
191184 Return Value
192185 ============
193186
Documentation/userspace-api/media/v4l/vidioc-enum-framesizes.rst+4−12
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUM_FRAMESIZES:
45
@@ -11,26 +12,24 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUM_FRAMESIZES - Enumerate frame sizes
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUM_FRAMESIZES, struct v4l2_frmsizeenum *argp )
19− :name: VIDIOC_ENUM_FRAMESIZES
18+.. c:macro:: VIDIOC_ENUM_FRAMESIZES
2019
20+``int ioctl(int fd, VIDIOC_ENUM_FRAMESIZES, struct v4l2_frmsizeenum *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_frmsizeenum`
3030 that contains an index and pixel format and receives a frame width
3131 and height.
3232
33−
3433 Description
3534 ===========
3635
@@ -81,7 +80,6 @@ without any interaction from the application itself. This means that the · 44 unmodified lines
8180 enumeration data is consistent if the application does not perform any
8281 other ioctl calls while it runs the frame size enumeration.
8382
84−
8583 Structs
8684 =======
8785
@@ -89,7 +87,6 @@ In the structs below, *IN* denotes a value that has to be filled in by · 1 unmodified line
8987 the application, *OUT* denotes values that the driver fills in. The
9088 application should zero out all members except for the *IN* fields.
9189
92−
9390 .. c:type:: v4l2_frmsize_discrete
9491
9592 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -107,7 +104,6 @@ application should zero out all members except for the *IN* fields. · 11 unmodified lines
107104 - Height of the frame [pixel].
108105
109106
110−
111107 .. c:type:: v4l2_frmsize_stepwise
112108
113109 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -137,7 +133,6 @@ application should zero out all members except for the *IN* fields. · 23 unmodified lines
137133 - Frame height step size [pixel].
138134
139135
140−
141136 .. c:type:: v4l2_frmsizeenum
142137
143138 .. tabularcolumns:: |p{1.4cm}|p{5.9cm}|p{2.3cm}|p{8.0cm}|
@@ -173,11 +168,9 @@ application should zero out all members except for the *IN* fields. · 29 unmodified lines
173168 applications.
174169
175170
176−
177171 Enums
178172 =====
179173
180−
181174 .. c:type:: v4l2_frmsizetypes
182175
183176 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
@@ -197,7 +190,6 @@ Enums · 13 unmodified lines
197190 - 3
198191 - Step-wise defined frame size.
199192
200−
201193 Return Value
202194 ============
203195
Documentation/userspace-api/media/v4l/vidioc-enum-freq-bands.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUM_FREQ_BANDS:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUM_FREQ_BANDS - Enumerate supported frequency bands
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUM_FREQ_BANDS, struct v4l2_frequency_band *argp )
19− :name: VIDIOC_ENUM_FREQ_BANDS
18+.. c:macro:: VIDIOC_ENUM_FREQ_BANDS
2019
20+``int ioctl(int fd, VIDIOC_ENUM_FREQ_BANDS, struct v4l2_frequency_band *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_frequency_band`.
3030
31−
3231 Description
3332 ===========
3433
@@ -41,7 +40,6 @@ fields, and zero out the ``reserved`` array of a struct · 6 unmodified lines
4140 This ioctl is supported if the ``V4L2_TUNER_CAP_FREQ_BANDS`` capability
4241 of the corresponding tuner/modulator is set.
4342
44−
4543 .. tabularcolumns:: |p{2.9cm}|p{2.9cm}|p{5.8cm}|p{2.9cm}|p{3.0cm}|
4644
4745 .. c:type:: v4l2_frequency_band
@@ -110,7 +108,6 @@ of the corresponding tuner/modulator is set. · 62 unmodified lines
110108 Applications and drivers must set the array to zero.
111109
112110
113−
114111 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
115112
116113 .. _band-modulation:
@@ -130,7 +127,6 @@ of the corresponding tuner/modulator is set. · 13 unmodified lines
130127 - 0x08
131128 - Amplitude Modulation, commonly used for analog radio.
132129
133−
134130 Return Value
135131 ============
136132
Documentation/userspace-api/media/v4l/vidioc-enumaudio.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUMAUDIO:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUMAUDIO - Enumerate audio inputs
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUMAUDIO, struct v4l2_audio *argp )
19− :name: VIDIOC_ENUMAUDIO
18+.. c:macro:: VIDIOC_ENUMAUDIO
2019
20+``int ioctl(int fd, VIDIOC_ENUMAUDIO, struct v4l2_audio *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_audio`.
3030
31−
3231 Description
3332 ===========
3433
@@ -43,7 +42,6 @@ zero, incrementing by one until the driver returns ``EINVAL``. · 8 unmodified lines
4342 See :ref:`VIDIOC_G_AUDIO <VIDIOC_G_AUDIO>` for a description of struct
4443 :c:type:`v4l2_audio`.
4544
46−
4745 Return Value
4846 ============
4947
Documentation/userspace-api/media/v4l/vidioc-enumaudioout.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUMAUDOUT:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUMAUDOUT - Enumerate audio outputs
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUMAUDOUT, struct v4l2_audioout *argp )
19− :name: VIDIOC_ENUMAUDOUT
18+.. c:macro:: VIDIOC_ENUMAUDOUT
2019
20+``int ioctl(int fd, VIDIOC_ENUMAUDOUT, struct v4l2_audioout *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_audioout`.
3030
31−
3231 Description
3332 ===========
3433
@@ -48,7 +47,6 @@ zero, incrementing by one until the driver returns ``EINVAL``. · 13 unmodified lines
4847 See :ref:`VIDIOC_G_AUDIOout <VIDIOC_G_AUDOUT>` for a description of struct
4948 :c:type:`v4l2_audioout`.
5049
51−
5250 Return Value
5351 ============
5452
Documentation/userspace-api/media/v4l/vidioc-enuminput.rst+4−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUMINPUT:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUMINPUT - Enumerate video inputs
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUMINPUT, struct v4l2_input *argp )
19− :name: VIDIOC_ENUMINPUT
18+.. c:macro:: VIDIOC_ENUMINPUT
2019
20+``int ioctl(int fd, VIDIOC_ENUMINPUT, struct v4l2_input *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_input`.
3030
31−
3231 Description
3332 ===========
3433
@@ -39,7 +38,6 @@ fill the rest of the structure or return an ``EINVAL`` error code when the · 4 unmodified lines
3938 index is out of bounds. To enumerate all inputs applications shall begin
4039 at index zero, incrementing by one until the driver returns ``EINVAL``.
4140
42−
4341 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
4442
4543 .. c:type:: v4l2_input
@@ -103,7 +101,6 @@ at index zero, incrementing by one until the driver returns ``EINVAL``. · 57 unmodified lines
103101 zero.
104102
105103
106−
107104 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
108105
109106 .. _input-type:
@@ -126,7 +123,6 @@ at index zero, incrementing by one until the driver returns ``EINVAL``. · 16 unmodified lines
126123 - This input is a touch device for capturing raw touch data.
127124
128125
129−
130126 .. tabularcolumns:: |p{4.8cm}|p{2.6cm}|p{10.1cm}|
131127
132128 .. _input-status:
@@ -198,7 +194,6 @@ at index zero, incrementing by one until the driver returns ``EINVAL``. · 65 unmodified lines
198194 - VTR time constant. [?]
199195
200196
201−
202197 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
203198
204199 .. _input-capabilities:
@@ -222,7 +217,6 @@ at index zero, incrementing by one until the driver returns ``EINVAL``. · 17 unmodified lines
222217 ``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see
223218 :ref:`v4l2-selections-common`.
224219
225−
226220 Return Value
227221 ============
228222
Documentation/userspace-api/media/v4l/vidioc-enumoutput.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUMOUTPUT:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUMOUTPUT - Enumerate video outputs
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUMOUTPUT, struct v4l2_output *argp )
19− :name: VIDIOC_ENUMOUTPUT
18+.. c:macro:: VIDIOC_ENUMOUTPUT
2019
20+``int ioctl(int fd, VIDIOC_ENUMOUTPUT, struct v4l2_output *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_output`.
3030
31−
3231 Description
3332 ===========
3433
@@ -40,7 +39,6 @@ when the index is out of bounds. To enumerate all outputs applications · 5 unmodified lines
4039 shall begin at index zero, incrementing by one until the driver returns
4140 ``EINVAL``.
4241
43−
4442 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
4543
4644 .. c:type:: v4l2_output
@@ -98,7 +96,6 @@ shall begin at index zero, incrementing by one until the driver returns · 51 unmodified lines
9896 zero.
9997
10098
101−
10299 .. tabularcolumns:: |p{7.0cm}|p{1.8cm}|p{8.7cm}|
103100
104101 .. _output-type:
@@ -121,7 +118,6 @@ shall begin at index zero, incrementing by one until the driver returns · 16 unmodified lines
121118 - The video output will be copied to a :ref:`video overlay <overlay>`.
122119
123120
124−
125121 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
126122
127123 .. _output-capabilities:
@@ -145,7 +141,6 @@ shall begin at index zero, incrementing by one until the driver returns · 17 unmodified lines
145141 ``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see
146142 :ref:`v4l2-selections-common`.
147143
148−
149144 Return Value
150145 ============
151146
Documentation/userspace-api/media/v4l/vidioc-enumstd.rst+7−16
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_ENUMSTD:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_ENUMSTD - VIDIOC_SUBDEV_ENUMSTD - Enumerate supported video standards
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_ENUMSTD, struct v4l2_standard *argp )
19− :name: VIDIOC_ENUMSTD
18+.. c:macro:: VIDIOC_ENUMSTD
19+
20+``int ioctl(int fd, VIDIOC_ENUMSTD, struct v4l2_standard *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUMSTD, struct v4l2_standard *argp )
22− :name: VIDIOC_SUBDEV_ENUMSTD
22+.. c:macro:: VIDIOC_SUBDEV_ENUMSTD
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_ENUMSTD, struct v4l2_standard *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_standard`.
3334
34−
3535 Description
3636 ===========
3737
@@ -45,7 +45,6 @@ zero, incrementing by one until the driver returns ``EINVAL``. Drivers may · 7 unmodified lines
4545 enumerate a different set of standards after switching the video input
4646 or output. [#f1]_
4747
48−
4948 .. c:type:: v4l2_standard
5049
5150 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -85,7 +84,6 @@ or output. [#f1]_ · 33 unmodified lines
8584 zero.
8685
8786
88−
8987 .. c:type:: v4l2_fract
9088
9189 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -102,7 +100,6 @@ or output. [#f1]_ · 10 unmodified lines
102100 - ``denominator``
103101 -
104102
105−
106103 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
107104
108105 .. _v4l2-std-id:
@@ -120,7 +117,6 @@ or output. [#f1]_ · 11 unmodified lines
120117 standards.
121118
122119
123−
124120 .. code-block:: c
125121
126122 #define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001)
@@ -142,7 +138,6 @@ rate, and PAL color modulation with a 4.43 MHz color subcarrier. Some · 15 unmodified lines
142138 PAL video recorders can play back NTSC tapes in this mode for display on
143139 a 50/60 Hz agnostic PAL TV.
144140
145−
146141 .. code-block:: c
147142
148143 #define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000)
@@ -152,7 +147,6 @@ a 50/60 Hz agnostic PAL TV. · 3 unmodified lines
152147 ``V4L2_STD_NTSC_443`` is a hybrid standard with 525 lines, 60 Hz refresh
153148 rate, and NTSC color modulation with a 4.43 MHz color subcarrier.
154149
155−
156150 .. code-block:: c
157151
158152 #define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000)
@@ -175,7 +169,6 @@ terrestrial digital TV standards. Presently the V4L2 API does not · 16 unmodified lines
175169 support digital TV. See also the Linux DVB API at
176170 `https://linuxtv.org <https://linuxtv.org>`__.
177171
178−
179172 .. code-block:: c
180173
181174 #define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |
@@ -228,7 +221,6 @@ support digital TV. See also the Linux DVB API at · 46 unmodified lines
228221 #define V4L2_STD_ALL (V4L2_STD_525_60 |
229222 V4L2_STD_625_50)
230223
231−
232224 .. raw:: latex
233225
234226 \begingroup
@@ -303,7 +295,6 @@ support digital TV. See also the Linux DVB API at · 68 unmodified lines
303295 \endgroup
304296
305297
306−
307298 Return Value
308299 ============
309300
Documentation/userspace-api/media/v4l/vidioc-expbuf.rst+4−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_EXPBUF:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_EXPBUF - Export a buffer as a DMABUF file descriptor.
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_EXPBUF, struct v4l2_exportbuffer *argp )
19− :name: VIDIOC_EXPBUF
18+.. c:macro:: VIDIOC_EXPBUF
2019
20+``int ioctl(int fd, VIDIOC_EXPBUF, struct v4l2_exportbuffer *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_exportbuffer`.
3030
31−
3231 Description
3332 ===========
3433
@@ -63,11 +62,9 @@ for details about importing DMABUF files into V4L2 nodes. It is · 28 unmodified lines
6362 recommended to close a DMABUF file when it is no longer used to allow
6463 the associated memory to be reclaimed.
6564
66−
6765 Examples
6866 ========
6967
70−
7168 .. code-block:: c
7269
7370 int buffer_export(int v4lfd, enum v4l2_buf_type bt, int index, int *dmafd)
@@ -87,7 +84,6 @@ Examples · 13 unmodified lines
8784 return 0;
8885 }
8986
90−
9187 .. code-block:: c
9288
9389 int buffer_export_mp(int v4lfd, enum v4l2_buf_type bt, int index,
@@ -114,7 +110,6 @@ Examples · 20 unmodified lines
114110 return 0;
115111 }
116112
117−
118113 .. c:type:: v4l2_exportbuffer
119114
120115 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -155,7 +150,6 @@ Examples · 34 unmodified lines
155150 - Reserved field for future use. Drivers and applications must set
156151 the array to zero.
157152
158−
159153 Return Value
160154 ============
161155
Documentation/userspace-api/media/v4l/vidioc-g-audio.rst+7−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_AUDIO:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_AUDIO - VIDIOC_S_AUDIO - Query or select the current audio input and its attributes
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_AUDIO, struct v4l2_audio *argp )
19− :name: VIDIOC_G_AUDIO
18+.. c:macro:: VIDIOC_G_AUDIO
19+
20+``int ioctl(int fd, VIDIOC_G_AUDIO, struct v4l2_audio *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_AUDIO, const struct v4l2_audio *argp )
22− :name: VIDIOC_S_AUDIO
22+.. c:macro:: VIDIOC_S_AUDIO
2323
24+``int ioctl(int fd, VIDIOC_S_AUDIO, const struct v4l2_audio *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_audio`.
3334
34−
3535 Description
3636 ===========
3737
@@ -49,7 +49,6 @@ ioctl. Drivers may switch to a different audio mode if the request · 11 unmodified lines
4949 cannot be satisfied. However, this is a write-only ioctl, it does not
5050 return the actual new audio mode.
5151
52−
5352 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
5453
5554 .. c:type:: v4l2_audio
@@ -80,7 +79,6 @@ return the actual new audio mode. · 24 unmodified lines
8079 the array to zero.
8180
8281
83−
8482 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
8583
8684 .. _audio-capability:
@@ -101,7 +99,6 @@ return the actual new audio mode. · 14 unmodified lines
10199 - Automatic Volume Level mode is supported.
102100
103101
104−
105102 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
106103
107104 .. _audio-mode:
@@ -115,7 +112,6 @@ return the actual new audio mode. · 7 unmodified lines
115112 - 0x00001
116113 - AVL mode is on.
117114
118−
119115 Return Value
120116 ============
121117
Documentation/userspace-api/media/v4l/vidioc-g-audioout.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_AUDOUT:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_AUDOUT - VIDIOC_S_AUDOUT - Query or select the current audio output
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_AUDOUT, struct v4l2_audioout *argp )
19− :name: VIDIOC_G_AUDOUT
18+.. c:macro:: VIDIOC_G_AUDOUT
19+
20+``int ioctl(int fd, VIDIOC_G_AUDOUT, struct v4l2_audioout *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_AUDOUT, const struct v4l2_audioout *argp )
22− :name: VIDIOC_S_AUDOUT
22+.. c:macro:: VIDIOC_S_AUDOUT
2323
24+``int ioctl(int fd, VIDIOC_S_AUDOUT, const struct v4l2_audioout *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_audioout`.
3334
34−
3535 Description
3636 ===========
3737
@@ -56,7 +56,6 @@ as ``VIDIOC_G_AUDOUT`` does. · 18 unmodified lines
5656 Connectors on a TV card to loop back the received audio signal
5757 to a sound card are not audio outputs in this sense.
5858
59−
6059 .. c:type:: v4l2_audioout
6160
6261 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -87,7 +86,6 @@ as ``VIDIOC_G_AUDOUT`` does. · 24 unmodified lines
8786 - Reserved for future extensions. Drivers and applications must set
8887 the array to zero.
8988
90−
9189 Return Value
9290 ============
9391
Documentation/userspace-api/media/v4l/vidioc-g-crop.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_CROP:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_CROP - VIDIOC_S_CROP - Get or set the current cropping rectangle
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_CROP, struct v4l2_crop *argp )
19− :name: VIDIOC_G_CROP
18+.. c:macro:: VIDIOC_G_CROP
19+
20+``int ioctl(int fd, VIDIOC_G_CROP, struct v4l2_crop *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_CROP, const struct v4l2_crop *argp )
22− :name: VIDIOC_S_CROP
22+.. c:macro:: VIDIOC_S_CROP
2323
24+``int ioctl(int fd, VIDIOC_S_CROP, const struct v4l2_crop *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_crop`.
3334
34−
3535 Description
3636 ===========
3737
@@ -69,7 +69,6 @@ been negotiated. · 31 unmodified lines
6969 When cropping is not supported then no parameters are changed and
7070 :ref:`VIDIOC_S_CROP <VIDIOC_G_CROP>` returns the ``EINVAL`` error code.
7171
72−
7372 .. c:type:: v4l2_crop
7473
7574 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -100,7 +99,6 @@ When cropping is not supported then no parameters are changed and · 24 unmodified lines
10099
101100 Starting with kernel 4.13 both variations are allowed.
102101
103−
104102 Return Value
105103 ============
106104
Documentation/userspace-api/media/v4l/vidioc-g-ctrl.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_CTRL:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_CTRL - VIDIOC_S_CTRL - Get or set the value of a control
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_CTRL, struct v4l2_control *argp )
19− :name: VIDIOC_G_CTRL
18+.. c:macro:: VIDIOC_G_CTRL
19+
20+``int ioctl(int fd, VIDIOC_G_CTRL, struct v4l2_control *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_CTRL, struct v4l2_control *argp )
22− :name: VIDIOC_S_CTRL
22+.. c:macro:: VIDIOC_S_CTRL
2323
24+``int ioctl(int fd, VIDIOC_S_CTRL, struct v4l2_control *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_control`.
3334
34−
3535 Description
3636 ===========
3737
@@ -55,7 +55,6 @@ These ioctls work only with user controls. For other control classes the · 17 unmodified lines
5555 :ref:`VIDIOC_S_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` or
5656 :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` must be used.
5757
58−
5958 .. c:type:: v4l2_control
6059
6160 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -72,7 +71,6 @@ These ioctls work only with user controls. For other control classes the · 10 unmodified lines
7271 - ``value``
7372 - New value or current value.
7473
75−
7674 Return Value
7775 ============
7876
Documentation/userspace-api/media/v4l/vidioc-g-dv-timings.rst+13−13
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_DV_TIMINGS:
45
@@ -11,33 +12,34 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_DV_TIMINGS - VIDIOC_S_DV_TIMINGS - VIDIOC_SUBDEV_G_DV_TIMINGS - VIDIOC_SUBDEV_S_DV_TIMINGS - Get or set DV timings for input or output
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_DV_TIMINGS, struct v4l2_dv_timings *argp )
19− :name: VIDIOC_G_DV_TIMINGS
18+.. c:macro:: VIDIOC_G_DV_TIMINGS
19+
20+``int ioctl(int fd, VIDIOC_G_DV_TIMINGS, struct v4l2_dv_timings *argp)``
21+
22+.. c:macro:: VIDIOC_S_DV_TIMINGS
23+
24+``int ioctl(int fd, VIDIOC_S_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2025
21−.. c:function:: int ioctl( int fd, VIDIOC_S_DV_TIMINGS, struct v4l2_dv_timings *argp )
22− :name: VIDIOC_S_DV_TIMINGS
26+.. c:macro:: VIDIOC_SUBDEV_G_DV_TIMINGS
2327
24−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_DV_TIMINGS, struct v4l2_dv_timings *argp )
25− :name: VIDIOC_SUBDEV_G_DV_TIMINGS
28+``int ioctl(int fd, VIDIOC_SUBDEV_G_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2629
27−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_DV_TIMINGS, struct v4l2_dv_timings *argp )
28− :name: VIDIOC_SUBDEV_S_DV_TIMINGS
30+.. c:macro:: VIDIOC_SUBDEV_S_DV_TIMINGS
2931
32+``int ioctl(int fd, VIDIOC_SUBDEV_S_DV_TIMINGS, struct v4l2_dv_timings *argp)``
3033
3134 Arguments
3235 =========
3336
3437 ``fd``
35− File descriptor returned by :ref:`open() <func-open>`.
38+ File descriptor returned by :c:func:`open()`.
3639
3740 ``argp``
3841 Pointer to struct :c:type:`v4l2_dv_timings`.
3942
40−
4143 Description
4244 ===========
4345
@@ -60,7 +62,6 @@ the current input or output does not support DV timings (e.g. if · 16 unmodified lines
6062 :ref:`VIDIOC_ENUMINPUT` does not set the
6163 ``V4L2_IN_CAP_DV_TIMINGS`` flag), then ``ENODATA`` error code is returned.
6264
63−
6465 Return Value
6566 ============
6667
@@ -170,7 +171,6 @@ EPERM · 103 unmodified lines
170171 - Reserved for future extensions. Drivers and applications must set
171172 the array to zero.
172173
173−
174174 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{7.0cm}|p{3.5cm}|
175175
176176 .. c:type:: v4l2_dv_timings
Documentation/userspace-api/media/v4l/vidioc-g-edid.rst+12−13
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_EDID:
45
@@ -11,34 +12,34 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_EDID - VIDIOC_S_EDID - VIDIOC_SUBDEV_G_EDID - VIDIOC_SUBDEV_S_EDID - Get or set the EDID of a video receiver/transmitter
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_EDID, struct v4l2_edid *argp )
19− :name: VIDIOC_G_EDID
18+.. c:macro:: VIDIOC_G_EDID
19+
20+``int ioctl(int fd, VIDIOC_G_EDID, struct v4l2_edid *argp)``
21+
22+.. c:macro:: VIDIOC_S_EDID
2023
21−.. c:function:: int ioctl( int fd, VIDIOC_S_EDID, struct v4l2_edid *argp )
22− :name: VIDIOC_S_EDID
24+``int ioctl(int fd, VIDIOC_S_EDID, struct v4l2_edid *argp)``
2325
26+.. c:macro:: VIDIOC_SUBDEV_G_EDID
2427
25−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_EDID, struct v4l2_edid *argp )
26− :name: VIDIOC_SUBDEV_G_EDID
28+``int ioctl(int fd, VIDIOC_SUBDEV_G_EDID, struct v4l2_edid *argp)``
2729
28−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_EDID, struct v4l2_edid *argp )
29− :name: VIDIOC_SUBDEV_S_EDID
30+.. c:macro:: VIDIOC_SUBDEV_S_EDID
3031
32+``int ioctl(int fd, VIDIOC_SUBDEV_S_EDID, struct v4l2_edid *argp)``
3133
3234 Arguments
3335 =========
3436
3537 ``fd``
36− File descriptor returned by :ref:`open() <func-open>`.
38+ File descriptor returned by :c:func:`open()`.
3739
3840 ``argp``
3941 Pointer to struct :c:type:`v4l2_edid`.
4042
41−
4243 Description
4344 ===========
4445
@@ -97,7 +98,6 @@ this will drive the hotplug pin low and/or block the source from reading · 52 unmodified lines
9798 the EDID data in some way. In any case, the end result is the same: the
9899 EDID is no longer available.
99100
100−
101101 .. c:type:: v4l2_edid
102102
103103 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -132,7 +132,6 @@ EDID is no longer available. · 28 unmodified lines
132132 - Pointer to memory that contains the EDID. The minimum size is
133133 ``blocks`` * 128.
134134
135−
136135 Return Value
137136 ============
138137
Documentation/userspace-api/media/v4l/vidioc-g-enc-index.rst+4−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_ENC_INDEX:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_ENC_INDEX - Get meta data about a compressed video stream
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_ENC_INDEX, struct v4l2_enc_idx *argp )
19− :name: VIDIOC_G_ENC_INDEX
18+.. c:macro:: VIDIOC_G_ENC_INDEX
2019
20+``int ioctl(int fd, VIDIOC_G_ENC_INDEX, struct v4l2_enc_idx *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_enc_idx`.
3030
31−
3231 Description
3332 ===========
3433
@@ -55,7 +54,6 @@ will be zero. · 20 unmodified lines
5554 Currently this ioctl is only defined for MPEG-2 program streams and
5655 video elementary streams.
5756
58−
5957 .. tabularcolumns:: |p{3.8cm}|p{5.6cm}|p{8.1cm}|
6058
6159 .. c:type:: v4l2_enc_idx
@@ -83,7 +81,6 @@ video elementary streams. · 21 unmodified lines
8381 their ``offset``.
8482
8583
86−
8784 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
8885
8986 .. c:type:: v4l2_enc_idx_entry
@@ -116,7 +113,6 @@ video elementary streams. · 26 unmodified lines
116113 - Reserved for future extensions. Drivers must set the array to
117114 zero.
118115
119−
120116 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
121117
122118 .. _enc-idx-flags:
@@ -140,7 +136,6 @@ video elementary streams. · 17 unmodified lines
140136 - *AND* the flags field with this mask to obtain the picture coding
141137 type.
142138
143−
144139 Return Value
145140 ============
146141
Documentation/userspace-api/media/v4l/vidioc-g-ext-ctrls.rst+8−13
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_EXT_CTRLS:
45
@@ -11,32 +12,30 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_EXT_CTRLS - VIDIOC_S_EXT_CTRLS - VIDIOC_TRY_EXT_CTRLS - Get or set the value of several controls, try control values
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_EXT_CTRLS, struct v4l2_ext_controls *argp )
19− :name: VIDIOC_G_EXT_CTRLS
18+.. c:macro:: VIDIOC_G_EXT_CTRLS
2019
20+``int ioctl(int fd, VIDIOC_G_EXT_CTRLS, struct v4l2_ext_controls *argp)``
2121
22−.. c:function:: int ioctl( int fd, VIDIOC_S_EXT_CTRLS, struct v4l2_ext_controls *argp )
23− :name: VIDIOC_S_EXT_CTRLS
22+.. c:macro:: VIDIOC_S_EXT_CTRLS
2423
24+``int ioctl(int fd, VIDIOC_S_EXT_CTRLS, struct v4l2_ext_controls *argp)``
2525
26−.. c:function:: int ioctl( int fd, VIDIOC_TRY_EXT_CTRLS, struct v4l2_ext_controls *argp )
27− :name: VIDIOC_TRY_EXT_CTRLS
26+.. c:macro:: VIDIOC_TRY_EXT_CTRLS
2827
28+``int ioctl(int fd, VIDIOC_TRY_EXT_CTRLS, struct v4l2_ext_controls *argp)``
2929
3030 Arguments
3131 =========
3232
3333 ``fd``
34− File descriptor returned by :ref:`open() <func-open>`.
34+ File descriptor returned by :c:func:`open()`.
3535
3636 ``argp``
3737 Pointer to struct :c:type:`v4l2_ext_controls`.
3838
39−
4039 Description
4140 ===========
4241
@@ -119,7 +118,6 @@ correct. This prevents the situation where only some of the controls · 76 unmodified lines
119118 were set/get. Only low-level errors (e. g. a failed i2c command) can
120119 still cause this situation.
121120
122−
123121 .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{1.5cm}|p{11.8cm}|
124122
125123 .. c:type:: v4l2_ext_control
@@ -195,7 +193,6 @@ still cause this situation. · 69 unmodified lines
195193 * - }
196194 -
197195
198−
199196 .. tabularcolumns:: |p{4.0cm}|p{2.2cm}|p{2.1cm}|p{8.2cm}|
200197
201198 .. c:type:: v4l2_ext_controls
@@ -309,7 +306,6 @@ still cause this situation. · 107 unmodified lines
309306
310307 Ignored if ``count`` equals zero.
311308
312−
313309 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
314310
315311 .. _ctrl-class:
@@ -363,7 +359,6 @@ still cause this situation. · 47 unmodified lines
363359 - The class containing RF tuner controls. These controls are
364360 described in :ref:`rf-tuner-controls`.
365361
366−
367362 Return Value
368363 ============
369364
Documentation/userspace-api/media/v4l/vidioc-g-fbuf.rst+7−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_FBUF:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_FBUF - VIDIOC_S_FBUF - Get or set frame buffer overlay parameters
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_FBUF, struct v4l2_framebuffer *argp )
19− :name: VIDIOC_G_FBUF
18+.. c:macro:: VIDIOC_G_FBUF
19+
20+``int ioctl(int fd, VIDIOC_G_FBUF, struct v4l2_framebuffer *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_FBUF, const struct v4l2_framebuffer *argp )
22− :name: VIDIOC_S_FBUF
22+.. c:macro:: VIDIOC_S_FBUF
2323
24+``int ioctl(int fd, VIDIOC_S_FBUF, const struct v4l2_framebuffer *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_framebuffer`.
3334
34−
3535 Description
3636 ===========
3737
@@ -75,7 +75,6 @@ jeopardize the system security, its stability or even damage the · 37 unmodified lines
7575 hardware, therefore only the superuser can set the parameters for a
7676 destructive video overlay.
7777
78−
7978 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{3.5cm}|p{7.0cm}|
8079
8180 .. c:type:: v4l2_framebuffer
@@ -208,7 +207,6 @@ destructive video overlay. · 126 unmodified lines
208207 - ``priv``
209208 - Reserved. Drivers and applications must set this field to zero.
210209
211−
212210 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
213211
214212 .. _framebuffer-cap:
@@ -257,7 +255,6 @@ destructive video overlay. · 42 unmodified lines
257255 chroma-key colors are replaced by framebuffer pixels, which is
258256 exactly opposite of ``V4L2_FBUF_CAP_CHROMAKEY``
259257
260−
261258 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
262259
263260 .. _framebuffer-flags:
@@ -332,7 +329,6 @@ destructive video overlay. · 68 unmodified lines
332329 other, so same ``chromakey`` field of struct
333330 :c:type:`v4l2_window` is being used.
334331
335−
336332 Return Value
337333 ============
338334
Documentation/userspace-api/media/v4l/vidioc-g-fmt.rst+11−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_FMT:
45
@@ -11,29 +12,30 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_FMT - VIDIOC_S_FMT - VIDIOC_TRY_FMT - Get or set the data format, try a format
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_FMT, struct v4l2_format *argp )
19− :name: VIDIOC_G_FMT
18+.. c:macro:: VIDIOC_G_FMT
19+
20+``int ioctl(int fd, VIDIOC_G_FMT, struct v4l2_format *argp)``
21+
22+.. c:macro:: VIDIOC_S_FMT
23+
24+``int ioctl(int fd, VIDIOC_S_FMT, struct v4l2_format *argp)``
2025
21−.. c:function:: int ioctl( int fd, VIDIOC_S_FMT, struct v4l2_format *argp )
22− :name: VIDIOC_S_FMT
26+.. c:macro:: VIDIOC_TRY_FMT
2327
24−.. c:function:: int ioctl( int fd, VIDIOC_TRY_FMT, struct v4l2_format *argp )
25− :name: VIDIOC_TRY_FMT
28+``int ioctl(int fd, VIDIOC_TRY_FMT, struct v4l2_format *argp)``
2629
2730 Arguments
2831 =========
2932
3033 ``fd``
31− File descriptor returned by :ref:`open() <func-open>`.
34+ File descriptor returned by :c:func:`open()`.
3235
3336 ``argp``
3437 Pointer to struct :c:type:`v4l2_format`.
3538
36−
3739 Description
3840 ===========
3941
@@ -85,7 +87,6 @@ recommended drivers are not required to implement this ioctl. · 45 unmodified lines
8587 The format as returned by :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` must be identical to what
8688 :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` returns for the same input or output.
8789
88−
8990 .. c:type:: v4l2_format
9091
9192 .. tabularcolumns:: |p{1.2cm}|p{4.6cm}|p{3.0cm}|p{8.6cm}|
@@ -135,7 +136,6 @@ The format as returned by :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` must be identical · 43 unmodified lines
135136 * - }
136137 -
137138
138−
139139 Return Value
140140 ============
141141
Documentation/userspace-api/media/v4l/vidioc-g-frequency.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_FREQUENCY:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_FREQUENCY - VIDIOC_S_FREQUENCY - Get or set tuner or modulator radio frequency
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_FREQUENCY, struct v4l2_frequency *argp )
19− :name: VIDIOC_G_FREQUENCY
18+.. c:macro:: VIDIOC_G_FREQUENCY
19+
20+``int ioctl(int fd, VIDIOC_G_FREQUENCY, struct v4l2_frequency *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_FREQUENCY, const struct v4l2_frequency *argp )
22− :name: VIDIOC_S_FREQUENCY
22+.. c:macro:: VIDIOC_S_FREQUENCY
2323
24+``int ioctl(int fd, VIDIOC_S_FREQUENCY, const struct v4l2_frequency *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_frequency`.
3334
34−
3535 Description
3636 ===========
3737
@@ -51,7 +51,6 @@ structure. When the requested frequency is not possible the driver · 13 unmodified lines
5151 assumes the closest possible value. However :ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` is a
5252 write-only ioctl, it does not return the actual new frequency.
5353
54−
5554 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
5655
5756 .. c:type:: v4l2_frequency
@@ -89,7 +88,6 @@ write-only ioctl, it does not return the actual new frequency. · 31 unmodified lines
8988 - Reserved for future extensions. Drivers and applications must set
9089 the array to zero.
9190
92−
9391 Return Value
9492 ============
9593
Documentation/userspace-api/media/v4l/vidioc-g-input.rst+7−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_INPUT:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_INPUT - VIDIOC_S_INPUT - Query or select the current video input
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_INPUT, int *argp )
19− :name: VIDIOC_G_INPUT
18+.. c:macro:: VIDIOC_G_INPUT
19+
20+``int ioctl(int fd, VIDIOC_G_INPUT, int *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_INPUT, int *argp )
22− :name: VIDIOC_S_INPUT
22+.. c:macro:: VIDIOC_S_INPUT
2323
24+``int ioctl(int fd, VIDIOC_S_INPUT, int *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer an integer with input index.
3334
34−
3535 Description
3636 ===========
3737
@@ -52,7 +52,6 @@ other parameters. · 14 unmodified lines
5252 Information about video inputs is available using the
5353 :ref:`VIDIOC_ENUMINPUT` ioctl.
5454
55−
5655 Return Value
5756 ============
5857
Documentation/userspace-api/media/v4l/vidioc-g-jpegcomp.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_JPEGCOMP:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_JPEGCOMP - VIDIOC_S_JPEGCOMP
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp )
19− :name: VIDIOC_G_JPEGCOMP
18+.. c:macro:: VIDIOC_G_JPEGCOMP
19+
20+``int ioctl(int fd, VIDIOC_G_JPEGCOMP, v4l2_jpegcompression *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp )
22− :name: VIDIOC_S_JPEGCOMP
22+.. c:macro:: VIDIOC_S_JPEGCOMP
2323
24+``int ioctl(int fd, VIDIOC_S_JPEGCOMP, const v4l2_jpegcompression *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_jpegcompression`.
3334
34−
3535 Description
3636 ===========
3737
@@ -54,7 +54,6 @@ stored in the JPEG-encoded fields. These define how the JPEG field is · 16 unmodified lines
5454 encoded. If you omit them, applications assume you've used standard
5555 encoding. You usually do want to add them.
5656
57−
5857 .. tabularcolumns:: |p{1.2cm}|p{3.0cm}|p{13.3cm}|
5958
6059 .. c:type:: v4l2_jpegcompression
@@ -92,7 +91,6 @@ encoding. You usually do want to add them. · 31 unmodified lines
9291 control is exposed by a driver applications should use it instead
9392 and ignore this field.
9493
95−
9694 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
9795
9896 .. _jpeg-markers:
@@ -118,7 +116,6 @@ encoding. You usually do want to add them. · 19 unmodified lines
118116 - (1<<7)
119117 - App segment, driver will always use APP0
120118
121−
122119 Return Value
123120 ============
124121
Documentation/userspace-api/media/v4l/vidioc-g-modulator.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_MODULATOR:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_MODULATOR - VIDIOC_S_MODULATOR - Get or set modulator attributes
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_MODULATOR, struct v4l2_modulator *argp )
19− :name: VIDIOC_G_MODULATOR
18+.. c:macro:: VIDIOC_G_MODULATOR
19+
20+``int ioctl(int fd, VIDIOC_G_MODULATOR, struct v4l2_modulator *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_MODULATOR, const struct v4l2_modulator *argp )
22− :name: VIDIOC_S_MODULATOR
22+.. c:macro:: VIDIOC_S_MODULATOR
2323
24+``int ioctl(int fd, VIDIOC_S_MODULATOR, const struct v4l2_modulator *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_modulator`.
3334
34−
3535 Description
3636 ===========
3737
@@ -60,7 +60,6 @@ context. · 22 unmodified lines
6060 To change the radio frequency the
6161 :ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl is available.
6262
63−
6463 .. tabularcolumns:: |p{2.9cm}|p{2.9cm}|p{5.8cm}|p{2.9cm}|p{3.0cm}|
6564
6665 .. c:type:: v4l2_modulator
@@ -121,7 +120,6 @@ To change the radio frequency the · 54 unmodified lines
121120 Drivers and applications must set the array to zero.
122121
123122
124−
125123 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
126124
127125 .. _modulator-txsubchans:
@@ -182,7 +180,6 @@ To change the radio frequency the · 54 unmodified lines
182180 - 0x0010
183181 - Enable the RDS encoder for a radio FM transmitter.
184182
185−
186183 Return Value
187184 ============
188185
Documentation/userspace-api/media/v4l/vidioc-g-output.rst+7−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_OUTPUT:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_OUTPUT - VIDIOC_S_OUTPUT - Query or select the current video output
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_OUTPUT, int *argp )
19− :name: VIDIOC_G_OUTPUT
18+.. c:macro:: VIDIOC_G_OUTPUT
19+
20+``int ioctl(int fd, VIDIOC_G_OUTPUT, int *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_OUTPUT, int *argp )
22− :name: VIDIOC_S_OUTPUT
22+.. c:macro:: VIDIOC_S_OUTPUT
2323
24+``int ioctl(int fd, VIDIOC_S_OUTPUT, int *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to an integer with output index.
3334
34−
3535 Description
3636 ===========
3737
@@ -53,7 +53,6 @@ negotiating any other parameters. · 15 unmodified lines
5353 Information about video outputs is available using the
5454 :ref:`VIDIOC_ENUMOUTPUT` ioctl.
5555
56−
5756 Return Value
5857 ============
5958
Documentation/userspace-api/media/v4l/vidioc-g-parm.rst+12−18
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_PARM:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_PARM - VIDIOC_S_PARM - Get or set streaming parameters
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_PARM, v4l2_streamparm *argp )
19− :name: VIDIOC_G_PARM
18+.. c:macro:: VIDIOC_G_PARM
19+
20+``int ioctl(int fd, VIDIOC_G_PARM, v4l2_streamparm *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_PARM, v4l2_streamparm *argp )
22− :name: VIDIOC_S_PARM
22+.. c:macro:: VIDIOC_S_PARM
2323
24+``int ioctl(int fd, VIDIOC_S_PARM, v4l2_streamparm *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_streamparm`.
3334
34−
3535 Description
3636 ===========
3737
@@ -48,7 +48,7 @@ format, on the other hand, may change the frame interval. · 10 unmodified lines
4848
4949 Further these ioctls can be used to determine the number of buffers used
5050 internally by a driver in read/write mode. For implications see the
51−section discussing the :ref:`read() <func-read>` function.
51+section discussing the :c:func:`read()` function.
5252
5353 To get and set the streaming parameters applications call the
5454 :ref:`VIDIOC_G_PARM <VIDIOC_G_PARM>` and
@@ -56,7 +56,6 @@ To get and set the streaming parameters applications call the · 1 unmodified line
5656 pointer to a struct :c:type:`v4l2_streamparm` which contains a
5757 union holding separate parameters for input and output devices.
5858
59−
6059 .. tabularcolumns:: |p{3.5cm}|p{3.5cm}|p{3.5cm}|p{7.0cm}|
6160
6261 .. c:type:: v4l2_streamparm
@@ -89,7 +88,6 @@ union holding separate parameters for input and output devices. · 26 unmodified lines
8988 -
9089
9190
92−
9391 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
9492
9593 .. c:type:: v4l2_captureparm
@@ -138,7 +136,7 @@ union holding separate parameters for input and output devices. · 42 unmodified lines
138136 * - __u32
139137 - ``readbuffers``
140138 - Applications set this field to the desired number of buffers used
141− internally by the driver in :ref:`read() <func-read>` mode.
139+ internally by the driver in :c:func:`read()` mode.
142140 Drivers return the actual number of buffers. When an application
143141 requests zero buffers, drivers should just return the current
144142 setting rather than the minimum or an error code. For details see
@@ -149,7 +147,6 @@ union holding separate parameters for input and output devices. · 4 unmodified lines
149147 the array to zero.
150148
151149
152−
153150 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
154151
155152 .. c:type:: v4l2_outputparm
@@ -172,7 +169,7 @@ union holding separate parameters for input and output devices. · 16 unmodified lines
172169 * - :cspan:`2`
173170
174171 The field is intended to repeat frames on the driver side in
175− :ref:`write() <func-write>` mode (in streaming mode timestamps
172+ :c:func:`write()` mode (in streaming mode timestamps
176173 can be used to throttle the output), saving I/O bandwidth.
177174
178175 For stateful encoders (see :ref:`encoder`) this represents the
@@ -199,7 +196,7 @@ union holding separate parameters for input and output devices. · 20 unmodified lines
199196 * - __u32
200197 - ``writebuffers``
201198 - Applications set this field to the desired number of buffers used
202− internally by the driver in :ref:`write() <func-write>` mode. Drivers
199+ internally by the driver in :c:func:`write()` mode. Drivers
203200 return the actual number of buffers. When an application requests
204201 zero buffers, drivers should just return the current setting
205202 rather than the minimum or an error code. For details see
@@ -210,7 +207,6 @@ union holding separate parameters for input and output devices. · 4 unmodified lines
210207 the array to zero.
211208
212209
213−
214210 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
215211
216212 .. _parm-caps:
@@ -226,7 +222,6 @@ union holding separate parameters for input and output devices. · 9 unmodified lines
226222 field.
227223
228224
229−
230225 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
231226
232227 .. _parm-flags:
@@ -265,8 +260,7 @@ union holding separate parameters for input and output devices. · 32 unmodified lines
265260
266261 - Moving objects in the image might have excessive motion blur.
267262
268− - Capture might only work through the :ref:`read() <func-read>` call.
269−
263+ - Capture might only work through the :c:func:`read()` call.
270264
271265 Return Value
272266 ============
Documentation/userspace-api/media/v4l/vidioc-g-priority.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_PRIORITY:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_PRIORITY - VIDIOC_S_PRIORITY - Query or request the access priority associated with a file descriptor
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp )
19− :name: VIDIOC_G_PRIORITY
18+.. c:macro:: VIDIOC_G_PRIORITY
19+
20+``int ioctl(int fd, VIDIOC_G_PRIORITY, enum v4l2_priority *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp )
22− :name: VIDIOC_S_PRIORITY
22+.. c:macro:: VIDIOC_S_PRIORITY
2323
24+``int ioctl(int fd, VIDIOC_S_PRIORITY, const enum v4l2_priority *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to an enum :c:type:`v4l2_priority` type.
3334
34−
3535 Description
3636 ===========
3737
@@ -43,7 +43,6 @@ To request an access priority applications store the desired priority in · 5 unmodified lines
4343 an enum v4l2_priority variable and call :ref:`VIDIOC_S_PRIORITY <VIDIOC_G_PRIORITY>` ioctl
4444 with a pointer to this variable.
4545
46−
4746 .. c:type:: v4l2_priority
4847
4948 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
@@ -78,7 +77,6 @@ with a pointer to this variable. · 28 unmodified lines
7877 it blocks any other fd from changing device properties. Usually
7978 applications which must not be interrupted, like video recording.
8079
81−
8280 Return Value
8381 ============
8482
Documentation/userspace-api/media/v4l/vidioc-g-selection.rst+6−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_SELECTION:
45
@@ -11,23 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_SELECTION - VIDIOC_S_SELECTION - Get or set one of the selection rectangles
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_SELECTION, struct v4l2_selection *argp )
19− :name: VIDIOC_G_SELECTION
18+.. c:macro:: VIDIOC_G_SELECTION
2019
20+``int ioctl(int fd, VIDIOC_G_SELECTION, struct v4l2_selection *argp)``
2121
22−.. c:function:: int ioctl( int fd, VIDIOC_S_SELECTION, struct v4l2_selection *argp )
23− :name: VIDIOC_S_SELECTION
22+.. c:macro:: VIDIOC_S_SELECTION
2423
24+``int ioctl(int fd, VIDIOC_S_SELECTION, struct v4l2_selection *argp)``
2525
2626 Arguments
2727 =========
2828
2929 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3131
3232 ``argp``
3333 Pointer to struct :c:type:`v4l2_selection`.
@@ -115,7 +115,6 @@ constraints. · 81 unmodified lines
115115 Selection targets and flags are documented in
116116 :ref:`v4l2-selections-common`.
117117
118−
119118 .. _sel-const-adjust:
120119
121120 .. kernel-figure:: constraints.svg
@@ -128,7 +127,6 @@ Selection targets and flags are documented in · 6 unmodified lines
128127
129128
130129
131−
132130 .. c:type:: v4l2_selection
133131
134132 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -168,7 +166,6 @@ Selection targets and flags are documented in · 33 unmodified lines
168166
169167 Starting with kernel 4.13 both variations are allowed.
170168
171−
172169 Return Value
173170 ============
174171
Documentation/userspace-api/media/v4l/vidioc-g-sliced-vbi-cap.rst+4−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_SLICED_VBI_CAP:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_SLICED_VBI_CAP - Query sliced VBI capabilities
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_SLICED_VBI_CAP, struct v4l2_sliced_vbi_cap *argp )
19− :name: VIDIOC_G_SLICED_VBI_CAP
18+.. c:macro:: VIDIOC_G_SLICED_VBI_CAP
2019
20+``int ioctl(int fd, VIDIOC_G_SLICED_VBI_CAP, struct v4l2_sliced_vbi_cap *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_sliced_vbi_cap`.
3030
31−
3231 Description
3332 ===========
3433
@@ -44,7 +43,6 @@ the sliced VBI API is unsupported or ``type`` is invalid. · 9 unmodified lines
4443 The ``type`` field was added, and the ioctl changed from read-only
4544 to write-read, in Linux 2.6.19.
4645
47−
4846 .. c:type:: v4l2_sliced_vbi_cap
4947
5048 .. tabularcolumns:: |p{1.2cm}|p{4.2cm}|p{4.1cm}|p{4.0cm}|p{4.0cm}|
@@ -120,7 +118,6 @@ the sliced VBI API is unsupported or ``type`` is invalid. · 69 unmodified lines
120118
121119 See also :ref:`vbi-525` and :ref:`vbi-625`.
122120
123−
124121 .. raw:: latex
125122
126123 \scriptsize
@@ -183,7 +180,6 @@ the sliced VBI API is unsupported or ``type`` is invalid. · 56 unmodified lines
183180
184181 \normalsize
185182
186−
187183 Return Value
188184 ============
189185
Documentation/userspace-api/media/v4l/vidioc-g-std.rst+13−11
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_STD:
45
@@ -11,33 +12,34 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_STD - VIDIOC_S_STD - VIDIOC_SUBDEV_G_STD - VIDIOC_SUBDEV_S_STD - Query or select the video standard of the current input
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_STD, v4l2_std_id *argp )
19− :name: VIDIOC_G_STD
18+.. c:macro:: VIDIOC_G_STD
19+
20+``int ioctl(int fd, VIDIOC_G_STD, v4l2_std_id *argp)``
21+
22+.. c:macro:: VIDIOC_S_STD
2023
21−.. c:function:: int ioctl( int fd, VIDIOC_S_STD, const v4l2_std_id *argp )
22− :name: VIDIOC_S_STD
24+``int ioctl(int fd, VIDIOC_S_STD, const v4l2_std_id *argp)``
2325
24−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_STD, v4l2_std_id *argp )
25− :name: VIDIOC_SUBDEV_G_STD
26+.. c:macro:: VIDIOC_SUBDEV_G_STD
2627
27−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_STD, const v4l2_std_id *argp )
28− :name: VIDIOC_SUBDEV_S_STD
28+``int ioctl(int fd, VIDIOC_SUBDEV_G_STD, v4l2_std_id *argp)``
2929
30+.. c:macro:: VIDIOC_SUBDEV_S_STD
31+
32+``int ioctl(int fd, VIDIOC_SUBDEV_S_STD, const v4l2_std_id *argp)``
3033
3134 Arguments
3235 =========
3336
3437 ``fd``
35− File descriptor returned by :ref:`open() <func-open>`.
38+ File descriptor returned by :c:func:`open()`.
3639
3740 ``argp``
3841 Pointer to :c:type:`v4l2_std_id`.
3942
40−
4143 Description
4244 ===========
4345
Documentation/userspace-api/media/v4l/vidioc-g-tuner.rst+7−12
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_G_TUNER:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_G_TUNER - VIDIOC_S_TUNER - Get or set tuner attributes
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_G_TUNER, struct v4l2_tuner *argp )
19− :name: VIDIOC_G_TUNER
18+.. c:macro:: VIDIOC_G_TUNER
19+
20+``int ioctl(int fd, VIDIOC_G_TUNER, struct v4l2_tuner *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_S_TUNER, const struct v4l2_tuner *argp )
22− :name: VIDIOC_S_TUNER
22+.. c:macro:: VIDIOC_S_TUNER
2323
24+``int ioctl(int fd, VIDIOC_S_TUNER, const struct v4l2_tuner *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_tuner`.
3334
34−
3535 Description
3636 ===========
3737
@@ -59,7 +59,6 @@ to zero. The term 'tuner' means SDR receiver in this context. · 21 unmodified lines
5959 To change the radio frequency the
6060 :ref:`VIDIOC_S_FREQUENCY <VIDIOC_G_FREQUENCY>` ioctl is available.
6161
62−
6362 .. tabularcolumns:: |p{1.3cm}|p{3.0cm}|p{6.6cm}|p{6.6cm}|
6463
6564 .. c:type:: v4l2_tuner
@@ -183,7 +182,6 @@ To change the radio frequency the · 117 unmodified lines
183182 Drivers and applications must set the array to zero.
184183
185184
186−
187185 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
188186
189187 .. c:type:: v4l2_tuner_type
@@ -207,7 +205,6 @@ To change the radio frequency the · 17 unmodified lines
207205 - 5
208206 - Tuner controls the RF part of a Software Digital Radio (SDR)
209207
210−
211208 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
212209
213210 .. _tuner-capability:
@@ -299,7 +296,6 @@ To change the radio frequency the · 85 unmodified lines
299296 instead of 62.5 kHz.
300297
301298
302−
303299 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
304300
305301 .. _tuner-rxsubchans:
@@ -338,7 +334,6 @@ To change the radio frequency the · 32 unmodified lines
338334 - The tuner receives an RDS channel.
339335
340336
341−
342337 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
343338
344339 .. _tuner-audmode:
Documentation/userspace-api/media/v4l/vidioc-log-status.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_LOG_STATUS:
45
@@ -11,20 +12,18 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_LOG_STATUS - Log driver status information
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_LOG_STATUS)
19− :name: VIDIOC_LOG_STATUS
18+.. c:macro:: VIDIOC_LOG_STATUS
2019
20+``int ioctl(int fd, VIDIOC_LOG_STATUS)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
27−
26+ File descriptor returned by :c:func:`open()`.
2827
2928 Description
3029 ===========
@@ -40,7 +39,6 @@ Mismatches may give an indication where the problem is. · 9 unmodified lines
4039 This ioctl is optional and not all drivers support it. It was introduced
4140 in Linux 2.6.15.
4241
43−
4442 Return Value
4543 ============
4644
Documentation/userspace-api/media/v4l/vidioc-overlay.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_OVERLAY:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_OVERLAY - Start or stop video overlay
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_OVERLAY, const int *argp )
19− :name: VIDIOC_OVERLAY
18+.. c:macro:: VIDIOC_OVERLAY
2019
20+``int ioctl(int fd, VIDIOC_OVERLAY, const int *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to an integer.
3030
31−
3231 Description
3332 ===========
3433
@@ -41,7 +40,6 @@ Drivers do not support :ref:`VIDIOC_STREAMON` or · 6 unmodified lines
4140 :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>` with
4241 ``V4L2_BUF_TYPE_VIDEO_OVERLAY``.
4342
44−
4543 Return Value
4644 ============
4745
Documentation/userspace-api/media/v4l/vidioc-prepare-buf.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_PREPARE_BUF:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_PREPARE_BUF - Prepare a buffer for I/O
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp )
19− :name: VIDIOC_PREPARE_BUF
18+.. c:macro:: VIDIOC_PREPARE_BUF
2019
20+``int ioctl(int fd, VIDIOC_PREPARE_BUF, struct v4l2_buffer *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_buffer`.
3030
31−
3231 Description
3332 ===========
3433
@@ -41,7 +40,6 @@ in advance saves time during the actual I/O. · 6 unmodified lines
4140 The struct :c:type:`v4l2_buffer` structure is specified in
4241 :ref:`buffer`.
4342
44−
4543 Return Value
4644 ============
4745
Documentation/userspace-api/media/v4l/vidioc-qbuf.rst+8−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QBUF:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QBUF - VIDIOC_DQBUF - Exchange a buffer with the driver
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_QBUF, struct v4l2_buffer *argp )
19− :name: VIDIOC_QBUF
18+.. c:macro:: VIDIOC_QBUF
19+
20+``int ioctl(int fd, VIDIOC_QBUF, struct v4l2_buffer *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_DQBUF, struct v4l2_buffer *argp )
22− :name: VIDIOC_DQBUF
22+.. c:macro:: VIDIOC_DQBUF
2323
24+``int ioctl(int fd, VIDIOC_DQBUF, struct v4l2_buffer *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_buffer`.
3334
34−
3535 Description
3636 ===========
3737
@@ -142,13 +142,12 @@ API is used the ``m.fd`` fields of the passed array of struct · 104 unmodified lines
142142
143143 By default ``VIDIOC_DQBUF`` blocks when no buffer is in the outgoing
144144 queue. When the ``O_NONBLOCK`` flag was given to the
145−:ref:`open() <func-open>` function, ``VIDIOC_DQBUF`` returns
145+:c:func:`open()` function, ``VIDIOC_DQBUF`` returns
146146 immediately with an ``EAGAIN`` error code when no buffer is available.
147147
148148 The struct :c:type:`v4l2_buffer` structure is specified in
149149 :ref:`buffer`.
150150
151−
152151 Return Value
153152 ============
154153
Documentation/userspace-api/media/v4l/vidioc-query-dv-timings.rst+7−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QUERY_DV_TIMINGS:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QUERY_DV_TIMINGS - VIDIOC_SUBDEV_QUERY_DV_TIMINGS - Sense the DV preset received by the current input
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_QUERY_DV_TIMINGS, struct v4l2_dv_timings *argp )
19− :name: VIDIOC_QUERY_DV_TIMINGS
18+.. c:macro:: VIDIOC_QUERY_DV_TIMINGS
19+
20+``int ioctl(int fd, VIDIOC_QUERY_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_QUERY_DV_TIMINGS, struct v4l2_dv_timings *argp )
22− :name: VIDIOC_SUBDEV_QUERY_DV_TIMINGS
22+.. c:macro:: VIDIOC_SUBDEV_QUERY_DV_TIMINGS
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_QUERY_DV_TIMINGS, struct v4l2_dv_timings *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_dv_timings`.
3334
34−
3535 Description
3636 ===========
3737
@@ -65,7 +65,6 @@ and returns ``ERANGE``. In that case the application can call · 27 unmodified lines
6565 found timings with the hardware's capabilities in order to give more
6666 precise feedback to the user.
6767
68−
6968 Return Value
7069 ============
7170
Documentation/userspace-api/media/v4l/vidioc-querybuf.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QUERYBUF:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QUERYBUF - Query the status of a buffer
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_QUERYBUF, struct v4l2_buffer *argp )
19− :name: VIDIOC_QUERYBUF
18+.. c:macro:: VIDIOC_QUERYBUF
2019
20+``int ioctl(int fd, VIDIOC_QUERYBUF, struct v4l2_buffer *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_buffer`.
3030
31−
3231 Description
3332 ===========
3433
@@ -67,7 +66,6 @@ flags, they are meaningless in this context. · 32 unmodified lines
6766 The struct :c:type:`v4l2_buffer` structure is specified in
6867 :ref:`buffer`.
6968
70−
7169 Return Value
7270 ============
7371
Documentation/userspace-api/media/v4l/vidioc-querycap.rst+6−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QUERYCAP:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QUERYCAP - Query device capabilities
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_QUERYCAP, struct v4l2_capability *argp )
19− :name: VIDIOC_QUERYCAP
18+.. c:macro:: VIDIOC_QUERYCAP
2019
20+``int ioctl(int fd, VIDIOC_QUERYCAP, struct v4l2_capability *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_capability`.
3030
31−
3231 Description
3332 ===========
3433
@@ -39,7 +38,6 @@ pointer to a struct :c:type:`v4l2_capability` which is · 4 unmodified lines
3938 filled by the driver. When the driver is not compatible with this
4039 specification the ioctl returns an ``EINVAL`` error code.
4140
42−
4341 .. tabularcolumns:: |p{1.5cm}|p{2.5cm}|p{13cm}|
4442
4543 .. c:type:: v4l2_capability
@@ -132,7 +130,6 @@ specification the ioctl returns an ``EINVAL`` error code. · 86 unmodified lines
132130 zero.
133131
134132
135−
136133 .. tabularcolumns:: |p{6.1cm}|p{2.2cm}|p{8.7cm}|
137134
138135 .. _device-capabilities:
@@ -243,8 +240,8 @@ specification the ioctl returns an ``EINVAL`` error code. · 104 unmodified lines
243240 - The device supports the :ref:`metadata` capture interface.
244241 * - ``V4L2_CAP_READWRITE``
245242 - 0x01000000
246− - The device supports the :ref:`read() <rw>` and/or
247− :ref:`write() <rw>` I/O methods.
243+ - The device supports the :c:func:`read()` and/or
244+ :c:func:`write()` I/O methods.
248245 * - ``V4L2_CAP_ASYNCIO``
249246 - 0x02000000
250247 - The device supports the :ref:`asynchronous <async>` I/O methods.
@@ -269,7 +266,6 @@ specification the ioctl returns an ``EINVAL`` error code. · 18 unmodified lines
269266 only appear in the ``capabilities`` field and never in the
270267 ``device_caps`` field.
271268
272−
273269 Return Value
274270 ============
275271
Documentation/userspace-api/media/v4l/vidioc-queryctrl.rst+8−14
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QUERYCTRL:
45
@@ -11,31 +12,29 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QUERYCTRL - VIDIOC_QUERY_EXT_CTRL - VIDIOC_QUERYMENU - Enumerate controls and menu control items
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, int VIDIOC_QUERYCTRL, struct v4l2_queryctrl *argp )
19− :name: VIDIOC_QUERYCTRL
18+``int ioctl(int fd, int VIDIOC_QUERYCTRL, struct v4l2_queryctrl *argp)``
19+
20+.. c:macro:: VIDIOC_QUERY_EXT_CTRL
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_QUERY_EXT_CTRL, struct v4l2_query_ext_ctrl *argp )
22− :name: VIDIOC_QUERY_EXT_CTRL
22+``int ioctl(int fd, VIDIOC_QUERY_EXT_CTRL, struct v4l2_query_ext_ctrl *argp)``
2323
24−.. c:function:: int ioctl( int fd, VIDIOC_QUERYMENU, struct v4l2_querymenu *argp )
25− :name: VIDIOC_QUERYMENU
24+.. c:macro:: VIDIOC_QUERYMENU
2625
26+``int ioctl(int fd, VIDIOC_QUERYMENU, struct v4l2_querymenu *argp)``
2727
2828 Arguments
2929 =========
3030
3131 ``fd``
32− File descriptor returned by :ref:`open() <func-open>`.
32+ File descriptor returned by :c:func:`open()`.
3333
3434 ``argp``
3535 Pointer to struct :c:type:`v4l2_queryctrl`, :c:type:`v4l2_query_ext_ctrl`
3636 or :c:type:`v4l2_querymenu` (depending on the ioctl).
3737
38−
3938 Description
4039 ===========
4140
@@ -95,7 +94,6 @@ inclusive. · 53 unmodified lines
9594
9695 See also the examples in :ref:`control`.
9796
98−
9997 .. tabularcolumns:: |p{1.2cm}|p{3.6cm}|p{12.7cm}|
10098
10199 .. _v4l2-queryctrl:
@@ -174,7 +172,6 @@ See also the examples in :ref:`control`. · 72 unmodified lines
174172 zero.
175173
176174
177−
178175 .. tabularcolumns:: |p{1.2cm}|p{5.0cm}|p{11.3cm}|
179176
180177 .. _v4l2-query-ext-ctrl:
@@ -275,7 +272,6 @@ See also the examples in :ref:`control`. · 94 unmodified lines
275272 the array to zero.
276273
277274
278−
279275 .. tabularcolumns:: |p{1.2cm}|p{1.0cm}|p{1.7cm}|p{13.0cm}|
280276
281277 .. _v4l2-querymenu:
@@ -311,7 +307,6 @@ See also the examples in :ref:`control`. · 29 unmodified lines
311307 zero.
312308
313309
314−
315310 .. tabularcolumns:: |p{5.8cm}|p{1.4cm}|p{1.0cm}|p{1.4cm}|p{6.9cm}|
316311
317312 .. c:type:: v4l2_ctrl_type
@@ -582,7 +577,6 @@ See also the examples in :ref:`control`. · 264 unmodified lines
582577 streaming is in progress since most drivers do not support changing
583578 the format in that case.
584579
585−
586580 Return Value
587581 ============
588582
Documentation/userspace-api/media/v4l/vidioc-querystd.rst+7−8
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_QUERYSTD:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_QUERYSTD - VIDIOC_SUBDEV_QUERYSTD - Sense the video standard received by the current input
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_QUERYSTD, v4l2_std_id *argp )
19− :name: VIDIOC_QUERYSTD
18+.. c:macro:: VIDIOC_QUERYSTD
19+
20+``int ioctl(int fd, VIDIOC_QUERYSTD, v4l2_std_id *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_QUERYSTD, v4l2_std_id *argp )
22− :name: VIDIOC_SUBDEV_QUERYSTD
22+.. c:macro:: VIDIOC_SUBDEV_QUERYSTD
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_QUERYSTD, v4l2_std_id *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to :c:type:`v4l2_std_id`.
3334
34−
3535 Description
3636 ===========
3737
@@ -58,7 +58,6 @@ or output. · 20 unmodified lines
5858 standard is valid they will have to stop streaming, set the new
5959 standard, allocate new buffers and start streaming again.
6060
61−
6261 Return Value
6362 ============
6463
Documentation/userspace-api/media/v4l/vidioc-reqbufs.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_REQBUFS:
45
@@ -11,19 +12,18 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_REQBUFS - Initiate Memory Mapping, User Pointer I/O or DMA buffer I/O
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_REQBUFS, struct v4l2_requestbuffers *argp )
19− :name: VIDIOC_REQBUFS
18+.. c:macro:: VIDIOC_REQBUFS
2019
20+``int ioctl(int fd, VIDIOC_REQBUFS, struct v4l2_requestbuffers *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_requestbuffers`.
@@ -69,7 +69,6 @@ fds are closed. A ``count`` value of zero frees or orphans all buffers, after · 39 unmodified lines
6969 aborting or finishing any DMA in progress, an implicit
7070 :ref:`VIDIOC_STREAMOFF <VIDIOC_STREAMON>`.
7171
72−
7372 .. c:type:: v4l2_requestbuffers
7473
7574 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -158,7 +157,6 @@ aborting or finishing any DMA in progress, an implicit · 82 unmodified lines
158157 :ref:`V4L2_BUF_FLAG_NO_CACHE_INVALIDATE <V4L2-BUF-FLAG-NO-CACHE-INVALIDATE>` and
159158 :ref:`V4L2_BUF_FLAG_NO_CACHE_CLEAN <V4L2-BUF-FLAG-NO-CACHE-CLEAN>`.
160159
161−
162160 Return Value
163161 ============
164162
Documentation/userspace-api/media/v4l/vidioc-s-hw-freq-seek.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_S_HW_FREQ_SEEK:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_S_HW_FREQ_SEEK - Perform a hardware frequency seek
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_S_HW_FREQ_SEEK, struct v4l2_hw_freq_seek *argp )
19− :name: VIDIOC_S_HW_FREQ_SEEK
18+.. c:macro:: VIDIOC_S_HW_FREQ_SEEK
2019
20+``int ioctl(int fd, VIDIOC_S_HW_FREQ_SEEK, struct v4l2_hw_freq_seek *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_hw_freq_seek`.
3030
31−
3231 Description
3332 ===========
3433
@@ -59,7 +58,6 @@ set. · 24 unmodified lines
5958 If this ioctl is called from a non-blocking filehandle, then ``EAGAIN``
6059 error code is returned and no seek takes place.
6160
62−
6361 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
6462
6563 .. c:type:: v4l2_hw_freq_seek
@@ -116,7 +114,6 @@ error code is returned and no seek takes place. · 50 unmodified lines
116114 - Reserved for future extensions. Applications must set the array to
117115 zero.
118116
119−
120117 Return Value
121118 ============
122119
Documentation/userspace-api/media/v4l/vidioc-streamon.rst+7−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_STREAMON:
45
@@ -11,22 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_STREAMON - VIDIOC_STREAMOFF - Start or stop streaming I/O
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_STREAMON, const int *argp )
19− :name: VIDIOC_STREAMON
18+.. c:macro:: VIDIOC_STREAMON
19+
20+``int ioctl(int fd, VIDIOC_STREAMON, const int *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_STREAMOFF, const int *argp )
22− :name: VIDIOC_STREAMOFF
22+.. c:macro:: VIDIOC_STREAMOFF
2323
24+``int ioctl(int fd, VIDIOC_STREAMOFF, const int *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to an integer.
@@ -84,7 +85,6 @@ state as mentioned above. · 51 unmodified lines
8485 no notion of starting or stopping "now". Buffer timestamps can be used
8586 to synchronize with other events.
8687
87−
8888 Return Value
8989 ============
9090
Documentation/userspace-api/media/v4l/vidioc-subdev-enum-frame-interval.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL - Enumerate frame intervals
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, struct v4l2_subdev_frame_interval_enum * argp )
19− :name: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL
18+.. c:macro:: VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL
2019
20+``int ioctl(int fd, VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL, struct v4l2_subdev_frame_interval_enum * argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_subdev_frame_interval_enum`.
3030
31−
3231 Description
3332 ===========
3433
@@ -97,7 +96,6 @@ multiple pads of the same sub-device is not defined. · 62 unmodified lines
9796 - Reserved for future extensions. Applications and drivers must set
9897 the array to zero.
9998
100−
10199 Return Value
102100 ============
103101
Documentation/userspace-api/media/v4l/vidioc-subdev-enum-frame-size.rst+4−7
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_ENUM_FRAME_SIZE:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_ENUM_FRAME_SIZE - Enumerate media bus frame sizes
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_FRAME_SIZE, struct v4l2_subdev_frame_size_enum * argp )
19− :name: VIDIOC_SUBDEV_ENUM_FRAME_SIZE
18+.. c:macro:: VIDIOC_SUBDEV_ENUM_FRAME_SIZE
2019
20+``int ioctl(int fd, VIDIOC_SUBDEV_ENUM_FRAME_SIZE, struct v4l2_subdev_frame_size_enum * argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_subdev_frame_size_enum`.
3030
31−
3231 Description
3332 ===========
3433
@@ -62,7 +61,6 @@ current values of V4L2 controls. See · 27 unmodified lines
6261 :ref:`VIDIOC_SUBDEV_G_FMT` for more
6362 information about try formats.
6463
65−
6664 .. c:type:: v4l2_subdev_frame_size_enum
6765
6866 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -103,7 +101,6 @@ information about try formats. · 34 unmodified lines
103101 - Reserved for future extensions. Applications and drivers must set
104102 the array to zero.
105103
106−
107104 Return Value
108105 ============
109106
Documentation/userspace-api/media/v4l/vidioc-subdev-enum-mbus-code.rst+4−6
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_ENUM_MBUS_CODE:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_ENUM_MBUS_CODE - Enumerate media bus formats
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_ENUM_MBUS_CODE, struct v4l2_subdev_mbus_code_enum * argp )
19− :name: VIDIOC_SUBDEV_ENUM_MBUS_CODE
18+.. c:macro:: VIDIOC_SUBDEV_ENUM_MBUS_CODE
2019
20+``int ioctl(int fd, VIDIOC_SUBDEV_ENUM_MBUS_CODE, struct v4l2_subdev_mbus_code_enum * argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_subdev_mbus_code_enum`.
3030
31−
3231 Description
3332 ===========
3433
@@ -47,7 +46,6 @@ other pads of the sub-device, as well as on the current active links. · 12 unmodified lines
4746 See :ref:`VIDIOC_SUBDEV_G_FMT` for more
4847 information about the try formats.
4948
50−
5149 .. c:type:: v4l2_subdev_mbus_code_enum
5250
5351 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_G_CROP:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_G_CROP - VIDIOC_SUBDEV_S_CROP - Get or set the crop rectangle on a subdev pad
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_CROP, struct v4l2_subdev_crop *argp )
19− :name: VIDIOC_SUBDEV_G_CROP
18+.. c:macro:: VIDIOC_SUBDEV_G_CROP
19+
20+``int ioctl(int fd, VIDIOC_SUBDEV_G_CROP, struct v4l2_subdev_crop *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_CROP, const struct v4l2_subdev_crop *argp )
22− :name: VIDIOC_SUBDEV_S_CROP
22+.. c:macro:: VIDIOC_SUBDEV_S_CROP
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_S_CROP, const struct v4l2_subdev_crop *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_subdev_crop`.
3334
34−
3535 Description
3636 ===========
3737
@@ -76,7 +76,6 @@ rectangle doesn't match the device capabilities. They must instead · 38 unmodified lines
7676 modify the rectangle to match what the hardware can provide. The
7777 modified format should be as close as possible to the original request.
7878
79−
8079 .. c:type:: v4l2_subdev_crop
8180
8281 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -101,7 +100,6 @@ modified format should be as close as possible to the original request. · 18 unmodified lines
101100 - Reserved for future extensions. Applications and drivers must set
102101 the array to zero.
103102
104−
105103 Return Value
106104 ============
107105
Documentation/userspace-api/media/v4l/vidioc-subdev-g-fmt.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_G_FMT:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_G_FMT - VIDIOC_SUBDEV_S_FMT - Get or set the data format on a subdev pad
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_FMT, struct v4l2_subdev_format *argp )
19− :name: VIDIOC_SUBDEV_G_FMT
18+.. c:macro:: VIDIOC_SUBDEV_G_FMT
19+
20+``int ioctl(int fd, VIDIOC_SUBDEV_G_FMT, struct v4l2_subdev_format *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_FMT, struct v4l2_subdev_format *argp )
22− :name: VIDIOC_SUBDEV_S_FMT
22+.. c:macro:: VIDIOC_SUBDEV_S_FMT
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_S_FMT, struct v4l2_subdev_format *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_subdev_format`.
3334
34−
3535 Description
3636 ===========
3737
@@ -81,7 +81,6 @@ doesn't match the device capabilities. They must instead modify the · 43 unmodified lines
8181 format to match what the hardware can provide. The modified format
8282 should be as close as possible to the original request.
8383
84−
8584 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
8685
8786 .. c:type:: v4l2_subdev_format
@@ -108,7 +107,6 @@ should be as close as possible to the original request. · 20 unmodified lines
108107 the array to zero.
109108
110109
111−
112110 .. tabularcolumns:: |p{6.6cm}|p{2.2cm}|p{8.7cm}|
113111
114112 .. _v4l2-subdev-format-whence:
@@ -125,7 +123,6 @@ should be as close as possible to the original request. · 10 unmodified lines
125123 - 1
126124 - Active formats, applied to the hardware.
127125
128−
129126 Return Value
130127 ============
131128
Documentation/userspace-api/media/v4l/vidioc-subdev-g-frame-interval.rst+7−9
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_G_FRAME_INTERVAL:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_G_FRAME_INTERVAL - VIDIOC_SUBDEV_S_FRAME_INTERVAL - Get or set the frame interval on a subdev pad
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp )
19− :name: VIDIOC_SUBDEV_G_FRAME_INTERVAL
18+.. c:macro:: VIDIOC_SUBDEV_G_FRAME_INTERVAL
19+
20+``int ioctl(int fd, VIDIOC_SUBDEV_G_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp )
22− :name: VIDIOC_SUBDEV_S_FRAME_INTERVAL
22+.. c:macro:: VIDIOC_SUBDEV_S_FRAME_INTERVAL
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_S_FRAME_INTERVAL, struct v4l2_subdev_frame_interval *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_subdev_frame_interval`.
3334
34−
3535 Description
3636 ===========
3737
@@ -74,7 +74,6 @@ Sub-devices that support the frame interval ioctls should implement them · 36 unmodified lines
7474 on a single pad only. Their behaviour when supported on multiple pads of
7575 the same sub-device is not defined.
7676
77−
7877 .. c:type:: v4l2_subdev_frame_interval
7978
8079 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -95,7 +94,6 @@ the same sub-device is not defined. · 14 unmodified lines
9594 - Reserved for future extensions. Applications and drivers must set
9695 the array to zero.
9796
98−
9997 Return Value
10098 ============
10199
Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_G_SELECTION:
45
@@ -11,27 +12,26 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_G_SELECTION - VIDIOC_SUBDEV_S_SELECTION - Get or set selection rectangles on a subdev pad
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_G_SELECTION, struct v4l2_subdev_selection *argp )
19− :name: VIDIOC_SUBDEV_G_SELECTION
18+.. c:macro:: VIDIOC_SUBDEV_G_SELECTION
19+
20+``int ioctl(int fd, VIDIOC_SUBDEV_G_SELECTION, struct v4l2_subdev_selection *argp)``
2021
21−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_S_SELECTION, struct v4l2_subdev_selection *argp )
22− :name: VIDIOC_SUBDEV_S_SELECTION
22+.. c:macro:: VIDIOC_SUBDEV_S_SELECTION
2323
24+``int ioctl(int fd, VIDIOC_SUBDEV_S_SELECTION, struct v4l2_subdev_selection *argp)``
2425
2526 Arguments
2627 =========
2728
2829 ``fd``
29− File descriptor returned by :ref:`open() <func-open>`.
30+ File descriptor returned by :c:func:`open()`.
3031
3132 ``argp``
3233 Pointer to struct :c:type:`v4l2_subdev_selection`.
3334
34−
3535 Description
3636 ===========
3737
@@ -58,7 +58,6 @@ There are two types of selection targets: actual and bounds. The actual · 20 unmodified lines
5858 targets are the targets which configure the hardware. The BOUNDS target
5959 will return a rectangle that contain all possible actual rectangles.
6060
61−
6261 Discovering supported features
6362 ------------------------------
6463
@@ -69,7 +68,6 @@ return ``EINVAL``. · 4 unmodified lines
6968 Selection targets and flags are documented in
7069 :ref:`v4l2-selections-common`.
7170
72−
7371 .. c:type:: v4l2_subdev_selection
7472
7573 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@@ -100,7 +98,6 @@ Selection targets and flags are documented in · 24 unmodified lines
10098 - Reserved for future extensions. Applications and drivers must set
10199 the array to zero.
102100
103−
104101 Return Value
105102 ============
106103
Documentation/userspace-api/media/v4l/vidioc-subdev-querycap.rst+4−5
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBDEV_QUERYCAP:
45
@@ -11,24 +12,22 @@ Name · 6 unmodified lines
1112
1213 VIDIOC_SUBDEV_QUERYCAP - Query sub-device capabilities
1314
14−
1515 Synopsis
1616 ========
1717
18−.. c:function:: int ioctl( int fd, VIDIOC_SUBDEV_QUERYCAP, struct v4l2_subdev_capability *argp )
19− :name: VIDIOC_SUBDEV_QUERYCAP
18+.. c:macro:: VIDIOC_SUBDEV_QUERYCAP
2019
20+``int ioctl(int fd, VIDIOC_SUBDEV_QUERYCAP, struct v4l2_subdev_capability *argp)``
2121
2222 Arguments
2323 =========
2424
2525 ``fd``
26− File descriptor returned by :ref:`open() <func-open>`.
26+ File descriptor returned by :c:func:`open()`.
2727
2828 ``argp``
2929 Pointer to struct :c:type:`v4l2_subdev_capability`.
3030
31−
3231 Description
3332 ===========
3433
Documentation/userspace-api/media/v4l/vidioc-subscribe-event.rst+7−10
@@ -1,4 +1,5 @@
11 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2+.. c:namespace:: V4L
23
34 .. _VIDIOC_SUBSCRIBE_EVENT:
45 .. _VIDIOC_UNSUBSCRIBE_EVENT:
@@ -12,34 +13,32 @@ Name · 7 unmodified lines
1213
1314 VIDIOC_SUBSCRIBE_EVENT - VIDIOC_UNSUBSCRIBE_EVENT - Subscribe or unsubscribe event
1415
15−
1616 Synopsis
1717 ========
1818
19−.. c:function:: int ioctl( int fd, VIDIOC_SUBSCRIBE_EVENT, struct v4l2_event_subscription *argp )
20− :name: VIDIOC_SUBSCRIBE_EVENT
19+.. c:macro:: VIDIOC_SUBSCRIBE_EVENT
20+
21+``int ioctl(int fd, VIDIOC_SUBSCRIBE_EVENT, struct v4l2_event_subscription *argp)``
2122
22−.. c:function:: int ioctl( int fd, VIDIOC_UNSUBSCRIBE_EVENT, struct v4l2_event_subscription *argp )
23− :name: VIDIOC_UNSUBSCRIBE_EVENT
23+.. c:macro:: VIDIOC_UNSUBSCRIBE_EVENT
2424
25+``int ioctl(int fd, VIDIOC_UNSUBSCRIBE_EVENT, struct v4l2_event_subscription *argp)``
2526
2627 Arguments
2728 =========
2829
2930 ``fd``
30− File descriptor returned by :ref:`open() <func-open>`.
31+ File descriptor returned by :c:func:`open()`.
3132
3233 ``argp``
3334 Pointer to struct :c:type:`v4l2_event_subscription`.
3435
35−
3636 Description
3737 ===========
3838
3939 Subscribe or unsubscribe V4L2 event. Subscribed events are dequeued by
4040 using the :ref:`VIDIOC_DQEVENT` ioctl.
4141
42−
4342 .. tabularcolumns:: |p{4.6cm}|p{4.4cm}|p{8.7cm}|
4443
4544 .. c:type:: v4l2_event_subscription
@@ -72,7 +71,6 @@ using the :ref:`VIDIOC_DQEVENT` ioctl. · 26 unmodified lines
7271 the array to zero.
7372
7473
75−
7674 .. tabularcolumns:: |p{6.8cm}|p{2.2cm}|p{8.5cm}|
7775
7876 .. _event-flags:
@@ -107,7 +105,6 @@ using the :ref:`VIDIOC_DQEVENT` ioctl. · 28 unmodified lines
107105 Think carefully when you set this flag so you won't get into
108106 situations like that.
109107
110−
111108 Return Value
112109 ============
113110
Documentation/virt/uml/user_mode_linux_howto_v2.rst+1−0
@@ -679,6 +679,7 @@ Starting UML · 678 unmodified lines
679679
680680 We can now run UML.
681681 ::
682+
682683 # linux mem=2048M umid=TEST \
683684 ubd0=Filesystem.img \
684685 vec0:transport=tap,ifname=tap0,depth=128,gro=1 \
Documentation/vm/hmm.rst+1−1
@@ -360,7 +360,7 @@ between device driver specific code and shared common code: · 359 unmodified lines
360360 system memory page, locks the page with ``lock_page()``, and fills in the
361361 ``dst`` array entry with::
362362
363− dst[i] = migrate_pfn(page_to_pfn(dpage)) | MIGRATE_PFN_LOCKED;
363+ dst[i] = migrate_pfn(page_to_pfn(dpage)) | MIGRATE_PFN_LOCKED;
364364
365365 Now that the driver knows that this page is being migrated, it can
366366 invalidate device private MMU mappings and copy device private memory
Documentation/vm/ksm.rst+1−1
@@ -26,7 +26,7 @@ tree. · 25 unmodified lines
2626
2727 If a KSM page is shared between less than ``max_page_sharing`` VMAs,
2828 the node of the stable tree that represents such KSM page points to a
29−list of :c:type:`struct rmap_item` and the ``page->mapping`` of the
29+list of struct rmap_item and the ``page->mapping`` of the
3030 KSM page points to the stable tree node.
3131
3232 When the sharing passes this threshold, KSM adds a second dimension to
Documentation/vm/memory-model.rst+3−3
@@ -24,7 +24,7 @@ whether it is possible to manually override that default. · 23 unmodified lines
2424 although it is still in use by several architectures.
2525
2626 All the memory models track the status of physical page frames using
27−:c:type:`struct page` arranged in one or more arrays.
27+struct page arranged in one or more arrays.
2828
2929 Regardless of the selected memory model, there exists one-to-one
3030 mapping between the physical page frame number (PFN) and the
@@ -111,7 +111,7 @@ maps for non-volatile memory devices and deferred initialization of · 80 unmodified lines
111111 the memory map for larger systems.
112112
113113 The SPARSEMEM model presents the physical memory as a collection of
114−sections. A section is represented with :c:type:`struct mem_section`
114+sections. A section is represented with struct mem_section
115115 that contains `section_mem_map` that is, logically, a pointer to an
116116 array of struct pages. However, it is stored with some other magic
117117 that aids the sections management. The section size and maximal number
@@ -172,7 +172,7 @@ management. · 54 unmodified lines
172172
173173 The virtually mapped memory map allows storing `struct page` objects
174174 for persistent memory devices in pre-allocated storage on those
175−devices. This storage is represented with :c:type:`struct vmem_altmap`
175+devices. This storage is represented with struct vmem_altmap
176176 that is eventually passed to vmemmap_populate() through a long chain
177177 of function calls. The vmemmap_populate() implementation may use the
178178 `vmem_altmap` along with :c:func:`vmemmap_alloc_block_buf` helper to
MAINTAINERS+8−8
@@ -1500,7 +1500,7 @@ L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers) · 1499 unmodified lines
15001500 S: Maintained
15011501 F: Documentation/devicetree/bindings/arm/actions.yaml
15021502 F: Documentation/devicetree/bindings/clock/actions,owl-cmu.txt
1503−F: Documentation/devicetree/bindings/dma/owl-dma.txt
1503+F: Documentation/devicetree/bindings/dma/owl-dma.yaml
15041504 F: Documentation/devicetree/bindings/i2c/i2c-owl.txt
15051505 F: Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.yaml
15061506 F: Documentation/devicetree/bindings/mmc/owl-mmc.yaml
@@ -5868,7 +5868,7 @@ L: linux-renesas-soc@vger.kernel.org · 4361 unmodified lines
58685868 S: Supported
58695869 T: git git://linuxtv.org/pinchartl/media drm/du/next
58705870 F: Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
5871−F: Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
5871+F: Documentation/devicetree/bindings/display/bridge/renesas,lvds.yaml
58725872 F: Documentation/devicetree/bindings/display/renesas,du.txt
58735873 F: drivers/gpu/drm/rcar-du/
58745874 F: drivers/gpu/drm/shmobile/
@@ -7000,7 +7000,7 @@ M: Frank Li <Frank.li@nxp.com> · 1125 unmodified lines
70007000 L: linux-arm-kernel@lists.infradead.org
70017001 S: Maintained
70027002 F: Documentation/admin-guide/perf/imx-ddr.rst
7003−F: Documentation/devicetree/bindings/perf/fsl-imx-ddr.txt
7003+F: Documentation/devicetree/bindings/perf/fsl-imx-ddr.yaml
70047004 F: drivers/perf/fsl_imx8_ddr_perf.c
70057005
70067006 FREESCALE IMX I2C DRIVER
@@ -7008,7 +7008,7 @@ M: Oleksij Rempel <o.rempel@pengutronix.de> · 1 unmodified line
70087008 R: Pengutronix Kernel Team <kernel@pengutronix.de>
70097009 L: linux-i2c@vger.kernel.org
70107010 S: Maintained
7011−F: Documentation/devicetree/bindings/i2c/i2c-imx.txt
7011+F: Documentation/devicetree/bindings/i2c/i2c-imx.yaml
70127012 F: drivers/i2c/busses/i2c-imx.c
70137013
70147014 FREESCALE IMX LPI2C DRIVER
@@ -7016,7 +7016,7 @@ M: Dong Aisheng <aisheng.dong@nxp.com> · 1 unmodified line
70167016 L: linux-i2c@vger.kernel.org
70177017 L: linux-imx@nxp.com
70187018 S: Maintained
7019−F: Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
7019+F: Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.yaml
70207020 F: drivers/i2c/busses/i2c-imx-lpi2c.c
70217021
70227022 FREESCALE QORIQ DPAA ETHERNET DRIVER
@@ -11677,7 +11677,7 @@ MIPS GENERIC PLATFORM · 4654 unmodified lines
1167711677 M: Paul Burton <paulburton@kernel.org>
1167811678 L: linux-mips@vger.kernel.org
1167911679 S: Supported
11680−F: Documentation/devicetree/bindings/power/mti,mips-cpc.txt
11680+F: Documentation/devicetree/bindings/power/mti,mips-cpc.yaml
1168111681 F: arch/mips/generic/
1168211682 F: arch/mips/tools/generic-board-config.sh
1168311683
@@ -12568,7 +12568,7 @@ NXP SGTL5000 DRIVER · 884 unmodified lines
1256812568 M: Fabio Estevam <festevam@gmail.com>
1256912569 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
1257012570 S: Maintained
12571−F: Documentation/devicetree/bindings/sound/sgtl5000.txt
12571+F: Documentation/devicetree/bindings/sound/sgtl5000.yaml
1257212572 F: sound/soc/codecs/sgtl5000*
1257312573
1257412574 NXP SJA1105 ETHERNET SWITCH DRIVER
@@ -16868,7 +16868,7 @@ SYNOPSYS DESIGNWARE DMAC DRIVER · 4293 unmodified lines
1686816868 M: Viresh Kumar <vireshk@kernel.org>
1686916869 R: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
1687016870 S: Maintained
16871−F: Documentation/devicetree/bindings/dma/snps-dma.txt
16871+F: Documentation/devicetree/bindings/dma/snps,dma-spear1340.yaml
1687216872 F: drivers/dma/dw/
1687316873 F: include/dt-bindings/dma/dw-dmac.h
1687416874 F: include/linux/dma/dw.h
block/bio.c+2−2
@@ -327,7 +327,7 @@ static void bio_chain_endio(struct bio *bio) · 326 unmodified lines
327327 /**
328328 * bio_chain - chain bio completions
329329 * @bio: the target bio
330− * @parent: the @bio's parent bio
330+ * @parent: the parent bio of @bio
331331 *
332332 * The caller won't have a bi_end_io called when @bio completes - instead,
333333 * @parent's bi_end_io won't be called until both @parent and @bio have
@@ -1093,7 +1093,7 @@ static int __bio_iov_append_get_pages(struct bio *bio, struct iov_iter *iter) · 759 unmodified lines
10931093 * released.
10941094 *
10951095 * The function tries, but does not guarantee, to pin as many pages as
1096− * fit into the bio, or are requested in *iter, whatever is smaller. If
1096+ * fit into the bio, or are requested in @iter, whatever is smaller. If
10971097 * MM encounters an error pinning the requested pages, it stops. Error
10981098 * is returned only if 0 pages could be pinned.
10991099 */
drivers/base/core.c+5−2
@@ -4212,13 +4212,16 @@ define_dev_printk_level(_dev_info, KERN_INFO); · 4211 unmodified lines
42124212 * -EPROBE_DEFER and propagate error upwards.
42134213 * In case of -EPROBE_DEFER it sets also defer probe reason, which can be
42144214 * checked later by reading devices_deferred debugfs attribute.
4215− * It replaces code sequence:
4215+ * It replaces code sequence::
4216+ *
42164217 * if (err != -EPROBE_DEFER)
42174218 * dev_err(dev, ...);
42184219 * else
42194220 * dev_dbg(dev, ...);
42204221 * return err;
4221− * with
4222+ *
4223+ * with::
4224+ *
42224225 * return dev_err_probe(dev, err, ...);
42234226 *
42244227 * Returns @err.
drivers/net/appletalk/Kconfig+1−1
@@ -48,7 +48,7 @@ config LTPC · 47 unmodified lines
4848 If you are in doubt, this card is the one with the 65C02 chip on it.
4949 You also need version 1.3.3 or later of the netatalk package.
5050 This driver is experimental, which means that it may not work.
51− See the file <file:Documentation/networking/ltpc.rst>.
51+ See the file <file:Documentation/networking/device_drivers/appletalk/ltpc.rst>.
5252
5353 config COPS
5454 tristate "COPS LocalTalk PC support"
drivers/net/hamradio/scc.c+1−1
@@ -7,7 +7,7 @@ · 6 unmodified lines
77 * ------------------
88 *
99 * You can find a subset of the documentation in
10− * Documentation/networking/device_drivers/wan/z8530drv.rst.
10+ * Documentation/networking/device_drivers/hamradio/z8530drv.rst.
1111 */
1212
1313 /*
include/kunit/test.h+9−5
@@ -25,6 +25,7 @@ typedef void (*kunit_resource_free_t)(struct kunit_resource *); · 24 unmodified lines
2525 /**
2626 * struct kunit_resource - represents a *test managed resource*
2727 * @data: for the user to store arbitrary data.
28+ * @name: optional name
2829 * @free: a user supplied function to free the resource. Populated by
2930 * kunit_resource_alloc().
3031 *
@@ -80,10 +81,10 @@ typedef void (*kunit_resource_free_t)(struct kunit_resource *); · 49 unmodified lines
8081 */
8182 struct kunit_resource {
8283 void *data;
83− const char *name; /* optional name */
84+ const char *name;
85+ kunit_resource_free_t free;
8486
8587 /* private: internal use only. */
86− kunit_resource_free_t free;
8788 struct kref refcount;
8889 struct list_head node;
8990 };
@@ -348,6 +349,7 @@ static inline void kunit_put_resource(struct kunit_resource *res) · 258 unmodified lines
348349 * none is supplied, the resource data value is simply set to @data.
349350 * If an init function is supplied, @data is passed to it instead.
350351 * @free: a user-supplied function to free the resource (if needed).
352+ * @res: The resource.
351353 * @data: value to pass to init function or set in resource data field.
352354 */
353355 int kunit_add_resource(struct kunit *test,
@@ -361,7 +363,9 @@ int kunit_add_resource(struct kunit *test, · 7 unmodified lines
361363 * @test: The test context object.
362364 * @init: a user-supplied function to initialize the resource data, if needed.
363365 * @free: a user-supplied function to free the resource data, if needed.
364− * @name_data: name and data to be set for resource.
366+ * @res: The resource.
367+ * @name: name to be set for resource.
368+ * @data: value to pass to init function or set in resource data field.
365369 */
366370 int kunit_add_named_resource(struct kunit *test,
367371 kunit_resource_init_t init,
@@ -499,8 +503,8 @@ static inline int kunit_destroy_named_resource(struct kunit *test, · 131 unmodified lines
499503 }
500504
501505 /**
502− * kunit_remove_resource: remove resource from resource list associated with
503− * test.
506+ * kunit_remove_resource() - remove resource from resource list associated with
507+ * test.
504508 * @test: The test context object.
505509 * @res: The resource to be removed.
506510 *
include/linux/devfreq.h+1−6
@@ -228,12 +228,7 @@ int devfreq_resume_device(struct devfreq *devfreq); · 227 unmodified lines
228228 void devfreq_suspend(void);
229229 void devfreq_resume(void);
230230
231−/**
232− * update_devfreq() - Reevaluate the device and configure frequency
233− * @devfreq: the devfreq device
234− *
235− * Note: devfreq->lock must be held
236− */
231+/* update_devfreq() - Reevaluate the device and configure frequency */
237232 int update_devfreq(struct devfreq *devfreq);
238233
239234 /* Helper functions for devfreq user device driver with OPP. */
include/linux/input/sparse-keymap.h+1−0
@@ -20,6 +20,7 @@ · 19 unmodified lines
2020 * private definitions.
2121 * @code: Device-specific data identifying the button/switch
2222 * @keycode: KEY_* code assigned to a key/button
23+ * @sw: struct with code/value used by KE_SW and KE_VSW
2324 * @sw.code: SW_* code assigned to a switch
2425 * @sw.value: Value that should be sent in an input even when KE_SW
2526 * switch is toggled. KE_VSW switches ignore this field and
include/linux/math64.h+4−4
@@ -28,7 +28,7 @@ static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) · 27 unmodified lines
2828 return dividend / divisor;
2929 }
3030
31−/**
31+/*
3232 * div_s64_rem - signed 64bit divide with 32bit divisor with remainder
3333 * @dividend: signed 64bit dividend
3434 * @divisor: signed 32bit divisor
@@ -42,7 +42,7 @@ static inline s64 div_s64_rem(s64 dividend, s32 divisor, s32 *remainder) · 7 unmodified lines
4242 return dividend / divisor;
4343 }
4444
45−/**
45+/*
4646 * div64_u64_rem - unsigned 64bit divide with 64bit divisor and remainder
4747 * @dividend: unsigned 64bit dividend
4848 * @divisor: unsigned 64bit divisor
@@ -56,7 +56,7 @@ static inline u64 div64_u64_rem(u64 dividend, u64 divisor, u64 *remainder) · 7 unmodified lines
5656 return dividend / divisor;
5757 }
5858
59−/**
59+/*
6060 * div64_u64 - unsigned 64bit divide with 64bit divisor
6161 * @dividend: unsigned 64bit dividend
6262 * @divisor: unsigned 64bit divisor
@@ -68,7 +68,7 @@ static inline u64 div64_u64(u64 dividend, u64 divisor) · 5 unmodified lines
6868 return dividend / divisor;
6969 }
7070
71−/**
71+/*
7272 * div64_s64 - signed 64bit divide with 64bit divisor
7373 * @dividend: signed 64bit dividend
7474 * @divisor: signed 64bit divisor
include/linux/usb/typec_altmode.h+16−0
@@ -152,10 +152,26 @@ struct typec_altmode_driver { · 151 unmodified lines
152152 #define to_altmode_driver(d) container_of(d, struct typec_altmode_driver, \
153153 driver)
154154
155+/**
156+ * typec_altmode_register_driver - registers a USB Type-C alternate mode
157+ * device driver
158+ * @drv: pointer to struct typec_altmode_driver
159+ *
160+ * These drivers will be bind to the partner alternate mode devices. They will
161+ * handle all SVID specific communication.
162+ */
155163 #define typec_altmode_register_driver(drv) \
156164 __typec_altmode_register_driver(drv, THIS_MODULE)
157165 int __typec_altmode_register_driver(struct typec_altmode_driver *drv,
158166 struct module *module);
167+/**
168+ * typec_altmode_unregister_driver - unregisters a USB Type-C alternate mode
169+ * device driver
170+ * @drv: pointer to struct typec_altmode_driver
171+ *
172+ * These drivers will be bind to the partner alternate mode devices. They will
173+ * handle all SVID specific communication.
174+ */
159175 void typec_altmode_unregister_driver(struct typec_altmode_driver *drv);
160176
161177 #define module_typec_altmode_driver(__typec_altmode_driver) \
include/net/cfg80211.h+1−0
@@ -474,6 +474,7 @@ struct ieee80211_sta_s1g_cap { · 473 unmodified lines
474474 * @n_bitrates: Number of bitrates in @bitrates
475475 * @ht_cap: HT capabilities in this band
476476 * @vht_cap: VHT capabilities in this band
477+ * @s1g_cap: S1G capabilities in this band
477478 * @edmg_cap: EDMG capabilities in this band
478479 * @s1g_cap: S1G capabilities in this band (S1B band only, of course)
479480 * @n_iftype_data: number of iftype data entries
kernel/rcu/tree.c+6−8
@@ -3022,6 +3022,12 @@ struct kfree_rcu_cpu_work { · 3021 unmodified lines
30223022 * @monitor_todo: Tracks whether a @monitor_work delayed work is pending
30233023 * @initialized: The @rcu_work fields have been initialized
30243024 * @count: Number of objects for which GP not started
3025+ * @bkvcache:
3026+ * A simple cache list that contains objects for reuse purpose.
3027+ * In order to save some per-cpu space the list is singular.
3028+ * Even though it is lockless an access has to be protected by the
3029+ * per-cpu lock.
3030+ * @nr_bkv_objs: number of allocated objects at @bkvcache.
30253031 *
30263032 * This is a per-CPU structure. The reason that it is not included in
30273033 * the rcu_data structure is to permit this code to be extracted from
@@ -3037,14 +3043,6 @@ struct kfree_rcu_cpu { · 9 unmodified lines
30373043 bool monitor_todo;
30383044 bool initialized;
30393045 int count;
3040−
3041− /*
3042− * A simple cache list that contains objects for
3043− * reuse purpose. In order to save some per-cpu
3044− * space the list is singular. Even though it is
3045− * lockless an access has to be protected by the
3046− * per-cpu lock.
3047− */
30483046 struct llist_head bkvcache;
30493047 int nr_bkv_objs;
30503048 };
kernel/workqueue.c+3−0
@@ -1212,11 +1212,14 @@ out_put: · 1211 unmodified lines
12121212 * stable state - idle, on timer or on worklist.
12131213 *
12141214 * Return:
1215+ *
1216+ * ======== ================================================================
12151217 * 1 if @work was pending and we successfully stole PENDING
12161218 * 0 if @work was idle and we claimed PENDING
12171219 * -EAGAIN if PENDING couldn't be grabbed at the moment, safe to busy-retry
12181220 * -ENOENT if someone else is canceling @work, this state may persist
12191221 * for arbitrarily long
1222+ * ======== ================================================================
12201223 *
12211224 * Note:
12221225 * On >= 0 return, the caller owns @work's PENDING bit. To avoid getting
mm/ksm.c+1−1
@@ -81,7 +81,7 @@ · 80 unmodified lines
8181 * different KSM page copy of that content
8282 *
8383 * Internally, the regular nodes, "dups" and "chains" are represented
84− * using the same :c:type:`struct stable_node` structure.
84+ * using the same struct stable_node structure.
8585 *
8686 * In addition to the stable tree, KSM uses a second data structure called the
8787 * unstable tree: this tree holds pointers to pages which have been found to
mm/memblock.c+4−4
@@ -48,12 +48,12 @@ · 47 unmodified lines
4848 * boot regardless of the possible restrictions and memory hot(un)plug;
4949 * the ``physmem`` type is only available on some architectures.
5050 *
51− * Each region is represented by :c:type:`struct memblock_region` that
51+ * Each region is represented by struct memblock_region that
5252 * defines the region extents, its attributes and NUMA node id on NUMA
53− * systems. Every memory type is described by the :c:type:`struct
54− * memblock_type` which contains an array of memory regions along with
53+ * systems. Every memory type is described by the struct memblock_type
54+ * which contains an array of memory regions along with
5555 * the allocator metadata. The "memory" and "reserved" types are nicely
56− * wrapped with :c:type:`struct memblock`. This structure is statically
56+ * wrapped with struct memblock. This structure is statically
5757 * initialized at build time. The region arrays are initially sized to
5858 * %INIT_MEMBLOCK_REGIONS for "memory" and %INIT_MEMBLOCK_RESERVED_REGIONS
5959 * for "reserved". The region array for "physmem" is initially sized to
scripts/kernel-doc+223−82
@@ -56,6 +56,13 @@ Output format selection (mutually exclusive): · 55 unmodified lines
5656 -rst Output reStructuredText format.
5757 -none Do not output documentation, only warnings.
5858
59+Output format selection modifier (affects only ReST output):
60+
61+ -sphinx-version Use the ReST C domain dialect compatible with an
62+ specific Sphinx Version.
63+ If not specified, kernel-doc will auto-detect using
64+ the sphinx-build version found on PATH.
65+
5966 Output selection (mutually exclusive):
6067 -export Only output documentation for symbols that have been
6168 exported using EXPORT_SYMBOL() or EXPORT_SYMBOL_GPL()
@@ -66,9 +73,8 @@ Output selection (mutually exclusive): · 4 unmodified lines
6673 -function NAME Only output documentation for the given function(s)
6774 or DOC: section title(s). All other functions and DOC:
6875 sections are ignored. May be specified multiple times.
69− -nofunction NAME Do NOT output documentation for the given function(s);
70− only output documentation for the other functions and
71− DOC: sections. May be specified multiple times.
76+ -nosymbol NAME Exclude the specified symbols from the output
77+ documentation. May be specified multiple times.
7278
7379 Output selection modifiers:
7480 -no-doc-sections Do not output DOC: sections.
@@ -271,6 +277,8 @@ if ($#ARGV == -1) { · 196 unmodified lines
271277 }
272278
273279 my $kernelversion;
280+my ($sphinx_major, $sphinx_minor, $sphinx_patch);
281+
274282 my $dohighlight = "";
275283
276284 my $verbose = 0;
@@ -286,9 +294,8 @@ my $modulename = "Kernel API"; · 9 unmodified lines
286294 use constant {
287295 OUTPUT_ALL => 0, # output all symbols and doc sections
288296 OUTPUT_INCLUDE => 1, # output only specified symbols
289− OUTPUT_EXCLUDE => 2, # output everything except specified symbols
290− OUTPUT_EXPORTED => 3, # output exported symbols
291− OUTPUT_INTERNAL => 4, # output non-exported symbols
297+ OUTPUT_EXPORTED => 2, # output exported symbols
298+ OUTPUT_INTERNAL => 3, # output non-exported symbols
292299 };
293300 my $output_selection = OUTPUT_ALL;
294301 my $show_not_found = 0; # No longer used
@@ -313,6 +320,7 @@ my $man_date = ('January', 'February', 'March', 'April', 'May', 'June', · 18 unmodified lines
313320 # CAVEAT EMPTOR! Some of the others I localised may not want to be, which
314321 # could cause "use of undefined value" or other bugs.
315322 my ($function, %function_table, %parametertypes, $declaration_purpose);
323+my %nosymbol_table = ();
316324 my $declaration_start_line;
317325 my ($type, $declaration_name, $return_type);
318326 my ($newsection, $newcontents, $prototype, $brcount, %source_map);
@@ -432,10 +440,9 @@ while ($ARGV[0] =~ m/^--?(.*)/) { · 113 unmodified lines
432440 $output_selection = OUTPUT_INCLUDE;
433441 $function = shift @ARGV;
434442 $function_table{$function} = 1;
435− } elsif ($cmd eq "nofunction") { # output all except specific functions
436− $output_selection = OUTPUT_EXCLUDE;
437− $function = shift @ARGV;
438− $function_table{$function} = 1;
443+ } elsif ($cmd eq "nosymbol") { # Exclude specific symbols
444+ my $symbol = shift @ARGV;
445+ $nosymbol_table{$symbol} = 1;
439446 } elsif ($cmd eq "export") { # only exported symbols
440447 $output_selection = OUTPUT_EXPORTED;
441448 %function_table = ();
@@ -457,6 +464,23 @@ while ($ARGV[0] =~ m/^--?(.*)/) { · 15 unmodified lines
457464 $enable_lineno = 1;
458465 } elsif ($cmd eq 'show-not-found') {
459466 $show_not_found = 1; # A no-op but don't fail
467+ } elsif ($cmd eq "sphinx-version") {
468+ my $ver_string = shift @ARGV;
469+ if ($ver_string =~ m/^(\d+)(\.\d+)?(\.\d+)?/) {
470+ $sphinx_major = $1;
471+ if (defined($2)) {
472+ $sphinx_minor = substr($2,1);
473+ } else {
474+ $sphinx_minor = 0;
475+ }
476+ if (defined($3)) {
477+ $sphinx_patch = substr($3,1)
478+ } else {
479+ $sphinx_patch = 0;
480+ }
481+ } else {
482+ die "Sphinx version should either major.minor or major.minor.patch format\n";
483+ }
460484 } else {
461485 # Unknown argument
462486 usage();
@@ -465,6 +489,51 @@ while ($ARGV[0] =~ m/^--?(.*)/) { · 2 unmodified lines
465489
466490 # continue execution near EOF;
467491
492+# The C domain dialect changed on Sphinx 3. So, we need to check the
493+# version in order to produce the right tags.
494+sub findprog($)
495+{
496+ foreach(split(/:/, $ENV{PATH})) {
497+ return "$_/$_[0]" if(-x "$_/$_[0]");
498+ }
499+}
500+
501+sub get_sphinx_version()
502+{
503+ my $ver;
504+
505+ my $cmd = "sphinx-build";
506+ if (!findprog($cmd)) {
507+ my $cmd = "sphinx-build3";
508+ if (!findprog($cmd)) {
509+ $sphinx_major = 1;
510+ $sphinx_minor = 2;
511+ $sphinx_patch = 0;
512+ printf STDERR "Warning: Sphinx version not found. Using default (Sphinx version %d.%d.%d)\n",
513+ $sphinx_major, $sphinx_minor, $sphinx_patch;
514+ return;
515+ }
516+ }
517+
518+ open IN, "$cmd --version 2>&1 |";
519+ while (<IN>) {
520+ if (m/^\s*sphinx-build\s+([\d]+)\.([\d\.]+)(\+\/[\da-f]+)?$/) {
521+ $sphinx_major = $1;
522+ $sphinx_minor = $2;
523+ $sphinx_patch = $3;
524+ last;
525+ }
526+ # Sphinx 1.2.x uses a different format
527+ if (m/^\s*Sphinx.*\s+([\d]+)\.([\d\.]+)$/) {
528+ $sphinx_major = $1;
529+ $sphinx_minor = $2;
530+ $sphinx_patch = $3;
531+ last;
532+ }
533+ }
534+ close IN;
535+}
536+
468537 # get kernel version from env
469538 sub get_kernel_version() {
470539 my $version = 'unknown kernel version';
@@ -531,11 +600,11 @@ sub dump_doc_section { · 60 unmodified lines
531600 return;
532601 }
533602
603+ return if (defined($nosymbol_table{$name}));
604+
534605 if (($output_selection == OUTPUT_ALL) ||
535− ($output_selection == OUTPUT_INCLUDE &&
536− defined($function_table{$name})) ||
537− ($output_selection == OUTPUT_EXCLUDE &&
538− !defined($function_table{$name})))
606+ (($output_selection == OUTPUT_INCLUDE) &&
607+ defined($function_table{$name})))
539608 {
540609 dump_section($file, $name, $contents);
541610 output_blockhead({'sectionlist' => \@sectionlist,
@@ -618,10 +687,10 @@ sub output_function_man(%) { · 76 unmodified lines
618687 $type = $args{'parametertypes'}{$parameter};
619688 if ($type =~ m/([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)/) {
620689 # pointer-to-function
621− print ".BI \"" . $parenth . $1 . "\" " . $parameter . " \") (" . $2 . ")" . $post . "\"\n";
690+ print ".BI \"" . $parenth . $1 . "\" " . " \") (" . $2 . ")" . $post . "\"\n";
622691 } else {
623692 $type =~ s/([^\*])$/$1 /;
624− print ".BI \"" . $parenth . $type . "\" " . $parameter . " \"" . $post . "\"\n";
693+ print ".BI \"" . $parenth . $type . "\" " . " \"" . $post . "\"\n";
625694 }
626695 $count++;
627696 $parenth = "";
@@ -761,6 +830,8 @@ sub output_blockhead_rst(%) { · 133 unmodified lines
761830 my ($parameter, $section);
762831
763832 foreach $section (@{$args{'sectionlist'}}) {
833+ next if (defined($nosymbol_table{$section}));
834+
764835 if ($output_selection != OUTPUT_INCLUDE) {
765836 print "**$section**\n\n";
766837 }
@@ -846,16 +917,37 @@ sub output_function_rst(%) { · 79 unmodified lines
846917 my ($parameter, $section);
847918 my $oldprefix = $lineprefix;
848919 my $start = "";
849−
850− if ($args{'typedef'}) {
851− print ".. c:type:: ". $args{'function'} . "\n\n";
852− print_lineno($declaration_start_line);
853− print " **Typedef**: ";
854− $lineprefix = "";
855− output_highlight_rst($args{'purpose'});
856− $start = "\n\n**Syntax**\n\n ``";
920+ my $is_macro = 0;
921+
922+ if ($sphinx_major < 3) {
923+ if ($args{'typedef'}) {
924+ print ".. c:type:: ". $args{'function'} . "\n\n";
925+ print_lineno($declaration_start_line);
926+ print " **Typedef**: ";
927+ $lineprefix = "";
928+ output_highlight_rst($args{'purpose'});
929+ $start = "\n\n**Syntax**\n\n ``";
930+ $is_macro = 1;
931+ } else {
932+ print ".. c:function:: ";
933+ }
857934 } else {
858− print ".. c:function:: ";
935+ if ($args{'typedef'} || $args{'functiontype'} eq "") {
936+ $is_macro = 1;
937+ print ".. c:macro:: ". $args{'function'} . "\n\n";
938+ } else {
939+ print ".. c:function:: ";
940+ }
941+
942+ if ($args{'typedef'}) {
943+ print_lineno($declaration_start_line);
944+ print " **Typedef**: ";
945+ $lineprefix = "";
946+ output_highlight_rst($args{'purpose'});
947+ $start = "\n\n**Syntax**\n\n ``";
948+ } else {
949+ print "``" if ($is_macro);
950+ }
859951 }
860952 if ($args{'functiontype'} ne "") {
861953 $start .= $args{'functiontype'} . " " . $args{'function'} . " (";
@@ -876,13 +968,15 @@ sub output_function_rst(%) { · 14 unmodified lines
876968 # pointer-to-function
877969 print $1 . $parameter . ") (" . $2 . ")";
878970 } else {
879− print $type . " " . $parameter;
971+ print $type;
880972 }
881973 }
882− if ($args{'typedef'}) {
883− print ");``\n\n";
974+ if ($is_macro) {
975+ print ")``\n\n";
884976 } else {
885977 print ")\n\n";
978+ }
979+ if (!$args{'typedef'}) {
886980 print_lineno($declaration_start_line);
887981 $lineprefix = " ";
888982 output_highlight_rst($args{'purpose'});
@@ -897,7 +991,7 @@ sub output_function_rst(%) { · 8 unmodified lines
897991 $type = $args{'parametertypes'}{$parameter};
898992
899993 if ($type ne "") {
900− print "``$type $parameter``\n";
994+ print "``$type``\n";
901995 } else {
902996 print "``$parameter``\n";
903997 }
@@ -938,9 +1032,14 @@ sub output_enum_rst(%) { · 34 unmodified lines
9381032 my ($parameter);
9391033 my $oldprefix = $lineprefix;
9401034 my $count;
941− my $name = "enum " . $args{'enum'};
9421035
943− print "\n\n.. c:type:: " . $name . "\n\n";
1036+ if ($sphinx_major < 3) {
1037+ my $name = "enum " . $args{'enum'};
1038+ print "\n\n.. c:type:: " . $name . "\n\n";
1039+ } else {
1040+ my $name = $args{'enum'};
1041+ print "\n\n.. c:enum:: " . $name . "\n\n";
1042+ }
9441043 print_lineno($declaration_start_line);
9451044 $lineprefix = " ";
9461045 output_highlight_rst($args{'purpose'});
@@ -966,8 +1065,13 @@ sub output_typedef_rst(%) { · 19 unmodified lines
9661065 my %args = %{$_[0]};
9671066 my ($parameter);
9681067 my $oldprefix = $lineprefix;
969− my $name = "typedef " . $args{'typedef'};
1068+ my $name;
9701069
1070+ if ($sphinx_major < 3) {
1071+ $name = "typedef " . $args{'typedef'};
1072+ } else {
1073+ $name = $args{'typedef'};
1074+ }
9711075 print "\n\n.. c:type:: " . $name . "\n\n";
9721076 print_lineno($declaration_start_line);
9731077 $lineprefix = " ";
@@ -982,9 +1086,14 @@ sub output_struct_rst(%) { · 8 unmodified lines
9821086 my %args = %{$_[0]};
9831087 my ($parameter);
9841088 my $oldprefix = $lineprefix;
985− my $name = $args{'type'} . " " . $args{'struct'};
9861089
987− print "\n\n.. c:type:: " . $name . "\n\n";
1090+ if ($sphinx_major < 3) {
1091+ my $name = $args{'type'} . " " . $args{'struct'};
1092+ print "\n\n.. c:type:: " . $name . "\n\n";
1093+ } else {
1094+ my $name = $args{'struct'};
1095+ print "\n\n.. c:struct:: " . $name . "\n\n";
1096+ }
9881097 print_lineno($declaration_start_line);
9891098 $lineprefix = " ";
9901099 output_highlight_rst($args{'purpose'});
@@ -1043,12 +1152,14 @@ sub output_declaration { · 52 unmodified lines
10431152 my $name = shift;
10441153 my $functype = shift;
10451154 my $func = "output_${functype}_$output_mode";
1155+
1156+ return if (defined($nosymbol_table{$name}));
1157+
10461158 if (($output_selection == OUTPUT_ALL) ||
10471159 (($output_selection == OUTPUT_INCLUDE ||
10481160 $output_selection == OUTPUT_EXPORTED) &&
10491161 defined($function_table{$name})) ||
1050− (($output_selection == OUTPUT_EXCLUDE ||
1051− $output_selection == OUTPUT_INTERNAL) &&
1162+ ($output_selection == OUTPUT_INTERNAL &&
10521163 !($functype eq "function" && defined($function_table{$name}))))
10531164 {
10541165 &$func(@_);
@@ -1229,6 +1340,8 @@ sub show_warnings($$) { · 174 unmodified lines
12291340 my $functype = shift;
12301341 my $name = shift;
12311342
1343+ return 0 if (defined($nosymbol_table{$name}));
1344+
12321345 return 1 if ($output_selection == OUTPUT_ALL);
12331346
12341347 if ($output_selection == OUTPUT_EXPORTED) {
@@ -1252,27 +1365,28 @@ sub show_warnings($$) { · 17 unmodified lines
12521365 return 0;
12531366 }
12541367 }
1255− if ($output_selection == OUTPUT_EXCLUDE) {
1256− if (!defined($function_table{$name})) {
1257− return 1;
1258− } else {
1259− return 0;
1260− }
1261− }
12621368 die("Please add the new output type at show_warnings()");
12631369 }
12641370
12651371 sub dump_enum($$) {
12661372 my $x = shift;
12671373 my $file = shift;
1374+ my $members;
1375+
12681376
12691377 $x =~ s@/\*.*?\*/@@gos; # strip comments.
12701378 # strip #define macros inside enums
12711379 $x =~ s@#\s*((define|ifdef)\s+|endif)[^;]*;@@gos;
12721380
1273− if ($x =~ /enum\s+(\w*)\s*\{(.*)\}/) {
1381+ if ($x =~ /typedef\s+enum\s*\{(.*)\}\s*(\w*)\s*;/) {
1382+ $declaration_name = $2;
1383+ $members = $1;
1384+ } elsif ($x =~ /enum\s+(\w*)\s*\{(.*)\}/) {
12741385 $declaration_name = $1;
1275− my $members = $2;
1386+ $members = $2;
1387+ }
1388+
1389+ if ($declaration_name) {
12761390 my %_members;
12771391
12781392 $members =~ s/\s+$//;
@@ -1307,8 +1421,7 @@ sub dump_enum($$) { · 28 unmodified lines
13071421 'sections' => \%sections,
13081422 'purpose' => $declaration_purpose
13091423 });
1310− }
1311− else {
1424+ } else {
13121425 print STDERR "${file}:$.: error: Cannot parse enum!\n";
13131426 ++$errors;
13141427 }
@@ -1403,7 +1516,7 @@ sub create_parameterlist($$$$) { · 88 unmodified lines
14031516 # Treat preprocessor directive as a typeless variable just to fill
14041517 # corresponding data structures "correctly". Catch it later in
14051518 # output_* subs.
1406− push_parameter($arg, "", $file);
1519+ push_parameter($arg, "", "", $file);
14071520 } elsif ($arg =~ m/\(.+\)\s*\(/) {
14081521 # pointer-to-function
14091522 $arg =~ tr/#/,/;
@@ -1412,7 +1525,7 @@ sub create_parameterlist($$$$) { · 2 unmodified lines
14121525 $type = $arg;
14131526 $type =~ s/([^\(]+\(\*?)\s*$param/$1/;
14141527 save_struct_actual($param);
1415− push_parameter($param, $type, $file, $declaration_name);
1528+ push_parameter($param, $type, $arg, $file, $declaration_name);
14161529 } elsif ($arg) {
14171530 $arg =~ s/\s*:\s*/:/g;
14181531 $arg =~ s/\s*\[/\[/g;
@@ -1437,26 +1550,28 @@ sub create_parameterlist($$$$) { · 18 unmodified lines
14371550 foreach $param (@args) {
14381551 if ($param =~ m/^(\*+)\s*(.*)/) {
14391552 save_struct_actual($2);
1440− push_parameter($2, "$type $1", $file, $declaration_name);
1553+
1554+ push_parameter($2, "$type $1", $arg, $file, $declaration_name);
14411555 }
14421556 elsif ($param =~ m/(.*?):(\d+)/) {
14431557 if ($type ne "") { # skip unnamed bit-fields
14441558 save_struct_actual($1);
1445− push_parameter($1, "$type:$2", $file, $declaration_name)
1559+ push_parameter($1, "$type:$2", $arg, $file, $declaration_name)
14461560 }
14471561 }
14481562 else {
14491563 save_struct_actual($param);
1450− push_parameter($param, $type, $file, $declaration_name);
1564+ push_parameter($param, $type, $arg, $file, $declaration_name);
14511565 }
14521566 }
14531567 }
14541568 }
14551569 }
14561570
1457−sub push_parameter($$$$) {
1571+sub push_parameter($$$$$) {
14581572 my $param = shift;
14591573 my $type = shift;
1574+ my $org_arg = shift;
14601575 my $file = shift;
14611576 my $declaration_name = shift;
14621577
@@ -1520,8 +1635,8 @@ sub push_parameter($$$$) { · 57 unmodified lines
15201635 # "[blah" in a parameter string;
15211636 ###$param =~ s/\s*//g;
15221637 push @parameterlist, $param;
1523− $type =~ s/\s\s+/ /g;
1524− $parametertypes{$param} = $type;
1638+ $org_arg =~ s/\s\s+/ /g;
1639+ $parametertypes{$param} = $org_arg;
15251640 }
15261641
15271642 sub check_sections($$$$$) {
@@ -1595,7 +1710,7 @@ sub dump_function($$) { · 67 unmodified lines
15951710 my $file = shift;
15961711 my $noret = 0;
15971712
1598− print_lineno($.);
1713+ print_lineno($new_start_line);
15991714
16001715 $prototype =~ s/^static +//;
16011716 $prototype =~ s/^extern +//;
@@ -1672,30 +1787,48 @@ sub dump_function($$) { · 70 unmodified lines
16721787 return;
16731788 }
16741789
1675− my $prms = join " ", @parameterlist;
1676− check_sections($file, $declaration_name, "function", $sectcheck, $prms);
1790+ my $prms = join " ", @parameterlist;
1791+ check_sections($file, $declaration_name, "function", $sectcheck, $prms);
16771792
1678− # This check emits a lot of warnings at the moment, because many
1679− # functions don't have a 'Return' doc section. So until the number
1680− # of warnings goes sufficiently down, the check is only performed in
1681− # verbose mode.
1682− # TODO: always perform the check.
1683− if ($verbose && !$noret) {
1684− check_return_section($file, $declaration_name, $return_type);
1685− }
1793+ # This check emits a lot of warnings at the moment, because many
1794+ # functions don't have a 'Return' doc section. So until the number
1795+ # of warnings goes sufficiently down, the check is only performed in
1796+ # verbose mode.
1797+ # TODO: always perform the check.
1798+ if ($verbose && !$noret) {
1799+ check_return_section($file, $declaration_name, $return_type);
1800+ }
16861801
1687− output_declaration($declaration_name,
1688− 'function',
1689− {'function' => $declaration_name,
1690− 'module' => $modulename,
1691− 'functiontype' => $return_type,
1692− 'parameterlist' => \@parameterlist,
1693− 'parameterdescs' => \%parameterdescs,
1694− 'parametertypes' => \%parametertypes,
1695− 'sectionlist' => \@sectionlist,
1696− 'sections' => \%sections,
1697− 'purpose' => $declaration_purpose
1698− });
1802+ # The function parser can be called with a typedef parameter.
1803+ # Handle it.
1804+ if ($return_type =~ /typedef/) {
1805+ output_declaration($declaration_name,
1806+ 'function',
1807+ {'function' => $declaration_name,
1808+ 'typedef' => 1,
1809+ 'module' => $modulename,
1810+ 'functiontype' => $return_type,
1811+ 'parameterlist' => \@parameterlist,
1812+ 'parameterdescs' => \%parameterdescs,
1813+ 'parametertypes' => \%parametertypes,
1814+ 'sectionlist' => \@sectionlist,
1815+ 'sections' => \%sections,
1816+ 'purpose' => $declaration_purpose
1817+ });
1818+ } else {
1819+ output_declaration($declaration_name,
1820+ 'function',
1821+ {'function' => $declaration_name,
1822+ 'module' => $modulename,
1823+ 'functiontype' => $return_type,
1824+ 'parameterlist' => \@parameterlist,
1825+ 'parameterdescs' => \%parameterdescs,
1826+ 'parametertypes' => \%parametertypes,
1827+ 'sectionlist' => \@sectionlist,
1828+ 'sections' => \%sections,
1829+ 'purpose' => $declaration_purpose
1830+ });
1831+ }
16991832 }
17001833
17011834 sub reset_state {
@@ -1873,6 +2006,7 @@ sub process_export_file($) { · 171 unmodified lines
18732006
18742007 while (<IN>) {
18752008 if (/$export_symbol/) {
2009+ next if (defined($nosymbol_table{$2}));
18762010 $function_table{$2} = 1;
18772011 }
18782012 }
@@ -1904,7 +2038,7 @@ sub process_name($$) { · 25 unmodified lines
19042038 if (/$doc_block/o) {
19052039 $state = STATE_DOCBLOCK;
19062040 $contents = "";
1907− $new_start_line = $. + 1;
2041+ $new_start_line = $.;
19082042
19092043 if ( $1 eq "" ) {
19102044 $section = $section_intro;
@@ -1987,6 +2121,7 @@ sub process_body($$) { · 76 unmodified lines
19872121 if ($state == STATE_BODY_WITH_BLANK_LINE && /^\s*\*\s?\S/) {
19882122 dump_section($file, $section, $contents);
19892123 $section = $section_default;
2124+ $new_start_line = $.;
19902125 $contents = "";
19912126 }
19922127
@@ -2042,6 +2177,7 @@ sub process_body($$) { · 49 unmodified lines
20422177 $prototype = "";
20432178 $state = STATE_PROTO;
20442179 $brcount = 0;
2180+ $new_start_line = $. + 1;
20452181 } elsif (/$doc_content/) {
20462182 if ($1 eq "") {
20472183 if ($section eq $section_context) {
@@ -2189,7 +2325,7 @@ sub process_file($) { · 141 unmodified lines
21892325
21902326 $file = map_filename($orig_file);
21912327
2192− if (!open(IN,"<$file")) {
2328+ if (!open(IN_FILE,"<$file")) {
21932329 print STDERR "Error: Cannot open file $file\n";
21942330 ++$errors;
21952331 return;
@@ -2198,9 +2334,9 @@ sub process_file($) { · 2 unmodified lines
21982334 $. = 1;
21992335
22002336 $section_counter = 0;
2201− while (<IN>) {
2337+ while (<IN_FILE>) {
22022338 while (s/\\\s*$//) {
2203− $_ .= <IN>;
2339+ $_ .= <IN_FILE>;
22042340 }
22052341 # Replace tabs by spaces
22062342 while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
@@ -2232,9 +2368,14 @@ sub process_file($) { · 25 unmodified lines
22322368 print STDERR "${file}:1: warning: no structured comments found\n";
22332369 }
22342370 }
2371+ close IN_FILE;
22352372 }
22362373
22372374
2375+if ($output_mode eq "rst") {
2376+ get_sphinx_version() if (!$sphinx_major);
2377+}
2378+
22382379 $kernelversion = get_kernel_version();
22392380
22402381 # generate a sequence of code that will splice in highlighting information