History

Merge branch 'master' into for-next

Fast-forward merge with Linus to be able to merge patches based on more recent version of the tree.

Jiri Kosina committed 15 years ago

Commit e060c382 parents 10e4ac5 cc39c6a3980 files · +199073 −61456Browse files

Unified · Split

2856 files
  1. CREDITS +16 −1
  2. Documentation/00-INDEX +2 −0
  3. Documentation/ABI/testing/pstore +6 −0
  4. Documentation/ABI/testing/sysfs-class-scsi_host +13 −0
  5. Documentation/ABI/testing/sysfs-platform-ideapad-laptop +17 −0
  6. Documentation/CodingStyle +7 −16
  7. Documentation/DMA-API-HOWTO.txt +6 −6
  8. Documentation/DocBook/.gitignore +4 −1
  9. Documentation/DocBook/Makefile +10 −21
  10. Documentation/DocBook/dvb/dvbproperty.xml +0 −590
  11. Documentation/DocBook/dvb/dvbstb.png +0 −0
  12. Documentation/DocBook/dvb/frontend.h.xml +0 −428
  13. Documentation/DocBook/media-entities.tmpl +0 −464
  14. Documentation/DocBook/media-indices.tmpl +0 −89
  15. Documentation/DocBook/media/Makefile +386 −0
  16. Documentation/DocBook/media/bayer.png.b64 +171 −0
  17. Documentation/DocBook/media/crop.gif.b64 +105 −0
  18. Documentation/DocBook/media/dvb/.gitignore +0 −0
  19. Documentation/DocBook/media/dvb/audio.xml +109 −379
  20. Documentation/DocBook/media/dvb/ca.xml +60 −52
  21. Documentation/DocBook/media/dvb/demux.xml +128 −199
  22. Documentation/DocBook/media/dvb/dvbapi.xml +20 −0
  23. Documentation/DocBook/media/dvb/dvbproperty.xml +859 −0
  24. Documentation/DocBook/media/dvb/dvbstb.pdf +0 −0
  25. Documentation/DocBook/media/dvb/examples.xml +0 −0
  26. Documentation/DocBook/media/dvb/frontend.xml +220 −556
  27. Documentation/DocBook/media/dvb/intro.xml +22 −1
  28. Documentation/DocBook/media/dvb/kdapi.xml +0 −0
  29. Documentation/DocBook/media/dvb/net.xml +17 −0
  30. Documentation/DocBook/media/dvb/video.xml +162 −476
  31. Documentation/DocBook/media/dvbstb.png.b64 +398 −0
  32. Documentation/DocBook/media/fieldseq_bt.gif.b64 +447 −0
  33. Documentation/DocBook/media/fieldseq_tb.gif.b64 +445 −0
  34. Documentation/DocBook/media/nv12mt.gif.b64 +37 −0
  35. Documentation/DocBook/media/nv12mt_example.gif.b64 +121 −0
  36. Documentation/DocBook/media/pipeline.png.b64 +213 −0
  37. Documentation/DocBook/media/v4l/.gitignore +0 −0
  38. Documentation/DocBook/media/v4l/biblio.xml +0 −0
  39. Documentation/DocBook/media/v4l/capture.c.xml +0 −0
  40. Documentation/DocBook/media/v4l/common.xml +9 −1
  41. Documentation/DocBook/media/v4l/compat.xml +18 −12
  42. Documentation/DocBook/media/v4l/controls.xml +1390 −127
  43. Documentation/DocBook/media/v4l/crop.pdf +0 −0
  44. Documentation/DocBook/media/v4l/dev-capture.xml +0 −0
  45. Documentation/DocBook/media/v4l/dev-codec.xml +0 −0
  46. Documentation/DocBook/media/v4l/dev-effect.xml +0 −0
  47. Documentation/DocBook/media/v4l/dev-event.xml +51 −0
  48. Documentation/DocBook/media/v4l/dev-osd.xml +0 −0
  49. Documentation/DocBook/media/v4l/dev-output.xml +0 −0
  50. Documentation/DocBook/media/v4l/dev-overlay.xml +0 −0
  51. Documentation/DocBook/media/v4l/dev-radio.xml +0 −0
  52. Documentation/DocBook/media/v4l/dev-raw-vbi.xml +0 −0
  53. Documentation/DocBook/media/v4l/dev-rds.xml +0 −0
  54. Documentation/DocBook/media/v4l/dev-sliced-vbi.xml +0 −0
  55. Documentation/DocBook/media/v4l/dev-subdev.xml +0 −0
  56. Documentation/DocBook/media/v4l/dev-teletext.xml +0 −0
  57. Documentation/DocBook/media/v4l/driver.xml +0 −0
  58. Documentation/DocBook/media/v4l/fdl-appendix.xml +0 −0
  59. Documentation/DocBook/media/v4l/fieldseq_bt.pdf +0 −0
  60. Documentation/DocBook/media/v4l/fieldseq_tb.pdf +0 −0
  61. Documentation/DocBook/media/v4l/func-close.xml +0 −0
  62. Documentation/DocBook/media/v4l/func-ioctl.xml +79 −0
  63. Documentation/DocBook/media/v4l/func-mmap.xml +0 −0
  64. Documentation/DocBook/media/v4l/func-munmap.xml +0 −0
  65. Documentation/DocBook/media/v4l/func-open.xml +0 −0
  66. Documentation/DocBook/media/v4l/func-poll.xml +0 −0
  67. Documentation/DocBook/media/v4l/func-read.xml +0 −0
  68. Documentation/DocBook/media/v4l/func-select.xml +0 −0
  69. Documentation/DocBook/media/v4l/func-write.xml +0 −0
  70. Documentation/DocBook/media/v4l/gen-errors.xml +78 −0
  71. Documentation/DocBook/media/v4l/io.xml +0 −0
  72. Documentation/DocBook/media/v4l/keytable.c.xml +0 −0
  73. Documentation/DocBook/media/v4l/libv4l.xml +0 −0
  74. Documentation/DocBook/media/v4l/lirc_device_interface.xml +3 −1
  75. Documentation/DocBook/media/v4l/media-controller.xml +0 −0
  76. Documentation/DocBook/media/v4l/media-func-close.xml +0 −0
  77. Documentation/DocBook/media/v4l/media-func-ioctl.xml +2 −45
  78. Documentation/DocBook/media/v4l/media-func-open.xml +0 −0
  79. Documentation/DocBook/media/v4l/media-ioc-device-info.xml +1 −2
  80. Documentation/DocBook/media/v4l/media-ioc-enum-entities.xml +0 −0
  81. Documentation/DocBook/media/v4l/media-ioc-enum-links.xml +1 −1
  82. Documentation/DocBook/media/v4l/media-ioc-setup-link.xml +0 −9
  83. Documentation/DocBook/media/v4l/pipeline.pdf +0 −0
  84. Documentation/DocBook/media/v4l/pixfmt-grey.xml +0 −0
  85. Documentation/DocBook/media/v4l/pixfmt-m420.xml +0 −0
  86. Documentation/DocBook/media/v4l/pixfmt-nv12.xml +0 −0
  87. Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +0 −0
  88. Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml +0 −0
  89. Documentation/DocBook/media/v4l/pixfmt-nv16.xml +0 −0
  90. Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml +0 −0
  91. Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml +0 −0
  92. Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml +0 −0
  93. Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml +0 −0
  94. Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml +0 −0
  95. Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml +0 −0
  96. Documentation/DocBook/media/v4l/pixfmt-srggb10.xml +0 −0
  97. Documentation/DocBook/media/v4l/pixfmt-srggb12.xml +0 −0
  98. Documentation/DocBook/media/v4l/pixfmt-srggb8.xml +0 −0
  99. Documentation/DocBook/media/v4l/pixfmt-uyvy.xml +0 −0
  100. Documentation/DocBook/media/v4l/pixfmt-vyuy.xml +0 −0
  101. Documentation/DocBook/media/v4l/pixfmt-y10.xml +0 −0
  102. Documentation/DocBook/media/v4l/pixfmt-y10b.xml +0 −0
  103. Documentation/DocBook/media/v4l/pixfmt-y12.xml +0 −0
  104. Documentation/DocBook/media/v4l/pixfmt-y16.xml +0 −0
  105. Documentation/DocBook/media/v4l/pixfmt-y41p.xml +0 −0
  106. Documentation/DocBook/media/v4l/pixfmt-yuv410.xml +0 −0
  107. Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml +0 −0
  108. Documentation/DocBook/media/v4l/pixfmt-yuv420.xml +0 −0
  109. Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml +0 −0
  110. Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml +0 −0
  111. Documentation/DocBook/media/v4l/pixfmt-yuyv.xml +0 −0
  112. Documentation/DocBook/media/v4l/pixfmt-yvyu.xml +0 −0
  113. Documentation/DocBook/media/v4l/pixfmt.xml +58 −2
  114. Documentation/DocBook/media/v4l/planar-apis.xml +0 −0
  115. Documentation/DocBook/media/v4l/remote_controllers.xml +0 −0
  116. Documentation/DocBook/media/v4l/subdev-formats.xml +1 −4
  117. Documentation/DocBook/media/v4l/v4l2.xml +11 −2
  118. Documentation/DocBook/media/v4l/v4l2grab.c.xml +0 −0
  119. Documentation/DocBook/media/v4l/vbi_525.pdf +0 −0
  120. Documentation/DocBook/media/v4l/vbi_625.pdf +0 −0
  121. Documentation/DocBook/media/v4l/vbi_hsync.pdf +0 −0
  122. Documentation/DocBook/media/v4l/vidioc-cropcap.xml +2 −11
  123. Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xml +1 −10
  124. Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml +0 −17
  125. Documentation/DocBook/media/v4l/vidioc-dqevent.xml +19 −8
  126. Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml +1 −10
  127. Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml +0 −0
  128. Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml +0 −0
  129. Documentation/DocBook/media/v4l/vidioc-enum-frameintervals.xml +0 −11
  130. Documentation/DocBook/media/v4l/vidioc-enum-framesizes.xml +0 −11
  131. Documentation/DocBook/media/v4l/vidioc-enumaudio.xml +1 −11
  132. Documentation/DocBook/media/v4l/vidioc-enumaudioout.xml +1 −11
  133. Documentation/DocBook/media/v4l/vidioc-enuminput.xml +0 −0
  134. Documentation/DocBook/media/v4l/vidioc-enumoutput.xml +0 −0
  135. Documentation/DocBook/media/v4l/vidioc-enumstd.xml +0 −0
  136. Documentation/DocBook/media/v4l/vidioc-g-audio.xml +1 −17
  137. Documentation/DocBook/media/v4l/vidioc-g-audioout.xml +1 −17
  138. Documentation/DocBook/media/v4l/vidioc-g-crop.xml +0 −17
  139. Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml +7 −0
  140. Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml +3 −9
  141. Documentation/DocBook/media/v4l/vidioc-g-dv-timings.xml +3 −8
  142. Documentation/DocBook/media/v4l/vidioc-g-enc-index.xml +0 −17
  143. Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml +14 −0
  144. Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml +1 −18
  145. Documentation/DocBook/media/v4l/vidioc-g-fmt.xml +2 −18
  146. Documentation/DocBook/media/v4l/vidioc-g-frequency.xml +0 −0
  147. Documentation/DocBook/media/v4l/vidioc-g-input.xml +1 −18
  148. Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xml +0 −17
  149. Documentation/DocBook/media/v4l/vidioc-g-modulator.xml +0 −0
  150. Documentation/DocBook/media/v4l/vidioc-g-output.xml +1 −17
  151. Documentation/DocBook/media/v4l/vidioc-g-parm.xml +0 −17
  152. Documentation/DocBook/media/v4l/vidioc-g-priority.xml +1 −2
  153. Documentation/DocBook/media/v4l/vidioc-g-sliced-vbi-cap.xml +1 −10
  154. Documentation/DocBook/media/v4l/vidioc-g-std.xml +1 −8
  155. Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +0 −0
  156. Documentation/DocBook/media/v4l/vidioc-log-status.xml +0 −17
  157. Documentation/DocBook/media/v4l/vidioc-overlay.xml +1 −10
  158. Documentation/DocBook/media/v4l/vidioc-qbuf.xml +0 −17
  159. Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml +0 −22
  160. Documentation/DocBook/media/v4l/vidioc-querybuf.xml +0 −0
  161. Documentation/DocBook/media/v4l/vidioc-querycap.xml +9 −25
  162. Documentation/DocBook/media/v4l/vidioc-queryctrl.xml +11 −1
  163. Documentation/DocBook/media/v4l/vidioc-querystd.xml +0 −23
  164. Documentation/DocBook/media/v4l/vidioc-reqbufs.xml +0 −16
  165. Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml +0 −0
  166. Documentation/DocBook/media/v4l/vidioc-streamon.xml +3 −11
  167. Documentation/DocBook/media/v4l/vidioc-subdev-enum-frame-interval.xml +0 −0
  168. Documentation/DocBook/media/v4l/vidioc-subdev-enum-frame-size.xml +0 −0
  169. Documentation/DocBook/media/v4l/vidioc-subdev-enum-mbus-code.xml +0 −0
  170. Documentation/DocBook/media/v4l/vidioc-subdev-g-crop.xml +0 −0
  171. Documentation/DocBook/media/v4l/vidioc-subdev-g-fmt.xml +3 −0
  172. Documentation/DocBook/media/v4l/vidioc-subdev-g-frame-interval.xml +0 −0
  173. Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml +297 −0
  174. Documentation/DocBook/media/vbi_525.gif.b64 +84 −0
  175. Documentation/DocBook/media/vbi_625.gif.b64 +90 −0
  176. Documentation/DocBook/media/vbi_hsync.gif.b64 +43 −0
  177. Documentation/DocBook/media_api.tmpl +7 −1
  178. Documentation/DocBook/v4l/bayer.pdf +0 −0
  179. Documentation/DocBook/v4l/bayer.png +0 −0
  180. Documentation/DocBook/v4l/crop.gif +0 −0
  181. Documentation/DocBook/v4l/dev-event.xml +0 −31
  182. Documentation/DocBook/v4l/fieldseq_bt.gif +0 −0
  183. Documentation/DocBook/v4l/fieldseq_tb.gif +0 −0
  184. Documentation/DocBook/v4l/func-ioctl.xml +0 −145
  185. Documentation/DocBook/v4l/nv12mt.gif +0 −0
  186. Documentation/DocBook/v4l/nv12mt_example.gif +0 −0
  187. Documentation/DocBook/v4l/pipeline.png +0 −0
  188. Documentation/DocBook/v4l/vbi_525.gif +0 −0
  189. Documentation/DocBook/v4l/vbi_625.gif +0 −0
  190. Documentation/DocBook/v4l/vbi_hsync.gif +0 −0
  191. Documentation/DocBook/v4l/videodev2.h.xml +0 −1946
  192. Documentation/DocBook/v4l/vidioc-subscribe-event.xml +0 −133
  193. Documentation/PCI/MSI-HOWTO.txt +44 −45
  194. Documentation/SubmittingDrivers +1 −1
  195. Documentation/SubmittingPatches +1 −1
  196. Documentation/acpi/apei/einj.txt +9 −2
  197. Documentation/block/cfq-iosched.txt +71 −0
  198. Documentation/device-mapper/dm-crypt.txt +20 −1
  199. Documentation/device-mapper/dm-flakey.txt +42 −6
  200. Documentation/device-mapper/dm-raid.txt +88 −50
  201. Documentation/devicetree/bindings/arm/arm-boards +20 −0
  202. Documentation/devicetree/bindings/arm/sirf.txt +3 −0
  203. Documentation/devicetree/bindings/arm/xilinx.txt +7 −0
  204. Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt +17 −0
  205. Documentation/devicetree/bindings/gpio/gpio_keys.txt +36 −0
  206. Documentation/devicetree/bindings/i2c/arm-versatile.txt +10 −0
  207. Documentation/devicetree/bindings/input/fsl-mma8450.txt +11 −0
  208. Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt +34 −0
  209. Documentation/devicetree/bindings/mtd/arm-versatile.txt +8 −0
  210. Documentation/devicetree/bindings/net/fsl-fec.txt +24 −0
  211. Documentation/devicetree/bindings/net/smsc-lan91c111.txt +10 −0
  212. Documentation/devicetree/bindings/rtc/olpc-xo1-rtc.txt +5 −0
  213. Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt +19 −0
  214. Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt +14 −0
  215. Documentation/devicetree/bindings/watchdog/samsung-wdt.txt +11 −0
  216. Documentation/dmaengine.txt +164 −70
  217. Documentation/dvb/get_dvb_firmware +32 −1
  218. Documentation/email-clients.txt +5 −7
  219. Documentation/fault-injection/fault-injection.txt +1 −2
  220. Documentation/fb/modedb.txt +18 −3
  221. Documentation/feature-removal-schedule.txt +54 −16
  222. Documentation/filesystems/befs.txt +1 −1
  223. Documentation/filesystems/ext3.txt +2 −11
  224. Documentation/filesystems/ext4.txt +7 −16
  225. Documentation/filesystems/nfs/Exporting +8 −1
  226. Documentation/frv/booting.txt +10 −3
  227. Documentation/hwmon/adm1275 +6 −2
  228. Documentation/hwmon/coretemp +7 −0
  229. Documentation/hwmon/lm25066 +90 −0
  230. Documentation/hwmon/lm90 +8 −1
  231. Documentation/hwmon/lm95245 +33 −0
  232. Documentation/hwmon/max16064 +4 −0
  233. Documentation/hwmon/max16065 +7 −0
  234. Documentation/hwmon/max1668 +60 −0
  235. Documentation/hwmon/max34440 +6 −0
  236. Documentation/hwmon/max8688 +6 −0
  237. Documentation/hwmon/ntc_thermistor +93 −0
  238. Documentation/hwmon/pmbus +7 −0
  239. Documentation/hwmon/sysfs-interface +46 −0
  240. Documentation/ioctl/ioctl-number.txt +3 −0
  241. Documentation/kernel-docs.txt +0 −11
  242. Documentation/kernel-parameters.txt +79 −27
  243. Documentation/m68k/kernel-options.txt +14 −0
  244. Documentation/md.txt +23 −6
  245. Documentation/media-framework.txt +1 −1
  246. Documentation/networking/00-INDEX +116 −0
  247. Documentation/networking/bonding.txt +30 −1
  248. Documentation/networking/ip-sysctl.txt +1 −1
  249. Documentation/networking/scaling.txt +378 −0
  250. Documentation/power/runtime_pm.txt +6 −7
  251. Documentation/ramoops.txt +76 −0
  252. Documentation/scsi/ChangeLog.megaraid_sas +8 −0
  253. Documentation/security/keys-ecryptfs.txt +68 −0
  254. Documentation/security/keys-trusted-encrypted.txt +33 −19
  255. Documentation/sysctl/kernel.txt +22 −0
  256. Documentation/video4linux/API.html +1 −1
  257. Documentation/video4linux/CARDLIST.cx23885 +2 −0
  258. Documentation/video4linux/CARDLIST.cx88 +1 −0
  259. Documentation/video4linux/CARDLIST.em28xx +2 −0
  260. Documentation/video4linux/CARDLIST.saa7134 +4 −0
  261. Documentation/video4linux/CARDLIST.tuner +2 −0
  262. Documentation/video4linux/CARDLIST.usbvision +2 −0
  263. Documentation/video4linux/README.davinci-vpbe +93 −0
  264. Documentation/video4linux/v4l2-controls.txt +60 −9
  265. Documentation/video4linux/v4l2-framework.txt +37 −22
  266. Documentation/virtual/00-INDEX +3 −0
  267. Documentation/virtual/lguest/lguest.c +3 −0
  268. Documentation/virtual/virtio-spec.txt +2200 −0
  269. Documentation/watchdog/00-INDEX +2 −0
  270. Documentation/watchdog/watchdog-kernel-api.txt +162 −0
  271. MAINTAINERS +70 −21
  272. Makefile +4 −4
  273. arch/Kconfig +3 −0
  274. arch/alpha/Kconfig +2 −1
  275. arch/alpha/include/asm/atomic.h +5 −7
  276. arch/alpha/include/asm/bitops.h +1 −2
  277. arch/alpha/include/asm/local.h +1 −1
  278. arch/alpha/include/asm/ptrace.h +0 −1
  279. arch/alpha/include/asm/sysinfo.h +0 −9
  280. arch/alpha/include/asm/thread_info.h +4 −4
  281. arch/alpha/kernel/osf_sys.c +7 −5
  282. arch/alpha/kernel/perf_event.c +1 −1
  283. arch/alpha/kernel/smp.c +1 −1
  284. arch/alpha/kernel/sys_alcor.c +1 −1
  285. arch/alpha/kernel/sys_cabriolet.c +3 −3
  286. arch/alpha/kernel/sys_dp264.c +4 −4
  287. arch/alpha/kernel/sys_eb64p.c +1 −1
  288. arch/alpha/kernel/sys_eiger.c +1 −1
  289. arch/alpha/kernel/sys_marvel.c +1 −1
  290. arch/alpha/kernel/sys_miata.c +1 −1
  291. arch/alpha/kernel/sys_mikasa.c +1 −1
  292. arch/alpha/kernel/sys_nautilus.c +1 −1
  293. arch/alpha/kernel/sys_noritake.c +1 −1
  294. arch/alpha/kernel/sys_rawhide.c +1 −1
  295. arch/alpha/kernel/sys_ruffian.c +1 −1
  296. arch/alpha/kernel/sys_rx164.c +1 −1
  297. arch/alpha/kernel/sys_sable.c +2 −2
  298. arch/alpha/kernel/sys_sio.c +2 −2
  299. arch/alpha/kernel/sys_sx164.c +1 −1
  300. arch/alpha/kernel/sys_takara.c +2 −2
  301. arch/alpha/kernel/sys_titan.c +1 −1
  302. arch/alpha/kernel/sys_wildfire.c +1 −1
  303. arch/alpha/kernel/systbls.S +1 −1
  304. arch/alpha/lib/dec_and_lock.c +1 −1
  305. arch/arm/Kconfig +52 −4
  306. arch/arm/Makefile +10 −0
  307. arch/arm/boot/Makefile +6 −0
  308. arch/arm/boot/compressed/mmcif-sh7372.c +1 −1
  309. arch/arm/boot/compressed/sdhi-sh7372.c +1 −1
  310. arch/arm/boot/dts/prima2-cb.dts +416 −0
  311. arch/arm/boot/dts/skeleton.dtsi +13 −0
  312. arch/arm/boot/dts/tegra-harmony.dts +70 −0
  313. arch/arm/boot/dts/tegra-seaboard.dts +28 −0
  314. arch/arm/boot/dts/tegra20.dtsi +139 −0
  315. arch/arm/boot/dts/versatile-ab.dts +192 −0
  316. arch/arm/boot/dts/versatile-pb.dts +48 −0
  317. arch/arm/boot/dts/zynq-ep107.dts +52 −0
  318. arch/arm/common/gic.c +0 −6
  319. arch/arm/common/it8152.c +1 −1
  320. arch/arm/configs/mxs_defconfig +2 −0
  321. arch/arm/configs/u8500_defconfig +24 −8
  322. arch/arm/include/asm/atomic.h +3 −7
  323. arch/arm/include/asm/bitops.h +1 −4
  324. arch/arm/include/asm/clkdev.h +5 −0
  325. arch/arm/include/asm/hardware/cache-l2x0.h +8 −3
  326. arch/arm/include/asm/hardware/gic.h +6 −0
  327. arch/arm/include/asm/hardware/it8152.h +1 −1
  328. arch/arm/include/asm/irq.h +1 −0
  329. arch/arm/include/asm/mach/arch.h +7 −0
  330. arch/arm/include/asm/mach/pci.h +2 −2
  331. arch/arm/include/asm/pci.h +11 −1
  332. arch/arm/include/asm/pmu.h +5 −5
  333. arch/arm/include/asm/prom.h +0 −5
  334. arch/arm/include/asm/vga.h +3 −2
  335. arch/arm/kernel/armksyms.c +0 −3
  336. arch/arm/kernel/bios32.c +1 −1
  337. arch/arm/kernel/calls.S +1 −1
  338. arch/arm/kernel/devtree.c +0 −14
  339. arch/arm/kernel/irq.c +14 −5
  340. arch/arm/kernel/iwmmxt.S +3 −3
  341. arch/arm/kernel/module.c +4 −0
  342. arch/arm/kernel/pmu.c +13 −13
  343. arch/arm/kernel/process.c +3 −1
  344. arch/arm/kernel/relocate_kernel.S +2 −1
  345. arch/arm/kernel/setup.c +8 −7
  346. arch/arm/kernel/smp.c +1 −1
  347. arch/arm/kernel/smp_twd.c +2 −2
  348. arch/arm/kernel/traps.c +1 −1
  349. arch/arm/lib/Makefile +1 −1
  350. arch/arm/lib/ecard.S +0 −1
  351. arch/arm/lib/io-readsw-armv3.S +0 −1
  352. arch/arm/lib/io-writesw-armv3.S +0 −1
  353. arch/arm/lib/sha1.S +0 −211
  354. arch/arm/mach-at91/Makefile +1 −1
  355. arch/arm/mach-at91/at91cap9.c +10 −35
  356. arch/arm/mach-at91/at91rm9200.c +10 −37
  357. arch/arm/mach-at91/at91sam9260.c +21 −79
  358. arch/arm/mach-at91/at91sam9261.c +12 −52
  359. arch/arm/mach-at91/at91sam9263.c +11 −40
  360. arch/arm/mach-at91/at91sam9g45.c +10 −35
  361. arch/arm/mach-at91/at91sam9rl.c +13 −46
  362. arch/arm/mach-at91/board-1arm.c +3 −8
  363. arch/arm/mach-at91/board-afeb-9260v1.c +3 −9
  364. arch/arm/mach-at91/board-cam60.c +3 −9
  365. arch/arm/mach-at91/board-cap9adk.c +3 −9
  366. arch/arm/mach-at91/board-carmeva.c +3 −8
  367. arch/arm/mach-at91/board-cpu9krea.c +3 −8
  368. arch/arm/mach-at91/board-cpuat91.c +3 −8
  369. arch/arm/mach-at91/board-csb337.c +3 −8
  370. arch/arm/mach-at91/board-csb637.c +3 −8
  371. arch/arm/mach-at91/board-eb9200.c +3 −8
  372. arch/arm/mach-at91/board-ecbat91.c +3 −8
  373. arch/arm/mach-at91/board-eco920.c +3 −8
  374. arch/arm/mach-at91/board-flexibity.c +3 −8
  375. arch/arm/mach-at91/board-foxg20.c +3 −9
  376. arch/arm/mach-at91/board-gsia18s.c +2 −7
  377. arch/arm/mach-at91/board-kafa.c +3 −8
  378. arch/arm/mach-at91/board-kb9202.c +3 −8
  379. arch/arm/mach-at91/board-neocore926.c +3 −9
  380. arch/arm/mach-at91/board-pcontrol-g20.c +2 −9
  381. arch/arm/mach-at91/board-picotux200.c +3 −8
  382. arch/arm/mach-at91/board-qil-a9260.c +3 −9
  383. arch/arm/mach-at91/board-rm9200dk.c +3 −8
  384. arch/arm/mach-at91/board-rm9200ek.c +3 −8
  385. arch/arm/mach-at91/board-sam9-l9260.c +3 −9
  386. arch/arm/mach-at91/board-sam9260ek.c +3 −9
  387. arch/arm/mach-at91/board-sam9261ek.c +3 −9
  388. arch/arm/mach-at91/board-sam9263ek.c +3 −9
  389. arch/arm/mach-at91/board-sam9g20ek.c +5 −11
  390. arch/arm/mach-at91/board-sam9m10g45ek.c +3 −9
  391. arch/arm/mach-at91/board-sam9rlek.c +3 −9
  392. arch/arm/mach-at91/board-snapper9260.c +3 −8
  393. arch/arm/mach-at91/board-stamp9g20.c +5 −11
  394. arch/arm/mach-at91/board-usb-a9260.c +3 −9
  395. arch/arm/mach-at91/board-usb-a9263.c +3 −9
  396. arch/arm/mach-at91/board-yl-9200.c +3 −9
  397. arch/arm/mach-at91/generic.h +11 −23
  398. arch/arm/mach-at91/include/mach/at91_dbgu.h +15 −12
  399. arch/arm/mach-at91/include/mach/at91cap9.h +0 −1
  400. arch/arm/mach-at91/include/mach/at91rm9200.h +0 −1
  401. arch/arm/mach-at91/include/mach/at91sam9260.h +0 −1
  402. arch/arm/mach-at91/include/mach/at91sam9261.h +0 −1
  403. arch/arm/mach-at91/include/mach/at91sam9263.h +0 −1
  404. arch/arm/mach-at91/include/mach/at91sam9g45.h +0 −1
  405. arch/arm/mach-at91/include/mach/at91sam9rl.h +0 −1
  406. arch/arm/mach-at91/include/mach/clkdev.h +0 −7
  407. arch/arm/mach-at91/include/mach/cpu.h +89 −70
  408. arch/arm/mach-at91/include/mach/debug-macro.S +7 −7
  409. arch/arm/mach-at91/include/mach/hardware.h +14 −0
  410. arch/arm/mach-at91/include/mach/io.h +10 −1
  411. arch/arm/mach-at91/pm.c +1 −1
  412. arch/arm/mach-at91/setup.c +297 −0
  413. arch/arm/mach-at91/soc.h +59 −0
  414. arch/arm/mach-bcmring/dma.c +1 −1
  415. arch/arm/mach-bcmring/include/mach/clkdev.h +0 −7
  416. arch/arm/mach-bcmring/include/mach/hardware.h +0 −2
  417. arch/arm/mach-cns3xxx/cns3420vb.c +2 −1
  418. arch/arm/mach-cns3xxx/core.c +43 −0
  419. arch/arm/mach-cns3xxx/core.h +6 −0
  420. arch/arm/mach-cns3xxx/include/mach/entry-macro.S +0 −1
  421. arch/arm/mach-cns3xxx/include/mach/hardware.h +0 −22
  422. arch/arm/mach-cns3xxx/include/mach/pm.h +1 −1
  423. arch/arm/mach-cns3xxx/include/mach/system.h +0 −1
  424. arch/arm/mach-cns3xxx/include/mach/uncompress.h +0 −1
  425. arch/arm/mach-cns3xxx/pcie.c +5 −2
  426. arch/arm/mach-cns3xxx/pm.c +1 −1
  427. arch/arm/mach-davinci/board-da850-evm.c +35 −0
  428. arch/arm/mach-davinci/clock.c +3 −5
  429. arch/arm/mach-davinci/clock.h +1 −0
  430. arch/arm/mach-davinci/da850.c +10 −0
  431. arch/arm/mach-davinci/devices-da8xx.c +126 −0
  432. arch/arm/mach-davinci/include/mach/clkdev.h +0 −15
  433. arch/arm/mach-davinci/include/mach/da8xx.h +2 −0
  434. arch/arm/mach-davinci/include/mach/psc.h +3 −2
  435. arch/arm/mach-davinci/psc.c +13 −1
  436. arch/arm/mach-davinci/sleep.S +5 −1
  437. arch/arm/mach-dove/include/mach/hardware.h +0 −7
  438. arch/arm/mach-dove/pcie.c +4 −1
  439. arch/arm/mach-ep93xx/include/mach/clkdev.h +0 −11
  440. arch/arm/mach-ep93xx/include/mach/hardware.h +0 −2
  441. arch/arm/mach-ep93xx/include/mach/ts72xx.h +22 −4
  442. arch/arm/mach-exynos4/Kconfig +29 −1
  443. arch/arm/mach-exynos4/Makefile +4 −7
  444. arch/arm/mach-exynos4/clock.c +62 −1
  445. arch/arm/mach-exynos4/cpu.c +39 −11
  446. arch/arm/mach-exynos4/dev-audio.c +2 −0
  447. arch/arm/mach-exynos4/dev-dwmci.c +82 −0
  448. arch/arm/mach-exynos4/hotplug.c +8 −5
  449. arch/arm/mach-exynos4/include/mach/dwmci.h +20 −0
  450. arch/arm/mach-exynos4/include/mach/entry-macro.S +5 −6
  451. arch/arm/mach-exynos4/include/mach/irqs.h +99 −96
  452. arch/arm/mach-exynos4/include/mach/map.h +16 −3
  453. arch/arm/mach-exynos4/include/mach/pm-core.h +10 −0
  454. arch/arm/mach-exynos4/include/mach/pmu.h +25 −0
  455. arch/arm/mach-exynos4/include/mach/regs-audss.h +18 −0
  456. arch/arm/mach-exynos4/include/mach/regs-clock.h +12 −0
  457. arch/arm/mach-exynos4/include/mach/regs-pmu.h +3 −0
  458. arch/arm/mach-exynos4/irq-eint.c +7 −0
  459. arch/arm/mach-exynos4/localtimer.c +0 −26
  460. arch/arm/mach-exynos4/mach-nuri.c +752 −1
  461. arch/arm/mach-exynos4/mach-smdkc210.c +70 −0
  462. arch/arm/mach-exynos4/mach-smdkv310.c +3 −0
  463. arch/arm/mach-exynos4/mach-universal_c210.c +123 −2
  464. arch/arm/mach-exynos4/mct.c +1 −1
  465. arch/arm/mach-exynos4/platsmp.c +55 −2
  466. arch/arm/mach-exynos4/pm.c +165 −108
  467. arch/arm/mach-exynos4/pmu.c +175 −0
  468. arch/arm/mach-exynos4/setup-fimd0.c +43 −0
  469. arch/arm/mach-exynos4/setup-usb-phy.c +1 −1
  470. arch/arm/mach-exynos4/time.c +0 −301
  471. arch/arm/mach-footbridge/Kconfig +1 −0
  472. arch/arm/mach-footbridge/cats-pci.c +1 −1
  473. arch/arm/mach-footbridge/dc21285.c +4 −0
  474. arch/arm/mach-footbridge/ebsa285-pci.c +1 −1
  475. arch/arm/mach-footbridge/include/mach/hardware.h +0 −5
  476. arch/arm/mach-footbridge/netwinder-pci.c +1 −1
  477. arch/arm/mach-footbridge/personal-pci.c +2 −1
  478. arch/arm/mach-imx/Kconfig +1 −0
  479. arch/arm/mach-imx/clock-imx1.c +3 −3
  480. arch/arm/mach-imx/clock-imx21.c +4 −4
  481. arch/arm/mach-imx/clock-imx25.c +14 −9
  482. arch/arm/mach-imx/clock-imx27.c +8 −7
  483. arch/arm/mach-imx/clock-imx31.c +7 −6
  484. arch/arm/mach-imx/clock-imx35.c +10 −8
  485. arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +2 −1
  486. arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +2 −1
  487. arch/arm/mach-imx/mach-cpuimx27.c +1 −1
  488. arch/arm/mach-imx/mach-cpuimx35.c +1 −1
  489. arch/arm/mach-imx/mach-eukrea_cpuimx25.c +1 −1
  490. arch/arm/mach-imx/mach-imx27_visstrim_m10.c +13 −0
  491. arch/arm/mach-imx/mach-mx25_3ds.c +2 −0
  492. arch/arm/mach-imx/mach-mx27_3ds.c +92 −1
  493. arch/arm/mach-imx/mach-mx31ads.c +2 −2
  494. arch/arm/mach-imx/mach-mx31lilly.c +1 −1
  495. arch/arm/mach-imx/mach-pcm043.c +2 −0
  496. arch/arm/mach-imx/mm-imx21.c +3 −0
  497. arch/arm/mach-imx/mm-imx25.c +25 −0
  498. arch/arm/mach-imx/mm-imx27.c +3 −0
  499. arch/arm/mach-imx/mm-imx31.c +26 −0
  500. arch/arm/mach-imx/mm-imx35.c +46 −0
  501. arch/arm/mach-integrator/include/mach/hardware.h +0 −7
  502. arch/arm/mach-integrator/integrator_ap.c +3 −3
  503. arch/arm/mach-integrator/pci.c +1 −1
  504. arch/arm/mach-integrator/pci_v3.c +5 −0
  505. arch/arm/mach-iop13xx/include/mach/hardware.h +0 −7
  506. arch/arm/mach-iop13xx/iq81340mc.c +1 −1
  507. arch/arm/mach-iop13xx/pci.c +3 −4
  508. arch/arm/mach-iop32x/em7210.c +1 −1
  509. arch/arm/mach-iop32x/glantank.c +1 −1
  510. arch/arm/mach-iop32x/include/mach/hardware.h +0 −3
  511. arch/arm/mach-iop32x/iq31244.c +2 −2
  512. arch/arm/mach-iop32x/iq80321.c +1 −1
  513. arch/arm/mach-iop32x/n2100.c +1 −1
  514. arch/arm/mach-iop33x/include/mach/hardware.h +0 −3
  515. arch/arm/mach-iop33x/iq80331.c +1 −1
  516. arch/arm/mach-iop33x/iq80332.c +1 −1
  517. arch/arm/mach-ixp2000/enp2611.c +2 −1
  518. arch/arm/mach-ixp2000/include/mach/hardware.h +0 −8
  519. arch/arm/mach-ixp2000/ixdp2400.c +2 −1
  520. arch/arm/mach-ixp2000/ixdp2800.c +2 −1
  521. arch/arm/mach-ixp2000/ixdp2x01.c +2 −1
  522. arch/arm/mach-ixp2000/pci.c +5 −0
  523. arch/arm/mach-ixp23xx/include/mach/hardware.h +0 −4
  524. arch/arm/mach-ixp23xx/ixdp2351.c +1 −1
  525. arch/arm/mach-ixp23xx/pci.c +5 −0
  526. arch/arm/mach-ixp23xx/roadrunner.c +2 −1
  527. arch/arm/mach-ixp4xx/avila-pci.c +1 −1
  528. arch/arm/mach-ixp4xx/common-pci.c +5 −0
  529. arch/arm/mach-ixp4xx/coyote-pci.c +1 −1
  530. arch/arm/mach-ixp4xx/dsmg600-pci.c +1 −1
  531. arch/arm/mach-ixp4xx/fsg-pci.c +1 −1
  532. arch/arm/mach-ixp4xx/gateway7001-pci.c +2 −1
  533. arch/arm/mach-ixp4xx/goramo_mlr.c +1 −1
  534. arch/arm/mach-ixp4xx/gtwx5715-pci.c +1 −1
  535. arch/arm/mach-ixp4xx/include/mach/hardware.h +0 −5
  536. arch/arm/mach-ixp4xx/ixdp425-pci.c +1 −1
  537. arch/arm/mach-ixp4xx/ixdpg425-pci.c +1 −1
  538. arch/arm/mach-ixp4xx/nas100d-pci.c +1 −1
  539. arch/arm/mach-ixp4xx/nslu2-pci.c +1 −1
  540. arch/arm/mach-ixp4xx/vulcan-pci.c +1 −1
  541. arch/arm/mach-ixp4xx/wg302v2-pci.c +1 −1
  542. arch/arm/mach-kirkwood/include/mach/hardware.h +0 −7
  543. arch/arm/mach-kirkwood/pcie.c +5 −1
  544. arch/arm/mach-ks8695/board-dsm320.c +1 −1
  545. arch/arm/mach-ks8695/board-micrel.c +1 −1
  546. arch/arm/mach-ks8695/include/mach/devices.h +1 −1
  547. arch/arm/mach-ks8695/include/mach/hardware.h +0 −9
  548. arch/arm/mach-ks8695/pci.c +3 −0
  549. arch/arm/mach-lpc32xx/clock.c +1 −1
  550. arch/arm/mach-lpc32xx/common.c +42 −0
  551. arch/arm/mach-lpc32xx/common.h +2 −0
  552. arch/arm/mach-lpc32xx/include/mach/clkdev.h +0 −25
  553. arch/arm/mach-mmp/Kconfig +7 −0
  554. arch/arm/mach-mmp/Makefile +1 −0
  555. arch/arm/mach-mmp/clock.c +15 −0
  556. arch/arm/mach-mmp/clock.h +1 −0
  557. arch/arm/mach-mmp/gplugd.c +197 −0
  558. arch/arm/mach-mmp/include/mach/clkdev.h +0 −7
  559. arch/arm/mach-mmp/include/mach/mfp-pxa168.h +51 −5
  560. arch/arm/mach-mmp/include/mach/pxa168.h +8 −0
  561. arch/arm/mach-mmp/include/mach/regs-apmu.h +1 −0
  562. arch/arm/mach-mmp/pxa168.c +6 −0
  563. arch/arm/mach-mmp/time.c +44 −18
  564. arch/arm/mach-mmp/ttc_dkb.c +30 −1
  565. arch/arm/mach-msm/Kconfig +4 −0
  566. arch/arm/mach-msm/Makefile +0 −8
  567. arch/arm/mach-msm/gpio.c +0 −376
  568. arch/arm/mach-msm/gpio_hw.h +0 −278
  569. arch/arm/mach-msm/gpiomux.h +1 −16
  570. arch/arm/mach-msm/include/mach/msm_gpiomux.h +24 −5
  571. arch/arm/mach-msm/include/mach/msm_iomap-7x00.h +4 −6
  572. arch/arm/mach-msm/include/mach/msm_iomap-7x30.h +4 −6
  573. arch/arm/mach-msm/include/mach/msm_iomap-8x50.h +4 −6
  574. arch/arm/mach-msm/include/mach/msm_iomap.h +2 −0
  575. arch/arm/mach-msm/io.c +6 −6
  576. arch/arm/mach-mv78xx0/include/mach/hardware.h +0 −7
  577. arch/arm/mach-mv78xx0/pcie.c +5 −1
  578. arch/arm/mach-mx5/Kconfig +14 −0
  579. arch/arm/mach-mx5/Makefile +2 −0
  580. arch/arm/mach-mx5/board-cpuimx51.c +1 −1
  581. arch/arm/mach-mx5/board-mx51_babbage.c +23 −3
  582. arch/arm/mach-mx5/board-mx51_efikamx.c +3 −3
  583. arch/arm/mach-mx5/board-mx51_efikasb.c +8 −7
  584. arch/arm/mach-mx5/board-mx53_ard.c +254 −0
  585. arch/arm/mach-mx5/board-mx53_evk.c +17 −0
  586. arch/arm/mach-mx5/board-mx53_loco.c +36 −3
  587. arch/arm/mach-mx5/clock-mx51-mx53.c +46 −18
  588. arch/arm/mach-mx5/crm_regs.h +2 −0
  589. arch/arm/mach-mx5/devices-imx53.h +8 −0
  590. arch/arm/mach-mx5/mm.c +44 −0
  591. arch/arm/mach-mx5/mx51_efika.c +3 −3
  592. arch/arm/mach-mx5/pm-imx5.c +73 −0
  593. arch/arm/mach-mxs/Kconfig +2 −0
  594. arch/arm/mach-mxs/include/mach/clkdev.h +0 −7
  595. arch/arm/mach-mxs/mach-mx28evk.c +21 −0
  596. arch/arm/mach-mxs/mach-tx28.c +6 −0
  597. arch/arm/mach-nomadik/include/mach/clkdev.h +0 −7
  598. arch/arm/mach-nuc93x/include/mach/clkdev.h +0 −7
  599. arch/arm/mach-omap1/include/mach/clkdev.h +0 −5
  600. arch/arm/mach-omap1/pm.c +1 −1
  601. arch/arm/mach-omap2/Kconfig +5 −2
  602. arch/arm/mach-omap2/board-4430sdp.c +202 −1
  603. arch/arm/mach-omap2/board-am3517crane.c +0 −2
  604. arch/arm/mach-omap2/board-cm-t35.c +68 −27
  605. arch/arm/mach-omap2/board-omap3beagle.c +61 −40
  606. arch/arm/mach-omap2/board-overo.c +0 −1
  607. arch/arm/mach-omap2/board-rx51-peripherals.c +144 −3
  608. arch/arm/mach-omap2/board-zoom-debugboard.c +9 −0
  609. arch/arm/mach-omap2/board-zoom-peripherals.c +5 −5
  610. arch/arm/mach-omap2/clock.c +25 −3
  611. arch/arm/mach-omap2/clock.h +3 −0
  612. arch/arm/mach-omap2/clock2420_data.c +11 −11
  613. arch/arm/mach-omap2/clock2430_data.c +16 −16
  614. arch/arm/mach-omap2/clock3xxx_data.c +24 −22
  615. arch/arm/mach-omap2/clock44xx_data.c +224 −47
  616. arch/arm/mach-omap2/clockdomain.c +171 −41
  617. arch/arm/mach-omap2/clockdomain.h +11 −0
  618. arch/arm/mach-omap2/clockdomain2xxx_3xxx.c +4 −2
  619. arch/arm/mach-omap2/clockdomain44xx.c +4 −9
  620. arch/arm/mach-omap2/clockdomains44xx_data.c +1 −1
  621. arch/arm/mach-omap2/cm-regbits-44xx.h +36 −0
  622. arch/arm/mach-omap2/cm44xx.h +1 −7
  623. arch/arm/mach-omap2/cminst44xx.c +133 −17
  624. arch/arm/mach-omap2/cminst44xx.h +31 −2
  625. arch/arm/mach-omap2/devices.c +2 −1
  626. arch/arm/mach-omap2/display.c +3 −23
  627. arch/arm/mach-omap2/hsmmc.c +3 −4
  628. arch/arm/mach-omap2/i2c.c +68 −0
  629. arch/arm/mach-omap2/id.c +44 −9
  630. arch/arm/mach-omap2/include/mach/clkdev.h +0 −5
  631. arch/arm/mach-omap2/iommu2.c +2 −2
  632. arch/arm/mach-omap2/mux.c +4 −10
  633. arch/arm/mach-omap2/omap-iommu.c +1 −1
  634. arch/arm/mach-omap2/omap_hwmod.c +231 −30
  635. arch/arm/mach-omap2/omap_hwmod_2420_data.c +8 −1
  636. arch/arm/mach-omap2/omap_hwmod_2430_data.c +8 −0
  637. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +16 −2
  638. arch/arm/mach-omap2/omap_hwmod_44xx_data.c +398 −93
  639. arch/arm/mach-omap2/pm.c +4 −4
  640. arch/arm/mach-omap2/powerdomain.c +16 −9
  641. arch/arm/mach-omap2/powerdomains44xx_data.c +5 −4
  642. arch/arm/mach-omap2/prcm.c +1 −1
  643. arch/arm/mach-omap2/prm-regbits-44xx.h +8 −0
  644. arch/arm/mach-omap2/prm44xx.c +1 −144
  645. arch/arm/mach-omap2/prm44xx.h +0 −10
  646. arch/arm/mach-omap2/prminst44xx.c +111 −1
  647. arch/arm/mach-omap2/prminst44xx.h +10 −2
  648. arch/arm/mach-omap2/smartreflex.c +2 −1
  649. arch/arm/mach-omap2/timer.c +2 −1
  650. arch/arm/mach-omap2/twl-common.c +44 −40
  651. arch/arm/mach-orion5x/common.h +1 −1
  652. arch/arm/mach-orion5x/db88f5281-setup.c +2 −1
  653. arch/arm/mach-orion5x/dns323-setup.c +1 −1
  654. arch/arm/mach-orion5x/include/mach/hardware.h +0 −7
  655. arch/arm/mach-orion5x/kurobox_pro-setup.c +2 −1
  656. arch/arm/mach-orion5x/mss2-setup.c +1 −1
  657. arch/arm/mach-orion5x/pci.c +4 −1
  658. arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +1 −1
  659. arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +1 −1
  660. arch/arm/mach-orion5x/rd88f5182-setup.c +2 −1
  661. arch/arm/mach-orion5x/terastation_pro2-setup.c +1 −1
  662. arch/arm/mach-orion5x/ts209-setup.c +2 −1
  663. arch/arm/mach-orion5x/ts409-setup.c +2 −1
  664. arch/arm/mach-orion5x/wnr854t-setup.c +2 −1
  665. arch/arm/mach-orion5x/wrt350n-v2-setup.c +2 −1
  666. arch/arm/mach-pnx4008/include/mach/clkdev.h +0 −7
  667. arch/arm/mach-prima2/Makefile +7 −0
  668. arch/arm/mach-prima2/Makefile.boot +3 −0
  669. arch/arm/mach-prima2/clock.c +510 −0
  670. arch/arm/mach-prima2/common.h +26 −0
  671. arch/arm/mach-prima2/include/mach/clkdev.h +15 −0
  672. arch/arm/mach-prima2/include/mach/debug-macro.S +29 −0
  673. arch/arm/mach-prima2/include/mach/entry-macro.S +29 −0
  674. arch/arm/mach-prima2/include/mach/hardware.h +15 −0
  675. arch/arm/mach-prima2/include/mach/io.h +16 −0
  676. arch/arm/mach-prima2/include/mach/irqs.h +17 −0
  677. arch/arm/mach-prima2/include/mach/map.h +16 −0
  678. arch/arm/mach-prima2/include/mach/memory.h +21 −0
  679. arch/arm/mach-prima2/include/mach/system.h +29 −0
  680. arch/arm/mach-prima2/include/mach/timex.h +14 −0
  681. arch/arm/mach-prima2/include/mach/uart.h +23 −0
  682. arch/arm/mach-prima2/include/mach/uncompress.h +40 −0
  683. arch/arm/mach-prima2/include/mach/vmalloc.h +16 −0
  684. arch/arm/mach-prima2/irq.c +72 −0
  685. arch/arm/mach-prima2/l2x0.c +59 −0
  686. arch/arm/mach-prima2/lluart.c +25 −0
  687. arch/arm/mach-prima2/prima2.c +41 −0
  688. arch/arm/mach-prima2/rstc.c +70 −0
  689. arch/arm/mach-prima2/timer.c +218 −0
  690. arch/arm/mach-pxa/balloon3.c +1 −0
  691. arch/arm/mach-pxa/capc7117.c +1 −0
  692. arch/arm/mach-pxa/clock.c +15 −0
  693. arch/arm/mach-pxa/clock.h +1 −0
  694. arch/arm/mach-pxa/cm-x2xx-pci.c +4 −1
  695. arch/arm/mach-pxa/cm-x2xx.c +4 −1
  696. arch/arm/mach-pxa/cm-x300.c +1 −0
  697. arch/arm/mach-pxa/colibri-pxa270.c +2 −0
  698. arch/arm/mach-pxa/colibri-pxa300.c +1 −0
  699. arch/arm/mach-pxa/colibri-pxa320.c +2 −2
  700. arch/arm/mach-pxa/corgi.c +3 −0
  701. arch/arm/mach-pxa/csb726.c +2 −2
  702. arch/arm/mach-pxa/em-x270.c +2 −0
  703. arch/arm/mach-pxa/eseries.c +6 −0
  704. arch/arm/mach-pxa/ezx.c +6 −0
  705. arch/arm/mach-pxa/generic.h +0 −13
  706. arch/arm/mach-pxa/gumstix.c +1 −0
  707. arch/arm/mach-pxa/h5000.c +2 −0
  708. arch/arm/mach-pxa/himalaya.c +2 −2
  709. arch/arm/mach-pxa/hx4700.c +1 −0
  710. arch/arm/mach-pxa/icontrol.c +1 −0
  711. arch/arm/mach-pxa/idp.c +1 −0
  712. arch/arm/mach-pxa/include/mach/clkdev.h +0 −7
  713. arch/arm/mach-pxa/include/mach/hardware.h +0 −3
  714. arch/arm/mach-pxa/include/mach/irqs.h +12 −0
  715. arch/arm/mach-pxa/include/mach/pxa25x.h +9 −0
  716. arch/arm/mach-pxa/include/mach/pxa27x.h +5 −0
  717. arch/arm/mach-pxa/include/mach/pxa300.h +1 −2
  718. arch/arm/mach-pxa/include/mach/pxa320.h +1 −2
  719. arch/arm/mach-pxa/include/mach/pxa3xx.h +14 −0
  720. arch/arm/mach-pxa/include/mach/pxa930.h +1 −2
  721. arch/arm/mach-pxa/include/mach/regs-intc.h +0 −30
  722. arch/arm/mach-pxa/irq.c +34 −2
  723. arch/arm/mach-pxa/littleton.c +1 −0
  724. arch/arm/mach-pxa/lpd270.c +1 −0
  725. arch/arm/mach-pxa/lubbock.c +1 −0
  726. arch/arm/mach-pxa/magician.c +1 −0
  727. arch/arm/mach-pxa/mainstone.c +1 −0
  728. arch/arm/mach-pxa/mioa701.c +1 −0
  729. arch/arm/mach-pxa/mp900.c +1 −0
  730. arch/arm/mach-pxa/palmld.c +1 −0
  731. arch/arm/mach-pxa/palmt5.c +1 −0
  732. arch/arm/mach-pxa/palmtc.c +2 −2
  733. arch/arm/mach-pxa/palmte2.c +2 −1
  734. arch/arm/mach-pxa/palmtreo.c +2 −0
  735. arch/arm/mach-pxa/palmtx.c +1 −0
  736. arch/arm/mach-pxa/palmz72.c +1 −0
  737. arch/arm/mach-pxa/pcm027.c +1 −0
  738. arch/arm/mach-pxa/poodle.c +1 −0
  739. arch/arm/mach-pxa/pxa3xx.c +2 −3
  740. arch/arm/mach-pxa/pxa95x.c +0 −1
  741. arch/arm/mach-pxa/raumfeld.c +4 −4
  742. arch/arm/mach-pxa/saar.c +1 −0
  743. arch/arm/mach-pxa/saarb.c +1 −0
  744. arch/arm/mach-pxa/spitz.c +3 −0
  745. arch/arm/mach-pxa/stargate2.c +2 −0
  746. arch/arm/mach-pxa/tavorevb.c +1 −0
  747. arch/arm/mach-pxa/tavorevb3.c +1 −0
  748. arch/arm/mach-pxa/tosa.c +1 −0
  749. arch/arm/mach-pxa/trizeps4.c +2 −0
  750. arch/arm/mach-pxa/viper.c +1 −0
  751. arch/arm/mach-pxa/vpac270.c +1 −0
  752. arch/arm/mach-pxa/xcep.c +2 −2
  753. arch/arm/mach-pxa/z2.c +18 −0
  754. arch/arm/mach-pxa/zeus.c +2 −2
  755. arch/arm/mach-pxa/zylonite.c +2 −1
  756. arch/arm/mach-realview/include/mach/system.h +1 −0
  757. arch/arm/mach-s3c2410/include/mach/pm-core.h +3 −0
  758. arch/arm/mach-s3c2440/clock.c +1 −1
  759. arch/arm/mach-s3c2440/s3c2442.c +1 −1
  760. arch/arm/mach-s3c2440/s3c244x-clock.c +1 −1
  761. arch/arm/mach-s3c64xx/Kconfig +23 −0
  762. arch/arm/mach-s3c64xx/Makefile +1 −0
  763. arch/arm/mach-s3c64xx/include/mach/irqs.h +4 −1
  764. arch/arm/mach-s3c64xx/include/mach/pm-core.h +18 −1
  765. arch/arm/mach-s3c64xx/irq.c +10 −2
  766. arch/arm/mach-s3c64xx/mach-crag6410.c +774 −0
  767. arch/arm/mach-s3c64xx/pm.c +1 −0
  768. arch/arm/mach-s5p64x0/Makefile +1 −1
  769. arch/arm/mach-s5p64x0/include/mach/irqs.h +2 −0
  770. arch/arm/mach-s5p64x0/include/mach/regs-gpio.h +10 −0
  771. arch/arm/mach-s5p64x0/irq-eint.c +152 −0
  772. arch/arm/mach-s5pv210/Kconfig +1 −0
  773. arch/arm/mach-s5pv210/clock.c +7 −0
  774. arch/arm/mach-s5pv210/cpu.c +1 −1
  775. arch/arm/mach-s5pv210/dev-audio.c +2 −0
  776. arch/arm/mach-s5pv210/include/mach/map.h +3 −0
  777. arch/arm/mach-s5pv210/include/mach/pm-core.h +3 −0
  778. arch/arm/mach-s5pv210/include/mach/regs-audss.h +18 −0
  779. arch/arm/mach-s5pv210/mach-goni.c +10 −0
  780. arch/arm/mach-s5pv210/mach-smdkv210.c +1 −0
  781. arch/arm/mach-s5pv210/pm.c +1 −1
  782. arch/arm/mach-sa1100/include/mach/hardware.h +0 −8
  783. arch/arm/mach-sa1100/pci-nanoengine.c +6 −1
  784. arch/arm/mach-shark/include/mach/hardware.h +0 −6
  785. arch/arm/mach-shark/pci.c +11 −3
  786. arch/arm/mach-shmobile/board-ag5evm.c +2 −1
  787. arch/arm/mach-shmobile/board-ap4evb.c +5 −8
  788. arch/arm/mach-shmobile/board-mackerel.c +11 −7
  789. arch/arm/mach-shmobile/clock-sh7367.c +0 −3
  790. arch/arm/mach-shmobile/clock-sh7372.c +24 −11
  791. arch/arm/mach-shmobile/clock-sh7377.c +0 −3
  792. arch/arm/mach-shmobile/clock-sh73a0.c +1 −5
  793. arch/arm/mach-shmobile/include/mach/sh7372.h +4 −0
  794. arch/arm/mach-shmobile/intc-sh7372.c +3 −4
  795. arch/arm/mach-shmobile/setup-sh7372.c +161 −15
  796. arch/arm/mach-spear3xx/include/mach/clkdev.h +0 −19
  797. arch/arm/mach-spear6xx/include/mach/clkdev.h +0 −19
  798. arch/arm/mach-tegra/Kconfig +9 −3
  799. arch/arm/mach-tegra/Makefile +3 −0
  800. arch/arm/mach-tegra/Makefile.boot +3 −0
  801. arch/arm/mach-tegra/board-dt.c +119 −0
  802. arch/arm/mach-tegra/board-harmony.c +0 −22
  803. arch/arm/mach-tegra/board-paz00-pinmux.c +4 −6
  804. arch/arm/mach-tegra/board-paz00.c +20 −11
  805. arch/arm/mach-tegra/board-paz00.h +4 −6
  806. arch/arm/mach-tegra/board-seaboard.c +2 −24
  807. arch/arm/mach-tegra/board-trimslice-pinmux.c +5 −2
  808. arch/arm/mach-tegra/board-trimslice.c +56 −0
  809. arch/arm/mach-tegra/board-trimslice.h +3 −0
  810. arch/arm/mach-tegra/devices.c +49 −4
  811. arch/arm/mach-tegra/include/mach/barriers.h +0 −30
  812. arch/arm/mach-tegra/include/mach/system.h +0 −1
  813. arch/arm/mach-tegra/io.c +0 −1
  814. arch/arm/mach-tegra/pcie.c +3 −1
  815. arch/arm/mach-tegra/platsmp.c +1 −2
  816. arch/arm/mach-tegra/tegra2_clocks.c +2 −2
  817. arch/arm/mach-u300/spi.c +2 −2
  818. arch/arm/mach-u300/timer.c +12 −21
  819. arch/arm/mach-ux500/Kconfig +14 −1
  820. arch/arm/mach-ux500/board-mop500-pins.c +43 −0
  821. arch/arm/mach-ux500/board-mop500-regulators.c +8 −1
  822. arch/arm/mach-ux500/board-mop500-sdi.c +44 −17
  823. arch/arm/mach-ux500/board-mop500-uib.c +1 −1
  824. arch/arm/mach-ux500/board-mop500.c +146 −8
  825. arch/arm/mach-ux500/board-mop500.h +5 −0
  826. arch/arm/mach-ux500/clock.c +48 −0
  827. arch/arm/mach-ux500/cpu-db5500.c +1 −0
  828. arch/arm/mach-ux500/include/mach/clkdev.h +0 −7
  829. arch/arm/mach-ux500/include/mach/uncompress.h +2 −1
  830. arch/arm/mach-ux500/usb.c +1 −0
  831. arch/arm/mach-versatile/Kconfig +8 −0
  832. arch/arm/mach-versatile/Makefile +1 −0
  833. arch/arm/mach-versatile/core.c +62 −0
  834. arch/arm/mach-versatile/core.h +4 −0
  835. arch/arm/mach-versatile/include/mach/hardware.h +0 −6
  836. arch/arm/mach-versatile/pci.c +4 −1
  837. arch/arm/mach-versatile/versatile_dt.c +51 −0
  838. arch/arm/mach-vexpress/v2m.c +7 −0
  839. arch/arm/mach-w90x900/include/mach/clkdev.h +0 −7
  840. arch/arm/mach-zynq/Makefile +6 −0
  841. arch/arm/mach-zynq/Makefile.boot +3 −0
  842. arch/arm/mach-zynq/common.c +118 −0
  843. arch/arm/mach-zynq/common.h +8 −12
  844. arch/arm/mach-zynq/include/mach/clkdev.h +32 −0
  845. arch/arm/mach-zynq/include/mach/debug-macro.S +36 −0
  846. arch/arm/mach-zynq/include/mach/entry-macro.S +30 −0
  847. arch/arm/mach-zynq/include/mach/hardware.h +18 −0
  848. arch/arm/mach-zynq/include/mach/io.h +33 −0
  849. arch/arm/mach-zynq/include/mach/irqs.h +21 −0
  850. arch/arm/mach-zynq/include/mach/memory.h +22 −0
  851. arch/arm/mach-zynq/include/mach/system.h +8 −14
  852. arch/arm/mach-zynq/include/mach/timex.h +23 −0
  853. arch/arm/mach-zynq/include/mach/uart.h +25 −0
  854. arch/arm/mach-zynq/include/mach/uncompress.h +51 −0
  855. arch/arm/mach-zynq/include/mach/vmalloc.h +20 −0
  856. arch/arm/mach-zynq/include/mach/zynq_soc.h +48 −0
  857. arch/arm/mach-zynq/timer.c +298 −0
  858. arch/arm/mm/Kconfig +2 −1
  859. arch/arm/mm/abort-macro.S +1 −1
  860. arch/arm/mm/alignment.c +41 −15
  861. arch/arm/mm/cache-l2x0.c +21 −0
  862. arch/arm/mm/init.c +2 −2
  863. arch/arm/mm/iomap.c +12 −0
  864. arch/arm/mm/proc-arm920.S +1 −1
  865. arch/arm/mm/proc-arm926.S +1 −1
  866. arch/arm/mm/proc-arm946.S +2 −1
  867. arch/arm/mm/proc-sa1100.S +5 −5
  868. arch/arm/mm/proc-v6.S +16 −0
  869. arch/arm/mm/proc-v7.S +5 −1
  870. arch/arm/mm/proc-xsc3.S +3 −4
  871. arch/arm/plat-iop/pci.c +3 −0
  872. arch/arm/plat-mxc/devices.c +15 −1
  873. arch/arm/plat-mxc/devices/platform-fec.c +13 −8
  874. arch/arm/plat-mxc/devices/platform-imx-dma.c +13 −191
  875. arch/arm/plat-mxc/devices/platform-imx-i2c.c +2 −1
  876. arch/arm/plat-mxc/devices/platform-imx-keypad.c +5 −0
  877. arch/arm/plat-mxc/devices/platform-imx-ssi.c +10 −0
  878. arch/arm/plat-mxc/devices/platform-imx-uart.c +6 −3
  879. arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c +21 −8
  880. arch/arm/plat-mxc/include/mach/clkdev.h +0 −7
  881. arch/arm/plat-mxc/include/mach/debug-macro.S +8 −0
  882. arch/arm/plat-mxc/include/mach/devices-common.h +8 −0
  883. arch/arm/plat-mxc/include/mach/dma.h +2 −1
  884. arch/arm/plat-mxc/include/mach/esdhc.h +21 −4
  885. arch/arm/plat-mxc/include/mach/iomux-mx53.h +17 −14
  886. arch/arm/plat-mxc/include/mach/mx53.h +14 −14
  887. arch/arm/plat-mxc/include/mach/sdma.h +2 −6
  888. arch/arm/plat-mxc/include/mach/uncompress.h +1 −0
  889. arch/arm/plat-mxc/irq-common.c +6 −7
  890. arch/arm/plat-mxc/tzic.c +25 −72
  891. arch/arm/plat-omap/Kconfig +1 −0
  892. arch/arm/plat-omap/clock.c +39 −0
  893. arch/arm/plat-omap/dmtimer.c +2 −2
  894. arch/arm/plat-omap/include/plat/clkdev.h +0 −13
  895. arch/arm/plat-omap/include/plat/clkdev_omap.h +1 −0
  896. arch/arm/plat-omap/include/plat/clock.h +2 −0
  897. arch/arm/plat-omap/include/plat/cpu.h +32 −3
  898. arch/arm/plat-omap/include/plat/dma.h +5 −0
  899. arch/arm/plat-omap/include/plat/i2c.h +5 −1
  900. arch/arm/plat-omap/include/plat/irqs.h +11 −2
  901. arch/arm/plat-omap/include/plat/omap4-keypad.h +2 −1
  902. arch/arm/plat-omap/include/plat/omap_hwmod.h +13 −2
  903. arch/arm/plat-omap/include/plat/serial.h +3 −0
  904. arch/arm/plat-omap/include/plat/uncompress.h +1 −0
  905. arch/arm/plat-omap/iovmm.c +3 −6
  906. arch/arm/plat-omap/mcbsp.c +27 −0
  907. arch/arm/plat-omap/omap_device.c +55 −36
  908. arch/arm/plat-s5p/Kconfig +11 −0
  909. arch/arm/plat-s5p/Makefile +2 −1
  910. arch/arm/plat-s5p/clock.c +1 −1
  911. arch/arm/plat-s5p/dev-fimd0.c +67 −0
  912. arch/arm/plat-s5p/dev-mfc.c +123 −0
  913. arch/arm/plat-s5p/include/plat/map-s5p.h +3 −2
  914. arch/arm/plat-s5p/include/plat/mfc.h +27 −0
  915. arch/arm/plat-s5p/irq-gpioint.c +6 −0
  916. arch/arm/plat-samsung/adc.c +64 −20
  917. arch/arm/plat-samsung/dev-asocdma.c +10 −0
  918. arch/arm/plat-samsung/include/plat/audio.h +1 −0
  919. arch/arm/plat-samsung/include/plat/backlight.h +1 −1
  920. arch/arm/plat-samsung/include/plat/devs.h +6 −0
  921. arch/arm/plat-samsung/include/plat/fb-core.h +15 −0
  922. arch/arm/plat-samsung/include/plat/fb.h +15 −0
  923. arch/arm/plat-samsung/include/plat/regs-adc.h +1 −0
  924. arch/arm/plat-samsung/irq-uart.c +7 −0
  925. arch/arm/plat-samsung/irq-vic-timer.c +5 −0
  926. arch/arm/plat-samsung/pm.c +2 −0
  927. arch/arm/plat-spear/include/plat/clkdev.h +0 −20
  928. arch/arm/plat-tcc/include/mach/clkdev.h +0 −7
  929. arch/arm/tools/mach-types +4 −4
  930. arch/avr32/Kconfig +1 −0
  931. arch/avr32/include/asm/atomic.h +25 −35
  932. arch/avr32/include/asm/ptrace.h +0 −2
  933. arch/avr32/kernel/syscall_table.S +1 −1
  934. arch/blackfin/include/asm/atomic.h +2 −6
  935. arch/blackfin/include/asm/dma.h +1 −1
  936. arch/blackfin/include/asm/ipipe.h +1 −1
  937. arch/blackfin/include/asm/ptrace.h +0 −1
  938. arch/blackfin/include/asm/spinlock.h +1 −1
  939. arch/blackfin/kernel/ftrace.c +1 −1
  940. arch/blackfin/kernel/ipipe.c +1 −1
  941. arch/blackfin/kernel/nmi.c +1 −1
  942. arch/blackfin/mach-common/entry.S +1 −1
  943. arch/blackfin/mach-common/smp.c +1 −1
  944. arch/cris/arch-v10/drivers/sync_serial.c +3 −3
  945. arch/cris/arch-v10/kernel/entry.S +1 −1
  946. arch/cris/arch-v10/kernel/irq.c +3 −0
  947. arch/cris/arch-v32/drivers/cryptocop.c +1 −1
  948. arch/cris/arch-v32/kernel/entry.S +1 −1
  949. arch/cris/arch-v32/kernel/smp.c +1 −1
  950. arch/cris/include/arch-v10/arch/ptrace.h +0 −1
  951. arch/cris/include/arch-v32/arch/ptrace.h +0 −1
  952. arch/cris/include/asm/atomic.h +2 −4
  953. arch/cris/include/asm/bitops.h +2 −3
  954. arch/cris/include/asm/serial.h +9 −0
  955. arch/cris/include/asm/thread_info.h +3 −3
  956. arch/cris/kernel/process.c +1 −1
  957. arch/frv/Kconfig +1 −0
  958. arch/frv/include/asm/atomic.h +2 −4
  959. arch/frv/include/asm/bitops.h +1 −2
  960. arch/frv/include/asm/hardirq.h +1 −1
  961. arch/frv/include/asm/processor.h +0 −1
  962. arch/frv/include/asm/ptrace.h +0 −1
  963. arch/frv/kernel/entry.S +1 −1
  964. arch/frv/kernel/irq.c +1 −1
  965. arch/frv/kernel/process.c +1 −4
  966. arch/frv/mm/pgalloc.c +1 −7
  967. arch/h8300/include/asm/atomic.h +2 −4
  968. arch/h8300/include/asm/posix_types.h +1 −1
  969. arch/h8300/include/asm/ptrace.h +0 −1
  970. arch/h8300/kernel/syscalls.S +1 −1
  971. arch/ia64/Kconfig +5 −1
  972. arch/ia64/configs/generic_defconfig +1 −0
  973. arch/ia64/include/asm/atomic.h +2 −4
  974. arch/ia64/include/asm/bitops.h +1 −2
  975. arch/ia64/include/asm/gpio.h +55 −0
  976. arch/ia64/include/asm/processor.h +1 −1
  977. arch/ia64/include/asm/ptrace.h +0 −1
  978. arch/ia64/include/asm/spinlock.h +1 −1
  979. arch/ia64/kernel/efi.c +1 −1
  980. arch/ia64/kernel/entry.S +1 −1
  981. arch/ia64/kernel/smp.c +1 −1
  982. arch/ia64/kernel/smpboot.c +1 −1
  983. arch/ia64/kernel/uncached.c +1 −1
  984. arch/m32r/include/asm/atomic.h +4 −6
  985. arch/m32r/include/asm/mmu_context.h +1 −1
  986. arch/m32r/include/asm/ptrace.h +0 −2
  987. arch/m32r/include/asm/spinlock.h +1 −1
  988. arch/m32r/kernel/smp.c +1 −1
  989. arch/m32r/kernel/syscall_table.S +1 −1
  990. arch/m32r/kernel/traps.c +1 −1
  991. arch/m68k/Kconfig +1 −0
  992. arch/m68k/Kconfig.mmu +0 −6
  993. arch/m68k/amiga/chipram.c +63 −73
  994. arch/m68k/atari/stram.c +69 −285
  995. arch/m68k/include/asm/atari_stram.h +1 −2
  996. arch/m68k/include/asm/atarihw.h +2 −2
  997. arch/m68k/include/asm/atomic.h +2 −5
  998. arch/m68k/include/asm/page_mm.h +1 −1
  999. arch/m68k/include/asm/posix_types.h +1 −1
  1000. arch/m68k/include/asm/ptrace.h +0 −1
  1001. arch/m68k/kernel/setup_mm.c +2 −0
  1002. arch/m68k/kernel/syscalltable.S +1 −1
  1003. arch/m68k/math-emu/fp_log.c +0 −3
  1004. arch/m68k/math-emu/multi_arith.h +0 −530
  1005. arch/m68k/mm/init_mm.c +0 −5
  1006. arch/microblaze/include/asm/cpuinfo.h +1 −0
  1007. arch/microblaze/include/asm/irqflags.h +10 −10
  1008. arch/microblaze/include/asm/mmu_context_mm.h +1 −1
  1009. arch/microblaze/include/asm/pci-bridge.h +10 −54
  1010. arch/microblaze/include/asm/processor.h +0 −3
  1011. arch/microblaze/include/asm/prom.h +7 −3
  1012. arch/microblaze/include/asm/ptrace.h +0 −2
  1013. arch/microblaze/include/asm/pvr.h +3 −2
  1014. arch/microblaze/include/asm/setup.h +1 −0
  1015. arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c +1 −0
  1016. arch/microblaze/kernel/cpu/cpuinfo-static.c +1 −0
  1017. arch/microblaze/kernel/cpu/cpuinfo.c +4 −0
  1018. arch/microblaze/kernel/cpu/mb.c +7 −2
  1019. arch/microblaze/kernel/early_printk.c +38 −30
  1020. arch/microblaze/kernel/hw_exception_handler.S +28 −28
  1021. arch/microblaze/kernel/intc.c +1 −1
  1022. arch/microblaze/kernel/process.c +0 −1
  1023. arch/microblaze/kernel/prom.c +43 −54
  1024. arch/microblaze/kernel/setup.c +5 −0
  1025. arch/microblaze/kernel/syscall_table.S +1 −1
  1026. arch/mips/Kbuild.platforms +1 −0
  1027. arch/mips/Makefile +0 −12
  1028. arch/mips/ar7/clock.c +1 −1
  1029. arch/mips/ar7/platform.c +1 −1
  1030. arch/mips/ar7/prom.c +1 −1
  1031. arch/mips/include/asm/atomic.h +5 −12
  1032. arch/mips/include/asm/fixmap.h +1 −9
  1033. arch/mips/include/asm/gt64120.h +0 −2
  1034. arch/mips/include/asm/hw_irq.h +1 −1
  1035. arch/mips/include/asm/irq.h +0 −1
  1036. arch/mips/include/asm/local.h +1 −1
  1037. arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +0 −1
  1038. arch/mips/include/asm/mach-bcm63xx/spaces.h +17 −0
  1039. arch/mips/include/asm/mach-generic/dma-coherence.h +0 −1
  1040. arch/mips/include/asm/mach-generic/spaces.h +4 −0
  1041. arch/mips/include/asm/mach-ip27/dma-coherence.h +0 −1
  1042. arch/mips/include/asm/mach-jazz/dma-coherence.h +0 −1
  1043. arch/mips/include/asm/mach-loongson/dma-coherence.h +0 −1
  1044. arch/mips/include/asm/mach-malta/cpu-feature-overrides.h +2 −0
  1045. arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h +2 −0
  1046. arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h +59 −0
  1047. arch/mips/include/asm/mach-powertv/dma-coherence.h +0 −1
  1048. arch/mips/include/asm/mach-tx39xx/spaces.h +17 −0
  1049. arch/mips/include/asm/mach-tx49xx/spaces.h +17 −0
  1050. arch/mips/include/asm/pgtable.h +1 −0
  1051. arch/mips/include/asm/smp-ops.h +40 −3
  1052. arch/mips/include/asm/smp.h +1 −1
  1053. arch/mips/include/asm/smtc.h +1 −0
  1054. arch/mips/include/asm/uasm.h +2 −0
  1055. arch/mips/include/asm/unistd.h +12 −9
  1056. arch/mips/kernel/cpu-probe.c +0 −1
  1057. arch/mips/kernel/irq.c +1 −1
  1058. arch/mips/kernel/irq_cpu.c +6 −8
  1059. arch/mips/kernel/mips-mt.c +1 −1
  1060. arch/mips/kernel/perf_event.c +0 −2
  1061. arch/mips/kernel/process.c +0 −1
  1062. arch/mips/kernel/rtlx.c +1 −1
  1063. arch/mips/kernel/scall32-o32.S +2 −1
  1064. arch/mips/kernel/scall64-64.S +2 −1
  1065. arch/mips/kernel/scall64-n32.S +2 −1
  1066. arch/mips/kernel/scall64-o32.S +2 −1
  1067. arch/mips/kernel/smp-cmp.c +1 −1
  1068. arch/mips/kernel/smp-mt.c +1 −1
  1069. arch/mips/kernel/smp.c +1 −1
  1070. arch/mips/kernel/smtc-proc.c +1 −1
  1071. arch/mips/kernel/smtc.c +1 −1
  1072. arch/mips/kernel/sync-r4k.c +1 −1
  1073. arch/mips/kernel/vpe.c +1 −1
  1074. arch/mips/lantiq/clk.c +13 −0
  1075. arch/mips/loongson/lemote-2f/ec_kb3310b.c +0 −2
  1076. arch/mips/mipssim/sim_setup.c +9 −9
  1077. arch/mips/mipssim/sim_smtc.c +1 −1
  1078. arch/mips/mm/c-r4k.c +4 −0
  1079. arch/mips/mm/dma-default.c +68 −46
  1080. arch/mips/mm/init.c +4 −4
  1081. arch/mips/mm/mmap.c +170 −23
  1082. arch/mips/mm/pgtable-32.c +1 −1
  1083. arch/mips/mm/pgtable-64.c +1 −1
  1084. arch/mips/mm/tlbex.c +194 −98
  1085. arch/mips/mti-malta/malta-init.c +7 −7
  1086. arch/mips/mti-malta/malta-smtc.c +1 −1
  1087. arch/mips/netlogic/Platform +11 −0
  1088. arch/mips/netlogic/xlr/irq.c +1 −1
  1089. arch/mips/netlogic/xlr/smp.c +2 −11
  1090. arch/mips/nxp/pnx8550/common/setup.c +0 −2
  1091. arch/mips/pci/ops-nile4.c +0 −1
  1092. arch/mips/pmc-sierra/msp71xx/msp_setup.c +3 −5
  1093. arch/mips/pnx8550/common/setup.c +0 −2
  1094. arch/mips/rb532/devices.c +9 −15
  1095. arch/mips/sgi-ip27/ip27-nmi.c +1 −1
  1096. arch/mips/sibyte/sb1250/irq.c +8 −0
  1097. arch/mn10300/include/asm/atomic.h +2 −5
  1098. arch/mn10300/include/asm/bitops.h +1 −6
  1099. arch/mn10300/include/asm/mmu_context.h +1 −1
  1100. arch/mn10300/include/asm/processor.h +0 −1
  1101. arch/mn10300/include/asm/ptrace.h +0 −1
  1102. arch/mn10300/include/asm/spinlock.h +1 −1
  1103. arch/mn10300/include/asm/system.h +1 −1
  1104. arch/mn10300/kernel/entry.S +1 −1
  1105. arch/mn10300/kernel/mn10300-watchdog.c +1 −1
  1106. arch/mn10300/kernel/traps.c +1 −1
  1107. arch/mn10300/mm/misalignment.c +1 −1
  1108. arch/mn10300/proc-mn2ws0050/proc-init.c +1 −1
  1109. arch/openrisc/include/asm/dma-mapping.h +57 −2
  1110. arch/openrisc/include/asm/sigcontext.h +1 −6
  1111. arch/openrisc/kernel/dma.c +27 −1
  1112. arch/openrisc/kernel/signal.c +11 −18
  1113. arch/parisc/Kconfig +1 −0
  1114. arch/parisc/include/asm/atomic.h +7 −13
  1115. arch/parisc/include/asm/bitops.h +2 −9
  1116. arch/parisc/include/asm/futex.h +60 −6
  1117. arch/parisc/include/asm/mmu_context.h +1 −1
  1118. arch/parisc/include/asm/ptrace.h +0 −1
  1119. arch/parisc/include/asm/unistd.h +2 −1
  1120. arch/parisc/kernel/parisc_ksyms.c +1 −1
  1121. arch/parisc/kernel/smp.c +1 −1
  1122. arch/parisc/kernel/syscall_table.S +2 −1
  1123. arch/parisc/kernel/traps.c +1 −1
  1124. arch/parisc/lib/bitops.c +1 −1
  1125. arch/powerpc/Kconfig +1 −0
  1126. arch/powerpc/boot/dts/p1023rds.dts +1 −1
  1127. arch/powerpc/configs/85xx/p1023rds_defconfig +1 −0
  1128. arch/powerpc/configs/corenet32_smp_defconfig +1 −0
  1129. arch/powerpc/configs/corenet64_smp_defconfig +4 −1
  1130. arch/powerpc/configs/mpc85xx_defconfig +1 −0
  1131. arch/powerpc/configs/mpc85xx_smp_defconfig +1 −0
  1132. arch/powerpc/include/asm/atomic.h +7 −12
  1133. arch/powerpc/include/asm/bitops.h +1 −4
  1134. arch/powerpc/include/asm/emulated_ops.h +1 −1
  1135. arch/powerpc/include/asm/irq.h +1 −1
  1136. arch/powerpc/include/asm/jump_label.h +0 −2
  1137. arch/powerpc/include/asm/kdump.h +0 −10
  1138. arch/powerpc/include/asm/local.h +1 −1
  1139. arch/powerpc/include/asm/pci-bridge.h +1 −49
  1140. arch/powerpc/include/asm/pci.h +1 −1
  1141. arch/powerpc/include/asm/prom.h +1 −1
  1142. arch/powerpc/include/asm/reg.h +5 −3
  1143. arch/powerpc/include/asm/systbl.h +1 −1
  1144. arch/powerpc/include/asm/system.h +0 −1
  1145. arch/powerpc/kernel/cputable.c +6 −5
  1146. arch/powerpc/kernel/iomap.c +2 −0
  1147. arch/powerpc/kernel/machine_kexec.c +7 −3
  1148. arch/powerpc/kernel/of_platform.c +1 −1
  1149. arch/powerpc/kernel/pci-common.c +11 −11
  1150. arch/powerpc/kernel/pci_32.c +1 −1
  1151. arch/powerpc/kernel/pci_64.c +2 −2
  1152. arch/powerpc/kernel/perf_callchain.c +17 −3
  1153. arch/powerpc/kernel/ppc_ksyms.c +1 −1
  1154. arch/powerpc/kernel/prom_init.c +8 −6
  1155. arch/powerpc/kernel/rtas.c +1 −1
  1156. arch/powerpc/kernel/rtas_pci.c +1 −1
  1157. arch/powerpc/kernel/rtasd.c +1 −1
  1158. arch/powerpc/kernel/smp-tbsync.c +1 −1
  1159. arch/powerpc/kernel/smp.c +1 −1
  1160. arch/powerpc/kvm/book3s_hv_rmhandlers.S +2 −2
  1161. arch/powerpc/platforms/40x/ep405.c +1 −1
  1162. arch/powerpc/platforms/40x/ppc40x_simple.c +1 −1
  1163. arch/powerpc/platforms/40x/walnut.c +1 −1
  1164. arch/powerpc/platforms/44x/canyonlands.c +1 −1
  1165. arch/powerpc/platforms/44x/ebony.c +1 −1
  1166. arch/powerpc/platforms/44x/ppc44x_simple.c +1 −1
  1167. arch/powerpc/platforms/44x/sam440ep.c +1 −1
  1168. arch/powerpc/platforms/52xx/mpc52xx_pci.c +1 −1
  1169. arch/powerpc/platforms/82xx/pq2.c +1 −1
  1170. arch/powerpc/platforms/83xx/km83xx.c +1 −1
  1171. arch/powerpc/platforms/83xx/mpc832x_mds.c +1 −1
  1172. arch/powerpc/platforms/83xx/mpc834x_itx.c +1 −1
  1173. arch/powerpc/platforms/83xx/mpc834x_mds.c +1 −1
  1174. arch/powerpc/platforms/83xx/mpc836x_mds.c +1 −1
  1175. arch/powerpc/platforms/83xx/sbc834x.c +1 −1
  1176. arch/powerpc/platforms/85xx/mpc85xx_cds.c +1 −1
  1177. arch/powerpc/platforms/85xx/mpc85xx_mds.c +1 −1
  1178. arch/powerpc/platforms/85xx/sbc8548.c +1 −1
  1179. arch/powerpc/platforms/Kconfig +1 −1
  1180. arch/powerpc/platforms/cell/cpufreq_spudemand.c +1 −1
  1181. arch/powerpc/platforms/cell/smp.c +1 −1
  1182. arch/powerpc/platforms/cell/spufs/context.c +1 −1
  1183. arch/powerpc/platforms/chrp/pci.c +1 −1
  1184. arch/powerpc/platforms/chrp/smp.c +1 −1
  1185. arch/powerpc/platforms/iseries/smp.c +1 −1
  1186. arch/powerpc/platforms/powermac/backlight.c +1 −1
  1187. arch/powerpc/platforms/powermac/pci.c +3 −3
  1188. arch/powerpc/platforms/powermac/smp.c +1 −1
  1189. arch/powerpc/platforms/pseries/dtl.c +1 −1
  1190. arch/powerpc/platforms/pseries/eeh.c +1 −1
  1191. arch/powerpc/platforms/pseries/eeh_cache.c +1 −1
  1192. arch/powerpc/platforms/pseries/hotplug-cpu.c +2 −2
  1193. arch/powerpc/platforms/pseries/io_event_irq.c +3 −5
  1194. arch/powerpc/platforms/pseries/kexec.c +22 −12
  1195. arch/powerpc/platforms/pseries/lpar.c +9 −10
  1196. arch/powerpc/platforms/pseries/plpar_wrappers.h +6 −6
  1197. arch/powerpc/platforms/pseries/setup.c +3 −2
  1198. arch/powerpc/platforms/pseries/smp.c +1 −1
  1199. arch/powerpc/sysdev/fsl_pci.c +2 −2
  1200. arch/powerpc/sysdev/fsl_rio.c +3 −2
  1201. arch/powerpc/sysdev/fsl_soc.c +1 −1
  1202. arch/powerpc/sysdev/grackle.c +1 −1
  1203. arch/powerpc/sysdev/ppc4xx_pci.c +4 −3
  1204. arch/powerpc/sysdev/tsi108_dev.c +1 −1
  1205. arch/s390/Kconfig +5 −4
  1206. arch/s390/include/asm/atomic.h +2 −5
  1207. arch/s390/include/asm/bitops.h +1 −4
  1208. arch/s390/include/asm/ipl.h +1 −0
  1209. arch/s390/include/asm/lowcore.h +9 −2
  1210. arch/s390/include/asm/processor.h +0 −2
  1211. arch/s390/include/asm/ptrace.h +0 −1
  1212. arch/s390/include/asm/system.h +1 −0
  1213. arch/s390/kernel/asm-offsets.c +4 −6
  1214. arch/s390/kernel/base.S +36 −0
  1215. arch/s390/kernel/compat_signal.c +12 −31
  1216. arch/s390/kernel/compat_wrapper.S +0 −6
  1217. arch/s390/kernel/dis.c +1 −1
  1218. arch/s390/kernel/early.c +8 −6
  1219. arch/s390/kernel/entry.S +28 −0
  1220. arch/s390/kernel/entry64.S +20 −0
  1221. arch/s390/kernel/ipl.c +47 −3
  1222. arch/s390/kernel/reipl64.S +60 −20
  1223. arch/s390/kernel/setup.c +24 −1
  1224. arch/s390/kernel/signal.c +19 −42
  1225. arch/s390/kernel/smp.c +16 −8
  1226. arch/s390/kernel/syscalls.S +1 −1
  1227. arch/s390/kernel/traps.c +1 −1
  1228. arch/s390/mm/maccess.c +16 −0
  1229. arch/s390/mm/pgtable.c +1 −0
  1230. arch/sh/Kconfig +1 −0
  1231. arch/sh/Makefile +1 −0
  1232. arch/sh/boards/board-apsh4a3a.c +1 −1
  1233. arch/sh/boards/board-apsh4ad0a.c +1 −1
  1234. arch/sh/boards/board-sh7785lcr.c +1 −1
  1235. arch/sh/boards/board-urquell.c +1 −1
  1236. arch/sh/boards/mach-ap325rxa/setup.c +7 −8
  1237. arch/sh/boards/mach-highlander/setup.c +0 −2
  1238. arch/sh/boards/mach-sdk7786/setup.c +1 −1
  1239. arch/sh/drivers/pci/fixups-cayman.c +1 −1
  1240. arch/sh/drivers/pci/fixups-dreamcast.c +1 −1
  1241. arch/sh/drivers/pci/fixups-landisk.c +1 −1
  1242. arch/sh/drivers/pci/fixups-r7780rp.c +1 −1
  1243. arch/sh/drivers/pci/fixups-rts7751r2d.c +1 −1
  1244. arch/sh/drivers/pci/fixups-sdk7780.c +1 −1
  1245. arch/sh/drivers/pci/fixups-se7751.c +1 −1
  1246. arch/sh/drivers/pci/fixups-sh03.c +1 −1
  1247. arch/sh/drivers/pci/fixups-snapgear.c +1 −1
  1248. arch/sh/drivers/pci/fixups-titan.c +1 −1
  1249. arch/sh/drivers/pci/pcie-sh7786.c +1 −1
  1250. arch/sh/include/asm/atomic.h +4 −8
  1251. arch/sh/include/asm/hw_irq.h +1 −1
  1252. arch/sh/include/asm/pci.h +1 −1
  1253. arch/sh/include/asm/ptrace.h +1 −3
  1254. arch/sh/include/asm/smp.h +1 −1
  1255. arch/sh/include/cpu-sh3/cpu/serial.h +10 −0
  1256. arch/sh/include/cpu-sh4a/cpu/serial.h +7 −0
  1257. arch/sh/kernel/cpu/clock-cpg.c +0 −2
  1258. arch/sh/kernel/cpu/sh3/Makefile +9 −9
  1259. arch/sh/kernel/cpu/sh3/serial-sh770x.c +33 −0
  1260. arch/sh/kernel/cpu/sh3/serial-sh7710.c +20 −0
  1261. arch/sh/kernel/cpu/sh3/serial-sh7720.c +37 −0
  1262. arch/sh/kernel/cpu/sh3/setup-sh7705.c +5 −0
  1263. arch/sh/kernel/cpu/sh3/setup-sh770x.c +9 −0
  1264. arch/sh/kernel/cpu/sh3/setup-sh7720.c +5 −0
  1265. arch/sh/kernel/cpu/sh4/clock-sh4-202.c +0 −2
  1266. arch/sh/kernel/cpu/sh4/setup-sh7750.c +3 −1
  1267. arch/sh/kernel/cpu/sh4/setup-sh7760.c +4 −0
  1268. arch/sh/kernel/cpu/sh4a/Makefile +1 −1
  1269. arch/sh/kernel/cpu/sh4a/clock-sh7343.c +8 −25
  1270. arch/sh/kernel/cpu/sh4a/clock-sh7366.c +6 −19
  1271. arch/sh/kernel/cpu/sh4a/clock-sh7722.c +11 −35
  1272. arch/sh/kernel/cpu/sh4a/clock-sh7723.c +1 −3
  1273. arch/sh/kernel/cpu/sh4a/clock-sh7724.c +18 −66
  1274. arch/sh/kernel/cpu/sh4a/clock-sh7757.c +7 −29
  1275. arch/sh/kernel/cpu/sh4a/clock-sh7763.c +0 −2
  1276. arch/sh/kernel/cpu/sh4a/clock-sh7780.c +0 −2
  1277. arch/sh/kernel/cpu/sh4a/clock-sh7785.c +15 −64
  1278. arch/sh/kernel/cpu/sh4a/clock-sh7786.c +21 −94
  1279. arch/sh/kernel/cpu/sh4a/clock-shx3.c +13 −54
  1280. arch/sh/kernel/cpu/sh4a/serial-sh7722.c +23 −0
  1281. arch/sh/kernel/cpu/sh4a/setup-sh7366.c +1 −0
  1282. arch/sh/kernel/cpu/sh4a/setup-sh7722.c +7 −0
  1283. arch/sh/kernel/cpu/sh4a/setup-sh7723.c +9 −0
  1284. arch/sh/kernel/cpu/sh4a/setup-sh7724.c +9 −0
  1285. arch/sh/kernel/cpu/sh4a/setup-sh7757.c +1 −0
  1286. arch/sh/kernel/cpu/sh4a/setup-sh7763.c +3 −0
  1287. arch/sh/kernel/cpu/sh4a/setup-sh7780.c +2 −1
  1288. arch/sh/kernel/cpu/sh4a/setup-sh7785.c +6 −2
  1289. arch/sh/kernel/cpu/sh4a/setup-sh7786.c +7 −1
  1290. arch/sh/kernel/idle.c +5 −3
  1291. arch/sh/kernel/smp.c +1 −1
  1292. arch/sh/kernel/syscalls_32.S +1 −1
  1293. arch/sh/kernel/syscalls_64.S +1 −1
  1294. arch/sh/kernel/traps_32.c +37 −0
  1295. arch/sh/kernel/traps_64.c +1 −1
  1296. arch/sh/kernel/unwinder.c +1 −1
  1297. arch/sparc/Kconfig +2 −0
  1298. arch/sparc/include/asm/Kbuild +5 −0
  1299. arch/sparc/include/asm/atomic_32.h +1 −3
  1300. arch/sparc/include/asm/atomic_64.h +2 −4
  1301. arch/sparc/include/asm/bitops_64.h +9 −45
  1302. arch/sparc/include/asm/div64.h +0 −1
  1303. arch/sparc/include/asm/elf_64.h +29 −34
  1304. arch/sparc/include/asm/hypervisor.h +14 −0
  1305. arch/sparc/include/asm/irq_regs.h +0 −1
  1306. arch/sparc/include/asm/leon_pci.h +1 −1
  1307. arch/sparc/include/asm/local.h +0 −6
  1308. arch/sparc/include/asm/local64.h +0 −1
  1309. arch/sparc/include/asm/prom.h +1 −1
  1310. arch/sparc/include/asm/ptrace.h +0 −2
  1311. arch/sparc/include/asm/sigcontext.h +14 −0
  1312. arch/sparc/include/asm/smp_32.h +1 −1
  1313. arch/sparc/include/asm/smp_64.h +1 −1
  1314. arch/sparc/include/asm/spinlock_32.h +9 −2
  1315. arch/sparc/include/asm/spinlock_64.h +0 −6
  1316. arch/sparc/include/asm/spitfire.h +1 −0
  1317. arch/sparc/include/asm/tsb.h +24 −27
  1318. arch/sparc/include/asm/xor_64.h +2 −1
  1319. arch/sparc/kernel/Makefile +1 −0
  1320. arch/sparc/kernel/cpu.c +8 −0
  1321. arch/sparc/kernel/cpumap.c +1 −0
  1322. arch/sparc/kernel/ds.c +29 −2
  1323. arch/sparc/kernel/entry.h +14 −0
  1324. arch/sparc/kernel/head_64.S +32 −1
  1325. arch/sparc/kernel/hvapi.c +7 −0
  1326. arch/sparc/kernel/hvcalls.S +7 −0
  1327. arch/sparc/kernel/ioport.c +7 −25
  1328. arch/sparc/kernel/irq.h +1 −1
  1329. arch/sparc/kernel/irq_64.c +1 −1
  1330. arch/sparc/kernel/kernel.h +15 −0
  1331. arch/sparc/kernel/ktlb.S +12 −12
  1332. arch/sparc/kernel/leon_pci_grpci2.c +1 −1
  1333. arch/sparc/kernel/leon_smp.c +1 −1
  1334. arch/sparc/kernel/mdesc.c +23 −7
  1335. arch/sparc/kernel/pcic.c +2 −2
  1336. arch/sparc/kernel/pcr.c +9 −2
  1337. arch/sparc/kernel/perf_event.c +3 −2
  1338. arch/sparc/kernel/setup_64.c +192 −0
  1339. arch/sparc/kernel/signal32.c +105 −79
  1340. arch/sparc/kernel/signal_32.c +79 −93
  1341. arch/sparc/kernel/signal_64.c +47 −61
  1342. arch/sparc/kernel/sigutil.h +9 −0
  1343. arch/sparc/kernel/sigutil_32.c +120 −0
  1344. arch/sparc/kernel/sigutil_64.c +93 −0
  1345. arch/sparc/kernel/smp_32.c +1 −1
  1346. arch/sparc/kernel/smp_64.c +1 −1
  1347. arch/sparc/kernel/sparc_ksyms_64.c +11 −0
  1348. arch/sparc/kernel/sstate.c +2 −7
  1349. arch/sparc/kernel/sys32.S +0 −1
  1350. arch/sparc/kernel/systbls_32.S +1 −1
  1351. arch/sparc/kernel/systbls_64.S +2 −2
  1352. arch/sparc/kernel/unaligned_64.c +4 −11
  1353. arch/sparc/kernel/vmlinux.lds.S +20 −1
  1354. arch/sparc/lib/Makefile +2 −2
  1355. arch/sparc/lib/NG2page.S +0 −61
  1356. arch/sparc/lib/NGpage.S +75 −39
  1357. arch/sparc/lib/atomic32.c +4 −4
  1358. arch/sparc/lib/ffs.S +84 −0
  1359. arch/sparc/lib/hweight.S +51 −0
  1360. arch/sparc/mm/init_64.c +41 −1
  1361. arch/tile/Kconfig +1 −0
  1362. arch/tile/include/asm/Kbuild +38 −0
  1363. arch/tile/include/asm/atomic.h +0 −14
  1364. arch/tile/include/asm/atomic_32.h +7 −7
  1365. arch/tile/include/asm/atomic_64.h +3 −3
  1366. arch/tile/include/asm/bitops_32.h +1 −1
  1367. arch/tile/include/asm/bitops_64.h +2 −5
  1368. arch/tile/include/asm/bug.h +0 −1
  1369. arch/tile/include/asm/bugs.h +0 −1
  1370. arch/tile/include/asm/cputime.h +0 −1
  1371. arch/tile/include/asm/device.h +0 −1
  1372. arch/tile/include/asm/div64.h +0 −1
  1373. arch/tile/include/asm/emergency-restart.h +0 −1
  1374. arch/tile/include/asm/errno.h +0 −1
  1375. arch/tile/include/asm/fb.h +0 −1
  1376. arch/tile/include/asm/fcntl.h +0 −1
  1377. arch/tile/include/asm/fixmap.h +0 −6
  1378. arch/tile/include/asm/ioctl.h +0 −1
  1379. arch/tile/include/asm/ioctls.h +0 −1
  1380. arch/tile/include/asm/ipc.h +0 −1
  1381. arch/tile/include/asm/ipcbuf.h +0 −1
  1382. arch/tile/include/asm/irq_regs.h +0 −1
  1383. arch/tile/include/asm/kdebug.h +0 −1
  1384. arch/tile/include/asm/local.h +0 −1
  1385. arch/tile/include/asm/module.h +0 −1
  1386. arch/tile/include/asm/msgbuf.h +0 −1
  1387. arch/tile/include/asm/mutex.h +0 −1
  1388. arch/tile/include/asm/param.h +0 −1
  1389. arch/tile/include/asm/parport.h +0 −1
  1390. arch/tile/include/asm/poll.h +0 −1
  1391. arch/tile/include/asm/posix_types.h +0 −1
  1392. arch/tile/include/asm/ptrace.h +0 −2
  1393. arch/tile/include/asm/resource.h +0 −1
  1394. arch/tile/include/asm/scatterlist.h +0 −1
  1395. arch/tile/include/asm/sembuf.h +0 −1
  1396. arch/tile/include/asm/serial.h +0 −1
  1397. arch/tile/include/asm/shmbuf.h +0 −1
  1398. arch/tile/include/asm/shmparam.h +0 −1
  1399. arch/tile/include/asm/socket.h +0 −1
  1400. arch/tile/include/asm/sockios.h +0 −1
  1401. arch/tile/include/asm/spinlock_32.h +1 −1
  1402. arch/tile/include/asm/statfs.h +0 −1
  1403. arch/tile/include/asm/termbits.h +0 −1
  1404. arch/tile/include/asm/termios.h +0 −1
  1405. arch/tile/include/asm/types.h +0 −1
  1406. arch/tile/include/asm/ucontext.h +0 −1
  1407. arch/tile/include/asm/xor.h +0 −1
  1408. arch/tile/include/hv/drv_srom_intf.h +41 −0
  1409. arch/tile/kernel/intvec_32.S +1 −1
  1410. arch/tile/kernel/pci.c +1 −1
  1411. arch/tile/kernel/time.c +1 −4
  1412. arch/tile/lib/atomic_32.c +1 −1
  1413. arch/tile/lib/atomic_asm_32.S +1 −1
  1414. arch/tile/mm/init.c +1 −2
  1415. arch/um/Kconfig.x86 +4 −0
  1416. arch/um/Makefile +1 −1
  1417. arch/um/drivers/line.c +36 −25
  1418. arch/um/drivers/xterm.c +1 −0
  1419. arch/um/include/asm/ptrace-generic.h +0 −6
  1420. arch/um/include/shared/line.h +1 −0
  1421. arch/um/include/shared/registers.h +1 −1
  1422. arch/um/kernel/process.c +1 −1
  1423. arch/um/kernel/ptrace.c +0 −28
  1424. arch/um/os-Linux/registers.c +8 −1
  1425. arch/um/os-Linux/skas/mem.c +1 −1
  1426. arch/um/os-Linux/skas/process.c +18 −1
  1427. arch/um/sys-i386/asm/ptrace.h +0 −5
  1428. arch/um/sys-i386/ptrace.c +23 −5
  1429. arch/um/sys-i386/shared/sysdep/ptrace.h +1 −0
  1430. arch/um/sys-x86_64/ptrace.c +8 −4
  1431. arch/um/sys-x86_64/shared/sysdep/ptrace.h +1 −0
  1432. arch/unicore32/kernel/pci.c +1 −1
  1433. arch/x86/Kconfig +40 −6
  1434. arch/x86/ia32/ia32entry.S +1 −1
  1435. arch/x86/ia32/sys_ia32.c +1 −1
  1436. arch/x86/include/asm/apic.h +1 −1
  1437. arch/x86/include/asm/atomic.h +4 −6
  1438. arch/x86/include/asm/atomic64_32.h +1 −1
  1439. arch/x86/include/asm/atomic64_64.h +1 −1
  1440. arch/x86/include/asm/bitops.h +1 −4
  1441. arch/x86/include/asm/desc.h +2 −2
  1442. arch/x86/include/asm/hw_irq.h +1 −1
  1443. arch/x86/include/asm/io.h +1 −2
  1444. arch/x86/include/asm/irq_vectors.h +0 −4
  1445. arch/x86/include/asm/kdebug.h +0 −1
  1446. arch/x86/include/asm/local.h +1 −1
  1447. arch/x86/include/asm/mce.h +1 −1
  1448. arch/x86/include/asm/mmu_context.h +1 −1
  1449. arch/x86/include/asm/olpc.h +40 −11
  1450. arch/x86/include/asm/paravirt_types.h +6 −0
  1451. arch/x86/include/asm/processor.h +0 −2
  1452. arch/x86/include/asm/prom.h +1 −1
  1453. arch/x86/include/asm/ptrace.h +19 −0
  1454. arch/x86/include/asm/pvclock.h +1 −1
  1455. arch/x86/include/asm/spinlock.h +1 −1
  1456. arch/x86/include/asm/thread_info.h +1 −1
  1457. arch/x86/include/asm/traps.h +0 −2
  1458. arch/x86/include/asm/unistd_64.h +3 −1
  1459. arch/x86/include/asm/vsyscall.h +6 −0
  1460. arch/x86/include/asm/xen/page.h +2 −2
  1461. arch/x86/kernel/Makefile +0 −13
  1462. arch/x86/kernel/acpi/cstate.c +23 −0
  1463. arch/x86/kernel/amd_gart_64.c +1 −1
  1464. arch/x86/kernel/apic/apic.c +1 −1
  1465. arch/x86/kernel/apic/es7000_32.c +1 −1
  1466. arch/x86/kernel/apic/x2apic_uv_x.c +0 −1
  1467. arch/x86/kernel/cpu/common.c +1 −1
  1468. arch/x86/kernel/cpu/mtrr/main.c +0 −2
  1469. arch/x86/kernel/cpu/perf_event.c +3 −0
  1470. arch/x86/kernel/cpu/perf_event_intel.c +1 −0
  1471. arch/x86/kernel/entry_32.S +2 −6
  1472. arch/x86/kernel/entry_64.S +0 −1
  1473. arch/x86/kernel/i8259.c +1 −1
  1474. arch/x86/kernel/irqinit.c +1 −1
  1475. arch/x86/kernel/paravirt.c +4 −0
  1476. arch/x86/kernel/process.c +0 −23
  1477. arch/x86/kernel/process_32.c +3 −1
  1478. arch/x86/kernel/process_64.c +3 −1
  1479. arch/x86/kernel/step.c +1 −1
  1480. arch/x86/kernel/syscall_table_32.S +1 −1
  1481. arch/x86/kernel/traps.c +1 −7
  1482. arch/x86/kernel/vmlinux.lds.S +6 −35
  1483. arch/x86/kernel/vsyscall_64.c +54 −36
  1484. arch/x86/kernel/vsyscall_emu_64.S +23 −13
  1485. arch/x86/kernel/vsyscall_trace.h +29 −0
  1486. arch/x86/kvm/Kconfig +3 −0
  1487. arch/x86/kvm/lapic.c +1 −1
  1488. arch/x86/kvm/timer.c +1 −1
  1489. arch/x86/lib/atomic64_32.c +1 −1
  1490. arch/x86/mm/fault.c +14 −1
  1491. arch/x86/mm/mmio-mod.c +1 −1
  1492. arch/x86/pci/acpi.c +17 −4
  1493. arch/x86/pci/ce4100.c +2 −0
  1494. arch/x86/pci/common.c +7 −7
  1495. arch/x86/pci/direct.c +4 −2
  1496. arch/x86/pci/numaq_32.c +2 −0
  1497. arch/x86/pci/olpc.c +4 −0
  1498. arch/x86/pci/pcbios.c +2 −0
  1499. arch/x86/pci/visws.c +1 −1
  1500. arch/x86/platform/mrst/Makefile +1 −0
  1501. arch/x86/platform/mrst/mrst.c +3 −1
  1502. arch/x86/platform/mrst/pmu.c +817 −0
  1503. arch/x86/platform/mrst/pmu.h +234 −0
  1504. arch/x86/platform/olpc/Makefile +4 −1
  1505. arch/x86/platform/olpc/olpc-xo1-pm.c +215 −0
  1506. arch/x86/platform/olpc/olpc-xo1-rtc.c +81 −0
  1507. arch/x86/platform/olpc/olpc-xo1-sci.c +614 −0
  1508. arch/x86/platform/olpc/olpc-xo1.c +0 −146
  1509. arch/x86/platform/olpc/olpc-xo15-sci.c +168 −0
  1510. arch/x86/platform/olpc/olpc.c +97 −2
  1511. arch/x86/platform/olpc/olpc_dt.c +103 −0
  1512. arch/x86/platform/olpc/xo1-wakeup.S +124 −0
  1513. arch/x86/vdso/vdso.S +1 −0
  1514. arch/x86/vdso/vdso32/sysenter.S +1 −1
  1515. arch/x86/xen/Makefile +3 −1
  1516. arch/x86/xen/enlighten.c +6 −2
  1517. arch/x86/xen/mmu.c +11 −5
  1518. arch/x86/xen/setup.c +25 −7
  1519. arch/x86/xen/smp.c +12 −2
  1520. arch/x86/xen/time.c +3 −2
  1521. arch/x86/xen/trace.c +1 −0
  1522. arch/x86/xen/xen-asm_32.S +5 −3
  1523. arch/xtensa/include/asm/atomic.h +4 −6
  1524. arch/xtensa/include/asm/bitops.h +1 −13
  1525. arch/xtensa/include/asm/posix_types.h +1 −1
  1526. arch/xtensa/include/asm/ptrace.h +0 −1
  1527. arch/xtensa/include/asm/unistd.h +1 −1
  1528. arch/xtensa/kernel/process.c +1 −1
  1529. block/Kconfig +10 −0
  1530. block/Makefile +1 −0
  1531. block/blk-core.c +23 −19
  1532. block/blk-flush.c +19 −6
  1533. block/blk-softirq.c +8 −0
  1534. block/blk-throttle.c +2 −2
  1535. block/blk-timeout.c +4 −1
  1536. block/blk.h +2 −0
  1537. block/bsg-lib.c +298 −0
  1538. block/cfq-iosched.c +21 −0
  1539. block/genhd.c +4 −4
  1540. crypto/af_alg.c +1 −1
  1541. crypto/md5.c +1 −91
  1542. crypto/proc.c +1 −1
  1543. crypto/rng.c +1 −1
  1544. drivers/acpi/acpica/acconfig.h +1 −1
  1545. drivers/acpi/acpica/acglobal.h +6 −0
  1546. drivers/acpi/acpica/aclocal.h +1 −0
  1547. drivers/acpi/acpica/acpredef.h +1 −0
  1548. drivers/acpi/acpica/nspredef.c +13 −6
  1549. drivers/acpi/acpica/nsrepair2.c +15 −0
  1550. drivers/acpi/acpica/tbinstal.c +22 −5
  1551. drivers/acpi/apei/Kconfig +11 −1
  1552. drivers/acpi/apei/apei-base.c +31 −4
  1553. drivers/acpi/apei/apei-internal.h +14 −1
  1554. drivers/acpi/apei/einj.c +26 −17
  1555. drivers/acpi/apei/erst-dbg.c +5 −1
  1556. drivers/acpi/apei/erst.c +21 −11
  1557. drivers/acpi/apei/ghes.c +403 −28
  1558. drivers/acpi/apei/hest.c +9 −8
  1559. drivers/acpi/battery.c +54 −32
  1560. drivers/acpi/bus.c +12 −2
  1561. drivers/acpi/dock.c +2 −2
  1562. drivers/acpi/ec_sys.c +1 −1
  1563. drivers/acpi/fan.c +1 −1
  1564. drivers/acpi/osl.c +23 −2
  1565. drivers/acpi/pci_irq.c +58 −0
  1566. drivers/acpi/pci_root.c +2 −1
  1567. drivers/acpi/processor_thermal.c +1 −1
  1568. drivers/acpi/sbs.c +11 −2
  1569. drivers/acpi/sleep.c +16 −0
  1570. drivers/acpi/sysfs.c +2 −2
  1571. drivers/acpi/thermal.c +1 −1
  1572. drivers/acpi/video.c +5 −4
  1573. drivers/ata/Kconfig +9 −0
  1574. drivers/ata/Makefile +1 −0
  1575. drivers/ata/libata-acpi.c +2 −2
  1576. drivers/ata/pata_imx.c +253 −0
  1577. drivers/ata/pata_via.c +18 −0
  1578. drivers/ata/sata_dwc_460ex.c +6 −8
  1579. drivers/ata/sata_sil.c +1 −1
  1580. drivers/atm/ambassador.c +1 −1
  1581. drivers/atm/atmtcp.c +1 −1
  1582. drivers/atm/eni.c +1 −1
  1583. drivers/atm/eni.h +1 −1
  1584. drivers/atm/firestream.c +1 −1
  1585. drivers/atm/fore200e.c +1 −1
  1586. drivers/atm/horizon.c +1 −1
  1587. drivers/atm/idt77252.c +1 −1
  1588. drivers/atm/iphase.c +1 −1
  1589. drivers/atm/nicstar.c +1 −1
  1590. drivers/atm/suni.c +1 −1
  1591. drivers/atm/uPD98402.c +1 −1
  1592. drivers/atm/zatm.c +1 −1
  1593. drivers/base/devres.c +1 −0
  1594. drivers/base/devtmpfs.c +2 −2
  1595. drivers/base/firmware_class.c +6 −5
  1596. drivers/base/memory.c +1 −1
  1597. drivers/base/platform.c +1 −1
  1598. drivers/base/power/clock_ops.c +22 −18
  1599. drivers/base/power/domain.c +16 −17
  1600. drivers/base/power/opp.c +1 −1
  1601. drivers/base/power/runtime.c +8 −2
  1602. drivers/base/power/sysfs.c +1 −1
  1603. drivers/base/regmap/regmap-i2c.c +1 −0
  1604. drivers/base/regmap/regmap-spi.c +3 −0
  1605. drivers/base/regmap/regmap.c +2 −5
  1606. drivers/bcma/main.c +12 −0
  1607. drivers/block/Kconfig +16 −1
  1608. drivers/block/cciss_scsi.c +1 −1
  1609. drivers/block/drbd/drbd_nl.c +2 −2
  1610. drivers/block/loop.c +206 −91
  1611. drivers/block/rbd.c +45 −1
  1612. drivers/block/swim3.c +1 −0
  1613. drivers/block/xen-blkfront.c +3 −3
  1614. drivers/bluetooth/ath3k.c +1 −0
  1615. drivers/bluetooth/btusb.c +10 −3
  1616. drivers/cdrom/cdrom.c +7 −1
  1617. drivers/char/Kconfig +11 −0
  1618. drivers/char/Makefile +2 −0
  1619. drivers/char/hw_random/n2-drv.c +17 −12
  1620. drivers/char/hw_random/n2rng.h +1 −1
  1621. drivers/char/ipmi/ipmi_watchdog.c +1 −1
  1622. drivers/char/msm_smd_pkt.c +2 −3
  1623. drivers/char/mspec.c +1 −1
  1624. drivers/char/ramoops.c +78 −23
  1625. drivers/char/random.c +8 −341
  1626. drivers/char/tile-srom.c +481 −0
  1627. drivers/char/tpm/tpm.c +76 −26
  1628. drivers/char/tpm/tpm.h +7 −0
  1629. drivers/char/tpm/tpm_nsc.c +7 −7
  1630. drivers/char/tpm/tpm_tis.c +161 −18
  1631. drivers/clk/Kconfig +3 −0
  1632. drivers/clocksource/sh_cmt.c +32 −2
  1633. drivers/connector/cn_proc.c +8 −3
  1634. drivers/cpufreq/cpufreq.c +20 −0
  1635. drivers/cpufreq/pcc-cpufreq.c +3 −0
  1636. drivers/cpuidle/cpuidle.c +31 −19
  1637. drivers/cpuidle/cpuidle.h +1 −0
  1638. drivers/cpuidle/driver.c +3 −0
  1639. drivers/cpuidle/governor.c +3 −0
  1640. drivers/crypto/n2_core.c +18 −15
  1641. drivers/dma/TODO +0 −1
  1642. drivers/dma/amba-pl08x.c +125 −122
  1643. drivers/dma/at_hdmac.c +2 −2
  1644. drivers/dma/coh901318.c +12 −7
  1645. drivers/dma/dmaengine.c +3 −5
  1646. drivers/dma/ep93xx_dma.c +1 −1
  1647. drivers/dma/imx-sdma.c +75 −25
  1648. drivers/dma/intel_mid_dma.c +0 −2
  1649. drivers/dma/ioat/dma_v3.c +4 −4
  1650. drivers/dma/ioat/pci.c +11 −0
  1651. drivers/dma/ipu/ipu_idmac.c +2 −4
  1652. drivers/dma/mv_xor.c +2 −1
  1653. drivers/dma/mxs-dma.c +9 −4
  1654. drivers/dma/pch_dma.c +94 −33
  1655. drivers/dma/pl330.c +36 −28
  1656. drivers/dma/shdma.c +62 −26
  1657. drivers/dma/shdma.h +4 −0
  1658. drivers/dma/ste_dma40.c +184 −128
  1659. drivers/dma/ste_dma40_ll.h +0 −3
  1660. drivers/edac/edac_stub.c +1 −1
  1661. drivers/edac/i7core_edac.c +1 −1
  1662. drivers/edac/mpc85xx_edac.c +2 −2
  1663. drivers/eisa/pci_eisa.c +2 −2
  1664. drivers/firewire/core-card.c +1 −1
  1665. drivers/firewire/core-cdev.c +21 −3
  1666. drivers/firewire/core-device.c +11 −6
  1667. drivers/firewire/core-topology.c +1 −1
  1668. drivers/firewire/core.h +1 −1
  1669. drivers/firewire/nosy.c +1 −1
  1670. drivers/firewire/ohci.c +7 −2
  1671. drivers/firewire/sbp2.c +4 −0
  1672. drivers/firmware/efivars.c +231 −12
  1673. drivers/firmware/google/gsmi.c +1 −1
  1674. drivers/gpio/Kconfig +22 −0
  1675. drivers/gpio/Makefile +3 −0
  1676. drivers/gpio/gpio-ab8500.c +1 −1
  1677. drivers/gpio/gpio-generic.c +5 −10
  1678. drivers/gpio/gpio-msm-v1.c +636 −0
  1679. drivers/gpio/gpio-msm-v2.c +2 −2
  1680. drivers/gpio/gpio-tps65912.c +156 −0
  1681. drivers/gpu/drm/drm_crtc.c +2 −0
  1682. drivers/gpu/drm/drm_crtc_helper.c +5 −0
  1683. drivers/gpu/drm/drm_debugfs.c +3 −1
  1684. drivers/gpu/drm/drm_edid.c +29 −8
  1685. drivers/gpu/drm/drm_fb_helper.c +0 −1
  1686. drivers/gpu/drm/drm_gem.c +43 −4
  1687. drivers/gpu/drm/drm_irq.c +18 −8
  1688. drivers/gpu/drm/drm_modes.c +60 −27
  1689. drivers/gpu/drm/drm_platform.c +3 −2
  1690. drivers/gpu/drm/i915/i915_debugfs.c +230 −2
  1691. drivers/gpu/drm/i915/i915_dma.c +5 −5
  1692. drivers/gpu/drm/i915/i915_drv.c +53 −16
  1693. drivers/gpu/drm/i915/i915_drv.h +31 −20
  1694. drivers/gpu/drm/i915/i915_gem.c +166 −27
  1695. drivers/gpu/drm/i915/i915_gem_gtt.c +22 −17
  1696. drivers/gpu/drm/i915/i915_irq.c +16 −6
  1697. drivers/gpu/drm/i915/i915_reg.h +46 −13
  1698. drivers/gpu/drm/i915/i915_suspend.c +8 −5
  1699. drivers/gpu/drm/i915/intel_bios.c +83 −59
  1700. drivers/gpu/drm/i915/intel_display.c +751 −263
  1701. drivers/gpu/drm/i915/intel_dp.c +86 −49
  1702. drivers/gpu/drm/i915/intel_drv.h +34 −1
  1703. drivers/gpu/drm/i915/intel_hdmi.c +141 −25
  1704. drivers/gpu/drm/i915/intel_lvds.c +43 −47
  1705. drivers/gpu/drm/i915/intel_opregion.c +11 −5
  1706. drivers/gpu/drm/i915/intel_overlay.c +1 −5
  1707. drivers/gpu/drm/i915/intel_panel.c +75 −1
  1708. drivers/gpu/drm/i915/intel_ringbuffer.c +11 −2
  1709. drivers/gpu/drm/i915/intel_tv.c +26 −20
  1710. drivers/gpu/drm/nouveau/nouveau_bios.c +44 −6
  1711. drivers/gpu/drm/nouveau/nouveau_bo.c +116 −116
  1712. drivers/gpu/drm/nouveau/nouveau_channel.c +80 −87
  1713. drivers/gpu/drm/nouveau/nouveau_connector.c +19 −15
  1714. drivers/gpu/drm/nouveau/nouveau_dma.c +6 −1
  1715. drivers/gpu/drm/nouveau/nouveau_drv.c +17 −6
  1716. drivers/gpu/drm/nouveau/nouveau_drv.h +54 −24
  1717. drivers/gpu/drm/nouveau/nouveau_fb.h +1 −0
  1718. drivers/gpu/drm/nouveau/nouveau_fbcon.c +13 −2
  1719. drivers/gpu/drm/nouveau/nouveau_fence.c +15 −17
  1720. drivers/gpu/drm/nouveau/nouveau_gem.c +108 −40
  1721. drivers/gpu/drm/nouveau/nouveau_irq.c +1 −1
  1722. drivers/gpu/drm/nouveau/nouveau_mem.c +24 −95
  1723. drivers/gpu/drm/nouveau/nouveau_mm.c +9 −2
  1724. drivers/gpu/drm/nouveau/nouveau_mm.h +1 −0
  1725. drivers/gpu/drm/nouveau/nouveau_notifier.c +15 −5
  1726. drivers/gpu/drm/nouveau/nouveau_object.c +68 −30
  1727. drivers/gpu/drm/nouveau/nouveau_sgdma.c +7 −4
  1728. drivers/gpu/drm/nouveau/nouveau_state.c +96 −18
  1729. drivers/gpu/drm/nouveau/nouveau_temp.c +11 −4
  1730. drivers/gpu/drm/nouveau/nouveau_vm.c +12 −9
  1731. drivers/gpu/drm/nouveau/nouveau_vm.h +2 −0
  1732. drivers/gpu/drm/nouveau/nv04_crtc.c +14 −3
  1733. drivers/gpu/drm/nouveau/nv04_graph.c +8 −14
  1734. drivers/gpu/drm/nouveau/nv04_instmem.c +27 −1
  1735. drivers/gpu/drm/nouveau/nv10_graph.c +10 −5
  1736. drivers/gpu/drm/nouveau/nv20_graph.c +10 −3
  1737. drivers/gpu/drm/nouveau/nv40_graph.c +20 −92
  1738. drivers/gpu/drm/nouveau/nv40_mpeg.c +1 −1
  1739. drivers/gpu/drm/nouveau/nv50_crtc.c +15 −7
  1740. drivers/gpu/drm/nouveau/nv50_display.c +3 −3
  1741. drivers/gpu/drm/nouveau/nv50_evo.c +5 −5
  1742. drivers/gpu/drm/nouveau/nv50_fbcon.c +5 −5
  1743. drivers/gpu/drm/nouveau/nv50_graph.c +6 −3
  1744. drivers/gpu/drm/nouveau/nv50_instmem.c +4 −4
  1745. drivers/gpu/drm/nouveau/nv50_mpeg.c +1 −1
  1746. drivers/gpu/drm/nouveau/nv50_sor.c +2 −0
  1747. drivers/gpu/drm/nouveau/nv50_vm.c +1 −1
  1748. drivers/gpu/drm/nouveau/nv50_vram.c +25 −16
  1749. drivers/gpu/drm/nouveau/nv84_crypt.c +1 −1
  1750. drivers/gpu/drm/nouveau/nva3_copy.c +1 −1
  1751. drivers/gpu/drm/nouveau/nvc0_copy.c +4 −4
  1752. drivers/gpu/drm/nouveau/nvc0_fb.c +66 −2
  1753. drivers/gpu/drm/nouveau/nvc0_fbcon.c +7 −7
  1754. drivers/gpu/drm/nouveau/nvc0_fifo.c +2 −2
  1755. drivers/gpu/drm/nouveau/nvc0_graph.c +191 −79
  1756. drivers/gpu/drm/nouveau/nvc0_graph.fuc +400 −0
  1757. drivers/gpu/drm/nouveau/nvc0_graph.h +22 −2
  1758. drivers/gpu/drm/nouveau/nvc0_grctx.c +86 −153
  1759. drivers/gpu/drm/nouveau/nvc0_grgpc.fuc +474 −0
  1760. drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h +483 −0
  1761. drivers/gpu/drm/nouveau/nvc0_grhub.fuc +808 −0
  1762. drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h +838 −0
  1763. drivers/gpu/drm/nouveau/nvc0_instmem.c +3 −11
  1764. drivers/gpu/drm/nouveau/nvc0_vm.c +5 −1
  1765. drivers/gpu/drm/nouveau/nvc0_vram.c +9 −5
  1766. drivers/gpu/drm/radeon/Makefile +1 −0
  1767. drivers/gpu/drm/radeon/atom.c +3 −0
  1768. drivers/gpu/drm/radeon/atombios_crtc.c +2 −3
  1769. drivers/gpu/drm/radeon/atombios_dp.c +30 −4
  1770. drivers/gpu/drm/radeon/evergreen.c +33 −4
  1771. drivers/gpu/drm/radeon/evergreen_cs.c +57 −2
  1772. drivers/gpu/drm/radeon/evergreend.h +2 −0
  1773. drivers/gpu/drm/radeon/ni.c +5 −0
  1774. drivers/gpu/drm/radeon/r600.c +8 −7
  1775. drivers/gpu/drm/radeon/r600_cp.c +9 −14
  1776. drivers/gpu/drm/radeon/r600_cs.c +10 −2
  1777. drivers/gpu/drm/radeon/radeon.h +15 −12
  1778. drivers/gpu/drm/radeon/radeon_asic.c +7 −7
  1779. drivers/gpu/drm/radeon/radeon_clocks.c +5 −2
  1780. drivers/gpu/drm/radeon/radeon_combios.c +30 −2
  1781. drivers/gpu/drm/radeon/radeon_connectors.c +105 −25
  1782. drivers/gpu/drm/radeon/radeon_cp.c +1 −1
  1783. drivers/gpu/drm/radeon/radeon_device.c +9 −2
  1784. drivers/gpu/drm/radeon/radeon_display.c +29 −41
  1785. drivers/gpu/drm/radeon/radeon_drv.c +2 −1
  1786. drivers/gpu/drm/radeon/radeon_encoders.c +3 −0
  1787. drivers/gpu/drm/radeon/radeon_fence.c +1 −1
  1788. drivers/gpu/drm/radeon/radeon_i2c.c +24 −8
  1789. drivers/gpu/drm/radeon/radeon_kms.c +14 −1
  1790. drivers/gpu/drm/radeon/radeon_mode.h +6 −1
  1791. drivers/gpu/drm/radeon/radeon_pm.c +3 −0
  1792. drivers/gpu/drm/radeon/radeon_reg.h +1 −1
  1793. drivers/gpu/drm/radeon/radeon_test.c +25 −9
  1794. drivers/gpu/drm/radeon/radeon_ttm.c +23 −0
  1795. drivers/gpu/drm/radeon/reg_srcs/cayman +2 −0
  1796. drivers/gpu/drm/radeon/reg_srcs/evergreen +3 −0
  1797. drivers/gpu/drm/radeon/reg_srcs/r600 +1 −0
  1798. drivers/gpu/drm/radeon/rs600.c +1 −1
  1799. drivers/gpu/drm/radeon/rv770.c +1 −0
  1800. drivers/gpu/drm/ttm/ttm_bo.c +10 −6
  1801. drivers/gpu/drm/ttm/ttm_bo_util.c +1 −1
  1802. drivers/gpu/drm/ttm/ttm_lock.c +1 −1
  1803. drivers/gpu/drm/ttm/ttm_object.c +1 −1
  1804. drivers/gpu/drm/ttm/ttm_page_alloc.c +9 −9
  1805. drivers/hid/Kconfig +1 −0
  1806. drivers/hid/hid-apple.c +6 −0
  1807. drivers/hid/hid-core.c +3 −0
  1808. drivers/hid/hid-ids.h +7 −0
  1809. drivers/hid/hid-magicmouse.c +55 −11
  1810. drivers/hid/hid-wacom.c +10 −12
  1811. drivers/hid/hid-wiimote.c +183 −94
  1812. drivers/hid/usbhid/hid-quirks.c +2 −0
  1813. drivers/hwmon/Kconfig +38 −89
  1814. drivers/hwmon/Makefile +4 −9
  1815. drivers/hwmon/coretemp.c +132 −45
  1816. drivers/hwmon/i5k_amb.c +14 −28
  1817. drivers/hwmon/ibmaem.c +10 −5
  1818. drivers/hwmon/lm90.c +44 −21
  1819. drivers/hwmon/lm95241.c +19 −12
  1820. drivers/hwmon/lm95245.c +543 −0
  1821. drivers/hwmon/max16065.c +1 −1
  1822. drivers/hwmon/max1668.c +502 −0
  1823. drivers/hwmon/ntc_thermistor.c +452 −0
  1824. drivers/hwmon/pmbus/Kconfig +100 −0
  1825. drivers/hwmon/pmbus/Makefile +13 −0
  1826. drivers/hwmon/pmbus/adm1275.c +63 −3
  1827. drivers/hwmon/pmbus/lm25066.c +352 −0
  1828. drivers/hwmon/pmbus/max16064.c +54 −3
  1829. drivers/hwmon/pmbus/max34440.c +72 −9
  1830. drivers/hwmon/pmbus/max8688.c +65 −4
  1831. drivers/hwmon/pmbus/pmbus.c +34 −3
  1832. drivers/hwmon/pmbus/pmbus.h +46 −3
  1833. drivers/hwmon/pmbus/pmbus_core.c +290 −81
  1834. drivers/hwmon/pmbus/ucd9000.c +2 −4
  1835. drivers/hwmon/pmbus/ucd9200.c +2 −4
  1836. drivers/hwmon/sht15.c +1 −1
  1837. drivers/i2c/busses/i2c-eg20t.c +21 −20
  1838. drivers/i2c/busses/i2c-nomadik.c +5 −4
  1839. drivers/i2c/busses/i2c-omap.c +0 −29
  1840. drivers/i2c/busses/i2c-pxa-pci.c +4 −1
  1841. drivers/i2c/busses/i2c-tegra.c +61 −16
  1842. drivers/ide/cy82c693.c +2 −0
  1843. drivers/ide/ide_platform.c +5 −1
  1844. drivers/infiniband/hw/cxgb4/mem.c +1 −1
  1845. drivers/infiniband/hw/ehca/ehca_tools.h +1 −1
  1846. drivers/infiniband/hw/nes/nes_cm.c +1 −1
  1847. drivers/infiniband/ulp/ipoib/ipoib.h +1 −1
  1848. drivers/infiniband/ulp/ipoib/ipoib_main.c +5 −3
  1849. drivers/infiniband/ulp/iser/iscsi_iser.c +7 −3
  1850. drivers/infiniband/ulp/iser/iscsi_iser.h +1 −1
  1851. drivers/infiniband/ulp/iser/iser_initiator.c +2 −2
  1852. drivers/infiniband/ulp/srp/ib_srp.c +1 −1
  1853. drivers/input/joystick/analog.c +1 −1
  1854. drivers/input/joystick/xpad.c +26 −5
  1855. drivers/input/keyboard/adp5588-keys.c +0 −1
  1856. drivers/input/keyboard/adp5589-keys.c +0 −1
  1857. drivers/input/keyboard/atkbd.c +2 −2
  1858. drivers/input/keyboard/ep93xx_keypad.c +1 −0
  1859. drivers/input/keyboard/gpio_keys.c +139 −27
  1860. drivers/input/keyboard/lm8323.c +11 −21
  1861. drivers/input/keyboard/mpr121_touchkey.c +12 −4
  1862. drivers/input/keyboard/pmic8xxx-keypad.c +4 −4
  1863. drivers/input/keyboard/qt1070.c +0 −2
  1864. drivers/input/keyboard/sh_keysc.c +1 −1
  1865. drivers/input/keyboard/tegra-kbc.c +5 −4
  1866. drivers/input/keyboard/tnetv107x-keypad.c +1 −1
  1867. drivers/input/misc/Kconfig +50 −1
  1868. drivers/input/misc/Makefile +4 −1
  1869. drivers/input/misc/ad714x-i2c.c +38 −43
  1870. drivers/input/misc/ad714x-spi.c +53 −15
  1871. drivers/input/misc/ad714x.c +44 −72
  1872. drivers/input/misc/ad714x.h +32 −3
  1873. drivers/input/misc/bfin_rotary.c +0 −1
  1874. drivers/input/misc/kxtj9.c +672 −0
  1875. drivers/input/misc/mma8450.c +264 −0
  1876. drivers/input/misc/mpu3050.c +376 −0
  1877. drivers/input/misc/twl4030-vibra.c +6 −6
  1878. drivers/input/misc/twl6040-vibra.c +423 −0
  1879. drivers/input/misc/xen-kbdfront.c +1 −1
  1880. drivers/input/mouse/bcm5974.c +40 −0
  1881. drivers/input/mouse/gpio_mouse.c +1 −1
  1882. drivers/input/mouse/hgpk.c +1 −0
  1883. drivers/input/mouse/lifebook.c +2 −2
  1884. drivers/input/mouse/pxa930_trkball.c +0 −1
  1885. drivers/input/mouse/sentelic.c +0 −1
  1886. drivers/input/mouse/synaptics.c +66 −41
  1887. drivers/input/mouse/synaptics.h +13 −5
  1888. drivers/input/serio/at32psif.c +1 −1
  1889. drivers/input/serio/hp_sdc.c +1 −1
  1890. drivers/input/serio/xilinx_ps2.c +1 −1
  1891. drivers/input/tablet/aiptek.c +0 −1
  1892. drivers/input/tablet/wacom_sys.c +10 −7
  1893. drivers/input/tablet/wacom_wac.c +45 −27
  1894. drivers/input/touchscreen/ad7879.c +3 −1
  1895. drivers/input/touchscreen/ads7846.c +5 −10
  1896. drivers/input/touchscreen/atmel-wm97xx.c +2 −2
  1897. drivers/input/touchscreen/atmel_mxt_ts.c +118 −84
  1898. drivers/input/touchscreen/cy8ctmg110_ts.c +5 −3
  1899. drivers/input/touchscreen/intel-mid-touch.c +5 −10
  1900. drivers/input/touchscreen/mainstone-wm97xx.c +3 −3
  1901. drivers/input/touchscreen/max11801_ts.c +2 −1
  1902. drivers/input/touchscreen/tnetv107x-ts.c +2 −1
  1903. drivers/input/touchscreen/wm9705.c +12 −13
  1904. drivers/input/touchscreen/wm9712.c +14 −13
  1905. drivers/input/touchscreen/wm9713.c +13 −12
  1906. drivers/input/touchscreen/zylonite-wm97xx.c +3 −3
  1907. drivers/iommu/amd_iommu.c +10 −8
  1908. drivers/isdn/gigaset/gigaset.h +1 −1
  1909. drivers/isdn/i4l/isdn_net.c +3 −0
  1910. drivers/leds/leds-ams-delta.c +1 −0
  1911. drivers/leds/leds-bd2802.c +5 −0
  1912. drivers/leds/leds-hp6xx.c +1 −0
  1913. drivers/leds/ledtrig-timer.c +2 −0
  1914. drivers/md/Kconfig +3 −2
  1915. drivers/md/bitmap.c +46 −91
  1916. drivers/md/bitmap.h +0 −5
  1917. drivers/md/dm-crypt.c +52 −12
  1918. drivers/md/dm-flakey.c +244 −26
  1919. drivers/md/dm-io.c +27 −2
  1920. drivers/md/dm-ioctl.c +58 −31
  1921. drivers/md/dm-kcopyd.c +35 −9
  1922. drivers/md/dm-log-userspace-base.c +1 −2
  1923. drivers/md/dm-log.c +18 −14
  1924. drivers/md/dm-mpath.c +45 −104
  1925. drivers/md/dm-queue-length.c +1 −1
  1926. drivers/md/dm-raid.c +571 −50
  1927. drivers/md/dm-snap-persistent.c +42 −38
  1928. drivers/md/dm-snap.c +63 −21
  1929. drivers/md/dm-table.c +123 −34
  1930. drivers/md/dm.c +71 −4
  1931. drivers/md/dm.h +2 −0
  1932. drivers/md/linear.h +1 −1
  1933. drivers/md/md.c +807 −90
  1934. drivers/md/md.h +98 −12
  1935. drivers/md/raid1.c +739 −227
  1936. drivers/md/raid1.h +24 −2
  1937. drivers/md/raid10.c +914 −290
  1938. drivers/md/raid10.h +21 −0
  1939. drivers/md/raid5.c +397 −618
  1940. drivers/md/raid5.h +51 −48
  1941. drivers/media/Kconfig +13 −1
  1942. drivers/media/common/tuners/Kconfig +10 −0
  1943. drivers/media/common/tuners/Makefile +1 −0
  1944. drivers/media/common/tuners/tuner-types.c +4 −0
  1945. drivers/media/common/tuners/xc4000.c +1691 −0
  1946. drivers/media/common/tuners/xc4000.h +67 −0
  1947. drivers/media/dvb/Kconfig +4 −0
  1948. drivers/media/dvb/Makefile +2 −1
  1949. drivers/media/dvb/bt8xx/dvb-bt8xx.c +2 −2
  1950. drivers/media/dvb/ddbridge/Kconfig +18 −0
  1951. drivers/media/dvb/ddbridge/Makefile +14 −0
  1952. drivers/media/dvb/ddbridge/ddbridge-core.c +1719 −0
  1953. drivers/media/dvb/ddbridge/ddbridge-regs.h +151 −0
  1954. drivers/media/dvb/ddbridge/ddbridge.h +187 −0
  1955. drivers/media/dvb/dvb-core/Makefile +3 −1
  1956. drivers/media/dvb/dvb-core/dvb_frontend.c +2 −1
  1957. drivers/media/dvb/dvb-core/dvb_net.h +20 −1
  1958. drivers/media/dvb/dvb-usb/Kconfig +1 −0
  1959. drivers/media/dvb/dvb-usb/af9015.c +47 −88
  1960. drivers/media/dvb/dvb-usb/af9015.h +0 −1
  1961. drivers/media/dvb/dvb-usb/anysee.c +51 −18
  1962. drivers/media/dvb/dvb-usb/anysee.h +9 −7
  1963. drivers/media/dvb/dvb-usb/dib0700_devices.c +188 −0
  1964. drivers/media/dvb/dvb-usb/dvb-usb-ids.h +3 −0
  1965. drivers/media/dvb/dvb-usb/dvb-usb.h +1 −1
  1966. drivers/media/dvb/dvb-usb/gp8psk.h +0 −3
  1967. drivers/media/dvb/dvb-usb/technisat-usb2.c +1 −3
  1968. drivers/media/dvb/dvb-usb/vp7045.c +4 −22
  1969. drivers/media/dvb/dvb-usb/vp7045.h +0 −3
  1970. drivers/media/dvb/firewire/firedtv-avc.c +1 −1
  1971. drivers/media/dvb/firewire/firedtv-ci.c +16 −18
  1972. drivers/media/dvb/frontends/Kconfig +21 −0
  1973. drivers/media/dvb/frontends/Makefile +3 −0
  1974. drivers/media/dvb/frontends/au8522_decoder.c +1 −1
  1975. drivers/media/dvb/frontends/cx24113.c +10 −10
  1976. drivers/media/dvb/frontends/cx24116.c +1 −5
  1977. drivers/media/dvb/frontends/cxd2820r.h +2 −2
  1978. drivers/media/dvb/frontends/cxd2820r_core.c +18 −4
  1979. drivers/media/dvb/frontends/cxd2820r_priv.h +2 −2
  1980. drivers/media/dvb/frontends/dib7000p.c +5 −0
  1981. drivers/media/dvb/frontends/drxd_hard.c +5 −4
  1982. drivers/media/dvb/frontends/drxk.h +47 −0
  1983. drivers/media/dvb/frontends/drxk_hard.c +6454 −0
  1984. drivers/media/dvb/frontends/drxk_hard.h +348 −0
  1985. drivers/media/dvb/frontends/drxk_map.h +449 −0
  1986. drivers/media/dvb/frontends/itd1000.c +11 −14
  1987. drivers/media/dvb/frontends/nxt6000.c +1 −1
  1988. drivers/media/dvb/frontends/s5h1420.c +6 −6
  1989. drivers/media/dvb/frontends/tda18271c2dd.c +1251 −0
  1990. drivers/media/dvb/frontends/tda18271c2dd.h +16 −0
  1991. drivers/media/dvb/frontends/tda18271c2dd_maps.h +814 −0
  1992. drivers/media/dvb/ngene/Kconfig +2 −0
  1993. drivers/media/dvb/ngene/ngene-cards.c +140 −42
  1994. drivers/media/dvb/ngene/ngene-core.c +22 −4
  1995. drivers/media/dvb/ngene/ngene-dvb.c +38 −8
  1996. drivers/media/dvb/ngene/ngene.h +6 −1
  1997. drivers/media/dvb/siano/smscoreapi.c +1 −1
  1998. drivers/media/dvb/siano/smscoreapi.h +0 −1
  1999. drivers/media/radio/dsbr100.c +2 −5
  2000. drivers/media/radio/radio-aimslab.c +1 −4
  2001. drivers/media/radio/radio-aztech.c +1 −4
  2002. drivers/media/radio/radio-cadet.c +1 −4
  2003. drivers/media/radio/radio-gemtek.c +2 −5
  2004. drivers/media/radio/radio-maxiradio.c +4 −6
  2005. drivers/media/radio/radio-mr800.c +2 −4
  2006. drivers/media/radio/radio-rtrack2.c +1 −4
  2007. drivers/media/radio/radio-sf16fmi.c +1 −4
  2008. drivers/media/radio/radio-sf16fmr2.c +143 −388
  2009. drivers/media/radio/radio-tea5764.c +3 −5
  2010. drivers/media/radio/radio-terratec.c +1 −4
  2011. drivers/media/radio/radio-timb.c +1 −2
  2012. drivers/media/radio/radio-trust.c +1 −4
  2013. drivers/media/radio/radio-typhoon.c +4 −5
  2014. drivers/media/radio/radio-wl1273.c +1 −1
  2015. drivers/media/radio/radio-zoltrix.c +1 −4
  2016. drivers/media/radio/si470x/radio-si470x-i2c.c +1 −3
  2017. drivers/media/radio/si470x/radio-si470x-usb.c +3 −3
  2018. drivers/media/radio/si470x/radio-si470x.h +0 −1
  2019. drivers/media/radio/wl128x/fmdrv.h +1 −4
  2020. drivers/media/radio/wl128x/fmdrv_v4l2.c +1 −2
  2021. drivers/media/rc/Kconfig +11 −0
  2022. drivers/media/rc/Makefile +1 −0
  2023. drivers/media/rc/ene_ir.c +2 −2
  2024. drivers/media/rc/ene_ir.h +1 −1
  2025. drivers/media/rc/ir-lirc-codec.c +9 −6
  2026. drivers/media/rc/ir-mce_kbd-decoder.c +449 −0
  2027. drivers/media/rc/ir-raw.c +1 −0
  2028. drivers/media/rc/ite-cir.c +1 −4
  2029. drivers/media/rc/keymaps/rc-rc6-mce.c +1 −2
  2030. drivers/media/rc/mceusb.c +4 −6
  2031. drivers/media/rc/nuvoton-cir.c +11 −46
  2032. drivers/media/rc/nuvoton-cir.h +0 −1
  2033. drivers/media/rc/rc-core-priv.h +18 −0
  2034. drivers/media/rc/rc-loopback.c +3 −10
  2035. drivers/media/rc/rc-main.c +3 −1
  2036. drivers/media/rc/redrat3.c +29 −34
  2037. drivers/media/rc/winbond-cir.c +7 −21
  2038. drivers/media/video/Kconfig +35 −9
  2039. drivers/media/video/Makefile +7 −1
  2040. drivers/media/video/adp1653.c +491 −0
  2041. drivers/media/video/arv.c +2 −3
  2042. drivers/media/video/atmel-isi.c +1048 −0
  2043. drivers/media/video/au0828/au0828-core.c +1 −0
  2044. drivers/media/video/au0828/au0828-video.c +0 −5
  2045. drivers/media/video/bt8xx/bttv-cards.c +2 −5
  2046. drivers/media/video/bt8xx/bttv-driver.c +4 −10
  2047. drivers/media/video/bt8xx/bttvp.h +0 −3
  2048. drivers/media/video/bw-qcam.c +2 −2
  2049. drivers/media/video/c-qcam.c +2 −2
  2050. drivers/media/video/cafe_ccic-regs.h +0 −166
  2051. drivers/media/video/cafe_ccic.c +0 −2267
  2052. drivers/media/video/cpia2/cpia2.h +0 −5
  2053. drivers/media/video/cpia2/cpia2_v4l.c +4 −8
  2054. drivers/media/video/cx18/cx18-alsa-main.c +1 −0
  2055. drivers/media/video/cx18/cx18-driver.h +0 −1
  2056. drivers/media/video/cx18/cx18-ioctl.c +0 −1
  2057. drivers/media/video/cx18/cx18-version.h +1 −7
  2058. drivers/media/video/cx231xx/cx231xx-avcore.c +4 −0
  2059. drivers/media/video/cx231xx/cx231xx-cards.c +78 −0
  2060. drivers/media/video/cx231xx/cx231xx-core.c +4 −0
  2061. drivers/media/video/cx231xx/cx231xx-video.c +18 −11
  2062. drivers/media/video/cx231xx/cx231xx.h +3 −2
  2063. drivers/media/video/cx23885/altera-ci.c +0 −1
  2064. drivers/media/video/cx23885/cx23885-417.c +0 −1
  2065. drivers/media/video/cx23885/cx23885-cards.c +69 −1
  2066. drivers/media/video/cx23885/cx23885-core.c +3 −10
  2067. drivers/media/video/cx23885/cx23885-dvb.c +22 −1
  2068. drivers/media/video/cx23885/cx23885-input.c +6 −0
  2069. drivers/media/video/cx23885/cx23885-video.c +0 −1
  2070. drivers/media/video/cx23885/cx23885.h +2 −2
  2071. drivers/media/video/cx88/cx88-alsa.c +4 −15
  2072. drivers/media/video/cx88/cx88-blackbird.c +3 −17
  2073. drivers/media/video/cx88/cx88-cards.c +143 −7
  2074. drivers/media/video/cx88/cx88-core.c +7 −4
  2075. drivers/media/video/cx88/cx88-dvb.c +61 −16
  2076. drivers/media/video/cx88/cx88-input.c +4 −0
  2077. drivers/media/video/cx88/cx88-mpeg.c +20 −15
  2078. drivers/media/video/cx88/cx88-video.c +46 −19
  2079. drivers/media/video/cx88/cx88.h +5 −2
  2080. drivers/media/video/davinci/Kconfig +23 −0
  2081. drivers/media/video/davinci/Makefile +2 −0
  2082. drivers/media/video/davinci/vpbe.c +864 −0
  2083. drivers/media/video/davinci/vpbe_display.c +1860 −0
  2084. drivers/media/video/davinci/vpbe_osd.c +1231 −0
  2085. drivers/media/video/davinci/vpbe_osd_regs.h +364 −0
  2086. drivers/media/video/davinci/vpbe_venc.c +566 −0
  2087. drivers/media/video/davinci/vpbe_venc_regs.h +177 −0
  2088. drivers/media/video/davinci/vpif_capture.c +3 −6
  2089. drivers/media/video/davinci/vpif_capture.h +1 −6
  2090. drivers/media/video/davinci/vpif_display.c +3 −6
  2091. drivers/media/video/davinci/vpif_display.h +1 −7
  2092. drivers/media/video/em28xx/Kconfig +11 −1
  2093. drivers/media/video/em28xx/Makefile +4 −2
  2094. drivers/media/video/em28xx/em28xx-audio.c +227 −24
  2095. drivers/media/video/em28xx/em28xx-cards.c +120 −39
  2096. drivers/media/video/em28xx/em28xx-core.c +54 −30
  2097. drivers/media/video/em28xx/em28xx-dvb.c +123 −3
  2098. drivers/media/video/em28xx/em28xx-i2c.c +13 −4
  2099. drivers/media/video/em28xx/em28xx-input.c +1 −0
  2100. drivers/media/video/em28xx/em28xx-reg.h +1 −0
  2101. drivers/media/video/em28xx/em28xx-video.c +5 −9
  2102. drivers/media/video/em28xx/em28xx.h +22 −2
  2103. drivers/media/video/et61x251/et61x251.h +0 −1
  2104. drivers/media/video/et61x251/et61x251_core.c +4 −12
  2105. drivers/media/video/fsl-viu.c +2 −8
  2106. drivers/media/video/gspca/Kconfig +10 −0
  2107. drivers/media/video/gspca/Makefile +2 −0
  2108. drivers/media/video/gspca/gl860/gl860.h +0 −1
  2109. drivers/media/video/gspca/gspca.c +11 −12
  2110. drivers/media/video/gspca/ov519.c +109 −24
  2111. drivers/media/video/gspca/se401.c +774 −0
  2112. drivers/media/video/gspca/se401.h +90 −0
  2113. drivers/media/video/gspca/sonixj.c +5 −1
  2114. drivers/media/video/gspca/sunplus.c +0 −3
  2115. drivers/media/video/gspca/t613.c +1 −1
  2116. drivers/media/video/hdpvr/hdpvr-core.c +2 −1
  2117. drivers/media/video/hdpvr/hdpvr-video.c +0 −2
  2118. drivers/media/video/hdpvr/hdpvr.h +0 −6
  2119. drivers/media/video/ivtv/ivtv-driver.h +0 −1
  2120. drivers/media/video/ivtv/ivtv-fileops.c +10 −9
  2121. drivers/media/video/ivtv/ivtv-ioctl.c +2 −3
  2122. drivers/media/video/ivtv/ivtv-version.h +1 −6
  2123. drivers/media/video/m5mols/m5mols_capture.c +0 −1
  2124. drivers/media/video/m5mols/m5mols_core.c +0 −1
  2125. drivers/media/video/marvell-ccic/Kconfig +23 −0
  2126. drivers/media/video/marvell-ccic/Makefile +6 −0
  2127. drivers/media/video/marvell-ccic/cafe-driver.c +654 −0
  2128. drivers/media/video/marvell-ccic/mcam-core.c +1843 −0
  2129. drivers/media/video/marvell-ccic/mcam-core.h +323 −0
  2130. drivers/media/video/marvell-ccic/mmp-driver.c +340 −0
  2131. drivers/media/video/mem2mem_testdev.c +1 −3
  2132. drivers/media/video/mt9m001.c +5 −9
  2133. drivers/media/video/mt9m111.c +172 −187
  2134. drivers/media/video/mt9t031.c +1 −2
  2135. drivers/media/video/mt9t112.c +3 −7
  2136. drivers/media/video/mt9v011.c +73 −12
  2137. drivers/media/video/mt9v022.c +5 −5
  2138. drivers/media/video/mt9v032.c +10 −10
  2139. drivers/media/video/mx1_camera.c +23 −24
  2140. drivers/media/video/mx2_camera.c +35 −31
  2141. drivers/media/video/mx3_camera.c +29 −42
  2142. drivers/media/video/omap/Kconfig +5 −2
  2143. drivers/media/video/omap/Makefile +1 −0
  2144. drivers/media/video/omap/omap_vout.c +141 −504
  2145. drivers/media/video/omap/omap_vout_vrfb.c +390 −0
  2146. drivers/media/video/omap/omap_vout_vrfb.h +40 −0
  2147. drivers/media/video/omap/omap_voutdef.h +78 −0
  2148. drivers/media/video/omap/omap_voutlib.c +46 −0
  2149. drivers/media/video/omap/omap_voutlib.h +7 −5
  2150. drivers/media/video/omap1_camera.c +28 −29
  2151. drivers/media/video/omap24xxcam.c +4 −5
  2152. drivers/media/video/omap3isp/isp.c +1 −0
  2153. drivers/media/video/omap3isp/isp.h +6 −0
  2154. drivers/media/video/omap3isp/ispccdc.c +3 −4
  2155. drivers/media/video/omap3isp/ispccp2.c +25 −2
  2156. drivers/media/video/omap3isp/ispccp2.h +1 −0
  2157. drivers/media/video/omap3isp/ispstat.c +1 −2
  2158. drivers/media/video/omap3isp/ispvideo.c +0 −1
  2159. drivers/media/video/omap3isp/ispvideo.h +1 −2
  2160. drivers/media/video/ov2640.c +3 −10
  2161. drivers/media/video/ov5642.c +1012 −0
  2162. drivers/media/video/ov7670.c +1 −2
  2163. drivers/media/video/ov772x.c +3 −7
  2164. drivers/media/video/ov9640.c +3 −10
  2165. drivers/media/video/ov9740.c +302 −254
  2166. drivers/media/video/pms.c +1 −3
  2167. drivers/media/video/pvrusb2/pvrusb2-main.c +1 −0
  2168. drivers/media/video/pvrusb2/pvrusb2-v4l2.c +2 −7
  2169. drivers/media/video/pwc/Kconfig +1 −0
  2170. drivers/media/video/pwc/pwc-ctrl.c +129 −674
  2171. drivers/media/video/pwc/pwc-dec1.c +9 −19
  2172. drivers/media/video/pwc/pwc-dec1.h +1 −7
  2173. drivers/media/video/pwc/pwc-dec23.c +0 −22
  2174. drivers/media/video/pwc/pwc-dec23.h +0 −10
  2175. drivers/media/video/pwc/pwc-if.c +369 −890
  2176. drivers/media/video/pwc/pwc-ioctl.h +0 −323
  2177. drivers/media/video/pwc/pwc-kiara.c +0 −1
  2178. drivers/media/video/pwc/pwc-misc.c +0 −4
  2179. drivers/media/video/pwc/pwc-uncompress.c +6 −11
  2180. drivers/media/video/pwc/pwc-uncompress.h +0 −40
  2181. drivers/media/video/pwc/pwc-v4l.c +737 −520
  2182. drivers/media/video/pwc/pwc.h +221 −188
  2183. drivers/media/video/pxa_camera.c +49 −43
  2184. drivers/media/video/rj54n1cb0c.c +3 −4
  2185. drivers/media/video/s2255drv.c +10 −25
  2186. drivers/media/video/s5p-fimc/fimc-capture.c +0 −2
  2187. drivers/media/video/s5p-fimc/fimc-core.c +1 −2
  2188. drivers/media/video/s5p-mfc/Makefile +5 −0
  2189. drivers/media/video/s5p-mfc/regs-mfc.h +413 −0
  2190. drivers/media/video/s5p-mfc/s5p_mfc.c +1274 −0
  2191. drivers/media/video/s5p-mfc/s5p_mfc_cmd.c +120 −0
  2192. drivers/media/video/s5p-mfc/s5p_mfc_cmd.h +30 −0
  2193. drivers/media/video/s5p-mfc/s5p_mfc_common.h +572 −0
  2194. drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c +343 −0
  2195. drivers/media/video/s5p-mfc/s5p_mfc_ctrl.h +29 −0
  2196. drivers/media/video/s5p-mfc/s5p_mfc_debug.h +48 −0
  2197. drivers/media/video/s5p-mfc/s5p_mfc_dec.c +1036 −0
  2198. drivers/media/video/s5p-mfc/s5p_mfc_dec.h +23 −0
  2199. drivers/media/video/s5p-mfc/s5p_mfc_enc.c +1829 −0
  2200. drivers/media/video/s5p-mfc/s5p_mfc_enc.h +23 −0
  2201. drivers/media/video/s5p-mfc/s5p_mfc_intr.c +92 −0
  2202. drivers/media/video/s5p-mfc/s5p_mfc_intr.h +26 −0
  2203. drivers/media/video/s5p-mfc/s5p_mfc_opr.c +1397 −0
  2204. drivers/media/video/s5p-mfc/s5p_mfc_opr.h +91 −0
  2205. drivers/media/video/s5p-mfc/s5p_mfc_pm.c +117 −0
  2206. drivers/media/video/s5p-mfc/s5p_mfc_pm.h +24 −0
  2207. drivers/media/video/s5p-mfc/s5p_mfc_shm.c +47 −0
  2208. drivers/media/video/s5p-mfc/s5p_mfc_shm.h +91 −0
  2209. drivers/media/video/s5p-tv/Kconfig +76 −0
  2210. drivers/media/video/s5p-tv/Makefile +17 −0
  2211. drivers/media/video/s5p-tv/hdmi_drv.c +1042 −0
  2212. drivers/media/video/s5p-tv/hdmiphy_drv.c +188 −0
  2213. drivers/media/video/s5p-tv/mixer.h +354 −0
  2214. drivers/media/video/s5p-tv/mixer_drv.c +487 −0
  2215. drivers/media/video/s5p-tv/mixer_grp_layer.c +185 −0
  2216. drivers/media/video/s5p-tv/mixer_reg.c +541 −0
  2217. drivers/media/video/s5p-tv/mixer_video.c +1006 −0
  2218. drivers/media/video/s5p-tv/mixer_vp_layer.c +211 −0
  2219. drivers/media/video/s5p-tv/regs-hdmi.h +141 −0
  2220. drivers/media/video/s5p-tv/regs-mixer.h +121 −0
  2221. drivers/media/video/s5p-tv/regs-sdo.h +63 −0
  2222. drivers/media/video/s5p-tv/regs-vp.h +88 −0
  2223. drivers/media/video/s5p-tv/sdo_drv.c +479 −0
  2224. drivers/media/video/saa7115.c +2 −2
  2225. drivers/media/video/saa7134/saa7134-cards.c +12 −1
  2226. drivers/media/video/saa7134/saa7134-core.c +4 −8
  2227. drivers/media/video/saa7134/saa7134-dvb.c +25 −0
  2228. drivers/media/video/saa7134/saa7134-empress.c +0 −1
  2229. drivers/media/video/saa7134/saa7134-video.c +0 −2
  2230. drivers/media/video/saa7134/saa7134.h +1 −2
  2231. drivers/media/video/saa7164/saa7164-encoder.c +1 −5
  2232. drivers/media/video/saa7164/saa7164-vbi.c +1 −5
  2233. drivers/media/video/saa7164/saa7164.h +0 −1
  2234. drivers/media/video/sh_mobile_ceu_camera.c +133 −74
  2235. drivers/media/video/sh_mobile_csi2.c +73 −62
  2236. drivers/media/video/sh_vou.c +1 −2
  2237. drivers/media/video/sn9c102/sn9c102.h +0 −1
  2238. drivers/media/video/sn9c102/sn9c102_core.c +4 −12
  2239. drivers/media/video/soc_camera.c +85 −196
  2240. drivers/media/video/soc_camera_platform.c +5 −5
  2241. drivers/media/video/sr030pc30.c +5 −2
  2242. drivers/media/video/tda7432.c +3 −2
  2243. drivers/media/video/timblogiw.c +0 −1
  2244. drivers/media/video/tlg2300/pd-common.h +0 −1
  2245. drivers/media/video/tlg2300/pd-dvb.c +1 −1
  2246. drivers/media/video/tlg2300/pd-main.c +1 −0
  2247. drivers/media/video/tlg2300/pd-radio.c +0 −2
  2248. drivers/media/video/tuner-core.c +18 −0
  2249. drivers/media/video/tw9910.c +3 −18
  2250. drivers/media/video/usbvision/usbvision-video.c +1 −11
  2251. drivers/media/video/uvc/uvc_ctrl.c +3 −3
  2252. drivers/media/video/uvc/uvc_driver.c +11 −1
  2253. drivers/media/video/uvc/uvc_queue.c +1 −1
  2254. drivers/media/video/uvc/uvc_v4l2.c +3 −3
  2255. drivers/media/video/uvc/uvc_video.c +1 −1
  2256. drivers/media/video/uvc/uvcvideo.h +1 −2
  2257. drivers/media/video/v4l2-common.c +3 −0
  2258. drivers/media/video/v4l2-compat-ioctl32.c +37 −0
  2259. drivers/media/video/v4l2-ctrls.c +626 −200
  2260. drivers/media/video/v4l2-device.c +1 −0
  2261. drivers/media/video/v4l2-event.c +147 −135
  2262. drivers/media/video/v4l2-fh.c +8 −15
  2263. drivers/media/video/v4l2-ioctl.c +35 −15
  2264. drivers/media/video/v4l2-subdev.c +9 −22
  2265. drivers/media/video/videobuf-dma-sg.c +3 −2
  2266. drivers/media/video/videobuf2-dma-sg.c +2 −6
  2267. drivers/media/video/videobuf2-memops.c +3 −3
  2268. drivers/media/video/vino.c +1 −4
  2269. drivers/media/video/vivi.c +73 −18
  2270. drivers/media/video/w9966.c +1 −3
  2271. drivers/media/video/zoran/zoran.h +0 −4
  2272. drivers/media/video/zoran/zoran_card.c +5 −2
  2273. drivers/media/video/zoran/zoran_driver.c +0 −3
  2274. drivers/media/video/zr364xx.c +2 −4
  2275. drivers/message/fusion/mptscsih.c +1 −1
  2276. drivers/message/i2o/i2o_scsi.c +1 −1
  2277. drivers/mfd/Kconfig +50 −11
  2278. drivers/mfd/Makefile +9 −2
  2279. drivers/mfd/aat2870-core.c +535 −0
  2280. drivers/mfd/ab3550-core.c +11 −30
  2281. drivers/mfd/ab8500-core.c +174 −57
  2282. drivers/mfd/ab8500-debugfs.c +11 −30
  2283. drivers/mfd/jz4740-adc.c +28 −62
  2284. drivers/mfd/lpc_sch.c +48 −1
  2285. drivers/mfd/max8997-irq.c +0 −2
  2286. drivers/mfd/max8998.c +2 −0
  2287. drivers/mfd/omap-usb-host.c +2 −2
  2288. drivers/mfd/stmpe.c +1 −1
  2289. drivers/mfd/stmpe.h +1 −0
  2290. drivers/mfd/timberdale.c +2 −6
  2291. drivers/mfd/tps65910.c +9 −4
  2292. drivers/mfd/tps65911-comparator.c +2 −0
  2293. drivers/mfd/tps65912-core.c +177 −0
  2294. drivers/mfd/tps65912-i2c.c +139 −0
  2295. drivers/mfd/tps65912-irq.c +224 −0
  2296. drivers/mfd/tps65912-spi.c +142 −0
  2297. drivers/mfd/twl-core.c +8 −7
  2298. drivers/mfd/twl4030-audio.c +277 −0
  2299. drivers/mfd/twl4030-codec.c +0 −277
  2300. drivers/mfd/twl4030-madc.c +4 −4
  2301. drivers/mfd/twl6030-pwm.c +2 −0
  2302. drivers/mfd/twl6040-core.c +620 −0
  2303. drivers/mfd/twl6040-irq.c +191 −0
  2304. drivers/mfd/wm831x-auxadc.c +299 −0
  2305. drivers/mfd/wm831x-core.c +71 −188
  2306. drivers/mfd/wm831x-irq.c +49 −28
  2307. drivers/mfd/wm8350-irq.c +12 −6
  2308. drivers/mfd/wm8994-core.c +22 −11
  2309. drivers/mfd/wm8994-irq.c +6 −6
  2310. drivers/misc/Kconfig +1 −0
  2311. drivers/misc/ab8500-pwm.c +1 −1
  2312. drivers/misc/cb710/core.c +2 −1
  2313. drivers/misc/fsa9480.c +2 −2
  2314. drivers/misc/phantom.c +1 −1
  2315. drivers/misc/pti.c +7 −7
  2316. drivers/misc/ti-st/st_core.c +9 −1
  2317. drivers/misc/ti-st/st_kim.c +33 −0
  2318. drivers/misc/ti-st/st_ll.c +19 −0
  2319. drivers/misc/vmw_balloon.c +11 −20
  2320. drivers/mmc/card/mmc_test.c +31 −27
  2321. drivers/mmc/core/core.c +32 −5
  2322. drivers/mmc/core/host.c +6 −6
  2323. drivers/mmc/core/host.h +4 −4
  2324. drivers/mmc/core/mmc.c +1 −1
  2325. drivers/mmc/core/mmc_ops.c +1 −1
  2326. drivers/mmc/core/sd.c +53 −28
  2327. drivers/mmc/host/dw_mmc.c +3 −3
  2328. drivers/mmc/host/sdhci-esdhc-imx.c +236 −64
  2329. drivers/mmc/host/sdhci-pltfm.c +2 −1
  2330. drivers/mmc/host/sdhci-pxav3.c +2 −1
  2331. drivers/mmc/host/sdhci-s3c.c +6 −0
  2332. drivers/mmc/host/sdhci.c +24 −29
  2333. drivers/mmc/host/sh_mobile_sdhi.c +2 −2
  2334. drivers/mmc/host/tmio_mmc.c +0 −2
  2335. drivers/mmc/host/tmio_mmc.h +1 −0
  2336. drivers/mtd/ubi/debug.h +1 −1
  2337. drivers/net/Makefile +1 −0
  2338. drivers/net/acenic.c +24 −21
  2339. drivers/net/acenic.h +3 −3
  2340. drivers/net/arm/am79c961a.c +3 −0
  2341. drivers/net/atlx/atl1.c +1 −1
  2342. drivers/net/atlx/atl2.c +1 −1
  2343. drivers/net/atlx/atl2.h +1 −1
  2344. drivers/net/bnx2x/bnx2x_cmn.c +36 −9
  2345. drivers/net/bnx2x/bnx2x_dcb.c +1 −1
  2346. drivers/net/bnx2x/bnx2x_hsi.h +2 −0
  2347. drivers/net/bnx2x/bnx2x_link.c +147 −71
  2348. drivers/net/bnx2x/bnx2x_link.h +2 −1
  2349. drivers/net/bnx2x/bnx2x_main.c +19 −4
  2350. drivers/net/bnx2x/bnx2x_reg.h +26 −6
  2351. drivers/net/bonding/bond_main.c +23 −3
  2352. drivers/net/bonding/bond_sysfs.c +71 −62
  2353. drivers/net/can/sja1000/plx_pci.c +2 −2
  2354. drivers/net/can/slcan.c +1 −1
  2355. drivers/net/can/ti_hecc.c +2 −1
  2356. drivers/net/cassini.c +2 −3
  2357. drivers/net/cpmac.c +1 −1
  2358. drivers/net/cxgb3/cxgb3_offload.c +1 −1
  2359. drivers/net/cxgb3/l2t.h +1 −1
  2360. drivers/net/cxgb3/t3cdev.h +1 −1
  2361. drivers/net/cxgb4/cxgb4_uld.h +1 −1
  2362. drivers/net/cxgb4/l2t.h +1 −1
  2363. drivers/net/e1000/e1000_ethtool.c +6 −0
  2364. drivers/net/e1000/e1000_hw.c +3 −0
  2365. drivers/net/e1000e/82571.c +4 −2
  2366. drivers/net/e1000e/e1000.h +5 −0
  2367. drivers/net/e1000e/es2lan.c +2 −0
  2368. drivers/net/e1000e/ethtool.c +12 −2
  2369. drivers/net/e1000e/ich8lan.c +57 −15
  2370. drivers/net/e1000e/lib.c +5 −3
  2371. drivers/net/e1000e/netdev.c +83 −8
  2372. drivers/net/e1000e/phy.c +2 −0
  2373. drivers/net/fec.c +116 −9
  2374. drivers/net/forcedeth.c +14 −3
  2375. drivers/net/gianfar.c +8 −7
  2376. drivers/net/gianfar_ethtool.c +21 −5
  2377. drivers/net/gianfar_ptp.c +2 −7
  2378. drivers/net/hamradio/6pack.c +1 −1
  2379. drivers/net/hamradio/dmascc.c +1 −1
  2380. drivers/net/ibm_newemac/core.c +4 −29
  2381. drivers/net/ibm_newemac/emac.h +10 −9
  2382. drivers/net/ibm_newemac/phy.c +5 −2
  2383. drivers/net/ibmveth.c +10 −4
  2384. drivers/net/ifb.c +1 −1
  2385. drivers/net/igb/e1000_nvm.c +1 −0
  2386. drivers/net/igb/igb_ethtool.c +5 −0
  2387. drivers/net/igb/igb_main.c +3 −1
  2388. drivers/net/igbvf/netdev.c +2 −0
  2389. drivers/net/irda/sh_irda.c +2 −0
  2390. drivers/net/irda/sh_sir.c +3 −1
  2391. drivers/net/irda/smsc-ircc2.c +8 −10
  2392. drivers/net/ixgb/ixgb_ee.c +9 −0
  2393. drivers/net/ixgb/ixgb_hw.c +2 −0
  2394. drivers/net/ixgbe/ixgbe_82599.c +1 −0
  2395. drivers/net/ixgbe/ixgbe_common.c +1 −0
  2396. drivers/net/ixgbe/ixgbe_ethtool.c +5 −0
  2397. drivers/net/ixgbe/ixgbe_main.c +5 −2
  2398. drivers/net/ixgbe/ixgbe_phy.c +3 −0
  2399. drivers/net/ixgbe/ixgbe_x540.c +1 −0
  2400. drivers/net/macb.c +3 −0
  2401. drivers/net/macvlan.c +1 −1
  2402. drivers/net/mlx4/en_port.c +1 −1
  2403. drivers/net/mlx4/main.c +2 −0
  2404. drivers/net/mlx4/port.c +6 −3
  2405. drivers/net/niu.c +2 −2
  2406. drivers/net/pcmcia/smc91c92_cs.c +1 −1
  2407. drivers/net/pcnet32.c +1 −1
  2408. drivers/net/phy/dp83640.c +2 −3
  2409. drivers/net/phy/national.c +11 −6
  2410. drivers/net/phy/phy.c +1 −1
  2411. drivers/net/ppp_generic.c +1 −1
  2412. drivers/net/r8169.c +28 −0
  2413. drivers/net/rionet.c +8 −15
  2414. drivers/net/sh_eth.c +2 −0
  2415. drivers/net/sis190.c +11 −1
  2416. drivers/net/slip.c +1 −1
  2417. drivers/net/sungem.c +2 −1
  2418. drivers/net/tg3.c +173 −114
  2419. drivers/net/tg3.h +8 −1
  2420. drivers/net/tun.c +1 −0
  2421. drivers/net/usb/asix.c +3 −4
  2422. drivers/net/usb/cdc_ncm.c +88 −103
  2423. drivers/net/usb/rtl8150.c +0 −1
  2424. drivers/net/veth.c +2 −0
  2425. drivers/net/via-velocity.c +0 −4
  2426. drivers/net/vmxnet3/vmxnet3_drv.c +20 −14
  2427. drivers/net/wan/hdlc_fr.c +3 −2
  2428. drivers/net/wimax/i2400m/i2400m.h +1 −1
  2429. drivers/net/wireless/airo.c +1 −0
  2430. drivers/net/wireless/ath/ath5k/base.c +14 −9
  2431. drivers/net/wireless/ath/ath9k/ar9002_hw.c +1 −5
  2432. drivers/net/wireless/ath/ath9k/ar9003_eeprom.c +5 −5
  2433. drivers/net/wireless/ath/ath9k/ar9003_hw.c +1 −5
  2434. drivers/net/wireless/ath/ath9k/ar9003_phy.h +1 −1
  2435. drivers/net/wireless/ath/ath9k/hw.c +9 −2
  2436. drivers/net/wireless/ath/ath9k/hw.h +2 −1
  2437. drivers/net/wireless/ath/ath9k/init.c +2 −0
  2438. drivers/net/wireless/ath/ath9k/main.c +4 −0
  2439. drivers/net/wireless/ath/ath9k/pci.c +27 −0
  2440. drivers/net/wireless/ath/carl9170/main.c +3 −1
  2441. drivers/net/wireless/b43/Kconfig +1 −1
  2442. drivers/net/wireless/b43/bus.c +2 −0
  2443. drivers/net/wireless/b43/dma.c +17 −3
  2444. drivers/net/wireless/b43/main.c +3 −2
  2445. drivers/net/wireless/b43legacy/b43legacy.h +1 −1
  2446. drivers/net/wireless/b43legacy/dma.h +1 −1
  2447. drivers/net/wireless/hostap/hostap_cs.c +2 −0
  2448. drivers/net/wireless/hostap/hostap_main.c +1 −0
  2449. drivers/net/wireless/iwlegacy/iwl-3945.c +5 −1
  2450. drivers/net/wireless/iwlegacy/iwl-4965.c +6 −2
  2451. drivers/net/wireless/iwlwifi/iwl-5000.c +1 −0
  2452. drivers/net/wireless/iwlwifi/iwl-core.h +2 −0
  2453. drivers/net/wireless/iwlwifi/iwl-pci.c +17 −22
  2454. drivers/net/wireless/iwlwifi/iwl-power.c +2 −1
  2455. drivers/net/wireless/orinoco/orinoco_cs.c +4 −1
  2456. drivers/net/wireless/rt2x00/rt2800lib.c +1 −2
  2457. drivers/net/wireless/rt2x00/rt2800usb.c +17 −5
  2458. drivers/net/wireless/rt2x00/rt2x00lib.h +2 −1
  2459. drivers/net/wireless/rt2x00/rt2x00mac.c +3 −2
  2460. drivers/net/wireless/rt2x00/rt2x00usb.c +8 −23
  2461. drivers/net/wireless/rt2x00/rt73usb.c +1 −0
  2462. drivers/net/wireless/rtlwifi/pci.c +11 −9
  2463. drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +8 −3
  2464. drivers/net/wireless/wl1251/acx.c +1 −5
  2465. drivers/net/wireless/wl1251/cmd.c +1 −1
  2466. drivers/net/wireless/wl12xx/acx.c +1 −5
  2467. drivers/net/wireless/wl12xx/main.c +1 −0
  2468. drivers/net/wireless/wl12xx/sdio.c +1 −1
  2469. drivers/net/wireless/wl12xx/testmode.c +4 −46
  2470. drivers/nfc/pn533.c +1 −1
  2471. drivers/of/address.c +1 −1
  2472. drivers/of/base.c +4 −3
  2473. drivers/of/gpio.c +3 −2
  2474. drivers/of/of_net.c +45 −0
  2475. drivers/oprofile/oprofile_stats.h +1 −1
  2476. drivers/pci/hotplug/acpi_pcihp.c +3 −3
  2477. drivers/pci/hotplug/acpiphp_glue.c +1 −1
  2478. drivers/pci/hotplug/cpci_hotplug_core.c +1 −1
  2479. drivers/pci/hotplug/cpqphp_core.c +5 −12
  2480. drivers/pci/hotplug/pciehp_ctrl.c +3 −0
  2481. drivers/pci/hotplug/pciehp_hpc.c +2 −9
  2482. drivers/pci/hotplug/pcihp_slot.c +3 −44
  2483. drivers/pci/of.c +1 −1
  2484. drivers/pci/pci-label.c +1 −1
  2485. drivers/pci/pci.c +75 −3
  2486. drivers/pci/pci.h +4 −0
  2487. drivers/pci/pcie/aer/aerdrv_core.c +69 −7
  2488. drivers/pci/pcie/aer/aerdrv_errprint.c +2 −1
  2489. drivers/pci/probe.c +188 −46
  2490. drivers/pci/setup-bus.c +116 −53
  2491. drivers/pci/setup-irq.c +2 −2
  2492. drivers/pci/setup-res.c +96 −59
  2493. drivers/pci/xen-pcifront.c +1 −1
  2494. drivers/pcmcia/pxa2xx_balloon3.c +0 −10
  2495. drivers/pcmcia/pxa2xx_cm_x255.c +0 −11
  2496. drivers/pcmcia/pxa2xx_cm_x270.c +0 −11
  2497. drivers/pcmcia/pxa2xx_colibri.c +0 −11
  2498. drivers/pcmcia/pxa2xx_mainstone.c +0 −10
  2499. drivers/pcmcia/pxa2xx_palmld.c +0 −11
  2500. drivers/pcmcia/pxa2xx_palmtc.c +0 −11
  2501. drivers/pcmcia/pxa2xx_palmtx.c +0 −11
  2502. drivers/pcmcia/pxa2xx_stargate2.c +11 −23
  2503. drivers/pcmcia/pxa2xx_viper.c +0 −10
  2504. drivers/pcmcia/soc_common.c +4 −3
  2505. drivers/platform/x86/Kconfig +8 −0
  2506. drivers/platform/x86/Makefile +1 −0
  2507. drivers/platform/x86/acer-wmi.c +36 −4
  2508. drivers/platform/x86/acerhdf.c +7 −6
  2509. drivers/platform/x86/asus-laptop.c +4 −5
  2510. drivers/platform/x86/asus-nb-wmi.c +23 −4
  2511. drivers/platform/x86/asus-wmi.c +212 −27
  2512. drivers/platform/x86/asus-wmi.h +7 −0
  2513. drivers/platform/x86/dell-laptop.c +0 −1
  2514. drivers/platform/x86/dell-wmi.c +10 −0
  2515. drivers/platform/x86/eeepc-wmi.c +27 −0
  2516. drivers/platform/x86/ideapad-laptop.c +172 −23
  2517. drivers/platform/x86/intel_ips.c +2 −2
  2518. drivers/platform/x86/intel_menlow.c +2 −0
  2519. drivers/platform/x86/intel_mid_thermal.c +19 −7
  2520. drivers/platform/x86/intel_rar_register.c +1 −3
  2521. drivers/platform/x86/intel_scu_ipc.c +1 −1
  2522. drivers/platform/x86/msi-laptop.c +10 −0
  2523. drivers/platform/x86/msi-wmi.c +1 −0
  2524. drivers/platform/x86/samsung-laptop.c +20 −0
  2525. drivers/platform/x86/samsung-q10.c +196 −0
  2526. drivers/platform/x86/thinkpad_acpi.c +10 −1
  2527. drivers/power/Kconfig +14 −0
  2528. drivers/power/Makefile +2 −0
  2529. drivers/power/apm_power.c +4 −4
  2530. drivers/power/bq20z75.c +94 −9
  2531. drivers/power/gpio-charger.c +1 −1
  2532. drivers/power/max17042_battery.c +105 −70
  2533. drivers/power/max8903_charger.c +8 −8
  2534. drivers/power/max8997_charger.c +207 −0
  2535. drivers/power/max8998_charger.c +219 −0
  2536. drivers/power/s3c_adc_battery.c +2 −1
  2537. drivers/power/twl4030_charger.c +5 −5
  2538. drivers/power/wm831x_backup.c +11 −1
  2539. drivers/power/wm831x_power.c +23 −3
  2540. drivers/rapidio/rio-scan.c +1 −2
  2541. drivers/regulator/Kconfig +13 −0
  2542. drivers/regulator/Makefile +2 −0
  2543. drivers/regulator/aat2870-regulator.c +232 −0
  2544. drivers/regulator/core.c +110 −80
  2545. drivers/regulator/dummy.c +26 −6
  2546. drivers/regulator/tps65910-regulator.c +51 −12
  2547. drivers/regulator/tps65912-regulator.c +800 −0
  2548. drivers/regulator/twl-regulator.c +31 −35
  2549. drivers/regulator/wm831x-dcdc.c +65 −61
  2550. drivers/regulator/wm831x-ldo.c +22 −3
  2551. drivers/regulator/wm8994-regulator.c +2 −2
  2552. drivers/rtc/interface.c +38 −17
  2553. drivers/rtc/rtc-ep93xx.c +8 −8
  2554. drivers/rtc/rtc-imxdi.c +1 −0
  2555. drivers/rtc/rtc-lib.c +2 −0
  2556. drivers/rtc/rtc-omap.c +1 −1
  2557. drivers/rtc/rtc-s3c.c +57 −48
  2558. drivers/rtc/rtc-twl.c +24 −36
  2559. drivers/s390/block/dasd.c +5 −4
  2560. drivers/s390/block/dasd_eckd.c +9 −0
  2561. drivers/s390/block/dasd_eer.c +1 −1
  2562. drivers/s390/block/dasd_ioctl.c +7 −3
  2563. drivers/s390/block/dasd_proc.c +2 −2
  2564. drivers/s390/char/sclp_async.c +3 −6
  2565. drivers/s390/char/sclp_cmd.c +4 −2
  2566. drivers/s390/char/sclp_quiesce.c +1 −1
  2567. drivers/s390/char/vmlogrdr.c +1 −1
  2568. drivers/s390/cio/device.h +1 −1
  2569. drivers/s390/cio/qdio.h +2 −0
  2570. drivers/s390/cio/qdio_debug.c +3 −9
  2571. drivers/s390/cio/qdio_main.c +19 −4
  2572. drivers/s390/cio/qdio_thinint.c +1 −1
  2573. drivers/s390/crypto/ap_bus.c +1 −1
  2574. drivers/s390/crypto/zcrypt_api.c +1 −1
  2575. drivers/s390/crypto/zcrypt_cex2a.c +1 −1
  2576. drivers/s390/crypto/zcrypt_mono.c +1 −1
  2577. drivers/s390/crypto/zcrypt_pcica.c +1 −1
  2578. drivers/s390/crypto/zcrypt_pcicc.c +1 −1
  2579. drivers/s390/crypto/zcrypt_pcixcc.c +1 −1
  2580. drivers/s390/net/fsm.h +1 −1
  2581. drivers/s390/scsi/zfcp_scsi.c +1 −1
  2582. drivers/sbus/char/display7seg.c +1 −1
  2583. drivers/scsi/be2iscsi/be_main.h +2 −2
  2584. drivers/scsi/bfa/bfa.h +44 −7
  2585. drivers/scsi/bfa/bfa_core.c +38 −22
  2586. drivers/scsi/bfa/bfa_defs.h +171 −0
  2587. drivers/scsi/bfa/bfa_defs_svc.h +99 −0
  2588. drivers/scsi/bfa/bfa_fc.h +155 −0
  2589. drivers/scsi/bfa/bfa_fcpim.c +734 −2
  2590. drivers/scsi/bfa/bfa_fcpim.h +36 −9
  2591. drivers/scsi/bfa/bfa_fcs.c +26 −0
  2592. drivers/scsi/bfa/bfa_fcs.h +1 −0
  2593. drivers/scsi/bfa/bfa_fcs_fcpim.c +35 −2
  2594. drivers/scsi/bfa/bfa_fcs_lport.c +70 −4
  2595. drivers/scsi/bfa/bfa_fcs_rport.c +46 −3
  2596. drivers/scsi/bfa/bfa_hw_cb.c +34 −4
  2597. drivers/scsi/bfa/bfa_hw_ct.c +24 −1
  2598. drivers/scsi/bfa/bfa_ioc.c +567 −2
  2599. drivers/scsi/bfa/bfa_ioc.h +47 −1
  2600. drivers/scsi/bfa/bfa_modules.h +3 −0
  2601. drivers/scsi/bfa/bfa_svc.c +179 −70
  2602. drivers/scsi/bfa/bfa_svc.h +20 −9
  2603. drivers/scsi/bfa/bfad.c +7 −1
  2604. drivers/scsi/bfa/bfad_bsg.c +1078 −6
  2605. drivers/scsi/bfa/bfad_bsg.h +237 −0
  2606. drivers/scsi/bfa/bfad_drv.h +5 −1
  2607. drivers/scsi/bfa/bfad_im.c +26 −0
  2608. drivers/scsi/bfa/bfad_im.h +22 −0
  2609. drivers/scsi/bfa/bfi.h +20 −0
  2610. drivers/scsi/bnx2fc/bnx2fc.h +62 −45
  2611. drivers/scsi/bnx2fc/bnx2fc_debug.h +8 −8
  2612. drivers/scsi/bnx2fc/bnx2fc_els.c +422 −12
  2613. drivers/scsi/bnx2fc/bnx2fc_fcoe.c +343 −389
  2614. drivers/scsi/bnx2fc/bnx2fc_hwi.c +338 −95
  2615. drivers/scsi/bnx2fc/bnx2fc_io.c +157 −37
  2616. drivers/scsi/bnx2fc/bnx2fc_tgt.c +32 −19
  2617. drivers/scsi/bnx2i/bnx2i_hwi.c +5 −5
  2618. drivers/scsi/bnx2i/bnx2i_iscsi.c +1 −1
  2619. drivers/scsi/device_handler/scsi_dh_rdac.c +43 −39
  2620. drivers/scsi/dpt/dpti_i2o.h +1 −1
  2621. drivers/scsi/fcoe/fcoe.c +40 −42
  2622. drivers/scsi/hpsa.c +40 −23
  2623. drivers/scsi/hpsa.h +1 −1
  2624. drivers/scsi/ipr.c +6 −6
  2625. drivers/scsi/isci/host.c +12 −1
  2626. drivers/scsi/isci/host.h +3 −0
  2627. drivers/scsi/isci/init.c +28 −19
  2628. drivers/scsi/isci/phy.c +13 −0
  2629. drivers/scsi/isci/registers.h +12 −0
  2630. drivers/scsi/isci/request.c +16 −14
  2631. drivers/scsi/isci/unsolicited_frame_control.c +1 −1
  2632. drivers/scsi/isci/unsolicited_frame_control.h +1 −1
  2633. drivers/scsi/libfc/fc_exch.c +46 −22
  2634. drivers/scsi/libfc/fc_fcp.c +13 −7
  2635. drivers/scsi/libfc/fc_lport.c +10 −2
  2636. drivers/scsi/libiscsi.c +3 −19
  2637. drivers/scsi/libsas/sas_expander.c +3 −0
  2638. drivers/scsi/lpfc/lpfc.h +14 −1
  2639. drivers/scsi/lpfc/lpfc_attr.c +86 −75
  2640. drivers/scsi/lpfc/lpfc_bsg.c +64 −25
  2641. drivers/scsi/lpfc/lpfc_crtn.h +12 −0
  2642. drivers/scsi/lpfc/lpfc_debugfs.c +1377 −79
  2643. drivers/scsi/lpfc/lpfc_debugfs.h +123 −2
  2644. drivers/scsi/lpfc/lpfc_els.c +66 −39
  2645. drivers/scsi/lpfc/lpfc_hbadisc.c +213 −9
  2646. drivers/scsi/lpfc/lpfc_hw.h +6 −1
  2647. drivers/scsi/lpfc/lpfc_hw4.h +16 −14
  2648. drivers/scsi/lpfc/lpfc_init.c +68 −22
  2649. drivers/scsi/lpfc/lpfc_mbox.c +1 −1
  2650. drivers/scsi/lpfc/lpfc_scsi.c +30 −67
  2651. drivers/scsi/lpfc/lpfc_sli.c +354 −45
  2652. drivers/scsi/lpfc/lpfc_sli4.h +24 −5
  2653. drivers/scsi/lpfc/lpfc_version.h +1 −1
  2654. drivers/scsi/megaraid/megaraid_sas.h +3 −3
  2655. drivers/scsi/megaraid/megaraid_sas_base.c +17 −1
  2656. drivers/scsi/megaraid/megaraid_sas_fp.c +0 −1
  2657. drivers/scsi/mpt2sas/mpt2sas_scsih.c +4 −0
  2658. drivers/scsi/mvsas/Kconfig +8 −1
  2659. drivers/scsi/mvsas/mv_64xx.c +57 −44
  2660. drivers/scsi/mvsas/mv_94xx.c +426 −82
  2661. drivers/scsi/mvsas/mv_94xx.h +82 −17
  2662. drivers/scsi/mvsas/mv_chips.h +3 −14
  2663. drivers/scsi/mvsas/mv_defs.h +5 −6
  2664. drivers/scsi/mvsas/mv_init.c +144 −43
  2665. drivers/scsi/mvsas/mv_sas.c +163 −259
  2666. drivers/scsi/mvsas/mv_sas.h +87 −18
  2667. drivers/scsi/pm8001/pm8001_sas.h +1 −1
  2668. drivers/scsi/pmcraid.c +3 −0
  2669. drivers/scsi/qla2xxx/qla_attr.c +102 −88
  2670. drivers/scsi/qla2xxx/qla_bsg.c +238 −203
  2671. drivers/scsi/qla2xxx/qla_dbg.c +288 −108
  2672. drivers/scsi/qla2xxx/qla_dbg.h +47 −140
  2673. drivers/scsi/qla2xxx/qla_def.h +2 −0
  2674. drivers/scsi/qla2xxx/qla_dfs.c +8 −8
  2675. drivers/scsi/qla2xxx/qla_fw.h +5 −0
  2676. drivers/scsi/qla2xxx/qla_gbl.h +6 −2
  2677. drivers/scsi/qla2xxx/qla_gs.c +188 −183
  2678. drivers/scsi/qla2xxx/qla_init.c +432 −427
  2679. drivers/scsi/qla2xxx/qla_inline.h +33 −4
  2680. drivers/scsi/qla2xxx/qla_iocb.c +285 −111
  2681. drivers/scsi/qla2xxx/qla_isr.c +412 −360
  2682. drivers/scsi/qla2xxx/qla_mbx.c +517 −574
  2683. drivers/scsi/qla2xxx/qla_mid.c +109 −53
  2684. drivers/scsi/qla2xxx/qla_nx.c +326 −255
  2685. drivers/scsi/qla2xxx/qla_os.c +497 −282
  2686. drivers/scsi/qla2xxx/qla_sup.c +157 −118
  2687. drivers/scsi/qla2xxx/qla_version.h +1 −1
  2688. drivers/scsi/qla4xxx/Kconfig +1 −1
  2689. drivers/scsi/scsi_lib.c +1 −0
  2690. drivers/scsi/scsi_transport_spi.c +24 −0
  2691. drivers/sh/clk/core.c +27 −2
  2692. drivers/sh/intc/chip.c +3 −0
  2693. drivers/spi/spi-pl022.c +3 −8
  2694. drivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c +1 −1
  2695. drivers/staging/ath6kl/os/linux/ar6000_drv.c +1 −0
  2696. drivers/staging/brcm80211/brcmsmac/mac80211_if.h +0 −2
  2697. drivers/staging/brcm80211/brcmsmac/otp.c +1 −0
  2698. drivers/staging/brcm80211/brcmsmac/types.h +1 −0
  2699. drivers/staging/cxd2099/Kconfig +6 −5
  2700. drivers/staging/cxd2099/cxd2099.c +227 −84
  2701. drivers/staging/cxd2099/cxd2099.h +14 −4
  2702. drivers/staging/dt3155v4l/dt3155v4l.c +1 −0
  2703. drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c +1 −0
  2704. drivers/staging/gma500/gem_glue.c +1 −22
  2705. drivers/staging/gma500/gem_glue.h +0 −2
  2706. drivers/staging/gma500/mdfld_dsi_dbi.c +2 −1
  2707. drivers/staging/gma500/mdfld_dsi_dbi.h +0 −3
  2708. drivers/staging/gma500/mdfld_dsi_dpi.c +6 −1
  2709. drivers/staging/gma500/mdfld_dsi_output.c +3 −1
  2710. drivers/staging/gma500/medfield.h +0 −2
  2711. drivers/staging/gma500/mrst_hdmi.c +1 −1
  2712. drivers/staging/gma500/psb_drv.h +0 −1
  2713. drivers/staging/hv/blkvsc_drv.c +2 −2
  2714. drivers/staging/iio/accel/adis16203_core.c +6 −2
  2715. drivers/staging/iio/accel/adis16204_core.c +6 −2
  2716. drivers/staging/iio/accel/adis16209_core.c +6 −2
  2717. drivers/staging/iio/accel/adis16240_core.c +6 −2
  2718. drivers/staging/iio/gyro/adis16260_core.c +6 −2
  2719. drivers/staging/nvec/TODO +4 −2
  2720. drivers/staging/octeon/ethernet-rgmii.c +1 −0
  2721. drivers/staging/octeon/ethernet-rx.c +1 −1
  2722. drivers/staging/octeon/ethernet-spi.c +1 −0
  2723. drivers/staging/octeon/ethernet-tx.c +1 −1
  2724. drivers/staging/rtl8192u/r819xU_firmware.c +3 −6
  2725. drivers/staging/rts_pstor/rtsx.c +42 −67
  2726. drivers/staging/rts_pstor/rtsx.h +8 −1
  2727. drivers/staging/solo6x10/core.c +1 −0
  2728. drivers/staging/solo6x10/enc.c +1 −0
  2729. drivers/staging/solo6x10/g723.c +1 −0
  2730. drivers/staging/solo6x10/p2m.c +1 −0
  2731. drivers/staging/solo6x10/solo6x10.h +2 −1
  2732. drivers/staging/speakup/devsynth.c +3 −2
  2733. drivers/staging/tidspbridge/core/dsp-clock.c +0 −1
  2734. drivers/staging/tidspbridge/include/dspbridge/host_os.h +1 −1
  2735. drivers/staging/tm6000/tm6000-alsa.c +4 −8
  2736. drivers/staging/winbond/mds_s.h +1 −1
  2737. drivers/staging/winbond/wb35reg_s.h +1 −1
  2738. drivers/staging/zcache/Makefile +1 −1
  2739. drivers/staging/zcache/tmem.c +1 −1
  2740. drivers/staging/zcache/zcache-main.c +14 −7
  2741. drivers/target/Kconfig +1 −0
  2742. drivers/target/Makefile +1 −1
  2743. drivers/target/iscsi/Kconfig +9 −0
  2744. drivers/target/iscsi/Makefile +20 −0
  2745. drivers/target/iscsi/iscsi_target.c +4563 −0
  2746. drivers/target/iscsi/iscsi_target.h +42 −0
  2747. drivers/target/iscsi/iscsi_target_auth.c +490 −0
  2748. drivers/target/iscsi/iscsi_target_auth.h +31 −0
  2749. drivers/target/iscsi/iscsi_target_configfs.c +1882 −0
  2750. drivers/target/iscsi/iscsi_target_configfs.h +7 −0
  2751. drivers/target/iscsi/iscsi_target_core.h +859 −0
  2752. drivers/target/iscsi/iscsi_target_datain_values.c +531 −0
  2753. drivers/target/iscsi/iscsi_target_datain_values.h +12 −0
  2754. drivers/target/iscsi/iscsi_target_device.c +87 −0
  2755. drivers/target/iscsi/iscsi_target_device.h +9 −0
  2756. drivers/target/iscsi/iscsi_target_erl0.c +1004 −0
  2757. drivers/target/iscsi/iscsi_target_erl0.h +15 −0
  2758. drivers/target/iscsi/iscsi_target_erl1.c +1299 −0
  2759. drivers/target/iscsi/iscsi_target_erl1.h +26 −0
  2760. drivers/target/iscsi/iscsi_target_erl2.c +474 −0
  2761. drivers/target/iscsi/iscsi_target_erl2.h +18 −0
  2762. drivers/target/iscsi/iscsi_target_login.c +1222 −0
  2763. drivers/target/iscsi/iscsi_target_login.h +12 −0
  2764. drivers/target/iscsi/iscsi_target_nego.c +1067 −0
  2765. drivers/target/iscsi/iscsi_target_nego.h +17 −0
  2766. drivers/target/iscsi/iscsi_target_nodeattrib.c +263 −0
  2767. drivers/target/iscsi/iscsi_target_nodeattrib.h +14 −0
  2768. drivers/target/iscsi/iscsi_target_parameters.c +1894 −0
  2769. drivers/target/iscsi/iscsi_target_parameters.h +269 −0
  2770. drivers/target/iscsi/iscsi_target_seq_pdu_list.c +664 −0
  2771. drivers/target/iscsi/iscsi_target_seq_pdu_list.h +86 −0
  2772. drivers/target/iscsi/iscsi_target_stat.c +950 −0
  2773. drivers/target/iscsi/iscsi_target_stat.h +64 −0
  2774. drivers/target/iscsi/iscsi_target_tmr.c +849 −0
  2775. drivers/target/iscsi/iscsi_target_tmr.h +14 −0
  2776. drivers/target/iscsi/iscsi_target_tpg.c +759 −0
  2777. drivers/target/iscsi/iscsi_target_tpg.h +41 −0
  2778. drivers/target/iscsi/iscsi_target_tq.c +551 −0
  2779. drivers/target/iscsi/iscsi_target_tq.h +88 −0
  2780. drivers/target/iscsi/iscsi_target_util.c +1817 −0
  2781. drivers/target/iscsi/iscsi_target_util.h +60 −0
  2782. drivers/target/target_core_cdb.c +34 −23
  2783. drivers/target/target_core_device.c +39 −9
  2784. drivers/target/target_core_fabric_configfs.c +1 −1
  2785. drivers/target/target_core_pr.c +4 −4
  2786. drivers/target/target_core_rd.c +8 −16
  2787. drivers/target/target_core_tpg.c +36 −28
  2788. drivers/target/target_core_transport.c +155 −91
  2789. drivers/target/tcm_fc/tcm_fc.h +5 −0
  2790. drivers/target/tcm_fc/tfc_cmd.c +1 −0
  2791. drivers/target/tcm_fc/tfc_conf.c +2 −4
  2792. drivers/target/tcm_fc/tfc_io.c +72 −49
  2793. drivers/thermal/Kconfig +2 −6
  2794. drivers/thermal/thermal_sys.c +111 −31
  2795. drivers/tty/bfin_jtag_comm.c +1 −1
  2796. drivers/tty/pty.c +15 −2
  2797. drivers/tty/rocket.c +1 −1
  2798. drivers/tty/serial/8250.c +5 −3
  2799. drivers/tty/serial/8250_pci.c +5 −6
  2800. drivers/tty/serial/8250_pnp.c +3 −0
  2801. drivers/tty/serial/Kconfig +1 −1
  2802. drivers/tty/serial/atmel_serial.c +5 −3
  2803. drivers/tty/serial/crisv10.c +2 −2
  2804. drivers/tty/serial/dz.c +1 −1
  2805. drivers/tty/serial/imx.c +135 −26
  2806. drivers/tty/serial/max3107-aava.c +1 −1
  2807. drivers/tty/serial/max3107.c +1 −1
  2808. drivers/tty/serial/mrst_max3110.c +1 −1
  2809. drivers/tty/serial/omap-serial.c +1 −2
  2810. drivers/tty/serial/pch_uart.c +2 −1
  2811. drivers/tty/serial/samsung.c +6 −2
  2812. drivers/tty/serial/sb1250-duart.c +1 −1
  2813. drivers/tty/serial/serial_core.c +5 −0
  2814. drivers/tty/serial/sh-sci.c +524 −305
  2815. drivers/tty/serial/sh-sci.h +2 −432
  2816. drivers/tty/serial/ucc_uart.c +1 −1
  2817. drivers/tty/serial/zs.c +1 −1
  2818. drivers/tty/tty_io.c +1 −2
  2819. drivers/usb/class/usbtmc.c +1 −1
  2820. drivers/usb/core/config.c +6 −5
  2821. drivers/usb/core/hcd.c +2 −0
  2822. drivers/usb/gadget/Kconfig +1 −1
  2823. drivers/usb/gadget/at91_udc.c +1 −0
  2824. drivers/usb/gadget/composite.c +4 −2
  2825. drivers/usb/gadget/f_audio.c +1 −1
  2826. drivers/usb/gadget/f_hid.c +7 −0
  2827. drivers/usb/gadget/f_phonet.c +1 −0
  2828. drivers/usb/gadget/f_rndis.c +1 −1
  2829. drivers/usb/gadget/fusb300_udc.c +0 −101
  2830. drivers/usb/gadget/net2272.c +1 −1
  2831. drivers/usb/gadget/s3c2410_udc.c +1 −0
  2832. drivers/usb/gadget/uvc_queue.c +1 −1
  2833. drivers/usb/gadget/uvc_v4l2.c +3 −19
  2834. drivers/usb/host/ehci-hub.c +15 −4
  2835. drivers/usb/host/ehci-mxc.c +1 −0
  2836. drivers/usb/host/ehci-omap.c +16 −0
  2837. drivers/usb/host/ehci-s5p.c +1 −0
  2838. drivers/usb/host/isp1760-hcd.c +3 −0
  2839. drivers/usb/host/pci-quirks.c +2 −2
  2840. drivers/usb/host/xhci-hub.c +13 −4
  2841. drivers/usb/host/xhci-ring.c +63 −27
  2842. drivers/usb/host/xhci.c +38 −9
  2843. drivers/usb/image/microtek.c +1 −1
  2844. drivers/usb/misc/appledisplay.c +1 −1
  2845. drivers/usb/musb/Kconfig +0 −3
  2846. drivers/usb/musb/blackfin.c +1 −0
  2847. drivers/usb/musb/cppi_dma.c +17 −9
  2848. drivers/usb/musb/musb_core.h +8 −4
  2849. drivers/usb/musb/musb_gadget.c +8 −1
  2850. drivers/usb/musb/musb_regs.h +4 −2
  2851. drivers/usb/musb/tusb6010.c +1 −0
  2852. drivers/usb/musb/tusb6010_omap.c +2 −1
  2853. drivers/usb/musb/ux500_dma.c +21 −17
  2854. drivers/usb/renesas_usbhs/fifo.c +1 −0
  2855. drivers/usb/renesas_usbhs/mod_gadget.c +2 −1
  2856. drivers/usb/serial/ftdi_sio.c +25 −3
CREDITS+16−1
@@ -504,7 +504,7 @@ N: Dominik Brodowski · 503 unmodified lines
504504 E: linux@brodo.de
505505 W: http://www.brodo.de/
506506 P: 1024D/725B37C6 190F 3E77 9C89 3B6D BECD 46EE 67C3 0308 725B 37C6
507−D: parts of CPUFreq code, ACPI bugfixes
507+D: parts of CPUFreq code, ACPI bugfixes, PCMCIA rewrite, cpufrequtils
508508 S: Tuebingen, Germany
509509
510510 N: Andries Brouwer
@@ -857,6 +857,10 @@ S: One Dell Way · 346 unmodified lines
857857 S: Round Rock, TX 78682
858858 S: USA
859859
860+N: Mattia Dongili
861+E: malattia@gmail.com
862+D: cpufrequtils (precursor to cpupowerutils)
863+
860864 N: Ben Dooks
861865 E: ben-linux@fluff.org
862866 E: ben@simtec.co.uk
@@ -1883,6 +1887,11 @@ S: Kruislaan 419 · 1020 unmodified lines
18831887 S: 1098 VA Amsterdam
18841888 S: The Netherlands
18851889
1890+N: Goran Koruga
1891+E: korugag@siol.net
1892+D: cpufrequtils (precursor to cpupowerutils)
1893+S: Slovenia
1894+
18861895 N: Jiri Kosina
18871896 E: jikos@jikos.cz
18881897 E: jkosina@suse.cz
@@ -2916,6 +2925,12 @@ S: Schlossbergring 9 · 1027 unmodified lines
29162925 S: 79098 Freiburg
29172926 S: Germany
29182927
2928+N: Thomas Renninger
2929+E: trenn@suse.de
2930+D: cpupowerutils
2931+S: SUSE Linux GmbH
2932+S: Germany
2933+
29192934 N: Joerg Reuter
29202935 E: jreuter@yaina.de
29212936 W: http://yaina.de/jreuter/
Documentation/00-INDEX+2−0
@@ -272,6 +272,8 @@ printk-formats.txt · 271 unmodified lines
272272 - how to get printk format specifiers right
273273 prio_tree.txt
274274 - info on radix-priority-search-tree use for indexing vmas.
275+ramoops.txt
276+ - documentation of the ramoops oops/panic logging module.
275277 rbtree.txt
276278 - info on what red-black trees are and what they are for.
277279 robust-futex-ABI.txt
Documentation/ABI/testing/pstore+6−0
@@ -39,3 +39,9 @@ Description: Generic interface to platform dependent persistent storage. · 38 unmodified lines
3939 multiple) files based on the record size of the underlying
4040 persistent storage until at least this amount is reached.
4141 Default is 10 Kbytes.
42+
43+ Pstore only supports one backend at a time. If multiple
44+ backends are available, the preferred backend may be
45+ set by passing the pstore.backend= argument to the kernel at
46+ boot time.
47+
Documentation/ABI/testing/sysfs-class-scsi_host+13−0
@@ -0,0 +1,13 @@
1+What: /sys/class/scsi_host/hostX/isci_id
2+Date: June 2011
3+Contact: Dave Jiang <dave.jiang@intel.com>
4+Description:
5+ This file contains the enumerated host ID for the Intel
6+ SCU controller. The Intel(R) C600 Series Chipset SATA/SAS
7+ Storage Control Unit embeds up to two 4-port controllers in
8+ a single PCI device. The controllers are enumerated in order
9+ which usually means the lowest number scsi_host corresponds
10+ with the first controller, but this association is not
11+ guaranteed. The 'isci_id' attribute unambiguously identifies
12+ the controller index: '0' for the first controller,
13+ '1' for the second.
Documentation/ABI/testing/sysfs-platform-ideapad-laptop+17−0
@@ -4,3 +4,20 @@ KernelVersion: 2.6.37 · 3 unmodified lines
44 Contact: "Ike Panhc <ike.pan@canonical.com>"
55 Description:
66 Control the power of camera module. 1 means on, 0 means off.
7+
8+What: /sys/devices/platform/ideapad/cfg
9+Date: Jun 2011
10+KernelVersion: 3.1
11+Contact: "Ike Panhc <ike.pan@canonical.com>"
12+Description:
13+ Ideapad capability bits.
14+ Bit 8-10: 1 - Intel graphic only
15+ 2 - ATI graphic only
16+ 3 - Nvidia graphic only
17+ 4 - Intel and ATI graphic
18+ 5 - Intel and Nvidia graphic
19+ Bit 16: Bluetooth exist (1 for exist)
20+ Bit 17: 3G exist (1 for exist)
21+ Bit 18: Wifi exist (1 for exist)
22+ Bit 19: Camera exist (1 for exist)
23+
Documentation/CodingStyle+7−16
@@ -80,22 +80,13 @@ available tools. · 79 unmodified lines
8080 The limit on the length of lines is 80 columns and this is a strongly
8181 preferred limit.
8282
83−Statements longer than 80 columns will be broken into sensible chunks.
84−Descendants are always substantially shorter than the parent and are placed
85−substantially to the right. The same applies to function headers with a long
86−argument list. Long strings are as well broken into shorter strings. The
87−only exception to this is where exceeding 80 columns significantly increases
88−readability and does not hide information.
89−
90−void fun(int a, int b, int c)
91−{
92− if (condition)
93− printk(KERN_WARNING "Warning this is a long printk with "
94− "3 parameters a: %u b: %u "
95− "c: %u \n", a, b, c);
96− else
97− next_statement;
98−}
83+Statements longer than 80 columns will be broken into sensible chunks, unless
84+exceeding 80 columns significantly increases readability and does not hide
85+information. Descendants are always substantially shorter than the parent and
86+are placed substantially to the right. The same applies to function headers
87+with a long argument list. However, never break user-visible strings such as
88+printk messages, because that breaks the ability to grep for them.
89+
9990
10091 Chapter 3: Placing Braces and Spaces
10192
Documentation/DMA-API-HOWTO.txt+6−6
@@ -613,13 +613,13 @@ to use the dma_sync_*() interfaces. · 612 unmodified lines
613613 pass_to_upper_layers(cp->rx_buf);
614614 make_and_setup_new_rx_buf(cp);
615615 } else {
616− /* Just sync the buffer and give it back
617− * to the card.
616+ /* CPU should not write to
617+ * DMA_FROM_DEVICE-mapped area,
618+ * so dma_sync_single_for_device() is
619+ * not needed here. It would be required
620+ * for DMA_BIDIRECTIONAL mapping if
621+ * the memory was modified.
618622 */
619− dma_sync_single_for_device(&cp->dev,
620− cp->rx_dma,
621− cp->rx_len,
622− DMA_FROM_DEVICE);
623623 give_rx_buf_to_card(cp);
624624 }
625625 }
Documentation/DocBook/.gitignore+4−1
@@ -8,4 +8,7 @@ · 7 unmodified lines
88 *.dvi
99 *.log
1010 *.out
11−media/
11+*.png
12+*.gif
13+media-indices.tmpl
14+media-entities.tmpl
Documentation/DocBook/Makefile+10−21
@@ -14,7 +14,9 @@ DOCBOOKS := z8530book.xml mcabook.xml device-drivers.xml \ · 13 unmodified lines
1414 genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \
1515 80211.xml debugobjects.xml sh.xml regulator.xml \
1616 alsa-driver-api.xml writing-an-alsa-driver.xml \
17− tracepoint.xml media.xml drm.xml
17+ tracepoint.xml drm.xml media_api.xml
18+
19+include $(srctree)/Documentation/DocBook/media/Makefile
1820
1921 ###
2022 # The build process is as follows (targets):
@@ -32,7 +34,7 @@ PS_METHOD = $(prefer-db2x) · 11 unmodified lines
3234
3335 ###
3436 # The targets that may be used.
35−PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks
37+PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
3638
3739 BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
3840 xmldocs: $(BOOKS)
@@ -45,27 +47,14 @@ PDF := $(patsubst %.xml, %.pdf, $(BOOKS)) · 6 unmodified lines
4547 pdfdocs: $(PDF)
4648
4749 HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
48−htmldocs: $(HTML) xmldoclinks
50+htmldocs: $(HTML)
4951 $(call build_main_index)
5052 $(call build_images)
53+ $(call install_media_images)
5154
5255 MAN := $(patsubst %.xml, %.9, $(BOOKS))
5356 mandocs: $(MAN)
5457
55−build_images = mkdir -p $(objtree)/Documentation/DocBook/media/ && \
56− cp $(srctree)/Documentation/DocBook/dvb/*.png \
57− $(srctree)/Documentation/DocBook/v4l/*.gif \
58− $(objtree)/Documentation/DocBook/media/
59−
60−xmldoclinks:
61−ifneq ($(objtree),$(srctree))
62− for dep in dvb media-entities.tmpl media-indices.tmpl v4l; do \
63− rm -f $(objtree)/Documentation/DocBook/$$dep \
64− && ln -s $(srctree)/Documentation/DocBook/$$dep $(objtree)/Documentation/DocBook/ \
65− || exit; \
66− done
67−endif
68−
6958 installmandocs: mandocs
7059 mkdir -p /usr/local/man/man9/
7160 install Documentation/DocBook/man/*.9.gz /usr/local/man/man9/
@@ -97,11 +86,11 @@ define rule_docproc · 25 unmodified lines
9786 ) > $(dir $@).$(notdir $@).cmd
9887 endef
9988
100−%.xml: %.tmpl xmldoclinks FORCE
89+%.xml: %.tmpl FORCE
10190 $(call if_changed_rule,docproc)
10291
10392 ###
104−#Read in all saved dependency files
93+#Read in all saved dependency files
10594 cmd_files := $(wildcard $(foreach f,$(BOOKS),$(dir $(f)).$(notdir $(f)).cmd))
10695
10796 ifneq ($(cmd_files),)
@@ -150,7 +139,7 @@ quiet_cmd_db2pdf = PDF $@ · 42 unmodified lines
150139
151140 index = index.html
152141 main_idx = Documentation/DocBook/$(index)
153−build_main_index = rm -rf $(main_idx) && \
142+build_main_index = rm -rf $(main_idx); \
154143 echo '<h1>Linux Kernel HTML Documentation</h1>' >> $(main_idx) && \
155144 echo '<h2>Kernel Version: $(KERNELVERSION)</h2>' >> $(main_idx) && \
156145 cat $(HTML) >> $(main_idx)
@@ -242,7 +231,7 @@ clean-files := $(DOCBOOKS) \ · 85 unmodified lines
242231
243232 clean-dirs := $(patsubst %.xml,%,$(DOCBOOKS)) man
244233
245−cleandocs:
234+cleandocs: cleanmediadocs
246235 $(Q)rm -f $(call objectify, $(clean-files))
247236 $(Q)rm -rf $(call objectify, $(clean-dirs))
248237
Documentation/DocBook/dvb/dvbproperty.xml+0−590
@@ -1,590 +0,0 @@
1−<section id="FE_GET_SET_PROPERTY">
2−<title>FE_GET_PROPERTY/FE_SET_PROPERTY</title>
3−
4−<programlisting>
5−/* Reserved fields should be set to 0 */
6−struct dtv_property {
7− __u32 cmd;
8− union {
9− __u32 data;
10− struct {
11− __u8 data[32];
12− __u32 len;
13− __u32 reserved1[3];
14− void *reserved2;
15− } buffer;
16− } u;
17− int result;
18−} __attribute__ ((packed));
19−
20−/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
21−#define DTV_IOCTL_MAX_MSGS 64
22−
23−struct dtv_properties {
24− __u32 num;
25− struct dtv_property *props;
26−};
27−</programlisting>
28−
29−<section id="FE_GET_PROPERTY">
30−<title>FE_GET_PROPERTY</title>
31−<para>DESCRIPTION
32−</para>
33−<informaltable><tgroup cols="1"><tbody><row><entry
34− align="char">
35−<para>This ioctl call returns one or more frontend properties. This call only
36− requires read-only access to the device.</para>
37−</entry>
38− </row></tbody></tgroup></informaltable>
39−<para>SYNOPSIS
40−</para>
41−<informaltable><tgroup cols="1"><tbody><row><entry
42− align="char">
43−<para>int ioctl(int fd, int request = <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>,
44− dtv_properties &#x22C6;props);</para>
45−</entry>
46− </row></tbody></tgroup></informaltable>
47−<para>PARAMETERS
48−</para>
49−<informaltable><tgroup cols="2"><tbody><row><entry align="char">
50−<para>int fd</para>
51−</entry><entry
52− align="char">
53−<para>File descriptor returned by a previous call to open().</para>
54−</entry>
55− </row><row><entry
56− align="char">
57−<para>int num</para>
58−</entry><entry
59− align="char">
60−<para>Equals <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link> for this command.</para>
61−</entry>
62− </row><row><entry
63− align="char">
64−<para>struct dtv_property *props</para>
65−</entry><entry
66− align="char">
67−<para>Points to the location where the front-end property commands are stored.</para>
68−</entry>
69− </row></tbody></tgroup></informaltable>
70−<para>ERRORS</para>
71−<informaltable><tgroup cols="2"><tbody><row>
72− <entry align="char"><para>EINVAL</para></entry>
73− <entry align="char"><para>Invalid parameter(s) received or number of parameters out of the range.</para></entry>
74− </row><row>
75− <entry align="char"><para>ENOMEM</para></entry>
76− <entry align="char"><para>Out of memory.</para></entry>
77− </row><row>
78− <entry align="char"><para>EFAULT</para></entry>
79− <entry align="char"><para>Failure while copying data from/to userspace.</para></entry>
80− </row><row>
81− <entry align="char"><para>EOPNOTSUPP</para></entry>
82− <entry align="char"><para>Property type not supported.</para></entry>
83− </row></tbody></tgroup></informaltable>
84−</section>
85−
86−<section id="FE_SET_PROPERTY">
87−<title>FE_SET_PROPERTY</title>
88−<para>DESCRIPTION
89−</para>
90−<informaltable><tgroup cols="1"><tbody><row><entry
91− align="char">
92−<para>This ioctl call sets one or more frontend properties. This call only
93− requires read-only access to the device.</para>
94−</entry>
95− </row></tbody></tgroup></informaltable>
96−<para>SYNOPSIS
97−</para>
98−<informaltable><tgroup cols="1"><tbody><row><entry
99− align="char">
100−<para>int ioctl(int fd, int request = <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
101− dtv_properties &#x22C6;props);</para>
102−</entry>
103− </row></tbody></tgroup></informaltable>
104−<para>PARAMETERS
105−</para>
106−<informaltable><tgroup cols="2"><tbody><row><entry align="char">
107−<para>int fd</para>
108−</entry><entry
109− align="char">
110−<para>File descriptor returned by a previous call to open().</para>
111−</entry>
112− </row><row><entry
113− align="char">
114−<para>int num</para>
115−</entry><entry
116− align="char">
117−<para>Equals <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link> for this command.</para>
118−</entry>
119− </row><row><entry
120− align="char">
121−<para>struct dtv_property *props</para>
122−</entry><entry
123− align="char">
124−<para>Points to the location where the front-end property commands are stored.</para>
125−</entry>
126− </row></tbody></tgroup></informaltable>
127−<para>ERRORS
128−</para>
129−<informaltable><tgroup cols="2"><tbody><row>
130− <entry align="char"><para>EINVAL</para></entry>
131− <entry align="char"><para>Invalid parameter(s) received or number of parameters out of the range.</para></entry>
132− </row><row>
133− <entry align="char"><para>ENOMEM</para></entry>
134− <entry align="char"><para>Out of memory.</para></entry>
135− </row><row>
136− <entry align="char"><para>EFAULT</para></entry>
137− <entry align="char"><para>Failure while copying data from/to userspace.</para></entry>
138− </row><row>
139− <entry align="char"><para>EOPNOTSUPP</para></entry>
140− <entry align="char"><para>Property type not supported.</para></entry>
141− </row></tbody></tgroup></informaltable>
142−</section>
143−
144−<section>
145− <title>Property types</title>
146−<para>
147−On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
148−the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to
149−get/set up to 64 properties. The actual meaning of each property is described on the next sections.
150−</para>
151−
152−<para>The available frontend property types are:</para>
153−<programlisting>
154−#define DTV_UNDEFINED 0
155−#define DTV_TUNE 1
156−#define DTV_CLEAR 2
157−#define DTV_FREQUENCY 3
158−#define DTV_MODULATION 4
159−#define DTV_BANDWIDTH_HZ 5
160−#define DTV_INVERSION 6
161−#define DTV_DISEQC_MASTER 7
162−#define DTV_SYMBOL_RATE 8
163−#define DTV_INNER_FEC 9
164−#define DTV_VOLTAGE 10
165−#define DTV_TONE 11
166−#define DTV_PILOT 12
167−#define DTV_ROLLOFF 13
168−#define DTV_DISEQC_SLAVE_REPLY 14
169−#define DTV_FE_CAPABILITY_COUNT 15
170−#define DTV_FE_CAPABILITY 16
171−#define DTV_DELIVERY_SYSTEM 17
172−#define DTV_ISDBT_PARTIAL_RECEPTION 18
173−#define DTV_ISDBT_SOUND_BROADCASTING 19
174−#define DTV_ISDBT_SB_SUBCHANNEL_ID 20
175−#define DTV_ISDBT_SB_SEGMENT_IDX 21
176−#define DTV_ISDBT_SB_SEGMENT_COUNT 22
177−#define DTV_ISDBT_LAYERA_FEC 23
178−#define DTV_ISDBT_LAYERA_MODULATION 24
179−#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25
180−#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26
181−#define DTV_ISDBT_LAYERB_FEC 27
182−#define DTV_ISDBT_LAYERB_MODULATION 28
183−#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29
184−#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30
185−#define DTV_ISDBT_LAYERC_FEC 31
186−#define DTV_ISDBT_LAYERC_MODULATION 32
187−#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33
188−#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34
189−#define DTV_API_VERSION 35
190−#define DTV_CODE_RATE_HP 36
191−#define DTV_CODE_RATE_LP 37
192−#define DTV_GUARD_INTERVAL 38
193−#define DTV_TRANSMISSION_MODE 39
194−#define DTV_HIERARCHY 40
195−#define DTV_ISDBT_LAYER_ENABLED 41
196−#define DTV_ISDBS_TS_ID 42
197−</programlisting>
198−</section>
199−
200−<section id="fe_property_common">
201− <title>Parameters that are common to all Digital TV standards</title>
202− <section id="DTV_FREQUENCY">
203− <title><constant>DTV_FREQUENCY</constant></title>
204−
205− <para>Central frequency of the channel, in HZ.</para>
206−
207− <para>Notes:</para>
208− <para>1)For ISDB-T, the channels are usually transmitted with an offset of 143kHz.
209− E.g. a valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of
210− the channel which is 6MHz.</para>
211−
212− <para>2)As in ISDB-Tsb the channel consists of only one or three segments the
213− frequency step is 429kHz, 3*429 respectively. As for ISDB-T the
214− central frequency of the channel is expected.</para>
215− </section>
216−
217− <section id="DTV_BANDWIDTH_HZ">
218− <title><constant>DTV_BANDWIDTH_HZ</constant></title>
219−
220− <para>Bandwidth for the channel, in HZ.</para>
221−
222− <para>Possible values:
223− <constant>1712000</constant>,
224− <constant>5000000</constant>,
225− <constant>6000000</constant>,
226− <constant>7000000</constant>,
227− <constant>8000000</constant>,
228− <constant>10000000</constant>.
229− </para>
230−
231− <para>Notes:</para>
232−
233− <para>1) For ISDB-T it should be always 6000000Hz (6MHz)</para>
234− <para>2) For ISDB-Tsb it can vary depending on the number of connected segments</para>
235− <para>3) Bandwidth doesn't apply for DVB-C transmissions, as the bandwidth
236− for DVB-C depends on the symbol rate</para>
237− <para>4) Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from
238− other parameters (DTV_ISDBT_SB_SEGMENT_IDX,
239− DTV_ISDBT_SB_SEGMENT_COUNT).</para>
240− <para>5) DVB-T supports 6, 7 and 8MHz.</para>
241− <para>6) In addition, DVB-T2 supports 1.172, 5 and 10MHz.</para>
242− </section>
243−
244− <section id="DTV_DELIVERY_SYSTEM">
245− <title><constant>DTV_DELIVERY_SYSTEM</constant></title>
246−
247− <para>Specifies the type of Delivery system</para>
248−
249− <para>Possible values: </para>
250−<programlisting>
251−typedef enum fe_delivery_system {
252− SYS_UNDEFINED,
253− SYS_DVBC_ANNEX_AC,
254− SYS_DVBC_ANNEX_B,
255− SYS_DVBT,
256− SYS_DSS,
257− SYS_DVBS,
258− SYS_DVBS2,
259− SYS_DVBH,
260− SYS_ISDBT,
261− SYS_ISDBS,
262− SYS_ISDBC,
263− SYS_ATSC,
264− SYS_ATSCMH,
265− SYS_DMBTH,
266− SYS_CMMB,
267− SYS_DAB,
268− SYS_DVBT2,
269−} fe_delivery_system_t;
270−</programlisting>
271−
272− </section>
273−
274− <section id="DTV_TRANSMISSION_MODE">
275− <title><constant>DTV_TRANSMISSION_MODE</constant></title>
276−
277− <para>Specifies the number of carriers used by the standard</para>
278−
279− <para>Possible values are:</para>
280−<programlisting>
281−typedef enum fe_transmit_mode {
282− TRANSMISSION_MODE_2K,
283− TRANSMISSION_MODE_8K,
284− TRANSMISSION_MODE_AUTO,
285− TRANSMISSION_MODE_4K,
286− TRANSMISSION_MODE_1K,
287− TRANSMISSION_MODE_16K,
288− TRANSMISSION_MODE_32K,
289−} fe_transmit_mode_t;
290−</programlisting>
291−
292− <para>Notes:</para>
293− <para>1) ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
294− 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para>
295−
296− <para>2) If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the
297− hardware will try to find the correct FFT-size (if capable) and will
298− use TMCC to fill in the missing parameters.</para>
299− <para>3) DVB-T specifies 2K and 8K as valid sizes.</para>
300− <para>4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.</para>
301− </section>
302−
303− <section id="DTV_GUARD_INTERVAL">
304− <title><constant>DTV_GUARD_INTERVAL</constant></title>
305−
306− <para>Possible values are:</para>
307−<programlisting>
308−typedef enum fe_guard_interval {
309− GUARD_INTERVAL_1_32,
310− GUARD_INTERVAL_1_16,
311− GUARD_INTERVAL_1_8,
312− GUARD_INTERVAL_1_4,
313− GUARD_INTERVAL_AUTO,
314− GUARD_INTERVAL_1_128,
315− GUARD_INTERVAL_19_128,
316− GUARD_INTERVAL_19_256,
317−} fe_guard_interval_t;
318−</programlisting>
319−
320− <para>Notes:</para>
321− <para>1) If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will
322− try to find the correct guard interval (if capable) and will use TMCC to fill
323− in the missing parameters.</para>
324− <para>2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at present</para>
325− </section>
326−</section>
327−
328−<section id="isdbt">
329− <title>ISDB-T frontend</title>
330− <para>This section describes shortly what are the possible parameters in the Linux
331− DVB-API called "S2API" and now DVB API 5 in order to tune an ISDB-T/ISDB-Tsb
332− demodulator:</para>
333−
334− <para>This ISDB-T/ISDB-Tsb API extension should reflect all information
335− needed to tune any ISDB-T/ISDB-Tsb hardware. Of course it is possible
336− that some very sophisticated devices won't need certain parameters to
337− tune.</para>
338−
339− <para>The information given here should help application writers to know how
340− to handle ISDB-T and ISDB-Tsb hardware using the Linux DVB-API.</para>
341−
342− <para>The details given here about ISDB-T and ISDB-Tsb are just enough to
343− basically show the dependencies between the needed parameter values,
344− but surely some information is left out. For more detailed information
345− see the following documents:</para>
346−
347− <para>ARIB STD-B31 - "Transmission System for Digital Terrestrial
348− Television Broadcasting" and</para>
349− <para>ARIB TR-B14 - "Operational Guidelines for Digital Terrestrial
350− Television Broadcasting".</para>
351−
352− <para>In order to read this document one has to have some knowledge the
353− channel structure in ISDB-T and ISDB-Tsb. I.e. it has to be known to
354− the reader that an ISDB-T channel consists of 13 segments, that it can
355− have up to 3 layer sharing those segments, and things like that.</para>
356−
357− <para>Parameters used by ISDB-T and ISDB-Tsb.</para>
358−
359− <section id="isdbt-new-parms">
360− <title>ISDB-T only parameters</title>
361−
362− <section id="isdbt-part-rec">
363− <title><constant>DTV_ISDBT_PARTIAL_RECEPTION</constant></title>
364−
365− <para><constant>If DTV_ISDBT_SOUND_BROADCASTING</constant> is '0' this bit-field represents whether
366− the channel is in partial reception mode or not.</para>
367−
368− <para>If '1' <constant>DTV_ISDBT_LAYERA_*</constant> values are assigned to the center segment and
369− <constant>DTV_ISDBT_LAYERA_SEGMENT_COUNT</constant> has to be '1'.</para>
370−
371− <para>If in addition <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'
372− <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> represents whether this ISDB-Tsb channel
373− is consisting of one segment and layer or three segments and two layers.</para>
374−
375− <para>Possible values: 0, 1, -1 (AUTO)</para>
376− </section>
377−
378− <section id="isdbt-sound-bcast">
379− <title><constant>DTV_ISDBT_SOUND_BROADCASTING</constant></title>
380−
381− <para>This field represents whether the other DTV_ISDBT_*-parameters are
382− referring to an ISDB-T and an ISDB-Tsb channel. (See also
383− <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>).</para>
384−
385− <para>Possible values: 0, 1, -1 (AUTO)</para>
386− </section>
387−
388− <section id="isdbt-sb-ch-id">
389− <title><constant>DTV_ISDBT_SB_SUBCHANNEL_ID</constant></title>
390−
391− <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
392−
393− <para>(Note of the author: This might not be the correct description of the
394− <constant>SUBCHANNEL-ID</constant> in all details, but it is my understanding of the technical
395− background needed to program a device)</para>
396−
397− <para>An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
398− set of connected ISDB-Tsb channels. In this set of channels every
399− channel can be received independently. The number of connected
400− ISDB-Tsb segment can vary, e.g. depending on the frequency spectrum
401− bandwidth available.</para>
402−
403− <para>Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
404− broadcaster has several possibilities to put those channels in the
405− air: Assuming a normal 13-segment ISDB-T spectrum he can align the 8
406− segments from position 1-8 to 5-13 or anything in between.</para>
407−
408− <para>The underlying layer of segments are subchannels: each segment is
409− consisting of several subchannels with a predefined IDs. A sub-channel
410− is used to help the demodulator to synchronize on the channel.</para>
411−
412− <para>An ISDB-T channel is always centered over all sub-channels. As for
413− the example above, in ISDB-Tsb it is no longer as simple as that.</para>
414−
415− <para><constant>The DTV_ISDBT_SB_SUBCHANNEL_ID</constant> parameter is used to give the
416− sub-channel ID of the segment to be demodulated.</para>
417−
418− <para>Possible values: 0 .. 41, -1 (AUTO)</para>
419− </section>
420−
421− <section id="isdbt-sb-seg-idx">
422−
423− <title><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant></title>
424−
425− <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
426−
427− <para><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant> gives the index of the segment to be
428− demodulated for an ISDB-Tsb channel where several of them are
429− transmitted in the connected manner.</para>
430−
431− <para>Possible values: 0 .. <constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> - 1</para>
432−
433− <para>Note: This value cannot be determined by an automatic channel search.</para>
434− </section>
435−
436− <section id="isdbt-sb-seg-cnt">
437− <title><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant></title>
438−
439− <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
440−
441− <para><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> gives the total count of connected ISDB-Tsb
442− channels.</para>
443−
444− <para>Possible values: 1 .. 13</para>
445−
446− <para>Note: This value cannot be determined by an automatic channel search.</para>
447− </section>
448−
449− <section id="isdb-hierq-layers">
450− <title>Hierarchical layers</title>
451−
452− <para>ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
453− ISDB-T hierarchical layers can be decoded simultaneously. For that
454− reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders.</para>
455−
456− <para>ISDB-T has 3 hierarchical layers which each can use a part of the
457− available segments. The total number of segments over all layers has
458− to 13 in ISDB-T.</para>
459−
460− <section id="isdbt-layer-ena">
461− <title><constant>DTV_ISDBT_LAYER_ENABLED</constant></title>
462−
463− <para>Hierarchical reception in ISDB-T is achieved by enabling or disabling
464− layers in the decoding process. Setting all bits of
465− <constant>DTV_ISDBT_LAYER_ENABLED</constant> to '1' forces all layers (if applicable) to be
466− demodulated. This is the default.</para>
467−
468− <para>If the channel is in the partial reception mode
469− (<constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> = 1) the central segment can be decoded
470− independently of the other 12 segments. In that mode layer A has to
471− have a <constant>SEGMENT_COUNT</constant> of 1.</para>
472−
473− <para>In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb
474− according to <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>. <constant>SEGMENT_COUNT</constant> must be filled
475− accordingly.</para>
476−
477− <para>Possible values: 0x1, 0x2, 0x4 (|-able)</para>
478−
479− <para><constant>DTV_ISDBT_LAYER_ENABLED[0:0]</constant> - layer A</para>
480− <para><constant>DTV_ISDBT_LAYER_ENABLED[1:1]</constant> - layer B</para>
481− <para><constant>DTV_ISDBT_LAYER_ENABLED[2:2]</constant> - layer C</para>
482− <para><constant>DTV_ISDBT_LAYER_ENABLED[31:3]</constant> unused</para>
483− </section>
484−
485− <section id="isdbt-layer-fec">
486− <title><constant>DTV_ISDBT_LAYER*_FEC</constant></title>
487−
488− <para>Possible values: <constant>FEC_AUTO</constant>, <constant>FEC_1_2</constant>, <constant>FEC_2_3</constant>, <constant>FEC_3_4</constant>, <constant>FEC_5_6</constant>, <constant>FEC_7_8</constant></para>
489− </section>
490−
491− <section id="isdbt-layer-mod">
492− <title><constant>DTV_ISDBT_LAYER*_MODULATION</constant></title>
493−
494− <para>Possible values: <constant>QAM_AUTO</constant>, QP<constant>SK, QAM_16</constant>, <constant>QAM_64</constant>, <constant>DQPSK</constant></para>
495−
496− <para>Note: If layer C is <constant>DQPSK</constant> layer B has to be <constant>DQPSK</constant>. If layer B is <constant>DQPSK</constant>
497− and <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>=0 layer has to be <constant>DQPSK</constant>.</para>
498− </section>
499−
500− <section id="isdbt-layer-seg-cnt">
501− <title><constant>DTV_ISDBT_LAYER*_SEGMENT_COUNT</constant></title>
502−
503− <para>Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)</para>
504−
505− <para>Note: Truth table for <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> and
506− <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> and <constant>LAYER</constant>*_SEGMENT_COUNT</para>
507−
508− <informaltable id="isdbt-layer_seg-cnt-table">
509− <tgroup cols="6">
510−
511− <tbody>
512− <row>
513− <entry>PR</entry>
514− <entry>SB</entry>
515− <entry>Layer A width</entry>
516− <entry>Layer B width</entry>
517− <entry>Layer C width</entry>
518− <entry>total width</entry>
519− </row>
520−
521− <row>
522− <entry>0</entry>
523− <entry>0</entry>
524− <entry>1 .. 13</entry>
525− <entry>1 .. 13</entry>
526− <entry>1 .. 13</entry>
527− <entry>13</entry>
528− </row>
529−
530− <row>
531− <entry>1</entry>
532− <entry>0</entry>
533− <entry>1</entry>
534− <entry>1 .. 13</entry>
535− <entry>1 .. 13</entry>
536− <entry>13</entry>
537− </row>
538−
539− <row>
540− <entry>0</entry>
541− <entry>1</entry>
542− <entry>1</entry>
543− <entry>0</entry>
544− <entry>0</entry>
545− <entry>1</entry>
546− </row>
547−
548− <row>
549− <entry>1</entry>
550− <entry>1</entry>
551− <entry>1</entry>
552− <entry>2</entry>
553− <entry>0</entry>
554− <entry>13</entry>
555− </row>
556− </tbody>
557−
558− </tgroup>
559− </informaltable>
560−
561− </section>
562−
563− <section id="isdbt_layer_t_interl">
564− <title><constant>DTV_ISDBT_LAYER*_TIME_INTERLEAVING</constant></title>
565−
566− <para>Possible values: 0, 1, 2, 3, -1 (AUTO)</para>
567−
568− <para>Note: The real inter-leaver depth-names depend on the mode (fft-size); the values
569− here are referring to what can be found in the TMCC-structure -
570− independent of the mode.</para>
571− </section>
572− </section>
573− </section>
574− <section id="dvbt2-params">
575− <title>DVB-T2 parameters</title>
576−
577− <para>This section covers parameters that apply only to the DVB-T2 delivery method. DVB-T2
578− support is currently in the early stages development so expect this section to grow
579− and become more detailed with time.</para>
580−
581− <section id="dvbt2-plp-id">
582− <title><constant>DTV_DVBT2_PLP_ID</constant></title>
583−
584− <para>DVB-T2 supports Physical Layer Pipes (PLP) to allow transmission of
585− many data types via a single multiplex. The API will soon support this
586− at which point this section will be expanded.</para>
587− </section>
588− </section>
589−</section>
590−</section>
Documentation/DocBook/dvb/dvbstb.png+0−0

Binary file not shown.

Documentation/DocBook/dvb/frontend.h.xml+0−428
@@ -1,428 +0,0 @@
1−<programlisting>
2−/*
3− * frontend.h
4− *
5− * Copyright (C) 2000 Marcus Metzler &lt;marcus@convergence.de&gt;
6− * Ralph Metzler &lt;ralph@convergence.de&gt;
7− * Holger Waechtler &lt;holger@convergence.de&gt;
8− * Andre Draszik &lt;ad@convergence.de&gt;
9− * for convergence integrated media GmbH
10− *
11− * This program is free software; you can redistribute it and/or
12− * modify it under the terms of the GNU Lesser General Public License
13− * as published by the Free Software Foundation; either version 2.1
14− * of the License, or (at your option) any later version.
15− *
16− * This program is distributed in the hope that it will be useful,
17− * but WITHOUT ANY WARRANTY; without even the implied warranty of
18− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19− * GNU General Public License for more details.
20− *
21− * You should have received a copy of the GNU Lesser General Public License
22− * along with this program; if not, write to the Free Software
23− * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24− *
25− */
26−
27−#ifndef _DVBFRONTEND_H_
28−#define _DVBFRONTEND_H_
29−
30−#include &lt;linux/types.h&gt;
31−
32−typedef enum fe_type {
33− FE_QPSK,
34− FE_QAM,
35− FE_OFDM,
36− FE_ATSC
37−} fe_type_t;
38−
39−
40−typedef enum fe_caps {
41− FE_IS_STUPID = 0,
42− FE_CAN_INVERSION_AUTO = 0x1,
43− FE_CAN_FEC_1_2 = 0x2,
44− FE_CAN_FEC_2_3 = 0x4,
45− FE_CAN_FEC_3_4 = 0x8,
46− FE_CAN_FEC_4_5 = 0x10,
47− FE_CAN_FEC_5_6 = 0x20,
48− FE_CAN_FEC_6_7 = 0x40,
49− FE_CAN_FEC_7_8 = 0x80,
50− FE_CAN_FEC_8_9 = 0x100,
51− FE_CAN_FEC_AUTO = 0x200,
52− FE_CAN_QPSK = 0x400,
53− FE_CAN_QAM_16 = 0x800,
54− FE_CAN_QAM_32 = 0x1000,
55− FE_CAN_QAM_64 = 0x2000,
56− FE_CAN_QAM_128 = 0x4000,
57− FE_CAN_QAM_256 = 0x8000,
58− FE_CAN_QAM_AUTO = 0x10000,
59− FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000,
60− FE_CAN_BANDWIDTH_AUTO = 0x40000,
61− FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
62− FE_CAN_HIERARCHY_AUTO = 0x100000,
63− FE_CAN_8VSB = 0x200000,
64− FE_CAN_16VSB = 0x400000,
65− FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */
66− FE_CAN_TURBO_FEC = 0x8000000, /* frontend supports "turbo fec modulation" */
67− FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
68− FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
69− FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */
70− FE_CAN_MUTE_TS = 0x80000000 /* frontend can stop spurious TS data output */
71−} fe_caps_t;
72−
73−
74−struct dvb_frontend_info {
75− char name[128];
76− fe_type_t type;
77− __u32 frequency_min;
78− __u32 frequency_max;
79− __u32 frequency_stepsize;
80− __u32 frequency_tolerance;
81− __u32 symbol_rate_min;
82− __u32 symbol_rate_max;
83− __u32 symbol_rate_tolerance; /* ppm */
84− __u32 notifier_delay; /* DEPRECATED */
85− fe_caps_t caps;
86−};
87−
88−
89−/**
90− * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for
91− * the meaning of this struct...
92− */
93−struct dvb_diseqc_master_cmd {
94− __u8 msg [6]; /* { framing, address, command, data [3] } */
95− __u8 msg_len; /* valid values are 3...6 */
96−};
97−
98−
99−struct dvb_diseqc_slave_reply {
100− __u8 msg [4]; /* { framing, data [3] } */
101− __u8 msg_len; /* valid values are 0...4, 0 means no msg */
102− int timeout; /* return from ioctl after timeout ms with */
103−}; /* errorcode when no message was received */
104−
105−
106−typedef enum fe_sec_voltage {
107− SEC_VOLTAGE_13,
108− SEC_VOLTAGE_18,
109− SEC_VOLTAGE_OFF
110−} fe_sec_voltage_t;
111−
112−
113−typedef enum fe_sec_tone_mode {
114− SEC_TONE_ON,
115− SEC_TONE_OFF
116−} fe_sec_tone_mode_t;
117−
118−
119−typedef enum fe_sec_mini_cmd {
120− SEC_MINI_A,
121− SEC_MINI_B
122−} fe_sec_mini_cmd_t;
123−
124−
125−typedef enum fe_status {
126− FE_HAS_SIGNAL = 0x01, /* found something above the noise level */
127− FE_HAS_CARRIER = 0x02, /* found a DVB signal */
128− FE_HAS_VITERBI = 0x04, /* FEC is stable */
129− FE_HAS_SYNC = 0x08, /* found sync bytes */
130− FE_HAS_LOCK = 0x10, /* everything's working... */
131− FE_TIMEDOUT = 0x20, /* no lock within the last ~2 seconds */
132− FE_REINIT = 0x40 /* frontend was reinitialized, */
133−} fe_status_t; /* application is recommended to reset */
134− /* DiSEqC, tone and parameters */
135−
136−typedef enum fe_spectral_inversion {
137− INVERSION_OFF,
138− INVERSION_ON,
139− INVERSION_AUTO
140−} fe_spectral_inversion_t;
141−
142−
143−typedef enum fe_code_rate {
144− FEC_NONE = 0,
145− FEC_1_2,
146− FEC_2_3,
147− FEC_3_4,
148− FEC_4_5,
149− FEC_5_6,
150− FEC_6_7,
151− FEC_7_8,
152− FEC_8_9,
153− FEC_AUTO,
154− FEC_3_5,
155− FEC_9_10,
156−} fe_code_rate_t;
157−
158−
159−typedef enum fe_modulation {
160− QPSK,
161− QAM_16,
162− QAM_32,
163− QAM_64,
164− QAM_128,
165− QAM_256,
166− QAM_AUTO,
167− VSB_8,
168− VSB_16,
169− PSK_8,
170− APSK_16,
171− APSK_32,
172− DQPSK,
173−} fe_modulation_t;
174−
175−typedef enum fe_transmit_mode {
176− TRANSMISSION_MODE_2K,
177− TRANSMISSION_MODE_8K,
178− TRANSMISSION_MODE_AUTO,
179− TRANSMISSION_MODE_4K,
180− TRANSMISSION_MODE_1K,
181− TRANSMISSION_MODE_16K,
182− TRANSMISSION_MODE_32K,
183−} fe_transmit_mode_t;
184−
185−typedef enum fe_bandwidth {
186− BANDWIDTH_8_MHZ,
187− BANDWIDTH_7_MHZ,
188− BANDWIDTH_6_MHZ,
189− BANDWIDTH_AUTO,
190− BANDWIDTH_5_MHZ,
191− BANDWIDTH_10_MHZ,
192− BANDWIDTH_1_712_MHZ,
193−} fe_bandwidth_t;
194−
195−
196−typedef enum fe_guard_interval {
197− GUARD_INTERVAL_1_32,
198− GUARD_INTERVAL_1_16,
199− GUARD_INTERVAL_1_8,
200− GUARD_INTERVAL_1_4,
201− GUARD_INTERVAL_AUTO,
202− GUARD_INTERVAL_1_128,
203− GUARD_INTERVAL_19_128,
204− GUARD_INTERVAL_19_256,
205−} fe_guard_interval_t;
206−
207−
208−typedef enum fe_hierarchy {
209− HIERARCHY_NONE,
210− HIERARCHY_1,
211− HIERARCHY_2,
212− HIERARCHY_4,
213− HIERARCHY_AUTO
214−} fe_hierarchy_t;
215−
216−
217−struct dvb_qpsk_parameters {
218− __u32 symbol_rate; /* symbol rate in Symbols per second */
219− fe_code_rate_t fec_inner; /* forward error correction (see above) */
220−};
221−
222−struct dvb_qam_parameters {
223− __u32 symbol_rate; /* symbol rate in Symbols per second */
224− fe_code_rate_t fec_inner; /* forward error correction (see above) */
225− fe_modulation_t modulation; /* modulation type (see above) */
226−};
227−
228−struct dvb_vsb_parameters {
229− fe_modulation_t modulation; /* modulation type (see above) */
230−};
231−
232−struct dvb_ofdm_parameters {
233− fe_bandwidth_t bandwidth;
234− fe_code_rate_t code_rate_HP; /* high priority stream code rate */
235− fe_code_rate_t code_rate_LP; /* low priority stream code rate */
236− fe_modulation_t constellation; /* modulation type (see above) */
237− fe_transmit_mode_t transmission_mode;
238− fe_guard_interval_t guard_interval;
239− fe_hierarchy_t hierarchy_information;
240−};
241−
242−
243−struct dvb_frontend_parameters {
244− __u32 frequency; /* (absolute) frequency in Hz for QAM/OFDM/ATSC */
245− /* intermediate frequency in kHz for QPSK */
246− fe_spectral_inversion_t inversion;
247− union {
248− struct dvb_qpsk_parameters qpsk;
249− struct dvb_qam_parameters qam;
250− struct dvb_ofdm_parameters ofdm;
251− struct dvb_vsb_parameters vsb;
252− } u;
253−};
254−
255−
256−struct dvb_frontend_event {
257− fe_status_t status;
258− struct dvb_frontend_parameters parameters;
259−};
260−
261−/* S2API Commands */
262−#define DTV_UNDEFINED 0
263−#define DTV_TUNE 1
264−#define DTV_CLEAR 2
265−#define DTV_FREQUENCY 3
266−#define DTV_MODULATION 4
267−#define DTV_BANDWIDTH_HZ 5
268−#define DTV_INVERSION 6
269−#define DTV_DISEQC_MASTER 7
270−#define DTV_SYMBOL_RATE 8
271−#define DTV_INNER_FEC 9
272−#define DTV_VOLTAGE 10
273−#define DTV_TONE 11
274−#define DTV_PILOT 12
275−#define DTV_ROLLOFF 13
276−#define DTV_DISEQC_SLAVE_REPLY 14
277−
278−/* Basic enumeration set for querying unlimited capabilities */
279−#define DTV_FE_CAPABILITY_COUNT 15
280−#define DTV_FE_CAPABILITY 16
281−#define DTV_DELIVERY_SYSTEM 17
282−
283−/* ISDB-T and ISDB-Tsb */
284−#define DTV_ISDBT_PARTIAL_RECEPTION 18
285−#define DTV_ISDBT_SOUND_BROADCASTING 19
286−
287−#define DTV_ISDBT_SB_SUBCHANNEL_ID 20
288−#define DTV_ISDBT_SB_SEGMENT_IDX 21
289−#define DTV_ISDBT_SB_SEGMENT_COUNT 22
290−
291−#define DTV_ISDBT_LAYERA_FEC 23
292−#define DTV_ISDBT_LAYERA_MODULATION 24
293−#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25
294−#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26
295−
296−#define DTV_ISDBT_LAYERB_FEC 27
297−#define DTV_ISDBT_LAYERB_MODULATION 28
298−#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29
299−#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30
300−
301−#define DTV_ISDBT_LAYERC_FEC 31
302−#define DTV_ISDBT_LAYERC_MODULATION 32
303−#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33
304−#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34
305−
306−#define DTV_API_VERSION 35
307−
308−#define DTV_CODE_RATE_HP 36
309−#define DTV_CODE_RATE_LP 37
310−#define DTV_GUARD_INTERVAL 38
311−#define DTV_TRANSMISSION_MODE 39
312−#define DTV_HIERARCHY 40
313−
314−#define DTV_ISDBT_LAYER_ENABLED 41
315−
316−#define DTV_ISDBS_TS_ID 42
317−
318−#define DTV_DVBT2_PLP_ID 43
319−
320−#define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID
321−
322−typedef enum fe_pilot {
323− PILOT_ON,
324− PILOT_OFF,
325− PILOT_AUTO,
326−} fe_pilot_t;
327−
328−typedef enum fe_rolloff {
329− ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */
330− ROLLOFF_20,
331− ROLLOFF_25,
332− ROLLOFF_AUTO,
333−} fe_rolloff_t;
334−
335−typedef enum fe_delivery_system {
336− SYS_UNDEFINED,
337− SYS_DVBC_ANNEX_AC,
338− SYS_DVBC_ANNEX_B,
339− SYS_DVBT,
340− SYS_DSS,
341− SYS_DVBS,
342− SYS_DVBS2,
343− SYS_DVBH,
344− SYS_ISDBT,
345− SYS_ISDBS,
346− SYS_ISDBC,
347− SYS_ATSC,
348− SYS_ATSCMH,
349− SYS_DMBTH,
350− SYS_CMMB,
351− SYS_DAB,
352− SYS_DVBT2,
353−} fe_delivery_system_t;
354−
355−struct dtv_cmds_h {
356− char *name; /* A display name for debugging purposes */
357−
358− __u32 cmd; /* A unique ID */
359−
360− /* Flags */
361− __u32 set:1; /* Either a set or get property */
362− __u32 buffer:1; /* Does this property use the buffer? */
363− __u32 reserved:30; /* Align */
364−};
365−
366−struct dtv_property {
367− __u32 cmd;
368− __u32 reserved[3];
369− union {
370− __u32 data;
371− struct {
372− __u8 data[32];
373− __u32 len;
374− __u32 reserved1[3];
375− void *reserved2;
376− } buffer;
377− } u;
378− int result;
379−} __attribute__ ((packed));
380−
381−/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
382−#define DTV_IOCTL_MAX_MSGS 64
383−
384−struct dtv_properties {
385− __u32 num;
386− struct dtv_property *props;
387−};
388−
389−#define <link linkend="FE_GET_PROPERTY">FE_SET_PROPERTY</link> _IOW('o', 82, struct dtv_properties)
390−#define <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link> _IOR('o', 83, struct dtv_properties)
391−
392−
393−/**
394− * When set, this flag will disable any zigzagging or other "normal" tuning
395− * behaviour. Additionally, there will be no automatic monitoring of the lock
396− * status, and hence no frontend events will be generated. If a frontend device
397− * is closed, this flag will be automatically turned off when the device is
398− * reopened read-write.
399− */
400−#define FE_TUNE_MODE_ONESHOT 0x01
401−
402−
403−#define <link linkend="FE_GET_INFO">FE_GET_INFO</link> _IOR('o', 61, struct dvb_frontend_info)
404−
405−#define <link linkend="FE_DISEQC_RESET_OVERLOAD">FE_DISEQC_RESET_OVERLOAD</link> _IO('o', 62)
406−#define <link linkend="FE_DISEQC_SEND_MASTER_CMD">FE_DISEQC_SEND_MASTER_CMD</link> _IOW('o', 63, struct dvb_diseqc_master_cmd)
407−#define <link linkend="FE_DISEQC_RECV_SLAVE_REPLY">FE_DISEQC_RECV_SLAVE_REPLY</link> _IOR('o', 64, struct dvb_diseqc_slave_reply)
408−#define <link linkend="FE_DISEQC_SEND_BURST">FE_DISEQC_SEND_BURST</link> _IO('o', 65) /* fe_sec_mini_cmd_t */
409−
410−#define <link linkend="FE_SET_TONE">FE_SET_TONE</link> _IO('o', 66) /* fe_sec_tone_mode_t */
411−#define <link linkend="FE_SET_VOLTAGE">FE_SET_VOLTAGE</link> _IO('o', 67) /* fe_sec_voltage_t */
412−#define <link linkend="FE_ENABLE_HIGH_LNB_VOLTAGE">FE_ENABLE_HIGH_LNB_VOLTAGE</link> _IO('o', 68) /* int */
413−
414−#define <link linkend="FE_READ_STATUS">FE_READ_STATUS</link> _IOR('o', 69, fe_status_t)
415−#define <link linkend="FE_READ_BER">FE_READ_BER</link> _IOR('o', 70, __u32)
416−#define <link linkend="FE_READ_SIGNAL_STRENGTH">FE_READ_SIGNAL_STRENGTH</link> _IOR('o', 71, __u16)
417−#define <link linkend="FE_READ_SNR">FE_READ_SNR</link> _IOR('o', 72, __u16)
418−#define <link linkend="FE_READ_UNCORRECTED_BLOCKS">FE_READ_UNCORRECTED_BLOCKS</link> _IOR('o', 73, __u32)
419−
420−#define <link linkend="FE_SET_FRONTEND">FE_SET_FRONTEND</link> _IOW('o', 76, struct dvb_frontend_parameters)
421−#define <link linkend="FE_GET_FRONTEND">FE_GET_FRONTEND</link> _IOR('o', 77, struct dvb_frontend_parameters)
422−#define <link linkend="FE_SET_FRONTEND_TUNE_MODE">FE_SET_FRONTEND_TUNE_MODE</link> _IO('o', 81) /* unsigned int */
423−#define <link linkend="FE_GET_EVENT">FE_GET_EVENT</link> _IOR('o', 78, struct dvb_frontend_event)
424−
425−#define <link linkend="FE_DISHNETWORK_SEND_LEGACY_CMD">FE_DISHNETWORK_SEND_LEGACY_CMD</link> _IO('o', 80) /* unsigned int */
426−
427−#endif /*_DVBFRONTEND_H_*/
428−</programlisting>
Documentation/DocBook/media-entities.tmpl+0−464
@@ -1,464 +0,0 @@
1−<!-- Generated file! Do not edit. -->
2−
3−<!-- Functions -->
4−<!ENTITY func-close "<link linkend='func-close'><function>close()</function></link>">
5−<!ENTITY func-ioctl "<link linkend='func-ioctl'><function>ioctl()</function></link>">
6−<!ENTITY func-mmap "<link linkend='func-mmap'><function>mmap()</function></link>">
7−<!ENTITY func-munmap "<link linkend='func-munmap'><function>munmap()</function></link>">
8−<!ENTITY func-open "<link linkend='func-open'><function>open()</function></link>">
9−<!ENTITY func-poll "<link linkend='func-poll'><function>poll()</function></link>">
10−<!ENTITY func-read "<link linkend='func-read'><function>read()</function></link>">
11−<!ENTITY func-select "<link linkend='func-select'><function>select()</function></link>">
12−<!ENTITY func-write "<link linkend='func-write'><function>write()</function></link>">
13−
14−<!ENTITY media-func-close "<link linkend='media-func-close'><function>close()</function></link>">
15−<!ENTITY media-func-ioctl "<link linkend='media-func-ioctl'><function>ioctl()</function></link>">
16−<!ENTITY media-func-open "<link linkend='media-func-open'><function>open()</function></link>">
17−
18−<!-- Ioctls -->
19−<!ENTITY VIDIOC-CROPCAP "<link linkend='vidioc-cropcap'><constant>VIDIOC_CROPCAP</constant></link>">
20−<!ENTITY VIDIOC-DBG-G-CHIP-IDENT "<link linkend='vidioc-dbg-g-chip-ident'><constant>VIDIOC_DBG_G_CHIP_IDENT</constant></link>">
21−<!ENTITY VIDIOC-DBG-G-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_G_REGISTER</constant></link>">
22−<!ENTITY VIDIOC-DBG-S-REGISTER "<link linkend='vidioc-dbg-g-register'><constant>VIDIOC_DBG_S_REGISTER</constant></link>">
23−<!ENTITY VIDIOC-DQBUF "<link linkend='vidioc-qbuf'><constant>VIDIOC_DQBUF</constant></link>">
24−<!ENTITY VIDIOC-DQEVENT "<link linkend='vidioc-dqevent'><constant>VIDIOC_DQEVENT</constant></link>">
25−<!ENTITY VIDIOC-ENCODER-CMD "<link linkend='vidioc-encoder-cmd'><constant>VIDIOC_ENCODER_CMD</constant></link>">
26−<!ENTITY VIDIOC-ENUMAUDIO "<link linkend='vidioc-enumaudio'><constant>VIDIOC_ENUMAUDIO</constant></link>">
27−<!ENTITY VIDIOC-ENUMAUDOUT "<link linkend='vidioc-enumaudioout'><constant>VIDIOC_ENUMAUDOUT</constant></link>">
28−<!ENTITY VIDIOC-ENUMINPUT "<link linkend='vidioc-enuminput'><constant>VIDIOC_ENUMINPUT</constant></link>">
29−<!ENTITY VIDIOC-ENUMOUTPUT "<link linkend='vidioc-enumoutput'><constant>VIDIOC_ENUMOUTPUT</constant></link>">
30−<!ENTITY VIDIOC-ENUMSTD "<link linkend='vidioc-enumstd'><constant>VIDIOC_ENUMSTD</constant></link>">
31−<!ENTITY VIDIOC-ENUM-DV-PRESETS "<link linkend='vidioc-enum-dv-presets'><constant>VIDIOC_ENUM_DV_PRESETS</constant></link>">
32−<!ENTITY VIDIOC-ENUM-FMT "<link linkend='vidioc-enum-fmt'><constant>VIDIOC_ENUM_FMT</constant></link>">
33−<!ENTITY VIDIOC-ENUM-FRAMEINTERVALS "<link linkend='vidioc-enum-frameintervals'><constant>VIDIOC_ENUM_FRAMEINTERVALS</constant></link>">
34−<!ENTITY VIDIOC-ENUM-FRAMESIZES "<link linkend='vidioc-enum-framesizes'><constant>VIDIOC_ENUM_FRAMESIZES</constant></link>">
35−<!ENTITY VIDIOC-G-AUDIO "<link linkend='vidioc-g-audio'><constant>VIDIOC_G_AUDIO</constant></link>">
36−<!ENTITY VIDIOC-G-AUDOUT "<link linkend='vidioc-g-audioout'><constant>VIDIOC_G_AUDOUT</constant></link>">
37−<!ENTITY VIDIOC-G-CROP "<link linkend='vidioc-g-crop'><constant>VIDIOC_G_CROP</constant></link>">
38−<!ENTITY VIDIOC-G-CTRL "<link linkend='vidioc-g-ctrl'><constant>VIDIOC_G_CTRL</constant></link>">
39−<!ENTITY VIDIOC-G-DV-PRESET "<link linkend='vidioc-g-dv-preset'><constant>VIDIOC_G_DV_PRESET</constant></link>">
40−<!ENTITY VIDIOC-G-DV-TIMINGS "<link linkend='vidioc-g-dv-timings'><constant>VIDIOC_G_DV_TIMINGS</constant></link>">
41−<!ENTITY VIDIOC-G-ENC-INDEX "<link linkend='vidioc-g-enc-index'><constant>VIDIOC_G_ENC_INDEX</constant></link>">
42−<!ENTITY VIDIOC-G-EXT-CTRLS "<link linkend='vidioc-g-ext-ctrls'><constant>VIDIOC_G_EXT_CTRLS</constant></link>">
43−<!ENTITY VIDIOC-G-FBUF "<link linkend='vidioc-g-fbuf'><constant>VIDIOC_G_FBUF</constant></link>">
44−<!ENTITY VIDIOC-G-FMT "<link linkend='vidioc-g-fmt'><constant>VIDIOC_G_FMT</constant></link>">
45−<!ENTITY VIDIOC-G-FREQUENCY "<link linkend='vidioc-g-frequency'><constant>VIDIOC_G_FREQUENCY</constant></link>">
46−<!ENTITY VIDIOC-G-INPUT "<link linkend='vidioc-g-input'><constant>VIDIOC_G_INPUT</constant></link>">
47−<!ENTITY VIDIOC-G-JPEGCOMP "<link linkend='vidioc-g-jpegcomp'><constant>VIDIOC_G_JPEGCOMP</constant></link>">
48−<!ENTITY VIDIOC-G-MPEGCOMP "<link linkend=''><constant>VIDIOC_G_MPEGCOMP</constant></link>">
49−<!ENTITY VIDIOC-G-MODULATOR "<link linkend='vidioc-g-modulator'><constant>VIDIOC_G_MODULATOR</constant></link>">
50−<!ENTITY VIDIOC-G-OUTPUT "<link linkend='vidioc-g-output'><constant>VIDIOC_G_OUTPUT</constant></link>">
51−<!ENTITY VIDIOC-G-PARM "<link linkend='vidioc-g-parm'><constant>VIDIOC_G_PARM</constant></link>">
52−<!ENTITY VIDIOC-G-PRIORITY "<link linkend='vidioc-g-priority'><constant>VIDIOC_G_PRIORITY</constant></link>">
53−<!ENTITY VIDIOC-G-SLICED-VBI-CAP "<link linkend='vidioc-g-sliced-vbi-cap'><constant>VIDIOC_G_SLICED_VBI_CAP</constant></link>">
54−<!ENTITY VIDIOC-G-STD "<link linkend='vidioc-g-std'><constant>VIDIOC_G_STD</constant></link>">
55−<!ENTITY VIDIOC-G-TUNER "<link linkend='vidioc-g-tuner'><constant>VIDIOC_G_TUNER</constant></link>">
56−<!ENTITY VIDIOC-LOG-STATUS "<link linkend='vidioc-log-status'><constant>VIDIOC_LOG_STATUS</constant></link>">
57−<!ENTITY VIDIOC-OVERLAY "<link linkend='vidioc-overlay'><constant>VIDIOC_OVERLAY</constant></link>">
58−<!ENTITY VIDIOC-QBUF "<link linkend='vidioc-qbuf'><constant>VIDIOC_QBUF</constant></link>">
59−<!ENTITY VIDIOC-QUERYBUF "<link linkend='vidioc-querybuf'><constant>VIDIOC_QUERYBUF</constant></link>">
60−<!ENTITY VIDIOC-QUERYCAP "<link linkend='vidioc-querycap'><constant>VIDIOC_QUERYCAP</constant></link>">
61−<!ENTITY VIDIOC-QUERYCTRL "<link linkend='vidioc-queryctrl'><constant>VIDIOC_QUERYCTRL</constant></link>">
62−<!ENTITY VIDIOC-QUERYMENU "<link linkend='vidioc-queryctrl'><constant>VIDIOC_QUERYMENU</constant></link>">
63−<!ENTITY VIDIOC-QUERYSTD "<link linkend='vidioc-querystd'><constant>VIDIOC_QUERYSTD</constant></link>">
64−<!ENTITY VIDIOC-QUERY-DV-PRESET "<link linkend='vidioc-query-dv-preset'><constant>VIDIOC_QUERY_DV_PRESET</constant></link>">
65−<!ENTITY VIDIOC-REQBUFS "<link linkend='vidioc-reqbufs'><constant>VIDIOC_REQBUFS</constant></link>">
66−<!ENTITY VIDIOC-STREAMOFF "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMOFF</constant></link>">
67−<!ENTITY VIDIOC-STREAMON "<link linkend='vidioc-streamon'><constant>VIDIOC_STREAMON</constant></link>">
68−<!ENTITY VIDIOC-SUBSCRIBE-EVENT "<link linkend='vidioc-subscribe-event'><constant>VIDIOC_SUBSCRIBE_EVENT</constant></link>">
69−<!ENTITY VIDIOC-S-AUDIO "<link linkend='vidioc-g-audio'><constant>VIDIOC_S_AUDIO</constant></link>">
70−<!ENTITY VIDIOC-S-AUDOUT "<link linkend='vidioc-g-audioout'><constant>VIDIOC_S_AUDOUT</constant></link>">
71−<!ENTITY VIDIOC-S-CROP "<link linkend='vidioc-g-crop'><constant>VIDIOC_S_CROP</constant></link>">
72−<!ENTITY VIDIOC-S-CTRL "<link linkend='vidioc-g-ctrl'><constant>VIDIOC_S_CTRL</constant></link>">
73−<!ENTITY VIDIOC-S-DV-PRESET "<link linkend='vidioc-g-dv-preset'><constant>VIDIOC_S_DV_PRESET</constant></link>">
74−<!ENTITY VIDIOC-S-DV-TIMINGS "<link linkend='vidioc-g-dv-timings'><constant>VIDIOC_S_DV_TIMINGS</constant></link>">
75−<!ENTITY VIDIOC-S-EXT-CTRLS "<link linkend='vidioc-g-ext-ctrls'><constant>VIDIOC_S_EXT_CTRLS</constant></link>">
76−<!ENTITY VIDIOC-S-FBUF "<link linkend='vidioc-g-fbuf'><constant>VIDIOC_S_FBUF</constant></link>">
77−<!ENTITY VIDIOC-S-FMT "<link linkend='vidioc-g-fmt'><constant>VIDIOC_S_FMT</constant></link>">
78−<!ENTITY VIDIOC-S-FREQUENCY "<link linkend='vidioc-g-frequency'><constant>VIDIOC_S_FREQUENCY</constant></link>">
79−<!ENTITY VIDIOC-S-HW-FREQ-SEEK "<link linkend='vidioc-s-hw-freq-seek'><constant>VIDIOC_S_HW_FREQ_SEEK</constant></link>">
80−<!ENTITY VIDIOC-S-INPUT "<link linkend='vidioc-g-input'><constant>VIDIOC_S_INPUT</constant></link>">
81−<!ENTITY VIDIOC-S-JPEGCOMP "<link linkend='vidioc-g-jpegcomp'><constant>VIDIOC_S_JPEGCOMP</constant></link>">
82−<!ENTITY VIDIOC-S-MPEGCOMP "<link linkend=''><constant>VIDIOC_S_MPEGCOMP</constant></link>">
83−<!ENTITY VIDIOC-S-MODULATOR "<link linkend='vidioc-g-modulator'><constant>VIDIOC_S_MODULATOR</constant></link>">
84−<!ENTITY VIDIOC-S-OUTPUT "<link linkend='vidioc-g-output'><constant>VIDIOC_S_OUTPUT</constant></link>">
85−<!ENTITY VIDIOC-S-PARM "<link linkend='vidioc-g-parm'><constant>VIDIOC_S_PARM</constant></link>">
86−<!ENTITY VIDIOC-S-PRIORITY "<link linkend='vidioc-g-priority'><constant>VIDIOC_S_PRIORITY</constant></link>">
87−<!ENTITY VIDIOC-S-STD "<link linkend='vidioc-g-std'><constant>VIDIOC_S_STD</constant></link>">
88−<!ENTITY VIDIOC-S-TUNER "<link linkend='vidioc-g-tuner'><constant>VIDIOC_S_TUNER</constant></link>">
89−<!ENTITY VIDIOC-SUBDEV-ENUM-FRAME-SIZE "<link linkend='vidioc-subdev-enum-frame-size'><constant>VIDIOC_SUBDEV_ENUM_FRAME_SIZE</constant></link>">
90−<!ENTITY VIDIOC-SUBDEV-ENUM-MBUS-CODE "<link linkend='vidioc-subdev-enum-mbus-code'><constant>VIDIOC_SUBDEV_ENUM_MBUS_CODE</constant></link>">
91−<!ENTITY VIDIOC-SUBDEV-G-CROP "<link linkend='vidioc-subdev-g-crop'><constant>VIDIOC_SUBDEV_G_CROP</constant></link>">
92−<!ENTITY VIDIOC-SUBDEV-G-FMT "<link linkend='vidioc-subdev-g-fmt'><constant>VIDIOC_SUBDEV_G_FMT</constant></link>">
93−<!ENTITY VIDIOC-SUBDEV-G-FRAME-INTERVAL "<link linkend='vidioc-subdev-g-frame-interval'><constant>VIDIOC_SUBDEV_G_FRAME_INTERVAL</constant></link>">
94−<!ENTITY VIDIOC-SUBDEV-S-CROP "<link linkend='vidioc-subdev-g-crop'><constant>VIDIOC_SUBDEV_S_CROP</constant></link>">
95−<!ENTITY VIDIOC-SUBDEV-S-FMT "<link linkend='vidioc-subdev-g-fmt'><constant>VIDIOC_SUBDEV_S_FMT</constant></link>">
96−<!ENTITY VIDIOC-SUBDEV-S-FRAME-INTERVAL "<link linkend='vidioc-subdev-g-frame-interval'><constant>VIDIOC_SUBDEV_S_FRAME_INTERVAL</constant></link>">
97−<!ENTITY VIDIOC-TRY-ENCODER-CMD "<link linkend='vidioc-encoder-cmd'><constant>VIDIOC_TRY_ENCODER_CMD</constant></link>">
98−<!ENTITY VIDIOC-TRY-EXT-CTRLS "<link linkend='vidioc-g-ext-ctrls'><constant>VIDIOC_TRY_EXT_CTRLS</constant></link>">
99−<!ENTITY VIDIOC-TRY-FMT "<link linkend='vidioc-g-fmt'><constant>VIDIOC_TRY_FMT</constant></link>">
100−<!ENTITY VIDIOC-UNSUBSCRIBE-EVENT "<link linkend='vidioc-subscribe-event'><constant>VIDIOC_UNSUBSCRIBE_EVENT</constant></link>">
101−
102−<!ENTITY MEDIA-IOC-DEVICE-INFO "<link linkend='media-ioc-device-info'><constant>MEDIA_IOC_DEVICE_INFO</constant></link>">
103−<!ENTITY MEDIA-IOC-ENUM-ENTITIES "<link linkend='media-ioc-enum-entities'><constant>MEDIA_IOC_ENUM_ENTITIES</constant></link>">
104−<!ENTITY MEDIA-IOC-ENUM-LINKS "<link linkend='media-ioc-enum-links'><constant>MEDIA_IOC_ENUM_LINKS</constant></link>">
105−<!ENTITY MEDIA-IOC-SETUP-LINK "<link linkend='media-ioc-setup-link'><constant>MEDIA_IOC_SETUP_LINK</constant></link>">
106−
107−<!-- Types -->
108−<!ENTITY v4l2-std-id "<link linkend='v4l2-std-id'>v4l2_std_id</link>">
109−
110−<!-- Enums -->
111−<!ENTITY v4l2-buf-type "enum&nbsp;<link linkend='v4l2-buf-type'>v4l2_buf_type</link>">
112−<!ENTITY v4l2-colorspace "enum&nbsp;<link linkend='v4l2-colorspace'>v4l2_colorspace</link>">
113−<!ENTITY v4l2-ctrl-type "enum&nbsp;<link linkend='v4l2-ctrl-type'>v4l2_ctrl_type</link>">
114−<!ENTITY v4l2-exposure-auto-type "enum&nbsp;<link linkend='v4l2-exposure-auto-type'>v4l2_exposure_auto_type</link>">
115−<!ENTITY v4l2-field "enum&nbsp;<link linkend='v4l2-field'>v4l2_field</link>">
116−<!ENTITY v4l2-frmivaltypes "enum&nbsp;<link linkend='v4l2-frmivaltypes'>v4l2_frmivaltypes</link>">
117−<!ENTITY v4l2-frmsizetypes "enum&nbsp;<link linkend='v4l2-frmsizetypes'>v4l2_frmsizetypes</link>">
118−<!ENTITY v4l2-mbus-pixelcode "enum&nbsp;<link linkend='v4l2-mbus-pixelcode'>v4l2_mbus_pixelcode</link>">
119−<!ENTITY v4l2-memory "enum&nbsp;<link linkend='v4l2-memory'>v4l2_memory</link>">
120−<!ENTITY v4l2-mpeg-audio-ac3-bitrate "enum&nbsp;<link linkend='v4l2-mpeg-audio-ac3-bitrate'>v4l2_mpeg_audio_ac3_bitrate</link>">
121−<!ENTITY v4l2-mpeg-audio-crc "enum&nbsp;<link linkend='v4l2-mpeg-audio-crc'>v4l2_mpeg_audio_crc</link>">
122−<!ENTITY v4l2-mpeg-audio-emphasis "enum&nbsp;<link linkend='v4l2-mpeg-audio-emphasis'>v4l2_mpeg_audio_emphasis</link>">
123−<!ENTITY v4l2-mpeg-audio-encoding "enum&nbsp;<link linkend='v4l2-mpeg-audio-encoding'>v4l2_mpeg_audio_encoding</link>">
124−<!ENTITY v4l2-mpeg-audio-l1-bitrate "enum&nbsp;<link linkend='v4l2-mpeg-audio-l1-bitrate'>v4l2_mpeg_audio_l1_bitrate</link>">
125−<!ENTITY v4l2-mpeg-audio-l2-bitrate "enum&nbsp;<link linkend='v4l2-mpeg-audio-l2-bitrate'>v4l2_mpeg_audio_l2_bitrate</link>">
126−<!ENTITY v4l2-mpeg-audio-l3-bitrate "enum&nbsp;<link linkend='v4l2-mpeg-audio-l3-bitrate'>v4l2_mpeg_audio_l3_bitrate</link>">
127−<!ENTITY v4l2-mpeg-audio-mode "enum&nbsp;<link linkend='v4l2-mpeg-audio-mode'>v4l2_mpeg_audio_mode</link>">
128−<!ENTITY v4l2-mpeg-audio-mode-extension "enum&nbsp;<link linkend='v4l2-mpeg-audio-mode-extension'>v4l2_mpeg_audio_mode_extension</link>">
129−<!ENTITY v4l2-mpeg-audio-sampling-freq "enum&nbsp;<link linkend='v4l2-mpeg-audio-sampling-freq'>v4l2_mpeg_audio_sampling_freq</link>">
130−<!ENTITY chroma-spatial-filter-type "enum&nbsp;<link linkend='chroma-spatial-filter-type'>v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</link>">
131−<!ENTITY luma-spatial-filter-type "enum&nbsp;<link linkend='luma-spatial-filter-type'>v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</link>">
132−<!ENTITY v4l2-mpeg-cx2341x-video-median-filter-type "enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-median-filter-type'>v4l2_mpeg_cx2341x_video_median_filter_type</link>">
133−<!ENTITY v4l2-mpeg-cx2341x-video-spatial-filter-mode "enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-spatial-filter-mode'>v4l2_mpeg_cx2341x_video_spatial_filter_mode</link>">
134−<!ENTITY v4l2-mpeg-cx2341x-video-temporal-filter-mode "enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-temporal-filter-mode'>v4l2_mpeg_cx2341x_video_temporal_filter_mode</link>">
135−<!ENTITY v4l2-mpeg-stream-type "enum&nbsp;<link linkend='v4l2-mpeg-stream-type'>v4l2_mpeg_stream_type</link>">
136−<!ENTITY v4l2-mpeg-stream-vbi-fmt "enum&nbsp;<link linkend='v4l2-mpeg-stream-vbi-fmt'>v4l2_mpeg_stream_vbi_fmt</link>">
137−<!ENTITY v4l2-mpeg-video-aspect "enum&nbsp;<link linkend='v4l2-mpeg-video-aspect'>v4l2_mpeg_video_aspect</link>">
138−<!ENTITY v4l2-mpeg-video-bitrate-mode "enum&nbsp;<link linkend='v4l2-mpeg-video-bitrate-mode'>v4l2_mpeg_video_bitrate_mode</link>">
139−<!ENTITY v4l2-mpeg-video-encoding "enum&nbsp;<link linkend='v4l2-mpeg-video-encoding'>v4l2_mpeg_video_encoding</link>">
140−<!ENTITY v4l2-power-line-frequency "enum&nbsp;<link linkend='v4l2-power-line-frequency'>v4l2_power_line_frequency</link>">
141−<!ENTITY v4l2-priority "enum&nbsp;<link linkend='v4l2-priority'>v4l2_priority</link>">
142−<!ENTITY v4l2-subdev-format-whence "enum&nbsp;<link linkend='v4l2-subdev-format-whence'>v4l2_subdev_format_whence</link>">
143−<!ENTITY v4l2-tuner-type "enum&nbsp;<link linkend='v4l2-tuner-type'>v4l2_tuner_type</link>">
144−<!ENTITY v4l2-preemphasis "enum&nbsp;<link linkend='v4l2-preemphasis'>v4l2_preemphasis</link>">
145−
146−<!-- Structures -->
147−<!ENTITY v4l2-audio "struct&nbsp;<link linkend='v4l2-audio'>v4l2_audio</link>">
148−<!ENTITY v4l2-audioout "struct&nbsp;<link linkend='v4l2-audioout'>v4l2_audioout</link>">
149−<!ENTITY v4l2-bt-timings "struct&nbsp;<link linkend='v4l2-bt-timings'>v4l2_bt_timings</link>">
150−<!ENTITY v4l2-buffer "struct&nbsp;<link linkend='v4l2-buffer'>v4l2_buffer</link>">
151−<!ENTITY v4l2-plane "struct&nbsp;<link linkend='v4l2-plane'>v4l2_plane</link>">
152−<!ENTITY v4l2-capability "struct&nbsp;<link linkend='v4l2-capability'>v4l2_capability</link>">
153−<!ENTITY v4l2-captureparm "struct&nbsp;<link linkend='v4l2-captureparm'>v4l2_captureparm</link>">
154−<!ENTITY v4l2-clip "struct&nbsp;<link linkend='v4l2-clip'>v4l2_clip</link>">
155−<!ENTITY v4l2-control "struct&nbsp;<link linkend='v4l2-control'>v4l2_control</link>">
156−<!ENTITY v4l2-crop "struct&nbsp;<link linkend='v4l2-crop'>v4l2_crop</link>">
157−<!ENTITY v4l2-cropcap "struct&nbsp;<link linkend='v4l2-cropcap'>v4l2_cropcap</link>">
158−<!ENTITY v4l2-dbg-chip-ident "struct&nbsp;<link linkend='v4l2-dbg-chip-ident'>v4l2_dbg_chip_ident</link>">
159−<!ENTITY v4l2-dbg-match "struct&nbsp;<link linkend='v4l2-dbg-match'>v4l2_dbg_match</link>">
160−<!ENTITY v4l2-dbg-register "struct&nbsp;<link linkend='v4l2-dbg-register'>v4l2_dbg_register</link>">
161−<!ENTITY v4l2-dv-enum-preset "struct&nbsp;<link linkend='v4l2-dv-enum-preset'>v4l2_dv_enum_preset</link>">
162−<!ENTITY v4l2-dv-preset "struct&nbsp;<link linkend='v4l2-dv-preset'>v4l2_dv_preset</link>">
163−<!ENTITY v4l2-dv-timings "struct&nbsp;<link linkend='v4l2-dv-timings'>v4l2_dv_timings</link>">
164−<!ENTITY v4l2-enc-idx "struct&nbsp;<link linkend='v4l2-enc-idx'>v4l2_enc_idx</link>">
165−<!ENTITY v4l2-enc-idx-entry "struct&nbsp;<link linkend='v4l2-enc-idx-entry'>v4l2_enc_idx_entry</link>">
166−<!ENTITY v4l2-encoder-cmd "struct&nbsp;<link linkend='v4l2-encoder-cmd'>v4l2_encoder_cmd</link>">
167−<!ENTITY v4l2-event "struct&nbsp;<link linkend='v4l2-event'>v4l2_event</link>">
168−<!ENTITY v4l2-event-subscription "struct&nbsp;<link linkend='v4l2-event-subscription'>v4l2_event_subscription</link>">
169−<!ENTITY v4l2-event-vsync "struct&nbsp;<link linkend='v4l2-event-vsync'>v4l2_event_vsync</link>">
170−<!ENTITY v4l2-ext-control "struct&nbsp;<link linkend='v4l2-ext-control'>v4l2_ext_control</link>">
171−<!ENTITY v4l2-ext-controls "struct&nbsp;<link linkend='v4l2-ext-controls'>v4l2_ext_controls</link>">
172−<!ENTITY v4l2-fmtdesc "struct&nbsp;<link linkend='v4l2-fmtdesc'>v4l2_fmtdesc</link>">
173−<!ENTITY v4l2-format "struct&nbsp;<link linkend='v4l2-format'>v4l2_format</link>">
174−<!ENTITY v4l2-fract "struct&nbsp;<link linkend='v4l2-fract'>v4l2_fract</link>">
175−<!ENTITY v4l2-framebuffer "struct&nbsp;<link linkend='v4l2-framebuffer'>v4l2_framebuffer</link>">
176−<!ENTITY v4l2-frequency "struct&nbsp;<link linkend='v4l2-frequency'>v4l2_frequency</link>">
177−<!ENTITY v4l2-frmival-stepwise "struct&nbsp;<link linkend='v4l2-frmival-stepwise'>v4l2_frmival_stepwise</link>">
178−<!ENTITY v4l2-frmivalenum "struct&nbsp;<link linkend='v4l2-frmivalenum'>v4l2_frmivalenum</link>">
179−<!ENTITY v4l2-frmsize-discrete "struct&nbsp;<link linkend='v4l2-frmsize-discrete'>v4l2_frmsize_discrete</link>">
180−<!ENTITY v4l2-frmsize-stepwise "struct&nbsp;<link linkend='v4l2-frmsize-stepwise'>v4l2_frmsize_stepwise</link>">
181−<!ENTITY v4l2-frmsizeenum "struct&nbsp;<link linkend='v4l2-frmsizeenum'>v4l2_frmsizeenum</link>">
182−<!ENTITY v4l2-hw-freq-seek "struct&nbsp;<link linkend='v4l2-hw-freq-seek'>v4l2_hw_freq_seek</link>">
183−<!ENTITY v4l2-input "struct&nbsp;<link linkend='v4l2-input'>v4l2_input</link>">
184−<!ENTITY v4l2-jpegcompression "struct&nbsp;<link linkend='v4l2-jpegcompression'>v4l2_jpegcompression</link>">
185−<!ENTITY v4l2-mbus-framefmt "struct&nbsp;<link linkend='v4l2-mbus-framefmt'>v4l2_mbus_framefmt</link>">
186−<!ENTITY v4l2-modulator "struct&nbsp;<link linkend='v4l2-modulator'>v4l2_modulator</link>">
187−<!ENTITY v4l2-mpeg-vbi-fmt-ivtv "struct&nbsp;<link linkend='v4l2-mpeg-vbi-fmt-ivtv'>v4l2_mpeg_vbi_fmt_ivtv</link>">
188−<!ENTITY v4l2-output "struct&nbsp;<link linkend='v4l2-output'>v4l2_output</link>">
189−<!ENTITY v4l2-outputparm "struct&nbsp;<link linkend='v4l2-outputparm'>v4l2_outputparm</link>">
190−<!ENTITY v4l2-pix-format "struct&nbsp;<link linkend='v4l2-pix-format'>v4l2_pix_format</link>">
191−<!ENTITY v4l2-pix-format-mplane "struct&nbsp;<link linkend='v4l2-pix-format-mplane'>v4l2_pix_format_mplane</link>">
192−<!ENTITY v4l2-plane-pix-format "struct&nbsp;<link linkend='v4l2-plane-pix-format'>v4l2_plane_pix_format</link>">
193−<!ENTITY v4l2-queryctrl "struct&nbsp;<link linkend='v4l2-queryctrl'>v4l2_queryctrl</link>">
194−<!ENTITY v4l2-querymenu "struct&nbsp;<link linkend='v4l2-querymenu'>v4l2_querymenu</link>">
195−<!ENTITY v4l2-rect "struct&nbsp;<link linkend='v4l2-rect'>v4l2_rect</link>">
196−<!ENTITY v4l2-requestbuffers "struct&nbsp;<link linkend='v4l2-requestbuffers'>v4l2_requestbuffers</link>">
197−<!ENTITY v4l2-sliced-vbi-cap "struct&nbsp;<link linkend='v4l2-sliced-vbi-cap'>v4l2_sliced_vbi_cap</link>">
198−<!ENTITY v4l2-sliced-vbi-data "struct&nbsp;<link linkend='v4l2-sliced-vbi-data'>v4l2_sliced_vbi_data</link>">
199−<!ENTITY v4l2-sliced-vbi-format "struct&nbsp;<link linkend='v4l2-sliced-vbi-format'>v4l2_sliced_vbi_format</link>">
200−<!ENTITY v4l2-subdev-frame-interval "struct&nbsp;<link linkend='v4l2-subdev-frame-interval'>v4l2_subdev_frame_interval</link>">
201−<!ENTITY v4l2-subdev-frame-interval-enum "struct&nbsp;<link linkend='v4l2-subdev-frame-interval-enum'>v4l2_subdev_frame_interval_enum</link>">
202−<!ENTITY v4l2-subdev-frame-size-enum "struct&nbsp;<link linkend='v4l2-subdev-frame-size-enum'>v4l2_subdev_frame_size_enum</link>">
203−<!ENTITY v4l2-subdev-crop "struct&nbsp;<link linkend='v4l2-subdev-crop'>v4l2_subdev_crop</link>">
204−<!ENTITY v4l2-subdev-format "struct&nbsp;<link linkend='v4l2-subdev-format'>v4l2_subdev_format</link>">
205−<!ENTITY v4l2-subdev-mbus-code-enum "struct&nbsp;<link linkend='v4l2-subdev-mbus-code-enum'>v4l2_subdev_mbus_code_enum</link>">
206−<!ENTITY v4l2-standard "struct&nbsp;<link linkend='v4l2-standard'>v4l2_standard</link>">
207−<!ENTITY v4l2-streamparm "struct&nbsp;<link linkend='v4l2-streamparm'>v4l2_streamparm</link>">
208−<!ENTITY v4l2-timecode "struct&nbsp;<link linkend='v4l2-timecode'>v4l2_timecode</link>">
209−<!ENTITY v4l2-tuner "struct&nbsp;<link linkend='v4l2-tuner'>v4l2_tuner</link>">
210−<!ENTITY v4l2-vbi-format "struct&nbsp;<link linkend='v4l2-vbi-format'>v4l2_vbi_format</link>">
211−<!ENTITY v4l2-window "struct&nbsp;<link linkend='v4l2-window'>v4l2_window</link>">
212−
213−<!ENTITY media-device-info "struct&nbsp;<link linkend='media-device-info'>media_device_info</link>">
214−<!ENTITY media-entity-desc "struct&nbsp;<link linkend='media-entity-desc'>media_entity_desc</link>">
215−<!ENTITY media-links-enum "struct&nbsp;<link linkend='media-links-enum'>media_links_enum</link>">
216−<!ENTITY media-pad-desc "struct&nbsp;<link linkend='media-pad-desc'>media_pad_desc</link>">
217−<!ENTITY media-link-desc "struct&nbsp;<link linkend='media-link-desc'>media_link_desc</link>">
218−
219−<!-- Error Codes -->
220−<!ENTITY EACCES "<errorcode>EACCES</errorcode> error code">
221−<!ENTITY EAGAIN "<errorcode>EAGAIN</errorcode> error code">
222−<!ENTITY EBADF "<errorcode>EBADF</errorcode> error code">
223−<!ENTITY EBUSY "<errorcode>EBUSY</errorcode> error code">
224−<!ENTITY EFAULT "<errorcode>EFAULT</errorcode> error code">
225−<!ENTITY EIO "<errorcode>EIO</errorcode> error code">
226−<!ENTITY EINTR "<errorcode>EINTR</errorcode> error code">
227−<!ENTITY EINVAL "<errorcode>EINVAL</errorcode> error code">
228−<!ENTITY ENFILE "<errorcode>ENFILE</errorcode> error code">
229−<!ENTITY ENOMEM "<errorcode>ENOMEM</errorcode> error code">
230−<!ENTITY ENOSPC "<errorcode>ENOSPC</errorcode> error code">
231−<!ENTITY ENOTTY "<errorcode>ENOTTY</errorcode> error code">
232−<!ENTITY ENXIO "<errorcode>ENXIO</errorcode> error code">
233−<!ENTITY EMFILE "<errorcode>EMFILE</errorcode> error code">
234−<!ENTITY EPERM "<errorcode>EPERM</errorcode> error code">
235−<!ENTITY EPIPE "<errorcode>EPIPE</errorcode> error code">
236−<!ENTITY ERANGE "<errorcode>ERANGE</errorcode> error code">
237−
238−<!-- Subsections -->
239−<!ENTITY sub-biblio SYSTEM "v4l/biblio.xml">
240−<!ENTITY sub-common SYSTEM "v4l/common.xml">
241−<!ENTITY sub-planar-apis SYSTEM "v4l/planar-apis.xml">
242−<!ENTITY sub-compat SYSTEM "v4l/compat.xml">
243−<!ENTITY sub-controls SYSTEM "v4l/controls.xml">
244−<!ENTITY sub-dev-capture SYSTEM "v4l/dev-capture.xml">
245−<!ENTITY sub-dev-codec SYSTEM "v4l/dev-codec.xml">
246−<!ENTITY sub-dev-event SYSTEM "v4l/dev-event.xml">
247−<!ENTITY sub-dev-effect SYSTEM "v4l/dev-effect.xml">
248−<!ENTITY sub-dev-osd SYSTEM "v4l/dev-osd.xml">
249−<!ENTITY sub-dev-output SYSTEM "v4l/dev-output.xml">
250−<!ENTITY sub-dev-overlay SYSTEM "v4l/dev-overlay.xml">
251−<!ENTITY sub-dev-radio SYSTEM "v4l/dev-radio.xml">
252−<!ENTITY sub-dev-raw-vbi SYSTEM "v4l/dev-raw-vbi.xml">
253−<!ENTITY sub-dev-rds SYSTEM "v4l/dev-rds.xml">
254−<!ENTITY sub-dev-sliced-vbi SYSTEM "v4l/dev-sliced-vbi.xml">
255−<!ENTITY sub-dev-subdev SYSTEM "v4l/dev-subdev.xml">
256−<!ENTITY sub-dev-teletext SYSTEM "v4l/dev-teletext.xml">
257−<!ENTITY sub-driver SYSTEM "v4l/driver.xml">
258−<!ENTITY sub-libv4l SYSTEM "v4l/libv4l.xml">
259−<!ENTITY sub-lirc_device_interface SYSTEM "v4l/lirc_device_interface.xml">
260−<!ENTITY sub-remote_controllers SYSTEM "v4l/remote_controllers.xml">
261−<!ENTITY sub-fdl-appendix SYSTEM "v4l/fdl-appendix.xml">
262−<!ENTITY sub-close SYSTEM "v4l/func-close.xml">
263−<!ENTITY sub-ioctl SYSTEM "v4l/func-ioctl.xml">
264−<!ENTITY sub-mmap SYSTEM "v4l/func-mmap.xml">
265−<!ENTITY sub-munmap SYSTEM "v4l/func-munmap.xml">
266−<!ENTITY sub-open SYSTEM "v4l/func-open.xml">
267−<!ENTITY sub-poll SYSTEM "v4l/func-poll.xml">
268−<!ENTITY sub-read SYSTEM "v4l/func-read.xml">
269−<!ENTITY sub-select SYSTEM "v4l/func-select.xml">
270−<!ENTITY sub-write SYSTEM "v4l/func-write.xml">
271−<!ENTITY sub-io SYSTEM "v4l/io.xml">
272−<!ENTITY sub-grey SYSTEM "v4l/pixfmt-grey.xml">
273−<!ENTITY sub-m420 SYSTEM "v4l/pixfmt-m420.xml">
274−<!ENTITY sub-nv12 SYSTEM "v4l/pixfmt-nv12.xml">
275−<!ENTITY sub-nv12m SYSTEM "v4l/pixfmt-nv12m.xml">
276−<!ENTITY sub-nv12mt SYSTEM "v4l/pixfmt-nv12mt.xml">
277−<!ENTITY sub-nv16 SYSTEM "v4l/pixfmt-nv16.xml">
278−<!ENTITY sub-packed-rgb SYSTEM "v4l/pixfmt-packed-rgb.xml">
279−<!ENTITY sub-packed-yuv SYSTEM "v4l/pixfmt-packed-yuv.xml">
280−<!ENTITY sub-sbggr16 SYSTEM "v4l/pixfmt-sbggr16.xml">
281−<!ENTITY sub-sbggr8 SYSTEM "v4l/pixfmt-sbggr8.xml">
282−<!ENTITY sub-sgbrg8 SYSTEM "v4l/pixfmt-sgbrg8.xml">
283−<!ENTITY sub-sgrbg8 SYSTEM "v4l/pixfmt-sgrbg8.xml">
284−<!ENTITY sub-uyvy SYSTEM "v4l/pixfmt-uyvy.xml">
285−<!ENTITY sub-vyuy SYSTEM "v4l/pixfmt-vyuy.xml">
286−<!ENTITY sub-y16 SYSTEM "v4l/pixfmt-y16.xml">
287−<!ENTITY sub-y41p SYSTEM "v4l/pixfmt-y41p.xml">
288−<!ENTITY sub-yuv410 SYSTEM "v4l/pixfmt-yuv410.xml">
289−<!ENTITY sub-yuv411p SYSTEM "v4l/pixfmt-yuv411p.xml">
290−<!ENTITY sub-yuv420 SYSTEM "v4l/pixfmt-yuv420.xml">
291−<!ENTITY sub-yuv420m SYSTEM "v4l/pixfmt-yuv420m.xml">
292−<!ENTITY sub-yuv422p SYSTEM "v4l/pixfmt-yuv422p.xml">
293−<!ENTITY sub-yuyv SYSTEM "v4l/pixfmt-yuyv.xml">
294−<!ENTITY sub-yvyu SYSTEM "v4l/pixfmt-yvyu.xml">
295−<!ENTITY sub-srggb10 SYSTEM "v4l/pixfmt-srggb10.xml">
296−<!ENTITY sub-srggb12 SYSTEM "v4l/pixfmt-srggb12.xml">
297−<!ENTITY sub-srggb8 SYSTEM "v4l/pixfmt-srggb8.xml">
298−<!ENTITY sub-y10 SYSTEM "v4l/pixfmt-y10.xml">
299−<!ENTITY sub-y12 SYSTEM "v4l/pixfmt-y12.xml">
300−<!ENTITY sub-y10b SYSTEM "v4l/pixfmt-y10b.xml">
301−<!ENTITY sub-pixfmt SYSTEM "v4l/pixfmt.xml">
302−<!ENTITY sub-cropcap SYSTEM "v4l/vidioc-cropcap.xml">
303−<!ENTITY sub-dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml">
304−<!ENTITY sub-encoder-cmd SYSTEM "v4l/vidioc-encoder-cmd.xml">
305−<!ENTITY sub-enum-fmt SYSTEM "v4l/vidioc-enum-fmt.xml">
306−<!ENTITY sub-enum-frameintervals SYSTEM "v4l/vidioc-enum-frameintervals.xml">
307−<!ENTITY sub-enum-framesizes SYSTEM "v4l/vidioc-enum-framesizes.xml">
308−<!ENTITY sub-enumaudio SYSTEM "v4l/vidioc-enumaudio.xml">
309−<!ENTITY sub-enumaudioout SYSTEM "v4l/vidioc-enumaudioout.xml">
310−<!ENTITY sub-enuminput SYSTEM "v4l/vidioc-enuminput.xml">
311−<!ENTITY sub-enumoutput SYSTEM "v4l/vidioc-enumoutput.xml">
312−<!ENTITY sub-enum-dv-presets SYSTEM "v4l/vidioc-enum-dv-presets.xml">
313−<!ENTITY sub-g-dv-preset SYSTEM "v4l/vidioc-g-dv-preset.xml">
314−<!ENTITY sub-query-dv-preset SYSTEM "v4l/vidioc-query-dv-preset.xml">
315−<!ENTITY sub-g-dv-timings SYSTEM "v4l/vidioc-g-dv-timings.xml">
316−<!ENTITY sub-enumstd SYSTEM "v4l/vidioc-enumstd.xml">
317−<!ENTITY sub-g-audio SYSTEM "v4l/vidioc-g-audio.xml">
318−<!ENTITY sub-g-audioout SYSTEM "v4l/vidioc-g-audioout.xml">
319−<!ENTITY sub-dbg-g-chip-ident SYSTEM "v4l/vidioc-dbg-g-chip-ident.xml">
320−<!ENTITY sub-g-crop SYSTEM "v4l/vidioc-g-crop.xml">
321−<!ENTITY sub-g-ctrl SYSTEM "v4l/vidioc-g-ctrl.xml">
322−<!ENTITY sub-g-enc-index SYSTEM "v4l/vidioc-g-enc-index.xml">
323−<!ENTITY sub-g-ext-ctrls SYSTEM "v4l/vidioc-g-ext-ctrls.xml">
324−<!ENTITY sub-g-fbuf SYSTEM "v4l/vidioc-g-fbuf.xml">
325−<!ENTITY sub-g-fmt SYSTEM "v4l/vidioc-g-fmt.xml">
326−<!ENTITY sub-g-frequency SYSTEM "v4l/vidioc-g-frequency.xml">
327−<!ENTITY sub-g-input SYSTEM "v4l/vidioc-g-input.xml">
328−<!ENTITY sub-g-jpegcomp SYSTEM "v4l/vidioc-g-jpegcomp.xml">
329−<!ENTITY sub-g-modulator SYSTEM "v4l/vidioc-g-modulator.xml">
330−<!ENTITY sub-g-output SYSTEM "v4l/vidioc-g-output.xml">
331−<!ENTITY sub-g-parm SYSTEM "v4l/vidioc-g-parm.xml">
332−<!ENTITY sub-g-priority SYSTEM "v4l/vidioc-g-priority.xml">
333−<!ENTITY sub-g-sliced-vbi-cap SYSTEM "v4l/vidioc-g-sliced-vbi-cap.xml">
334−<!ENTITY sub-g-std SYSTEM "v4l/vidioc-g-std.xml">
335−<!ENTITY sub-g-tuner SYSTEM "v4l/vidioc-g-tuner.xml">
336−<!ENTITY sub-log-status SYSTEM "v4l/vidioc-log-status.xml">
337−<!ENTITY sub-overlay SYSTEM "v4l/vidioc-overlay.xml">
338−<!ENTITY sub-qbuf SYSTEM "v4l/vidioc-qbuf.xml">
339−<!ENTITY sub-querybuf SYSTEM "v4l/vidioc-querybuf.xml">
340−<!ENTITY sub-querycap SYSTEM "v4l/vidioc-querycap.xml">
341−<!ENTITY sub-queryctrl SYSTEM "v4l/vidioc-queryctrl.xml">
342−<!ENTITY sub-querystd SYSTEM "v4l/vidioc-querystd.xml">
343−<!ENTITY sub-reqbufs SYSTEM "v4l/vidioc-reqbufs.xml">
344−<!ENTITY sub-s-hw-freq-seek SYSTEM "v4l/vidioc-s-hw-freq-seek.xml">
345−<!ENTITY sub-streamon SYSTEM "v4l/vidioc-streamon.xml">
346−<!ENTITY sub-subdev-enum-frame-interval SYSTEM "v4l/vidioc-subdev-enum-frame-interval.xml">
347−<!ENTITY sub-subdev-enum-frame-size SYSTEM "v4l/vidioc-subdev-enum-frame-size.xml">
348−<!ENTITY sub-subdev-enum-mbus-code SYSTEM "v4l/vidioc-subdev-enum-mbus-code.xml">
349−<!ENTITY sub-subdev-formats SYSTEM "v4l/subdev-formats.xml">
350−<!ENTITY sub-subdev-g-crop SYSTEM "v4l/vidioc-subdev-g-crop.xml">
351−<!ENTITY sub-subdev-g-fmt SYSTEM "v4l/vidioc-subdev-g-fmt.xml">
352−<!ENTITY sub-subdev-g-frame-interval SYSTEM "v4l/vidioc-subdev-g-frame-interval.xml">
353−<!ENTITY sub-capture-c SYSTEM "v4l/capture.c.xml">
354−<!ENTITY sub-keytable-c SYSTEM "v4l/keytable.c.xml">
355−<!ENTITY sub-v4l2grab-c SYSTEM "v4l/v4l2grab.c.xml">
356−<!ENTITY sub-videodev2-h SYSTEM "v4l/videodev2.h.xml">
357−<!ENTITY sub-v4l2 SYSTEM "v4l/v4l2.xml">
358−<!ENTITY sub-dqevent SYSTEM "v4l/vidioc-dqevent.xml">
359−<!ENTITY sub-subscribe-event SYSTEM "v4l/vidioc-subscribe-event.xml">
360−<!ENTITY sub-intro SYSTEM "dvb/intro.xml">
361−<!ENTITY sub-frontend SYSTEM "dvb/frontend.xml">
362−<!ENTITY sub-dvbproperty SYSTEM "dvb/dvbproperty.xml">
363−<!ENTITY sub-demux SYSTEM "dvb/demux.xml">
364−<!ENTITY sub-video SYSTEM "dvb/video.xml">
365−<!ENTITY sub-audio SYSTEM "dvb/audio.xml">
366−<!ENTITY sub-ca SYSTEM "dvb/ca.xml">
367−<!ENTITY sub-net SYSTEM "dvb/net.xml">
368−<!ENTITY sub-kdapi SYSTEM "dvb/kdapi.xml">
369−<!ENTITY sub-examples SYSTEM "dvb/examples.xml">
370−<!ENTITY sub-frontend-h SYSTEM "dvb/frontend.h.xml">
371−<!ENTITY sub-dvbapi SYSTEM "dvb/dvbapi.xml">
372−<!ENTITY sub-media SYSTEM "media.xml">
373−<!ENTITY sub-media-entities SYSTEM "media-entities.tmpl">
374−<!ENTITY sub-media-indices SYSTEM "media-indices.tmpl">
375−
376−<!ENTITY sub-media-controller SYSTEM "v4l/media-controller.xml">
377−<!ENTITY sub-media-func-open SYSTEM "v4l/media-func-open.xml">
378−<!ENTITY sub-media-func-close SYSTEM "v4l/media-func-close.xml">
379−<!ENTITY sub-media-func-ioctl SYSTEM "v4l/media-func-ioctl.xml">
380−<!ENTITY sub-media-ioc-device-info SYSTEM "v4l/media-ioc-device-info.xml">
381−<!ENTITY sub-media-ioc-enum-entities SYSTEM "v4l/media-ioc-enum-entities.xml">
382−<!ENTITY sub-media-ioc-enum-links SYSTEM "v4l/media-ioc-enum-links.xml">
383−<!ENTITY sub-media-ioc-setup-link SYSTEM "v4l/media-ioc-setup-link.xml">
384−
385−<!-- Function Reference -->
386−<!ENTITY close SYSTEM "v4l/func-close.xml">
387−<!ENTITY ioctl SYSTEM "v4l/func-ioctl.xml">
388−<!ENTITY mmap SYSTEM "v4l/func-mmap.xml">
389−<!ENTITY munmap SYSTEM "v4l/func-munmap.xml">
390−<!ENTITY open SYSTEM "v4l/func-open.xml">
391−<!ENTITY poll SYSTEM "v4l/func-poll.xml">
392−<!ENTITY read SYSTEM "v4l/func-read.xml">
393−<!ENTITY select SYSTEM "v4l/func-select.xml">
394−<!ENTITY write SYSTEM "v4l/func-write.xml">
395−<!ENTITY grey SYSTEM "v4l/pixfmt-grey.xml">
396−<!ENTITY nv12 SYSTEM "v4l/pixfmt-nv12.xml">
397−<!ENTITY nv12m SYSTEM "v4l/pixfmt-nv12m.xml">
398−<!ENTITY nv16 SYSTEM "v4l/pixfmt-nv16.xml">
399−<!ENTITY packed-rgb SYSTEM "v4l/pixfmt-packed-rgb.xml">
400−<!ENTITY packed-yuv SYSTEM "v4l/pixfmt-packed-yuv.xml">
401−<!ENTITY sbggr16 SYSTEM "v4l/pixfmt-sbggr16.xml">
402−<!ENTITY sbggr8 SYSTEM "v4l/pixfmt-sbggr8.xml">
403−<!ENTITY sgbrg8 SYSTEM "v4l/pixfmt-sgbrg8.xml">
404−<!ENTITY sgrbg8 SYSTEM "v4l/pixfmt-sgrbg8.xml">
405−<!ENTITY uyvy SYSTEM "v4l/pixfmt-uyvy.xml">
406−<!ENTITY vyuy SYSTEM "v4l/pixfmt-vyuy.xml">
407−<!ENTITY y16 SYSTEM "v4l/pixfmt-y16.xml">
408−<!ENTITY y41p SYSTEM "v4l/pixfmt-y41p.xml">
409−<!ENTITY yuv410 SYSTEM "v4l/pixfmt-yuv410.xml">
410−<!ENTITY yuv411p SYSTEM "v4l/pixfmt-yuv411p.xml">
411−<!ENTITY yuv420 SYSTEM "v4l/pixfmt-yuv420.xml">
412−<!ENTITY yuv420m SYSTEM "v4l/pixfmt-yuv420m.xml">
413−<!ENTITY yuv422p SYSTEM "v4l/pixfmt-yuv422p.xml">
414−<!ENTITY yuyv SYSTEM "v4l/pixfmt-yuyv.xml">
415−<!ENTITY yvyu SYSTEM "v4l/pixfmt-yvyu.xml">
416−<!ENTITY srggb10 SYSTEM "v4l/pixfmt-srggb10.xml">
417−<!ENTITY srggb8 SYSTEM "v4l/pixfmt-srggb8.xml">
418−<!ENTITY y10 SYSTEM "v4l/pixfmt-y10.xml">
419−<!ENTITY cropcap SYSTEM "v4l/vidioc-cropcap.xml">
420−<!ENTITY dbg-g-register SYSTEM "v4l/vidioc-dbg-g-register.xml">
421−<!ENTITY encoder-cmd SYSTEM "v4l/vidioc-encoder-cmd.xml">
422−<!ENTITY enum-fmt SYSTEM "v4l/vidioc-enum-fmt.xml">
423−<!ENTITY enum-frameintervals SYSTEM "v4l/vidioc-enum-frameintervals.xml">
424−<!ENTITY enum-framesizes SYSTEM "v4l/vidioc-enum-framesizes.xml">
425−<!ENTITY enumaudio SYSTEM "v4l/vidioc-enumaudio.xml">
426−<!ENTITY enumaudioout SYSTEM "v4l/vidioc-enumaudioout.xml">
427−<!ENTITY enuminput SYSTEM "v4l/vidioc-enuminput.xml">
428−<!ENTITY enumoutput SYSTEM "v4l/vidioc-enumoutput.xml">
429−<!ENTITY enum-dv-presets SYSTEM "v4l/vidioc-enum-dv-presets.xml">
430−<!ENTITY g-dv-preset SYSTEM "v4l/vidioc-g-dv-preset.xml">
431−<!ENTITY query-dv-preset SYSTEM "v4l/vidioc-query-dv-preset.xml">
432−<!ENTITY g-dv-timings SYSTEM "v4l/vidioc-g-dv-timings.xml">
433−<!ENTITY enumstd SYSTEM "v4l/vidioc-enumstd.xml">
434−<!ENTITY g-audio SYSTEM "v4l/vidioc-g-audio.xml">
435−<!ENTITY g-audioout SYSTEM "v4l/vidioc-g-audioout.xml">
436−<!ENTITY dbg-g-chip-ident SYSTEM "v4l/vidioc-dbg-g-chip-ident.xml">
437−<!ENTITY g-crop SYSTEM "v4l/vidioc-g-crop.xml">
438−<!ENTITY g-ctrl SYSTEM "v4l/vidioc-g-ctrl.xml">
439−<!ENTITY g-enc-index SYSTEM "v4l/vidioc-g-enc-index.xml">
440−<!ENTITY g-ext-ctrls SYSTEM "v4l/vidioc-g-ext-ctrls.xml">
441−<!ENTITY g-fbuf SYSTEM "v4l/vidioc-g-fbuf.xml">
442−<!ENTITY g-fmt SYSTEM "v4l/vidioc-g-fmt.xml">
443−<!ENTITY g-frequency SYSTEM "v4l/vidioc-g-frequency.xml">
444−<!ENTITY g-input SYSTEM "v4l/vidioc-g-input.xml">
445−<!ENTITY g-jpegcomp SYSTEM "v4l/vidioc-g-jpegcomp.xml">
446−<!ENTITY g-modulator SYSTEM "v4l/vidioc-g-modulator.xml">
447−<!ENTITY g-output SYSTEM "v4l/vidioc-g-output.xml">
448−<!ENTITY g-parm SYSTEM "v4l/vidioc-g-parm.xml">
449−<!ENTITY g-priority SYSTEM "v4l/vidioc-g-priority.xml">
450−<!ENTITY g-sliced-vbi-cap SYSTEM "v4l/vidioc-g-sliced-vbi-cap.xml">
451−<!ENTITY g-std SYSTEM "v4l/vidioc-g-std.xml">
452−<!ENTITY g-tuner SYSTEM "v4l/vidioc-g-tuner.xml">
453−<!ENTITY log-status SYSTEM "v4l/vidioc-log-status.xml">
454−<!ENTITY overlay SYSTEM "v4l/vidioc-overlay.xml">
455−<!ENTITY qbuf SYSTEM "v4l/vidioc-qbuf.xml">
456−<!ENTITY querybuf SYSTEM "v4l/vidioc-querybuf.xml">
457−<!ENTITY querycap SYSTEM "v4l/vidioc-querycap.xml">
458−<!ENTITY queryctrl SYSTEM "v4l/vidioc-queryctrl.xml">
459−<!ENTITY querystd SYSTEM "v4l/vidioc-querystd.xml">
460−<!ENTITY reqbufs SYSTEM "v4l/vidioc-reqbufs.xml">
461−<!ENTITY s-hw-freq-seek SYSTEM "v4l/vidioc-s-hw-freq-seek.xml">
462−<!ENTITY streamon SYSTEM "v4l/vidioc-streamon.xml">
463−<!ENTITY dqevent SYSTEM "v4l/vidioc-dqevent.xml">
464−<!ENTITY subscribe_event SYSTEM "v4l/vidioc-subscribe-event.xml">
Documentation/DocBook/media-indices.tmpl+0−89
@@ -1,89 +0,0 @@
1−<!-- Generated file! Do not edit. -->
2−
3−<index><title>List of Types</title>
4−<indexentry><primaryie><link linkend='v4l2-std-id'>v4l2_std_id</link></primaryie></indexentry>
5−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-buf-type'>v4l2_buf_type</link></primaryie></indexentry>
6−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-colorspace'>v4l2_colorspace</link></primaryie></indexentry>
7−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-ctrl-type'>v4l2_ctrl_type</link></primaryie></indexentry>
8−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-exposure-auto-type'>v4l2_exposure_auto_type</link></primaryie></indexentry>
9−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-field'>v4l2_field</link></primaryie></indexentry>
10−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-frmivaltypes'>v4l2_frmivaltypes</link></primaryie></indexentry>
11−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-frmsizetypes'>v4l2_frmsizetypes</link></primaryie></indexentry>
12−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-memory'>v4l2_memory</link></primaryie></indexentry>
13−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-ac3-bitrate'>v4l2_mpeg_audio_ac3_bitrate</link></primaryie></indexentry>
14−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-crc'>v4l2_mpeg_audio_crc</link></primaryie></indexentry>
15−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-emphasis'>v4l2_mpeg_audio_emphasis</link></primaryie></indexentry>
16−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-encoding'>v4l2_mpeg_audio_encoding</link></primaryie></indexentry>
17−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-l1-bitrate'>v4l2_mpeg_audio_l1_bitrate</link></primaryie></indexentry>
18−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-l2-bitrate'>v4l2_mpeg_audio_l2_bitrate</link></primaryie></indexentry>
19−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-l3-bitrate'>v4l2_mpeg_audio_l3_bitrate</link></primaryie></indexentry>
20−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-mode'>v4l2_mpeg_audio_mode</link></primaryie></indexentry>
21−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-mode-extension'>v4l2_mpeg_audio_mode_extension</link></primaryie></indexentry>
22−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-audio-sampling-freq'>v4l2_mpeg_audio_sampling_freq</link></primaryie></indexentry>
23−<indexentry><primaryie>enum&nbsp;<link linkend='chroma-spatial-filter-type'>v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</link></primaryie></indexentry>
24−<indexentry><primaryie>enum&nbsp;<link linkend='luma-spatial-filter-type'>v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</link></primaryie></indexentry>
25−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-median-filter-type'>v4l2_mpeg_cx2341x_video_median_filter_type</link></primaryie></indexentry>
26−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-spatial-filter-mode'>v4l2_mpeg_cx2341x_video_spatial_filter_mode</link></primaryie></indexentry>
27−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-cx2341x-video-temporal-filter-mode'>v4l2_mpeg_cx2341x_video_temporal_filter_mode</link></primaryie></indexentry>
28−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-stream-type'>v4l2_mpeg_stream_type</link></primaryie></indexentry>
29−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-stream-vbi-fmt'>v4l2_mpeg_stream_vbi_fmt</link></primaryie></indexentry>
30−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-video-aspect'>v4l2_mpeg_video_aspect</link></primaryie></indexentry>
31−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-video-bitrate-mode'>v4l2_mpeg_video_bitrate_mode</link></primaryie></indexentry>
32−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-mpeg-video-encoding'>v4l2_mpeg_video_encoding</link></primaryie></indexentry>
33−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-power-line-frequency'>v4l2_power_line_frequency</link></primaryie></indexentry>
34−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-priority'>v4l2_priority</link></primaryie></indexentry>
35−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-tuner-type'>v4l2_tuner_type</link></primaryie></indexentry>
36−<indexentry><primaryie>enum&nbsp;<link linkend='v4l2-preemphasis'>v4l2_preemphasis</link></primaryie></indexentry>
37−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-audio'>v4l2_audio</link></primaryie></indexentry>
38−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-audioout'>v4l2_audioout</link></primaryie></indexentry>
39−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-bt-timings'>v4l2_bt_timings</link></primaryie></indexentry>
40−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-buffer'>v4l2_buffer</link></primaryie></indexentry>
41−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-capability'>v4l2_capability</link></primaryie></indexentry>
42−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-captureparm'>v4l2_captureparm</link></primaryie></indexentry>
43−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-clip'>v4l2_clip</link></primaryie></indexentry>
44−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-control'>v4l2_control</link></primaryie></indexentry>
45−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-crop'>v4l2_crop</link></primaryie></indexentry>
46−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-cropcap'>v4l2_cropcap</link></primaryie></indexentry>
47−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dbg-chip-ident'>v4l2_dbg_chip_ident</link></primaryie></indexentry>
48−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dbg-match'>v4l2_dbg_match</link></primaryie></indexentry>
49−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dbg-register'>v4l2_dbg_register</link></primaryie></indexentry>
50−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dv-enum-preset'>v4l2_dv_enum_preset</link></primaryie></indexentry>
51−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dv-preset'>v4l2_dv_preset</link></primaryie></indexentry>
52−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-dv-timings'>v4l2_dv_timings</link></primaryie></indexentry>
53−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-enc-idx'>v4l2_enc_idx</link></primaryie></indexentry>
54−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-enc-idx-entry'>v4l2_enc_idx_entry</link></primaryie></indexentry>
55−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-encoder-cmd'>v4l2_encoder_cmd</link></primaryie></indexentry>
56−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-ext-control'>v4l2_ext_control</link></primaryie></indexentry>
57−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-ext-controls'>v4l2_ext_controls</link></primaryie></indexentry>
58−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-fmtdesc'>v4l2_fmtdesc</link></primaryie></indexentry>
59−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-format'>v4l2_format</link></primaryie></indexentry>
60−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-fract'>v4l2_fract</link></primaryie></indexentry>
61−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-framebuffer'>v4l2_framebuffer</link></primaryie></indexentry>
62−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frequency'>v4l2_frequency</link></primaryie></indexentry>
63−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frmival-stepwise'>v4l2_frmival_stepwise</link></primaryie></indexentry>
64−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frmivalenum'>v4l2_frmivalenum</link></primaryie></indexentry>
65−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frmsize-discrete'>v4l2_frmsize_discrete</link></primaryie></indexentry>
66−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frmsize-stepwise'>v4l2_frmsize_stepwise</link></primaryie></indexentry>
67−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-frmsizeenum'>v4l2_frmsizeenum</link></primaryie></indexentry>
68−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-hw-freq-seek'>v4l2_hw_freq_seek</link></primaryie></indexentry>
69−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-input'>v4l2_input</link></primaryie></indexentry>
70−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-jpegcompression'>v4l2_jpegcompression</link></primaryie></indexentry>
71−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-modulator'>v4l2_modulator</link></primaryie></indexentry>
72−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-mpeg-vbi-fmt-ivtv'>v4l2_mpeg_vbi_fmt_ivtv</link></primaryie></indexentry>
73−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-output'>v4l2_output</link></primaryie></indexentry>
74−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-outputparm'>v4l2_outputparm</link></primaryie></indexentry>
75−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-pix-format'>v4l2_pix_format</link></primaryie></indexentry>
76−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-queryctrl'>v4l2_queryctrl</link></primaryie></indexentry>
77−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-querymenu'>v4l2_querymenu</link></primaryie></indexentry>
78−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-rect'>v4l2_rect</link></primaryie></indexentry>
79−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-requestbuffers'>v4l2_requestbuffers</link></primaryie></indexentry>
80−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-sliced-vbi-cap'>v4l2_sliced_vbi_cap</link></primaryie></indexentry>
81−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-sliced-vbi-data'>v4l2_sliced_vbi_data</link></primaryie></indexentry>
82−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-sliced-vbi-format'>v4l2_sliced_vbi_format</link></primaryie></indexentry>
83−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-standard'>v4l2_standard</link></primaryie></indexentry>
84−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-streamparm'>v4l2_streamparm</link></primaryie></indexentry>
85−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-timecode'>v4l2_timecode</link></primaryie></indexentry>
86−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-tuner'>v4l2_tuner</link></primaryie></indexentry>
87−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-vbi-format'>v4l2_vbi_format</link></primaryie></indexentry>
88−<indexentry><primaryie>struct&nbsp;<link linkend='v4l2-window'>v4l2_window</link></primaryie></indexentry>
89−</index>
Documentation/DocBook/media/Makefile+386−0
@@ -0,0 +1,386 @@
1+###
2+# Media build rules - Auto-generates media contents/indexes and *.h xml's
3+#
4+
5+SHELL=/bin/bash
6+
7+MEDIA_OBJ_DIR=$(objtree)/Documentation/DocBook/
8+MEDIA_SRC_DIR=$(srctree)/Documentation/DocBook/media
9+
10+MEDIA_TEMP = media-entities.tmpl \
11+ media-indices.tmpl \
12+ videodev2.h.xml \
13+ v4l2.xml \
14+ audio.h.xml \
15+ ca.h.xml \
16+ dmx.h.xml \
17+ frontend.h.xml \
18+ net.h.xml \
19+ video.h.xml \
20+
21+IMGFILES := $(patsubst %.b64,%, $(notdir $(shell ls $(MEDIA_SRC_DIR)/*.b64)))
22+OBJIMGFILES := $(addprefix $(MEDIA_OBJ_DIR)/, $(IMGFILES))
23+GENFILES := $(addprefix $(MEDIA_OBJ_DIR)/, $(MEDIA_TEMP))
24+
25+PHONY += cleanmediadocs
26+
27+cleanmediadocs:
28+ -@rm `find $(MEDIA_OBJ_DIR) -type l` $(GENFILES) $(OBJIMGFILES) 2>/dev/null
29+
30+$(obj)/media_api.xml: $(GENFILES) FORCE
31+
32+#$(MEDIA_OBJ_DIR)/media_api.html: $(MEDIA_OBJ_DIR)/media_api.xml
33+#$(MEDIA_OBJ_DIR)/media_api.pdf: $(MEDIA_OBJ_DIR)/media_api.xml
34+#$(MEDIA_OBJ_DIR)/media_api.ps: $(MEDIA_OBJ_DIR)/media_api.xml
35+
36+V4L_SGMLS = \
37+ $(shell ls $(MEDIA_SRC_DIR)/v4l/*.xml|perl -ne 'print "$$1 " if (m,.*/(.*)\n,)') \
38+ capture.c.xml \
39+ keytable.c.xml \
40+ v4l2grab.c.xml
41+
42+DVB_SGMLS = \
43+ $(shell ls $(MEDIA_SRC_DIR)/dvb/*.xml|perl -ne 'print "$$1 " if (m,.*/(.*)\n,)')
44+
45+MEDIA_SGMLS = $(addprefix ./,$(V4L_SGMLS)) $(addprefix ./,$(DVB_SGMLS)) $(addprefix ./,$(MEDIA_TEMP))
46+
47+FUNCS = \
48+ close \
49+ ioctl \
50+ mmap \
51+ munmap \
52+ open \
53+ poll \
54+ read \
55+ select \
56+ write \
57+
58+IOCTLS = \
59+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/videodev2.h) \
60+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/audio.h) \
61+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/ca.h) \
62+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/dmx.h) \
63+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/frontend.h) \
64+ $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/net.h) \
65+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/dvb/video.h) \
66+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/media.h) \
67+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/linux/v4l2-subdev.h) \
68+ VIDIOC_SUBDEV_G_FRAME_INTERVAL \
69+ VIDIOC_SUBDEV_S_FRAME_INTERVAL \
70+ VIDIOC_SUBDEV_ENUM_MBUS_CODE \
71+ VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
72+ VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
73+
74+TYPES = \
75+ $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \
76+ $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/linux/dvb/frontend.h)
77+
78+ENUMS = \
79+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \
80+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/audio.h) \
81+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/ca.h) \
82+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/dmx.h) \
83+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/frontend.h) \
84+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/net.h) \
85+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/video.h) \
86+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \
87+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) \
88+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h)
89+
90+STRUCTS = \
91+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \
92+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/linux/dvb/audio.h) \
93+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/ca.h) \
94+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/dmx.h) \
95+ $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/frontend.h) \
96+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/linux/dvb/net.h) \
97+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/video.h) \
98+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \
99+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) \
100+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h)
101+
102+ERRORS = \
103+ E2BIG \
104+ EACCES \
105+ EAGAIN \
106+ EBADF \
107+ EBADFD \
108+ EBADR \
109+ EBADRQC \
110+ EBUSY \
111+ ECHILD \
112+ ECONNRESET \
113+ EDEADLK \
114+ EDOM \
115+ EEXIST \
116+ EFAULT \
117+ EFBIG \
118+ EILSEQ \
119+ EINIT \
120+ EINPROGRESS \
121+ EINTR \
122+ EINVAL \
123+ EIO \
124+ EMFILE \
125+ ENFILE \
126+ ENOBUFS \
127+ ENODATA \
128+ ENODEV \
129+ ENOENT \
130+ ENOIOCTLCMD \
131+ ENOMEM \
132+ ENOSPC \
133+ ENOSR \
134+ ENOSYS \
135+ ENOTSUP \
136+ ENOTSUPP \
137+ ENOTTY \
138+ ENXIO \
139+ EOPNOTSUPP \
140+ EOVERFLOW \
141+ EPERM \
142+ EPIPE \
143+ EPROTO \
144+ ERANGE \
145+ EREMOTE \
146+ EREMOTEIO \
147+ ERESTART \
148+ ERESTARTSYS \
149+ ESHUTDOWN \
150+ ESPIPE \
151+ ETIME \
152+ ETIMEDOUT \
153+ EUSERS \
154+ EWOULDBLOCK \
155+ EXDEV \
156+
157+ESCAPE = \
158+ -e "s/&/\\&amp;/g" \
159+ -e "s/</\\&lt;/g" \
160+ -e "s/>/\\&gt;/g"
161+
162+FILENAME = \
163+ -e s,"^[^\/]*/",, \
164+ -e s/"\\.xml"// \
165+ -e s/"\\.tmpl"// \
166+ -e s/\\\./-/g \
167+ -e s/"^func-"// \
168+ -e s/"^pixfmt-"// \
169+ -e s/"^vidioc-"//
170+
171+# Generate references to these structs in videodev2.h.xml.
172+DOCUMENTED = \
173+ -e "s/\(enum *\)v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1<link linkend=\"\2\">v4l2_mpeg_cx2341x_video_\2<\/link>/g" \
174+ -e "s/\(\(enum\|struct\) *\)\(v4l2_[a-zA-Z0-9_]*\)/\1<link linkend=\"\3\">\3<\/link>/g" \
175+ -e "s/\(V4L2_PIX_FMT_[A-Z0-9_]\+\) /<link linkend=\"\1\">\1<\/link> /g" \
176+ -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \
177+ -e "s/v4l2\-mpeg\-vbi\-ITV0/v4l2-mpeg-vbi-itv0-1/g"
178+
179+DVB_DOCUMENTED = \
180+ -e "s/\(linkend\=\"\)FE_SET_PROPERTY/\1FE_GET_PROPERTY/g" \
181+ -e "s,\(struct\s\+\)\([a-z0-9_]\+\)\(\s\+{\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
182+ -e "s,\(}\s\+\)\([a-z0-9_]\+_t\+\),\1\<link linkend=\"\2\">\2\<\/link\>,g" \
183+ -e "s,\(define\s\+\)\(DTV_[A-Z0-9_]\+\)\(\s\+[0-9]\+\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
184+ -e "s,<link\s\+linkend=\".*\">\(DTV_IOCTL_MAX_MSGS\|dtv_cmds_h\|__.*_old\)<\/link>,\1,g" \
185+ -e ":a;s/\(linkend=\".*\)_\(.*\">\)/\1-\2/;ta" \
186+ -e "s,\(audio-mixer\|audio-karaoke\|audio-status\|ca-slot-info\|ca-descr-info\|ca-caps\|ca-msg\|ca-descr\|ca-pid\|dmx-filter\|dmx-caps\|video-system\|video-highlight\|video-spu\|video-spu-palette\|video-navi-pack\)-t,\1,g" \
187+ -e "s,DTV-ISDBT-LAYER[A-C],DTV-ISDBT-LAYER,g" \
188+ -e "s,\(define\s\+\)\([A-Z0-9_]\+\)\(\s\+_IO\),\1\<link linkend=\"\2\">\2\<\/link\>\3,g" \
189+ -e "s,<link\s\+linkend=\".*\">\(__.*_OLD\)<\/link>,\1,g" \
190+
191+#
192+# Media targets and dependencies
193+#
194+
195+install_media_images = \
196+ $(Q)cp $(OBJIMGFILES) $(MEDIA_OBJ_DIR)/media_api
197+
198+$(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
199+ $(Q)base64 -d $< >$@
200+
201+$(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES)
202+ @$($(quiet)gen_xml)
203+ @(ln -sf $(MEDIA_SRC_DIR)/v4l/*xml $(MEDIA_OBJ_DIR)/)
204+ @(ln -sf $(MEDIA_SRC_DIR)/dvb/*xml $(MEDIA_OBJ_DIR)/)
205+
206+$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml
207+ @$($(quiet)gen_xml)
208+ @( \
209+ echo "<programlisting>") > $@
210+ @( \
211+ expand --tabs=8 < $< | \
212+ sed $(ESCAPE) $(DOCUMENTED) | \
213+ sed 's/i\.e\./&ie;/') >> $@
214+ @( \
215+ echo "</programlisting>") >> $@
216+
217+$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml
218+ @$($(quiet)gen_xml)
219+ @( \
220+ echo "<programlisting>") > $@
221+ @( \
222+ expand --tabs=8 < $< | \
223+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
224+ sed 's/i\.e\./&ie;/') >> $@
225+ @( \
226+ echo "</programlisting>") >> $@
227+
228+$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml
229+ @$($(quiet)gen_xml)
230+ @( \
231+ echo "<programlisting>") > $@
232+ @( \
233+ expand --tabs=8 < $< | \
234+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
235+ sed 's/i\.e\./&ie;/') >> $@
236+ @( \
237+ echo "</programlisting>") >> $@
238+
239+$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml
240+ @$($(quiet)gen_xml)
241+ @( \
242+ echo "<programlisting>") > $@
243+ @( \
244+ expand --tabs=8 < $< | \
245+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
246+ sed 's/i\.e\./&ie;/') >> $@
247+ @( \
248+ echo "</programlisting>") >> $@
249+
250+$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml
251+ @$($(quiet)gen_xml)
252+ @( \
253+ echo "<programlisting>") > $@
254+ @( \
255+ expand --tabs=8 < $< | \
256+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
257+ sed 's/i\.e\./&ie;/') >> $@
258+ @( \
259+ echo "</programlisting>") >> $@
260+
261+$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml
262+ @$($(quiet)gen_xml)
263+ @( \
264+ echo "<programlisting>") > $@
265+ @( \
266+ expand --tabs=8 < $< | \
267+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
268+ sed 's/i\.e\./&ie;/') >> $@
269+ @( \
270+ echo "</programlisting>") >> $@
271+
272+$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml
273+ @$($(quiet)gen_xml)
274+ @( \
275+ echo "<programlisting>") > $@
276+ @( \
277+ expand --tabs=8 < $< | \
278+ sed $(ESCAPE) $(DVB_DOCUMENTED) | \
279+ sed 's/i\.e\./&ie;/') >> $@
280+ @( \
281+ echo "</programlisting>") >> $@
282+
283+$(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml
284+ @$($(quiet)gen_xml)
285+ @( \
286+ echo "<!-- Generated file! Do not edit. -->") >$@
287+ @( \
288+ echo -e "\n<!-- Functions -->") >>$@
289+ @( \
290+ for ident in $(FUNCS) ; do \
291+ entity=`echo $$ident | tr _ -` ; \
292+ echo "<!ENTITY func-$$entity \"<link" \
293+ "linkend='func-$$entity'><function>$$ident()</function></link>\">" \
294+ >>$@ ; \
295+ done)
296+ @( \
297+ echo -e "\n<!-- Ioctls -->") >>$@
298+ @( \
299+ for ident in $(IOCTLS) ; do \
300+ entity=`echo $$ident | tr _ -` ; \
301+ id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \
302+ echo "<!ENTITY $$entity \"<link" \
303+ "linkend='$$id'><constant>$$ident</constant></link>\">" \
304+ >>$@ ; \
305+ done)
306+ @( \
307+ echo -e "\n<!-- Types -->") >>$@
308+ @( \
309+ for ident in $(TYPES) ; do \
310+ entity=`echo $$ident | tr _ -` ; \
311+ echo "<!ENTITY $$entity \"<link" \
312+ "linkend='$$entity'>$$ident</link>\">" >>$@ ; \
313+ done)
314+ @( \
315+ echo -e "\n<!-- Enums -->") >>$@
316+ @( \
317+ for ident in $(ENUMS) ; do \
318+ entity=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -` ; \
319+ echo "<!ENTITY $$entity \"enum&nbsp;<link" \
320+ "linkend='$$entity'>$$ident</link>\">" >>$@ ; \
321+ done)
322+ @( \
323+ echo -e "\n<!-- Structures -->") >>$@
324+ @( \
325+ for ident in $(STRUCTS) ; do \
326+ entity=`echo $$ident | tr _ - | sed s/v4l2-mpeg-vbi-ITV0/v4l2-mpeg-vbi-itv0-1/g` ; \
327+ echo "<!ENTITY $$entity \"struct&nbsp;<link" \
328+ "linkend='$$entity'>$$ident</link>\">" >>$@ ; \
329+ done)
330+ @( \
331+ echo -e "\n<!-- Error Codes -->") >>$@
332+ @( \
333+ for ident in $(ERRORS) ; do \
334+ echo "<!ENTITY $$ident \"<errorcode>$$ident</errorcode>" \
335+ "error code\">" >>$@ ; \
336+ done)
337+ @( \
338+ echo -e "\n<!-- Subsections -->") >>$@
339+ @( \
340+ for file in $(MEDIA_SGMLS) ; do \
341+ entity=`echo "$$file" | sed $(FILENAME) -e s/"^([^-]*)"/sub\1/` ; \
342+ if ! echo "$$file" | \
343+ grep -q -E -e '^(func|vidioc|pixfmt)-' ; then \
344+ echo "<!ENTITY sub-$$entity SYSTEM \"$$file\">" >>$@ ; \
345+ fi ; \
346+ done)
347+ @( \
348+ echo -e "\n<!-- Function Reference -->") >>$@
349+ @( \
350+ for file in $(MEDIA_SGMLS) ; do \
351+ if echo "$$file" | \
352+ grep -q -E -e '(func|vidioc|pixfmt)-' ; then \
353+ entity=`echo "$$file" |sed $(FILENAME)` ; \
354+ echo "<!ENTITY $$entity SYSTEM \"$$file\">" >>$@ ; \
355+ fi ; \
356+ done)
357+
358+# Jade can auto-generate a list-of-tables, which includes all structs,
359+# but we only want data types, all types, and sorted please.
360+$(MEDIA_OBJ_DIR)/media-indices.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml
361+ @$($(quiet)gen_xml)
362+ @( \
363+ echo "<!-- Generated file! Do not edit. -->") >$@
364+ @( \
365+ echo -e "\n<index><title>List of Types</title>") >>$@
366+ @( \
367+ for ident in $(TYPES) ; do \
368+ id=`echo $$ident | tr _ -` ; \
369+ echo "<indexentry><primaryie><link" \
370+ "linkend='$$id'>$$ident</link></primaryie></indexentry>" >>$@ ; \
371+ done)
372+ @( \
373+ for ident in $(ENUMS) ; do \
374+ id=`echo $$ident | sed -e "s/v4l2_mpeg_cx2341x_video_\([a-z]*_spatial_filter_type\)/\1/" | tr _ -`; \
375+ echo "<indexentry><primaryie>enum&nbsp;<link" \
376+ "linkend='$$id'>$$ident</link></primaryie></indexentry>" >>$@ ; \
377+ done)
378+ @( \
379+ for ident in $(STRUCTS) ; do \
380+ id=`echo $$ident | tr _ - | sed s/v4l2-mpeg-vbi-ITV0/v4l2-mpeg-vbi-itv0-1/g` ; \
381+ echo "<indexentry><primaryie>struct&nbsp;<link" \
382+ "linkend='$$id'>$$ident</link></primaryie></indexentry>" >>$@ ; \
383+ done)
384+ @( \
385+ echo "</index>") >>$@
386+
Documentation/DocBook/media/bayer.png.b64+171−0
@@ -0,0 +1,171 @@
1+iVBORw0KGgoAAAANSUhEUgAAAlgAAACqCAMAAABGfcHVAAAAAXNSR0IArs4c6QAAAwBQTFRFAAIA
2+CAICAAQVEQEBAgsAJgECAAogAwsTAQopHQYBNAEAAAxNARQAERIQAhoDABwAABZEHRQKGRYKQw0F
3+ACMBACUAERwpHR4cVRAFBR5rZhADACR2JiIhBDAGAiWGgQ4AcxQABDYACSeQMSYlJykmESxYlQ4A
4+PSYZIS05OSsJHS5JOC8kAEMDUC8SADXLNDUzADbEAEsAADX/2RABCFIAAD/qxB0AAD//BFgAK0Vp
5+WT4r3hwA3RsTRERAAEf/5CIA2iYCCUv+WUgz7iIAOk5g3CgVSU5SiD8uB2sABm8AE1X/U1RQOFyL
6+4jkfIlz/RV98M1j+G2H/fVk23jtD4T0pXl9ieFtGcV894UIiYWJfAIwA50gOV2p+4kssO2j+dGZx
7+bG1qVmj/OHH/aHJzfnBX5lQ7B50AZnahdXd0AKUG5V1ARnz/6mErCqgAAKsAent46GBIW4GhAK0A
8+AK8B42FtALIOin9/ALUAiIOBALkAVIf/6WxWg4eBi4SKJrEAmoVtdY2geoP/rYVXhoyOqYVuJbUh
9+IrgWX5D/jo6J7nszP7gAsI9S63xnN70zZqO/fZzCOb4+cZr+64dy8otYnJ6b7ImDRcM56IqcWMEo
10+oJb/N8ZoTMRL7Y9/QchcsaOTo6eohaj/7ZqKXspXj6v9xal+oK+7d7vTUM+Afco5r7CumLTVStKV
11+bs9ukbb/9qx/9q9l8queoLv/e9R66beG7rDImNRhi9aDwsPAs8bWzcK2cd67jtqP5MWUodyB8b+1
12+tMr/z8L/j9+kbOXWnN2ZstD7yc7Rzs7Ly9xb183UwdD/+si/qeOmvuKIx9fj4tPCtuWiqOrL+tS2
13+y9v++NPK2dvZt+m0ueq80+Wo3OeSwuy/yezG+d7f/eS/z/DS3uf/6Ono4PC71O39xPb02vPZ/+nR
14++Ori6e399+vt+PGz+ur65fL55/Xb4vbh7ffX/PPY8vP9+vLy6Pf36fjr/PfM8vjr//f+/vn48P36
15+9vv+/vzf+fv4/fvu//z7+v7//P/7/v/8//QpxAAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAFY8AABWW
16+AQ2TT8cAAAAHdElNRQfaCRQXGSltwbPRAAAgAElEQVR42u2dDXwU1bXAZwEJtEaNH1nbh68fpoWK
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
Documentation/DocBook/media/crop.gif.b64+105−0
@@ -0,0 +1,105 @@
1+R0lGODlhuQJGAeMAAAAAAH9/fwCvAP8AANEA0dEAAK8Ar////wCOAAAA0QAA////////////////
2+/////ywAAAAAuQJGAQAE/vDISau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqP
3+yKRyyWw6n9CodEqtWq/YrHbL7Xq/4LB4TC6bz+i0es1uu9/wuHxOr9vv+Lx+z+/7/4CBgoOEhYaH
4+iImKi4yNjo+QkZKTlJWWl5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6gQC9vr/A
5+wcLDxMXGx8jJysvMzc7P0NHS09TV1tfYxbth2d3e3+DRAePk5ebn6Onl4ezt7u3q8fLqANtg7/j5
6++s/z/f4B+wIKHAjsn8F09ex5IciwobuDEM1Bi0ixosWLGDNqrJhQIZdk/htDihxJsiTJiSZTqlzJ
7+MmNHj1q+tRznsKbNmzhzDoz3EiYWmTN7+vQJgOfQmN5mAjzKtCg9pj+TBoU61ClCqlaAthSKVZdV
8+dFy7NtHKMqxYW1/PmT2bhOzKtWxlpZUYF4pblXDrvpq7Tq+Tu+UGCB5MuLDhw4gTK17MuLHjx5Aj
9+S55MubLly5gza95MmVxev0EAkxsg8jNoVXNJ0zy9RPQ41RtNsz6V2vPstlLTwdYo+zap2qt9G3Ed
10+YLdL4bGAL0VOhLhxjL2Zf1IeXboM56Wtt6KuPXRudM8vVu+eiTt5H9hDjj9vyfyIXrTW80gfO4OC
11++/jz69/Pv7///wAG/ijggAQWaOCBCCao4IIMNujggRe4J4IwBxBg4YUYZqjhhhx26OGHIIYo4ogk
12+loihMBbi1k084VlklgLsWQKjBRJqgIwEBJRyY4UqZsNidhjMGOMkQlLgnjERwkdBjuVpk2QFTB5B
13+H2/2DUlJkRNYhWQKUTKyJQpdFjHlcUFaSaQxo9nGQph/fCkDm0OMCV2VZh7iZpbnwCYfBnDKcecO
14+fXq3ojotckRnnXr8SQGWEtQIphuKEhEoEHKKdygHCUiQ6QEJdDrEphWA2oGo3UXaAaMHOHrCpFmY
15+2gSr6H2XJ5AXoHqBp5xyuimpPfCa6we+6uWqCaiqagKsTAxrBbLz/slqTqEUvWgBqLviSqqvnXpq
16+rbbZTpDtt9ziSsG3unKraabkltutWMq+UOyswa3A7A/tfjGvDpW6eKm3v+a667i38vvvuQLzW7Cm
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
Documentation/DocBook/media/dvb/.gitignorerenamed from Documentation/DocBook/dvb/.gitignore+0−0

File renamed without changes.

Documentation/DocBook/media/dvb/audio.xmlrenamed from Documentation/DocBook/dvb/audio.xml+109−379
@@ -14,17 +14,17 @@ the omission of the audio and video device. · 13 unmodified lines
1414 audio device.
1515 </para>
1616
17−<section id="audio_stream_source_t">
17+<section id="audio-stream-source-t">
1818 <title>audio_stream_source_t</title>
1919 <para>The audio stream source is set through the AUDIO_SELECT_SOURCE call and can take
2020 the following values, depending on whether we are replaying from an internal (demux) or
2121 external (user write) source.
2222 </para>
2323 <programlisting>
24− typedef enum {
25− AUDIO_SOURCE_DEMUX,
26− AUDIO_SOURCE_MEMORY
27− } audio_stream_source_t;
24+typedef enum {
25+ AUDIO_SOURCE_DEMUX,
26+ AUDIO_SOURCE_MEMORY
27+} audio_stream_source_t;
2828 </programlisting>
2929 <para>AUDIO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
3030 DVR device) as the source of the video stream. If AUDIO_SOURCE_MEMORY
@@ -33,61 +33,64 @@ call. · 2 unmodified lines
3333 </para>
3434
3535 </section>
36−<section id="audio_play_state_t">
36+<section id="audio-play-state-t">
3737 <title>audio_play_state_t</title>
3838 <para>The following values can be returned by the AUDIO_GET_STATUS call representing the
3939 state of audio playback.
4040 </para>
4141 <programlisting>
42− typedef enum {
43− AUDIO_STOPPED,
44− AUDIO_PLAYING,
45− AUDIO_PAUSED
46− } audio_play_state_t;
42+typedef enum {
43+ AUDIO_STOPPED,
44+ AUDIO_PLAYING,
45+ AUDIO_PAUSED
46+} audio_play_state_t;
4747 </programlisting>
4848
4949 </section>
50−<section id="audio_channel_select_t">
50+<section id="audio-channel-select-t">
5151 <title>audio_channel_select_t</title>
5252 <para>The audio channel selected via AUDIO_CHANNEL_SELECT is determined by the
5353 following values.
5454 </para>
5555 <programlisting>
56− typedef enum {
57− AUDIO_STEREO,
58− AUDIO_MONO_LEFT,
59− AUDIO_MONO_RIGHT,
60− } audio_channel_select_t;
56+typedef enum {
57+ AUDIO_STEREO,
58+ AUDIO_MONO_LEFT,
59+ AUDIO_MONO_RIGHT,
60+ AUDIO_MONO,
61+ AUDIO_STEREO_SWAPPED
62+} audio_channel_select_t;
6163 </programlisting>
6264
6365 </section>
64−<section id="struct_audio_status">
66+<section id="audio-status">
6567 <title>struct audio_status</title>
6668 <para>The AUDIO_GET_STATUS call returns the following structure informing about various
6769 states of the playback operation.
6870 </para>
6971 <programlisting>
70− typedef struct audio_status {
71− boolean AV_sync_state;
72− boolean mute_state;
73− audio_play_state_t play_state;
74− audio_stream_source_t stream_source;
75− audio_channel_select_t channel_select;
76− boolean bypass_mode;
77− } audio_status_t;
72+typedef struct audio_status {
73+ boolean AV_sync_state;
74+ boolean mute_state;
75+ audio_play_state_t play_state;
76+ audio_stream_source_t stream_source;
77+ audio_channel_select_t channel_select;
78+ boolean bypass_mode;
79+ audio_mixer_t mixer_state;
80+} audio_status_t;
7881 </programlisting>
7982
8083 </section>
81−<section id="struct_audio_mixer">
84+<section id="audio-mixer">
8285 <title>struct audio_mixer</title>
8386 <para>The following structure is used by the AUDIO_SET_MIXER call to set the audio
8487 volume.
8588 </para>
8689 <programlisting>
87− typedef struct audio_mixer {
88− unsigned int volume_left;
89− unsigned int volume_right;
90− } audio_mixer_t;
90+typedef struct audio_mixer {
91+ unsigned int volume_left;
92+ unsigned int volume_right;
93+} audio_mixer_t;
9194 </programlisting>
9295
9396 </section>
@@ -109,17 +112,17 @@ bits set according to the hardwares capabilities. · 15 unmodified lines
109112 </programlisting>
110113
111114 </section>
112−<section id="struct_audio_karaoke">
115+<section id="audio-karaoke">
113116 <title>struct audio_karaoke</title>
114117 <para>The ioctl AUDIO_SET_KARAOKE uses the following format:
115118 </para>
116119 <programlisting>
117− typedef
118− struct audio_karaoke{
119− int vocal1;
120− int vocal2;
121− int melody;
122− } audio_karaoke_t;
120+typedef
121+struct audio_karaoke {
122+ int vocal1;
123+ int vocal2;
124+ int melody;
125+} audio_karaoke_t;
123126 </programlisting>
124127 <para>If Vocal1 or Vocal2 are non-zero, they get mixed into left and right t at 70% each. If both,
125128 Vocal1 and Vocal2 are non-zero, Vocal1 gets mixed into the left channel and Vocal2 into the
@@ -128,7 +131,7 @@ and right. · 2 unmodified lines
128131 </para>
129132
130133 </section>
131−<section id="audio_attributes">
134+<section id="audio-attributes-t">
132135 <title>audio attributes</title>
133136 <para>The following attributes can be set by a call to AUDIO_SET_ATTRIBUTES:
134137 </para>
@@ -217,21 +220,13 @@ and right. · 82 unmodified lines
217220 <para>(blocking mode is the default)</para>
218221 </entry>
219222 </row></tbody></tgroup></informaltable>
220−<para>ERRORS
221−</para>
223+<para>RETURN VALUE</para>
222224 <informaltable><tgroup cols="2"><tbody><row><entry
223225 align="char">
224226 <para>ENODEV</para>
225227 </entry><entry
226228 align="char">
227229 <para>Device driver not loaded/available.</para>
228−</entry>
229− </row><row><entry
230− align="char">
231−<para>EINTERNAL</para>
232−</entry><entry
233− align="char">
234−<para>Internal error.</para>
235230 </entry>
236231 </row><row><entry
237232 align="char">
@@ -276,8 +271,7 @@ and right. · 38 unmodified lines
276271 <para>File descriptor returned by a previous call to open().</para>
277272 </entry>
278273 </row></tbody></tgroup></informaltable>
279−<para>ERRORS
280−</para>
274+<para>RETURN VALUE</para>
281275 <informaltable><tgroup cols="2"><tbody><row><entry
282276 align="char">
283277 <para>EBADF</para>
@@ -332,8 +326,7 @@ and right. · 48 unmodified lines
332326 <para>Size of buf.</para>
333327 </entry>
334328 </row></tbody></tgroup></informaltable>
335−<para>ERRORS
336−</para>
329+<para>RETURN VALUE</para>
337330 <informaltable><tgroup cols="2"><tbody><row><entry
338331 align="char">
339332 <para>EPERM</para>
@@ -358,7 +351,7 @@ and right. · 18 unmodified lines
358351 </entry>
359352 </row></tbody></tgroup></informaltable>
360353
361−</section><section
354+</section><section id="AUDIO_STOP"
362355 role="subsection"><title>AUDIO_STOP</title>
363356 <para>DESCRIPTION
364357 </para>
@@ -391,25 +384,9 @@ role="subsection"><title>AUDIO_STOP</title> · 26 unmodified lines
391384 <para>Equals AUDIO_STOP for this command.</para>
392385 </entry>
393386 </row></tbody></tgroup></informaltable>
394−<para>ERRORS
395−</para>
396−<informaltable><tgroup cols="2"><tbody><row><entry
397− align="char">
398−<para>EBADF</para>
399−</entry><entry
400− align="char">
401−<para>fd is not a valid open file descriptor</para>
402−</entry>
403− </row><row><entry
404− align="char">
405−<para>EINTERNAL</para>
406−</entry><entry
407− align="char">
408−<para>Internal error.</para>
409−</entry>
410− </row></tbody></tgroup></informaltable>
387+&return-value-dvb;
411388
412−</section><section
389+</section><section id="AUDIO_PLAY"
413390 role="subsection"><title>AUDIO_PLAY</title>
414391 <para>DESCRIPTION
415392 </para>
@@ -443,25 +420,9 @@ role="subsection"><title>AUDIO_PLAY</title> · 27 unmodified lines
443420 <para>Equals AUDIO_PLAY for this command.</para>
444421 </entry>
445422 </row></tbody></tgroup></informaltable>
446−<para>ERRORS
447−</para>
448−<informaltable><tgroup cols="2"><tbody><row><entry
449− align="char">
450−<para>EBADF</para>
451−</entry><entry
452− align="char">
453−<para>fd is not a valid open file descriptor</para>
454−</entry>
455− </row><row><entry
456− align="char">
457−<para>EINTERNAL</para>
458−</entry><entry
459− align="char">
460−<para>Internal error.</para>
461−</entry>
462− </row></tbody></tgroup></informaltable>
423+&return-value-dvb;
463424
464−</section><section
425+</section><section id="AUDIO_PAUSE"
465426 role="subsection"><title>AUDIO_PAUSE</title>
466427 <para>DESCRIPTION
467428 </para>
@@ -503,25 +464,49 @@ role="subsection"><title>AUDIO_PAUSE</title> · 35 unmodified lines
503464 <para>Equals AUDIO_PAUSE for this command.</para>
504465 </entry>
505466 </row></tbody></tgroup></informaltable>
506−<para>ERRORS
467+&return-value-dvb;
468+
469+</section><section id="AUDIO_CONTINUE"
470+role="subsection"><title>AUDIO_CONTINUE</title>
471+<para>DESCRIPTION
472+</para>
473+<informaltable><tgroup cols="1"><tbody><row><entry
474+ align="char">
475+<para>This ioctl restarts the decoding and playing process previously paused
476+with AUDIO_PAUSE command.</para>
477+</entry>
478+ </row><row><entry
479+ align="char">
480+<para>It only works if the stream were previously stopped with AUDIO_PAUSE</para>
481+</entry>
482+ </row></tbody></tgroup></informaltable>
483+<para>SYNOPSIS
484+</para>
485+<informaltable><tgroup cols="1"><tbody><row><entry
486+ align="char">
487+<para>int ioctl(int fd, int request = AUDIO_CONTINUE);</para>
488+</entry>
489+ </row></tbody></tgroup></informaltable>
490+<para>PARAMETERS
507491 </para>
508492 <informaltable><tgroup cols="2"><tbody><row><entry
509493 align="char">
510−<para>EBADF</para>
494+<para>int fd</para>
511495 </entry><entry
512496 align="char">
513−<para>fd is not a valid open file descriptor.</para>
497+<para>File descriptor returned by a previous call to open().</para>
514498 </entry>
515499 </row><row><entry
516500 align="char">
517−<para>EINTERNAL</para>
501+<para>int request</para>
518502 </entry><entry
519503 align="char">
520−<para>Internal error.</para>
504+<para>Equals AUDIO_CONTINUE for this command.</para>
521505 </entry>
522506 </row></tbody></tgroup></informaltable>
507+&return-value-dvb;
523508
524−</section><section
509+</section><section id="AUDIO_SELECT_SOURCE"
525510 role="subsection"><title>AUDIO_SELECT_SOURCE</title>
526511 <para>DESCRIPTION
527512 </para>
@@ -567,32 +552,9 @@ role="subsection"><title>AUDIO_SELECT_SOURCE</title> · 39 unmodified lines
567552 stream.</para>
568553 </entry>
569554 </row></tbody></tgroup></informaltable>
570−<para>ERRORS
571−</para>
572−<informaltable><tgroup cols="2"><tbody><row><entry
573− align="char">
574−<para>EBADF</para>
575−</entry><entry
576− align="char">
577−<para>fd is not a valid open file descriptor.</para>
578−</entry>
579− </row><row><entry
580− align="char">
581−<para>EINTERNAL</para>
582−</entry><entry
583− align="char">
584−<para>Internal error.</para>
585−</entry>
586− </row><row><entry
587− align="char">
588−<para>EINVAL</para>
589−</entry><entry
590− align="char">
591−<para>Illegal input parameter.</para>
592−</entry>
593− </row></tbody></tgroup></informaltable>
555+&return-value-dvb;
594556
595−</section><section
557+</section><section id="AUDIO_SET_MUTE"
596558 role="subsection"><title>AUDIO_SET_MUTE</title>
597559 <para>DESCRIPTION
598560 </para>
@@ -646,32 +608,9 @@ role="subsection"><title>AUDIO_SET_MUTE</title> · 47 unmodified lines
646608 <para>FALSE Audio Un-mute</para>
647609 </entry>
648610 </row></tbody></tgroup></informaltable>
649−<para>ERRORS
650−</para>
651−<informaltable><tgroup cols="2"><tbody><row><entry
652− align="char">
653−<para>EBADF</para>
654−</entry><entry
655− align="char">
656−<para>fd is not a valid open file descriptor.</para>
657−</entry>
658− </row><row><entry
659− align="char">
660−<para>EINTERNAL</para>
661−</entry><entry
662− align="char">
663−<para>Internal error.</para>
664−</entry>
665− </row><row><entry
666− align="char">
667−<para>EINVAL</para>
668−</entry><entry
669− align="char">
670−<para>Illegal input parameter.</para>
671−</entry>
672− </row></tbody></tgroup></informaltable>
611+&return-value-dvb;
673612
674−</section><section
613+</section><section id="AUDIO_SET_AV_SYNC"
675614 role="subsection"><title>AUDIO_SET_AV_SYNC</title>
676615 <para>DESCRIPTION
677616 </para>
@@ -725,32 +664,9 @@ role="subsection"><title>AUDIO_SET_AV_SYNC</title> · 47 unmodified lines
725664 <para>FALSE AV-sync OFF</para>
726665 </entry>
727666 </row></tbody></tgroup></informaltable>
728−<para>ERRORS
729−</para>
730−<informaltable><tgroup cols="2"><tbody><row><entry
731− align="char">
732−<para>EBADF</para>
733−</entry><entry
734− align="char">
735−<para>fd is not a valid open file descriptor.</para>
736−</entry>
737− </row><row><entry
738− align="char">
739−<para>EINTERNAL</para>
740−</entry><entry
741− align="char">
742−<para>Internal error.</para>
743−</entry>
744− </row><row><entry
745− align="char">
746−<para>EINVAL</para>
747−</entry><entry
748− align="char">
749−<para>Illegal input parameter.</para>
750−</entry>
751− </row></tbody></tgroup></informaltable>
667+&return-value-dvb;
752668
753−</section><section
669+</section><section id="AUDIO_SET_BYPASS_MODE"
754670 role="subsection"><title>AUDIO_SET_BYPASS_MODE</title>
755671 <para>DESCRIPTION
756672 </para>
@@ -808,32 +724,9 @@ role="subsection"><title>AUDIO_SET_BYPASS_MODE</title> · 51 unmodified lines
808724 <para>FALSE Bypass is enabled</para>
809725 </entry>
810726 </row></tbody></tgroup></informaltable>
811−<para>ERRORS
812−</para>
813−<informaltable><tgroup cols="2"><tbody><row><entry
814− align="char">
815−<para>EBADF</para>
816−</entry><entry
817− align="char">
818−<para>fd is not a valid open file descriptor.</para>
819−</entry>
820− </row><row><entry
821− align="char">
822−<para>EINTERNAL</para>
823−</entry><entry
824− align="char">
825−<para>Internal error.</para>
826−</entry>
827− </row><row><entry
828− align="char">
829−<para>EINVAL</para>
830−</entry><entry
831− align="char">
832−<para>Illegal input parameter.</para>
833−</entry>
834− </row></tbody></tgroup></informaltable>
727+&return-value-dvb;
835728
836−</section><section
729+</section><section id="AUDIO_CHANNEL_SELECT"
837730 role="subsection"><title>AUDIO_CHANNEL_SELECT</title>
838731 <para>DESCRIPTION
839732 </para>
@@ -877,32 +770,9 @@ role="subsection"><title>AUDIO_CHANNEL_SELECT</title> · 37 unmodified lines
877770 stereo).</para>
878771 </entry>
879772 </row></tbody></tgroup></informaltable>
880−<para>ERRORS
881−</para>
882−<informaltable><tgroup cols="2"><tbody><row><entry
883− align="char">
884−<para>EBADF</para>
885−</entry><entry
886− align="char">
887−<para>fd is not a valid open file descriptor.</para>
888−</entry>
889− </row><row><entry
890− align="char">
891−<para>EINTERNAL</para>
892−</entry><entry
893− align="char">
894−<para>Internal error.</para>
895−</entry>
896− </row><row><entry
897− align="char">
898−<para>EINVAL</para>
899−</entry><entry
900− align="char">
901−<para>Illegal input parameter ch.</para>
902−</entry>
903− </row></tbody></tgroup></informaltable>
773+&return-value-dvb;
904774
905−</section><section
775+</section><section id="AUDIO_GET_STATUS"
906776 role="subsection"><title>AUDIO_GET_STATUS</title>
907777 <para>DESCRIPTION
908778 </para>
@@ -945,32 +815,9 @@ role="subsection"><title>AUDIO_GET_STATUS</title> · 36 unmodified lines
945815 <para>Returns the current state of Audio Device.</para>
946816 </entry>
947817 </row></tbody></tgroup></informaltable>
948−<para>ERRORS
949−</para>
950−<informaltable><tgroup cols="2"><tbody><row><entry
951− align="char">
952−<para>EBADF</para>
953−</entry><entry
954− align="char">
955−<para>fd is not a valid open file descriptor.</para>
956−</entry>
957− </row><row><entry
958− align="char">
959−<para>EINTERNAL</para>
960−</entry><entry
961− align="char">
962−<para>Internal error.</para>
963−</entry>
964− </row><row><entry
965− align="char">
966−<para>EFAULT</para>
967−</entry><entry
968− align="char">
969−<para>status points to invalid address.</para>
970−</entry>
971− </row></tbody></tgroup></informaltable>
818+&return-value-dvb;
972819
973−</section><section
820+</section><section id="AUDIO_GET_CAPABILITIES"
974821 role="subsection"><title>AUDIO_GET_CAPABILITIES</title>
975822 <para>DESCRIPTION
976823 </para>
@@ -1013,32 +860,9 @@ role="subsection"><title>AUDIO_GET_CAPABILITIES</title> · 36 unmodified lines
1013860 <para>Returns a bit array of supported sound formats.</para>
1014861 </entry>
1015862 </row></tbody></tgroup></informaltable>
1016−<para>ERRORS
1017−</para>
1018−<informaltable><tgroup cols="2"><tbody><row><entry
1019− align="char">
1020−<para>EBADF</para>
1021−</entry><entry
1022− align="char">
1023−<para>fd is not a valid open file descriptor.</para>
1024−</entry>
1025− </row><row><entry
1026− align="char">
1027−<para>EINTERNAL</para>
1028−</entry><entry
1029− align="char">
1030−<para>Internal error.</para>
1031−</entry>
1032− </row><row><entry
1033− align="char">
1034−<para>EFAULT</para>
1035−</entry><entry
1036− align="char">
1037−<para>cap points to an invalid address.</para>
1038−</entry>
1039− </row></tbody></tgroup></informaltable>
863+&return-value-dvb;
1040864
1041−</section><section
865+</section><section id="AUDIO_CLEAR_BUFFER"
1042866 role="subsection"><title>AUDIO_CLEAR_BUFFER</title>
1043867 <para>DESCRIPTION
1044868 </para>
@@ -1072,25 +896,9 @@ role="subsection"><title>AUDIO_CLEAR_BUFFER</title> · 27 unmodified lines
1072896 <para>Equals AUDIO_CLEAR_BUFFER for this command.</para>
1073897 </entry>
1074898 </row></tbody></tgroup></informaltable>
1075−<para>ERRORS
1076−</para>
1077−<informaltable><tgroup cols="2"><tbody><row><entry
1078− align="char">
1079−<para>EBADF</para>
1080−</entry><entry
1081− align="char">
1082−<para>fd is not a valid open file descriptor.</para>
1083−</entry>
1084− </row><row><entry
1085− align="char">
1086−<para>EINTERNAL</para>
1087−</entry><entry
1088− align="char">
1089−<para>Internal error.</para>
1090−</entry>
1091− </row></tbody></tgroup></informaltable>
899+&return-value-dvb;
1092900
1093−</section><section
901+</section><section id="AUDIO_SET_ID"
1094902 role="subsection"><title>AUDIO_SET_ID</title>
1095903 <para>DESCRIPTION
1096904 </para>
@@ -1136,32 +944,9 @@ role="subsection"><title>AUDIO_SET_ID</title> · 39 unmodified lines
1136944 <para>audio sub-stream id</para>
1137945 </entry>
1138946 </row></tbody></tgroup></informaltable>
1139−<para>ERRORS
1140−</para>
1141−<informaltable><tgroup cols="2"><tbody><row><entry
1142− align="char">
1143−<para>EBADF</para>
1144−</entry><entry
1145− align="char">
1146−<para>fd is not a valid open file descriptor.</para>
1147−</entry>
1148− </row><row><entry
1149− align="char">
1150−<para>EINTERNAL</para>
1151−</entry><entry
1152− align="char">
1153−<para>Internal error.</para>
1154−</entry>
1155− </row><row><entry
1156− align="char">
1157−<para>EINVAL</para>
1158−</entry><entry
1159− align="char">
1160−<para>Invalid sub-stream id.</para>
1161−</entry>
1162− </row></tbody></tgroup></informaltable>
947+&return-value-dvb;
1163948
1164−</section><section
949+</section><section id="AUDIO_SET_MIXER"
1165950 role="subsection"><title>AUDIO_SET_MIXER</title>
1166951 <para>DESCRIPTION
1167952 </para>
@@ -1202,32 +987,9 @@ role="subsection"><title>AUDIO_SET_MIXER</title> · 34 unmodified lines
1202987 <para>mixer settings.</para>
1203988 </entry>
1204989 </row></tbody></tgroup></informaltable>
1205−<para>ERRORS
1206−</para>
1207−<informaltable><tgroup cols="2"><tbody><row><entry
1208− align="char">
1209−<para>EBADF</para>
1210−</entry><entry
1211− align="char">
1212−<para>fd is not a valid open file descriptor.</para>
1213−</entry>
1214− </row><row><entry
1215− align="char">
1216−<para>EINTERNAL</para>
1217−</entry><entry
1218− align="char">
1219−<para>Internal error.</para>
1220−</entry>
1221− </row><row><entry
1222− align="char">
1223−<para>EFAULT</para>
1224−</entry><entry
1225− align="char">
1226−<para>mix points to an invalid address.</para>
1227−</entry>
1228− </row></tbody></tgroup></informaltable>
990+&return-value-dvb;
1229991
1230−</section><section
992+</section><section id="AUDIO_SET_STREAMTYPE"
1231993 role="subsection"><title>AUDIO_SET_STREAMTYPE</title>
1232994 <para>DESCRIPTION
1233995 </para>
@@ -1270,17 +1032,9 @@ role="subsection"><title>AUDIO_SET_STREAMTYPE</title> · 36 unmodified lines
12701032 <para>stream type</para>
12711033 </entry>
12721034 </row></tbody></tgroup></informaltable>
1273−<para>ERRORS
1274−</para>
1035+&return-value-dvb;
12751036 <informaltable><tgroup cols="2"><tbody><row><entry
12761037 align="char">
1277−<para>EBADF</para>
1278−</entry><entry
1279− align="char">
1280−<para>fd is not a valid open file descriptor</para>
1281−</entry>
1282− </row><row><entry
1283− align="char">
12841038 <para>EINVAL</para>
12851039 </entry><entry
12861040 align="char">
@@ -1288,7 +1042,7 @@ role="subsection"><title>AUDIO_SET_STREAMTYPE</title> · 1 unmodified line
12881042 </entry>
12891043 </row></tbody></tgroup></informaltable>
12901044
1291−</section><section
1045+</section><section id="AUDIO_SET_EXT_ID"
12921046 role="subsection"><title>AUDIO_SET_EXT_ID</title>
12931047 <para>DESCRIPTION
12941048 </para>
@@ -1330,17 +1084,9 @@ role="subsection"><title>AUDIO_SET_EXT_ID</title> · 35 unmodified lines
13301084 <para>audio sub_stream_id</para>
13311085 </entry>
13321086 </row></tbody></tgroup></informaltable>
1333−<para>ERRORS
1334−</para>
1087+&return-value-dvb;
13351088 <informaltable><tgroup cols="2"><tbody><row><entry
13361089 align="char">
1337−<para>EBADF</para>
1338−</entry><entry
1339− align="char">
1340−<para>fd is not a valid open file descriptor</para>
1341−</entry>
1342− </row><row><entry
1343− align="char">
13441090 <para>EINVAL</para>
13451091 </entry><entry
13461092 align="char">
@@ -1348,7 +1094,7 @@ role="subsection"><title>AUDIO_SET_EXT_ID</title> · 1 unmodified line
13481094 </entry>
13491095 </row></tbody></tgroup></informaltable>
13501096
1351−</section><section
1097+</section><section id="AUDIO_SET_ATTRIBUTES"
13521098 role="subsection"><title>AUDIO_SET_ATTRIBUTES</title>
13531099 <para>DESCRIPTION
13541100 </para>
@@ -1391,17 +1137,9 @@ role="subsection"><title>AUDIO_SET_ATTRIBUTES</title> · 36 unmodified lines
13911137 <para>audio attributes according to section ??</para>
13921138 </entry>
13931139 </row></tbody></tgroup></informaltable>
1394−<para>ERRORS
1395−</para>
1140+&return-value-dvb;
13961141 <informaltable><tgroup cols="2"><tbody><row><entry
13971142 align="char">
1398−<para>EBADF</para>
1399−</entry><entry
1400− align="char">
1401−<para>fd is not a valid open file descriptor</para>
1402−</entry>
1403− </row><row><entry
1404− align="char">
14051143 <para>EINVAL</para>
14061144 </entry><entry
14071145 align="char">
@@ -1409,7 +1147,7 @@ role="subsection"><title>AUDIO_SET_ATTRIBUTES</title> · 1 unmodified line
14091147 </entry>
14101148 </row></tbody></tgroup></informaltable>
14111149
1412−</section><section
1150+</section><section id="AUDIO_SET_KARAOKE"
14131151 role="subsection"><title>AUDIO_SET_KARAOKE</title>
14141152 <para>DESCRIPTION
14151153 </para>
@@ -1422,7 +1160,7 @@ role="subsection"><title>AUDIO_SET_KARAOKE</title> · 6 unmodified lines
14221160 </para>
14231161 <informaltable><tgroup cols="1"><tbody><row><entry
14241162 align="char">
1425−<para>int ioctl(fd, int request = AUDIO_SET_STREAMTYPE,
1163+<para>int ioctl(fd, int request = AUDIO_SET_KARAOKE,
14261164 audio_karaoke_t &#x22C6;karaoke);</para>
14271165 </entry>
14281166 </row></tbody></tgroup></informaltable>
@@ -1440,7 +1178,7 @@ role="subsection"><title>AUDIO_SET_KARAOKE</title> · 11 unmodified lines
14401178 <para>int request</para>
14411179 </entry><entry
14421180 align="char">
1443−<para>Equals AUDIO_SET_STREAMTYPE for this
1181+<para>Equals AUDIO_SET_KARAOKE for this
14441182 command.</para>
14451183 </entry>
14461184 </row><row><entry
@@ -1452,17 +1190,9 @@ role="subsection"><title>AUDIO_SET_KARAOKE</title> · 5 unmodified lines
14521190 <para>karaoke settings according to section ??.</para>
14531191 </entry>
14541192 </row></tbody></tgroup></informaltable>
1455−<para>ERRORS
1456−</para>
1193+&return-value-dvb;
14571194 <informaltable><tgroup cols="2"><tbody><row><entry
14581195 align="char">
1459−<para>EBADF</para>
1460−</entry><entry
1461− align="char">
1462−<para>fd is not a valid open file descriptor</para>
1463−</entry>
1464− </row><row><entry
1465− align="char">
14661196 <para>EINVAL</para>
14671197 </entry><entry
14681198 align="char">
Documentation/DocBook/media/dvb/ca.xmlrenamed from Documentation/DocBook/dvb/ca.xml+60−52
@@ -8,75 +8,85 @@ including <emphasis role="tt">linux/dvb/ca.h</emphasis> in your application. · 7 unmodified lines
88 <title>CA Data Types</title>
99
1010
11−<section id="ca_slot_info_t">
11+<section id="ca-slot-info">
1212 <title>ca_slot_info_t</title>
1313 <programlisting>
14− /&#x22C6; slot interface types and info &#x22C6;/
14+typedef struct ca_slot_info {
15+ int num; /&#x22C6; slot number &#x22C6;/
1516
16− typedef struct ca_slot_info_s {
17− int num; /&#x22C6; slot number &#x22C6;/
17+ int type; /&#x22C6; CA interface this slot supports &#x22C6;/
18+#define CA_CI 1 /&#x22C6; CI high level interface &#x22C6;/
19+#define CA_CI_LINK 2 /&#x22C6; CI link layer level interface &#x22C6;/
20+#define CA_CI_PHYS 4 /&#x22C6; CI physical layer level interface &#x22C6;/
21+#define CA_DESCR 8 /&#x22C6; built-in descrambler &#x22C6;/
22+#define CA_SC 128 /&#x22C6; simple smart card interface &#x22C6;/
1823
19− int type; /&#x22C6; CA interface this slot supports &#x22C6;/
20− #define CA_CI 1 /&#x22C6; CI high level interface &#x22C6;/
21− #define CA_CI_LINK 2 /&#x22C6; CI link layer level interface &#x22C6;/
22− #define CA_CI_PHYS 4 /&#x22C6; CI physical layer level interface &#x22C6;/
23− #define CA_SC 128 /&#x22C6; simple smart card interface &#x22C6;/
24−
25− unsigned int flags;
26− #define CA_CI_MODULE_PRESENT 1 /&#x22C6; module (or card) inserted &#x22C6;/
27− #define CA_CI_MODULE_READY 2
28− } ca_slot_info_t;
24+ unsigned int flags;
25+#define CA_CI_MODULE_PRESENT 1 /&#x22C6; module (or card) inserted &#x22C6;/
26+#define CA_CI_MODULE_READY 2
27+} ca_slot_info_t;
2928 </programlisting>
3029
3130 </section>
32−<section id="ca_descr_info_t">
31+<section id="ca-descr-info">
3332 <title>ca_descr_info_t</title>
34− <programlisting>
35− typedef struct ca_descr_info_s {
36− unsigned int num; /&#x22C6; number of available descramblers (keys) &#x22C6;/
37− unsigned int type; /&#x22C6; type of supported scrambling system &#x22C6;/
38− #define CA_ECD 1
39− #define CA_NDS 2
40− #define CA_DSS 4
41− } ca_descr_info_t;
33+<programlisting>
34+typedef struct ca_descr_info {
35+ unsigned int num; /&#x22C6; number of available descramblers (keys) &#x22C6;/
36+ unsigned int type; /&#x22C6; type of supported scrambling system &#x22C6;/
37+#define CA_ECD 1
38+#define CA_NDS 2
39+#define CA_DSS 4
40+} ca_descr_info_t;
4241 </programlisting>
4342
4443 </section>
45−<section id="ca_cap_t">
46−<title>ca_cap_t</title>
47− <programlisting>
48− typedef struct ca_cap_s {
49− unsigned int slot_num; /&#x22C6; total number of CA card and module slots &#x22C6;/
50− unsigned int slot_type; /&#x22C6; OR of all supported types &#x22C6;/
51− unsigned int descr_num; /&#x22C6; total number of descrambler slots (keys) &#x22C6;/
52− unsigned int descr_type;/&#x22C6; OR of all supported types &#x22C6;/
44+<section id="ca-caps">
45+<title>ca_caps_t</title>
46+<programlisting>
47+typedef struct ca_caps {
48+ unsigned int slot_num; /&#x22C6; total number of CA card and module slots &#x22C6;/
49+ unsigned int slot_type; /&#x22C6; OR of all supported types &#x22C6;/
50+ unsigned int descr_num; /&#x22C6; total number of descrambler slots (keys) &#x22C6;/
51+ unsigned int descr_type;/&#x22C6; OR of all supported types &#x22C6;/
5352 } ca_cap_t;
5453 </programlisting>
5554
5655 </section>
57−<section id="ca_msg_t">
56+<section id="ca-msg">
5857 <title>ca_msg_t</title>
59− <programlisting>
60− /&#x22C6; a message to/from a CI-CAM &#x22C6;/
61− typedef struct ca_msg_s {
62− unsigned int index;
63− unsigned int type;
64− unsigned int length;
65− unsigned char msg[256];
66− } ca_msg_t;
58+<programlisting>
59+/&#x22C6; a message to/from a CI-CAM &#x22C6;/
60+typedef struct ca_msg {
61+ unsigned int index;
62+ unsigned int type;
63+ unsigned int length;
64+ unsigned char msg[256];
65+} ca_msg_t;
6766 </programlisting>
6867
6968 </section>
70−<section id="ca_descr_t">
69+<section id="ca-descr">
7170 <title>ca_descr_t</title>
72− <programlisting>
73− typedef struct ca_descr_s {
74− unsigned int index;
75− unsigned int parity;
76− unsigned char cw[8];
77− } ca_descr_t;
71+<programlisting>
72+typedef struct ca_descr {
73+ unsigned int index;
74+ unsigned int parity;
75+ unsigned char cw[8];
76+} ca_descr_t;
7877 </programlisting>
79− </section></section>
78+</section>
79+
80+<section id="ca-pid">
81+<title>ca-pid</title>
82+<programlisting>
83+typedef struct ca_pid {
84+ unsigned int pid;
85+ int index; /&#x22C6; -1 == disable&#x22C6;/
86+} ca_pid_t;
87+</programlisting>
88+</section></section>
89+
8090 <section id="ca_function_calls">
8191 <title>CA Function Calls</title>
8292
@@ -148,8 +158,7 @@ including <emphasis role="tt">linux/dvb/ca.h</emphasis> in your application. · 65 unmodified lines
148158 <para>(blocking mode is the default)</para>
149159 </entry>
150160 </row></tbody></tgroup></informaltable>
151−<para>ERRORS
152−</para>
161+<para>RETURN VALUE</para>
153162 <informaltable><tgroup cols="2"><tbody><row><entry
154163 align="char">
155164 <para>ENODEV</para>
@@ -207,8 +216,7 @@ including <emphasis role="tt">linux/dvb/ca.h</emphasis> in your application. · 51 unmodified lines
207216 <para>File descriptor returned by a previous call to open().</para>
208217 </entry>
209218 </row></tbody></tgroup></informaltable>
210−<para>ERRORS
211−</para>
219+<para>RETURN VALUE</para>
212220 <informaltable><tgroup cols="2"><tbody><row><entry
213221 align="char">
214222 <para>EBADF</para>
Documentation/DocBook/media/dvb/demux.xmlrenamed from Documentation/DocBook/dvb/demux.xml+128−199
@@ -7,15 +7,19 @@ accessed by including <emphasis role="tt">linux/dvb/dmx.h</emphasis> in your app · 6 unmodified lines
77 <section id="dmx_types">
88 <title>Demux Data Types</title>
99
10−<section id="dmx_output_t">
10+<section id="dmx-output-t">
1111 <title>dmx_output_t</title>
12− <programlisting>
13− typedef enum
14− {
15− DMX_OUT_DECODER,
16− DMX_OUT_TAP,
17− DMX_OUT_TS_TAP
18− } dmx_output_t;
12+<programlisting>
13+typedef enum
14+{
15+ DMX_OUT_DECODER, /&#x22C6; Streaming directly to decoder. &#x22C6;/
16+ DMX_OUT_TAP, /&#x22C6; Output going to a memory buffer &#x22C6;/
17+ /&#x22C6; (to be retrieved via the read command).&#x22C6;/
18+ DMX_OUT_TS_TAP, /&#x22C6; Output multiplexed into a new TS &#x22C6;/
19+ /&#x22C6; (to be retrieved by reading from the &#x22C6;/
20+ /&#x22C6; logical DVR device). &#x22C6;/
21+ DMX_OUT_TSDEMUX_TAP /&#x22C6; Like TS_TAP but retrieved from the DMX device &#x22C6;/
22+} dmx_output_t;
1923 </programlisting>
2024 <para><emphasis role="tt">DMX_OUT_TAP</emphasis> delivers the stream output to the demux device on which the ioctl is
2125 called.
@@ -26,96 +30,95 @@ specified. · 4 unmodified lines
2630 </para>
2731 </section>
2832
29−<section id="dmx_input_t">
33+<section id="dmx-input-t">
3034 <title>dmx_input_t</title>
31− <programlisting>
32− typedef enum
33− {
34− DMX_IN_FRONTEND,
35− DMX_IN_DVR
36− } dmx_input_t;
35+<programlisting>
36+typedef enum
37+{
38+ DMX_IN_FRONTEND, /&#x22C6; Input from a front-end device. &#x22C6;/
39+ DMX_IN_DVR /&#x22C6; Input from the logical DVR device. &#x22C6;/
40+} dmx_input_t;
3741 </programlisting>
3842 </section>
3943
40−<section id="dmx_pes_type_t">
44+<section id="dmx-pes-type-t">
4145 <title>dmx_pes_type_t</title>
42− <programlisting>
43− typedef enum
44− {
45− DMX_PES_AUDIO,
46− DMX_PES_VIDEO,
47− DMX_PES_TELETEXT,
48− DMX_PES_SUBTITLE,
49− DMX_PES_PCR,
50− DMX_PES_OTHER
51− } dmx_pes_type_t;
52−</programlisting>
53−</section>
46+<programlisting>
47+typedef enum
48+{
49+ DMX_PES_AUDIO0,
50+ DMX_PES_VIDEO0,
51+ DMX_PES_TELETEXT0,
52+ DMX_PES_SUBTITLE0,
53+ DMX_PES_PCR0,
5454
55−<section id="dmx_event_t">
56−<title>dmx_event_t</title>
57− <programlisting>
58− typedef enum
59− {
60− DMX_SCRAMBLING_EV,
61− DMX_FRONTEND_EV
62− } dmx_event_t;
63−</programlisting>
64−</section>
55+ DMX_PES_AUDIO1,
56+ DMX_PES_VIDEO1,
57+ DMX_PES_TELETEXT1,
58+ DMX_PES_SUBTITLE1,
59+ DMX_PES_PCR1,
6560
66−<section id="dmx_scrambling_status_t">
67−<title>dmx_scrambling_status_t</title>
68− <programlisting>
69− typedef enum
70− {
71− DMX_SCRAMBLING_OFF,
72− DMX_SCRAMBLING_ON
73− } dmx_scrambling_status_t;
61+ DMX_PES_AUDIO2,
62+ DMX_PES_VIDEO2,
63+ DMX_PES_TELETEXT2,
64+ DMX_PES_SUBTITLE2,
65+ DMX_PES_PCR2,
66+
67+ DMX_PES_AUDIO3,
68+ DMX_PES_VIDEO3,
69+ DMX_PES_TELETEXT3,
70+ DMX_PES_SUBTITLE3,
71+ DMX_PES_PCR3,
72+
73+ DMX_PES_OTHER
74+} dmx_pes_type_t;
7475 </programlisting>
7576 </section>
7677
77−<section id="dmx_filter">
78+<section id="dmx-filter">
7879 <title>struct dmx_filter</title>
7980 <programlisting>
8081 typedef struct dmx_filter
81− {
82− uint8_t filter[DMX_FILTER_SIZE];
83− uint8_t mask[DMX_FILTER_SIZE];
84− } dmx_filter_t;
82+{
83+ __u8 filter[DMX_FILTER_SIZE];
84+ __u8 mask[DMX_FILTER_SIZE];
85+ __u8 mode[DMX_FILTER_SIZE];
86+} dmx_filter_t;
8587 </programlisting>
8688 </section>
8789
88−<section id="dmx_sct_filter_params">
90+<section id="dmx-sct-filter-params">
8991 <title>struct dmx_sct_filter_params</title>
90− <programlisting>
91− struct dmx_sct_filter_params
92− {
93− uint16_t pid;
94− dmx_filter_t filter;
95− uint32_t timeout;
96− uint32_t flags;
97− #define DMX_CHECK_CRC 1
98− #define DMX_ONESHOT 2
99− #define DMX_IMMEDIATE_START 4
100− };
92+<programlisting>
93+struct dmx_sct_filter_params
94+{
95+ __u16 pid;
96+ dmx_filter_t filter;
97+ __u32 timeout;
98+ __u32 flags;
99+#define DMX_CHECK_CRC 1
100+#define DMX_ONESHOT 2
101+#define DMX_IMMEDIATE_START 4
102+#define DMX_KERNEL_CLIENT 0x8000
103+};
101104 </programlisting>
102105 </section>
103106
104−<section id="dmx_pes_filter_params">
107+<section id="dmx-pes-filter-params">
105108 <title>struct dmx_pes_filter_params</title>
106− <programlisting>
107− struct dmx_pes_filter_params
108− {
109− uint16_t pid;
110− dmx_input_t input;
111− dmx_output_t output;
112− dmx_pes_type_t pes_type;
113− uint32_t flags;
114− };
109+<programlisting>
110+struct dmx_pes_filter_params
111+{
112+ __u16 pid;
113+ dmx_input_t input;
114+ dmx_output_t output;
115+ dmx_pes_type_t pes_type;
116+ __u32 flags;
117+};
115118 </programlisting>
116119 </section>
117120
118−<section id="dmx_event">
121+<section id="dmx-event">
119122 <title>struct dmx_event</title>
120123 <programlisting>
121124 struct dmx_event
@@ -130,19 +133,44 @@ specified. · 8 unmodified lines
130133 </programlisting>
131134 </section>
132135
133−<section id="dmx_stc">
136+<section id="dmx-stc">
134137 <title>struct dmx_stc</title>
135− <programlisting>
136− struct dmx_stc {
137− unsigned int num; /&#x22C6; input : which STC? 0..N &#x22C6;/
138− unsigned int base; /&#x22C6; output: divisor for stc to get 90 kHz clock &#x22C6;/
139− uint64_t stc; /&#x22C6; output: stc in 'base'&#x22C6;90 kHz units &#x22C6;/
140− };
138+<programlisting>
139+struct dmx_stc {
140+ unsigned int num; /&#x22C6; input : which STC? 0..N &#x22C6;/
141+ unsigned int base; /&#x22C6; output: divisor for stc to get 90 kHz clock &#x22C6;/
142+ __u64 stc; /&#x22C6; output: stc in 'base'&#x22C6;90 kHz units &#x22C6;/
143+};
141144 </programlisting>
142− </section>
145+</section>
143146
147+<section id="dmx-caps">
148+<title>struct dmx_caps</title>
149+<programlisting>
150+ typedef struct dmx_caps {
151+ __u32 caps;
152+ int num_decoders;
153+} dmx_caps_t;
154+</programlisting>
155+</section>
156+
157+<section id="dmx-source-t">
158+<title>enum dmx_source_t</title>
159+<programlisting>
160+typedef enum {
161+ DMX_SOURCE_FRONT0 = 0,
162+ DMX_SOURCE_FRONT1,
163+ DMX_SOURCE_FRONT2,
164+ DMX_SOURCE_FRONT3,
165+ DMX_SOURCE_DVR0 = 16,
166+ DMX_SOURCE_DVR1,
167+ DMX_SOURCE_DVR2,
168+ DMX_SOURCE_DVR3
169+} dmx_source_t;
170+</programlisting>
144171 </section>
145172
173+</section>
146174 <section id="dmx_fcalls">
147175 <title>Demux Function Calls</title>
148176
@@ -211,8 +239,7 @@ specified. · 62 unmodified lines
211239 <para>(blocking mode is the default)</para>
212240 </entry>
213241 </row></tbody></tgroup></informaltable>
214−<para>ERRORS
215−</para>
242+<para>RETURN VALUE</para>
216243 <informaltable><tgroup cols="2"><tbody><row><entry
217244 align="char">
218245 <para>ENODEV</para>
@@ -271,8 +298,7 @@ specified. · 52 unmodified lines
271298 <para>File descriptor returned by a previous call to open().</para>
272299 </entry>
273300 </row></tbody></tgroup></informaltable>
274−<para>ERRORS
275−</para>
301+<para>RETURN VALUE</para>
276302 <informaltable><tgroup cols="2"><tbody><row><entry
277303 align="char">
278304 <para>EBADF</para>
@@ -353,8 +379,7 @@ specified. · 74 unmodified lines
353379 <para>Size of buf.</para>
354380 </entry>
355381 </row></tbody></tgroup></informaltable>
356−<para>ERRORS
357−</para>
382+<para>RETURN VALUE</para>
358383 <informaltable><tgroup cols="2"><tbody><row><entry
359384 align="char">
360385 <para>EWOULDBLOCK</para>
@@ -457,8 +482,7 @@ specified. · 96 unmodified lines
457482 <para>Size of buf.</para>
458483 </entry>
459484 </row></tbody></tgroup></informaltable>
460−<para>ERRORS
461−</para>
485+<para>RETURN VALUE</para>
462486 <informaltable><tgroup cols="2"><tbody><row><entry
463487 align="char">
464488 <para>EWOULDBLOCK</para>
@@ -491,7 +515,7 @@ specified. · 26 unmodified lines
491515 </row></tbody></tgroup></informaltable>
492516 </section>
493517
494−<section id="dmx_start">
518+<section id="DMX_START">
495519 <title>DMX_START</title>
496520 <para>DESCRIPTION
497521 </para>
@@ -525,17 +549,9 @@ specified. · 27 unmodified lines
525549 <para>Equals DMX_START for this command.</para>
526550 </entry>
527551 </row></tbody></tgroup></informaltable>
528−<para>ERRORS
529−</para>
552+&return-value-dvb;
530553 <informaltable><tgroup cols="2"><tbody><row><entry
531554 align="char">
532−<para>EBADF</para>
533−</entry><entry
534− align="char">
535−<para>fd is not a valid file descriptor.</para>
536−</entry>
537− </row><row><entry
538− align="char">
539555 <para>EINVAL</para>
540556 </entry><entry
541557 align="char">
@@ -556,7 +572,7 @@ specified. · 14 unmodified lines
556572 </row></tbody></tgroup></informaltable>
557573 </section>
558574
559−<section id="dmx_stop">
575+<section id="DMX_STOP">
560576 <title>DMX_STOP</title>
561577 <para>DESCRIPTION
562578 </para>
@@ -591,19 +607,10 @@ specified. · 28 unmodified lines
591607 <para>Equals DMX_STOP for this command.</para>
592608 </entry>
593609 </row></tbody></tgroup></informaltable>
594−<para>ERRORS
595−</para>
596−<informaltable><tgroup cols="2"><tbody><row><entry
597− align="char">
598−<para>EBADF</para>
599−</entry><entry
600− align="char">
601−<para>fd is not a valid file descriptor.</para>
602−</entry>
603− </row></tbody></tgroup></informaltable>
610+&return-value-dvb;
604611 </section>
605612
606−<section id="dmx_set_filter">
613+<section id="DMX_SET_FILTER">
607614 <title>DMX_SET_FILTER</title>
608615 <para>DESCRIPTION
609616 </para>
@@ -654,26 +661,10 @@ specified. · 44 unmodified lines
654661 <para>Pointer to structure containing filter parameters.</para>
655662 </entry>
656663 </row></tbody></tgroup></informaltable>
657−<para>ERRORS
658−</para>
659−<informaltable><tgroup cols="2"><tbody><row><entry
660− align="char">
661−<para>EBADF</para>
662−</entry><entry
663− align="char">
664−<para>fd is not a valid file descriptor.</para>
665−</entry>
666− </row><row><entry
667− align="char">
668−<para>EINVAL</para>
669−</entry><entry
670− align="char">
671−<para>Invalid argument.</para>
672−</entry>
673− </row></tbody></tgroup></informaltable>
664+&return-value-dvb;
674665 </section>
675666
676−<section id="dmx_set_pes_filter">
667+<section id="DMX_SET_PES_FILTER">
677668 <title>DMX_SET_PES_FILTER</title>
678669 <para>DESCRIPTION
679670 </para>
@@ -727,24 +718,9 @@ specified. · 47 unmodified lines
727718 <para>Pointer to structure containing filter parameters.</para>
728719 </entry>
729720 </row></tbody></tgroup></informaltable>
730−<para>ERRORS
731−</para>
721+&return-value-dvb;
732722 <informaltable><tgroup cols="2"><tbody><row><entry
733723 align="char">
734−<para>EBADF</para>
735−</entry><entry
736− align="char">
737−<para>fd is not a valid file descriptor.</para>
738−</entry>
739− </row><row><entry
740− align="char">
741−<para>EINVAL</para>
742−</entry><entry
743− align="char">
744−<para>Invalid argument.</para>
745−</entry>
746− </row><row><entry
747− align="char">
748724 <para>EBUSY</para>
749725 </entry><entry
750726 align="char">
@@ -756,7 +732,7 @@ specified. · 5 unmodified lines
756732 </row></tbody></tgroup></informaltable>
757733 </section>
758734
759−<section id="dms_set_buffer_size">
735+<section id="DMX_SET_BUFFER_SIZE">
760736 <title>DMX_SET_BUFFER_SIZE</title>
761737 <para>DESCRIPTION
762738 </para>
@@ -799,27 +775,10 @@ specified. · 36 unmodified lines
799775 <para>Size of circular buffer.</para>
800776 </entry>
801777 </row></tbody></tgroup></informaltable>
802−<para>ERRORS
803−</para>
804−<informaltable><tgroup cols="2"><tbody><row><entry
805− align="char">
806−<para>EBADF</para>
807−</entry><entry
808− align="char">
809−<para>fd is not a valid file descriptor.</para>
810−</entry>
811− </row><row><entry
812− align="char">
813−<para>ENOMEM</para>
814−</entry><entry
815− align="char">
816−<para>The driver was not able to allocate a buffer of the
817− requested size.</para>
818−</entry>
819− </row></tbody></tgroup></informaltable>
778+&return-value-dvb;
820779 </section>
821780
822−<section id="dmx_get_event">
781+<section id="DMX_GET_EVENT">
823782 <title>DMX_GET_EVENT</title>
824783 <para>DESCRIPTION
825784 </para>
@@ -872,24 +831,9 @@ specified. · 46 unmodified lines
872831 <para>Pointer to the location where the event is to be stored.</para>
873832 </entry>
874833 </row></tbody></tgroup></informaltable>
875−<para>ERRORS
876−</para>
834+&return-value-dvb;
877835 <informaltable><tgroup cols="2"><tbody><row><entry
878836 align="char">
879−<para>EBADF</para>
880−</entry><entry
881− align="char">
882−<para>fd is not a valid file descriptor.</para>
883−</entry>
884− </row><row><entry
885− align="char">
886−<para>EFAULT</para>
887−</entry><entry
888− align="char">
889−<para>ev points to an invalid address.</para>
890−</entry>
891− </row><row><entry
892− align="char">
893837 <para>EWOULDBLOCK</para>
894838 </entry><entry
895839 align="char">
@@ -899,7 +843,7 @@ specified. · 3 unmodified lines
899843 </row></tbody></tgroup></informaltable>
900844 </section>
901845
902−<section id="dmx_get_stc">
846+<section id="DMX_GET_STC">
903847 <title>DMX_GET_STC</title>
904848 <para>DESCRIPTION
905849 </para>
@@ -946,24 +890,9 @@ specified. · 40 unmodified lines
946890 <para>Pointer to the location where the stc is to be stored.</para>
947891 </entry>
948892 </row></tbody></tgroup></informaltable>
949−<para>ERRORS
950−</para>
893+&return-value-dvb;
951894 <informaltable><tgroup cols="2"><tbody><row><entry
952895 align="char">
953−<para>EBADF</para>
954−</entry><entry
955− align="char">
956−<para>fd is not a valid file descriptor.</para>
957−</entry>
958− </row><row><entry
959− align="char">
960−<para>EFAULT</para>
961−</entry><entry
962− align="char">
963−<para>stc points to an invalid address.</para>
964−</entry>
965− </row><row><entry
966− align="char">
967896 <para>EINVAL</para>
968897 </entry><entry
969898 align="char">
Documentation/DocBook/media/dvb/dvbapi.xmlrenamed from Documentation/DocBook/dvb/dvbapi.xml+20−0
@@ -114,8 +114,28 @@ Added ISDB-T test originally written by Patrick Boettcher · 113 unmodified lines
114114 &sub-examples;
115115 </chapter>
116116 <!-- END OF CHAPTERS -->
117+ <appendix id="audio_h">
118+ <title>DVB Audio Header File</title>
119+ &sub-audio-h;
120+ </appendix>
121+ <appendix id="ca_h">
122+ <title>DVB Conditional Access Header File</title>
123+ &sub-ca-h;
124+ </appendix>
125+ <appendix id="dmx_h">
126+ <title>DVB Demux Header File</title>
127+ &sub-dmx-h;
128+ </appendix>
117129 <appendix id="frontend_h">
118130 <title>DVB Frontend Header File</title>
119131 &sub-frontend-h;
120132 </appendix>
133+ <appendix id="net_h">
134+ <title>DVB Network Header File</title>
135+ &sub-net-h;
136+ </appendix>
137+ <appendix id="video_h">
138+ <title>DVB Video Header File</title>
139+ &sub-video-h;
140+ </appendix>
121141
Documentation/DocBook/media/dvb/dvbproperty.xml+859−0
@@ -0,0 +1,859 @@
1+<section id="FE_GET_SET_PROPERTY">
2+<title><constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></title>
3+<para>This section describes the DVB version 5 extention of the DVB-API, also
4+called "S2API", as this API were added to provide support for DVB-S2. It was
5+designed to be able to replace the old frontend API. Yet, the DISEQC and
6+the capability ioctls weren't implemented yet via the new way.</para>
7+<para>The typical usage for the <constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant>
8+API is to replace the ioctl's were the <link linkend="dvb-frontend-parameters">
9+struct <constant>dvb_frontend_parameters</constant></link> were used.</para>
10+<section id="dtv-property">
11+<title>DTV property type</title>
12+<programlisting>
13+/* Reserved fields should be set to 0 */
14+struct dtv_property {
15+ __u32 cmd;
16+ union {
17+ __u32 data;
18+ struct {
19+ __u8 data[32];
20+ __u32 len;
21+ __u32 reserved1[3];
22+ void *reserved2;
23+ } buffer;
24+ } u;
25+ int result;
26+} __attribute__ ((packed));
27+
28+/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
29+#define DTV_IOCTL_MAX_MSGS 64
30+</programlisting>
31+</section>
32+<section id="dtv-properties">
33+<title>DTV properties type</title>
34+<programlisting>
35+struct dtv_properties {
36+ __u32 num;
37+ struct dtv_property *props;
38+};
39+</programlisting>
40+</section>
41+
42+<section id="FE_GET_PROPERTY">
43+<title>FE_GET_PROPERTY</title>
44+<para>DESCRIPTION
45+</para>
46+<informaltable><tgroup cols="1"><tbody><row><entry
47+ align="char">
48+<para>This ioctl call returns one or more frontend properties. This call only
49+ requires read-only access to the device.</para>
50+</entry>
51+ </row></tbody></tgroup></informaltable>
52+<para>SYNOPSIS
53+</para>
54+<informaltable><tgroup cols="1"><tbody><row><entry
55+ align="char">
56+<para>int ioctl(int fd, int request = <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>,
57+ dtv_properties &#x22C6;props);</para>
58+</entry>
59+ </row></tbody></tgroup></informaltable>
60+<para>PARAMETERS
61+</para>
62+<informaltable><tgroup cols="2"><tbody><row><entry align="char">
63+<para>int fd</para>
64+</entry><entry
65+ align="char">
66+<para>File descriptor returned by a previous call to open().</para>
67+</entry>
68+ </row><row><entry
69+ align="char">
70+<para>int num</para>
71+</entry><entry
72+ align="char">
73+<para>Equals <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link> for this command.</para>
74+</entry>
75+ </row><row><entry
76+ align="char">
77+<para>struct dtv_property *props</para>
78+</entry><entry
79+ align="char">
80+<para>Points to the location where the front-end property commands are stored.</para>
81+</entry>
82+ </row></tbody></tgroup></informaltable>
83+&return-value-dvb;
84+<informaltable><tgroup cols="2"><tbody><row>
85+ <entry align="char"><para>EOPNOTSUPP</para></entry>
86+ <entry align="char"><para>Property type not supported.</para></entry>
87+ </row></tbody></tgroup></informaltable>
88+</section>
89+
90+<section id="FE_SET_PROPERTY">
91+<title>FE_SET_PROPERTY</title>
92+<para>DESCRIPTION
93+</para>
94+<informaltable><tgroup cols="1"><tbody><row><entry
95+ align="char">
96+<para>This ioctl call sets one or more frontend properties. This call only
97+ requires read-only access to the device.</para>
98+</entry>
99+ </row></tbody></tgroup></informaltable>
100+<para>SYNOPSIS
101+</para>
102+<informaltable><tgroup cols="1"><tbody><row><entry
103+ align="char">
104+<para>int ioctl(int fd, int request = <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
105+ dtv_properties &#x22C6;props);</para>
106+</entry>
107+ </row></tbody></tgroup></informaltable>
108+<para>PARAMETERS
109+</para>
110+<informaltable><tgroup cols="2"><tbody><row><entry align="char">
111+<para>int fd</para>
112+</entry><entry
113+ align="char">
114+<para>File descriptor returned by a previous call to open().</para>
115+</entry>
116+ </row><row><entry
117+ align="char">
118+<para>int num</para>
119+</entry><entry
120+ align="char">
121+<para>Equals <link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link> for this command.</para>
122+</entry>
123+ </row><row><entry
124+ align="char">
125+<para>struct dtv_property *props</para>
126+</entry><entry
127+ align="char">
128+<para>Points to the location where the front-end property commands are stored.</para>
129+</entry>
130+ </row></tbody></tgroup></informaltable>
131+&return-value-dvb;
132+<informaltable><tgroup cols="2"><tbody><row>
133+ <entry align="char"><para>EOPNOTSUPP</para></entry>
134+ <entry align="char"><para>Property type not supported.</para></entry>
135+ </row></tbody></tgroup></informaltable>
136+</section>
137+
138+<section>
139+ <title>Property types</title>
140+<para>
141+On <link linkend="FE_GET_PROPERTY">FE_GET_PROPERTY</link>/<link linkend="FE_SET_PROPERTY">FE_SET_PROPERTY</link>,
142+the actual action is determined by the dtv_property cmd/data pairs. With one single ioctl, is possible to
143+get/set up to 64 properties. The actual meaning of each property is described on the next sections.
144+</para>
145+
146+<para>The available frontend property types are shown on the next section.</para>
147+</section>
148+
149+<section id="fe_property_parameters">
150+ <title>Digital TV property parameters</title>
151+ <section id="DTV-UNDEFINED">
152+ <title><constant>DTV_UNDEFINED</constant></title>
153+ <para>Used internally. A GET/SET operation for it won't change or return anything.</para>
154+ </section>
155+ <section id="DTV-TUNE">
156+ <title><constant>DTV_TUNE</constant></title>
157+ <para>Interpret the cache of data, build either a traditional frontend tunerequest so we can pass validation in the <constant>FE_SET_FRONTEND</constant> ioctl.</para>
158+ </section>
159+ <section id="DTV-CLEAR">
160+ <title><constant>DTV_CLEAR</constant></title>
161+ <para>Reset a cache of data specific to the frontend here. This does not effect hardware.</para>
162+ </section>
163+ <section id="DTV-FREQUENCY">
164+ <title><constant>DTV_FREQUENCY</constant></title>
165+
166+ <para>Central frequency of the channel, in HZ.</para>
167+
168+ <para>Notes:</para>
169+ <para>1)For ISDB-T, the channels are usually transmitted with an offset of 143kHz.
170+ E.g. a valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of
171+ the channel which is 6MHz.</para>
172+
173+ <para>2)As in ISDB-Tsb the channel consists of only one or three segments the
174+ frequency step is 429kHz, 3*429 respectively. As for ISDB-T the
175+ central frequency of the channel is expected.</para>
176+ </section>
177+ <section id="DTV-MODULATION">
178+ <title><constant>DTV_MODULATION</constant></title>
179+<para>Specifies the frontend modulation type for cable and satellite types. The modulation can be one of the types bellow:</para>
180+<programlisting>
181+ typedef enum fe_modulation {
182+ QPSK,
183+ QAM_16,
184+ QAM_32,
185+ QAM_64,
186+ QAM_128,
187+ QAM_256,
188+ QAM_AUTO,
189+ VSB_8,
190+ VSB_16,
191+ PSK_8,
192+ APSK_16,
193+ APSK_32,
194+ DQPSK,
195+ } fe_modulation_t;
196+</programlisting>
197+ </section>
198+ <section id="DTV-BANDWIDTH-HZ">
199+ <title><constant>DTV_BANDWIDTH_HZ</constant></title>
200+
201+ <para>Bandwidth for the channel, in HZ.</para>
202+
203+ <para>Possible values:
204+ <constant>1712000</constant>,
205+ <constant>5000000</constant>,
206+ <constant>6000000</constant>,
207+ <constant>7000000</constant>,
208+ <constant>8000000</constant>,
209+ <constant>10000000</constant>.
210+ </para>
211+
212+ <para>Notes:</para>
213+
214+ <para>1) For ISDB-T it should be always 6000000Hz (6MHz)</para>
215+ <para>2) For ISDB-Tsb it can vary depending on the number of connected segments</para>
216+ <para>3) Bandwidth doesn't apply for DVB-C transmissions, as the bandwidth
217+ for DVB-C depends on the symbol rate</para>
218+ <para>4) Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from
219+ other parameters (DTV_ISDBT_SB_SEGMENT_IDX,
220+ DTV_ISDBT_SB_SEGMENT_COUNT).</para>
221+ <para>5) DVB-T supports 6, 7 and 8MHz.</para>
222+ <para>6) In addition, DVB-T2 supports 1.172, 5 and 10MHz.</para>
223+ </section>
224+ <section id="DTV-INVERSION">
225+ <title><constant>DTV_INVERSION</constant></title>
226+ <para>The Inversion field can take one of these values:
227+ </para>
228+ <programlisting>
229+ typedef enum fe_spectral_inversion {
230+ INVERSION_OFF,
231+ INVERSION_ON,
232+ INVERSION_AUTO
233+ } fe_spectral_inversion_t;
234+ </programlisting>
235+ <para>It indicates if spectral inversion should be presumed or not. In the automatic setting
236+ (<constant>INVERSION_AUTO</constant>) the hardware will try to figure out the correct setting by
237+ itself.
238+ </para>
239+ </section>
240+ <section id="DTV-DISEQC-MASTER">
241+ <title><constant>DTV_DISEQC_MASTER</constant></title>
242+ <para>Currently not implemented.</para>
243+ </section>
244+ <section id="DTV-SYMBOL-RATE">
245+ <title><constant>DTV_SYMBOL_RATE</constant></title>
246+ <para>Digital TV symbol rate, in bauds (symbols/second). Used on cable standards.</para>
247+ </section>
248+ <section id="DTV-INNER-FEC">
249+ <title><constant>DTV_INNER_FEC</constant></title>
250+ <para>Used cable/satellite transmissions. The acceptable values are:
251+ </para>
252+ <programlisting>
253+typedef enum fe_code_rate {
254+ FEC_NONE = 0,
255+ FEC_1_2,
256+ FEC_2_3,
257+ FEC_3_4,
258+ FEC_4_5,
259+ FEC_5_6,
260+ FEC_6_7,
261+ FEC_7_8,
262+ FEC_8_9,
263+ FEC_AUTO,
264+ FEC_3_5,
265+ FEC_9_10,
266+} fe_code_rate_t;
267+ </programlisting>
268+ <para>which correspond to error correction rates of 1/2, 2/3, etc.,
269+ no error correction or auto detection.</para>
270+ </section>
271+ <section id="DTV-VOLTAGE">
272+ <title><constant>DTV_VOLTAGE</constant></title>
273+ <para>The voltage is usually used with non-DiSEqC capable LNBs to switch
274+ the polarzation (horizontal/vertical). When using DiSEqC epuipment this
275+ voltage has to be switched consistently to the DiSEqC commands as
276+ described in the DiSEqC spec.</para>
277+ <programlisting>
278+ typedef enum fe_sec_voltage {
279+ SEC_VOLTAGE_13,
280+ SEC_VOLTAGE_18
281+ } fe_sec_voltage_t;
282+ </programlisting>
283+ </section>
284+ <section id="DTV-TONE">
285+ <title><constant>DTV_TONE</constant></title>
286+ <para>Currently not used.</para>
287+ </section>
288+ <section id="DTV-PILOT">
289+ <title><constant>DTV_PILOT</constant></title>
290+ <para>Sets DVB-S2 pilot</para>
291+ <section id="fe-pilot-t">
292+ <title>fe_pilot type</title>
293+ <programlisting>
294+typedef enum fe_pilot {
295+ PILOT_ON,
296+ PILOT_OFF,
297+ PILOT_AUTO,
298+} fe_pilot_t;
299+ </programlisting>
300+ </section>
301+ </section>
302+ <section id="DTV-ROLLOFF">
303+ <title><constant>DTV_ROLLOFF</constant></title>
304+ <para>Sets DVB-S2 rolloff</para>
305+
306+ <section id="fe-rolloff-t">
307+ <title>fe_rolloff type</title>
308+ <programlisting>
309+typedef enum fe_rolloff {
310+ ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */
311+ ROLLOFF_20,
312+ ROLLOFF_25,
313+ ROLLOFF_AUTO,
314+} fe_rolloff_t;
315+ </programlisting>
316+ </section>
317+ </section>
318+ <section id="DTV-DISEQC-SLAVE-REPLY">
319+ <title><constant>DTV_DISEQC_SLAVE_REPLY</constant></title>
320+ <para>Currently not implemented.</para>
321+ </section>
322+ <section id="DTV-FE-CAPABILITY-COUNT">
323+ <title><constant>DTV_FE_CAPABILITY_COUNT</constant></title>
324+ <para>Currently not implemented.</para>
325+ </section>
326+ <section id="DTV-FE-CAPABILITY">
327+ <title><constant>DTV_FE_CAPABILITY</constant></title>
328+ <para>Currently not implemented.</para>
329+ </section>
330+ <section id="DTV-DELIVERY-SYSTEM">
331+ <title><constant>DTV_DELIVERY_SYSTEM</constant></title>
332+ <para>Specifies the type of Delivery system</para>
333+ <section id="fe-delivery-system-t">
334+ <title>fe_delivery_system type</title>
335+ <para>Possible values: </para>
336+<programlisting>
337+typedef enum fe_delivery_system {
338+ SYS_UNDEFINED,
339+ SYS_DVBC_ANNEX_AC,
340+ SYS_DVBC_ANNEX_B,
341+ SYS_DVBT,
342+ SYS_DSS,
343+ SYS_DVBS,
344+ SYS_DVBS2,
345+ SYS_DVBH,
346+ SYS_ISDBT,
347+ SYS_ISDBS,
348+ SYS_ISDBC,
349+ SYS_ATSC,
350+ SYS_ATSCMH,
351+ SYS_DMBTH,
352+ SYS_CMMB,
353+ SYS_DAB,
354+ SYS_DVBT2,
355+} fe_delivery_system_t;
356+</programlisting>
357+ </section>
358+ </section>
359+ <section id="DTV-ISDBT-PARTIAL-RECEPTION">
360+ <title><constant>DTV_ISDBT_PARTIAL_RECEPTION</constant></title>
361+
362+ <para>If <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '0' this bit-field represents whether
363+ the channel is in partial reception mode or not.</para>
364+
365+ <para>If '1' <constant>DTV_ISDBT_LAYERA_*</constant> values are assigned to the center segment and
366+ <constant>DTV_ISDBT_LAYERA_SEGMENT_COUNT</constant> has to be '1'.</para>
367+
368+ <para>If in addition <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'
369+ <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> represents whether this ISDB-Tsb channel
370+ is consisting of one segment and layer or three segments and two layers.</para>
371+
372+ <para>Possible values: 0, 1, -1 (AUTO)</para>
373+ </section>
374+ <section id="DTV-ISDBT-SOUND-BROADCASTING">
375+ <title><constant>DTV_ISDBT_SOUND_BROADCASTING</constant></title>
376+
377+ <para>This field represents whether the other DTV_ISDBT_*-parameters are
378+ referring to an ISDB-T and an ISDB-Tsb channel. (See also
379+ <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>).</para>
380+
381+ <para>Possible values: 0, 1, -1 (AUTO)</para>
382+ </section>
383+ <section id="DTV-ISDBT-SB-SUBCHANNEL-ID">
384+ <title><constant>DTV_ISDBT_SB_SUBCHANNEL_ID</constant></title>
385+
386+ <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
387+
388+ <para>(Note of the author: This might not be the correct description of the
389+ <constant>SUBCHANNEL-ID</constant> in all details, but it is my understanding of the technical
390+ background needed to program a device)</para>
391+
392+ <para>An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
393+ set of connected ISDB-Tsb channels. In this set of channels every
394+ channel can be received independently. The number of connected
395+ ISDB-Tsb segment can vary, e.g. depending on the frequency spectrum
396+ bandwidth available.</para>
397+
398+ <para>Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
399+ broadcaster has several possibilities to put those channels in the
400+ air: Assuming a normal 13-segment ISDB-T spectrum he can align the 8
401+ segments from position 1-8 to 5-13 or anything in between.</para>
402+
403+ <para>The underlying layer of segments are subchannels: each segment is
404+ consisting of several subchannels with a predefined IDs. A sub-channel
405+ is used to help the demodulator to synchronize on the channel.</para>
406+
407+ <para>An ISDB-T channel is always centered over all sub-channels. As for
408+ the example above, in ISDB-Tsb it is no longer as simple as that.</para>
409+
410+ <para><constant>The DTV_ISDBT_SB_SUBCHANNEL_ID</constant> parameter is used to give the
411+ sub-channel ID of the segment to be demodulated.</para>
412+
413+ <para>Possible values: 0 .. 41, -1 (AUTO)</para>
414+ </section>
415+ <section id="DTV-ISDBT-SB-SEGMENT-IDX">
416+ <title><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant></title>
417+ <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
418+ <para><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant> gives the index of the segment to be
419+ demodulated for an ISDB-Tsb channel where several of them are
420+ transmitted in the connected manner.</para>
421+ <para>Possible values: 0 .. <constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> - 1</para>
422+ <para>Note: This value cannot be determined by an automatic channel search.</para>
423+ </section>
424+ <section id="DTV-ISDBT-SB-SEGMENT-COUNT">
425+ <title><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant></title>
426+ <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para>
427+ <para><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> gives the total count of connected ISDB-Tsb
428+ channels.</para>
429+ <para>Possible values: 1 .. 13</para>
430+ <para>Note: This value cannot be determined by an automatic channel search.</para>
431+ </section>
432+ <section id="isdb-hierq-layers">
433+ <title><constant>DTV-ISDBT-LAYER*</constant> parameters</title>
434+ <para>ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
435+ ISDB-T hierarchical layers can be decoded simultaneously. For that
436+ reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders.</para>
437+ <para>ISDB-T has 3 hierarchical layers which each can use a part of the
438+ available segments. The total number of segments over all layers has
439+ to 13 in ISDB-T.</para>
440+ <para>There are 3 parameter sets, for Layers A, B and C.</para>
441+ <section id="DTV-ISDBT-LAYER-ENABLED">
442+ <title><constant>DTV_ISDBT_LAYER_ENABLED</constant></title>
443+ <para>Hierarchical reception in ISDB-T is achieved by enabling or disabling
444+ layers in the decoding process. Setting all bits of
445+ <constant>DTV_ISDBT_LAYER_ENABLED</constant> to '1' forces all layers (if applicable) to be
446+ demodulated. This is the default.</para>
447+ <para>If the channel is in the partial reception mode
448+ (<constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> = 1) the central segment can be decoded
449+ independently of the other 12 segments. In that mode layer A has to
450+ have a <constant>SEGMENT_COUNT</constant> of 1.</para>
451+ <para>In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb
452+ according to <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>. <constant>SEGMENT_COUNT</constant> must be filled
453+ accordingly.</para>
454+ <para>Possible values: 0x1, 0x2, 0x4 (|-able)</para>
455+ <para><constant>DTV_ISDBT_LAYER_ENABLED[0:0]</constant> - layer A</para>
456+ <para><constant>DTV_ISDBT_LAYER_ENABLED[1:1]</constant> - layer B</para>
457+ <para><constant>DTV_ISDBT_LAYER_ENABLED[2:2]</constant> - layer C</para>
458+ <para><constant>DTV_ISDBT_LAYER_ENABLED[31:3]</constant> unused</para>
459+ </section>
460+ <section id="DTV-ISDBT-LAYER-FEC">
461+ <title><constant>DTV_ISDBT_LAYER*_FEC</constant></title>
462+ <para>Possible values: <constant>FEC_AUTO</constant>, <constant>FEC_1_2</constant>, <constant>FEC_2_3</constant>, <constant>FEC_3_4</constant>, <constant>FEC_5_6</constant>, <constant>FEC_7_8</constant></para>
463+ </section>
464+ <section id="DTV-ISDBT-LAYER-MODULATION">
465+ <title><constant>DTV_ISDBT_LAYER*_MODULATION</constant></title>
466+ <para>Possible values: <constant>QAM_AUTO</constant>, QP<constant>SK, QAM_16</constant>, <constant>QAM_64</constant>, <constant>DQPSK</constant></para>
467+ <para>Note: If layer C is <constant>DQPSK</constant> layer B has to be <constant>DQPSK</constant>. If layer B is <constant>DQPSK</constant>
468+ and <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>=0 layer has to be <constant>DQPSK</constant>.</para>
469+ </section>
470+ <section id="DTV-ISDBT-LAYER-SEGMENT-COUNT">
471+ <title><constant>DTV_ISDBT_LAYER*_SEGMENT_COUNT</constant></title>
472+ <para>Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)</para>
473+ <para>Note: Truth table for <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> and
474+ <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> and <constant>LAYER</constant>*_SEGMENT_COUNT</para>
475+ <informaltable id="isdbt-layer_seg-cnt-table">
476+ <tgroup cols="6">
477+ <tbody>
478+ <row>
479+ <entry>PR</entry>
480+ <entry>SB</entry>
481+ <entry>Layer A width</entry>
482+ <entry>Layer B width</entry>
483+ <entry>Layer C width</entry>
484+ <entry>total width</entry>
485+ </row>
486+ <row>
487+ <entry>0</entry>
488+ <entry>0</entry>
489+ <entry>1 .. 13</entry>
490+ <entry>1 .. 13</entry>
491+ <entry>1 .. 13</entry>
492+ <entry>13</entry>
493+ </row>
494+ <row>
495+ <entry>1</entry>
496+ <entry>0</entry>
497+ <entry>1</entry>
498+ <entry>1 .. 13</entry>
499+ <entry>1 .. 13</entry>
500+ <entry>13</entry>
501+ </row>
502+ <row>
503+ <entry>0</entry>
504+ <entry>1</entry>
505+ <entry>1</entry>
506+ <entry>0</entry>
507+ <entry>0</entry>
508+ <entry>1</entry>
509+ </row>
510+ <row>
511+ <entry>1</entry>
512+ <entry>1</entry>
513+ <entry>1</entry>
514+ <entry>2</entry>
515+ <entry>0</entry>
516+ <entry>13</entry>
517+ </row>
518+ </tbody>
519+ </tgroup>
520+ </informaltable>
521+ </section>
522+ <section id="DTV-ISDBT-LAYER-TIME-INTERLEAVING">
523+ <title><constant>DTV_ISDBT_LAYER*_TIME_INTERLEAVING</constant></title>
524+ <para>Possible values: 0, 1, 2, 3, -1 (AUTO)</para>
525+ <para>Note: The real inter-leaver depth-names depend on the mode (fft-size); the values
526+ here are referring to what can be found in the TMCC-structure -
527+ independent of the mode.</para>
528+ </section>
529+ </section>
530+ <section id="DTV-API-VERSION">
531+ <title><constant>DTV_API_VERSION</constant></title>
532+ <para>Returns the major/minor version of the DVB API</para>
533+ </section>
534+ <section id="DTV-CODE-RATE-HP">
535+ <title><constant>DTV_CODE_RATE_HP</constant></title>
536+ <para>Used on terrestrial transmissions. The acceptable values are:
537+ </para>
538+ <programlisting>
539+typedef enum fe_code_rate {
540+ FEC_NONE = 0,
541+ FEC_1_2,
542+ FEC_2_3,
543+ FEC_3_4,
544+ FEC_4_5,
545+ FEC_5_6,
546+ FEC_6_7,
547+ FEC_7_8,
548+ FEC_8_9,
549+ FEC_AUTO,
550+ FEC_3_5,
551+ FEC_9_10,
552+} fe_code_rate_t;
553+ </programlisting>
554+ </section>
555+ <section id="DTV-CODE-RATE-LP">
556+ <title><constant>DTV_CODE_RATE_LP</constant></title>
557+ <para>Used on terrestrial transmissions. The acceptable values are:
558+ </para>
559+ <programlisting>
560+typedef enum fe_code_rate {
561+ FEC_NONE = 0,
562+ FEC_1_2,
563+ FEC_2_3,
564+ FEC_3_4,
565+ FEC_4_5,
566+ FEC_5_6,
567+ FEC_6_7,
568+ FEC_7_8,
569+ FEC_8_9,
570+ FEC_AUTO,
571+ FEC_3_5,
572+ FEC_9_10,
573+} fe_code_rate_t;
574+ </programlisting>
575+ </section>
576+ <section id="DTV-GUARD-INTERVAL">
577+ <title><constant>DTV_GUARD_INTERVAL</constant></title>
578+
579+ <para>Possible values are:</para>
580+<programlisting>
581+typedef enum fe_guard_interval {
582+ GUARD_INTERVAL_1_32,
583+ GUARD_INTERVAL_1_16,
584+ GUARD_INTERVAL_1_8,
585+ GUARD_INTERVAL_1_4,
586+ GUARD_INTERVAL_AUTO,
587+ GUARD_INTERVAL_1_128,
588+ GUARD_INTERVAL_19_128,
589+ GUARD_INTERVAL_19_256,
590+} fe_guard_interval_t;
591+</programlisting>
592+
593+ <para>Notes:</para>
594+ <para>1) If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will
595+ try to find the correct guard interval (if capable) and will use TMCC to fill
596+ in the missing parameters.</para>
597+ <para>2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at present</para>
598+ </section>
599+ <section id="DTV-TRANSMISSION-MODE">
600+ <title><constant>DTV_TRANSMISSION_MODE</constant></title>
601+
602+ <para>Specifies the number of carriers used by the standard</para>
603+
604+ <para>Possible values are:</para>
605+<programlisting>
606+typedef enum fe_transmit_mode {
607+ TRANSMISSION_MODE_2K,
608+ TRANSMISSION_MODE_8K,
609+ TRANSMISSION_MODE_AUTO,
610+ TRANSMISSION_MODE_4K,
611+ TRANSMISSION_MODE_1K,
612+ TRANSMISSION_MODE_16K,
613+ TRANSMISSION_MODE_32K,
614+} fe_transmit_mode_t;
615+</programlisting>
616+ <para>Notes:</para>
617+ <para>1) ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
618+ 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para>
619+
620+ <para>2) If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the
621+ hardware will try to find the correct FFT-size (if capable) and will
622+ use TMCC to fill in the missing parameters.</para>
623+ <para>3) DVB-T specifies 2K and 8K as valid sizes.</para>
624+ <para>4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.</para>
625+ </section>
626+ <section id="DTV-HIERARCHY">
627+ <title><constant>DTV_HIERARCHY</constant></title>
628+ <para>Frontend hierarchy</para>
629+ <programlisting>
630+typedef enum fe_hierarchy {
631+ HIERARCHY_NONE,
632+ HIERARCHY_1,
633+ HIERARCHY_2,
634+ HIERARCHY_4,
635+ HIERARCHY_AUTO
636+ } fe_hierarchy_t;
637+ </programlisting>
638+ </section>
639+ <section id="DTV-ISDBS-TS-ID">
640+ <title><constant>DTV_ISDBS_TS_ID</constant></title>
641+ <para>Currently unused.</para>
642+ </section>
643+ <section id="DTV-DVBT2-PLP-ID">
644+ <title><constant>DTV_DVBT2_PLP_ID</constant></title>
645+ <para>DVB-T2 supports Physical Layer Pipes (PLP) to allow transmission of
646+ many data types via a single multiplex. The API will soon support this
647+ at which point this section will be expanded.</para>
648+ </section>
649+</section>
650+ <section id="frontend-property-terrestrial-systems">
651+ <title>Properties used on terrestrial delivery systems</title>
652+ <section id="dvbt-params">
653+ <title>DVB-T delivery system</title>
654+ <para>The following parameters are valid for DVB-T:</para>
655+ <itemizedlist mark='opencircle'>
656+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
657+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
658+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
659+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
660+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
661+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
662+ <listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
663+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
664+ <listitem><para><link linkend="DTV-CODE-RATE-HP"><constant>DTV_CODE_RATE_HP</constant></link></para></listitem>
665+ <listitem><para><link linkend="DTV-CODE-RATE-LP"><constant>DTV_CODE_RATE_LP</constant></link></para></listitem>
666+ <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
667+ <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
668+ <listitem><para><link linkend="DTV-HIERARCHY"><constant>DTV_HIERARCHY</constant></link></para></listitem>
669+ </itemizedlist>
670+ </section>
671+ <section id="dvbt2-params">
672+ <title>DVB-T2 delivery system</title>
673+ <para>DVB-T2 support is currently in the early stages
674+ of development, so expect that this section maygrow and become
675+ more detailed with time.</para>
676+ <para>The following parameters are valid for DVB-T2:</para>
677+ <itemizedlist mark='opencircle'>
678+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
679+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
680+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
681+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
682+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
683+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
684+ <listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
685+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
686+ <listitem><para><link linkend="DTV-CODE-RATE-HP"><constant>DTV_CODE_RATE_HP</constant></link></para></listitem>
687+ <listitem><para><link linkend="DTV-CODE-RATE-LP"><constant>DTV_CODE_RATE_LP</constant></link></para></listitem>
688+ <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
689+ <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
690+ <listitem><para><link linkend="DTV-HIERARCHY"><constant>DTV_HIERARCHY</constant></link></para></listitem>
691+ <listitem><para><link linkend="DTV-DVBT2-PLP-ID"><constant>DTV_DVBT2_PLP_ID</constant></link></para></listitem>
692+ </itemizedlist>
693+ </section>
694+ <section id="isdbt">
695+ <title>ISDB-T delivery system</title>
696+ <para>This ISDB-T/ISDB-Tsb API extension should reflect all information
697+ needed to tune any ISDB-T/ISDB-Tsb hardware. Of course it is possible
698+ that some very sophisticated devices won't need certain parameters to
699+ tune.</para>
700+ <para>The information given here should help application writers to know how
701+ to handle ISDB-T and ISDB-Tsb hardware using the Linux DVB-API.</para>
702+ <para>The details given here about ISDB-T and ISDB-Tsb are just enough to
703+ basically show the dependencies between the needed parameter values,
704+ but surely some information is left out. For more detailed information
705+ see the following documents:</para>
706+ <para>ARIB STD-B31 - "Transmission System for Digital Terrestrial
707+ Television Broadcasting" and</para>
708+ <para>ARIB TR-B14 - "Operational Guidelines for Digital Terrestrial
709+ Television Broadcasting".</para>
710+ <para>In order to understand the ISDB specific parameters,
711+ one has to have some knowledge the channel structure in
712+ ISDB-T and ISDB-Tsb. I.e. it has to be known to
713+ the reader that an ISDB-T channel consists of 13 segments,
714+ that it can have up to 3 layer sharing those segments,
715+ and things like that.</para>
716+ <para>The following parameters are valid for ISDB-T:</para>
717+ <itemizedlist mark='opencircle'>
718+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
719+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
720+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
721+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
722+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
723+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
724+ <listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
725+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
726+ <listitem><para><link linkend="DTV-CODE-RATE-HP"><constant>DTV_CODE_RATE_HP</constant></link></para></listitem>
727+ <listitem><para><link linkend="DTV-CODE-RATE-LP"><constant>DTV_CODE_RATE_LP</constant></link></para></listitem>
728+ <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
729+ <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
730+ <listitem><para><link linkend="DTV-HIERARCHY"><constant>DTV_HIERARCHY</constant></link></para></listitem>
731+ <listitem><para><link linkend="DTV-ISDBT-LAYER-ENABLED"><constant>DTV_ISDBT_LAYER_ENABLED</constant></link></para></listitem>
732+ <listitem><para><link linkend="DTV-ISDBT-PARTIAL-RECEPTION"><constant>DTV_ISDBT_PARTIAL_RECEPTION</constant></link></para></listitem>
733+ <listitem><para><link linkend="DTV-ISDBT-SOUND-BROADCASTING"><constant>DTV_ISDBT_SOUND_BROADCASTING</constant></link></para></listitem>
734+ <listitem><para><link linkend="DTV-ISDBT-SB-SUBCHANNEL-ID"><constant>DTV_ISDBT_SB_SUBCHANNEL_ID</constant></link></para></listitem>
735+ <listitem><para><link linkend="DTV-ISDBT-SB-SEGMENT-IDX"><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant></link></para></listitem>
736+ <listitem><para><link linkend="DTV-ISDBT-SB-SEGMENT-COUNT"><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant></link></para></listitem>
737+ <listitem><para><link linkend="DTV-ISDBT-LAYER-FEC"><constant>DTV_ISDBT_LAYERA_FEC</constant></link></para></listitem>
738+ <listitem><para><link linkend="DTV-ISDBT-LAYER-MODULATION"><constant>DTV_ISDBT_LAYERA_MODULATION</constant></link></para></listitem>
739+ <listitem><para><link linkend="DTV-ISDBT-LAYER-SEGMENT-COUNT"><constant>DTV_ISDBT_LAYERA_SEGMENT_COUNT</constant></link></para></listitem>
740+ <listitem><para><link linkend="DTV-ISDBT-LAYER-TIME-INTERLEAVING"><constant>DTV_ISDBT_LAYERA_TIME_INTERLEAVING</constant></link></para></listitem>
741+ <listitem><para><link linkend="DTV-ISDBT-LAYER-FEC"><constant>DTV_ISDBT_LAYERB_FEC</constant></link></para></listitem>
742+ <listitem><para><link linkend="DTV-ISDBT-LAYER-MODULATION"><constant>DTV_ISDBT_LAYERB_MODULATION</constant></link></para></listitem>
743+ <listitem><para><link linkend="DTV-ISDBT-LAYER-SEGMENT-COUNT"><constant>DTV_ISDBT_LAYERB_SEGMENT_COUNT</constant></link></para></listitem>
744+ <listitem><para><link linkend="DTV-ISDBT-LAYER-TIME-INTERLEAVING"><constant>DTV_ISDBT_LAYERB_TIME_INTERLEAVING</constant></link></para></listitem>
745+ <listitem><para><link linkend="DTV-ISDBT-LAYER-FEC"><constant>DTV_ISDBT_LAYERC_FEC</constant></link></para></listitem>
746+ <listitem><para><link linkend="DTV-ISDBT-LAYER-MODULATION"><constant>DTV_ISDBT_LAYERC_MODULATION</constant></link></para></listitem>
747+ <listitem><para><link linkend="DTV-ISDBT-LAYER-SEGMENT-COUNT"><constant>DTV_ISDBT_LAYERC_SEGMENT_COUNT</constant></link></para></listitem>
748+ <listitem><para><link linkend="DTV-ISDBT-LAYER-TIME-INTERLEAVING"><constant>DTV_ISDBT_LAYERC_TIME_INTERLEAVING</constant></link></para></listitem>
749+ </itemizedlist>
750+ </section>
751+ <section id="atsc-params">
752+ <title>ATSC delivery system</title>
753+ <para>The following parameters are valid for ATSC:</para>
754+ <itemizedlist mark='opencircle'>
755+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
756+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
757+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
758+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
759+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
760+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
761+ <listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
762+ </itemizedlist>
763+ </section>
764+ </section>
765+ <section id="frontend-property-cable-systems">
766+ <title>Properties used on cable delivery systems</title>
767+ <section id="dvbc-params">
768+ <title>DVB-C delivery system</title>
769+ <para>The DVB-C Annex-A/C is the widely used cable standard. Transmission uses QAM modulation.</para>
770+ <para>The following parameters are valid for DVB-C Annex A/C:</para>
771+ <itemizedlist mark='opencircle'>
772+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
773+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
774+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
775+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
776+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
777+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
778+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
779+ <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
780+ <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
781+ </itemizedlist>
782+ </section>
783+ <section id="dvbc-annex-b-params">
784+ <title>DVB-C Annex B delivery system</title>
785+ <para>The DVB-C Annex-B is only used on a few Countries like the United States.</para>
786+ <para>The following parameters are valid for DVB-C Annex B:</para>
787+ <itemizedlist mark='opencircle'>
788+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
789+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
790+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
791+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
792+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
793+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
794+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
795+ </itemizedlist>
796+ </section>
797+ </section>
798+ <section id="frontend-property-satellital-systems">
799+ <title>Properties used on satellital delivery systems</title>
800+ <section id="dvbs-params">
801+ <title>DVB-S delivery system</title>
802+ <para>The following parameters are valid for DVB-S:</para>
803+ <itemizedlist mark='opencircle'>
804+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
805+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
806+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
807+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
808+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
809+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
810+ <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
811+ <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
812+ </itemizedlist>
813+ <para>Future implementations might add those two missing parameters:</para>
814+ <itemizedlist mark='opencircle'>
815+ <listitem><para><link linkend="DTV-DISEQC-MASTER"><constant>DTV_DISEQC_MASTER</constant></link></para></listitem>
816+ <listitem><para><link linkend="DTV-DISEQC-SLAVE-REPLY"><constant>DTV_DISEQC_SLAVE_REPLY</constant></link></para></listitem>
817+ </itemizedlist>
818+ </section>
819+ <section id="dvbs2-params">
820+ <title>DVB-S2 delivery system</title>
821+ <para>The following parameters are valid for DVB-S2:</para>
822+ <itemizedlist mark='opencircle'>
823+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
824+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
825+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
826+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
827+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
828+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
829+ <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
830+ <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
831+ <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem>
832+ <listitem><para><link linkend="DTV-TONE"><constant>DTV_TONE</constant></link></para></listitem>
833+ <listitem><para><link linkend="DTV-PILOT"><constant>DTV_PILOT</constant></link></para></listitem>
834+ <listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem>
835+ </itemizedlist>
836+ <para>Future implementations might add those two missing parameters:</para>
837+ <itemizedlist mark='opencircle'>
838+ <listitem><para><link linkend="DTV-DISEQC-MASTER"><constant>DTV_DISEQC_MASTER</constant></link></para></listitem>
839+ <listitem><para><link linkend="DTV-DISEQC-SLAVE-REPLY"><constant>DTV_DISEQC_SLAVE_REPLY</constant></link></para></listitem>
840+ </itemizedlist>
841+ </section>
842+ <section id="isdbs-params">
843+ <title>ISDB-S delivery system</title>
844+ <para>The following parameters are valid for ISDB-S:</para>
845+ <itemizedlist mark='opencircle'>
846+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
847+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
848+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
849+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
850+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
851+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
852+ <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
853+ <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
854+ <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem>
855+ <listitem><para><link linkend="DTV-ISDBS-TS-ID"><constant>DTV_ISDBS_TS_ID</constant></link></para></listitem>
856+ </itemizedlist>
857+ </section>
858+ </section>
859+</section>
Documentation/DocBook/media/dvb/dvbstb.pdfrenamed from Documentation/DocBook/dvb/dvbstb.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/dvb/examples.xmlrenamed from Documentation/DocBook/dvb/examples.xml+0−0

File renamed without changes.

Documentation/DocBook/media/dvb/frontend.xmlrenamed from Documentation/DocBook/dvb/frontend.xml+220−556
@@ -20,22 +20,52 @@ cards, in which case there exists no frontend device.</para> · 19 unmodified lines
2020 <section id="frontend_types">
2121 <title>Frontend Data Types</title>
2222
23−<section id="frontend_type">
24−<title>frontend type</title>
25−
26−<para>For historical reasons frontend types are named after the type of modulation used in
27−transmission.</para>
28−<programlisting>
29− typedef enum fe_type {
30− FE_QPSK, /&#x22C6; DVB-S &#x22C6;/
31− FE_QAM, /&#x22C6; DVB-C &#x22C6;/
32− FE_OFDM /&#x22C6; DVB-T &#x22C6;/
33− } fe_type_t;
34−</programlisting>
35−
23+<section id="fe-type-t">
24+<title>Frontend type</title>
25+
26+<para>For historical reasons, frontend types are named by the type of modulation used in
27+transmission. The fontend types are given by fe_type_t type, defined as:</para>
28+
29+<table pgwide="1" frame="none" id="fe-type">
30+<title>Frontend types</title>
31+<tgroup cols="3">
32+ &cs-def;
33+ <thead>
34+ <row>
35+ <entry>fe_type</entry>
36+ <entry>Description</entry>
37+ <entry><link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> equivalent type</entry>
38+ </row>
39+ </thead>
40+ <tbody valign="top">
41+ <row>
42+ <entry id="FE_QPSK"><constant>FE_QPSK</constant></entry>
43+ <entry>For DVB-S standard</entry>
44+ <entry><constant>SYS_DVBS</constant></entry>
45+ </row>
46+ <row>
47+ <entry id="FE_QAM"><constant>FE_QAM</constant></entry>
48+ <entry>For DVB-C annex A/C standard</entry>
49+ <entry><constant>SYS_DVBC_ANNEX_AC</constant></entry>
50+ </row>
51+ <row>
52+ <entry id="FE_OFDM"><constant>FE_OFDM</constant></entry>
53+ <entry>For DVB-T standard</entry>
54+ <entry><constant>SYS_DVBT</constant></entry>
55+ </row>
56+ <row>
57+ <entry id="FE_ATSC"><constant>FE_ATSC</constant></entry>
58+ <entry>For ATSC standard (terrestrial) or for DVB-C Annex B (cable) used in US.</entry>
59+ <entry><constant>SYS_ATSC</constant> (terrestrial) or <constant>SYS_DVBC_ANNEX_B</constant> (cable)</entry>
60+ </row>
61+</tbody></tgroup></table>
62+
63+<para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're
64+supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter.
65+</para>
3666 </section>
3767
38−<section id="frontend_caps">
68+<section id="fe-caps-t">
3969 <title>frontend capabilities</title>
4070
4171 <para>Capabilities describe what a frontend can do. Some capabilities can only be supported for
@@ -76,7 +106,7 @@ a specific frontend type.</para> · 34 unmodified lines
76106 </programlisting>
77107 </section>
78108
79−<section id="frontend_info">
109+<section id="dvb-frontend-info">
80110 <title>frontend information</title>
81111
82112 <para>Information about the frontend ca be queried with
@@ -99,7 +129,7 @@ a specific frontend type.</para> · 16 unmodified lines
99129 </programlisting>
100130 </section>
101131
102−<section id="frontend_diseqc">
132+<section id="dvb-diseqc-master-cmd">
103133 <title>diseqc master command</title>
104134
105135 <para>A message sent from the frontend to DiSEqC capable equipment.</para>
@@ -110,7 +140,7 @@ a specific frontend type.</para> · 4 unmodified lines
110140 };
111141 </programlisting>
112142 </section>
113−<section role="subsection">
143+<section role="subsection" id="dvb-diseqc-slave-reply">
114144 <title>diseqc slave reply</title>
115145
116146 <para>A reply to the frontend from DiSEqC 2.0 capable equipment.</para>
@@ -123,7 +153,7 @@ a specific frontend type.</para> · 6 unmodified lines
123153 </programlisting>
124154 </section>
125155
126−<section id="frontend_diseqc_slave_reply">
156+<section id="fe-sec-voltage-t">
127157 <title>diseqc slave reply</title>
128158 <para>The voltage is usually used with non-DiSEqC capable LNBs to switch the polarzation
129159 (horizontal/vertical). When using DiSEqC epuipment this voltage has to be switched
@@ -136,7 +166,7 @@ consistently to the DiSEqC commands as described in the DiSEqC spec.</para> · 6 unmodified lines
136166 </programlisting>
137167 </section>
138168
139−<section id="frontend_sec_tone">
169+<section id="fe-sec-tone-mode-t">
140170 <title>SEC continuous tone</title>
141171
142172 <para>The continuous 22KHz tone is usually used with non-DiSEqC capable LNBs to switch the
@@ -151,7 +181,7 @@ spec.</para> · 8 unmodified lines
151181 </programlisting>
152182 </section>
153183
154−<section id="frontend_sec_burst">
184+<section id="fe-sec-mini-cmd-t">
155185 <title>SEC tone burst</title>
156186
157187 <para>The 22KHz tone burst is usually used with non-DiSEqC capable switches to select
@@ -168,7 +198,7 @@ spec.</para> · 10 unmodified lines
168198 <para></para>
169199 </section>
170200
171−<section id="frontend_status">
201+<section id="fe-status-t">
172202 <title>frontend status</title>
173203 <para>Several functions of the frontend device use the fe_status data type defined
174204 by</para>
@@ -188,31 +218,54 @@ by</para> · 13 unmodified lines
188218
189219 </section>
190220
191−<section id="frontend_params">
221+<section id="dvb-frontend-parameters">
192222 <title>frontend parameters</title>
193223 <para>The kind of parameters passed to the frontend device for tuning depend on
194−the kind of hardware you are using. All kinds of parameters are combined as an
195−union in the FrontendParameters structure:</para>
224+the kind of hardware you are using.</para>
225+<para>The struct <constant>dvb_frontend_parameters</constant> uses an
226+union with specific per-system parameters. However, as newer delivery systems
227+required more data, the structure size weren't enough to fit, and just
228+extending its size would break the existing applications. So, those parameters
229+were replaced by the usage of <link linkend="FE_GET_SET_PROPERTY">
230+<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> ioctl's. The
231+new API is flexible enough to add new parameters to existing delivery systems,
232+and to add newer delivery systems.</para>
233+<para>So, newer applications should use <link linkend="FE_GET_SET_PROPERTY">
234+<constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in
235+order to be able to support the newer System Delivery like DVB-S2, DVB-T2,
236+DVB-C2, ISDB, etc.</para>
237+<para>All kinds of parameters are combined as an union in the FrontendParameters structure:</para>
196238 <programlisting>
197− struct dvb_frontend_parameters {
198− uint32_t frequency; /&#x22C6; (absolute) frequency in Hz for QAM/OFDM &#x22C6;/
199− /&#x22C6; intermediate frequency in kHz for QPSK &#x22C6;/
200− fe_spectral_inversion_t inversion;
201− union {
202− struct dvb_qpsk_parameters qpsk;
203− struct dvb_qam_parameters qam;
204− struct dvb_ofdm_parameters ofdm;
205− } u;
206− };
239+struct dvb_frontend_parameters {
240+ uint32_t frequency; /&#x22C6; (absolute) frequency in Hz for QAM/OFDM &#x22C6;/
241+ /&#x22C6; intermediate frequency in kHz for QPSK &#x22C6;/
242+ fe_spectral_inversion_t inversion;
243+ union {
244+ struct dvb_qpsk_parameters qpsk;
245+ struct dvb_qam_parameters qam;
246+ struct dvb_ofdm_parameters ofdm;
247+ struct dvb_vsb_parameters vsb;
248+ } u;
249+};
207250 </programlisting>
208−<para>For satellite QPSK frontends you have to use the <constant>QPSKParameters</constant> member defined by</para>
251+<para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate
252+frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of
253+the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and
254+OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz.
255+</para>
256+<section id="dvb-qpsk-parameters">
257+<title>QPSK parameters</title>
258+<para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para>
209259 <programlisting>
210260 struct dvb_qpsk_parameters {
211261 uint32_t symbol_rate; /&#x22C6; symbol rate in Symbols per second &#x22C6;/
212262 fe_code_rate_t fec_inner; /&#x22C6; forward error correction (see above) &#x22C6;/
213263 };
214264 </programlisting>
215−<para>for cable QAM frontend you use the <constant>QAMParameters</constant> structure</para>
265+</section>
266+<section id="dvb-qam-parameters">
267+<title>QAM parameters</title>
268+<para>for cable QAM frontend you use the <constant>dvb_qam_parameters</constant> structure:</para>
216269 <programlisting>
217270 struct dvb_qam_parameters {
218271 uint32_t symbol_rate; /&#x22C6; symbol rate in Symbols per second &#x22C6;/
@@ -220,8 +273,19 @@ union in the FrontendParameters structure:</para> · 1 unmodified line
220273 fe_modulation_t modulation; /&#x22C6; modulation type (see above) &#x22C6;/
221274 };
222275 </programlisting>
223−<para>DVB-T frontends are supported by the <constant>OFDMParamters</constant> structure
224−</para>
276+</section>
277+<section id="dvb-vsb-parameters">
278+<title>VSB parameters</title>
279+<para>ATSC frontends are supported by the <constant>dvb_vsb_parameters</constant> structure:</para>
280+<programlisting>
281+struct dvb_vsb_parameters {
282+ fe_modulation_t modulation; /&#x22C6; modulation type (see above) &#x22C6;/
283+};
284+</programlisting>
285+</section>
286+<section id="dvb-ofdm-parameters">
287+<title>OFDM parameters</title>
288+<para>DVB-T frontends are supported by the <constant>dvb_ofdm_parameters</constant> structure:</para>
225289 <programlisting>
226290 struct dvb_ofdm_parameters {
227291 fe_bandwidth_t bandwidth;
@@ -233,86 +297,124 @@ union in the FrontendParameters structure:</para> · 5 unmodified lines
233297 fe_hierarchy_t hierarchy_information;
234298 };
235299 </programlisting>
236−<para>In the case of QPSK frontends the <constant>Frequency</constant> field specifies the intermediate
237−frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of
238−the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and
239−OFDM frontends the Frequency specifies the absolute frequency and is given in
240−Hz.
241−</para>
300+</section>
301+<section id="fe-spectral-inversion-t">
302+<title>frontend spectral inversion</title>
242303 <para>The Inversion field can take one of these values:
243304 </para>
244305 <programlisting>
245− typedef enum fe_spectral_inversion {
246− INVERSION_OFF,
247− INVERSION_ON,
248− INVERSION_AUTO
249− } fe_spectral_inversion_t;
306+typedef enum fe_spectral_inversion {
307+ INVERSION_OFF,
308+ INVERSION_ON,
309+ INVERSION_AUTO
310+} fe_spectral_inversion_t;
250311 </programlisting>
251312 <para>It indicates if spectral inversion should be presumed or not. In the automatic setting
252313 (<constant>INVERSION_AUTO</constant>) the hardware will try to figure out the correct setting by
253314 itself.
254315 </para>
255−<para>The possible values for the <constant>FEC_inner</constant> field are
316+</section>
317+<section id="fe-code-rate-t">
318+<title>frontend code rate</title>
319+<para>The possible values for the <constant>fec_inner</constant> field used on
320+<link refend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and
321+<link refend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are:
256322 </para>
257323 <programlisting>
258− typedef enum fe_code_rate {
259− FEC_NONE = 0,
260− FEC_1_2,
261− FEC_2_3,
262− FEC_3_4,
263− FEC_4_5,
264− FEC_5_6,
265− FEC_6_7,
266− FEC_7_8,
267− FEC_8_9,
268− FEC_AUTO
269− } fe_code_rate_t;
324+typedef enum fe_code_rate {
325+ FEC_NONE = 0,
326+ FEC_1_2,
327+ FEC_2_3,
328+ FEC_3_4,
329+ FEC_4_5,
330+ FEC_5_6,
331+ FEC_6_7,
332+ FEC_7_8,
333+ FEC_8_9,
334+ FEC_AUTO,
335+ FEC_3_5,
336+ FEC_9_10,
337+} fe_code_rate_t;
270338 </programlisting>
271339 <para>which correspond to error correction rates of 1/2, 2/3, etc., no error correction or auto
272340 detection.
273341 </para>
274−<para>For cable and terrestrial frontends (QAM and OFDM) one also has to specify the quadrature
275−modulation mode which can be one of the following:
342+</section>
343+<section id="fe-modulation-t">
344+<title>frontend modulation type for QAM, OFDM and VSB</title>
345+<para>For cable and terrestrial frontends, e. g. for
346+<link refend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>,
347+<link refend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and
348+<link refend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>,
349+it needs to specify the quadrature modulation mode which can be one of the following:
276350 </para>
277351 <programlisting>
278352 typedef enum fe_modulation {
279− QPSK,
280− QAM_16,
281− QAM_32,
282− QAM_64,
283− QAM_128,
284− QAM_256,
285− QAM_AUTO
353+ QPSK,
354+ QAM_16,
355+ QAM_32,
356+ QAM_64,
357+ QAM_128,
358+ QAM_256,
359+ QAM_AUTO,
360+ VSB_8,
361+ VSB_16,
362+ PSK_8,
363+ APSK_16,
364+ APSK_32,
365+ DQPSK,
286366 } fe_modulation_t;
287367 </programlisting>
368+</section>
288369 <para>Finally, there are several more parameters for OFDM:
289370 </para>
371+<section id="fe-transmit-mode-t">
372+<title>Number of carriers per channel</title>
290373 <programlisting>
291− typedef enum fe_transmit_mode {
292− TRANSMISSION_MODE_2K,
293− TRANSMISSION_MODE_8K,
294− TRANSMISSION_MODE_AUTO
374+typedef enum fe_transmit_mode {
375+ TRANSMISSION_MODE_2K,
376+ TRANSMISSION_MODE_8K,
377+ TRANSMISSION_MODE_AUTO,
378+ TRANSMISSION_MODE_4K,
379+ TRANSMISSION_MODE_1K,
380+ TRANSMISSION_MODE_16K,
381+ TRANSMISSION_MODE_32K,
295382 } fe_transmit_mode_t;
296383 </programlisting>
297− <programlisting>
298− typedef enum fe_bandwidth {
299− BANDWIDTH_8_MHZ,
300− BANDWIDTH_7_MHZ,
301− BANDWIDTH_6_MHZ,
302− BANDWIDTH_AUTO
303− } fe_bandwidth_t;
384+</section>
385+<section id="fe-bandwidth-t">
386+<title>frontend bandwidth</title>
387+<programlisting>
388+typedef enum fe_bandwidth {
389+ BANDWIDTH_8_MHZ,
390+ BANDWIDTH_7_MHZ,
391+ BANDWIDTH_6_MHZ,
392+ BANDWIDTH_AUTO,
393+ BANDWIDTH_5_MHZ,
394+ BANDWIDTH_10_MHZ,
395+ BANDWIDTH_1_712_MHZ,
396+} fe_bandwidth_t;
304397 </programlisting>
305− <programlisting>
306− typedef enum fe_guard_interval {
307− GUARD_INTERVAL_1_32,
308− GUARD_INTERVAL_1_16,
309− GUARD_INTERVAL_1_8,
310− GUARD_INTERVAL_1_4,
311− GUARD_INTERVAL_AUTO
312− } fe_guard_interval_t;
398+</section>
399+<section id="fe-guard-interval-t">
400+<title>frontend guard inverval</title>
401+<programlisting>
402+typedef enum fe_guard_interval {
403+ GUARD_INTERVAL_1_32,
404+ GUARD_INTERVAL_1_16,
405+ GUARD_INTERVAL_1_8,
406+ GUARD_INTERVAL_1_4,
407+ GUARD_INTERVAL_AUTO,
408+ GUARD_INTERVAL_1_128,
409+ GUARD_INTERVAL_19_128,
410+ GUARD_INTERVAL_19_256,
411+} fe_guard_interval_t;
313412 </programlisting>
314− <programlisting>
315− typedef enum fe_hierarchy {
413+</section>
414+<section id="fe-hierarchy-t">
415+<title>frontend hierarchy</title>
416+<programlisting>
417+typedef enum fe_hierarchy {
316418 HIERARCHY_NONE,
317419 HIERARCHY_1,
318420 HIERARCHY_2,
@@ -320,10 +422,11 @@ modulation mode which can be one of the following: · 1 unmodified line
320422 HIERARCHY_AUTO
321423 } fe_hierarchy_t;
322424 </programlisting>
425+</section>
323426
324427 </section>
325428
326−<section id="frontend_events">
429+<section id="dvb-frontend-event">
327430 <title>frontend events</title>
328431 <programlisting>
329432 struct dvb_frontend_event {
@@ -412,8 +515,7 @@ modulation mode which can be one of the following: · 82 unmodified lines
412515 <para>(blocking mode is the default)</para>
413516 </entry>
414517 </row></tbody></tgroup></informaltable>
415−<para>ERRORS
416−</para>
518+<para>RETURN VALUE</para>
417519 <informaltable><tgroup cols="2"><tbody><row><entry
418520 align="char">
419521 <para>ENODEV</para>
@@ -473,8 +575,7 @@ modulation mode which can be one of the following: · 53 unmodified lines
473575 <para>File descriptor returned by a previous call to open().</para>
474576 </entry>
475577 </row></tbody></tgroup></informaltable>
476−<para>ERRORS
477−</para>
578+<para>RETURN VALUE</para>
478579 <informaltable><tgroup cols="2"><tbody><row><entry
479580 align="char">
480581 <para>EBADF</para>
@@ -530,8 +631,7 @@ modulation mode which can be one of the following: · 49 unmodified lines
530631 to be stored.</para>
531632 </entry>
532633 </row></tbody></tgroup></informaltable>
533−<para>ERRORS
534−</para>
634+<para>RETURN VALUE</para>
535635 <informaltable><tgroup cols="2"><tbody><row><entry
536636 align="char">
537637 <para>EBADF</para>
@@ -592,38 +692,8 @@ modulation mode which can be one of the following: · 54 unmodified lines
592692 <para>The bit error rate is stored into *ber.</para>
593693 </entry>
594694 </row></tbody></tgroup></informaltable>
595−<para>ERRORS
596−</para>
597−<informaltable><tgroup cols="2"><tbody><row><entry
598− align="char">
599−<para>EBADF</para>
600−</entry><entry
601− align="char">
602−<para>fd is not a valid open file descriptor.</para>
603−</entry>
604− </row><row><entry
605− align="char">
606−<para>EFAULT</para>
607−</entry><entry
608− align="char">
609−<para>ber points to invalid address.</para>
610−</entry>
611− </row><row><entry
612− align="char">
613−<para>ENOSIGNAL</para>
614−</entry><entry
615− align="char">
616−<para>There is no signal, thus no meaningful bit error rate. Also
617− returned if the front-end is not turned on.</para>
618−</entry>
619− </row><row><entry
620− align="char">
621−<para>ENOSYS</para>
622−</entry><entry
623− align="char">
624−<para>Function not available for this device.</para>
625−</entry>
626− </row></tbody></tgroup></informaltable>
695+
696+&return-value-dvb;
627697 </section>
628698
629699 <section id="FE_READ_SNR">
@@ -670,38 +740,7 @@ modulation mode which can be one of the following: · 40 unmodified lines
670740 </entry>
671741 </row></tbody></tgroup></informaltable>
672742
673−<para>ERRORS
674−</para>
675−<informaltable><tgroup cols="2"><tbody><row><entry
676− align="char">
677−<para>EBADF</para>
678−</entry><entry
679− align="char">
680−<para>fd is not a valid open file descriptor.</para>
681−</entry>
682− </row><row><entry
683− align="char">
684−<para>EFAULT</para>
685−</entry><entry
686− align="char">
687−<para>snr points to invalid address.</para>
688−</entry>
689− </row><row><entry
690− align="char">
691−<para>ENOSIGNAL</para>
692−</entry><entry
693− align="char">
694−<para>There is no signal, thus no meaningful signal strength
695− value. Also returned if front-end is not turned on.</para>
696−</entry>
697− </row><row><entry
698− align="char">
699−<para>ENOSYS</para>
700−</entry><entry
701− align="char">
702−<para>Function not available for this device.</para>
703−</entry>
704− </row></tbody></tgroup></informaltable>
743+&return-value-dvb;
705744 </section>
706745
707746 <section id="FE_READ_SIGNAL_STRENGTH">
@@ -748,38 +787,8 @@ modulation mode which can be one of the following: · 40 unmodified lines
748787 <para>The signal strength value is stored into *strength.</para>
749788 </entry>
750789 </row></tbody></tgroup></informaltable>
751−<para>ERRORS
752−</para>
753−<informaltable><tgroup cols="2"><tbody><row><entry
754− align="char">
755−<para>EBADF</para>
756−</entry><entry
757− align="char">
758−<para>fd is not a valid open file descriptor.</para>
759−</entry>
760− </row><row><entry
761− align="char">
762−<para>EFAULT</para>
763−</entry><entry
764− align="char">
765−<para>status points to invalid address.</para>
766−</entry>
767− </row><row><entry
768− align="char">
769−<para>ENOSIGNAL</para>
770−</entry><entry
771− align="char">
772−<para>There is no signal, thus no meaningful signal strength
773− value. Also returned if front-end is not turned on.</para>
774−</entry>
775− </row><row><entry
776− align="char">
777−<para>ENOSYS</para>
778−</entry><entry
779− align="char">
780−<para>Function not available for this device.</para>
781−</entry>
782− </row></tbody></tgroup></informaltable>
790+
791+&return-value-dvb;
783792 </section>
784793
785794 <section id="FE_READ_UNCORRECTED_BLOCKS">
@@ -833,30 +842,8 @@ modulation mode which can be one of the following: · 47 unmodified lines
833842 so far.</para>
834843 </entry>
835844 </row></tbody></tgroup></informaltable>
836−<para>ERRORS
837−</para>
838−<informaltable><tgroup cols="2"><tbody><row><entry
839− align="char">
840−<para>EBADF</para>
841−</entry><entry
842− align="char">
843−<para>fd is not a valid open file descriptor.</para>
844−</entry>
845− </row><row><entry
846− align="char">
847−<para>EFAULT</para>
848−</entry><entry
849− align="char">
850−<para>ublocks points to invalid address.</para>
851−</entry>
852− </row><row><entry
853− align="char">
854−<para>ENOSYS</para>
855−</entry><entry
856− align="char">
857−<para>Function not available for this device.</para>
858−</entry>
859− </row></tbody></tgroup></informaltable>
845+
846+&return-value-dvb;
860847 </section>
861848
862849 <section id="FE_SET_FRONTEND">
@@ -909,24 +896,10 @@ modulation mode which can be one of the following: · 46 unmodified lines
909896 <para>Points to parameters for tuning operation.</para>
910897 </entry>
911898 </row></tbody></tgroup></informaltable>
912−<para>ERRORS
913−</para>
899+
900+&return-value-dvb;
914901 <informaltable><tgroup cols="2"><tbody><row><entry
915902 align="char">
916−<para>EBADF</para>
917−</entry><entry
918− align="char">
919−<para>fd is not a valid open file descriptor.</para>
920−</entry>
921− </row><row><entry
922− align="char">
923−<para>EFAULT</para>
924−</entry><entry
925− align="char">
926−<para>p points to invalid address.</para>
927−</entry>
928− </row><row><entry
929− align="char">
930903 <para>EINVAL</para>
931904 </entry><entry
932905 align="char">
@@ -982,25 +955,9 @@ modulation mode which can be one of the following: · 49 unmodified lines
982955 </entry>
983956 </row></tbody></tgroup></informaltable>
984957
985−<para>ERRORS
986−</para>
987−
958+&return-value-dvb;
988959 <informaltable><tgroup cols="2"><tbody><row><entry
989960 align="char">
990−<para>EBADF</para>
991−</entry><entry
992− align="char">
993−<para>fd is not a valid open file descriptor.</para>
994−</entry>
995− </row><row><entry
996− align="char">
997−<para>EFAULT</para>
998−</entry><entry
999− align="char">
1000−<para>p points to invalid address.</para>
1001−</entry>
1002− </row><row><entry
1003− align="char">
1004961 <para>EINVAL</para>
1005962 </entry><entry
1006963 align="char">
@@ -1084,24 +1041,9 @@ modulation mode which can be one of the following: · 77 unmodified lines
10841041 </entry>
10851042 </row></tbody></tgroup></informaltable>
10861043
1087−<para>ERRORS
1088−</para>
1044+&return-value-dvb;
10891045 <informaltable><tgroup cols="2"><tbody><row><entry
10901046 align="char">
1091−<para>EBADF</para>
1092−</entry><entry
1093− align="char">
1094−<para>fd is not a valid open file descriptor.</para>
1095−</entry>
1096− </row><row><entry
1097− align="char">
1098−<para>EFAULT</para>
1099−</entry><entry
1100− align="char">
1101−<para>ev points to invalid address.</para>
1102−</entry>
1103− </row><row><entry
1104− align="char">
11051047 <para>EWOULDBLOCK</para>
11061048 </entry><entry
11071049 align="char">
@@ -1111,11 +1053,6 @@ modulation mode which can be one of the following: · 3 unmodified lines
11111053 </row><row><entry
11121054 align="char">
11131055 <para>EOVERFLOW</para>
1114−</entry><entry
1115− align="char">
1116−</entry>
1117− </row><row><entry
1118− align="char">
11191056 </entry><entry
11201057 align="char">
11211058 <para>Overflow in event queue - one or more events were lost.</para>
@@ -1170,23 +1107,7 @@ modulation mode which can be one of the following: · 48 unmodified lines
11701107 to be stored.</para>
11711108 </entry>
11721109 </row></tbody></tgroup></informaltable>
1173−<para>ERRORS
1174−</para>
1175−<informaltable><tgroup cols="2"><tbody><row><entry
1176− align="char">
1177−<para>EBADF</para>
1178−</entry><entry
1179− align="char">
1180−<para>fd is not a valid open file descriptor.</para>
1181−</entry>
1182− </row><row><entry
1183− align="char">
1184−<para>EFAULT</para>
1185−</entry><entry
1186− align="char">
1187−<para>info points to invalid address.</para>
1188−</entry>
1189−</row></tbody></tgroup></informaltable>
1110+&return-value-dvb;
11901111 </section>
11911112
11921113 <section id="FE_DISEQC_RESET_OVERLOAD">
@@ -1229,30 +1150,7 @@ modulation mode which can be one of the following: · 36 unmodified lines
12291150 </entry>
12301151 </row></tbody></tgroup></informaltable>
12311152
1232−<para>ERRORS
1233−</para>
1234−<informaltable><tgroup cols="2"><tbody><row><entry
1235− align="char">
1236−<para>EBADF</para>
1237−</entry><entry
1238− align="char">
1239−<para>fd is not a valid file descriptor.</para>
1240−</entry>
1241− </row><row><entry
1242− align="char">
1243−<para>EPERM</para>
1244−</entry><entry
1245− align="char">
1246−<para>Permission denied (needs read/write access).</para>
1247−</entry>
1248− </row><row><entry
1249− align="char">
1250−<para>EINTERNAL</para>
1251−</entry><entry
1252− align="char">
1253−<para>Internal error in the device driver.</para>
1254−</entry>
1255−</row></tbody></tgroup></informaltable>
1153+&return-value-dvb;
12561154 </section>
12571155
12581156 <section id="FE_DISEQC_SEND_MASTER_CMD">
@@ -1302,45 +1200,7 @@ modulation mode which can be one of the following: · 43 unmodified lines
13021200 </entry>
13031201 </row></tbody></tgroup></informaltable>
13041202
1305−<para>ERRORS
1306−</para>
1307−<informaltable><tgroup cols="2"><tbody><row><entry
1308− align="char">
1309−<para>EBADF</para>
1310−</entry><entry
1311− align="char">
1312−<para>fd is not a valid file descriptor.</para>
1313−</entry>
1314− </row><row><entry
1315− align="char">
1316−<para>EFAULT</para>
1317−</entry><entry
1318− align="char">
1319−<para>Seq points to an invalid address.</para>
1320−</entry>
1321− </row><row><entry
1322− align="char">
1323−<para>EINVAL</para>
1324−</entry><entry
1325− align="char">
1326−<para>The data structure referred to by seq is invalid in some
1327− way.</para>
1328−</entry>
1329− </row><row><entry
1330− align="char">
1331−<para>EPERM</para>
1332−</entry><entry
1333− align="char">
1334−<para>Permission denied (needs read/write access).</para>
1335−</entry>
1336− </row><row><entry
1337− align="char">
1338−<para>EINTERNAL</para>
1339−</entry><entry
1340− align="char">
1341−<para>Internal error in the device driver.</para>
1342−</entry>
1343−</row></tbody></tgroup></informaltable>
1203+&return-value-dvb;
13441204 </section>
13451205
13461206 <section id="FE_DISEQC_RECV_SLAVE_REPLY">
@@ -1390,45 +1250,7 @@ modulation mode which can be one of the following: · 43 unmodified lines
13901250 <para>Pointer to the command to be received.</para>
13911251 </entry>
13921252 </row></tbody></tgroup></informaltable>
1393−<para>ERRORS
1394−</para>
1395−<informaltable><tgroup cols="2"><tbody><row><entry
1396− align="char">
1397−<para>EBADF</para>
1398−</entry><entry
1399− align="char">
1400−<para>fd is not a valid file descriptor.</para>
1401−</entry>
1402− </row><row><entry
1403− align="char">
1404−<para>EFAULT</para>
1405−</entry><entry
1406− align="char">
1407−<para>Seq points to an invalid address.</para>
1408−</entry>
1409− </row><row><entry
1410− align="char">
1411−<para>EINVAL</para>
1412−</entry><entry
1413− align="char">
1414−<para>The data structure referred to by seq is invalid in some
1415− way.</para>
1416−</entry>
1417− </row><row><entry
1418− align="char">
1419−<para>EPERM</para>
1420−</entry><entry
1421− align="char">
1422−<para>Permission denied (needs read/write access).</para>
1423−</entry>
1424− </row><row><entry
1425− align="char">
1426−<para>EINTERNAL</para>
1427−</entry><entry
1428− align="char">
1429−<para>Internal error in the device driver.</para>
1430−</entry>
1431− </row></tbody></tgroup></informaltable>
1253+&return-value-dvb;
14321254 </section>
14331255
14341256 <section id="FE_DISEQC_SEND_BURST">
@@ -1476,45 +1298,7 @@ modulation mode which can be one of the following: · 41 unmodified lines
14761298 </entry>
14771299 </row></tbody></tgroup></informaltable>
14781300
1479−<para>ERRORS
1480−</para>
1481−<informaltable><tgroup cols="2"><tbody><row><entry
1482− align="char">
1483−<para>EBADF</para>
1484−</entry><entry
1485− align="char">
1486−<para>fd is not a valid file descriptor.</para>
1487−</entry>
1488− </row><row><entry
1489− align="char">
1490−<para>EFAULT</para>
1491−</entry><entry
1492− align="char">
1493−<para>Seq points to an invalid address.</para>
1494−</entry>
1495− </row><row><entry
1496− align="char">
1497−<para>EINVAL</para>
1498−</entry><entry
1499− align="char">
1500−<para>The data structure referred to by seq is invalid in some
1501− way.</para>
1502−</entry>
1503− </row><row><entry
1504− align="char">
1505−<para>EPERM</para>
1506−</entry><entry
1507− align="char">
1508−<para>Permission denied (needs read/write access).</para>
1509−</entry>
1510− </row><row><entry
1511− align="char">
1512−<para>EINTERNAL</para>
1513−</entry><entry
1514− align="char">
1515−<para>Internal error in the device driver.</para>
1516−</entry>
1517−</row></tbody></tgroup></informaltable>
1301+&return-value-dvb;
15181302 </section>
15191303
15201304 <section id="FE_SET_TONE">
@@ -1560,44 +1344,7 @@ modulation mode which can be one of the following: · 39 unmodified lines
15601344 <para>The requested tone generation mode (on/off).</para>
15611345 </entry>
15621346 </row></tbody></tgroup></informaltable>
1563−<para>ERRORS
1564−</para>
1565−<informaltable><tgroup cols="2"><tbody><row><entry
1566− align="char">
1567−<para>ENODEV</para>
1568−</entry><entry
1569− align="char">
1570−<para>Device driver not loaded/available.</para>
1571−</entry>
1572− </row><row><entry
1573− align="char">
1574−<para>EBUSY</para>
1575−</entry><entry
1576− align="char">
1577−<para>Device or resource busy.</para>
1578−</entry>
1579− </row><row><entry
1580− align="char">
1581−<para>EINVAL</para>
1582−</entry><entry
1583− align="char">
1584−<para>Invalid argument.</para>
1585−</entry>
1586− </row><row><entry
1587− align="char">
1588−<para>EPERM</para>
1589−</entry><entry
1590− align="char">
1591−<para>File not opened with read permissions.</para>
1592−</entry>
1593− </row><row><entry
1594− align="char">
1595−<para>EINTERNAL</para>
1596−</entry><entry
1597− align="char">
1598−<para>Internal error in the device driver.</para>
1599−</entry>
1600−</row></tbody></tgroup></informaltable>
1347+&return-value-dvb;
16011348 </section>
16021349
16031350 <section id="FE_SET_VOLTAGE">
@@ -1645,44 +1392,7 @@ modulation mode which can be one of the following: · 41 unmodified lines
16451392 </entry>
16461393 </row></tbody></tgroup></informaltable>
16471394
1648−<para>ERRORS
1649−</para>
1650−<informaltable><tgroup cols="2"><tbody><row><entry
1651− align="char">
1652−<para>ENODEV</para>
1653−</entry><entry
1654− align="char">
1655−<para>Device driver not loaded/available.</para>
1656−</entry>
1657− </row><row><entry
1658− align="char">
1659−<para>EBUSY</para>
1660−</entry><entry
1661− align="char">
1662−<para>Device or resource busy.</para>
1663−</entry>
1664− </row><row><entry
1665− align="char">
1666−<para>EINVAL</para>
1667−</entry><entry
1668− align="char">
1669−<para>Invalid argument.</para>
1670−</entry>
1671− </row><row><entry
1672− align="char">
1673−<para>EPERM</para>
1674−</entry><entry
1675− align="char">
1676−<para>File not opened with read permissions.</para>
1677−</entry>
1678− </row><row><entry
1679− align="char">
1680−<para>EINTERNAL</para>
1681−</entry><entry
1682− align="char">
1683−<para>Internal error in the device driver.</para>
1684−</entry>
1685− </row></tbody></tgroup></informaltable>
1395+&return-value-dvb;
16861396 </section>
16871397
16881398 <section id="FE_ENABLE_HIGH_LNB_VOLTAGE">
@@ -1731,44 +1441,7 @@ modulation mode which can be one of the following: · 42 unmodified lines
17311441 </entry>
17321442 </row></tbody></tgroup></informaltable>
17331443
1734−<para>ERRORS
1735−</para>
1736−<informaltable><tgroup cols="2"><tbody><row><entry
1737− align="char">
1738−<para>ENODEV</para>
1739−</entry><entry
1740− align="char">
1741−<para>Device driver not loaded/available.</para>
1742−</entry>
1743− </row><row><entry
1744− align="char">
1745−<para>EBUSY</para>
1746−</entry><entry
1747− align="char">
1748−<para>Device or resource busy.</para>
1749−</entry>
1750− </row><row><entry
1751− align="char">
1752−<para>EINVAL</para>
1753−</entry><entry
1754− align="char">
1755−<para>Invalid argument.</para>
1756−</entry>
1757− </row><row><entry
1758− align="char">
1759−<para>EPERM</para>
1760−</entry><entry
1761− align="char">
1762−<para>File not opened with read permissions.</para>
1763−</entry>
1764− </row><row><entry
1765− align="char">
1766−<para>EINTERNAL</para>
1767−</entry><entry
1768− align="char">
1769−<para>Internal error in the device driver.</para>
1770−</entry>
1771− </row></tbody></tgroup></informaltable>
1444+&return-value-dvb;
17721445 </section>
17731446
17741447 <section id="FE_SET_FRONTEND_TUNE_MODE">
@@ -1800,11 +1473,7 @@ FE_TUNE_MODE_ONESHOT When set, this flag will disable any zigzagging or other "n · 25 unmodified lines
18001473 </entry>
18011474 </row></tbody></tgroup></informaltable>
18021475
1803−<para>ERRORS</para>
1804−<informaltable><tgroup cols="2"><tbody><row>
1805−<entry align="char"><para>EINVAL</para></entry>
1806−<entry align="char"><para>Invalid argument.</para></entry>
1807− </row></tbody></tgroup></informaltable>
1476+&return-value-dvb;
18081477 </section>
18091478
18101479 <section id="FE_DISHNETWORK_SEND_LEGACY_CMD">
@@ -1838,12 +1507,7 @@ sends the specified raw cmd to the dish via DISEqC. · 27 unmodified lines
18381507 </entry>
18391508 </row></tbody></tgroup></informaltable>
18401509
1841−<para>ERRORS</para>
1842−<informaltable><tgroup cols="1"><tbody><row>
1843−<entry align="char">
1844− <para>There are no errors in use for this call</para>
1845−</entry>
1846−</row></tbody></tgroup></informaltable>
1510+&return-value-dvb;
18471511 </section>
18481512
18491513 </section>
Documentation/DocBook/media/dvb/intro.xmlrenamed from Documentation/DocBook/dvb/intro.xml+22−1
@@ -154,6 +154,10 @@ are called:</para> · 153 unmodified lines
154154 </listitem>
155155 <listitem>
156156
157+<para><emphasis role="tt">/dev/dvb/adapterN/dvrM</emphasis>,</para>
158+</listitem>
159+ <listitem>
160+
157161 <para><emphasis role="tt">/dev/dvb/adapterN/caM</emphasis>,</para></listitem></itemizedlist>
158162
159163 <para>where N enumerates the DVB PCI cards in a system starting
@@ -175,10 +179,27 @@ the devices are described in the following chapters.</para> · 15 unmodified lines
175179 The DVB API include files should be included in application sources with
176180 a partial path like:</para>
177181
178−
182+<programlisting>
183+ #include &#x003C;linux/dvb/audio.h&#x003E;
184+</programlisting>
185+<programlisting>
186+ #include &#x003C;linux/dvb/ca.h&#x003E;
187+</programlisting>
188+<programlisting>
189+ #include &#x003C;linux/dvb/dmx.h&#x003E;
190+</programlisting>
179191 <programlisting>
180192 #include &#x003C;linux/dvb/frontend.h&#x003E;
181193 </programlisting>
194+<programlisting>
195+ #include &#x003C;linux/dvb/net.h&#x003E;
196+</programlisting>
197+<programlisting>
198+ #include &#x003C;linux/dvb/osd.h&#x003E;
199+</programlisting>
200+<programlisting>
201+ #include &#x003C;linux/dvb/video.h&#x003E;
202+</programlisting>
182203
183204 <para>To enable applications to support different API version, an
184205 additional include file <emphasis
Documentation/DocBook/media/dvb/kdapi.xmlrenamed from Documentation/DocBook/dvb/kdapi.xml+0−0

File renamed without changes.

Documentation/DocBook/media/dvb/net.xmlrenamed from Documentation/DocBook/dvb/net.xml+17−0
@@ -7,6 +7,23 @@ application. · 6 unmodified lines
77 </para>
88 <section id="dvb_net_types">
99 <title>DVB Net Data Types</title>
10+
11+<section id="dvb-net-if">
12+<title>struct dvb_net_if</title>
13+<programlisting>
14+struct dvb_net_if {
15+ __u16 pid;
16+ __u16 if_num;
17+ __u8 feedtype;
18+#define DVB_NET_FEEDTYPE_MPE 0 /&#x22C6; multi protocol encapsulation &#x22C6;/
19+#define DVB_NET_FEEDTYPE_ULE 1 /&#x22C6; ultra lightweight encapsulation &#x22C6;/
20+};
21+</programlisting>
22+</section>
23+
24+</section>
25+<section id="net_fcalls">
26+<title>DVB net Function Calls</title>
1027 <para>To be written&#x2026;
1128 </para>
1229 </section>
Documentation/DocBook/media/dvb/video.xmlrenamed from Documentation/DocBook/dvb/video.xml+162−476
@@ -18,15 +18,16 @@ supported on some MPEG decoders made for DVD playback. · 17 unmodified lines
1818 <section id="video_types">
1919 <title>Video Data Types</title>
2020
21−<section id="video_format_t">
21+<section id="video-format-t">
2222 <title>video_format_t</title>
2323 <para>The <emphasis role="tt">video_format_t</emphasis> data type defined by
2424 </para>
2525 <programlisting>
26− typedef enum {
27− VIDEO_FORMAT_4_3,
28− VIDEO_FORMAT_16_9
29− } video_format_t;
26+typedef enum {
27+ VIDEO_FORMAT_4_3, /&#x22C6; Select 4:3 format &#x22C6;/
28+ VIDEO_FORMAT_16_9, /&#x22C6; Select 16:9 format. &#x22C6;/
29+ VIDEO_FORMAT_221_1 /&#x22C6; 2.21:1 &#x22C6;/
30+} video_format_t;
3031 </programlisting>
3132 <para>is used in the VIDEO_SET_FORMAT function (??) to tell the driver which aspect ratio
3233 the output hardware (e.g. TV) has. It is also used in the data structures video_status
@@ -36,34 +37,36 @@ stream. · 3 unmodified lines
3637 </para>
3738 </section>
3839
39−<section id="video_display_format_t">
40−<title>video_display_format_t</title>
40+<section id="video-displayformat-t">
41+<title>video_displayformat_t</title>
4142 <para>In case the display format of the video stream and of the display hardware differ the
4243 application has to specify how to handle the cropping of the picture. This can be done using
4344 the VIDEO_SET_DISPLAY_FORMAT call (??) which accepts
4445 </para>
4546 <programlisting>
46− typedef enum {
47− VIDEO_PAN_SCAN,
48− VIDEO_LETTER_BOX,
49− VIDEO_CENTER_CUT_OUT
50− } video_display_format_t;
47+typedef enum {
48+ VIDEO_PAN_SCAN, /&#x22C6; use pan and scan format &#x22C6;/
49+ VIDEO_LETTER_BOX, /&#x22C6; use letterbox format &#x22C6;/
50+ VIDEO_CENTER_CUT_OUT /&#x22C6; use center cut out format &#x22C6;/
51+} video_displayformat_t;
5152 </programlisting>
5253 <para>as argument.
5354 </para>
5455 </section>
5556
56−<section id="video_stream_source">
57+<section id="video-stream-source-t">
5758 <title>video stream source</title>
5859 <para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take
5960 the following values, depending on whether we are replaying from an internal (demuxer) or
6061 external (user write) source.
6162 </para>
6263 <programlisting>
63− typedef enum {
64− VIDEO_SOURCE_DEMUX,
65− VIDEO_SOURCE_MEMORY
66− } video_stream_source_t;
64+typedef enum {
65+ VIDEO_SOURCE_DEMUX, /&#x22C6; Select the demux as the main source &#x22C6;/
66+ VIDEO_SOURCE_MEMORY /&#x22C6; If this source is selected, the stream
67+ comes from the user through the write
68+ system call &#x22C6;/
69+} video_stream_source_t;
6770 </programlisting>
6871 <para>VIDEO_SOURCE_DEMUX selects the demultiplexer (fed either by the frontend or the
6972 DVR device) as the source of the video stream. If VIDEO_SOURCE_MEMORY
@@ -72,49 +75,98 @@ call. · 2 unmodified lines
7275 </para>
7376 </section>
7477
75−<section id="video_play_state">
78+<section id="video-play-state-t">
7679 <title>video play state</title>
7780 <para>The following values can be returned by the VIDEO_GET_STATUS call representing the
7881 state of video playback.
7982 </para>
8083 <programlisting>
81− typedef enum {
82− VIDEO_STOPPED,
83− VIDEO_PLAYING,
84− VIDEO_FREEZED
85− } video_play_state_t;
84+typedef enum {
85+ VIDEO_STOPPED, /&#x22C6; Video is stopped &#x22C6;/
86+ VIDEO_PLAYING, /&#x22C6; Video is currently playing &#x22C6;/
87+ VIDEO_FREEZED /&#x22C6; Video is freezed &#x22C6;/
88+} video_play_state_t;
8689 </programlisting>
8790 </section>
8891
89−<section id="video_event">
92+<section id="video-command">
93+<para>The structure must be zeroed before use by the application
94+This ensures it can be extended safely in the future.</para>
95+<title>struct video-command</title>
96+<programlisting>
97+struct video_command {
98+ __u32 cmd;
99+ __u32 flags;
100+ union {
101+ struct {
102+ __u64 pts;
103+ } stop;
104+
105+ struct {
106+ /&#x22C6; 0 or 1000 specifies normal speed,
107+ 1 specifies forward single stepping,
108+ -1 specifies backward single stepping,
109+ &gt;>1: playback at speed/1000 of the normal speed,
110+ &lt;-1: reverse playback at (-speed/1000) of the normal speed. &#x22C6;/
111+ __s32 speed;
112+ __u32 format;
113+ } play;
114+
115+ struct {
116+ __u32 data[16];
117+ } raw;
118+ };
119+};
120+</programlisting>
121+</section>
122+
123+<section id="video-size-t">
124+<title>struct video_size-t</title>
125+<programlisting>
126+typedef struct {
127+ int w;
128+ int h;
129+ video_format_t aspect_ratio;
130+} video_size_t;
131+</programlisting>
132+</section>
133+
134+
135+<section id="video-event">
90136 <title>struct video_event</title>
91137 <para>The following is the structure of a video event as it is returned by the VIDEO_GET_EVENT
92138 call.
93139 </para>
94140 <programlisting>
95− struct video_event {
96− int32_t type;
97− time_t timestamp;
98− union {
99− video_format_t video_format;
100− } u;
101− };
141+struct video_event {
142+ __s32 type;
143+#define VIDEO_EVENT_SIZE_CHANGED 1
144+#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
145+#define VIDEO_EVENT_DECODER_STOPPED 3
146+#define VIDEO_EVENT_VSYNC 4
147+ __kernel_time_t timestamp;
148+ union {
149+ video_size_t size;
150+ unsigned int frame_rate; /&#x22C6; in frames per 1000sec &#x22C6;/
151+ unsigned char vsync_field; /&#x22C6; unknown/odd/even/progressive &#x22C6;/
152+ } u;
153+};
102154 </programlisting>
103155 </section>
104156
105−<section id="video_status">
157+<section id="video-status">
106158 <title>struct video_status</title>
107159 <para>The VIDEO_GET_STATUS call returns the following structure informing about various
108160 states of the playback operation.
109161 </para>
110162 <programlisting>
111− struct video_status {
112− boolean video_blank;
113− video_play_state_t play_state;
114− video_stream_source_t stream_source;
115− video_format_t video_format;
116− video_displayformat_t display_format;
117− };
163+struct video_status {
164+ int video_blank; /&#x22C6; blank video on freeze? &#x22C6;/
165+ video_play_state_t play_state; /&#x22C6; current state of playback &#x22C6;/
166+ video_stream_source_t stream_source; /&#x22C6; current source (demux/memory) &#x22C6;/
167+ video_format_t video_format; /&#x22C6; current aspect ratio of stream &#x22C6;/
168+ video_displayformat_t display_format;/&#x22C6; selected cropping mode &#x22C6;/
169+};
118170 </programlisting>
119171 <para>If video_blank is set video will be blanked out if the channel is changed or if playback is
120172 stopped. Otherwise, the last picture will be displayed. play_state indicates if the video is
@@ -127,17 +179,17 @@ device. · 6 unmodified lines
127179 </para>
128180 </section>
129181
130−<section id="video_still_picture">
182+<section id="video-still-picture">
131183 <title>struct video_still_picture</title>
132184 <para>An I-frame displayed via the VIDEO_STILLPICTURE call is passed on within the
133185 following structure.
134186 </para>
135187 <programlisting>
136− /&#x22C6; pointer to and size of a single iframe in memory &#x22C6;/
137− struct video_still_picture {
138− char &#x22C6;iFrame;
139− int32_t size;
140− };
188+/&#x22C6; pointer to and size of a single iframe in memory &#x22C6;/
189+struct video_still_picture {
190+ char &#x22C6;iFrame; /&#x22C6; pointer to a single iframe in memory &#x22C6;/
191+ int32_t size;
192+};
141193 </programlisting>
142194 </section>
143195
@@ -164,26 +216,26 @@ bits set according to the hardwares capabilities. · 20 unmodified lines
164216 </programlisting>
165217 </section>
166218
167−<section id="video_system">
219+<section id="video-system">
168220 <title>video system</title>
169221 <para>A call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The
170222 following system types can be set:
171223 </para>
172224 <programlisting>
173− typedef enum {
174− VIDEO_SYSTEM_PAL,
175− VIDEO_SYSTEM_NTSC,
176− VIDEO_SYSTEM_PALN,
177− VIDEO_SYSTEM_PALNc,
178− VIDEO_SYSTEM_PALM,
179− VIDEO_SYSTEM_NTSC60,
180− VIDEO_SYSTEM_PAL60,
181− VIDEO_SYSTEM_PALM60
182− } video_system_t;
225+typedef enum {
226+ VIDEO_SYSTEM_PAL,
227+ VIDEO_SYSTEM_NTSC,
228+ VIDEO_SYSTEM_PALN,
229+ VIDEO_SYSTEM_PALNc,
230+ VIDEO_SYSTEM_PALM,
231+ VIDEO_SYSTEM_NTSC60,
232+ VIDEO_SYSTEM_PAL60,
233+ VIDEO_SYSTEM_PALM60
234+} video_system_t;
183235 </programlisting>
184236 </section>
185237
186−<section id="video_highlight">
238+<section id="video-highlight">
187239 <title>struct video_highlight</title>
188240 <para>Calling the ioctl VIDEO_SET_HIGHLIGHTS posts the SPU highlight information. The
189241 call expects the following format for that information:
@@ -210,7 +262,7 @@ call expects the following format for that information: · 20 unmodified lines
210262 </programlisting>
211263
212264 </section>
213−<section id="video_spu">
265+<section id="video-spu">
214266 <title>video SPU</title>
215267 <para>Calling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the
216268 following format:
@@ -224,7 +276,7 @@ following format: · 7 unmodified lines
224276 </programlisting>
225277
226278 </section>
227−<section id="video_spu_palette">
279+<section id="video-spu-palette">
228280 <title>video SPU palette</title>
229281 <para>The following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE:
230282 </para>
@@ -237,7 +289,7 @@ following format: · 6 unmodified lines
237289 </programlisting>
238290
239291 </section>
240−<section id="video_navi_pack">
292+<section id="video-navi-pack">
241293 <title>video NAVI pack</title>
242294 <para>In order to get the navigational data the following structure has to be passed to the ioctl
243295 VIDEO_GET_NAVI:
@@ -252,7 +304,7 @@ VIDEO_GET_NAVI: · 8 unmodified lines
252304 </section>
253305
254306
255−<section id="video_attributes">
307+<section id="video-attributes-t">
256308 <title>video attributes</title>
257309 <para>The following attributes can be set by a call to VIDEO_SET_ATTRIBUTES:
258310 </para>
@@ -347,8 +399,7 @@ VIDEO_GET_NAVI: · 88 unmodified lines
347399 <para>(blocking mode is the default)</para>
348400 </entry>
349401 </row></tbody></tgroup></informaltable>
350−<para>ERRORS
351−</para>
402+<para>RETURN VALUE</para>
352403 <informaltable><tgroup cols="2"><tbody><row><entry
353404 align="char">
354405 <para>ENODEV</para>
@@ -406,8 +457,7 @@ VIDEO_GET_NAVI: · 51 unmodified lines
406457 <para>File descriptor returned by a previous call to open().</para>
407458 </entry>
408459 </row></tbody></tgroup></informaltable>
409−<para>ERRORS
410−</para>
460+<para>RETURN VALUE</para>
411461 <informaltable><tgroup cols="2"><tbody><row><entry
412462 align="char">
413463 <para>EBADF</para>
@@ -462,8 +512,7 @@ VIDEO_GET_NAVI: · 48 unmodified lines
462512 <para>Size of buf.</para>
463513 </entry>
464514 </row></tbody></tgroup></informaltable>
465−<para>ERRORS
466−</para>
515+<para>RETURN VALUE</para>
467516 <informaltable><tgroup cols="2"><tbody><row><entry
468517 align="char">
469518 <para>EPERM</para>
@@ -488,7 +537,7 @@ VIDEO_GET_NAVI: · 18 unmodified lines
488537 </entry>
489538 </row></tbody></tgroup></informaltable>
490539
491−</section><section
540+</section><section id="VIDEO_STOP"
492541 role="subsection"><title>VIDEO_STOP</title>
493542 <para>DESCRIPTION
494543 </para>
@@ -543,26 +592,9 @@ role="subsection"><title>VIDEO_STOP</title> · 48 unmodified lines
543592 <para>FALSE: Show last decoded frame.</para>
544593 </entry>
545594 </row></tbody></tgroup></informaltable>
546−<para>ERRORS
547−</para>
548−<informaltable><tgroup cols="2"><tbody><row><entry
549− align="char">
550−<para>EBADF</para>
551−</entry><entry
552− align="char">
553−<para>fd is not a valid open file descriptor</para>
554−</entry>
555− </row><row><entry
556− align="char">
557−<para>EINTERNAL</para>
558−</entry><entry
559− align="char">
560−<para>Internal error, possibly in the communication with the
561− DVB subsystem.</para>
562−</entry>
563− </row></tbody></tgroup></informaltable>
595+&return-value-dvb;
564596
565−</section><section
597+</section><section id="VIDEO_PLAY"
566598 role="subsection"><title>VIDEO_PLAY</title>
567599 <para>DESCRIPTION
568600 </para>
@@ -596,26 +628,9 @@ role="subsection"><title>VIDEO_PLAY</title> · 27 unmodified lines
596628 <para>Equals VIDEO_PLAY for this command.</para>
597629 </entry>
598630 </row></tbody></tgroup></informaltable>
599−<para>ERRORS
600−</para>
601−<informaltable><tgroup cols="2"><tbody><row><entry
602− align="char">
603−<para>EBADF</para>
604−</entry><entry
605− align="char">
606−<para>fd is not a valid open file descriptor</para>
607−</entry>
608− </row><row><entry
609− align="char">
610−<para>EINTERNAL</para>
611−</entry><entry
612− align="char">
613−<para>Internal error, possibly in the communication with the
614− DVB subsystem.</para>
615−</entry>
616− </row></tbody></tgroup></informaltable>
631+&return-value-dvb;
617632
618−</section><section
633+</section><section id="VIDEO_FREEZE"
619634 role="subsection"><title>VIDEO_FREEZE</title>
620635 <para>DESCRIPTION
621636 </para>
@@ -653,26 +668,9 @@ role="subsection"><title>VIDEO_FREEZE</title> · 31 unmodified lines
653668 <para>Equals VIDEO_FREEZE for this command.</para>
654669 </entry>
655670 </row></tbody></tgroup></informaltable>
656−<para>ERRORS
657−</para>
658−<informaltable><tgroup cols="2"><tbody><row><entry
659− align="char">
660−<para>EBADF</para>
661−</entry><entry
662− align="char">
663−<para>fd is not a valid open file descriptor</para>
664−</entry>
665− </row><row><entry
666− align="char">
667−<para>EINTERNAL</para>
668−</entry><entry
669− align="char">
670−<para>Internal error, possibly in the communication with the
671− DVB subsystem.</para>
672−</entry>
673− </row></tbody></tgroup></informaltable>
671+&return-value-dvb;
674672
675−</section><section
673+</section><section id="VIDEO_CONTINUE"
676674 role="subsection"><title>VIDEO_CONTINUE</title>
677675 <para>DESCRIPTION
678676 </para>
@@ -706,26 +704,9 @@ role="subsection"><title>VIDEO_CONTINUE</title> · 27 unmodified lines
706704 <para>Equals VIDEO_CONTINUE for this command.</para>
707705 </entry>
708706 </row></tbody></tgroup></informaltable>
709−<para>ERRORS
710−</para>
711−<informaltable><tgroup cols="2"><tbody><row><entry
712− align="char">
713−<para>EBADF</para>
714−</entry><entry
715− align="char">
716−<para>fd is not a valid open file descriptor</para>
717−</entry>
718− </row><row><entry
719− align="char">
720−<para>EINTERNAL</para>
721−</entry><entry
722− align="char">
723−<para>Internal error, possibly in the communication with the
724− DVB subsystem.</para>
725−</entry>
726− </row></tbody></tgroup></informaltable>
707+&return-value-dvb;
727708
728−</section><section
709+</section><section id="VIDEO_SELECT_SOURCE"
729710 role="subsection"><title>VIDEO_SELECT_SOURCE</title>
730711 <para>DESCRIPTION
731712 </para>
@@ -769,26 +750,9 @@ role="subsection"><title>VIDEO_SELECT_SOURCE</title> · 37 unmodified lines
769750 <para>Indicates which source shall be used for the Video stream.</para>
770751 </entry>
771752 </row></tbody></tgroup></informaltable>
772−<para>ERRORS
773−</para>
774−<informaltable><tgroup cols="2"><tbody><row><entry
775− align="char">
776−<para>EBADF</para>
777−</entry><entry
778− align="char">
779−<para>fd is not a valid open file descriptor</para>
780−</entry>
781− </row><row><entry
782− align="char">
783−<para>EINTERNAL</para>
784−</entry><entry
785− align="char">
786−<para>Internal error, possibly in the communication with the
787− DVB subsystem.</para>
788−</entry>
789− </row></tbody></tgroup></informaltable>
753+&return-value-dvb;
790754
791−</section><section
755+</section><section id="VIDEO_SET_BLANK"
792756 role="subsection"><title>VIDEO_SET_BLANK</title>
793757 <para>DESCRIPTION
794758 </para>
@@ -835,33 +799,9 @@ role="subsection"><title>VIDEO_SET_BLANK</title> · 40 unmodified lines
835799 <para>FALSE: Show last decoded frame.</para>
836800 </entry>
837801 </row></tbody></tgroup></informaltable>
838−<para>ERRORS
839−</para>
840−<informaltable><tgroup cols="2"><tbody><row><entry
841− align="char">
842−<para>EBADF</para>
843−</entry><entry
844− align="char">
845−<para>fd is not a valid open file descriptor</para>
846−</entry>
847− </row><row><entry
848− align="char">
849−<para>EINTERNAL</para>
850−</entry><entry
851− align="char">
852−<para>Internal error, possibly in the communication with the
853− DVB subsystem.</para>
854−</entry>
855− </row><row><entry
856− align="char">
857−<para>EINVAL</para>
858−</entry><entry
859− align="char">
860−<para>Illegal input parameter</para>
861−</entry>
862− </row></tbody></tgroup></informaltable>
802+&return-value-dvb;
863803
864−</section><section
804+</section><section id="VIDEO_GET_STATUS"
865805 role="subsection"><title>VIDEO_GET_STATUS</title>
866806 <para>DESCRIPTION
867807 </para>
@@ -903,33 +843,9 @@ role="subsection"><title>VIDEO_GET_STATUS</title> · 35 unmodified lines
903843 <para>Returns the current status of the Video Device.</para>
904844 </entry>
905845 </row></tbody></tgroup></informaltable>
906−<para>ERRORS
907−</para>
908−<informaltable><tgroup cols="2"><tbody><row><entry
909− align="char">
910−<para>EBADF</para>
911−</entry><entry
912− align="char">
913−<para>fd is not a valid open file descriptor</para>
914−</entry>
915− </row><row><entry
916− align="char">
917−<para>EINTERNAL</para>
918−</entry><entry
919− align="char">
920−<para>Internal error, possibly in the communication with the
921− DVB subsystem.</para>
922−</entry>
923− </row><row><entry
924− align="char">
925−<para>EFAULT</para>
926−</entry><entry
927− align="char">
928−<para>status points to invalid address</para>
929−</entry>
930− </row></tbody></tgroup></informaltable>
846+&return-value-dvb;
931847
932−</section><section
848+</section><section id="VIDEO_GET_EVENT"
933849 role="subsection"><title>VIDEO_GET_EVENT</title>
934850 <para>DESCRIPTION
935851 </para>
@@ -980,24 +896,9 @@ role="subsection"><title>VIDEO_GET_EVENT</title> · 44 unmodified lines
980896 stored.</para>
981897 </entry>
982898 </row></tbody></tgroup></informaltable>
983−<para>ERRORS
984−</para>
899+&return-value-dvb;
985900 <informaltable><tgroup cols="2"><tbody><row><entry
986901 align="char">
987−<para>EBADF</para>
988−</entry><entry
989− align="char">
990−<para>fd is not a valid open file descriptor</para>
991−</entry>
992− </row><row><entry
993− align="char">
994−<para>EFAULT</para>
995−</entry><entry
996− align="char">
997−<para>ev points to invalid address</para>
998−</entry>
999− </row><row><entry
1000− align="char">
1001902 <para>EWOULDBLOCK</para>
1002903 </entry><entry
1003904 align="char">
@@ -1007,18 +908,13 @@ role="subsection"><title>VIDEO_GET_EVENT</title> · 3 unmodified lines
1007908 </row><row><entry
1008909 align="char">
1009910 <para>EOVERFLOW</para>
1010−</entry><entry
1011− align="char">
1012−</entry>
1013− </row><row><entry
1014− align="char">
1015911 </entry><entry
1016912 align="char">
1017913 <para>Overflow in event queue - one or more events were lost.</para>
1018914 </entry>
1019915 </row></tbody></tgroup></informaltable>
1020916
1021−</section><section
917+</section><section id="VIDEO_SET_DISPLAY_FORMAT"
1022918 role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title>
1023919 <para>DESCRIPTION
1024920 </para>
@@ -1063,32 +959,9 @@ role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title> · 38 unmodified lines
1063959 <para>Selects the video format to be used.</para>
1064960 </entry>
1065961 </row></tbody></tgroup></informaltable>
1066−<para>ERRORS
1067−</para>
1068−<informaltable><tgroup cols="2"><tbody><row><entry
1069− align="char">
1070−<para>EBADF</para>
1071−</entry><entry
1072− align="char">
1073−<para>fd is not a valid open file descriptor</para>
1074−</entry>
1075− </row><row><entry
1076− align="char">
1077−<para>EINTERNAL</para>
1078−</entry><entry
1079− align="char">
1080−<para>Internal error.</para>
1081−</entry>
1082− </row><row><entry
1083− align="char">
1084−<para>EINVAL</para>
1085−</entry><entry
1086− align="char">
1087−<para>Illegal parameter format.</para>
1088−</entry>
1089− </row></tbody></tgroup></informaltable>
962+&return-value-dvb;
1090963
1091−</section><section
964+</section><section id="VIDEO_STILLPICTURE"
1092965 role="subsection"><title>VIDEO_STILLPICTURE</title>
1093966 <para>DESCRIPTION
1094967 </para>
@@ -1133,32 +1006,9 @@ role="subsection"><title>VIDEO_STILLPICTURE</title> · 38 unmodified lines
11331006 <para>Pointer to a location where an I-frame and size is stored.</para>
11341007 </entry>
11351008 </row></tbody></tgroup></informaltable>
1136−<para>ERRORS
1137−</para>
1138−<informaltable><tgroup cols="2"><tbody><row><entry
1139− align="char">
1140−<para>EBADF</para>
1141−</entry><entry
1142− align="char">
1143−<para>fd is not a valid open file descriptor</para>
1144−</entry>
1145− </row><row><entry
1146− align="char">
1147−<para>EINTERNAL</para>
1148−</entry><entry
1149− align="char">
1150−<para>Internal error.</para>
1151−</entry>
1152− </row><row><entry
1153− align="char">
1154−<para>EFAULT</para>
1155−</entry><entry
1156− align="char">
1157−<para>sp points to an invalid iframe.</para>
1158−</entry>
1159− </row></tbody></tgroup></informaltable>
1009+&return-value-dvb;
11601010
1161−</section><section
1011+</section><section id="VIDEO_FAST_FORWARD"
11621012 role="subsection"><title>VIDEO_FAST_FORWARD</title>
11631013 <para>DESCRIPTION
11641014 </para>
@@ -1200,39 +1050,17 @@ role="subsection"><title>VIDEO_FAST_FORWARD</title> · 35 unmodified lines
12001050 <para>The number of frames to skip.</para>
12011051 </entry>
12021052 </row></tbody></tgroup></informaltable>
1203−<para>ERRORS
1204−</para>
1053+&return-value-dvb;
12051054 <informaltable><tgroup cols="2"><tbody><row><entry
12061055 align="char">
1207−<para>EBADF</para>
1208−</entry><entry
1209− align="char">
1210−<para>fd is not a valid open file descriptor</para>
1211−</entry>
1212− </row><row><entry
1213− align="char">
1214−<para>EINTERNAL</para>
1215−</entry><entry
1216− align="char">
1217−<para>Internal error.</para>
1218−</entry>
1219− </row><row><entry
1220− align="char">
12211056 <para>EPERM</para>
12221057 </entry><entry
12231058 align="char">
12241059 <para>Mode VIDEO_SOURCE_MEMORY not selected.</para>
1225−</entry>
1226− </row><row><entry
1227− align="char">
1228−<para>EINVAL</para>
1229−</entry><entry
1230− align="char">
1231−<para>Illegal parameter format.</para>
12321060 </entry>
12331061 </row></tbody></tgroup></informaltable>
12341062
1235−</section><section
1063+</section><section id="VIDEO_SLOWMOTION"
12361064 role="subsection"><title>VIDEO_SLOWMOTION</title>
12371065 <para>DESCRIPTION
12381066 </para>
@@ -1274,39 +1102,17 @@ role="subsection"><title>VIDEO_SLOWMOTION</title> · 35 unmodified lines
12741102 <para>The number of times to repeat each frame.</para>
12751103 </entry>
12761104 </row></tbody></tgroup></informaltable>
1277−<para>ERRORS
1278−</para>
1105+&return-value-dvb;
12791106 <informaltable><tgroup cols="2"><tbody><row><entry
12801107 align="char">
1281−<para>EBADF</para>
1282−</entry><entry
1283− align="char">
1284−<para>fd is not a valid open file descriptor</para>
1285−</entry>
1286− </row><row><entry
1287− align="char">
1288−<para>EINTERNAL</para>
1289−</entry><entry
1290− align="char">
1291−<para>Internal error.</para>
1292−</entry>
1293− </row><row><entry
1294− align="char">
12951108 <para>EPERM</para>
12961109 </entry><entry
12971110 align="char">
12981111 <para>Mode VIDEO_SOURCE_MEMORY not selected.</para>
1299−</entry>
1300− </row><row><entry
1301− align="char">
1302−<para>EINVAL</para>
1303−</entry><entry
1304− align="char">
1305−<para>Illegal parameter format.</para>
13061112 </entry>
13071113 </row></tbody></tgroup></informaltable>
13081114
1309−</section><section
1115+</section><section id="VIDEO_GET_CAPABILITIES"
13101116 role="subsection"><title>VIDEO_GET_CAPABILITIES</title>
13111117 <para>DESCRIPTION
13121118 </para>
@@ -1350,25 +1156,9 @@ role="subsection"><title>VIDEO_GET_CAPABILITIES</title> · 37 unmodified lines
13501156 information.</para>
13511157 </entry>
13521158 </row></tbody></tgroup></informaltable>
1353−<para>ERRORS
1354−</para>
1355−<informaltable><tgroup cols="2"><tbody><row><entry
1356− align="char">
1357−<para>EBADF</para>
1358−</entry><entry
1359− align="char">
1360−<para>fd is not a valid open file descriptor</para>
1361−</entry>
1362− </row><row><entry
1363− align="char">
1364−<para>EFAULT</para>
1365−</entry><entry
1366− align="char">
1367−<para>cap points to an invalid iframe.</para>
1368−</entry>
1369− </row></tbody></tgroup></informaltable>
1159+&return-value-dvb;
13701160
1371−</section><section
1161+</section><section id="VIDEO_SET_ID"
13721162 role="subsection"><title>VIDEO_SET_ID</title>
13731163 <para>DESCRIPTION
13741164 </para>
@@ -1410,24 +1200,9 @@ role="subsection"><title>VIDEO_SET_ID</title> · 35 unmodified lines
14101200 <para>video sub-stream id</para>
14111201 </entry>
14121202 </row></tbody></tgroup></informaltable>
1413−<para>ERRORS
1414−</para>
1203+&return-value-dvb;
14151204 <informaltable><tgroup cols="2"><tbody><row><entry
14161205 align="char">
1417−<para>EBADF</para>
1418−</entry><entry
1419− align="char">
1420−<para>fd is not a valid open file descriptor.</para>
1421−</entry>
1422− </row><row><entry
1423− align="char">
1424−<para>EINTERNAL</para>
1425−</entry><entry
1426− align="char">
1427−<para>Internal error.</para>
1428−</entry>
1429− </row><row><entry
1430− align="char">
14311206 <para>EINVAL</para>
14321207 </entry><entry
14331208 align="char">
@@ -1435,7 +1210,7 @@ role="subsection"><title>VIDEO_SET_ID</title> · 1 unmodified line
14351210 </entry>
14361211 </row></tbody></tgroup></informaltable>
14371212
1438−</section><section
1213+</section><section id="VIDEO_CLEAR_BUFFER"
14391214 role="subsection"><title>VIDEO_CLEAR_BUFFER</title>
14401215 <para>DESCRIPTION
14411216 </para>
@@ -1468,18 +1243,9 @@ role="subsection"><title>VIDEO_CLEAR_BUFFER</title> · 26 unmodified lines
14681243 <para>Equals VIDEO_CLEAR_BUFFER for this command.</para>
14691244 </entry>
14701245 </row></tbody></tgroup></informaltable>
1471−<para>ERRORS
1472−</para>
1473−<informaltable><tgroup cols="2"><tbody><row><entry
1474− align="char">
1475−<para>EBADF</para>
1476−</entry><entry
1477− align="char">
1478−<para>fd is not a valid open file descriptor</para>
1479−</entry>
1480− </row></tbody></tgroup></informaltable>
1246+&return-value-dvb;
14811247
1482−</section><section
1248+</section><section id="VIDEO_SET_STREAMTYPE"
14831249 role="subsection"><title>VIDEO_SET_STREAMTYPE</title>
14841250 <para>DESCRIPTION
14851251 </para>
@@ -1522,25 +1288,9 @@ role="subsection"><title>VIDEO_SET_STREAMTYPE</title> · 36 unmodified lines
15221288 <para>stream type</para>
15231289 </entry>
15241290 </row></tbody></tgroup></informaltable>
1525−<para>ERRORS
1526−</para>
1527−<informaltable><tgroup cols="2"><tbody><row><entry
1528− align="char">
1529−<para>EBADF</para>
1530−</entry><entry
1531− align="char">
1532−<para>fd is not a valid open file descriptor</para>
1533−</entry>
1534− </row><row><entry
1535− align="char">
1536−<para>EINVAL</para>
1537−</entry><entry
1538− align="char">
1539−<para>type is not a valid or supported stream type.</para>
1540−</entry>
1541− </row></tbody></tgroup></informaltable>
1291+&return-value-dvb;
15421292
1543−</section><section
1293+</section><section id="VIDEO_SET_FORMAT"
15441294 role="subsection"><title>VIDEO_SET_FORMAT</title>
15451295 <para>DESCRIPTION
15461296 </para>
@@ -1583,17 +1333,9 @@ role="subsection"><title>VIDEO_SET_FORMAT</title> · 36 unmodified lines
15831333 <para>video format of TV as defined in section ??.</para>
15841334 </entry>
15851335 </row></tbody></tgroup></informaltable>
1586−<para>ERRORS
1587−</para>
1336+&return-value-dvb;
15881337 <informaltable><tgroup cols="2"><tbody><row><entry
15891338 align="char">
1590−<para>EBADF</para>
1591−</entry><entry
1592− align="char">
1593−<para>fd is not a valid open file descriptor</para>
1594−</entry>
1595− </row><row><entry
1596− align="char">
15971339 <para>EINVAL</para>
15981340 </entry><entry
15991341 align="char">
@@ -1601,7 +1343,7 @@ role="subsection"><title>VIDEO_SET_FORMAT</title> · 1 unmodified line
16011343 </entry>
16021344 </row></tbody></tgroup></informaltable>
16031345
1604−</section><section
1346+</section><section id="VIDEO_SET_SYSTEM"
16051347 role="subsection"><title>VIDEO_SET_SYSTEM</title>
16061348 <para>DESCRIPTION
16071349 </para>
@@ -1645,17 +1387,9 @@ role="subsection"><title>VIDEO_SET_SYSTEM</title> · 37 unmodified lines
16451387 <para>video system of TV output.</para>
16461388 </entry>
16471389 </row></tbody></tgroup></informaltable>
1648−<para>ERRORS
1649−</para>
1390+&return-value-dvb;
16501391 <informaltable><tgroup cols="2"><tbody><row><entry
16511392 align="char">
1652−<para>EBADF</para>
1653−</entry><entry
1654− align="char">
1655−<para>fd is not a valid open file descriptor</para>
1656−</entry>
1657− </row><row><entry
1658− align="char">
16591393 <para>EINVAL</para>
16601394 </entry><entry
16611395 align="char">
@@ -1663,7 +1397,7 @@ role="subsection"><title>VIDEO_SET_SYSTEM</title> · 1 unmodified line
16631397 </entry>
16641398 </row></tbody></tgroup></informaltable>
16651399
1666−</section><section
1400+</section><section id="VIDEO_SET_HIGHLIGHT"
16671401 role="subsection"><title>VIDEO_SET_HIGHLIGHT</title>
16681402 <para>DESCRIPTION
16691403 </para>
@@ -1705,25 +1439,9 @@ role="subsection"><title>VIDEO_SET_HIGHLIGHT</title> · 35 unmodified lines
17051439 <para>SPU Highlight information according to section ??.</para>
17061440 </entry>
17071441 </row></tbody></tgroup></informaltable>
1708−<para>ERRORS
1709−</para>
1710−<informaltable><tgroup cols="2"><tbody><row><entry
1711− align="char">
1712−<para>EBADF</para>
1713−</entry><entry
1714− align="char">
1715−<para>fd is not a valid open file descriptor.</para>
1716−</entry>
1717− </row><row><entry
1718− align="char">
1719−<para>EINVAL</para>
1720−</entry><entry
1721− align="char">
1722−<para>input is not a valid highlight setting.</para>
1723−</entry>
1724− </row></tbody></tgroup></informaltable>
1442+&return-value-dvb;
17251443
1726−</section><section
1444+</section><section id="VIDEO_SET_SPU"
17271445 role="subsection"><title>VIDEO_SET_SPU</title>
17281446 <para>DESCRIPTION
17291447 </para>
@@ -1766,17 +1484,9 @@ role="subsection"><title>VIDEO_SET_SPU</title> · 36 unmodified lines
17661484 to section ??.</para>
17671485 </entry>
17681486 </row></tbody></tgroup></informaltable>
1769−<para>ERRORS
1770−</para>
1487+&return-value-dvb;
17711488 <informaltable><tgroup cols="2"><tbody><row><entry
17721489 align="char">
1773−<para>EBADF</para>
1774−</entry><entry
1775− align="char">
1776−<para>fd is not a valid open file descriptor</para>
1777−</entry>
1778− </row><row><entry
1779− align="char">
17801490 <para>EINVAL</para>
17811491 </entry><entry
17821492 align="char">
@@ -1785,7 +1495,7 @@ role="subsection"><title>VIDEO_SET_SPU</title> · 2 unmodified lines
17851495 </entry>
17861496 </row></tbody></tgroup></informaltable>
17871497
1788−</section><section
1498+</section><section id="VIDEO_SET_SPU_PALETTE"
17891499 role="subsection"><title>VIDEO_SET_SPU_PALETTE</title>
17901500 <para>DESCRIPTION
17911501 </para>
@@ -1827,17 +1537,9 @@ role="subsection"><title>VIDEO_SET_SPU_PALETTE</title> · 35 unmodified lines
18271537 <para>SPU palette according to section ??.</para>
18281538 </entry>
18291539 </row></tbody></tgroup></informaltable>
1830−<para>ERRORS
1831−</para>
1540+&return-value-dvb;
18321541 <informaltable><tgroup cols="2"><tbody><row><entry
18331542 align="char">
1834−<para>EBADF</para>
1835−</entry><entry
1836− align="char">
1837−<para>fd is not a valid open file descriptor</para>
1838−</entry>
1839− </row><row><entry
1840− align="char">
18411543 <para>EINVAL</para>
18421544 </entry><entry
18431545 align="char">
@@ -1845,7 +1547,7 @@ role="subsection"><title>VIDEO_SET_SPU_PALETTE</title> · 1 unmodified line
18451547 </entry>
18461548 </row></tbody></tgroup></informaltable>
18471549
1848−</section><section
1550+</section><section id="VIDEO_GET_NAVI"
18491551 role="subsection"><title>VIDEO_GET_NAVI</title>
18501552 <para>DESCRIPTION
18511553 </para>
@@ -1889,17 +1591,9 @@ role="subsection"><title>VIDEO_GET_NAVI</title> · 37 unmodified lines
18891591 ??.</para>
18901592 </entry>
18911593 </row></tbody></tgroup></informaltable>
1892−<para>ERRORS
1893−</para>
1594+&return-value-dvb;
18941595 <informaltable><tgroup cols="2"><tbody><row><entry
18951596 align="char">
1896−<para>EBADF</para>
1897−</entry><entry
1898− align="char">
1899−<para>fd is not a valid open file descriptor</para>
1900−</entry>
1901− </row><row><entry
1902− align="char">
19031597 <para>EFAULT</para>
19041598 </entry><entry
19051599 align="char">
@@ -1907,7 +1601,7 @@ role="subsection"><title>VIDEO_GET_NAVI</title> · 1 unmodified line
19071601 </entry>
19081602 </row></tbody></tgroup></informaltable>
19091603
1910−</section><section
1604+</section><section id="VIDEO_SET_ATTRIBUTES"
19111605 role="subsection"><title>VIDEO_SET_ATTRIBUTES</title>
19121606 <para>DESCRIPTION
19131607 </para>
@@ -1951,17 +1645,9 @@ role="subsection"><title>VIDEO_SET_ATTRIBUTES</title> · 37 unmodified lines
19511645 <para>video attributes according to section ??.</para>
19521646 </entry>
19531647 </row></tbody></tgroup></informaltable>
1954−<para>ERRORS
1955−</para>
1648+&return-value-dvb;
19561649 <informaltable><tgroup cols="2"><tbody><row><entry
19571650 align="char">
1958−<para>EBADF</para>
1959−</entry><entry
1960− align="char">
1961−<para>fd is not a valid open file descriptor</para>
1962−</entry>
1963− </row><row><entry
1964− align="char">
19651651 <para>EINVAL</para>
19661652 </entry><entry
19671653 align="char">
Documentation/DocBook/media/dvbstb.png.b64+398−0
@@ -0,0 +1,398 @@
1+iVBORw0KGgoAAAANSUhEUgAAAzMAAAGaCAYAAAA7Jx25AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
2+WXMAAA3XAAANiQFmEOuiAAAgAElEQVR42uzdd1RU18I28GdgKFZUBE0saFA0KoqFFkEhKhbAQmxJ
3+bIkNNEpMEUwsMZarJMZrw4KxRExQczUqil0jRBA1GAjGQqLYC4TemdnfH76cj3HodYDntxaLmTll
4+zuw57Zmz9z4yIYQAkYZzcnJCSkoKGjZsyMIgIiIiquPS09PRoEEDyBhmqCaQyWRo06YN3nvvPRYG
5+ERERUR137Ngx/Pnnn5CzKKgmMDAwwKpVqxhmiIiIiAj29vZ4//33ocWiICIiIiKimohhhoiIiIiI
6+GGaIiIiIiIgYZoiIiIiIiBhmiIiIiIiIYYaIiIiIiIhhhoiIiIiIiGGGiIiIiIgYZoiIiIiIiBhm
7+iIiIiIiIGGaIiIiIiIgYZoiIiIiIiGGGiIiIiIiIYYaIiIiIiIhhhoiIiIiIGGaIiIiIiIgYZoiI
8+iIiIiBhmiIiIiIiIYYaIiIiIiIhhhoiIiIiIqFLIWQRElSMsLAy2trZo1KgR5HJualTxEhIS8P33
9+3+PDDz+sM5+5bdu2ePDgAZo2bcoVgCplm3J0dMS5c+fqzGf++uuvsWTJEm5TVClSU1ORk5ODBw8e
10+oHXr1gwzRDVJbm4uAGDRokUwMDBggVCFmzlzJrKysurUZ3727BksLCzg4eHBFYAq3IIFC5CQkFCn
11+PnNGRgYAYNWqVVwBqMJFRUVh48aNUCqVlfYeDDNElWzGjBkMM1QpNm7cWOc+c8uWLTFjxgzMmDGD
12+KwBVuLt37yIkJKTOfW5nZ2duU1SpYaYysc0MERERERHVSAwzRERERETEMENERERERMQwQ0RERERE
13+xDBDREREREQMM0RERERERAwzREREREREDDNERERERMQwQ0RERERExDBDRERERETEMENERERERMQw
14+Q0REREREDDNEREREREQMM0RERERERAwzRERERETEMENERERERMQwQ0RERERExDBDREREREQMM0RE
15+RERERAwzREREREREDDNEREREREQMM0RERERExDBDRERERETEMENERERERMQwQ0REREREDDNERERE
16+REQMM0RERERERAwzRERERETEMENERERERMQwQ0REREREVGnkLAKimunBgwdISkoq8/SGhoZ47bXX
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
127+kIVFRERExDBDVP0UCgUWL14MJycnJCQkqN3fJI9MJoOJiQlGjBjBQiMiIiKqQqxmRlSAR48eYfz4
128+8QgLC5P69y+MtrY2vvjii0pryEdEREREDDNEJXLq1CkMHjwYurq6Jbp5lIGBASZNmsSCIyIiIqpi
129+/CmZKB8hBPbv3w8AhVYry09XVxdeXl68ISARERERwwxR9ZLJZNi+fTvWr18PLS2tYquO6ejoYMaM
130+GSw4IiIiIoYZIs0wZ84cnDlzBo0aNSr0hoe6urr46KOPauUNMYmIiIgYZohqMEdHR4SGhkJbW7vA
131+O2wrlUp4enqyoIiIiIgYZog0z6pVq9CsWTO4uLhAW1tbel1XVxeTJ0/Ga6+9xkIiIiIiYpgh0izr
132+1q1DQEAA/ve//+Hw4cNYvnw5tLS0IJPJkJ2dDS8vLxYSEREREcMMkWa5cOECPvvsM/j6+sLGxgYy
133+mQze3t4IDAyEEAI2Njbo2LEjC4qIiIioGvE+M0SvuH//PsaOHYtp06Zh6tSpKsOGDh2KW7duISsr
134+iwVFRERExDBDpDnS09Ph5uYGMzMzrFu3rsBxzMzMWFBEREREDDNEmsXDwwNPnz7F1atXeSNMIiIi
135+IoYZopohr8H/r7/+ipYtW7JAiIiIiBhmiDRfXoP/LVu2wMbGhgVCREREVAOwNzOq84pq8E9ERERE
136+DDNEGqkkDf6JiIiISDOxmhnVaWzwT0RERFQLwsz333+P77//Hg0aNGCpUIVTKBTIycnB//73Pxgb
137+G2vEMrHBPxEREVEtCTMxMTEIDQ2Fl5cXS4UqXFRUFM6fP4/MzEyNWB42+CciIiKqRWEGAJydnbFq
138+1SqWClVKmDl+/LhGLAsb/BMRERHVDuwAgOoUNvgnIiIiqj3YAQDVKWzwT0RERMQwQ1TjsME/ERER
139+EcMMUY3DBv9EREREtQ/bzFCtxwb/RERERAwzRDUOG/wTERER1V6sZka1Ghv8ExERETHMENU4bPBP
140+RERExDBDVOOwwT8RERFR7cc2M1TrsME/EREREcMMUY3DBv9EREREdQermVGtwgb/RERERAwzRDWO
141+pjb4X716NQwMDPgFUYWLioqqc5/54cOHWL16NZKTk7kCUKXsr83Nzevc5z527BhWr17NFaAYycnJ
142+uH//Ptq1a4eGDRuyQDTkOMUwQ7WCJjb4b9iwIUxMTHDixAloabFGJ1W8Nm3awMjIqE59ZkdHR9y/
143+fx8HDhzgCkAVrl27dujZs2ed+sytWrVCmzZtuE29QqlUIi0tTeUvJycHMpkM+vr66NKlCwupBLKz
144+s2FqalqptWUYZqjG09QG/xYWFrh37x6/IKIKdObMGRYCUQX66KOP8NFHH9XpMlAoFIiOjkZ4eDgu
145+X76My5cv48aNGxBCoHPnznBycoKVlRVsbGwQFRWFhQsX4urVq1x5NATDDNVobPBPREREpfHo0SMp
146+tFy+fBnXrhOJlUQAACAASURBVF1DamoqWrZsCWtra4wfPx42Njbo06cPGjdurDLtjRs3WIAMM0QV
147+hw3+iYiIqDCpqam4evUqwsPDERYWhvDwcDx69Aj169dH7969YWVlhdmzZ8Pa2hpt27ZlgTHMEFUd
148+TW3wT0RERFWvuOpi1tbWWLhwIWxsbNCtWzfI5TwNZpghqiaa2OCfiIiIqk55qosRwwxRtdHUBv9E
149+RERUOVhdjBhmqFZgg38iIqLajdXFiGGGai02+CciIqpdWF2MGGaoTjhx4gT27dvHBv9EREQ1FKuL
150+EcMM1Um5ubn48ccfsXXrVjb4JyIiqgFYXYwYZojwssF/eno63n77bTb4JyIi0lCsLkYMM0SvyGvw
151+r6WlhUmTJrFAiIiINACrixHDDFEJeHh44NmzZ2jQoAEvPxMREVUDVhcjhhmiMli3bh0CAgLw66+/
152+YsiQISwQIiKiKlCS6mLW1tawtLRkdTFimCEqyIULF/DZZ59hy5YtbPBPRERUSVhdjBhmiCrY/fv3
153+MXbsWEybNo0N/omIiCoIq4sRw0wVCAoKgomJCbp06cJvpw7Ka/BvZmaGdevWsUCIiIjKiNXFiGGm
154+iimVSsydOxc2NjbYs2cPv506KK/B/5UrV6Crq8sCISIiKgFWFyOGGQ1w8uRJxMTEIDY2FqtXr8br
155+r7/Ob6gOyd/gv2XLliwQIiKiAigUCty4cUPlqgurixHDjAbYsGEDACAnJwe+vr5Yvnx5lb7/qVOn
156+4OTkxLWiGrDBPxERUcFYXYyoBoSZO3fuICgoCNra2lAoFNiyZQu+/PJL1KtXr0re/8CBA9i7dy/D
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
187+CDNJSUlwdHREREQEgoKCMGTIEI1Ztl69esHExASTJk2Cn58f280QEVG5sboYVaa8djPBwcEqr7O9
188+jGaolt7MLl68iIiICEyfPr3YcWfOnAkdHR0AwKVLlxAeHl6ly2pqaio1mvfz8yuyfUtqaqpKL2zV
189+ZeXKlYiIiICJiYlGBRkAcHZ2BgD88MMPePPNN3HixAluhUREVGLsXYyqWv52M3ny2ss4ODiwgOpi
190+mFm9ejXMzMxKVMewZcuWGD16tPR87dq1ZXrPokJIXljJzs5WG9aoUSNYW1sDAIKDg7Fnz54C55Gb
191+m4spU6aUqj1KWRr+l2TavN7h9PT01Ibl5ORU+0oXFRUF4GV7JGdnZ4wcORL//PMPt0YiIlKhUCgQ
192+FRWF7du3Y/r06VKVngEDBmD37t1o0qQJFi5ciIiICCQlJeHixYv49ttvMWbMGFZnpgrl4OCA8+fP
193+S8/DwsLYXqauhpkrV64gKCgIY8aMUbtnS2Hee+896fGBAwfw999/F7jDK0reSXxBISCvy+fbt29L
194+w7Ozs/H48WMAgKenpzTutGnTsH79emRlZUmv3blzBy4uLsjOzoabm1uFLFN5ps3rpezOnTv4888/
195+pdczMzOxe/dulV8VyhuqyqJbt2745JNPYGBgAF1dXcTExKBbt2746quvpGUiIiLNdP36ddy5c6dS
196+5v3o0SMcPHgQXl5ecHBwQJMmTdC9e3csWrQIL168wPjx43Hy5EkkJCQgOjoaO3bsgLu7OywsLNju
197+hSpV3v1m0tPTAbysYtajRw+2l6lrYSYzMxOzZs0CgFLtdPLfUFOhUGDevHlq3QrnDzjPnz9XGSaE
198+kE7qk5KSkJycrDLc1tZWmsf8+fNx8OBBvPPOO/j3338BAOPGjcO4ceOkEOHp6YnmzZujR48eMDU1
199+hZmZGZKSkuDv768S0MqzTOWZNu/qkBACgwYNwsKFCzF79mz06NEDXbt2lcZbtWoVlixZgh9++KHK
200+V7wlS5ZAX18fPXr0wN27dzFr1ixs3rwZXbp0waFDh7hlEhFpmN9//x0jR45Er169EBAQUO75sboY
201+1SR57WZu3rwphRlWMdMQ4v94e3sLZ2dnUVn2798vOnfuLAAIAEIul4tRo0aJ48ePFzrNX3/9JSZP
202+nizatWsnTZf317t3b/HLL7+I0NBQMX78eJVhXbp0EV9++aUQQoiTJ08KJycnleE9e/YU27Ztk94n
203+NjZWtG7dWhr++uuvi/Pnz6ssS05OjliyZIlo1KiRyrwMDAzEwoULRUZGhjRueZapIj5PUlKScHBw
204+UBnH2dlZxMTECIVCIczNzaXXR40aJdLT00Vli4yMFABEbGys9NquXbuEvr6+mDx5sqhfv744dOiQ
205+mDt3rpDL5WLIkCHi1q1b0rgGBgZi7969goiIqtaVK1eEq6urkMlkwsnJSYSEhJR6Hrm5uSIyMlL4
206++fmJadOmCXNzc6GtrS20tLREly5dxAcffCA2b94sIiIiRE5ODgudNFK/fv3EsGHDRJs2bYSenp44
207+cuQIC6UaBQYGCgMDAyET/1fHaMGCBYiKikJgYGCdDHVpaWkICwuDnp4eLC0tC2xvArysmnX9+nUk
208+JCTAyMgI3bt3L3Tcag6piIyMxJMnT/Dmm2/CxMREGpaSkoLQ0FA0b94cPXv2LHF1v/KIiopC9+7d
209+ERsbK9VjFkLA3t4eTZo0QYcOHeDn54fDhw+jRYsWmDNnDkJDQ/HJJ5/gyy+/ROvWreHr66tS5ZCI
210+iCpPeHg4vv76axw7dgxDhgzB4sWLpZoMxSmudzErKyv2LkY1zpIlS+Dv74/U1FTEx8cjLi6O1cyq
211+0bFjx/D++++DFUz/T4MGDTBgwIBix6tXr16Jd+bVSSaToUePHujRo4fasEaNGlXrjTPzL+PGjRvR
212+p08f/PLLLwCAESNG4PDhwzh//jwCAgLw6aefwt/fXyM6LiAiqgvCwsLw9ddfIygoCMOGDUNYWJjU
213+EU5BeDNKqivy7jfToEEDtpfRIAwzVK0sLCwwY8YMzJs3D5GRkSqB5t1334Wrqyu+/vprfPPNN1i+
214+fLlaux8iIqoYv/32G77++mucPn0azs7OCA8Ph6Wlpco4vBkl1WXW1taQy+VISUlhexmGGaL/b9my
215+Zfj555/x7bffSl1v5wWagQMHwsfHB1u2bIFcLoeFhQXmzJmDxYsX8xcRIqIKEBwcjKVLl+LcuXNw
216+dXXFlStX0Lt3bwBFVxezsrLizSipTqlXrx7Mzc1x7do1hhmGGaL/z9DQECtXroSnpycmT55cYKDR
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
262+RU67f/9+jB8/Hi4uLnBxcVGpbpOUlIS5c+di+PDh0vBXr2rmd+zYMQwcOBCvvfYaOnTogJ49e+LA
263+gQNFvn9KSgp++OEHDB48GOvWrSvyRC0wMBDDhw+Hqakp2rdvj8aNG6N///7w8/MrtB0cUUlNnTpV
264+6j757t27Uk9lhR0z0tLSMH369HKv22XddgAgOzsbvr6+sLa2hr6+PnR0dNC1a1f4+PgU+gMbt6XS
265+p0Qi9mZWCb2c1YbezOLi4sRrr72m0ouMhYWFCA8PL9V8tLW1penv3r1b6HghISHCxMSkwGGtWrWS
266+5uHp6cmNgr2Z1RhKpVJ07dpVeHl5Sa/5+/tL63NJepK6d++ekMvlAoAYPHiw2vDo6GhpOytofgqF
267+QsyePVvI5XKxZcsWqfe/6OhoYWFhIRo1aqTWI1N0dLQYO3as0NfXl5b1m2++KXD50tPTxejRo4We
268+np7YvXu3yMnJEUIIcfv2bdG3b18BQPTo0aNSejRib2a1vzez/D7//HNpfezbt2+h21zPnj1Fv379
269+ChxemnW7LNtOnqdPn4o+ffqI6dOni8jISPHo0SNx6NAh0aJFC2n509LSauW2VJW9mTHMEMNMJQWa
270+2hBmhBDi999/F82bN1cJNADExIkTxcOHD0sdZg4ePChCQ0NV/n799VexZcsW0a5duwLDTHJyssp7
271+r1mzhhsFw0yNcfbsWSGTyVSCfGZmptS9OABx8+bNYudjampaaJgRQggTE5NCw8yiRYsK3XYeP34s
272+GjRooHZClpqaKjIzM8Xu3buLPOFTKpVi7NixAkCB301KSoro3LmzACA6deokUlJSGGYYZsrswYMH
273+UrAHIMLCwtTGuXLligAg/P39C5xHSdftsm47Qry8fUGfPn3EqFGjhFKpVBm2f/9+6X29vb1r5bZU
274+lWGG1cyIWOWsSD179sS1a9fUuq3cs2cPOnfujG3btpWqHr2bmxtsbW1V/vr37w93d3fcu3evwGni
275+4uJUnjds2JArHdUYGzduhIuLC9q1aye9pqenh5kzZ6pU4yyOXC4v0/C//voLK1euhKGhYYG9Or32
276+2msYMGCA2usNGjSAnp4e7O3ti3zfoKAg7N+/H02bNsXUqVPVhjds2BA+Pj4AgFu3buE///kPVwoq
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
307+3sTFixexadMm2NvbS20MBg4cqDa/Tz75BPv27UOzZs2QmpoKV1dXuLm54eTJkyq/WKempiIoKAjv
308+vPMOXFxcsGzZMnz++ef8YqlSZWZmSr8Ul6ZXsvw31FQoFJg3b57KjwB5PywAQHZ2Nuzs7ODl5QVv
309+b2+Ym5tDCCF1VRsWFob3338fx44dA/CyobSHhweAl1VxevXqhRUrViAwMBDbtm2Do6MjDAwMpBO6
310+7t27q9zQM/+PGbdu3VJbdrlcjkOHDqFTp06Ij4/HhAkTpAbQefuQiRMnok2bNggMDKyQKkBEeVq0
311+aIGJEycCAGbMmFGqaYtbt8uz7YwbN066uWdOTg48PT3RvHlz9OjRA6ampjAzM0NSUhL8/f2lHz24
312+LZWRIKoBDAwMxN69e2vUMgcHBwsAIjExsUaWuVKpFAYGBmLJkiXCy8tLmJmZiRYtWoghQ4YIV1dX
313+0bZtWwFAmJqaip9//lltej8/PzFgwAChra0tAJT6z8DAQOTm5ha6fHFxcWLJkiXScgAQMplMGBoa
314+imbNmgkAok2bNmLRokUiLi6uVm4X5ubmwtfXt07tC9q2bauxn3n//v2ic+fO0vool8vFqFGjxPHj
315+xwud5q+//hKTJ08W7dq1U9sGevfuLX755ReVbXLp0qVCLpdL4zRr1kxs27ZNCCGEs7OzaN++vfD2
316+9hahoaEq249CoRDffPONaNq0qcp7mJiYiHPnzon33/9/7d1/dNV1/cDxF9vdxgZzTn4VET/q2DIC
317+A9EgEaxOBxI9kOmRUA6dOqEQET+UMDrQOXKC6mQHS4qAlHM8mgdPHTMMzBN4GHFU1CUJyVkonFJ+
318+jDMYsrGN7dMfftnXxa8pG9y7PR5/7W73fnbv+3Mv7LnPfX12e9KtW7dk2rRpyebNm5OGhoZk06ZN
319+yYwZM5Lu3bs3e41NnDgxeeyxx055LEeOHElmz56dFBYWJr17906mTp2afOMb30j69euX3HXXXRnx
320+Opw/f34ycuTIDvWamj9/fjJu3LiMfgw7duxICgsLk6qqqhZd//08tz/Ia+ek+vr6ZNGiRUlhYeEp
321+/7/94Ac/SGpqak57/9rDa+mkV199NYmIZM+ePa2+7T/96U9JUVFR0ilp7WlAaAOXXnppLF++vNlb
322+MdJdaWlpXHfddXH48OGm39xkmqeffjpuuOGGk7/4iF27dkVZWVkcOnQo8vPzY9CgQTF06NCznnb2
323+AvxCJnbt2hX/+Mc/oqKiIhobG6Nnz54xcODAKCkpadfvJx48eHBMmzat6TeHHUG/fv1i/vz5Heox
324+/6+DBw9GWVlZ5Ofnx7Bhw5r+yvnu3bujf//+Z3091tbWRllZWVRUVETPnj1jyJAhkUqlory8PPr1
325+63fOv4jeErW1tfH3v/89Kioqori4OK688spmZ3dKZ/fee2+UlpbG5s2bO8zz6d57743t27e36C27
326+6ezll1+OoUOHttn2z+e1U1NTE2VlZVFZWRk9evSIwYMHt+iEOZn8Wjpp+/btMXjw4NizZ0/07du3
327+Vbe9bt26uP32252aGTizkyET8e6ppktKSpr9sa50kK73C9pKjx49Tpkni2jZKVrz8vKaBpPf6+Tb
328+SltDXl5eXHPNNXYUF1Rbhsz5vnby8/ObnfnTa6l1mZkBAADEDAAAgJgBAAAQMwAAgJgBAAAQMwAA
329+AGIGAAAQMwAAAGIGAABAzAAAAIgZAABAzAAAAIgZAAAAMQMAAIgZAAAAMQMAACBmAAAAMQMAACBm
330+AAAAxAwAAICYAQAAxAwAAICYAQAAEDMAAICYAQAAEDMAAABiBgAAEDMAAABiBgAAQMwAAACIGQAA
331+QMwAAACIGQAAADEDAACIGQAAgDSTsgTQttauXRtFRUUWgla3ffv2DveYKyoqYu3atdG9e/cO85gb
332+Ghri+PHj0aVLF096/163iXXr1sXatWs9AVqguro68vPzo1OnThYjTf6fEjPQVi+u1Lsvr9mzZ0dO
333+To4FoU3k5eV1qMdbVFQUGzdujLKysg7zmOvq6qK6ujry8vKic+fOfohqQ5WVlTF69OgO9Zjz8/Mj
334+IuLOO+/0BDiH2traqKmpiYKCgsjNzbUgLXDkyJGIiMjKars3g4kZaCPDhw+PJEksBLSit956q8M9
335+5rq6uli1alUsXbo0qqqqYubMmTFr1qwoLi72hOC8LVy4MBYuXGghzmL9+vUxd+7c2Lt3b9x3330x
336+Z86cpgjk4jMzAwBpLDc3N6ZPnx7l5eXxox/9KB566KEYMGBALFq0KCorKy0QtJHy8vIYP358jBs3
337+LoYPHx67du2KBQsWCBkxAwCIGkhPhw8fjrvvvjsGDhwYVVVVsW3btli9enV8+MMftjhiBgAQNZB+
338+Tpw4EcuXL4/LL7881q5dG2vWrImNGzfGkCFDLI6YAQBEDaSn9evXx5VXXhnf+973YtasWfHPf/4z
339+Jk6caGHEDAAgaiA9mYsRMwCAqIGMYi5GzAAAogYyirkYMQMAiBrIOOZixAwAIGogo5iLETMAQDuN
340+moULF4oa2iVzMWIGAGjnUfPwww+LGtoVczFiBgAQNZBxzMWIGQBA1IgaMkp5eXlMmDDBXIyYAQBE
341+jaghM7x3LubIkSPmYsQMACBqRA3pzVwMYgYAEDVkHHMxiBkAQNSQUczFIGYAAFFDRjEXg5gBAFo9
342+apYsWSJqaDPmYhAzAECbRc20adNEDW3CXAwt1SlJksQykPZP1E6dYvDgwTFp0iSLAZCGGhoa4sUX
343+X4yNGzdGbW1tXHvttTFy5EjzDLwvhw4dinXr1sXOnTvjqquuijFjxkRhYaGF4RTr1q2LzZs3ixky
344+wzXXXBNVVVXRtWtXiwGQxpIkiYqKiti3b180NDREz549o1evXpGdnW1xOGsMv/3223HgwIHo2rVr
345+9OnTJwoKCiwMZ1RdXR1du3YVMwBA66urq4vVq1fHkiVLoqqqKmbOnBmzZ8+O4uJii0OTEydOxG9+
346+85tYtGhRFBQUxI9//GNvJ+N9ETMAgKjhglu/fn3MnTs39u7dG/Pnz485c+Z4WyJiBgAQNaSv8vLy
347+uPvuu+Opp56Kr3/967F48WKnWeYDczYzAKDNOfsZ/l4MbcGRGQDggnOkpuMwF4OYAQBEDRnHXAxi
348+BgAQNWQUczFcKGZmAICLzkxN+2AuhgvNkRkAIO04UpNZzMUgZgAARE3GMReDmAEAEDUZxVwM6cDM
349+DACQ9szUpA9zMaQTR2YAgIzjSM2FZy4GMQMAIGoyjrkYxAwAgKjJKOZiSHdmZgCAjGempnWZiyFT
350+ODIDALQ7jtR8MP87F7N06dL42te+ZmEQMwAAoiZ9mYtBzAAAiJqMYi6GTGZmBgBo98zUnMpcDO2B
351+IzMAQIfTHo/UvPnmm/Hmm2/G9ddff9brmYtBzAAAdPCoOXbsWDz77LMxfvz4i/44du3aFSUlJU2P
352+KScn57TXMxdDe+NtZgBAh3U+bz/75S9/GRMmTIilS5de1Mewc+fOuPbaayM7OzuysrLigQceOOU6
353+5eXlMWHChBg3blwMHz48du3aFQsWLBAyZDxHZgAA/k9Lj9QcO3YsPvrRj0ZlZWVkZ2fHlClTYsWK
354+FZFKpS7o/S0rK4svfOELcfTo0Thx4kRERHTp0iXeeOON6NGjRxw+fDgWL14cv/jFL+Jzn/tc3H//
355+/TFkyBA7GjEDANBRo+anP/1pLFiwIOrr6yMiIicnJ0aOHBl/+MMfoqio6ILcx5deeik+//nPR3V1
356+dTQ0NDR9Pjc3NyZNmhRXX321uRjEDACAqPn/qLnzzjtj0KBBp7wNLTc3NwYMGBDPPPNM9O3bt03v
357+15YtW2LMmDFx/PjxZiHzXgUFBfH973/fXAxiBgBA1LwbNQcPHoz6+vrTRkROTk5ccsklsWHDhrjq
358+qqva5L5s2rQpvvzlL0ddXV00Njae9jpZWVkxZMiQ2LZtm52HmAEAIKKysjL69OkT1dXVZ7xOdnZ2
359+pFKpePzxx1v9TGcbNmyI8ePHR319/RlD5r1B87vf/S5uvfVWO452y9nMAABaaNWqVU1zMmfS0NAQ
360+dXV1cfPNN8eyZcta7Xs/9dRTceONN571iMx7JUkS3/3ud+P48eN2HGIGAKAjO3bsWCxZsuScMXMy
361+JBobG2POnDnx7W9/+4xzLS31xBNPxM033xwnTpyIlr6pJkmSePvtty/6qaNBzAAAXGTLli2Lo0eP
362+vq/bNDY2xsqVK+Omm26Kd9555wN930ceeSRuu+229xVEeXl50alTp4iIeO2118JUAe2VmRkAgHOo
363+qamJgoKCiHj3rGV1dXXv6/a5ubnxiU98IjZs2BC9e/du8e1Wr14dU6dObdF8TCqVirq6uhgwYEBM
364+mDAhxo4dG6NGjYrOnTvbgYgZAICObN++fbF169bYunVrPPfcc1FWVhZ1dXWRl5fXooH8nJycKC4u
365+jmeffTYGDRp0zu/34IMPxne+850zHlXJy8uLurq6yM3NjS9+8Ytx0003xdixY6N///52FmIGAIAz
366+q6+vj5dffjmef/75+Nvf/habNm2K/fv3RyqViuzs7KitrT3lNllZWZGXlxe///3vY+zYsWfc9s9+
367+9rOYN29es0By9AXEDABAm/nPf/4TL7zwQmzZsiU2bdoUr776atTX10fnzp2jtra22VGWX/3qV3HX
368+XXedso377rsvFi5cGBHvnua5sbHR0RcQMwAAF1ZdXV288sorsXXr1ti8eXOUlpbGgQMHmr7+pS99
369+KdavXx9ZWe+ek2natGnx61//OiIi+vfvH1/5ylccfQExAwBcKPv27Ys//vGPFuIMDh8+HP/617/i
370+6aefjoaGhujbt2/ccccdsX79+vj3v/8dH/rQh2L06NHRrVs3i3UWI0eOjE996lMWQsyIGQCg9ZSW
371+lsZ1110XvXr1ii5duliQczj5N2mysrKaTqfM2e3evTuWL18e06ZNsxgdXMoSAABt4fXXX4+ioiIL
372+QasbPHiwRSAi/NFMAABAzAAAAIgZAAAAMQMAAIgZAAAAMQMAACBmAAAAMQMAACBmAAAAxAwAAICY
373+AQAAxAwAAICYAQAAEDMAAICYAQAAEDMAAABiBgAAEDMAAABiBgAAQMwAAACIGQAAQMwAAACIGQAA
374+ADEDAACIGQAAADEDAAAgZgAAADEDAAAgZgAAAMQMAACAmAEAANqBlCUAADh/VVVVsXfv3vP7wSyV
375+ik9+8pOxf//+OHjw4BmvV1xcHB/5yEdO+XySJPHaa6+d9jYDBgyILl262FGIGQAAmvvLX/4St9xy
376+y3lto2fPnrF///7YvXt3rFy5Mh5++OFIkqTp6yUlJTFx4sQYNWrUGWPmz3/+c2zZsiWefPLJiIgo
377+KiqK6dOnx4wZM8QMYgYAgFPV1NRERETv3r1jwYIF8dnPfjYuu+yySKVSUVpaGpMmTYqIiI997GPx
378+3HPPRZIkcfz48XjrrbfiySefjGXLljVtY8SIETFixIi44oorYt68eU3f44c//GFMnDjxjPchKysr
379+7rnnnrjnnnti4MCBsWPHjnj88cdjzJgxdhBiBgCA06uuro6cnJz461//GiUlJc2+1qNHj6aPc3Jy
380+ok+fPk2XL7/88hg9enRceumlsXjx4ma3mz17djz00EOxc+fOiIgoLS09a8yclCRJVFRUxMiRI4UM
381+7ZoTAAAAtIKampoYP378KSHTUjNmzIjGxsZoaGho+lwqlYqFCxc2XX7kkUfi2LFj59zWCy+8EAcO
382+HIgZM2bYMYgZAADOHTPjxo37wLe/7LLLYtiwYXH8+PFmn7/llluiX79+ERFx5MiR+O1vf3vOba1e
383+vTq6d+8eEyZMsGMQMwAAnN28efNiypQp57WNLVu2REFBQbPPpVKpmDVrVtPln//8582O3vyvo0eP
384+xqOPPhpTpkyJvLw8OwYxAwDAOX6oysqKTp06ndc2srOzT7uNb37zm1FUVBQREW+88UbTmcpO59FH
385+H41jx47Ft771LTsFMQMAwMVVWFgYU6dObbp8//33n/Z6SZLEihUrYtSoUR94dgfEDAAArWrmzJmR
386+Sr17ItotW7bE888/f8p1XnrppXjllVeahQ+IGQAALqo+ffrEbbfd1nT5dEdnVqxYEcXFxfHVr37V
387+giFmAABIH3PmzGn6+Iknnog9e/Y0Xa6qqorHHnssJk+eHJ07d7ZYiBkAANLH0KFD4/rrr4+IiMbG
388+xnjggQeavmbwHzEDAEBamzt3btPHK1eujKqqqqbB/xEjRsSnP/1pi4SYAQAg/dxwww1NZyo7evRo
389+rFq1KrZt2xZlZWUG/xEzAACk8Q9vWVnNZmeWLVsWDz74YFxyySVx6623WiDEDAAA6Wvy5MnRvXv3
390+iIjYu3dvrFmzJu64447o0qWLxUHMAADQehobG1t1e/n5+TF9+vRmnzP4j5gBAKDVvfPOO00f19TU
391+tMo2p0+fHnl5eRERMWzYsPjMZz5joREzAAC0rmeeeabp471798aOHTvOe5u9evWKyZMnR0QY/EfM
392+AADQeg4dOhRTpkyJIUOGxIoVK5p97eqrr44bb7wxfvKTn5zX95gzZ04UFhbGxIkTLTgdUsoSAAC0
393+vm7dusWaNWva9HtcccUVsWnTpigsLLTgdEiOzAAAZLChQ4daBMQMAACAmAEAABAzAAAAYgYAABAz
394+AAAAYgYAAEDMAAAAYgYAAEDMAAAAiBkAAEDMAAAAiBkAAAAxAwAAIGYAAAAxAwAAIGYAAADEDAAA
395+IGYAAADEDAAAgJgBAADEjCUAAADEDAAAgJgBAAAQMwAAgJgBAAAQMwAAAGIGAAAQMwAAAGIGAABA
396+zAAAAIgZAABAzAAAAIgZAAAAMQMAAIgZAACA9JCyBABAW+jVq1cUFBRYCFpdZWWlRSAiIjolSZJY
397+BgCgtVRUVMTGjRstBG1q6NCh8fGPf9xCiBkxAwAAZB4zMwAAQEZKvb79xaYLJYOutiIAAEBGcGQG
398+AADISP8FpxZnWS0U37cAAAAASUVORK5CYII=
Documentation/DocBook/media/fieldseq_bt.gif.b64+447−0
@@ -0,0 +1,447 @@
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
262+DimR6mjIVWh+hOgNvAKTNqmTPimURqmUTimVVqmVXimT3sCRJqiuXUORfimYhqmYFqkXyM+JAoiE
263+ekIprCmbtqmbvimcxqmczimd1qmdruklbCmBhGgVTIGf/imgBqqgDiqhFqqhHiqiJqqfVoGeDkjR
264+3QM+3KmkTiqlVqqdeoKZ5qffqKmldqqnfuqc5qn3ICl+8KminiqqpqqqJiqjjiqXQk+kgqqszmqn
265+YqrvnOl/pCmt7iqv1qmo5hqp3oepriqxFquxGmqrAuv+q9pGrPaqsz5rKdjqmOCqf+gqtF7rrv5q
266+jP7HsB6rt37rqibrtvrHozYrtp6rp0prjQaIhNpAMrwrvMarvM4rvdarvd4rvuarvr7rAzQqiKrc
267+FoSDwA4swRaswR4swiaswi4swzaswG6BvwZI0RHCvlasxV4sxu6rDWRqgkioA7gDyIasyI4syZas
268+yZ4syqasyq4syL5AxAJIiBJDL8wszdaszd4szuaszu4sz/asz84sMbwsjeraPcwCyx4t0iat0q6s
269+A3Asgnjs0kat1E5tyrqsq+6pysnsz24t13at1/Zs0F6toxKt0VKt2Z5t1DbtrWrqQHws2r4t3Fat
270+0Pr+R8x+rd3eLd7ybNgqq4aSbdz+LeCGrNpOK9sKhNsGLuKirdXyrYjymdbmLeRG7tfu7biiqN8m
271+LuZS7eCuK5r6DQqUAOiGruiOLumWrumeLuqmruquLuh+wtySqMrRAhvMLu3Wru3eLu7mru7uLu/2
272+ru/OLi28Ln8UHQSwrvEeL/ImL+uigNMeiLWiK/RWqra+aICqXJ+CK/Zm76GKK/XqR7lGL/hOqrpS
273+a388b/ier5xOb7DaR7dqr/u+L/eub318L/rWL5yOb+HyAqfaL//iqfBWL59d7/sOcPbG77IGirn2
274+b/3ib8d6rvI+MARHcOq6rtj+K59RQw5ksAZvMAf+d7AHfzAIh7AIjzAJZzA1/K/36lrxSjALtzAE
275+M+/aNnDbZi4NR+3iVi6MZq3k7jAPgy0K58ejlm0NDzHLbi758gfUErESy20Fu6jj9jAURzHNUm73
276+AvHlLjEWk6wR5+/hZrEXu8MNV3Gp6rAUl/EOU7H80kcQfzEbb7EMGy4bf3EYp/F81K0Z33HeovEB
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
447+l3O5NwEBADs=
Documentation/DocBook/media/fieldseq_tb.gif.b64+445−0
@@ -0,0 +1,445 @@
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
33+piYFuOEUjESzGZUPTfWnQEmOVdYqIAVlxcDMKewvdtKf6aBFtr4s6IWq8p+dBog0xrRFVCx0YbWG
34+EyFslU1aLfRKyaa1GHDNMUW3QwtmDOSXa3ltiwF8Q1tw9p12qS+FiCxJoTyXyOkBpz5OkAwZk1Uf
35+smgobEI5UmUeMaD8eEUoSFjQlI4SIadlsnEAEsMlP4kToJDliaRkEHWIEkopSeCPSPwfYvIAoLNI
36+JpUEwcz7mgIxBqmnQjDsUi89N8lniRIWwIQklKSJyyRxUJokygmhbMm/I6otbH3RijFp5J4JFkR7
37+BJFU3rJXwUa6UySgemddxHPEhZBLnij+AVRDVEm097XmBtTBp0AHOrx7ukUeZXOIQQk6klFYqCBj
38+QgISbsBBuOiToRjNaHgWCieOarQjhVnIRGsCzriE5aMoTalKV8rSlrr0pTCNqUxnStOa2vSmOM2p
39+TnfK05769KdADapQh0rUohr1qEhNqlKXipARSOKpUI2qVKdK1apa9apYzapWocolgxwiGGANq1jH
40+StaymvWsaE2rWtca1oTE4BRwjatc50rXutr1rnjNq173CtcYJEQYSwisYAdL2MIa9rCITaxiF8vY
41+wAojIVuNrGQnS9mtAgMh0GCrZjfL2c6y9RAOYUQnRkva0pr2tKhNrWpXy9rWuna09Hj+6ALIQdva
42+2va2uM2tbnfL29769re0bUFCnsCE4hr3uMhNrnKXy9zmOve50C3uExKSi1hY97rYza52t8vd7nr3
43+u+ANr3VzkRBIvPa86E2vel17icesArjwja985/vbBYR2vfjNr35ZG1uEzJa+AA6wgHkrXIQQN7oI
44+TrCCF/zc6SKkuuKNsIQnTGHwkhch5t2vhjeM3/YeRB7vHbCIRwxg+zZEtBxOsYr5K1sSu/jFvi3w
45+QQ7M4Brb+MbMdfBBIFzhHvv4x9298EEyvOIiG7kTHjYIiGHM5CbX1sQMQfGRp8zh/h7kv07OMoll
46+bBAa4/jLYF6wjg3CYyCb+cwUFrL+QYhM5TbnN8lFCbGW5yxgKC/EDlPIs573zOc++/nPgA60oAdN
47+aD3zASF+cIOiF83oRjv60ZCOtKQnTelKK9oLCfFGNzbN6U57+tOgDrWoR03qUpt6095ISBSawepW
48+u/rVsI61rGdN61rb+tasjkJCzFDoXvv618Am9B4QwgdLG/vYyE62pf1wXzc7e71WNgiW6Uxt+XK5
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
307+QrtWrBGWC2PMUcf1PIRsORuZE/HEIYks0r8UfQSSuxZ3bNJJ8WbsTDsl5cPxyStz7JEwKm0T0sgv
308+wTwRyS25/IxJLNHkMErPytzOO3Wsi1POOV1LpMA2PyNMl+P47NPPP43T5U48JauMAWboTFRROdWZ
309+kFA3nUoIKs0opVQwMh89rLbEGuvUU7IewzTTtRK8rNJT/eKMzVEn825SVGGN69LaWMULsU9xzTWl
310+UGmtlbLn5DE11mGjUnVKXwv+c5XYZaOa9Udku9pU12mpBYnXZ6FdqlRmuQXK2Gwlc3WVcckt19xz
311+0U1X3XXZbdfdcY0YFNylCJMmlHvxzVffffnt199/AQ5Y4HulkXfepBK04N2FGW7YYXe/PTgv78SQ
312+x+KLMc5Y44057tjjj0EO+WKDJaaJMJFRTlnllVEmuWSZKkOC5ZlprhlkMRx9OS3vdDa5155jEhVo
313+jIQe2qJVjcYI6aRl4pnpi4p+OqKopX6I6qppxPqipbWuyOmuIboaa7GrJltqrsGWMm2YAGjb7bfh
314+jlvuuemu2+678c4b27UXytvvvwEPXHC49077psERT1zxwNfOiITHIY9c8sn+Ka/c8ssxz1zzzaFp
315+PCJoNg9d9NFJL33yzj232vTVWW+99NRhj1322Wmv3fbbcc9d9915793334EPXvjhiS/e+OORT175
316+5Zlv3vnnoY9e+umpr97667HvXQwAUE9olBseygP1hZCK26ms+n7bKfIhgvuG7iVCHwAJHmLocMLT
317+d7uh/AHoBecbsbU98D0ECaN4AwCwEakbwa0XCXEf/ML2QP61TYFGgeDUjkUR8rEvWrB4X/ZAmDQn
318+POIhb6BfQrbHEQ46JA9OaNsokGChZ8lPIit0IEcK+IYYTkR+OnRIbVZoQ6w4BAk3aCAAJXK4HcIC
319+CU4YRefk8QYSIjEikcn+4RIj6BBoOOGIN5zIFi8COpiQT4xc2WAXQ5jGkj3CCSwEwBJ7ERkbQkOK
320+sNgiGts3w/1lUIi06kUF8wiZP/4QLUHko3bY9zNYmNCERkGjBLDhxSouZ5A11E4etKPIzgCSXhns
321+ZEKw8T81jhJc0OCeTQbYmUfIcUpi6KIQCTlJyFhSlg6BpAwhs73/ARGRh7RaJKkYvjd+zyEjJCBH
322+FEmrW9KShWjUJDYaIobHUZAEB1zfXaqJwP9lExv02+BdHoENBOahgf4TZzcTkodz5gGFccTGKO4y
323+Ck6Skp6jMiYssMFOWIghkqysCAmAGT89zhKDtRwiD/fYmSPy0mq+TEj+AZH5LGJicoeaTOZyYElQ
324+O5IAi4pEwikXMgpYYPIGSMCkxXCSQlg8ooHywEbnjvLNlb50pW27US86Z8DBvGGPnXNCSbcITjzW
325+k6iEYuM+31DMhvhTIjkUZRXfttA9Ek6jsaQNLsmHBHQylDZww8rbQinJEuqzjsFsH9wiRauMTvCE
326+Ym3oQanIEPJt7xFYnJBM0ZkQF97ohOSTp0NuQILtoU4Cd8loURELpI+CTqSdGSBTEfSGJ3ptoLDs
327+43KWKVCCRvGjhewlM5l4g8b2CpNvayMs7mlBs1o1IZnN4kN1ytq3ajQycr0LOQHgBHaK4QZv6EUc
328+Z0m+2sCTiuSLo/r+OMi+wyaWuSC6QTj1edy3VTUhN3DCUxEqS8sey4/z9CIHA8tVuM7WJlKFyCga
329+O9JTAlSYMbzoQypZ0KvKdr4crC1KIYJJMbwhUjIlX15hAVx//vUhpiSsYT3ZXAUfCJJJraUN8+DD
330+i/yMhvKtHw4NaNcLaxQJB/QseUFMAvMS8Q36TEgdtfpBeTghrdiyYoYnwsECpnK1P8SZfSNKvnBC
331+kXt1hEYcZYYT8gG0c6vEiT+juD+eBhioe13pUBccZfl8NL0bhoz67uc2XAZygi1F6wLd9kGsameV
332+H+6q+qoaxc7FTQIOdsgoTptDBCpQbg58m5gteeeO7k23tM0xTgr+2DZ0QnLOb+CpkLEpThYfWYV3
333+IXRekRBHEx5xFFOU8qUxbbRHeJcrYuhem5fyhgtmmtSlRlYTDUNkO7JYKRKosqlhjaffznrWkxEx
334+rX+L3ZfhutZJecSouYKEbPJXwzArdqyRnWxlL5vZzXb2s6EdbWlPm9rVtva1sZ1tbfOa29329rfB
335+HW5xj5vcbYWdK8mdbnWvm93s1nXj0N1uec+b3urWHQLrnW997/trjVsIF/cdcIGn24WFA9u/B55w
336+hXdbnPfmdNr6zTdNps1sT6s409AGu4ivbeMHn7jHDd61iyct46nrONhOrrWRG23lQ2s50EruOe+M
337+QBI1t/nNcZ7+c53vnOc99/nPgW7z7qV8bLWJwSmQnnSlL53pTXf606EedalPHekxcBnFaxN0rW+d
338+610POjBydjvvMCJNZc8QPdBC9LLVpj5hcvvb/zOmj4u8NpAw+90btKYEx27sePf7etD+w4fTHS1t
339+h/vhEc8EuYdc5XX/++PPo3eHO4TskLe8eALvwME3vvCJ9/zbFz87wtj98peXfO76XnrLZ/5Gmy96
340+5z8feyOFXnajV73lT48774jCBb33/e+BH3zhD5/4xTf+8ZHvez4IXvS1oQMHoB996U+f+tW3/vWx
341+n33tbx/6dLg6yB0ChuSPn/zlNz/yTRF223knBdVyf65CkXb+168dLa/q1v0LwpmX94wwk3j//zvl
342+MWKucdgPAA1QMeKP+WqvNuwP/xxQ/+aO8xzC/w6wAsFCAPdO4xSo/SywA1EiATWv+erPAUlQICCQ
343+8V5vAj1wBUsCAycvITiQBWXwI0Cw9USwL0rwAb+P8FRwBmfQBVFPgUShFoiwCI3wCJEwCZVwCZmw
344+CZ3wCYuQARQwdgijAjThCrEwC7VwC7mwC73wC8EwDMXwCitgByUwIbIACtVwDdmwDZ+wANSvdlLv
345+9v6O9dROarxE9vSwRGiPCh2PDv8u98ROgSoPEPHODucPD9luDxmRRPoQdmzPEPFOENePECXxEOXv
346+BhPC8Br+sRP74xFTJxIvsewoUQ4VqBKkIBVVcRVZsRVd8RVhMRZlcRZpMRWpQQCmEBJrIxu+oBd9
347+8ReBMRiFcRiJsRiN8RiRsRezwQxTMCFsoBahMRqlcRppMRPikHa8QxkGZhu5sRu9UWBAABdDcAHR
348+whAe5hzRMR3ZxRCYkf4cYgO+MR7lcR4BJgKucXYK0AdlsAbv0OIYMAd1UEX8EC0oUB9XEAh1bwMN
349+kgX5MRH9cQQB8v5OUBNhoSAX0gIRchAdIgYvsgIbkiIbMCKJZSLJsQc7sgIzshIdAhWGoCVd8iVh
350+MiZlciZpsiZt8iZxsiVfQQrHcSAdogxSISiFciiJsij+jfIokTIplXIpmTIoy6AdFREtjiEnqbIq
351+rfIqcXId7lF25nAU0QQRKZITPXEs8QMUPUcUvRJLShEbLTEtvzITS3ITyXIuyxIqH9IhSM8tr2Qt
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
445+kh6JXympkivJkm4TEAA7
Documentation/DocBook/media/nv12mt.gif.b64+37−0
@@ -0,0 +1,37 @@
1+R0lGODlhFgFnAMZnAAAAAAYCAgAASAwFBQAAdEgAACQODkgASCoQEEgAdHQAADATEjUVFHQASDsX
2+F3QAdE0eHVMhIABISABInEhIAIM0Mok2NI84Nk9PT5o9O5xIAHRInFlZWaxEQbhJRgB0v75LSLhQ
3+TbRTUcBRTrBXVatcWsJWVKdfXW9vb6VhX0h0v8RcWZhpaJJubpBwb8ZiX8ZiYI5zc4t1dYd4eMhn
4+Zb90AIN8fH9/f8pracpta8ttasxzcM51dM52dM53dc94dkic39F+fNOEgpmZmdWJh9ePjdiTkt+c
5+SNuamd2gnt6lo3S//5y/nOCqqeKwr+S1tOa7uv+/dOjBwOrGxuzKye3KyuzMy5zf/7/fnO/S0fHX
6+1//fnPPd3fTe3vXj4vfo6Pnu7r////v09N////35+f//v///3///////////////////////////
7+/////////////////////////////////////////////////////////////////////////yH+
8+FE5WMTJNVCBtZW1vcnkgbGF5b3V0ACwAAAAAFgFnAAAH/oBngoOEhYaHiImKi4yNjo+QkZKTlJWW
9+l5iZmpucnZ6foKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr/AwcLDxMXGmkM3ysvMzc7P
10+0NHS0CjT1tfY19XZ3N3Y297h4sxDlQDj6OLn6ezZ6+3w0u/x9M0A5r/3vvq9/Lz+kQDqEpiLIC6D
11+txAyUliLIS2HsyDKkniIIiyLrzC60tiKoyCPq0CqEpmKJCqQJk+lNLWyVEtSKPPJ3Ddz0stRN0Xl
12+DLUTVEyaQPvVlNTzU1FPRzsl5fRTaNB/QwNGHTi1IL6nu5Zu0qqpKVSsVME+4pqJLCazl9Ba8oqp
13+jAIA/gTCIOXkVsAVo52OAABgV6kmMxr2Cgbil9LLGh/OIJ6r6QgBLAfuMm48YYzPT1siF7a5qUyD
14+u1HibtaUWfLoS55NT+a0+DSklqXPxK5EJkuhm7NdV8pMYW9i3YJsT8q99Wqm2MQn/cihZRBuzasv
15+RenrdgnwM8uFQzpSOfrrTcihW5KyogiYM89VF9cUWq7i3+sRTVlB5Lyj6ngNd/58pn0mMUmY4ER6
16++R2nGWCEMbUIGQE2QUYj3Fnm3VibIPgeJ178kEFz4Imn4F8aEJbcWY18EcQLViziVoITOvLSFgXA
17+5R4iVvxg44045oijByAU0QMIQAYppJAwPHhIFILx/qUeieDFCIB1igjBg45U4nhBlVSaAEIQYiTi
18+2IzXLbTKF1mUaeaZaJr5RAc5aKeIFStw0RErVehARZp4mrlAnmlCscILU8yp3y5iILECBI7AKaeg
19+q3DxQ5cuMgLgCg5uZBwuTpiAhBgQKZqRK45CKqYiftZ30aW1WEFDEF58xIinn4L6aCMIabHDDhye
20+OqgtYgSRonOLwBqrrKImglAQUjyEalg0xjlRLKEuotayFIoliLC6whKtsVVFai222Wo7KyLT7kpU
21+VeCGK26xhJTLmblZGZKuuutW1C2tUc1Lb7233TuqU9c6m9At2wJrLb68JEEGP/rG4u4iBaPnr7S8
22+/ohhgsRnNOxwLgU/LJVh9YR8Qwsl3HCOCyHIIDI986yMjgwkzKBMyy63g1LN8JzAgskoq4wzOzT/
23+3E0MIIiQggM2CG0ztbW88MUZDAgc7y5aFlHBCDsk4ebA8NryxQsZd7DoV7oIQcQKBpyhRRM/jOCE
24+VV3X8kQRcKYtCBnsNsQLFHSLPQjecL+bi9lxApCFEjuM0ASzuXwNtdSMf5yLlkQEAcIOSmzN9S5O
25+A6Dxs3HPogUIOSBhRQATy1LEE/d8vq+3t5BhhH0YA6zLFELo47qlocNChhC/unowLRYzDLnevbvy
26+e/DC265LEqgPsntITCsPvCEef4fV9CVVz8ry/vYOjzwh3KvkvSrgh+985AGPDbrgvl9PbuoRNev+
27+6wjHzzz29L8v7/G8g18r0sct8SkrEeXTyfkigaS9sIgRBCwge/bSlzBNAjAV/BACAXgIGAmmOxo8
28+lybK8AC5TGdJh4igBAuhOUaUYQOWqQEIMVGb2jVGAh6iRA0N9iYOFmJE8RFhJ/CzIPn9qxDZoYR/
29+NLEcBNClAUzIISWWw6FO+XAQQOzKAocjxUKoUBEImY+pIAEY+GhCCh0wT2OAkEVJkMc8EtGYB/cC
30+pRBKjjVmTKER85fCBhlpEQ2c4SYGEKC3XWILCQhDGyUBIBNE4BG7O0IGtZg8SkRIEV+k2CJM/oSi
31+R0gShWs5Q4aYY4kaiKiLlvDCBUjZCNcRMYh3zMSXFuEDHGAJS1e65Y20xKVGvPJNurTSjUbQox8N
32+6ZhAosEf3ZIkADxQXsHU0QWI6SNkIrNIKlJAHSkpwEvIUEKK6AKfxrmncZbJT4BSxBZUIIgTlsic
33+ZyrnE1bQJkws8gxkgieaIEDPFkaiBlCapR21dxwn7UWQTErEpCqlCMBQEJRrKdQKnkAaVFKiUB2g
34+aEEPCk5YEpRshygV7VwRAU3lbRaZQsIA+qc+kBLCVriKhaos0CpcqIpVNpxaNwNXCGTJoldWyJ5C
35+fcVDl35Up0blKVJjyT6lNvUgW/TfUp+6jzkhJhWqBqxfJQ+4Pqd6FXZXrepUv8rHsWK1q2e1qlnF
36+SlVbsKWt4wurW6O6saxKFa5gZCn+5mrXiijNZn8FWmDTEbTBuqMSHDDsODCgWHEwtrHeeCxkucGB
37+Y1j2spjNrGY3y9nOevazoA2taEdL2tKa9rSoTa1qV8va1rr2tbCNrWxnS9va2va2uM3tLQIBADs=
Documentation/DocBook/media/nv12mt_example.gif.b64+121−0
@@ -0,0 +1,121 @@
1+R0lGODlhoAHkAOe1AAAAAAAASAAAdEgAAEgASEgAdBgYGHQAABoaGnQASHQAdC0eHigoKEIlJEYm
2+JS4uLlssKzY2NgBISFIyMQBInEBAQEhBQUhIAFBBQVhCQkhISF5DQ2NDQmdDQ3NEQ05OToNGRHhJ
3+SJxIAItHRY9HRXRInJdIRlpaWppLSaJJRqpJR7BIRa5KR2NfX7JKR2BgYGxdXWleXmZfX31ZWXJc
4+XHpaWQB0v29dXLZKSHhbWolXVpVUU5JVU55SUJhUUqdQTrpLSK9OTKRRT6FSULRNS7hMSrVNSr5L
5+SL9MSr1OS7xQTsBRTrtTUL5WU7lYVsJWVEh0v7deW4pqab5dW8RcWbdgXrZjYcZgXnd3d8ZiX8Zi
6+YL9lY7RoZshnZb90ALJubLFwb8prabBzccpta79wbsttaqx6ecxzcKt8e4aGhr93dc10cs51dM52
7+dImJib97ec53dc94dqiEhKeHhkic39F+fKeKiaWPj9OEgqSSkb6PjtWJh5qamqGamqCcnNePjZ+f
8+n9iTkr6amtiUktmVk9+cSL6enduamb+jo92gnr+pqd6lo7Ozs7+wsHS//7W1tZy/nOCqqbm5ub+4
9+uOKwr+S1tL+/v9+/dOa7uv+/dOjBwOrGxuzKye3KyuzMy5zf/7/fnO/S0d/fnPHX1+Dg4P/fnPPd
10+3fTe3vXj4vfo6L//v+/v7/nu7r///9//v/v09N//39////35+f//v///3///////////////////
11+////////////////////////////////////////////////////////////////////////////
12+////////////////////////////////////////////////////////////////////////////
13+////////////////////////////////////////////////////////////////////////////
14+/////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBH
15+SU1QACwAAAAAoAHkAAAI/gBrCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJ
16+sqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtapV
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
121+XnvvxTdfffflt19//+03IAA7
Documentation/DocBook/media/pipeline.png.b64+213−0
@@ -0,0 +1,213 @@
1+iVBORw0KGgoAAAANSUhEUgAAAlgAAAEcCAMAAAAsmToJAAAAAXNSR0IArs4c6QAAAwBQTFRFAAEA
2+EAEBAwUBCgMBCAUKAgkMHQIDCwYXFQYDBgkVDwgFCAsHChASJwkDFA4NEg4TDhANHgwHDg8aExAG
3+DBEjBBUZERMQCBNRDxU0ExcZFRgVFRcgCRkzHBcUDRdCNRELIxYTAx4mLBUMEBwcEhsiDxwhExsu
4+Dh8XJRkQByAtDCMUHx4bACk0DSsiGScsFCRcJSUiGSZCDiwqGCg1LyQbIycpVhsPDy0wNyQVECxA
5+PSIfCS84ADJCEStWRiIULSwpADdHCDkgEy1/BjorEjhADDhXCzZvITNPUysQDzs8MjIvCj04BT1O
6+PDEoQjEhMDU3LzY9KTdFTTMYNzk2GD6PAEpfEUVjBExFCEpPB1ArK0FjKEVZYTscdDYXG0d5SkA5
7+FEiJQUNAOURPAFhCA1RpP0ZJVEMvYUAyBFtRWkYnDlR+QEleAF1jkTojHlV1AGB4PlN5YU87cUws
8+SVRXAGaBWVJKUlRRRVZlAG1PWFNSBGt5AmqVAG+NAHNpK17BWl9ifFs9KWmnSGZ0YGFfp1IuCnWj
9+AHuKbWBXoVNAdGBPDniWAHujTWmLk14rAH+ch19XX2aRX2t8AIeLiWgvAIeeAIaqa21rOnehdW1m
10+AImspWJYj2tLW3C0AIyvWXaNAo6xb3Z5dXZzent4WIKiQojAen+CkX1pcoSWcYDOoH9fp4E+Y4ur
11+hoWCXIvGb4mut3xpqYNYnYdUO5rDyXxdjY6LYJqk0IRGb5azXZnMjJGUgJWqpJB8l5aUyJN4kKK1
12+rZ6IYqzge6Xho6GdnaWpgqy6yZ9zvaR0hqzMk6rN5Jxxw6mF26lbq7C2pLTGwrCbs7Owvb+8zcGc
13+8rp42L2xsMbY3L+jtMfsz8W2nM/yx8jH0MfA7MWU78h/3crIyNTo4NLD6dK1z9bc1dbT3NXOv9vr
14+/OKSwur8++Gw4uTh0ef78uPU+OPL3Ojz++bGyfH36evo/+3b6vT88vPw/feu1/v+//bb//nK/PnW
15+5f/+//ro+fv49/7///37//71//3//v/8sZeTnQAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAFY4AABWO
16+AUTUBDsAAAAHdElNRQfaCRQPAiJBEFMLAAAgAElEQVR42u2dD3wU5bX300nWws50shA4lyTGikRE
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
Documentation/DocBook/media/v4l/.gitignorerenamed from Documentation/DocBook/v4l/.gitignore+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/biblio.xmlrenamed from Documentation/DocBook/v4l/biblio.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/capture.c.xmlrenamed from Documentation/DocBook/v4l/capture.c.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/common.xmlrenamed from Documentation/DocBook/v4l/common.xml+9−1
@@ -236,7 +236,15 @@ important parts of the API.</para> · 235 unmodified lines
236236 <para>The &VIDIOC-QUERYCAP; ioctl is available to check if the kernel
237237 device is compatible with this specification, and to query the <link
238238 linkend="devices">functions</link> and <link linkend="io">I/O
239−methods</link> supported by the device. Other features can be queried
239+methods</link> supported by the device.</para>
240+
241+ <para>Starting with kernel version 3.1, VIDIOC-QUERYCAP will return the
242+V4L2 API version used by the driver, with generally matches the Kernel version.
243+There's no need of using &VIDIOC-QUERYCAP; to check if an specific ioctl is
244+supported, the V4L2 core now returns ENOIOCTLCMD if a driver doesn't provide
245+support for an ioctl.</para>
246+
247+ <para>Other features can be queried
240248 by calling the respective ioctl, for example &VIDIOC-ENUMINPUT;
241249 to learn about the number, types and names of video connectors on the
242250 device. Although abstraction is a major objective of this API, the
Documentation/DocBook/media/v4l/compat.xmlrenamed from Documentation/DocBook/v4l/compat.xml+18−12
@@ -10,12 +10,10 @@ driver writers to port or update their code.</para> · 9 unmodified lines
1010 <para>The Video For Linux API was first introduced in Linux 2.1 to
1111 unify and replace various TV and radio device related interfaces,
1212 developed independently by driver writers in prior years. Starting
13−with Linux 2.5 the much improved V4L2 API replaces the V4L API,
14−although existing drivers will continue to support V4L applications in
15−the future, either directly or through the V4L2 compatibility layer in
16−the <filename>videodev</filename> kernel module translating ioctls on
17−the fly. For a transition period not all drivers will support the V4L2
18−API.</para>
13+with Linux 2.5 the much improved V4L2 API replaces the V4L API.
14+The support for the old V4L calls were removed from Kernel, but the
15+library <xref linkend="libv4l" /> supports the conversion of a V4L
16+API system call into a V4L2 one.</para>
1917
2018 <section>
2119 <title>Opening and Closing Devices</title>
@@ -84,12 +82,7 @@ not compatible with V4L or V4L2.</para> </footnote>, · 62 unmodified lines
8482 device file. V4L2 drivers <emphasis>may</emphasis> support multiple
8583 opens, see <xref linkend="open" /> for details and consequences.</para>
8684
87− <para>V4L drivers respond to V4L2 ioctls with an &EINVAL;. The
88−compatibility layer in the V4L2 <filename>videodev</filename> module
89−can translate V4L ioctl requests to their V4L2 counterpart, however a
90−V4L2 driver usually needs more preparation to become fully V4L
91−compatible. This is covered in more detail in <xref
92− linkend="driver" />.</para>
85+ <para>V4L drivers respond to V4L2 ioctls with an &EINVAL;.</para>
9386 </section>
9487
9588 <section>
@@ -2367,6 +2360,16 @@ that used it. It was originally scheduled for removal in 2.6.35. · 2271 unmodified lines
23672360 </listitem>
23682361 </orderedlist>
23692362 </section>
2363+ <section>
2364+ <title>V4L2 in Linux 3.1</title>
2365+ <orderedlist>
2366+ <listitem>
2367+ <para>VIDIOC_QUERYCAP now returns a per-subsystem version instead of a per-driver one.</para>
2368+ <para>Standardize an error code for invalid ioctl.</para>
2369+ <para>Added V4L2_CTRL_TYPE_BITMASK.</para>
2370+ </listitem>
2371+ </orderedlist>
2372+ </section>
23702373
23712374 <section id="other">
23722375 <title>Relation of V4L2 to other Linux multimedia APIs</title>
@@ -2472,6 +2475,9 @@ ioctls.</para> · 99 unmodified lines
24722475 <listitem>
24732476 <para>&VIDIOC-DBG-G-CHIP-IDENT; ioctl.</para>
24742477 </listitem>
2478+ <listitem>
2479+ <para>Flash API. <xref linkend="flash-controls" /></para>
2480+ </listitem>
24752481 </itemizedlist>
24762482 </section>
24772483
Documentation/DocBook/media/v4l/controls.xmlrenamed from Documentation/DocBook/v4l/controls.xml+1390−127
@@ -51,6 +51,10 @@ readability until any ioctl (querying the properties) is · 50 unmodified lines
5151 called.</para>
5252 </footnote></para>
5353
54+ <para>
55+ All controls use machine endianness.
56+ </para>
57+
5458 <table pgwide="1" frame="none" id="control-id">
5559 <title>Control IDs</title>
5660 <tgroup cols="3">
@@ -323,6 +327,22 @@ minimum value disables backlight compensation.</entry> · 266 unmodified lines
323327 <entry></entry>
324328 <entry>End of the predefined control IDs (currently
325329 <constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry>
330+ </row>
331+ <row>
332+ <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry>
333+ <entry>integer</entry>
334+ <entry>This is a read-only control that can be read by the application
335+and used as a hint to determine the number of CAPTURE buffers to pass to REQBUFS.
336+The value is the minimum number of CAPTURE buffers that is necessary for hardware
337+to work.</entry>
338+ </row>
339+ <row>
340+ <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_OUTPUT</constant></entry>
341+ <entry>integer</entry>
342+ <entry>This is a read-only control that can be read by the application
343+and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS.
344+The value is the minimum number of OUTPUT buffers that is necessary for hardware
345+to work.</entry>
326346 </row>
327347 <row>
328348 <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry>
@@ -545,6 +565,10 @@ may not be supported (<constant>VIDIOC_QUERYMENU</constant> will · 216 unmodified lines
545565 return an error). A good example is the list of supported MPEG audio
546566 bitrates. Some drivers only support one or two bitrates, others
547567 support a wider range.</para>
568+
569+ <para>
570+ All controls use machine endianness.
571+ </para>
548572 </section>
549573
550574 <section>
@@ -670,7 +694,8 @@ caption of a Tab page in a GUI, for example.</entry> · 119 unmodified lines
670694 </row><row><entry spanname="descr">The MPEG-1, -2 or -4
671695 output stream type. One cannot assume anything here. Each hardware
672696 MPEG encoder tends to support different subsets of the available MPEG
673−stream types. The currently defined stream types are:</entry>
697+stream types. This control is specific to multiplexed MPEG streams.
698+The currently defined stream types are:</entry>
674699 </row>
675700 <row>
676701 <entrytbl spanname="descr" cols="2">
@@ -800,6 +825,7 @@ frequency. Possible values are:</entry> · 123 unmodified lines
800825 <entry spanname="id"><constant>V4L2_CID_MPEG_AUDIO_ENCODING</constant>&nbsp;</entry>
801826 <entry>enum&nbsp;v4l2_mpeg_audio_encoding</entry>
802827 </row><row><entry spanname="descr">MPEG Audio encoding.
828+This control is specific to multiplexed MPEG streams.
803829 Possible values are:</entry>
804830 </row>
805831 <row>
@@ -1250,7 +1276,8 @@ and reproducible audio bitstream. 0 = unmuted, 1 = muted.</entry> · 444 unmodified lines
12501276 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_ENCODING</constant>&nbsp;</entry>
12511277 <entry>enum&nbsp;v4l2_mpeg_video_encoding</entry>
12521278 </row><row><entry spanname="descr">MPEG Video encoding
1253−method. Possible values are:</entry>
1279+method. This control is specific to multiplexed MPEG streams.
1280+Possible values are:</entry>
12541281 </row>
12551282 <row>
12561283 <entrytbl spanname="descr" cols="2">
@@ -1406,223 +1433,1176 @@ of the video. The supplied 32-bit integer is interpreted as follows (bit · 149 unmodified lines
14061433 </tbody>
14071434 </entrytbl>
14081435 </row>
1409− </tbody>
1410− </tgroup>
1411− </table>
1412− </section>
14131436
1414− <section>
1415− <title>CX2341x MPEG Controls</title>
14161437
1417− <para>The following MPEG class controls deal with MPEG
1418−encoding settings that are specific to the Conexant CX23415 and
1419−CX23416 MPEG encoding chips.</para>
1438+ <row><entry></entry></row>
1439+ <row>
1440+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
1441+ <entry>boolean</entry>
1442+ </row>
1443+ <row><entry spanname="descr">If enabled the decoder expects to receive a single slice per buffer, otherwise
1444+the decoder expects a single frame in per buffer. Applicable to the decoder, all codecs.
1445+</entry>
1446+ </row>
14201447
1421− <table pgwide="1" frame="none" id="cx2341x-control-id">
1422− <title>CX2341x Control IDs</title>
1423− <tgroup cols="4">
1424− <colspec colname="c1" colwidth="1*" />
1425− <colspec colname="c2" colwidth="6*" />
1426− <colspec colname="c3" colwidth="2*" />
1427− <colspec colname="c4" colwidth="6*" />
1428− <spanspec namest="c1" nameend="c2" spanname="id" />
1429− <spanspec namest="c2" nameend="c4" spanname="descr" />
1430− <thead>
1448+ <row><entry></entry></row>
14311449 <row>
1432− <entry spanname="id" align="left">ID</entry>
1433− <entry align="left">Type</entry>
1434− </row><row><entry spanname="descr" align="left">Description</entry>
1450+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE</constant>&nbsp;</entry>
1451+ <entry>boolean</entry>
14351452 </row>
1436− </thead>
1437− <tbody valign="top">
1453+ <row><entry spanname="descr">Enable writing sample aspect ratio in the Video Usability Information.
1454+Applicable to the H264 encoder.</entry>
1455+ </row>
1456+
14381457 <row><entry></entry></row>
1439− <row id="v4l2-mpeg-cx2341x-video-spatial-filter-mode">
1440− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE</constant>&nbsp;</entry>
1441− <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_spatial_filter_mode</entry>
1442− </row><row><entry spanname="descr">Sets the Spatial
1443−Filter mode (default <constant>MANUAL</constant>). Possible values
1444−are:</entry>
1458+ <row id="v4l2-mpeg-video-h264-vui-sar-idc">
1459+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC</constant>&nbsp;</entry>
1460+ <entry>enum&nbsp;v4l2_mpeg_video_h264_vui_sar_idc</entry>
1461+ </row>
1462+ <row><entry spanname="descr">VUI sample aspect ratio indicator for H.264 encoding. The value
1463+is defined in the table E-1 in the standard. Applicable to the H264 encoder.</entry>
14451464 </row>
14461465 <row>
14471466 <entrytbl spanname="descr" cols="2">
14481467 <tbody valign="top">
1449− <row>
1450− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
1451− <entry>Choose the filter manually</entry>
1452− </row>
1453− <row>
1454− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
1455− <entry>Choose the filter automatically</entry>
1456− </row>
1468+
1469+ <row>
1470+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED</constant>&nbsp;</entry>
1471+ <entry>Unspecified</entry>
1472+ </row>
1473+ <row>
1474+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1</constant>&nbsp;</entry>
1475+ <entry>1x1</entry>
1476+ </row>
1477+ <row>
1478+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11</constant>&nbsp;</entry>
1479+ <entry>12x11</entry>
1480+ </row>
1481+ <row>
1482+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11</constant>&nbsp;</entry>
1483+ <entry>10x11</entry>
1484+ </row>
1485+ <row>
1486+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11</constant>&nbsp;</entry>
1487+ <entry>16x11</entry>
1488+ </row>
1489+ <row>
1490+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33</constant>&nbsp;</entry>
1491+ <entry>40x33</entry>
1492+ </row>
1493+ <row>
1494+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11</constant>&nbsp;</entry>
1495+ <entry>24x11</entry>
1496+ </row>
1497+ <row>
1498+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11</constant>&nbsp;</entry>
1499+ <entry>20x11</entry>
1500+ </row>
1501+ <row>
1502+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11</constant>&nbsp;</entry>
1503+ <entry>32x11</entry>
1504+ </row>
1505+ <row>
1506+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33</constant>&nbsp;</entry>
1507+ <entry>80x33</entry>
1508+ </row>
1509+ <row>
1510+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11</constant>&nbsp;</entry>
1511+ <entry>18x11</entry>
1512+ </row>
1513+ <row>
1514+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11</constant>&nbsp;</entry>
1515+ <entry>15x11</entry>
1516+ </row>
1517+ <row>
1518+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33</constant>&nbsp;</entry>
1519+ <entry>64x33</entry>
1520+ </row>
1521+ <row>
1522+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99</constant>&nbsp;</entry>
1523+ <entry>160x99</entry>
1524+ </row>
1525+ <row>
1526+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3</constant>&nbsp;</entry>
1527+ <entry>4x3</entry>
1528+ </row>
1529+ <row>
1530+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2</constant>&nbsp;</entry>
1531+ <entry>3x2</entry>
1532+ </row>
1533+ <row>
1534+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1</constant>&nbsp;</entry>
1535+ <entry>2x1</entry>
1536+ </row>
1537+ <row>
1538+ <entry><constant>V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED</constant>&nbsp;</entry>
1539+ <entry>Extended SAR</entry>
1540+ </row>
14571541 </tbody>
14581542 </entrytbl>
14591543 </row>
1544+
14601545 <row><entry></entry></row>
14611546 <row>
1462− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER</constant>&nbsp;</entry>
1463− <entry>integer&nbsp;(0-15)</entry>
1464− </row><row><entry spanname="descr">The setting for the
1465−Spatial Filter. 0 = off, 15 = maximum. (Default is 0.)</entry>
1547+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH</constant>&nbsp;</entry>
1548+ <entry>integer</entry>
1549+ </row>
1550+ <row><entry spanname="descr">Extended sample aspect ratio width for H.264 VUI encoding.
1551+Applicable to the H264 encoder.</entry>
14661552 </row>
1553+
14671554 <row><entry></entry></row>
1468− <row id="luma-spatial-filter-type">
1469− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
1470− <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</entry>
1471− </row><row><entry spanname="descr">Select the algorithm
1472−to use for the Luma Spatial Filter (default
1473−<constant>1D_HOR</constant>). Possible values:</entry>
1555+ <row>
1556+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT</constant>&nbsp;</entry>
1557+ <entry>integer</entry>
1558+ </row>
1559+ <row><entry spanname="descr">Extended sample aspect ratio height for H.264 VUI encoding.
1560+Applicable to the H264 encoder.</entry>
1561+ </row>
1562+
1563+ <row><entry></entry></row>
1564+ <row id="v4l2-mpeg-video-h264-level">
1565+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LEVEL</constant>&nbsp;</entry>
1566+ <entry>enum&nbsp;v4l2_mpeg_video_h264_level</entry>
1567+ </row>
1568+ <row><entry spanname="descr">The level information for the H264 video elementary stream.
1569+Applicable to the H264 encoder.
1570+Possible values are:</entry>
14741571 </row>
14751572 <row>
14761573 <entrytbl spanname="descr" cols="2">
14771574 <tbody valign="top">
14781575 <row>
1479− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
1480− <entry>No filter</entry>
1576+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_0</constant>&nbsp;</entry>
1577+ <entry>Level 1.0</entry>
14811578 </row>
14821579 <row>
1483− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
1484− <entry>One-dimensional horizontal</entry>
1580+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1B</constant>&nbsp;</entry>
1581+ <entry>Level 1B</entry>
14851582 </row>
14861583 <row>
1487− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT</constant>&nbsp;</entry>
1488− <entry>One-dimensional vertical</entry>
1584+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_1</constant>&nbsp;</entry>
1585+ <entry>Level 1.1</entry>
14891586 </row>
14901587 <row>
1491− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE</constant>&nbsp;</entry>
1492− <entry>Two-dimensional separable</entry>
1588+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_2</constant>&nbsp;</entry>
1589+ <entry>Level 1.2</entry>
14931590 </row>
14941591 <row>
1495− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE</constant>&nbsp;</entry>
1496− <entry>Two-dimensional symmetrical
1497−non-separable</entry>
1592+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_1_3</constant>&nbsp;</entry>
1593+ <entry>Level 1.3</entry>
1594+ </row>
1595+ <row>
1596+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_0</constant>&nbsp;</entry>
1597+ <entry>Level 2.0</entry>
1598+ </row>
1599+ <row>
1600+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_1</constant>&nbsp;</entry>
1601+ <entry>Level 2.1</entry>
1602+ </row>
1603+ <row>
1604+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_2_2</constant>&nbsp;</entry>
1605+ <entry>Level 2.2</entry>
1606+ </row>
1607+ <row>
1608+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_0</constant>&nbsp;</entry>
1609+ <entry>Level 3.0</entry>
1610+ </row>
1611+ <row>
1612+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_1</constant>&nbsp;</entry>
1613+ <entry>Level 3.1</entry>
1614+ </row>
1615+ <row>
1616+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_3_2</constant>&nbsp;</entry>
1617+ <entry>Level 3.2</entry>
1618+ </row>
1619+ <row>
1620+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_0</constant>&nbsp;</entry>
1621+ <entry>Level 4.0</entry>
1622+ </row>
1623+ <row>
1624+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_1</constant>&nbsp;</entry>
1625+ <entry>Level 4.1</entry>
1626+ </row>
1627+ <row>
1628+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_4_2</constant>&nbsp;</entry>
1629+ <entry>Level 4.2</entry>
1630+ </row>
1631+ <row>
1632+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_0</constant>&nbsp;</entry>
1633+ <entry>Level 5.0</entry>
1634+ </row>
1635+ <row>
1636+ <entry><constant>V4L2_MPEG_VIDEO_H264_LEVEL_5_1</constant>&nbsp;</entry>
1637+ <entry>Level 5.1</entry>
14981638 </row>
14991639 </tbody>
15001640 </entrytbl>
15011641 </row>
1642+
15021643 <row><entry></entry></row>
1503− <row id="chroma-spatial-filter-type">
1504− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
1505− <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</entry>
1506− </row><row><entry spanname="descr">Select the algorithm
1507−for the Chroma Spatial Filter (default <constant>1D_HOR</constant>).
1644+ <row id="v4l2-mpeg-video-mpeg4-level">
1645+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL</constant>&nbsp;</entry>
1646+ <entry>enum&nbsp;v4l2_mpeg_video_mpeg4_level</entry>
1647+ </row>
1648+ <row><entry spanname="descr">The level information for the MPEG4 elementary stream.
1649+Applicable to the MPEG4 encoder.
15081650 Possible values are:</entry>
15091651 </row>
15101652 <row>
15111653 <entrytbl spanname="descr" cols="2">
15121654 <tbody valign="top">
15131655 <row>
1514− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
1515− <entry>No filter</entry>
1656+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0</constant>&nbsp;</entry>
1657+ <entry>Level 0</entry>
15161658 </row>
15171659 <row>
1518− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
1519− <entry>One-dimensional horizontal</entry>
1660+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_0B</constant>&nbsp;</entry>
1661+ <entry>Level 0b</entry>
1662+ </row>
1663+ <row>
1664+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_1</constant>&nbsp;</entry>
1665+ <entry>Level 1</entry>
1666+ </row>
1667+ <row>
1668+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_2</constant>&nbsp;</entry>
1669+ <entry>Level 2</entry>
1670+ </row>
1671+ <row>
1672+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3</constant>&nbsp;</entry>
1673+ <entry>Level 3</entry>
1674+ </row>
1675+ <row>
1676+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_3B</constant>&nbsp;</entry>
1677+ <entry>Level 3b</entry>
1678+ </row>
1679+ <row>
1680+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_4</constant>&nbsp;</entry>
1681+ <entry>Level 4</entry>
1682+ </row>
1683+ <row>
1684+ <entry><constant>V4L2_MPEG_VIDEO_LEVEL_5</constant>&nbsp;</entry>
1685+ <entry>Level 5</entry>
15201686 </row>
15211687 </tbody>
15221688 </entrytbl>
15231689 </row>
1690+
15241691 <row><entry></entry></row>
1525− <row id="v4l2-mpeg-cx2341x-video-temporal-filter-mode">
1526− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE</constant>&nbsp;</entry>
1527− <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_temporal_filter_mode</entry>
1528− </row><row><entry spanname="descr">Sets the Temporal
1529−Filter mode (default <constant>MANUAL</constant>). Possible values
1530−are:</entry>
1692+ <row id="v4l2-mpeg-video-h264-profile">
1693+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_PROFILE</constant>&nbsp;</entry>
1694+ <entry>enum&nbsp;v4l2_mpeg_video_h264_profile</entry>
1695+ </row>
1696+ <row><entry spanname="descr">The profile information for H264.
1697+Applicable to the H264 encoder.
1698+Possible values are:</entry>
15311699 </row>
15321700 <row>
15331701 <entrytbl spanname="descr" cols="2">
15341702 <tbody valign="top">
15351703 <row>
1536− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
1537− <entry>Choose the filter manually</entry>
1704+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE</constant>&nbsp;</entry>
1705+ <entry>Baseline profile</entry>
15381706 </row>
15391707 <row>
1540− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
1541− <entry>Choose the filter automatically</entry>
1708+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE</constant>&nbsp;</entry>
1709+ <entry>Constrained Baseline profile</entry>
1710+ </row>
1711+ <row>
1712+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MAIN</constant>&nbsp;</entry>
1713+ <entry>Main profile</entry>
1714+ </row>
1715+ <row>
1716+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED</constant>&nbsp;</entry>
1717+ <entry>Extended profile</entry>
1718+ </row>
1719+ <row>
1720+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH</constant>&nbsp;</entry>
1721+ <entry>High profile</entry>
1722+ </row>
1723+ <row>
1724+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10</constant>&nbsp;</entry>
1725+ <entry>High 10 profile</entry>
1726+ </row>
1727+ <row>
1728+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422</constant>&nbsp;</entry>
1729+ <entry>High 422 profile</entry>
15421730 </row>
1731+ <row>
1732+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE</constant>&nbsp;</entry>
1733+ <entry>High 444 Predictive profile</entry>
1734+ </row>
1735+ <row>
1736+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA</constant>&nbsp;</entry>
1737+ <entry>High 10 Intra profile</entry>
1738+ </row>
1739+ <row>
1740+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA</constant>&nbsp;</entry>
1741+ <entry>High 422 Intra profile</entry>
1742+ </row>
1743+ <row>
1744+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA</constant>&nbsp;</entry>
1745+ <entry>High 444 Intra profile</entry>
1746+ </row>
1747+ <row>
1748+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA</constant>&nbsp;</entry>
1749+ <entry>CAVLC 444 Intra profile</entry>
1750+ </row>
1751+ <row>
1752+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE</constant>&nbsp;</entry>
1753+ <entry>Scalable Baseline profile</entry>
1754+ </row>
1755+ <row>
1756+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH</constant>&nbsp;</entry>
1757+ <entry>Scalable High profile</entry>
1758+ </row>
1759+ <row>
1760+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA</constant>&nbsp;</entry>
1761+ <entry>Scalable High Intra profile</entry>
1762+ </row>
1763+ <row>
1764+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH</constant>&nbsp;</entry>
1765+ <entry>Stereo High profile</entry>
1766+ </row>
1767+ <row>
1768+ <entry><constant>V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH</constant>&nbsp;</entry>
1769+ <entry>Multiview High profile</entry>
1770+ </row>
1771+
15431772 </tbody>
15441773 </entrytbl>
15451774 </row>
1775+
15461776 <row><entry></entry></row>
1547− <row>
1548− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER</constant>&nbsp;</entry>
1549− <entry>integer&nbsp;(0-31)</entry>
1550− </row><row><entry spanname="descr">The setting for the
1551−Temporal Filter. 0 = off, 31 = maximum. (Default is 8 for full-scale
1552−capturing and 0 for scaled capturing.)</entry>
1777+ <row id="v4l2-mpeg-video-mpeg4-profile">
1778+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE</constant>&nbsp;</entry>
1779+ <entry>enum&nbsp;v4l2_mpeg_video_mpeg4_profile</entry>
15531780 </row>
1554− <row><entry></entry></row>
1555− <row id="v4l2-mpeg-cx2341x-video-median-filter-type">
1556− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE</constant>&nbsp;</entry>
1557− <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_median_filter_type</entry>
1558− </row><row><entry spanname="descr">Median Filter Type
1559−(default <constant>OFF</constant>). Possible values are:</entry>
1781+ <row><entry spanname="descr">The profile information for MPEG4.
1782+Applicable to the MPEG4 encoder.
1783+Possible values are:</entry>
15601784 </row>
15611785 <row>
15621786 <entrytbl spanname="descr" cols="2">
15631787 <tbody valign="top">
15641788 <row>
1565− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF</constant>&nbsp;</entry>
1566− <entry>No filter</entry>
1789+ <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE</constant>&nbsp;</entry>
1790+ <entry>Simple profile</entry>
15671791 </row>
15681792 <row>
1569− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR</constant>&nbsp;</entry>
1570− <entry>Horizontal filter</entry>
1793+ <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_SIMPLE</constant>&nbsp;</entry>
1794+ <entry>Advanced Simple profile</entry>
15711795 </row>
15721796 <row>
1573− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT</constant>&nbsp;</entry>
1574− <entry>Vertical filter</entry>
1797+ <entry><constant>V4L2_MPEG_VIDEO_PROFILE_CORE</constant>&nbsp;</entry>
1798+ <entry>Core profile</entry>
15751799 </row>
15761800 <row>
1577− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT</constant>&nbsp;</entry>
1578− <entry>Horizontal and vertical filter</entry>
1801+ <entry><constant>V4L2_MPEG_VIDEO_PROFILE_SIMPLE_SCALABLE</constant>&nbsp;</entry>
1802+ <entry>Simple Scalable profile</entry>
15791803 </row>
15801804 <row>
1581− <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG</constant>&nbsp;</entry>
1582− <entry>Diagonal filter</entry>
1805+ <entry><constant>V4L2_MPEG_VIDEO_PROFILE_ADVANCED_CODING_EFFICIENCY</constant>&nbsp;</entry>
1806+ <entry></entry>
15831807 </row>
15841808 </tbody>
15851809 </entrytbl>
15861810 </row>
1811+
15871812 <row><entry></entry></row>
15881813 <row>
1589− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
1590− <entry>integer&nbsp;(0-255)</entry>
1591− </row><row><entry spanname="descr">Threshold above which
1592−the luminance median filter is enabled (default 0)</entry>
1814+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MAX_REF_PIC</constant>&nbsp;</entry>
1815+ <entry>integer</entry>
1816+ </row>
1817+ <row><entry spanname="descr">The maximum number of reference pictures used for encoding.
1818+Applicable to the encoder.
1819+</entry>
15931820 </row>
1821+
15941822 <row><entry></entry></row>
1823+ <row id="v4l2-mpeg-video-multi-slice-mode">
1824+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant>&nbsp;</entry>
1825+ <entry>enum&nbsp;v4l2_mpeg_video_multi_slice_mode</entry>
1826+ </row>
1827+ <row><entry spanname="descr">Determines how the encoder should handle division of frame into slices.
1828+Applicable to the encoder.
1829+Possible values are:</entry>
1830+ </row>
15951831 <row>
1596− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
1597− <entry>integer&nbsp;(0-255)</entry>
1598− </row><row><entry spanname="descr">Threshold below which
1599−the luminance median filter is enabled (default 255)</entry>
1832+ <entrytbl spanname="descr" cols="2">
1833+ <tbody valign="top">
1834+ <row>
1835+ <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE</constant>&nbsp;</entry>
1836+ <entry>Single slice per frame.</entry>
1837+ </row>
1838+ <row>
1839+ <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>&nbsp;</entry>
1840+ <entry>Multiple slices with set maximum number of macroblocks per slice.</entry>
1841+ </row>
1842+ <row>
1843+ <entry><constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>&nbsp;</entry>
1844+ <entry>Multiple slice with set maximum size in bytes per slice.</entry>
1845+ </row>
1846+ </tbody>
1847+ </entrytbl>
16001848 </row>
1849+
16011850 <row><entry></entry></row>
16021851 <row>
1603− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
1604− <entry>integer&nbsp;(0-255)</entry>
1605− </row><row><entry spanname="descr">Threshold above which
1606−the chroma median filter is enabled (default 0)</entry>
1852+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB</constant>&nbsp;</entry>
1853+ <entry>integer</entry>
1854+ </row>
1855+ <row><entry spanname="descr">The maximum number of macroblocks in a slice. Used when
1856+<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_MB</constant>.
1857+Applicable to the encoder.</entry>
16071858 </row>
1859+
16081860 <row><entry></entry></row>
16091861 <row>
1610− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
1611− <entry>integer&nbsp;(0-255)</entry>
1612− </row><row><entry spanname="descr">Threshold below which
1613−the chroma median filter is enabled (default 255)</entry>
1862+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES</constant>&nbsp;</entry>
1863+ <entry>integer</entry>
16141864 </row>
1865+ <row><entry spanname="descr">The maximum size of a slice in bytes. Used when
1866+<constant>V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE</constant> is set to <constant>V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_MAX_BYTES</constant>.
1867+Applicable to the encoder.</entry>
1868+ </row>
1869+
16151870 <row><entry></entry></row>
1616− <row>
1617− <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS</constant>&nbsp;</entry>
1618− <entry>boolean</entry>
1871+ <row id="v4l2-mpeg-video-h264-loop-filter-mode">
1872+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE</constant>&nbsp;</entry>
1873+ <entry>enum&nbsp;v4l2_mpeg_video_h264_loop_filter_mode</entry>
16191874 </row>
1620− <row><entry spanname="descr">The CX2341X MPEG encoder
1621−can insert one empty MPEG-2 PES packet into the stream between every
1622−four video frames. The packet size is 2048 bytes, including the
1623−packet_start_code_prefix and stream_id fields. The stream_id is 0xBF
1624−(private stream 2). The payload consists of 0x00 bytes, to be filled
1625−in by the application. 0 = do not insert, 1 = insert packets.</entry>
1875+ <row><entry spanname="descr">Loop filter mode for H264 encoder.
1876+Possible values are:</entry>
1877+ </row>
1878+ <row>
1879+ <entrytbl spanname="descr" cols="2">
1880+ <tbody valign="top">
1881+ <row>
1882+ <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED</constant>&nbsp;</entry>
1883+ <entry>Loop filter is enabled.</entry>
1884+ </row>
1885+ <row>
1886+ <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED</constant>&nbsp;</entry>
1887+ <entry>Loop filter is disabled.</entry>
1888+ </row>
1889+ <row>
1890+ <entry><constant>V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY</constant>&nbsp;</entry>
1891+ <entry>Loop filter is disabled at the slice boundary.</entry>
1892+ </row>
1893+ </tbody>
1894+ </entrytbl>
1895+ </row>
1896+
1897+ <row><entry></entry></row>
1898+ <row>
1899+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA</constant>&nbsp;</entry>
1900+ <entry>integer</entry>
1901+ </row>
1902+ <row><entry spanname="descr">Loop filter alpha coefficient, defined in the H264 standard.
1903+Applicable to the H264 encoder.</entry>
1904+ </row>
1905+
1906+ <row><entry></entry></row>
1907+ <row>
1908+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA</constant>&nbsp;</entry>
1909+ <entry>integer</entry>
1910+ </row>
1911+ <row><entry spanname="descr">Loop filter beta coefficient, defined in the H264 standard.
1912+Applicable to the H264 encoder.</entry>
1913+ </row>
1914+
1915+ <row><entry></entry></row>
1916+ <row id="v4l2-mpeg-video-h264-entropy-mode">
1917+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE</constant>&nbsp;</entry>
1918+ <entry>enum&nbsp;v4l2_mpeg_video_h264_entropy_mode</entry>
1919+ </row>
1920+ <row><entry spanname="descr">Entropy coding mode for H264 - CABAC/CAVALC.
1921+Applicable to the H264 encoder.
1922+Possible values are:</entry>
1923+ </row>
1924+ <row>
1925+ <entrytbl spanname="descr" cols="2">
1926+ <tbody valign="top">
1927+ <row>
1928+ <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC</constant>&nbsp;</entry>
1929+ <entry>Use CAVLC entropy coding.</entry>
1930+ </row>
1931+ <row>
1932+ <entry><constant>V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC</constant>&nbsp;</entry>
1933+ <entry>Use CABAC entropy coding.</entry>
1934+ </row>
1935+ </tbody>
1936+ </entrytbl>
1937+ </row>
1938+
1939+ <row><entry></entry></row>
1940+ <row>
1941+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM</constant>&nbsp;</entry>
1942+ <entry>boolean</entry>
1943+ </row>
1944+ <row><entry spanname="descr">Enable 8X8 transform for H264. Applicable to the H264 encoder.</entry>
1945+ </row>
1946+
1947+ <row><entry></entry></row>
1948+ <row>
1949+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB</constant>&nbsp;</entry>
1950+ <entry>integer</entry>
1951+ </row>
1952+ <row><entry spanname="descr">Cyclic intra macroblock refresh. This is the number of continuous macroblocks
1953+refreshed every frame. Each frame a succesive set of macroblocks is refreshed until the cycle completes and starts from the
1954+top of the frame. Applicable to H264, H263 and MPEG4 encoder.</entry>
1955+ </row>
1956+
1957+ <row><entry></entry></row>
1958+ <row>
1959+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE</constant>&nbsp;</entry>
1960+ <entry>boolean</entry>
1961+ </row>
1962+ <row><entry spanname="descr">Frame level rate control enable.
1963+If this control is disabled then the quantization parameter for each frame type is constant and set with appropriate controls
1964+(e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>).
1965+If frame rate control is enabled then quantization parameter is adjusted to meet the chosen bitrate. Minimum and maximum value
1966+for the quantization parameter can be set with appropriate controls (e.g. <constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>).
1967+Applicable to encoders.</entry>
1968+ </row>
1969+
1970+ <row><entry></entry></row>
1971+ <row>
1972+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>&nbsp;</entry>
1973+ <entry>boolean</entry>
1974+ </row>
1975+ <row><entry spanname="descr">Macroblock level rate control enable.
1976+Applicable to the MPEG4 and H264 encoders.</entry>
1977+ </row>
1978+
1979+ <row><entry></entry></row>
1980+ <row>
1981+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_QPEL</constant>&nbsp;</entry>
1982+ <entry>boolean</entry>
1983+ </row>
1984+ <row><entry spanname="descr">Quarter pixel motion estimation for MPEG4. Applicable to the MPEG4 encoder.</entry>
1985+ </row>
1986+
1987+ <row><entry></entry></row>
1988+ <row>
1989+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP</constant>&nbsp;</entry>
1990+ <entry>integer</entry>
1991+ </row>
1992+ <row><entry spanname="descr">Quantization parameter for an I frame for H263. Valid range: from 1 to 31.</entry>
1993+ </row>
1994+
1995+ <row><entry></entry></row>
1996+ <row>
1997+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MIN_QP</constant>&nbsp;</entry>
1998+ <entry>integer</entry>
1999+ </row>
2000+ <row><entry spanname="descr">Minimum quantization parameter for H263. Valid range: from 1 to 31.</entry>
2001+ </row>
2002+
2003+ <row><entry></entry></row>
2004+ <row>
2005+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_MAX_QP</constant>&nbsp;</entry>
2006+ <entry>integer</entry>
2007+ </row>
2008+ <row><entry spanname="descr">Maximum quantization parameter for H263. Valid range: from 1 to 31.</entry>
2009+ </row>
2010+
2011+ <row><entry></entry></row>
2012+ <row>
2013+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP</constant>&nbsp;</entry>
2014+ <entry>integer</entry>
2015+ </row>
2016+ <row><entry spanname="descr">Quantization parameter for an P frame for H263. Valid range: from 1 to 31.</entry>
2017+ </row>
2018+
2019+ <row><entry></entry></row>
2020+ <row>
2021+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP</constant>&nbsp;</entry>
2022+ <entry>integer</entry>
2023+ </row>
2024+ <row><entry spanname="descr">Quantization parameter for an B frame for H263. Valid range: from 1 to 31.</entry>
2025+ </row>
2026+
2027+ <row><entry></entry></row>
2028+ <row>
2029+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP</constant>&nbsp;</entry>
2030+ <entry>integer</entry>
2031+ </row>
2032+ <row><entry spanname="descr">Quantization parameter for an I frame for H264. Valid range: from 0 to 51.</entry>
2033+ </row>
2034+
2035+ <row><entry></entry></row>
2036+ <row>
2037+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MIN_QP</constant>&nbsp;</entry>
2038+ <entry>integer</entry>
2039+ </row>
2040+ <row><entry spanname="descr">Minimum quantization parameter for H264. Valid range: from 0 to 51.</entry>
2041+ </row>
2042+
2043+ <row><entry></entry></row>
2044+ <row>
2045+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_MAX_QP</constant>&nbsp;</entry>
2046+ <entry>integer</entry>
2047+ </row>
2048+ <row><entry spanname="descr">Maximum quantization parameter for H264. Valid range: from 0 to 51.</entry>
2049+ </row>
2050+
2051+ <row><entry></entry></row>
2052+ <row>
2053+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP</constant>&nbsp;</entry>
2054+ <entry>integer</entry>
2055+ </row>
2056+ <row><entry spanname="descr">Quantization parameter for an P frame for H264. Valid range: from 0 to 51.</entry>
2057+ </row>
2058+
2059+ <row><entry></entry></row>
2060+ <row>
2061+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP</constant>&nbsp;</entry>
2062+ <entry>integer</entry>
2063+ </row>
2064+ <row><entry spanname="descr">Quantization parameter for an B frame for H264. Valid range: from 0 to 51.</entry>
2065+ </row>
2066+
2067+ <row><entry></entry></row>
2068+ <row>
2069+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP</constant>&nbsp;</entry>
2070+ <entry>integer</entry>
2071+ </row>
2072+ <row><entry spanname="descr">Quantization parameter for an I frame for MPEG4. Valid range: from 1 to 31.</entry>
2073+ </row>
2074+
2075+ <row><entry></entry></row>
2076+ <row>
2077+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP</constant>&nbsp;</entry>
2078+ <entry>integer</entry>
2079+ </row>
2080+ <row><entry spanname="descr">Minimum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
2081+ </row>
2082+
2083+ <row><entry></entry></row>
2084+ <row>
2085+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP</constant>&nbsp;</entry>
2086+ <entry>integer</entry>
2087+ </row>
2088+ <row><entry spanname="descr">Maximum quantization parameter for MPEG4. Valid range: from 1 to 31.</entry>
2089+ </row>
2090+
2091+ <row><entry></entry></row>
2092+ <row>
2093+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP</constant>&nbsp;</entry>
2094+ <entry>integer</entry>
2095+ </row>
2096+ <row><entry spanname="descr">Quantization parameter for an P frame for MPEG4. Valid range: from 1 to 31.</entry>
2097+ </row>
2098+
2099+ <row><entry></entry></row>
2100+ <row>
2101+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP</constant>&nbsp;</entry>
2102+ <entry>integer</entry>
2103+ </row>
2104+ <row><entry spanname="descr">Quantization parameter for an B frame for MPEG4. Valid range: from 1 to 31.</entry>
2105+ </row>
2106+
2107+ <row><entry></entry></row>
2108+ <row>
2109+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_SIZE</constant>&nbsp;</entry>
2110+ <entry>integer</entry>
2111+ </row>
2112+ <row><entry spanname="descr">The Video Buffer Verifier size in kilobytes, it is used as a limitation of frame skip.
2113+The VBV is defined in the standard as a mean to verify that the produced stream will be succesfully decoded.
2114+The standard describes it as "Part of a hypothetical decoder that is conceptually connected to the
2115+output of the encoder. Its purpose is to provide a constraint on the variability of the data rate that an
2116+encoder or editing process may produce.".
2117+Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
2118+ </row>
2119+
2120+ <row><entry></entry></row>
2121+ <row>
2122+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
2123+ <entry>integer</entry>
2124+ </row>
2125+ <row><entry spanname="descr">The Coded Picture Buffer size in kilobytes, it is used as a limitation of frame skip.
2126+The CPB is defined in the H264 standard as a mean to verify that the produced stream will be succesfully decoded.
2127+Applicable to the H264 encoder.</entry>
2128+ </row>
2129+
2130+ <row><entry></entry></row>
2131+ <row>
2132+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_I_PERIOD</constant>&nbsp;</entry>
2133+ <entry>integer</entry>
2134+ </row>
2135+ <row><entry spanname="descr">Period between I-frames in the open GOP for H264. In case of an open GOP
2136+this is the period between two I-frames. The period between IDR (Instantaneous Decoding Refresh) frames is taken from the GOP_SIZE control.
2137+An IDR frame, which stands for Instantaneous Decoding Refresh is an I-frame after which no prior frames are
2138+referenced. This means that a stream can be restarted from an IDR frame without the need to store or decode any
2139+previous frames. Applicable to the H264 encoder.</entry>
2140+ </row>
2141+
2142+ <row><entry></entry></row>
2143+ <row id="v4l2-mpeg-video-header-mode">
2144+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_HEADER_MODE</constant>&nbsp;</entry>
2145+ <entry>enum&nbsp;v4l2_mpeg_video_header_mode</entry>
2146+ </row>
2147+ <row><entry spanname="descr">Determines whether the header is returned as the first buffer or is
2148+it returned together with the first frame. Applicable to encoders.
2149+Possible values are:</entry>
2150+ </row>
2151+ <row>
2152+ <entrytbl spanname="descr" cols="2">
2153+ <tbody valign="top">
2154+ <row>
2155+ <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE</constant>&nbsp;</entry>
2156+ <entry>The stream header is returned separately in the first buffer.</entry>
2157+ </row>
2158+ <row>
2159+ <entry><constant>V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME</constant>&nbsp;</entry>
2160+ <entry>The stream header is returned together with the first encoded frame.</entry>
2161+ </row>
2162+ </tbody>
2163+ </entrytbl>
2164+ </row>
2165+ <row><entry></entry></row>
2166+ <row>
2167+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER</constant>&nbsp;</entry>
2168+ <entry>boolean</entry>
2169+ </row><row><entry spanname="descr">Enabled the deblocking post processing filter for MPEG4 decoder.
2170+Applicable to the MPEG4 decoder.</entry>
2171+ </row>
2172+ <row><entry></entry></row>
2173+ <row>
2174+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_RES</constant>&nbsp;</entry>
2175+ <entry>integer</entry>
2176+ </row><row><entry spanname="descr">vop_time_increment_resolution value for MPEG4. Applicable to the MPEG4 encoder.</entry>
2177+ </row>
2178+ <row><entry></entry></row>
2179+ <row>
2180+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_MPEG4_VOP_TIME_INC</constant>&nbsp;</entry>
2181+ <entry>integer</entry>
2182+ </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
2183+ </row>
2184+
2185+ </tbody>
2186+ </tgroup>
2187+ </table>
2188+ </section>
2189+
2190+ <section>
2191+ <title>MFC 5.1 MPEG Controls</title>
2192+
2193+ <para>The following MPEG class controls deal with MPEG
2194+decoding and encoding settings that are specific to the Multi Format Codec 5.1 device present
2195+in the S5P family of SoCs by Samsung.
2196+</para>
2197+
2198+ <table pgwide="1" frame="none" id="mfc51-control-id">
2199+ <title>MFC 5.1 Control IDs</title>
2200+ <tgroup cols="4">
2201+ <colspec colname="c1" colwidth="1*" />
2202+ <colspec colname="c2" colwidth="6*" />
2203+ <colspec colname="c3" colwidth="2*" />
2204+ <colspec colname="c4" colwidth="6*" />
2205+ <spanspec namest="c1" nameend="c2" spanname="id" />
2206+ <spanspec namest="c2" nameend="c4" spanname="descr" />
2207+ <thead>
2208+ <row>
2209+ <entry spanname="id" align="left">ID</entry>
2210+ <entry align="left">Type</entry>
2211+ </row><row><entry spanname="descr" align="left">Description</entry>
2212+ </row>
2213+ </thead>
2214+ <tbody valign="top">
2215+ <row><entry></entry></row>
2216+ <row>
2217+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
2218+ <entry>integer</entry>
2219+ </row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a
2220+CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in
2221+buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus
2222+application should not write to those buffers. This feature can be used for example for generating thumbnails of videos.
2223+Applicable to the H264 decoder.
2224+ </entry>
2225+ </row>
2226+ <row><entry></entry></row>
2227+ <row>
2228+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>&nbsp;</entry>
2229+ <entry>integer</entry>
2230+ </row><row><entry spanname="descr">Display delay value for H264 decoder.
2231+The decoder is forced to return a decoded frame after the set 'display delay' number of frames. If this number is
2232+low it may result in frames returned out of dispaly order, in addition the hardware may still be using the returned buffer
2233+as a reference picture for subsequent frames.
2234+</entry>
2235+ </row>
2236+ <row><entry></entry></row>
2237+ <row>
2238+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P</constant>&nbsp;</entry>
2239+ <entry>integer</entry>
2240+ </row><row><entry spanname="descr">The number of reference pictures used for encoding a P picture.
2241+Applicable to the H264 encoder.</entry>
2242+ </row>
2243+ <row><entry></entry></row>
2244+ <row>
2245+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING</constant>&nbsp;</entry>
2246+ <entry>boolean</entry>
2247+ </row><row><entry spanname="descr">Padding enable in the encoder - use a color instead of repeating border pixels.
2248+Applicable to encoders.</entry>
2249+ </row>
2250+ <row><entry></entry></row>
2251+ <row>
2252+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV</constant>&nbsp;</entry>
2253+ <entry>integer</entry>
2254+ </row><row><entry spanname="descr">Padding color in the encoder. Applicable to encoders. The supplied 32-bit integer is interpreted as follows (bit
2255+0 = least significant bit):</entry>
2256+ </row>
2257+ <row>
2258+ <entrytbl spanname="descr" cols="2">
2259+ <tbody valign="top">
2260+ <row>
2261+ <entry>Bit 0:7</entry>
2262+ <entry>V chrominance information</entry>
2263+ </row>
2264+ <row>
2265+ <entry>Bit 8:15</entry>
2266+ <entry>U chrominance information</entry>
2267+ </row>
2268+ <row>
2269+ <entry>Bit 16:23</entry>
2270+ <entry>Y luminance information</entry>
2271+ </row>
2272+ <row>
2273+ <entry>Bit 24:31</entry>
2274+ <entry>Must be zero.</entry>
2275+ </row>
2276+ </tbody>
2277+ </entrytbl>
2278+ </row>
2279+ <row><entry></entry></row>
2280+ <row>
2281+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF</constant>&nbsp;</entry>
2282+ <entry>integer</entry>
2283+ </row><row><entry spanname="descr">Reaction coefficient for MFC rate control. Applicable to encoders.
2284+<para>Note 1: Valid only when the frame level RC is enabled.</para>
2285+<para>Note 2: For tight CBR, this field must be small (ex. 2 ~ 10).
2286+For VBR, this field must be large (ex. 100 ~ 1000).</para>
2287+<para>Note 3: It is not recommended to use the greater number than FRAME_RATE * (10^9 / BIT_RATE).</para>
2288+</entry>
2289+ </row>
2290+ <row><entry></entry></row>
2291+ <row>
2292+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK</constant>&nbsp;</entry>
2293+ <entry>boolean</entry>
2294+ </row><row><entry spanname="descr">Adaptive rate control for dark region.
2295+Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2296+Applicable to the H264 encoder.</entry>
2297+ </row>
2298+ <row><entry></entry></row>
2299+ <row>
2300+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH</constant>&nbsp;</entry>
2301+ <entry>boolean</entry>
2302+ </row><row><entry spanname="descr">Adaptive rate control for smooth region.
2303+Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2304+Applicable to the H264 encoder.</entry>
2305+ </row>
2306+ <row><entry></entry></row>
2307+ <row>
2308+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC</constant>&nbsp;</entry>
2309+ <entry>boolean</entry>
2310+ </row><row><entry spanname="descr">Adaptive rate control for static region.
2311+Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2312+Applicable to the H264 encoder.</entry>
2313+ </row>
2314+ <row><entry></entry></row>
2315+ <row>
2316+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY</constant>&nbsp;</entry>
2317+ <entry>boolean</entry>
2318+ </row><row><entry spanname="descr">Adaptive rate control for activity region.
2319+Valid only when H.264 and macroblock level RC is enabled (<constant>V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE</constant>).
2320+Applicable to the H264 encoder.</entry>
2321+ </row>
2322+ <row><entry></entry></row>
2323+ <row id="v4l2-mpeg-mfc51-video-frame-skip-mode">
2324+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE</constant>&nbsp;</entry>
2325+ <entry>enum&nbsp;v4l2_mpeg_mfc51_video_frame_skip_mode</entry>
2326+ </row>
2327+ <row><entry spanname="descr">
2328+Indicates in what conditions the encoder should skip frames. If encoding a frame would cause the encoded stream to be larger then
2329+a chosen data limit then the frame will be skipped.
2330+Possible values are:</entry>
2331+ </row>
2332+ <row>
2333+ <entrytbl spanname="descr" cols="2">
2334+ <tbody valign="top">
2335+ <row>
2336+ <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_DISABLED</constant>&nbsp;</entry>
2337+ <entry>Frame skip mode is disabled.</entry>
2338+ </row>
2339+ <row>
2340+ <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_LEVEL_LIMIT</constant>&nbsp;</entry>
2341+ <entry>Frame skip mode enabled and buffer limit is set by the chosen level and is defined by the standard.</entry>
2342+ </row>
2343+ <row>
2344+ <entry><constant>V4L2_MPEG_MFC51_FRAME_SKIP_MODE_BUF_LIMIT</constant>&nbsp;</entry>
2345+ <entry>Frame skip mode enabled and buffer limit is set by the VBV (MPEG1/2/4) or CPB (H264) buffer size control.</entry>
2346+ </row>
2347+ </tbody>
2348+ </entrytbl>
2349+ </row>
2350+ <row><entry></entry></row>
2351+ <row>
2352+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT</constant>&nbsp;</entry>
2353+ <entry>integer</entry>
2354+ </row><row><entry spanname="descr">Enable rate-control with fixed target bit.
2355+If this setting is enabled, then the rate control logic of the encoder will calculate the average bitrate
2356+for a GOP and keep it below or equal the set bitrate target. Otherwise the rate control logic calculates the
2357+overall average bitrate for the stream and keeps it below or equal to the set bitrate. In the first case
2358+the average bitrate for the whole stream will be smaller then the set bitrate. This is caused because the
2359+average is calculated for smaller number of frames, on the other hand enabling this setting will ensure that
2360+the stream will meet tight bandwidth contraints. Applicable to encoders.
2361+</entry>
2362+ </row>
2363+ <row><entry></entry></row>
2364+ <row id="v4l2-mpeg-mfc51-video-force-frame-type">
2365+ <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE</constant>&nbsp;</entry>
2366+ <entry>enum&nbsp;v4l2_mpeg_mfc51_video_force_frame_type</entry>
2367+ </row>
2368+ <row><entry spanname="descr">Force a frame type for the next queued buffer. Applicable to encoders.
2369+Possible values are:</entry>
2370+ </row>
2371+ <row>
2372+ <entrytbl spanname="descr" cols="2">
2373+ <tbody valign="top">
2374+ <row>
2375+ <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_DISABLED</constant>&nbsp;</entry>
2376+ <entry>Forcing a specific frame type disabled.</entry>
2377+ </row>
2378+ <row>
2379+ <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_I_FRAME</constant>&nbsp;</entry>
2380+ <entry>Force an I-frame.</entry>
2381+ </row>
2382+ <row>
2383+ <entry><constant>V4L2_MPEG_MFC51_FORCE_FRAME_TYPE_NOT_CODED</constant>&nbsp;</entry>
2384+ <entry>Force a non-coded frame.</entry>
2385+ </row>
2386+ </tbody>
2387+ </entrytbl>
2388+ </row>
2389+ </tbody>
2390+ </tgroup>
2391+ </table>
2392+ </section>
2393+
2394+ <section>
2395+ <title>CX2341x MPEG Controls</title>
2396+
2397+ <para>The following MPEG class controls deal with MPEG
2398+encoding settings that are specific to the Conexant CX23415 and
2399+CX23416 MPEG encoding chips.</para>
2400+
2401+ <table pgwide="1" frame="none" id="cx2341x-control-id">
2402+ <title>CX2341x Control IDs</title>
2403+ <tgroup cols="4">
2404+ <colspec colname="c1" colwidth="1*" />
2405+ <colspec colname="c2" colwidth="6*" />
2406+ <colspec colname="c3" colwidth="2*" />
2407+ <colspec colname="c4" colwidth="6*" />
2408+ <spanspec namest="c1" nameend="c2" spanname="id" />
2409+ <spanspec namest="c2" nameend="c4" spanname="descr" />
2410+ <thead>
2411+ <row>
2412+ <entry spanname="id" align="left">ID</entry>
2413+ <entry align="left">Type</entry>
2414+ </row><row><entry spanname="descr" align="left">Description</entry>
2415+ </row>
2416+ </thead>
2417+ <tbody valign="top">
2418+ <row><entry></entry></row>
2419+ <row id="v4l2-mpeg-cx2341x-video-spatial-filter-mode">
2420+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE</constant>&nbsp;</entry>
2421+ <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_spatial_filter_mode</entry>
2422+ </row><row><entry spanname="descr">Sets the Spatial
2423+Filter mode (default <constant>MANUAL</constant>). Possible values
2424+are:</entry>
2425+ </row>
2426+ <row>
2427+ <entrytbl spanname="descr" cols="2">
2428+ <tbody valign="top">
2429+ <row>
2430+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
2431+ <entry>Choose the filter manually</entry>
2432+ </row>
2433+ <row>
2434+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
2435+ <entry>Choose the filter automatically</entry>
2436+ </row>
2437+ </tbody>
2438+ </entrytbl>
2439+ </row>
2440+ <row><entry></entry></row>
2441+ <row>
2442+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER</constant>&nbsp;</entry>
2443+ <entry>integer&nbsp;(0-15)</entry>
2444+ </row><row><entry spanname="descr">The setting for the
2445+Spatial Filter. 0 = off, 15 = maximum. (Default is 0.)</entry>
2446+ </row>
2447+ <row><entry></entry></row>
2448+ <row id="luma-spatial-filter-type">
2449+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
2450+ <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</entry>
2451+ </row><row><entry spanname="descr">Select the algorithm
2452+to use for the Luma Spatial Filter (default
2453+<constant>1D_HOR</constant>). Possible values:</entry>
2454+ </row>
2455+ <row>
2456+ <entrytbl spanname="descr" cols="2">
2457+ <tbody valign="top">
2458+ <row>
2459+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
2460+ <entry>No filter</entry>
2461+ </row>
2462+ <row>
2463+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
2464+ <entry>One-dimensional horizontal</entry>
2465+ </row>
2466+ <row>
2467+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT</constant>&nbsp;</entry>
2468+ <entry>One-dimensional vertical</entry>
2469+ </row>
2470+ <row>
2471+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE</constant>&nbsp;</entry>
2472+ <entry>Two-dimensional separable</entry>
2473+ </row>
2474+ <row>
2475+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE</constant>&nbsp;</entry>
2476+ <entry>Two-dimensional symmetrical
2477+non-separable</entry>
2478+ </row>
2479+ </tbody>
2480+ </entrytbl>
2481+ </row>
2482+ <row><entry></entry></row>
2483+ <row id="chroma-spatial-filter-type">
2484+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE</constant>&nbsp;</entry>
2485+ <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</entry>
2486+ </row><row><entry spanname="descr">Select the algorithm
2487+for the Chroma Spatial Filter (default <constant>1D_HOR</constant>).
2488+Possible values are:</entry>
2489+ </row>
2490+ <row>
2491+ <entrytbl spanname="descr" cols="2">
2492+ <tbody valign="top">
2493+ <row>
2494+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF</constant>&nbsp;</entry>
2495+ <entry>No filter</entry>
2496+ </row>
2497+ <row>
2498+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR</constant>&nbsp;</entry>
2499+ <entry>One-dimensional horizontal</entry>
2500+ </row>
2501+ </tbody>
2502+ </entrytbl>
2503+ </row>
2504+ <row><entry></entry></row>
2505+ <row id="v4l2-mpeg-cx2341x-video-temporal-filter-mode">
2506+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE</constant>&nbsp;</entry>
2507+ <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_temporal_filter_mode</entry>
2508+ </row><row><entry spanname="descr">Sets the Temporal
2509+Filter mode (default <constant>MANUAL</constant>). Possible values
2510+are:</entry>
2511+ </row>
2512+ <row>
2513+ <entrytbl spanname="descr" cols="2">
2514+ <tbody valign="top">
2515+ <row>
2516+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL</constant>&nbsp;</entry>
2517+ <entry>Choose the filter manually</entry>
2518+ </row>
2519+ <row>
2520+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO</constant>&nbsp;</entry>
2521+ <entry>Choose the filter automatically</entry>
2522+ </row>
2523+ </tbody>
2524+ </entrytbl>
2525+ </row>
2526+ <row><entry></entry></row>
2527+ <row>
2528+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER</constant>&nbsp;</entry>
2529+ <entry>integer&nbsp;(0-31)</entry>
2530+ </row><row><entry spanname="descr">The setting for the
2531+Temporal Filter. 0 = off, 31 = maximum. (Default is 8 for full-scale
2532+capturing and 0 for scaled capturing.)</entry>
2533+ </row>
2534+ <row><entry></entry></row>
2535+ <row id="v4l2-mpeg-cx2341x-video-median-filter-type">
2536+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE</constant>&nbsp;</entry>
2537+ <entry>enum&nbsp;v4l2_mpeg_cx2341x_video_median_filter_type</entry>
2538+ </row><row><entry spanname="descr">Median Filter Type
2539+(default <constant>OFF</constant>). Possible values are:</entry>
2540+ </row>
2541+ <row>
2542+ <entrytbl spanname="descr" cols="2">
2543+ <tbody valign="top">
2544+ <row>
2545+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF</constant>&nbsp;</entry>
2546+ <entry>No filter</entry>
2547+ </row>
2548+ <row>
2549+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR</constant>&nbsp;</entry>
2550+ <entry>Horizontal filter</entry>
2551+ </row>
2552+ <row>
2553+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT</constant>&nbsp;</entry>
2554+ <entry>Vertical filter</entry>
2555+ </row>
2556+ <row>
2557+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT</constant>&nbsp;</entry>
2558+ <entry>Horizontal and vertical filter</entry>
2559+ </row>
2560+ <row>
2561+ <entry><constant>V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG</constant>&nbsp;</entry>
2562+ <entry>Diagonal filter</entry>
2563+ </row>
2564+ </tbody>
2565+ </entrytbl>
2566+ </row>
2567+ <row><entry></entry></row>
2568+ <row>
2569+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
2570+ <entry>integer&nbsp;(0-255)</entry>
2571+ </row><row><entry spanname="descr">Threshold above which
2572+the luminance median filter is enabled (default 0)</entry>
2573+ </row>
2574+ <row><entry></entry></row>
2575+ <row>
2576+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
2577+ <entry>integer&nbsp;(0-255)</entry>
2578+ </row><row><entry spanname="descr">Threshold below which
2579+the luminance median filter is enabled (default 255)</entry>
2580+ </row>
2581+ <row><entry></entry></row>
2582+ <row>
2583+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM</constant>&nbsp;</entry>
2584+ <entry>integer&nbsp;(0-255)</entry>
2585+ </row><row><entry spanname="descr">Threshold above which
2586+the chroma median filter is enabled (default 0)</entry>
2587+ </row>
2588+ <row><entry></entry></row>
2589+ <row>
2590+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP</constant>&nbsp;</entry>
2591+ <entry>integer&nbsp;(0-255)</entry>
2592+ </row><row><entry spanname="descr">Threshold below which
2593+the chroma median filter is enabled (default 255)</entry>
2594+ </row>
2595+ <row><entry></entry></row>
2596+ <row>
2597+ <entry spanname="id"><constant>V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS</constant>&nbsp;</entry>
2598+ <entry>boolean</entry>
2599+ </row>
2600+ <row><entry spanname="descr">The CX2341X MPEG encoder
2601+can insert one empty MPEG-2 PES packet into the stream between every
2602+four video frames. The packet size is 2048 bytes, including the
2603+packet_start_code_prefix and stream_id fields. The stream_id is 0xBF
2604+(private stream 2). The payload consists of 0x00 bytes, to be filled
2605+in by the application. 0 = do not insert, 1 = insert packets.</entry>
16262606 </row>
16272607 </tbody>
16282608 </tgroup>
@@ -2092,6 +3072,289 @@ manually or automatically if set to zero. Unit, range and step are driver-specif · 463 unmodified lines
20923072 <para>For more details about RDS specification, refer to
20933073 <xref linkend="en50067" /> document, from CENELEC.</para>
20943074 </section>
3075+
3076+ <section id="flash-controls">
3077+ <title>Flash Control Reference</title>
3078+
3079+ <note>
3080+ <title>Experimental</title>
3081+
3082+ <para>This is an <link linkend="experimental">experimental</link>
3083+interface and may change in the future.</para>
3084+ </note>
3085+
3086+ <para>
3087+ The V4L2 flash controls are intended to provide generic access
3088+ to flash controller devices. Flash controller devices are
3089+ typically used in digital cameras.
3090+ </para>
3091+
3092+ <para>
3093+ The interface can support both LED and xenon flash devices. As
3094+ of writing this, there is no xenon flash driver using this
3095+ interface.
3096+ </para>
3097+
3098+ <section id="flash-controls-use-cases">
3099+ <title>Supported use cases</title>
3100+
3101+ <section>
3102+ <title>Unsynchronised LED flash (software strobe)</title>
3103+
3104+ <para>
3105+ Unsynchronised LED flash is controlled directly by the
3106+ host as the sensor. The flash must be enabled by the host
3107+ before the exposure of the image starts and disabled once
3108+ it ends. The host is fully responsible for the timing of
3109+ the flash.
3110+ </para>
3111+
3112+ <para>Example of such device: Nokia N900.</para>
3113+ </section>
3114+
3115+ <section>
3116+ <title>Synchronised LED flash (hardware strobe)</title>
3117+
3118+ <para>
3119+ The synchronised LED flash is pre-programmed by the host
3120+ (power and timeout) but controlled by the sensor through a
3121+ strobe signal from the sensor to the flash.
3122+ </para>
3123+
3124+ <para>
3125+ The sensor controls the flash duration and timing. This
3126+ information typically must be made available to the
3127+ sensor.
3128+ </para>
3129+
3130+ </section>
3131+
3132+ <section>
3133+ <title>LED flash as torch</title>
3134+
3135+ <para>
3136+ LED flash may be used as torch in conjunction with another
3137+ use case involving camera or individually.
3138+ </para>
3139+
3140+ </section>
3141+
3142+ </section>
3143+
3144+ <table pgwide="1" frame="none" id="flash-control-id">
3145+ <title>Flash Control IDs</title>
3146+
3147+ <tgroup cols="4">
3148+ <colspec colname="c1" colwidth="1*" />
3149+ <colspec colname="c2" colwidth="6*" />
3150+ <colspec colname="c3" colwidth="2*" />
3151+ <colspec colname="c4" colwidth="6*" />
3152+ <spanspec namest="c1" nameend="c2" spanname="id" />
3153+ <spanspec namest="c2" nameend="c4" spanname="descr" />
3154+ <thead>
3155+ <row>
3156+ <entry spanname="id" align="left">ID</entry>
3157+ <entry align="left">Type</entry>
3158+ </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
3159+ </row>
3160+ </thead>
3161+ <tbody valign="top">
3162+ <row><entry></entry></row>
3163+ <row>
3164+ <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
3165+ <entry>class</entry>
3166+ </row>
3167+ <row>
3168+ <entry spanname="descr">The FLASH class descriptor.</entry>
3169+ </row>
3170+ <row>
3171+ <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
3172+ <entry>menu</entry>
3173+ </row>
3174+ <row id="v4l2-flash-led-mode">
3175+ <entry spanname="descr">Defines the mode of the flash LED,
3176+ the high-power white LED attached to the flash controller.
3177+ Setting this control may not be possible in presence of
3178+ some faults. See V4L2_CID_FLASH_FAULT.</entry>
3179+ </row>
3180+ <row>
3181+ <entrytbl spanname="descr" cols="2">
3182+ <tbody valign="top">
3183+ <row>
3184+ <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
3185+ <entry>Off.</entry>
3186+ </row>
3187+ <row>
3188+ <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
3189+ <entry>Flash mode.</entry>
3190+ </row>
3191+ <row>
3192+ <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
3193+ <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
3194+ </row>
3195+ </tbody>
3196+ </entrytbl>
3197+ </row>
3198+ <row>
3199+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
3200+ <entry>menu</entry>
3201+ </row>
3202+ <row id="v4l2-flash-strobe-source"><entry
3203+ spanname="descr">Defines the source of the flash LED
3204+ strobe.</entry>
3205+ </row>
3206+ <row>
3207+ <entrytbl spanname="descr" cols="2">
3208+ <tbody valign="top">
3209+ <row>
3210+ <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
3211+ <entry>The flash strobe is triggered by using
3212+ the V4L2_CID_FLASH_STROBE control.</entry>
3213+ </row>
3214+ <row>
3215+ <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
3216+ <entry>The flash strobe is triggered by an
3217+ external source. Typically this is a sensor,
3218+ which makes it possible to synchronises the
3219+ flash strobe start to exposure start.</entry>
3220+ </row>
3221+ </tbody>
3222+ </entrytbl>
3223+ </row>
3224+ <row>
3225+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
3226+ <entry>button</entry>
3227+ </row>
3228+ <row>
3229+ <entry spanname="descr">Strobe flash. Valid when
3230+ V4L2_CID_FLASH_LED_MODE is set to
3231+ V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
3232+ is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
3233+ control may not be possible in presence of some faults.
3234+ See V4L2_CID_FLASH_FAULT.</entry>
3235+ </row>
3236+ <row>
3237+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
3238+ <entry>button</entry>
3239+ </row>
3240+ <row><entry spanname="descr">Stop flash strobe immediately.</entry>
3241+ </row>
3242+ <row>
3243+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
3244+ <entry>boolean</entry>
3245+ </row>
3246+ <row>
3247+ <entry spanname="descr">Strobe status: whether the flash
3248+ is strobing at the moment or not. This is a read-only
3249+ control.</entry>
3250+ </row>
3251+ <row>
3252+ <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
3253+ <entry>integer</entry>
3254+ </row>
3255+ <row>
3256+ <entry spanname="descr">Hardware timeout for flash. The
3257+ flash strobe is stopped after this period of time has
3258+ passed from the start of the strobe.</entry>
3259+ </row>
3260+ <row>
3261+ <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
3262+ <entry>integer</entry>
3263+ </row>
3264+ <row>
3265+ <entry spanname="descr">Intensity of the flash strobe when
3266+ the flash LED is in flash mode
3267+ (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
3268+ (mA) if possible.</entry>
3269+ </row>
3270+ <row>
3271+ <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
3272+ <entry>integer</entry>
3273+ </row>
3274+ <row>
3275+ <entry spanname="descr">Intensity of the flash LED in
3276+ torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
3277+ milliamps (mA) if possible. Setting this control may not
3278+ be possible in presence of some faults. See
3279+ V4L2_CID_FLASH_FAULT.</entry>
3280+ </row>
3281+ <row>
3282+ <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
3283+ <entry>integer</entry>
3284+ </row>
3285+ <row>
3286+ <entry spanname="descr">Intensity of the indicator LED.
3287+ The indicator LED may be fully independent of the flash
3288+ LED. The unit should be microamps (uA) if possible.</entry>
3289+ </row>
3290+ <row>
3291+ <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
3292+ <entry>bitmask</entry>
3293+ </row>
3294+ <row>
3295+ <entry spanname="descr">Faults related to the flash. The
3296+ faults tell about specific problems in the flash chip
3297+ itself or the LEDs attached to it. Faults may prevent
3298+ further use of some of the flash controls. In particular,
3299+ V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
3300+ if the fault affects the flash LED. Exactly which faults
3301+ have such an effect is chip dependent. Reading the faults
3302+ resets the control and returns the chip to a usable state
3303+ if possible.</entry>
3304+ </row>
3305+ <row>
3306+ <entrytbl spanname="descr" cols="2">
3307+ <tbody valign="top">
3308+ <row>
3309+ <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
3310+ <entry>Flash controller voltage to the flash LED
3311+ has exceeded the limit specific to the flash
3312+ controller.</entry>
3313+ </row>
3314+ <row>
3315+ <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
3316+ <entry>The flash strobe was still on when
3317+ the timeout set by the user ---
3318+ V4L2_CID_FLASH_TIMEOUT control --- has expired.
3319+ Not all flash controllers may set this in all
3320+ such conditions.</entry>
3321+ </row>
3322+ <row>
3323+ <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
3324+ <entry>The flash controller has overheated.</entry>
3325+ </row>
3326+ <row>
3327+ <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
3328+ <entry>The short circuit protection of the flash
3329+ controller has been triggered.</entry>
3330+ </row>
3331+ </tbody>
3332+ </entrytbl>
3333+ </row>
3334+ <row>
3335+ <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
3336+ <entry>boolean</entry>
3337+ </row>
3338+ <row><entry spanname="descr">Enable or disable charging of the xenon
3339+ flash capacitor.</entry>
3340+ </row>
3341+ <row>
3342+ <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
3343+ <entry>boolean</entry>
3344+ </row>
3345+ <row>
3346+ <entry spanname="descr">Is the flash ready to strobe?
3347+ Xenon flashes require their capacitors charged before
3348+ strobing. LED flashes often require a cooldown period
3349+ after strobe during which another strobe will not be
3350+ possible. This is a read-only control.</entry>
3351+ </row>
3352+ <row><entry></entry></row>
3353+ </tbody>
3354+ </tgroup>
3355+ </table>
3356+
3357+ </section>
20953358 </section>
20963359
20973360 <!--
Documentation/DocBook/media/v4l/crop.pdfrenamed from Documentation/DocBook/v4l/crop.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-capture.xmlrenamed from Documentation/DocBook/v4l/dev-capture.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-codec.xmlrenamed from Documentation/DocBook/v4l/dev-codec.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-effect.xmlrenamed from Documentation/DocBook/v4l/dev-effect.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-event.xml+51−0
@@ -0,0 +1,51 @@
1+ <title>Event Interface</title>
2+
3+ <para>The V4L2 event interface provides a means for a user to get
4+ immediately notified on certain conditions taking place on a device.
5+ This might include start of frame or loss of signal events, for
6+ example. Changes in the value or state of a V4L2 control can also be
7+ reported through events.
8+ </para>
9+
10+ <para>To receive events, the events the user is interested in first must
11+ be subscribed using the &VIDIOC-SUBSCRIBE-EVENT; ioctl. Once an event is
12+ subscribed, the events of subscribed types are dequeueable using the
13+ &VIDIOC-DQEVENT; ioctl. Events may be unsubscribed using
14+ VIDIOC_UNSUBSCRIBE_EVENT ioctl. The special event type V4L2_EVENT_ALL may
15+ be used to unsubscribe all the events the driver supports.</para>
16+
17+ <para>The event subscriptions and event queues are specific to file
18+ handles. Subscribing an event on one file handle does not affect
19+ other file handles.</para>
20+
21+ <para>The information on dequeueable events is obtained by using select or
22+ poll system calls on video devices. The V4L2 events use POLLPRI events on
23+ poll system call and exceptions on select system call.</para>
24+
25+ <para>Starting with kernel 3.1 certain guarantees can be given with
26+ regards to events:<orderedlist>
27+ <listitem>
28+ <para>Each subscribed event has its own internal dedicated event queue.
29+This means that flooding of one event type will not interfere with other
30+event types.</para>
31+ </listitem>
32+ <listitem>
33+ <para>If the internal event queue for a particular subscribed event
34+becomes full, then the oldest event in that queue will be dropped.</para>
35+ </listitem>
36+ <listitem>
37+ <para>Where applicable, certain event types can ensure that the payload
38+of the oldest event that is about to be dropped will be merged with the payload
39+of the next oldest event. Thus ensuring that no information is lost, but only an
40+intermediate step leading up to that information. See the documentation for the
41+event you want to subscribe to whether this is applicable for that event or not.</para>
42+ </listitem>
43+ </orderedlist></para>
44+
45+ <!--
46+Local Variables:
47+mode: sgml
48+sgml-parent-document: "v4l2.sgml"
49+indent-tabs-mode: nil
50+End:
51+ -->
Documentation/DocBook/media/v4l/dev-osd.xmlrenamed from Documentation/DocBook/v4l/dev-osd.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-output.xmlrenamed from Documentation/DocBook/v4l/dev-output.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-overlay.xmlrenamed from Documentation/DocBook/v4l/dev-overlay.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-radio.xmlrenamed from Documentation/DocBook/v4l/dev-radio.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-raw-vbi.xmlrenamed from Documentation/DocBook/v4l/dev-raw-vbi.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-rds.xmlrenamed from Documentation/DocBook/v4l/dev-rds.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-sliced-vbi.xmlrenamed from Documentation/DocBook/v4l/dev-sliced-vbi.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-subdev.xmlrenamed from Documentation/DocBook/v4l/dev-subdev.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/dev-teletext.xmlrenamed from Documentation/DocBook/v4l/dev-teletext.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/driver.xmlrenamed from Documentation/DocBook/v4l/driver.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/fdl-appendix.xmlrenamed from Documentation/DocBook/v4l/fdl-appendix.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/fieldseq_bt.pdfrenamed from Documentation/DocBook/v4l/fieldseq_bt.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/fieldseq_tb.pdfrenamed from Documentation/DocBook/v4l/fieldseq_tb.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-close.xmlrenamed from Documentation/DocBook/v4l/func-close.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-ioctl.xml+79−0
@@ -0,0 +1,79 @@
1+<refentry id="func-ioctl">
2+ <refmeta>
3+ <refentrytitle>V4L2 ioctl()</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+
7+ <refnamediv>
8+ <refname>v4l2-ioctl</refname>
9+ <refpurpose>Program a V4L2 device</refpurpose>
10+ </refnamediv>
11+
12+ <refsynopsisdiv>
13+ <funcsynopsis>
14+ <funcsynopsisinfo>#include &lt;sys/ioctl.h&gt;</funcsynopsisinfo>
15+ <funcprototype>
16+ <funcdef>int <function>ioctl</function></funcdef>
17+ <paramdef>int <parameter>fd</parameter></paramdef>
18+ <paramdef>int <parameter>request</parameter></paramdef>
19+ <paramdef>void *<parameter>argp</parameter></paramdef>
20+ </funcprototype>
21+ </funcsynopsis>
22+ </refsynopsisdiv>
23+
24+ <refsect1>
25+ <title>Arguments</title>
26+
27+ <variablelist>
28+ <varlistentry>
29+ <term><parameter>fd</parameter></term>
30+ <listitem>
31+ <para>&fd;</para>
32+ </listitem>
33+ </varlistentry>
34+ <varlistentry>
35+ <term><parameter>request</parameter></term>
36+ <listitem>
37+ <para>V4L2 ioctl request code as defined in the <filename>videodev2.h</filename> header file, for example
38+VIDIOC_QUERYCAP.</para>
39+ </listitem>
40+ </varlistentry>
41+ <varlistentry>
42+ <term><parameter>argp</parameter></term>
43+ <listitem>
44+ <para>Pointer to a function parameter, usually a structure.</para>
45+ </listitem>
46+ </varlistentry>
47+ </variablelist>
48+ </refsect1>
49+
50+ <refsect1>
51+ <title>Description</title>
52+
53+ <para>The <function>ioctl()</function> function is used to program
54+V4L2 devices. The argument <parameter>fd</parameter> must be an open
55+file descriptor. An ioctl <parameter>request</parameter> has encoded
56+in it whether the argument is an input, output or read/write
57+parameter, and the size of the argument <parameter>argp</parameter> in
58+bytes. Macros and defines specifying V4L2 ioctl requests are located
59+in the <filename>videodev2.h</filename> header file.
60+Applications should use their own copy, not include the version in the
61+kernel sources on the system they compile on. All V4L2 ioctl requests,
62+their respective function and parameters are specified in <xref
63+ linkend="user-func" />.</para>
64+ </refsect1>
65+
66+ <refsect1>
67+ &return-value;
68+ <para>When an ioctl that takes an output or read/write parameter fails,
69+ the parameter remains unmodified.</para>
70+ </refsect1>
71+</refentry>
72+
73+<!--
74+Local Variables:
75+mode: sgml
76+sgml-parent-document: "v4l2.sgml"
77+indent-tabs-mode: nil
78+End:
79+-->
Documentation/DocBook/media/v4l/func-mmap.xmlrenamed from Documentation/DocBook/v4l/func-mmap.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-munmap.xmlrenamed from Documentation/DocBook/v4l/func-munmap.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-open.xmlrenamed from Documentation/DocBook/v4l/func-open.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-poll.xmlrenamed from Documentation/DocBook/v4l/func-poll.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-read.xmlrenamed from Documentation/DocBook/v4l/func-read.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-select.xmlrenamed from Documentation/DocBook/v4l/func-select.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/func-write.xmlrenamed from Documentation/DocBook/v4l/func-write.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/gen-errors.xml+78−0
@@ -0,0 +1,78 @@
1+<title>Generic Error Codes</title>
2+
3+<table frame="none" pgwide="1" id="gen-errors">
4+ <title>Generic error codes</title>
5+ <tgroup cols="2">
6+ &cs-str;
7+ <tbody valign="top">
8+ <!-- Keep it ordered alphabetically -->
9+ <row>
10+ <entry>EBADF</entry>
11+ <entry>The file descriptor is not a valid.</entry>
12+ </row>
13+ <row>
14+ <entry>EBUSY</entry>
15+ <entry>The ioctl can't be handled because the device is busy. This is
16+ typically return while device is streaming, and an ioctl tried to
17+ change something that would affect the stream, or would require the
18+ usage of a hardware resource that was already allocated. The ioctl
19+ must not be retried without performing another action to fix the
20+ problem first (typically: stop the stream before retrying).</entry>
21+ </row>
22+ <row>
23+ <entry>EFAULT</entry>
24+ <entry>There was a failure while copying data from/to userspace,
25+ probably caused by an invalid pointer reference.</entry>
26+ </row>
27+ <row>
28+ <entry>EINVAL</entry>
29+ <entry>One or more of the ioctl parameters are invalid or out of the
30+ allowed range. This is a widely used error code. See the individual
31+ ioctl requests for specific causes.</entry>
32+ </row>
33+ <row>
34+ <entry>ENODEV</entry>
35+ <entry>Device not found or was removed.</entry>
36+ </row>
37+ <row>
38+ <entry>ENOMEM</entry>
39+ <entry>There's not enough memory to handle the desired operation.</entry>
40+ </row>
41+ <row>
42+ <entry>ENOTTY</entry>
43+ <entry>The ioctl is not supported by the driver, actually meaning that
44+ the required functionality is not available, or the file
45+ descriptor is not for a media device.</entry>
46+ </row>
47+ <row>
48+ <entry>ENOSPC</entry>
49+ <entry>On USB devices, the stream ioctl's can return this error, meaning
50+ that this request would overcommit the usb bandwidth reserved
51+ for periodic transfers (up to 80% of the USB bandwidth).</entry>
52+ </row>
53+ <row>
54+ <entry>ENOSYS or EOPNOTSUPP</entry>
55+ <entry>Function not available for this device (dvb API only. Will likely
56+ be replaced anytime soon by ENOTTY).</entry>
57+ </row>
58+ <row>
59+ <entry>EPERM</entry>
60+ <entry>Permission denied. Can be returned if the device needs write
61+ permission, or some special capabilities is needed
62+ (e. g. root)</entry>
63+ </row>
64+ <row>
65+ <entry>EWOULDBLOCK</entry>
66+ <entry>Operation would block. Used when the ioctl would need to wait
67+ for an event, but the device was opened in non-blocking mode.</entry>
68+ </row>
69+ </tbody>
70+ </tgroup>
71+</table>
72+
73+<para>Note 1: ioctls may return other error codes. Since errors may have side
74+effects such as a driver reset, applications should abort on unexpected errors.
75+</para>
76+
77+<para>Note 2: Request-specific error codes are listed in the individual
78+requests descriptions.</para>
Documentation/DocBook/media/v4l/io.xmlrenamed from Documentation/DocBook/v4l/io.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/keytable.c.xmlrenamed from Documentation/DocBook/v4l/keytable.c.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/libv4l.xmlrenamed from Documentation/DocBook/v4l/libv4l.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/lirc_device_interface.xmlrenamed from Documentation/DocBook/v4l/lirc_device_interface.xml+3−1
@@ -246,6 +246,8 @@ on working with the default settings initially.</para> · 245 unmodified lines
246246 </listitem>
247247 </varlistentry>
248248 </variablelist>
249−
249+<section id="lirc_dev_errors">
250+ &return-value;
251+</section>
250252 </section>
251253 </section>
Documentation/DocBook/media/v4l/media-controller.xmlrenamed from Documentation/DocBook/v4l/media-controller.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/media-func-close.xmlrenamed from Documentation/DocBook/v4l/media-func-close.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/media-func-ioctl.xmlrenamed from Documentation/DocBook/v4l/media-func-ioctl.xml+2−45
@@ -63,54 +63,11 @@ · 62 unmodified lines
6363 </refsect1>
6464
6565 <refsect1>
66− <title>Return Value</title>
66+ &return-value;
6767
68− <para><function>ioctl()</function> returns <returnvalue>0</returnvalue> on
69− success. On failure, <returnvalue>-1</returnvalue> is returned, and the
70− <varname>errno</varname> variable is set appropriately. Generic error codes
71− are listed below, and request-specific error codes are listed in the
68+ <para>Request-specific error codes are listed in the
7269 individual requests descriptions.</para>
7370 <para>When an ioctl that takes an output or read/write parameter fails,
7471 the parameter remains unmodified.</para>
75−
76− <variablelist>
77− <varlistentry>
78− <term><errorcode>EBADF</errorcode></term>
79− <listitem>
80− <para><parameter>fd</parameter> is not a valid open file descriptor.
81− </para>
82− </listitem>
83− </varlistentry>
84− <varlistentry>
85− <term><errorcode>EFAULT</errorcode></term>
86− <listitem>
87− <para><parameter>argp</parameter> references an inaccessible memory
88− area.</para>
89− </listitem>
90− </varlistentry>
91− <varlistentry>
92− <term><errorcode>EINVAL</errorcode></term>
93− <listitem>
94− <para>The <parameter>request</parameter> or the data pointed to by
95− <parameter>argp</parameter> is not valid. This is a very common error
96− code, see the individual ioctl requests listed in
97− <xref linkend="media-user-func" /> for actual causes.</para>
98− </listitem>
99− </varlistentry>
100− <varlistentry>
101− <term><errorcode>ENOMEM</errorcode></term>
102− <listitem>
103− <para>Insufficient kernel memory was available to complete the
104− request.</para>
105− </listitem>
106− </varlistentry>
107− <varlistentry>
108− <term><errorcode>ENOTTY</errorcode></term>
109− <listitem>
110− <para><parameter>fd</parameter> is not associated with a character
111− special device.</para>
112− </listitem>
113− </varlistentry>
114− </variablelist>
11572 </refsect1>
11673 </refentry>
Documentation/DocBook/media/v4l/media-func-open.xmlrenamed from Documentation/DocBook/v4l/media-func-open.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/media-ioc-device-info.xmlrenamed from Documentation/DocBook/v4l/media-ioc-device-info.xml+1−2
@@ -127,7 +127,6 @@ · 126 unmodified lines
127127 </refsect1>
128128
129129 <refsect1>
130− <title>Return value</title>
131− <para>This function doesn't return specific error codes.</para>
130+ &return-value;
132131 </refsect1>
133132 </refentry>
Documentation/DocBook/media/v4l/media-ioc-enum-entities.xmlrenamed from Documentation/DocBook/v4l/media-ioc-enum-entities.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/media-ioc-enum-links.xmlrenamed from Documentation/DocBook/v4l/media-ioc-enum-links.xml+1−1
@@ -139,7 +139,7 @@ · 138 unmodified lines
139139 </table>
140140
141141 <table pgwide="1" frame="none" id="media-link-desc">
142− <title>struct <structname>media_links_desc</structname></title>
142+ <title>struct <structname>media_link_desc</structname></title>
143143 <tgroup cols="3">
144144 &cs-str;
145145 <tbody valign="top">
Documentation/DocBook/media/v4l/media-ioc-setup-link.xmlrenamed from Documentation/DocBook/v4l/media-ioc-setup-link.xml+0−9
@@ -71,15 +71,6 @@ · 70 unmodified lines
7171 &return-value;
7272
7373 <variablelist>
74− <varlistentry>
75− <term><errorcode>EBUSY</errorcode></term>
76− <listitem>
77− <para>The link properties can't be changed because the link is
78− currently busy. This can be caused, for instance, by an active media
79− stream (audio or video) on the link. The ioctl shouldn't be retried if
80− no other action is performed before to fix the problem.</para>
81− </listitem>
82− </varlistentry>
8374 <varlistentry>
8475 <term><errorcode>EINVAL</errorcode></term>
8576 <listitem>
Documentation/DocBook/media/v4l/pipeline.pdfrenamed from Documentation/DocBook/v4l/pipeline.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-grey.xmlrenamed from Documentation/DocBook/v4l/pixfmt-grey.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-m420.xmlrenamed from Documentation/DocBook/v4l/pixfmt-m420.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-nv12.xmlrenamed from Documentation/DocBook/v4l/pixfmt-nv12.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-nv12m.xmlrenamed from Documentation/DocBook/v4l/pixfmt-nv12m.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-nv12mt.xmlrenamed from Documentation/DocBook/v4l/pixfmt-nv12mt.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-nv16.xmlrenamed from Documentation/DocBook/v4l/pixfmt-nv16.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xmlrenamed from Documentation/DocBook/v4l/pixfmt-packed-rgb.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xmlrenamed from Documentation/DocBook/v4l/pixfmt-packed-yuv.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-sbggr16.xmlrenamed from Documentation/DocBook/v4l/pixfmt-sbggr16.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-sbggr8.xmlrenamed from Documentation/DocBook/v4l/pixfmt-sbggr8.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xmlrenamed from Documentation/DocBook/v4l/pixfmt-sgbrg8.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xmlrenamed from Documentation/DocBook/v4l/pixfmt-sgrbg8.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-srggb10.xmlrenamed from Documentation/DocBook/v4l/pixfmt-srggb10.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-srggb12.xmlrenamed from Documentation/DocBook/v4l/pixfmt-srggb12.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-srggb8.xmlrenamed from Documentation/DocBook/v4l/pixfmt-srggb8.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-uyvy.xmlrenamed from Documentation/DocBook/v4l/pixfmt-uyvy.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-vyuy.xmlrenamed from Documentation/DocBook/v4l/pixfmt-vyuy.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-y10.xmlrenamed from Documentation/DocBook/v4l/pixfmt-y10.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-y10b.xmlrenamed from Documentation/DocBook/v4l/pixfmt-y10b.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-y12.xmlrenamed from Documentation/DocBook/v4l/pixfmt-y12.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-y16.xmlrenamed from Documentation/DocBook/v4l/pixfmt-y16.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-y41p.xmlrenamed from Documentation/DocBook/v4l/pixfmt-y41p.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuv410.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuv410.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuv411p.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuv411p.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuv420.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuv420.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuv420m.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuv420m.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuv422p.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuv422p.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yuyv.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yuyv.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt-yvyu.xmlrenamed from Documentation/DocBook/v4l/pixfmt-yvyu.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/pixfmt.xmlrenamed from Documentation/DocBook/v4l/pixfmt.xml+58−2
@@ -121,7 +121,7 @@ set this field to zero.</entry> · 120 unmodified lines
121121 an array of <structname>v4l2_plane_pix_format</structname> structures,
122122 describing all planes of that format.</para>
123123 <table pgwide="1" frame="none" id="v4l2-plane-pix-format">
124− <title>struct <structname>vl42_plane_pix_format</structname></title>
124+ <title>struct <structname>v4l2_plane_pix_format</structname></title>
125125 <tgroup cols="3">
126126 &cs-str;
127127 <tbody valign="top">
@@ -741,10 +741,55 @@ information.</para> · 613 unmodified lines
741741 <row id="V4L2-PIX-FMT-MPEG">
742742 <entry><constant>V4L2_PIX_FMT_MPEG</constant></entry>
743743 <entry>'MPEG'</entry>
744− <entry>MPEG stream. The actual format is determined by
744+ <entry>MPEG multiplexed stream. The actual format is determined by
745745 extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see
746746 <xref linkend="mpeg-control-id" />.</entry>
747747 </row>
748+ <row id="V4L2-PIX-FMT-H264">
749+ <entry><constant>V4L2_PIX_FMT_H264</constant></entry>
750+ <entry>'H264'</entry>
751+ <entry>H264 video elementary stream with start codes.</entry>
752+ </row>
753+ <row id="V4L2-PIX-FMT-H264-NO-SC">
754+ <entry><constant>V4L2_PIX_FMT_H264_NO_SC</constant></entry>
755+ <entry>'AVC1'</entry>
756+ <entry>H264 video elementary stream without start codes.</entry>
757+ </row>
758+ <row id="V4L2-PIX-FMT-H263">
759+ <entry><constant>V4L2_PIX_FMT_H263</constant></entry>
760+ <entry>'H263'</entry>
761+ <entry>H263 video elementary stream.</entry>
762+ </row>
763+ <row id="V4L2-PIX-FMT-MPEG1">
764+ <entry><constant>V4L2_PIX_FMT_MPEG1</constant></entry>
765+ <entry>'MPG1'</entry>
766+ <entry>MPEG1 video elementary stream.</entry>
767+ </row>
768+ <row id="V4L2-PIX-FMT-MPEG2">
769+ <entry><constant>V4L2_PIX_FMT_MPEG2</constant></entry>
770+ <entry>'MPG2'</entry>
771+ <entry>MPEG2 video elementary stream.</entry>
772+ </row>
773+ <row id="V4L2-PIX-FMT-MPEG4">
774+ <entry><constant>V4L2_PIX_FMT_MPEG4</constant></entry>
775+ <entry>'MPG4'</entry>
776+ <entry>MPEG4 video elementary stream.</entry>
777+ </row>
778+ <row id="V4L2-PIX-FMT-XVID">
779+ <entry><constant>V4L2_PIX_FMT_XVID</constant></entry>
780+ <entry>'XVID'</entry>
781+ <entry>Xvid video elementary stream.</entry>
782+ </row>
783+ <row id="V4L2-PIX-FMT-VC1-ANNEX-G">
784+ <entry><constant>V4L2_PIX_FMT_VC1_ANNEX_G</constant></entry>
785+ <entry>'VC1G'</entry>
786+ <entry>VC1, SMPTE 421M Annex G compliant stream.</entry>
787+ </row>
788+ <row id="V4L2-PIX-FMT-VC1-ANNEX-L">
789+ <entry><constant>V4L2_PIX_FMT_VC1_ANNEX_L</constant></entry>
790+ <entry>'VC1L'</entry>
791+ <entry>VC1, SMPTE 421M Annex L compliant stream.</entry>
792+ </row>
748793 </tbody>
749794 </tgroup>
750795 </table>
@@ -804,6 +849,12 @@ kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm · 53 unmodified lines
804849 <entry>'CPIA'</entry>
805850 <entry>YUV format used by the gspca cpia1 driver.</entry>
806851 </row>
852+ <row id="V4L2-PIX-FMT-JPGL">
853+ <entry><constant>V4L2_PIX_FMT_JPGL</constant></entry>
854+ <entry>'JPGL'</entry>
855+ <entry>JPEG-Light format (Pegasus Lossless JPEG)
856+ used in Divio webcams NW 80x.</entry>
857+ </row>
807858 <row id="V4L2-PIX-FMT-SPCA501">
808859 <entry><constant>V4L2_PIX_FMT_SPCA501</constant></entry>
809860 <entry>'S501'</entry>
@@ -854,6 +905,11 @@ kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm · 44 unmodified lines
854905 <entry>'PJPG'</entry>
855906 <entry>Pixart 73xx JPEG format used by the gspca driver.</entry>
856907 </row>
908+ <row id="V4L2-PIX-FMT-SE401">
909+ <entry><constant>V4L2_PIX_FMT_SE401</constant></entry>
910+ <entry>'S401'</entry>
911+ <entry>Compressed RGB format used by the gspca se401 driver</entry>
912+ </row>
857913 <row id="V4L2-PIX-FMT-SQ905C">
858914 <entry><constant>V4L2_PIX_FMT_SQ905C</constant></entry>
859915 <entry>'905C'</entry>
Documentation/DocBook/media/v4l/planar-apis.xmlrenamed from Documentation/DocBook/v4l/planar-apis.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/remote_controllers.xmlrenamed from Documentation/DocBook/v4l/remote_controllers.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/subdev-formats.xmlrenamed from Documentation/DocBook/v4l/subdev-formats.xml+1−4
@@ -379,9 +379,6 @@ · 378 unmodified lines
379379 <figure id="bayer-patterns">
380380 <title>Bayer Patterns</title>
381381 <mediaobject>
382− <imageobject>
383− <imagedata fileref="bayer.pdf" format="PS" />
384− </imageobject>
385382 <imageobject>
386383 <imagedata fileref="bayer.png" format="PNG" />
387384 </imageobject>
@@ -2528,7 +2525,7 @@ · 2140 unmodified lines
25282525
25292526 <para>Those data formats consist of an ordered sequence of 8-bit bytes
25302527 obtained from JPEG compression process. Additionally to the
2531− <constant>_JPEG</constant> prefix the format code is made of
2528+ <constant>_JPEG</constant> postfix the format code is made of
25322529 the following information.
25332530 <itemizedlist>
25342531 <listitem><para>The number of bus samples per entropy encoded byte.</para></listitem>
Documentation/DocBook/media/v4l/v4l2.xmlrenamed from Documentation/DocBook/v4l/v4l2.xml+11−2
@@ -87,7 +87,7 @@ Remote Controller chapter.</contrib> · 86 unmodified lines
8787 </author>
8888
8989 <author>
90− <firstname>Pawel</firstname>
90+ <firstname>Pawel</firstname>
9191 <surname>Osciak</surname>
9292 <contrib>Designed and documented the multi-planar API.</contrib>
9393 <affiliation>
@@ -127,6 +127,15 @@ structs, ioctls) must be noted in more detail in the history chapter · 33 unmodified lines
127127 (compat.xml), along with the possible impact on existing drivers and
128128 applications. -->
129129
130+ <revision>
131+ <revnumber>3.1</revnumber>
132+ <date>2011-06-27</date>
133+ <authorinitials>mcc, po, hv</authorinitials>
134+ <revremark>Documented that VIDIOC_QUERYCAP now returns a per-subsystem version instead of a per-driver one.
135+ Standardize an error code for invalid ioctl.
136+ Added V4L2_CTRL_TYPE_BITMASK.</revremark>
137+ </revision>
138+
130139 <revision>
131140 <revnumber>2.6.39</revnumber>
132141 <date>2011-03-01</date>
@@ -401,7 +410,7 @@ and discussions on the V4L mailing list.</revremark> · 268 unmodified lines
401410 </partinfo>
402411
403412 <title>Video for Linux Two API Specification</title>
404− <subtitle>Revision 2.6.39</subtitle>
413+ <subtitle>Revision 3.1</subtitle>
405414
406415 <chapter id="common">
407416 &sub-common;
Documentation/DocBook/media/v4l/v4l2grab.c.xmlrenamed from Documentation/DocBook/v4l/v4l2grab.c.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vbi_525.pdfrenamed from Documentation/DocBook/v4l/vbi_525.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vbi_625.pdfrenamed from Documentation/DocBook/v4l/vbi_625.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vbi_hsync.pdfrenamed from Documentation/DocBook/v4l/vbi_hsync.pdf+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-cropcap.xmlrenamed from Documentation/DocBook/v4l/vidioc-cropcap.xml+2−11
@@ -156,19 +156,10 @@ on 22 Oct 2002 subject "Re:[V4L][patches!] Re:v4l2/kernel-2.5" --> · 155 unmodified lines
156156 <term><errorcode>EINVAL</errorcode></term>
157157 <listitem>
158158 <para>The &v4l2-cropcap; <structfield>type</structfield> is
159−invalid or the ioctl is not supported. This is not permitted for
160−video capture, output and overlay devices, which must support
161−<constant>VIDIOC_CROPCAP</constant>.</para>
159+invalid. This is not permitted for video capture, output and overlay devices,
160+which must support <constant>VIDIOC_CROPCAP</constant>.</para>
162161 </listitem>
163162 </varlistentry>
164163 </variablelist>
165164 </refsect1>
166165 </refentry>
167−
168−<!--
169−Local Variables:
170−mode: sgml
171−sgml-parent-document: "v4l2.sgml"
172−indent-tabs-mode: nil
173−End:
174−-->
Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-ident.xmlrenamed from Documentation/DocBook/v4l/vidioc-dbg-g-chip-ident.xml+1−10
@@ -258,18 +258,9 @@ could not identify it.</entry> · 257 unmodified lines
258258 <varlistentry>
259259 <term><errorcode>EINVAL</errorcode></term>
260260 <listitem>
261− <para>The driver does not support this ioctl, or the
262−<structfield>match_type</structfield> is invalid.</para>
261+ <para>The <structfield>match_type</structfield> is invalid.</para>
263262 </listitem>
264263 </varlistentry>
265264 </variablelist>
266265 </refsect1>
267266 </refentry>
268−
269−<!--
270−Local Variables:
271−mode: sgml
272−sgml-parent-document: "v4l2.sgml"
273−indent-tabs-mode: nil
274−End:
275−-->
Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xmlrenamed from Documentation/DocBook/v4l/vidioc-dbg-g-register.xml+0−17
@@ -246,15 +246,6 @@ register.</entry> · 245 unmodified lines
246246 &return-value;
247247
248248 <variablelist>
249− <varlistentry>
250− <term><errorcode>EINVAL</errorcode></term>
251− <listitem>
252− <para>The driver does not support this ioctl, or the kernel
253−was not compiled with the <constant>CONFIG_VIDEO_ADV_DEBUG</constant>
254−option, or the <structfield>match_type</structfield> is invalid, or the
255−selected chip or register does not exist.</para>
256− </listitem>
257− </varlistentry>
258249 <varlistentry>
259250 <term><errorcode>EPERM</errorcode></term>
260251 <listitem>
@@ -265,11 +256,3 @@ to execute these ioctls.</para> · 4 unmodified lines
265256 </variablelist>
266257 </refsect1>
267258 </refentry>
268−
269−<!--
270−Local Variables:
271−mode: sgml
272−sgml-parent-document: "v4l2.sgml"
273−indent-tabs-mode: nil
274−End:
275−-->
Documentation/DocBook/media/v4l/vidioc-dqevent.xmlrenamed from Documentation/DocBook/v4l/vidioc-dqevent.xml+19−8
@@ -79,6 +79,13 @@ · 78 unmodified lines
7979 <entry>Event data for event V4L2_EVENT_VSYNC.
8080 </entry>
8181 </row>
82+ <row>
83+ <entry></entry>
84+ <entry>&v4l2-event-ctrl;</entry>
85+ <entry><structfield>ctrl</structfield></entry>
86+ <entry>Event data for event V4L2_EVENT_CTRL.
87+ </entry>
88+ </row>
8289 <row>
8390 <entry></entry>
8491 <entry>__u8</entry>
@@ -109,9 +116,17 @@ · 24 unmodified lines
109116 <entry></entry>
110117 <entry>Event timestamp.</entry>
111118 </row>
119+ <row>
120+ <entry>u32</entry>
121+ <entry><structfield>id</structfield></entry>
122+ <entry></entry>
123+ <entry>The ID associated with the event source. If the event does not
124+ have an associated ID (this depends on the event type), then this
125+ is 0.</entry>
126+ </row>
112127 <row>
113128 <entry>__u32</entry>
114− <entry><structfield>reserved</structfield>[9]</entry>
129+ <entry><structfield>reserved</structfield>[8]</entry>
115130 <entry></entry>
116131 <entry>Reserved for future extensions. Drivers must set
117132 the array to zero.</entry>
@@ -121,11 +136,7 @@ · 3 unmodified lines
121136 </table>
122137
123138 </refsect1>
139+ <refsect1>
140+ &return-value;
141+ </refsect1>
124142 </refentry>
125−<!--
126−Local Variables:
127−mode: sgml
128−sgml-parent-document: "v4l2.sgml"
129−indent-tabs-mode: nil
130−End:
131−-->
Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xmlrenamed from Documentation/DocBook/v4l/vidioc-encoder-cmd.xml+1−10
@@ -180,8 +180,7 @@ Pictures</wordasword>, rather than immediately.</entry> · 179 unmodified lines
180180 <varlistentry>
181181 <term><errorcode>EINVAL</errorcode></term>
182182 <listitem>
183− <para>The driver does not support this ioctl, or the
184−<structfield>cmd</structfield> field is invalid.</para>
183+ <para>The <structfield>cmd</structfield> field is invalid.</para>
185184 </listitem>
186185 </varlistentry>
187186 <varlistentry>
@@ -194,11 +193,3 @@ the encoder was not running.</para> · 6 unmodified lines
194193 </variablelist>
195194 </refsect1>
196195 </refentry>
197−
198−<!--
199−Local Variables:
200−mode: sgml
201−sgml-parent-document: "v4l2.sgml"
202−indent-tabs-mode: nil
203−End:
204−-->
Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xmlrenamed from Documentation/DocBook/v4l/vidioc-enum-dv-presets.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-enum-fmt.xmlrenamed from Documentation/DocBook/v4l/vidioc-enum-fmt.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-enum-frameintervals.xmlrenamed from Documentation/DocBook/v4l/vidioc-enum-frameintervals.xml+0−11
@@ -254,17 +254,6 @@ enumerated.</entry> · 253 unmodified lines
254254
255255 <refsect1>
256256 &return-value;
257−
258− <para>See the description section above for a list of return
259−values that <varname>errno</varname> can have.</para>
260257 </refsect1>
261258
262259 </refentry>
263−
264−<!--
265−Local Variables:
266−mode: sgml
267−sgml-parent-document: "v4l2.sgml"
268−indent-tabs-mode: nil
269−End:
270−-->
Documentation/DocBook/media/v4l/vidioc-enum-framesizes.xmlrenamed from Documentation/DocBook/v4l/vidioc-enum-framesizes.xml+0−11
@@ -267,16 +267,5 @@ application should zero out all members except for the · 266 unmodified lines
267267
268268 <refsect1>
269269 &return-value;
270−
271− <para>See the description section above for a list of return
272−values that <varname>errno</varname> can have.</para>
273270 </refsect1>
274271 </refentry>
275−
276−<!--
277−Local Variables:
278−mode: sgml
279−sgml-parent-document: "v4l2.sgml"
280−indent-tabs-mode: nil
281−End:
282−-->
Documentation/DocBook/media/v4l/vidioc-enumaudio.xmlrenamed from Documentation/DocBook/v4l/vidioc-enumaudio.xml+1−11
@@ -68,19 +68,9 @@ until the driver returns <errorcode>EINVAL</errorcode>.</para> · 67 unmodified lines
6868 <varlistentry>
6969 <term><errorcode>EINVAL</errorcode></term>
7070 <listitem>
71− <para>The number of the audio input is out of bounds, or
72−there are no audio inputs at all and this ioctl is not
73−supported.</para>
71+ <para>The number of the audio input is out of bounds.</para>
7472 </listitem>
7573 </varlistentry>
7674 </variablelist>
7775 </refsect1>
7876 </refentry>
79−
80−<!--
81−Local Variables:
82−mode: sgml
83−sgml-parent-document: "v4l2.sgml"
84−indent-tabs-mode: nil
85−End:
86−-->
Documentation/DocBook/media/v4l/vidioc-enumaudioout.xmlrenamed from Documentation/DocBook/v4l/vidioc-enumaudioout.xml+1−11
@@ -71,19 +71,9 @@ signal to a sound card are not audio outputs in this sense.</para> · 70 unmodified lines
7171 <varlistentry>
7272 <term><errorcode>EINVAL</errorcode></term>
7373 <listitem>
74− <para>The number of the audio output is out of bounds, or
75−there are no audio outputs at all and this ioctl is not
76−supported.</para>
74+ <para>The number of the audio output is out of bounds.</para>
7775 </listitem>
7876 </varlistentry>
7977 </variablelist>
8078 </refsect1>
8179 </refentry>
82−
83−<!--
84−Local Variables:
85−mode: sgml
86−sgml-parent-document: "v4l2.sgml"
87−indent-tabs-mode: nil
88−End:
89−-->
Documentation/DocBook/media/v4l/vidioc-enuminput.xmlrenamed from Documentation/DocBook/v4l/vidioc-enuminput.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-enumoutput.xmlrenamed from Documentation/DocBook/v4l/vidioc-enumoutput.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-enumstd.xmlrenamed from Documentation/DocBook/v4l/vidioc-enumstd.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-g-audio.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-audio.xml+1−17
@@ -164,25 +164,9 @@ tuner.</entry> · 163 unmodified lines
164164 <listitem>
165165 <para>No audio inputs combine with the current video input,
166166 or the number of the selected audio input is out of bounds or it does
167−not combine, or there are no audio inputs at all and the ioctl is not
168−supported.</para>
169− </listitem>
170− </varlistentry>
171− <varlistentry>
172− <term><errorcode>EBUSY</errorcode></term>
173− <listitem>
174− <para>I/O is in progress, the input cannot be
175−switched.</para>
167+not combine.</para>
176168 </listitem>
177169 </varlistentry>
178170 </variablelist>
179171 </refsect1>
180172 </refentry>
181−
182−<!--
183−Local Variables:
184−mode: sgml
185−sgml-parent-document: "v4l2.sgml"
186−indent-tabs-mode: nil
187−End:
188−-->
Documentation/DocBook/media/v4l/vidioc-g-audioout.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-audioout.xml+1−17
@@ -130,25 +130,9 @@ applications must set the array to zero.</entry> · 129 unmodified lines
130130 <listitem>
131131 <para>No audio outputs combine with the current video
132132 output, or the number of the selected audio output is out of bounds or
133−it does not combine, or there are no audio outputs at all and the
134−ioctl is not supported.</para>
135− </listitem>
136− </varlistentry>
137− <varlistentry>
138− <term><errorcode>EBUSY</errorcode></term>
139− <listitem>
140− <para>I/O is in progress, the output cannot be
141−switched.</para>
133+it does not combine.</para>
142134 </listitem>
143135 </varlistentry>
144136 </variablelist>
145137 </refsect1>
146138 </refentry>
147−
148−<!--
149−Local Variables:
150−mode: sgml
151−sgml-parent-document: "v4l2.sgml"
152−indent-tabs-mode: nil
153−End:
154−-->
Documentation/DocBook/media/v4l/vidioc-g-crop.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-crop.xml+0−17
@@ -122,22 +122,5 @@ for &v4l2-cropcap; <structfield>bounds</structfield> is used.</entry> · 121 unmodified lines
122122
123123 <refsect1>
124124 &return-value;
125−
126− <variablelist>
127− <varlistentry>
128− <term><errorcode>EINVAL</errorcode></term>
129− <listitem>
130− <para>Cropping is not supported.</para>
131− </listitem>
132− </varlistentry>
133− </variablelist>
134125 </refsect1>
135126 </refentry>
136−
137−<!--
138−Local Variables:
139−mode: sgml
140−sgml-parent-document: "v4l2.sgml"
141−indent-tabs-mode: nil
142−End:
143−-->
Documentation/DocBook/media/v4l/vidioc-g-ctrl.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-ctrl.xml+7−0
@@ -117,6 +117,13 @@ because another applications took over control of the device function · 116 unmodified lines
117117 this control belongs to.</para>
118118 </listitem>
119119 </varlistentry>
120+ <varlistentry>
121+ <term><errorcode>EACCES</errorcode></term>
122+ <listitem>
123+ <para>Attempt to set a read-only control or to get a
124+ write-only control.</para>
125+ </listitem>
126+ </varlistentry>
120127 </variablelist>
121128 </refsect1>
122129 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-dv-preset.xml+3−9
@@ -97,14 +97,8 @@ If the preset is not supported, it returns an &EINVAL; </para> · 96 unmodified lines
9797 </tbody>
9898 </tgroup>
9999 </table>
100−
100+ </refsect1>
101+ <refsect1>
102+ &return-value;
101103 </refsect1>
102104 </refentry>
103−
104−<!--
105−Local Variables:
106−mode: sgml
107−sgml-parent-document: "v4l2.sgml"
108−indent-tabs-mode: nil
109−End:
110−-->
Documentation/DocBook/media/v4l/vidioc-g-dv-timings.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-dv-timings.xml+3−8
@@ -212,12 +212,7 @@ bit 0 (V4L2_DV_VSYNC_POS_POL) is for vertical sync polarity and bit 1 (V4L2_DV_H · 211 unmodified lines
212212 </tgroup>
213213 </table>
214214 </refsect1>
215+ <refsect1>
216+ &return-value;
217+ </refsect1>
215218 </refentry>
216−
217−<!--
218−Local Variables:
219−mode: sgml
220−sgml-parent-document: "v4l2.sgml"
221−indent-tabs-mode: nil
222−End:
223−-->
Documentation/DocBook/media/v4l/vidioc-g-enc-index.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-enc-index.xml+0−17
@@ -192,22 +192,5 @@ this mask to obtain the picture coding type.</entry> · 191 unmodified lines
192192
193193 <refsect1>
194194 &return-value;
195−
196− <variablelist>
197− <varlistentry>
198− <term><errorcode>EINVAL</errorcode></term>
199− <listitem>
200− <para>The driver does not support this ioctl.</para>
201− </listitem>
202− </varlistentry>
203− </variablelist>
204195 </refsect1>
205196 </refentry>
206−
207−<!--
208−Local Variables:
209−mode: sgml
210−sgml-parent-document: "v4l2.sgml"
211−indent-tabs-mode: nil
212−End:
213−-->
Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-ext-ctrls.xml+14−0
@@ -250,6 +250,13 @@ These controls are described in <xref · 249 unmodified lines
250250 These controls are described in <xref
251251 linkend="fm-tx-controls" />.</entry>
252252 </row>
253+ <row>
254+ <entry><constant>V4L2_CTRL_CLASS_FLASH</constant></entry>
255+ <entry>0x9c0000</entry>
256+ <entry>The class containing flash device controls.
257+These controls are described in <xref
258+ linkend="flash-controls" />.</entry>
259+ </row>
253260 </tbody>
254261 </tgroup>
255262 </table>
@@ -294,6 +301,13 @@ The field <structfield>size</structfield> is set to a value that is enough · 38 unmodified lines
294301 to store the payload and this error code is returned.</para>
295302 </listitem>
296303 </varlistentry>
304+ <varlistentry>
305+ <term><errorcode>EACCES</errorcode></term>
306+ <listitem>
307+ <para>Attempt to try or set a read-only control or to get a
308+ write-only control.</para>
309+ </listitem>
310+ </varlistentry>
297311 </variablelist>
298312 </refsect1>
299313 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-fbuf.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-fbuf.xml+1−18
@@ -445,29 +445,12 @@ by a privileged user to negotiate the parameters for a destructive · 444 unmodified lines
445445 overlay.</para>
446446 </listitem>
447447 </varlistentry>
448− <varlistentry>
449− <term><errorcode>EBUSY</errorcode></term>
450− <listitem>
451− <para>The framebuffer parameters cannot be changed at this
452−time because overlay is already enabled, or capturing is enabled
453−and the hardware cannot capture and overlay simultaneously.</para>
454− </listitem>
455− </varlistentry>
456448 <varlistentry>
457449 <term><errorcode>EINVAL</errorcode></term>
458450 <listitem>
459− <para>The ioctl is not supported or the
460−<constant>VIDIOC_S_FBUF</constant> parameters are unsuitable.</para>
451+ <para>The <constant>VIDIOC_S_FBUF</constant> parameters are unsuitable.</para>
461452 </listitem>
462453 </varlistentry>
463454 </variablelist>
464455 </refsect1>
465456 </refentry>
466−
467−<!--
468−Local Variables:
469−mode: sgml
470−sgml-parent-document: "v4l2.sgml"
471−indent-tabs-mode: nil
472−End:
473−-->
Documentation/DocBook/media/v4l/vidioc-g-fmt.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-fmt.xml+2−18
@@ -183,30 +183,14 @@ capture and output devices.</entry> · 182 unmodified lines
183183 &return-value;
184184
185185 <variablelist>
186− <varlistentry>
187− <term><errorcode>EBUSY</errorcode></term>
188− <listitem>
189− <para>The data format cannot be changed at this
190−time, for example because I/O is already in progress.</para>
191− </listitem>
192− </varlistentry>
193186 <varlistentry>
194187 <term><errorcode>EINVAL</errorcode></term>
195188 <listitem>
196189 <para>The &v4l2-format; <structfield>type</structfield>
197−field is invalid, the requested buffer type not supported, or
198−<constant>VIDIOC_TRY_FMT</constant> was called and is not
199−supported with this buffer type.</para>
190+field is invalid, the requested buffer type not supported, or the
191+format is not supported with this buffer type.</para>
200192 </listitem>
201193 </varlistentry>
202194 </variablelist>
203195 </refsect1>
204196 </refentry>
205−
206−<!--
207−Local Variables:
208−mode: sgml
209−sgml-parent-document: "v4l2.sgml"
210−indent-tabs-mode: nil
211−End:
212−-->
Documentation/DocBook/media/v4l/vidioc-g-frequency.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-frequency.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-g-input.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-input.xml+1−18
@@ -75,26 +75,9 @@ querying or negotiating any other parameters.</para> · 74 unmodified lines
7575 <varlistentry>
7676 <term><errorcode>EINVAL</errorcode></term>
7777 <listitem>
78− <para>The number of the video input is out of bounds, or
79−there are no video inputs at all and this ioctl is not
80−supported.</para>
81− </listitem>
82− </varlistentry>
83− <varlistentry>
84− <term><errorcode>EBUSY</errorcode></term>
85− <listitem>
86− <para>I/O is in progress, the input cannot be
87−switched.</para>
78+ <para>The number of the video input is out of bounds.</para>
8879 </listitem>
8980 </varlistentry>
9081 </variablelist>
9182 </refsect1>
9283 </refentry>
93−
94−<!--
95−Local Variables:
96−mode: sgml
97−sgml-parent-document: "v4l2.sgml"
98−indent-tabs-mode: nil
99−End:
100−-->
Documentation/DocBook/media/v4l/vidioc-g-jpegcomp.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-jpegcomp.xml+0−17
@@ -159,22 +159,5 @@ to add them.</para> · 158 unmodified lines
159159
160160 <refsect1>
161161 &return-value;
162−
163− <variablelist>
164− <varlistentry>
165− <term><errorcode>EINVAL</errorcode></term>
166− <listitem>
167− <para>This ioctl is not supported.</para>
168− </listitem>
169− </varlistentry>
170− </variablelist>
171162 </refsect1>
172163 </refentry>
173−
174−<!--
175−Local Variables:
176−mode: sgml
177−sgml-parent-document: "v4l2.sgml"
178−indent-tabs-mode: nil
179−End:
180−-->
Documentation/DocBook/media/v4l/vidioc-g-modulator.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-modulator.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-g-output.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-output.xml+1−17
@@ -76,25 +76,9 @@ negotiating any other parameters.</para> · 75 unmodified lines
7676 <term><errorcode>EINVAL</errorcode></term>
7777 <listitem>
7878 <para>The number of the video output is out of bounds, or
79−there are no video outputs at all and this ioctl is not
80−supported.</para>
81− </listitem>
82− </varlistentry>
83− <varlistentry>
84− <term><errorcode>EBUSY</errorcode></term>
85− <listitem>
86− <para>I/O is in progress, the output cannot be
87−switched.</para>
79+there are no video outputs at all.</para>
8880 </listitem>
8981 </varlistentry>
9082 </variablelist>
9183 </refsect1>
9284 </refentry>
93−
94−<!--
95−Local Variables:
96−mode: sgml
97−sgml-parent-document: "v4l2.sgml"
98−indent-tabs-mode: nil
99−End:
100−-->
Documentation/DocBook/media/v4l/vidioc-g-parm.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-parm.xml+0−17
@@ -311,22 +311,5 @@ excessive motion blur. </para> · 310 unmodified lines
311311
312312 <refsect1>
313313 &return-value;
314−
315− <variablelist>
316− <varlistentry>
317− <term><errorcode>EINVAL</errorcode></term>
318− <listitem>
319− <para>This ioctl is not supported.</para>
320− </listitem>
321− </varlistentry>
322− </variablelist>
323314 </refsect1>
324315 </refentry>
325−
326−<!--
327−Local Variables:
328−mode: sgml
329−sgml-parent-document: "v4l2.sgml"
330−indent-tabs-mode: nil
331−End:
332−-->
Documentation/DocBook/media/v4l/vidioc-g-priority.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-priority.xml+1−2
@@ -120,8 +120,7 @@ recording.</entry> · 119 unmodified lines
120120 <varlistentry>
121121 <term><errorcode>EINVAL</errorcode></term>
122122 <listitem>
123− <para>The requested priority value is invalid, or the
124−driver does not support access priorities.</para>
123+ <para>The requested priority value is invalid.</para>
125124 </listitem>
126125 </varlistentry>
127126 <varlistentry>
Documentation/DocBook/media/v4l/vidioc-g-sliced-vbi-cap.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-sliced-vbi-cap.xml+1−10
@@ -246,19 +246,10 @@ line systems.</entry> · 245 unmodified lines
246246 <varlistentry>
247247 <term><errorcode>EINVAL</errorcode></term>
248248 <listitem>
249− <para>The device does not support sliced VBI capturing or
250−output, or the value in the <structfield>type</structfield> field is
249+ <para>The value in the <structfield>type</structfield> field is
251250 wrong.</para>
252251 </listitem>
253252 </varlistentry>
254253 </variablelist>
255254 </refsect1>
256255 </refentry>
257−
258−<!--
259−Local Variables:
260−mode: sgml
261−sgml-parent-document: "v4l2.sgml"
262−indent-tabs-mode: nil
263−End:
264−-->
Documentation/DocBook/media/v4l/vidioc-g-std.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-std.xml+1−8
@@ -82,14 +82,7 @@ standards.</para> · 81 unmodified lines
8282 <varlistentry>
8383 <term><errorcode>EINVAL</errorcode></term>
8484 <listitem>
85− <para>This ioctl is not supported, or the
86−<constant>VIDIOC_S_STD</constant> parameter was unsuitable.</para>
87− </listitem>
88− </varlistentry>
89− <varlistentry>
90− <term><errorcode>EBUSY</errorcode></term>
91− <listitem>
92− <para>The device is busy and therefore can not change the standard</para>
85+ <para>The <constant>VIDIOC_S_STD</constant> parameter was unsuitable.</para>
9386 </listitem>
9487 </varlistentry>
9588 </variablelist>
Documentation/DocBook/media/v4l/vidioc-g-tuner.xmlrenamed from Documentation/DocBook/v4l/vidioc-g-tuner.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-log-status.xmlrenamed from Documentation/DocBook/v4l/vidioc-log-status.xml+0−17
@@ -37,22 +37,5 @@ was introduced in Linux 2.6.15.</para> · 36 unmodified lines
3737
3838 <refsect1>
3939 &return-value;
40−
41− <variablelist>
42− <varlistentry>
43− <term><errorcode>EINVAL</errorcode></term>
44− <listitem>
45− <para>The driver does not support this ioctl.</para>
46− </listitem>
47− </varlistentry>
48− </variablelist>
4940 </refsect1>
5041 </refentry>
51−
52−<!--
53−Local Variables:
54−mode: sgml
55−sgml-parent-document: "v4l2.sgml"
56−indent-tabs-mode: nil
57−End:
58−-->
Documentation/DocBook/media/v4l/vidioc-overlay.xmlrenamed from Documentation/DocBook/v4l/vidioc-overlay.xml+1−10
@@ -65,19 +65,10 @@ · 64 unmodified lines
6565 <varlistentry>
6666 <term><errorcode>EINVAL</errorcode></term>
6767 <listitem>
68− <para>Video overlay is not supported, or the
69−parameters have not been set up. See <xref
68+ <para>The overlay parameters have not been set up. See <xref
7069 linkend="overlay" /> for the necessary steps.</para>
7170 </listitem>
7271 </varlistentry>
7372 </variablelist>
7473 </refsect1>
7574 </refentry>
76−
77−<!--
78−Local Variables:
79−mode: sgml
80−sgml-parent-document: "v4l2.sgml"
81−indent-tabs-mode: nil
82−End:
83−-->
Documentation/DocBook/media/v4l/vidioc-qbuf.xmlrenamed from Documentation/DocBook/v4l/vidioc-qbuf.xml+0−17
@@ -158,15 +158,6 @@ or no buffers have been allocated yet, or the · 157 unmodified lines
158158 <structfield>userptr</structfield> or
159159 <structfield>length</structfield> are invalid.</para>
160160 </listitem>
161− </varlistentry>
162− <varlistentry>
163− <term><errorcode>ENOMEM</errorcode></term>
164− <listitem>
165− <para>Not enough physical or virtual memory was available to
166−enqueue a user pointer buffer.</para>
167− </listitem>
168− </varlistentry>
169− <varlistentry>
170161 <term><errorcode>EIO</errorcode></term>
171162 <listitem>
172163 <para><constant>VIDIOC_DQBUF</constant> failed due to an
@@ -184,11 +175,3 @@ continue streaming. · 11 unmodified lines
184175 </variablelist>
185176 </refsect1>
186177 </refentry>
187−
188−<!--
189−Local Variables:
190−mode: sgml
191−sgml-parent-document: "v4l2.sgml"
192−indent-tabs-mode: nil
193−End:
194−-->
Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xmlrenamed from Documentation/DocBook/v4l/vidioc-query-dv-preset.xml+0−22
@@ -61,27 +61,5 @@ returned.</para> · 60 unmodified lines
6161
6262 <refsect1>
6363 &return-value;
64− <variablelist>
65− <varlistentry>
66− <term><errorcode>EINVAL</errorcode></term>
67− <listitem>
68− <para>This ioctl is not supported.</para>
69− </listitem>
70− </varlistentry>
71− <varlistentry>
72− <term><errorcode>EBUSY</errorcode></term>
73− <listitem>
74− <para>The device is busy and therefore can not sense the preset</para>
75− </listitem>
76− </varlistentry>
77− </variablelist>
7864 </refsect1>
7965 </refentry>
80−
81−<!--
82−Local Variables:
83−mode: sgml
84−sgml-parent-document: "v4l2.sgml"
85−indent-tabs-mode: nil
86−End:
87−-->
Documentation/DocBook/media/v4l/vidioc-querybuf.xmlrenamed from Documentation/DocBook/v4l/vidioc-querybuf.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-querycap.xmlrenamed from Documentation/DocBook/v4l/vidioc-querycap.xml+9−25
@@ -67,9 +67,8 @@ driver is not compatible with this specification the ioctl returns an · 66 unmodified lines
6767 <entry><para>Name of the driver, a unique NUL-terminated
6868 ASCII string. For example: "bttv". Driver specific applications can
6969 use this information to verify the driver identity. It is also useful
70−to work around known bugs, or to identify drivers in error reports.
71−The driver version is stored in the <structfield>version</structfield>
72−field.</para><para>Storing strings in fixed sized arrays is bad
70+to work around known bugs, or to identify drivers in error reports.</para>
71+<para>Storing strings in fixed sized arrays is bad
7372 practice but unavoidable here. Drivers and applications should take
7473 precautions to never read or write beyond the end of the array and to
7574 make sure the strings are properly NUL-terminated.</para></entry>
@@ -100,9 +99,13 @@ empty string (<structfield>bus_info</structfield>[0] = 0).<!-- XXX pci_dev->slot · 24 unmodified lines
10099 <row>
101100 <entry>__u32</entry>
102101 <entry><structfield>version</structfield></entry>
103− <entry><para>Version number of the driver. Together with
104−the <structfield>driver</structfield> field this identifies a
105−particular driver. The version number is formatted using the
102+ <entry><para>Version number of the driver.</para>
103+<para>Starting on kernel 3.1, the version reported is provided per
104+V4L2 subsystem, following the same Kernel numberation scheme. However, it
105+should not always return the same version as the kernel, if, for example,
106+an stable or distribution-modified kernel uses the V4L2 stack from a
107+newer kernel.</para>
108+<para>The version number is formatted using the
106109 <constant>KERNEL_VERSION()</constant> macro:</para></entry>
107110 </row>
108111 <row>
@@ -280,24 +283,5 @@ linkend="mmap">streaming</link> I/O method.</entry> · 171 unmodified lines
280283
281284 <refsect1>
282285 &return-value;
283−
284− <variablelist>
285− <varlistentry>
286− <term><errorcode>EINVAL</errorcode></term>
287− <listitem>
288− <para>The device is not compatible with this
289−specification.</para>
290− </listitem>
291− </varlistentry>
292− </variablelist>
293286 </refsect1>
294287 </refentry>
295−
296−<!--
297−Local Variables:
298−mode: sgml
299−sgml-parent-document: "v4l2.sgml"
300−indent-tabs-mode: nil
301−End:
302−-->
303−
Documentation/DocBook/media/v4l/vidioc-queryctrl.xmlrenamed from Documentation/DocBook/v4l/vidioc-queryctrl.xml+11−1
@@ -156,7 +156,8 @@ signed value.</entry> · 155 unmodified lines
156156 <entry>Maximum value, inclusive. This field gives an upper
157157 bound for <constant>V4L2_CTRL_TYPE_INTEGER</constant> controls and the
158158 highest valid index for <constant>V4L2_CTRL_TYPE_MENU</constant>
159−controls.
159+controls. For <constant>V4L2_CTRL_TYPE_BITMASK</constant> controls it is the
160+set of usable bits.
160161 For <constant>V4L2_CTRL_TYPE_STRING</constant> controls the maximum value
161162 gives the maximum length of the string. This length <emphasis>does not include the terminating
162163 zero</emphasis>. It may not be valid for any other type of control, including
@@ -289,6 +290,15 @@ values which are actually different on the hardware.</entry> · 126 unmodified lines
289290 <entry>The control has a menu of N choices. The names of
290291 the menu items can be enumerated with the
291292 <constant>VIDIOC_QUERYMENU</constant> ioctl.</entry>
293+ </row>
294+ <row>
295+ <entry><constant>V4L2_CTRL_TYPE_BITMASK</constant></entry>
296+ <entry>0</entry>
297+ <entry>n/a</entry>
298+ <entry>any</entry>
299+ <entry>A bitmask field. The maximum value is the set of bits that can
300+be used, all other bits are to be 0. The maximum value is interpreted as a __u32,
301+allowing the use of bit 31 in the bitmask.</entry>
292302 </row>
293303 <row>
294304 <entry><constant>V4L2_CTRL_TYPE_BUTTON</constant></entry>
Documentation/DocBook/media/v4l/vidioc-querystd.xmlrenamed from Documentation/DocBook/v4l/vidioc-querystd.xml+0−23
@@ -62,28 +62,5 @@ current video input or output.</para> · 61 unmodified lines
6262
6363 <refsect1>
6464 &return-value;
65−
66− <variablelist>
67− <varlistentry>
68− <term><errorcode>EINVAL</errorcode></term>
69− <listitem>
70− <para>This ioctl is not supported.</para>
71− </listitem>
72− </varlistentry>
73− <varlistentry>
74− <term><errorcode>EBUSY</errorcode></term>
75− <listitem>
76− <para>The device is busy and therefore can not detect the standard</para>
77− </listitem>
78− </varlistentry>
79− </variablelist>
8065 </refsect1>
8166 </refentry>
82−
83−<!--
84−Local Variables:
85−mode: sgml
86−sgml-parent-document: "v4l2.sgml"
87−indent-tabs-mode: nil
88−End:
89−-->
Documentation/DocBook/media/v4l/vidioc-reqbufs.xmlrenamed from Documentation/DocBook/v4l/vidioc-reqbufs.xml+0−16
@@ -121,14 +121,6 @@ higher. This array should be zeroed by applications.</entry> · 120 unmodified lines
121121 &return-value;
122122
123123 <variablelist>
124− <varlistentry>
125− <term><errorcode>EBUSY</errorcode></term>
126− <listitem>
127− <para>The driver supports multiple opens and I/O is already
128−in progress, or reallocation of buffers was attempted although one or
129−more are still mapped.</para>
130− </listitem>
131− </varlistentry>
132124 <varlistentry>
133125 <term><errorcode>EINVAL</errorcode></term>
134126 <listitem>
@@ -140,11 +132,3 @@ supported.</para> · 5 unmodified lines
140132 </variablelist>
141133 </refsect1>
142134 </refentry>
143−
144−<!--
145−Local Variables:
146−mode: sgml
147−sgml-parent-document: "v4l2.sgml"
148−indent-tabs-mode: nil
149−End:
150−-->
Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xmlrenamed from Documentation/DocBook/v4l/vidioc-s-hw-freq-seek.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-streamon.xmlrenamed from Documentation/DocBook/v4l/vidioc-streamon.xml+3−11
@@ -88,9 +88,9 @@ synchronize with other events.</para> · 87 unmodified lines
8888 <varlistentry>
8989 <term><errorcode>EINVAL</errorcode></term>
9090 <listitem>
91− <para>Streaming I/O is not supported, the buffer
92−<structfield>type</structfield> is not supported, or no buffers have
93−been allocated (memory mapping) or enqueued (output) yet.</para>
91+ <para>The buffer<structfield>type</structfield> is not supported,
92+ or no buffers have been allocated (memory mapping) or enqueued
93+ (output) yet.</para>
9494 </listitem>
9595 </varlistentry>
9696 <varlistentry>
@@ -105,11 +105,3 @@ been allocated (memory mapping) or enqueued (output) yet.</para> · 8 unmodified lines
105105 </variablelist>
106106 </refsect1>
107107 </refentry>
108−
109−<!--
110−Local Variables:
111−mode: sgml
112−sgml-parent-document: "v4l2.sgml"
113−indent-tabs-mode: nil
114−End:
115−-->
Documentation/DocBook/media/v4l/vidioc-subdev-enum-frame-interval.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-enum-frame-interval.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-subdev-enum-frame-size.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-enum-frame-size.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-subdev-enum-mbus-code.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-enum-mbus-code.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-subdev-g-crop.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-g-crop.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-subdev-g-fmt.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-g-fmt.xml+3−0
@@ -177,4 +177,7 @@ · 176 unmodified lines
177177 </varlistentry>
178178 </variablelist>
179179 </refsect1>
180+ <refsect1>
181+ &return-value;
182+ </refsect1>
180183 </refentry>
Documentation/DocBook/media/v4l/vidioc-subdev-g-frame-interval.xmlrenamed from Documentation/DocBook/v4l/vidioc-subdev-g-frame-interval.xml+0−0

File renamed without changes.

Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml+297−0
@@ -0,0 +1,297 @@
1+<refentry id="vidioc-subscribe-event">
2+ <refmeta>
3+ <refentrytitle>ioctl VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+
7+ <refnamediv>
8+ <refname>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refname>
9+ <refpurpose>Subscribe or unsubscribe event</refpurpose>
10+ </refnamediv>
11+
12+ <refsynopsisdiv>
13+ <funcsynopsis>
14+ <funcprototype>
15+ <funcdef>int <function>ioctl</function></funcdef>
16+ <paramdef>int <parameter>fd</parameter></paramdef>
17+ <paramdef>int <parameter>request</parameter></paramdef>
18+ <paramdef>struct v4l2_event_subscription
19+*<parameter>argp</parameter></paramdef>
20+ </funcprototype>
21+ </funcsynopsis>
22+ </refsynopsisdiv>
23+
24+ <refsect1>
25+ <title>Arguments</title>
26+
27+ <variablelist>
28+ <varlistentry>
29+ <term><parameter>fd</parameter></term>
30+ <listitem>
31+ <para>&fd;</para>
32+ </listitem>
33+ </varlistentry>
34+ <varlistentry>
35+ <term><parameter>request</parameter></term>
36+ <listitem>
37+ <para>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</para>
38+ </listitem>
39+ </varlistentry>
40+ <varlistentry>
41+ <term><parameter>argp</parameter></term>
42+ <listitem>
43+ <para></para>
44+ </listitem>
45+ </varlistentry>
46+ </variablelist>
47+ </refsect1>
48+
49+ <refsect1>
50+ <title>Description</title>
51+
52+ <para>Subscribe or unsubscribe V4L2 event. Subscribed events are
53+ dequeued by using the &VIDIOC-DQEVENT; ioctl.</para>
54+
55+ <table frame="none" pgwide="1" id="v4l2-event-subscription">
56+ <title>struct <structname>v4l2_event_subscription</structname></title>
57+ <tgroup cols="3">
58+ &cs-str;
59+ <tbody valign="top">
60+ <row>
61+ <entry>__u32</entry>
62+ <entry><structfield>type</structfield></entry>
63+ <entry>Type of the event.</entry>
64+ </row>
65+ <row>
66+ <entry>__u32</entry>
67+ <entry><structfield>id</structfield></entry>
68+ <entry>ID of the event source. If there is no ID associated with
69+ the event source, then set this to 0. Whether or not an event
70+ needs an ID depends on the event type.</entry>
71+ </row>
72+ <row>
73+ <entry>__u32</entry>
74+ <entry><structfield>flags</structfield></entry>
75+ <entry>Event flags, see <xref linkend="event-flags" />.</entry>
76+ </row>
77+ <row>
78+ <entry>__u32</entry>
79+ <entry><structfield>reserved</structfield>[5]</entry>
80+ <entry>Reserved for future extensions. Drivers and applications
81+ must set the array to zero.</entry>
82+ </row>
83+ </tbody>
84+ </tgroup>
85+ </table>
86+
87+ <table frame="none" pgwide="1" id="event-type">
88+ <title>Event Types</title>
89+ <tgroup cols="3">
90+ &cs-def;
91+ <tbody valign="top">
92+ <row>
93+ <entry><constant>V4L2_EVENT_ALL</constant></entry>
94+ <entry>0</entry>
95+ <entry>All events. V4L2_EVENT_ALL is valid only for
96+ VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once.
97+ </entry>
98+ </row>
99+ <row>
100+ <entry><constant>V4L2_EVENT_VSYNC</constant></entry>
101+ <entry>1</entry>
102+ <entry>This event is triggered on the vertical sync.
103+ This event has a &v4l2-event-vsync; associated with it.
104+ </entry>
105+ </row>
106+ <row>
107+ <entry><constant>V4L2_EVENT_EOS</constant></entry>
108+ <entry>2</entry>
109+ <entry>This event is triggered when the end of a stream is reached.
110+ This is typically used with MPEG decoders to report to the application
111+ when the last of the MPEG stream has been decoded.
112+ </entry>
113+ </row>
114+ <row>
115+ <entry><constant>V4L2_EVENT_CTRL</constant></entry>
116+ <entry>3</entry>
117+ <entry><para>This event requires that the <structfield>id</structfield>
118+ matches the control ID from which you want to receive events.
119+ This event is triggered if the control's value changes, if a
120+ button control is pressed or if the control's flags change.
121+ This event has a &v4l2-event-ctrl; associated with it. This struct
122+ contains much of the same information as &v4l2-queryctrl; and
123+ &v4l2-control;.</para>
124+
125+ <para>If the event is generated due to a call to &VIDIOC-S-CTRL; or
126+ &VIDIOC-S-EXT-CTRLS;, then the event will <emphasis>not</emphasis> be sent to
127+ the file handle that called the ioctl function. This prevents
128+ nasty feedback loops. If you <emphasis>do</emphasis> want to get the
129+ event, then set the <constant>V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK</constant>
130+ flag.
131+ </para>
132+
133+ <para>This event type will ensure that no information is lost when
134+ more events are raised than there is room internally. In that
135+ case the &v4l2-event-ctrl; of the second-oldest event is kept,
136+ but the <structfield>changes</structfield> field of the
137+ second-oldest event is ORed with the <structfield>changes</structfield>
138+ field of the oldest event.</para>
139+ </entry>
140+ </row>
141+ <row>
142+ <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry>
143+ <entry>0x08000000</entry>
144+ <entry>Base event number for driver-private events.</entry>
145+ </row>
146+ </tbody>
147+ </tgroup>
148+ </table>
149+
150+ <table pgwide="1" frame="none" id="event-flags">
151+ <title>Event Flags</title>
152+ <tgroup cols="3">
153+ &cs-def;
154+ <tbody valign="top">
155+ <row>
156+ <entry><constant>V4L2_EVENT_SUB_FL_SEND_INITIAL</constant></entry>
157+ <entry>0x0001</entry>
158+ <entry>When this event is subscribed an initial event will be sent
159+ containing the current status. This only makes sense for events
160+ that are triggered by a status change such as <constant>V4L2_EVENT_CTRL</constant>.
161+ Other events will ignore this flag.</entry>
162+ </row>
163+ <row>
164+ <entry><constant>V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK</constant></entry>
165+ <entry>0x0002</entry>
166+ <entry><para>If set, then events directly caused by an ioctl will also be sent to
167+ the filehandle that called that ioctl. For example, changing a control using
168+ &VIDIOC-S-CTRL; will cause a V4L2_EVENT_CTRL to be sent back to that same
169+ filehandle. Normally such events are suppressed to prevent feedback loops
170+ where an application changes a control to a one value and then another, and
171+ then receives an event telling it that that control has changed to the first
172+ value.</para>
173+
174+ <para>Since it can't tell whether that event was caused by another application
175+ or by the &VIDIOC-S-CTRL; call it is hard to decide whether to set the
176+ control to the value in the event, or ignore it.</para>
177+
178+ <para>Think carefully when you set this flag so you won't get into situations
179+ like that.</para>
180+ </entry>
181+ </row>
182+ </tbody>
183+ </tgroup>
184+ </table>
185+
186+ <table frame="none" pgwide="1" id="v4l2-event-vsync">
187+ <title>struct <structname>v4l2_event_vsync</structname></title>
188+ <tgroup cols="3">
189+ &cs-str;
190+ <tbody valign="top">
191+ <row>
192+ <entry>__u8</entry>
193+ <entry><structfield>field</structfield></entry>
194+ <entry>The upcoming field. See &v4l2-field;.</entry>
195+ </row>
196+ </tbody>
197+ </tgroup>
198+ </table>
199+
200+ <table frame="none" pgwide="1" id="v4l2-event-ctrl">
201+ <title>struct <structname>v4l2_event_ctrl</structname></title>
202+ <tgroup cols="4">
203+ &cs-str;
204+ <tbody valign="top">
205+ <row>
206+ <entry>__u32</entry>
207+ <entry><structfield>changes</structfield></entry>
208+ <entry></entry>
209+ <entry>A bitmask that tells what has changed. See <xref linkend="changes-flags" />.</entry>
210+ </row>
211+ <row>
212+ <entry>__u32</entry>
213+ <entry><structfield>type</structfield></entry>
214+ <entry></entry>
215+ <entry>The type of the control. See &v4l2-ctrl-type;.</entry>
216+ </row>
217+ <row>
218+ <entry>union (anonymous)</entry>
219+ <entry></entry>
220+ <entry></entry>
221+ <entry></entry>
222+ </row>
223+ <row>
224+ <entry></entry>
225+ <entry>__s32</entry>
226+ <entry><structfield>value</structfield></entry>
227+ <entry>The 32-bit value of the control for 32-bit control types.
228+ This is 0 for string controls since the value of a string
229+ cannot be passed using &VIDIOC-DQEVENT;.</entry>
230+ </row>
231+ <row>
232+ <entry></entry>
233+ <entry>__s64</entry>
234+ <entry><structfield>value64</structfield></entry>
235+ <entry>The 64-bit value of the control for 64-bit control types.</entry>
236+ </row>
237+ <row>
238+ <entry>__u32</entry>
239+ <entry><structfield>flags</structfield></entry>
240+ <entry></entry>
241+ <entry>The control flags. See <xref linkend="control-flags" />.</entry>
242+ </row>
243+ <row>
244+ <entry>__s32</entry>
245+ <entry><structfield>minimum</structfield></entry>
246+ <entry></entry>
247+ <entry>The minimum value of the control. See &v4l2-queryctrl;.</entry>
248+ </row>
249+ <row>
250+ <entry>__s32</entry>
251+ <entry><structfield>maximum</structfield></entry>
252+ <entry></entry>
253+ <entry>The maximum value of the control. See &v4l2-queryctrl;.</entry>
254+ </row>
255+ <row>
256+ <entry>__s32</entry>
257+ <entry><structfield>step</structfield></entry>
258+ <entry></entry>
259+ <entry>The step value of the control. See &v4l2-queryctrl;.</entry>
260+ </row>
261+ <row>
262+ <entry>__s32</entry>
263+ <entry><structfield>default_value</structfield></entry>
264+ <entry></entry>
265+ <entry>The default value value of the control. See &v4l2-queryctrl;.</entry>
266+ </row>
267+ </tbody>
268+ </tgroup>
269+ </table>
270+
271+ <table pgwide="1" frame="none" id="changes-flags">
272+ <title>Changes</title>
273+ <tgroup cols="3">
274+ &cs-def;
275+ <tbody valign="top">
276+ <row>
277+ <entry><constant>V4L2_EVENT_CTRL_CH_VALUE</constant></entry>
278+ <entry>0x0001</entry>
279+ <entry>This control event was triggered because the value of the control
280+ changed. Special case: if a button control is pressed, then this
281+ event is sent as well, even though there is not explicit value
282+ associated with a button control.</entry>
283+ </row>
284+ <row>
285+ <entry><constant>V4L2_EVENT_CTRL_CH_FLAGS</constant></entry>
286+ <entry>0x0002</entry>
287+ <entry>This control event was triggered because the control flags
288+ changed.</entry>
289+ </row>
290+ </tbody>
291+ </tgroup>
292+ </table>
293+ </refsect1>
294+ <refsect1>
295+ &return-value;
296+ </refsect1>
297+</refentry>
Documentation/DocBook/media/vbi_525.gif.b64+84−0
@@ -0,0 +1,84 @@
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
84+E9gqF8bNWgAAOw==
Documentation/DocBook/media/vbi_625.gif.b64+90−0
@@ -0,0 +1,90 @@
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
81+0Adtyay8rcRcXsY8yW56buKsptPTzwkX0C6Xzx03zy1MzcccngxdcfDcbNE8yyatziSdbSFdzgX9
82+yxqdaRxdZIpm0b/+iaY+PcgeJs2UEW3KjKeQGMmPDM2cHNHJbMv1DNKAbMpYLNKJ2kH1I9W5TNWk
83+nNWwTHJ9M9SKnNDL7Mgq7YpevdTa/NJuUNRPjXNvbWQKt3NwPdc8nSNhjRdtTc9wqtQOjdZ+PclN
84+jc4TrdBy/dV0bdcjp62SZNYEdtdr3RF6jdKH2s6VLYqN/cuCDdOETdYX2G6f7dmGfdg3F9c7gtex
85+FdOXvNCWrV6sDZF3KNGqbNT6FNqKDWyiXdqkXdeL/diazdYnDdXsfNmuXWVq7duRDdznPNqJrdvM
86+vdu8XdG4DWan3bypTdFlTdzmNm4ufdzTbN2FbdvFLN3OvdzkHd7RF93bJf3b393ZKZ3dSY3Z2AzZ
87+3s3ZAhzd551mNv3Ozw3U5lHGpfPfl3NGA351Rmfgj6XHd7xYUKdZCR51rGE2vVJ1E04eAU45Fl7F
88+1htMGv5LHN7hXZ3EIS7iI07iJW7iJ47iKa7iK87iLe7iLw7jMS7jM07jNW7jN47jOa7jO87jPe7j
89+Pw7kQV68E+EQhqrAQs6aZmirzYzkQC4aAmmIygHlTS7kP0G3gRJ8VB7kAGCRbQB8uqflTu6Ci4jl
90+ehjmPs7laf58XB7Fau6DR56aBQAAOw==
Documentation/DocBook/media/vbi_hsync.gif.b64+43−0
@@ -0,0 +1,43 @@
1+R0lGODlhBwHJAOcAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4O
2+Dg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEh
3+ISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0
4+NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdH
5+R0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpa
6+WltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1t
7+bW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CA
8+gIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOT
9+k5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaam
10+pqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5
11+ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zM
12+zM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f
13+3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy
14+8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAABwHJAAAI/gD/CRxI
15+sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
16+mzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnTp1CjSp1KtarVqyQBYN1aVSvXr1C9gh2rVOxCsV4B
17+mE2b0GxDt2TjtnWo9l9du2rrar2bl+BavQL3ApZLeC5du3j77g2MF/FAtIv1AoZb+Gfey5gza97M
18+ua/ByJ4XI8b8+PHl0ZkrE6XsuCDr1xD5ip7d2m9pv6IZqxYK+zPC3g/T0mabGLdk4YEH7wYK3PZB
19+yqyXSw/++3l139OzS4R+Hbtr7eCp/nv/bp18+PMKuZcfj7792fXm47ufz/52fd308zu/X3u/fv3N
20++Sfgf/MFaJ98BLpnIH4IJojegv0d6GB7EEI4oXYVdnfhgxoOyOCG4WXIH4jTidggiSV2KOGHKGa3
21+oIUtqvaiijEuNyN8NUp344g5EqYef9H1KNePJwYpJFlEehjhkT7iuCKLTMZl4olRgjWlklV+deWT
22+WWpJ45JgdrnVllCKOeaXMJrZFZpfqmkVmWG6SRWcRsoZFZl12hkWmzxemCdXeAr555lOgjnof4de
23+tSOVG0KWaFl3GVponH52ZumlmGaq6aaY0pjmhJppmRqQbTaKm6gewgnio2uSOumq/jpO+qmDrE5F
24+p6AtSZZeSrf2WOtEoZEmm2C/Astnn6CapKtjbClWZki95lhsbLcRtxmlHkVb47TBWcuYcGvxeiyj
25+fp7kGbOJEZscStrGyK1T7bb4blPxojgvU4Hiulu+vto4Lpck3rvUoljCuq+npZp6cKGz0uovwwmX
26+u3CRESc7sZINJyhwWbJW7PDFXGZM4MZI1WsvyCF7rDHKZYqMKMuSvmqwS5yOypHJAcP0K8k4z5xr
27+RTz/C7DPLO2crdDPEr2S0R31rDDNQB/dMbISQ01R0FOT+/TPV0vtqtZVc21s0wjLLONFJG8XNdkQ
28+y5z2UNy+TW3XbN8Ho9xBxa3z/to3lz0i3nljBPhbfG+UZMoqG5db2+KJ9O7gDDHd99dUstpscsgR
29+x6CzqC0O0uN70z05xVlHdNpwgvUHGWrFef5RppGHPjawNddue3nB5nYufsKmu/vrhL/3kuRqq1Tr
30+6pd/G+6HymGLdvC7Dl+46cYD7aywoSleXGOtj5RnnZALP3vx7Bb2J/iyk6++subTZanz2ZJ2te2R
31+st8+9NaFHx/x1Jff5GFz0Z9/+Dc3c9EnSK4ryfLG1z89GaY6AjwQARvnQLfBr24XpFrizGSk+tlv
32+aOJbXwULxj3/gTB6DBwhCD2oQLBtkIR66mAEVTe9AqqQhCzMigvNhsIbrnCG/m6ZIAB9+MPqwfCB
33+IryhDI14QiQ2kIiUyqH3dqhBHtoJfSZs4gu16CYsGpCKYDyinLz4QS5W8YwcjF0WkxbCJxKRjC0M
34+oxnlmCU46tA19BPiCO04xZjM8IBq/GL63hjIMloNitiS4uv+aMUxRk5/ihQXIhMJSUaiUUzgq6RM
35+LEmhR5qLk2LsoieVBco5YnKUCiwlG2OIyqyoMoNpPIsm/TjJRMKya698JYZiB7kELq2W6OvlLT8H
36+TF62MJfM+R3+lnnIAB5zk8zBHOZks7/BqEuXwXwmLS1DzestDnmNud5MsqlDZPKGWMkzT+9CBc33
37+5PGd8IynPOfJwkilLp37/gniN8dZyDgOcienCadudnc6anavnT30p/SKokvH9fOO/+RmqxIK0YUi
38+EosBNVz2tnnRR9KzUxyFYjAzqpHehZSQbdxYEBEqUhcVM0WTbGhNZBor+7xNj8SMaT7TJc1Tgcug
39+Bf2LNZnlKODp1KYCbR64ujcZ0OBxe5FR3jAfqsSdNiujucMnPnl3uaxiraNI3ep3hro8161uNLbB
40+G00fNk3abG+aAiXqcKqlGG8Oy6hgLang+HnUjERyiBFV4VpZitKa5rWEgKJjldgpKs5d9KOQjeym
41+XkrSMdnzpYatpWY3y1l6NXGB3RlsZ9eDzp7ydKmnW1dAlTnaQ94zruEkS2tUnfra1iIUdRvlHueu
42+iS7N2daic1VncEEz3N/6MbVyNU1TV0tUdL3VuF6aKnQhJdrpWve62M2udrfL3e5697vgDa94x0ve
43+8lIkIAA7
Documentation/DocBook/media_api.tmplrenamed from Documentation/DocBook/media.tmpl+7−1
@@ -8,7 +8,8 @@ · 7 unmodified lines
88 <!ENTITY ie "i.&nbsp;e.">
99 <!ENTITY fd "File descriptor returned by <link linkend='func-open'><function>open()</function></link>.">
1010 <!ENTITY i2c "I<superscript>2</superscript>C">
11−<!ENTITY return-value "<title>Return Value</title><para>On success <returnvalue>0</returnvalue> is returned, on error <returnvalue>-1</returnvalue> and the <varname>errno</varname> variable is set appropriately:</para>">
11+<!ENTITY return-value "<title>Return Value</title><para>On success <returnvalue>0</returnvalue> is returned, on error <returnvalue>-1</returnvalue> and the <varname>errno</varname> variable is set appropriately. The generic error codes are described at the <link linkend='gen-errors'>Generic Error Codes</link> chapter.</para>">
12+<!ENTITY return-value-dvb "<para>RETURN VALUE</para><para>On success <returnvalue>0</returnvalue> is returned, on error <returnvalue>-1</returnvalue> and the <varname>errno</varname> variable is set appropriately. The generic error codes are described at the <link linkend='gen-errors'>Generic Error Codes</link> chapter.</para>">
1213 <!ENTITY manvol "<manvolnum>2</manvolnum>">
1314
1415 <!-- Table templates: structs, structs w/union, defines. -->
@@ -110,6 +111,11 @@ Foundation. A copy of the license is included in the chapter entitled · 95 unmodified lines
110111 &sub-media-controller;
111112 </part>
112113
114+<chapter id="gen_errors">
115+&sub-gen-errors;
116+</chapter>
117+
118+
113119 &sub-fdl-appendix;
114120
115121 </book>
Documentation/DocBook/v4l/bayer.pdf+0−0

Binary file not shown.

Documentation/DocBook/v4l/bayer.png+0−0

Binary file not shown.

Documentation/DocBook/v4l/crop.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/dev-event.xml+0−31
@@ -1,31 +0,0 @@
1− <title>Event Interface</title>
2−
3− <para>The V4L2 event interface provides means for user to get
4− immediately notified on certain conditions taking place on a device.
5− This might include start of frame or loss of signal events, for
6− example.
7− </para>
8−
9− <para>To receive events, the events the user is interested in first must
10− be subscribed using the &VIDIOC-SUBSCRIBE-EVENT; ioctl. Once an event is
11− subscribed, the events of subscribed types are dequeueable using the
12− &VIDIOC-DQEVENT; ioctl. Events may be unsubscribed using
13− VIDIOC_UNSUBSCRIBE_EVENT ioctl. The special event type V4L2_EVENT_ALL may
14− be used to unsubscribe all the events the driver supports.</para>
15−
16− <para>The event subscriptions and event queues are specific to file
17− handles. Subscribing an event on one file handle does not affect
18− other file handles.
19− </para>
20−
21− <para>The information on dequeueable events is obtained by using select or
22− poll system calls on video devices. The V4L2 events use POLLPRI events on
23− poll system call and exceptions on select system call. </para>
24−
25− <!--
26−Local Variables:
27−mode: sgml
28−sgml-parent-document: "v4l2.sgml"
29−indent-tabs-mode: nil
30−End:
31− -->
Documentation/DocBook/v4l/fieldseq_bt.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/fieldseq_tb.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/func-ioctl.xml+0−145
@@ -1,145 +0,0 @@
1−<refentry id="func-ioctl">
2− <refmeta>
3− <refentrytitle>V4L2 ioctl()</refentrytitle>
4− &manvol;
5− </refmeta>
6−
7− <refnamediv>
8− <refname>v4l2-ioctl</refname>
9− <refpurpose>Program a V4L2 device</refpurpose>
10− </refnamediv>
11−
12− <refsynopsisdiv>
13− <funcsynopsis>
14− <funcsynopsisinfo>#include &lt;sys/ioctl.h&gt;</funcsynopsisinfo>
15− <funcprototype>
16− <funcdef>int <function>ioctl</function></funcdef>
17− <paramdef>int <parameter>fd</parameter></paramdef>
18− <paramdef>int <parameter>request</parameter></paramdef>
19− <paramdef>void *<parameter>argp</parameter></paramdef>
20− </funcprototype>
21− </funcsynopsis>
22− </refsynopsisdiv>
23−
24− <refsect1>
25− <title>Arguments</title>
26−
27− <variablelist>
28− <varlistentry>
29− <term><parameter>fd</parameter></term>
30− <listitem>
31− <para>&fd;</para>
32− </listitem>
33− </varlistentry>
34− <varlistentry>
35− <term><parameter>request</parameter></term>
36− <listitem>
37− <para>V4L2 ioctl request code as defined in the <filename>videodev2.h</filename> header file, for example
38−VIDIOC_QUERYCAP.</para>
39− </listitem>
40− </varlistentry>
41− <varlistentry>
42− <term><parameter>argp</parameter></term>
43− <listitem>
44− <para>Pointer to a function parameter, usually a structure.</para>
45− </listitem>
46− </varlistentry>
47− </variablelist>
48− </refsect1>
49−
50− <refsect1>
51− <title>Description</title>
52−
53− <para>The <function>ioctl()</function> function is used to program
54−V4L2 devices. The argument <parameter>fd</parameter> must be an open
55−file descriptor. An ioctl <parameter>request</parameter> has encoded
56−in it whether the argument is an input, output or read/write
57−parameter, and the size of the argument <parameter>argp</parameter> in
58−bytes. Macros and defines specifying V4L2 ioctl requests are located
59−in the <filename>videodev2.h</filename> header file.
60−Applications should use their own copy, not include the version in the
61−kernel sources on the system they compile on. All V4L2 ioctl requests,
62−their respective function and parameters are specified in <xref
63− linkend="user-func" />.</para>
64− </refsect1>
65−
66− <refsect1>
67− <title>Return Value</title>
68−
69− <para>On success the <function>ioctl()</function> function returns
70−<returnvalue>0</returnvalue> and does not reset the
71−<varname>errno</varname> variable. On failure
72−<returnvalue>-1</returnvalue> is returned, when the ioctl takes an
73−output or read/write parameter it remains unmodified, and the
74−<varname>errno</varname> variable is set appropriately. See below for
75−possible error codes. Generic errors like <errorcode>EBADF</errorcode>
76−or <errorcode>EFAULT</errorcode> are not listed in the sections
77−discussing individual ioctl requests.</para>
78− <para>Note ioctls may return undefined error codes. Since errors
79−may have side effects such as a driver reset applications should
80−abort on unexpected errors.</para>
81−
82− <variablelist>
83− <varlistentry>
84− <term><errorcode>EBADF</errorcode></term>
85− <listitem>
86− <para><parameter>fd</parameter> is not a valid open file
87−descriptor.</para>
88− </listitem>
89− </varlistentry>
90− <varlistentry>
91− <term><errorcode>EBUSY</errorcode></term>
92− <listitem>
93− <para>The property cannot be changed right now. Typically
94−this error code is returned when I/O is in progress or the driver
95−supports multiple opens and another process locked the property.</para>
96− </listitem>
97− </varlistentry>
98− <varlistentry>
99− <term><errorcode>EFAULT</errorcode></term>
100− <listitem>
101− <para><parameter>argp</parameter> references an inaccessible
102−memory area.</para>
103− </listitem>
104− </varlistentry>
105− <varlistentry>
106− <term><errorcode>ENOTTY</errorcode></term>
107− <listitem>
108− <para><parameter>fd</parameter> is not associated with a
109−character special device.</para>
110− </listitem>
111− </varlistentry>
112− <varlistentry>
113− <term><errorcode>EINVAL</errorcode></term>
114− <listitem>
115− <para>The <parameter>request</parameter> or the data pointed
116−to by <parameter>argp</parameter> is not valid. This is a very common
117−error code, see the individual ioctl requests listed in <xref
118− linkend="user-func" /> for actual causes.</para>
119− </listitem>
120− </varlistentry>
121− <varlistentry>
122− <term><errorcode>ENOMEM</errorcode></term>
123− <listitem>
124− <para>Not enough physical or virtual memory was available to
125−complete the request.</para>
126− </listitem>
127− </varlistentry>
128− <varlistentry>
129− <term><errorcode>ERANGE</errorcode></term>
130− <listitem>
131− <para>The application attempted to set a control with the
132−&VIDIOC-S-CTRL; ioctl to a value which is out of bounds.</para>
133− </listitem>
134− </varlistentry>
135− </variablelist>
136− </refsect1>
137−</refentry>
138−
139−<!--
140−Local Variables:
141−mode: sgml
142−sgml-parent-document: "v4l2.sgml"
143−indent-tabs-mode: nil
144−End:
145−-->
Documentation/DocBook/v4l/nv12mt.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/nv12mt_example.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/pipeline.png+0−0

Binary file not shown.

Documentation/DocBook/v4l/vbi_525.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/vbi_625.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/vbi_hsync.gif+0−0

Binary file not shown.

Documentation/DocBook/v4l/videodev2.h.xml+0−1946
@@ -1,1946 +0,0 @@
1−<programlisting>
2−/*
3− * Video for Linux Two header file
4− *
5− * Copyright (C) 1999-2007 the contributors
6− *
7− * This program is free software; you can redistribute it and/or modify
8− * it under the terms of the GNU General Public License as published by
9− * the Free Software Foundation; either version 2 of the License, or
10− * (at your option) any later version.
11− *
12− * This program is distributed in the hope that it will be useful,
13− * but WITHOUT ANY WARRANTY; without even the implied warranty of
14− * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15− * GNU General Public License for more details.
16− *
17− * Alternatively you can redistribute this file under the terms of the
18− * BSD license as stated below:
19− *
20− * Redistribution and use in source and binary forms, with or without
21− * modification, are permitted provided that the following conditions
22− * are met:
23− * 1. Redistributions of source code must retain the above copyright
24− * notice, this list of conditions and the following disclaimer.
25− * 2. Redistributions in binary form must reproduce the above copyright
26− * notice, this list of conditions and the following disclaimer in
27− * the documentation and/or other materials provided with the
28− * distribution.
29− * 3. The names of its contributors may not be used to endorse or promote
30− * products derived from this software without specific prior written
31− * permission.
32− *
33− * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
34− * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
35− * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
36− * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
37− * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
38− * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
39− * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
40− * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
41− * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
42− * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
43− * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
44− *
45− * Header file for v4l or V4L2 drivers and applications
46− * with public API.
47− * All kernel-specific stuff were moved to media/v4l2-dev.h, so
48− * no #if __KERNEL tests are allowed here
49− *
50− * See http://linuxtv.org for more info
51− *
52− * Author: Bill Dirks &lt;bill@thedirks.org&gt;
53− * Justin Schoeman
54− * Hans Verkuil &lt;hverkuil@xs4all.nl&gt;
55− * et al.
56− */
57−#ifndef __LINUX_VIDEODEV2_H
58−#define __LINUX_VIDEODEV2_H
59−
60−#ifdef __KERNEL__
61−#include &lt;linux/time.h&gt; /* need struct timeval */
62−#else
63−#include &lt;sys/time.h&gt;
64−#endif
65−#include &lt;linux/compiler.h&gt;
66−#include &lt;linux/ioctl.h&gt;
67−#include &lt;linux/types.h&gt;
68−
69−/*
70− * Common stuff for both V4L1 and V4L2
71− * Moved from videodev.h
72− */
73−#define VIDEO_MAX_FRAME 32
74−#define VIDEO_MAX_PLANES 8
75−
76−#ifndef __KERNEL__
77−
78−/* These defines are V4L1 specific and should not be used with the V4L2 API!
79− They will be removed from this header in the future. */
80−
81−#define VID_TYPE_CAPTURE 1 /* Can capture */
82−#define VID_TYPE_TUNER 2 /* Can tune */
83−#define VID_TYPE_TELETEXT 4 /* Does teletext */
84−#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */
85−#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */
86−#define VID_TYPE_CLIPPING 32 /* Can clip */
87−#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */
88−#define VID_TYPE_SCALES 128 /* Scalable */
89−#define VID_TYPE_MONOCHROME 256 /* Monochrome only */
90−#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */
91−#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */
92−#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */
93−#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */
94−#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */
95−#endif
96−
97−/*
98− * M I S C E L L A N E O U S
99− */
100−
101−/* Four-character-code (FOURCC) */
102−#define v4l2_fourcc(a, b, c, d)\
103− ((__u32)(a) | ((__u32)(b) &lt;&lt; 8) | ((__u32)(c) &lt;&lt; 16) | ((__u32)(d) &lt;&lt; 24))
104−
105−/*
106− * E N U M S
107− */
108−enum <link linkend="v4l2-field">v4l2_field</link> {
109− V4L2_FIELD_ANY = 0, /* driver can choose from none,
110− top, bottom, interlaced
111− depending on whatever it thinks
112− is approximate ... */
113− V4L2_FIELD_NONE = 1, /* this device has no fields ... */
114− V4L2_FIELD_TOP = 2, /* top field only */
115− V4L2_FIELD_BOTTOM = 3, /* bottom field only */
116− V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
117− V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one
118− buffer, top-bottom order */
119− V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
120− V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into
121− separate buffers */
122− V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field
123− first and the top field is
124− transmitted first */
125− V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field
126− first and the bottom field is
127− transmitted first */
128−};
129−#define V4L2_FIELD_HAS_TOP(field) \
130− ((field) == V4L2_FIELD_TOP ||\
131− (field) == V4L2_FIELD_INTERLACED ||\
132− (field) == V4L2_FIELD_INTERLACED_TB ||\
133− (field) == V4L2_FIELD_INTERLACED_BT ||\
134− (field) == V4L2_FIELD_SEQ_TB ||\
135− (field) == V4L2_FIELD_SEQ_BT)
136−#define V4L2_FIELD_HAS_BOTTOM(field) \
137− ((field) == V4L2_FIELD_BOTTOM ||\
138− (field) == V4L2_FIELD_INTERLACED ||\
139− (field) == V4L2_FIELD_INTERLACED_TB ||\
140− (field) == V4L2_FIELD_INTERLACED_BT ||\
141− (field) == V4L2_FIELD_SEQ_TB ||\
142− (field) == V4L2_FIELD_SEQ_BT)
143−#define V4L2_FIELD_HAS_BOTH(field) \
144− ((field) == V4L2_FIELD_INTERLACED ||\
145− (field) == V4L2_FIELD_INTERLACED_TB ||\
146− (field) == V4L2_FIELD_INTERLACED_BT ||\
147− (field) == V4L2_FIELD_SEQ_TB ||\
148− (field) == V4L2_FIELD_SEQ_BT)
149−
150−enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> {
151− V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
152− V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
153− V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
154− V4L2_BUF_TYPE_VBI_CAPTURE = 4,
155− V4L2_BUF_TYPE_VBI_OUTPUT = 5,
156− V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
157− V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
158−#if 1
159− /* Experimental */
160− V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8,
161−#endif
162− V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,
163− V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
164− V4L2_BUF_TYPE_PRIVATE = 0x80,
165−};
166−
167−#define V4L2_TYPE_IS_MULTIPLANAR(type) \
168− ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \
169− || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
170−
171−#define V4L2_TYPE_IS_OUTPUT(type) \
172− ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
173− || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \
174− || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \
175− || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \
176− || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \
177− || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT)
178−
179−enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> {
180− V4L2_TUNER_RADIO = 1,
181− V4L2_TUNER_ANALOG_TV = 2,
182− V4L2_TUNER_DIGITAL_TV = 3,
183−};
184−
185−enum <link linkend="v4l2-memory">v4l2_memory</link> {
186− V4L2_MEMORY_MMAP = 1,
187− V4L2_MEMORY_USERPTR = 2,
188− V4L2_MEMORY_OVERLAY = 3,
189−};
190−
191−/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
192−enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> {
193− /* ITU-R 601 -- broadcast NTSC/PAL */
194− V4L2_COLORSPACE_SMPTE170M = 1,
195−
196− /* 1125-Line (US) HDTV */
197− V4L2_COLORSPACE_SMPTE240M = 2,
198−
199− /* HD and modern captures. */
200− V4L2_COLORSPACE_REC709 = 3,
201−
202− /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */
203− V4L2_COLORSPACE_BT878 = 4,
204−
205− /* These should be useful. Assume 601 extents. */
206− V4L2_COLORSPACE_470_SYSTEM_M = 5,
207− V4L2_COLORSPACE_470_SYSTEM_BG = 6,
208−
209− /* I know there will be cameras that send this. So, this is
210− * unspecified chromaticities and full 0-255 on each of the
211− * Y'CbCr components
212− */
213− V4L2_COLORSPACE_JPEG = 7,
214−
215− /* For RGB colourspaces, this is probably a good start. */
216− V4L2_COLORSPACE_SRGB = 8,
217−};
218−
219−enum <link linkend="v4l2-priority">v4l2_priority</link> {
220− V4L2_PRIORITY_UNSET = 0, /* not initialized */
221− V4L2_PRIORITY_BACKGROUND = 1,
222− V4L2_PRIORITY_INTERACTIVE = 2,
223− V4L2_PRIORITY_RECORD = 3,
224− V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,
225−};
226−
227−struct <link linkend="v4l2-rect">v4l2_rect</link> {
228− __s32 left;
229− __s32 top;
230− __s32 width;
231− __s32 height;
232−};
233−
234−struct <link linkend="v4l2-fract">v4l2_fract</link> {
235− __u32 numerator;
236− __u32 denominator;
237−};
238−
239−/*
240− * D R I V E R C A P A B I L I T I E S
241− */
242−struct <link linkend="v4l2-capability">v4l2_capability</link> {
243− __u8 driver[16]; /* i.e.ie; "bttv" */
244− __u8 card[32]; /* i.e.ie; "Hauppauge WinTV" */
245− __u8 bus_info[32]; /* "PCI:" + pci_name(pci_dev) */
246− __u32 version; /* should use KERNEL_VERSION() */
247− __u32 capabilities; /* Device capabilities */
248− __u32 reserved[4];
249−};
250−
251−/* Values for 'capabilities' field */
252−#define V4L2_CAP_VIDEO_CAPTURE 0x00000001 /* Is a video capture device */
253−#define V4L2_CAP_VIDEO_OUTPUT 0x00000002 /* Is a video output device */
254−#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */
255−#define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */
256−#define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */
257−#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */
258−#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */
259−#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */
260−#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200 /* Can do video output overlay */
261−#define V4L2_CAP_HW_FREQ_SEEK 0x00000400 /* Can do hardware frequency seek */
262−#define V4L2_CAP_RDS_OUTPUT 0x00000800 /* Is an RDS encoder */
263−
264−/* Is a video capture device that supports multiplanar formats */
265−#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000
266−/* Is a video output device that supports multiplanar formats */
267−#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000
268−
269−#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */
270−#define V4L2_CAP_AUDIO 0x00020000 /* has audio support */
271−#define V4L2_CAP_RADIO 0x00040000 /* is a radio device */
272−#define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */
273−
274−#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */
275−#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
276−#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
277−
278−/*
279− * V I D E O I M A G E F O R M A T
280− */
281−struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> {
282− __u32 width;
283− __u32 height;
284− __u32 pixelformat;
285− enum <link linkend="v4l2-field">v4l2_field</link> field;
286− __u32 bytesperline; /* for padding, zero if unused */
287− __u32 sizeimage;
288− enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> colorspace;
289− __u32 priv; /* private data, depends on pixelformat */
290−};
291−
292−/* Pixel format FOURCC depth Description */
293−
294−/* RGB formats */
295−#define <link linkend="V4L2-PIX-FMT-RGB332">V4L2_PIX_FMT_RGB332</link> v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */
296−#define <link linkend="V4L2-PIX-FMT-RGB444">V4L2_PIX_FMT_RGB444</link> v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */
297−#define <link linkend="V4L2-PIX-FMT-RGB555">V4L2_PIX_FMT_RGB555</link> v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
298−#define <link linkend="V4L2-PIX-FMT-RGB565">V4L2_PIX_FMT_RGB565</link> v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
299−#define <link linkend="V4L2-PIX-FMT-RGB555X">V4L2_PIX_FMT_RGB555X</link> v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
300−#define <link linkend="V4L2-PIX-FMT-RGB565X">V4L2_PIX_FMT_RGB565X</link> v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
301−#define <link linkend="V4L2-PIX-FMT-BGR666">V4L2_PIX_FMT_BGR666</link> v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
302−#define <link linkend="V4L2-PIX-FMT-BGR24">V4L2_PIX_FMT_BGR24</link> v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
303−#define <link linkend="V4L2-PIX-FMT-RGB24">V4L2_PIX_FMT_RGB24</link> v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
304−#define <link linkend="V4L2-PIX-FMT-BGR32">V4L2_PIX_FMT_BGR32</link> v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */
305−#define <link linkend="V4L2-PIX-FMT-RGB32">V4L2_PIX_FMT_RGB32</link> v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */
306−
307−/* Grey formats */
308−#define <link linkend="V4L2-PIX-FMT-GREY">V4L2_PIX_FMT_GREY</link> v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */
309−#define <link linkend="V4L2-PIX-FMT-Y4">V4L2_PIX_FMT_Y4</link> v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */
310−#define <link linkend="V4L2-PIX-FMT-Y6">V4L2_PIX_FMT_Y6</link> v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
311−#define <link linkend="V4L2-PIX-FMT-Y10">V4L2_PIX_FMT_Y10</link> v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
312−#define <link linkend="V4L2-PIX-FMT-Y16">V4L2_PIX_FMT_Y16</link> v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
313−
314−/* Grey bit-packed formats */
315−#define <link linkend="V4L2-PIX-FMT-Y10BPACK">V4L2_PIX_FMT_Y10BPACK</link> v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
316−
317−/* Palette formats */
318−#define <link linkend="V4L2-PIX-FMT-PAL8">V4L2_PIX_FMT_PAL8</link> v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
319−
320−/* Luminance+Chrominance formats */
321−#define <link linkend="V4L2-PIX-FMT-YVU410">V4L2_PIX_FMT_YVU410</link> v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
322−#define <link linkend="V4L2-PIX-FMT-YVU420">V4L2_PIX_FMT_YVU420</link> v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
323−#define <link linkend="V4L2-PIX-FMT-YUYV">V4L2_PIX_FMT_YUYV</link> v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */
324−#define <link linkend="V4L2-PIX-FMT-YYUV">V4L2_PIX_FMT_YYUV</link> v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */
325−#define <link linkend="V4L2-PIX-FMT-YVYU">V4L2_PIX_FMT_YVYU</link> v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
326−#define <link linkend="V4L2-PIX-FMT-UYVY">V4L2_PIX_FMT_UYVY</link> v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */
327−#define <link linkend="V4L2-PIX-FMT-VYUY">V4L2_PIX_FMT_VYUY</link> v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */
328−#define <link linkend="V4L2-PIX-FMT-YUV422P">V4L2_PIX_FMT_YUV422P</link> v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */
329−#define <link linkend="V4L2-PIX-FMT-YUV411P">V4L2_PIX_FMT_YUV411P</link> v4l2_fourcc('4', '1', '1', 'P') /* 16 YVU411 planar */
330−#define <link linkend="V4L2-PIX-FMT-Y41P">V4L2_PIX_FMT_Y41P</link> v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */
331−#define <link linkend="V4L2-PIX-FMT-YUV444">V4L2_PIX_FMT_YUV444</link> v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */
332−#define <link linkend="V4L2-PIX-FMT-YUV555">V4L2_PIX_FMT_YUV555</link> v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
333−#define <link linkend="V4L2-PIX-FMT-YUV565">V4L2_PIX_FMT_YUV565</link> v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
334−#define <link linkend="V4L2-PIX-FMT-YUV32">V4L2_PIX_FMT_YUV32</link> v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
335−#define <link linkend="V4L2-PIX-FMT-YUV410">V4L2_PIX_FMT_YUV410</link> v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
336−#define <link linkend="V4L2-PIX-FMT-YUV420">V4L2_PIX_FMT_YUV420</link> v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
337−#define <link linkend="V4L2-PIX-FMT-HI240">V4L2_PIX_FMT_HI240</link> v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
338−#define <link linkend="V4L2-PIX-FMT-HM12">V4L2_PIX_FMT_HM12</link> v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
339−#define <link linkend="V4L2-PIX-FMT-M420">V4L2_PIX_FMT_M420</link> v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
340−
341−/* two planes -- one Y, one Cr + Cb interleaved */
342−#define <link linkend="V4L2-PIX-FMT-NV12">V4L2_PIX_FMT_NV12</link> v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
343−#define <link linkend="V4L2-PIX-FMT-NV21">V4L2_PIX_FMT_NV21</link> v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */
344−#define <link linkend="V4L2-PIX-FMT-NV16">V4L2_PIX_FMT_NV16</link> v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */
345−#define <link linkend="V4L2-PIX-FMT-NV61">V4L2_PIX_FMT_NV61</link> v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */
346−
347−/* two non contiguous planes - one Y, one Cr + Cb interleaved */
348−#define <link linkend="V4L2-PIX-FMT-NV12M">V4L2_PIX_FMT_NV12M</link> v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */
349−#define <link linkend="V4L2-PIX-FMT-NV12MT">V4L2_PIX_FMT_NV12MT</link> v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */
350−
351−/* three non contiguous planes - Y, Cb, Cr */
352−#define <link linkend="V4L2-PIX-FMT-YUV420M">V4L2_PIX_FMT_YUV420M</link> v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */
353−
354−/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
355−#define <link linkend="V4L2-PIX-FMT-SBGGR8">V4L2_PIX_FMT_SBGGR8</link> v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */
356−#define <link linkend="V4L2-PIX-FMT-SGBRG8">V4L2_PIX_FMT_SGBRG8</link> v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */
357−#define <link linkend="V4L2-PIX-FMT-SGRBG8">V4L2_PIX_FMT_SGRBG8</link> v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */
358−#define <link linkend="V4L2-PIX-FMT-SRGGB8">V4L2_PIX_FMT_SRGGB8</link> v4l2_fourcc('R', 'G', 'G', 'B') /* 8 RGRG.. GBGB.. */
359−#define <link linkend="V4L2-PIX-FMT-SBGGR10">V4L2_PIX_FMT_SBGGR10</link> v4l2_fourcc('B', 'G', '1', '0') /* 10 BGBG.. GRGR.. */
360−#define <link linkend="V4L2-PIX-FMT-SGBRG10">V4L2_PIX_FMT_SGBRG10</link> v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
361−#define <link linkend="V4L2-PIX-FMT-SGRBG10">V4L2_PIX_FMT_SGRBG10</link> v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
362−#define <link linkend="V4L2-PIX-FMT-SRGGB10">V4L2_PIX_FMT_SRGGB10</link> v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
363− /* 10bit raw bayer DPCM compressed to 8 bits */
364−#define <link linkend="V4L2-PIX-FMT-SGRBG10DPCM8">V4L2_PIX_FMT_SGRBG10DPCM8</link> v4l2_fourcc('B', 'D', '1', '0')
365− /*
366− * 10bit raw bayer, expanded to 16 bits
367− * xxxxrrrrrrrrrrxxxxgggggggggg xxxxggggggggggxxxxbbbbbbbbbb...
368− */
369−#define <link linkend="V4L2-PIX-FMT-SBGGR16">V4L2_PIX_FMT_SBGGR16</link> v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
370−
371−/* compressed formats */
372−#define <link linkend="V4L2-PIX-FMT-MJPEG">V4L2_PIX_FMT_MJPEG</link> v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
373−#define <link linkend="V4L2-PIX-FMT-JPEG">V4L2_PIX_FMT_JPEG</link> v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */
374−#define <link linkend="V4L2-PIX-FMT-DV">V4L2_PIX_FMT_DV</link> v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */
375−#define <link linkend="V4L2-PIX-FMT-MPEG">V4L2_PIX_FMT_MPEG</link> v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 */
376−
377−/* Vendor-specific formats */
378−#define <link linkend="V4L2-PIX-FMT-CPIA1">V4L2_PIX_FMT_CPIA1</link> v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
379−#define <link linkend="V4L2-PIX-FMT-WNVA">V4L2_PIX_FMT_WNVA</link> v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */
380−#define <link linkend="V4L2-PIX-FMT-SN9C10X">V4L2_PIX_FMT_SN9C10X</link> v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */
381−#define <link linkend="V4L2-PIX-FMT-SN9C20X-I420">V4L2_PIX_FMT_SN9C20X_I420</link> v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */
382−#define <link linkend="V4L2-PIX-FMT-PWC1">V4L2_PIX_FMT_PWC1</link> v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */
383−#define <link linkend="V4L2-PIX-FMT-PWC2">V4L2_PIX_FMT_PWC2</link> v4l2_fourcc('P', 'W', 'C', '2') /* pwc newer webcam */
384−#define <link linkend="V4L2-PIX-FMT-ET61X251">V4L2_PIX_FMT_ET61X251</link> v4l2_fourcc('E', '6', '2', '5') /* ET61X251 compression */
385−#define <link linkend="V4L2-PIX-FMT-SPCA501">V4L2_PIX_FMT_SPCA501</link> v4l2_fourcc('S', '5', '0', '1') /* YUYV per line */
386−#define <link linkend="V4L2-PIX-FMT-SPCA505">V4L2_PIX_FMT_SPCA505</link> v4l2_fourcc('S', '5', '0', '5') /* YYUV per line */
387−#define <link linkend="V4L2-PIX-FMT-SPCA508">V4L2_PIX_FMT_SPCA508</link> v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
388−#define <link linkend="V4L2-PIX-FMT-SPCA561">V4L2_PIX_FMT_SPCA561</link> v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
389−#define <link linkend="V4L2-PIX-FMT-PAC207">V4L2_PIX_FMT_PAC207</link> v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
390−#define <link linkend="V4L2-PIX-FMT-MR97310A">V4L2_PIX_FMT_MR97310A</link> v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
391−#define <link linkend="V4L2-PIX-FMT-SN9C2028">V4L2_PIX_FMT_SN9C2028</link> v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */
392−#define <link linkend="V4L2-PIX-FMT-SQ905C">V4L2_PIX_FMT_SQ905C</link> v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
393−#define <link linkend="V4L2-PIX-FMT-PJPG">V4L2_PIX_FMT_PJPG</link> v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
394−#define <link linkend="V4L2-PIX-FMT-OV511">V4L2_PIX_FMT_OV511</link> v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */
395−#define <link linkend="V4L2-PIX-FMT-OV518">V4L2_PIX_FMT_OV518</link> v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */
396−#define <link linkend="V4L2-PIX-FMT-STV0680">V4L2_PIX_FMT_STV0680</link> v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */
397−#define <link linkend="V4L2-PIX-FMT-TM6000">V4L2_PIX_FMT_TM6000</link> v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */
398−#define <link linkend="V4L2-PIX-FMT-CIT-YYVYUY">V4L2_PIX_FMT_CIT_YYVYUY</link> v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */
399−#define <link linkend="V4L2-PIX-FMT-KONICA420">V4L2_PIX_FMT_KONICA420</link> v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */
400−
401−/*
402− * F O R M A T E N U M E R A T I O N
403− */
404−struct <link linkend="v4l2-fmtdesc">v4l2_fmtdesc</link> {
405− __u32 index; /* Format number */
406− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type; /* buffer type */
407− __u32 flags;
408− __u8 description[32]; /* Description string */
409− __u32 pixelformat; /* Format fourcc */
410− __u32 reserved[4];
411−};
412−
413−#define V4L2_FMT_FLAG_COMPRESSED 0x0001
414−#define V4L2_FMT_FLAG_EMULATED 0x0002
415−
416−#if 1
417− /* Experimental Frame Size and frame rate enumeration */
418−/*
419− * F R A M E S I Z E E N U M E R A T I O N
420− */
421−enum <link linkend="v4l2-frmsizetypes">v4l2_frmsizetypes</link> {
422− V4L2_FRMSIZE_TYPE_DISCRETE = 1,
423− V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
424− V4L2_FRMSIZE_TYPE_STEPWISE = 3,
425−};
426−
427−struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> {
428− __u32 width; /* Frame width [pixel] */
429− __u32 height; /* Frame height [pixel] */
430−};
431−
432−struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> {
433− __u32 min_width; /* Minimum frame width [pixel] */
434− __u32 max_width; /* Maximum frame width [pixel] */
435− __u32 step_width; /* Frame width step size [pixel] */
436− __u32 min_height; /* Minimum frame height [pixel] */
437− __u32 max_height; /* Maximum frame height [pixel] */
438− __u32 step_height; /* Frame height step size [pixel] */
439−};
440−
441−struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link> {
442− __u32 index; /* Frame size number */
443− __u32 pixel_format; /* Pixel format */
444− __u32 type; /* Frame size type the device supports. */
445−
446− union { /* Frame size */
447− struct <link linkend="v4l2-frmsize-discrete">v4l2_frmsize_discrete</link> discrete;
448− struct <link linkend="v4l2-frmsize-stepwise">v4l2_frmsize_stepwise</link> stepwise;
449− };
450−
451− __u32 reserved[2]; /* Reserved space for future use */
452−};
453−
454−/*
455− * F R A M E R A T E E N U M E R A T I O N
456− */
457−enum <link linkend="v4l2-frmivaltypes">v4l2_frmivaltypes</link> {
458− V4L2_FRMIVAL_TYPE_DISCRETE = 1,
459− V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
460− V4L2_FRMIVAL_TYPE_STEPWISE = 3,
461−};
462−
463−struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> {
464− struct <link linkend="v4l2-fract">v4l2_fract</link> min; /* Minimum frame interval [s] */
465− struct <link linkend="v4l2-fract">v4l2_fract</link> max; /* Maximum frame interval [s] */
466− struct <link linkend="v4l2-fract">v4l2_fract</link> step; /* Frame interval step size [s] */
467−};
468−
469−struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link> {
470− __u32 index; /* Frame format index */
471− __u32 pixel_format; /* Pixel format */
472− __u32 width; /* Frame width */
473− __u32 height; /* Frame height */
474− __u32 type; /* Frame interval type the device supports. */
475−
476− union { /* Frame interval */
477− struct <link linkend="v4l2-fract">v4l2_fract</link> discrete;
478− struct <link linkend="v4l2-frmival-stepwise">v4l2_frmival_stepwise</link> stepwise;
479− };
480−
481− __u32 reserved[2]; /* Reserved space for future use */
482−};
483−#endif
484−
485−/*
486− * T I M E C O D E
487− */
488−struct <link linkend="v4l2-timecode">v4l2_timecode</link> {
489− __u32 type;
490− __u32 flags;
491− __u8 frames;
492− __u8 seconds;
493− __u8 minutes;
494− __u8 hours;
495− __u8 userbits[4];
496−};
497−
498−/* Type */
499−#define V4L2_TC_TYPE_24FPS 1
500−#define V4L2_TC_TYPE_25FPS 2
501−#define V4L2_TC_TYPE_30FPS 3
502−#define V4L2_TC_TYPE_50FPS 4
503−#define V4L2_TC_TYPE_60FPS 5
504−
505−/* Flags */
506−#define V4L2_TC_FLAG_DROPFRAME 0x0001 /* "drop-frame" mode */
507−#define V4L2_TC_FLAG_COLORFRAME 0x0002
508−#define V4L2_TC_USERBITS_field 0x000C
509−#define V4L2_TC_USERBITS_USERDEFINED 0x0000
510−#define V4L2_TC_USERBITS_8BITCHARS 0x0008
511−/* The above is based on SMPTE timecodes */
512−
513−struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link> {
514− int quality;
515−
516− int APPn; /* Number of APP segment to be written,
517− * must be 0..15 */
518− int APP_len; /* Length of data in JPEG APPn segment */
519− char APP_data[60]; /* Data in the JPEG APPn segment. */
520−
521− int COM_len; /* Length of data in JPEG COM segment */
522− char COM_data[60]; /* Data in JPEG COM segment */
523−
524− __u32 jpeg_markers; /* Which markers should go into the JPEG
525− * output. Unless you exactly know what
526− * you do, leave them untouched.
527− * Inluding less markers will make the
528− * resulting code smaller, but there will
529− * be fewer applications which can read it.
530− * The presence of the APP and COM marker
531− * is influenced by APP_len and COM_len
532− * ONLY, not by this property! */
533−
534−#define V4L2_JPEG_MARKER_DHT (1&lt;&lt;3) /* Define Huffman Tables */
535−#define V4L2_JPEG_MARKER_DQT (1&lt;&lt;4) /* Define Quantization Tables */
536−#define V4L2_JPEG_MARKER_DRI (1&lt;&lt;5) /* Define Restart Interval */
537−#define V4L2_JPEG_MARKER_COM (1&lt;&lt;6) /* Comment segment */
538−#define V4L2_JPEG_MARKER_APP (1&lt;&lt;7) /* App segment, driver will
539− * allways use APP0 */
540−};
541−
542−/*
543− * M E M O R Y - M A P P I N G B U F F E R S
544− */
545−struct <link linkend="v4l2-requestbuffers">v4l2_requestbuffers</link> {
546− __u32 count;
547− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
548− enum <link linkend="v4l2-memory">v4l2_memory</link> memory;
549− __u32 reserved[2];
550−};
551−
552−/**
553− * struct <link linkend="v4l2-plane">v4l2_plane</link> - plane info for multi-planar buffers
554− * @bytesused: number of bytes occupied by data in the plane (payload)
555− * @length: size of this plane (NOT the payload) in bytes
556− * @mem_offset: when memory in the associated struct <link linkend="v4l2-buffer">v4l2_buffer</link> is
557− * V4L2_MEMORY_MMAP, equals the offset from the start of
558− * the device memory for this plane (or is a "cookie" that
559− * should be passed to mmap() called on the video node)
560− * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer
561− * pointing to this plane
562− * @data_offset: offset in the plane to the start of data; usually 0,
563− * unless there is a header in front of the data
564− *
565− * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer
566− * with two planes can have one plane for Y, and another for interleaved CbCr
567− * components. Each plane can reside in a separate memory buffer, or even in
568− * a completely separate memory node (e.g. in embedded devices).
569− */
570−struct <link linkend="v4l2-plane">v4l2_plane</link> {
571− __u32 bytesused;
572− __u32 length;
573− union {
574− __u32 mem_offset;
575− unsigned long userptr;
576− } m;
577− __u32 data_offset;
578− __u32 reserved[11];
579−};
580−
581−/**
582− * struct <link linkend="v4l2-buffer">v4l2_buffer</link> - video buffer info
583− * @index: id number of the buffer
584− * @type: buffer type (type == *_MPLANE for multiplanar buffers)
585− * @bytesused: number of bytes occupied by data in the buffer (payload);
586− * unused (set to 0) for multiplanar buffers
587− * @flags: buffer informational flags
588− * @field: field order of the image in the buffer
589− * @timestamp: frame timestamp
590− * @timecode: frame timecode
591− * @sequence: sequence count of this frame
592− * @memory: the method, in which the actual video data is passed
593− * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;
594− * offset from the start of the device memory for this plane,
595− * (or a "cookie" that should be passed to mmap() as offset)
596− * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
597− * a userspace pointer pointing to this buffer
598− * @planes: for multiplanar buffers; userspace pointer to the array of plane
599− * info structs for this buffer
600− * @length: size in bytes of the buffer (NOT its payload) for single-plane
601− * buffers (when type != *_MPLANE); number of elements in the
602− * planes array for multi-plane buffers
603− * @input: input number from which the video data has has been captured
604− *
605− * Contains data exchanged by application and driver using one of the Streaming
606− * I/O methods.
607− */
608−struct <link linkend="v4l2-buffer">v4l2_buffer</link> {
609− __u32 index;
610− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
611− __u32 bytesused;
612− __u32 flags;
613− enum <link linkend="v4l2-field">v4l2_field</link> field;
614− struct timeval timestamp;
615− struct <link linkend="v4l2-timecode">v4l2_timecode</link> timecode;
616− __u32 sequence;
617−
618− /* memory location */
619− enum <link linkend="v4l2-memory">v4l2_memory</link> memory;
620− union {
621− __u32 offset;
622− unsigned long userptr;
623− struct <link linkend="v4l2-plane">v4l2_plane</link> *planes;
624− } m;
625− __u32 length;
626− __u32 input;
627− __u32 reserved;
628−};
629−
630−/* Flags for 'flags' field */
631−#define V4L2_BUF_FLAG_MAPPED 0x0001 /* Buffer is mapped (flag) */
632−#define V4L2_BUF_FLAG_QUEUED 0x0002 /* Buffer is queued for processing */
633−#define V4L2_BUF_FLAG_DONE 0x0004 /* Buffer is ready */
634−#define V4L2_BUF_FLAG_KEYFRAME 0x0008 /* Image is a keyframe (I-frame) */
635−#define V4L2_BUF_FLAG_PFRAME 0x0010 /* Image is a P-frame */
636−#define V4L2_BUF_FLAG_BFRAME 0x0020 /* Image is a B-frame */
637−/* Buffer is ready, but the data contained within is corrupted. */
638−#define V4L2_BUF_FLAG_ERROR 0x0040
639−#define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */
640−#define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */
641−
642−/*
643− * O V E R L A Y P R E V I E W
644− */
645−struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link> {
646− __u32 capability;
647− __u32 flags;
648−/* FIXME: in theory we should pass something like PCI device + memory
649− * region + offset instead of some physical address */
650− void *base;
651− struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> fmt;
652−};
653−/* Flags for the 'capability' field. Read only */
654−#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001
655−#define V4L2_FBUF_CAP_CHROMAKEY 0x0002
656−#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004
657−#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008
658−#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010
659−#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020
660−#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040
661−#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080
662−/* Flags for the 'flags' field. */
663−#define V4L2_FBUF_FLAG_PRIMARY 0x0001
664−#define V4L2_FBUF_FLAG_OVERLAY 0x0002
665−#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004
666−#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008
667−#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010
668−#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020
669−#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040
670−
671−struct <link linkend="v4l2-clip">v4l2_clip</link> {
672− struct <link linkend="v4l2-rect">v4l2_rect</link> c;
673− struct <link linkend="v4l2-clip">v4l2_clip</link> __user *next;
674−};
675−
676−struct <link linkend="v4l2-window">v4l2_window</link> {
677− struct <link linkend="v4l2-rect">v4l2_rect</link> w;
678− enum <link linkend="v4l2-field">v4l2_field</link> field;
679− __u32 chromakey;
680− struct <link linkend="v4l2-clip">v4l2_clip</link> __user *clips;
681− __u32 clipcount;
682− void __user *bitmap;
683− __u8 global_alpha;
684−};
685−
686−/*
687− * C A P T U R E P A R A M E T E R S
688− */
689−struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> {
690− __u32 capability; /* Supported modes */
691− __u32 capturemode; /* Current mode */
692− struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in .1us units */
693− __u32 extendedmode; /* Driver-specific extensions */
694− __u32 readbuffers; /* # of buffers for read */
695− __u32 reserved[4];
696−};
697−
698−/* Flags for 'capability' and 'capturemode' fields */
699−#define V4L2_MODE_HIGHQUALITY 0x0001 /* High quality imaging mode */
700−#define V4L2_CAP_TIMEPERFRAME 0x1000 /* timeperframe field is supported */
701−
702−struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> {
703− __u32 capability; /* Supported modes */
704− __u32 outputmode; /* Current mode */
705− struct <link linkend="v4l2-fract">v4l2_fract</link> timeperframe; /* Time per frame in seconds */
706− __u32 extendedmode; /* Driver-specific extensions */
707− __u32 writebuffers; /* # of buffers for write */
708− __u32 reserved[4];
709−};
710−
711−/*
712− * I N P U T I M A G E C R O P P I N G
713− */
714−struct <link linkend="v4l2-cropcap">v4l2_cropcap</link> {
715− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
716− struct <link linkend="v4l2-rect">v4l2_rect</link> bounds;
717− struct <link linkend="v4l2-rect">v4l2_rect</link> defrect;
718− struct <link linkend="v4l2-fract">v4l2_fract</link> pixelaspect;
719−};
720−
721−struct <link linkend="v4l2-crop">v4l2_crop</link> {
722− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
723− struct <link linkend="v4l2-rect">v4l2_rect</link> c;
724−};
725−
726−/*
727− * A N A L O G V I D E O S T A N D A R D
728− */
729−
730−typedef __u64 v4l2_std_id;
731−
732−/* one bit for each */
733−#define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001)
734−#define V4L2_STD_PAL_B1 ((v4l2_std_id)0x00000002)
735−#define V4L2_STD_PAL_G ((v4l2_std_id)0x00000004)
736−#define V4L2_STD_PAL_H ((v4l2_std_id)0x00000008)
737−#define V4L2_STD_PAL_I ((v4l2_std_id)0x00000010)
738−#define V4L2_STD_PAL_D ((v4l2_std_id)0x00000020)
739−#define V4L2_STD_PAL_D1 ((v4l2_std_id)0x00000040)
740−#define V4L2_STD_PAL_K ((v4l2_std_id)0x00000080)
741−
742−#define V4L2_STD_PAL_M ((v4l2_std_id)0x00000100)
743−#define V4L2_STD_PAL_N ((v4l2_std_id)0x00000200)
744−#define V4L2_STD_PAL_Nc ((v4l2_std_id)0x00000400)
745−#define V4L2_STD_PAL_60 ((v4l2_std_id)0x00000800)
746−
747−#define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000)
748−#define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000)
749−#define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000)
750−#define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000)
751−
752−#define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000)
753−#define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000)
754−#define V4L2_STD_SECAM_G ((v4l2_std_id)0x00040000)
755−#define V4L2_STD_SECAM_H ((v4l2_std_id)0x00080000)
756−#define V4L2_STD_SECAM_K ((v4l2_std_id)0x00100000)
757−#define V4L2_STD_SECAM_K1 ((v4l2_std_id)0x00200000)
758−#define V4L2_STD_SECAM_L ((v4l2_std_id)0x00400000)
759−#define V4L2_STD_SECAM_LC ((v4l2_std_id)0x00800000)
760−
761−/* ATSC/HDTV */
762−#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id)0x01000000)
763−#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id)0x02000000)
764−
765−/* FIXME:
766− Although std_id is 64 bits, there is an issue on PPC32 architecture that
767− makes switch(__u64) to break. So, there's a hack on v4l2-common.c rounding
768− this value to 32 bits.
769− As, currently, the max value is for V4L2_STD_ATSC_16_VSB (30 bits wide),
770− it should work fine. However, if needed to add more than two standards,
771− v4l2-common.c should be fixed.
772− */
773−
774−/* some merged standards */
775−#define V4L2_STD_MN (V4L2_STD_PAL_M|V4L2_STD_PAL_N|V4L2_STD_PAL_Nc|V4L2_STD_NTSC)
776−#define V4L2_STD_B (V4L2_STD_PAL_B|V4L2_STD_PAL_B1|V4L2_STD_SECAM_B)
777−#define V4L2_STD_GH (V4L2_STD_PAL_G|V4L2_STD_PAL_H|V4L2_STD_SECAM_G|V4L2_STD_SECAM_H)
778−#define V4L2_STD_DK (V4L2_STD_PAL_DK|V4L2_STD_SECAM_DK)
779−
780−/* some common needed stuff */
781−#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\
782− V4L2_STD_PAL_B1 |\
783− V4L2_STD_PAL_G)
784−#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\
785− V4L2_STD_PAL_D1 |\
786− V4L2_STD_PAL_K)
787−#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\
788− V4L2_STD_PAL_DK |\
789− V4L2_STD_PAL_H |\
790− V4L2_STD_PAL_I)
791−#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\
792− V4L2_STD_NTSC_M_JP |\
793− V4L2_STD_NTSC_M_KR)
794−#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\
795− V4L2_STD_SECAM_K |\
796− V4L2_STD_SECAM_K1)
797−#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\
798− V4L2_STD_SECAM_G |\
799− V4L2_STD_SECAM_H |\
800− V4L2_STD_SECAM_DK |\
801− V4L2_STD_SECAM_L |\
802− V4L2_STD_SECAM_LC)
803−
804−#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\
805− V4L2_STD_PAL_60 |\
806− V4L2_STD_NTSC |\
807− V4L2_STD_NTSC_443)
808−#define V4L2_STD_625_50 (V4L2_STD_PAL |\
809− V4L2_STD_PAL_N |\
810− V4L2_STD_PAL_Nc |\
811− V4L2_STD_SECAM)
812−#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\
813− V4L2_STD_ATSC_16_VSB)
814−
815−#define V4L2_STD_UNKNOWN 0
816−#define V4L2_STD_ALL (V4L2_STD_525_60 |\
817− V4L2_STD_625_50)
818−
819−struct <link linkend="v4l2-standard">v4l2_standard</link> {
820− __u32 index;
821− v4l2_std_id id;
822− __u8 name[24];
823− struct <link linkend="v4l2-fract">v4l2_fract</link> frameperiod; /* Frames, not fields */
824− __u32 framelines;
825− __u32 reserved[4];
826−};
827−
828−/*
829− * V I D E O T I M I N G S D V P R E S E T
830− */
831−struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link> {
832− __u32 preset;
833− __u32 reserved[4];
834−};
835−
836−/*
837− * D V P R E S E T S E N U M E R A T I O N
838− */
839−struct <link linkend="v4l2-dv-enum-preset">v4l2_dv_enum_preset</link> {
840− __u32 index;
841− __u32 preset;
842− __u8 name[32]; /* Name of the preset timing */
843− __u32 width;
844− __u32 height;
845− __u32 reserved[4];
846−};
847−
848−/*
849− * D V P R E S E T V A L U E S
850− */
851−#define V4L2_DV_INVALID 0
852−#define V4L2_DV_480P59_94 1 /* BT.1362 */
853−#define V4L2_DV_576P50 2 /* BT.1362 */
854−#define V4L2_DV_720P24 3 /* SMPTE 296M */
855−#define V4L2_DV_720P25 4 /* SMPTE 296M */
856−#define V4L2_DV_720P30 5 /* SMPTE 296M */
857−#define V4L2_DV_720P50 6 /* SMPTE 296M */
858−#define V4L2_DV_720P59_94 7 /* SMPTE 274M */
859−#define V4L2_DV_720P60 8 /* SMPTE 274M/296M */
860−#define V4L2_DV_1080I29_97 9 /* BT.1120/ SMPTE 274M */
861−#define V4L2_DV_1080I30 10 /* BT.1120/ SMPTE 274M */
862−#define V4L2_DV_1080I25 11 /* BT.1120 */
863−#define V4L2_DV_1080I50 12 /* SMPTE 296M */
864−#define V4L2_DV_1080I60 13 /* SMPTE 296M */
865−#define V4L2_DV_1080P24 14 /* SMPTE 296M */
866−#define V4L2_DV_1080P25 15 /* SMPTE 296M */
867−#define V4L2_DV_1080P30 16 /* SMPTE 296M */
868−#define V4L2_DV_1080P50 17 /* BT.1120 */
869−#define V4L2_DV_1080P60 18 /* BT.1120 */
870−
871−/*
872− * D V B T T I M I N G S
873− */
874−
875−/* BT.656/BT.1120 timing data */
876−struct <link linkend="v4l2-bt-timings">v4l2_bt_timings</link> {
877− __u32 width; /* width in pixels */
878− __u32 height; /* height in lines */
879− __u32 interlaced; /* Interlaced or progressive */
880− __u32 polarities; /* Positive or negative polarity */
881− __u64 pixelclock; /* Pixel clock in HZ. Ex. 74.25MHz-&gt;74250000 */
882− __u32 hfrontporch; /* Horizpontal front porch in pixels */
883− __u32 hsync; /* Horizontal Sync length in pixels */
884− __u32 hbackporch; /* Horizontal back porch in pixels */
885− __u32 vfrontporch; /* Vertical front porch in pixels */
886− __u32 vsync; /* Vertical Sync length in lines */
887− __u32 vbackporch; /* Vertical back porch in lines */
888− __u32 il_vfrontporch; /* Vertical front porch for bottom field of
889− * interlaced field formats
890− */
891− __u32 il_vsync; /* Vertical sync length for bottom field of
892− * interlaced field formats
893− */
894− __u32 il_vbackporch; /* Vertical back porch for bottom field of
895− * interlaced field formats
896− */
897− __u32 reserved[16];
898−} __attribute__ ((packed));
899−
900−/* Interlaced or progressive format */
901−#define V4L2_DV_PROGRESSIVE 0
902−#define V4L2_DV_INTERLACED 1
903−
904−/* Polarities. If bit is not set, it is assumed to be negative polarity */
905−#define V4L2_DV_VSYNC_POS_POL 0x00000001
906−#define V4L2_DV_HSYNC_POS_POL 0x00000002
907−
908−
909−/* DV timings */
910−struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link> {
911− __u32 type;
912− union {
913− struct <link linkend="v4l2-bt-timings">v4l2_bt_timings</link> bt;
914− __u32 reserved[32];
915− };
916−} __attribute__ ((packed));
917−
918−/* Values for the type field */
919−#define V4L2_DV_BT_656_1120 0 /* BT.656/1120 timing type */
920−
921−/*
922− * V I D E O I N P U T S
923− */
924−struct <link linkend="v4l2-input">v4l2_input</link> {
925− __u32 index; /* Which input */
926− __u8 name[32]; /* Label */
927− __u32 type; /* Type of input */
928− __u32 audioset; /* Associated audios (bitfield) */
929− __u32 tuner; /* Associated tuner */
930− v4l2_std_id std;
931− __u32 status;
932− __u32 capabilities;
933− __u32 reserved[3];
934−};
935−
936−/* Values for the 'type' field */
937−#define V4L2_INPUT_TYPE_TUNER 1
938−#define V4L2_INPUT_TYPE_CAMERA 2
939−
940−/* field 'status' - general */
941−#define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */
942−#define V4L2_IN_ST_NO_SIGNAL 0x00000002
943−#define V4L2_IN_ST_NO_COLOR 0x00000004
944−
945−/* field 'status' - sensor orientation */
946−/* If sensor is mounted upside down set both bits */
947−#define V4L2_IN_ST_HFLIP 0x00000010 /* Frames are flipped horizontally */
948−#define V4L2_IN_ST_VFLIP 0x00000020 /* Frames are flipped vertically */
949−
950−/* field 'status' - analog */
951−#define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */
952−#define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */
953−
954−/* field 'status' - digital */
955−#define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */
956−#define V4L2_IN_ST_NO_EQU 0x00020000 /* No equalizer lock */
957−#define V4L2_IN_ST_NO_CARRIER 0x00040000 /* Carrier recovery failed */
958−
959−/* field 'status' - VCR and set-top box */
960−#define V4L2_IN_ST_MACROVISION 0x01000000 /* Macrovision detected */
961−#define V4L2_IN_ST_NO_ACCESS 0x02000000 /* Conditional access denied */
962−#define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */
963−
964−/* capabilities flags */
965−#define V4L2_IN_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */
966−#define V4L2_IN_CAP_CUSTOM_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
967−#define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */
968−
969−/*
970− * V I D E O O U T P U T S
971− */
972−struct <link linkend="v4l2-output">v4l2_output</link> {
973− __u32 index; /* Which output */
974− __u8 name[32]; /* Label */
975− __u32 type; /* Type of output */
976− __u32 audioset; /* Associated audios (bitfield) */
977− __u32 modulator; /* Associated modulator */
978− v4l2_std_id std;
979− __u32 capabilities;
980− __u32 reserved[3];
981−};
982−/* Values for the 'type' field */
983−#define V4L2_OUTPUT_TYPE_MODULATOR 1
984−#define V4L2_OUTPUT_TYPE_ANALOG 2
985−#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3
986−
987−/* capabilities flags */
988−#define V4L2_OUT_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */
989−#define V4L2_OUT_CAP_CUSTOM_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
990−#define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */
991−
992−/*
993− * C O N T R O L S
994− */
995−struct <link linkend="v4l2-control">v4l2_control</link> {
996− __u32 id;
997− __s32 value;
998−};
999−
1000−struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> {
1001− __u32 id;
1002− __u32 size;
1003− __u32 reserved2[1];
1004− union {
1005− __s32 value;
1006− __s64 value64;
1007− char *string;
1008− };
1009−} __attribute__ ((packed));
1010−
1011−struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link> {
1012− __u32 ctrl_class;
1013− __u32 count;
1014− __u32 error_idx;
1015− __u32 reserved[2];
1016− struct <link linkend="v4l2-ext-control">v4l2_ext_control</link> *controls;
1017−};
1018−
1019−/* Values for ctrl_class field */
1020−#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
1021−#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */
1022−#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */
1023−#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator control class */
1024−
1025−#define V4L2_CTRL_ID_MASK (0x0fffffff)
1026−#define V4L2_CTRL_ID2CLASS(id) ((id) &amp; 0x0fff0000UL)
1027−#define V4L2_CTRL_DRIVER_PRIV(id) (((id) &amp; 0xffff) &gt;= 0x1000)
1028−
1029−enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> {
1030− V4L2_CTRL_TYPE_INTEGER = 1,
1031− V4L2_CTRL_TYPE_BOOLEAN = 2,
1032− V4L2_CTRL_TYPE_MENU = 3,
1033− V4L2_CTRL_TYPE_BUTTON = 4,
1034− V4L2_CTRL_TYPE_INTEGER64 = 5,
1035− V4L2_CTRL_TYPE_CTRL_CLASS = 6,
1036− V4L2_CTRL_TYPE_STRING = 7,
1037−};
1038−
1039−/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
1040−struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link> {
1041− __u32 id;
1042− enum <link linkend="v4l2-ctrl-type">v4l2_ctrl_type</link> type;
1043− __u8 name[32]; /* Whatever */
1044− __s32 minimum; /* Note signedness */
1045− __s32 maximum;
1046− __s32 step;
1047− __s32 default_value;
1048− __u32 flags;
1049− __u32 reserved[2];
1050−};
1051−
1052−/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
1053−struct <link linkend="v4l2-querymenu">v4l2_querymenu</link> {
1054− __u32 id;
1055− __u32 index;
1056− __u8 name[32]; /* Whatever */
1057− __u32 reserved;
1058−};
1059−
1060−/* Control flags */
1061−#define V4L2_CTRL_FLAG_DISABLED 0x0001
1062−#define V4L2_CTRL_FLAG_GRABBED 0x0002
1063−#define V4L2_CTRL_FLAG_READ_ONLY 0x0004
1064−#define V4L2_CTRL_FLAG_UPDATE 0x0008
1065−#define V4L2_CTRL_FLAG_INACTIVE 0x0010
1066−#define V4L2_CTRL_FLAG_SLIDER 0x0020
1067−#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
1068−
1069−/* Query flag, to be ORed with the control ID */
1070−#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
1071−
1072−/* User-class control IDs defined by V4L2 */
1073−#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
1074−#define V4L2_CID_USER_BASE V4L2_CID_BASE
1075−/* IDs reserved for driver specific controls */
1076−#define V4L2_CID_PRIVATE_BASE 0x08000000
1077−
1078−#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1)
1079−#define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0)
1080−#define V4L2_CID_CONTRAST (V4L2_CID_BASE+1)
1081−#define V4L2_CID_SATURATION (V4L2_CID_BASE+2)
1082−#define V4L2_CID_HUE (V4L2_CID_BASE+3)
1083−#define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5)
1084−#define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6)
1085−#define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7)
1086−#define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8)
1087−#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9)
1088−#define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10)
1089−#define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) /* Deprecated */
1090−#define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12)
1091−#define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13)
1092−#define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14)
1093−#define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15)
1094−#define V4L2_CID_GAMMA (V4L2_CID_BASE+16)
1095−#define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) /* Deprecated */
1096−#define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17)
1097−#define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18)
1098−#define V4L2_CID_GAIN (V4L2_CID_BASE+19)
1099−#define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
1100−#define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
1101−
1102−/* Deprecated; use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */
1103−#define V4L2_CID_HCENTER (V4L2_CID_BASE+22)
1104−#define V4L2_CID_VCENTER (V4L2_CID_BASE+23)
1105−
1106−#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
1107−enum <link linkend="v4l2-power-line-frequency">v4l2_power_line_frequency</link> {
1108− V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0,
1109− V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1,
1110− V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2,
1111−};
1112−#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25)
1113−#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26)
1114−#define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27)
1115−#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
1116−#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
1117−#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
1118−#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
1119−enum <link linkend="v4l2-colorfx">v4l2_colorfx</link> {
1120− V4L2_COLORFX_NONE = 0,
1121− V4L2_COLORFX_BW = 1,
1122− V4L2_COLORFX_SEPIA = 2,
1123− V4L2_COLORFX_NEGATIVE = 3,
1124− V4L2_COLORFX_EMBOSS = 4,
1125− V4L2_COLORFX_SKETCH = 5,
1126− V4L2_COLORFX_SKY_BLUE = 6,
1127− V4L2_COLORFX_GRASS_GREEN = 7,
1128− V4L2_COLORFX_SKIN_WHITEN = 8,
1129− V4L2_COLORFX_VIVID = 9,
1130−};
1131−#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
1132−#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
1133−
1134−#define V4L2_CID_ROTATE (V4L2_CID_BASE+34)
1135−#define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35)
1136−
1137−#define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36)
1138−
1139−#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37)
1140−#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38)
1141−
1142−/* last CID + 1 */
1143−#define V4L2_CID_LASTP1 (V4L2_CID_BASE+39)
1144−
1145−/* MPEG-class control IDs defined by V4L2 */
1146−#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
1147−#define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1)
1148−
1149−/* MPEG streams */
1150−#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0)
1151−enum <link linkend="v4l2-mpeg-stream-type">v4l2_mpeg_stream_type</link> {
1152− V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
1153− V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
1154− V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
1155− V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
1156− V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
1157− V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
1158−};
1159−#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1)
1160−#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2)
1161−#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3)
1162−#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4)
1163−#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5)
1164−#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6)
1165−#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7)
1166−enum <link linkend="v4l2-mpeg-stream-vbi-fmt">v4l2_mpeg_stream_vbi_fmt</link> {
1167− V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */
1168− V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
1169−};
1170−
1171−/* MPEG audio */
1172−#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100)
1173−enum <link linkend="v4l2-mpeg-audio-sampling-freq">v4l2_mpeg_audio_sampling_freq</link> {
1174− V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,
1175− V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
1176− V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,
1177−};
1178−#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101)
1179−enum <link linkend="v4l2-mpeg-audio-encoding">v4l2_mpeg_audio_encoding</link> {
1180− V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,
1181− V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
1182− V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2,
1183− V4L2_MPEG_AUDIO_ENCODING_AAC = 3,
1184− V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,
1185−};
1186−#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102)
1187−enum <link linkend="v4l2-mpeg-audio-l1-bitrate">v4l2_mpeg_audio_l1_bitrate</link> {
1188− V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,
1189− V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
1190− V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2,
1191− V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3,
1192− V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4,
1193− V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5,
1194− V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6,
1195− V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7,
1196− V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8,
1197− V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9,
1198− V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10,
1199− V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11,
1200− V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,
1201− V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,
1202−};
1203−#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103)
1204−enum <link linkend="v4l2-mpeg-audio-l2-bitrate">v4l2_mpeg_audio_l2_bitrate</link> {
1205− V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,
1206− V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
1207− V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2,
1208− V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3,
1209− V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4,
1210− V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5,
1211− V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6,
1212− V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7,
1213− V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8,
1214− V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9,
1215− V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10,
1216− V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11,
1217− V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,
1218− V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,
1219−};
1220−#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104)
1221−enum <link linkend="v4l2-mpeg-audio-l3-bitrate">v4l2_mpeg_audio_l3_bitrate</link> {
1222− V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,
1223− V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
1224− V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2,
1225− V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3,
1226− V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4,
1227− V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5,
1228− V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6,
1229− V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7,
1230− V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8,
1231− V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9,
1232− V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10,
1233− V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11,
1234− V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,
1235− V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,
1236−};
1237−#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105)
1238−enum <link linkend="v4l2-mpeg-audio-mode">v4l2_mpeg_audio_mode</link> {
1239− V4L2_MPEG_AUDIO_MODE_STEREO = 0,
1240− V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
1241− V4L2_MPEG_AUDIO_MODE_DUAL = 2,
1242− V4L2_MPEG_AUDIO_MODE_MONO = 3,
1243−};
1244−#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106)
1245−enum <link linkend="v4l2-mpeg-audio-mode-extension">v4l2_mpeg_audio_mode_extension</link> {
1246− V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,
1247− V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
1248− V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,
1249− V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,
1250−};
1251−#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107)
1252−enum <link linkend="v4l2-mpeg-audio-emphasis">v4l2_mpeg_audio_emphasis</link> {
1253− V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,
1254− V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
1255− V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,
1256−};
1257−#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108)
1258−enum <link linkend="v4l2-mpeg-audio-crc">v4l2_mpeg_audio_crc</link> {
1259− V4L2_MPEG_AUDIO_CRC_NONE = 0,
1260− V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
1261−};
1262−#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109)
1263−#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110)
1264−#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111)
1265−enum <link linkend="v4l2-mpeg-audio-ac3-bitrate">v4l2_mpeg_audio_ac3_bitrate</link> {
1266− V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,
1267− V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
1268− V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2,
1269− V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3,
1270− V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4,
1271− V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5,
1272− V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6,
1273− V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7,
1274− V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8,
1275− V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9,
1276− V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10,
1277− V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11,
1278− V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12,
1279− V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13,
1280− V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14,
1281− V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15,
1282− V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16,
1283− V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,
1284− V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,
1285−};
1286−
1287−/* MPEG video */
1288−#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200)
1289−enum <link linkend="v4l2-mpeg-video-encoding">v4l2_mpeg_video_encoding</link> {
1290− V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,
1291− V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
1292− V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,
1293−};
1294−#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201)
1295−enum <link linkend="v4l2-mpeg-video-aspect">v4l2_mpeg_video_aspect</link> {
1296− V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,
1297− V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
1298− V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,
1299− V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,
1300−};
1301−#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202)
1302−#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203)
1303−#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204)
1304−#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205)
1305−#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206)
1306−enum <link linkend="v4l2-mpeg-video-bitrate-mode">v4l2_mpeg_video_bitrate_mode</link> {
1307− V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,
1308− V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
1309−};
1310−#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207)
1311−#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208)
1312−#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)
1313−#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210)
1314−#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211)
1315−
1316−/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
1317−#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
1318−#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)
1319−enum <link linkend="v4l2-mpeg-cx2341x-video-spatial-filter-mode">v4l2_mpeg_cx2341x_video_spatial_filter_mode</link> {
1320− V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
1321− V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
1322−};
1323−#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)
1324−#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
1325−enum <link linkend="luma-spatial-filter-type">v4l2_mpeg_cx2341x_video_luma_spatial_filter_type</link> {
1326− V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
1327− V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
1328− V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
1329− V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
1330− V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
1331−};
1332−#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
1333−enum <link linkend="chroma-spatial-filter-type">v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type</link> {
1334− V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
1335− V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
1336−};
1337−#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)
1338−enum <link linkend="v4l2-mpeg-cx2341x-video-temporal-filter-mode">v4l2_mpeg_cx2341x_video_temporal_filter_mode</link> {
1339− V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
1340− V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
1341−};
1342−#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)
1343−#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)
1344−enum <link linkend="v4l2-mpeg-cx2341x-video-median-filter-type">v4l2_mpeg_cx2341x_video_median_filter_type</link> {
1345− V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
1346− V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
1347− V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2,
1348− V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
1349− V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
1350−};
1351−#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)
1352−#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
1353−#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9)
1354−#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)
1355−#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)
1356−
1357−/* Camera class control IDs */
1358−#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
1359−#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
1360−
1361−#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
1362−enum <link linkend="v4l2-exposure-auto-type">v4l2_exposure_auto_type</link> {
1363− V4L2_EXPOSURE_AUTO = 0,
1364− V4L2_EXPOSURE_MANUAL = 1,
1365− V4L2_EXPOSURE_SHUTTER_PRIORITY = 2,
1366− V4L2_EXPOSURE_APERTURE_PRIORITY = 3
1367−};
1368−#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2)
1369−#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3)
1370−
1371−#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4)
1372−#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5)
1373−#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6)
1374−#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7)
1375−
1376−#define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8)
1377−#define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9)
1378−
1379−#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10)
1380−#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11)
1381−#define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12)
1382−
1383−#define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13)
1384−#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14)
1385−#define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15)
1386−
1387−#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
1388−
1389−#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
1390−#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18)
1391−
1392−/* FM Modulator class control IDs */
1393−#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
1394−#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
1395−
1396−#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
1397−#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2)
1398−#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3)
1399−#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5)
1400−#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6)
1401−
1402−#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64)
1403−#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65)
1404−#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66)
1405−
1406−#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80)
1407−#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81)
1408−#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82)
1409−#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83)
1410−#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84)
1411−
1412−#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96)
1413−#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97)
1414−#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98)
1415−
1416−#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
1417−enum <link linkend="v4l2-preemphasis">v4l2_preemphasis</link> {
1418− V4L2_PREEMPHASIS_DISABLED = 0,
1419− V4L2_PREEMPHASIS_50_uS = 1,
1420− V4L2_PREEMPHASIS_75_uS = 2,
1421−};
1422−#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
1423−#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
1424−
1425−/*
1426− * T U N I N G
1427− */
1428−struct <link linkend="v4l2-tuner">v4l2_tuner</link> {
1429− __u32 index;
1430− __u8 name[32];
1431− enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1432− __u32 capability;
1433− __u32 rangelow;
1434− __u32 rangehigh;
1435− __u32 rxsubchans;
1436− __u32 audmode;
1437− __s32 signal;
1438− __s32 afc;
1439− __u32 reserved[4];
1440−};
1441−
1442−struct <link linkend="v4l2-modulator">v4l2_modulator</link> {
1443− __u32 index;
1444− __u8 name[32];
1445− __u32 capability;
1446− __u32 rangelow;
1447− __u32 rangehigh;
1448− __u32 txsubchans;
1449− __u32 reserved[4];
1450−};
1451−
1452−/* Flags for the 'capability' field */
1453−#define V4L2_TUNER_CAP_LOW 0x0001
1454−#define V4L2_TUNER_CAP_NORM 0x0002
1455−#define V4L2_TUNER_CAP_STEREO 0x0010
1456−#define V4L2_TUNER_CAP_LANG2 0x0020
1457−#define V4L2_TUNER_CAP_SAP 0x0020
1458−#define V4L2_TUNER_CAP_LANG1 0x0040
1459−#define V4L2_TUNER_CAP_RDS 0x0080
1460−#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100
1461−#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200
1462−
1463−/* Flags for the 'rxsubchans' field */
1464−#define V4L2_TUNER_SUB_MONO 0x0001
1465−#define V4L2_TUNER_SUB_STEREO 0x0002
1466−#define V4L2_TUNER_SUB_LANG2 0x0004
1467−#define V4L2_TUNER_SUB_SAP 0x0004
1468−#define V4L2_TUNER_SUB_LANG1 0x0008
1469−#define V4L2_TUNER_SUB_RDS 0x0010
1470−
1471−/* Values for the 'audmode' field */
1472−#define V4L2_TUNER_MODE_MONO 0x0000
1473−#define V4L2_TUNER_MODE_STEREO 0x0001
1474−#define V4L2_TUNER_MODE_LANG2 0x0002
1475−#define V4L2_TUNER_MODE_SAP 0x0002
1476−#define V4L2_TUNER_MODE_LANG1 0x0003
1477−#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004
1478−
1479−struct <link linkend="v4l2-frequency">v4l2_frequency</link> {
1480− __u32 tuner;
1481− enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1482− __u32 frequency;
1483− __u32 reserved[8];
1484−};
1485−
1486−struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link> {
1487− __u32 tuner;
1488− enum <link linkend="v4l2-tuner-type">v4l2_tuner_type</link> type;
1489− __u32 seek_upward;
1490− __u32 wrap_around;
1491− __u32 spacing;
1492− __u32 reserved[7];
1493−};
1494−
1495−/*
1496− * R D S
1497− */
1498−
1499−struct <link linkend="v4l2-rds-data">v4l2_rds_data</link> {
1500− __u8 lsb;
1501− __u8 msb;
1502− __u8 block;
1503−} __attribute__ ((packed));
1504−
1505−#define V4L2_RDS_BLOCK_MSK 0x7
1506−#define V4L2_RDS_BLOCK_A 0
1507−#define V4L2_RDS_BLOCK_B 1
1508−#define V4L2_RDS_BLOCK_C 2
1509−#define V4L2_RDS_BLOCK_D 3
1510−#define V4L2_RDS_BLOCK_C_ALT 4
1511−#define V4L2_RDS_BLOCK_INVALID 7
1512−
1513−#define V4L2_RDS_BLOCK_CORRECTED 0x40
1514−#define V4L2_RDS_BLOCK_ERROR 0x80
1515−
1516−/*
1517− * A U D I O
1518− */
1519−struct <link linkend="v4l2-audio">v4l2_audio</link> {
1520− __u32 index;
1521− __u8 name[32];
1522− __u32 capability;
1523− __u32 mode;
1524− __u32 reserved[2];
1525−};
1526−
1527−/* Flags for the 'capability' field */
1528−#define V4L2_AUDCAP_STEREO 0x00001
1529−#define V4L2_AUDCAP_AVL 0x00002
1530−
1531−/* Flags for the 'mode' field */
1532−#define V4L2_AUDMODE_AVL 0x00001
1533−
1534−struct <link linkend="v4l2-audioout">v4l2_audioout</link> {
1535− __u32 index;
1536− __u8 name[32];
1537− __u32 capability;
1538− __u32 mode;
1539− __u32 reserved[2];
1540−};
1541−
1542−/*
1543− * M P E G S E R V I C E S
1544− *
1545− * NOTE: EXPERIMENTAL API
1546− */
1547−#if 1
1548−#define V4L2_ENC_IDX_FRAME_I (0)
1549−#define V4L2_ENC_IDX_FRAME_P (1)
1550−#define V4L2_ENC_IDX_FRAME_B (2)
1551−#define V4L2_ENC_IDX_FRAME_MASK (0xf)
1552−
1553−struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> {
1554− __u64 offset;
1555− __u64 pts;
1556− __u32 length;
1557− __u32 flags;
1558− __u32 reserved[2];
1559−};
1560−
1561−#define V4L2_ENC_IDX_ENTRIES (64)
1562−struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link> {
1563− __u32 entries;
1564− __u32 entries_cap;
1565− __u32 reserved[4];
1566− struct <link linkend="v4l2-enc-idx-entry">v4l2_enc_idx_entry</link> entry[V4L2_ENC_IDX_ENTRIES];
1567−};
1568−
1569−
1570−#define V4L2_ENC_CMD_START (0)
1571−#define V4L2_ENC_CMD_STOP (1)
1572−#define V4L2_ENC_CMD_PAUSE (2)
1573−#define V4L2_ENC_CMD_RESUME (3)
1574−
1575−/* Flags for V4L2_ENC_CMD_STOP */
1576−#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 &lt;&lt; 0)
1577−
1578−struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link> {
1579− __u32 cmd;
1580− __u32 flags;
1581− union {
1582− struct {
1583− __u32 data[8];
1584− } raw;
1585− };
1586−};
1587−
1588−#endif
1589−
1590−
1591−/*
1592− * D A T A S E R V I C E S ( V B I )
1593− *
1594− * Data services API by Michael Schimek
1595− */
1596−
1597−/* Raw VBI */
1598−struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> {
1599− __u32 sampling_rate; /* in 1 Hz */
1600− __u32 offset;
1601− __u32 samples_per_line;
1602− __u32 sample_format; /* V4L2_PIX_FMT_* */
1603− __s32 start[2];
1604− __u32 count[2];
1605− __u32 flags; /* V4L2_VBI_* */
1606− __u32 reserved[2]; /* must be zero */
1607−};
1608−
1609−/* VBI flags */
1610−#define V4L2_VBI_UNSYNC (1 &lt;&lt; 0)
1611−#define V4L2_VBI_INTERLACED (1 &lt;&lt; 1)
1612−
1613−/* Sliced VBI
1614− *
1615− * This implements is a proposal V4L2 API to allow SLICED VBI
1616− * required for some hardware encoders. It should change without
1617− * notice in the definitive implementation.
1618− */
1619−
1620−struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> {
1621− __u16 service_set;
1622− /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
1623− service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
1624− (equals frame lines 313-336 for 625 line video
1625− standards, 263-286 for 525 line standards) */
1626− __u16 service_lines[2][24];
1627− __u32 io_size;
1628− __u32 reserved[2]; /* must be zero */
1629−};
1630−
1631−/* Teletext World System Teletext
1632− (WST), defined on ITU-R BT.653-2 */
1633−#define V4L2_SLICED_TELETEXT_B (0x0001)
1634−/* Video Program System, defined on ETS 300 231*/
1635−#define V4L2_SLICED_VPS (0x0400)
1636−/* Closed Caption, defined on EIA-608 */
1637−#define V4L2_SLICED_CAPTION_525 (0x1000)
1638−/* Wide Screen System, defined on ITU-R BT1119.1 */
1639−#define V4L2_SLICED_WSS_625 (0x4000)
1640−
1641−#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525)
1642−#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)
1643−
1644−struct <link linkend="v4l2-sliced-vbi-cap">v4l2_sliced_vbi_cap</link> {
1645− __u16 service_set;
1646− /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
1647− service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
1648− (equals frame lines 313-336 for 625 line video
1649− standards, 263-286 for 525 line standards) */
1650− __u16 service_lines[2][24];
1651− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1652− __u32 reserved[3]; /* must be 0 */
1653−};
1654−
1655−struct <link linkend="v4l2-sliced-vbi-data">v4l2_sliced_vbi_data</link> {
1656− __u32 id;
1657− __u32 field; /* 0: first field, 1: second field */
1658− __u32 line; /* 1-23 */
1659− __u32 reserved; /* must be 0 */
1660− __u8 data[48];
1661−};
1662−
1663−/*
1664− * Sliced VBI data inserted into MPEG Streams
1665− */
1666−
1667−/*
1668− * V4L2_MPEG_STREAM_VBI_FMT_IVTV:
1669− *
1670− * Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
1671− * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
1672− * data
1673− *
1674− * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
1675− * definitions are not included here. See the MPEG-2 specifications for details
1676− * on these headers.
1677− */
1678−
1679−/* Line type IDs */
1680−#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
1681−#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
1682−#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
1683−#define V4L2_MPEG_VBI_IVTV_VPS (7)
1684−
1685−struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> {
1686− __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
1687− __u8 data[42]; /* Sliced VBI data for the line */
1688−} __attribute__ ((packed));
1689−
1690−struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> {
1691− __le32 linemask[2]; /* Bitmasks of VBI service lines present */
1692− struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[35];
1693−} __attribute__ ((packed));
1694−
1695−struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> {
1696− struct <link linkend="v4l2-mpeg-vbi-itv0-line">v4l2_mpeg_vbi_itv0_line</link> line[36];
1697−} __attribute__ ((packed));
1698−
1699−#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
1700−#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
1701−
1702−struct <link linkend="v4l2-mpeg-vbi-fmt-ivtv">v4l2_mpeg_vbi_fmt_ivtv</link> {
1703− __u8 magic[4];
1704− union {
1705− struct <link linkend="v4l2-mpeg-vbi-itv0">v4l2_mpeg_vbi_itv0</link> itv0;
1706− struct <link linkend="v4l2-mpeg-vbi-itv0-1">v4l2_mpeg_vbi_ITV0</link> ITV0;
1707− };
1708−} __attribute__ ((packed));
1709−
1710−/*
1711− * A G G R E G A T E S T R U C T U R E S
1712− */
1713−
1714−/**
1715− * struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> - additional, per-plane format definition
1716− * @sizeimage: maximum size in bytes required for data, for which
1717− * this plane will be used
1718− * @bytesperline: distance in bytes between the leftmost pixels in two
1719− * adjacent lines
1720− */
1721−struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> {
1722− __u32 sizeimage;
1723− __u16 bytesperline;
1724− __u16 reserved[7];
1725−} __attribute__ ((packed));
1726−
1727−/**
1728− * struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> - multiplanar format definition
1729− * @width: image width in pixels
1730− * @height: image height in pixels
1731− * @pixelformat: little endian four character code (fourcc)
1732− * @field: field order (for interlaced video)
1733− * @colorspace: supplemental to pixelformat
1734− * @plane_fmt: per-plane information
1735− * @num_planes: number of planes for this format
1736− */
1737−struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> {
1738− __u32 width;
1739− __u32 height;
1740− __u32 pixelformat;
1741− enum <link linkend="v4l2-field">v4l2_field</link> field;
1742− enum <link linkend="v4l2-colorspace">v4l2_colorspace</link> colorspace;
1743−
1744− struct <link linkend="v4l2-plane-pix-format">v4l2_plane_pix_format</link> plane_fmt[VIDEO_MAX_PLANES];
1745− __u8 num_planes;
1746− __u8 reserved[11];
1747−} __attribute__ ((packed));
1748−
1749−/**
1750− * struct <link linkend="v4l2-format">v4l2_format</link> - stream data format
1751− * @type: type of the data stream
1752− * @pix: definition of an image format
1753− * @pix_mp: definition of a multiplanar image format
1754− * @win: definition of an overlaid image
1755− * @vbi: raw VBI capture or output parameters
1756− * @sliced: sliced VBI capture or output parameters
1757− * @raw_data: placeholder for future extensions and custom formats
1758− */
1759−struct <link linkend="v4l2-format">v4l2_format</link> {
1760− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1761− union {
1762− struct <link linkend="v4l2-pix-format">v4l2_pix_format</link> pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */
1763− struct <link linkend="v4l2-pix-format-mplane">v4l2_pix_format_mplane</link> pix_mp; /* V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE */
1764− struct <link linkend="v4l2-window">v4l2_window</link> win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */
1765− struct <link linkend="v4l2-vbi-format">v4l2_vbi_format</link> vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */
1766− struct <link linkend="v4l2-sliced-vbi-format">v4l2_sliced_vbi_format</link> sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */
1767− __u8 raw_data[200]; /* user-defined */
1768− } fmt;
1769−};
1770−
1771−/* Stream type-dependent parameters
1772− */
1773−struct <link linkend="v4l2-streamparm">v4l2_streamparm</link> {
1774− enum <link linkend="v4l2-buf-type">v4l2_buf_type</link> type;
1775− union {
1776− struct <link linkend="v4l2-captureparm">v4l2_captureparm</link> capture;
1777− struct <link linkend="v4l2-outputparm">v4l2_outputparm</link> output;
1778− __u8 raw_data[200]; /* user-defined */
1779− } parm;
1780−};
1781−
1782−/*
1783− * E V E N T S
1784− */
1785−
1786−#define V4L2_EVENT_ALL 0
1787−#define V4L2_EVENT_VSYNC 1
1788−#define V4L2_EVENT_EOS 2
1789−#define V4L2_EVENT_PRIVATE_START 0x08000000
1790−
1791−/* Payload for V4L2_EVENT_VSYNC */
1792−struct <link linkend="v4l2-event-vsync">v4l2_event_vsync</link> {
1793− /* Can be V4L2_FIELD_ANY, _NONE, _TOP or _BOTTOM */
1794− __u8 field;
1795−} __attribute__ ((packed));
1796−
1797−struct <link linkend="v4l2-event">v4l2_event</link> {
1798− __u32 type;
1799− union {
1800− struct <link linkend="v4l2-event-vsync">v4l2_event_vsync</link> vsync;
1801− __u8 data[64];
1802− } u;
1803− __u32 pending;
1804− __u32 sequence;
1805− struct timespec timestamp;
1806− __u32 reserved[9];
1807−};
1808−
1809−struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link> {
1810− __u32 type;
1811− __u32 reserved[7];
1812−};
1813−
1814−/*
1815− * A D V A N C E D D E B U G G I N G
1816− *
1817− * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS!
1818− * FOR DEBUGGING, TESTING AND INTERNAL USE ONLY!
1819− */
1820−
1821−/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */
1822−
1823−#define V4L2_CHIP_MATCH_HOST 0 /* Match against chip ID on host (0 for the host) */
1824−#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */
1825−#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
1826−#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */
1827−
1828−struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> {
1829− __u32 type; /* Match type */
1830− union { /* Match this chip, meaning determined by type */
1831− __u32 addr;
1832− char name[32];
1833− };
1834−} __attribute__ ((packed));
1835−
1836−struct <link linkend="v4l2-dbg-register">v4l2_dbg_register</link> {
1837− struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match;
1838− __u32 size; /* register size in bytes */
1839− __u64 reg;
1840− __u64 val;
1841−} __attribute__ ((packed));
1842−
1843−/* VIDIOC_DBG_G_CHIP_IDENT */
1844−struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link> {
1845− struct <link linkend="v4l2-dbg-match">v4l2_dbg_match</link> match;
1846− __u32 ident; /* chip identifier as specified in &lt;media/v4l2-chip-ident.h&gt; */
1847− __u32 revision; /* chip revision, chip specific */
1848−} __attribute__ ((packed));
1849−
1850−/*
1851− * I O C T L C O D E S F O R V I D E O D E V I C E S
1852− *
1853− */
1854−#define VIDIOC_QUERYCAP _IOR('V', 0, struct <link linkend="v4l2-capability">v4l2_capability</link>)
1855−#define VIDIOC_RESERVED _IO('V', 1)
1856−#define VIDIOC_ENUM_FMT _IOWR('V', 2, struct <link linkend="v4l2-fmtdesc">v4l2_fmtdesc</link>)
1857−#define VIDIOC_G_FMT _IOWR('V', 4, struct <link linkend="v4l2-format">v4l2_format</link>)
1858−#define VIDIOC_S_FMT _IOWR('V', 5, struct <link linkend="v4l2-format">v4l2_format</link>)
1859−#define VIDIOC_REQBUFS _IOWR('V', 8, struct <link linkend="v4l2-requestbuffers">v4l2_requestbuffers</link>)
1860−#define VIDIOC_QUERYBUF _IOWR('V', 9, struct <link linkend="v4l2-buffer">v4l2_buffer</link>)
1861−#define VIDIOC_G_FBUF _IOR('V', 10, struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link>)
1862−#define VIDIOC_S_FBUF _IOW('V', 11, struct <link linkend="v4l2-framebuffer">v4l2_framebuffer</link>)
1863−#define VIDIOC_OVERLAY _IOW('V', 14, int)
1864−#define VIDIOC_QBUF _IOWR('V', 15, struct <link linkend="v4l2-buffer">v4l2_buffer</link>)
1865−#define VIDIOC_DQBUF _IOWR('V', 17, struct <link linkend="v4l2-buffer">v4l2_buffer</link>)
1866−#define VIDIOC_STREAMON _IOW('V', 18, int)
1867−#define VIDIOC_STREAMOFF _IOW('V', 19, int)
1868−#define VIDIOC_G_PARM _IOWR('V', 21, struct <link linkend="v4l2-streamparm">v4l2_streamparm</link>)
1869−#define VIDIOC_S_PARM _IOWR('V', 22, struct <link linkend="v4l2-streamparm">v4l2_streamparm</link>)
1870−#define VIDIOC_G_STD _IOR('V', 23, v4l2_std_id)
1871−#define VIDIOC_S_STD _IOW('V', 24, v4l2_std_id)
1872−#define VIDIOC_ENUMSTD _IOWR('V', 25, struct <link linkend="v4l2-standard">v4l2_standard</link>)
1873−#define VIDIOC_ENUMINPUT _IOWR('V', 26, struct <link linkend="v4l2-input">v4l2_input</link>)
1874−#define VIDIOC_G_CTRL _IOWR('V', 27, struct <link linkend="v4l2-control">v4l2_control</link>)
1875−#define VIDIOC_S_CTRL _IOWR('V', 28, struct <link linkend="v4l2-control">v4l2_control</link>)
1876−#define VIDIOC_G_TUNER _IOWR('V', 29, struct <link linkend="v4l2-tuner">v4l2_tuner</link>)
1877−#define VIDIOC_S_TUNER _IOW('V', 30, struct <link linkend="v4l2-tuner">v4l2_tuner</link>)
1878−#define VIDIOC_G_AUDIO _IOR('V', 33, struct <link linkend="v4l2-audio">v4l2_audio</link>)
1879−#define VIDIOC_S_AUDIO _IOW('V', 34, struct <link linkend="v4l2-audio">v4l2_audio</link>)
1880−#define VIDIOC_QUERYCTRL _IOWR('V', 36, struct <link linkend="v4l2-queryctrl">v4l2_queryctrl</link>)
1881−#define VIDIOC_QUERYMENU _IOWR('V', 37, struct <link linkend="v4l2-querymenu">v4l2_querymenu</link>)
1882−#define VIDIOC_G_INPUT _IOR('V', 38, int)
1883−#define VIDIOC_S_INPUT _IOWR('V', 39, int)
1884−#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
1885−#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
1886−#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct <link linkend="v4l2-output">v4l2_output</link>)
1887−#define VIDIOC_G_AUDOUT _IOR('V', 49, struct <link linkend="v4l2-audioout">v4l2_audioout</link>)
1888−#define VIDIOC_S_AUDOUT _IOW('V', 50, struct <link linkend="v4l2-audioout">v4l2_audioout</link>)
1889−#define VIDIOC_G_MODULATOR _IOWR('V', 54, struct <link linkend="v4l2-modulator">v4l2_modulator</link>)
1890−#define VIDIOC_S_MODULATOR _IOW('V', 55, struct <link linkend="v4l2-modulator">v4l2_modulator</link>)
1891−#define VIDIOC_G_FREQUENCY _IOWR('V', 56, struct <link linkend="v4l2-frequency">v4l2_frequency</link>)
1892−#define VIDIOC_S_FREQUENCY _IOW('V', 57, struct <link linkend="v4l2-frequency">v4l2_frequency</link>)
1893−#define VIDIOC_CROPCAP _IOWR('V', 58, struct <link linkend="v4l2-cropcap">v4l2_cropcap</link>)
1894−#define VIDIOC_G_CROP _IOWR('V', 59, struct <link linkend="v4l2-crop">v4l2_crop</link>)
1895−#define VIDIOC_S_CROP _IOW('V', 60, struct <link linkend="v4l2-crop">v4l2_crop</link>)
1896−#define VIDIOC_G_JPEGCOMP _IOR('V', 61, struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link>)
1897−#define VIDIOC_S_JPEGCOMP _IOW('V', 62, struct <link linkend="v4l2-jpegcompression">v4l2_jpegcompression</link>)
1898−#define VIDIOC_QUERYSTD _IOR('V', 63, v4l2_std_id)
1899−#define VIDIOC_TRY_FMT _IOWR('V', 64, struct <link linkend="v4l2-format">v4l2_format</link>)
1900−#define VIDIOC_ENUMAUDIO _IOWR('V', 65, struct <link linkend="v4l2-audio">v4l2_audio</link>)
1901−#define VIDIOC_ENUMAUDOUT _IOWR('V', 66, struct <link linkend="v4l2-audioout">v4l2_audioout</link>)
1902−#define VIDIOC_G_PRIORITY _IOR('V', 67, enum <link linkend="v4l2-priority">v4l2_priority</link>)
1903−#define VIDIOC_S_PRIORITY _IOW('V', 68, enum <link linkend="v4l2-priority">v4l2_priority</link>)
1904−#define VIDIOC_G_SLICED_VBI_CAP _IOWR('V', 69, struct <link linkend="v4l2-sliced-vbi-cap">v4l2_sliced_vbi_cap</link>)
1905−#define VIDIOC_LOG_STATUS _IO('V', 70)
1906−#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>)
1907−#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>)
1908−#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct <link linkend="v4l2-ext-controls">v4l2_ext_controls</link>)
1909−#if 1
1910−#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct <link linkend="v4l2-frmsizeenum">v4l2_frmsizeenum</link>)
1911−#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct <link linkend="v4l2-frmivalenum">v4l2_frmivalenum</link>)
1912−#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct <link linkend="v4l2-enc-idx">v4l2_enc_idx</link>)
1913−#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link>)
1914−#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct <link linkend="v4l2-encoder-cmd">v4l2_encoder_cmd</link>)
1915−#endif
1916−
1917−#if 1
1918−/* Experimental, meant for debugging, testing and internal use.
1919− Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.
1920− You must be root to use these ioctls. Never use these in applications! */
1921−#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct <link linkend="v4l2-dbg-register">v4l2_dbg_register</link>)
1922−#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct <link linkend="v4l2-dbg-register">v4l2_dbg_register</link>)
1923−
1924−/* Experimental, meant for debugging, testing and internal use.
1925− Never use this ioctl in applications! */
1926−#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct <link linkend="v4l2-dbg-chip-ident">v4l2_dbg_chip_ident</link>)
1927−#endif
1928−
1929−#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct <link linkend="v4l2-hw-freq-seek">v4l2_hw_freq_seek</link>)
1930−#define VIDIOC_ENUM_DV_PRESETS _IOWR('V', 83, struct <link linkend="v4l2-dv-enum-preset">v4l2_dv_enum_preset</link>)
1931−#define VIDIOC_S_DV_PRESET _IOWR('V', 84, struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link>)
1932−#define VIDIOC_G_DV_PRESET _IOWR('V', 85, struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link>)
1933−#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct <link linkend="v4l2-dv-preset">v4l2_dv_preset</link>)
1934−#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>)
1935−#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct <link linkend="v4l2-dv-timings">v4l2_dv_timings</link>)
1936−#define VIDIOC_DQEVENT _IOR('V', 89, struct <link linkend="v4l2-event">v4l2_event</link>)
1937−#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link>)
1938−#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct <link linkend="v4l2-event-subscription">v4l2_event_subscription</link>)
1939−
1940−/* Reminder: when adding new ioctls please add support for them to
1941− drivers/media/video/v4l2-compat-ioctl32.c as well! */
1942−
1943−#define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */
1944−
1945−#endif /* __LINUX_VIDEODEV2_H */
1946−</programlisting>
Documentation/DocBook/v4l/vidioc-subscribe-event.xml+0−133
@@ -1,133 +0,0 @@
1−<refentry id="vidioc-subscribe-event">
2− <refmeta>
3− <refentrytitle>ioctl VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refentrytitle>
4− &manvol;
5− </refmeta>
6−
7− <refnamediv>
8− <refname>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</refname>
9− <refpurpose>Subscribe or unsubscribe event</refpurpose>
10− </refnamediv>
11−
12− <refsynopsisdiv>
13− <funcsynopsis>
14− <funcprototype>
15− <funcdef>int <function>ioctl</function></funcdef>
16− <paramdef>int <parameter>fd</parameter></paramdef>
17− <paramdef>int <parameter>request</parameter></paramdef>
18− <paramdef>struct v4l2_event_subscription
19−*<parameter>argp</parameter></paramdef>
20− </funcprototype>
21− </funcsynopsis>
22− </refsynopsisdiv>
23−
24− <refsect1>
25− <title>Arguments</title>
26−
27− <variablelist>
28− <varlistentry>
29− <term><parameter>fd</parameter></term>
30− <listitem>
31− <para>&fd;</para>
32− </listitem>
33− </varlistentry>
34− <varlistentry>
35− <term><parameter>request</parameter></term>
36− <listitem>
37− <para>VIDIOC_SUBSCRIBE_EVENT, VIDIOC_UNSUBSCRIBE_EVENT</para>
38− </listitem>
39− </varlistentry>
40− <varlistentry>
41− <term><parameter>argp</parameter></term>
42− <listitem>
43− <para></para>
44− </listitem>
45− </varlistentry>
46− </variablelist>
47− </refsect1>
48−
49− <refsect1>
50− <title>Description</title>
51−
52− <para>Subscribe or unsubscribe V4L2 event. Subscribed events are
53− dequeued by using the &VIDIOC-DQEVENT; ioctl.</para>
54−
55− <table frame="none" pgwide="1" id="v4l2-event-subscription">
56− <title>struct <structname>v4l2_event_subscription</structname></title>
57− <tgroup cols="3">
58− &cs-str;
59− <tbody valign="top">
60− <row>
61− <entry>__u32</entry>
62− <entry><structfield>type</structfield></entry>
63− <entry>Type of the event.</entry>
64− </row>
65− <row>
66− <entry>__u32</entry>
67− <entry><structfield>reserved</structfield>[7]</entry>
68− <entry>Reserved for future extensions. Drivers and applications
69− must set the array to zero.</entry>
70− </row>
71− </tbody>
72− </tgroup>
73− </table>
74−
75− <table frame="none" pgwide="1" id="event-type">
76− <title>Event Types</title>
77− <tgroup cols="3">
78− &cs-def;
79− <tbody valign="top">
80− <row>
81− <entry><constant>V4L2_EVENT_ALL</constant></entry>
82− <entry>0</entry>
83− <entry>All events. V4L2_EVENT_ALL is valid only for
84− VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once.
85− </entry>
86− </row>
87− <row>
88− <entry><constant>V4L2_EVENT_VSYNC</constant></entry>
89− <entry>1</entry>
90− <entry>This event is triggered on the vertical sync.
91− This event has &v4l2-event-vsync; associated with it.
92− </entry>
93− </row>
94− <row>
95− <entry><constant>V4L2_EVENT_EOS</constant></entry>
96− <entry>2</entry>
97− <entry>This event is triggered when the end of a stream is reached.
98− This is typically used with MPEG decoders to report to the application
99− when the last of the MPEG stream has been decoded.
100− </entry>
101− </row>
102− <row>
103− <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry>
104− <entry>0x08000000</entry>
105− <entry>Base event number for driver-private events.</entry>
106− </row>
107− </tbody>
108− </tgroup>
109− </table>
110−
111− <table frame="none" pgwide="1" id="v4l2-event-vsync">
112− <title>struct <structname>v4l2_event_vsync</structname></title>
113− <tgroup cols="3">
114− &cs-str;
115− <tbody valign="top">
116− <row>
117− <entry>__u8</entry>
118− <entry><structfield>field</structfield></entry>
119− <entry>The upcoming field. See &v4l2-field;.</entry>
120− </row>
121− </tbody>
122− </tgroup>
123− </table>
124−
125− </refsect1>
126−</refentry>
127−<!--
128−Local Variables:
129−mode: sgml
130−sgml-parent-document: "v4l2.sgml"
131−indent-tabs-mode: nil
132−End:
133−-->
Documentation/PCI/MSI-HOWTO.txt+44−45
@@ -45,7 +45,7 @@ arrived in memory (this becomes more likely with devices behind PCI-PCI · 44 unmodified lines
4545 bridges). In order to ensure that all the data has arrived in memory,
4646 the interrupt handler must read a register on the device which raised
4747 the interrupt. PCI transaction ordering rules require that all the data
48−arrives in memory before the value can be returned from the register.
48+arrive in memory before the value may be returned from the register.
4949 Using MSIs avoids this problem as the interrupt-generating write cannot
5050 pass the data writes, so by the time the interrupt is raised, the driver
5151 knows that all the data has arrived in memory.
@@ -86,13 +86,13 @@ device. · 34 unmodified lines
8686
8787 int pci_enable_msi(struct pci_dev *dev)
8888
89−A successful call will allocate ONE interrupt to the device, regardless
90−of how many MSIs the device supports. The device will be switched from
89+A successful call allocates ONE interrupt to the device, regardless
90+of how many MSIs the device supports. The device is switched from
9191 pin-based interrupt mode to MSI mode. The dev->irq number is changed
92−to a new number which represents the message signaled interrupt.
93−This function should be called before the driver calls request_irq()
94−since enabling MSIs disables the pin-based IRQ and the driver will not
95−receive interrupts on the old interrupt.
92+to a new number which represents the message signaled interrupt;
93+consequently, this function should be called before the driver calls
94+request_irq(), because an MSI is delivered via a vector that is
95+different from the vector of a pin-based interrupt.
9696
9797 4.2.2 pci_enable_msi_block
9898
@@ -111,20 +111,20 @@ the device are in the range dev->irq to dev->irq + count - 1. · 12 unmodified lines
111111
112112 If this function returns a negative number, it indicates an error and
113113 the driver should not attempt to request any more MSI interrupts for
114−this device. If this function returns a positive number, it will be
115−less than 'count' and indicate the number of interrupts that could have
116−been allocated. In neither case will the irq value have been
117−updated, nor will the device have been switched into MSI mode.
114+this device. If this function returns a positive number, it is
115+less than 'count' and indicates the number of interrupts that could have
116+been allocated. In neither case is the irq value updated or the device
117+switched into MSI mode.
118118
119119 The device driver must decide what action to take if
120−pci_enable_msi_block() returns a value less than the number asked for.
121−Some devices can make use of fewer interrupts than the maximum they
122−request; in this case the driver should call pci_enable_msi_block()
120+pci_enable_msi_block() returns a value less than the number requested.
121+For instance, the driver could still make use of fewer interrupts;
122+in this case the driver should call pci_enable_msi_block()
123123 again. Note that it is not guaranteed to succeed, even when the
124124 'count' has been reduced to the value returned from a previous call to
125125 pci_enable_msi_block(). This is because there are multiple constraints
126126 on the number of vectors that can be allocated; pci_enable_msi_block()
127−will return as soon as it finds any constraint that doesn't allow the
127+returns as soon as it finds any constraint that doesn't allow the
128128 call to succeed.
129129
130130 4.2.3 pci_disable_msi
@@ -137,10 +137,10 @@ interrupt number and frees the previously allocated message signaled · 6 unmodified lines
137137 interrupt(s). The interrupt may subsequently be assigned to another
138138 device, so drivers should not cache the value of dev->irq.
139139
140−A device driver must always call free_irq() on the interrupt(s)
141−for which it has called request_irq() before calling this function.
142−Failure to do so will result in a BUG_ON(), the device will be left with
143−MSI enabled and will leak its vector.
140+Before calling this function, a device driver must always call free_irq()
141+on any interrupt for which it previously called request_irq().
142+Failure to do so results in a BUG_ON(), leaving the device with
143+MSI enabled and thus leaking its vector.
144144
145145 4.3 Using MSI-X
146146
@@ -155,10 +155,10 @@ struct msix_entry { · 8 unmodified lines
155155 };
156156
157157 This allows for the device to use these interrupts in a sparse fashion;
158−for example it could use interrupts 3 and 1027 and allocate only a
158+for example, it could use interrupts 3 and 1027 and yet allocate only a
159159 two-element array. The driver is expected to fill in the 'entry' value
160−in each element of the array to indicate which entries it wants the kernel
161−to assign interrupts for. It is invalid to fill in two entries with the
160+in each element of the array to indicate for which entries the kernel
161+should assign interrupts; it is invalid to fill in two entries with the
162162 same number.
163163
164164 4.3.1 pci_enable_msix
@@ -168,10 +168,11 @@ int pci_enable_msix(struct pci_dev *dev, struct msix_entry *entries, int nvec) · 3 unmodified lines
168168 Calling this function asks the PCI subsystem to allocate 'nvec' MSIs.
169169 The 'entries' argument is a pointer to an array of msix_entry structs
170170 which should be at least 'nvec' entries in size. On success, the
171−function will return 0 and the device will have been switched into
172−MSI-X interrupt mode. The 'vector' elements in each entry will have
173−been filled in with the interrupt number. The driver should then call
174−request_irq() for each 'vector' that it decides to use.
171+device is switched into MSI-X mode and the function returns 0.
172+The 'vector' member in each entry is populated with the interrupt number;
173+the driver should then call request_irq() for each 'vector' that it
174+decides to use. The device driver is responsible for keeping track of the
175+interrupts assigned to the MSI-X vectors so it can free them again later.
175176
176177 If this function returns a negative number, it indicates an error and
177178 the driver should not attempt to allocate any more MSI-X interrupts for
@@ -181,16 +182,14 @@ below. · 3 unmodified lines
181182
182183 This function, in contrast with pci_enable_msi(), does not adjust
183184 dev->irq. The device will not generate interrupts for this interrupt
184−number once MSI-X is enabled. The device driver is responsible for
185−keeping track of the interrupts assigned to the MSI-X vectors so it can
186−free them again later.
185+number once MSI-X is enabled.
187186
188187 Device drivers should normally call this function once per device
189188 during the initialization phase.
190189
191−It is ideal if drivers can cope with a variable number of MSI-X interrupts,
190+It is ideal if drivers can cope with a variable number of MSI-X interrupts;
192191 there are many reasons why the platform may not be able to provide the
193−exact number a driver asks for.
192+exact number that a driver asks for.
194193
195194 A request loop to achieve that might look like:
196195
@@ -212,15 +211,15 @@ static int foo_driver_enable_msix(struct foo_adapter *adapter, int nvec) · 15 unmodified lines
212211
213212 void pci_disable_msix(struct pci_dev *dev)
214213
215−This API should be used to undo the effect of pci_enable_msix(). It frees
214+This function should be used to undo the effect of pci_enable_msix(). It frees
216215 the previously allocated message signaled interrupts. The interrupts may
217216 subsequently be assigned to another device, so drivers should not cache
218217 the value of the 'vector' elements over a call to pci_disable_msix().
219218
220−A device driver must always call free_irq() on the interrupt(s)
221−for which it has called request_irq() before calling this function.
222−Failure to do so will result in a BUG_ON(), the device will be left with
223−MSI enabled and will leak its vector.
219+Before calling this function, a device driver must always call free_irq()
220+on any interrupt for which it previously called request_irq().
221+Failure to do so results in a BUG_ON(), leaving the device with
222+MSI-X enabled and thus leaking its vector.
224223
225224 4.3.3 The MSI-X Table
226225
@@ -232,10 +231,10 @@ mask or unmask an interrupt, it should call disable_irq() / enable_irq(). · 5 unmodified lines
232231 4.4 Handling devices implementing both MSI and MSI-X capabilities
233232
234233 If a device implements both MSI and MSI-X capabilities, it can
235−run in either MSI mode or MSI-X mode but not both simultaneously.
234+run in either MSI mode or MSI-X mode, but not both simultaneously.
236235 This is a requirement of the PCI spec, and it is enforced by the
237236 PCI layer. Calling pci_enable_msi() when MSI-X is already enabled or
238−pci_enable_msix() when MSI is already enabled will result in an error.
237+pci_enable_msix() when MSI is already enabled results in an error.
239238 If a device driver wishes to switch between MSI and MSI-X at runtime,
240239 it must first quiesce the device, then switch it back to pin-interrupt
241240 mode, before calling pci_enable_msi() or pci_enable_msix() and resuming
@@ -251,7 +250,7 @@ the MSI-X facilities in preference to the MSI facilities. As mentioned · 9 unmodified lines
251250 above, MSI-X supports any number of interrupts between 1 and 2048.
252251 In constrast, MSI is restricted to a maximum of 32 interrupts (and
253252 must be a power of two). In addition, the MSI interrupt vectors must
254−be allocated consecutively, so the system may not be able to allocate
253+be allocated consecutively, so the system might not be able to allocate
255254 as many vectors for MSI as it could for MSI-X. On some platforms, MSI
256255 interrupts must all be targeted at the same set of CPUs whereas MSI-X
257256 interrupts can all be targeted at different CPUs.
@@ -281,7 +280,7 @@ disabled to enabled and back again. · 23 unmodified lines
281280
282281 Using 'lspci -v' (as root) may show some devices with "MSI", "Message
283282 Signalled Interrupts" or "MSI-X" capabilities. Each of these capabilities
284−has an 'Enable' flag which will be followed with either "+" (enabled)
283+has an 'Enable' flag which is followed with either "+" (enabled)
285284 or "-" (disabled).
286285
287286
@@ -298,7 +297,7 @@ The PCI stack provides three ways to disable MSIs: · 10 unmodified lines
298297
299298 Some host chipsets simply don't support MSIs properly. If we're
300299 lucky, the manufacturer knows this and has indicated it in the ACPI
301−FADT table. In this case, Linux will automatically disable MSIs.
300+FADT table. In this case, Linux automatically disables MSIs.
302301 Some boards don't include this information in the table and so we have
303302 to detect them ourselves. The complete list of these is found near the
304303 quirk_disable_all_msi() function in drivers/pci/quirks.c.
@@ -317,7 +316,7 @@ Some bridges allow you to enable MSIs by changing some bits in their · 12 unmodified lines
317316 PCI configuration space (especially the Hypertransport chipsets such
318317 as the nVidia nForce and Serverworks HT2000). As with host chipsets,
319318 Linux mostly knows about them and automatically enables MSIs if it can.
320−If you have a bridge which Linux doesn't yet know about, you can enable
319+If you have a bridge unknown to Linux, you can enable
321320 MSIs in configuration space using whatever method you know works, then
322321 enable MSIs on that bridge by doing:
323322
@@ -327,7 +326,7 @@ where $bridge is the PCI address of the bridge you've enabled (eg · 3 unmodified lines
327326 0000:00:0e.0).
328327
329328 To disable MSIs, echo 0 instead of 1. Changing this value should be
330−done with caution as it can break interrupt handling for all devices
329+done with caution as it could break interrupt handling for all devices
331330 below this bridge.
332331
333332 Again, please notify linux-pci@vger.kernel.org of any bridges that need
@@ -336,7 +335,7 @@ special handling. · 2 unmodified lines
336335 5.3. Disabling MSIs on a single device
337336
338337 Some devices are known to have faulty MSI implementations. Usually this
339−is handled in the individual device driver but occasionally it's necessary
338+is handled in the individual device driver, but occasionally it's necessary
340339 to handle this with a quirk. Some drivers have an option to disable use
341340 of MSI. While this is a convenient workaround for the driver author,
342341 it is not good practise, and should not be emulated.
@@ -350,7 +349,7 @@ for your machine. You should also check your .config to be sure you · 7 unmodified lines
350349 have enabled CONFIG_PCI_MSI.
351350
352351 Then, 'lspci -t' gives the list of bridges above a device. Reading
353−/sys/bus/pci/devices/*/msi_bus will tell you whether MSI are enabled (1)
352+/sys/bus/pci/devices/*/msi_bus will tell you whether MSIs are enabled (1)
354353 or disabled (0). If 0 is found in any of the msi_bus files belonging
355354 to bridges between the PCI root and the device, MSIs are disabled.
356355
Documentation/SubmittingDrivers+1−1
@@ -130,7 +130,7 @@ Linux kernel master tree: · 129 unmodified lines
130130 ftp.??.kernel.org:/pub/linux/kernel/...
131131 ?? == your country code, such as "us", "uk", "fr", etc.
132132
133− http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git
133+ http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git
134134
135135 Linux kernel mailing list:
136136 linux-kernel@vger.kernel.org
Documentation/SubmittingPatches+1−1
@@ -303,7 +303,7 @@ patches that are being emailed around. · 302 unmodified lines
303303
304304 The sign-off is a simple line at the end of the explanation for the
305305 patch, which certifies that you wrote it or otherwise have the right to
306−pass it on as a open-source patch. The rules are pretty simple: if you
306+pass it on as an open-source patch. The rules are pretty simple: if you
307307 can certify the below:
308308
309309 Developer's Certificate of Origin 1.1
Documentation/acpi/apei/einj.txt+9−2
@@ -48,12 +48,19 @@ directory apei/einj. The following files are provided. · 47 unmodified lines
4848 - param1
4949 This file is used to set the first error parameter value. Effect of
5050 parameter depends on error_type specified. For memory error, this is
51− physical memory address.
51+ physical memory address. Only available if param_extension module
52+ parameter is specified.
5253
5354 - param2
5455 This file is used to set the second error parameter value. Effect of
5556 parameter depends on error_type specified. For memory error, this is
56− physical memory address mask.
57+ physical memory address mask. Only available if param_extension
58+ module parameter is specified.
59+
60+Injecting parameter support is a BIOS version specific extension, that
61+is, it only works on some BIOS version. If you want to use it, please
62+make sure your BIOS version has the proper support and specify
63+"param_extension=y" in module parameter.
5764
5865 For more information about EINJ, please refer to ACPI specification
5966 version 4.0, section 17.5.
Documentation/block/cfq-iosched.txt+71−0
@@ -43,3 +43,74 @@ If one sets slice_idle=0 and if storage supports NCQ, CFQ internally switches · 42 unmodified lines
4343 to IOPS mode and starts providing fairness in terms of number of requests
4444 dispatched. Note that this mode switching takes effect only for group
4545 scheduling. For non-cgroup users nothing should change.
46+
47+CFQ IO scheduler Idling Theory
48+===============================
49+Idling on a queue is primarily about waiting for the next request to come
50+on same queue after completion of a request. In this process CFQ will not
51+dispatch requests from other cfq queues even if requests are pending there.
52+
53+The rationale behind idling is that it can cut down on number of seeks
54+on rotational media. For example, if a process is doing dependent
55+sequential reads (next read will come on only after completion of previous
56+one), then not dispatching request from other queue should help as we
57+did not move the disk head and kept on dispatching sequential IO from
58+one queue.
59+
60+CFQ has following service trees and various queues are put on these trees.
61+
62+ sync-idle sync-noidle async
63+
64+All cfq queues doing synchronous sequential IO go on to sync-idle tree.
65+On this tree we idle on each queue individually.
66+
67+All synchronous non-sequential queues go on sync-noidle tree. Also any
68+request which are marked with REQ_NOIDLE go on this service tree. On this
69+tree we do not idle on individual queues instead idle on the whole group
70+of queues or the tree. So if there are 4 queues waiting for IO to dispatch
71+we will idle only once last queue has dispatched the IO and there is
72+no more IO on this service tree.
73+
74+All async writes go on async service tree. There is no idling on async
75+queues.
76+
77+CFQ has some optimizations for SSDs and if it detects a non-rotational
78+media which can support higher queue depth (multiple requests at in
79+flight at a time), then it cuts down on idling of individual queues and
80+all the queues move to sync-noidle tree and only tree idle remains. This
81+tree idling provides isolation with buffered write queues on async tree.
82+
83+FAQ
84+===
85+Q1. Why to idle at all on queues marked with REQ_NOIDLE.
86+
87+A1. We only do tree idle (all queues on sync-noidle tree) on queues marked
88+ with REQ_NOIDLE. This helps in providing isolation with all the sync-idle
89+ queues. Otherwise in presence of many sequential readers, other
90+ synchronous IO might not get fair share of disk.
91+
92+ For example, if there are 10 sequential readers doing IO and they get
93+ 100ms each. If a REQ_NOIDLE request comes in, it will be scheduled
94+ roughly after 1 second. If after completion of REQ_NOIDLE request we
95+ do not idle, and after a couple of milli seconds a another REQ_NOIDLE
96+ request comes in, again it will be scheduled after 1second. Repeat it
97+ and notice how a workload can lose its disk share and suffer due to
98+ multiple sequential readers.
99+
100+ fsync can generate dependent IO where bunch of data is written in the
101+ context of fsync, and later some journaling data is written. Journaling
102+ data comes in only after fsync has finished its IO (atleast for ext4
103+ that seemed to be the case). Now if one decides not to idle on fsync
104+ thread due to REQ_NOIDLE, then next journaling write will not get
105+ scheduled for another second. A process doing small fsync, will suffer
106+ badly in presence of multiple sequential readers.
107+
108+ Hence doing tree idling on threads using REQ_NOIDLE flag on requests
109+ provides isolation from multiple sequential readers and at the same
110+ time we do not idle on individual threads.
111+
112+Q2. When to specify REQ_NOIDLE
113+A2. I would think whenever one is doing synchronous write and not expecting
114+ more writes to be dispatched from same context soon, should be able
115+ to specify REQ_NOIDLE on writes and that probably should work well for
116+ most of the cases.
Documentation/device-mapper/dm-crypt.txt+20−1
@@ -4,7 +4,8 @@ dm-crypt · 3 unmodified lines
44 Device-Mapper's "crypt" target provides transparent encryption of block devices
55 using the kernel crypto API.
66
7−Parameters: <cipher> <key> <iv_offset> <device path> <offset>
7+Parameters: <cipher> <key> <iv_offset> <device path> \
8+ <offset> [<#opt_params> <opt_params>]
89
910 <cipher>
1011 Encryption cipher and an optional IV generation mode.
@@ -37,6 +38,24 @@ Parameters: <cipher> <key> <iv_offset> <device path> <offset> · 26 unmodified lines
3738 <offset>
3839 Starting sector within the device where the encrypted data begins.
3940
41+<#opt_params>
42+ Number of optional parameters. If there are no optional parameters,
43+ the optional paramaters section can be skipped or #opt_params can be zero.
44+ Otherwise #opt_params is the number of following arguments.
45+
46+ Example of optional parameters section:
47+ 1 allow_discards
48+
49+allow_discards
50+ Block discard requests (a.k.a. TRIM) are passed through the crypt device.
51+ The default is to ignore discard requests.
52+
53+ WARNING: Assess the specific security risks carefully before enabling this
54+ option. For example, allowing discards on encrypted devices may lead to
55+ the leak of information about the ciphertext device (filesystem type,
56+ used space etc.) if the discarded blocks can be located easily on the
57+ device later.
58+
4059 Example scripts
4160 ===============
4261 LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
Documentation/device-mapper/dm-flakey.txt+42−6
@@ -1,17 +1,53 @@
11 dm-flakey
22 =========
33
4−This target is the same as the linear target except that it returns I/O
5−errors periodically. It's been found useful in simulating failing
6−devices for testing purposes.
4+This target is the same as the linear target except that it exhibits
5+unreliable behaviour periodically. It's been found useful in simulating
6+failing devices for testing purposes.
77
88 Starting from the time the table is loaded, the device is available for
9−<up interval> seconds, then returns errors for <down interval> seconds,
10−and then this cycle repeats.
9+<up interval> seconds, then exhibits unreliable behaviour for <down
10+interval> seconds, and then this cycle repeats.
1111
12−Parameters: <dev path> <offset> <up interval> <down interval>
12+Also, consider using this in combination with the dm-delay target too,
13+which can delay reads and writes and/or send them to different
14+underlying devices.
15+
16+Table parameters
17+----------------
18+ <dev path> <offset> <up interval> <down interval> \
19+ [<num_features> [<feature arguments>]]
20+
21+Mandatory parameters:
1322 <dev path>: Full pathname to the underlying block-device, or a
1423 "major:minor" device-number.
1524 <offset>: Starting sector within the device.
1625 <up interval>: Number of seconds device is available.
1726 <down interval>: Number of seconds device returns errors.
27+
28+Optional feature parameters:
29+ If no feature parameters are present, during the periods of
30+ unreliability, all I/O returns errors.
31+
32+ drop_writes:
33+ All write I/O is silently ignored.
34+ Read I/O is handled correctly.
35+
36+ corrupt_bio_byte <Nth_byte> <direction> <value> <flags>:
37+ During <down interval>, replace <Nth_byte> of the data of
38+ each matching bio with <value>.
39+
40+ <Nth_byte>: The offset of the byte to replace.
41+ Counting starts at 1, to replace the first byte.
42+ <direction>: Either 'r' to corrupt reads or 'w' to corrupt writes.
43+ 'w' is incompatible with drop_writes.
44+ <value>: The value (from 0-255) to write.
45+ <flags>: Perform the replacement only if bio->bi_rw has all the
46+ selected flags set.
47+
48+Examples:
49+ corrupt_bio_byte 32 r 1 0
50+ - replaces the 32nd byte of READ bios with the value 1
51+
52+ corrupt_bio_byte 224 w 0 32
53+ - replaces the 224th byte of REQ_META (=32) bios with the value 0
Documentation/device-mapper/dm-raid.txt+88−50
@@ -1,70 +1,108 @@
1−Device-mapper RAID (dm-raid) is a bridge from DM to MD. It
2−provides a way to use device-mapper interfaces to access the MD RAID
3−drivers.
1+dm-raid
2+-------
43
5−As with all device-mapper targets, the nominal public interfaces are the
6−constructor (CTR) tables and the status outputs (both STATUSTYPE_INFO
7−and STATUSTYPE_TABLE). The CTR table looks like the following:
4+The device-mapper RAID (dm-raid) target provides a bridge from DM to MD.
5+It allows the MD RAID drivers to be accessed using a device-mapper
6+interface.
87
9−1: <s> <l> raid \
10−2: <raid_type> <#raid_params> <raid_params> \
11−3: <#raid_devs> <meta_dev1> <dev1> .. <meta_devN> <devN>
12−
13−Line 1 contains the standard first three arguments to any device-mapper
14−target - the start, length, and target type fields. The target type in
15−this case is "raid".
16−
17−Line 2 contains the arguments that define the particular raid
18−type/personality/level, the required arguments for that raid type, and
19−any optional arguments. Possible raid types include: raid4, raid5_la,
20−raid5_ls, raid5_rs, raid6_zr, raid6_nr, and raid6_nc. (raid1 is
21−planned for the future.) The list of required and optional parameters
22−is the same for all the current raid types. The required parameters are
23−positional, while the optional parameters are given as key/value pairs.
24−The possible parameters are as follows:
25− <chunk_size> Chunk size in sectors.
26− [[no]sync] Force/Prevent RAID initialization
27− [rebuild <idx>] Rebuild the drive indicated by the index
28− [daemon_sleep <ms>] Time between bitmap daemon work to clear bits
29− [min_recovery_rate <kB/sec/disk>] Throttle RAID initialization
30− [max_recovery_rate <kB/sec/disk>] Throttle RAID initialization
31− [max_write_behind <sectors>] See '-write-behind=' (man mdadm)
32− [stripe_cache <sectors>] Stripe cache size for higher RAIDs
33−
34−Line 3 contains the list of devices that compose the array in
35−metadata/data device pairs. If the metadata is stored separately, a '-'
36−is given for the metadata device position. If a drive has failed or is
37−missing at creation time, a '-' can be given for both the metadata and
38−data drives for a given position.
39−
40−NB. Currently all metadata devices must be specified as '-'.
41−
42−Examples:
43−# RAID4 - 4 data drives, 1 parity
8+The target is named "raid" and it accepts the following parameters:
9+
10+ <raid_type> <#raid_params> <raid_params> \
11+ <#raid_devs> <metadata_dev0> <dev0> [.. <metadata_devN> <devN>]
12+
13+<raid_type>:
14+ raid1 RAID1 mirroring
15+ raid4 RAID4 dedicated parity disk
16+ raid5_la RAID5 left asymmetric
17+ - rotating parity 0 with data continuation
18+ raid5_ra RAID5 right asymmetric
19+ - rotating parity N with data continuation
20+ raid5_ls RAID5 left symmetric
21+ - rotating parity 0 with data restart
22+ raid5_rs RAID5 right symmetric
23+ - rotating parity N with data restart
24+ raid6_zr RAID6 zero restart
25+ - rotating parity zero (left-to-right) with data restart
26+ raid6_nr RAID6 N restart
27+ - rotating parity N (right-to-left) with data restart
28+ raid6_nc RAID6 N continue
29+ - rotating parity N (right-to-left) with data continuation
30+
31+ Refererence: Chapter 4 of
32+ http://www.snia.org/sites/default/files/SNIA_DDF_Technical_Position_v2.0.pdf
33+
34+<#raid_params>: The number of parameters that follow.
35+
36+<raid_params> consists of
37+ Mandatory parameters:
38+ <chunk_size>: Chunk size in sectors. This parameter is often known as
39+ "stripe size". It is the only mandatory parameter and
40+ is placed first.
41+
42+ followed by optional parameters (in any order):
43+ [sync|nosync] Force or prevent RAID initialization.
44+
45+ [rebuild <idx>] Rebuild drive number idx (first drive is 0).
46+
47+ [daemon_sleep <ms>]
48+ Interval between runs of the bitmap daemon that
49+ clear bits. A longer interval means less bitmap I/O but
50+ resyncing after a failure is likely to take longer.
51+
52+ [min_recovery_rate <kB/sec/disk>] Throttle RAID initialization
53+ [max_recovery_rate <kB/sec/disk>] Throttle RAID initialization
54+ [write_mostly <idx>] Drive index is write-mostly
55+ [max_write_behind <sectors>] See '-write-behind=' (man mdadm)
56+ [stripe_cache <sectors>] Stripe cache size (higher RAIDs only)
57+ [region_size <sectors>]
58+ The region_size multiplied by the number of regions is the
59+ logical size of the array. The bitmap records the device
60+ synchronisation state for each region.
61+
62+<#raid_devs>: The number of devices composing the array.
63+ Each device consists of two entries. The first is the device
64+ containing the metadata (if any); the second is the one containing the
65+ data.
66+
67+ If a drive has failed or is missing at creation time, a '-' can be
68+ given for both the metadata and data drives for a given position.
69+
70+
71+Example tables
72+--------------
73+# RAID4 - 4 data drives, 1 parity (no metadata devices)
4474 # No metadata devices specified to hold superblock/bitmap info
4575 # Chunk size of 1MiB
4676 # (Lines separated for easy reading)
77+
4778 0 1960893648 raid \
4879 raid4 1 2048 \
4980 5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81
5081
51−# RAID4 - 4 data drives, 1 parity (no metadata devices)
82+# RAID4 - 4 data drives, 1 parity (with metadata devices)
5283 # Chunk size of 1MiB, force RAID initialization,
5384 # min recovery rate at 20 kiB/sec/disk
85+
5486 0 1960893648 raid \
55− raid4 4 2048 min_recovery_rate 20 sync\
56− 5 - 8:17 - 8:33 - 8:49 - 8:65 - 8:81
87+ raid4 4 2048 sync min_recovery_rate 20 \
88+ 5 8:17 8:18 8:33 8:34 8:49 8:50 8:65 8:66 8:81 8:82
5789
58−Performing a 'dmsetup table' should display the CTR table used to
59−construct the mapping (with possible reordering of optional
60−parameters).
90+'dmsetup table' displays the table used to construct the mapping.
91+The optional parameters are always printed in the order listed
92+above with "sync" or "nosync" always output ahead of the other
93+arguments, regardless of the order used when originally loading the table.
94+Arguments that can be repeated are ordered by value.
6195
62−Performing a 'dmsetup status' will yield information on the state and
63−health of the array. The output is as follows:
96+'dmsetup status' yields information on the state and health of the
97+array.
98+The output is as follows:
6499 1: <s> <l> raid \
65100 2: <raid_type> <#devices> <1 health char for each dev> <resync_ratio>
66101
67−Line 1 is standard DM output. Line 2 is best shown by example:
102+Line 1 is the standard output produced by device-mapper.
103+Line 2 is produced by the raid target, and best explained by example:
68104 0 1960893648 raid raid4 5 AAAAA 2/490221568
69105 Here we can see the RAID type is raid4, there are 5 devices - all of
70106 which are 'A'live, and the array is 2/490221568 complete with recovery.
107+Faulty or missing devices are marked 'D'. Devices that are out-of-sync
108+are marked 'a'.
Documentation/devicetree/bindings/arm/arm-boards+20−0
@@ -0,0 +1,20 @@
1+ARM Versatile Application and Platform Baseboards
2+-------------------------------------------------
3+ARM's development hardware platform with connectors for customizable
4+core tiles. The hardware configuration of the Versatile boards is
5+highly customizable.
6+
7+Required properties (in root node):
8+ compatible = "arm,versatile-ab"; /* Application baseboard */
9+ compatible = "arm,versatile-pb"; /* Platform baseboard */
10+
11+Interrupt controllers:
12+- VIC required properties:
13+ compatible = "arm,versatile-vic";
14+ interrupt-controller;
15+ #interrupt-cells = <1>;
16+
17+- SIC required properties:
18+ compatible = "arm,versatile-sic";
19+ interrupt-controller;
20+ #interrupt-cells = <1>;
Documentation/devicetree/bindings/arm/sirf.txt+3−0
@@ -0,0 +1,3 @@
1+prima2 "cb" evalutation board
2+Required root node properties:
3+ - compatible = "sirf,prima2-cb", "sirf,prima2";
Documentation/devicetree/bindings/arm/xilinx.txt+7−0
@@ -0,0 +1,7 @@
1+Xilinx Zynq EP107 Emulation Platform board
2+
3+This board is an emulation platform for the Zynq product which is
4+based on an ARM Cortex A9 processor.
5+
6+Required root node properties:
7+ - compatible = "xlnx,zynq-ep107";
Documentation/devicetree/bindings/dma/fsl-imx-sdma.txt+17−0
@@ -0,0 +1,17 @@
1+* Freescale Smart Direct Memory Access (SDMA) Controller for i.MX
2+
3+Required properties:
4+- compatible : Should be "fsl,<chip>-sdma"
5+- reg : Should contain SDMA registers location and length
6+- interrupts : Should contain SDMA interrupt
7+- fsl,sdma-ram-script-name : Should contain the full path of SDMA RAM
8+ scripts firmware
9+
10+Examples:
11+
12+sdma@83fb0000 {
13+ compatible = "fsl,imx51-sdma", "fsl,imx35-sdma";
14+ reg = <0x83fb0000 0x4000>;
15+ interrupts = <6>;
16+ fsl,sdma-ram-script-name = "sdma-imx51.bin";
17+};
Documentation/devicetree/bindings/gpio/gpio_keys.txt+36−0
@@ -0,0 +1,36 @@
1+Device-Tree bindings for input/gpio_keys.c keyboard driver
2+
3+Required properties:
4+ - compatible = "gpio-keys";
5+
6+Optional properties:
7+ - autorepeat: Boolean, Enable auto repeat feature of Linux input
8+ subsystem.
9+
10+Each button (key) is represented as a sub-node of "gpio-keys":
11+Subnode properties:
12+
13+ - gpios: OF device-tree gpio specification.
14+ - label: Descriptive name of the key.
15+ - linux,code: Keycode to emit.
16+
17+Optional subnode-properties:
18+ - linux,input-type: Specify event type this button/key generates.
19+ If not specified defaults to <1> == EV_KEY.
20+ - debounce-interval: Debouncing interval time in milliseconds.
21+ If not specified defaults to 5.
22+ - gpio-key,wakeup: Boolean, button can wake-up the system.
23+
24+Example nodes:
25+
26+ gpio_keys {
27+ compatible = "gpio-keys";
28+ #address-cells = <1>;
29+ #size-cells = <0>;
30+ autorepeat;
31+ button@21 {
32+ label = "GPIO Key UP";
33+ linux,code = <103>;
34+ gpios = <&gpio1 0 1>;
35+ };
36+ ...
Documentation/devicetree/bindings/i2c/arm-versatile.txt+10−0
@@ -0,0 +1,10 @@
1+i2c Controller on ARM Versatile platform:
2+
3+Required properties:
4+- compatible : Must be "arm,versatile-i2c";
5+- reg
6+- #address-cells = <1>;
7+- #size-cells = <0>;
8+
9+Optional properties:
10+- Child nodes conforming to i2c bus binding
Documentation/devicetree/bindings/input/fsl-mma8450.txt+11−0
@@ -0,0 +1,11 @@
1+* Freescale MMA8450 3-Axis Accelerometer
2+
3+Required properties:
4+- compatible : "fsl,mma8450".
5+
6+Example:
7+
8+accelerometer: mma8450@1c {
9+ compatible = "fsl,mma8450";
10+ reg = <0x1c>;
11+};
Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt+34−0
@@ -0,0 +1,34 @@
1+* Freescale Enhanced Secure Digital Host Controller (eSDHC) for i.MX
2+
3+The Enhanced Secure Digital Host Controller on Freescale i.MX family
4+provides an interface for MMC, SD, and SDIO types of memory cards.
5+
6+Required properties:
7+- compatible : Should be "fsl,<chip>-esdhc"
8+- reg : Should contain eSDHC registers location and length
9+- interrupts : Should contain eSDHC interrupt
10+
11+Optional properties:
12+- fsl,card-wired : Indicate the card is wired to host permanently
13+- fsl,cd-internal : Indicate to use controller internal card detection
14+- fsl,wp-internal : Indicate to use controller internal write protection
15+- cd-gpios : Specify GPIOs for card detection
16+- wp-gpios : Specify GPIOs for write protection
17+
18+Examples:
19+
20+esdhc@70004000 {
21+ compatible = "fsl,imx51-esdhc";
22+ reg = <0x70004000 0x4000>;
23+ interrupts = <1>;
24+ fsl,cd-internal;
25+ fsl,wp-internal;
26+};
27+
28+esdhc@70008000 {
29+ compatible = "fsl,imx51-esdhc";
30+ reg = <0x70008000 0x4000>;
31+ interrupts = <2>;
32+ cd-gpios = <&gpio0 6 0>; /* GPIO1_6 */
33+ wp-gpios = <&gpio0 5 0>; /* GPIO1_5 */
34+};
Documentation/devicetree/bindings/mtd/arm-versatile.txt+8−0
@@ -0,0 +1,8 @@
1+Flash device on ARM Versatile board
2+
3+Required properties:
4+- compatible : must be "arm,versatile-flash";
5+- bank-width : width in bytes of flash interface.
6+
7+Optional properties:
8+- Subnode partition map from mtd flash binding
Documentation/devicetree/bindings/net/fsl-fec.txt+24−0
@@ -0,0 +1,24 @@
1+* Freescale Fast Ethernet Controller (FEC)
2+
3+Required properties:
4+- compatible : Should be "fsl,<soc>-fec"
5+- reg : Address and length of the register set for the device
6+- interrupts : Should contain fec interrupt
7+- phy-mode : String, operation mode of the PHY interface.
8+ Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
9+ "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
10+- phy-reset-gpios : Should specify the gpio for phy reset
11+
12+Optional properties:
13+- local-mac-address : 6 bytes, mac address
14+
15+Example:
16+
17+fec@83fec000 {
18+ compatible = "fsl,imx51-fec", "fsl,imx27-fec";
19+ reg = <0x83fec000 0x4000>;
20+ interrupts = <87>;
21+ phy-mode = "mii";
22+ phy-reset-gpios = <&gpio1 14 0>; /* GPIO2_14 */
23+ local-mac-address = [00 04 9F 01 1B B9];
24+};
Documentation/devicetree/bindings/net/smsc-lan91c111.txt+10−0
@@ -0,0 +1,10 @@
1+SMSC LAN91c111 Ethernet mac
2+
3+Required properties:
4+- compatible = "smsc,lan91c111";
5+- reg : physical address and size of registers
6+- interrupts : interrupt connection
7+
8+Optional properties:
9+- phy-device : phandle to Ethernet phy
10+- local-mac-address : Ethernet mac address to use
Documentation/devicetree/bindings/rtc/olpc-xo1-rtc.txt+5−0
@@ -0,0 +1,5 @@
1+OLPC XO-1 RTC
2+~~~~~~~~~~~~~
3+
4+Required properties:
5+ - compatible : "olpc,xo1-rtc"
Documentation/devicetree/bindings/tty/serial/fsl-imx-uart.txt+19−0
@@ -0,0 +1,19 @@
1+* Freescale i.MX Universal Asynchronous Receiver/Transmitter (UART)
2+
3+Required properties:
4+- compatible : Should be "fsl,<soc>-uart"
5+- reg : Address and length of the register set for the device
6+- interrupts : Should contain uart interrupt
7+
8+Optional properties:
9+- fsl,uart-has-rtscts : Indicate the uart has rts and cts
10+- fsl,irda-mode : Indicate the uart supports irda mode
11+
12+Example:
13+
14+uart@73fbc000 {
15+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
16+ reg = <0x73fbc000 0x4000>;
17+ interrupts = <31>;
18+ fsl,uart-has-rtscts;
19+};
Documentation/devicetree/bindings/watchdog/fsl-imx-wdt.txt+14−0
@@ -0,0 +1,14 @@
1+* Freescale i.MX Watchdog Timer (WDT) Controller
2+
3+Required properties:
4+- compatible : Should be "fsl,<soc>-wdt"
5+- reg : Should contain WDT registers location and length
6+- interrupts : Should contain WDT interrupt
7+
8+Examples:
9+
10+wdt@73f98000 {
11+ compatible = "fsl,imx51-wdt", "fsl,imx21-wdt";
12+ reg = <0x73f98000 0x4000>;
13+ interrupts = <58>;
14+};
Documentation/devicetree/bindings/watchdog/samsung-wdt.txt+11−0
@@ -0,0 +1,11 @@
1+* Samsung's Watchdog Timer Controller
2+
3+The Samsung's Watchdog controller is used for resuming system operation
4+after a preset amount of time during which the WDT reset event has not
5+occured.
6+
7+Required properties:
8+- compatible : should be "samsung,s3c2410-wdt"
9+- reg : base physical address of the controller and length of memory mapped
10+ region.
11+- interrupts : interrupt number to the cpu.
Documentation/dmaengine.txt+164−70
@@ -10,87 +10,181 @@ NOTE: For DMA Engine usage in async_tx please see: · 9 unmodified lines
1010 Below is a guide to device driver writers on how to use the Slave-DMA API of the
1111 DMA Engine. This is applicable only for slave DMA usage only.
1212
13−The slave DMA usage consists of following steps
13+The slave DMA usage consists of following steps:
1414 1. Allocate a DMA slave channel
1515 2. Set slave and controller specific parameters
1616 3. Get a descriptor for transaction
17−4. Submit the transaction and wait for callback notification
17+4. Submit the transaction
18+5. Issue pending requests and wait for callback notification
1819
1920 1. Allocate a DMA slave channel
20−Channel allocation is slightly different in the slave DMA context, client
21−drivers typically need a channel from a particular DMA controller only and even
22−in some cases a specific channel is desired. To request a channel
23−dma_request_channel() API is used.
24−
25−Interface:
26−struct dma_chan *dma_request_channel(dma_cap_mask_t mask,
27− dma_filter_fn filter_fn,
28− void *filter_param);
29−where dma_filter_fn is defined as:
30−typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
31−
32−When the optional 'filter_fn' parameter is set to NULL dma_request_channel
33−simply returns the first channel that satisfies the capability mask. Otherwise,
34−when the mask parameter is insufficient for specifying the necessary channel,
35−the filter_fn routine can be used to disposition the available channels in the
36−system. The filter_fn routine is called once for each free channel in the
37−system. Upon seeing a suitable channel filter_fn returns DMA_ACK which flags
38−that channel to be the return value from dma_request_channel. A channel
39−allocated via this interface is exclusive to the caller, until
40−dma_release_channel() is called.
21+
22+ Channel allocation is slightly different in the slave DMA context,
23+ client drivers typically need a channel from a particular DMA
24+ controller only and even in some cases a specific channel is desired.
25+ To request a channel dma_request_channel() API is used.
26+
27+ Interface:
28+ struct dma_chan *dma_request_channel(dma_cap_mask_t mask,
29+ dma_filter_fn filter_fn,
30+ void *filter_param);
31+ where dma_filter_fn is defined as:
32+ typedef bool (*dma_filter_fn)(struct dma_chan *chan, void *filter_param);
33+
34+ The 'filter_fn' parameter is optional, but highly recommended for
35+ slave and cyclic channels as they typically need to obtain a specific
36+ DMA channel.
37+
38+ When the optional 'filter_fn' parameter is NULL, dma_request_channel()
39+ simply returns the first channel that satisfies the capability mask.
40+
41+ Otherwise, the 'filter_fn' routine will be called once for each free
42+ channel which has a capability in 'mask'. 'filter_fn' is expected to
43+ return 'true' when the desired DMA channel is found.
44+
45+ A channel allocated via this interface is exclusive to the caller,
46+ until dma_release_channel() is called.
4147
4248 2. Set slave and controller specific parameters
43−Next step is always to pass some specific information to the DMA driver. Most of
44−the generic information which a slave DMA can use is in struct dma_slave_config.
45−It allows the clients to specify DMA direction, DMA addresses, bus widths, DMA
46−burst lengths etc. If some DMA controllers have more parameters to be sent then
47−they should try to embed struct dma_slave_config in their controller specific
48−structure. That gives flexibility to client to pass more parameters, if
49−required.
50−
51−Interface:
52−int dmaengine_slave_config(struct dma_chan *chan,
53− struct dma_slave_config *config)
49+
50+ Next step is always to pass some specific information to the DMA
51+ driver. Most of the generic information which a slave DMA can use
52+ is in struct dma_slave_config. This allows the clients to specify
53+ DMA direction, DMA addresses, bus widths, DMA burst lengths etc
54+ for the peripheral.
55+
56+ If some DMA controllers have more parameters to be sent then they
57+ should try to embed struct dma_slave_config in their controller
58+ specific structure. That gives flexibility to client to pass more
59+ parameters, if required.
60+
61+ Interface:
62+ int dmaengine_slave_config(struct dma_chan *chan,
63+ struct dma_slave_config *config)
64+
65+ Please see the dma_slave_config structure definition in dmaengine.h
66+ for a detailed explaination of the struct members. Please note
67+ that the 'direction' member will be going away as it duplicates the
68+ direction given in the prepare call.
5469
5570 3. Get a descriptor for transaction
56−For slave usage the various modes of slave transfers supported by the
57−DMA-engine are:
58−slave_sg - DMA a list of scatter gather buffers from/to a peripheral
59−dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the
71+
72+ For slave usage the various modes of slave transfers supported by the
73+ DMA-engine are:
74+
75+ slave_sg - DMA a list of scatter gather buffers from/to a peripheral
76+ dma_cyclic - Perform a cyclic DMA operation from/to a peripheral till the
6077 operation is explicitly stopped.
61−The non NULL return of this transfer API represents a "descriptor" for the given
62−transaction.
63−
64−Interface:
65−struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_sg)(
66− struct dma_chan *chan,
67− struct scatterlist *dst_sg, unsigned int dst_nents,
68− struct scatterlist *src_sg, unsigned int src_nents,
78+
79+ A non-NULL return of this transfer API represents a "descriptor" for
80+ the given transaction.
81+
82+ Interface:
83+ struct dma_async_tx_descriptor *(*chan->device->device_prep_slave_sg)(
84+ struct dma_chan *chan, struct scatterlist *sgl,
85+ unsigned int sg_len, enum dma_data_direction direction,
6986 unsigned long flags);
70−struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)(
87+
88+ struct dma_async_tx_descriptor *(*chan->device->device_prep_dma_cyclic)(
7189 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
7290 size_t period_len, enum dma_data_direction direction);
7391
74−4. Submit the transaction and wait for callback notification
75−To schedule the transaction to be scheduled by dma device, the "descriptor"
76−returned in above (3) needs to be submitted.
77−To tell the dma driver that a transaction is ready to be serviced, the
78−descriptor->submit() callback needs to be invoked. This chains the descriptor to
79−the pending queue.
80−The transactions in the pending queue can be activated by calling the
81−issue_pending API. If channel is idle then the first transaction in queue is
82−started and subsequent ones queued up.
83−On completion of the DMA operation the next in queue is submitted and a tasklet
84−triggered. The tasklet would then call the client driver completion callback
85−routine for notification, if set.
86−Interface:
87−void dma_async_issue_pending(struct dma_chan *chan);
88−
89−==============================================================================
90−
91−Additional usage notes for dma driver writers
92−1/ Although DMA engine specifies that completion callback routines cannot submit
93−any new operations, but typically for slave DMA subsequent transaction may not
94−be available for submit prior to callback routine being called. This requirement
95−is not a requirement for DMA-slave devices. But they should take care to drop
96−the spin-lock they might be holding before calling the callback routine
92+ The peripheral driver is expected to have mapped the scatterlist for
93+ the DMA operation prior to calling device_prep_slave_sg, and must
94+ keep the scatterlist mapped until the DMA operation has completed.
95+ The scatterlist must be mapped using the DMA struct device. So,
96+ normal setup should look like this:
97+
98+ nr_sg = dma_map_sg(chan->device->dev, sgl, sg_len);
99+ if (nr_sg == 0)
100+ /* error */
101+
102+ desc = chan->device->device_prep_slave_sg(chan, sgl, nr_sg,
103+ direction, flags);
104+
105+ Once a descriptor has been obtained, the callback information can be
106+ added and the descriptor must then be submitted. Some DMA engine
107+ drivers may hold a spinlock between a successful preparation and
108+ submission so it is important that these two operations are closely
109+ paired.
110+
111+ Note:
112+ Although the async_tx API specifies that completion callback
113+ routines cannot submit any new operations, this is not the
114+ case for slave/cyclic DMA.
115+
116+ For slave DMA, the subsequent transaction may not be available
117+ for submission prior to callback function being invoked, so
118+ slave DMA callbacks are permitted to prepare and submit a new
119+ transaction.
120+
121+ For cyclic DMA, a callback function may wish to terminate the
122+ DMA via dmaengine_terminate_all().
123+
124+ Therefore, it is important that DMA engine drivers drop any
125+ locks before calling the callback function which may cause a
126+ deadlock.
127+
128+ Note that callbacks will always be invoked from the DMA
129+ engines tasklet, never from interrupt context.
130+
131+4. Submit the transaction
132+
133+ Once the descriptor has been prepared and the callback information
134+ added, it must be placed on the DMA engine drivers pending queue.
135+
136+ Interface:
137+ dma_cookie_t dmaengine_submit(struct dma_async_tx_descriptor *desc)
138+
139+ This returns a cookie can be used to check the progress of DMA engine
140+ activity via other DMA engine calls not covered in this document.
141+
142+ dmaengine_submit() will not start the DMA operation, it merely adds
143+ it to the pending queue. For this, see step 5, dma_async_issue_pending.
144+
145+5. Issue pending DMA requests and wait for callback notification
146+
147+ The transactions in the pending queue can be activated by calling the
148+ issue_pending API. If channel is idle then the first transaction in
149+ queue is started and subsequent ones queued up.
150+
151+ On completion of each DMA operation, the next in queue is started and
152+ a tasklet triggered. The tasklet will then call the client driver
153+ completion callback routine for notification, if set.
154+
155+ Interface:
156+ void dma_async_issue_pending(struct dma_chan *chan);
157+
158+Further APIs:
159+
160+1. int dmaengine_terminate_all(struct dma_chan *chan)
161+
162+ This causes all activity for the DMA channel to be stopped, and may
163+ discard data in the DMA FIFO which hasn't been fully transferred.
164+ No callback functions will be called for any incomplete transfers.
165+
166+2. int dmaengine_pause(struct dma_chan *chan)
167+
168+ This pauses activity on the DMA channel without data loss.
169+
170+3. int dmaengine_resume(struct dma_chan *chan)
171+
172+ Resume a previously paused DMA channel. It is invalid to resume a
173+ channel which is not currently paused.
174+
175+4. enum dma_status dma_async_is_tx_complete(struct dma_chan *chan,
176+ dma_cookie_t cookie, dma_cookie_t *last, dma_cookie_t *used)
177+
178+ This can be used to check the status of the channel. Please see
179+ the documentation in include/linux/dmaengine.h for a more complete
180+ description of this API.
181+
182+ This can be used in conjunction with dma_async_is_complete() and
183+ the cookie returned from 'descriptor->submit()' to check for
184+ completion of a specific DMA transaction.
185+
186+ Note:
187+ Not all DMA engine drivers can return reliable information for
188+ a running DMA channel. It is recommended that DMA engine users
189+ pause or stop (via dmaengine_terminate_all) the channel before
190+ using this API.
Documentation/dvb/get_dvb_firmware+32−1
@@ -27,7 +27,7 @@ use IO::Handle; · 26 unmodified lines
2727 "or51211", "or51132_qam", "or51132_vsb", "bluebird",
2828 "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718",
2929 "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395",
30− "lme2510c_s7395_old");
30+ "lme2510c_s7395_old", "drxk", "drxk_terratec_h5");
3131
3232 # Check args
3333 syntax() if (scalar(@ARGV) != 1);
@@ -634,6 +634,37 @@ sub lme2510c_s7395_old { · 600 unmodified lines
634634 $outfile;
635635 }
636636
637+sub drxk {
638+ my $url = "http://l4m-daten.de/files/";
639+ my $zipfile = "DDTuner.zip";
640+ my $hash = "f5a37b9a20a3534997997c0b1382a3e5";
641+ my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
642+ my $drvfile = "DDTuner.sys";
643+ my $fwfile = "drxk_a3.mc";
644+
645+ checkstandard();
646+
647+ wgetfile($zipfile, $url . $zipfile);
648+ verify($zipfile, $hash);
649+ unzip($zipfile, $tmpdir);
650+ extract("$tmpdir/$drvfile", 0x14dd8, 15634, "$fwfile");
651+
652+ "$fwfile"
653+}
654+
655+sub drxk_terratec_h5 {
656+ my $url = "http://www.linuxtv.org/downloads/firmware/";
657+ my $hash = "19000dada8e2741162ccc50cc91fa7f1";
658+ my $fwfile = "dvb-usb-terratec-h5-drxk.fw";
659+
660+ checkstandard();
661+
662+ wgetfile($fwfile, $url . $fwfile);
663+ verify($fwfile, $hash);
664+
665+ "$fwfile"
666+}
667+
637668 # ---------------------------------------------------------------
638669 # Utilities
639670
Documentation/email-clients.txt+5−7
@@ -199,18 +199,16 @@ to coerce it into behaving. · 198 unmodified lines
199199
200200 To beat some sense out of the internal editor, do this:
201201
202−- Under account settings, composition and addressing, uncheck "Compose
203− messages in HTML format".
204−
205202 - Edit your Thunderbird config settings so that it won't use format=flowed.
206203 Go to "edit->preferences->advanced->config editor" to bring up the
207204 thunderbird's registry editor, and set "mailnews.send_plaintext_flowed" to
208205 "false".
209206
210−- Enable "preformat" mode: Shft-click on the Write icon to bring up the HTML
211− composer, select "Preformat" from the drop-down box just under the subject
212− line, then close the message without saving. (This setting also applies to
213− the text composer, but the only control for it is in the HTML composer.)
207+- Disable HTML Format: Set "mail.identity.id1.compose_html" to "false".
208+
209+- Enable "preformat" mode: Set "editor.quotesPreformatted" to "true".
210+
211+- Enable UTF8: Set "prefs.converted-to-utf8" to "true".
214212
215213 - Install the "toggle wordwrap" extension. Download the file from:
216214 https://addons.mozilla.org/thunderbird/addon/2351/
Documentation/fault-injection/fault-injection.txt+1−2
@@ -143,8 +143,7 @@ o provide a way to configure fault attributes · 142 unmodified lines
143143 failslab, fail_page_alloc, and fail_make_request use this way.
144144 Helper functions:
145145
146− init_fault_attr_dentries(entries, attr, name);
147− void cleanup_fault_attr_dentries(entries);
146+ fault_create_debugfs_attr(name, parent, attr);
148147
149148 - module parameters
150149
Documentation/fb/modedb.txt+18−3
@@ -20,7 +20,7 @@ in a video= option, fbmem considers that to be a global video mode option. · 19 unmodified lines
2020
2121 Valid mode specifiers (mode_option argument):
2222
23− <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m]
23+ <xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
2424 <name>[-<bpp>][@<refresh>]
2525
2626 with <xres>, <yres>, <bpp> and <refresh> decimal numbers and <name> a string.
@@ -36,6 +36,21 @@ pixels and 1.8% of yres). · 9 unmodified lines
3636
3737 Sample usage: 1024x768M@60m - CVT timing with margins
3838
39+DRM drivers also add options to enable or disable outputs:
40+
41+'e' will force the display to be enabled, i.e. it will override the detection
42+if a display is connected. 'D' will force the display to be enabled and use
43+digital output. This is useful for outputs that have both analog and digital
44+signals (e.g. HDMI and DVI-I). For other outputs it behaves like 'e'. If 'd'
45+is specified the output is disabled.
46+
47+You can additionally specify which output the options matches to.
48+To force the VGA output to be enabled and drive a specific mode say:
49+ video=VGA-1:1280x1024@60me
50+
51+Specifying the option multiple times for different ports is possible, e.g.:
52+ video=LVDS-1:d video=HDMI-1:D
53+
3954 ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo ***** oOo *****
4055
4156 What is the VESA(TM) Coordinated Video Timings (CVT)?
@@ -132,5 +147,5 @@ There may be more modes. · 90 unmodified lines
132147 tridentfb - Trident (Cyber)blade chipset frame buffer
133148 vt8623fb - VIA 8623 frame buffer
134149
135−BTW, only a few drivers use this at the moment. Others are to follow
136−(feel free to send patches).
150+BTW, only a few fb drivers use this at the moment. Others are to follow
151+(feel free to send patches). The DRM drivers also support this.
Documentation/feature-removal-schedule.txt+54−16
@@ -296,15 +296,6 @@ Who: Ravikiran Thirumalai <kiran@scalex86.org> · 295 unmodified lines
296296
297297 ---------------------------
298298
299−What: CONFIG_THERMAL_HWMON
300−When: January 2009
301−Why: This option was introduced just to allow older lm-sensors userspace
302− to keep working over the upgrade to 2.6.26. At the scheduled time of
303− removal fixed lm-sensors (2.x or 3.x) should be readily available.
304−Who: Rene Herman <rene.herman@gmail.com>
305−
306−---------------------------
307−
308299 What: Code that is now under CONFIG_WIRELESS_EXT_SYSFS
309300 (in net/core/net-sysfs.c)
310301 When: After the only user (hal) has seen a release with the patches
@@ -460,13 +451,6 @@ Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> · 149 unmodified lines
460451
461452 ----------------------------
462453
463−What: DMA_xxBIT_MASK macros
464−When: Jun 2011
465−Why: DMA_xxBIT_MASK macros were replaced with DMA_BIT_MASK() macros.
466−Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
467−
468−----------------------------
469−
470454 What: iwlwifi disable_hw_scan module parameters
471455 When: 3.0
472456 Why: Hareware scan is the prefer method for iwlwifi devices for
@@ -534,6 +518,41 @@ Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> · 61 unmodified lines
534518
535519 ----------------------------
536520
521+What: Support for driver specific ioctls in the pwc driver (everything
522+ defined in media/pwc-ioctl.h)
523+When: 3.3
524+Why: This stems from the v4l1 era, with v4l2 everything can be done with
525+ standardized v4l2 API calls
526+Who: Hans de Goede <hdegoede@redhat.com>
527+
528+----------------------------
529+
530+What: Driver specific sysfs API in the pwc driver
531+When: 3.3
532+Why: Setting pan/tilt should be done with v4l2 controls, like with other
533+ cams. The button is available as a standard input device
534+Who: Hans de Goede <hdegoede@redhat.com>
535+
536+----------------------------
537+
538+What: Driver specific use of pixfmt.priv in the pwc driver
539+When: 3.3
540+Why: The .priv field never was intended for this, setting a framerate is
541+ support using the standardized S_PARM ioctl
542+Who: Hans de Goede <hdegoede@redhat.com>
543+
544+----------------------------
545+
546+What: Software emulation of arbritary resolutions in the pwc driver
547+When: 3.3
548+Why: The pwc driver claims to support any resolution between 160x120
549+ and 640x480, but emulates this by simply drawing a black border
550+ around the image. Userspace can draw its own black border if it
551+ really wants one.
552+Who: Hans de Goede <hdegoede@redhat.com>
553+
554+----------------------------
555+
537556 What: For VIDIOC_S_FREQUENCY the type field must match the device node's type.
538557 If not, return -EINVAL.
539558 When: 3.2
@@ -562,3 +581,22 @@ Why: This driver has been superseded by g_mass_storage. · 22 unmodified lines
562581 Who: Alan Stern <stern@rowland.harvard.edu>
563582
564583 ----------------------------
584+
585+What: threeg and interface sysfs files in /sys/devices/platform/acer-wmi
586+When: 2012
587+Why: In 3.0, we can now autodetect internal 3G device and already have
588+ the threeg rfkill device. So, we plan to remove threeg sysfs support
589+ for it's no longer necessary.
590+
591+ We also plan to remove interface sysfs file that exposed which ACPI-WMI
592+ interface that was used by acer-wmi driver. It will replaced by
593+ information log when acer-wmi initial.
594+Who: Lee, Chun-Yi <jlee@novell.com>
595+
596+----------------------------
597+What: The XFS nodelaylog mount option
598+When: 3.3
599+Why: The delaylog mode that has been the default since 2.6.39 has proven
600+ stable, and the old code is in the way of additional improvements in
601+ the log code.
602+Who: Christoph Hellwig <hch@lst.de>
Documentation/filesystems/befs.txt+1−1
@@ -27,7 +27,7 @@ His original code can still be found at: · 26 unmodified lines
2727 Does anyone know of a more current email address for Makoto? He doesn't
2828 respond to the address given above...
2929
30−Current maintainer: Sergey S. Kostyliov <rathamahata@php4.ru>
30+This filesystem doesn't have a maintainer.
3131
3232 WHAT IS THIS DRIVER?
3333 ==================
Documentation/filesystems/ext3.txt+2−11
@@ -147,15 +147,6 @@ grpjquota=<file> during journal replay. They replace the above · 146 unmodified lines
147147 package for more details
148148 (http://sourceforge.net/projects/linuxquota).
149149
150−bh (*) ext3 associates buffer heads to data pages to
151−nobh (a) cache disk block mapping information
152− (b) link pages into transaction to provide
153− ordering guarantees.
154− "bh" option forces use of buffer heads.
155− "nobh" option tries to avoid associating buffer
156− heads (supported only for "writeback" mode).
157−
158−
159150 Specification
160151 =============
161152 Ext3 shares all disk implementation with the ext2 filesystem, and adds
@@ -227,5 +218,5 @@ kernel source: <file:fs/ext3/> · 65 unmodified lines
227218 programs: http://e2fsprogs.sourceforge.net/
228219 http://ext2resize.sourceforge.net
229220
230−useful links: http://www.ibm.com/developerworks/library/l-fs7.html
231− http://www.ibm.com/developerworks/library/l-fs8.html
221+useful links: http://www.ibm.com/developerworks/library/l-fs7/index.html
222+ http://www.ibm.com/developerworks/library/l-fs8/index.html
Documentation/filesystems/ext4.txt+7−16
@@ -68,12 +68,12 @@ Note: More extensive information for getting started with ext4 can be · 67 unmodified lines
6868 '-o barriers=[0|1]' mount option for both ext3 and ext4 filesystems
6969 for a fair comparison. When tuning ext3 for best benchmark numbers,
7070 it is often worthwhile to try changing the data journaling mode; '-o
71− data=writeback,nobh' can be faster for some workloads. (Note
72− however that running mounted with data=writeback can potentially
73− leave stale data exposed in recently written files in case of an
74− unclean shutdown, which could be a security exposure in some
75− situations.) Configuring the filesystem with a large journal can
76− also be helpful for metadata-intensive workloads.
71+ data=writeback' can be faster for some workloads. (Note however that
72+ running mounted with data=writeback can potentially leave stale data
73+ exposed in recently written files in case of an unclean shutdown,
74+ which could be a security exposure in some situations.) Configuring
75+ the filesystem with a large journal can also be helpful for
76+ metadata-intensive workloads.
7777
7878 2. Features
7979 ===========
@@ -272,14 +272,6 @@ grpjquota=<file> during journal replay. They replace the above · 192 unmodified lines
272272 package for more details
273273 (http://sourceforge.net/projects/linuxquota).
274274
275−bh (*) ext4 associates buffer heads to data pages to
276−nobh (a) cache disk block mapping information
277− (b) link pages into transaction to provide
278− ordering guarantees.
279− "bh" option forces use of buffer heads.
280− "nobh" option tries to avoid associating buffer
281− heads (supported only for "writeback" mode).
282−
283275 stripe=n Number of filesystem blocks that mballoc will try
284276 to use for allocation size and alignment. For RAID5/6
285277 systems this should be the number of data
@@ -393,8 +385,7 @@ dioread_nolock locking. If the dioread_nolock option is specified · 107 unmodified lines
393385 write and convert the extent to initialized after IO
394386 completes. This approach allows ext4 code to avoid
395387 using inode mutex, which improves scalability on high
396− speed storages. However this does not work with nobh
397− option and the mount will fail. Nor does it work with
388+ speed storages. However this does not work with
398389 data journaling and dioread_nolock option will be
399390 ignored with kernel warning. Note that dioread_nolock
400391 code path is only used for extent-based files.
Documentation/filesystems/nfs/Exporting+8−1
@@ -92,7 +92,14 @@ For a filesystem to be exportable it must: · 91 unmodified lines
9292 1/ provide the filehandle fragment routines described below.
9393 2/ make sure that d_splice_alias is used rather than d_add
9494 when ->lookup finds an inode for a given parent and name.
95− Typically the ->lookup routine will end with a:
95+
96+ If inode is NULL, d_splice_alias(inode, dentry) is eqivalent to
97+
98+ d_add(dentry, inode), NULL
99+
100+ Similarly, d_splice_alias(ERR_PTR(err), dentry) = ERR_PTR(err)
101+
102+ Typically the ->lookup routine will simply end with a:
96103
97104 return d_splice_alias(inode, dentry);
98105 }
Documentation/frv/booting.txt+10−3
@@ -106,13 +106,20 @@ separated by spaces: · 105 unmodified lines
106106 To use the first on-chip serial port at baud rate 115200, no parity, 8
107107 bits, and no flow control.
108108
109− (*) root=/dev/<xxxx>
109+ (*) root=<xxxx>
110110
111− This specifies the device upon which the root filesystem resides. For
112− example:
111+ This specifies the device upon which the root filesystem resides. It
112+ may be specified by major and minor number, device path, or even
113+ partition uuid, if supported. For example:
113114
114115 /dev/nfs NFS root filesystem
115116 /dev/mtdblock3 Fourth RedBoot partition on the System Flash
117+ PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=1
118+ first partition after the partition with the given UUID
119+ 253:0 Device with major 253 and minor 0
120+
121+ Authoritative information can be found in
122+ "Documentation/kernel-parameters.txt".
116123
117124 (*) rw
118125
Documentation/hwmon/adm1275+6−2
@@ -43,8 +43,8 @@ Documentation/hwmon/pmbus for details. · 42 unmodified lines
4343 Sysfs entries
4444 -------------
4545
46−The following attributes are supported. Limits are read-write; all other
47−attributes are read-only.
46+The following attributes are supported. Limits are read-write, history reset
47+attributes are write-only, all other attributes are read-only.
4848
4949 in1_label "vin1" or "vout1" depending on chip variant and
5050 configuration.
@@ -53,8 +53,12 @@ in1_min Minumum Voltage. From VOUT_UV_WARN_LIMIT register. · 2 unmodified lines
5353 in1_max Maximum voltage. From VOUT_OV_WARN_LIMIT register.
5454 in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status.
5555 in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
56+in1_highest Historical maximum voltage.
57+in1_reset_history Write any value to reset history.
5658
5759 curr1_label "iout1"
5860 curr1_input Measured current. From READ_IOUT register.
5961 curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register.
6062 curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
63+curr1_highest Historical maximum current.
64+curr1_reset_history Write any value to reset history.
Documentation/hwmon/coretemp+7−0
@@ -35,6 +35,13 @@ the Out-Of-Spec bit. Following table summarizes the exported sysfs files: · 34 unmodified lines
3535 All Sysfs entries are named with their core_id (represented here by 'X').
3636 tempX_input - Core temperature (in millidegrees Celsius).
3737 tempX_max - All cooling devices should be turned on (on Core2).
38+ Initialized with IA32_THERM_INTERRUPT. When the CPU
39+ temperature reaches this temperature, an interrupt is
40+ generated and tempX_max_alarm is set.
41+tempX_max_hyst - If the CPU temperature falls below than temperature,
42+ an interrupt is generated and tempX_max_alarm is reset.
43+tempX_max_alarm - Set if the temperature reaches or exceeds tempX_max.
44+ Reset if the temperature drops to or below tempX_max_hyst.
3845 tempX_crit - Maximum junction temperature (in millidegrees Celsius).
3946 tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
4047 Correct CPU operation is no longer guaranteed.
Documentation/hwmon/lm25066+90−0
@@ -0,0 +1,90 @@
1+Kernel driver max8688
2+=====================
3+
4+Supported chips:
5+ * National Semiconductor LM25066
6+ Prefix: 'lm25066'
7+ Addresses scanned: -
8+ Datasheets:
9+ http://www.national.com/pf/LM/LM25066.html
10+ http://www.national.com/pf/LM/LM25066A.html
11+ * National Semiconductor LM5064
12+ Prefix: 'lm5064'
13+ Addresses scanned: -
14+ Datasheet:
15+ http://www.national.com/pf/LM/LM5064.html
16+ * National Semiconductor LM5066
17+ Prefix: 'lm5066'
18+ Addresses scanned: -
19+ Datasheet:
20+ http://www.national.com/pf/LM/LM5066.html
21+
22+Author: Guenter Roeck <guenter.roeck@ericsson.com>
23+
24+
25+Description
26+-----------
27+
28+This driver supports hardware montoring for National Semiconductor LM25066,
29+LM5064, and LM5064 Power Management, Monitoring, Control, and Protection ICs.
30+
31+The driver is a client driver to the core PMBus driver. Please see
32+Documentation/hwmon/pmbus for details on PMBus client drivers.
33+
34+
35+Usage Notes
36+-----------
37+
38+This driver does not auto-detect devices. You will have to instantiate the
39+devices explicitly. Please see Documentation/i2c/instantiating-devices for
40+details.
41+
42+
43+Platform data support
44+---------------------
45+
46+The driver supports standard PMBus driver platform data.
47+
48+
49+Sysfs entries
50+-------------
51+
52+The following attributes are supported. Limits are read-write; all other
53+attributes are read-only.
54+
55+in1_label "vin"
56+in1_input Measured input voltage.
57+in1_average Average measured input voltage.
58+in1_min Minimum input voltage.
59+in1_max Maximum input voltage.
60+in1_min_alarm Input voltage low alarm.
61+in1_max_alarm Input voltage high alarm.
62+
63+in2_label "vout1"
64+in2_input Measured output voltage.
65+in2_average Average measured output voltage.
66+in2_min Minimum output voltage.
67+in2_min_alarm Output voltage low alarm.
68+
69+in3_label "vout2"
70+in3_input Measured voltage on vaux pin
71+
72+curr1_label "iin"
73+curr1_input Measured input current.
74+curr1_average Average measured input current.
75+curr1_max Maximum input current.
76+curr1_max_alarm Input current high alarm.
77+
78+power1_label "pin"
79+power1_input Measured input power.
80+power1_average Average measured input power.
81+power1_max Maximum input power limit.
82+power1_alarm Input power alarm
83+power1_input_highest Historical maximum power.
84+power1_reset_history Write any value to reset maximum power history.
85+
86+temp1_input Measured temperature.
87+temp1_max Maximum temperature.
88+temp1_crit Critical high temperature.
89+temp1_max_alarm Chip temperature high alarm.
90+temp1_crit_alarm Chip temperature critical high alarm.
Documentation/hwmon/lm90+8−1
@@ -113,7 +113,11 @@ Supported chips: · 112 unmodified lines
113113 Prefix: 'w83l771'
114114 Addresses scanned: I2C 0x4c
115115 Datasheet: Not publicly available, can be requested from Nuvoton
116−
116+ * Philips/NXP SA56004X
117+ Prefix: 'sa56004'
118+ Addresses scanned: I2C 0x48 through 0x4F
119+ Datasheet: Publicly available at NXP website
120+ http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf
117121
118122 Author: Jean Delvare <khali@linux-fr.org>
119123
@@ -193,6 +197,9 @@ W83L771AWG/ASG · 73 unmodified lines
193197 * The AWG and ASG variants only differ in package format.
194198 * Diode ideality factor configuration (remote sensor) at 0xE3
195199
200+SA56004X:
201+ * Better local resolution
202+
196203 All temperature values are given in degrees Celsius. Resolution
197204 is 1.0 degree for the local temperature, 0.125 degree for the remote
198205 temperature, except for the MAX6657, MAX6658 and MAX6659 which have a
Documentation/hwmon/lm95245+33−0
@@ -0,0 +1,33 @@
1+Kernel driver lm95245
2+==================
3+
4+Supported chips:
5+ * National Semiconductor LM95245
6+ Addresses scanned: I2C 0x18, 0x19, 0x29, 0x4c, 0x4d
7+ Datasheet: Publicly available at the National Semiconductor website
8+ http://www.national.com/mpf/LM/LM95245.html
9+
10+
11+Author: Alexander Stein <alexander.stein@systec-electronic.com>
12+
13+Description
14+-----------
15+
16+The LM95245 is an 11-bit digital temperature sensor with a 2-wire System
17+Management Bus (SMBus) interface and TruTherm technology that can monitor
18+the temperature of a remote diode as well as its own temperature.
19+The LM95245 can be used to very accurately monitor the temperature of
20+external devices such as microprocessors.
21+
22+All temperature values are given in millidegrees Celsius. Local temperature
23+is given within a range of -127 to +127.875 degrees. Remote temperatures are
24+given within a range of -127 to +255 degrees. Resolution depends on
25+temperature input and range.
26+
27+Each sensor has its own critical limit, but the hysteresis is common to all
28+two channels.
29+
30+The lm95245 driver can change its update interval to a fixed set of values.
31+It will round up to the next selectable interval. See the datasheet for exact
32+values. Reading sensor values more often will do no harm, but will return
33+'old' values.
Documentation/hwmon/max16064+4−0
@@ -50,6 +50,8 @@ in[1-4]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. · 49 unmodified lines
5050 in[1-4]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
5151 in[1-4]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
5252 in[1-4]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+in[1-4]_highest Historical maximum voltage.
54+in[1-4]_reset_history Write any value to reset history.
5355
5456 temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
5557 temp1_max Maximum temperature. From OT_WARN_LIMIT register.
@@ -60,3 +62,5 @@ temp1_max_alarm Chip temperature high alarm. Set by comparing · 4 unmodified lines
6062 temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
6163 READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
6264 status is set.
65+temp1_highest Historical maximum temperature.
66+temp1_reset_history Write any value to reset history.
Documentation/hwmon/max16065+7−0
@@ -62,6 +62,13 @@ can be safely used to identify the chip. You will have to instantiate · 61 unmodified lines
6262 the devices explicitly. Please see Documentation/i2c/instantiating-devices for
6363 details.
6464
65+WARNING: Do not access chip registers using the i2cdump command, and do not use
66+any of the i2ctools commands on a command register (0xa5 to 0xac). The chips
67+supported by this driver interpret any access to a command register (including
68+read commands) as request to execute the command in question. This may result in
69+power loss, board resets, and/or Flash corruption. Worst case, your board may
70+turn into a brick.
71+
6572
6673 Sysfs entries
6774 -------------
Documentation/hwmon/max1668+60−0
@@ -0,0 +1,60 @@
1+Kernel driver max1668
2+=====================
3+
4+Supported chips:
5+ * Maxim MAX1668, MAX1805 and MAX1989
6+ Prefix: 'max1668'
7+ Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e
8+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX1668-MAX1989.pdf
9+
10+Author:
11+ David George <david.george@ska.ac.za>
12+
13+Description
14+-----------
15+
16+This driver implements support for the Maxim MAX1668, MAX1805 and MAX1989
17+chips.
18+
19+The three devices are very similar, but the MAX1805 has a reduced feature
20+set; only two remote temperature inputs vs the four avaible on the other
21+two ICs.
22+
23+The driver is able to distinguish between the devices and creates sysfs
24+entries as follows:
25+
26+MAX1805, MAX1668 and MAX1989:
27+
28+temp1_input ro local (ambient) temperature
29+temp1_max rw local temperature maximum threshold for alarm
30+temp1_max_alarm ro local temperature maximum threshold alarm
31+temp1_min rw local temperature minimum threshold for alarm
32+temp1_min_alarm ro local temperature minimum threshold alarm
33+temp2_input ro remote temperature 1
34+temp2_max rw remote temperature 1 maximum threshold for alarm
35+temp2_max_alarm ro remote temperature 1 maximum threshold alarm
36+temp2_min rw remote temperature 1 minimum threshold for alarm
37+temp2_min_alarm ro remote temperature 1 minimum threshold alarm
38+temp3_input ro remote temperature 2
39+temp3_max rw remote temperature 2 maximum threshold for alarm
40+temp3_max_alarm ro remote temperature 2 maximum threshold alarm
41+temp3_min rw remote temperature 2 minimum threshold for alarm
42+temp3_min_alarm ro remote temperature 2 minimum threshold alarm
43+
44+MAX1668 and MAX1989 only:
45+temp4_input ro remote temperature 3
46+temp4_max rw remote temperature 3 maximum threshold for alarm
47+temp4_max_alarm ro remote temperature 3 maximum threshold alarm
48+temp4_min rw remote temperature 3 minimum threshold for alarm
49+temp4_min_alarm ro remote temperature 3 minimum threshold alarm
50+temp5_input ro remote temperature 4
51+temp5_max rw remote temperature 4 maximum threshold for alarm
52+temp5_max_alarm ro remote temperature 4 maximum threshold alarm
53+temp5_min rw remote temperature 4 minimum threshold for alarm
54+temp5_min_alarm ro remote temperature 4 minimum threshold alarm
55+
56+Module Parameters
57+-----------------
58+
59+* read_only: int
60+ Set to non-zero if you wish to prevent write access to alarm thresholds.
Documentation/hwmon/max34440+6−0
@@ -56,6 +56,8 @@ in[1-6]_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. · 55 unmodified lines
5656 in[1-6]_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
5757 in[1-6]_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
5858 in[1-6]_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
59+in[1-6]_highest Historical maximum voltage.
60+in[1-6]_reset_history Write any value to reset history.
5961
6062 curr[1-6]_label "iout[1-6]".
6163 curr[1-6]_input Measured current. From READ_IOUT register.
@@ -63,6 +65,8 @@ curr[1-6]_max Maximum current. From IOUT_OC_WARN_LIMIT register. · 1 unmodified line
6365 curr[1-6]_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
6466 curr[1-6]_max_alarm Current high alarm. From IOUT_OC_WARNING status.
6567 curr[1-6]_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
68+curr[1-6]_highest Historical maximum current.
69+curr[1-6]_reset_history Write any value to reset history.
6670
6771 in6 and curr6 attributes only exist for MAX34440.
6872
@@ -75,5 +79,7 @@ temp[1-8]_max Maximum temperature. From OT_WARN_LIMIT register. · 6 unmodified lines
7579 temp[1-8]_crit Critical high temperature. From OT_FAULT_LIMIT register.
7680 temp[1-8]_max_alarm Temperature high alarm.
7781 temp[1-8]_crit_alarm Temperature critical high alarm.
82+temp[1-8]_highest Historical maximum temperature.
83+temp[1-8]_reset_history Write any value to reset history.
7884
7985 temp7 and temp8 attributes only exist for MAX34440.
Documentation/hwmon/max8688+6−0
@@ -50,6 +50,8 @@ in1_min_alarm Voltage low alarm. From VOLTAGE_UV_WARNING status. · 49 unmodified lines
5050 in1_max_alarm Voltage high alarm. From VOLTAGE_OV_WARNING status.
5151 in1_lcrit_alarm Voltage critical low alarm. From VOLTAGE_UV_FAULT status.
5252 in1_crit_alarm Voltage critical high alarm. From VOLTAGE_OV_FAULT status.
53+in1_highest Historical maximum voltage.
54+in1_reset_history Write any value to reset history.
5355
5456 curr1_label "iout1"
5557 curr1_input Measured current. From READ_IOUT register.
@@ -57,6 +59,8 @@ curr1_max Maximum current. From IOUT_OC_WARN_LIMIT register. · 1 unmodified line
5759 curr1_crit Critical maximum current. From IOUT_OC_FAULT_LIMIT register.
5860 curr1_max_alarm Current high alarm. From IOUT_OC_WARN_LIMIT register.
5961 curr1_crit_alarm Current critical high alarm. From IOUT_OC_FAULT status.
62+curr1_highest Historical maximum current.
63+curr1_reset_history Write any value to reset history.
6064
6165 temp1_input Measured temperature. From READ_TEMPERATURE_1 register.
6266 temp1_max Maximum temperature. From OT_WARN_LIMIT register.
@@ -67,3 +71,5 @@ temp1_max_alarm Chip temperature high alarm. Set by comparing · 4 unmodified lines
6771 temp1_crit_alarm Chip temperature critical high alarm. Set by comparing
6872 READ_TEMPERATURE_1 with OT_FAULT_LIMIT if TEMP_OT_FAULT
6973 status is set.
74+temp1_highest Historical maximum temperature.
75+temp1_reset_history Write any value to reset history.
Documentation/hwmon/ntc_thermistor+93−0
@@ -0,0 +1,93 @@
1+Kernel driver ntc_thermistor
2+=================
3+
4+Supported thermistors:
5+* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333
6+ Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473', 'ncp15wl333'
7+ Datasheet: Publicly available at Murata
8+
9+Other NTC thermistors can be supported simply by adding compensation
10+tables; e.g., NCP15WL333 support is added by the table ncpXXwl333.
11+
12+Authors:
13+ MyungJoo Ham <myungjoo.ham@samsung.com>
14+
15+Description
16+-----------
17+
18+The NTC thermistor is a simple thermistor that requires users to provide the
19+resistance and lookup the corresponding compensation table to get the
20+temperature input.
21+
22+The NTC driver provides lookup tables with a linear approximation function
23+and four circuit models with an option not to use any of the four models.
24+
25+The four circuit models provided are:
26+
27+ $: resister, [TH]: the thermistor
28+
29+ 1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0
30+
31+ [pullup_uV]
32+ | |
33+ [TH] $ (pullup_ohm)
34+ | |
35+ +----+-----------------------[read_uV]
36+ |
37+ $ (pulldown_ohm)
38+ |
39+ --- (ground)
40+
41+ 2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)
42+
43+ [pullup_uV]
44+ |
45+ [TH]
46+ |
47+ +----------------------------[read_uV]
48+ |
49+ $ (pulldown_ohm)
50+ |
51+ --- (ground)
52+
53+ 3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0
54+
55+ [pullup_uV]
56+ |
57+ $ (pullup_ohm)
58+ |
59+ +----+-----------------------[read_uV]
60+ | |
61+ [TH] $ (pulldown_ohm)
62+ | |
63+ -------- (ground)
64+
65+ 4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)
66+
67+ [pullup_uV]
68+ |
69+ $ (pullup_ohm)
70+ |
71+ +----------------------------[read_uV]
72+ |
73+ [TH]
74+ |
75+ --- (ground)
76+
77+When one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
78+pulldown_ohm, and connect should be provided. When none of the four models
79+are suitable or the user can get the resistance directly, the user should
80+provide read_ohm and _not_ provide the others.
81+
82+Sysfs Interface
83+---------------
84+name the mandatory global attribute, the thermistor name.
85+
86+temp1_type always 4 (thermistor)
87+ RO
88+
89+temp1_input measure the temperature and provide the measured value.
90+ (reading this file initiates the reading procedure.)
91+ RO
92+
93+Note that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.
Documentation/hwmon/pmbus+7−0
@@ -13,6 +13,13 @@ Supported chips: · 12 unmodified lines
1313 Prefix: 'ltc2978'
1414 Addresses scanned: -
1515 Datasheet: http://cds.linear.com/docs/Datasheet/2978fa.pdf
16+ * ON Semiconductor ADP4000, NCP4200, NCP4208
17+ Prefixes: 'adp4000', 'ncp4200', 'ncp4208'
18+ Addresses scanned: -
19+ Datasheets:
20+ http://www.onsemi.com/pub_link/Collateral/ADP4000-D.PDF
21+ http://www.onsemi.com/pub_link/Collateral/NCP4200-D.PDF
22+ http://www.onsemi.com/pub_link/Collateral/JUNE%202009-%20REV.%200.PDF
1623 * Generic PMBus devices
1724 Prefix: 'pmbus'
1825 Addresses scanned: -
Documentation/hwmon/sysfs-interface+46−0
@@ -139,6 +139,29 @@ in[0-*]_input Voltage input value. · 138 unmodified lines
139139 thumb: drivers should report the voltage values at the
140140 "pins" of the chip.
141141
142+in[0-*]_average
143+ Average voltage
144+ Unit: millivolt
145+ RO
146+
147+in[0-*]_lowest
148+ Historical minimum voltage
149+ Unit: millivolt
150+ RO
151+
152+in[0-*]_highest
153+ Historical maximum voltage
154+ Unit: millivolt
155+ RO
156+
157+in[0-*]_reset_history
158+ Reset inX_lowest and inX_highest
159+ WO
160+
161+in_reset_history
162+ Reset inX_lowest and inX_highest for all sensors
163+ WO
164+
142165 in[0-*]_label Suggested voltage channel label.
143166 Text string
144167 Should only be created if the driver has hints about what
@@ -407,6 +430,29 @@ curr[1-*]_input Current input value · 262 unmodified lines
407430 Unit: milliampere
408431 RO
409432
433+curr[1-*]_average
434+ Average current use
435+ Unit: milliampere
436+ RO
437+
438+curr[1-*]_lowest
439+ Historical minimum current
440+ Unit: milliampere
441+ RO
442+
443+curr[1-*]_highest
444+ Historical maximum current
445+ Unit: milliampere
446+ RO
447+
448+curr[1-*]_reset_history
449+ Reset currX_lowest and currX_highest
450+ WO
451+
452+curr_reset_history
453+ Reset currX_lowest and currX_highest for all sensors
454+ WO
455+
410456 Also see the Alarms section for status flags associated with currents.
411457
412458 *********
Documentation/ioctl/ioctl-number.txt+3−0
@@ -292,6 +292,7 @@ Code Seq#(hex) Include File Comments · 291 unmodified lines
292292 <mailto:buk@buks.ipn.de>
293293 0xA0 all linux/sdp/sdp.h Industrial Device Project
294294 <mailto:kenji@bitgate.com>
295+0xA2 00-0F arch/tile/include/asm/hardwall.h
295296 0xA3 80-8F Port ACL in development:
296297 <mailto:tlewis@mindspring.com>
297298 0xA3 90-9F linux/dtlk.h
@@ -318,4 +319,6 @@ Code Seq#(hex) Include File Comments · 20 unmodified lines
318319 <mailto:thomas@winischhofer.net>
319320 0xF4 00-1F video/mbxfb.h mbxfb
320321 <mailto:raph@8d.com>
322+0xF6 all LTTng Linux Trace Toolkit Next Generation
323+ <mailto:mathieu.desnoyers@efficios.com>
321324 0xFD all linux/dm-ioctl.h
Documentation/kernel-docs.txt+0−11
@@ -620,17 +620,6 @@ · 619 unmodified lines
620620 (including this document itself) have been moved there, and might
621621 be more up to date than the web version.
622622
623− * Name: "Linux Source Driver"
624− URL: http://lsd.linux.cz
625− Keywords: Browsing source code.
626− Description: "Linux Source Driver (LSD) is an application, which
627− can make browsing source codes of Linux kernel easier than you can
628− imagine. You can select between multiple versions of kernel (e.g.
629− 0.01, 1.0.0, 2.0.33, 2.0.34pre13, 2.0.0, 2.1.101 etc.). With LSD
630− you can search Linux kernel (fulltext, macros, types, functions
631− and variables) and LSD can generate patches for you on the fly
632− (files, directories or kernel)".
633−
634623 * Name: "Linux Kernel Source Reference"
635624 Author: Thomas Graichen.
636625 URL: http://marc.info/?l=linux-kernel&m=96446640102205&w=4
Documentation/kernel-parameters.txt+79−27
@@ -40,6 +40,7 @@ parameter is applicable: · 39 unmodified lines
4040 ALSA ALSA sound support is enabled.
4141 APIC APIC support is enabled.
4242 APM Advanced Power Management support is enabled.
43+ ARM ARM architecture is enabled.
4344 AVR32 AVR32 architecture is enabled.
4445 AX25 Appropriate AX.25 support is enabled.
4546 BLACKFIN Blackfin architecture is enabled.
@@ -49,6 +50,7 @@ parameter is applicable: · 3 unmodified lines
4950 EFI EFI Partitioning (GPT) is enabled
5051 EIDE EIDE/ATAPI support is enabled.
5152 FB The frame buffer device is enabled.
53+ FTRACE Function tracing enabled.
5254 GCOV GCOV profiling is enabled.
5355 HW Appropriate hardware is enabled.
5456 IA-64 IA-64 architecture is enabled.
@@ -69,6 +71,7 @@ parameter is applicable: · 14 unmodified lines
6971 Documentation/m68k/kernel-options.txt.
7072 MCA MCA bus support is enabled.
7173 MDA MDA console support is enabled.
74+ MIPS MIPS architecture is enabled.
7275 MOUSE Appropriate mouse support is enabled.
7376 MSI Message Signaled Interrupts (PCI).
7477 MTD MTD (Memory Technology Device) support is enabled.
@@ -100,7 +103,6 @@ parameter is applicable: · 25 unmodified lines
100103 SPARC Sparc architecture is enabled.
101104 SWSUSP Software suspend (hibernation) is enabled.
102105 SUSPEND System suspend states are enabled.
103− FTRACE Function tracing enabled.
104106 TPM TPM drivers are enabled.
105107 TS Appropriate touchscreen support is enabled.
106108 UMS USB Mass Storage support is enabled.
@@ -115,7 +117,7 @@ parameter is applicable: · 8 unmodified lines
115117 X86-64 X86-64 architecture is enabled.
116118 More X86-64 boot options can be found in
117119 Documentation/x86/x86_64/boot-options.txt .
118− X86 Either 32bit or 64bit x86 (same as X86-32+X86-64)
120+ X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
119121 XEN Xen support is enabled
120122
121123 In addition, the following text indicates that the option:
@@ -163,6 +165,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 41 unmodified lines
163165
164166 See also Documentation/power/pm.txt, pci=noacpi
165167
168+ acpi_rsdp= [ACPI,EFI,KEXEC]
169+ Pass the RSDP address to the kernel, mostly used
170+ on machines running EFI runtime service to boot the
171+ second kernel for kdump.
172+
166173 acpi_apic_instance= [ACPI, IOAPIC]
167174 Format: <int>
168175 2: use 2nd APIC table, if available
@@ -371,7 +378,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 202 unmodified lines
371378 atkbd.softrepeat= [HW]
372379 Use software keyboard repeat
373380
374− autotest [IA64]
381+ autotest [IA-64]
375382
376383 baycom_epp= [HW,AX25]
377384 Format: <io>,<mode>
@@ -546,6 +553,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 168 unmodified lines
546553 /proc/<pid>/coredump_filter.
547554 See also Documentation/filesystems/proc.txt.
548555
556+ cpuidle.off=1 [CPU_IDLE]
557+ disable the cpuidle sub-system
558+
549559 cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver
550560 Format:
551561 <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>]
@@ -673,8 +683,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 121 unmodified lines
673683 uart[8250],mmio32,<addr>[,options]
674684 Start an early, polled-mode console on the 8250/16550
675685 UART at the specified I/O port or MMIO address.
676− MMIO inter-register address stride is either 8bit (mmio)
677− or 32bit (mmio32).
686+ MMIO inter-register address stride is either 8-bit
687+ (mmio) or 32-bit (mmio32).
678688 The options are the same as for ttyS, above.
679689
680690 earlyprintk= [X86,SH,BLACKFIN]
@@ -717,7 +727,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 36 unmodified lines
717727 See Documentation/block/as-iosched.txt and
718728 Documentation/block/deadline-iosched.txt for details.
719729
720− elfcorehdr= [IA64,PPC,SH,X86]
730+ elfcorehdr= [IA-64,PPC,SH,X86]
721731 Specifies physical address of start of kernel core
722732 image elf header. Generally kexec loader will
723733 pass this option to capture kernel.
@@ -783,7 +793,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 59 unmodified lines
783793 tracer at boot up. function-list is a comma separated
784794 list of functions. This list can be changed at run
785795 time by the set_ftrace_filter file in the debugfs
786− tracing directory.
796+ tracing directory.
787797
788798 ftrace_notrace=[function-list]
789799 [FTRACE] Do not trace the functions specified in
@@ -821,7 +831,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 31 unmodified lines
821831
822832 hashdist= [KNL,NUMA] Large hashes allocated during boot
823833 are distributed across NUMA nodes. Defaults on
824− for 64bit NUMA, off otherwise.
834+ for 64-bit NUMA, off otherwise.
825835 Format: 0 | 1 (for off | on)
826836
827837 hcl= [IA-64] SGI's Hardware Graph compatibility layer
@@ -990,10 +1000,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 162 unmodified lines
9901000 DMA.
9911001 forcedac [x86_64]
9921002 With this option iommu will not optimize to look
993− for io virtual address below 32 bit forcing dual
1003+ for io virtual address below 32-bit forcing dual
9941004 address cycle on pci bus for cards supporting greater
995− than 32 bit addressing. The default is to look
996− for translation below 32 bit and if not available
1005+ than 32-bit addressing. The default is to look
1006+ for translation below 32-bit and if not available
9971007 then look in the higher range.
9981008 strict [Default Off]
9991009 With this option on every unmap_single operation will
@@ -1009,7 +1019,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 9 unmodified lines
10091019 off disable Interrupt Remapping
10101020 nosid disable Source ID checking
10111021
1012− inttest= [IA64]
1022+ inttest= [IA-64]
10131023
10141024 iomem= Disable strict checking of access to MMIO memory
10151025 strict regions from userspace.
@@ -1026,7 +1036,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 10 unmodified lines
10261036 nomerge
10271037 forcesac
10281038 soft
1029− pt [x86, IA64]
1039+ pt [x86, IA-64]
10301040
10311041 io7= [HW] IO7 for Marvel based alpha systems
10321042 See comment before marvel_specify_io7 in
@@ -1157,7 +1167,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 124 unmodified lines
11571167
11581168 kvm-amd.npt= [KVM,AMD] Disable nested paging (virtualized MMU)
11591169 for all guests.
1160− Default is 1 (enabled) if in 64bit or 32bit-PAE mode
1170+ Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
11611171
11621172 kvm-intel.ept= [KVM,Intel] Disable extended page tables
11631173 (virtualized MMU) support on capable Intel chips.
@@ -1194,10 +1204,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 30 unmodified lines
11941204 libata.dma=0 Disable all PATA and SATA DMA
11951205 libata.dma=1 PATA and SATA Disk DMA only
11961206 libata.dma=2 ATAPI (CDROM) DMA only
1197− libata.dma=4 Compact Flash DMA only
1207+ libata.dma=4 Compact Flash DMA only
11981208 Combinations also work, so libata.dma=3 enables DMA
11991209 for disks and CDROMs, but not CFs.
1200−
1210+
12011211 libata.ignore_hpa= [LIBATA] Ignore HPA limit
12021212 libata.ignore_hpa=0 keep BIOS limits (default)
12031213 libata.ignore_hpa=1 ignore limits, using full disk
@@ -1323,7 +1333,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 119 unmodified lines
13231333 ltpc= [NET]
13241334 Format: <io>,<irq>,<dma>
13251335
1326− machvec= [IA64] Force the use of a particular machine-vector
1336+ machvec= [IA-64] Force the use of a particular machine-vector
13271337 (machvec) in a generic kernel.
13281338 Example: machvec=hpzx1_swiotlb
13291339
@@ -1340,9 +1350,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 10 unmodified lines
13401350 it is equivalent to "nosmp", which also disables
13411351 the IO APIC.
13421352
1343− max_loop= [LOOP] Maximum number of loopback devices that can
1344− be mounted
1345− Format: <1-256>
1353+ max_loop= [LOOP] The number of loop block devices that get
1354+ (loop.max_loop) unconditionally pre-created at init time. The default
1355+ number is configured by BLK_DEV_LOOP_MIN_COUNT. Instead
1356+ of statically allocating a predefined number, loop
1357+ devices can be requested on-demand with the
1358+ /dev/loop-control interface.
13461359
13471360 mcatest= [IA-64]
13481361
@@ -1726,7 +1739,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 377 unmodified lines
17261739
17271740 nointroute [IA-64]
17281741
1729− nojitter [IA64] Disables jitter checking for ITC timers.
1742+ nojitter [IA-64] Disables jitter checking for ITC timers.
17301743
17311744 no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver
17321745
@@ -1792,7 +1805,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 59 unmodified lines
17921805
17931806 nox2apic [X86-64,APIC] Do not enable x2APIC mode.
17941807
1795− nptcg= [IA64] Override max number of concurrent global TLB
1808+ nptcg= [IA-64] Override max number of concurrent global TLB
17961809 purges which is reported from either PAL_VM_SUMMARY or
17971810 SAL PALO.
17981811
@@ -1846,7 +1859,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 47 unmodified lines
18461859 See Documentation/sound/oss/oss-parameters.txt
18471860
18481861 panic= [KNL] Kernel behaviour on panic: delay <timeout>
1849− seconds before rebooting
1862+ timeout > 0: seconds before rebooting
1863+ timeout = 0: wait forever
1864+ timeout < 0: reboot immediately
18501865 Format: <timeout>
18511866
18521867 parkbd.port= [HW] Parallel port number the keyboard adapter is
@@ -2067,13 +2082,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 214 unmodified lines
20672082 Format: { parport<nr> | timid | 0 }
20682083 See also Documentation/parport.txt.
20692084
2070− pmtmr= [X86] Manual setup of pmtmr I/O Port.
2085+ pmtmr= [X86] Manual setup of pmtmr I/O Port.
20712086 Override pmtimer IOPort with a hex value.
20722087 e.g. pmtmr=0x508
20732088
2074− pnp.debug [PNP]
2075− Enable PNP debug messages. This depends on the
2076− CONFIG_PNP_DEBUG_MESSAGES option.
2089+ pnp.debug=1 [PNP]
2090+ Enable PNP debug messages (depends on the
2091+ CONFIG_PNP_DEBUG_MESSAGES option). Change at run-time
2092+ via /sys/module/pnp/parameters/debug. We always show
2093+ current resource usage; turning this on also shows
2094+ possible settings and some assignment information.
20772095
20782096 pnpacpi= [ACPI]
20792097 { off }
@@ -2151,6 +2169,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 71 unmodified lines
21512169 [HW,MOUSE] Controls Logitech smartscroll autorepeat.
21522170 0 = disabled, 1 = enabled (default).
21532171
2172+ pstore.backend= Specify the name of the pstore backend to use
2173+
21542174 pt. [PARIDE]
21552175 See Documentation/blockdev/paride.txt.
21562176
@@ -2236,6 +2256,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 79 unmodified lines
22362256 ro [KNL] Mount root device read-only on boot
22372257
22382258 root= [KNL] Root filesystem
2259+ See name_to_dev_t comment in init/do_mounts.c.
22392260
22402261 rootdelay= [KNL] Delay (in seconds) to pause before attempting to
22412262 mount the root filesystem
@@ -2622,6 +2643,16 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 380 unmodified lines
26222643 medium is write-protected).
26232644 Example: quirks=0419:aaf5:rl,0421:0433:rc
26242645
2646+ user_debug= [KNL,ARM]
2647+ Format: <int>
2648+ See arch/arm/Kconfig.debug help text.
2649+ 1 - undefined instruction events
2650+ 2 - system calls
2651+ 4 - invalid data aborts
2652+ 8 - SIGSEGV faults
2653+ 16 - SIGBUS faults
2654+ Example: user_debug=31
2655+
26252656 userpte=
26262657 [X86] Flags controlling user PTE allocations.
26272658
@@ -2667,6 +2698,27 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 39 unmodified lines
26672698 vmpoff= [KNL,S390] Perform z/VM CP command after power off.
26682699 Format: <command>
26692700
2701+ vsyscall= [X86-64]
2702+ Controls the behavior of vsyscalls (i.e. calls to
2703+ fixed addresses of 0xffffffffff600x00 from legacy
2704+ code). Most statically-linked binaries and older
2705+ versions of glibc use these calls. Because these
2706+ functions are at fixed addresses, they make nice
2707+ targets for exploits that can control RIP.
2708+
2709+ emulate [default] Vsyscalls turn into traps and are
2710+ emulated reasonably safely.
2711+
2712+ native Vsyscalls are native syscall instructions.
2713+ This is a little bit faster than trapping
2714+ and makes a few dynamic recompilers work
2715+ better than they would in emulation mode.
2716+ It also makes exploits much easier to write.
2717+
2718+ none Vsyscalls don't work at all. This makes
2719+ them quite hard to use for exploits but
2720+ might break your system.
2721+
26702722 vt.cur_default= [VT] Default cursor shape.
26712723 Format: 0xCCBBAA, where AA, BB, and CC are the same as
26722724 the parameters of the <Esc>[?A;B;Cc escape sequence;
Documentation/m68k/kernel-options.txt+14−0
@@ -129,6 +129,20 @@ decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for · 128 unmodified lines
129129 the first of these. You can find out all valid major numbers by
130130 looking into include/linux/major.h.
131131
132+In addition to major and minor numbers, if the device containing your
133+root partition uses a partition table format with unique partition
134+identifiers, then you may use them. For instance,
135+"root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF". It is also
136+possible to reference another partition on the same device using a
137+known partition UUID as the starting point. For example,
138+if partition 5 of the device has the UUID of
139+00112233-4455-6677-8899-AABBCCDDEEFF then partition 3 may be found as
140+follows:
141+ PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
142+
143+Authoritative information can be found in
144+"Documentation/kernel-parameters.txt".
145+
132146
133147 2.2) ro, rw
134148 -----------
Documentation/md.txt+23−6
@@ -360,18 +360,20 @@ Each directory contains: · 359 unmodified lines
360360 A file recording the current state of the device in the array
361361 which can be a comma separated list of
362362 faulty - device has been kicked from active use due to
363− a detected fault
363+ a detected fault or it has unacknowledged bad
364+ blocks
364365 in_sync - device is a fully in-sync member of the array
365366 writemostly - device will only be subject to read
366367 requests if there are no other options.
367368 This applies only to raid1 arrays.
368− blocked - device has failed, metadata is "external",
369− and the failure hasn't been acknowledged yet.
369+ blocked - device has failed, and the failure hasn't been
370+ acknowledged yet by the metadata handler.
370371 Writes that would write to this device if
371372 it were not faulty are blocked.
372373 spare - device is working, but not a full member.
373374 This includes spares that are in the process
374375 of being recovered to
376+ write_error - device has ever seen a write error.
375377 This list may grow in future.
376378 This can be written to.
377379 Writing "faulty" simulates a failure on the device.
@@ -379,9 +381,11 @@ Each directory contains: · 1 unmodified line
379381 Writing "writemostly" sets the writemostly flag.
380382 Writing "-writemostly" clears the writemostly flag.
381383 Writing "blocked" sets the "blocked" flag.
382− Writing "-blocked" clears the "blocked" flag and allows writes
383− to complete.
384+ Writing "-blocked" clears the "blocked" flags and allows writes
385+ to complete and possibly simulates an error.
384386 Writing "in_sync" sets the in_sync flag.
387+ Writing "write_error" sets writeerrorseen flag.
388+ Writing "-write_error" clears writeerrorseen flag.
385389
386390 This file responds to select/poll. Any change to 'faulty'
387391 or 'blocked' causes an event.
@@ -419,7 +423,6 @@ Each directory contains: · 31 unmodified lines
419423 written, it will be rejected.
420424
421425 recovery_start
422−
423426 When the device is not 'in_sync', this records the number of
424427 sectors from the start of the device which are known to be
425428 correct. This is normally zero, but during a recovery
@@ -435,6 +438,20 @@ Each directory contains: · 9 unmodified lines
435438 Setting this to 'none' is equivalent to setting 'in_sync'.
436439 Setting to any other value also clears the 'in_sync' flag.
437440
441+ bad_blocks
442+ This gives the list of all known bad blocks in the form of
443+ start address and length (in sectors respectively). If output
444+ is too big to fit in a page, it will be truncated. Writing
445+ "sector length" to this file adds new acknowledged (i.e.
446+ recorded to disk safely) bad blocks.
447+
448+ unacknowledged_bad_blocks
449+ This gives the list of known-but-not-yet-saved-to-disk bad
450+ blocks in the same form of 'bad_blocks'. If output is too big
451+ to fit in a page, it will be truncated. Writing to this file
452+ adds bad blocks without acknowledging them. This is largely
453+ for testing.
454+
438455
439456
440457 An active md device will also contain and entry for each active device
Documentation/media-framework.txt+1−1
@@ -310,7 +310,7 @@ is non-immutable. The operation must either configure the hardware or store · 309 unmodified lines
310310 the configuration information to be applied later.
311311
312312 Link configuration must not have any side effect on other links. If an enabled
313−link at a sink pad prevents another link at the same pad from being disabled,
313+link at a sink pad prevents another link at the same pad from being enabled,
314314 the link_setup operation must return -EBUSY and can't implicitly disable the
315315 first enabled link.
316316
Documentation/networking/00-INDEX+116−0
@@ -1,13 +1,21 @@
11 00-INDEX
22 - this file
3+3c359.txt
4+ - information on the 3Com TokenLink Velocity XL (3c5359) driver.
35 3c505.txt
46 - information on the 3Com EtherLink Plus (3c505) driver.
7+3c509.txt
8+ - information on the 3Com Etherlink III Series Ethernet cards.
59 6pack.txt
610 - info on the 6pack protocol, an alternative to KISS for AX.25
711 DLINK.txt
812 - info on the D-Link DE-600/DE-620 parallel port pocket adapters
913 PLIP.txt
1014 - PLIP: The Parallel Line Internet Protocol device driver
15+README.ipw2100
16+ - README for the Intel PRO/Wireless 2100 driver.
17+README.ipw2200
18+ - README for the Intel PRO/Wireless 2915ABG and 2200BG driver.
1119 README.sb1000
1220 - info on General Instrument/NextLevel SURFboard1000 cable modem.
1321 alias.txt
@@ -20,8 +28,12 @@ atm.txt · 6 unmodified lines
2028 - info on where to get ATM programs and support for Linux.
2129 ax25.txt
2230 - info on using AX.25 and NET/ROM code for Linux
31+batman-adv.txt
32+ - B.A.T.M.A.N routing protocol on top of layer 2 Ethernet Frames.
2333 baycom.txt
2434 - info on the driver for Baycom style amateur radio modems
35+bonding.txt
36+ - Linux Ethernet Bonding Driver HOWTO: link aggregation in Linux.
2537 bridge.txt
2638 - where to get user space programs for ethernet bridging with Linux.
2739 can.txt
@@ -34,32 +46,60 @@ cxacru.txt · 6 unmodified lines
3446 - Conexant AccessRunner USB ADSL Modem
3547 cxacru-cf.py
3648 - Conexant AccessRunner USB ADSL Modem configuration file parser
49+cxgb.txt
50+ - Release Notes for the Chelsio N210 Linux device driver.
51+dccp.txt
52+ - the Datagram Congestion Control Protocol (DCCP) (RFC 4340..42).
3753 de4x5.txt
3854 - the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver
3955 decnet.txt
4056 - info on using the DECnet networking layer in Linux.
4157 depca.txt
4258 - the Digital DEPCA/EtherWORKS DE1?? and DE2?? LANCE Ethernet driver
59+dl2k.txt
60+ - README for D-Link DL2000-based Gigabit Ethernet Adapters (dl2k.ko).
61+dm9000.txt
62+ - README for the Simtec DM9000 Network driver.
4363 dmfe.txt
4464 - info on the Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver.
65+dns_resolver.txt
66+ - The DNS resolver module allows kernel servies to make DNS queries.
67+driver.txt
68+ - Softnet driver issues.
4569 e100.txt
4670 - info on Intel's EtherExpress PRO/100 line of 10/100 boards
4771 e1000.txt
4872 - info on Intel's E1000 line of gigabit ethernet boards
73+e1000e.txt
74+ - README for the Intel Gigabit Ethernet Driver (e1000e).
4975 eql.txt
5076 - serial IP load balancing
5177 ewrk3.txt
5278 - the Digital EtherWORKS 3 DE203/4/5 Ethernet driver
79+fib_trie.txt
80+ - Level Compressed Trie (LC-trie) notes: a structure for routing.
5381 filter.txt
5482 - Linux Socket Filtering
5583 fore200e.txt
5684 - FORE Systems PCA-200E/SBA-200E ATM NIC driver info.
5785 framerelay.txt
5886 - info on using Frame Relay/Data Link Connection Identifier (DLCI).
87+gen_stats.txt
88+ - Generic networking statistics for netlink users.
89+generic_hdlc.txt
90+ - The generic High Level Data Link Control (HDLC) layer.
5991 generic_netlink.txt
6092 - info on Generic Netlink
93+gianfar.txt
94+ - Gianfar Ethernet Driver.
6195 ieee802154.txt
6296 - Linux IEEE 802.15.4 implementation, API and drivers
97+ifenslave.c
98+ - Configure network interfaces for parallel routing (bonding).
99+igb.txt
100+ - README for the Intel Gigabit Ethernet Driver (igb).
101+igbvf.txt
102+ - README for the Intel Gigabit Ethernet Driver (igbvf).
63103 ip-sysctl.txt
64104 - /proc/sys/net/ipv4/* variables
65105 ip_dynaddr.txt
@@ -68,41 +108,117 @@ ipddp.txt · 2 unmodified lines
68108 - AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
69109 iphase.txt
70110 - Interphase PCI ATM (i)Chip IA Linux driver info.
111+ipv6.txt
112+ - Options to the ipv6 kernel module.
113+ipvs-sysctl.txt
114+ - Per-inode explanation of the /proc/sys/net/ipv4/vs interface.
71115 irda.txt
72116 - where to get IrDA (infrared) utilities and info for Linux.
117+ixgb.txt
118+ - README for the Intel 10 Gigabit Ethernet Driver (ixgb).
119+ixgbe.txt
120+ - README for the Intel 10 Gigabit Ethernet Driver (ixgbe).
121+ixgbevf.txt
122+ - README for the Intel Virtual Function (VF) Driver (ixgbevf).
123+l2tp.txt
124+ - User guide to the L2TP tunnel protocol.
73125 lapb-module.txt
74126 - programming information of the LAPB module.
75127 ltpc.txt
76128 - the Apple or Farallon LocalTalk PC card driver
129+mac80211-injection.txt
130+ - HOWTO use packet injection with mac80211
77131 multicast.txt
78132 - Behaviour of cards under Multicast
133+multiqueue.txt
134+ - HOWTO for multiqueue network device support.
135+netconsole.txt
136+ - The network console module netconsole.ko: configuration and notes.
137+netdev-features.txt
138+ - Network interface features API description.
79139 netdevices.txt
80140 - info on network device driver functions exported to the kernel.
141+netif-msg.txt
142+ - Design of the network interface message level setting (NETIF_MSG_*).
143+nfc.txt
144+ - The Linux Near Field Communication (NFS) subsystem.
81145 olympic.txt
82146 - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info.
147+operstates.txt
148+ - Overview of network interface operational states.
149+packet_mmap.txt
150+ - User guide to memory mapped packet socket rings (PACKET_[RT]X_RING).
151+phonet.txt
152+ - The Phonet packet protocol used in Nokia cellular modems.
153+phy.txt
154+ - The PHY abstraction layer.
155+pktgen.txt
156+ - User guide to the kernel packet generator (pktgen.ko).
83157 policy-routing.txt
84158 - IP policy-based routing
159+ppp_generic.txt
160+ - Information about the generic PPP driver.
161+proc_net_tcp.txt
162+ - Per inode overview of the /proc/net/tcp and /proc/net/tcp6 interfaces.
163+radiotap-headers.txt
164+ - Background on radiotap headers.
85165 ray_cs.txt
86166 - Raylink Wireless LAN card driver info.
167+rds.txt
168+ - Background on the reliable, ordered datagram delivery method RDS.
169+regulatory.txt
170+ - Overview of the Linux wireless regulatory infrastructure.
171+rxrpc.txt
172+ - Guide to the RxRPC protocol.
173+s2io.txt
174+ - Release notes for Neterion Xframe I/II 10GbE driver.
175+scaling.txt
176+ - Explanation of network scaling techniques: RSS, RPS, RFS, aRFS, XPS.
177+sctp.txt
178+ - Notes on the Linux kernel implementation of the SCTP protocol.
179+secid.txt
180+ - Explanation of the secid member in flow structures.
87181 skfp.txt
88182 - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
89183 smc9.txt
90184 - the driver for SMC's 9000 series of Ethernet cards
91185 smctr.txt
92186 - SMC TokenCard TokenRing Linux driver info.
187+spider-net.txt
188+ - README for the Spidernet Driver (as found in PS3 / Cell BE).
189+stmmac.txt
190+ - README for the STMicro Synopsys Ethernet driver.
191+tc-actions-env-rules.txt
192+ - rules for traffic control (tc) actions.
193+timestamping.txt
194+ - overview of network packet timestamping variants.
93195 tcp.txt
94196 - short blurb on how TCP output takes place.
197+tcp-thin.txt
198+ - kernel tuning options for low rate 'thin' TCP streams.
95199 tlan.txt
96200 - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info.
97201 tms380tr.txt
98202 - SysKonnect Token Ring ISA/PCI adapter driver info.
203+tproxy.txt
204+ - Transparent proxy support user guide.
99205 tuntap.txt
100206 - TUN/TAP device driver, allowing user space Rx/Tx of packets.
207+udplite.txt
208+ - UDP-Lite protocol (RFC 3828) introduction.
101209 vortex.txt
102210 - info on using 3Com Vortex (3c590, 3c592, 3c595, 3c597) Ethernet cards.
211+vxge.txt
212+ - README for the Neterion X3100 PCIe Server Adapter.
103213 x25.txt
104214 - general info on X.25 development.
105215 x25-iface.txt
106216 - description of the X.25 Packet Layer to LAPB device interface.
217+xfrm_proc.txt
218+ - description of the statistics package for XFRM.
219+xfrm_sync.txt
220+ - sync patches for XFRM enable migration of an SA between hosts.
221+xfrm_sysctl.txt
222+ - description of the XFRM configuration options.
107223 z8530drv.txt
108224 - info about Linux driver for Z8530 based HDLC cards for AX.25
Documentation/networking/bonding.txt+30−1
@@ -238,6 +238,18 @@ ad_select · 237 unmodified lines
238238
239239 This option was added in bonding version 3.4.0.
240240
241+all_slaves_active
242+
243+ Specifies that duplicate frames (received on inactive ports) should be
244+ dropped (0) or delivered (1).
245+
246+ Normally, bonding will drop duplicate frames (received on inactive
247+ ports), which is desirable for most users. But there are some times
248+ it is nice to allow duplicate frames to be delivered.
249+
250+ The default value is 0 (drop duplicate frames received on inactive
251+ ports).
252+
241253 arp_interval
242254
243255 Specifies the ARP link monitoring frequency in milliseconds.
@@ -433,6 +445,23 @@ miimon · 189 unmodified lines
433445 determined. See the High Availability section for additional
434446 information. The default value is 0.
435447
448+min_links
449+
450+ Specifies the minimum number of links that must be active before
451+ asserting carrier. It is similar to the Cisco EtherChannel min-links
452+ feature. This allows setting the minimum number of member ports that
453+ must be up (link-up state) before marking the bond device as up
454+ (carrier on). This is useful for situations where higher level services
455+ such as clustering want to ensure a minimum number of low bandwidth
456+ links are active before switchover. This option only affect 802.3ad
457+ mode.
458+
459+ The default value is 0. This will cause carrier to be asserted (for
460+ 802.3ad mode) whenever there is an active aggregator, regardless of the
461+ number of available links in that aggregator. Note that, because an
462+ aggregator cannot be active without at least one available link,
463+ setting this option to 0 or to 1 has the exact same effect.
464+
436465 mode
437466
438467 Specifies one of the bonding policies. The default is
@@ -599,7 +628,7 @@ num_unsol_na · 160 unmodified lines
599628 affect only the active-backup mode. These options were added for
600629 bonding versions 3.3.0 and 3.4.0 respectively.
601630
602− From Linux 2.6.40 and bonding version 3.7.1, these notifications
631+ From Linux 3.0 and bonding version 3.7.1, these notifications
603632 are generated by the ipv4 and ipv6 code and the numbers of
604633 repetitions cannot be set independently.
605634
Documentation/networking/ip-sysctl.txt+1−1
@@ -992,7 +992,7 @@ bindv6only - BOOLEAN · 991 unmodified lines
992992 TRUE: disable IPv4-mapped address feature
993993 FALSE: enable IPv4-mapped address feature
994994
995− Default: FALSE (as specified in RFC2553bis)
995+ Default: FALSE (as specified in RFC3493)
996996
997997 IPv6 Fragmentation:
998998
Documentation/networking/scaling.txt+378−0
@@ -0,0 +1,378 @@
1+Scaling in the Linux Networking Stack
2+
3+
4+Introduction
5+============
6+
7+This document describes a set of complementary techniques in the Linux
8+networking stack to increase parallelism and improve performance for
9+multi-processor systems.
10+
11+The following technologies are described:
12+
13+ RSS: Receive Side Scaling
14+ RPS: Receive Packet Steering
15+ RFS: Receive Flow Steering
16+ Accelerated Receive Flow Steering
17+ XPS: Transmit Packet Steering
18+
19+
20+RSS: Receive Side Scaling
21+=========================
22+
23+Contemporary NICs support multiple receive and transmit descriptor queues
24+(multi-queue). On reception, a NIC can send different packets to different
25+queues to distribute processing among CPUs. The NIC distributes packets by
26+applying a filter to each packet that assigns it to one of a small number
27+of logical flows. Packets for each flow are steered to a separate receive
28+queue, which in turn can be processed by separate CPUs. This mechanism is
29+generally known as “Receive-side Scaling” (RSS). The goal of RSS and
30+the other scaling techniques to increase performance uniformly.
31+Multi-queue distribution can also be used for traffic prioritization, but
32+that is not the focus of these techniques.
33+
34+The filter used in RSS is typically a hash function over the network
35+and/or transport layer headers-- for example, a 4-tuple hash over
36+IP addresses and TCP ports of a packet. The most common hardware
37+implementation of RSS uses a 128-entry indirection table where each entry
38+stores a queue number. The receive queue for a packet is determined
39+by masking out the low order seven bits of the computed hash for the
40+packet (usually a Toeplitz hash), taking this number as a key into the
41+indirection table and reading the corresponding value.
42+
43+Some advanced NICs allow steering packets to queues based on
44+programmable filters. For example, webserver bound TCP port 80 packets
45+can be directed to their own receive queue. Such “n-tuple” filters can
46+be configured from ethtool (--config-ntuple).
47+
48+==== RSS Configuration
49+
50+The driver for a multi-queue capable NIC typically provides a kernel
51+module parameter for specifying the number of hardware queues to
52+configure. In the bnx2x driver, for instance, this parameter is called
53+num_queues. A typical RSS configuration would be to have one receive queue
54+for each CPU if the device supports enough queues, or otherwise at least
55+one for each memory domain, where a memory domain is a set of CPUs that
56+share a particular memory level (L1, L2, NUMA node, etc.).
57+
58+The indirection table of an RSS device, which resolves a queue by masked
59+hash, is usually programmed by the driver at initialization. The
60+default mapping is to distribute the queues evenly in the table, but the
61+indirection table can be retrieved and modified at runtime using ethtool
62+commands (--show-rxfh-indir and --set-rxfh-indir). Modifying the
63+indirection table could be done to give different queues different
64+relative weights.
65+
66+== RSS IRQ Configuration
67+
68+Each receive queue has a separate IRQ associated with it. The NIC triggers
69+this to notify a CPU when new packets arrive on the given queue. The
70+signaling path for PCIe devices uses message signaled interrupts (MSI-X),
71+that can route each interrupt to a particular CPU. The active mapping
72+of queues to IRQs can be determined from /proc/interrupts. By default,
73+an IRQ may be handled on any CPU. Because a non-negligible part of packet
74+processing takes place in receive interrupt handling, it is advantageous
75+to spread receive interrupts between CPUs. To manually adjust the IRQ
76+affinity of each interrupt see Documentation/IRQ-affinity. Some systems
77+will be running irqbalance, a daemon that dynamically optimizes IRQ
78+assignments and as a result may override any manual settings.
79+
80+== Suggested Configuration
81+
82+RSS should be enabled when latency is a concern or whenever receive
83+interrupt processing forms a bottleneck. Spreading load between CPUs
84+decreases queue length. For low latency networking, the optimal setting
85+is to allocate as many queues as there are CPUs in the system (or the
86+NIC maximum, if lower). The most efficient high-rate configuration
87+is likely the one with the smallest number of receive queues where no
88+receive queue overflows due to a saturated CPU, because in default
89+mode with interrupt coalescing enabled, the aggregate number of
90+interrupts (and thus work) grows with each additional queue.
91+
92+Per-cpu load can be observed using the mpstat utility, but note that on
93+processors with hyperthreading (HT), each hyperthread is represented as
94+a separate CPU. For interrupt handling, HT has shown no benefit in
95+initial tests, so limit the number of queues to the number of CPU cores
96+in the system.
97+
98+
99+RPS: Receive Packet Steering
100+============================
101+
102+Receive Packet Steering (RPS) is logically a software implementation of
103+RSS. Being in software, it is necessarily called later in the datapath.
104+Whereas RSS selects the queue and hence CPU that will run the hardware
105+interrupt handler, RPS selects the CPU to perform protocol processing
106+above the interrupt handler. This is accomplished by placing the packet
107+on the desired CPU’s backlog queue and waking up the CPU for processing.
108+RPS has some advantages over RSS: 1) it can be used with any NIC,
109+2) software filters can easily be added to hash over new protocols,
110+3) it does not increase hardware device interrupt rate (although it does
111+introduce inter-processor interrupts (IPIs)).
112+
113+RPS is called during bottom half of the receive interrupt handler, when
114+a driver sends a packet up the network stack with netif_rx() or
115+netif_receive_skb(). These call the get_rps_cpu() function, which
116+selects the queue that should process a packet.
117+
118+The first step in determining the target CPU for RPS is to calculate a
119+flow hash over the packet’s addresses or ports (2-tuple or 4-tuple hash
120+depending on the protocol). This serves as a consistent hash of the
121+associated flow of the packet. The hash is either provided by hardware
122+or will be computed in the stack. Capable hardware can pass the hash in
123+the receive descriptor for the packet; this would usually be the same
124+hash used for RSS (e.g. computed Toeplitz hash). The hash is saved in
125+skb->rx_hash and can be used elsewhere in the stack as a hash of the
126+packet’s flow.
127+
128+Each receive hardware queue has an associated list of CPUs to which
129+RPS may enqueue packets for processing. For each received packet,
130+an index into the list is computed from the flow hash modulo the size
131+of the list. The indexed CPU is the target for processing the packet,
132+and the packet is queued to the tail of that CPU’s backlog queue. At
133+the end of the bottom half routine, IPIs are sent to any CPUs for which
134+packets have been queued to their backlog queue. The IPI wakes backlog
135+processing on the remote CPU, and any queued packets are then processed
136+up the networking stack.
137+
138+==== RPS Configuration
139+
140+RPS requires a kernel compiled with the CONFIG_RPS kconfig symbol (on
141+by default for SMP). Even when compiled in, RPS remains disabled until
142+explicitly configured. The list of CPUs to which RPS may forward traffic
143+can be configured for each receive queue using a sysfs file entry:
144+
145+ /sys/class/net/<dev>/queues/rx-<n>/rps_cpus
146+
147+This file implements a bitmap of CPUs. RPS is disabled when it is zero
148+(the default), in which case packets are processed on the interrupting
149+CPU. Documentation/IRQ-affinity.txt explains how CPUs are assigned to
150+the bitmap.
151+
152+== Suggested Configuration
153+
154+For a single queue device, a typical RPS configuration would be to set
155+the rps_cpus to the CPUs in the same memory domain of the interrupting
156+CPU. If NUMA locality is not an issue, this could also be all CPUs in
157+the system. At high interrupt rate, it might be wise to exclude the
158+interrupting CPU from the map since that already performs much work.
159+
160+For a multi-queue system, if RSS is configured so that a hardware
161+receive queue is mapped to each CPU, then RPS is probably redundant
162+and unnecessary. If there are fewer hardware queues than CPUs, then
163+RPS might be beneficial if the rps_cpus for each queue are the ones that
164+share the same memory domain as the interrupting CPU for that queue.
165+
166+
167+RFS: Receive Flow Steering
168+==========================
169+
170+While RPS steers packets solely based on hash, and thus generally
171+provides good load distribution, it does not take into account
172+application locality. This is accomplished by Receive Flow Steering
173+(RFS). The goal of RFS is to increase datacache hitrate by steering
174+kernel processing of packets to the CPU where the application thread
175+consuming the packet is running. RFS relies on the same RPS mechanisms
176+to enqueue packets onto the backlog of another CPU and to wake up that
177+CPU.
178+
179+In RFS, packets are not forwarded directly by the value of their hash,
180+but the hash is used as index into a flow lookup table. This table maps
181+flows to the CPUs where those flows are being processed. The flow hash
182+(see RPS section above) is used to calculate the index into this table.
183+The CPU recorded in each entry is the one which last processed the flow.
184+If an entry does not hold a valid CPU, then packets mapped to that entry
185+are steered using plain RPS. Multiple table entries may point to the
186+same CPU. Indeed, with many flows and few CPUs, it is very likely that
187+a single application thread handles flows with many different flow hashes.
188+
189+rps_sock_table is a global flow table that contains the *desired* CPU for
190+flows: the CPU that is currently processing the flow in userspace. Each
191+table value is a CPU index that is updated during calls to recvmsg and
192+sendmsg (specifically, inet_recvmsg(), inet_sendmsg(), inet_sendpage()
193+and tcp_splice_read()).
194+
195+When the scheduler moves a thread to a new CPU while it has outstanding
196+receive packets on the old CPU, packets may arrive out of order. To
197+avoid this, RFS uses a second flow table to track outstanding packets
198+for each flow: rps_dev_flow_table is a table specific to each hardware
199+receive queue of each device. Each table value stores a CPU index and a
200+counter. The CPU index represents the *current* CPU onto which packets
201+for this flow are enqueued for further kernel processing. Ideally, kernel
202+and userspace processing occur on the same CPU, and hence the CPU index
203+in both tables is identical. This is likely false if the scheduler has
204+recently migrated a userspace thread while the kernel still has packets
205+enqueued for kernel processing on the old CPU.
206+
207+The counter in rps_dev_flow_table values records the length of the current
208+CPU's backlog when a packet in this flow was last enqueued. Each backlog
209+queue has a head counter that is incremented on dequeue. A tail counter
210+is computed as head counter + queue length. In other words, the counter
211+in rps_dev_flow_table[i] records the last element in flow i that has
212+been enqueued onto the currently designated CPU for flow i (of course,
213+entry i is actually selected by hash and multiple flows may hash to the
214+same entry i).
215+
216+And now the trick for avoiding out of order packets: when selecting the
217+CPU for packet processing (from get_rps_cpu()) the rps_sock_flow table
218+and the rps_dev_flow table of the queue that the packet was received on
219+are compared. If the desired CPU for the flow (found in the
220+rps_sock_flow table) matches the current CPU (found in the rps_dev_flow
221+table), the packet is enqueued onto that CPU’s backlog. If they differ,
222+the current CPU is updated to match the desired CPU if one of the
223+following is true:
224+
225+- The current CPU's queue head counter >= the recorded tail counter
226+ value in rps_dev_flow[i]
227+- The current CPU is unset (equal to NR_CPUS)
228+- The current CPU is offline
229+
230+After this check, the packet is sent to the (possibly updated) current
231+CPU. These rules aim to ensure that a flow only moves to a new CPU when
232+there are no packets outstanding on the old CPU, as the outstanding
233+packets could arrive later than those about to be processed on the new
234+CPU.
235+
236+==== RFS Configuration
237+
238+RFS is only available if the kconfig symbol CONFIG_RFS is enabled (on
239+by default for SMP). The functionality remains disabled until explicitly
240+configured. The number of entries in the global flow table is set through:
241+
242+ /proc/sys/net/core/rps_sock_flow_entries
243+
244+The number of entries in the per-queue flow table are set through:
245+
246+ /sys/class/net/<dev>/queues/tx-<n>/rps_flow_cnt
247+
248+== Suggested Configuration
249+
250+Both of these need to be set before RFS is enabled for a receive queue.
251+Values for both are rounded up to the nearest power of two. The
252+suggested flow count depends on the expected number of active connections
253+at any given time, which may be significantly less than the number of open
254+connections. We have found that a value of 32768 for rps_sock_flow_entries
255+works fairly well on a moderately loaded server.
256+
257+For a single queue device, the rps_flow_cnt value for the single queue
258+would normally be configured to the same value as rps_sock_flow_entries.
259+For a multi-queue device, the rps_flow_cnt for each queue might be
260+configured as rps_sock_flow_entries / N, where N is the number of
261+queues. So for instance, if rps_flow_entries is set to 32768 and there
262+are 16 configured receive queues, rps_flow_cnt for each queue might be
263+configured as 2048.
264+
265+
266+Accelerated RFS
267+===============
268+
269+Accelerated RFS is to RFS what RSS is to RPS: a hardware-accelerated load
270+balancing mechanism that uses soft state to steer flows based on where
271+the application thread consuming the packets of each flow is running.
272+Accelerated RFS should perform better than RFS since packets are sent
273+directly to a CPU local to the thread consuming the data. The target CPU
274+will either be the same CPU where the application runs, or at least a CPU
275+which is local to the application thread’s CPU in the cache hierarchy.
276+
277+To enable accelerated RFS, the networking stack calls the
278+ndo_rx_flow_steer driver function to communicate the desired hardware
279+queue for packets matching a particular flow. The network stack
280+automatically calls this function every time a flow entry in
281+rps_dev_flow_table is updated. The driver in turn uses a device specific
282+method to program the NIC to steer the packets.
283+
284+The hardware queue for a flow is derived from the CPU recorded in
285+rps_dev_flow_table. The stack consults a CPU to hardware queue map which
286+is maintained by the NIC driver. This is an auto-generated reverse map of
287+the IRQ affinity table shown by /proc/interrupts. Drivers can use
288+functions in the cpu_rmap (“CPU affinity reverse map”) kernel library
289+to populate the map. For each CPU, the corresponding queue in the map is
290+set to be one whose processing CPU is closest in cache locality.
291+
292+==== Accelerated RFS Configuration
293+
294+Accelerated RFS is only available if the kernel is compiled with
295+CONFIG_RFS_ACCEL and support is provided by the NIC device and driver.
296+It also requires that ntuple filtering is enabled via ethtool. The map
297+of CPU to queues is automatically deduced from the IRQ affinities
298+configured for each receive queue by the driver, so no additional
299+configuration should be necessary.
300+
301+== Suggested Configuration
302+
303+This technique should be enabled whenever one wants to use RFS and the
304+NIC supports hardware acceleration.
305+
306+XPS: Transmit Packet Steering
307+=============================
308+
309+Transmit Packet Steering is a mechanism for intelligently selecting
310+which transmit queue to use when transmitting a packet on a multi-queue
311+device. To accomplish this, a mapping from CPU to hardware queue(s) is
312+recorded. The goal of this mapping is usually to assign queues
313+exclusively to a subset of CPUs, where the transmit completions for
314+these queues are processed on a CPU within this set. This choice
315+provides two benefits. First, contention on the device queue lock is
316+significantly reduced since fewer CPUs contend for the same queue
317+(contention can be eliminated completely if each CPU has its own
318+transmit queue). Secondly, cache miss rate on transmit completion is
319+reduced, in particular for data cache lines that hold the sk_buff
320+structures.
321+
322+XPS is configured per transmit queue by setting a bitmap of CPUs that
323+may use that queue to transmit. The reverse mapping, from CPUs to
324+transmit queues, is computed and maintained for each network device.
325+When transmitting the first packet in a flow, the function
326+get_xps_queue() is called to select a queue. This function uses the ID
327+of the running CPU as a key into the CPU-to-queue lookup table. If the
328+ID matches a single queue, that is used for transmission. If multiple
329+queues match, one is selected by using the flow hash to compute an index
330+into the set.
331+
332+The queue chosen for transmitting a particular flow is saved in the
333+corresponding socket structure for the flow (e.g. a TCP connection).
334+This transmit queue is used for subsequent packets sent on the flow to
335+prevent out of order (ooo) packets. The choice also amortizes the cost
336+of calling get_xps_queues() over all packets in the flow. To avoid
337+ooo packets, the queue for a flow can subsequently only be changed if
338+skb->ooo_okay is set for a packet in the flow. This flag indicates that
339+there are no outstanding packets in the flow, so the transmit queue can
340+change without the risk of generating out of order packets. The
341+transport layer is responsible for setting ooo_okay appropriately. TCP,
342+for instance, sets the flag when all data for a connection has been
343+acknowledged.
344+
345+==== XPS Configuration
346+
347+XPS is only available if the kconfig symbol CONFIG_XPS is enabled (on by
348+default for SMP). The functionality remains disabled until explicitly
349+configured. To enable XPS, the bitmap of CPUs that may use a transmit
350+queue is configured using the sysfs file entry:
351+
352+/sys/class/net/<dev>/queues/tx-<n>/xps_cpus
353+
354+== Suggested Configuration
355+
356+For a network device with a single transmission queue, XPS configuration
357+has no effect, since there is no choice in this case. In a multi-queue
358+system, XPS is preferably configured so that each CPU maps onto one queue.
359+If there are as many queues as there are CPUs in the system, then each
360+queue can also map onto one CPU, resulting in exclusive pairings that
361+experience no contention. If there are fewer queues than CPUs, then the
362+best CPUs to share a given queue are probably those that share the cache
363+with the CPU that processes transmit completions for that queue
364+(transmit interrupts).
365+
366+
367+Further Information
368+===================
369+RPS and RFS were introduced in kernel 2.6.35. XPS was incorporated into
370+2.6.38. Original patches were submitted by Tom Herbert
371+(therbert@google.com)
372+
373+Accelerated RFS was introduced in 2.6.35. Original patches were
374+submitted by Ben Hutchings (bhutchings@solarflare.com)
375+
376+Authors:
377+Tom Herbert (therbert@google.com)
378+Willem de Bruijn (willemb@google.com)
Documentation/power/runtime_pm.txt+6−7
@@ -54,11 +54,10 @@ referred to as subsystem-level callbacks in what follows. · 53 unmodified lines
5454 By default, the callbacks are always invoked in process context with interrupts
5555 enabled. However, subsystems can use the pm_runtime_irq_safe() helper function
5656 to tell the PM core that a device's ->runtime_suspend() and ->runtime_resume()
57−callbacks should be invoked in atomic context with interrupts disabled
58−(->runtime_idle() is still invoked the default way). This implies that these
59−callback routines must not block or sleep, but it also means that the
60−synchronous helper functions listed at the end of Section 4 can be used within
61−an interrupt handler or in an atomic context.
57+callbacks should be invoked in atomic context with interrupts disabled.
58+This implies that these callback routines must not block or sleep, but it also
59+means that the synchronous helper functions listed at the end of Section 4 can
60+be used within an interrupt handler or in an atomic context.
6261
6362 The subsystem-level suspend callback is _entirely_ _responsible_ for handling
6463 the suspend of the device as appropriate, which may, but need not include
@@ -432,8 +431,7 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h: · 367 unmodified lines
432431
433432 void pm_runtime_irq_safe(struct device *dev);
434433 - set the power.irq_safe flag for the device, causing the runtime-PM
435− suspend and resume callbacks (but not the idle callback) to be invoked
436− with interrupts disabled
434+ callbacks to be invoked with interrupts off
437435
438436 void pm_runtime_mark_last_busy(struct device *dev);
439437 - set the power.last_busy field to the current time
@@ -483,6 +481,7 @@ pm_runtime_suspend() · 43 unmodified lines
483481 pm_runtime_autosuspend()
484482 pm_runtime_resume()
485483 pm_runtime_get_sync()
484+pm_runtime_put_sync()
486485 pm_runtime_put_sync_suspend()
487486
488487 5. Runtime PM Initialization, Device Probing and Removal
Documentation/ramoops.txt+76−0
@@ -0,0 +1,76 @@
1+Ramoops oops/panic logger
2+=========================
3+
4+Sergiu Iordache <sergiu@chromium.org>
5+
6+Updated: 8 August 2011
7+
8+0. Introduction
9+
10+Ramoops is an oops/panic logger that writes its logs to RAM before the system
11+crashes. It works by logging oopses and panics in a circular buffer. Ramoops
12+needs a system with persistent RAM so that the content of that area can
13+survive after a restart.
14+
15+1. Ramoops concepts
16+
17+Ramoops uses a predefined memory area to store the dump. The start and size of
18+the memory area are set using two variables:
19+ * "mem_address" for the start
20+ * "mem_size" for the size. The memory size will be rounded down to a
21+ power of two.
22+
23+The memory area is divided into "record_size" chunks (also rounded down to
24+power of two) and each oops/panic writes a "record_size" chunk of
25+information.
26+
27+Dumping both oopses and panics can be done by setting 1 in the "dump_oops"
28+variable while setting 0 in that variable dumps only the panics.
29+
30+The module uses a counter to record multiple dumps but the counter gets reset
31+on restart (i.e. new dumps after the restart will overwrite old ones).
32+
33+2. Setting the parameters
34+
35+Setting the ramoops parameters can be done in 2 different manners:
36+ 1. Use the module parameters (which have the names of the variables described
37+ as before).
38+ 2. Use a platform device and set the platform data. The parameters can then
39+ be set through that platform data. An example of doing that is:
40+
41+#include <linux/ramoops.h>
42+[...]
43+
44+static struct ramoops_platform_data ramoops_data = {
45+ .mem_size = <...>,
46+ .mem_address = <...>,
47+ .record_size = <...>,
48+ .dump_oops = <...>,
49+};
50+
51+static struct platform_device ramoops_dev = {
52+ .name = "ramoops",
53+ .dev = {
54+ .platform_data = &ramoops_data,
55+ },
56+};
57+
58+[... inside a function ...]
59+int ret;
60+
61+ret = platform_device_register(&ramoops_dev);
62+if (ret) {
63+ printk(KERN_ERR "unable to register platform device\n");
64+ return ret;
65+}
66+
67+3. Dump format
68+
69+The data dump begins with a header, currently defined as "====" followed by a
70+timestamp and a new line. The dump then continues with the actual data.
71+
72+4. Reading the data
73+
74+The dump data can be read from memory (through /dev/mem or other means).
75+Getting the module parameters, which are needed in order to parse the data, can
76+be done through /sys/module/ramoops/parameters/* .
Documentation/scsi/ChangeLog.megaraid_sas+8−0
@@ -1,3 +1,11 @@
1+Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 -
2+ (emaild-id:megaraidlinux@lsi.com)
3+ Adam Radford
4+Current Version : 00.00.05.40-rc1
5+Old Version : 00.00.05.38-rc1
6+ 1. Fix FastPath I/O to work with degraded RAID 1.
7+ 2. Add .change_queue_depth support.
8+-------------------------------------------------------------------------------
19 Release Date : Wed. May 11, 2011 17:00:00 PST 2010 -
210 (emaild-id:megaraidlinux@lsi.com)
311 Adam Radford
Documentation/security/keys-ecryptfs.txt+68−0
@@ -0,0 +1,68 @@
1+ Encrypted keys for the eCryptfs filesystem
2+
3+ECryptfs is a stacked filesystem which transparently encrypts and decrypts each
4+file using a randomly generated File Encryption Key (FEK).
5+
6+Each FEK is in turn encrypted with a File Encryption Key Encryption Key (FEFEK)
7+either in kernel space or in user space with a daemon called 'ecryptfsd'. In
8+the former case the operation is performed directly by the kernel CryptoAPI
9+using a key, the FEFEK, derived from a user prompted passphrase; in the latter
10+the FEK is encrypted by 'ecryptfsd' with the help of external libraries in order
11+to support other mechanisms like public key cryptography, PKCS#11 and TPM based
12+operations.
13+
14+The data structure defined by eCryptfs to contain information required for the
15+FEK decryption is called authentication token and, currently, can be stored in a
16+kernel key of the 'user' type, inserted in the user's session specific keyring
17+by the userspace utility 'mount.ecryptfs' shipped with the package
18+'ecryptfs-utils'.
19+
20+The 'encrypted' key type has been extended with the introduction of the new
21+format 'ecryptfs' in order to be used in conjunction with the eCryptfs
22+filesystem. Encrypted keys of the newly introduced format store an
23+authentication token in its payload with a FEFEK randomly generated by the
24+kernel and protected by the parent master key.
25+
26+In order to avoid known-plaintext attacks, the datablob obtained through
27+commands 'keyctl print' or 'keyctl pipe' does not contain the overall
28+authentication token, which content is well known, but only the FEFEK in
29+encrypted form.
30+
31+The eCryptfs filesystem may really benefit from using encrypted keys in that the
32+required key can be securely generated by an Administrator and provided at boot
33+time after the unsealing of a 'trusted' key in order to perform the mount in a
34+controlled environment. Another advantage is that the key is not exposed to
35+threats of malicious software, because it is available in clear form only at
36+kernel level.
37+
38+Usage:
39+ keyctl add encrypted name "new ecryptfs key-type:master-key-name keylen" ring
40+ keyctl add encrypted name "load hex_blob" ring
41+ keyctl update keyid "update key-type:master-key-name"
42+
43+name:= '<16 hexadecimal characters>'
44+key-type:= 'trusted' | 'user'
45+keylen:= 64
46+
47+
48+Example of encrypted key usage with the eCryptfs filesystem:
49+
50+Create an encrypted key "1000100010001000" of length 64 bytes with format
51+'ecryptfs' and save it using a previously loaded user key "test":
52+
53+ $ keyctl add encrypted 1000100010001000 "new ecryptfs user:test 64" @u
54+ 19184530
55+
56+ $ keyctl print 19184530
57+ ecryptfs user:test 64 490045d4bfe48c99f0d465fbbbb79e7500da954178e2de0697
58+ dd85091f5450a0511219e9f7cd70dcd498038181466f78ac8d4c19504fcc72402bfc41c2
59+ f253a41b7507ccaa4b2b03fff19a69d1cc0b16e71746473f023a95488b6edfd86f7fdd40
60+ 9d292e4bacded1258880122dd553a661
61+
62+ $ keyctl pipe 19184530 > ecryptfs.blob
63+
64+Mount an eCryptfs filesystem using the created encrypted key "1000100010001000"
65+into the '/secret' directory:
66+
67+ $ mount -i -t ecryptfs -oecryptfs_sig=1000100010001000,\
68+ ecryptfs_cipher=aes,ecryptfs_key_bytes=32 /secret /secret
Documentation/security/keys-trusted-encrypted.txt+33−19
@@ -53,12 +53,19 @@ they are only as secure as the user key encrypting them. The master user key · 52 unmodified lines
5353 should therefore be loaded in as secure a way as possible, preferably early in
5454 boot.
5555
56+The decrypted portion of encrypted keys can contain either a simple symmetric
57+key or a more complex structure. The format of the more complex structure is
58+application specific, which is identified by 'format'.
59+
5660 Usage:
57− keyctl add encrypted name "new key-type:master-key-name keylen" ring
58− keyctl add encrypted name "load hex_blob" ring
59− keyctl update keyid "update key-type:master-key-name"
61+ keyctl add encrypted name "new [format] key-type:master-key-name keylen"
62+ ring
63+ keyctl add encrypted name "load hex_blob" ring
64+ keyctl update keyid "update key-type:master-key-name"
65+
66+format:= 'default | ecryptfs'
67+key-type:= 'trusted' | 'user'
6068
61−where 'key-type' is either 'trusted' or 'user'.
6269
6370 Examples of trusted and encrypted key usage:
6471
@@ -114,15 +121,25 @@ Reseal a trusted key under new pcr values: · 49 unmodified lines
114121 7ef6a24defe4846104209bf0c3eced7fa1a672ed5b125fc9d8cd88b476a658a4434644ef
115122 df8ae9a178e9f83ba9f08d10fa47e4226b98b0702f06b3b8
116123
117−Create and save an encrypted key "evm" using the above trusted key "kmk":
124+The initial consumer of trusted keys is EVM, which at boot time needs a high
125+quality symmetric key for HMAC protection of file metadata. The use of a
126+trusted key provides strong guarantees that the EVM key has not been
127+compromised by a user level problem, and when sealed to specific boot PCR
128+values, protects against boot and offline attacks. Create and save an
129+encrypted key "evm" using the above trusted key "kmk":
118130
131+option 1: omitting 'format'
119132 $ keyctl add encrypted evm "new trusted:kmk 32" @u
120133 159771175
121134
135+option 2: explicitly defining 'format' as 'default'
136+ $ keyctl add encrypted evm "new default trusted:kmk 32" @u
137+ 159771175
138+
122139 $ keyctl print 159771175
123− trusted:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b382dbbc55
124− be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e024717c64
125− 5972dcb82ab2dde83376d82b2e3c09ffc
140+ default trusted:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b3
141+ 82dbbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0
142+ 24717c64 5972dcb82ab2dde83376d82b2e3c09ffc
126143
127144 $ keyctl pipe 159771175 > evm.blob
128145
@@ -132,14 +149,11 @@ Load an encrypted key "evm" from saved blob: · 3 unmodified lines
132149 831684262
133150
134151 $ keyctl print 831684262
135− trusted:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b382dbbc55
136− be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e024717c64
137− 5972dcb82ab2dde83376d82b2e3c09ffc
138−
139−
140−The initial consumer of trusted keys is EVM, which at boot time needs a high
141−quality symmetric key for HMAC protection of file metadata. The use of a
142−trusted key provides strong guarantees that the EVM key has not been
143−compromised by a user level problem, and when sealed to specific boot PCR
144−values, protects against boot and offline attacks. Other uses for trusted and
145−encrypted keys, such as for disk and file encryption are anticipated.
152+ default trusted:kmk 32 2375725ad57798846a9bbd240de8906f006e66c03af53b1b3
153+ 82dbbc55be2a44616e4959430436dc4f2a7a9659aa60bb4652aeb2120f149ed197c564e0
154+ 24717c64 5972dcb82ab2dde83376d82b2e3c09ffc
155+
156+Other uses for trusted and encrypted keys, such as for disk and file encryption
157+are anticipated. In particular the new format 'ecryptfs' has been defined in
158+in order to use encrypted keys to mount an eCryptfs filesystem. More details
159+about the usage can be found in the file 'Documentation/keys-ecryptfs.txt'.
Documentation/sysctl/kernel.txt+22−0
@@ -61,6 +61,7 @@ show up in /proc/sys/kernel: · 60 unmodified lines
6161 - rtsig-nr
6262 - sem
6363 - sg-big-buff [ generic SCSI device (sg) ]
64+- shm_rmid_forced
6465 - shmall
6566 - shmmax [ sysv ipc ]
6667 - shmmni
@@ -518,6 +519,27 @@ kernel. This value defaults to SHMMAX. · 451 unmodified lines
518519
519520 ==============================================================
520521
522+shm_rmid_forced:
523+
524+Linux lets you set resource limits, including how much memory one
525+process can consume, via setrlimit(2). Unfortunately, shared memory
526+segments are allowed to exist without association with any process, and
527+thus might not be counted against any resource limits. If enabled,
528+shared memory segments are automatically destroyed when their attach
529+count becomes zero after a detach or a process termination. It will
530+also destroy segments that were created, but never attached to, on exit
531+from the process. The only use left for IPC_RMID is to immediately
532+destroy an unattached segment. Of course, this breaks the way things are
533+defined, so some applications might stop working. Note that this
534+feature will do you no good unless you also configure your resource
535+limits (in particular, RLIMIT_AS and RLIMIT_NPROC). Most systems don't
536+need this.
537+
538+Note that if you change this from 0 to 1, already created segments
539+without users and with a dead originative process will be destroyed.
540+
541+==============================================================
542+
521543 softlockup_thresh:
522544
523545 This value can be used to lower the softlockup tolerance threshold. The
Documentation/video4linux/API.html+1−1
@@ -9,7 +9,7 @@ · 8 unmodified lines
99 <table border="0">
1010 <tr>
1111 <td>
12− <a href="http://www.linuxtv.org/downloads/video4linux/API/V4L1_API.html">V4L original API</a>
12+ <a href="http://linuxtv.org/downloads/legacy/video4linux/API/V4L1_API.html">V4L original API</a>
1313 </td>
1414 <td>
1515 Obsoleted by V4L2 API
Documentation/video4linux/CARDLIST.cx23885+2−0
@@ -27,3 +27,5 @@ · 26 unmodified lines
2727 26 -> Hauppauge WinTV-HVR1290 [0070:8551]
2828 27 -> Mygica X8558 PRO DMB-TH [14f1:8578]
2929 28 -> LEADTEK WinFast PxTV1200 [107d:6f22]
30+ 29 -> GoTView X5 3D Hybrid [5654:2390]
31+ 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4]
Documentation/video4linux/CARDLIST.cx88+1−0
@@ -84,3 +84,4 @@ · 83 unmodified lines
8484 83 -> Prof 7301 DVB-S/S2 [b034:3034]
8585 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd]
8686 85 -> Twinhan VP-1027 DVB-S [1822:0023]
87+ 86 -> TeVii S464 DVB-S/S2 [d464:9022]
Documentation/video4linux/CARDLIST.em28xx+2−0
@@ -74,3 +74,5 @@ · 73 unmodified lines
7474 74 -> Actionmaster/LinXcel/Digitus VC211A (em2800)
7575 75 -> Dikom DK300 (em2882)
7676 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340]
77+ 77 -> EM2874 Leadership ISDBT (em2874)
78+ 78 -> PCTV nanoStick T2 290e (em28174)
Documentation/video4linux/CARDLIST.saa7134+4−0
@@ -182,3 +182,7 @@ · 181 unmodified lines
182182 181 -> TechoTrend TT-budget T-3000 [13c2:2804]
183183 182 -> Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid [17de:b136]
184184 183 -> Compro VideoMate Vista M1F [185b:c900]
185+184 -> Encore ENLTV-FM 3 [1a7f:2108]
186+185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136]
187+186 -> Beholder BeholdTV 501 [5ace:5010]
188+187 -> Beholder BeholdTV 503 FM [5ace:5030]
Documentation/video4linux/CARDLIST.tuner+2−0
@@ -78,8 +78,10 @@ tuner=77 - TCL tuner MF02GIP-5N-E · 77 unmodified lines
7878 tuner=78 - Philips FMD1216MEX MK3 Hybrid Tuner
7979 tuner=79 - Philips PAL/SECAM multi (FM1216 MK5)
8080 tuner=80 - Philips FQ1216LME MK3 PAL/SECAM w/active loopthrough
81+tuner=81 - Xceive 4000 tuner
8182 tuner=81 - Partsnic (Daewoo) PTI-5NF05
8283 tuner=82 - Philips CU1216L
8384 tuner=83 - NXP TDA18271
8485 tuner=84 - Sony BTF-Pxn01Z
8586 tuner=85 - Philips FQ1236 MK5
87+tuner=86 - Tena TNF5337 MFD
Documentation/video4linux/CARDLIST.usbvision+2−0
@@ -63,3 +63,5 @@ · 62 unmodified lines
6363 62 -> Pinnacle PCTV Bungee USB (PAL) FM [2304:0419]
6464 63 -> Hauppauge WinTv-USB [2400:4200]
6565 64 -> Pinnacle Studio PCTV USB (NTSC) FM V3 [2304:0113]
66+ 65 -> Nogatech USB MicroCam NTSC (NV3000N) [0573:3000]
67+ 66 -> Nogatech USB MicroCam PAL (NV3001P) [0573:3001]
Documentation/video4linux/README.davinci-vpbe+93−0
@@ -0,0 +1,93 @@
1+
2+ VPBE V4L2 driver design
3+ ======================================================================
4+
5+ File partitioning
6+ -----------------
7+ V4L2 display device driver
8+ drivers/media/video/davinci/vpbe_display.c
9+ drivers/media/video/davinci/vpbe_display.h
10+
11+ VPBE display controller
12+ drivers/media/video/davinci/vpbe.c
13+ drivers/media/video/davinci/vpbe.h
14+
15+ VPBE venc sub device driver
16+ drivers/media/video/davinci/vpbe_venc.c
17+ drivers/media/video/davinci/vpbe_venc.h
18+ drivers/media/video/davinci/vpbe_venc_regs.h
19+
20+ VPBE osd driver
21+ drivers/media/video/davinci/vpbe_osd.c
22+ drivers/media/video/davinci/vpbe_osd.h
23+ drivers/media/video/davinci/vpbe_osd_regs.h
24+
25+ Functional partitioning
26+ -----------------------
27+
28+ Consists of the following (in the same order as the list under file
29+ partitioning):-
30+
31+ 1. V4L2 display driver
32+ Implements creation of video2 and video3 device nodes and
33+ provides v4l2 device interface to manage VID0 and VID1 layers.
34+
35+ 2. Display controller
36+ Loads up VENC, OSD and external encoders such as ths8200. It provides
37+ a set of API calls to V4L2 drivers to set the output/standards
38+ in the VENC or external sub devices. It also provides
39+ a device object to access the services from OSD subdevice
40+ using sub device ops. The connection of external encoders to VENC LCD
41+ controller port is done at init time based on default output and standard
42+ selection or at run time when application change the output through
43+ V4L2 IOCTLs.
44+
45+ When connected to an external encoder, vpbe controller is also responsible
46+ for setting up the interface between VENC and external encoders based on
47+ board specific settings (specified in board-xxx-evm.c). This allows
48+ interfacing external encoders such as ths8200. The setup_if_config()
49+ is implemented for this as well as configure_venc() (part of the next patch)
50+ API to set timings in VENC for a specific display resolution. As of this
51+ patch series, the interconnection and enabling and setting of the external
52+ encoders is not present, and would be a part of the next patch series.
53+
54+ 3. VENC subdevice module
55+ Responsible for setting outputs provided through internal DACs and also
56+ setting timings at LCD controller port when external encoders are connected
57+ at the port or LCD panel timings required. When external encoder/LCD panel
58+ is connected, the timings for a specific standard/preset is retrieved from
59+ the board specific table and the values are used to set the timings in
60+ venc using non-standard timing mode.
61+
62+ Support LCD Panel displays using the VENC. For example to support a Logic
63+ PD display, it requires setting up the LCD controller port with a set of
64+ timings for the resolution supported and setting the dot clock. So we could
65+ add the available outputs as a board specific entry (i.e add the "LogicPD"
66+ output name to board-xxx-evm.c). A table of timings for various LCDs
67+ supported can be maintained in the board specific setup file to support
68+ various LCD displays.As of this patch a basic driver is present, and this
69+ support for external encoders and displays forms a part of the next
70+ patch series.
71+
72+ 4. OSD module
73+ OSD module implements all OSD layer management and hardware specific
74+ features. The VPBE module interacts with the OSD for enabling and
75+ disabling appropriate features of the OSD.
76+
77+ Current status:-
78+
79+ A fully functional working version of the V4L2 driver is available. This
80+ driver has been tested with NTSC and PAL standards and buffer streaming.
81+
82+ Following are TBDs.
83+
84+ vpbe display controller
85+ - Add support for external encoders.
86+ - add support for selecting external encoder as default at probe time.
87+
88+ vpbe venc sub device
89+ - add timings for supporting ths8200
90+ - add support for LogicPD LCD.
91+
92+ FB drivers
93+ - Add support for fbdev drivers.- Ready and part of subsequent patches.
Documentation/video4linux/v4l2-controls.txt+60−9
@@ -277,16 +277,13 @@ implement g_volatile_ctrl like this: · 276 unmodified lines
277277 {
278278 switch (ctrl->id) {
279279 case V4L2_CID_BRIGHTNESS:
280− ctrl->cur.val = read_reg(0x123);
280+ ctrl->val = read_reg(0x123);
281281 break;
282282 }
283283 }
284284
285−The 'new value' union is not used in g_volatile_ctrl. In general controls
286−that need to implement g_volatile_ctrl are read-only controls.
287−
288−Note that if one or more controls in a control cluster are marked as volatile,
289−then all the controls in the cluster are seen as volatile.
285+Note that you use the 'new value' union as well in g_volatile_ctrl. In general
286+controls that need to implement g_volatile_ctrl are read-only controls.
290287
291288 To mark a control as volatile you have to set the is_volatile flag:
292289
@@ -453,6 +450,25 @@ In the example above the following are equivalent for the VOLUME case: · 160 unmodified lines
453450 ctrl == ctrl->cluster[AUDIO_CL_VOLUME] == state->audio_cluster[AUDIO_CL_VOLUME]
454451 ctrl->cluster[AUDIO_CL_MUTE] == state->audio_cluster[AUDIO_CL_MUTE]
455452
453+In practice using cluster arrays like this becomes very tiresome. So instead
454+the following equivalent method is used:
455+
456+ struct {
457+ /* audio cluster */
458+ struct v4l2_ctrl *volume;
459+ struct v4l2_ctrl *mute;
460+ };
461+
462+The anonymous struct is used to clearly 'cluster' these two control pointers,
463+but it serves no other purpose. The effect is the same as creating an
464+array with two control pointers. So you can just do:
465+
466+ state->volume = v4l2_ctrl_new_std(&state->ctrl_handler, ...);
467+ state->mute = v4l2_ctrl_new_std(&state->ctrl_handler, ...);
468+ v4l2_ctrl_cluster(2, &state->volume);
469+
470+And in foo_s_ctrl you can use these pointers directly: state->mute->val.
471+
456472 Note that controls in a cluster may be NULL. For example, if for some
457473 reason mute was never added (because the hardware doesn't support that
458474 particular feature), then mute will be NULL. So in that case we have a
@@ -475,6 +491,43 @@ controls, then the 'is_new' flag would be 1 for both controls. · 16 unmodified lines
475491 The 'is_new' flag is always 1 when called from v4l2_ctrl_handler_setup().
476492
477493
494+Handling autogain/gain-type Controls with Auto Clusters
495+=======================================================
496+
497+A common type of control cluster is one that handles 'auto-foo/foo'-type
498+controls. Typical examples are autogain/gain, autoexposure/exposure,
499+autowhitebalance/red balance/blue balance. In all cases you have one controls
500+that determines whether another control is handled automatically by the hardware,
501+or whether it is under manual control from the user.
502+
503+If the cluster is in automatic mode, then the manual controls should be
504+marked inactive. When the volatile controls are read the g_volatile_ctrl
505+operation should return the value that the hardware's automatic mode set up
506+automatically.
507+
508+If the cluster is put in manual mode, then the manual controls should become
509+active again and the is_volatile flag should be ignored (so g_volatile_ctrl is
510+no longer called while in manual mode).
511+
512+Finally the V4L2_CTRL_FLAG_UPDATE should be set for the auto control since
513+changing that control affects the control flags of the manual controls.
514+
515+In order to simplify this a special variation of v4l2_ctrl_cluster was
516+introduced:
517+
518+void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls,
519+ u8 manual_val, bool set_volatile);
520+
521+The first two arguments are identical to v4l2_ctrl_cluster. The third argument
522+tells the framework which value switches the cluster into manual mode. The
523+last argument will optionally set the is_volatile flag for the non-auto controls.
524+
525+The first control of the cluster is assumed to be the 'auto' control.
526+
527+Using this function will ensure that you don't need to handle all the complex
528+flag and volatile handling.
529+
530+
478531 VIDIOC_LOG_STATUS Support
479532 =========================
480533
@@ -636,9 +689,7 @@ button controls are write-only controls. · 155 unmodified lines
636689 -EINVAL as the spec says.
637690
638691 5) The spec does not mention what should happen when you try to set/get a
639−control class controls. ivtv currently returns -EINVAL (indicating that the
640−control ID does not exist) while the framework will return -EACCES, which
641−makes more sense.
692+control class controls. The framework will return -EACCES.
642693
643694
644695 Proposals for Extensions
Documentation/video4linux/v4l2-framework.txt+37−22
@@ -817,11 +817,7 @@ int my_open(struct file *file) · 816 unmodified lines
817817
818818 ...
819819
820− ret = v4l2_fh_init(&my_fh->fh, vfd);
821− if (ret) {
822− kfree(my_fh);
823− return ret;
824− }
820+ v4l2_fh_init(&my_fh->fh, vfd);
825821
826822 ...
827823
@@ -844,7 +840,7 @@ int my_release(struct file *file) · 16 unmodified lines
844840
845841 Below is a short description of the v4l2_fh functions used:
846842
847−int v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)
843+void v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)
848844
849845 Initialise the file handle. This *MUST* be performed in the driver's
850846 v4l2_file_operations->open() handler.
@@ -901,14 +897,38 @@ V4L2 events · 50 unmodified lines
901897 The V4L2 events provide a generic way to pass events to user space.
902898 The driver must use v4l2_fh to be able to support V4L2 events.
903899
904−Useful functions:
900+Events are defined by a type and an optional ID. The ID may refer to a V4L2
901+object such as a control ID. If unused, then the ID is 0.
902+
903+When the user subscribes to an event the driver will allocate a number of
904+kevent structs for that event. So every (type, ID) event tuple will have
905+its own set of kevent structs. This guarantees that if a driver is generating
906+lots of events of one type in a short time, then that will not overwrite
907+events of another type.
908+
909+But if you get more events of one type than the number of kevents that were
910+reserved, then the oldest event will be dropped and the new one added.
911+
912+Furthermore, the internal struct v4l2_subscribed_event has merge() and
913+replace() callbacks which drivers can set. These callbacks are called when
914+a new event is raised and there is no more room. The replace() callback
915+allows you to replace the payload of the old event with that of the new event,
916+merging any relevant data from the old payload into the new payload that
917+replaces it. It is called when this event type has only one kevent struct
918+allocated. The merge() callback allows you to merge the oldest event payload
919+into that of the second-oldest event payload. It is called when there are two
920+or more kevent structs allocated.
905921
906−- v4l2_event_alloc()
922+This way no status information is lost, just the intermediate steps leading
923+up to that state.
907924
908− To use events, the driver must allocate events for the file handle. By
909− calling the function more than once, the driver may assure that at least n
910− events in total have been allocated. The function may not be called in
911− atomic context.
925+A good example of these replace/merge callbacks is in v4l2-event.c:
926+ctrls_replace() and ctrls_merge() callbacks for the control event.
927+
928+Note: these callbacks can be called from interrupt context, so they must be
929+fast.
930+
931+Useful functions:
912932
913933 - v4l2_event_queue()
914934
@@ -920,7 +940,9 @@ Useful functions: · 5 unmodified lines
920940
921941 The video_device->ioctl_ops->vidioc_subscribe_event must check the driver
922942 is able to produce events with specified event id. Then it calls
923− v4l2_event_subscribe() to subscribe the event.
943+ v4l2_event_subscribe() to subscribe the event. The last argument is the
944+ size of the event queue for this event. If it is 0, then the framework
945+ will fill in a default value (this depends on the event type).
924946
925947 - v4l2_event_unsubscribe()
926948
@@ -935,14 +957,8 @@ Useful functions: · 8 unmodified lines
935957
936958 Returns the number of pending events. Useful when implementing poll.
937959
938−Drivers do not initialise events directly. The events are initialised
939−through v4l2_fh_init() if video_device->ioctl_ops->vidioc_subscribe_event is
940−non-NULL. This *MUST* be performed in the driver's
941−v4l2_file_operations->open() handler.
942−
943960 Events are delivered to user space through the poll system call. The driver
944−can use v4l2_fh->events->wait wait_queue_head_t as the argument for
945−poll_wait().
961+can use v4l2_fh->wait (a wait_queue_head_t) as the argument for poll_wait().
946962
947963 There are standard and private events. New standard events must use the
948964 smallest available event type. The drivers must allocate their events from
@@ -952,5 +968,4 @@ The first event type in the class is reserved for future use, so the first · 3 unmodified lines
952968 available event type is 'class base + 1'.
953969
954970 An example on how the V4L2 events may be used can be found in the OMAP
955−3 ISP driver available at <URL:http://gitorious.org/omap3camera> as of
956−writing this.
971+3 ISP driver (drivers/media/video/omap3isp).
Documentation/virtual/00-INDEX+3−0
@@ -8,3 +8,6 @@ lguest/ · 7 unmodified lines
88 - Extremely simple hypervisor for experimental/educational use.
99 uml/
1010 - User Mode Linux, builds/runs Linux kernel as a userspace program.
11+virtio.txt
12+ - Text version of draft virtio spec.
13+ See http://ozlabs.org/~rusty/virtio-spec
Documentation/virtual/lguest/lguest.c+3−0
@@ -1996,6 +1996,9 @@ int main(int argc, char *argv[]) · 1995 unmodified lines
19961996 /* We use a simple helper to copy the arguments separated by spaces. */
19971997 concat((char *)(boot + 1), argv+optind+2);
19981998
1999+ /* Set kernel alignment to 16M (CONFIG_PHYSICAL_ALIGN) */
2000+ boot->hdr.kernel_alignment = 0x1000000;
2001+
19992002 /* Boot protocol version: 2.07 supports the fields for lguest. */
20002003 boot->hdr.version = 0x207;
20012004
Documentation/virtual/virtio-spec.txt+2200−0
@@ -0,0 +1,2200 @@
1+[Generated file: see http://ozlabs.org/~rusty/virtio-spec/]
2+Virtio PCI Card Specification
3+v0.9.1 DRAFT
4+-
5+
6+Rusty Russell <rusty@rustcorp.com.au>IBM Corporation (Editor)
7+
8+2011 August 1.
9+
10+Purpose and Description
11+
12+This document describes the specifications of the “virtio” family
13+of PCI[LaTeX Command: nomenclature] devices. These are devices
14+are found in virtual environments[LaTeX Command: nomenclature],
15+yet by design they are not all that different from physical PCI
16+devices, and this document treats them as such. This allows the
17+guest to use standard PCI drivers and discovery mechanisms.
18+
19+The purpose of virtio and this specification is that virtual
20+environments and guests should have a straightforward, efficient,
21+standard and extensible mechanism for virtual devices, rather
22+than boutique per-environment or per-OS mechanisms.
23+
24+ Straightforward: Virtio PCI devices use normal PCI mechanisms
25+ of interrupts and DMA which should be familiar to any device
26+ driver author. There is no exotic page-flipping or COW
27+ mechanism: it's just a PCI device.[footnote:
28+This lack of page-sharing implies that the implementation of the
29+device (e.g. the hypervisor or host) needs full access to the
30+guest memory. Communication with untrusted parties (i.e.
31+inter-guest communication) requires copying.
32+]
33+
34+ Efficient: Virtio PCI devices consist of rings of descriptors
35+ for input and output, which are neatly separated to avoid cache
36+ effects from both guest and device writing to the same cache
37+ lines.
38+
39+ Standard: Virtio PCI makes no assumptions about the environment
40+ in which it operates, beyond supporting PCI. In fact the virtio
41+ devices specified in the appendices do not require PCI at all:
42+ they have been implemented on non-PCI buses.[footnote:
43+The Linux implementation further separates the PCI virtio code
44+from the specific virtio drivers: these drivers are shared with
45+the non-PCI implementations (currently lguest and S/390).
46+]
47+
48+ Extensible: Virtio PCI devices contain feature bits which are
49+ acknowledged by the guest operating system during device setup.
50+ This allows forwards and backwards compatibility: the device
51+ offers all the features it knows about, and the driver
52+ acknowledges those it understands and wishes to use.
53+
54+ Virtqueues
55+
56+The mechanism for bulk data transport on virtio PCI devices is
57+pretentiously called a virtqueue. Each device can have zero or
58+more virtqueues: for example, the network device has one for
59+transmit and one for receive.
60+
61+Each virtqueue occupies two or more physically-contiguous pages
62+(defined, for the purposes of this specification, as 4096 bytes),
63+and consists of three parts:
64+
65+
66++-------------------+-----------------------------------+-----------+
67+| Descriptor Table | Available Ring (padding) | Used Ring |
68++-------------------+-----------------------------------+-----------+
69+
70+
71+When the driver wants to send buffers to the device, it puts them
72+in one or more slots in the descriptor table, and writes the
73+descriptor indices into the available ring. It then notifies the
74+device. When the device has finished with the buffers, it writes
75+the descriptors into the used ring, and sends an interrupt.
76+
77+Specification
78+
79+ PCI Discovery
80+
81+Any PCI device with Vendor ID 0x1AF4, and Device ID 0x1000
82+through 0x103F inclusive is a virtio device[footnote:
83+The actual value within this range is ignored
84+]. The device must also have a Revision ID of 0 to match this
85+specification.
86+
87+The Subsystem Device ID indicates which virtio device is
88+supported by the device. The Subsystem Vendor ID should reflect
89+the PCI Vendor ID of the environment (it's currently only used
90+for informational purposes by the guest).
91+
92+
93++----------------------+--------------------+---------------+
94+| Subsystem Device ID | Virtio Device | Specification |
95++----------------------+--------------------+---------------+
96++----------------------+--------------------+---------------+
97+| 1 | network card | Appendix C |
98++----------------------+--------------------+---------------+
99+| 2 | block device | Appendix D |
100++----------------------+--------------------+---------------+
101+| 3 | console | Appendix E |
102++----------------------+--------------------+---------------+
103+| 4 | entropy source | Appendix F |
104++----------------------+--------------------+---------------+
105+| 5 | memory ballooning | Appendix G |
106++----------------------+--------------------+---------------+
107+| 6 | ioMemory | - |
108++----------------------+--------------------+---------------+
109+| 9 | 9P transport | - |
110++----------------------+--------------------+---------------+
111+
112+
113+ Device Configuration
114+
115+To configure the device, we use the first I/O region of the PCI
116+device. This contains a virtio header followed by a
117+device-specific region.
118+
119+There may be different widths of accesses to the I/O region; the “
120+natural” access method for each field in the virtio header must
121+be used (i.e. 32-bit accesses for 32-bit fields, etc), but the
122+device-specific region can be accessed using any width accesses,
123+and should obtain the same results.
124+
125+Note that this is possible because while the virtio header is PCI
126+(i.e. little) endian, the device-specific region is encoded in
127+the native endian of the guest (where such distinction is
128+applicable).
129+
130+ Device Initialization Sequence
131+
132+We start with an overview of device initialization, then expand
133+on the details of the device and how each step is preformed.
134+
135+ Reset the device. This is not required on initial start up.
136+
137+ The ACKNOWLEDGE status bit is set: we have noticed the device.
138+
139+ The DRIVER status bit is set: we know how to drive the device.
140+
141+ Device-specific setup, including reading the Device Feature
142+ Bits, discovery of virtqueues for the device, optional MSI-X
143+ setup, and reading and possibly writing the virtio
144+ configuration space.
145+
146+ The subset of Device Feature Bits understood by the driver is
147+ written to the device.
148+
149+ The DRIVER_OK status bit is set.
150+
151+ The device can now be used (ie. buffers added to the
152+ virtqueues)[footnote:
153+Historically, drivers have used the device before steps 5 and 6.
154+This is only allowed if the driver does not use any features
155+which would alter this early use of the device.
156+]
157+
158+If any of these steps go irrecoverably wrong, the guest should
159+set the FAILED status bit to indicate that it has given up on the
160+device (it can reset the device later to restart if desired).
161+
162+We now cover the fields required for general setup in detail.
163+
164+ Virtio Header
165+
166+The virtio header looks as follows:
167+
168+
169++------------++---------------------+---------------------+----------+--------+---------+---------+---------+--------+
170+| Bits || 32 | 32 | 32 | 16 | 16 | 16 | 8 | 8 |
171++------------++---------------------+---------------------+----------+--------+---------+---------+---------+--------+
172+| Read/Write || R | R+W | R+W | R | R+W | R+W | R+W | R |
173++------------++---------------------+---------------------+----------+--------+---------+---------+---------+--------+
174+| Purpose || Device | Guest | Queue | Queue | Queue | Queue | Device | ISR |
175+| || Features bits 0:31 | Features bits 0:31 | Address | Size | Select | Notify | Status | Status |
176++------------++---------------------+---------------------+----------+--------+---------+---------+---------+--------+
177+
178+
179+If MSI-X is enabled for the device, two additional fields
180+immediately follow this header:
181+
182+
183++------------++----------------+--------+
184+| Bits || 16 | 16 |
185+ +----------------+--------+
186++------------++----------------+--------+
187+| Read/Write || R+W | R+W |
188++------------++----------------+--------+
189+| Purpose || Configuration | Queue |
190+| (MSI-X) || Vector | Vector |
191++------------++----------------+--------+
192+
193+
194+Finally, if feature bits (VIRTIO_F_FEATURES_HI) this is
195+immediately followed by two additional fields:
196+
197+
198++------------++----------------------+----------------------
199+| Bits || 32 | 32
200++------------++----------------------+----------------------
201+| Read/Write || R | R+W
202++------------++----------------------+----------------------
203+| Purpose || Device | Guest
204+| || Features bits 32:63 | Features bits 32:63
205++------------++----------------------+----------------------
206+
207+
208+Immediately following these general headers, there may be
209+device-specific headers:
210+
211+
212++------------++--------------------+
213+| Bits || Device Specific |
214+ +--------------------+
215++------------++--------------------+
216+| Read/Write || Device Specific |
217++------------++--------------------+
218+| Purpose || Device Specific... |
219+| || |
220++------------++--------------------+
221+
222+
223+ Device Status
224+
225+The Device Status field is updated by the guest to indicate its
226+progress. This provides a simple low-level diagnostic: it's most
227+useful to imagine them hooked up to traffic lights on the console
228+indicating the status of each device.
229+
230+The device can be reset by writing a 0 to this field, otherwise
231+at least one bit should be set:
232+
233+ ACKNOWLEDGE (1) Indicates that the guest OS has found the
234+ device and recognized it as a valid virtio device.
235+
236+ DRIVER (2) Indicates that the guest OS knows how to drive the
237+ device. Under Linux, drivers can be loadable modules so there
238+ may be a significant (or infinite) delay before setting this
239+ bit.
240+
241+ DRIVER_OK (3) Indicates that the driver is set up and ready to
242+ drive the device.
243+
244+ FAILED (8) Indicates that something went wrong in the guest,
245+ and it has given up on the device. This could be an internal
246+ error, or the driver didn't like the device for some reason, or
247+ even a fatal error during device operation. The device must be
248+ reset before attempting to re-initialize.
249+
250+ Feature Bits
251+
252+The least significant 31 bits of the first configuration field
253+indicates the features that the device supports (the high bit is
254+reserved, and will be used to indicate the presence of future
255+feature bits elsewhere). If more than 31 feature bits are
256+supported, the device indicates so by setting feature bit 31 (see
257+[cha:Reserved-Feature-Bits]). The bits are allocated as follows:
258+
259+ 0 to 23 Feature bits for the specific device type
260+
261+ 24 to 40 Feature bits reserved for extensions to the queue and
262+ feature negotiation mechanisms
263+
264+ 41 to 63 Feature bits reserved for future extensions
265+
266+For example, feature bit 0 for a network device (i.e. Subsystem
267+Device ID 1) indicates that the device supports checksumming of
268+packets.
269+
270+The feature bits are negotiated: the device lists all the
271+features it understands in the Device Features field, and the
272+guest writes the subset that it understands into the Guest
273+Features field. The only way to renegotiate is to reset the
274+device.
275+
276+In particular, new fields in the device configuration header are
277+indicated by offering a feature bit, so the guest can check
278+before accessing that part of the configuration space.
279+
280+This allows for forwards and backwards compatibility: if the
281+device is enhanced with a new feature bit, older guests will not
282+write that feature bit back to the Guest Features field and it
283+can go into backwards compatibility mode. Similarly, if a guest
284+is enhanced with a feature that the device doesn't support, it
285+will not see that feature bit in the Device Features field and
286+can go into backwards compatibility mode (or, for poor
287+implementations, set the FAILED Device Status bit).
288+
289+Access to feature bits 32 to 63 is enabled by Guest by setting
290+feature bit 31. If this bit is unset, Device must assume that all
291+feature bits > 31 are unset.
292+
293+ Configuration/Queue Vectors
294+
295+When MSI-X capability is present and enabled in the device
296+(through standard PCI configuration space) 4 bytes at byte offset
297+20 are used to map configuration change and queue interrupts to
298+MSI-X vectors. In this case, the ISR Status field is unused, and
299+device specific configuration starts at byte offset 24 in virtio
300+header structure. When MSI-X capability is not enabled, device
301+specific configuration starts at byte offset 20 in virtio header.
302+
303+Writing a valid MSI-X Table entry number, 0 to 0x7FF, to one of
304+Configuration/Queue Vector registers, maps interrupts triggered
305+by the configuration change/selected queue events respectively to
306+the corresponding MSI-X vector. To disable interrupts for a
307+specific event type, unmap it by writing a special NO_VECTOR
308+value:
309+
310+/* Vector value used to disable MSI for queue */
311+
312+#define VIRTIO_MSI_NO_VECTOR 0xffff
313+
314+Reading these registers returns vector mapped to a given event,
315+or NO_VECTOR if unmapped. All queue and configuration change
316+events are unmapped by default.
317+
318+Note that mapping an event to vector might require allocating
319+internal device resources, and might fail. Devices report such
320+failures by returning the NO_VECTOR value when the relevant
321+Vector field is read. After mapping an event to vector, the
322+driver must verify success by reading the Vector field value: on
323+success, the previously written value is returned, and on
324+failure, NO_VECTOR is returned. If a mapping failure is detected,
325+the driver can retry mapping with fewervectors, or disable MSI-X.
326+
327+ Virtqueue Configuration
328+
329+As a device can have zero or more virtqueues for bulk data
330+transport (for example, the network driver has two), the driver
331+needs to configure them as part of the device-specific
332+configuration.
333+
334+This is done as follows, for each virtqueue a device has:
335+
336+ Write the virtqueue index (first queue is 0) to the Queue
337+ Select field.
338+
339+ Read the virtqueue size from the Queue Size field, which is
340+ always a power of 2. This controls how big the virtqueue is
341+ (see below). If this field is 0, the virtqueue does not exist.
342+
343+ Allocate and zero virtqueue in contiguous physical memory, on a
344+ 4096 byte alignment. Write the physical address, divided by
345+ 4096 to the Queue Address field.[footnote:
346+The 4096 is based on the x86 page size, but it's also large
347+enough to ensure that the separate parts of the virtqueue are on
348+separate cache lines.
349+]
350+
351+ Optionally, if MSI-X capability is present and enabled on the
352+ device, select a vector to use to request interrupts triggered
353+ by virtqueue events. Write the MSI-X Table entry number
354+ corresponding to this vector in Queue Vector field. Read the
355+ Queue Vector field: on success, previously written value is
356+ returned; on failure, NO_VECTOR value is returned.
357+
358+The Queue Size field controls the total number of bytes required
359+for the virtqueue according to the following formula:
360+
361+#define ALIGN(x) (((x) + 4095) & ~4095)
362+
363+static inline unsigned vring_size(unsigned int qsz)
364+
365+{
366+
367+ return ALIGN(sizeof(struct vring_desc)*qsz + sizeof(u16)*(2
368++ qsz))
369+
370+ + ALIGN(sizeof(struct vring_used_elem)*qsz);
371+
372+}
373+
374+This currently wastes some space with padding, but also allows
375+future extensions. The virtqueue layout structure looks like this
376+(qsz is the Queue Size field, which is a variable, so this code
377+won't compile):
378+
379+struct vring {
380+
381+ /* The actual descriptors (16 bytes each) */
382+
383+ struct vring_desc desc[qsz];
384+
385+
386+
387+ /* A ring of available descriptor heads with free-running
388+index. */
389+
390+ struct vring_avail avail;
391+
392+
393+
394+ // Padding to the next 4096 boundary.
395+
396+ char pad[];
397+
398+
399+
400+ // A ring of used descriptor heads with free-running index.
401+
402+ struct vring_used used;
403+
404+};
405+
406+ A Note on Virtqueue Endianness
407+
408+Note that the endian of these fields and everything else in the
409+virtqueue is the native endian of the guest, not little-endian as
410+PCI normally is. This makes for simpler guest code, and it is
411+assumed that the host already has to be deeply aware of the guest
412+endian so such an “endian-aware” device is not a significant
413+issue.
414+
415+ Descriptor Table
416+
417+The descriptor table refers to the buffers the guest is using for
418+the device. The addresses are physical addresses, and the buffers
419+can be chained via the next field. Each descriptor describes a
420+buffer which is read-only or write-only, but a chain of
421+descriptors can contain both read-only and write-only buffers.
422+
423+No descriptor chain may be more than 2^32 bytes long in total.struct vring_desc {
424+
425+ /* Address (guest-physical). */
426+
427+ u64 addr;
428+
429+ /* Length. */
430+
431+ u32 len;
432+
433+/* This marks a buffer as continuing via the next field. */
434+
435+#define VRING_DESC_F_NEXT 1
436+
437+/* This marks a buffer as write-only (otherwise read-only). */
438+
439+#define VRING_DESC_F_WRITE 2
440+
441+/* This means the buffer contains a list of buffer descriptors.
442+*/
443+
444+#define VRING_DESC_F_INDIRECT 4
445+
446+ /* The flags as indicated above. */
447+
448+ u16 flags;
449+
450+ /* Next field if flags & NEXT */
451+
452+ u16 next;
453+
454+};
455+
456+The number of descriptors in the table is specified by the Queue
457+Size field for this virtqueue.
458+
459+ <sub:Indirect-Descriptors>Indirect Descriptors
460+
461+Some devices benefit by concurrently dispatching a large number
462+of large requests. The VIRTIO_RING_F_INDIRECT_DESC feature can be
463+used to allow this (see [cha:Reserved-Feature-Bits]). To increase
464+ring capacity it is possible to store a table of indirect
465+descriptors anywhere in memory, and insert a descriptor in main
466+virtqueue (with flags&INDIRECT on) that refers to memory buffer
467+containing this indirect descriptor table; fields addr and len
468+refer to the indirect table address and length in bytes,
469+respectively. The indirect table layout structure looks like this
470+(len is the length of the descriptor that refers to this table,
471+which is a variable, so this code won't compile):
472+
473+struct indirect_descriptor_table {
474+
475+ /* The actual descriptors (16 bytes each) */
476+
477+ struct vring_desc desc[len / 16];
478+
479+};
480+
481+The first indirect descriptor is located at start of the indirect
482+descriptor table (index 0), additional indirect descriptors are
483+chained by next field. An indirect descriptor without next field
484+(with flags&NEXT off) signals the end of the indirect descriptor
485+table, and transfers control back to the main virtqueue. An
486+indirect descriptor can not refer to another indirect descriptor
487+table (flags&INDIRECT must be off). A single indirect descriptor
488+table can include both read-only and write-only descriptors;
489+write-only flag (flags&WRITE) in the descriptor that refers to it
490+is ignored.
491+
492+ Available Ring
493+
494+The available ring refers to what descriptors we are offering the
495+device: it refers to the head of a descriptor chain. The “flags”
496+field is currently 0 or 1: 1 indicating that we do not need an
497+interrupt when the device consumes a descriptor from the
498+available ring. Alternatively, the guest can ask the device to
499+delay interrupts until an entry with an index specified by the “
500+used_event” field is written in the used ring (equivalently,
501+until the idx field in the used ring will reach the value
502+used_event + 1). The method employed by the device is controlled
503+by the VIRTIO_RING_F_EVENT_IDX feature bit (see [cha:Reserved-Feature-Bits]
504+). This interrupt suppression is merely an optimization; it may
505+not suppress interrupts entirely.
506+
507+The “idx” field indicates where we would put the next descriptor
508+entry (modulo the ring size). This starts at 0, and increases.
509+
510+struct vring_avail {
511+
512+#define VRING_AVAIL_F_NO_INTERRUPT 1
513+
514+ u16 flags;
515+
516+ u16 idx;
517+
518+ u16 ring[qsz]; /* qsz is the Queue Size field read from device
519+*/
520+
521+ u16 used_event;
522+
523+};
524+
525+ Used Ring
526+
527+The used ring is where the device returns buffers once it is done
528+with them. The flags field can be used by the device to hint that
529+no notification is necessary when the guest adds to the available
530+ring. Alternatively, the “avail_event” field can be used by the
531+device to hint that no notification is necessary until an entry
532+with an index specified by the “avail_event” is written in the
533+available ring (equivalently, until the idx field in the
534+available ring will reach the value avail_event + 1). The method
535+employed by the device is controlled by the guest through the
536+VIRTIO_RING_F_EVENT_IDX feature bit (see [cha:Reserved-Feature-Bits]
537+). [footnote:
538+These fields are kept here because this is the only part of the
539+virtqueue written by the device
540+].
541+
542+Each entry in the ring is a pair: the head entry of the
543+descriptor chain describing the buffer (this matches an entry
544+placed in the available ring by the guest earlier), and the total
545+of bytes written into the buffer. The latter is extremely useful
546+for guests using untrusted buffers: if you do not know exactly
547+how much has been written by the device, you usually have to zero
548+the buffer to ensure no data leakage occurs.
549+
550+/* u32 is used here for ids for padding reasons. */
551+
552+struct vring_used_elem {
553+
554+ /* Index of start of used descriptor chain. */
555+
556+ u32 id;
557+
558+ /* Total length of the descriptor chain which was used
559+(written to) */
560+
561+ u32 len;
562+
563+};
564+
565+
566+
567+struct vring_used {
568+
569+#define VRING_USED_F_NO_NOTIFY 1
570+
571+ u16 flags;
572+
573+ u16 idx;
574+
575+ struct vring_used_elem ring[qsz];
576+
577+ u16 avail_event;
578+
579+};
580+
581+ Helpers for Managing Virtqueues
582+
583+The Linux Kernel Source code contains the definitions above and
584+helper routines in a more usable form, in
585+include/linux/virtio_ring.h. This was explicitly licensed by IBM
586+and Red Hat under the (3-clause) BSD license so that it can be
587+freely used by all other projects, and is reproduced (with slight
588+variation to remove Linux assumptions) in Appendix A.
589+
590+ Device Operation
591+
592+There are two parts to device operation: supplying new buffers to
593+the device, and processing used buffers from the device. As an
594+example, the virtio network device has two virtqueues: the
595+transmit virtqueue and the receive virtqueue. The driver adds
596+outgoing (read-only) packets to the transmit virtqueue, and then
597+frees them after they are used. Similarly, incoming (write-only)
598+buffers are added to the receive virtqueue, and processed after
599+they are used.
600+
601+ Supplying Buffers to The Device
602+
603+Actual transfer of buffers from the guest OS to the device
604+operates as follows:
605+
606+ Place the buffer(s) into free descriptor(s).
607+
608+ If there are no free descriptors, the guest may choose to
609+ notify the device even if notifications are suppressed (to
610+ reduce latency).[footnote:
611+The Linux drivers do this only for read-only buffers: for
612+write-only buffers, it is assumed that the driver is merely
613+trying to keep the receive buffer ring full, and no notification
614+of this expected condition is necessary.
615+]
616+
617+ Place the id of the buffer in the next ring entry of the
618+ available ring.
619+
620+ The steps (1) and (2) may be performed repeatedly if batching
621+ is possible.
622+
623+ A memory barrier should be executed to ensure the device sees
624+ the updated descriptor table and available ring before the next
625+ step.
626+
627+ The available “idx” field should be increased by the number of
628+ entries added to the available ring.
629+
630+ A memory barrier should be executed to ensure that we update
631+ the idx field before checking for notification suppression.
632+
633+ If notifications are not suppressed, the device should be
634+ notified of the new buffers.
635+
636+Note that the above code does not take precautions against the
637+available ring buffer wrapping around: this is not possible since
638+the ring buffer is the same size as the descriptor table, so step
639+(1) will prevent such a condition.
640+
641+In addition, the maximum queue size is 32768 (it must be a power
642+of 2 which fits in 16 bits), so the 16-bit “idx” value can always
643+distinguish between a full and empty buffer.
644+
645+Here is a description of each stage in more detail.
646+
647+ Placing Buffers Into The Descriptor Table
648+
649+A buffer consists of zero or more read-only physically-contiguous
650+elements followed by zero or more physically-contiguous
651+write-only elements (it must have at least one element). This
652+algorithm maps it into the descriptor table:
653+
654+ for each buffer element, b:
655+
656+ Get the next free descriptor table entry, d
657+
658+ Set d.addr to the physical address of the start of b
659+
660+ Set d.len to the length of b.
661+
662+ If b is write-only, set d.flags to VRING_DESC_F_WRITE,
663+ otherwise 0.
664+
665+ If there is a buffer element after this:
666+
667+ Set d.next to the index of the next free descriptor element.
668+
669+ Set the VRING_DESC_F_NEXT bit in d.flags.
670+
671+In practice, the d.next fields are usually used to chain free
672+descriptors, and a separate count kept to check there are enough
673+free descriptors before beginning the mappings.
674+
675+ Updating The Available Ring
676+
677+The head of the buffer we mapped is the first d in the algorithm
678+above. A naive implementation would do the following:
679+
680+avail->ring[avail->idx % qsz] = head;
681+
682+However, in general we can add many descriptors before we update
683+the “idx” field (at which point they become visible to the
684+device), so we keep a counter of how many we've added:
685+
686+avail->ring[(avail->idx + added++) % qsz] = head;
687+
688+ Updating The Index Field
689+
690+Once the idx field of the virtqueue is updated, the device will
691+be able to access the descriptor entries we've created and the
692+memory they refer to. This is why a memory barrier is generally
693+used before the idx update, to ensure it sees the most up-to-date
694+copy.
695+
696+The idx field always increments, and we let it wrap naturally at
697+65536:
698+
699+avail->idx += added;
700+
701+ <sub:Notifying-The-Device>Notifying The Device
702+
703+Device notification occurs by writing the 16-bit virtqueue index
704+of this virtqueue to the Queue Notify field of the virtio header
705+in the first I/O region of the PCI device. This can be expensive,
706+however, so the device can suppress such notifications if it
707+doesn't need them. We have to be careful to expose the new idx
708+value before checking the suppression flag: it's OK to notify
709+gratuitously, but not to omit a required notification. So again,
710+we use a memory barrier here before reading the flags or the
711+avail_event field.
712+
713+If the VIRTIO_F_RING_EVENT_IDX feature is not negotiated, and if
714+the VRING_USED_F_NOTIFY flag is not set, we go ahead and write to
715+the PCI configuration space.
716+
717+If the VIRTIO_F_RING_EVENT_IDX feature is negotiated, we read the
718+avail_event field in the available ring structure. If the
719+available index crossed_the avail_event field value since the
720+last notification, we go ahead and write to the PCI configuration
721+space. The avail_event field wraps naturally at 65536 as well:
722+
723+(u16)(new_idx - avail_event - 1) < (u16)(new_idx - old_idx)
724+
725+ <sub:Receiving-Used-Buffers>Receiving Used Buffers From The
726+ Device
727+
728+Once the device has used a buffer (read from or written to it, or
729+parts of both, depending on the nature of the virtqueue and the
730+device), it sends an interrupt, following an algorithm very
731+similar to the algorithm used for the driver to send the device a
732+buffer:
733+
734+ Write the head descriptor number to the next field in the used
735+ ring.
736+
737+ Update the used ring idx.
738+
739+ Determine whether an interrupt is necessary:
740+
741+ If the VIRTIO_F_RING_EVENT_IDX feature is not negotiated: check
742+ if f the VRING_AVAIL_F_NO_INTERRUPT flag is not set in avail-
743+ >flags
744+
745+ If the VIRTIO_F_RING_EVENT_IDX feature is negotiated: check
746+ whether the used index crossed the used_event field value
747+ since the last update. The used_event field wraps naturally
748+ at 65536 as well:(u16)(new_idx - used_event - 1) < (u16)(new_idx - old_idx)
749+
750+ If an interrupt is necessary:
751+
752+ If MSI-X capability is disabled:
753+
754+ Set the lower bit of the ISR Status field for the device.
755+
756+ Send the appropriate PCI interrupt for the device.
757+
758+ If MSI-X capability is enabled:
759+
760+ Request the appropriate MSI-X interrupt message for the
761+ device, Queue Vector field sets the MSI-X Table entry
762+ number.
763+
764+ If Queue Vector field value is NO_VECTOR, no interrupt
765+ message is requested for this event.
766+
767+The guest interrupt handler should:
768+
769+ If MSI-X capability is disabled: read the ISR Status field,
770+ which will reset it to zero. If the lower bit is zero, the
771+ interrupt was not for this device. Otherwise, the guest driver
772+ should look through the used rings of each virtqueue for the
773+ device, to see if any progress has been made by the device
774+ which requires servicing.
775+
776+ If MSI-X capability is enabled: look through the used rings of
777+ each virtqueue mapped to the specific MSI-X vector for the
778+ device, to see if any progress has been made by the device
779+ which requires servicing.
780+
781+For each ring, guest should then disable interrupts by writing
782+VRING_AVAIL_F_NO_INTERRUPT flag in avail structure, if required.
783+It can then process used ring entries finally enabling interrupts
784+by clearing the VRING_AVAIL_F_NO_INTERRUPT flag or updating the
785+EVENT_IDX field in the available structure, Guest should then
786+execute a memory barrier, and then recheck the ring empty
787+condition. This is necessary to handle the case where, after the
788+last check and before enabling interrupts, an interrupt has been
789+suppressed by the device:
790+
791+vring_disable_interrupts(vq);
792+
793+for (;;) {
794+
795+ if (vq->last_seen_used != vring->used.idx) {
796+
797+ vring_enable_interrupts(vq);
798+
799+ mb();
800+
801+ if (vq->last_seen_used != vring->used.idx)
802+
803+ break;
804+
805+ }
806+
807+ struct vring_used_elem *e =
808+vring.used->ring[vq->last_seen_used%vsz];
809+
810+ process_buffer(e);
811+
812+ vq->last_seen_used++;
813+
814+}
815+
816+ Dealing With Configuration Changes
817+
818+Some virtio PCI devices can change the device configuration
819+state, as reflected in the virtio header in the PCI configuration
820+space. In this case:
821+
822+ If MSI-X capability is disabled: an interrupt is delivered and
823+ the second highest bit is set in the ISR Status field to
824+ indicate that the driver should re-examine the configuration
825+ space.Note that a single interrupt can indicate both that one
826+ or more virtqueue has been used and that the configuration
827+ space has changed: even if the config bit is set, virtqueues
828+ must be scanned.
829+
830+ If MSI-X capability is enabled: an interrupt message is
831+ requested. The Configuration Vector field sets the MSI-X Table
832+ entry number to use. If Configuration Vector field value is
833+ NO_VECTOR, no interrupt message is requested for this event.
834+
835+Creating New Device Types
836+
837+Various considerations are necessary when creating a new device
838+type:
839+
840+ How Many Virtqueues?
841+
842+It is possible that a very simple device will operate entirely
843+through its configuration space, but most will need at least one
844+virtqueue in which it will place requests. A device with both
845+input and output (eg. console and network devices described here)
846+need two queues: one which the driver fills with buffers to
847+receive input, and one which the driver places buffers to
848+transmit output.
849+
850+ What Configuration Space Layout?
851+
852+Configuration space is generally used for rarely-changing or
853+initialization-time parameters. But it is a limited resource, so
854+it might be better to use a virtqueue to update configuration
855+information (the network device does this for filtering,
856+otherwise the table in the config space could potentially be very
857+large).
858+
859+Note that this space is generally the guest's native endian,
860+rather than PCI's little-endian.
861+
862+ What Device Number?
863+
864+Currently device numbers are assigned quite freely: a simple
865+request mail to the author of this document or the Linux
866+virtualization mailing list[footnote:
867+
868+https://lists.linux-foundation.org/mailman/listinfo/virtualization
869+] will be sufficient to secure a unique one.
870+
871+Meanwhile for experimental drivers, use 65535 and work backwards.
872+
873+ How many MSI-X vectors?
874+
875+Using the optional MSI-X capability devices can speed up
876+interrupt processing by removing the need to read ISR Status
877+register by guest driver (which might be an expensive operation),
878+reducing interrupt sharing between devices and queues within the
879+device, and handling interrupts from multiple CPUs. However, some
880+systems impose a limit (which might be as low as 256) on the
881+total number of MSI-X vectors that can be allocated to all
882+devices. Devices and/or device drivers should take this into
883+account, limiting the number of vectors used unless the device is
884+expected to cause a high volume of interrupts. Devices can
885+control the number of vectors used by limiting the MSI-X Table
886+Size or not presenting MSI-X capability in PCI configuration
887+space. Drivers can control this by mapping events to as small
888+number of vectors as possible, or disabling MSI-X capability
889+altogether.
890+
891+ Message Framing
892+
893+The descriptors used for a buffer should not effect the semantics
894+of the message, except for the total length of the buffer. For
895+example, a network buffer consists of a 10 byte header followed
896+by the network packet. Whether this is presented in the ring
897+descriptor chain as (say) a 10 byte buffer and a 1514 byte
898+buffer, or a single 1524 byte buffer, or even three buffers,
899+should have no effect.
900+
901+In particular, no implementation should use the descriptor
902+boundaries to determine the size of any header in a request.[footnote:
903+The current qemu device implementations mistakenly insist that
904+the first descriptor cover the header in these cases exactly, so
905+a cautious driver should arrange it so.
906+]
907+
908+ Device Improvements
909+
910+Any change to configuration space, or new virtqueues, or
911+behavioural changes, should be indicated by negotiation of a new
912+feature bit. This establishes clarity[footnote:
913+Even if it does mean documenting design or implementation
914+mistakes!
915+] and avoids future expansion problems.
916+
917+Clusters of functionality which are always implemented together
918+can use a single bit, but if one feature makes sense without the
919+others they should not be gratuitously grouped together to
920+conserve feature bits. We can always extend the spec when the
921+first person needs more than 24 feature bits for their device.
922+
923+[LaTeX Command: printnomenclature]
924+
925+Appendix A: virtio_ring.h
926+
927+#ifndef VIRTIO_RING_H
928+
929+#define VIRTIO_RING_H
930+
931+/* An interface for efficient virtio implementation.
932+
933+ *
934+
935+ * This header is BSD licensed so anyone can use the definitions
936+
937+ * to implement compatible drivers/servers.
938+
939+ *
940+
941+ * Copyright 2007, 2009, IBM Corporation
942+
943+ * Copyright 2011, Red Hat, Inc
944+
945+ * All rights reserved.
946+
947+ *
948+
949+ * Redistribution and use in source and binary forms, with or
950+without
951+
952+ * modification, are permitted provided that the following
953+conditions
954+
955+ * are met:
956+
957+ * 1. Redistributions of source code must retain the above
958+copyright
959+
960+ * notice, this list of conditions and the following
961+disclaimer.
962+
963+ * 2. Redistributions in binary form must reproduce the above
964+copyright
965+
966+ * notice, this list of conditions and the following
967+disclaimer in the
968+
969+ * documentation and/or other materials provided with the
970+distribution.
971+
972+ * 3. Neither the name of IBM nor the names of its contributors
973+
974+ * may be used to endorse or promote products derived from
975+this software
976+
977+ * without specific prior written permission.
978+
979+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
980+CONTRIBUTORS ``AS IS'' AND
981+
982+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
983+TO, THE
984+
985+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
986+PARTICULAR PURPOSE
987+
988+ * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE
989+LIABLE
990+
991+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
992+CONSEQUENTIAL
993+
994+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
995+SUBSTITUTE GOODS
996+
997+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
998+INTERRUPTION)
999+
1000+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1001+CONTRACT, STRICT
1002+
1003+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1004+IN ANY WAY
1005+
1006+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1007+POSSIBILITY OF
1008+
1009+ * SUCH DAMAGE.
1010+
1011+ */
1012+
1013+
1014+
1015+/* This marks a buffer as continuing via the next field. */
1016+
1017+#define VRING_DESC_F_NEXT 1
1018+
1019+/* This marks a buffer as write-only (otherwise read-only). */
1020+
1021+#define VRING_DESC_F_WRITE 2
1022+
1023+
1024+
1025+/* The Host uses this in used->flags to advise the Guest: don't
1026+kick me
1027+
1028+ * when you add a buffer. It's unreliable, so it's simply an
1029+
1030+ * optimization. Guest will still kick if it's out of buffers.
1031+*/
1032+
1033+#define VRING_USED_F_NO_NOTIFY 1
1034+
1035+/* The Guest uses this in avail->flags to advise the Host: don't
1036+
1037+ * interrupt me when you consume a buffer. It's unreliable, so
1038+it's
1039+
1040+ * simply an optimization. */
1041+
1042+#define VRING_AVAIL_F_NO_INTERRUPT 1
1043+
1044+
1045+
1046+/* Virtio ring descriptors: 16 bytes.
1047+
1048+ * These can chain together via "next". */
1049+
1050+struct vring_desc {
1051+
1052+ /* Address (guest-physical). */
1053+
1054+ uint64_t addr;
1055+
1056+ /* Length. */
1057+
1058+ uint32_t len;
1059+
1060+ /* The flags as indicated above. */
1061+
1062+ uint16_t flags;
1063+
1064+ /* We chain unused descriptors via this, too */
1065+
1066+ uint16_t next;
1067+
1068+};
1069+
1070+
1071+
1072+struct vring_avail {
1073+
1074+ uint16_t flags;
1075+
1076+ uint16_t idx;
1077+
1078+ uint16_t ring[];
1079+
1080+ uint16_t used_event;
1081+
1082+};
1083+
1084+
1085+
1086+/* u32 is used here for ids for padding reasons. */
1087+
1088+struct vring_used_elem {
1089+
1090+ /* Index of start of used descriptor chain. */
1091+
1092+ uint32_t id;
1093+
1094+ /* Total length of the descriptor chain which was written
1095+to. */
1096+
1097+ uint32_t len;
1098+
1099+};
1100+
1101+
1102+
1103+struct vring_used {
1104+
1105+ uint16_t flags;
1106+
1107+ uint16_t idx;
1108+
1109+ struct vring_used_elem ring[];
1110+
1111+ uint16_t avail_event;
1112+
1113+};
1114+
1115+
1116+
1117+struct vring {
1118+
1119+ unsigned int num;
1120+
1121+
1122+
1123+ struct vring_desc *desc;
1124+
1125+ struct vring_avail *avail;
1126+
1127+ struct vring_used *used;
1128+
1129+};
1130+
1131+
1132+
1133+/* The standard layout for the ring is a continuous chunk of
1134+memory which
1135+
1136+ * looks like this. We assume num is a power of 2.
1137+
1138+ *
1139+
1140+ * struct vring {
1141+
1142+ * // The actual descriptors (16 bytes each)
1143+
1144+ * struct vring_desc desc[num];
1145+
1146+ *
1147+
1148+ * // A ring of available descriptor heads with free-running
1149+index.
1150+
1151+ * __u16 avail_flags;
1152+
1153+ * __u16 avail_idx;
1154+
1155+ * __u16 available[num];
1156+
1157+ *
1158+
1159+ * // Padding to the next align boundary.
1160+
1161+ * char pad[];
1162+
1163+ *
1164+
1165+ * // A ring of used descriptor heads with free-running
1166+index.
1167+
1168+ * __u16 used_flags;
1169+
1170+ * __u16 EVENT_IDX;
1171+
1172+ * struct vring_used_elem used[num];
1173+
1174+ * };
1175+
1176+ * Note: for virtio PCI, align is 4096.
1177+
1178+ */
1179+
1180+static inline void vring_init(struct vring *vr, unsigned int num,
1181+void *p,
1182+
1183+ unsigned long align)
1184+
1185+{
1186+
1187+ vr->num = num;
1188+
1189+ vr->desc = p;
1190+
1191+ vr->avail = p + num*sizeof(struct vring_desc);
1192+
1193+ vr->used = (void *)(((unsigned long)&vr->avail->ring[num]
1194+
1195+ + align-1)
1196+
1197+ & ~(align - 1));
1198+
1199+}
1200+
1201+
1202+
1203+static inline unsigned vring_size(unsigned int num, unsigned long
1204+align)
1205+
1206+{
1207+
1208+ return ((sizeof(struct vring_desc)*num +
1209+sizeof(uint16_t)*(2+num)
1210+
1211+ + align - 1) & ~(align - 1))
1212+
1213+ + sizeof(uint16_t)*3 + sizeof(struct
1214+vring_used_elem)*num;
1215+
1216+}
1217+
1218+
1219+
1220+static inline int vring_need_event(uint16_t event_idx, uint16_t
1221+new_idx, uint16_t old_idx)
1222+
1223+{
1224+
1225+ return (uint16_t)(new_idx - event_idx - 1) <
1226+(uint16_t)(new_idx - old_idx);
1227+
1228+}
1229+
1230+#endif /* VIRTIO_RING_H */
1231+
1232+<cha:Reserved-Feature-Bits>Appendix B: Reserved Feature Bits
1233+
1234+Currently there are five device-independent feature bits defined:
1235+
1236+ VIRTIO_F_NOTIFY_ON_EMPTY (24) Negotiating this feature
1237+ indicates that the driver wants an interrupt if the device runs
1238+ out of available descriptors on a virtqueue, even though
1239+ interrupts are suppressed using the VRING_AVAIL_F_NO_INTERRUPT
1240+ flag or the used_event field. An example of this is the
1241+ networking driver: it doesn't need to know every time a packet
1242+ is transmitted, but it does need to free the transmitted
1243+ packets a finite time after they are transmitted. It can avoid
1244+ using a timer if the device interrupts it when all the packets
1245+ are transmitted.
1246+
1247+ VIRTIO_F_RING_INDIRECT_DESC (28) Negotiating this feature
1248+ indicates that the driver can use descriptors with the
1249+ VRING_DESC_F_INDIRECT flag set, as described in [sub:Indirect-Descriptors]
1250+ .
1251+
1252+ VIRTIO_F_RING_EVENT_IDX(29) This feature enables the used_event
1253+ and the avail_event fields. If set, it indicates that the
1254+ device should ignore the flags field in the available ring
1255+ structure. Instead, the used_event field in this structure is
1256+ used by guest to suppress device interrupts. Further, the
1257+ driver should ignore the flags field in the used ring
1258+ structure. Instead, the avail_event field in this structure is
1259+ used by the device to suppress notifications. If unset, the
1260+ driver should ignore the used_event field; the device should
1261+ ignore the avail_event field; the flags field is used
1262+
1263+ VIRTIO_F_BAD_FEATURE(30) This feature should never be
1264+ negotiated by the guest; doing so is an indication that the
1265+ guest is faulty[footnote:
1266+An experimental virtio PCI driver contained in Linux version
1267+2.6.25 had this problem, and this feature bit can be used to
1268+detect it.
1269+]
1270+
1271+ VIRTIO_F_FEATURES_HIGH(31) This feature indicates that the
1272+ device supports feature bits 32:63. If unset, feature bits
1273+ 32:63 are unset.
1274+
1275+Appendix C: Network Device
1276+
1277+The virtio network device is a virtual ethernet card, and is the
1278+most complex of the devices supported so far by virtio. It has
1279+enhanced rapidly and demonstrates clearly how support for new
1280+features should be added to an existing device. Empty buffers are
1281+placed in one virtqueue for receiving packets, and outgoing
1282+packets are enqueued into another for transmission in that order.
1283+A third command queue is used to control advanced filtering
1284+features.
1285+
1286+ Configuration
1287+
1288+ Subsystem Device ID 1
1289+
1290+ Virtqueues 0:receiveq. 1:transmitq. 2:controlq[footnote:
1291+Only if VIRTIO_NET_F_CTRL_VQ set
1292+]
1293+
1294+ Feature bits
1295+
1296+ VIRTIO_NET_F_CSUM (0) Device handles packets with partial
1297+ checksum
1298+
1299+ VIRTIO_NET_F_GUEST_CSUM (1) Guest handles packets with partial
1300+ checksum
1301+
1302+ VIRTIO_NET_F_MAC (5) Device has given MAC address.
1303+
1304+ VIRTIO_NET_F_GSO (6) (Deprecated) device handles packets with
1305+ any GSO type.[footnote:
1306+It was supposed to indicate segmentation offload support, but
1307+upon further investigation it became clear that multiple bits
1308+were required.
1309+]
1310+
1311+ VIRTIO_NET_F_GUEST_TSO4 (7) Guest can receive TSOv4.
1312+
1313+ VIRTIO_NET_F_GUEST_TSO6 (8) Guest can receive TSOv6.
1314+
1315+ VIRTIO_NET_F_GUEST_ECN (9) Guest can receive TSO with ECN.
1316+
1317+ VIRTIO_NET_F_GUEST_UFO (10) Guest can receive UFO.
1318+
1319+ VIRTIO_NET_F_HOST_TSO4 (11) Device can receive TSOv4.
1320+
1321+ VIRTIO_NET_F_HOST_TSO6 (12) Device can receive TSOv6.
1322+
1323+ VIRTIO_NET_F_HOST_ECN (13) Device can receive TSO with ECN.
1324+
1325+ VIRTIO_NET_F_HOST_UFO (14) Device can receive UFO.
1326+
1327+ VIRTIO_NET_F_MRG_RXBUF (15) Guest can merge receive buffers.
1328+
1329+ VIRTIO_NET_F_STATUS (16) Configuration status field is
1330+ available.
1331+
1332+ VIRTIO_NET_F_CTRL_VQ (17) Control channel is available.
1333+
1334+ VIRTIO_NET_F_CTRL_RX (18) Control channel RX mode support.
1335+
1336+ VIRTIO_NET_F_CTRL_VLAN (19) Control channel VLAN filtering.
1337+
1338+ Device configuration layout Two configuration fields are
1339+ currently defined. The mac address field always exists (though
1340+ is only valid if VIRTIO_NET_F_MAC is set), and the status field
1341+ only exists if VIRTIO_NET_F_STATUS is set. Only one bit is
1342+ currently defined for the status field: VIRTIO_NET_S_LINK_UP. #define VIRTIO_NET_S_LINK_UP 1
1343+
1344+
1345+
1346+struct virtio_net_config {
1347+
1348+ u8 mac[6];
1349+
1350+ u16 status;
1351+
1352+};
1353+
1354+ Device Initialization
1355+
1356+ The initialization routine should identify the receive and
1357+ transmission virtqueues.
1358+
1359+ If the VIRTIO_NET_F_MAC feature bit is set, the configuration
1360+ space “mac” entry indicates the “physical” address of the the
1361+ network card, otherwise a private MAC address should be
1362+ assigned. All guests are expected to negotiate this feature if
1363+ it is set.
1364+
1365+ If the VIRTIO_NET_F_CTRL_VQ feature bit is negotiated, identify
1366+ the control virtqueue.
1367+
1368+ If the VIRTIO_NET_F_STATUS feature bit is negotiated, the link
1369+ status can be read from the bottom bit of the “status” config
1370+ field. Otherwise, the link should be assumed active.
1371+
1372+ The receive virtqueue should be filled with receive buffers.
1373+ This is described in detail below in “Setting Up Receive
1374+ Buffers”.
1375+
1376+ A driver can indicate that it will generate checksumless
1377+ packets by negotating the VIRTIO_NET_F_CSUM feature. This “
1378+ checksum offload” is a common feature on modern network cards.
1379+
1380+ If that feature is negotiated, a driver can use TCP or UDP
1381+ segmentation offload by negotiating the VIRTIO_NET_F_HOST_TSO4
1382+ (IPv4 TCP), VIRTIO_NET_F_HOST_TSO6 (IPv6 TCP) and
1383+ VIRTIO_NET_F_HOST_UFO (UDP fragmentation) features. It should
1384+ not send TCP packets requiring segmentation offload which have
1385+ the Explicit Congestion Notification bit set, unless the
1386+ VIRTIO_NET_F_HOST_ECN feature is negotiated.[footnote:
1387+This is a common restriction in real, older network cards.
1388+]
1389+
1390+ The converse features are also available: a driver can save the
1391+ virtual device some work by negotiating these features.[footnote:
1392+For example, a network packet transported between two guests on
1393+the same system may not require checksumming at all, nor
1394+segmentation, if both guests are amenable.
1395+] The VIRTIO_NET_F_GUEST_CSUM feature indicates that partially
1396+ checksummed packets can be received, and if it can do that then
1397+ the VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6,
1398+ VIRTIO_NET_F_GUEST_UFO and VIRTIO_NET_F_GUEST_ECN are the input
1399+ equivalents of the features described above. See “Receiving
1400+ Packets” below.
1401+
1402+ Device Operation
1403+
1404+Packets are transmitted by placing them in the transmitq, and
1405+buffers for incoming packets are placed in the receiveq. In each
1406+case, the packet itself is preceeded by a header:
1407+
1408+struct virtio_net_hdr {
1409+
1410+#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1
1411+
1412+ u8 flags;
1413+
1414+#define VIRTIO_NET_HDR_GSO_NONE 0
1415+
1416+#define VIRTIO_NET_HDR_GSO_TCPV4 1
1417+
1418+#define VIRTIO_NET_HDR_GSO_UDP 3
1419+
1420+#define VIRTIO_NET_HDR_GSO_TCPV6 4
1421+
1422+#define VIRTIO_NET_HDR_GSO_ECN 0x80
1423+
1424+ u8 gso_type;
1425+
1426+ u16 hdr_len;
1427+
1428+ u16 gso_size;
1429+
1430+ u16 csum_start;
1431+
1432+ u16 csum_offset;
1433+
1434+/* Only if VIRTIO_NET_F_MRG_RXBUF: */
1435+
1436+ u16 num_buffers
1437+
1438+};
1439+
1440+The controlq is used to control device features such as
1441+filtering.
1442+
1443+ Packet Transmission
1444+
1445+Transmitting a single packet is simple, but varies depending on
1446+the different features the driver negotiated.
1447+
1448+ If the driver negotiated VIRTIO_NET_F_CSUM, and the packet has
1449+ not been fully checksummed, then the virtio_net_hdr's fields
1450+ are set as follows. Otherwise, the packet must be fully
1451+ checksummed, and flags is zero.
1452+
1453+ flags has the VIRTIO_NET_HDR_F_NEEDS_CSUM set,
1454+
1455+ <ite:csum_start-is-set>csum_start is set to the offset within
1456+ the packet to begin checksumming, and
1457+
1458+ csum_offset indicates how many bytes after the csum_start the
1459+ new (16 bit ones' complement) checksum should be placed.[footnote:
1460+For example, consider a partially checksummed TCP (IPv4) packet.
1461+It will have a 14 byte ethernet header and 20 byte IP header
1462+followed by the TCP header (with the TCP checksum field 16 bytes
1463+into that header). csum_start will be 14+20 = 34 (the TCP
1464+checksum includes the header), and csum_offset will be 16. The
1465+value in the TCP checksum field will be the sum of the TCP pseudo
1466+header, so that replacing it by the ones' complement checksum of
1467+the TCP header and body will give the correct result.
1468+]
1469+
1470+ <enu:If-the-driver>If the driver negotiated
1471+ VIRTIO_NET_F_HOST_TSO4, TSO6 or UFO, and the packet requires
1472+ TCP segmentation or UDP fragmentation, then the “gso_type”
1473+ field is set to VIRTIO_NET_HDR_GSO_TCPV4, TCPV6 or UDP.
1474+ (Otherwise, it is set to VIRTIO_NET_HDR_GSO_NONE). In this
1475+ case, packets larger than 1514 bytes can be transmitted: the
1476+ metadata indicates how to replicate the packet header to cut it
1477+ into smaller packets. The other gso fields are set:
1478+
1479+ hdr_len is a hint to the device as to how much of the header
1480+ needs to be kept to copy into each packet, usually set to the
1481+ length of the headers, including the transport header.[footnote:
1482+Due to various bugs in implementations, this field is not useful
1483+as a guarantee of the transport header size.
1484+]
1485+
1486+ gso_size is the size of the packet beyond that header (ie.
1487+ MSS).
1488+
1489+ If the driver negotiated the VIRTIO_NET_F_HOST_ECN feature, the
1490+ VIRTIO_NET_HDR_GSO_ECN bit may be set in “gso_type” as well,
1491+ indicating that the TCP packet has the ECN bit set.[footnote:
1492+This case is not handled by some older hardware, so is called out
1493+specifically in the protocol.
1494+]
1495+
1496+ If the driver negotiated the VIRTIO_NET_F_MRG_RXBUF feature,
1497+ the num_buffers field is set to zero.
1498+
1499+ The header and packet are added as one output buffer to the
1500+ transmitq, and the device is notified of the new entry (see [sub:Notifying-The-Device]
1501+ ).[footnote:
1502+Note that the header will be two bytes longer for the
1503+VIRTIO_NET_F_MRG_RXBUF case.
1504+]
1505+
1506+ Packet Transmission Interrupt
1507+
1508+Often a driver will suppress transmission interrupts using the
1509+VRING_AVAIL_F_NO_INTERRUPT flag (see [sub:Receiving-Used-Buffers]
1510+) and check for used packets in the transmit path of following
1511+packets. However, it will still receive interrupts if the
1512+VIRTIO_F_NOTIFY_ON_EMPTY feature is negotiated, indicating that
1513+the transmission queue is completely emptied.
1514+
1515+The normal behavior in this interrupt handler is to retrieve and
1516+new descriptors from the used ring and free the corresponding
1517+headers and packets.
1518+
1519+ Setting Up Receive Buffers
1520+
1521+It is generally a good idea to keep the receive virtqueue as
1522+fully populated as possible: if it runs out, network performance
1523+will suffer.
1524+
1525+If the VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6 or
1526+VIRTIO_NET_F_GUEST_UFO features are used, the Guest will need to
1527+accept packets of up to 65550 bytes long (the maximum size of a
1528+TCP or UDP packet, plus the 14 byte ethernet header), otherwise
1529+1514 bytes. So unless VIRTIO_NET_F_MRG_RXBUF is negotiated, every
1530+buffer in the receive queue needs to be at least this length [footnote:
1531+Obviously each one can be split across multiple descriptor
1532+elements.
1533+].
1534+
1535+If VIRTIO_NET_F_MRG_RXBUF is negotiated, each buffer must be at
1536+least the size of the struct virtio_net_hdr.
1537+
1538+ Packet Receive Interrupt
1539+
1540+When a packet is copied into a buffer in the receiveq, the
1541+optimal path is to disable further interrupts for the receiveq
1542+(see [sub:Receiving-Used-Buffers]) and process packets until no
1543+more are found, then re-enable them.
1544+
1545+Processing packet involves:
1546+
1547+ If the driver negotiated the VIRTIO_NET_F_MRG_RXBUF feature,
1548+ then the “num_buffers” field indicates how many descriptors
1549+ this packet is spread over (including this one). This allows
1550+ receipt of large packets without having to allocate large
1551+ buffers. In this case, there will be at least “num_buffers” in
1552+ the used ring, and they should be chained together to form a
1553+ single packet. The other buffers will not begin with a struct
1554+ virtio_net_hdr.
1555+
1556+ If the VIRTIO_NET_F_MRG_RXBUF feature was not negotiated, or
1557+ the “num_buffers” field is one, then the entire packet will be
1558+ contained within this buffer, immediately following the struct
1559+ virtio_net_hdr.
1560+
1561+ If the VIRTIO_NET_F_GUEST_CSUM feature was negotiated, the
1562+ VIRTIO_NET_HDR_F_NEEDS_CSUM bit in the “flags” field may be
1563+ set: if so, the checksum on the packet is incomplete and the “
1564+ csum_start” and “csum_offset” fields indicate how to calculate
1565+ it (see [ite:csum_start-is-set]).
1566+
1567+ If the VIRTIO_NET_F_GUEST_TSO4, TSO6 or UFO options were
1568+ negotiated, then the “gso_type” may be something other than
1569+ VIRTIO_NET_HDR_GSO_NONE, and the “gso_size” field indicates the
1570+ desired MSS (see [enu:If-the-driver]).Control Virtqueue
1571+
1572+The driver uses the control virtqueue (if VIRTIO_NET_F_VTRL_VQ is
1573+negotiated) to send commands to manipulate various features of
1574+the device which would not easily map into the configuration
1575+space.
1576+
1577+All commands are of the following form:
1578+
1579+struct virtio_net_ctrl {
1580+
1581+ u8 class;
1582+
1583+ u8 command;
1584+
1585+ u8 command-specific-data[];
1586+
1587+ u8 ack;
1588+
1589+};
1590+
1591+
1592+
1593+/* ack values */
1594+
1595+#define VIRTIO_NET_OK 0
1596+
1597+#define VIRTIO_NET_ERR 1
1598+
1599+The class, command and command-specific-data are set by the
1600+driver, and the device sets the ack byte. There is little it can
1601+do except issue a diagnostic if the ack byte is not
1602+VIRTIO_NET_OK.
1603+
1604+ Packet Receive Filtering
1605+
1606+If the VIRTIO_NET_F_CTRL_RX feature is negotiated, the driver can
1607+send control commands for promiscuous mode, multicast receiving,
1608+and filtering of MAC addresses.
1609+
1610+Note that in general, these commands are best-effort: unwanted
1611+packets may still arrive.
1612+
1613+ Setting Promiscuous Mode
1614+
1615+#define VIRTIO_NET_CTRL_RX 0
1616+
1617+ #define VIRTIO_NET_CTRL_RX_PROMISC 0
1618+
1619+ #define VIRTIO_NET_CTRL_RX_ALLMULTI 1
1620+
1621+The class VIRTIO_NET_CTRL_RX has two commands:
1622+VIRTIO_NET_CTRL_RX_PROMISC turns promiscuous mode on and off, and
1623+VIRTIO_NET_CTRL_RX_ALLMULTI turns all-multicast receive on and
1624+off. The command-specific-data is one byte containing 0 (off) or
1625+1 (on).
1626+
1627+ Setting MAC Address Filtering
1628+
1629+struct virtio_net_ctrl_mac {
1630+
1631+ u32 entries;
1632+
1633+ u8 macs[entries][ETH_ALEN];
1634+
1635+};
1636+
1637+
1638+
1639+#define VIRTIO_NET_CTRL_MAC 1
1640+
1641+ #define VIRTIO_NET_CTRL_MAC_TABLE_SET 0
1642+
1643+The device can filter incoming packets by any number of
1644+destination MAC addresses.[footnote:
1645+Since there are no guarentees, it can use a hash filter
1646+orsilently switch to allmulti or promiscuous mode if it is given
1647+too many addresses.
1648+] This table is set using the class VIRTIO_NET_CTRL_MAC and the
1649+command VIRTIO_NET_CTRL_MAC_TABLE_SET. The command-specific-data
1650+is two variable length tables of 6-byte MAC addresses. The first
1651+table contains unicast addresses, and the second contains
1652+multicast addresses.
1653+
1654+ VLAN Filtering
1655+
1656+If the driver negotiates the VIRTION_NET_F_CTRL_VLAN feature, it
1657+can control a VLAN filter table in the device.
1658+
1659+#define VIRTIO_NET_CTRL_VLAN 2
1660+
1661+ #define VIRTIO_NET_CTRL_VLAN_ADD 0
1662+
1663+ #define VIRTIO_NET_CTRL_VLAN_DEL 1
1664+
1665+Both the VIRTIO_NET_CTRL_VLAN_ADD and VIRTIO_NET_CTRL_VLAN_DEL
1666+command take a 16-bit VLAN id as the command-specific-data.
1667+
1668+Appendix D: Block Device
1669+
1670+The virtio block device is a simple virtual block device (ie.
1671+disk). Read and write requests (and other exotic requests) are
1672+placed in the queue, and serviced (probably out of order) by the
1673+device except where noted.
1674+
1675+ Configuration
1676+
1677+ Subsystem Device ID 2
1678+
1679+ Virtqueues 0:requestq.
1680+
1681+ Feature bits
1682+
1683+ VIRTIO_BLK_F_BARRIER (0) Host supports request barriers.
1684+
1685+ VIRTIO_BLK_F_SIZE_MAX (1) Maximum size of any single segment is
1686+ in “size_max”.
1687+
1688+ VIRTIO_BLK_F_SEG_MAX (2) Maximum number of segments in a
1689+ request is in “seg_max”.
1690+
1691+ VIRTIO_BLK_F_GEOMETRY (4) Disk-style geometry specified in “
1692+ geometry”.
1693+
1694+ VIRTIO_BLK_F_RO (5) Device is read-only.
1695+
1696+ VIRTIO_BLK_F_BLK_SIZE (6) Block size of disk is in “blk_size”.
1697+
1698+ VIRTIO_BLK_F_SCSI (7) Device supports scsi packet commands.
1699+
1700+ VIRTIO_BLK_F_FLUSH (9) Cache flush command support.
1701+
1702+
1703+
1704+ Device configuration layout The capacity of the device
1705+ (expressed in 512-byte sectors) is always present. The
1706+ availability of the others all depend on various feature bits
1707+ as indicated above. struct virtio_blk_config {
1708+
1709+ u64 capacity;
1710+
1711+ u32 size_max;
1712+
1713+ u32 seg_max;
1714+
1715+ struct virtio_blk_geometry {
1716+
1717+ u16 cylinders;
1718+
1719+ u8 heads;
1720+
1721+ u8 sectors;
1722+
1723+ } geometry;
1724+
1725+ u32 blk_size;
1726+
1727+
1728+
1729+};
1730+
1731+ Device Initialization
1732+
1733+ The device size should be read from the “capacity”
1734+ configuration field. No requests should be submitted which goes
1735+ beyond this limit.
1736+
1737+ If the VIRTIO_BLK_F_BLK_SIZE feature is negotiated, the
1738+ blk_size field can be read to determine the optimal sector size
1739+ for the driver to use. This does not effect the units used in
1740+ the protocol (always 512 bytes), but awareness of the correct
1741+ value can effect performance.
1742+
1743+ If the VIRTIO_BLK_F_RO feature is set by the device, any write
1744+ requests will fail.
1745+
1746+
1747+
1748+ Device Operation
1749+
1750+The driver queues requests to the virtqueue, and they are used by
1751+the device (not necessarily in order). Each request is of form:
1752+
1753+struct virtio_blk_req {
1754+
1755+
1756+
1757+ u32 type;
1758+
1759+ u32 ioprio;
1760+
1761+ u64 sector;
1762+
1763+ char data[][512];
1764+
1765+ u8 status;
1766+
1767+};
1768+
1769+If the device has VIRTIO_BLK_F_SCSI feature, it can also support
1770+scsi packet command requests, each of these requests is of form:struct virtio_scsi_pc_req {
1771+
1772+ u32 type;
1773+
1774+ u32 ioprio;
1775+
1776+ u64 sector;
1777+
1778+ char cmd[];
1779+
1780+ char data[][512];
1781+
1782+#define SCSI_SENSE_BUFFERSIZE 96
1783+
1784+ u8 sense[SCSI_SENSE_BUFFERSIZE];
1785+
1786+ u32 errors;
1787+
1788+ u32 data_len;
1789+
1790+ u32 sense_len;
1791+
1792+ u32 residual;
1793+
1794+ u8 status;
1795+
1796+};
1797+
1798+The type of the request is either a read (VIRTIO_BLK_T_IN), a
1799+write (VIRTIO_BLK_T_OUT), a scsi packet command
1800+(VIRTIO_BLK_T_SCSI_CMD or VIRTIO_BLK_T_SCSI_CMD_OUT[footnote:
1801+the SCSI_CMD and SCSI_CMD_OUT types are equivalent, the device
1802+does not distinguish between them
1803+]) or a flush (VIRTIO_BLK_T_FLUSH or VIRTIO_BLK_T_FLUSH_OUT[footnote:
1804+the FLUSH and FLUSH_OUT types are equivalent, the device does not
1805+distinguish between them
1806+]). If the device has VIRTIO_BLK_F_BARRIER feature the high bit
1807+(VIRTIO_BLK_T_BARRIER) indicates that this request acts as a
1808+barrier and that all preceeding requests must be complete before
1809+this one, and all following requests must not be started until
1810+this is complete. Note that a barrier does not flush caches in
1811+the underlying backend device in host, and thus does not serve as
1812+data consistency guarantee. Driver must use FLUSH request to
1813+flush the host cache.
1814+
1815+#define VIRTIO_BLK_T_IN 0
1816+
1817+#define VIRTIO_BLK_T_OUT 1
1818+
1819+#define VIRTIO_BLK_T_SCSI_CMD 2
1820+
1821+#define VIRTIO_BLK_T_SCSI_CMD_OUT 3
1822+
1823+#define VIRTIO_BLK_T_FLUSH 4
1824+
1825+#define VIRTIO_BLK_T_FLUSH_OUT 5
1826+
1827+#define VIRTIO_BLK_T_BARRIER 0x80000000
1828+
1829+The ioprio field is a hint about the relative priorities of
1830+requests to the device: higher numbers indicate more important
1831+requests.
1832+
1833+The sector number indicates the offset (multiplied by 512) where
1834+the read or write is to occur. This field is unused and set to 0
1835+for scsi packet commands and for flush commands.
1836+
1837+The cmd field is only present for scsi packet command requests,
1838+and indicates the command to perform. This field must reside in a

362 more lines aren’t shown here.

Documentation/watchdog/00-INDEX+2−0

This diff is large: its 9 lines aren’t shown here.

Documentation/watchdog/watchdog-kernel-api.txt+162−0

This diff is large: its 163 lines aren’t shown here.

MAINTAINERS+70−21

This diff is large: its 266 lines aren’t shown here.

Makefile+4−4

This diff is large: its 21 lines aren’t shown here.

arch/Kconfig+3−0

This diff is large: its 8 lines aren’t shown here.

arch/alpha/Kconfig+2−1

This diff is large: its 17 lines aren’t shown here.

arch/alpha/include/asm/atomic.h+5−7

This diff is large: its 46 lines aren’t shown here.

arch/alpha/include/asm/bitops.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/alpha/include/asm/local.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/alpha/include/asm/sysinfo.h+0−9

This diff is large: its 14 lines aren’t shown here.

arch/alpha/include/asm/thread_info.h+4−4

This diff is large: its 22 lines aren’t shown here.

arch/alpha/kernel/osf_sys.c+7−5

This diff is large: its 33 lines aren’t shown here.

arch/alpha/kernel/perf_event.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_alcor.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_cabriolet.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/alpha/kernel/sys_dp264.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/alpha/kernel/sys_eb64p.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_eiger.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_marvel.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_miata.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_mikasa.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_nautilus.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_noritake.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_rawhide.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_ruffian.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_rx164.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_sable.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/alpha/kernel/sys_sio.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/alpha/kernel/sys_sx164.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_takara.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/alpha/kernel/sys_titan.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/sys_wildfire.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/kernel/systbls.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/alpha/lib/dec_and_lock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/Kconfig+52−4

This diff is large: its 175 lines aren’t shown here.

arch/arm/Makefile+10−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/boot/Makefile+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/boot/compressed/mmcif-sh7372.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/boot/compressed/sdhi-sh7372.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/boot/dts/prima2-cb.dts+416−0

This diff is large: its 417 lines aren’t shown here.

arch/arm/boot/dts/skeleton.dtsi+13−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/boot/dts/tegra-harmony.dts+70−0

This diff is large: its 71 lines aren’t shown here.

arch/arm/boot/dts/tegra-seaboard.dts+28−0

This diff is large: its 29 lines aren’t shown here.

arch/arm/boot/dts/tegra20.dtsi+139−0

This diff is large: its 140 lines aren’t shown here.

arch/arm/boot/dts/versatile-ab.dts+192−0

This diff is large: its 193 lines aren’t shown here.

arch/arm/boot/dts/versatile-pb.dts+48−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/boot/dts/zynq-ep107.dts+52−0

This diff is large: its 53 lines aren’t shown here.

arch/arm/common/gic.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/arm/common/it8152.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/configs/mxs_defconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/configs/u8500_defconfig+24−8

This diff is large: its 101 lines aren’t shown here.

arch/arm/include/asm/atomic.h+3−7

This diff is large: its 30 lines aren’t shown here.

arch/arm/include/asm/bitops.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/arm/include/asm/clkdev.h+5−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/include/asm/hardware/cache-l2x0.h+8−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/include/asm/hardware/gic.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/include/asm/hardware/it8152.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/include/asm/irq.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/include/asm/mach/arch.h+7−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/include/asm/mach/pci.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/include/asm/pci.h+11−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/include/asm/pmu.h+5−5

This diff is large: its 40 lines aren’t shown here.

arch/arm/include/asm/prom.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/arm/include/asm/vga.h+3−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/kernel/armksyms.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/kernel/bios32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/calls.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/devtree.c+0−14

This diff is large: its 18 lines aren’t shown here.

arch/arm/kernel/irq.c+14−5

This diff is large: its 34 lines aren’t shown here.

arch/arm/kernel/iwmmxt.S+3−3

This diff is large: its 22 lines aren’t shown here.

arch/arm/kernel/module.c+4−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/kernel/pmu.c+13−13

This diff is large: its 69 lines aren’t shown here.

arch/arm/kernel/process.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/kernel/relocate_kernel.S+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/kernel/setup.c+8−7

This diff is large: its 27 lines aren’t shown here.

arch/arm/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/kernel/smp_twd.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/lib/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/lib/ecard.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/lib/io-readsw-armv3.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/lib/io-writesw-armv3.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/lib/sha1.S+0−211

This diff is large: its 212 lines aren’t shown here.

arch/arm/mach-at91/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/at91cap9.c+10−35

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-at91/at91rm9200.c+10−37

This diff is large: its 89 lines aren’t shown here.

arch/arm/mach-at91/at91sam9260.c+21−79

This diff is large: its 146 lines aren’t shown here.

arch/arm/mach-at91/at91sam9261.c+12−52

This diff is large: its 103 lines aren’t shown here.

arch/arm/mach-at91/at91sam9263.c+11−40

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-at91/at91sam9g45.c+10−35

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-at91/at91sam9rl.c+13−46

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-at91/board-1arm.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-afeb-9260v1.c+3−9

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-at91/board-cam60.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-cap9adk.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-carmeva.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-cpu9krea.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-cpuat91.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-csb337.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-csb637.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-eb9200.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-ecbat91.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-eco920.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-flexibity.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-foxg20.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-gsia18s.c+2−7

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-at91/board-kafa.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-kb9202.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-neocore926.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-pcontrol-g20.c+2−9

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-at91/board-picotux200.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-qil-a9260.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-rm9200dk.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-rm9200ek.c+3−8

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-at91/board-sam9-l9260.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-sam9260ek.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-sam9261ek.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-sam9263ek.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-sam9g20ek.c+5−11

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-at91/board-sam9m10g45ek.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-sam9rlek.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-snapper9260.c+3−8

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-stamp9g20.c+5−11

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-at91/board-usb-a9260.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-usb-a9263.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/board-yl-9200.c+3−9

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-at91/generic.h+11−23

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91_dbgu.h+15−12

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91cap9.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91rm9200.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9260.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9261.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9263.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9g45.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/at91sam9rl.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-at91/include/mach/cpu.h+89−70

This diff is large: its 254 lines aren’t shown here.

arch/arm/mach-at91/include/mach/debug-macro.S+7−7

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-at91/include/mach/hardware.h+14−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-at91/include/mach/io.h+10−1

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-at91/pm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-at91/setup.c+297−0

This diff is large: its 298 lines aren’t shown here.

arch/arm/mach-at91/soc.h+59−0

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-bcmring/dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-bcmring/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-bcmring/include/mach/hardware.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-cns3xxx/cns3420vb.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-cns3xxx/core.c+43−0

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-cns3xxx/core.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/entry-macro.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/hardware.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/pm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/system.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-cns3xxx/include/mach/uncompress.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-cns3xxx/pcie.c+5−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-cns3xxx/pm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-davinci/board-da850-evm.c+35−0

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-davinci/clock.c+3−5

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-davinci/clock.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-davinci/da850.c+10−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-davinci/devices-da8xx.c+126−0

This diff is large: its 144 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/clkdev.h+0−15

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/da8xx.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-davinci/include/mach/psc.h+3−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-davinci/psc.c+13−1

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-davinci/sleep.S+5−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-dove/include/mach/hardware.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-dove/pcie.c+4−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/clkdev.h+0−11

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/hardware.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ep93xx/include/mach/ts72xx.h+22−4

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-exynos4/Kconfig+29−1

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-exynos4/Makefile+4−7

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-exynos4/clock.c+62−1

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-exynos4/cpu.c+39−11

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-exynos4/dev-audio.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-exynos4/dev-dwmci.c+82−0

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-exynos4/hotplug.c+8−5

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/dwmci.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/entry-macro.S+5−6

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/irqs.h+99−96

This diff is large: its 223 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/map.h+16−3

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/pm-core.h+10−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/pmu.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/regs-audss.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/regs-clock.h+12−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-exynos4/include/mach/regs-pmu.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-exynos4/irq-eint.c+7−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-exynos4/localtimer.c+0−26

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-exynos4/mach-nuri.c+752−1

This diff is large: its 841 lines aren’t shown here.

arch/arm/mach-exynos4/mach-smdkc210.c+70−0

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-exynos4/mach-smdkv310.c+3−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-exynos4/mach-universal_c210.c+123−2

This diff is large: its 201 lines aren’t shown here.

arch/arm/mach-exynos4/mct.c+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-exynos4/platsmp.c+55−2

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-exynos4/pm.c+165−108

This diff is large: its 403 lines aren’t shown here.

arch/arm/mach-exynos4/pmu.c+175−0

This diff is large: its 176 lines aren’t shown here.

arch/arm/mach-exynos4/setup-fimd0.c+43−0

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-exynos4/setup-usb-phy.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-exynos4/time.c+0−301

This diff is large: its 302 lines aren’t shown here.

arch/arm/mach-footbridge/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-footbridge/cats-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/dc21285.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-footbridge/ebsa285-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/include/mach/hardware.h+0−5

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-footbridge/netwinder-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-footbridge/personal-pci.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-imx/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-imx/clock-imx1.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-imx/clock-imx21.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-imx/clock-imx25.c+14−9

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-imx/clock-imx27.c+8−7

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-imx/clock-imx31.c+7−6

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-imx/clock-imx35.c+10−8

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-imx/mach-cpuimx27.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mach-cpuimx35.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mach-eukrea_cpuimx25.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mach-imx27_visstrim_m10.c+13−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-imx/mach-mx25_3ds.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mach-mx27_3ds.c+92−1

This diff is large: its 159 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31ads.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-imx/mach-mx31lilly.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mach-pcm043.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-imx/mm-imx21.c+3−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-imx/mm-imx25.c+25−0

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-imx/mm-imx27.c+3−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-imx/mm-imx31.c+26−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-imx/mm-imx35.c+46−0

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-integrator/include/mach/hardware.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-integrator/integrator_ap.c+3−3

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-integrator/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-integrator/pci_v3.c+5−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-iop13xx/include/mach/hardware.h+0−7

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-iop13xx/iq81340mc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop13xx/pci.c+3−4

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-iop32x/em7210.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/glantank.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/include/mach/hardware.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-iop32x/iq31244.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-iop32x/iq80321.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop32x/n2100.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop33x/include/mach/hardware.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-iop33x/iq80331.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-iop33x/iq80332.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp2000/enp2611.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp2000/include/mach/hardware.h+0−8

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2400.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2800.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp2000/ixdp2x01.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp2000/pci.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ixp23xx/include/mach/hardware.h+0−4

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ixp23xx/ixdp2351.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp23xx/pci.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ixp23xx/roadrunner.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp4xx/avila-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/common-pci.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ixp4xx/coyote-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/dsmg600-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/fsg-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/gateway7001-pci.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ixp4xx/goramo_mlr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/gtwx5715-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/include/mach/hardware.h+0−5

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-ixp4xx/ixdp425-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/ixdpg425-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/nas100d-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/nslu2-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/vulcan-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ixp4xx/wg302v2-pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-kirkwood/include/mach/hardware.h+0−7

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-kirkwood/pcie.c+5−1

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-ks8695/board-dsm320.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/board-micrel.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/include/mach/devices.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ks8695/include/mach/hardware.h+0−9

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-ks8695/pci.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-lpc32xx/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-lpc32xx/common.c+42−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-lpc32xx/common.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-lpc32xx/include/mach/clkdev.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-mmp/Kconfig+7−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-mmp/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-mmp/clock.c+15−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-mmp/clock.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mmp/gplugd.c+197−0

This diff is large: its 198 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/mfp-pxa168.h+51−5

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/pxa168.h+8−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-mmp/include/mach/regs-apmu.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mmp/pxa168.c+6−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-mmp/time.c+44−18

This diff is large: its 110 lines aren’t shown here.

arch/arm/mach-mmp/ttc_dkb.c+30−1

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-msm/Kconfig+4−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-msm/Makefile+0−8

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-msm/gpio.c+0−376

This diff is large: its 377 lines aren’t shown here.

arch/arm/mach-msm/gpio_hw.h+0−278

This diff is large: its 279 lines aren’t shown here.

arch/arm/mach-msm/gpiomux.h+1−16

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_gpiomux.hrenamed from arch/arm/mach-msm/include/mach/clkdev.h+24−5

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-7x00.h+4−6

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-7x30.h+4−6

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-8x50.h+4−6

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap.h+2−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-msm/io.c+6−6

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/hardware.h+0−7

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-mv78xx0/pcie.c+5−1

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-mx5/Kconfig+14−0

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-mx5/Makefile+2−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mx5/board-cpuimx51.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_babbage.c+23−3

This diff is large: its 68 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_efikamx.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-mx5/board-mx51_efikasb.c+8−7

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_ard.c+254−0

This diff is large: its 255 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_evk.c+17−0

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-mx5/board-mx53_loco.c+36−3

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-mx5/clock-mx51-mx53.c+46−18

This diff is large: its 131 lines aren’t shown here.

arch/arm/mach-mx5/crm_regs.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mx5/devices-imx53.h+8−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-mx5/mm.c+44−0

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-mx5/mx51_efika.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-mx5/pm-imx5.c+73−0

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-mxs/Kconfig+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-mxs/mach-mx28evk.c+21−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-mxs/mach-tx28.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-nuc93x/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/clkdev.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap1/pm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/Kconfig+5−2

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-omap2/board-4430sdp.c+202−1

This diff is large: its 294 lines aren’t shown here.

arch/arm/mach-omap2/board-am3517crane.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/board-cm-t35.c+68−27

This diff is large: its 174 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3beagle.c+61−40

This diff is large: its 209 lines aren’t shown here.

arch/arm/mach-omap2/board-overo.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51-peripherals.c+144−3

This diff is large: its 233 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom-debugboard.c+9−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom-peripherals.c+5−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-omap2/clock.c+25−3

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-omap2/clock.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/clock2420_data.c+11−11

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-omap2/clock2430_data.c+16−16

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-omap2/clock3xxx_data.c+24−22

This diff is large: its 94 lines aren’t shown here.

arch/arm/mach-omap2/clock44xx_data.c+224−47

This diff is large: its 415 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.c+171−41

This diff is large: its 319 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.h+11−0

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain2xxx_3xxx.c+4−2

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain44xx.c+4−9

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains44xx_data.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/cm-regbits-44xx.h+36−0

This diff is large: its 92 lines aren’t shown here.

arch/arm/mach-omap2/cm44xx.h+1−7

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap2/cminst44xx.c+133−17

This diff is large: its 191 lines aren’t shown here.

arch/arm/mach-omap2/cminst44xx.h+31−2

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-omap2/devices.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/display.c+3−23

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-omap2/hsmmc.c+3−4

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-omap2/i2c.c+68−0

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-omap2/id.c+44−9

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/clkdev.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/iommu2.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/mux.c+4−10

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-omap2/omap-iommu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod.c+231−30

This diff is large: its 390 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2420_data.c+8−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2430_data.c+8−0

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+16−2

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_44xx_data.c+398−93

This diff is large: its 1501 lines aren’t shown here.

arch/arm/mach-omap2/pm.c+4−4

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain.c+16−9

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains44xx_data.c+5−4

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-omap2/prcm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/prm-regbits-44xx.h+8−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap2/prm44xx.c+1−144

This diff is large: its 163 lines aren’t shown here.

arch/arm/mach-omap2/prm44xx.h+0−10

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/prminst44xx.c+111−1

This diff is large: its 130 lines aren’t shown here.

arch/arm/mach-omap2/prminst44xx.h+10−2

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-omap2/smartreflex.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/timer.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/twl-common.c+44−40

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-orion5x/common.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/db88f5281-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/dns323-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/hardware.h+0−7

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-orion5x/kurobox_pro-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/mss2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/pci.c+4−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-ge-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5182-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/terastation_pro2-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/ts209-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/ts409-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/wnr854t-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/wrt350n-v2-setup.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-prima2/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-prima2/Makefile.boot+3−0

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-prima2/clock.c+510−0

This diff is large: its 511 lines aren’t shown here.

arch/arm/mach-prima2/common.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/clkdev.h+15−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/debug-macro.S+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/entry-macro.S+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/hardware.h+15−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/io.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/irqs.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/map.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/memory.h+21−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/system.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/timex.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/uart.h+23−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/uncompress.h+40−0

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/vmalloc.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-prima2/irq.c+72−0

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-prima2/l2x0.c+59−0

This diff is large: its 60 lines aren’t shown here.

arch/arm/mach-prima2/lluart.c+25−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-prima2/prima2.c+41−0

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-prima2/rstc.c+70−0

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-prima2/timer.c+218−0

This diff is large: its 219 lines aren’t shown here.

arch/arm/mach-pxa/balloon3.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/capc7117.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/clock.c+15−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pxa/clock.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/cm-x2xx-pci.c+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/cm-x2xx.c+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/cm-x300.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa270.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa300.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa320.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/corgi.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/csb726.c+2−2

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-pxa/em-x270.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/eseries.c+6−0

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-pxa/ezx.c+6−0

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-pxa/generic.h+0−13

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pxa/gumstix.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/h5000.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/himalaya.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/hx4700.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/icontrol.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/idp.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/hardware.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/irqs.h+12−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa25x.h+9−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa27x.h+5−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa300.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa320.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa3xx.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa930.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/regs-intc.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-pxa/irq.c+34−2

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-pxa/littleton.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/lpd270.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/lubbock.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/magician.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/mainstone.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/mioa701.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/mp900.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/palmld.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/palmt5.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/palmtc.c+2−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/palmte2.c+2−1

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-pxa/palmtreo.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/palmtx.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/palmz72.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/pcm027.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/poodle.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx.c+2−3

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/pxa95x.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/raumfeld.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-pxa/saar.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/saarb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/spitz.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/stargate2.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/tavorevb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/tavorevb3.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/tosa.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/trizeps4.c+2−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/viper.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/vpac270.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/xcep.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/z2.c+18−0

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-pxa/zeus.c+2−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/zylonite.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-realview/include/mach/system.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c2410/include/mach/pm-core.h+3−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-s3c2440/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/s3c2442.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/s3c244x-clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/Kconfig+23−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s3c64xx/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/irqs.h+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s3c64xx/include/mach/pm-core.h+18−1

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s3c64xx/irq.c+10−2

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-crag6410.c+774−0

This diff is large: its 775 lines aren’t shown here.

arch/arm/mach-s3c64xx/pm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5p64x0/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/irqs.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/include/mach/regs-gpio.h+10−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-s5p64x0/irq-eint.c+152−0

This diff is large: its 153 lines aren’t shown here.

arch/arm/mach-s5pv210/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5pv210/clock.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s5pv210/cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/dev-audio.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/map.h+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/pm-core.h+3−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-s5pv210/include/mach/regs-audss.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-goni.c+10−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-smdkv210.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-s5pv210/pm.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/hardware.h+0−8

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-sa1100/pci-nanoengine.c+6−1

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-shark/include/mach/hardware.h+0−6

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-shark/pci.c+11−3

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-shmobile/board-ag5evm.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-shmobile/board-ap4evb.c+5−8

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-shmobile/board-mackerel.c+11−7

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7367.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7372.c+24−11

This diff is large: its 112 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7377.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh73a0.c+1−5

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/sh7372.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh7372.c+3−4

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh7372.c+161−15

This diff is large: its 219 lines aren’t shown here.

arch/arm/mach-spear3xx/include/mach/clkdev.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-spear6xx/include/mach/clkdev.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-tegra/Kconfig+9−3

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-tegra/Makefile+3−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-tegra/Makefile.boot+3−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-tegra/board-dt.c+119−0

This diff is large: its 120 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.c+0−22

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00-pinmux.c+4−6

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.c+20−11

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.h+4−6

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/board-seaboard.c+2−24

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice-pinmux.c+5−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.c+56−0

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-tegra/devices.c+49−4

This diff is large: its 126 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/barriers.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/system.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-tegra/io.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-tegra/pcie.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-tegra/platsmp.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/tegra2_clocks.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-u300/spi.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-u300/timer.c+12−21

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-ux500/Kconfig+14−1

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-pins.c+43−0

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-regulators.c+8−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-sdi.c+44−17

This diff is large: its 112 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-uib.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.c+146−8

This diff is large: its 222 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-ux500/clock.c+48−0

This diff is large: its 69 lines aren’t shown here.

arch/arm/mach-ux500/cpu-db5500.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/uncompress.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-ux500/usb.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-versatile/Kconfig+8−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-versatile/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-versatile/core.c+62−0

This diff is large: its 90 lines aren’t shown here.

arch/arm/mach-versatile/core.h+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/hardware.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-versatile/pci.c+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-versatile/versatile_dt.c+51−0

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-vexpress/v2m.c+7−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-w90x900/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-zynq/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-zynq/Makefile.boot+3−0

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-zynq/common.c+118−0

This diff is large: its 119 lines aren’t shown here.

arch/arm/mach-zynq/common.hrenamed from arch/arm/mach-tegra/include/mach/hardware.h+8−12

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/clkdev.h+32−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/debug-macro.S+36−0

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/entry-macro.S+30−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/hardware.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/io.h+33−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/irqs.h+21−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/memory.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/system.hrenamed from arch/arm/mach-tegra/include/mach/clkdev.h+8−14

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/timex.h+23−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/uart.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/uncompress.h+51−0

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/vmalloc.h+20−0

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-zynq/include/mach/zynq_soc.h+48−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-zynq/timer.c+298−0

This diff is large: its 299 lines aren’t shown here.

arch/arm/mm/Kconfig+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/abort-macro.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/alignment.c+41−15

This diff is large: its 94 lines aren’t shown here.

arch/arm/mm/cache-l2x0.c+21−0

This diff is large: its 35 lines aren’t shown here.

arch/arm/mm/init.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/iomap.c+12−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/mm/proc-arm920.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm926.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-arm946.S+2−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mm/proc-sa1100.S+5−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/proc-v6.S+16−0

This diff is large: its 23 lines aren’t shown here.

arch/arm/mm/proc-v7.S+5−1

This diff is large: its 26 lines aren’t shown here.

arch/arm/mm/proc-xsc3.S+3−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-iop/pci.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/devices.c+15−1

This diff is large: its 24 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-fec.c+13−8

This diff is large: its 62 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-dma.c+13−191

This diff is large: its 221 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-i2c.c+2−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-keypad.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-ssi.c+10−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-uart.c+6−3

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c+21−8

This diff is large: its 81 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/debug-macro.S+8−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/devices-common.h+8−0

This diff is large: its 35 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/dma.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/esdhc.h+21−4

This diff is large: its 39 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx53.h+17−14

This diff is large: its 130 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx53.h+14−14

This diff is large: its 56 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/sdma.h+2−6

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/uncompress.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/irq-common.c+6−7

This diff is large: its 24 lines aren’t shown here.

arch/arm/plat-mxc/tzic.c+25−72

This diff is large: its 124 lines aren’t shown here.

arch/arm/plat-omap/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/clock.c+39−0

This diff is large: its 55 lines aren’t shown here.

arch/arm/plat-omap/dmtimer.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clkdev.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clkdev_omap.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clock.h+2−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-omap/include/plat/cpu.h+32−3

This diff is large: its 108 lines aren’t shown here.

arch/arm/plat-omap/include/plat/dma.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-omap/include/plat/i2c.h+5−1

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-omap/include/plat/irqs.h+11−2

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap4-keypad.h+2−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_hwmod.h+13−2

This diff is large: its 51 lines aren’t shown here.

arch/arm/plat-omap/include/plat/serial.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-omap/include/plat/uncompress.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/iovmm.c+3−6

This diff is large: its 37 lines aren’t shown here.

arch/arm/plat-omap/mcbsp.c+27−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-omap/omap_device.c+55−36

This diff is large: its 135 lines aren’t shown here.

arch/arm/plat-s5p/Kconfig+11−0

This diff is large: its 25 lines aren’t shown here.

arch/arm/plat-s5p/Makefile+2−1

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-s5p/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-s5p/dev-fimd0.c+67−0

This diff is large: its 68 lines aren’t shown here.

arch/arm/plat-s5p/dev-mfc.c+123−0

This diff is large: its 124 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/map-s5p.h+3−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-s5p/include/plat/mfc.h+27−0

This diff is large: its 28 lines aren’t shown here.

arch/arm/plat-s5p/irq-gpioint.c+6−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-samsung/adc.c+64−20

This diff is large: its 229 lines aren’t shown here.

arch/arm/plat-samsung/dev-asocdma.c+10−0

This diff is large: its 14 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/audio.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/backlight.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/devs.h+6−0

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb-core.h+15−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/fb.h+15−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-adc.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-samsung/irq-uart.c+7−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-samsung/irq-vic-timer.c+5−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-samsung/pm.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-spear/include/plat/clkdev.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/plat-tcc/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/tools/mach-types+4−4

This diff is large: its 29 lines aren’t shown here.

arch/avr32/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/avr32/include/asm/atomic.h+25−35

This diff is large: its 111 lines aren’t shown here.

arch/avr32/include/asm/ptrace.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/avr32/kernel/syscall_table.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/atomic.h+2−6

This diff is large: its 29 lines aren’t shown here.

arch/blackfin/include/asm/dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/ipipe.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/ftrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/ipipe.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/kernel/nmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-common/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/mach-common/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/drivers/sync_serial.c+3−3

This diff is large: its 23 lines aren’t shown here.

arch/cris/arch-v10/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v10/kernel/irq.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/cris/arch-v32/drivers/cryptocop.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/arch-v32/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v10/arch/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/arch-v32/arch/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/asm/atomic.h+2−4

This diff is large: its 26 lines aren’t shown here.

arch/cris/include/asm/bitops.h+2−3

This diff is large: its 19 lines aren’t shown here.

arch/cris/include/asm/serial.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/cris/include/asm/thread_info.h+3−3

This diff is large: its 21 lines aren’t shown here.

arch/cris/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/frv/include/asm/atomic.h+2−4

This diff is large: its 21 lines aren’t shown here.

arch/frv/include/asm/bitops.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/frv/include/asm/hardirq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/processor.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/frv/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/frv/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/kernel/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/kernel/process.c+1−4

This diff is large: its 12 lines aren’t shown here.

arch/frv/mm/pgalloc.c+1−7

This diff is large: its 15 lines aren’t shown here.

arch/h8300/include/asm/atomic.h+2−4

This diff is large: its 26 lines aren’t shown here.

arch/h8300/include/asm/posix_types.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/h8300/kernel/syscalls.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/Kconfig+5−1

This diff is large: its 27 lines aren’t shown here.

arch/ia64/configs/generic_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/ia64/include/asm/atomic.h+2−4

This diff is large: its 27 lines aren’t shown here.

arch/ia64/include/asm/bitops.h+1−2

This diff is large: its 10 lines aren’t shown here.

arch/ia64/include/asm/gpio.h+55−0

This diff is large: its 56 lines aren’t shown here.

arch/ia64/include/asm/processor.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/ia64/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/efi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/smpboot.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/uncached.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/atomic.h+4−6

This diff is large: its 37 lines aren’t shown here.

arch/m32r/include/asm/mmu_context.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/ptrace.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/kernel/syscall_table.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/Kconfig.mmu+0−6

This diff is large: its 13 lines aren’t shown here.

arch/m68k/amiga/chipram.c+63−73

This diff is large: its 182 lines aren’t shown here.

arch/m68k/atari/stram.c+69−285

This diff is large: its 420 lines aren’t shown here.

arch/m68k/include/asm/atari_stram.h+1−2

This diff is large: its 14 lines aren’t shown here.

arch/m68k/include/asm/atarihw.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/m68k/include/asm/atomic.h+2−5

This diff is large: its 28 lines aren’t shown here.

arch/m68k/include/asm/page_mm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/posix_types.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/kernel/setup_mm.c+2−0

This diff is large: its 10 lines aren’t shown here.

arch/m68k/kernel/syscalltable.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/math-emu/fp_log.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/m68k/math-emu/multi_arith.h+0−530

This diff is large: its 549 lines aren’t shown here.

arch/m68k/mm/init_mm.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/include/asm/cpuinfo.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/include/asm/irqflags.h+10−10

This diff is large: its 87 lines aren’t shown here.

arch/microblaze/include/asm/mmu_context_mm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/pci-bridge.h+10−54

This diff is large: its 80 lines aren’t shown here.

arch/microblaze/include/asm/processor.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/include/asm/prom.h+7−3

This diff is large: its 21 lines aren’t shown here.

arch/microblaze/include/asm/ptrace.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/pvr.h+3−2

This diff is large: its 27 lines aren’t shown here.

arch/microblaze/include/asm/setup.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-static.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo.c+4−0

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/mb.c+7−2

This diff is large: its 25 lines aren’t shown here.

arch/microblaze/kernel/early_printk.c+38−30

This diff is large: its 111 lines aren’t shown here.

arch/microblaze/kernel/hw_exception_handler.S+28−28

This diff is large: its 76 lines aren’t shown here.

arch/microblaze/kernel/intc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/process.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/prom.c+43−54

This diff is large: its 113 lines aren’t shown here.

arch/microblaze/kernel/setup.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/kernel/syscall_table.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/Kbuild.platforms+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/Makefile+0−12

This diff is large: its 19 lines aren’t shown here.

arch/mips/ar7/clock.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/ar7/platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/ar7/prom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/atomic.h+5−12

This diff is large: its 57 lines aren’t shown here.

arch/mips/include/asm/fixmap.h+1−9

This diff is large: its 24 lines aren’t shown here.

arch/mips/include/asm/gt64120.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/hw_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/irq.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/local.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/spaces.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/mach-generic/dma-coherence.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-generic/spaces.h+4−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-ip27/dma-coherence.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jazz/dma-coherence.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-loongson/dma-coherence.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-malta/cpu-feature-overrides.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h+59−0

This diff is large: its 60 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/dma-coherence.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-tx39xx/spaces.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/mach-tx49xx/spaces.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/pgtable.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/smp-ops.h+40−3

This diff is large: its 56 lines aren’t shown here.

arch/mips/include/asm/smp.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/smtc.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/uasm.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/unistd.h+12−9

This diff is large: its 66 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/irq_cpu.c+6−8

This diff is large: its 21 lines aren’t shown here.

arch/mips/kernel/mips-mt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/perf_event.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/process.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/rtlx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/scall32-o32.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/kernel/scall64-64.S+2−1

This diff is large: its 16 lines aren’t shown here.

arch/mips/kernel/scall64-n32.S+2−1

This diff is large: its 16 lines aren’t shown here.

arch/mips/kernel/scall64-o32.S+2−1

This diff is large: its 16 lines aren’t shown here.

arch/mips/kernel/smp-cmp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smp-mt.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smtc-proc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/sync-r4k.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/vpe.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/lantiq/clk.c+13−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/loongson/lemote-2f/ec_kb3310b.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/mipssim/sim_setup.c+9−9

This diff is large: its 35 lines aren’t shown here.

arch/mips/mipssim/sim_smtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/c-r4k.c+4−0

This diff is large: its 32 lines aren’t shown here.

arch/mips/mm/dma-default.c+68−46

This diff is large: its 217 lines aren’t shown here.

arch/mips/mm/init.c+4−4

This diff is large: its 24 lines aren’t shown here.

arch/mips/mm/mmap.c+170−23

This diff is large: its 244 lines aren’t shown here.

arch/mips/mm/pgtable-32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/mm/pgtable-64.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/mips/mm/tlbex.c+194−98

This diff is large: its 549 lines aren’t shown here.

arch/mips/mti-malta/malta-init.c+7−7

This diff is large: its 30 lines aren’t shown here.

arch/mips/mti-malta/malta-smtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/netlogic/Platform+11−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/netlogic/xlr/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/netlogic/xlr/smp.c+2−11

This diff is large: its 27 lines aren’t shown here.

arch/mips/nxp/pnx8550/common/setup.c+0−2

This diff is large: its 7 lines aren’t shown here.

arch/mips/pci/ops-nile4.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/pmc-sierra/msp71xx/msp_setup.c+3−5

This diff is large: its 17 lines aren’t shown here.

arch/mips/pnx8550/common/setup.c+0−2

This diff is large: its 7 lines aren’t shown here.

arch/mips/rb532/devices.c+9−15

This diff is large: its 38 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-nmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/sibyte/sb1250/irq.c+8−0

This diff is large: its 22 lines aren’t shown here.

arch/mn10300/include/asm/atomic.h+2−5

This diff is large: its 28 lines aren’t shown here.

arch/mn10300/include/asm/bitops.h+1−6

This diff is large: its 14 lines aren’t shown here.

arch/mn10300/include/asm/mmu_context.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/include/asm/processor.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/include/asm/system.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/kernel/entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/kernel/mn10300-watchdog.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/mm/misalignment.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/proc-mn2ws0050/proc-init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/openrisc/include/asm/dma-mapping.h+57−2

This diff is large: its 87 lines aren’t shown here.

arch/openrisc/include/asm/sigcontext.h+1−6

This diff is large: its 18 lines aren’t shown here.

arch/openrisc/kernel/dma.c+27−1

This diff is large: its 40 lines aren’t shown here.

arch/openrisc/kernel/signal.c+11−18

This diff is large: its 62 lines aren’t shown here.

arch/parisc/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/include/asm/atomic.h+7−13

This diff is large: its 66 lines aren’t shown here.

arch/parisc/include/asm/bitops.h+2−9

This diff is large: its 25 lines aren’t shown here.

arch/parisc/include/asm/futex.h+60−6

This diff is large: its 115 lines aren’t shown here.

arch/parisc/include/asm/mmu_context.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/parisc/include/asm/unistd.h+2−1

This diff is large: its 11 lines aren’t shown here.

arch/parisc/kernel/parisc_ksyms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/syscall_table.S+2−1

This diff is large: its 17 lines aren’t shown here.

arch/parisc/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/lib/bitops.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/p1023rds.dts+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/configs/85xx/p1023rds_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/corenet32_smp_defconfig+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/configs/corenet64_smp_defconfig+4−1

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/atomic.h+7−12

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/include/asm/bitops.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/include/asm/emulated_ops.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/jump_label.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/include/asm/kdump.h+0−10

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/include/asm/local.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/pci-bridge.h+1−49

This diff is large: its 60 lines aren’t shown here.

arch/powerpc/include/asm/pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/prom.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/reg.h+5−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/include/asm/systbl.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/system.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+6−5

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/kernel/iomap.c+2−0

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/kernel/machine_kexec.c+7−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/kernel/of_platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/pci-common.c+11−11

This diff is large: its 91 lines aren’t shown here.

arch/powerpc/kernel/pci_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/pci_64.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kernel/perf_callchain.c+17−3

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/kernel/ppc_ksyms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/prom_init.c+8−6

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/kernel/rtas.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/rtas_pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/rtasd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/smp-tbsync.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rmhandlers.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/40x/ep405.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/40x/ppc40x_simple.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/40x/walnut.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/44x/canyonlands.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/44x/ebony.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/44x/ppc44x_simple.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/44x/sam440ep.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/52xx/mpc52xx_pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/82xx/pq2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/km83xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/mpc832x_mds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/mpc834x_itx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/mpc834x_mds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/mpc836x_mds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/83xx/sbc834x.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_cds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/85xx/mpc85xx_mds.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/85xx/sbc8548.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/cpufreq_spudemand.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/cell/spufs/context.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/chrp/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/chrp/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/iseries/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/backlight.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powermac/pci.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/powermac/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/dtl.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/eeh_cache.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/hotplug-cpu.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/pseries/io_event_irq.c+3−5

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/platforms/pseries/kexec.c+22−12

This diff is large: its 43 lines aren’t shown here.

arch/powerpc/platforms/pseries/lpar.c+9−10

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/platforms/pseries/plpar_wrappers.h+6−6

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/platforms/pseries/setup.c+3−2

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/platforms/pseries/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/fsl_pci.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/sysdev/fsl_rio.c+3−2

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/sysdev/fsl_soc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/grackle.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_pci.c+4−3

This diff is large: its 35 lines aren’t shown here.

arch/powerpc/sysdev/tsi108_dev.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/Kconfig+5−4

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/atomic.h+2−5

This diff is large: its 28 lines aren’t shown here.

arch/s390/include/asm/bitops.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/s390/include/asm/ipl.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/s390/include/asm/lowcore.h+9−2

This diff is large: its 32 lines aren’t shown here.

arch/s390/include/asm/processor.h+0−2

This diff is large: its 15 lines aren’t shown here.

arch/s390/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/system.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/kernel/asm-offsets.c+4−6

This diff is large: its 24 lines aren’t shown here.

arch/s390/kernel/base.S+36−0

This diff is large: its 43 lines aren’t shown here.

arch/s390/kernel/compat_signal.c+12−31

This diff is large: its 92 lines aren’t shown here.

arch/s390/kernel/compat_wrapper.S+0−6

This diff is large: its 13 lines aren’t shown here.

arch/s390/kernel/dis.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/early.c+8−6

This diff is large: its 26 lines aren’t shown here.

arch/s390/kernel/entry.S+28−0

This diff is large: its 35 lines aren’t shown here.

arch/s390/kernel/entry64.S+20−0

This diff is large: its 27 lines aren’t shown here.

arch/s390/kernel/ipl.c+47−3

This diff is large: its 122 lines aren’t shown here.

arch/s390/kernel/reipl64.S+60−20

This diff is large: its 107 lines aren’t shown here.

arch/s390/kernel/setup.c+24−1

This diff is large: its 53 lines aren’t shown here.

arch/s390/kernel/signal.c+19−42

This diff is large: its 111 lines aren’t shown here.

arch/s390/kernel/smp.c+16−8

This diff is large: its 48 lines aren’t shown here.

arch/s390/kernel/syscalls.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/mm/maccess.c+16−0

This diff is large: its 20 lines aren’t shown here.

arch/s390/mm/pgtable.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/boards/board-apsh4a3a.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/board-apsh4ad0a.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/board-sh7785lcr.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/board-urquell.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-ap325rxa/setup.c+7−8

This diff is large: its 41 lines aren’t shown here.

arch/sh/boards/mach-highlander/setup.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-sdk7786/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-cayman.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-dreamcast.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-landisk.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-r7780rp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-rts7751r2d.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-sdk7780.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-se7751.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-sh03.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-snapgear.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/fixups-titan.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/drivers/pci/pcie-sh7786.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/atomic.h+4−8

This diff is large: its 44 lines aren’t shown here.

arch/sh/include/asm/hw_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/ptrace.h+1−3

This diff is large: its 18 lines aren’t shown here.

arch/sh/include/asm/smp.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/cpu-sh3/cpu/serial.h+10−0

This diff is large: its 11 lines aren’t shown here.

arch/sh/include/cpu-sh4a/cpu/serial.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/cpu/clock-cpg.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/Makefile+9−9

This diff is large: its 25 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/serial-sh770x.c+33−0

This diff is large: its 34 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/serial-sh7710.c+20−0

This diff is large: its 21 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/serial-sh7720.c+37−0

This diff is large: its 38 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh7705.c+5−0

This diff is large: its 26 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh770x.c+9−0

This diff is large: its 47 lines aren’t shown here.

arch/sh/kernel/cpu/sh3/setup-sh7720.c+5−0

This diff is large: its 26 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/clock-sh4-202.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/setup-sh7750.c+3−1

This diff is large: its 21 lines aren’t shown here.

arch/sh/kernel/cpu/sh4/setup-sh7760.c+4−0

This diff is large: its 32 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7343.c+8−25

This diff is large: its 50 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7366.c+6−19

This diff is large: its 41 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7722.c+11−35

This diff is large: its 63 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7723.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7724.c+18−66

This diff is large: its 105 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7757.c+7−29

This diff is large: its 50 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7763.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7780.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7785.c+15−64

This diff is large: its 99 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-sh7786.c+21−94

This diff is large: its 136 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/clock-shx3.c+13−54

This diff is large: its 85 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/serial-sh7722.c+23−0

This diff is large: its 24 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7366.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7722.c+7−0

This diff is large: its 35 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7723.c+9−0

This diff is large: its 66 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7724.c+9−0

This diff is large: its 66 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7757.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7763.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7780.c+2−1

This diff is large: its 24 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7785.c+6−2

This diff is large: its 58 lines aren’t shown here.

arch/sh/kernel/cpu/sh4a/setup-sh7786.c+7−1

This diff is large: its 57 lines aren’t shown here.

arch/sh/kernel/idle.c+5−3

This diff is large: its 26 lines aren’t shown here.

arch/sh/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/syscalls_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/syscalls_64.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/traps_32.c+37−0

This diff is large: its 72 lines aren’t shown here.

arch/sh/kernel/traps_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/kernel/unwinder.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/Kbuild+5−0

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/atomic_32.h+1−3

This diff is large: its 23 lines aren’t shown here.

arch/sparc/include/asm/atomic_64.h+2−4

This diff is large: its 27 lines aren’t shown here.

arch/sparc/include/asm/bitops_64.h+9−45

This diff is large: its 82 lines aren’t shown here.

arch/sparc/include/asm/div64.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/sparc/include/asm/elf_64.h+29−34

This diff is large: its 77 lines aren’t shown here.

arch/sparc/include/asm/hypervisor.h+14−0

This diff is large: its 38 lines aren’t shown here.

arch/sparc/include/asm/irq_regs.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/sparc/include/asm/leon_pci.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/local.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/sparc/include/asm/local64.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/sparc/include/asm/prom.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/ptrace.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/sparc/include/asm/sigcontext.h+14−0

This diff is large: its 28 lines aren’t shown here.

arch/sparc/include/asm/smp_32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/smp_64.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/spinlock_32.h+9−2

This diff is large: its 25 lines aren’t shown here.

arch/sparc/include/asm/spinlock_64.h+0−6

This diff is large: its 15 lines aren’t shown here.

arch/sparc/include/asm/spitfire.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/include/asm/tsb.h+24−27

This diff is large: its 88 lines aren’t shown here.

arch/sparc/include/asm/xor_64.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/cpu.c+8−0

This diff is large: its 27 lines aren’t shown here.

arch/sparc/kernel/cpumap.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/ds.c+29−2

This diff is large: its 68 lines aren’t shown here.

arch/sparc/kernel/entry.h+14−0

This diff is large: its 21 lines aren’t shown here.

arch/sparc/kernel/head_64.S+32−1

This diff is large: its 75 lines aren’t shown here.

arch/sparc/kernel/hvapi.c+7−0

This diff is large: its 24 lines aren’t shown here.

arch/sparc/kernel/hvcalls.S+7−0

This diff is large: its 11 lines aren’t shown here.

arch/sparc/kernel/ioport.c+7−25

This diff is large: its 67 lines aren’t shown here.

arch/sparc/kernel/irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/irq_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/kernel.h+15−0

This diff is large: its 28 lines aren’t shown here.

arch/sparc/kernel/ktlb.S+12−12

This diff is large: its 74 lines aren’t shown here.

arch/sparc/kernel/leon_pci_grpci2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/leon_smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/mdesc.c+23−7

This diff is large: its 74 lines aren’t shown here.

arch/sparc/kernel/pcic.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/sparc/kernel/pcr.c+9−2

This diff is large: its 25 lines aren’t shown here.

arch/sparc/kernel/perf_event.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/sparc/kernel/setup_64.c+192−0

This diff is large: its 227 lines aren’t shown here.

arch/sparc/kernel/signal32.c+105−79

This diff is large: its 346 lines aren’t shown here.

arch/sparc/kernel/signal_32.c+79−93

This diff is large: its 305 lines aren’t shown here.

arch/sparc/kernel/signal_64.c+47−61

This diff is large: its 193 lines aren’t shown here.

arch/sparc/kernel/sigutil.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/sparc/kernel/sigutil_32.c+120−0

This diff is large: its 121 lines aren’t shown here.

arch/sparc/kernel/sigutil_64.c+93−0

This diff is large: its 94 lines aren’t shown here.

arch/sparc/kernel/smp_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/smp_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/sparc_ksyms_64.c+11−0

This diff is large: its 24 lines aren’t shown here.

arch/sparc/kernel/sstate.c+2−7

This diff is large: its 17 lines aren’t shown here.

arch/sparc/kernel/sys32.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/kernel/systbls_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/systbls_64.S+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/unaligned_64.c+4−11

This diff is large: its 39 lines aren’t shown here.

arch/sparc/kernel/vmlinux.lds.S+20−1

This diff is large: its 28 lines aren’t shown here.

arch/sparc/lib/Makefile+2−2

This diff is large: its 16 lines aren’t shown here.

arch/sparc/lib/NG2page.S+0−61

This diff is large: its 62 lines aren’t shown here.

arch/sparc/lib/NGpage.S+75−39

This diff is large: its 131 lines aren’t shown here.

arch/sparc/lib/atomic32.c+4−4

This diff is large: its 30 lines aren’t shown here.

arch/sparc/lib/ffs.S+84−0

This diff is large: its 85 lines aren’t shown here.

arch/sparc/lib/hweight.S+51−0

This diff is large: its 52 lines aren’t shown here.

arch/sparc/mm/init_64.c+41−1

This diff is large: its 57 lines aren’t shown here.

arch/tile/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/tile/include/asm/Kbuild+38−0

This diff is large: its 42 lines aren’t shown here.

arch/tile/include/asm/atomic.h+0−14

This diff is large: its 26 lines aren’t shown here.

arch/tile/include/asm/atomic_32.h+7−7

This diff is large: its 50 lines aren’t shown here.

arch/tile/include/asm/atomic_64.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/tile/include/asm/bitops_32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/asm/bitops_64.h+2−5

This diff is large: its 20 lines aren’t shown here.

arch/tile/include/asm/bug.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/bugs.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/cputime.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/device.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/div64.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/emergency-restart.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/errno.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/fb.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/fcntl.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/fixmap.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/tile/include/asm/ioctl.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/ioctls.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/ipc.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/ipcbuf.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/irq_regs.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/kdebug.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/local.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/module.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/msgbuf.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/mutex.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/param.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/parport.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/poll.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/posix_types.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/ptrace.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/asm/resource.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/scatterlist.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/sembuf.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/serial.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/shmbuf.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/shmparam.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/socket.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/sockios.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/spinlock_32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/include/asm/statfs.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/termbits.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/termios.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/types.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/ucontext.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/asm/xor.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/tile/include/hv/drv_srom_intf.h+41−0

This diff is large: its 42 lines aren’t shown here.

arch/tile/kernel/intvec_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/kernel/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/kernel/time.c+1−4

This diff is large: its 26 lines aren’t shown here.

arch/tile/lib/atomic_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/lib/atomic_asm_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/mm/init.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/um/Kconfig.x86+4−0

This diff is large: its 11 lines aren’t shown here.

arch/um/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/drivers/line.c+36−25

This diff is large: its 154 lines aren’t shown here.

arch/um/drivers/xterm.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/include/asm/ptrace-generic.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/um/include/shared/line.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/include/shared/registers.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/kernel/ptrace.c+0−28

This diff is large: its 54 lines aren’t shown here.

arch/um/os-Linux/registers.c+8−1

This diff is large: its 33 lines aren’t shown here.

arch/um/os-Linux/skas/mem.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/um/os-Linux/skas/process.c+18−1

This diff is large: its 50 lines aren’t shown here.

arch/um/sys-i386/asm/ptrace.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/um/sys-i386/ptrace.c+23−5

This diff is large: its 61 lines aren’t shown here.

arch/um/sys-i386/shared/sysdep/ptrace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/um/sys-x86_64/ptrace.c+8−4

This diff is large: its 37 lines aren’t shown here.

arch/um/sys-x86_64/shared/sysdep/ptrace.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/kernel/pci.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/Kconfig+40−6

This diff is large: its 67 lines aren’t shown here.

arch/x86/ia32/ia32entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/ia32/sys_ia32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/apic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/atomic.h+4−6

This diff is large: its 37 lines aren’t shown here.

arch/x86/include/asm/atomic64_32.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/atomic64_64.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/bitops.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/desc.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/include/asm/hw_irq.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/io.h+1−2

This diff is large: its 17 lines aren’t shown here.

arch/x86/include/asm/irq_vectors.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/kdebug.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/local.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/mce.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/mmu_context.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/olpc.h+40−11

This diff is large: its 95 lines aren’t shown here.

arch/x86/include/asm/paravirt_types.h+6−0

This diff is large: its 20 lines aren’t shown here.

arch/x86/include/asm/processor.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/prom.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/ptrace.h+19−0

This diff is large: its 33 lines aren’t shown here.

arch/x86/include/asm/pvclock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/thread_info.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/traps.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/include/asm/unistd_64.h+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/vsyscall.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/x86/include/asm/xen/page.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/Makefile+0−13

This diff is large: its 20 lines aren’t shown here.

arch/x86/kernel/acpi/cstate.c+23−0

This diff is large: its 30 lines aren’t shown here.

arch/x86/kernel/amd_gart_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/apic/apic.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/apic/es7000_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/apic/x2apic_uv_x.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/cpu/common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/mtrr/main.c+0−2

This diff is large: its 16 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/cpu/perf_event_intel.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/entry_32.S+2−6

This diff is large: its 22 lines aren’t shown here.

arch/x86/kernel/entry_64.S+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/kernel/i8259.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/irqinit.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/paravirt.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/kernel/process.c+0−23

This diff is large: its 30 lines aren’t shown here.

arch/x86/kernel/process_32.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/process_64.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/kernel/step.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/syscall_table_32.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/traps.c+1−7

This diff is large: its 22 lines aren’t shown here.

arch/x86/kernel/vmlinux.lds.S+6−35

This diff is large: its 59 lines aren’t shown here.

arch/x86/kernel/vsyscall_64.c+54−36

This diff is large: its 162 lines aren’t shown here.

arch/x86/kernel/vsyscall_emu_64.S+23−13

This diff is large: its 45 lines aren’t shown here.

arch/x86/kernel/vsyscall_trace.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/x86/kvm/Kconfig+3−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/kvm/lapic.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/lib/atomic64_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/mm/fault.c+14−1

This diff is large: its 36 lines aren’t shown here.

arch/x86/mm/mmio-mod.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/pci/acpi.c+17−4

This diff is large: its 35 lines aren’t shown here.

arch/x86/pci/ce4100.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/pci/common.c+7−7

This diff is large: its 28 lines aren’t shown here.

arch/x86/pci/direct.c+4−2

This diff is large: its 34 lines aren’t shown here.

arch/x86/pci/numaq_32.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/pci/olpc.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/pci/pcbios.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/pci/visws.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/mrst/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/x86/platform/mrst/mrst.c+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/platform/mrst/pmu.c+817−0

This diff is large: its 818 lines aren’t shown here.

arch/x86/platform/mrst/pmu.h+234−0

This diff is large: its 235 lines aren’t shown here.

arch/x86/platform/olpc/Makefile+4−1

This diff is large: its 7 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo1-pm.c+215−0

This diff is large: its 216 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo1-rtc.c+81−0

This diff is large: its 82 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo1-sci.c+614−0

This diff is large: its 615 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo1.c+0−146

This diff is large: its 147 lines aren’t shown here.

arch/x86/platform/olpc/olpc-xo15-sci.c+168−0

This diff is large: its 169 lines aren’t shown here.

arch/x86/platform/olpc/olpc.c+97−2

This diff is large: its 153 lines aren’t shown here.

arch/x86/platform/olpc/olpc_dt.c+103−0

This diff is large: its 117 lines aren’t shown here.

arch/x86/platform/olpc/xo1-wakeup.S+124−0

This diff is large: its 125 lines aren’t shown here.

arch/x86/vdso/vdso.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/vdso/vdso32/sysenter.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/Makefile+3−1

This diff is large: its 11 lines aren’t shown here.

arch/x86/xen/enlighten.c+6−2

This diff is large: its 22 lines aren’t shown here.

arch/x86/xen/mmu.c+11−5

This diff is large: its 42 lines aren’t shown here.

arch/x86/xen/setup.c+25−7

This diff is large: its 86 lines aren’t shown here.

arch/x86/xen/smp.c+12−2

This diff is large: its 42 lines aren’t shown here.

arch/x86/xen/time.c+3−2

This diff is large: its 13 lines aren’t shown here.

arch/x86/xen/trace.c+1−0

This diff is large: its 6 lines aren’t shown here.

arch/x86/xen/xen-asm_32.S+5−3

This diff is large: its 17 lines aren’t shown here.

arch/xtensa/include/asm/atomic.h+4−6

This diff is large: its 39 lines aren’t shown here.

arch/xtensa/include/asm/bitops.h+1−13

This diff is large: its 21 lines aren’t shown here.

arch/xtensa/include/asm/posix_types.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/include/asm/ptrace.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/xtensa/include/asm/unistd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/xtensa/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/Kconfig+10−0

This diff is large: its 17 lines aren’t shown here.

block/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

block/blk-core.c+23−19

This diff is large: its 108 lines aren’t shown here.

block/blk-flush.c+19−6

This diff is large: its 70 lines aren’t shown here.

block/blk-softirq.c+8−0

This diff is large: its 15 lines aren’t shown here.

block/blk-throttle.c+2−2

This diff is large: its 18 lines aren’t shown here.

block/blk-timeout.c+4−1

This diff is large: its 12 lines aren’t shown here.

block/blk.h+2−0

This diff is large: its 9 lines aren’t shown here.

block/bsg-lib.c+298−0

This diff is large: its 299 lines aren’t shown here.

block/cfq-iosched.c+21−0

This diff is large: its 63 lines aren’t shown here.

block/genhd.c+4−4

This diff is large: its 22 lines aren’t shown here.

crypto/af_alg.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/md5.c+1−91

This diff is large: its 101 lines aren’t shown here.

crypto/proc.c+1−1

This diff is large: its 9 lines aren’t shown here.

crypto/rng.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acconfig.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acglobal.h+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/acpi/acpica/aclocal.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/acpredef.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/acpica/nspredef.c+13−6

This diff is large: its 35 lines aren’t shown here.

drivers/acpi/acpica/nsrepair2.c+15−0

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/acpica/tbinstal.c+22−5

This diff is large: its 35 lines aren’t shown here.

drivers/acpi/apei/Kconfig+11−1

This diff is large: its 28 lines aren’t shown here.

drivers/acpi/apei/apei-base.c+31−4

This diff is large: its 55 lines aren’t shown here.

drivers/acpi/apei/apei-internal.h+14−1

This diff is large: its 27 lines aren’t shown here.

drivers/acpi/apei/einj.c+26−17

This diff is large: its 92 lines aren’t shown here.

drivers/acpi/apei/erst-dbg.c+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/acpi/apei/erst.c+21−11

This diff is large: its 109 lines aren’t shown here.

drivers/acpi/apei/ghes.c+403−28

This diff is large: its 583 lines aren’t shown here.

drivers/acpi/apei/hest.c+9−8

This diff is large: its 26 lines aren’t shown here.

drivers/acpi/battery.c+54−32

This diff is large: its 199 lines aren’t shown here.

drivers/acpi/bus.c+12−2

This diff is large: its 38 lines aren’t shown here.

drivers/acpi/dock.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/ec_sys.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/fan.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/osl.c+23−2

This diff is large: its 48 lines aren’t shown here.

drivers/acpi/pci_irq.c+58−0

This diff is large: its 72 lines aren’t shown here.

drivers/acpi/pci_root.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/acpi/processor_thermal.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/sbs.c+11−2

This diff is large: its 46 lines aren’t shown here.

drivers/acpi/sleep.c+16−0

This diff is large: its 23 lines aren’t shown here.

drivers/acpi/sysfs.c+2−2

This diff is large: its 15 lines aren’t shown here.

drivers/acpi/thermal.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/video.c+5−4

This diff is large: its 37 lines aren’t shown here.

drivers/ata/Kconfig+9−0

This diff is large: its 16 lines aren’t shown here.

drivers/ata/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/ata/libata-acpi.c+2−2

This diff is large: its 15 lines aren’t shown here.

drivers/ata/pata_imx.c+253−0

This diff is large: its 254 lines aren’t shown here.

drivers/ata/pata_via.c+18−0

This diff is large: its 32 lines aren’t shown here.

drivers/ata/sata_dwc_460ex.c+6−8

This diff is large: its 30 lines aren’t shown here.

drivers/ata/sata_sil.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/ambassador.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/atmtcp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/eni.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/eni.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/firestream.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/fore200e.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/horizon.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/idt77252.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/iphase.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/nicstar.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/suni.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/uPD98402.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/atm/zatm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/devres.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/base/devtmpfs.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/base/firmware_class.c+6−5

This diff is large: its 25 lines aren’t shown here.

drivers/base/memory.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/platform.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/power/clock_ops.c+22−18

This diff is large: its 170 lines aren’t shown here.

drivers/base/power/domain.c+16−17

This diff is large: its 58 lines aren’t shown here.

drivers/base/power/opp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/power/runtime.c+8−2

This diff is large: its 20 lines aren’t shown here.

drivers/base/power/sysfs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/regmap/regmap-i2c.c+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/base/regmap/regmap-spi.c+3−0

This diff is large: its 14 lines aren’t shown here.

drivers/base/regmap/regmap.c+2−5

This diff is large: its 32 lines aren’t shown here.

drivers/bcma/main.c+12−0

This diff is large: its 33 lines aren’t shown here.

drivers/block/Kconfig+16−1

This diff is large: its 31 lines aren’t shown here.

drivers/block/cciss_scsi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/drbd/drbd_nl.c+2−2

This diff is large: its 13 lines aren’t shown here.

drivers/block/loop.c+206−91

This diff is large: its 450 lines aren’t shown here.

drivers/block/rbd.c+45−1

This diff is large: its 74 lines aren’t shown here.

drivers/block/swim3.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/block/xen-blkfront.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/bluetooth/ath3k.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/bluetooth/btusb.c+10−3

This diff is large: its 41 lines aren’t shown here.

drivers/cdrom/cdrom.c+7−1

This diff is large: its 19 lines aren’t shown here.

drivers/char/Kconfig+11−0

This diff is large: its 17 lines aren’t shown here.

drivers/char/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/char/hw_random/n2-drv.c+17−12

This diff is large: its 84 lines aren’t shown here.

drivers/char/hw_random/n2rng.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/ipmi/ipmi_watchdog.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/msm_smd_pkt.c+2−3

This diff is large: its 12 lines aren’t shown here.

drivers/char/mspec.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/ramoops.c+78−23

This diff is large: its 197 lines aren’t shown here.

drivers/char/random.c+8−341

This diff is large: its 372 lines aren’t shown here.

drivers/char/tile-srom.c+481−0

This diff is large: its 482 lines aren’t shown here.

drivers/char/tpm/tpm.c+76−26

This diff is large: its 166 lines aren’t shown here.

drivers/char/tpm/tpm.h+7−0

This diff is large: its 29 lines aren’t shown here.

drivers/char/tpm/tpm_nsc.c+7−7

This diff is large: its 31 lines aren’t shown here.

drivers/char/tpm/tpm_tis.c+161−18

This diff is large: its 359 lines aren’t shown here.

drivers/clk/Kconfig+3−0

This diff is large: its 7 lines aren’t shown here.

drivers/clocksource/sh_cmt.c+32−2

This diff is large: its 63 lines aren’t shown here.

drivers/connector/cn_proc.c+8−3

This diff is large: its 32 lines aren’t shown here.

drivers/cpufreq/cpufreq.c+20−0

This diff is large: its 27 lines aren’t shown here.

drivers/cpufreq/pcc-cpufreq.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/cpuidle/cpuidle.c+31−19

This diff is large: its 115 lines aren’t shown here.

drivers/cpuidle/cpuidle.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpuidle/driver.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/cpuidle/governor.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/crypto/n2_core.c+18−15

This diff is large: its 79 lines aren’t shown here.

drivers/dma/TODO+0−1

This diff is large: its 7 lines aren’t shown here.

drivers/dma/amba-pl08x.c+125−122

This diff is large: its 451 lines aren’t shown here.

drivers/dma/at_hdmac.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/coh901318.c+12−7

This diff is large: its 52 lines aren’t shown here.

drivers/dma/dmaengine.c+3−5

This diff is large: its 31 lines aren’t shown here.

drivers/dma/ep93xx_dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/dma/imx-sdma.c+75−25

This diff is large: its 208 lines aren’t shown here.

drivers/dma/intel_mid_dma.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/dma/ioat/dma_v3.c+4−4

This diff is large: its 15 lines aren’t shown here.

drivers/dma/ioat/pci.c+11−0

This diff is large: its 18 lines aren’t shown here.

drivers/dma/ipu/ipu_idmac.c+2−4

This diff is large: its 19 lines aren’t shown here.

drivers/dma/mv_xor.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/dma/mxs-dma.c+9−4

This diff is large: its 34 lines aren’t shown here.

drivers/dma/pch_dma.c+94−33

This diff is large: its 285 lines aren’t shown here.

drivers/dma/pl330.c+36−28

This diff is large: its 126 lines aren’t shown here.

drivers/dma/shdma.c+62−26

This diff is large: its 195 lines aren’t shown here.

drivers/dma/shdma.h+4−0

This diff is large: its 15 lines aren’t shown here.

drivers/dma/ste_dma40.c+184−128

This diff is large: its 505 lines aren’t shown here.

drivers/dma/ste_dma40_ll.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/edac/edac_stub.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/i7core_edac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/mpc85xx_edac.c+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/eisa/pci_eisa.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/firewire/core-card.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/core-cdev.c+21−3

This diff is large: its 37 lines aren’t shown here.

drivers/firewire/core-device.c+11−6

This diff is large: its 35 lines aren’t shown here.

drivers/firewire/core-topology.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/core.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/nosy.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/ohci.c+7−2

This diff is large: its 16 lines aren’t shown here.

drivers/firewire/sbp2.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/firmware/efivars.c+231−12

This diff is large: its 338 lines aren’t shown here.

drivers/firmware/google/gsmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/Kconfig+22−0

This diff is large: its 36 lines aren’t shown here.

drivers/gpio/Makefile+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpio-ab8500.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/gpio/gpio-generic.c+5−10

This diff is large: its 29 lines aren’t shown here.

drivers/gpio/gpio-msm-v1.c+636−0

This diff is large: its 637 lines aren’t shown here.

drivers/gpio/gpio-msm-v2.crenamed from arch/arm/mach-msm/gpio-v2.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpio/gpio-tps65912.c+156−0

This diff is large: its 157 lines aren’t shown here.

drivers/gpu/drm/drm_crtc.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/drm_crtc_helper.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/drm_debugfs.c+3−1

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/drm_edid.c+29−8

This diff is large: its 72 lines aren’t shown here.

drivers/gpu/drm/drm_fb_helper.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_gem.c+43−4

This diff is large: its 104 lines aren’t shown here.

drivers/gpu/drm/drm_irq.c+18−8

This diff is large: its 58 lines aren’t shown here.

drivers/gpu/drm/drm_modes.c+60−27

This diff is large: its 153 lines aren’t shown here.

drivers/gpu/drm/drm_platform.c+3−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/i915/i915_debugfs.c+230−2

This diff is large: its 288 lines aren’t shown here.

drivers/gpu/drm/i915/i915_dma.c+5−5

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.c+53−16

This diff is large: its 105 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.h+31−20

This diff is large: its 147 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem.c+166−27

This diff is large: its 273 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.c+22−17

This diff is large: its 54 lines aren’t shown here.

drivers/gpu/drm/i915/i915_irq.c+16−6

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/i915/i915_reg.h+46−13

This diff is large: its 176 lines aren’t shown here.

drivers/gpu/drm/i915/i915_suspend.c+8−5

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.c+83−59

This diff is large: its 188 lines aren’t shown here.

drivers/gpu/drm/i915/intel_display.c+751−263

This diff is large: its 1579 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp.c+86−49

This diff is large: its 323 lines aren’t shown here.

drivers/gpu/drm/i915/intel_drv.h+34−1

This diff is large: its 83 lines aren’t shown here.

drivers/gpu/drm/i915/intel_hdmi.c+141−25

This diff is large: its 232 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lvds.c+43−47

This diff is large: its 183 lines aren’t shown here.

drivers/gpu/drm/i915/intel_opregion.c+11−5

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/i915/intel_overlay.c+1−5

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/i915/intel_panel.c+75−1

This diff is large: its 99 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.c+11−2

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/i915/intel_tv.c+26−20

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_bios.c+44−6

This diff is large: its 80 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_bo.c+116−116

This diff is large: its 364 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_channel.c+80−87

This diff is large: its 290 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_connector.c+19−15

This diff is large: its 89 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_dma.c+6−1

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_drv.c+17−6

This diff is large: its 66 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_drv.h+54−24

This diff is large: its 245 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_fb.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_fbcon.c+13−2

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_fence.c+15−17

This diff is large: its 113 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_gem.c+108−40

This diff is large: its 229 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_mem.c+24−95

This diff is large: its 203 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_mm.c+9−2

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_mm.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_notifier.c+15−5

This diff is large: its 71 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_object.c+68−30

This diff is large: its 182 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_sgdma.c+7−4

This diff is large: its 40 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_state.c+96−18

This diff is large: its 281 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_temp.c+11−4

This diff is large: its 43 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_vm.c+12−9

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/nouveau/nouveau_vm.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_crtc.c+14−3

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_graph.c+8−14

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv04_instmem.c+27−1

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv10_graph.c+10−5

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv20_graph.c+10−3

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv40_graph.c+20−92

This diff is large: its 137 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv40_mpeg.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_crtc.c+15−7

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_display.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_evo.c+5−5

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_fbcon.c+5−5

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_graph.c+6−3

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_instmem.c+4−4

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_mpeg.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_sor.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_vm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv50_vram.c+25−16

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/nouveau/nv84_crypt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nva3_copy.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_copy.c+4−4

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_fb.c+66−2

This diff is large: its 89 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_fbcon.c+7−7

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_fifo.c+2−2

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_graph.c+191−79

This diff is large: its 480 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_graph.fuc+400−0

This diff is large: its 401 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_graph.h+22−2

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grctx.c+86−153

This diff is large: its 389 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grgpc.fuc+474−0

This diff is large: its 475 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grgpc.fuc.h+483−0

This diff is large: its 484 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grhub.fuc+808−0

This diff is large: its 809 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_grhub.fuc.h+838−0

This diff is large: its 839 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_instmem.c+3−11

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_vm.c+5−1

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/nvc0_vram.c+9−5

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/radeon/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/radeon/atom.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/radeon/atombios_crtc.c+2−3

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/radeon/atombios_dp.c+30−4

This diff is large: its 83 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreen.c+33−4

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreen_cs.c+57−2

This diff is large: its 87 lines aren’t shown here.

drivers/gpu/drm/radeon/evergreend.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/radeon/ni.c+5−0

This diff is large: its 33 lines aren’t shown here.

drivers/gpu/drm/radeon/r600.c+8−7

This diff is large: its 50 lines aren’t shown here.

drivers/gpu/drm/radeon/r600_cp.c+9−14

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/radeon/r600_cs.c+10−2

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon.h+15−12

This diff is large: its 84 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_asic.c+7−7

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_clocks.c+5−2

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_combios.c+30−2

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_connectors.c+105−25

This diff is large: its 212 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_cp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_device.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_display.c+29−41

This diff is large: its 151 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_drv.c+2−1

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_encoders.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_fence.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_i2c.c+24−8

This diff is large: its 58 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_kms.c+14−1

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_mode.h+6−1

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_pm.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_reg.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_test.c+25−9

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/radeon/radeon_ttm.c+23−0

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/cayman+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/evergreen+3−0

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/radeon/reg_srcs/r600+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/radeon/rs600.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/radeon/rv770.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_bo.c+10−6

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_bo_util.c+1−1

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_lock.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_object.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/ttm/ttm_page_alloc.c+9−9

This diff is large: its 68 lines aren’t shown here.

drivers/hid/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/hid/hid-apple.c+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/hid/hid-core.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/hid/hid-ids.h+7−0

This diff is large: its 28 lines aren’t shown here.

drivers/hid/hid-magicmouse.c+55−11

This diff is large: its 90 lines aren’t shown here.

drivers/hid/hid-wacom.c+10−12

This diff is large: its 51 lines aren’t shown here.

drivers/hid/hid-wiimote.c+183−94

This diff is large: its 400 lines aren’t shown here.

drivers/hid/usbhid/hid-quirks.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/hwmon/Kconfig+38−89

This diff is large: its 168 lines aren’t shown here.

drivers/hwmon/Makefile+4−9

This diff is large: its 38 lines aren’t shown here.

drivers/hwmon/coretemp.c+132−45

This diff is large: its 266 lines aren’t shown here.

drivers/hwmon/i5k_amb.c+14−28

This diff is large: its 87 lines aren’t shown here.

drivers/hwmon/ibmaem.c+10−5

This diff is large: its 33 lines aren’t shown here.

drivers/hwmon/lm90.c+44−21

This diff is large: its 200 lines aren’t shown here.

drivers/hwmon/lm95241.c+19−12

This diff is large: its 57 lines aren’t shown here.

drivers/hwmon/lm95245.c+543−0

This diff is large: its 544 lines aren’t shown here.

drivers/hwmon/max16065.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/hwmon/max1668.c+502−0

This diff is large: its 503 lines aren’t shown here.

drivers/hwmon/ntc_thermistor.c+452−0

This diff is large: its 453 lines aren’t shown here.

drivers/hwmon/pmbus/Kconfig+100−0

This diff is large: its 101 lines aren’t shown here.

drivers/hwmon/pmbus/Makefile+13−0

This diff is large: its 14 lines aren’t shown here.

drivers/hwmon/pmbus/adm1275.crenamed from drivers/hwmon/adm1275.c+63−3

This diff is large: its 90 lines aren’t shown here.

drivers/hwmon/pmbus/lm25066.c+352−0

This diff is large: its 353 lines aren’t shown here.

drivers/hwmon/pmbus/max16064.crenamed from drivers/hwmon/max16064.c+54−3

This diff is large: its 73 lines aren’t shown here.

drivers/hwmon/pmbus/max34440.crenamed from drivers/hwmon/max34440.c+72−9

This diff is large: its 117 lines aren’t shown here.

drivers/hwmon/pmbus/max8688.crenamed from drivers/hwmon/max8688.c+65−4

This diff is large: its 97 lines aren’t shown here.

drivers/hwmon/pmbus/pmbus.crenamed from drivers/hwmon/pmbus.c+34−3

This diff is large: its 74 lines aren’t shown here.

drivers/hwmon/pmbus/pmbus.hrenamed from drivers/hwmon/pmbus.h+46−3

This diff is large: its 79 lines aren’t shown here.

drivers/hwmon/pmbus/pmbus_core.crenamed from drivers/hwmon/pmbus_core.c+290−81

This diff is large: its 615 lines aren’t shown here.

drivers/hwmon/pmbus/ucd9000.crenamed from drivers/hwmon/ucd9000.c+2−4

This diff is large: its 16 lines aren’t shown here.

drivers/hwmon/pmbus/ucd9200.crenamed from drivers/hwmon/ucd9200.c+2−4

This diff is large: its 16 lines aren’t shown here.

drivers/hwmon/sht15.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/i2c/busses/i2c-eg20t.c+21−20

This diff is large: its 54 lines aren’t shown here.

drivers/i2c/busses/i2c-nomadik.c+5−4

This diff is large: its 38 lines aren’t shown here.

drivers/i2c/busses/i2c-omap.c+0−29

This diff is large: its 42 lines aren’t shown here.

drivers/i2c/busses/i2c-pxa-pci.c+4−1

This diff is large: its 17 lines aren’t shown here.

drivers/i2c/busses/i2c-tegra.c+61−16

This diff is large: its 159 lines aren’t shown here.

drivers/ide/cy82c693.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/ide/ide_platform.c+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/infiniband/hw/cxgb4/mem.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/infiniband/hw/ehca/ehca_tools.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/infiniband/hw/nes/nes_cm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/infiniband/ulp/ipoib/ipoib.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/infiniband/ulp/ipoib/ipoib_main.c+5−3

This diff is large: its 17 lines aren’t shown here.

drivers/infiniband/ulp/iser/iscsi_iser.c+7−3

This diff is large: its 21 lines aren’t shown here.

drivers/infiniband/ulp/iser/iscsi_iser.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/infiniband/ulp/iser/iser_initiator.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/infiniband/ulp/srp/ib_srp.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/joystick/analog.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/joystick/xpad.c+26−5

This diff is large: its 84 lines aren’t shown here.

drivers/input/keyboard/adp5588-keys.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/keyboard/adp5589-keys.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/keyboard/atkbd.c+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/input/keyboard/ep93xx_keypad.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/input/keyboard/gpio_keys.c+139−27

This diff is large: its 273 lines aren’t shown here.

drivers/input/keyboard/lm8323.c+11−21

This diff is large: its 97 lines aren’t shown here.

drivers/input/keyboard/mpr121_touchkey.c+12−4

This diff is large: its 44 lines aren’t shown here.

drivers/input/keyboard/pmic8xxx-keypad.c+4−4

This diff is large: its 23 lines aren’t shown here.

drivers/input/keyboard/qt1070.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/input/keyboard/sh_keysc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/keyboard/tegra-kbc.c+5−4

This diff is large: its 44 lines aren’t shown here.

drivers/input/keyboard/tnetv107x-keypad.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/input/misc/Kconfig+50−1

This diff is large: its 79 lines aren’t shown here.

drivers/input/misc/Makefile+4−1

This diff is large: its 23 lines aren’t shown here.

drivers/input/misc/ad714x-i2c.c+38−43

This diff is large: its 101 lines aren’t shown here.

drivers/input/misc/ad714x-spi.c+53−15

This diff is large: its 97 lines aren’t shown here.

drivers/input/misc/ad714x.c+44−72

This diff is large: its 239 lines aren’t shown here.

drivers/input/misc/ad714x.h+32−3

This diff is large: its 52 lines aren’t shown here.

drivers/input/misc/bfin_rotary.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/misc/kxtj9.c+672−0

This diff is large: its 673 lines aren’t shown here.

drivers/input/misc/mma8450.c+264−0

This diff is large: its 265 lines aren’t shown here.

drivers/input/misc/mpu3050.c+376−0

This diff is large: its 377 lines aren’t shown here.

drivers/input/misc/twl4030-vibra.c+6−6

This diff is large: its 47 lines aren’t shown here.

drivers/input/misc/twl6040-vibra.c+423−0

This diff is large: its 424 lines aren’t shown here.

drivers/input/misc/xen-kbdfront.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/mouse/bcm5974.c+40−0

This diff is large: its 61 lines aren’t shown here.

drivers/input/mouse/gpio_mouse.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/mouse/hgpk.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/input/mouse/lifebook.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/input/mouse/pxa930_trkball.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/mouse/sentelic.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/mouse/synaptics.c+66−41

This diff is large: its 180 lines aren’t shown here.

drivers/input/mouse/synaptics.h+13−5

This diff is large: its 55 lines aren’t shown here.

drivers/input/serio/at32psif.c+1−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/serio/hp_sdc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/serio/xilinx_ps2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/input/tablet/aiptek.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/input/tablet/wacom_sys.c+10−7

This diff is large: its 58 lines aren’t shown here.

drivers/input/tablet/wacom_wac.c+45−27

This diff is large: its 204 lines aren’t shown here.

drivers/input/touchscreen/ad7879.c+3−1

This diff is large: its 16 lines aren’t shown here.

drivers/input/touchscreen/ads7846.c+5−10

This diff is large: its 23 lines aren’t shown here.

drivers/input/touchscreen/atmel-wm97xx.c+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/input/touchscreen/atmel_mxt_ts.c+118−84

This diff is large: its 417 lines aren’t shown here.

drivers/input/touchscreen/cy8ctmg110_ts.c+5−3

This diff is large: its 30 lines aren’t shown here.

drivers/input/touchscreen/intel-mid-touch.c+5−10

This diff is large: its 38 lines aren’t shown here.

drivers/input/touchscreen/mainstone-wm97xx.c+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/input/touchscreen/max11801_ts.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/input/touchscreen/tnetv107x-ts.c+2−1

This diff is large: its 15 lines aren’t shown here.

drivers/input/touchscreen/wm9705.c+12−13

This diff is large: its 64 lines aren’t shown here.

drivers/input/touchscreen/wm9712.c+14−13

This diff is large: its 68 lines aren’t shown here.

drivers/input/touchscreen/wm9713.c+13−12

This diff is large: its 67 lines aren’t shown here.

drivers/input/touchscreen/zylonite-wm97xx.c+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/iommu/amd_iommu.c+10−8

This diff is large: its 55 lines aren’t shown here.

drivers/isdn/gigaset/gigaset.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/isdn/i4l/isdn_net.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/leds/leds-ams-delta.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/leds/leds-bd2802.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/leds/leds-hp6xx.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/leds/ledtrig-timer.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/md/Kconfig+3−2

This diff is large: its 16 lines aren’t shown here.

drivers/md/bitmap.c+46−91

This diff is large: its 251 lines aren’t shown here.

drivers/md/bitmap.h+0−5

This diff is large: its 19 lines aren’t shown here.

drivers/md/dm-crypt.c+52−12

This diff is large: its 157 lines aren’t shown here.

drivers/md/dm-flakey.c+244−26

This diff is large: its 375 lines aren’t shown here.

drivers/md/dm-io.c+27−2

This diff is large: its 84 lines aren’t shown here.

drivers/md/dm-ioctl.c+58−31

This diff is large: its 123 lines aren’t shown here.

drivers/md/dm-kcopyd.c+35−9

This diff is large: its 87 lines aren’t shown here.

drivers/md/dm-log-userspace-base.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/md/dm-log.c+18−14

This diff is large: its 105 lines aren’t shown here.

drivers/md/dm-mpath.c+45−104

This diff is large: its 353 lines aren’t shown here.

drivers/md/dm-queue-length.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/md/dm-raid.c+571−50

This diff is large: its 866 lines aren’t shown here.

drivers/md/dm-snap-persistent.c+42−38

This diff is large: its 213 lines aren’t shown here.

drivers/md/dm-snap.c+63−21

This diff is large: its 170 lines aren’t shown here.

drivers/md/dm-table.c+123−34

This diff is large: its 319 lines aren’t shown here.

drivers/md/dm.c+71−4

This diff is large: its 142 lines aren’t shown here.

drivers/md/dm.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/md/linear.h+1−1

This diff is large: its 11 lines aren’t shown here.

drivers/md/md.c+807−90

This diff is large: its 1350 lines aren’t shown here.

drivers/md/md.h+98−12

This diff is large: its 174 lines aren’t shown here.

drivers/md/raid1.c+739−227

This diff is large: its 1418 lines aren’t shown here.

drivers/md/raid1.h+24−2

This diff is large: its 60 lines aren’t shown here.

drivers/md/raid10.c+914−290

This diff is large: its 1708 lines aren’t shown here.

drivers/md/raid10.h+21−0

This diff is large: its 39 lines aren’t shown here.

drivers/md/raid5.c+397−618

This diff is large: its 1564 lines aren’t shown here.

drivers/md/raid5.h+51−48

This diff is large: its 193 lines aren’t shown here.

drivers/media/Kconfig+13−1

This diff is large: its 28 lines aren’t shown here.

drivers/media/common/tuners/Kconfig+10−0

This diff is large: its 24 lines aren’t shown here.

drivers/media/common/tuners/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/common/tuners/tuner-types.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/media/common/tuners/xc4000.c+1691−0

This diff is large: its 1692 lines aren’t shown here.

drivers/media/common/tuners/xc4000.h+67−0

This diff is large: its 68 lines aren’t shown here.

drivers/media/dvb/Kconfig+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/media/dvb/Makefile+2−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/bt8xx/dvb-bt8xx.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/media/dvb/ddbridge/Kconfig+18−0

This diff is large: its 19 lines aren’t shown here.

drivers/media/dvb/ddbridge/Makefile+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/media/dvb/ddbridge/ddbridge-core.c+1719−0

This diff is large: its 1720 lines aren’t shown here.

drivers/media/dvb/ddbridge/ddbridge-regs.h+151−0

This diff is large: its 152 lines aren’t shown here.

drivers/media/dvb/ddbridge/ddbridge.h+187−0

This diff is large: its 188 lines aren’t shown here.

drivers/media/dvb/dvb-core/Makefile+3−1

This diff is large: its 12 lines aren’t shown here.

drivers/media/dvb/dvb-core/dvb_frontend.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/media/dvb/dvb-core/dvb_net.h+20−1

This diff is large: its 36 lines aren’t shown here.

drivers/media/dvb/dvb-usb/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/dvb/dvb-usb/af9015.c+47−88

This diff is large: its 284 lines aren’t shown here.

drivers/media/dvb/dvb-usb/af9015.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/dvb/dvb-usb/anysee.c+51−18

This diff is large: its 167 lines aren’t shown here.

drivers/media/dvb/dvb-usb/anysee.h+9−7

This diff is large: its 23 lines aren’t shown here.

drivers/media/dvb/dvb-usb/dib0700_devices.c+188−0

This diff is large: its 216 lines aren’t shown here.

drivers/media/dvb/dvb-usb/dvb-usb-ids.h+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/media/dvb/dvb-usb/dvb-usb.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/dvb-usb/gp8psk.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/media/dvb/dvb-usb/technisat-usb2.c+1−3

This diff is large: its 12 lines aren’t shown here.

drivers/media/dvb/dvb-usb/vp7045.c+4−22

This diff is large: its 47 lines aren’t shown here.

drivers/media/dvb/dvb-usb/vp7045.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/media/dvb/firewire/firedtv-avc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/firewire/firedtv-ci.c+16−18

This diff is large: its 102 lines aren’t shown here.

drivers/media/dvb/frontends/Kconfig+21−0

This diff is large: its 28 lines aren’t shown here.

drivers/media/dvb/frontends/Makefile+3−0

This diff is large: its 15 lines aren’t shown here.

drivers/media/dvb/frontends/au8522_decoder.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/frontends/cx24113.c+10−10

This diff is large: its 68 lines aren’t shown here.

drivers/media/dvb/frontends/cx24116.c+1−5

This diff is large: its 13 lines aren’t shown here.

drivers/media/dvb/frontends/cxd2820r.h+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/dvb/frontends/cxd2820r_core.c+18−4

This diff is large: its 61 lines aren’t shown here.

drivers/media/dvb/frontends/cxd2820r_priv.h+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/dvb/frontends/dib7000p.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/media/dvb/frontends/drxd_hard.c+5−4

This diff is large: its 36 lines aren’t shown here.

drivers/media/dvb/frontends/drxk.h+47−0

This diff is large: its 48 lines aren’t shown here.

drivers/media/dvb/frontends/drxk_hard.c+6454−0

This diff is large: its 6455 lines aren’t shown here.

drivers/media/dvb/frontends/drxk_hard.h+348−0

This diff is large: its 349 lines aren’t shown here.

drivers/media/dvb/frontends/drxk_map.h+449−0

This diff is large: its 450 lines aren’t shown here.

drivers/media/dvb/frontends/itd1000.c+11−14

This diff is large: its 96 lines aren’t shown here.

drivers/media/dvb/frontends/nxt6000.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/frontends/s5h1420.c+6−6

This diff is large: its 34 lines aren’t shown here.

drivers/media/dvb/frontends/tda18271c2dd.c+1251−0

This diff is large: its 1252 lines aren’t shown here.

drivers/media/dvb/frontends/tda18271c2dd.h+16−0

This diff is large: its 17 lines aren’t shown here.

drivers/media/dvb/frontends/tda18271c2dd_maps.h+814−0

This diff is large: its 815 lines aren’t shown here.

drivers/media/dvb/ngene/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/ngene/ngene-cards.c+140−42

This diff is large: its 244 lines aren’t shown here.

drivers/media/dvb/ngene/ngene-core.c+22−4

This diff is large: its 72 lines aren’t shown here.

drivers/media/dvb/ngene/ngene-dvb.c+38−8

This diff is large: its 67 lines aren’t shown here.

drivers/media/dvb/ngene/ngene.h+6−1

This diff is large: its 30 lines aren’t shown here.

drivers/media/dvb/siano/smscoreapi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/dvb/siano/smscoreapi.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/radio/dsbr100.c+2−5

This diff is large: its 25 lines aren’t shown here.

drivers/media/radio/radio-aimslab.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-aztech.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-cadet.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-gemtek.c+2−5

This diff is large: its 32 lines aren’t shown here.

drivers/media/radio/radio-maxiradio.c+4−6

This diff is large: its 39 lines aren’t shown here.

drivers/media/radio/radio-mr800.c+2−4

This diff is large: its 29 lines aren’t shown here.

drivers/media/radio/radio-rtrack2.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-sf16fmi.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-sf16fmr2.c+143−388

This diff is large: its 608 lines aren’t shown here.

drivers/media/radio/radio-tea5764.c+3−5

This diff is large: its 31 lines aren’t shown here.

drivers/media/radio/radio-terratec.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-timb.c+1−2

This diff is large: its 22 lines aren’t shown here.

drivers/media/radio/radio-trust.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/radio-typhoon.c+4−5

This diff is large: its 38 lines aren’t shown here.

drivers/media/radio/radio-wl1273.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/radio/radio-zoltrix.c+1−4

This diff is large: its 33 lines aren’t shown here.

drivers/media/radio/si470x/radio-si470x-i2c.c+1−3

This diff is large: its 20 lines aren’t shown here.

drivers/media/radio/si470x/radio-si470x-usb.c+3−3

This diff is large: its 34 lines aren’t shown here.

drivers/media/radio/si470x/radio-si470x.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/radio/wl128x/fmdrv.h+1−4

This diff is large: its 16 lines aren’t shown here.

drivers/media/radio/wl128x/fmdrv_v4l2.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/media/rc/Kconfig+11−0

This diff is large: its 18 lines aren’t shown here.

drivers/media/rc/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/rc/ene_ir.c+2−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/rc/ene_ir.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/rc/ir-lirc-codec.c+9−6

This diff is large: its 37 lines aren’t shown here.

drivers/media/rc/ir-mce_kbd-decoder.c+449−0

This diff is large: its 450 lines aren’t shown here.

drivers/media/rc/ir-raw.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/rc/ite-cir.c+1−4

This diff is large: its 19 lines aren’t shown here.

drivers/media/rc/keymaps/rc-rc6-mce.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/media/rc/mceusb.c+4−6

This diff is large: its 33 lines aren’t shown here.

drivers/media/rc/nuvoton-cir.c+11−46

This diff is large: its 118 lines aren’t shown here.

drivers/media/rc/nuvoton-cir.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/rc/rc-core-priv.h+18−0

This diff is large: its 32 lines aren’t shown here.

drivers/media/rc/rc-loopback.c+3−10

This diff is large: its 41 lines aren’t shown here.

drivers/media/rc/rc-main.c+3−1

This diff is large: its 25 lines aren’t shown here.

drivers/media/rc/redrat3.c+29−34

This diff is large: its 167 lines aren’t shown here.

drivers/media/rc/winbond-cir.c+7−21

This diff is large: its 62 lines aren’t shown here.

drivers/media/video/Kconfig+35−9

This diff is large: its 91 lines aren’t shown here.

drivers/media/video/Makefile+7−1

This diff is large: its 38 lines aren’t shown here.

drivers/media/video/adp1653.c+491−0

This diff is large: its 492 lines aren’t shown here.

drivers/media/video/arv.c+2−3

This diff is large: its 30 lines aren’t shown here.

drivers/media/video/atmel-isi.c+1048−0

This diff is large: its 1049 lines aren’t shown here.

drivers/media/video/au0828/au0828-core.c+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/media/video/au0828/au0828-video.c+0−5

This diff is large: its 26 lines aren’t shown here.

drivers/media/video/bt8xx/bttv-cards.c+2−5

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/bt8xx/bttv-driver.c+4−10

This diff is large: its 49 lines aren’t shown here.

drivers/media/video/bt8xx/bttvp.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/bw-qcam.c+2−2

This diff is large: its 29 lines aren’t shown here.

drivers/media/video/c-qcam.c+2−2

This diff is large: its 32 lines aren’t shown here.

drivers/media/video/cafe_ccic-regs.h+0−166

This diff is large: its 167 lines aren’t shown here.

drivers/media/video/cafe_ccic.c+0−2267

This diff is large: its 2268 lines aren’t shown here.

drivers/media/video/cpia2/cpia2.h+0−5

This diff is large: its 19 lines aren’t shown here.

drivers/media/video/cpia2/cpia2_v4l.c+4−8

This diff is large: its 44 lines aren’t shown here.

drivers/media/video/cx18/cx18-alsa-main.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx18/cx18-driver.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx18/cx18-ioctl.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx18/cx18-version.h+1−7

This diff is large: its 14 lines aren’t shown here.

drivers/media/video/cx231xx/cx231xx-avcore.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/media/video/cx231xx/cx231xx-cards.c+78−0

This diff is large: its 106 lines aren’t shown here.

drivers/media/video/cx231xx/cx231xx-core.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/media/video/cx231xx/cx231xx-video.c+18−11

This diff is large: its 85 lines aren’t shown here.

drivers/media/video/cx231xx/cx231xx.h+3−2

This diff is large: its 26 lines aren’t shown here.

drivers/media/video/cx23885/altera-ci.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-417.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-cards.c+69−1

This diff is large: its 168 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-core.c+3−10

This diff is large: its 31 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-dvb.c+22−1

This diff is large: its 44 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-input.c+6−0

This diff is large: its 34 lines aren’t shown here.

drivers/media/video/cx23885/cx23885-video.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/cx23885/cx23885.h+2−2

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/cx88/cx88-alsa.c+4−15

This diff is large: its 37 lines aren’t shown here.

drivers/media/video/cx88/cx88-blackbird.c+3−17

This diff is large: its 45 lines aren’t shown here.

drivers/media/video/cx88/cx88-cards.c+143−7

This diff is large: its 199 lines aren’t shown here.

drivers/media/video/cx88/cx88-core.c+7−4

This diff is large: its 34 lines aren’t shown here.

drivers/media/video/cx88/cx88-dvb.c+61−16

This diff is large: its 123 lines aren’t shown here.

drivers/media/video/cx88/cx88-input.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/media/video/cx88/cx88-mpeg.c+20−15

This diff is large: its 63 lines aren’t shown here.

drivers/media/video/cx88/cx88-video.c+46−19

This diff is large: its 134 lines aren’t shown here.

drivers/media/video/cx88/cx88.h+5−2

This diff is large: its 29 lines aren’t shown here.

drivers/media/video/davinci/Kconfig+23−0

This diff is large: its 27 lines aren’t shown here.

drivers/media/video/davinci/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/media/video/davinci/vpbe.c+864−0

This diff is large: its 865 lines aren’t shown here.

drivers/media/video/davinci/vpbe_display.c+1860−0

This diff is large: its 1861 lines aren’t shown here.

drivers/media/video/davinci/vpbe_osd.c+1231−0

This diff is large: its 1232 lines aren’t shown here.

drivers/media/video/davinci/vpbe_osd_regs.h+364−0

This diff is large: its 365 lines aren’t shown here.

drivers/media/video/davinci/vpbe_venc.c+566−0

This diff is large: its 567 lines aren’t shown here.

drivers/media/video/davinci/vpbe_venc_regs.h+177−0

This diff is large: its 178 lines aren’t shown here.

drivers/media/video/davinci/vpif_capture.c+3−6

This diff is large: its 37 lines aren’t shown here.

drivers/media/video/davinci/vpif_capture.h+1−6

This diff is large: its 21 lines aren’t shown here.

drivers/media/video/davinci/vpif_display.c+3−6

This diff is large: its 37 lines aren’t shown here.

drivers/media/video/davinci/vpif_display.h+1−7

This diff is large: its 22 lines aren’t shown here.

drivers/media/video/em28xx/Kconfig+11−1

This diff is large: its 27 lines aren’t shown here.

drivers/media/video/em28xx/Makefile+4−2

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-audio.c+227−24

This diff is large: its 354 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-cards.c+120−39

This diff is large: its 334 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-core.c+54−30

This diff is large: its 185 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-dvb.c+123−3

This diff is large: its 182 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-i2c.c+13−4

This diff is large: its 48 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-input.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-reg.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/em28xx/em28xx-video.c+5−9

This diff is large: its 56 lines aren’t shown here.

drivers/media/video/em28xx/em28xx.h+22−2

This diff is large: its 60 lines aren’t shown here.

drivers/media/video/et61x251/et61x251.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/et61x251/et61x251_core.c+4−12

This diff is large: its 45 lines aren’t shown here.

drivers/media/video/fsl-viu.c+2−8

This diff is large: its 34 lines aren’t shown here.

drivers/media/video/gspca/Kconfig+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/gspca/Makefile+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/gspca/gl860/gl860.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/gspca/gspca.c+11−12

This diff is large: its 78 lines aren’t shown here.

drivers/media/video/gspca/ov519.c+109−24

This diff is large: its 243 lines aren’t shown here.

drivers/media/video/gspca/se401.c+774−0

This diff is large: its 775 lines aren’t shown here.

drivers/media/video/gspca/se401.h+90−0

This diff is large: its 91 lines aren’t shown here.

drivers/media/video/gspca/sonixj.c+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/gspca/sunplus.c+0−3

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/gspca/t613.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/video/hdpvr/hdpvr-core.c+2−1

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/hdpvr/hdpvr-video.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/hdpvr/hdpvr.h+0−6

This diff is large: its 13 lines aren’t shown here.

drivers/media/video/ivtv/ivtv-driver.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/ivtv/ivtv-fileops.c+10−9

This diff is large: its 50 lines aren’t shown here.

drivers/media/video/ivtv/ivtv-ioctl.c+2−3

This diff is large: its 22 lines aren’t shown here.

drivers/media/video/ivtv/ivtv-version.h+1−6

This diff is large: its 13 lines aren’t shown here.

drivers/media/video/m5mols/m5mols_capture.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/m5mols/m5mols_core.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/marvell-ccic/Kconfig+23−0

This diff is large: its 24 lines aren’t shown here.

drivers/media/video/marvell-ccic/Makefile+6−0

This diff is large: its 7 lines aren’t shown here.

drivers/media/video/marvell-ccic/cafe-driver.c+654−0

This diff is large: its 655 lines aren’t shown here.

drivers/media/video/marvell-ccic/mcam-core.c+1843−0

This diff is large: its 1844 lines aren’t shown here.

drivers/media/video/marvell-ccic/mcam-core.h+323−0

This diff is large: its 324 lines aren’t shown here.

drivers/media/video/marvell-ccic/mmp-driver.c+340−0

This diff is large: its 341 lines aren’t shown here.

drivers/media/video/mem2mem_testdev.c+1−3

This diff is large: its 25 lines aren’t shown here.

drivers/media/video/mt9m001.c+5−9

This diff is large: its 28 lines aren’t shown here.

drivers/media/video/mt9m111.c+172−187

This diff is large: its 693 lines aren’t shown here.

drivers/media/video/mt9t031.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/mt9t112.c+3−7

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/mt9v011.c+73−12

This diff is large: its 146 lines aren’t shown here.

drivers/media/video/mt9v022.c+5−5

This diff is large: its 24 lines aren’t shown here.

drivers/media/video/mt9v032.c+10−10

This diff is large: its 39 lines aren’t shown here.

drivers/media/video/mx1_camera.c+23−24

This diff is large: its 208 lines aren’t shown here.

drivers/media/video/mx2_camera.c+35−31

This diff is large: its 233 lines aren’t shown here.

drivers/media/video/mx3_camera.c+29−42

This diff is large: its 286 lines aren’t shown here.

drivers/media/video/omap/Kconfig+5−2

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/omap/Makefile+1−0

This diff is large: its 6 lines aren’t shown here.

drivers/media/video/omap/omap_vout.c+141−504

This diff is large: its 1013 lines aren’t shown here.

drivers/media/video/omap/omap_vout_vrfb.c+390−0

This diff is large: its 391 lines aren’t shown here.

drivers/media/video/omap/omap_vout_vrfb.h+40−0

This diff is large: its 41 lines aren’t shown here.

drivers/media/video/omap/omap_voutdef.h+78−0

This diff is large: its 111 lines aren’t shown here.

drivers/media/video/omap/omap_voutlib.c+46−0

This diff is large: its 59 lines aren’t shown here.

drivers/media/video/omap/omap_voutlib.h+7−5

This diff is large: its 31 lines aren’t shown here.

drivers/media/video/omap1_camera.c+28−29

This diff is large: its 232 lines aren’t shown here.

drivers/media/video/omap24xxcam.c+4−5

This diff is large: its 47 lines aren’t shown here.

drivers/media/video/omap3isp/isp.c+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/media/video/omap3isp/isp.h+6−0

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/omap3isp/ispccdc.c+3−4

This diff is large: its 35 lines aren’t shown here.

drivers/media/video/omap3isp/ispccp2.c+25−2

This diff is large: its 68 lines aren’t shown here.

drivers/media/video/omap3isp/ispccp2.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/omap3isp/ispstat.c+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/omap3isp/ispvideo.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/omap3isp/ispvideo.h+1−2

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/ov2640.c+3−10

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/ov5642.c+1012−0

This diff is large: its 1013 lines aren’t shown here.

drivers/media/video/ov7670.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/ov772x.c+3−7

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/ov9640.c+3−10

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/ov9740.c+302−254

This diff is large: its 782 lines aren’t shown here.

drivers/media/video/pms.c+1−3

This diff is large: its 25 lines aren’t shown here.

drivers/media/video/pvrusb2/pvrusb2-main.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/pvrusb2/pvrusb2-v4l2.c+2−7

This diff is large: its 30 lines aren’t shown here.

drivers/media/video/pwc/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/pwc/pwc-ctrl.c+129−674

This diff is large: its 1134 lines aren’t shown here.

drivers/media/video/pwc/pwc-dec1.c+9−19

This diff is large: its 39 lines aren’t shown here.

drivers/media/video/pwc/pwc-dec1.h+1−7

This diff is large: its 23 lines aren’t shown here.

drivers/media/video/pwc/pwc-dec23.c+0−22

This diff is large: its 28 lines aren’t shown here.

drivers/media/video/pwc/pwc-dec23.h+0−10

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/pwc/pwc-if.c+369−890

This diff is large: its 1668 lines aren’t shown here.

drivers/media/video/pwc/pwc-ioctl.h+0−323

This diff is large: its 324 lines aren’t shown here.

drivers/media/video/pwc/pwc-kiara.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/pwc/pwc-misc.c+0−4

This diff is large: its 9 lines aren’t shown here.

drivers/media/video/pwc/pwc-uncompress.c+6−11

This diff is large: its 43 lines aren’t shown here.

drivers/media/video/pwc/pwc-uncompress.h+0−40

This diff is large: its 41 lines aren’t shown here.

drivers/media/video/pwc/pwc-v4l.c+737−520

This diff is large: its 1386 lines aren’t shown here.

drivers/media/video/pwc/pwc.h+221−188

This diff is large: its 499 lines aren’t shown here.

drivers/media/video/pxa_camera.c+49−43

This diff is large: its 310 lines aren’t shown here.

drivers/media/video/rj54n1cb0c.c+3−4

This diff is large: its 14 lines aren’t shown here.

drivers/media/video/s2255drv.c+10−25

This diff is large: its 111 lines aren’t shown here.

drivers/media/video/s5p-fimc/fimc-capture.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/s5p-fimc/fimc-core.c+1−2

This diff is large: its 21 lines aren’t shown here.

drivers/media/video/s5p-mfc/Makefile+5−0

This diff is large: its 6 lines aren’t shown here.

drivers/media/video/s5p-mfc/regs-mfc.h+413−0

This diff is large: its 414 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc.c+1274−0

This diff is large: its 1275 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_cmd.c+120−0

This diff is large: its 121 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_cmd.h+30−0

This diff is large: its 31 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_common.h+572−0

This diff is large: its 573 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_ctrl.c+343−0

This diff is large: its 344 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_ctrl.h+29−0

This diff is large: its 30 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_debug.h+48−0

This diff is large: its 49 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_dec.c+1036−0

This diff is large: its 1037 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_dec.h+23−0

This diff is large: its 24 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_enc.c+1829−0

This diff is large: its 1830 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_enc.h+23−0

This diff is large: its 24 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_intr.c+92−0

This diff is large: its 93 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_intr.h+26−0

This diff is large: its 27 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_opr.c+1397−0

This diff is large: its 1398 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_opr.h+91−0

This diff is large: its 92 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_pm.c+117−0

This diff is large: its 118 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_pm.h+24−0

This diff is large: its 25 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_shm.c+47−0

This diff is large: its 48 lines aren’t shown here.

drivers/media/video/s5p-mfc/s5p_mfc_shm.h+91−0

This diff is large: its 92 lines aren’t shown here.

drivers/media/video/s5p-tv/Kconfig+76−0

This diff is large: its 77 lines aren’t shown here.

drivers/media/video/s5p-tv/Makefile+17−0

This diff is large: its 18 lines aren’t shown here.

drivers/media/video/s5p-tv/hdmi_drv.c+1042−0

This diff is large: its 1043 lines aren’t shown here.

drivers/media/video/s5p-tv/hdmiphy_drv.c+188−0

This diff is large: its 189 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer.h+354−0

This diff is large: its 355 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer_drv.c+487−0

This diff is large: its 488 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer_grp_layer.c+185−0

This diff is large: its 186 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer_reg.c+541−0

This diff is large: its 542 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer_video.c+1006−0

This diff is large: its 1007 lines aren’t shown here.

drivers/media/video/s5p-tv/mixer_vp_layer.c+211−0

This diff is large: its 212 lines aren’t shown here.

drivers/media/video/s5p-tv/regs-hdmi.h+141−0

This diff is large: its 142 lines aren’t shown here.

drivers/media/video/s5p-tv/regs-mixer.h+121−0

This diff is large: its 122 lines aren’t shown here.

drivers/media/video/s5p-tv/regs-sdo.h+63−0

This diff is large: its 64 lines aren’t shown here.

drivers/media/video/s5p-tv/regs-vp.h+88−0

This diff is large: its 89 lines aren’t shown here.

drivers/media/video/s5p-tv/sdo_drv.c+479−0

This diff is large: its 480 lines aren’t shown here.

drivers/media/video/saa7115.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/media/video/saa7134/saa7134-cards.c+12−1

This diff is large: its 35 lines aren’t shown here.

drivers/media/video/saa7134/saa7134-core.c+4−8

This diff is large: its 26 lines aren’t shown here.

drivers/media/video/saa7134/saa7134-dvb.c+25−0

This diff is large: its 46 lines aren’t shown here.

drivers/media/video/saa7134/saa7134-empress.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/saa7134/saa7134-video.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/saa7134/saa7134.h+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/saa7164/saa7164-encoder.c+1−5

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/saa7164/saa7164-vbi.c+1−5

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/saa7164/saa7164.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/sh_mobile_ceu_camera.c+133−74

This diff is large: its 595 lines aren’t shown here.

drivers/media/video/sh_mobile_csi2.c+73−62

This diff is large: its 232 lines aren’t shown here.

drivers/media/video/sh_vou.c+1−2

This diff is large: its 22 lines aren’t shown here.

drivers/media/video/sn9c102/sn9c102.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/sn9c102/sn9c102_core.c+4−12

This diff is large: its 45 lines aren’t shown here.

drivers/media/video/soc_camera.c+85−196

This diff is large: its 807 lines aren’t shown here.

drivers/media/video/soc_camera_platform.c+5−5

This diff is large: its 38 lines aren’t shown here.

drivers/media/video/sr030pc30.c+5−2

This diff is large: its 21 lines aren’t shown here.

drivers/media/video/tda7432.c+3−2

This diff is large: its 14 lines aren’t shown here.

drivers/media/video/timblogiw.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/tlg2300/pd-common.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/tlg2300/pd-dvb.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/video/tlg2300/pd-main.c+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/media/video/tlg2300/pd-radio.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/media/video/tuner-core.c+18−0

This diff is large: its 32 lines aren’t shown here.

drivers/media/video/tw9910.c+3−18

This diff is large: its 42 lines aren’t shown here.

drivers/media/video/usbvision/usbvision-video.c+1−11

This diff is large: its 33 lines aren’t shown here.

drivers/media/video/uvc/uvc_ctrl.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/media/video/uvc/uvc_driver.c+11−1

This diff is large: its 33 lines aren’t shown here.

drivers/media/video/uvc/uvc_queue.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/video/uvc/uvc_v4l2.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/media/video/uvc/uvc_video.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/media/video/uvc/uvcvideo.h+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/v4l2-common.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/media/video/v4l2-compat-ioctl32.c+37−0

This diff is large: its 86 lines aren’t shown here.

drivers/media/video/v4l2-ctrls.c+626−200

This diff is large: its 1289 lines aren’t shown here.

drivers/media/video/v4l2-device.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/media/video/v4l2-event.c+147−135

This diff is large: its 399 lines aren’t shown here.

drivers/media/video/v4l2-fh.c+8−15

This diff is large: its 43 lines aren’t shown here.

drivers/media/video/v4l2-ioctl.c+35−15

This diff is large: its 148 lines aren’t shown here.

drivers/media/video/v4l2-subdev.c+9−22

This diff is large: its 64 lines aren’t shown here.

drivers/media/video/videobuf-dma-sg.c+3−2

This diff is large: its 12 lines aren’t shown here.

drivers/media/video/videobuf2-dma-sg.c+2−6

This diff is large: its 29 lines aren’t shown here.

drivers/media/video/videobuf2-memops.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/media/video/vino.c+1−4

This diff is large: its 26 lines aren’t shown here.

drivers/media/video/vivi.c+73−18

This diff is large: its 250 lines aren’t shown here.

drivers/media/video/w9966.c+1−3

This diff is large: its 25 lines aren’t shown here.

drivers/media/video/zoran/zoran.h+0−4

This diff is large: its 11 lines aren’t shown here.

drivers/media/video/zoran/zoran_card.c+5−2

This diff is large: its 24 lines aren’t shown here.

drivers/media/video/zoran/zoran_driver.c+0−3

This diff is large: its 17 lines aren’t shown here.

drivers/media/video/zr364xx.c+2−4

This diff is large: its 31 lines aren’t shown here.

drivers/message/fusion/mptscsih.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/message/i2o/i2o_scsi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/mfd/Kconfig+50−11

This diff is large: its 100 lines aren’t shown here.

drivers/mfd/Makefile+9−2

This diff is large: its 36 lines aren’t shown here.

drivers/mfd/aat2870-core.c+535−0

This diff is large: its 536 lines aren’t shown here.

drivers/mfd/ab3550-core.c+11−30

This diff is large: its 98 lines aren’t shown here.

drivers/mfd/ab8500-core.c+174−57

This diff is large: its 354 lines aren’t shown here.

drivers/mfd/ab8500-debugfs.c+11−30

This diff is large: its 96 lines aren’t shown here.

drivers/mfd/jz4740-adc.c+28−62

This diff is large: its 149 lines aren’t shown here.

drivers/mfd/lpc_sch.c+48−1

This diff is large: its 78 lines aren’t shown here.

drivers/mfd/max8997-irq.c+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/mfd/max8998.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/mfd/omap-usb-host.c+2−2

This diff is large: its 12 lines aren’t shown here.

drivers/mfd/stmpe.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/mfd/stmpe.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/mfd/timberdale.c+2−6

This diff is large: its 15 lines aren’t shown here.

drivers/mfd/tps65910.c+9−4

This diff is large: its 47 lines aren’t shown here.

drivers/mfd/tps65911-comparator.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/mfd/tps65912-core.c+177−0

This diff is large: its 178 lines aren’t shown here.

drivers/mfd/tps65912-i2c.c+139−0

This diff is large: its 140 lines aren’t shown here.

drivers/mfd/tps65912-irq.c+224−0

This diff is large: its 225 lines aren’t shown here.

drivers/mfd/tps65912-spi.c+142−0

This diff is large: its 143 lines aren’t shown here.

drivers/mfd/twl-core.c+8−7

This diff is large: its 44 lines aren’t shown here.

drivers/mfd/twl4030-audio.c+277−0

This diff is large: its 278 lines aren’t shown here.

drivers/mfd/twl4030-codec.c+0−277

This diff is large: its 278 lines aren’t shown here.

drivers/mfd/twl4030-madc.c+4−4

This diff is large: its 34 lines aren’t shown here.

drivers/mfd/twl6030-pwm.c+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/mfd/twl6040-core.c+620−0

This diff is large: its 621 lines aren’t shown here.

drivers/mfd/twl6040-irq.c+191−0

This diff is large: its 192 lines aren’t shown here.

drivers/mfd/wm831x-auxadc.c+299−0

This diff is large: its 300 lines aren’t shown here.

drivers/mfd/wm831x-core.c+71−188

This diff is large: its 404 lines aren’t shown here.

drivers/mfd/wm831x-irq.c+49−28

This diff is large: its 153 lines aren’t shown here.

drivers/mfd/wm8350-irq.c+12−6

This diff is large: its 38 lines aren’t shown here.

drivers/mfd/wm8994-core.c+22−11

This diff is large: its 71 lines aren’t shown here.

drivers/mfd/wm8994-irq.c+6−6

This diff is large: its 26 lines aren’t shown here.

drivers/misc/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/misc/ab8500-pwm.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/misc/cb710/core.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/misc/fsa9480.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/misc/phantom.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/misc/pti.c+7−7

This diff is large: its 35 lines aren’t shown here.

drivers/misc/ti-st/st_core.c+9−1

This diff is large: its 33 lines aren’t shown here.

drivers/misc/ti-st/st_kim.c+33−0

This diff is large: its 108 lines aren’t shown here.

drivers/misc/ti-st/st_ll.c+19−0

This diff is large: its 51 lines aren’t shown here.

drivers/misc/vmw_balloon.c+11−20

This diff is large: its 83 lines aren’t shown here.

drivers/mmc/card/mmc_test.c+31−27

This diff is large: its 121 lines aren’t shown here.

drivers/mmc/core/core.c+32−5

This diff is large: its 157 lines aren’t shown here.

drivers/mmc/core/host.c+6−6

This diff is large: its 52 lines aren’t shown here.

drivers/mmc/core/host.h+4−4

This diff is large: its 21 lines aren’t shown here.

drivers/mmc/core/mmc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/mmc/core/mmc_ops.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/mmc/core/sd.c+53−28

This diff is large: its 129 lines aren’t shown here.

drivers/mmc/host/dw_mmc.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/mmc/host/sdhci-esdhc-imx.c+236−64

This diff is large: its 464 lines aren’t shown here.

drivers/mmc/host/sdhci-pltfm.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/mmc/host/sdhci-pxav3.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/mmc/host/sdhci-s3c.c+6−0

This diff is large: its 27 lines aren’t shown here.

drivers/mmc/host/sdhci.c+24−29

This diff is large: its 89 lines aren’t shown here.

drivers/mmc/host/sh_mobile_sdhi.c+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/mmc/host/tmio_mmc.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/mmc/host/tmio_mmc.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/mtd/ubi/debug.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/acenic.c+24−21

This diff is large: its 175 lines aren’t shown here.

drivers/net/acenic.h+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/net/arm/am79c961a.c+3−0

This diff is large: its 12 lines aren’t shown here.

drivers/net/atlx/atl1.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/atlx/atl2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/atlx/atl2.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_cmn.c+36−9

This diff is large: its 87 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_dcb.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_hsi.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_link.c+147−71

This diff is large: its 502 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_link.h+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_main.c+19−4

This diff is large: its 44 lines aren’t shown here.

drivers/net/bnx2x/bnx2x_reg.h+26−6

This diff is large: its 64 lines aren’t shown here.

drivers/net/bonding/bond_main.c+23−3

This diff is large: its 58 lines aren’t shown here.

drivers/net/bonding/bond_sysfs.c+71−62

This diff is large: its 175 lines aren’t shown here.

drivers/net/can/sja1000/plx_pci.c+2−2

This diff is large: its 25 lines aren’t shown here.

drivers/net/can/slcan.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/can/ti_hecc.c+2−1

This diff is large: its 19 lines aren’t shown here.

drivers/net/cassini.c+2−3

This diff is large: its 25 lines aren’t shown here.

drivers/net/cpmac.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/cxgb3/cxgb3_offload.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/cxgb3/l2t.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/cxgb3/t3cdev.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/cxgb4/cxgb4_uld.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/cxgb4/l2t.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/e1000/e1000_ethtool.c+6−0

This diff is large: its 48 lines aren’t shown here.

drivers/net/e1000/e1000_hw.c+3−0

This diff is large: its 24 lines aren’t shown here.

drivers/net/e1000e/82571.c+4−2

This diff is large: its 20 lines aren’t shown here.

drivers/net/e1000e/e1000.h+5−0

This diff is large: its 19 lines aren’t shown here.

drivers/net/e1000e/es2lan.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/e1000e/ethtool.c+12−2

This diff is large: its 92 lines aren’t shown here.

drivers/net/e1000e/ich8lan.c+57−15

This diff is large: its 165 lines aren’t shown here.

drivers/net/e1000e/lib.c+5−3

This diff is large: its 31 lines aren’t shown here.

drivers/net/e1000e/netdev.c+83−8

This diff is large: its 166 lines aren’t shown here.

drivers/net/e1000e/phy.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/fec.c+116−9

This diff is large: its 206 lines aren’t shown here.

drivers/net/forcedeth.c+14−3

This diff is large: its 45 lines aren’t shown here.

drivers/net/gianfar.c+8−7

This diff is large: its 30 lines aren’t shown here.

drivers/net/gianfar_ethtool.c+21−5

This diff is large: its 56 lines aren’t shown here.

drivers/net/gianfar_ptp.c+2−7

This diff is large: its 25 lines aren’t shown here.

drivers/net/hamradio/6pack.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/hamradio/dmascc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/ibm_newemac/core.c+4−29

This diff is large: its 54 lines aren’t shown here.

drivers/net/ibm_newemac/emac.h+10−9

This diff is large: its 33 lines aren’t shown here.

drivers/net/ibm_newemac/phy.c+5−2

This diff is large: its 18 lines aren’t shown here.

drivers/net/ibmveth.c+10−4

This diff is large: its 63 lines aren’t shown here.

drivers/net/ifb.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/igb/e1000_nvm.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/igb/igb_ethtool.c+5−0

This diff is large: its 40 lines aren’t shown here.

drivers/net/igb/igb_main.c+3−1

This diff is large: its 25 lines aren’t shown here.

drivers/net/igbvf/netdev.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/irda/sh_irda.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/net/irda/sh_sir.c+3−1

This diff is large: its 18 lines aren’t shown here.

drivers/net/irda/smsc-ircc2.c+8−10

This diff is large: its 81 lines aren’t shown here.

drivers/net/ixgb/ixgb_ee.c+9−0

This diff is large: its 64 lines aren’t shown here.

drivers/net/ixgb/ixgb_hw.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_82599.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_common.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_ethtool.c+5−0

This diff is large: its 40 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_main.c+5−2

This diff is large: its 29 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_phy.c+3−0

This diff is large: its 24 lines aren’t shown here.

drivers/net/ixgbe/ixgbe_x540.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/macb.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/net/macvlan.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/mlx4/en_port.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/mlx4/main.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/net/mlx4/port.c+6−3

This diff is large: its 16 lines aren’t shown here.

drivers/net/niu.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/net/pcmcia/smc91c92_cs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/pcnet32.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/phy/dp83640.c+2−3

This diff is large: its 19 lines aren’t shown here.

drivers/net/phy/national.c+11−6

This diff is large: its 42 lines aren’t shown here.

drivers/net/phy/phy.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/ppp_generic.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/r8169.c+28−0

This diff is large: its 49 lines aren’t shown here.

drivers/net/rionet.c+8−15

This diff is large: its 65 lines aren’t shown here.

drivers/net/sh_eth.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/sis190.c+11−1

This diff is large: its 26 lines aren’t shown here.

drivers/net/slip.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/sungem.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/net/tg3.c+173−114

This diff is large: its 497 lines aren’t shown here.

drivers/net/tg3.h+8−1

This diff is large: its 30 lines aren’t shown here.

drivers/net/tun.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/usb/asix.c+3−4

This diff is large: its 16 lines aren’t shown here.

drivers/net/usb/cdc_ncm.c+88−103

This diff is large: its 281 lines aren’t shown here.

drivers/net/usb/rtl8150.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/net/veth.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/net/via-velocity.c+0−4

This diff is large: its 11 lines aren’t shown here.

drivers/net/vmxnet3/vmxnet3_drv.c+20−14

This diff is large: its 50 lines aren’t shown here.

drivers/net/wan/hdlc_fr.c+3−2

This diff is large: its 13 lines aren’t shown here.

drivers/net/wimax/i2400m/i2400m.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/airo.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/wireless/ath/ath5k/base.c+14−9

This diff is large: its 58 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/ar9002_hw.c+1−5

This diff is large: its 13 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/ar9003_eeprom.c+5−5

This diff is large: its 45 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/ar9003_hw.c+1−5

This diff is large: its 13 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/ar9003_phy.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/hw.c+9−2

This diff is large: its 32 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/hw.h+2−1

This diff is large: its 24 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/init.c+2−0

This diff is large: its 11 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/main.c+4−0

This diff is large: its 12 lines aren’t shown here.

drivers/net/wireless/ath/ath9k/pci.c+27−0

This diff is large: its 47 lines aren’t shown here.

drivers/net/wireless/ath/carl9170/main.c+3−1

This diff is large: its 12 lines aren’t shown here.

drivers/net/wireless/b43/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/b43/bus.c+2−0

This diff is large: its 13 lines aren’t shown here.

drivers/net/wireless/b43/dma.c+17−3

This diff is large: its 27 lines aren’t shown here.

drivers/net/wireless/b43/main.c+3−2

This diff is large: its 25 lines aren’t shown here.

drivers/net/wireless/b43legacy/b43legacy.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/b43legacy/dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/hostap/hostap_cs.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/hostap/hostap_main.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/wireless/iwlegacy/iwl-3945.c+5−1

This diff is large: its 13 lines aren’t shown here.

drivers/net/wireless/iwlegacy/iwl-4965.c+6−2

This diff is large: its 22 lines aren’t shown here.

drivers/net/wireless/iwlwifi/iwl-5000.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/wireless/iwlwifi/iwl-core.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/net/wireless/iwlwifi/iwl-pci.c+17−22

This diff is large: its 89 lines aren’t shown here.

drivers/net/wireless/iwlwifi/iwl-power.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/net/wireless/orinoco/orinoco_cs.c+4−1

This diff is large: its 26 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt2800lib.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt2800usb.c+17−5

This diff is large: its 53 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt2x00lib.h+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt2x00mac.c+3−2

This diff is large: its 26 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt2x00usb.c+8−23

This diff is large: its 60 lines aren’t shown here.

drivers/net/wireless/rt2x00/rt73usb.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/wireless/rtlwifi/pci.c+11−9

This diff is large: its 27 lines aren’t shown here.

drivers/net/wireless/rtlwifi/rtl8192cu/sw.c+8−3

This diff is large: its 36 lines aren’t shown here.

drivers/net/wireless/wl1251/acx.c+1−5

This diff is large: its 21 lines aren’t shown here.

drivers/net/wireless/wl1251/cmd.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/wl12xx/acx.c+1−5

This diff is large: its 21 lines aren’t shown here.

drivers/net/wireless/wl12xx/main.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/net/wireless/wl12xx/sdio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/net/wireless/wl12xx/testmode.c+4−46

This diff is large: its 83 lines aren’t shown here.

drivers/nfc/pn533.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/of/address.c+1−1

This diff is large: its 8 lines aren’t shown here.

drivers/of/base.c+4−3

This diff is large: its 21 lines aren’t shown here.

drivers/of/gpio.c+3−2

This diff is large: its 19 lines aren’t shown here.

drivers/of/of_net.c+45−0

This diff is large: its 52 lines aren’t shown here.

drivers/oprofile/oprofile_stats.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pci/hotplug/acpi_pcihp.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/pci/hotplug/acpiphp_glue.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pci/hotplug/cpci_hotplug_core.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pci/hotplug/cpqphp_core.c+5−12

This diff is large: its 38 lines aren’t shown here.

drivers/pci/hotplug/pciehp_ctrl.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/pci/hotplug/pciehp_hpc.c+2−9

This diff is large: its 19 lines aren’t shown here.

drivers/pci/hotplug/pcihp_slot.c+3−44

This diff is large: its 61 lines aren’t shown here.

drivers/pci/of.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pci/pci-label.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pci/pci.c+75−3

This diff is large: its 127 lines aren’t shown here.

drivers/pci/pci.h+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/pci/pcie/aer/aerdrv_core.c+69−7

This diff is large: its 120 lines aren’t shown here.

drivers/pci/pcie/aer/aerdrv_errprint.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/pci/probe.c+188−46

This diff is large: its 323 lines aren’t shown here.

drivers/pci/setup-bus.c+116−53

This diff is large: its 467 lines aren’t shown here.

drivers/pci/setup-irq.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/pci/setup-res.c+96−59

This diff is large: its 214 lines aren’t shown here.

drivers/pci/xen-pcifront.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/pcmcia/pxa2xx_balloon3.c+0−10

This diff is large: its 23 lines aren’t shown here.

drivers/pcmcia/pxa2xx_cm_x255.c+0−11

This diff is large: its 24 lines aren’t shown here.

drivers/pcmcia/pxa2xx_cm_x270.c+0−11

This diff is large: its 24 lines aren’t shown here.

drivers/pcmcia/pxa2xx_colibri.c+0−11

This diff is large: its 25 lines aren’t shown here.

drivers/pcmcia/pxa2xx_mainstone.c+0−10

This diff is large: its 23 lines aren’t shown here.

drivers/pcmcia/pxa2xx_palmld.c+0−11

This diff is large: its 25 lines aren’t shown here.

drivers/pcmcia/pxa2xx_palmtc.c+0−11

This diff is large: its 25 lines aren’t shown here.

drivers/pcmcia/pxa2xx_palmtx.c+0−11

This diff is large: its 25 lines aren’t shown here.

drivers/pcmcia/pxa2xx_stargate2.c+11−23

This diff is large: its 74 lines aren’t shown here.

drivers/pcmcia/pxa2xx_viper.c+0−10

This diff is large: its 23 lines aren’t shown here.

drivers/pcmcia/soc_common.c+4−3

This diff is large: its 21 lines aren’t shown here.

drivers/platform/x86/Kconfig+8−0

This diff is large: its 13 lines aren’t shown here.

drivers/platform/x86/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/platform/x86/acer-wmi.c+36−4

This diff is large: its 96 lines aren’t shown here.

drivers/platform/x86/acerhdf.c+7−6

This diff is large: its 30 lines aren’t shown here.

drivers/platform/x86/asus-laptop.c+4−5

This diff is large: its 16 lines aren’t shown here.

drivers/platform/x86/asus-nb-wmi.c+23−4

This diff is large: its 54 lines aren’t shown here.

drivers/platform/x86/asus-wmi.c+212−27

This diff is large: its 442 lines aren’t shown here.

drivers/platform/x86/asus-wmi.h+7−0

This diff is large: its 27 lines aren’t shown here.

drivers/platform/x86/dell-laptop.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/platform/x86/dell-wmi.c+10−0

This diff is large: its 31 lines aren’t shown here.

drivers/platform/x86/eeepc-wmi.c+27−0

This diff is large: its 62 lines aren’t shown here.

drivers/platform/x86/ideapad-laptop.c+172−23

This diff is large: its 305 lines aren’t shown here.

drivers/platform/x86/intel_ips.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/platform/x86/intel_menlow.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/platform/x86/intel_mid_thermal.c+19−7

This diff is large: its 49 lines aren’t shown here.

drivers/platform/x86/intel_rar_register.c+1−3

This diff is large: its 17 lines aren’t shown here.

drivers/platform/x86/intel_scu_ipc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/platform/x86/msi-laptop.c+10−0

This diff is large: its 21 lines aren’t shown here.

drivers/platform/x86/msi-wmi.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/platform/x86/samsung-laptop.c+20−0

This diff is large: its 34 lines aren’t shown here.

drivers/platform/x86/samsung-q10.c+196−0

This diff is large: its 197 lines aren’t shown here.

drivers/platform/x86/thinkpad_acpi.c+10−1

This diff is large: its 20 lines aren’t shown here.

drivers/power/Kconfig+14−0

This diff is large: its 19 lines aren’t shown here.

drivers/power/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

drivers/power/apm_power.c+4−4

This diff is large: its 16 lines aren’t shown here.

drivers/power/bq20z75.c+94−9

This diff is large: its 159 lines aren’t shown here.

drivers/power/gpio-charger.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/power/max17042_battery.c+105−70

This diff is large: its 232 lines aren’t shown here.

drivers/power/max8903_charger.c+8−8

This diff is large: its 65 lines aren’t shown here.

drivers/power/max8997_charger.c+207−0

This diff is large: its 208 lines aren’t shown here.

drivers/power/max8998_charger.c+219−0

This diff is large: its 220 lines aren’t shown here.

drivers/power/s3c_adc_battery.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/power/twl4030_charger.c+5−5

This diff is large: its 45 lines aren’t shown here.

drivers/power/wm831x_backup.c+11−1

This diff is large: its 40 lines aren’t shown here.

drivers/power/wm831x_power.c+23−3

This diff is large: its 66 lines aren’t shown here.

drivers/rapidio/rio-scan.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/regulator/Kconfig+13−0

This diff is large: its 26 lines aren’t shown here.

drivers/regulator/Makefile+2−0

This diff is large: its 13 lines aren’t shown here.

drivers/regulator/aat2870-regulator.c+232−0

This diff is large: its 233 lines aren’t shown here.

drivers/regulator/core.c+110−80

This diff is large: its 454 lines aren’t shown here.

drivers/regulator/dummy.c+26−6

This diff is large: its 46 lines aren’t shown here.

drivers/regulator/tps65910-regulator.c+51−12

This diff is large: its 129 lines aren’t shown here.

drivers/regulator/tps65912-regulator.c+800−0

This diff is large: its 801 lines aren’t shown here.

drivers/regulator/twl-regulator.c+31−35

This diff is large: its 118 lines aren’t shown here.

drivers/regulator/wm831x-dcdc.c+65−61

This diff is large: its 188 lines aren’t shown here.

drivers/regulator/wm831x-ldo.c+22−3

This diff is large: its 58 lines aren’t shown here.

drivers/regulator/wm8994-regulator.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/rtc/interface.c+38−17

This diff is large: its 90 lines aren’t shown here.

drivers/rtc/rtc-ep93xx.c+8−8

This diff is large: its 56 lines aren’t shown here.

drivers/rtc/rtc-imxdi.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/rtc/rtc-lib.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/rtc/rtc-omap.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/rtc/rtc-s3c.c+57−48

This diff is large: its 175 lines aren’t shown here.

drivers/rtc/rtc-twl.c+24−36

This diff is large: its 108 lines aren’t shown here.

drivers/s390/block/dasd.c+5−4

This diff is large: its 40 lines aren’t shown here.

drivers/s390/block/dasd_eckd.c+9−0

This diff is large: its 16 lines aren’t shown here.

drivers/s390/block/dasd_eer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/block/dasd_ioctl.c+7−3

This diff is large: its 26 lines aren’t shown here.

drivers/s390/block/dasd_proc.c+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/s390/char/sclp_async.c+3−6

This diff is large: its 16 lines aren’t shown here.

drivers/s390/char/sclp_cmd.c+4−2

This diff is large: its 13 lines aren’t shown here.

drivers/s390/char/sclp_quiesce.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/char/vmlogrdr.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/cio/device.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/cio/qdio.h+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/s390/cio/qdio_debug.c+3−9

This diff is large: its 23 lines aren’t shown here.

drivers/s390/cio/qdio_main.c+19−4

This diff is large: its 78 lines aren’t shown here.

drivers/s390/cio/qdio_thinint.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/ap_bus.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_api.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_cex2a.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_mono.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_pcica.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_pcicc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/crypto/zcrypt_pcixcc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/net/fsm.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/s390/scsi/zfcp_scsi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/sbus/char/display7seg.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/be2iscsi/be_main.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/scsi/bfa/bfa.h+44−7

This diff is large: its 115 lines aren’t shown here.

drivers/scsi/bfa/bfa_core.c+38−22

This diff is large: its 177 lines aren’t shown here.

drivers/scsi/bfa/bfa_defs.h+171−0

This diff is large: its 225 lines aren’t shown here.

drivers/scsi/bfa/bfa_defs_svc.h+99−0

This diff is large: its 133 lines aren’t shown here.

drivers/scsi/bfa/bfa_fc.h+155−0

This diff is large: its 162 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcpim.c+734−2

This diff is large: its 883 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcpim.h+36−9

This diff is large: its 93 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcs.c+26−0

This diff is large: its 47 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcs.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcs_fcpim.c+35−2

This diff is large: its 71 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcs_lport.c+70−4

This diff is large: its 148 lines aren’t shown here.

drivers/scsi/bfa/bfa_fcs_rport.c+46−3

This diff is large: its 106 lines aren’t shown here.

drivers/scsi/bfa/bfa_hw_cb.c+34−4

This diff is large: its 55 lines aren’t shown here.

drivers/scsi/bfa/bfa_hw_ct.c+24−1

This diff is large: its 38 lines aren’t shown here.

drivers/scsi/bfa/bfa_ioc.c+567−2

This diff is large: its 672 lines aren’t shown here.

drivers/scsi/bfa/bfa_ioc.h+47−1

This diff is large: its 83 lines aren’t shown here.

drivers/scsi/bfa/bfa_modules.h+3−0

This diff is large: its 23 lines aren’t shown here.

drivers/scsi/bfa/bfa_svc.c+179−70

This diff is large: its 483 lines aren’t shown here.

drivers/scsi/bfa/bfa_svc.h+20−9

This diff is large: its 74 lines aren’t shown here.

drivers/scsi/bfa/bfad.c+7−1

This diff is large: its 22 lines aren’t shown here.

drivers/scsi/bfa/bfad_bsg.c+1078−6

This diff is large: its 1215 lines aren’t shown here.

drivers/scsi/bfa/bfad_bsg.h+237−0

This diff is large: its 311 lines aren’t shown here.

drivers/scsi/bfa/bfad_drv.h+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/scsi/bfa/bfad_im.c+26−0

This diff is large: its 40 lines aren’t shown here.

drivers/scsi/bfa/bfad_im.h+22−0

This diff is large: its 31 lines aren’t shown here.

drivers/scsi/bfa/bfi.h+20−0

This diff is large: its 34 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc.h+62−45

This diff is large: its 241 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_debug.h+8−8

This diff is large: its 52 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_els.c+422−12

This diff is large: its 500 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_fcoe.c+343−389

This diff is large: its 1466 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_hwi.c+338−95

This diff is large: its 795 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_io.c+157−37

This diff is large: its 429 lines aren’t shown here.

drivers/scsi/bnx2fc/bnx2fc_tgt.c+32−19

This diff is large: its 191 lines aren’t shown here.

drivers/scsi/bnx2i/bnx2i_hwi.c+5−5

This diff is large: its 41 lines aren’t shown here.

drivers/scsi/bnx2i/bnx2i_iscsi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/device_handler/scsi_dh_rdac.c+43−39

This diff is large: its 167 lines aren’t shown here.

drivers/scsi/dpt/dpti_i2o.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/fcoe/fcoe.c+40−42

This diff is large: its 171 lines aren’t shown here.

drivers/scsi/hpsa.c+40−23

This diff is large: its 158 lines aren’t shown here.

drivers/scsi/hpsa.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/ipr.c+6−6

This diff is large: its 40 lines aren’t shown here.

drivers/scsi/isci/host.c+12−1

This diff is large: its 41 lines aren’t shown here.

drivers/scsi/isci/host.h+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/scsi/isci/init.c+28−19

This diff is large: its 102 lines aren’t shown here.

drivers/scsi/isci/phy.c+13−0

This diff is large: its 27 lines aren’t shown here.

drivers/scsi/isci/registers.h+12−0

This diff is large: its 19 lines aren’t shown here.

drivers/scsi/isci/request.c+16−14

This diff is large: its 70 lines aren’t shown here.

drivers/scsi/isci/unsolicited_frame_control.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/isci/unsolicited_frame_control.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/libfc/fc_exch.c+46−22

This diff is large: its 154 lines aren’t shown here.

drivers/scsi/libfc/fc_fcp.c+13−7

This diff is large: its 81 lines aren’t shown here.

drivers/scsi/libfc/fc_lport.c+10−2

This diff is large: its 34 lines aren’t shown here.

drivers/scsi/libiscsi.c+3−19

This diff is large: its 50 lines aren’t shown here.

drivers/scsi/libsas/sas_expander.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/scsi/lpfc/lpfc.h+14−1

This diff is large: its 48 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_attr.c+86−75

This diff is large: its 267 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_bsg.c+64−25

This diff is large: its 303 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_crtn.h+12−0

This diff is large: its 40 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_debugfs.c+1377−79

This diff is large: its 1668 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_debugfs.h+123−2

This diff is large: its 167 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_els.c+66−39

This diff is large: its 280 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_hbadisc.c+213−9

This diff is large: its 327 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_hw.h+6−1

This diff is large: its 18 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_hw4.h+16−14

This diff is large: its 94 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_init.c+68−22

This diff is large: its 205 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_mbox.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_scsi.c+30−67

This diff is large: its 219 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_sli.c+354−45

This diff is large: its 676 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_sli4.h+24−5

This diff is large: its 54 lines aren’t shown here.

drivers/scsi/lpfc/lpfc_version.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/megaraid/megaraid_sas.h+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/scsi/megaraid/megaraid_sas_base.c+17−1

This diff is large: its 46 lines aren’t shown here.

drivers/scsi/megaraid/megaraid_sas_fp.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/scsi/mpt2sas/mpt2sas_scsih.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/scsi/mvsas/Kconfig+8−1

This diff is large: its 20 lines aren’t shown here.

drivers/scsi/mvsas/mv_64xx.c+57−44

This diff is large: its 242 lines aren’t shown here.

drivers/scsi/mvsas/mv_94xx.c+426−82

This diff is large: its 720 lines aren’t shown here.

drivers/scsi/mvsas/mv_94xx.h+82−17

This diff is large: its 146 lines aren’t shown here.

drivers/scsi/mvsas/mv_chips.h+3−14

This diff is large: its 42 lines aren’t shown here.

drivers/scsi/mvsas/mv_defs.h+5−6

This diff is large: its 53 lines aren’t shown here.

drivers/scsi/mvsas/mv_init.c+144−43

This diff is large: its 393 lines aren’t shown here.

drivers/scsi/mvsas/mv_sas.c+163−259

This diff is large: its 915 lines aren’t shown here.

drivers/scsi/mvsas/mv_sas.h+87−18

This diff is large: its 201 lines aren’t shown here.

drivers/scsi/pm8001/pm8001_sas.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/pmcraid.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_attr.c+102−88

This diff is large: its 509 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_bsg.c+238−203

This diff is large: its 995 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_dbg.c+288−108

This diff is large: its 498 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_dbg.h+47−140

This diff is large: its 198 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_def.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_dfs.c+8−8

This diff is large: its 51 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_fw.h+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_gbl.h+6−2

This diff is large: its 29 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_gs.c+188−183

This diff is large: its 811 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_init.c+432−427

This diff is large: its 1904 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_inline.h+33−4

This diff is large: its 45 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_iocb.c+285−111

This diff is large: its 679 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_isr.c+412−360

This diff is large: its 1533 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_mbx.c+517−574

This diff is large: its 2608 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_mid.c+109−53

This diff is large: its 386 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_nx.c+326−255

This diff is large: its 1452 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_os.c+497−282

This diff is large: its 1702 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_sup.c+157−118

This diff is large: its 639 lines aren’t shown here.

drivers/scsi/qla2xxx/qla_version.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/scsi/qla4xxx/Kconfig+1−1

This diff is large: its 8 lines aren’t shown here.

drivers/scsi/scsi_lib.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/scsi/scsi_transport_spi.c+24−0

This diff is large: its 38 lines aren’t shown here.

drivers/sh/clk/core.c+27−2

This diff is large: its 54 lines aren’t shown here.

drivers/sh/intc/chip.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/spi/spi-pl022.c+3−8

This diff is large: its 29 lines aren’t shown here.

drivers/staging/ath6kl/miscdrv/ar3kps/ar3kpsparser.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/ath6kl/os/linux/ar6000_drv.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/brcm80211/brcmsmac/mac80211_if.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/staging/brcm80211/brcmsmac/otp.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/brcm80211/brcmsmac/types.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/cxd2099/Kconfig+6−5

This diff is large: its 16 lines aren’t shown here.

drivers/staging/cxd2099/cxd2099.c+227−84

This diff is large: its 531 lines aren’t shown here.

drivers/staging/cxd2099/cxd2099.h+14−4

This diff is large: its 34 lines aren’t shown here.

drivers/staging/dt3155v4l/dt3155v4l.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/ft1000/ft1000-pcmcia/ft1000_proc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/gma500/gem_glue.c+1−22

This diff is large: its 37 lines aren’t shown here.

drivers/staging/gma500/gem_glue.h+0−2

This diff is large: its 5 lines aren’t shown here.

drivers/staging/gma500/mdfld_dsi_dbi.c+2−1

This diff is large: its 13 lines aren’t shown here.

drivers/staging/gma500/mdfld_dsi_dbi.h+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/staging/gma500/mdfld_dsi_dpi.c+6−1

This diff is large: its 17 lines aren’t shown here.

drivers/staging/gma500/mdfld_dsi_output.c+3−1

This diff is large: its 11 lines aren’t shown here.

drivers/staging/gma500/medfield.h+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/staging/gma500/mrst_hdmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/gma500/psb_drv.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/staging/hv/blkvsc_drv.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/staging/iio/accel/adis16203_core.c+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/staging/iio/accel/adis16204_core.c+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/staging/iio/accel/adis16209_core.c+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/staging/iio/accel/adis16240_core.c+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/staging/iio/gyro/adis16260_core.c+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/staging/nvec/TODO+4−2

This diff is large: its 10 lines aren’t shown here.

drivers/staging/octeon/ethernet-rgmii.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/octeon/ethernet-rx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/octeon/ethernet-spi.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/octeon/ethernet-tx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/rtl8192u/r819xU_firmware.c+3−6

This diff is large: its 14 lines aren’t shown here.

drivers/staging/rts_pstor/rtsx.c+42−67

This diff is large: its 235 lines aren’t shown here.

drivers/staging/rts_pstor/rtsx.h+8−1

This diff is large: its 18 lines aren’t shown here.

drivers/staging/solo6x10/core.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/solo6x10/enc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/solo6x10/g723.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/solo6x10/p2m.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/staging/solo6x10/solo6x10.h+2−1

This diff is large: its 11 lines aren’t shown here.

drivers/staging/speakup/devsynth.c+3−2

This diff is large: its 17 lines aren’t shown here.

drivers/staging/tidspbridge/core/dsp-clock.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/staging/tidspbridge/include/dspbridge/host_os.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/tm6000/tm6000-alsa.c+4−8

This diff is large: its 49 lines aren’t shown here.

drivers/staging/winbond/mds_s.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/winbond/wb35reg_s.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/zcache/Makefile+1−1

This diff is large: its 5 lines aren’t shown here.

drivers/staging/zcache/tmem.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/staging/zcache/zcache-main.crenamed from drivers/staging/zcache/zcache.c+14−7

This diff is large: its 90 lines aren’t shown here.

drivers/target/Kconfig+1−0

This diff is large: its 7 lines aren’t shown here.

drivers/target/Makefile+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/target/iscsi/Kconfig+9−0

This diff is large: its 10 lines aren’t shown here.

drivers/target/iscsi/Makefile+20−0

This diff is large: its 21 lines aren’t shown here.

drivers/target/iscsi/iscsi_target.c+4563−0

This diff is large: its 4564 lines aren’t shown here.

drivers/target/iscsi/iscsi_target.h+42−0

This diff is large: its 43 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_auth.c+490−0

This diff is large: its 491 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_auth.h+31−0

This diff is large: its 32 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_configfs.c+1882−0

This diff is large: its 1883 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_configfs.h+7−0

This diff is large: its 8 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_core.h+859−0

This diff is large: its 860 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_datain_values.c+531−0

This diff is large: its 532 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_datain_values.h+12−0

This diff is large: its 13 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_device.c+87−0

This diff is large: its 88 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_device.h+9−0

This diff is large: its 10 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl0.c+1004−0

This diff is large: its 1005 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl0.h+15−0

This diff is large: its 16 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl1.c+1299−0

This diff is large: its 1300 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl1.h+26−0

This diff is large: its 27 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl2.c+474−0

This diff is large: its 475 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_erl2.h+18−0

This diff is large: its 19 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_login.c+1222−0

This diff is large: its 1223 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_login.h+12−0

This diff is large: its 13 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_nego.c+1067−0

This diff is large: its 1068 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_nego.h+17−0

This diff is large: its 18 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_nodeattrib.c+263−0

This diff is large: its 264 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_nodeattrib.h+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_parameters.c+1894−0

This diff is large: its 1895 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_parameters.h+269−0

This diff is large: its 270 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_seq_pdu_list.c+664−0

This diff is large: its 665 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_seq_pdu_list.h+86−0

This diff is large: its 87 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_stat.c+950−0

This diff is large: its 951 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_stat.h+64−0

This diff is large: its 65 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tmr.c+849−0

This diff is large: its 850 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tmr.h+14−0

This diff is large: its 15 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tpg.c+759−0

This diff is large: its 760 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tpg.h+41−0

This diff is large: its 42 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tq.c+551−0

This diff is large: its 552 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_tq.h+88−0

This diff is large: its 89 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_util.c+1817−0

This diff is large: its 1818 lines aren’t shown here.

drivers/target/iscsi/iscsi_target_util.h+60−0

This diff is large: its 61 lines aren’t shown here.

drivers/target/target_core_cdb.c+34−23

This diff is large: its 134 lines aren’t shown here.

drivers/target/target_core_device.c+39−9

This diff is large: its 96 lines aren’t shown here.

drivers/target/target_core_fabric_configfs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/target/target_core_pr.c+4−4

This diff is large: its 34 lines aren’t shown here.

drivers/target/target_core_rd.c+8−16

This diff is large: its 70 lines aren’t shown here.

drivers/target/target_core_tpg.c+36−28

This diff is large: its 195 lines aren’t shown here.

drivers/target/target_core_transport.c+155−91

This diff is large: its 444 lines aren’t shown here.

drivers/target/tcm_fc/tcm_fc.h+5−0

This diff is large: its 10 lines aren’t shown here.

drivers/target/tcm_fc/tfc_cmd.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/target/tcm_fc/tfc_conf.c+2−4

This diff is large: its 28 lines aren’t shown here.

drivers/target/tcm_fc/tfc_io.c+72−49

This diff is large: its 139 lines aren’t shown here.

drivers/thermal/Kconfig+2−6

This diff is large: its 14 lines aren’t shown here.

drivers/thermal/thermal_sys.c+111−31

This diff is large: its 222 lines aren’t shown here.

drivers/tty/bfin_jtag_comm.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/pty.c+15−2

This diff is large: its 47 lines aren’t shown here.

drivers/tty/rocket.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/serial/8250.c+5−3

This diff is large: its 35 lines aren’t shown here.

drivers/tty/serial/8250_pci.c+5−6

This diff is large: its 31 lines aren’t shown here.

drivers/tty/serial/8250_pnp.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/tty/serial/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/serial/atmel_serial.c+5−3

This diff is large: its 15 lines aren’t shown here.

drivers/tty/serial/crisv10.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/tty/serial/dz.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/serial/imx.c+135−26

This diff is large: its 297 lines aren’t shown here.

drivers/tty/serial/max3107-aava.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/tty/serial/max3107.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/tty/serial/mrst_max3110.c+1−1

This diff is large: its 6 lines aren’t shown here.

drivers/tty/serial/omap-serial.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/tty/serial/pch_uart.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/tty/serial/samsung.c+6−2

This diff is large: its 22 lines aren’t shown here.

drivers/tty/serial/sb1250-duart.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/serial/serial_core.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/tty/serial/sh-sci.c+524−305

This diff is large: its 1128 lines aren’t shown here.

drivers/tty/serial/sh-sci.h+2−432

This diff is large: its 451 lines aren’t shown here.

drivers/tty/serial/ucc_uart.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/serial/zs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/tty/tty_io.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/usb/class/usbtmc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/core/config.c+6−5

This diff is large: its 28 lines aren’t shown here.

drivers/usb/core/hcd.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/usb/gadget/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/gadget/at91_udc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/gadget/composite.c+4−2

This diff is large: its 15 lines aren’t shown here.

drivers/usb/gadget/f_audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/gadget/f_hid.c+7−0

This diff is large: its 14 lines aren’t shown here.

drivers/usb/gadget/f_phonet.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/gadget/f_rndis.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/gadget/fusb300_udc.c+0−101

This diff is large: its 108 lines aren’t shown here.

drivers/usb/gadget/net2272.c+1−1

This diff is large: its 15 lines aren’t shown here.

drivers/usb/gadget/s3c2410_udc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/gadget/uvc_queue.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/gadget/uvc_v4l2.c+3−19

This diff is large: its 55 lines aren’t shown here.

drivers/usb/host/ehci-hub.c+15−4

This diff is large: its 48 lines aren’t shown here.

drivers/usb/host/ehci-mxc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/host/ehci-omap.c+16−0

This diff is large: its 40 lines aren’t shown here.

drivers/usb/host/ehci-s5p.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/host/isp1760-hcd.c+3−0

This diff is large: its 10 lines aren’t shown here.

drivers/usb/host/pci-quirks.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/usb/host/xhci-hub.c+13−4

This diff is large: its 40 lines aren’t shown here.

drivers/usb/host/xhci-ring.c+63−27

This diff is large: its 215 lines aren’t shown here.

drivers/usb/host/xhci.c+38−9

This diff is large: its 135 lines aren’t shown here.

drivers/usb/image/microtek.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/misc/appledisplay.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/usb/musb/Kconfig+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/usb/musb/blackfin.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/musb/cppi_dma.c+17−9

This diff is large: its 73 lines aren’t shown here.

drivers/usb/musb/musb_core.h+8−4

This diff is large: its 40 lines aren’t shown here.

drivers/usb/musb/musb_gadget.c+8−1

This diff is large: its 37 lines aren’t shown here.

drivers/usb/musb/musb_regs.h+4−2

This diff is large: its 20 lines aren’t shown here.

drivers/usb/musb/tusb6010.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/musb/tusb6010_omap.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/usb/musb/ux500_dma.c+21−17

This diff is large: its 96 lines aren’t shown here.

drivers/usb/renesas_usbhs/fifo.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/usb/renesas_usbhs/mod_gadget.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/usb/serial/ftdi_sio.c+25−3

This diff is large: its 77 lines aren’t shown here.

This diff is larger than a page shows: the files after these aren’t listed. Clone the repository to see all of it.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t