History

Merge branches 'for-3.7/upstream-fixes', 'for-3.8/hidraw', 'for-3.8/i2c-hid', 'for-3.8/multitouch', 'for-3.8/roccat', 'for-3.8/sensors' and 'for-3.8/upstream' into for-linus

Jiri Kosina committed 13 years ago

Commit 818b9307 parents f9af7b9 b553131 7a7d6d9 1b42fc4 955dca3 68fd32b 4529eef12274 files · +592857 −339767Browse files

Unified · Split

2755 files
  1. .gitignore +8 −0
  2. Documentation/00-INDEX +2 −4
  3. Documentation/ABI/obsolete/proc-pid-oom_adj +0 −22
  4. Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus +38 −0
  5. Documentation/ABI/obsolete/sysfs-driver-hid-roccat-kovaplus +66 −0
  6. Documentation/ABI/obsolete/sysfs-driver-hid-roccat-pyra +73 −0
  7. Documentation/ABI/testing/ima_policy +21 −4
  8. Documentation/ABI/testing/sysfs-block +14 −0
  9. Documentation/ABI/testing/sysfs-bus-fcoe +6 −6
  10. Documentation/ABI/testing/sysfs-bus-rbd +12 −6
  11. Documentation/ABI/testing/sysfs-bus-usb +7 −0
  12. Documentation/ABI/testing/sysfs-devices-firmware_node +17 −0
  13. Documentation/ABI/testing/sysfs-devices-system-cpu +11 −0
  14. Documentation/ABI/testing/sysfs-driver-hid-roccat-isku +8 −0
  15. Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus +12 −36
  16. Documentation/ABI/testing/sysfs-driver-hid-roccat-kovaplus +9 −60
  17. Documentation/ABI/testing/sysfs-driver-hid-roccat-lua +7 −0
  18. Documentation/ABI/testing/sysfs-driver-hid-roccat-pyra +9 −67
  19. Documentation/ABI/testing/sysfs-driver-hid-roccat-savu +1 −2
  20. Documentation/ABI/testing/sysfs-driver-ppi +70 −0
  21. Documentation/ABI/testing/sysfs-fs-ext4 +13 −0
  22. Documentation/ABI/testing/sysfs-ptp +5 −1
  23. Documentation/ABI/testing/sysfs-tty +9 −0
  24. Documentation/CodingStyle +10 −0
  25. Documentation/DocBook/drm.tmpl +2226 −609
  26. Documentation/DocBook/media/Makefile +39 −39
  27. Documentation/DocBook/media/dvb/audio.xml +112 −1
  28. Documentation/DocBook/media/dvb/ca.xml +353 −0
  29. Documentation/DocBook/media/dvb/demux.xml +229 −1
  30. Documentation/DocBook/media/dvb/dvbapi.xml +2 −2
  31. Documentation/DocBook/media/dvb/dvbproperty.xml +95 −18
  32. Documentation/DocBook/media/dvb/frontend.xml +50 −21
  33. Documentation/DocBook/media/dvb/intro.xml +1 −1
  34. Documentation/DocBook/media/dvb/kdapi.xml +1 −1
  35. Documentation/DocBook/media/dvb/net.xml +127 −0
  36. Documentation/DocBook/media/dvb/video.xml +322 −11
  37. Documentation/DocBook/media/v4l/biblio.xml +46 −6
  38. Documentation/DocBook/media/v4l/common.xml +14 −16
  39. Documentation/DocBook/media/v4l/compat.xml +4 −39
  40. Documentation/DocBook/media/v4l/controls.xml +664 −228
  41. Documentation/DocBook/media/v4l/dev-osd.xml +0 −7
  42. Documentation/DocBook/media/v4l/dev-rds.xml +1 −1
  43. Documentation/DocBook/media/v4l/dev-subdev.xml +10 −10
  44. Documentation/DocBook/media/v4l/gen-errors.xml +9 −10
  45. Documentation/DocBook/media/v4l/io.xml +9 −18
  46. Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +12 −5
  47. Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml +1 −2
  48. Documentation/DocBook/media/v4l/pixfmt-yvu420m.xml +154 −0
  49. Documentation/DocBook/media/v4l/pixfmt.xml +39 −0
  50. Documentation/DocBook/media/v4l/selection-api.xml +11 −11
  51. Documentation/DocBook/media/v4l/subdev-formats.xml +44 −0
  52. Documentation/DocBook/media/v4l/v4l2.xml +8 −7
  53. Documentation/DocBook/media/v4l/vidioc-cropcap.xml +7 −5
  54. Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml +0 −7
  55. Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml +0 −7
  56. Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml +6 −0
  57. Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml +6 −0
  58. Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml +5 −4
  59. Documentation/DocBook/media/v4l/vidioc-enum-framesizes.xml +0 −7
  60. Documentation/DocBook/media/v4l/vidioc-enuminput.xml +1 −1
  61. Documentation/DocBook/media/v4l/vidioc-enumoutput.xml +1 −1
  62. Documentation/DocBook/media/v4l/vidioc-enumstd.xml +6 −0
  63. Documentation/DocBook/media/v4l/vidioc-g-crop.xml +2 −4
  64. Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml +6 −3
  65. Documentation/DocBook/media/v4l/vidioc-g-dv-timings.xml +9 −4
  66. Documentation/DocBook/media/v4l/vidioc-g-enc-index.xml +0 −7
  67. Documentation/DocBook/media/v4l/vidioc-g-fmt.xml +7 −6
  68. Documentation/DocBook/media/v4l/vidioc-g-parm.xml +1 −3
  69. Documentation/DocBook/media/v4l/vidioc-g-selection.xml +4 −5
  70. Documentation/DocBook/media/v4l/vidioc-g-std.xml +9 −1
  71. Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +6 −0
  72. Documentation/DocBook/media/v4l/vidioc-qbuf.xml +3 −2
  73. Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml +9 −0
  74. Documentation/DocBook/media/v4l/vidioc-query-dv-timings.xml +6 −0
  75. Documentation/DocBook/media/v4l/vidioc-querybuf.xml +7 −4
  76. Documentation/DocBook/media/v4l/vidioc-querycap.xml +6 −4
  77. Documentation/DocBook/media/v4l/vidioc-querystd.xml +8 −0
  78. Documentation/DocBook/media/v4l/vidioc-reqbufs.xml +2 −3
  79. Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml +10 −0
  80. Documentation/DocBook/media/v4l/vidioc-streamon.xml +6 −1
  81. Documentation/DocBook/media/v4l/vidioc-subdev-g-edid.xml +152 −0
  82. Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml +4 −4
  83. Documentation/DocBook/media_api.tmpl +5 −4
  84. Documentation/DocBook/mtdnand.tmpl +0 −2
  85. Documentation/DocBook/networking.tmpl +2 −2
  86. Documentation/IPMI.txt +3 −62
  87. Documentation/aoe/aoe.txt +38 −20
  88. Documentation/aoe/mkdevs.sh +0 −41
  89. Documentation/aoe/mkshelf.sh +0 −28
  90. Documentation/aoe/status.sh +3 −0
  91. Documentation/arm/Booting +21 −1
  92. Documentation/arm/Marvell/README +232 −0
  93. Documentation/arm/Samsung-S3C24XX/GPIO.txt +25 −57
  94. Documentation/arm/Samsung/GPIO.txt +3 −5
  95. Documentation/arm/memory.txt +3 −0
  96. Documentation/arm64/memory.txt +6 −6
  97. Documentation/block/biodoc.txt +0 −5
  98. Documentation/cgroups/cgroups.txt +56 −36
  99. Documentation/cgroups/memory.txt +45 −45
  100. Documentation/cpu-freq/boost.txt +93 −0
  101. Documentation/cpuidle/sysfs.txt +9 −1
  102. Documentation/crypto/asymmetric-keys.txt +312 −0
  103. Documentation/device-mapper/dm-raid.txt +9 −0
  104. Documentation/devicetree/bindings/arm/arm-boards +12 −0
  105. Documentation/devicetree/bindings/arm/atmel-at91.txt +1 −1
  106. Documentation/devicetree/bindings/arm/bcm2835.txt +8 −0
  107. Documentation/devicetree/bindings/arm/calxeda/combophy.txt +17 −0
  108. Documentation/devicetree/bindings/arm/davinci/nand.txt +51 −0
  109. Documentation/devicetree/bindings/arm/mrvl/tauros2.txt +17 −0
  110. Documentation/devicetree/bindings/arm/msm/timer.txt +38 −0
  111. Documentation/devicetree/bindings/arm/omap/omap.txt +3 −0
  112. Documentation/devicetree/bindings/arm/pmu.txt +4 −0
  113. Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt +31 −0
  114. Documentation/devicetree/bindings/arm/vt8500.txt +14 −0
  115. Documentation/devicetree/bindings/arm/vt8500/via,vt8500-intc.txt +16 −0
  116. Documentation/devicetree/bindings/arm/vt8500/via,vt8500-pmc.txt +13 −0
  117. Documentation/devicetree/bindings/arm/vt8500/via,vt8500-timer.txt +15 −0
  118. Documentation/devicetree/bindings/arm/xen.txt +25 −0
  119. Documentation/devicetree/bindings/ata/ahci-platform.txt +9 −0
  120. Documentation/devicetree/bindings/ata/pata-arasan.txt +17 −0
  121. Documentation/devicetree/bindings/bus/omap-ocp2scp.txt +10 −0
  122. Documentation/devicetree/bindings/clock/imx23-clock.txt +76 −0
  123. Documentation/devicetree/bindings/clock/imx28-clock.txt +99 −0
  124. Documentation/devicetree/bindings/clock/imx6q-clock.txt +222 −0
  125. Documentation/devicetree/bindings/clock/vt8500.txt +72 −0
  126. Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt +55 −0
  127. Documentation/devicetree/bindings/crypto/fsl-sec4.txt +51 −0
  128. Documentation/devicetree/bindings/crypto/mv_cesa.txt +20 −0
  129. Documentation/devicetree/bindings/dma/arm-pl330.txt +3 −0
  130. Documentation/devicetree/bindings/dma/mmp-dma.txt +74 −0
  131. Documentation/devicetree/bindings/gpio/gpio-74x164.txt +22 −0
  132. Documentation/devicetree/bindings/gpio/gpio-adnp.txt +34 −0
  133. Documentation/devicetree/bindings/gpio/gpio-fan.txt +25 −0
  134. Documentation/devicetree/bindings/gpio/gpio-mvebu.txt +53 −0
  135. Documentation/devicetree/bindings/gpio/gpio-samsung.txt +43 −0
  136. Documentation/devicetree/bindings/gpio/gpio-twl4030.txt +6 −0
  137. Documentation/devicetree/bindings/gpio/gpio-vt8500.txt +24 −0
  138. Documentation/devicetree/bindings/gpio/led.txt +1 −1
  139. Documentation/devicetree/bindings/i2c/atmel-i2c.txt +30 −0
  140. Documentation/devicetree/bindings/i2c/davinci.txt +28 −0
  141. Documentation/devicetree/bindings/i2c/i2c-mxs.txt +2 −0
  142. Documentation/devicetree/bindings/i2c/nomadik.txt +23 −0
  143. Documentation/devicetree/bindings/i2c/trivial-devices.txt +1 −0
  144. Documentation/devicetree/bindings/input/gpio-keys-polled.txt +38 −0
  145. Documentation/devicetree/bindings/input/rotary-encoder.txt +36 −0
  146. Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt +19 −0
  147. Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt +110 −0
  148. Documentation/devicetree/bindings/interrupt-controller/interrupts.txt +95 −0
  149. Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt +52 −0
  150. Documentation/devicetree/bindings/lpddr2/lpddr2.txt +102 −0
  151. Documentation/devicetree/bindings/media/exynos5-gsc.txt +30 −0
  152. Documentation/devicetree/bindings/memory-controllers/ti/emif.txt +55 −0
  153. Documentation/devicetree/bindings/mfd/88pm860x.txt +85 −0
  154. Documentation/devicetree/bindings/mfd/ab8500.txt +15 −0
  155. Documentation/devicetree/bindings/mfd/syscon.txt +20 −0
  156. Documentation/devicetree/bindings/mfd/tps65910.txt +4 −0
  157. Documentation/devicetree/bindings/mfd/twl4030-audio.txt +46 −0
  158. Documentation/devicetree/bindings/mfd/twl6040.txt +6 −3
  159. Documentation/devicetree/bindings/misc/ifm-csi.txt +41 −0
  160. Documentation/devicetree/bindings/mmc/atmel-hsmci.txt +68 −0
  161. Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt +87 −0
  162. Documentation/devicetree/bindings/mmc/mmc.txt +7 −2
  163. Documentation/devicetree/bindings/mmc/pxa-mmc.txt +25 −0
  164. Documentation/devicetree/bindings/mmc/samsung-sdhci.txt +53 −0
  165. Documentation/devicetree/bindings/mmc/sdhci-dove.txt +14 −0
  166. Documentation/devicetree/bindings/mmc/sdhci-spear.txt +18 −0
  167. Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt +79 −0
  168. Documentation/devicetree/bindings/mtd/atmel-nand.txt +39 −1
  169. Documentation/devicetree/bindings/mtd/gpmi-nand.txt +4 −0
  170. Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt +50 −0
  171. Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt +52 −0
  172. Documentation/devicetree/bindings/mtd/mtd-physmap.txt +7 −0
  173. Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt +31 −0
  174. Documentation/devicetree/bindings/net/calxeda-xgmac.txt +3 −0
  175. Documentation/devicetree/bindings/net/can/c_can.txt +49 −0
  176. Documentation/devicetree/bindings/net/cpsw.txt +109 −0
  177. Documentation/devicetree/bindings/net/davinci-mdio.txt +33 −0
  178. Documentation/devicetree/bindings/net/mdio-mux-mmioreg.txt +75 −0
  179. Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt +74 −0
  180. Documentation/devicetree/bindings/pinctrl/fsl,imx35-pinctrl.txt +984 −0
  181. Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt +83 −0
  182. Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt +97 −0
  183. Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt +95 −0
  184. Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt +100 −0
  185. Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt +72 −0
  186. Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt +279 −0
  187. Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt +46 −0
  188. Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt +1 −1
  189. Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt +1 −1
  190. Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt +38 −3
  191. Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +196 −0
  192. Documentation/devicetree/bindings/power/opp.txt +25 −0
  193. Documentation/devicetree/bindings/powerpc/fsl/ifc.txt +6 −3
  194. Documentation/devicetree/bindings/pwm/imx-pwm.txt +17 −0
  195. Documentation/devicetree/bindings/pwm/mxs-pwm.txt +2 −2
  196. Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +1 −1
  197. Documentation/devicetree/bindings/regulator/88pm860x.txt +30 −0
  198. Documentation/devicetree/bindings/regulator/max8907.txt +69 −0
  199. Documentation/devicetree/bindings/regulator/tps6586x.txt +6 −0
  200. Documentation/devicetree/bindings/rtc/pxa-rtc.txt +14 −0
  201. Documentation/devicetree/bindings/rtc/snvs-rtc.txt +1 −0
  202. Documentation/devicetree/bindings/rtc/via,vt8500-rtc.txt +15 −0
  203. Documentation/devicetree/bindings/serial/fsl-imx-uart.txt +35 −0
  204. Documentation/devicetree/bindings/sound/cs4270.txt +21 −0
  205. Documentation/devicetree/bindings/sound/cs4271.txt +36 −0
  206. Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt +45 −0
  207. Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt +91 −0
  208. Documentation/devicetree/bindings/sound/omap-mcbsp.txt +37 −0
  209. Documentation/devicetree/bindings/sound/omap-twl4030.txt +17 −0
  210. Documentation/devicetree/bindings/sound/tlv320aic3x.txt +20 −0
  211. Documentation/devicetree/bindings/sound/ux500-mop500.txt +39 −0
  212. Documentation/devicetree/bindings/sound/ux500-msp.txt +43 −0
  213. Documentation/devicetree/bindings/spi/mxs-spi.txt +22 −0
  214. Documentation/devicetree/bindings/spi/spi-bus.txt +3 −0
  215. Documentation/devicetree/bindings/spi/spi-gpio.txt +29 −0
  216. Documentation/devicetree/bindings/spi/spi-octeon.txt +33 −0
  217. Documentation/devicetree/bindings/spi/spi-sc18is602.txt +23 −0
  218. Documentation/devicetree/bindings/spi/spi_pl022.txt +22 −0
  219. Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt +22 −0
  220. Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt +14 −0
  221. Documentation/devicetree/bindings/tty/serial/of-serial.txt +2 −0
  222. Documentation/devicetree/bindings/tty/serial/via,vt8500-uart.txt +17 −0
  223. Documentation/devicetree/bindings/usb/am33xx-usb.txt +14 −0
  224. Documentation/devicetree/bindings/usb/ci13xxx-imx.txt +5 −0
  225. Documentation/devicetree/bindings/usb/omap-usb.txt +33 −0
  226. Documentation/devicetree/bindings/usb/platform-uhci.txt +15 −0
  227. Documentation/devicetree/bindings/usb/pxa-usb.txt +31 −0
  228. Documentation/devicetree/bindings/usb/twlxxxx-usb.txt +40 −0
  229. Documentation/devicetree/bindings/usb/usb-phy.txt +17 −0
  230. Documentation/devicetree/bindings/usb/usbmisc-imx.txt +14 −0
  231. Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt +15 −0
  232. Documentation/devicetree/bindings/usb/vt8500-ehci.txt +12 −0
  233. Documentation/devicetree/bindings/vendor-prefixes.txt +3 −0
  234. Documentation/devicetree/bindings/video/backlight/88pm860x.txt +15 −0
  235. Documentation/devicetree/bindings/video/via,vt8500-fb.txt +62 −0
  236. Documentation/devicetree/bindings/video/wm,prizm-ge-rops.txt +13 −0
  237. Documentation/devicetree/bindings/video/wm,wm8505-fb.txt +23 −0
  238. Documentation/driver-model/devres.txt +4 −0
  239. Documentation/dvb/README.dvb-usb +1 −1
  240. Documentation/dvb/get_dvb_firmware +1 −1
  241. Documentation/feature-removal-schedule.txt +0 −607
  242. Documentation/filesystems/ext4.txt +10 −0
  243. Documentation/filesystems/jfs.txt +15 −4
  244. Documentation/filesystems/nfs/nfs.txt +41 −3
  245. Documentation/filesystems/nfs/nfsd-admin-interfaces.txt +41 −0
  246. Documentation/filesystems/nfs/nfsroot.txt +9 −1
  247. Documentation/filesystems/proc.txt +4 −18
  248. Documentation/firmware_class/README +17 −9
  249. Documentation/hwmon/adt7410 +51 −0
  250. Documentation/hwmon/coretemp +1 −0
  251. Documentation/hwmon/da9052 +1 −1
  252. Documentation/hwmon/exynos4_tmu +0 −81
  253. Documentation/hwmon/fam15h_power +1 −1
  254. Documentation/hwmon/ina2xx +18 −0
  255. Documentation/hwmon/lm70 +9 −3
  256. Documentation/hwmon/max1619 +1 −1
  257. Documentation/hwmon/max197 +60 −0
  258. Documentation/hwmon/mcp3021 +15 −8
  259. Documentation/hwmon/submitting-patches +1 −2
  260. Documentation/hwmon/twl4030-madc-hwmon +1 −1
  261. Documentation/i2c/busses/i2c-viapro +5 −1
  262. Documentation/i2c/muxes/i2c-mux-gpio +18 −0
  263. Documentation/infiniband/ipoib.txt +3 −0
  264. Documentation/input/event-codes.txt +11 −0
  265. Documentation/ioctl/ioctl-number.txt +0 −5
  266. Documentation/kbuild/makefiles.txt +4 −4
  267. Documentation/kernel-parameters.txt +27 −1
  268. Documentation/leds/leds-lp5523.txt +18 −3
  269. Documentation/memory.txt +0 −33
  270. Documentation/networking/batman-adv.txt +4 −3
  271. Documentation/networking/bonding.txt +25 −5
  272. Documentation/networking/ip-sysctl.txt +28 −9
  273. Documentation/networking/stmmac.txt +0 −5
  274. Documentation/networking/vxlan.txt +47 −0
  275. Documentation/percpu-rw-semaphore.txt +27 −0
  276. Documentation/pinctrl.txt +58 −2
  277. Documentation/power/power_supply_class.txt +7 −0
  278. Documentation/printk-formats.txt +1 −0
  279. Documentation/prio_tree.txt +0 −107
  280. Documentation/pwm.txt +2 −1
  281. Documentation/ramoops.txt +1 −3
  282. Documentation/rbtree.txt +173 −36
  283. Documentation/remoteproc.txt +7 −0
  284. Documentation/rtc.txt +3 −2
  285. Documentation/scsi/ChangeLog.megaraid_sas +23 −0
  286. Documentation/scsi/LICENSE.qla2xxx +1 −1
  287. Documentation/scsi/LICENSE.qla4xxx +1 −1
  288. Documentation/scsi/st.txt +2 −4
  289. Documentation/security/Smack.txt +6 −4
  290. Documentation/security/keys.txt +49 −1
  291. Documentation/serial/00-INDEX +0 −2
  292. Documentation/serial/computone.txt +0 −520
  293. Documentation/smsc_ece1099.txt +56 −0
  294. Documentation/sound/alsa/ALSA-Configuration.txt +8 −2
  295. Documentation/sound/alsa/Channel-Mapping-API.txt +153 −0
  296. Documentation/sound/alsa/HD-Audio-Models.txt +2 −1
  297. Documentation/spi/ep93xx_spi +1 −1
  298. Documentation/spi/spi-sc18is602 +36 −0
  299. Documentation/sysctl/kernel.txt +2 −0
  300. Documentation/sysrq.txt +1 −0
  301. Documentation/target/tcm_mod_builder.py +0 −16
  302. Documentation/thermal/cpu-cooling-api.txt +32 −0
  303. Documentation/thermal/exynos_thermal +52 −0
  304. Documentation/thermal/sysfs-api.txt +8 −1
  305. Documentation/usb/persist.txt +3 −0
  306. Documentation/video4linux/CARDLIST.cx23885 +1 −0
  307. Documentation/video4linux/CQcam.txt +1 −1
  308. Documentation/video4linux/README.davinci-vpbe +10 −10
  309. Documentation/video4linux/fimc.txt +8 −8
  310. Documentation/video4linux/omap3isp.txt +1 −1
  311. Documentation/video4linux/v4l2-controls.txt +29 −1
  312. Documentation/video4linux/v4l2-framework.txt +10 −2
  313. Documentation/video4linux/videobuf +1 −1
  314. Documentation/virtual/kvm/api.txt +25 −8
  315. Documentation/virtual/kvm/hypercalls.txt +66 −0
  316. Documentation/virtual/kvm/msr.txt +20 −12
  317. Documentation/virtual/kvm/ppc-pv.txt +22 −0
  318. Documentation/virtual/uml/UserModeLinux-HOWTO.txt +1 −1
  319. Documentation/vm/unevictable-lru.txt +5 −9
  320. Documentation/zh_CN/IRQ.txt +39 −0
  321. Documentation/zh_CN/arm64/booting.txt +156 −0
  322. Documentation/zh_CN/arm64/memory.txt +93 −0
  323. MAINTAINERS +547 −103
  324. Makefile +51 −36
  325. README +18 −0
  326. arch/Kconfig +28 −0
  327. arch/alpha/Kconfig +4 −0
  328. arch/alpha/include/asm/Kbuild +3 −0
  329. arch/alpha/include/asm/exec.h +0 −6
  330. arch/alpha/include/asm/module.h +2 −8
  331. arch/alpha/include/asm/processor.h +0 −3
  332. arch/alpha/include/asm/thread_info.h +54 −25
  333. arch/alpha/include/asm/unistd.h +1 −0
  334. arch/alpha/include/uapi/asm/Kbuild +3 −0
  335. arch/alpha/kernel/alpha_ksyms.c +0 −3
  336. arch/alpha/kernel/entry.S +45 −110
  337. arch/alpha/kernel/osf_sys.c +25 −33
  338. arch/alpha/kernel/pci-sysfs.c +1 −1
  339. arch/alpha/kernel/process.c +21 −60
  340. arch/alpha/kernel/ptrace.c +13 −19
  341. arch/alpha/kernel/signal.c +28 −20
  342. arch/alpha/kernel/srmcons.c +1 −0
  343. arch/alpha/kernel/traps.c +3 −3
  344. arch/arm/Kconfig +380 −404
  345. arch/arm/Kconfig.debug +47 −0
  346. arch/arm/Makefile +90 −83
  347. arch/arm/boot/Makefile +7 −5
  348. arch/arm/boot/compressed/.gitignore +1 −0
  349. arch/arm/boot/compressed/Makefile +8 −1
  350. arch/arm/boot/compressed/decompress.c +3 −0
  351. arch/arm/boot/compressed/head.S +64 −7
  352. arch/arm/boot/compressed/misc.c +6 −0
  353. arch/arm/boot/dts/Makefile +107 −0
  354. arch/arm/boot/dts/am335x-bone.dts +60 −0
  355. arch/arm/boot/dts/am335x-evm.dts +100 −0
  356. arch/arm/boot/dts/am33xx.dtsi +61 −10
  357. arch/arm/boot/dts/armada-370-xp.dtsi +5 −0
  358. arch/arm/boot/dts/armada-370.dtsi +44 −0
  359. arch/arm/boot/dts/armada-xp-db.dts +2 −2
  360. arch/arm/boot/dts/armada-xp-mv78230.dtsi +57 −0
  361. arch/arm/boot/dts/armada-xp-mv78260.dtsi +70 −0
  362. arch/arm/boot/dts/armada-xp-mv78460.dtsi +70 −0
  363. arch/arm/boot/dts/at91sam9260.dtsi +10 −0
  364. arch/arm/boot/dts/at91sam9263.dtsi +10 −0
  365. arch/arm/boot/dts/at91sam9g20.dtsi +4 −0
  366. arch/arm/boot/dts/at91sam9g20ek_common.dtsi +2 −2
  367. arch/arm/boot/dts/at91sam9g25ek.dts +12 −0
  368. arch/arm/boot/dts/at91sam9g45.dtsi +20 −0
  369. arch/arm/boot/dts/at91sam9m10g45ek.dts +8 −0
  370. arch/arm/boot/dts/at91sam9n12.dtsi +20 −0
  371. arch/arm/boot/dts/at91sam9n12ek.dts +8 −0
  372. arch/arm/boot/dts/at91sam9x5.dtsi +30 −0
  373. arch/arm/boot/dts/bcm2835-rpi-b.dts +12 −0
  374. arch/arm/boot/dts/bcm2835.dtsi +39 −0
  375. arch/arm/boot/dts/db8500.dtsi +0 −592
  376. arch/arm/boot/dts/dbx5x0.dtsi +664 −0
  377. arch/arm/boot/dts/dove-cm-a510.dts +38 −0
  378. arch/arm/boot/dts/dove-cubox.dts +42 −0
  379. arch/arm/boot/dts/dove-dove-db.dts +38 −0
  380. arch/arm/boot/dts/dove.dtsi +158 −0
  381. arch/arm/boot/dts/ea3250.dts +108 −1
  382. arch/arm/boot/dts/elpida_ecb240abacn.dtsi +67 −0
  383. arch/arm/boot/dts/exynos4.dtsi +248 −0
  384. arch/arm/boot/dts/exynos4210-origen.dts +18 −59
  385. arch/arm/boot/dts/exynos4210-pinctrl.dtsi +457 −0
  386. arch/arm/boot/dts/exynos4210-smdkv310.dts +5 −49
  387. arch/arm/boot/dts/exynos4210-trats.dts +239 −0
  388. arch/arm/boot/dts/exynos4210.dtsi +31 −170
  389. arch/arm/boot/dts/exynos5250-smdk5250.dts +58 −1
  390. arch/arm/boot/dts/exynos5250.dtsi +60 −0
  391. arch/arm/boot/dts/highbank.dts +18 −0
  392. arch/arm/boot/dts/hrefv60plus.dts +95 −0
  393. arch/arm/boot/dts/imx23-evk.dts +2 −1
  394. arch/arm/boot/dts/imx23-olinuxino.dts +57 −0
  395. arch/arm/boot/dts/imx23-stmp378x_devb.dts +1 −1
  396. arch/arm/boot/dts/imx23.dtsi +37 −7
  397. arch/arm/boot/dts/imx27-phytec-phycore.dts +1 −5
  398. arch/arm/boot/dts/imx27.dtsi +0 −1
  399. arch/arm/boot/dts/imx28-apx4devkit.dts +1 −1
  400. arch/arm/boot/dts/imx28-cfa10049.dts +99 −0
  401. arch/arm/boot/dts/imx28-evk.dts +28 −1
  402. arch/arm/boot/dts/imx28-m28evk.dts +75 −8
  403. arch/arm/boot/dts/imx28-tx28.dts +21 −2
  404. arch/arm/boot/dts/imx28.dtsi +127 −4
  405. arch/arm/boot/dts/imx51-babbage.dts +34 −10
  406. arch/arm/boot/dts/imx51.dtsi +152 −1
  407. arch/arm/boot/dts/imx53-ard.dts +47 −12
  408. arch/arm/boot/dts/imx53-evk.dts +29 −10
  409. arch/arm/boot/dts/imx53-qsb.dts +32 −10
  410. arch/arm/boot/dts/imx53-smd.dts +36 −10
  411. arch/arm/boot/dts/imx53.dtsi +205 −1
  412. arch/arm/boot/dts/imx6q-arm2.dts +30 −1
  413. arch/arm/boot/dts/imx6q-sabrelite.dts +23 −8
  414. arch/arm/boot/dts/imx6q-sabresd.dts +24 −1
  415. arch/arm/boot/dts/imx6q.dtsi +257 −68
  416. arch/arm/boot/dts/integrator.dtsi +76 −0
  417. arch/arm/boot/dts/integratorap.dts +68 −0
  418. arch/arm/boot/dts/integratorcp.dts +110 −0
  419. arch/arm/boot/dts/kirkwood-dnskw.dtsi +10 −0
  420. arch/arm/boot/dts/kirkwood-dockstar.dts +57 −0
  421. arch/arm/boot/dts/kirkwood-iconnect.dts +49 −1
  422. arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +105 −0
  423. arch/arm/boot/dts/kirkwood-km_kirkwood.dts +29 −0
  424. arch/arm/boot/dts/kirkwood-lsxl.dtsi +10 −8
  425. arch/arm/boot/dts/kirkwood.dtsi +11 −1
  426. arch/arm/boot/dts/mmp2.dtsi +5 −0
  427. arch/arm/boot/dts/msm8660-surf.dts +18 −1
  428. arch/arm/boot/dts/msm8960-cdp.dts +41 −0
  429. arch/arm/boot/dts/omap2420-h4.dts +1 −1
  430. arch/arm/boot/dts/omap2420.dtsi +48 −0
  431. arch/arm/boot/dts/omap2430.dtsi +92 −0
  432. arch/arm/boot/dts/omap3-beagle-xm.dts +115 −0
  433. arch/arm/boot/dts/omap3-beagle.dts +0 −69
  434. arch/arm/boot/dts/omap3-evm.dts +13 −0
  435. arch/arm/boot/dts/omap3-overo.dtsi +57 −0
  436. arch/arm/boot/dts/omap3-tobi.dts +35 −0
  437. arch/arm/boot/dts/omap3.dtsi +87 −7
  438. arch/arm/boot/dts/omap36xx.dtsi +25 −0
  439. arch/arm/boot/dts/omap4-panda.dts +58 −0
  440. arch/arm/boot/dts/omap4-sdp.dts +182 −2
  441. arch/arm/boot/dts/omap4.dtsi +173 −30
  442. arch/arm/boot/dts/omap5-evm.dts +122 −0
  443. arch/arm/boot/dts/omap5.dtsi +156 −0
  444. arch/arm/boot/dts/phy3250.dts +6 −10
  445. arch/arm/boot/dts/prima2-cb.dts +0 −424
  446. arch/arm/boot/dts/prima2-evb.dts +37 −0
  447. arch/arm/boot/dts/prima2.dtsi +640 −0
  448. arch/arm/boot/dts/pxa27x.dtsi +14 −0
  449. arch/arm/boot/dts/pxa2xx.dtsi +132 −0
  450. arch/arm/boot/dts/pxa3xx.dtsi +32 −0
  451. arch/arm/boot/dts/pxa910-dkb.dts +137 −0
  452. arch/arm/boot/dts/pxa910.dtsi +9 −0
  453. arch/arm/boot/dts/snowball.dts +17 −2
  454. arch/arm/boot/dts/spear300-evb.dts +1 −2
  455. arch/arm/boot/dts/spear320-evb.dts +0 −2
  456. arch/arm/boot/dts/tegra20-harmony.dts +220 −0
  457. arch/arm/boot/dts/tegra20-medcom-wide.dts +58 −0
  458. arch/arm/boot/dts/tegra20-paz00.dts +173 −0
  459. arch/arm/boot/dts/tegra20-plutux.dts +50 −0
  460. arch/arm/boot/dts/tegra20-seaboard.dts +187 −1
  461. arch/arm/boot/dts/tegra20-tamonten.dtsi +449 −0
  462. arch/arm/boot/dts/tegra20-tec.dts +53 −0
  463. arch/arm/boot/dts/tegra20-ventana.dts +206 −0
  464. arch/arm/boot/dts/tegra20-whistler.dts +295 −0
  465. arch/arm/boot/dts/tegra20.dtsi +3 −3
  466. arch/arm/boot/dts/tegra30-cardhu-a02.dts +87 −0
  467. arch/arm/boot/dts/tegra30-cardhu-a04.dts +98 −0
  468. arch/arm/boot/dts/tegra30-cardhu.dts +0 −171
  469. arch/arm/boot/dts/tegra30-cardhu.dtsi +475 −0
  470. arch/arm/boot/dts/tegra30.dtsi +1 −1
  471. arch/arm/boot/dts/tps65217.dtsi +56 −0
  472. arch/arm/boot/dts/tps65910.dtsi +86 −0
  473. arch/arm/boot/dts/twl4030.dtsi +3 −3
  474. arch/arm/boot/dts/twl6030.dtsi +13 −13
  475. arch/arm/boot/dts/vt8500-bv07.dts +36 −0
  476. arch/arm/boot/dts/vt8500.dtsi +116 −0
  477. arch/arm/boot/dts/wm8505-ref.dts +36 −0
  478. arch/arm/boot/dts/wm8505.dtsi +143 −0
  479. arch/arm/boot/dts/wm8650-mid.dts +36 −0
  480. arch/arm/boot/dts/wm8650.dtsi +147 −0
  481. arch/arm/boot/dts/xenvm-4.2.dts +68 −0
  482. arch/arm/common/Kconfig +2 −2
  483. arch/arm/common/it8152.c +9 −3
  484. arch/arm/configs/afeb9260_defconfig +0 −1
  485. arch/arm/configs/armadillo800eva_defconfig +3 −0
  486. arch/arm/configs/at91rm9200_defconfig +1 −1
  487. arch/arm/configs/at91sam9261_defconfig +1 −1
  488. arch/arm/configs/at91sam9263_defconfig +1 −2
  489. arch/arm/configs/at91sam9g20_defconfig +1 −1
  490. arch/arm/configs/at91sam9rl_defconfig +1 −1
  491. arch/arm/configs/bcm2835_defconfig +95 −0
  492. arch/arm/configs/bcmring_defconfig +0 −79
  493. arch/arm/configs/cam60_defconfig +0 −1
  494. arch/arm/configs/corgi_defconfig +0 −1
  495. arch/arm/configs/cpu9260_defconfig +1 −1
  496. arch/arm/configs/cpu9g20_defconfig +1 −1
  497. arch/arm/configs/ep93xx_defconfig +0 −1
  498. arch/arm/configs/imx_v6_v7_defconfig +6 −4
  499. arch/arm/configs/kirkwood_defconfig +19 −19
  500. arch/arm/configs/kzm9d_defconfig +1 −0
  501. arch/arm/configs/kzm9g_defconfig +2 −1
  502. arch/arm/configs/lpc32xx_defconfig +5 −2
  503. arch/arm/configs/marzen_defconfig +12 −5
  504. arch/arm/configs/mini2440_defconfig +0 −1
  505. arch/arm/configs/mmp2_defconfig +4 −1
  506. arch/arm/configs/multi_v7_defconfig +57 −0
  507. arch/arm/configs/mv78xx0_defconfig +0 −1
  508. arch/arm/configs/mvebu_defconfig +9 −3
  509. arch/arm/configs/mxs_defconfig +35 −7
  510. arch/arm/configs/nhk8815_defconfig +0 −1
  511. arch/arm/configs/omap2plus_defconfig +1 −0
  512. arch/arm/configs/orion5x_defconfig +0 −1
  513. arch/arm/configs/pnx4008_defconfig +0 −472
  514. arch/arm/configs/prima2_defconfig +3 −4
  515. arch/arm/configs/pxa3xx_defconfig +0 −1
  516. arch/arm/configs/pxa910_defconfig +3 −1
  517. arch/arm/configs/qil-a9260_defconfig +1 −2
  518. arch/arm/configs/s3c6400_defconfig +3 −0
  519. arch/arm/configs/sam9_l9260_defconfig +1 −1
  520. arch/arm/configs/spitz_defconfig +0 −1
  521. arch/arm/configs/stamp9g20_defconfig +0 −1
  522. arch/arm/configs/tegra_defconfig +44 −9
  523. arch/arm/configs/usb-a9260_defconfig +0 −1
  524. arch/arm/configs/versatile_defconfig +1 −0
  525. arch/arm/crypto/Makefile +9 −0
  526. arch/arm/crypto/aes-armv4.S +1112 −0
  527. arch/arm/crypto/aes_glue.c +108 −0
  528. arch/arm/crypto/sha1-armv4-large.S +503 −0
  529. arch/arm/crypto/sha1_glue.c +179 −0
  530. arch/arm/include/asm/Kbuild +17 −2
  531. arch/arm/include/asm/arch_timer.h +7 −1
  532. arch/arm/include/asm/assembler.h +29 −0
  533. arch/arm/include/asm/barrier.h +3 −4
  534. arch/arm/include/asm/cacheflush.h +15 −0
  535. arch/arm/include/asm/current.h +0 −15
  536. arch/arm/include/asm/delay.h +9 −0
  537. arch/arm/include/asm/dma-mapping.h +1 −0
  538. arch/arm/include/asm/exec.h +0 −6
  539. arch/arm/include/asm/flat.h +1 −1
  540. arch/arm/include/asm/glue-cache.h +9 −8
  541. arch/arm/include/asm/gpio.h +2 −0
  542. arch/arm/include/asm/hardirq.h +1 −1
  543. arch/arm/include/asm/hardware/cache-tauros2.h +4 −1
  544. arch/arm/include/asm/hardware/iop3xx.h +1 −11
  545. arch/arm/include/asm/hardware/linkup-l1110.h +0 −48
  546. arch/arm/include/asm/hwcap.h +1 −26
  547. arch/arm/include/asm/hypervisor.h +6 −0
  548. arch/arm/include/asm/io.h +69 −6
  549. arch/arm/include/asm/leds.h +0 −50
  550. arch/arm/include/asm/mach/arch.h +7 −0
  551. arch/arm/include/asm/mach/map.h +8 −0
  552. arch/arm/include/asm/mach/pci.h +13 −0
  553. arch/arm/include/asm/memory.h +0 −8
  554. arch/arm/include/asm/module.h +2 −6
  555. arch/arm/include/asm/msgbuf.h +0 −31
  556. arch/arm/include/asm/mutex.h +7 −2
  557. arch/arm/include/asm/opcodes-virt.h +39 −0
  558. arch/arm/include/asm/opcodes.h +166 −15
  559. arch/arm/include/asm/page.h +1 −1
  560. arch/arm/include/asm/param.h +0 −31
  561. arch/arm/include/asm/parport.h +0 −18
  562. arch/arm/include/asm/perf_event.h +8 −1
  563. arch/arm/include/asm/pgtable.h +1 −1
  564. arch/arm/include/asm/pmu.h +24 −53
  565. arch/arm/include/asm/processor.h +0 −5
  566. arch/arm/include/asm/ptrace.h +5 −124
  567. arch/arm/include/asm/sched_clock.h +0 −2
  568. arch/arm/include/asm/segment.h +0 −11
  569. arch/arm/include/asm/sembuf.h +0 −25
  570. arch/arm/include/asm/serial.h +0 −19
  571. arch/arm/include/asm/setup.h +1 −171
  572. arch/arm/include/asm/shmbuf.h +0 −42
  573. arch/arm/include/asm/signal.h +1 −126
  574. arch/arm/include/asm/smp.h +34 −14
  575. arch/arm/include/asm/socket.h +0 −72
  576. arch/arm/include/asm/sockios.h +0 −13
  577. arch/arm/include/asm/swab.h +1 −36
  578. arch/arm/include/asm/sync_bitops.h +27 −0
  579. arch/arm/include/asm/syscall.h +5 −0
  580. arch/arm/include/asm/system.h +0 −1
  581. arch/arm/include/asm/termbits.h +0 −198
  582. arch/arm/include/asm/termios.h +0 −92
  583. arch/arm/include/asm/thread_info.h +5 −3
  584. arch/arm/include/asm/timex.h +4 −6
  585. arch/arm/include/asm/types.h +0 −16
  586. arch/arm/include/asm/uaccess.h +2 −2
  587. arch/arm/include/asm/unaligned.h +0 −19
  588. arch/arm/include/asm/unistd.h +3 −432
  589. arch/arm/include/asm/vfpmacros.h +7 −7
  590. arch/arm/include/asm/virt.h +69 −0
  591. arch/arm/include/asm/xen/events.h +18 −0
  592. arch/arm/include/asm/xen/hypercall.h +69 −0
  593. arch/arm/include/asm/xen/hypervisor.h +19 −0
  594. arch/arm/include/asm/xen/interface.h +79 −0
  595. arch/arm/include/asm/xen/page.h +89 −0
  596. arch/arm/include/debug/8250_32.S +27 −0
  597. arch/arm/include/debug/highbank.S +17 −0
  598. arch/arm/include/debug/icedcc.S +90 −0
  599. arch/arm/include/debug/mvebu.S +25 −0
  600. arch/arm/include/debug/picoxcell.S +19 −0
  601. arch/arm/include/debug/socfpga.S +21 −0
  602. arch/arm/include/debug/vexpress.S +0 −0
  603. arch/arm/include/uapi/asm/Kbuild +19 −0
  604. arch/arm/include/uapi/asm/a.out.h +0 −0
  605. arch/arm/include/uapi/asm/byteorder.h +0 −0
  606. arch/arm/include/uapi/asm/fcntl.h +0 −0
  607. arch/arm/include/uapi/asm/hwcap.h +30 −0
  608. arch/arm/include/uapi/asm/ioctls.h +0 −0
  609. arch/arm/include/uapi/asm/kvm_para.h +0 −0
  610. arch/arm/include/uapi/asm/mman.h +0 −0
  611. arch/arm/include/uapi/asm/posix_types.h +0 −0
  612. arch/arm/include/uapi/asm/ptrace.h +138 −0
  613. arch/arm/include/uapi/asm/setup.h +187 −0
  614. arch/arm/include/uapi/asm/sigcontext.h +0 −0
  615. arch/arm/include/uapi/asm/signal.h +127 −0
  616. arch/arm/include/uapi/asm/stat.h +0 −0
  617. arch/arm/include/uapi/asm/statfs.h +0 −0
  618. arch/arm/include/uapi/asm/swab.h +53 −0
  619. arch/arm/include/uapi/asm/unistd.h +450 −0
  620. arch/arm/kernel/Makefile +6 −5
  621. arch/arm/kernel/arch_timer.c +273 −110
  622. arch/arm/kernel/asm-offsets.c +2 −0
  623. arch/arm/kernel/atags.h +14 −0
  624. arch/arm/kernel/atags_compat.c +219 −0
  625. arch/arm/kernel/atags_parse.c +238 −0
  626. arch/arm/kernel/atags_proc.c +0 −0
  627. arch/arm/kernel/bios32.c +49 −5
  628. arch/arm/kernel/calls.S +1 −1
  629. arch/arm/kernel/compat.c +0 −219
  630. arch/arm/kernel/compat.h +0 −11
  631. arch/arm/kernel/debug.S +3 −84
  632. arch/arm/kernel/entry-common.S +14 −7
  633. arch/arm/kernel/head.S +13 −5
  634. arch/arm/kernel/hyp-stub.S +223 −0
  635. arch/arm/kernel/irq.c +2 −0
  636. arch/arm/kernel/kprobes-test-arm.c +4 −0
  637. arch/arm/kernel/leds.c +0 −121
  638. arch/arm/kernel/machine_kexec.c +27 −1
  639. arch/arm/kernel/perf_event.c +55 −296
  640. arch/arm/kernel/perf_event_cpu.c +295 −0
  641. arch/arm/kernel/perf_event_v6.c +6 −6
  642. arch/arm/kernel/perf_event_v7.c +16 −16
  643. arch/arm/kernel/perf_event_xscale.c +5 −5
  644. arch/arm/kernel/pmu.c +0 −36
  645. arch/arm/kernel/process.c +15 −65
  646. arch/arm/kernel/ptrace.c +13 −6
  647. arch/arm/kernel/sched_clock.c +12 −14
  648. arch/arm/kernel/setup.c +24 −236
  649. arch/arm/kernel/signal.c +0 −1
  650. arch/arm/kernel/smp.c +149 −12
  651. arch/arm/kernel/smp_twd.c +2 −2
  652. arch/arm/kernel/suspend.c +16 −1
  653. arch/arm/kernel/sys_arm.c +0 −63
  654. arch/arm/kernel/time.c +0 −17
  655. arch/arm/lib/delay.c +27 −9
  656. arch/arm/mach-at91/Kconfig +13 −19
  657. arch/arm/mach-at91/Makefile.boot +0 −24
  658. arch/arm/mach-at91/at91rm9200.c +1 −0
  659. arch/arm/mach-at91/at91rm9200_devices.c +57 −41
  660. arch/arm/mach-at91/at91sam9260.c +3 −0
  661. arch/arm/mach-at91/at91sam9260_devices.c +10 −86
  662. arch/arm/mach-at91/at91sam9261.c +2 −0
  663. arch/arm/mach-at91/at91sam9261_devices.c +42 −36
  664. arch/arm/mach-at91/at91sam9263.c +4 −2
  665. arch/arm/mach-at91/at91sam9263_devices.c +96 −71
  666. arch/arm/mach-at91/at91sam9g45.c +4 −0
  667. arch/arm/mach-at91/at91sam9g45_devices.c +3 −9
  668. arch/arm/mach-at91/at91sam9n12.c +2 −0
  669. arch/arm/mach-at91/at91sam9rl.c +2 −0
  670. arch/arm/mach-at91/at91sam9rl_devices.c +34 −34
  671. arch/arm/mach-at91/at91sam9x5.c +3 −0
  672. arch/arm/mach-at91/at91x40.c +2 −2
  673. arch/arm/mach-at91/at91x40_time.c +2 −2
  674. arch/arm/mach-at91/board-afeb-9260v1.c +7 −7
  675. arch/arm/mach-at91/board-carmeva.c +7 −7
  676. arch/arm/mach-at91/board-cpu9krea.c +8 −9
  677. arch/arm/mach-at91/board-cpuat91.c +7 −6
  678. arch/arm/mach-at91/board-csb337.c +7 −9
  679. arch/arm/mach-at91/board-eb9200.c +7 −7
  680. arch/arm/mach-at91/board-ecbat91.c +22 −10
  681. arch/arm/mach-at91/board-eco920.c +27 −9
  682. arch/arm/mach-at91/board-flexibity.c +7 −7
  683. arch/arm/mach-at91/board-foxg20.c +8 −8
  684. arch/arm/mach-at91/board-kafa.c +14 −3
  685. arch/arm/mach-at91/board-kb9202.c +27 −10
  686. arch/arm/mach-at91/board-neocore926.c +8 −7
  687. arch/arm/mach-at91/board-picotux200.c +7 −7
  688. arch/arm/mach-at91/board-qil-a9260.c +7 −7
  689. arch/arm/mach-at91/board-rm9200dk.c +7 −10
  690. arch/arm/mach-at91/board-rm9200ek.c +7 −10
  691. arch/arm/mach-at91/board-rsi-ews.c +7 −9
  692. arch/arm/mach-at91/board-sam9-l9260.c +28 −11
  693. arch/arm/mach-at91/board-sam9260ek.c +8 −8
  694. arch/arm/mach-at91/board-sam9261ek.c +8 −10
  695. arch/arm/mach-at91/board-sam9263ek.c +8 −7
  696. arch/arm/mach-at91/board-sam9g20ek.c +1 −15
  697. arch/arm/mach-at91/board-sam9rlek.c +7 −6
  698. arch/arm/mach-at91/board-stamp9g20.c +0 −14
  699. arch/arm/mach-at91/board-usb-a926x.c +0 −2
  700. arch/arm/mach-at91/board-yl-9200.c +7 −9
  701. arch/arm/mach-at91/clock.c +1 −1
  702. arch/arm/mach-at91/generic.h +2 −1
  703. arch/arm/mach-at91/include/mach/at91_twi.h +0 −68
  704. arch/arm/mach-at91/include/mach/atmel-mci.h +1 −1
  705. arch/arm/mach-at91/include/mach/board.h +0 −1
  706. arch/arm/mach-at91/include/mach/hardware.h +2 −2
  707. arch/arm/mach-at91/include/mach/uncompress.h +3 −3
  708. arch/arm/mach-at91/irq.c +7 −2
  709. arch/arm/mach-at91/leds.c +0 −105
  710. arch/arm/mach-at91/pm.c +3 −2
  711. arch/arm/mach-at91/setup.c +5 −5
  712. arch/arm/mach-bcm2835/Makefile +1 −0
  713. arch/arm/mach-bcm2835/Makefile.boot +3 −0
  714. arch/arm/mach-bcm2835/bcm2835.c +64 −0
  715. arch/arm/mach-bcm2835/include/mach/bcm2835_soc.h +29 −0
  716. arch/arm/mach-bcm2835/include/mach/debug-macro.S +21 −0
  717. arch/arm/mach-bcm2835/include/mach/timex.h +26 −0
  718. arch/arm/mach-bcm2835/include/mach/uncompress.h +45 −0
  719. arch/arm/mach-bcmring/Kconfig +0 −19
  720. arch/arm/mach-bcmring/Makefile +0 −8
  721. arch/arm/mach-bcmring/Makefile.boot +0 −6
  722. arch/arm/mach-bcmring/arch.c +0 −199
  723. arch/arm/mach-bcmring/clock.c +0 −223
  724. arch/arm/mach-bcmring/clock.h +0 −33
  725. arch/arm/mach-bcmring/core.c +0 −228
  726. arch/arm/mach-bcmring/core.h +0 −31
  727. arch/arm/mach-bcmring/csp/Makefile +0 −3
  728. arch/arm/mach-bcmring/csp/chipc/Makefile +0 −1
  729. arch/arm/mach-bcmring/csp/chipc/chipcHw.c +0 −776
  730. arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c +0 −293
  731. arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c +0 −124
  732. arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c +0 −64
  733. arch/arm/mach-bcmring/csp/dmac/Makefile +0 −1
  734. arch/arm/mach-bcmring/csp/dmac/dmacHw.c +0 −917
  735. arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c +0 −1017
  736. arch/arm/mach-bcmring/csp/tmr/Makefile +0 −1
  737. arch/arm/mach-bcmring/csp/tmr/tmrHw.c +0 −576
  738. arch/arm/mach-bcmring/dma.c +0 −1518
  739. arch/arm/mach-bcmring/dma_device.c +0 −593
  740. arch/arm/mach-bcmring/include/cfg_global.h +0 −13
  741. arch/arm/mach-bcmring/include/cfg_global_defines.h +0 −40
  742. arch/arm/mach-bcmring/include/csp/cache.h +0 −35
  743. arch/arm/mach-bcmring/include/csp/delay.h +0 −36
  744. arch/arm/mach-bcmring/include/csp/dmacHw.h +0 −596
  745. arch/arm/mach-bcmring/include/csp/errno.h +0 −32
  746. arch/arm/mach-bcmring/include/csp/intcHw.h +0 −40
  747. arch/arm/mach-bcmring/include/csp/module.h +0 −32
  748. arch/arm/mach-bcmring/include/csp/reg.h +0 −114
  749. arch/arm/mach-bcmring/include/csp/secHw.h +0 −65
  750. arch/arm/mach-bcmring/include/csp/stdint.h +0 −30
  751. arch/arm/mach-bcmring/include/csp/string.h +0 −34
  752. arch/arm/mach-bcmring/include/csp/tmrHw.h +0 −263
  753. arch/arm/mach-bcmring/include/mach/csp/cap.h +0 −63
  754. arch/arm/mach-bcmring/include/mach/csp/cap_inline.h +0 −409
  755. arch/arm/mach-bcmring/include/mach/csp/chipcHw_def.h +0 −1123
  756. arch/arm/mach-bcmring/include/mach/csp/chipcHw_inline.h +0 −1673
  757. arch/arm/mach-bcmring/include/mach/csp/chipcHw_reg.h +0 −530
  758. arch/arm/mach-bcmring/include/mach/csp/ddrcReg.h +0 −872
  759. arch/arm/mach-bcmring/include/mach/csp/dmacHw_priv.h +0 −145
  760. arch/arm/mach-bcmring/include/mach/csp/dmacHw_reg.h +0 −406
  761. arch/arm/mach-bcmring/include/mach/csp/hw_cfg.h +0 −73
  762. arch/arm/mach-bcmring/include/mach/csp/intcHw_reg.h +0 −246
  763. arch/arm/mach-bcmring/include/mach/csp/mm_addr.h +0 −101
  764. arch/arm/mach-bcmring/include/mach/csp/mm_io.h +0 −147
  765. arch/arm/mach-bcmring/include/mach/csp/secHw_def.h +0 −100
  766. arch/arm/mach-bcmring/include/mach/csp/secHw_inline.h +0 −79
  767. arch/arm/mach-bcmring/include/mach/csp/tmrHw_reg.h +0 −82
  768. arch/arm/mach-bcmring/include/mach/dma.h +0 −630
  769. arch/arm/mach-bcmring/include/mach/entry-macro.S +0 −76
  770. arch/arm/mach-bcmring/include/mach/hardware.h +0 −57
  771. arch/arm/mach-bcmring/include/mach/irqs.h +0 −132
  772. arch/arm/mach-bcmring/include/mach/memory_settings.h +0 −67
  773. arch/arm/mach-bcmring/include/mach/reg_nand.h +0 −66
  774. arch/arm/mach-bcmring/include/mach/reg_umi.h +0 −237
  775. arch/arm/mach-bcmring/include/mach/timer.h +0 −77
  776. arch/arm/mach-bcmring/include/mach/timex.h +0 −25
  777. arch/arm/mach-bcmring/include/mach/uncompress.h +0 −43
  778. arch/arm/mach-bcmring/irq.c +0 −126
  779. arch/arm/mach-bcmring/mm.c +0 −60
  780. arch/arm/mach-bcmring/timer.c +0 −61
  781. arch/arm/mach-clps711x/Kconfig +2 −8
  782. arch/arm/mach-clps711x/Makefile +0 −3
  783. arch/arm/mach-clps711x/autcpu12.c +19 −0
  784. arch/arm/mach-clps711x/ceiva.c +0 −64
  785. arch/arm/mach-clps711x/common.c +73 −16
  786. arch/arm/mach-clps711x/include/mach/clps711x.h +4 −5
  787. arch/arm/mach-clps711x/include/mach/debug-macro.S +1 −7
  788. arch/arm/mach-clps711x/include/mach/hardware.h +0 −48
  789. arch/arm/mach-clps711x/include/mach/timex.h +1 −22
  790. arch/arm/mach-clps711x/p720t-leds.c +0 −63
  791. arch/arm/mach-clps711x/p720t.c +62 −0
  792. arch/arm/mach-davinci/Kconfig +15 −8
  793. arch/arm/mach-davinci/aemif.c +1 −1
  794. arch/arm/mach-davinci/asp.h +49 −0
  795. arch/arm/mach-davinci/board-da830-evm.c +4 −4
  796. arch/arm/mach-davinci/board-da850-evm.c +182 −3
  797. arch/arm/mach-davinci/board-dm355-evm.c +4 −4
  798. arch/arm/mach-davinci/board-dm355-leopard.c +4 −4
  799. arch/arm/mach-davinci/board-dm365-evm.c +4 −4
  800. arch/arm/mach-davinci/board-dm644x-evm.c +13 −12
  801. arch/arm/mach-davinci/board-dm646x-evm.c +59 −27
  802. arch/arm/mach-davinci/board-mityomapl138.c +2 −2
  803. arch/arm/mach-davinci/board-neuros-osd2.c +4 −4
  804. arch/arm/mach-davinci/board-sffsdr.c +2 −2
  805. arch/arm/mach-davinci/board-tnetv107x-evm.c +3 −3
  806. arch/arm/mach-davinci/da830.c +24 −24
  807. arch/arm/mach-davinci/da850.c +156 −4
  808. arch/arm/mach-davinci/davinci.h +3 −3
  809. arch/arm/mach-davinci/devices-da8xx.c +1 −7
  810. arch/arm/mach-davinci/devices.c +2 −13
  811. arch/arm/mach-davinci/dm355.c +2 −2
  812. arch/arm/mach-davinci/dm365.c +3 −3
  813. arch/arm/mach-davinci/dm644x.c +5 −14
  814. arch/arm/mach-davinci/dm646x.c +1 −1
  815. arch/arm/mach-davinci/include/mach/asp.h +0 −137
  816. arch/arm/mach-davinci/include/mach/da8xx.h +16 −5
  817. arch/arm/mach-davinci/include/mach/mux.h +42 −0
  818. arch/arm/mach-davinci/include/mach/psc.h +1 −0
  819. arch/arm/mach-davinci/include/mach/tnetv107x.h +2 −2
  820. arch/arm/mach-davinci/usb.c +1 −1
  821. arch/arm/mach-dove/Kconfig +7 −0
  822. arch/arm/mach-dove/Makefile +2 −2
  823. arch/arm/mach-dove/common.c +145 −26
  824. arch/arm/mach-dove/common.h +4 −0
  825. arch/arm/mach-dove/include/mach/bridge-regs.h +8 −8
  826. arch/arm/mach-dove/include/mach/dove.h +66 −68
  827. arch/arm/mach-dove/include/mach/gpio.h +0 −9
  828. arch/arm/mach-dove/include/mach/io.h +0 −19
  829. arch/arm/mach-dove/include/mach/pm.h +36 −18
  830. arch/arm/mach-dove/irq.c +6 −5
  831. arch/arm/mach-dove/mpp.c +1 −0
  832. arch/arm/mach-dove/pcie.c +22 −32
  833. arch/arm/mach-ebsa110/Makefile +1 −3
  834. arch/arm/mach-ebsa110/core.c +4 −4
  835. arch/arm/mach-ebsa110/core.h +6 −6
  836. arch/arm/mach-ebsa110/leds.c +50 −31
  837. arch/arm/mach-ep93xx/adssphere.c +1 −0
  838. arch/arm/mach-ep93xx/core.c +3 −3
  839. arch/arm/mach-ep93xx/dma.c +1 −1
  840. arch/arm/mach-ep93xx/edb93xx.c +2 −2
  841. arch/arm/mach-ep93xx/gesbc9312.c +1 −0
  842. arch/arm/mach-ep93xx/simone.c +1 −1
  843. arch/arm/mach-ep93xx/snappercl15.c +1 −1
  844. arch/arm/mach-ep93xx/ts72xx.c +6 −6
  845. arch/arm/mach-ep93xx/ts72xx.h +5 −5
  846. arch/arm/mach-ep93xx/vision_ep9307.c +2 −2
  847. arch/arm/mach-exynos/Kconfig +94 −90
  848. arch/arm/mach-exynos/Makefile.boot +0 −3
  849. arch/arm/mach-exynos/clock-exynos4.c +31 −0
  850. arch/arm/mach-exynos/clock-exynos5.c +124 −48
  851. arch/arm/mach-exynos/common.c +31 −0
  852. arch/arm/mach-exynos/common.h +5 −0
  853. arch/arm/mach-exynos/dev-audio.c +1 −1
  854. arch/arm/mach-exynos/dev-ohci.c +1 −1
  855. arch/arm/mach-exynos/dma.c +2 −0
  856. arch/arm/mach-exynos/hotplug.c +2 −16
  857. arch/arm/mach-exynos/include/mach/map.h +10 −2
  858. arch/arm/mach-exynos/include/mach/sysmmu.h +1 −1
  859. arch/arm/mach-exynos/mach-armlex4210.c +1 −0
  860. arch/arm/mach-exynos/mach-exynos4-dt.c +24 −9
  861. arch/arm/mach-exynos/mach-exynos5-dt.c +17 −0
  862. arch/arm/mach-exynos/mach-nuri.c +7 −9
  863. arch/arm/mach-exynos/mach-origen.c +13 −6
  864. arch/arm/mach-exynos/mach-smdk4x12.c +10 −2
  865. arch/arm/mach-exynos/mach-smdkv310.c +13 −4
  866. arch/arm/mach-exynos/mach-universal_c210.c +6 −8
  867. arch/arm/mach-exynos/platsmp.c +17 −12
  868. arch/arm/mach-exynos/setup-fimd0.c +1 −1
  869. arch/arm/mach-exynos/setup-i2c0.c +1 −1
  870. arch/arm/mach-exynos/setup-i2c1.c +1 −1
  871. arch/arm/mach-exynos/setup-i2c2.c +1 −1
  872. arch/arm/mach-exynos/setup-i2c3.c +1 −1
  873. arch/arm/mach-exynos/setup-i2c4.c +1 −1
  874. arch/arm/mach-exynos/setup-i2c5.c +1 −1
  875. arch/arm/mach-exynos/setup-i2c6.c +1 −1
  876. arch/arm/mach-exynos/setup-i2c7.c +1 −1
  877. arch/arm/mach-footbridge/Kconfig +1 −1
  878. arch/arm/mach-footbridge/Makefile +0 −4
  879. arch/arm/mach-footbridge/common.c +5 −7
  880. arch/arm/mach-footbridge/dc21285.c +4 −12
  881. arch/arm/mach-footbridge/ebsa285-leds.c +0 −138
  882. arch/arm/mach-footbridge/ebsa285.c +81 −0
  883. arch/arm/mach-footbridge/include/mach/debug-macro.S +2 −1
  884. arch/arm/mach-footbridge/include/mach/io.h +2 −10
  885. arch/arm/mach-footbridge/include/mach/irqs.h +0 −2
  886. arch/arm/mach-footbridge/netwinder-hw.c +98 −14
  887. arch/arm/mach-footbridge/netwinder-leds.c +0 −138
  888. arch/arm/mach-h720x/Kconfig +1 −1
  889. arch/arm/mach-highbank/Kconfig +15 −0
  890. arch/arm/mach-highbank/Makefile.boot +0 −1
  891. arch/arm/mach-highbank/core.h +9 −0
  892. arch/arm/mach-highbank/highbank.c +54 −0
  893. arch/arm/mach-highbank/hotplug.c +1 −15
  894. arch/arm/mach-highbank/include/mach/debug-macro.S +0 −19
  895. arch/arm/mach-highbank/include/mach/gpio.h +0 −1
  896. arch/arm/mach-highbank/include/mach/timex.h +0 −6
  897. arch/arm/mach-highbank/include/mach/uncompress.h +0 −9
  898. arch/arm/mach-highbank/platsmp.c +14 −4
  899. arch/arm/mach-highbank/pm.c +1 −3
  900. arch/arm/mach-imx/Kconfig +72 −153
  901. arch/arm/mach-imx/Makefile +2 −9
  902. arch/arm/mach-imx/Makefile.boot +0 −7
  903. arch/arm/mach-imx/clk-busy.c +1 −1
  904. arch/arm/mach-imx/clk-imx21.c +0 −1
  905. arch/arm/mach-imx/clk-imx25.c +2 −2
  906. arch/arm/mach-imx/clk-imx27.c +4 −4
  907. arch/arm/mach-imx/clk-imx35.c +8 −3
  908. arch/arm/mach-imx/clk-imx51-imx53.c +16 −4
  909. arch/arm/mach-imx/clk-imx6q.c +12 −39
  910. arch/arm/mach-imx/clk-pllv1.c +47 −2
  911. arch/arm/mach-imx/clk.c +3 −0
  912. arch/arm/mach-imx/clk.h +2 −1
  913. arch/arm/mach-imx/devices-imx27.h +4 −0
  914. arch/arm/mach-imx/devices-imx53.h +0 −48
  915. arch/arm/mach-imx/efika.h +0 −10
  916. arch/arm/mach-imx/ehci-imx25.c +1 −1
  917. arch/arm/mach-imx/ehci-imx27.c +1 −1
  918. arch/arm/mach-imx/ehci-imx31.c +1 −1
  919. arch/arm/mach-imx/ehci-imx35.c +1 −1
  920. arch/arm/mach-imx/ehci-imx5.c +1 −1
  921. arch/arm/mach-imx/eukrea_mbimx27-baseboard.c +1 −0
  922. arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c +1 −0
  923. arch/arm/mach-imx/eukrea_mbimxsd35-baseboard.c +1 −0
  924. arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c +1 −0
  925. arch/arm/mach-imx/hotplug.c +1 −15
  926. arch/arm/mach-imx/imx51-dt.c +0 −21
  927. arch/arm/mach-imx/imx53-dt.c +0 −126
  928. arch/arm/mach-imx/mach-imx27_visstrim_m10.c +86 −5
  929. arch/arm/mach-imx/mach-imx53.c +99 −0
  930. arch/arm/mach-imx/mach-imx6q.c +19 −40
  931. arch/arm/mach-imx/mach-kzm_arm11_01.c +2 −3
  932. arch/arm/mach-imx/mach-mx27_3ds.c +20 −1
  933. arch/arm/mach-imx/mach-mx31ads.c +1 −1
  934. arch/arm/mach-imx/mach-mx31lite.c +1 −1
  935. arch/arm/mach-imx/mach-mx31moboard.c +1 −1
  936. arch/arm/mach-imx/mach-mx51_efikamx.c +0 −300
  937. arch/arm/mach-imx/mach-mx51_efikasb.c +0 −296
  938. arch/arm/mach-imx/mach-mx53_ard.c +0 −272
  939. arch/arm/mach-imx/mach-mx53_evk.c +0 −179
  940. arch/arm/mach-imx/mach-mx53_loco.c +0 −321
  941. arch/arm/mach-imx/mach-mx53_smd.c +0 −168
  942. arch/arm/mach-imx/mm-imx3.c +2 −3
  943. arch/arm/mach-imx/mm-imx5.c +0 −47
  944. arch/arm/mach-imx/mx1-camera-fiq-ksym.c +1 −1
  945. arch/arm/mach-imx/mx51_efika.c +0 −633
  946. arch/arm/mach-imx/platsmp.c +14 −4
  947. arch/arm/mach-integrator/Makefile +1 −2
  948. arch/arm/mach-integrator/common.h +3 −0
  949. arch/arm/mach-integrator/core.c +13 −11
  950. arch/arm/mach-integrator/cpu.c +4 −4
  951. arch/arm/mach-integrator/include/mach/cm.h +2 −0
  952. arch/arm/mach-integrator/include/mach/io.h +0 −33
  953. arch/arm/mach-integrator/include/mach/platform.h +4 −0
  954. arch/arm/mach-integrator/integrator_ap.c +217 −82
  955. arch/arm/mach-integrator/integrator_cp.c +223 −108
  956. arch/arm/mach-integrator/leds.c +98 −63
  957. arch/arm/mach-integrator/pci_v3.c +29 −33
  958. arch/arm/mach-iop13xx/include/mach/io.h +0 −28
  959. arch/arm/mach-iop13xx/include/mach/iop13xx.h +12 −36
  960. arch/arm/mach-iop13xx/include/mach/memory.h +7 −7
  961. arch/arm/mach-iop13xx/io.c +4 −31
  962. arch/arm/mach-iop13xx/iq81340sc.c +1 −1
  963. arch/arm/mach-iop13xx/pci.c +21 −34
  964. arch/arm/mach-iop13xx/pci.h +2 −2
  965. arch/arm/mach-iop13xx/setup.c +5 −15
  966. arch/arm/mach-iop32x/glantank.c +1 −1
  967. arch/arm/mach-iop32x/include/mach/io.h +0 −19
  968. arch/arm/mach-iop33x/include/mach/io.h +0 −19
  969. arch/arm/mach-ixp4xx/Kconfig +1 −1
  970. arch/arm/mach-ixp4xx/common.c +4 −4
  971. arch/arm/mach-ixp4xx/include/mach/cpu.h +3 −2
  972. arch/arm/mach-ixp4xx/include/mach/gpio.h +0 −2
  973. arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h +5 −5
  974. arch/arm/mach-kirkwood/Kconfig +21 −0
  975. arch/arm/mach-kirkwood/Makefile +3 −0
  976. arch/arm/mach-kirkwood/Makefile.boot +0 −11
  977. arch/arm/mach-kirkwood/addr-map.c +2 −1
  978. arch/arm/mach-kirkwood/board-dnskw.c +0 −35
  979. arch/arm/mach-kirkwood/board-dockstar.c +61 −0
  980. arch/arm/mach-kirkwood/board-dreamplug.c +1 −1
  981. arch/arm/mach-kirkwood/board-dt.c +13 −3
  982. arch/arm/mach-kirkwood/board-goflexnet.c +1 −1
  983. arch/arm/mach-kirkwood/board-iconnect.c +0 −48
  984. arch/arm/mach-kirkwood/board-iomega_ix2_200.c +57 −0
  985. arch/arm/mach-kirkwood/board-km_kirkwood.c +57 −0
  986. arch/arm/mach-kirkwood/common.c +10 −22
  987. arch/arm/mach-kirkwood/common.h +18 −0
  988. arch/arm/mach-kirkwood/d2net_v2-setup.c +1 −1
  989. arch/arm/mach-kirkwood/db88f6281-bp-setup.c +1 −1
  990. arch/arm/mach-kirkwood/dockstar-setup.c +1 −1
  991. arch/arm/mach-kirkwood/guruplug-setup.c +1 −1
  992. arch/arm/mach-kirkwood/include/mach/bridge-regs.h +10 −10
  993. arch/arm/mach-kirkwood/include/mach/gpio.h +0 −9
  994. arch/arm/mach-kirkwood/include/mach/io.h +0 −24
  995. arch/arm/mach-kirkwood/include/mach/kirkwood.h +59 −61
  996. arch/arm/mach-kirkwood/irq.c +6 −4
  997. arch/arm/mach-kirkwood/netspace_v2-setup.c +1 −1
  998. arch/arm/mach-kirkwood/netxbig_v2-setup.c +1 −1
  999. arch/arm/mach-kirkwood/openrd-setup.c +1 −1
  1000. arch/arm/mach-kirkwood/pcie.c +19 −37
  1001. arch/arm/mach-kirkwood/rd88f6192-nas-setup.c +1 −0
  1002. arch/arm/mach-kirkwood/rd88f6281-setup.c +1 −1
  1003. arch/arm/mach-kirkwood/sheevaplug-setup.c +1 −1
  1004. arch/arm/mach-kirkwood/ts41x-setup.c +2 −1
  1005. arch/arm/mach-ks8695/Kconfig +61 −0
  1006. arch/arm/mach-ks8695/Makefile +8 −3
  1007. arch/arm/mach-ks8695/board-og.c +199 −0
  1008. arch/arm/mach-ks8695/board-sg.c +121 −0
  1009. arch/arm/mach-ks8695/cpu.c +1 −1
  1010. arch/arm/mach-ks8695/devices.c +0 −21
  1011. arch/arm/mach-ks8695/include/mach/devices.h +0 −5
  1012. arch/arm/mach-ks8695/include/mach/hardware.h +1 −1
  1013. arch/arm/mach-ks8695/include/mach/memory.h +2 −1
  1014. arch/arm/mach-ks8695/include/mach/regs-timer.h +0 −40
  1015. arch/arm/mach-ks8695/include/mach/uncompress.h +3 −3
  1016. arch/arm/mach-ks8695/leds.c +0 −92
  1017. arch/arm/mach-ks8695/time.c +90 −43
  1018. arch/arm/mach-lpc32xx/Makefile.boot +0 −2
  1019. arch/arm/mach-lpc32xx/common.c +4 −4
  1020. arch/arm/mach-lpc32xx/include/mach/gpio-lpc32xx.h +1 −1
  1021. arch/arm/mach-lpc32xx/include/mach/hardware.h +1 −1
  1022. arch/arm/mach-lpc32xx/irq.c +4 −3
  1023. arch/arm/mach-lpc32xx/phy3250.c +16 −26
  1024. arch/arm/mach-mmp/Kconfig +3 −3
  1025. arch/arm/mach-mmp/Makefile +7 −1
  1026. arch/arm/mach-mmp/aspenite.c +1 −1
  1027. arch/arm/mach-mmp/clock-mmp2.c +111 −0
  1028. arch/arm/mach-mmp/clock-pxa168.c +91 −0
  1029. arch/arm/mach-mmp/clock-pxa910.c +67 −0
  1030. arch/arm/mach-mmp/common.h +3 −0
  1031. arch/arm/mach-mmp/include/mach/debug-macro.S +10 −2
  1032. arch/arm/mach-mmp/include/mach/mmp2.h +1 −1
  1033. arch/arm/mach-mmp/include/mach/pxa168.h +2 −2
  1034. arch/arm/mach-mmp/include/mach/pxa910.h +1 −1
  1035. arch/arm/mach-mmp/include/mach/regs-apbc.h +0 −95
  1036. arch/arm/mach-mmp/include/mach/regs-apmu.h +0 −15
  1037. arch/arm/mach-mmp/irq.c +1 −3
  1038. arch/arm/mach-mmp/mmp2.c +6 −67
  1039. arch/arm/mach-mmp/pxa168.c +5 −53
  1040. arch/arm/mach-mmp/pxa910.c +8 −36
  1041. arch/arm/mach-mmp/sram.c +1 −1
  1042. arch/arm/mach-mmp/teton_bga.c +1 −1
  1043. arch/arm/mach-mmp/ttc_dkb.c +10 −0
  1044. arch/arm/mach-msm/Kconfig +22 −55
  1045. arch/arm/mach-msm/Makefile +4 −4
  1046. arch/arm/mach-msm/acpuclock-arm11.c +0 −525
  1047. arch/arm/mach-msm/acpuclock.h +0 −32
  1048. arch/arm/mach-msm/board-dt-8660.c +64 −0
  1049. arch/arm/mach-msm/board-dt-8960.c +50 −0
  1050. arch/arm/mach-msm/board-halibut.c +2 −3
  1051. arch/arm/mach-msm/board-mahimahi.c +0 −1
  1052. arch/arm/mach-msm/board-msm7x27.c +0 −170
  1053. arch/arm/mach-msm/board-msm7x30.c +4 −5
  1054. arch/arm/mach-msm/board-msm8960.c +0 −122
  1055. arch/arm/mach-msm/board-msm8x60.c +0 −166
  1056. arch/arm/mach-msm/board-qsd8x50.c +6 −7
  1057. arch/arm/mach-msm/board-sapphire.c +0 −1
  1058. arch/arm/mach-msm/board-trout-mmc.c +1 −1
  1059. arch/arm/mach-msm/board-trout-panel.c +1 −1
  1060. arch/arm/mach-msm/board-trout.c +2 −3
  1061. arch/arm/mach-msm/clock-pcom.c +9 −9
  1062. arch/arm/mach-msm/common.h +32 −0
  1063. arch/arm/mach-msm/core.h +2 −0
  1064. arch/arm/mach-msm/devices-msm7x00.c +1 −1
  1065. arch/arm/mach-msm/devices-msm7x30.c +1 −1
  1066. arch/arm/mach-msm/devices-msm8960.c +0 −85
  1067. arch/arm/mach-msm/devices-qsd8x50.c +1 −1
  1068. arch/arm/mach-msm/dma.c +1 −2
  1069. arch/arm/mach-msm/hotplug.c +2 −16
  1070. arch/arm/mach-msm/idle.c +0 −49
  1071. arch/arm/mach-msm/include/mach/board.h +1 −14
  1072. arch/arm/mach-msm/include/mach/gpio.h +0 −1
  1073. arch/arm/mach-msm/include/mach/msm_iomap-7x00.h +0 −7
  1074. arch/arm/mach-msm/include/mach/msm_iomap-7x30.h +0 −4
  1075. arch/arm/mach-msm/include/mach/msm_iomap-8960.h +1 −5
  1076. arch/arm/mach-msm/include/mach/msm_iomap-8x50.h +0 −4
  1077. arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +1 −16
  1078. arch/arm/mach-msm/include/mach/msm_iomap.h +1 −2
  1079. arch/arm/mach-msm/include/mach/system.h +0 −19
  1080. arch/arm/mach-msm/io.c +16 −16
  1081. arch/arm/mach-msm/platsmp.c +15 −17
  1082. arch/arm/mach-msm/proc_comm.c +0 −1
  1083. arch/arm/mach-msm/smd.c +10 −16
  1084. arch/arm/mach-msm/timer.c +149 −39
  1085. arch/arm/mach-mv78xx0/addr-map.c +6 −5
  1086. arch/arm/mach-mv78xx0/common.c +5 −10
  1087. arch/arm/mach-mv78xx0/include/mach/bridge-regs.h +6 −6
  1088. arch/arm/mach-mv78xx0/include/mach/io.h +0 −24
  1089. arch/arm/mach-mv78xx0/include/mach/mv78xx0.h +52 −53
  1090. arch/arm/mach-mv78xx0/irq.c +6 −4
  1091. arch/arm/mach-mv78xx0/pcie.c +39 −83
  1092. arch/arm/mach-mvebu/Kconfig +27 −3
  1093. arch/arm/mach-mvebu/Makefile +4 −1
  1094. arch/arm/mach-mvebu/Makefile.boot +0 −3
  1095. arch/arm/mach-mvebu/addr-map.c +134 −0
  1096. arch/arm/mach-mvebu/armada-370-xp.c +2 −2
  1097. arch/arm/mach-mvebu/armada-370-xp.h +1 −1
  1098. arch/arm/mach-mvebu/include/mach/debug-macro.S +0 −24
  1099. arch/arm/mach-mvebu/include/mach/gpio.h +0 −0
  1100. arch/arm/mach-mvebu/include/mach/timex.h +0 −13
  1101. arch/arm/mach-mvebu/include/mach/uncompress.h +0 −43
  1102. arch/arm/mach-mxs/Kconfig +0 −89
  1103. arch/arm/mach-mxs/Makefile +1 −10
  1104. arch/arm/mach-mxs/Makefile.boot +0 −9
  1105. arch/arm/mach-mxs/devices-mx23.h +0 −43
  1106. arch/arm/mach-mxs/devices-mx28.h +0 −63
  1107. arch/arm/mach-mxs/devices.c +0 −87
  1108. arch/arm/mach-mxs/devices/Kconfig +0 −33
  1109. arch/arm/mach-mxs/devices/Makefile +0 −12
  1110. arch/arm/mach-mxs/devices/platform-auart.c +0 −65
  1111. arch/arm/mach-mxs/devices/platform-dma.c +0 −31
  1112. arch/arm/mach-mxs/devices/platform-fec.c +0 −52
  1113. arch/arm/mach-mxs/devices/platform-flexcan.c +0 −51
  1114. arch/arm/mach-mxs/devices/platform-gpio-mxs.c +0 −33
  1115. arch/arm/mach-mxs/devices/platform-gpmi-nand.c +0 −81
  1116. arch/arm/mach-mxs/devices/platform-mxs-i2c.c +0 −52
  1117. arch/arm/mach-mxs/devices/platform-mxs-mmc.c +0 −76
  1118. arch/arm/mach-mxs/devices/platform-mxs-pwm.c +0 −22
  1119. arch/arm/mach-mxs/devices/platform-mxs-saif.c +0 −61
  1120. arch/arm/mach-mxs/devices/platform-mxsfb.c +0 −47
  1121. arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c +0 −51
  1122. arch/arm/mach-mxs/icoll.c +54 −9
  1123. arch/arm/mach-mxs/include/mach/common.h +2 −10
  1124. arch/arm/mach-mxs/include/mach/devices-common.h +0 −114
  1125. arch/arm/mach-mxs/include/mach/entry-macro.S +0 −35
  1126. arch/arm/mach-mxs/include/mach/gpio.h +0 −1
  1127. arch/arm/mach-mxs/include/mach/iomux-mx23.h +0 −355
  1128. arch/arm/mach-mxs/include/mach/iomux-mx28.h +0 −537
  1129. arch/arm/mach-mxs/include/mach/iomux.h +0 −168
  1130. arch/arm/mach-mxs/include/mach/irqs.h +0 −32
  1131. arch/arm/mach-mxs/iomux.c +0 −101
  1132. arch/arm/mach-mxs/mach-apx4devkit.c +0 −273
  1133. arch/arm/mach-mxs/mach-m28evk.c +0 −366
  1134. arch/arm/mach-mxs/mach-mx23evk.c +0 −190
  1135. arch/arm/mach-mxs/mach-mx28evk.c +0 −477
  1136. arch/arm/mach-mxs/mach-mxs.c +127 −42
  1137. arch/arm/mach-mxs/mach-stmp378x_devb.c +0 −123
  1138. arch/arm/mach-mxs/mach-tx28.c +0 −184
  1139. arch/arm/mach-mxs/mm.c +0 −39
  1140. arch/arm/mach-mxs/module-tx28.c +0 −160
  1141. arch/arm/mach-mxs/module-tx28.h +0 −10
  1142. arch/arm/mach-mxs/timer.c +12 −1
  1143. arch/arm/mach-netx/nxdb500.c +1 −1
  1144. arch/arm/mach-netx/nxdkn.c +1 −1
  1145. arch/arm/mach-netx/nxeb500hmi.c +1 −1
  1146. arch/arm/mach-nomadik/Kconfig +2 −2
  1147. arch/arm/mach-nomadik/board-nhk8815.c +38 −3
  1148. arch/arm/mach-nomadik/cpu-8815.c +13 −0
  1149. arch/arm/mach-nomadik/include/mach/gpio.h +0 −4
  1150. arch/arm/mach-nomadik/include/mach/hardware.h +1 −1
  1151. arch/arm/mach-nomadik/include/mach/uncompress.h +4 −4
  1152. arch/arm/mach-omap1/Kconfig +4 −4
  1153. arch/arm/mach-omap1/Makefile +0 −8
  1154. arch/arm/mach-omap1/ams-delta-fiq-handler.S +2 −1
  1155. arch/arm/mach-omap1/ams-delta-fiq.c +1 −1
  1156. arch/arm/mach-omap1/board-ams-delta.c +16 −4
  1157. arch/arm/mach-omap1/board-fsample.c +3 −4
  1158. arch/arm/mach-omap1/board-generic.c +1 −7
  1159. arch/arm/mach-omap1/board-h2.c +37 −4
  1160. arch/arm/mach-omap1/board-h3.c +36 −3
  1161. arch/arm/mach-omap1/board-htcherald.c +3 −5
  1162. arch/arm/mach-omap1/board-innovator.c +3 −3
  1163. arch/arm/mach-omap1/board-nokia770.c +4 −4
  1164. arch/arm/mach-omap1/board-osk.c +38 −3
  1165. arch/arm/mach-omap1/board-palmte.c +5 −5
  1166. arch/arm/mach-omap1/board-palmtt.c +5 −5
  1167. arch/arm/mach-omap1/board-palmz71.c +5 −5
  1168. arch/arm/mach-omap1/board-perseus2.c +3 −4
  1169. arch/arm/mach-omap1/board-sx1-mmc.c +1 −1
  1170. arch/arm/mach-omap1/board-sx1.c +5 −6
  1171. arch/arm/mach-omap1/board-voiceblue.c +3 −9
  1172. arch/arm/mach-omap1/clock.c +2 −2
  1173. arch/arm/mach-omap1/clock_data.c +6 −15
  1174. arch/arm/mach-omap1/devices.c +31 −4
  1175. arch/arm/mach-omap1/dma.c +5 −3
  1176. arch/arm/mach-omap1/flash.c +1 −1
  1177. arch/arm/mach-omap1/gpio15xx.c +1 −0
  1178. arch/arm/mach-omap1/gpio16xx.c +1 −0
  1179. arch/arm/mach-omap1/gpio7xx.c +1 −0
  1180. arch/arm/mach-omap1/i2c.c +1 −1
  1181. arch/arm/mach-omap1/include/mach/ams-delta-fiq.h +0 −2
  1182. arch/arm/mach-omap1/include/mach/board-ams-delta.h +0 −0
  1183. arch/arm/mach-omap1/include/mach/board-sx1.h +0 −0
  1184. arch/arm/mach-omap1/include/mach/board-voiceblue.h +0 −0
  1185. arch/arm/mach-omap1/include/mach/flash.h +0 −0
  1186. arch/arm/mach-omap1/include/mach/gpio.h +0 −2
  1187. arch/arm/mach-omap1/include/mach/hardware.h +281 −4
  1188. arch/arm/mach-omap1/include/mach/irda.h +0 −0
  1189. arch/arm/mach-omap1/include/mach/irqs.h +265 −2
  1190. arch/arm/mach-omap1/include/mach/mux.h +0 −0
  1191. arch/arm/mach-omap1/include/mach/omap1510.h +1 −2
  1192. arch/arm/mach-omap1/include/mach/omap16xx.h +1 −2
  1193. arch/arm/mach-omap1/include/mach/omap7xx.h +1 −2
  1194. arch/arm/mach-omap1/include/mach/smp.h +0 −5
  1195. arch/arm/mach-omap1/io.c +1 −1
  1196. arch/arm/mach-omap1/lcd_dma.c +2 −4
  1197. arch/arm/mach-omap1/leds-h2p2-debug.c +0 −166
  1198. arch/arm/mach-omap1/leds-innovator.c +0 −98
  1199. arch/arm/mach-omap1/leds-osk.c +0 −113
  1200. arch/arm/mach-omap1/leds.c +0 −69
  1201. arch/arm/mach-omap1/leds.h +0 −3
  1202. arch/arm/mach-omap1/mcbsp.c +2 −2
  1203. arch/arm/mach-omap1/mux.c +56 −2
  1204. arch/arm/mach-omap1/pm.c +1 −1
  1205. arch/arm/mach-omap1/serial.c +1 −2
  1206. arch/arm/mach-omap1/time.c +0 −1
  1207. arch/arm/mach-omap1/timer.c +1 −1
  1208. arch/arm/mach-omap1/timer32k.c +0 −1
  1209. arch/arm/mach-omap1/usb.c +1 −1
  1210. arch/arm/mach-omap2/Kconfig +37 −30
  1211. arch/arm/mach-omap2/Makefile +46 −69
  1212. arch/arm/mach-omap2/am33xx.h +0 −0
  1213. arch/arm/mach-omap2/am35xx-emac.c +1 −1
  1214. arch/arm/mach-omap2/am35xx.h +0 −0
  1215. arch/arm/mach-omap2/board-2430sdp.c +2 −6
  1216. arch/arm/mach-omap2/board-3430sdp.c +2 −12
  1217. arch/arm/mach-omap2/board-3630sdp.c +1 −7
  1218. arch/arm/mach-omap2/board-4430sdp.c +41 −77
  1219. arch/arm/mach-omap2/board-am3517crane.c +0 −10
  1220. arch/arm/mach-omap2/board-am3517evm.c +16 −10
  1221. arch/arm/mach-omap2/board-apollon.c +2 −4
  1222. arch/arm/mach-omap2/board-cm-t35.c +5 −12
  1223. arch/arm/mach-omap2/board-cm-t3517.c +3 −10
  1224. arch/arm/mach-omap2/board-devkit8000.c +4 −10
  1225. arch/arm/mach-omap2/board-flash.c +5 −5
  1226. arch/arm/mach-omap2/board-generic.c +2 −2
  1227. arch/arm/mach-omap2/board-h4.c +5 −6
  1228. arch/arm/mach-omap2/board-igep0020.c +4 −6
  1229. arch/arm/mach-omap2/board-ldp.c +2 −9
  1230. arch/arm/mach-omap2/board-n8x0.c +6 −10
  1231. arch/arm/mach-omap2/board-omap3beagle.c +16 −16
  1232. arch/arm/mach-omap2/board-omap3evm.c +18 −16
  1233. arch/arm/mach-omap2/board-omap3logic.c +6 −12
  1234. arch/arm/mach-omap2/board-omap3pandora.c +2 −7
  1235. arch/arm/mach-omap2/board-omap3stalker.c +8 −18
  1236. arch/arm/mach-omap2/board-omap3touchbook.c +2 −7
  1237. arch/arm/mach-omap2/board-omap4panda.c +31 −33
  1238. arch/arm/mach-omap2/board-overo.c +7 −13
  1239. arch/arm/mach-omap2/board-rm680.c +3 −5
  1240. arch/arm/mach-omap2/board-rx51-peripherals.c +37 −10
  1241. arch/arm/mach-omap2/board-rx51-video.c +2 −2
  1242. arch/arm/mach-omap2/board-rx51.c +1 −3
  1243. arch/arm/mach-omap2/board-rx51.h +0 −0
  1244. arch/arm/mach-omap2/board-ti8168evm.c +0 −8
  1245. arch/arm/mach-omap2/board-zoom-debugboard.c +7 −5
  1246. arch/arm/mach-omap2/board-zoom-display.c +3 −1
  1247. arch/arm/mach-omap2/board-zoom-peripherals.c +5 −13
  1248. arch/arm/mach-omap2/board-zoom.c +0 −1
  1249. arch/arm/mach-omap2/clkt2xxx_apll.c +1 −1
  1250. arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c +8 −4
  1251. arch/arm/mach-omap2/clkt34xx_dpll3m2.c +15 −15
  1252. arch/arm/mach-omap2/clkt_clksel.c +59 −37
  1253. arch/arm/mach-omap2/clkt_dpll.c +22 −18
  1254. arch/arm/mach-omap2/clock.c +18 −17
  1255. arch/arm/mach-omap2/clock2420_data.c +22 −4
  1256. arch/arm/mach-omap2/clock2430.c +1 −1
  1257. arch/arm/mach-omap2/clock2430_data.c +25 −1
  1258. arch/arm/mach-omap2/clock2xxx.c +1 −1
  1259. arch/arm/mach-omap2/clock33xx_data.c +8 −1
  1260. arch/arm/mach-omap2/clock3xxx.c +6 −7
  1261. arch/arm/mach-omap2/clock3xxx_data.c +38 −2
  1262. arch/arm/mach-omap2/clock44xx_data.c +23 −2
  1263. arch/arm/mach-omap2/clockdomain.c +62 −44
  1264. arch/arm/mach-omap2/clockdomain.h +17 −3
  1265. arch/arm/mach-omap2/clockdomain2xxx_3xxx.c +35 −14
  1266. arch/arm/mach-omap2/clockdomain44xx.c +11 −0
  1267. arch/arm/mach-omap2/clockdomains3xxx_data.c +2 −5
  1268. arch/arm/mach-omap2/clockdomains44xx_data.c +2 −1
  1269. arch/arm/mach-omap2/cm-regbits-33xx.h +144 −14
  1270. arch/arm/mach-omap2/cm-regbits-34xx.h +2 −0
  1271. arch/arm/mach-omap2/cm-regbits-44xx.h +335 −76
  1272. arch/arm/mach-omap2/cm2xxx_3xxx.c +2 −3
  1273. arch/arm/mach-omap2/cm2xxx_3xxx.h +1 −0
  1274. arch/arm/mach-omap2/common-board-devices.c +4 −4
  1275. arch/arm/mach-omap2/common.c +1 −3
  1276. arch/arm/mach-omap2/common.h +13 −1
  1277. arch/arm/mach-omap2/control.c +1 −1
  1278. arch/arm/mach-omap2/control.h +6 −5
  1279. arch/arm/mach-omap2/cpuidle34xx.c +0 −1
  1280. arch/arm/mach-omap2/ctrl_module_core_44xx.h +0 −0
  1281. arch/arm/mach-omap2/ctrl_module_pad_core_44xx.h +0 −0
  1282. arch/arm/mach-omap2/ctrl_module_pad_wkup_44xx.h +0 −0
  1283. arch/arm/mach-omap2/ctrl_module_wkup_44xx.h +0 −0
  1284. arch/arm/mach-omap2/debug-devices.h +9 −0
  1285. arch/arm/mach-omap2/devices.c +28 −38
  1286. arch/arm/mach-omap2/display.c +6 −7
  1287. arch/arm/mach-omap2/dpll3xxx.c +36 −25
  1288. arch/arm/mach-omap2/dpll44xx.c +1 −1
  1289. arch/arm/mach-omap2/dsp.c +1 −1
  1290. arch/arm/mach-omap2/emu.c +1 −2
  1291. arch/arm/mach-omap2/gpio.c +3 −0
  1292. arch/arm/mach-omap2/gpmc-nand.c +26 −8
  1293. arch/arm/mach-omap2/gpmc-onenand.c +25 −4
  1294. arch/arm/mach-omap2/gpmc-smc91x.c +3 −2
  1295. arch/arm/mach-omap2/gpmc-smc91x.h +0 −0
  1296. arch/arm/mach-omap2/gpmc-smsc911x.c +1 −2
  1297. arch/arm/mach-omap2/gpmc-smsc911x.h +0 −0
  1298. arch/arm/mach-omap2/gpmc.c +303 −66
  1299. arch/arm/mach-omap2/hdq1w.c +1 −1
  1300. arch/arm/mach-omap2/hdq1w.h +0 −0
  1301. arch/arm/mach-omap2/hsmmc.c +3 −2
  1302. arch/arm/mach-omap2/i2c.c +0 −1
  1303. arch/arm/mach-omap2/id.c +4 −5
  1304. arch/arm/mach-omap2/id.h +0 −0
  1305. arch/arm/mach-omap2/include/mach/board-zoom.h +0 −2
  1306. arch/arm/mach-omap2/include/mach/gpio.h +0 −2
  1307. arch/arm/mach-omap2/include/mach/hardware.h +0 −2
  1308. arch/arm/mach-omap2/include/mach/irqs.h +0 −2
  1309. arch/arm/mach-omap2/include/mach/smp.h +0 −5
  1310. arch/arm/mach-omap2/io.c +3 −0
  1311. arch/arm/mach-omap2/irq.c +5 −5
  1312. arch/arm/mach-omap2/l3_2xxx.h +0 −0
  1313. arch/arm/mach-omap2/l3_3xxx.h +0 −0
  1314. arch/arm/mach-omap2/l4_2xxx.h +0 −0
  1315. arch/arm/mach-omap2/l4_3xxx.h +0 −0
  1316. arch/arm/mach-omap2/mailbox.c +3 −1
  1317. arch/arm/mach-omap2/mcbsp.c +8 −122
  1318. arch/arm/mach-omap2/msdi.c +1 −0
  1319. arch/arm/mach-omap2/mux.c +1 −1
  1320. arch/arm/mach-omap2/mux34xx.c +4 −4
  1321. arch/arm/mach-omap2/omap-hotplug.c +2 −16
  1322. arch/arm/mach-omap2/omap-iommu.c +7 −5
  1323. arch/arm/mach-omap2/omap-mpuss-lowpower.c +1 −2
  1324. arch/arm/mach-omap2/omap-secure.c +3 −3
  1325. arch/arm/mach-omap2/omap-secure.h +0 −0
  1326. arch/arm/mach-omap2/omap-smp.c +17 −7
  1327. arch/arm/mach-omap2/omap-wakeupgen.c +4 −9
  1328. arch/arm/mach-omap2/omap-wakeupgen.h +0 −0
  1329. arch/arm/mach-omap2/omap24xx.h +0 −2
  1330. arch/arm/mach-omap2/omap34xx.h +0 −2
  1331. arch/arm/mach-omap2/omap4-common.c +9 −7
  1332. arch/arm/mach-omap2/omap4-keypad.h +2 −0
  1333. arch/arm/mach-omap2/omap44xx.h +1 −1
  1334. arch/arm/mach-omap2/omap54xx.h +0 −0
  1335. arch/arm/mach-omap2/omap_hwmod.c +343 −41
  1336. arch/arm/mach-omap2/omap_hwmod_2420_data.c +34 −17
  1337. arch/arm/mach-omap2/omap_hwmod_2430_data.c +58 −41
  1338. arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c +54 −56
  1339. arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c +19 −2
  1340. arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c +113 −7
  1341. arch/arm/mach-omap2/omap_hwmod_33xx_data.c +3381 −0
  1342. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +363 −84
  1343. arch/arm/mach-omap2/omap_hwmod_44xx_data.c +244 −14
  1344. arch/arm/mach-omap2/omap_hwmod_common_data.h +5 −2
  1345. arch/arm/mach-omap2/omap_phy_internal.c +2 −138
  1346. arch/arm/mach-omap2/opp.c +21 −13
  1347. arch/arm/mach-omap2/opp2420_data.c +1 −1
  1348. arch/arm/mach-omap2/opp2430_data.c +1 −1
  1349. arch/arm/mach-omap2/opp3xxx_data.c +0 −2
  1350. arch/arm/mach-omap2/opp4xxx_data.c +1 −2
  1351. arch/arm/mach-omap2/pm-debug.c +1 −2
  1352. arch/arm/mach-omap2/pm.c +16 −6
  1353. arch/arm/mach-omap2/pm.h +1 −0
  1354. arch/arm/mach-omap2/pm24xx.c +1 −13
  1355. arch/arm/mach-omap2/pm34xx.c +33 −7
  1356. arch/arm/mach-omap2/pm44xx.c +3 −5
  1357. arch/arm/mach-omap2/pmu.c +95 −0
  1358. arch/arm/mach-omap2/powerdomain.c +21 −21
  1359. arch/arm/mach-omap2/powerdomain2xxx_3xxx.c +2 −2
  1360. arch/arm/mach-omap2/powerdomain44xx.c +62 −3
  1361. arch/arm/mach-omap2/powerdomains3xxx_data.c +1 −3
  1362. arch/arm/mach-omap2/prcm-common.h +2 −0
  1363. arch/arm/mach-omap2/prcm.c +4 −5
  1364. arch/arm/mach-omap2/prm2xxx_3xxx.c +3 −4
  1365. arch/arm/mach-omap2/prm44xx.c +2 −3
  1366. arch/arm/mach-omap2/prm_common.c +0 −1
  1367. arch/arm/mach-omap2/sdrc2xxx.c +1 −1
  1368. arch/arm/mach-omap2/serial.c +25 −12
  1369. arch/arm/mach-omap2/sleep24xx.S +1 −2
  1370. arch/arm/mach-omap2/sleep34xx.S +1 −1
  1371. arch/arm/mach-omap2/sleep44xx.S +2 −2
  1372. arch/arm/mach-omap2/soc.h +7 −0
  1373. arch/arm/mach-omap2/sr_device.c +7 −8
  1374. arch/arm/mach-omap2/sram242x.S +1 −2
  1375. arch/arm/mach-omap2/sram243x.S +1 −2
  1376. arch/arm/mach-omap2/sram34xx.S +1 −2
  1377. arch/arm/mach-omap2/ti81xx.h +0 −0
  1378. arch/arm/mach-omap2/timer.c +108 −6
  1379. arch/arm/mach-omap2/twl-common.c +46 −32
  1380. arch/arm/mach-omap2/twl-common.h +7 −4
  1381. arch/arm/mach-omap2/usb-host.c +22 −11
  1382. arch/arm/mach-omap2/usb-musb.c +3 −7
  1383. arch/arm/mach-omap2/vc.c +3 −5
  1384. arch/arm/mach-omap2/voltage.c +6 −6
  1385. arch/arm/mach-omap2/voltage.h +1 −1
  1386. arch/arm/mach-omap2/voltagedomains3xxx_data.c +1 −2
  1387. arch/arm/mach-omap2/vp.c +7 −9
  1388. arch/arm/mach-orion5x/addr-map.c +2 −1
  1389. arch/arm/mach-orion5x/common.c +4 −14
  1390. arch/arm/mach-orion5x/d2net-setup.c +1 −0
  1391. arch/arm/mach-orion5x/db88f5281-setup.c +1 −1
  1392. arch/arm/mach-orion5x/dns323-setup.c +2 −1
  1393. arch/arm/mach-orion5x/include/mach/bridge-regs.h +10 −10
  1394. arch/arm/mach-orion5x/include/mach/gpio.h +0 −9
  1395. arch/arm/mach-orion5x/include/mach/io.h +0 −22
  1396. arch/arm/mach-orion5x/include/mach/orion5x.h +35 −37
  1397. arch/arm/mach-orion5x/irq.c +4 −2
  1398. arch/arm/mach-orion5x/kurobox_pro-setup.c +1 −1
  1399. arch/arm/mach-orion5x/net2big-setup.c +1 −0
  1400. arch/arm/mach-orion5x/pci.c +21 −41
  1401. arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c +0 −1
  1402. arch/arm/mach-orion5x/rd88f5181l-ge-setup.c +0 −1
  1403. arch/arm/mach-orion5x/rd88f5182-setup.c +22 −50
  1404. arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c +0 −1
  1405. arch/arm/mach-orion5x/ts78xx-setup.c +6 −6
  1406. arch/arm/mach-picoxcell/Kconfig +14 −0
  1407. arch/arm/mach-picoxcell/Makefile.boot +0 −1
  1408. arch/arm/mach-picoxcell/common.c +7 −6
  1409. arch/arm/mach-picoxcell/include/mach/debug-macro.S +0 −35
  1410. arch/arm/mach-picoxcell/include/mach/gpio.h +0 −1
  1411. arch/arm/mach-picoxcell/include/mach/hardware.h +0 −21
  1412. arch/arm/mach-picoxcell/include/mach/map.h +0 −25
  1413. arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h +0 −25
  1414. arch/arm/mach-picoxcell/include/mach/timex.h +0 −25
  1415. arch/arm/mach-picoxcell/include/mach/uncompress.h +0 −21
  1416. arch/arm/mach-pnx4008/Makefile +0 −12
  1417. arch/arm/mach-pnx4008/Makefile.boot +0 −4
  1418. arch/arm/mach-pnx4008/clock.c +0 −1001
  1419. arch/arm/mach-pnx4008/clock.h +0 −43
  1420. arch/arm/mach-pnx4008/core.c +0 −290
  1421. arch/arm/mach-pnx4008/dma.c +0 −1105
  1422. arch/arm/mach-pnx4008/gpio.c +0 −328
  1423. arch/arm/mach-pnx4008/i2c.c +0 −86
  1424. arch/arm/mach-pnx4008/include/mach/clock.h +0 −62
  1425. arch/arm/mach-pnx4008/include/mach/debug-macro.S +0 −21
  1426. arch/arm/mach-pnx4008/include/mach/dma.h +0 −160
  1427. arch/arm/mach-pnx4008/include/mach/entry-macro.S +0 −116
  1428. arch/arm/mach-pnx4008/include/mach/gpio-pnx4008.h +0 −241
  1429. arch/arm/mach-pnx4008/include/mach/hardware.h +0 −32
  1430. arch/arm/mach-pnx4008/include/mach/irq.h +0 −42
  1431. arch/arm/mach-pnx4008/include/mach/irqs.h +0 −215
  1432. arch/arm/mach-pnx4008/include/mach/param.h +0 −21
  1433. arch/arm/mach-pnx4008/include/mach/platform.h +0 −69
  1434. arch/arm/mach-pnx4008/include/mach/pm.h +0 −33
  1435. arch/arm/mach-pnx4008/include/mach/timex.h +0 −19
  1436. arch/arm/mach-pnx4008/include/mach/uncompress.h +0 −46
  1437. arch/arm/mach-pnx4008/irq.c +0 −121
  1438. arch/arm/mach-pnx4008/pm.c +0 −153
  1439. arch/arm/mach-pnx4008/serial.c +0 −67
  1440. arch/arm/mach-pnx4008/sleep.S +0 −195
  1441. arch/arm/mach-pnx4008/time.c +0 −134
  1442. arch/arm/mach-pnx4008/time.h +0 −70
  1443. arch/arm/mach-prima2/Kconfig +19 −0
  1444. arch/arm/mach-prima2/Makefile +2 −2
  1445. arch/arm/mach-prima2/common.c +50 −0
  1446. arch/arm/mach-prima2/include/mach/gpio.h +0 −13
  1447. arch/arm/mach-prima2/include/mach/uncompress.h +2 −2
  1448. arch/arm/mach-prima2/irq.c +1 −1
  1449. arch/arm/mach-prima2/prima2.c +0 −49
  1450. arch/arm/mach-pxa/Kconfig +70 −58
  1451. arch/arm/mach-pxa/Makefile +3 −8
  1452. arch/arm/mach-pxa/am200epd.c +1 −1
  1453. arch/arm/mach-pxa/am300epd.c +1 −1
  1454. arch/arm/mach-pxa/balloon3.c +4 −4
  1455. arch/arm/mach-pxa/clock-pxa3xx.c +6 −2
  1456. arch/arm/mach-pxa/cm-x270.c +2 −2
  1457. arch/arm/mach-pxa/cm-x2xx.c +2 −1
  1458. arch/arm/mach-pxa/cm-x300.c +5 −5
  1459. arch/arm/mach-pxa/colibri-evalboard.c +2 −2
  1460. arch/arm/mach-pxa/colibri-pxa270-income.c +3 −3
  1461. arch/arm/mach-pxa/colibri-pxa300.c +2 −2
  1462. arch/arm/mach-pxa/colibri-pxa320.c +2 −2
  1463. arch/arm/mach-pxa/colibri-pxa3xx.c +3 −3
  1464. arch/arm/mach-pxa/corgi.c +2 −2
  1465. arch/arm/mach-pxa/csb726.c +2 −2
  1466. arch/arm/mach-pxa/devices.c +24 −10
  1467. arch/arm/mach-pxa/em-x270.c +5 −5
  1468. arch/arm/mach-pxa/eseries.c +2 −2
  1469. arch/arm/mach-pxa/ezx.c +4 −4
  1470. arch/arm/mach-pxa/gumstix.c +1 −1
  1471. arch/arm/mach-pxa/hx4700.c +1 −1
  1472. arch/arm/mach-pxa/idp.c +83 −2
  1473. arch/arm/mach-pxa/include/mach/pxa3xx-regs.h +1 −0
  1474. arch/arm/mach-pxa/irq.c +110 −21
  1475. arch/arm/mach-pxa/leds-idp.c +0 −115
  1476. arch/arm/mach-pxa/leds-lubbock.c +0 −124
  1477. arch/arm/mach-pxa/leds-mainstone.c +0 −119
  1478. arch/arm/mach-pxa/leds.c +0 −32
  1479. arch/arm/mach-pxa/leds.h +0 −13
  1480. arch/arm/mach-pxa/littleton.c +4 −4
  1481. arch/arm/mach-pxa/lpd270.c +4 −4
  1482. arch/arm/mach-pxa/lubbock.c +98 −3
  1483. arch/arm/mach-pxa/magician.c +4 −4
  1484. arch/arm/mach-pxa/mainstone.c +99 −5
  1485. arch/arm/mach-pxa/mioa701.c +4 −4
  1486. arch/arm/mach-pxa/mxm8x10.c +4 −4
  1487. arch/arm/mach-pxa/palm27x.c +4 −4
  1488. arch/arm/mach-pxa/palmld.c +5 −5
  1489. arch/arm/mach-pxa/palmt5.c +5 −5
  1490. arch/arm/mach-pxa/palmtc.c +3 −3
  1491. arch/arm/mach-pxa/palmte2.c +6 −4
  1492. arch/arm/mach-pxa/palmtreo.c +7 −7
  1493. arch/arm/mach-pxa/palmtx.c +5 −5
  1494. arch/arm/mach-pxa/palmz72.c +6 −6
  1495. arch/arm/mach-pxa/pcm990-baseboard.c +4 −4
  1496. arch/arm/mach-pxa/poodle.c +3 −3
  1497. arch/arm/mach-pxa/pxa-dt.c +63 −0
  1498. arch/arm/mach-pxa/pxa27x.c +1 −1
  1499. arch/arm/mach-pxa/pxa2xx.c +1 −1
  1500. arch/arm/mach-pxa/pxa3xx-ulpi.c +1 −1
  1501. arch/arm/mach-pxa/pxa3xx.c +21 −4
  1502. arch/arm/mach-pxa/raumfeld.c +4 −4
  1503. arch/arm/mach-pxa/saar.c +1 −1
  1504. arch/arm/mach-pxa/sharpsl_pm.c +19 −63
  1505. arch/arm/mach-pxa/spitz.c +4 −4
  1506. arch/arm/mach-pxa/stargate2.c +2 −2
  1507. arch/arm/mach-pxa/tavorevb.c +2 −2
  1508. arch/arm/mach-pxa/tosa.c +2 −2
  1509. arch/arm/mach-pxa/trizeps4.c +4 −4
  1510. arch/arm/mach-pxa/viper.c +3 −4
  1511. arch/arm/mach-pxa/vpac270.c +4 −4
  1512. arch/arm/mach-pxa/z2.c +3 −3
  1513. arch/arm/mach-pxa/zeus.c +4 −4
  1514. arch/arm/mach-pxa/zylonite.c +5 −5
  1515. arch/arm/mach-realview/Kconfig +6 −6
  1516. arch/arm/mach-realview/core.c +0 −39
  1517. arch/arm/mach-realview/core.h +3 −2
  1518. arch/arm/mach-realview/hotplug.c +1 −17
  1519. arch/arm/mach-realview/include/mach/gpio.h +0 −1
  1520. arch/arm/mach-realview/platsmp.c +14 −4
  1521. arch/arm/mach-realview/realview_eb.c +1 −7
  1522. arch/arm/mach-realview/realview_pb1176.c +1 −7
  1523. arch/arm/mach-realview/realview_pb11mp.c +2 −7
  1524. arch/arm/mach-realview/realview_pba8.c +1 −7
  1525. arch/arm/mach-realview/realview_pbx.c +2 −7
  1526. arch/arm/mach-rpc/ecard.c +3 −1
  1527. arch/arm/mach-s3c2412/Kconfig +1 −1
  1528. arch/arm/mach-s3c2440/Kconfig +1 −1
  1529. arch/arm/mach-s3c24xx/Kconfig +41 −41
  1530. arch/arm/mach-s3c24xx/clock-s3c2440.c +15 −1
  1531. arch/arm/mach-s3c24xx/common-smdk.c +2 −2
  1532. arch/arm/mach-s3c24xx/h1940-bluetooth.c +1 −13
  1533. arch/arm/mach-s3c24xx/irq-s3c2416.c +3 −3
  1534. arch/arm/mach-s3c24xx/irq-s3c2443.c +2 −2
  1535. arch/arm/mach-s3c24xx/mach-amlm5900.c +1 −1
  1536. arch/arm/mach-s3c24xx/mach-anubis.c +5 −4
  1537. arch/arm/mach-s3c24xx/mach-at2440evb.c +3 −3
  1538. arch/arm/mach-s3c24xx/mach-bast.c +4 −4
  1539. arch/arm/mach-s3c24xx/mach-gta02.c +5 −5
  1540. arch/arm/mach-s3c24xx/mach-h1940.c +6 −6
  1541. arch/arm/mach-s3c24xx/mach-jive.c +9 −9
  1542. arch/arm/mach-s3c24xx/mach-mini2440.c +7 −7
  1543. arch/arm/mach-s3c24xx/mach-n30.c +4 −4
  1544. arch/arm/mach-s3c24xx/mach-nexcoder.c +12 −12
  1545. arch/arm/mach-s3c24xx/mach-osiris-dvs.c +1 −12
  1546. arch/arm/mach-s3c24xx/mach-osiris.c +6 −5
  1547. arch/arm/mach-s3c24xx/mach-otom.c +1 −1
  1548. arch/arm/mach-s3c24xx/mach-qt2410.c +4 −4
  1549. arch/arm/mach-s3c24xx/mach-rx1950.c +5 −5
  1550. arch/arm/mach-s3c24xx/mach-rx3715.c +1 −1
  1551. arch/arm/mach-s3c24xx/mach-smdk2410.c +1 −1
  1552. arch/arm/mach-s3c24xx/mach-smdk2413.c +2 −2
  1553. arch/arm/mach-s3c24xx/mach-smdk2416.c +5 −5
  1554. arch/arm/mach-s3c24xx/mach-smdk2440.c +1 −1
  1555. arch/arm/mach-s3c24xx/mach-smdk2443.c +1 −1
  1556. arch/arm/mach-s3c24xx/mach-tct_hammer.c +1 −1
  1557. arch/arm/mach-s3c24xx/mach-vr1000.c +3 −3
  1558. arch/arm/mach-s3c24xx/mach-vstms.c +2 −2
  1559. arch/arm/mach-s3c24xx/s3c2416.c +2 −0
  1560. arch/arm/mach-s3c24xx/s3c2443.c +4 −0
  1561. arch/arm/mach-s3c24xx/setup-i2c.c +1 −1
  1562. arch/arm/mach-s3c24xx/simtec-audio.c +1 −1
  1563. arch/arm/mach-s3c24xx/simtec-usb.c +2 −2
  1564. arch/arm/mach-s3c64xx/Kconfig +48 −48
  1565. arch/arm/mach-s3c64xx/dev-audio.c +1 −1
  1566. arch/arm/mach-s3c64xx/mach-anw6410.c +2 −2
  1567. arch/arm/mach-s3c64xx/mach-crag6410-module.c +32 −6
  1568. arch/arm/mach-s3c64xx/mach-crag6410.c +15 −3
  1569. arch/arm/mach-s3c64xx/mach-hmt.c +3 −3
  1570. arch/arm/mach-s3c64xx/mach-mini6410.c +3 −3
  1571. arch/arm/mach-s3c64xx/mach-ncp.c +2 −2
  1572. arch/arm/mach-s3c64xx/mach-real6410.c +3 −3
  1573. arch/arm/mach-s3c64xx/mach-smartq.c +4 −4
  1574. arch/arm/mach-s3c64xx/mach-smartq5.c +1 −1
  1575. arch/arm/mach-s3c64xx/mach-smartq7.c +1 −1
  1576. arch/arm/mach-s3c64xx/mach-smdk6400.c +1 −1
  1577. arch/arm/mach-s3c64xx/mach-smdk6410.c +4 −4
  1578. arch/arm/mach-s3c64xx/setup-i2c0.c +1 −1
  1579. arch/arm/mach-s3c64xx/setup-i2c1.c +1 −1
  1580. arch/arm/mach-s3c64xx/setup-ide.c +1 −1
  1581. arch/arm/mach-s5p64x0/Kconfig +14 −14
  1582. arch/arm/mach-s5p64x0/common.c +3 −0
  1583. arch/arm/mach-s5p64x0/dev-audio.c +1 −1
  1584. arch/arm/mach-s5p64x0/mach-smdk6440.c +3 −3
  1585. arch/arm/mach-s5p64x0/mach-smdk6450.c +3 −3
  1586. arch/arm/mach-s5p64x0/setup-i2c0.c +1 −1
  1587. arch/arm/mach-s5p64x0/setup-i2c1.c +1 −1
  1588. arch/arm/mach-s5pc100/Kconfig +6 −6
  1589. arch/arm/mach-s5pc100/common.c +3 −0
  1590. arch/arm/mach-s5pc100/dev-audio.c +1 −1
  1591. arch/arm/mach-s5pc100/mach-smdkc100.c +5 −5
  1592. arch/arm/mach-s5pc100/setup-i2c0.c +1 −1
  1593. arch/arm/mach-s5pc100/setup-i2c1.c +1 −1
  1594. arch/arm/mach-s5pv210/Kconfig +25 −25
  1595. arch/arm/mach-s5pv210/common.c +3 −0
  1596. arch/arm/mach-s5pv210/dev-audio.c +1 −1
  1597. arch/arm/mach-s5pv210/mach-aquila.c +1 −1
  1598. arch/arm/mach-s5pv210/mach-goni.c +2 −2
  1599. arch/arm/mach-s5pv210/mach-smdkc110.c +2 −2
  1600. arch/arm/mach-s5pv210/mach-smdkv210.c +4 −4
  1601. arch/arm/mach-s5pv210/mach-torbreck.c +1 −1
  1602. arch/arm/mach-s5pv210/setup-i2c0.c +1 −1
  1603. arch/arm/mach-s5pv210/setup-i2c1.c +1 −1
  1604. arch/arm/mach-s5pv210/setup-i2c2.c +1 −1
  1605. arch/arm/mach-sa1100/Kconfig +6 −6
  1606. arch/arm/mach-sa1100/Makefile +0 −9
  1607. arch/arm/mach-sa1100/assabet.c +87 −2
  1608. arch/arm/mach-sa1100/badge4.c +30 −0
  1609. arch/arm/mach-sa1100/cerf.c +43 −1
  1610. arch/arm/mach-sa1100/collie.c +1 −1
  1611. arch/arm/mach-sa1100/hackkit.c +32 −0
  1612. arch/arm/mach-sa1100/include/mach/SA-1111.h +0 −5
  1613. arch/arm/mach-sa1100/include/mach/lart.h +0 −13
  1614. arch/arm/mach-sa1100/include/mach/simpad.h +1 −1
  1615. arch/arm/mach-sa1100/lart.c +27 −1
  1616. arch/arm/mach-sa1100/leds-assabet.c +0 −113
  1617. arch/arm/mach-sa1100/leds-badge4.c +0 −110
  1618. arch/arm/mach-sa1100/leds-cerf.c +0 −110
  1619. arch/arm/mach-sa1100/leds-hackkit.c +0 −112
  1620. arch/arm/mach-sa1100/leds-lart.c +0 −101
  1621. arch/arm/mach-sa1100/leds.c +0 −50
  1622. arch/arm/mach-sa1100/leds.h +0 −13
  1623. arch/arm/mach-sa1100/shannon.c +1 −1
  1624. arch/arm/mach-sa1100/simpad.c +2 −2
  1625. arch/arm/mach-shark/Makefile +1 −3
  1626. arch/arm/mach-shark/core.c +0 −19
  1627. arch/arm/mach-shark/include/mach/debug-macro.S +4 −3
  1628. arch/arm/mach-shark/include/mach/entry-macro.S +2 −1
  1629. arch/arm/mach-shark/include/mach/io.h +0 −18
  1630. arch/arm/mach-shark/leds.c +86 −134
  1631. arch/arm/mach-shark/pci.c +6 −1
  1632. arch/arm/mach-shmobile/Kconfig +21 −21
  1633. arch/arm/mach-shmobile/Makefile +1 −1
  1634. arch/arm/mach-shmobile/board-ag5evm.c +1 −1
  1635. arch/arm/mach-shmobile/board-ap4evb.c +20 −15
  1636. arch/arm/mach-shmobile/board-armadillo800eva.c +34 −7
  1637. arch/arm/mach-shmobile/board-bonito.c +4 −4
  1638. arch/arm/mach-shmobile/board-g3evm.c +6 −6
  1639. arch/arm/mach-shmobile/board-g4evm.c +17 −15
  1640. arch/arm/mach-shmobile/board-kota2.c +1 −0
  1641. arch/arm/mach-shmobile/board-kzm9d.c +1 −0
  1642. arch/arm/mach-shmobile/board-kzm9g.c +15 −7
  1643. arch/arm/mach-shmobile/board-mackerel.c +32 −26
  1644. arch/arm/mach-shmobile/board-marzen.c +68 −1
  1645. arch/arm/mach-shmobile/clock-r8a7740.c +23 −23
  1646. arch/arm/mach-shmobile/clock-r8a7779.c +21 −12
  1647. arch/arm/mach-shmobile/clock-sh7367.c +22 −22
  1648. arch/arm/mach-shmobile/clock-sh7372.c +30 −30
  1649. arch/arm/mach-shmobile/clock-sh7377.c +25 −25
  1650. arch/arm/mach-shmobile/clock-sh73a0.c +35 −35
  1651. arch/arm/mach-shmobile/common.c +0 −24
  1652. arch/arm/mach-shmobile/cpuidle.c +13 −26
  1653. arch/arm/mach-shmobile/hotplug.c +11 −20
  1654. arch/arm/mach-shmobile/include/mach/common.h +22 −16
  1655. arch/arm/mach-shmobile/include/mach/emev2.h +2 −5
  1656. arch/arm/mach-shmobile/include/mach/gpio.h +0 −62
  1657. arch/arm/mach-shmobile/include/mach/pm-rmobile.h +27 −8
  1658. arch/arm/mach-shmobile/include/mach/r8a7740.h +3 −3
  1659. arch/arm/mach-shmobile/include/mach/r8a7779.h +4 −10
  1660. arch/arm/mach-shmobile/include/mach/sh7372.h +8 −12
  1661. arch/arm/mach-shmobile/include/mach/sh73a0.h +2 −0
  1662. arch/arm/mach-shmobile/intc-r8a7779.c +7 −7
  1663. arch/arm/mach-shmobile/intc-sh7372.c +15 −12
  1664. arch/arm/mach-shmobile/intc-sh73a0.c +11 −9
  1665. arch/arm/mach-shmobile/pfc-r8a7740.c +1 −1
  1666. arch/arm/mach-shmobile/pfc-r8a7779.c +1 −1
  1667. arch/arm/mach-shmobile/pfc-sh7367.c +1 −1
  1668. arch/arm/mach-shmobile/pfc-sh7372.c +1 −1
  1669. arch/arm/mach-shmobile/pfc-sh7377.c +1 −1
  1670. arch/arm/mach-shmobile/pfc-sh73a0.c +1 −1
  1671. arch/arm/mach-shmobile/platsmp.c +1 −95
  1672. arch/arm/mach-shmobile/pm-r8a7740.c +24 −18
  1673. arch/arm/mach-shmobile/pm-r8a7779.c +36 −35
  1674. arch/arm/mach-shmobile/pm-rmobile.c +29 −10
  1675. arch/arm/mach-shmobile/pm-sh7372.c +210 −130
  1676. arch/arm/mach-shmobile/setup-emev2.c +22 −0
  1677. arch/arm/mach-shmobile/setup-r8a7740.c +11 −16
  1678. arch/arm/mach-shmobile/setup-r8a7779.c +2 −5
  1679. arch/arm/mach-shmobile/setup-sh7367.c +1 −1
  1680. arch/arm/mach-shmobile/setup-sh7372.c +30 −39
  1681. arch/arm/mach-shmobile/setup-sh7377.c +1 −1
  1682. arch/arm/mach-shmobile/setup-sh73a0.c +22 −1
  1683. arch/arm/mach-shmobile/sh-gpio.h +48 −0
  1684. arch/arm/mach-shmobile/smp-emev2.c +43 −6
  1685. arch/arm/mach-shmobile/smp-r8a7779.c +43 −5
  1686. arch/arm/mach-shmobile/smp-sh73a0.c +44 −4
  1687. arch/arm/mach-socfpga/Kconfig +16 −0
  1688. arch/arm/mach-socfpga/Makefile.boot +0 −1
  1689. arch/arm/mach-socfpga/include/mach/debug-macro.S +0 −16
  1690. arch/arm/mach-socfpga/include/mach/timex.h +0 −19
  1691. arch/arm/mach-socfpga/include/mach/uncompress.h +0 −9
  1692. arch/arm/mach-spear13xx/Makefile.boot +0 −3
  1693. arch/arm/mach-spear13xx/hotplug.c +3 −19
  1694. arch/arm/mach-spear13xx/include/mach/generic.h +3 −0
  1695. arch/arm/mach-spear13xx/include/mach/gpio.h +0 −19
  1696. arch/arm/mach-spear13xx/include/mach/spear.h +7 −7
  1697. arch/arm/mach-spear13xx/include/mach/spear1340_misc_regs.h +0 −0
  1698. arch/arm/mach-spear13xx/platsmp.c +15 −10
  1699. arch/arm/mach-spear13xx/spear1310.c +1 −0
  1700. arch/arm/mach-spear13xx/spear1340.c +1 −0
  1701. arch/arm/mach-spear13xx/spear13xx.c +6 −3
  1702. arch/arm/mach-spear3xx/Makefile.boot +0 −4
  1703. arch/arm/mach-spear3xx/include/mach/gpio.h +0 −19
  1704. arch/arm/mach-spear6xx/Makefile.boot +0 −2
  1705. arch/arm/mach-spear6xx/include/mach/gpio.h +0 −19
  1706. arch/arm/mach-tegra/Kconfig +17 −46
  1707. arch/arm/mach-tegra/Makefile +7 −14
  1708. arch/arm/mach-tegra/Makefile.boot +0 −8
  1709. arch/arm/mach-tegra/apbio.c +3 −119
  1710. arch/arm/mach-tegra/board-dt-tegra20.c +34 −21
  1711. arch/arm/mach-tegra/board-dt-tegra30.c +3 −1
  1712. arch/arm/mach-tegra/board-harmony-pcie.c +30 −19
  1713. arch/arm/mach-tegra/board-harmony-pinmux.c +0 −156
  1714. arch/arm/mach-tegra/board-harmony-power.c +0 −156
  1715. arch/arm/mach-tegra/board-harmony.c +0 −197
  1716. arch/arm/mach-tegra/board-harmony.h +0 −41
  1717. arch/arm/mach-tegra/board-paz00-pinmux.c +0 −156
  1718. arch/arm/mach-tegra/board-paz00.c +0 −192
  1719. arch/arm/mach-tegra/board-paz00.h +1 −16
  1720. arch/arm/mach-tegra/board-pinmux.c +0 −87
  1721. arch/arm/mach-tegra/board-pinmux.h +0 −54
  1722. arch/arm/mach-tegra/board-trimslice-pinmux.c +0 −155
  1723. arch/arm/mach-tegra/board-trimslice.c +0 −183
  1724. arch/arm/mach-tegra/board-trimslice.h +0 −30
  1725. arch/arm/mach-tegra/board.h +1 −1
  1726. arch/arm/mach-tegra/clock.c +35 −539
  1727. arch/arm/mach-tegra/clock.h +11 −29
  1728. arch/arm/mach-tegra/common.c +4 −1
  1729. arch/arm/mach-tegra/common.h +4 −0
  1730. arch/arm/mach-tegra/cpu-tegra.c +47 −1
  1731. arch/arm/mach-tegra/devices.c +0 −702
  1732. arch/arm/mach-tegra/devices.h +0 −60
  1733. arch/arm/mach-tegra/dma.c +0 −823
  1734. arch/arm/mach-tegra/fuse.c +2 −2
  1735. arch/arm/mach-tegra/headsmp.S +1 −5
  1736. arch/arm/mach-tegra/hotplug.c +34 −93
  1737. arch/arm/mach-tegra/include/mach/clk.h +3 −0
  1738. arch/arm/mach-tegra/include/mach/dma.h +0 −97
  1739. arch/arm/mach-tegra/include/mach/gpio-tegra.h +0 −28
  1740. arch/arm/mach-tegra/include/mach/gpio.h +0 −1
  1741. arch/arm/mach-tegra/include/mach/io.h +0 −46
  1742. arch/arm/mach-tegra/include/mach/iomap.h +3 −0
  1743. arch/arm/mach-tegra/include/mach/pinconf-tegra.h +0 −63
  1744. arch/arm/mach-tegra/include/mach/sdhci.h +0 −30
  1745. arch/arm/mach-tegra/include/mach/smmu.h +0 −63
  1746. arch/arm/mach-tegra/include/mach/suspend.h +0 −38
  1747. arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h +0 −23
  1748. arch/arm/mach-tegra/include/mach/usb_phy.h +0 −86
  1749. arch/arm/mach-tegra/pcie.c +22 −73
  1750. arch/arm/mach-tegra/platsmp.c +23 −29
  1751. arch/arm/mach-tegra/powergate.c +36 −7
  1752. arch/arm/mach-tegra/sleep-t20.S +82 −0
  1753. arch/arm/mach-tegra/sleep-t30.S +107 −0
  1754. arch/arm/mach-tegra/sleep.S +1 −32
  1755. arch/arm/mach-tegra/sleep.h +85 −0
  1756. arch/arm/mach-tegra/tegra20_clocks.c +1624 −0
  1757. arch/arm/mach-tegra/tegra20_clocks.h +42 −0
  1758. arch/arm/mach-tegra/tegra20_clocks_data.c +1140 −0
  1759. arch/arm/mach-tegra/tegra2_clocks.c +0 −2484
  1760. arch/arm/mach-tegra/tegra30_clocks.c +892 −1701
  1761. arch/arm/mach-tegra/tegra30_clocks.h +53 −0
  1762. arch/arm/mach-tegra/tegra30_clocks_data.c +1378 −0
  1763. arch/arm/mach-tegra/tegra_cpu_car.h +87 −0
  1764. arch/arm/mach-tegra/timer.c +1 −2
  1765. arch/arm/mach-tegra/usb_phy.c +0 −817
  1766. arch/arm/mach-u300/Kconfig +3 −42
  1767. arch/arm/mach-u300/Makefile +0 −1
  1768. arch/arm/mach-u300/core.c +23 −80
  1769. arch/arm/mach-u300/dma_channels.h +1 −10
  1770. arch/arm/mach-u300/i2c.c +2 −6
  1771. arch/arm/mach-u300/include/mach/clkdev.h +0 −7
  1772. arch/arm/mach-u300/include/mach/gpio-u300.h +0 −37
  1773. arch/arm/mach-u300/include/mach/gpio.h +0 −1
  1774. arch/arm/mach-u300/include/mach/irqs.h +2 −34
  1775. arch/arm/mach-u300/include/mach/platform.h +0 −20
  1776. arch/arm/mach-u300/include/mach/syscon.h +5 −27
  1777. arch/arm/mach-u300/include/mach/u300-regs.h +1 −18
  1778. arch/arm/mach-u300/spi.c +1 −1
  1779. arch/arm/mach-u300/timer.c +4 −1
  1780. arch/arm/mach-u300/timer.h +1 −0
  1781. arch/arm/mach-u300/u300-gpio.h +1 −45
  1782. arch/arm/mach-u300/u300.c +0 −57
  1783. arch/arm/mach-ux500/Kconfig +9 −8
  1784. arch/arm/mach-ux500/Makefile +1 −1
  1785. arch/arm/mach-ux500/Makefile.boot +0 −2
  1786. arch/arm/mach-ux500/board-mop500-audio.c +195 −0
  1787. arch/arm/mach-ux500/board-mop500-msp.c +0 −267
  1788. arch/arm/mach-ux500/board-mop500-msp.h +0 −14
  1789. arch/arm/mach-ux500/board-mop500-pins.c +51 −32
  1790. arch/arm/mach-ux500/board-mop500-regulators.c +15 −0
  1791. arch/arm/mach-ux500/board-mop500-regulators.h +1 −0
  1792. arch/arm/mach-ux500/board-mop500-sdi.c +2 −2
  1793. arch/arm/mach-ux500/board-mop500.c +42 −43
  1794. arch/arm/mach-ux500/board-mop500.h +11 −0
  1795. arch/arm/mach-ux500/cache-l2x0.c +1 −1
  1796. arch/arm/mach-ux500/cpu-db8500.c +6 −12
  1797. arch/arm/mach-ux500/cpu.c +4 −1
  1798. arch/arm/mach-ux500/devices-common.h +1 −1
  1799. arch/arm/mach-ux500/hotplug.c +8 −28
  1800. arch/arm/mach-ux500/include/mach/gpio.h +0 −5
  1801. arch/arm/mach-ux500/include/mach/id.h +15 −29
  1802. arch/arm/mach-ux500/include/mach/msp.h +0 −2
  1803. arch/arm/mach-ux500/include/mach/setup.h +3 −0
  1804. arch/arm/mach-ux500/include/mach/uncompress.h +2 −2
  1805. arch/arm/mach-ux500/platsmp.c +16 −12
  1806. arch/arm/mach-ux500/timer.c +1 −1
  1807. arch/arm/mach-ux500/usb.c +1 −1
  1808. arch/arm/mach-versatile/Kconfig +2 −2
  1809. arch/arm/mach-versatile/core.c +0 −10
  1810. arch/arm/mach-versatile/include/mach/gpio.h +0 −1
  1811. arch/arm/mach-versatile/include/mach/hardware.h +0 −1
  1812. arch/arm/mach-versatile/include/mach/io.h +0 −27
  1813. arch/arm/mach-versatile/pci.c +4 −18
  1814. arch/arm/mach-vexpress/Kconfig +32 −32
  1815. arch/arm/mach-vexpress/Makefile +2 −0
  1816. arch/arm/mach-vexpress/Makefile.boot +0 −10
  1817. arch/arm/mach-vexpress/core.h +4 −0
  1818. arch/arm/mach-vexpress/ct-ca9x4.c +2 −2
  1819. arch/arm/mach-vexpress/hotplug.c +1 −17
  1820. arch/arm/mach-vexpress/include/mach/gpio.h +0 −1
  1821. arch/arm/mach-vexpress/include/mach/irqs.h +2 −0
  1822. arch/arm/mach-vexpress/include/mach/timex.h +0 −23
  1823. arch/arm/mach-vexpress/include/mach/uncompress.h +0 −86
  1824. arch/arm/mach-vexpress/platsmp.c +14 −4
  1825. arch/arm/mach-vexpress/v2m.c +5 −4
  1826. arch/arm/mach-vt8500/Kconfig +0 −73
  1827. arch/arm/mach-vt8500/Makefile +1 −7
  1828. arch/arm/mach-vt8500/bv07.c +0 −80
  1829. arch/arm/mach-vt8500/common.h +28 −0
  1830. arch/arm/mach-vt8500/devices-vt8500.c +0 −91
  1831. arch/arm/mach-vt8500/devices-wm8505.c +0 −99
  1832. arch/arm/mach-vt8500/devices.c +0 −270
  1833. arch/arm/mach-vt8500/devices.h +0 −88
  1834. arch/arm/mach-vt8500/gpio.c +0 −240
  1835. arch/arm/mach-vt8500/include/mach/gpio.h +0 −1
  1836. arch/arm/mach-vt8500/include/mach/restart.h +2 −2
  1837. arch/arm/mach-vt8500/include/mach/uncompress.h +4 −4
  1838. arch/arm/mach-vt8500/include/mach/vt8500_irqs.h +0 −88
  1839. arch/arm/mach-vt8500/include/mach/vt8500_regs.h +0 −79
  1840. arch/arm/mach-vt8500/include/mach/wm8505_irqs.h +0 −115
  1841. arch/arm/mach-vt8500/include/mach/wm8505_regs.h +0 −78
  1842. arch/arm/mach-vt8500/irq.c +125 −84
  1843. arch/arm/mach-vt8500/restart.c +0 −54
  1844. arch/arm/mach-vt8500/timer.c +48 −19
  1845. arch/arm/mach-vt8500/vt8500.c +198 −0
  1846. arch/arm/mach-vt8500/wm8505_7in.c +0 −79
  1847. arch/arm/mach-w90x900/dev.c +3 −3
  1848. arch/arm/mach-w90x900/mach-nuc950evb.c +1 −1
  1849. arch/arm/mm/Kconfig +70 −53
  1850. arch/arm/mm/alignment.c +6 −4
  1851. arch/arm/mm/cache-fa.S +3 −0
  1852. arch/arm/mm/cache-l2x0.c +7 −3
  1853. arch/arm/mm/cache-tauros2.c +62 −21
  1854. arch/arm/mm/cache-v3.S +3 −0
  1855. arch/arm/mm/cache-v4.S +3 −0
  1856. arch/arm/mm/cache-v4wb.S +3 −0
  1857. arch/arm/mm/cache-v4wt.S +3 −0
  1858. arch/arm/mm/cache-v6.S +3 −0
  1859. arch/arm/mm/cache-v7.S +45 −6
  1860. arch/arm/mm/dma-mapping.c +208 −58
  1861. arch/arm/mm/fault-armv.c +1 −2
  1862. arch/arm/mm/fault.c +1 −0
  1863. arch/arm/mm/flush.c +1 −2
  1864. arch/arm/mm/init.c +1 −1
  1865. arch/arm/mm/ioremap.c +15 −0
  1866. arch/arm/mm/mmu.c +43 −22
  1867. arch/arm/mm/proc-arm1020.S +3 −0
  1868. arch/arm/mm/proc-arm1020e.S +3 −0
  1869. arch/arm/mm/proc-arm1022.S +3 −0
  1870. arch/arm/mm/proc-arm1026.S +3 −0
  1871. arch/arm/mm/proc-arm920.S +3 −0
  1872. arch/arm/mm/proc-arm922.S +3 −0
  1873. arch/arm/mm/proc-arm925.S +3 −0
  1874. arch/arm/mm/proc-arm926.S +3 −0
  1875. arch/arm/mm/proc-arm940.S +3 −0
  1876. arch/arm/mm/proc-arm946.S +3 −0
  1877. arch/arm/mm/proc-feroceon.S +4 −0
  1878. arch/arm/mm/proc-macros.S +1 −0
  1879. arch/arm/mm/proc-mohawk.S +3 −0
  1880. arch/arm/mm/proc-v7.S +1 −1
  1881. arch/arm/mm/proc-xsc3.S +3 −0
  1882. arch/arm/mm/proc-xscale.S +4 −0
  1883. arch/arm/mm/vmregion.h +0 −1
  1884. arch/arm/plat-iop/pci.c +9 −16
  1885. arch/arm/plat-iop/pmu.c +1 −2
  1886. arch/arm/plat-iop/setup.c +0 −5
  1887. arch/arm/plat-mxc/Kconfig +2 −2
  1888. arch/arm/plat-mxc/Makefile +1 −1
  1889. arch/arm/plat-mxc/clock.c +0 −257
  1890. arch/arm/plat-mxc/cpufreq.c +0 −1
  1891. arch/arm/plat-mxc/devices/Kconfig +6 −2
  1892. arch/arm/plat-mxc/devices/Makefile +1 −0
  1893. arch/arm/plat-mxc/devices/platform-imx-uart.c +1 −1
  1894. arch/arm/plat-mxc/devices/platform-imx27-coda.c +37 −0
  1895. arch/arm/plat-mxc/devices/platform-mxc-mmc.c +1 −1
  1896. arch/arm/plat-mxc/devices/platform-mxc_nand.c +5 −6
  1897. arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c +1 −1
  1898. arch/arm/plat-mxc/include/mach/clock.h +0 −70
  1899. arch/arm/plat-mxc/include/mach/common.h +4 −6
  1900. arch/arm/plat-mxc/include/mach/devices-common.h +24 −16
  1901. arch/arm/plat-mxc/include/mach/gpio.h +0 −1
  1902. arch/arm/plat-mxc/include/mach/iomux-mx3.h +5 −0
  1903. arch/arm/plat-mxc/include/mach/iomux-mx53.h +0 −1219
  1904. arch/arm/plat-mxc/include/mach/mx2_cam.h +0 −46
  1905. arch/arm/plat-mxc/include/mach/mx31.h +3 −3
  1906. arch/arm/plat-mxc/ssi-fiq-ksym.c +1 −1
  1907. arch/arm/plat-mxc/ssi-fiq.S +50 −39
  1908. arch/arm/plat-mxc/system.c +0 −4
  1909. arch/arm/plat-nomadik/Kconfig +1 −1
  1910. arch/arm/plat-nomadik/include/plat/gpio-nomadik.h +6 −0
  1911. arch/arm/plat-nomadik/include/plat/pincfg.h +2 −0
  1912. arch/arm/plat-omap/Kconfig +8 −5
  1913. arch/arm/plat-omap/Makefile +1 −2
  1914. arch/arm/plat-omap/clock.c +0 −27
  1915. arch/arm/plat-omap/common.c +1 −41
  1916. arch/arm/plat-omap/counter_32k.c +14 −10
  1917. arch/arm/plat-omap/debug-devices.c +1 −3
  1918. arch/arm/plat-omap/debug-leds.c +68 −226
  1919. arch/arm/plat-omap/devices.c +0 −92
  1920. arch/arm/plat-omap/dma.c +23 −31
  1921. arch/arm/plat-omap/fb.c +0 −2
  1922. arch/arm/plat-omap/i2c.c +2 −23
  1923. arch/arm/plat-omap/include/plat/board.h +0 −138
  1924. arch/arm/plat-omap/include/plat/clock.h +5 −0
  1925. arch/arm/plat-omap/include/plat/cpu.h +3 −0
  1926. arch/arm/plat-omap/include/plat/dma.h +2 −0
  1927. arch/arm/plat-omap/include/plat/dmtimer.h +1 −0
  1928. arch/arm/plat-omap/include/plat/gpio-switch.h +0 −54
  1929. arch/arm/plat-omap/include/plat/gpio.h +0 −228
  1930. arch/arm/plat-omap/include/plat/gpmc.h +19 −0
  1931. arch/arm/plat-omap/include/plat/hardware.h +0 −293
  1932. arch/arm/plat-omap/include/plat/iommu.h +15 −0
  1933. arch/arm/plat-omap/include/plat/irqs-44xx.h +0 −144
  1934. arch/arm/plat-omap/include/plat/irqs.h +0 −453
  1935. arch/arm/plat-omap/include/plat/mcbsp.h +0 −62
  1936. arch/arm/plat-omap/include/plat/mmc.h +0 −1
  1937. arch/arm/plat-omap/include/plat/nand.h +0 −44
  1938. arch/arm/plat-omap/include/plat/omap-serial.h +8 −42
  1939. arch/arm/plat-omap/include/plat/omap_device.h +6 −0
  1940. arch/arm/plat-omap/include/plat/omap_hwmod.h +20 −8
  1941. arch/arm/plat-omap/include/plat/param.h +0 −8
  1942. arch/arm/plat-omap/include/plat/remoteproc.h +0 −57
  1943. arch/arm/plat-omap/include/plat/usb.h +7 −1
  1944. arch/arm/plat-omap/mailbox.c +1 −1
  1945. arch/arm/plat-omap/mux.c +0 −90
  1946. arch/arm/plat-omap/omap-pm-noop.c +23 −24
  1947. arch/arm/plat-omap/omap_device.c +186 −35
  1948. arch/arm/plat-omap/sram.c +0 −1
  1949. arch/arm/plat-orion/Makefile +5 −5
  1950. arch/arm/plat-orion/addr-map.c +4 −7
  1951. arch/arm/plat-orion/common.c +8 −8
  1952. arch/arm/plat-orion/gpio.c +1 −1
  1953. arch/arm/plat-orion/include/plat/addr-map.h +2 −2
  1954. arch/arm/plat-orion/include/plat/common.h +4 −4
  1955. arch/arm/plat-orion/include/plat/gpio.h +0 −37
  1956. arch/arm/plat-orion/include/plat/mpp.h +1 −1
  1957. arch/arm/plat-orion/include/plat/orion-gpio.h +37 −0
  1958. arch/arm/plat-orion/include/plat/time.h +2 −2
  1959. arch/arm/plat-orion/irq.c +1 −1
  1960. arch/arm/plat-orion/mpp.c +4 −3
  1961. arch/arm/plat-orion/time.c +4 −4
  1962. arch/arm/plat-s3c24xx/Kconfig +1 −1
  1963. arch/arm/plat-samsung/Kconfig +7 −7
  1964. arch/arm/plat-samsung/clock.c +4 −4
  1965. arch/arm/plat-samsung/devs.c +15 −13
  1966. arch/arm/plat-samsung/dma-ops.c +2 −1
  1967. arch/arm/plat-samsung/include/plat/gpio-fns.h +0 −97
  1968. arch/arm/plat-samsung/include/plat/mipi_csis.h +0 −43
  1969. arch/arm/plat-samsung/include/plat/regs-fb-v4.h +0 −159
  1970. arch/arm/plat-samsung/include/plat/regs-fb.h +0 −403
  1971. arch/arm/plat-samsung/include/plat/spi-core.h +30 −0
  1972. arch/arm/plat-samsung/s5p-irq-gpioint.c +2 −2
  1973. arch/arm/plat-samsung/setup-mipiphy.c +7 −13
  1974. arch/arm/plat-samsung/time.c +0 −1
  1975. arch/arm/plat-spear/Kconfig +2 −2
  1976. arch/arm/plat-spear/include/plat/gpio.h +0 −1
  1977. arch/arm/plat-versatile/Kconfig +3 −1
  1978. arch/arm/plat-versatile/Makefile +2 −0
  1979. arch/arm/plat-versatile/fpga-irq.c +62 −10
  1980. arch/arm/plat-versatile/include/plat/fpga-irq.h +2 −0
  1981. arch/arm/plat-versatile/include/plat/platsmp.h +14 −0
  1982. arch/arm/plat-versatile/leds.c +4 −4
  1983. arch/arm/plat-versatile/platsmp.c +2 −8
  1984. arch/arm/tools/Makefile +1 −1
  1985. arch/arm/tools/mach-types +0 −2
  1986. arch/arm/vfp/vfpmodule.c +6 −3
  1987. arch/arm/xen/Makefile +1 −0
  1988. arch/arm/xen/enlighten.c +179 −0
  1989. arch/arm/xen/grant-table.c +53 −0
  1990. arch/arm/xen/hypercall.S +102 −0
  1991. arch/arm64/Kconfig +6 −0
  1992. arch/arm64/include/asm/Kbuild +0 −3
  1993. arch/arm64/include/asm/compat.h +59 −1
  1994. arch/arm64/include/asm/elf.h +1 −4
  1995. arch/arm64/include/asm/fpsimd.h +2 −3
  1996. arch/arm64/include/asm/hwcap.h +2 −7
  1997. arch/arm64/include/asm/io.h +4 −4
  1998. arch/arm64/include/asm/linkage.h +7 −0
  1999. arch/arm64/include/asm/processor.h +2 −10
  2000. arch/arm64/include/asm/ptrace.h +4 −71
  2001. arch/arm64/include/asm/sigcontext.h +1 −39
  2002. arch/arm64/include/asm/stat.h +2 −3
  2003. arch/arm64/include/asm/unistd.h +12 −11
  2004. arch/arm64/include/asm/unistd32.h +382 −726
  2005. arch/arm64/include/uapi/asm/Kbuild +17 −0
  2006. arch/arm64/include/uapi/asm/auxvec.h +0 −0
  2007. arch/arm64/include/uapi/asm/bitsperlong.h +0 −0
  2008. arch/arm64/include/uapi/asm/byteorder.h +0 −0
  2009. arch/arm64/include/uapi/asm/fcntl.h +0 −0
  2010. arch/arm64/include/uapi/asm/hwcap.h +26 −0
  2011. arch/arm64/include/uapi/asm/param.h +0 −0
  2012. arch/arm64/include/uapi/asm/ptrace.h +92 −0
  2013. arch/arm64/include/uapi/asm/setup.h +0 −0
  2014. arch/arm64/include/uapi/asm/sigcontext.h +57 −0
  2015. arch/arm64/include/uapi/asm/siginfo.h +0 −0
  2016. arch/arm64/include/uapi/asm/signal.h +0 −0
  2017. arch/arm64/include/uapi/asm/stat.h +16 −0
  2018. arch/arm64/include/uapi/asm/statfs.h +0 −0
  2019. arch/arm64/include/uapi/asm/unistd.h +16 −0
  2020. arch/arm64/kernel/entry.S +2 −0
  2021. arch/arm64/kernel/perf_event.c +2 −8
  2022. arch/arm64/kernel/process.c +0 −18
  2023. arch/arm64/kernel/ptrace.c +54 −25
  2024. arch/arm64/kernel/setup.c +12 −0
  2025. arch/arm64/kernel/signal32.c +10 −65
  2026. arch/arm64/kernel/smp.c +1 −3
  2027. arch/arm64/kernel/sys.c +2 −2
  2028. arch/arm64/kernel/sys32.S +1 −125
  2029. arch/arm64/kernel/sys_compat.c +4 −26
  2030. arch/arm64/kernel/vdso.c +10 −10
  2031. arch/arm64/mm/dma-mapping.c +2 −4
  2032. arch/arm64/mm/init.c +2 −5
  2033. arch/arm64/mm/mm.h +1 −0
  2034. arch/avr32/Kconfig +2 −0
  2035. arch/avr32/include/asm/Kbuild +2 −2
  2036. arch/avr32/include/asm/elf.h +2 −1
  2037. arch/avr32/include/asm/exec.h +0 −13
  2038. arch/avr32/include/asm/module.h +2 −4
  2039. arch/avr32/include/asm/param.h +2 −16
  2040. arch/avr32/include/asm/ptrace.h +1 −114
  2041. arch/avr32/include/asm/setup.h +1 −4
  2042. arch/avr32/include/asm/signal.h +1 −120
  2043. arch/avr32/include/asm/termios.h +1 −40
  2044. arch/avr32/include/asm/thread_info.h +6 −12
  2045. arch/avr32/include/asm/types.h +1 −5
  2046. arch/avr32/include/asm/unistd.h +1 −295
  2047. arch/avr32/include/uapi/asm/Kbuild +35 −0
  2048. arch/avr32/include/uapi/asm/auxvec.h +0 −0
  2049. arch/avr32/include/uapi/asm/bitsperlong.h +0 −0
  2050. arch/avr32/include/uapi/asm/byteorder.h +0 −0
  2051. arch/avr32/include/uapi/asm/cachectl.h +0 −0
  2052. arch/avr32/include/uapi/asm/errno.h +0 −0
  2053. arch/avr32/include/uapi/asm/fcntl.h +0 −0
  2054. arch/avr32/include/uapi/asm/ioctl.h +0 −0
  2055. arch/avr32/include/uapi/asm/ioctls.h +0 −0
  2056. arch/avr32/include/uapi/asm/ipcbuf.h +0 −0
  2057. arch/avr32/include/uapi/asm/kvm_para.h +0 −0
  2058. arch/avr32/include/uapi/asm/mman.h +0 −0
  2059. arch/avr32/include/uapi/asm/msgbuf.h +0 −0
  2060. arch/avr32/include/uapi/asm/param.h +18 −0
  2061. arch/avr32/include/uapi/asm/poll.h +0 −0
  2062. arch/avr32/include/uapi/asm/posix_types.h +0 −0
  2063. arch/avr32/include/uapi/asm/ptrace.h +126 −0
  2064. arch/avr32/include/uapi/asm/resource.h +0 −0
  2065. arch/avr32/include/uapi/asm/sembuf.h +0 −0
  2066. arch/avr32/include/uapi/asm/setup.h +17 −0
  2067. arch/avr32/include/uapi/asm/shmbuf.h +0 −0
  2068. arch/avr32/include/uapi/asm/sigcontext.h +0 −0
  2069. arch/avr32/include/uapi/asm/siginfo.h +0 −0
  2070. arch/avr32/include/uapi/asm/signal.h +128 −0
  2071. arch/avr32/include/uapi/asm/socket.h +0 −0
  2072. arch/avr32/include/uapi/asm/sockios.h +0 −0
  2073. arch/avr32/include/uapi/asm/stat.h +0 −0
  2074. arch/avr32/include/uapi/asm/statfs.h +0 −0
  2075. arch/avr32/include/uapi/asm/swab.h +0 −0
  2076. arch/avr32/include/uapi/asm/termbits.h +0 −0
  2077. arch/avr32/include/uapi/asm/termios.h +50 −0
  2078. arch/avr32/include/uapi/asm/types.h +8 −0
  2079. arch/avr32/include/uapi/asm/unistd.h +305 −0
  2080. arch/avr32/kernel/process.c +2 −2
  2081. arch/avr32/kernel/signal.c +0 −1
  2082. arch/avr32/mach-at32ap/at32ap700x.c +3 −0
  2083. arch/avr32/mm/fault.c +1 −0
  2084. arch/blackfin/Kconfig +4 −1
  2085. arch/blackfin/configs/BF533-EZKIT_defconfig +5 −2
  2086. arch/blackfin/configs/BF561-ACVILON_defconfig +0 −1
  2087. arch/blackfin/configs/BF609-EZKIT_defconfig +6 −10
  2088. arch/blackfin/include/asm/elf.h +2 −1
  2089. arch/blackfin/include/asm/module.h +1 −3
  2090. arch/blackfin/include/asm/thread_info.h +0 −4
  2091. arch/blackfin/include/uapi/asm/Kbuild +3 −0
  2092. arch/blackfin/kernel/bfin_gpio.c +2 −2
  2093. arch/blackfin/kernel/process.c +2 −2
  2094. arch/blackfin/kernel/reboot.c +0 −1
  2095. arch/blackfin/kernel/signal.c +0 −1
  2096. arch/blackfin/mach-bf527/boards/ezkit.c +20 −0
  2097. arch/blackfin/mach-bf533/boards/stamp.c +20 −0
  2098. arch/blackfin/mach-bf537/boards/cm_bf537e.c +125 −5
  2099. arch/blackfin/mach-bf537/boards/stamp.c +21 −1
  2100. arch/blackfin/mach-bf561/boards/ezkit.c +20 −0
  2101. arch/blackfin/mach-bf609/boards/ezkit.c +19 −0
  2102. arch/blackfin/mach-bf609/include/mach/defBF609.h +271 −0
  2103. arch/blackfin/mach-common/cpufreq.c +3 −6
  2104. arch/blackfin/mach-common/ints-priority.c +0 −1
  2105. arch/blackfin/mach-common/smp.c +2 −2
  2106. arch/c6x/Kconfig +2 −0
  2107. arch/c6x/Makefile +2 −0
  2108. arch/c6x/include/asm/Kbuild +2 −1
  2109. arch/c6x/include/asm/elf.h +2 −1
  2110. arch/c6x/include/asm/exec.h +0 −6
  2111. arch/c6x/include/asm/module.h +1 −11
  2112. arch/c6x/include/asm/processor.h +0 −2
  2113. arch/c6x/include/asm/ptrace.h +1 −145
  2114. arch/c6x/include/asm/signal.h +0 −17
  2115. arch/c6x/include/asm/syscalls.h +0 −5
  2116. arch/c6x/include/asm/thread_info.h +0 −1
  2117. arch/c6x/include/asm/unistd.h +0 −26
  2118. arch/c6x/include/uapi/asm/Kbuild +10 −0
  2119. arch/c6x/include/uapi/asm/byteorder.h +0 −0
  2120. arch/c6x/include/uapi/asm/kvm_para.h +0 −0
  2121. arch/c6x/include/uapi/asm/ptrace.h +163 −0
  2122. arch/c6x/include/uapi/asm/setup.h +0 −0
  2123. arch/c6x/include/uapi/asm/sigcontext.h +0 −0
  2124. arch/c6x/include/uapi/asm/swab.h +0 −0
  2125. arch/c6x/include/uapi/asm/unistd.h +25 −0
  2126. arch/c6x/kernel/asm-offsets.c +0 −1
  2127. arch/c6x/kernel/entry.S +26 −30
  2128. arch/c6x/kernel/process.c +11 −61
  2129. arch/cris/Kconfig +2 −5
  2130. arch/cris/Makefile +3 −1
  2131. arch/cris/arch-v10/kernel/process.c +2 −2
  2132. arch/cris/arch-v32/drivers/axisflashmap.c +0 −29
  2133. arch/cris/arch-v32/drivers/pci/bios.c +0 −25
  2134. arch/cris/arch-v32/kernel/head.S +2 −56
  2135. arch/cris/arch-v32/kernel/kgdb.c +0 −14
  2136. arch/cris/arch-v32/kernel/process.c +2 −2
  2137. arch/cris/arch-v32/mach-a3/Makefile +0 −2
  2138. arch/cris/arch-v32/mach-a3/vcs_hook.c +0 −103
  2139. arch/cris/arch-v32/mach-a3/vcs_hook.h +0 −58
  2140. arch/cris/arch-v32/mach-fs/Makefile +0 −2
  2141. arch/cris/arch-v32/mach-fs/vcs_hook.c +0 −100
  2142. arch/cris/arch-v32/mach-fs/vcs_hook.h +0 −42
  2143. arch/cris/arch-v32/mm/init.c +0 −8
  2144. arch/cris/include/arch-v10/arch/sv_addr_ag.h +1 −1
  2145. arch/cris/include/arch-v10/arch/svinto.h +1 −1
  2146. arch/cris/include/arch-v32/arch/dma.h +1 −1
  2147. arch/cris/include/arch-v32/arch/hwregs/dma.h +1 −1
  2148. arch/cris/include/arch-v32/arch/page.h +0 −5
  2149. arch/cris/include/arch-v32/arch/processor.h +1 −5
  2150. arch/cris/include/arch-v32/mach-fs/mach/startup.inc +0 −6
  2151. arch/cris/include/asm/Kbuild +4 −0
  2152. arch/cris/include/asm/elf.h +2 −1
  2153. arch/cris/include/asm/exec.h +0 −6
  2154. arch/cris/include/asm/module.h +0 −9
  2155. arch/cris/include/asm/pci.h +0 −1
  2156. arch/cris/include/asm/thread_info.h +0 −3
  2157. arch/cris/include/uapi/arch-v10/arch/Kbuild +1 −0
  2158. arch/cris/include/uapi/arch-v32/arch/Kbuild +1 −0
  2159. arch/cris/include/uapi/asm/Kbuild +5 −0
  2160. arch/cris/mm/fault.c +1 −0
  2161. arch/frv/Kconfig +4 −0
  2162. arch/frv/boot/Makefile +6 −4
  2163. arch/frv/include/asm/Kbuild +2 −3
  2164. arch/frv/include/asm/elf.h +2 −1
  2165. arch/frv/include/asm/exec.h +0 −17
  2166. arch/frv/include/asm/module.h +1 −7
  2167. arch/frv/include/asm/processor.h +3 −6
  2168. arch/frv/include/asm/ptrace.h +2 −50
  2169. arch/frv/include/asm/setup.h +1 −6
  2170. arch/frv/include/asm/signal.h +1 −32
  2171. arch/frv/include/asm/termios.h +1 −45
  2172. arch/frv/include/asm/thread_info.h +0 −3
  2173. arch/frv/include/asm/types.h +1 −5
  2174. arch/frv/include/asm/unistd.h +2 −345
  2175. arch/frv/include/uapi/asm/Kbuild +35 −0
  2176. arch/frv/include/uapi/asm/auxvec.h +0 −0
  2177. arch/frv/include/uapi/asm/bitsperlong.h +0 −0
  2178. arch/frv/include/uapi/asm/byteorder.h +0 −0
  2179. arch/frv/include/uapi/asm/errno.h +0 −0
  2180. arch/frv/include/uapi/asm/fcntl.h +0 −0
  2181. arch/frv/include/uapi/asm/ioctl.h +0 −0
  2182. arch/frv/include/uapi/asm/ioctls.h +0 −0
  2183. arch/frv/include/uapi/asm/ipcbuf.h +0 −0
  2184. arch/frv/include/uapi/asm/kvm_para.h +0 −0
  2185. arch/frv/include/uapi/asm/mman.h +0 −0
  2186. arch/frv/include/uapi/asm/msgbuf.h +0 −0
  2187. arch/frv/include/uapi/asm/param.h +0 −0
  2188. arch/frv/include/uapi/asm/poll.h +0 −0
  2189. arch/frv/include/uapi/asm/posix_types.h +0 −0
  2190. arch/frv/include/uapi/asm/ptrace.h +60 −0
  2191. arch/frv/include/uapi/asm/registers.h +0 −0
  2192. arch/frv/include/uapi/asm/resource.h +0 −0
  2193. arch/frv/include/uapi/asm/sembuf.h +0 −0
  2194. arch/frv/include/uapi/asm/setup.h +18 −0
  2195. arch/frv/include/uapi/asm/shmbuf.h +0 −0
  2196. arch/frv/include/uapi/asm/sigcontext.h +0 −0
  2197. arch/frv/include/uapi/asm/siginfo.h +0 −0
  2198. arch/frv/include/uapi/asm/signal.h +36 −0
  2199. arch/frv/include/uapi/asm/socket.h +0 −0
  2200. arch/frv/include/uapi/asm/sockios.h +0 −0
  2201. arch/frv/include/uapi/asm/stat.h +0 −0
  2202. arch/frv/include/uapi/asm/statfs.h +0 −0
  2203. arch/frv/include/uapi/asm/swab.h +0 −0
  2204. arch/frv/include/uapi/asm/termbits.h +0 −0
  2205. arch/frv/include/uapi/asm/termios.h +46 −0
  2206. arch/frv/include/uapi/asm/types.h +11 −0
  2207. arch/frv/include/uapi/asm/unistd.h +348 −0
  2208. arch/frv/kernel/Makefile +2 −2
  2209. arch/frv/kernel/entry.S +11 −20
  2210. arch/frv/kernel/frv_ksyms.c +0 −1
  2211. arch/frv/kernel/kernel_execve.S +0 −33
  2212. arch/frv/kernel/kernel_thread.S +0 −77
  2213. arch/frv/kernel/pm.c +9 −10
  2214. arch/frv/kernel/process.c +22 −41
  2215. arch/frv/kernel/setup.c +3 −1
  2216. arch/frv/kernel/signal.c +0 −9
  2217. arch/frv/mb93090-mb00/pci-dma-nommu.c +1 −0
  2218. arch/frv/mb93090-mb00/pci-irq.c +1 −1
  2219. arch/h8300/Kconfig +2 −0
  2220. arch/h8300/include/asm/Kbuild +4 −0
  2221. arch/h8300/include/asm/cache.h +2 −1
  2222. arch/h8300/include/asm/elf.h +2 −1
  2223. arch/h8300/include/asm/exec.h +0 −6
  2224. arch/h8300/include/asm/module.h +0 −11
  2225. arch/h8300/include/asm/thread_info.h +2 −5
  2226. arch/h8300/include/uapi/asm/Kbuild +3 −0
  2227. arch/h8300/kernel/process.c +2 −2
  2228. arch/h8300/kernel/signal.c +0 −1
  2229. arch/h8300/kernel/sys_h8300.c +1 −0
  2230. arch/h8300/kernel/timer/itu.c +1 −1
  2231. arch/h8300/kernel/timer/timer16.c +1 −1
  2232. arch/h8300/kernel/timer/timer8.c +1 −1
  2233. arch/h8300/kernel/timer/tpu.c +1 −1
  2234. arch/h8300/platform/h8300h/irq.c +2 −2
  2235. arch/h8300/platform/h8s/irq.c +2 −2
  2236. arch/hexagon/Kconfig +1 −0
  2237. arch/hexagon/include/asm/Kbuild +1 −3
  2238. arch/hexagon/include/asm/atomic.h +1 −1
  2239. arch/hexagon/include/asm/barrier.h +1 −1
  2240. arch/hexagon/include/asm/bitops.h +1 −1
  2241. arch/hexagon/include/asm/bitsperlong.h +0 −26
  2242. arch/hexagon/include/asm/cache.h +1 −1
  2243. arch/hexagon/include/asm/cacheflush.h +1 −1
  2244. arch/hexagon/include/asm/checksum.h +1 −1
  2245. arch/hexagon/include/asm/cmpxchg.h +1 −1
  2246. arch/hexagon/include/asm/delay.h +1 −1
  2247. arch/hexagon/include/asm/dma-mapping.h +1 −1
  2248. arch/hexagon/include/asm/dma.h +1 −1
  2249. arch/hexagon/include/asm/elf.h +3 −2
  2250. arch/hexagon/include/asm/exec.h +1 −1
  2251. arch/hexagon/include/asm/fixmap.h +1 −1
  2252. arch/hexagon/include/asm/hexagon_vm.h +1 −1
  2253. arch/hexagon/include/asm/intrinsics.h +1 −1
  2254. arch/hexagon/include/asm/io.h +1 −1
  2255. arch/hexagon/include/asm/irq.h +1 −1
  2256. arch/hexagon/include/asm/irqflags.h +1 −1
  2257. arch/hexagon/include/asm/kgdb.h +1 −1
  2258. arch/hexagon/include/asm/linkage.h +1 −1
  2259. arch/hexagon/include/asm/mem-layout.h +1 −1
  2260. arch/hexagon/include/asm/mmu.h +1 −1
  2261. arch/hexagon/include/asm/mmu_context.h +1 −1
  2262. arch/hexagon/include/asm/module.h +1 −1
  2263. arch/hexagon/include/asm/page.h +1 −1
  2264. arch/hexagon/include/asm/param.h +0 −26
  2265. arch/hexagon/include/asm/perf_event.h +1 −1
  2266. arch/hexagon/include/asm/pgalloc.h +1 −1
  2267. arch/hexagon/include/asm/pgtable.h +1 −1
  2268. arch/hexagon/include/asm/processor.h +1 −1
  2269. arch/hexagon/include/asm/ptrace.h +0 −35
  2270. arch/hexagon/include/asm/setup.h +0 −29
  2271. arch/hexagon/include/asm/sigcontext.h +0 −33
  2272. arch/hexagon/include/asm/signal.h +0 −26
  2273. arch/hexagon/include/asm/smp.h +1 −1
  2274. arch/hexagon/include/asm/spinlock.h +1 −1
  2275. arch/hexagon/include/asm/spinlock_types.h +1 −1
  2276. arch/hexagon/include/asm/string.h +1 −1
  2277. arch/hexagon/include/asm/suspend.h +1 −1
  2278. arch/hexagon/include/asm/swab.h +0 −24
  2279. arch/hexagon/include/asm/switch_to.h +1 −1
  2280. arch/hexagon/include/asm/syscall.h +1 −1
  2281. arch/hexagon/include/asm/thread_info.h +1 −6
  2282. arch/hexagon/include/asm/time.h +1 −1
  2283. arch/hexagon/include/asm/timer-regs.h +1 −1
  2284. arch/hexagon/include/asm/timex.h +1 −1
  2285. arch/hexagon/include/asm/tlb.h +1 −1
  2286. arch/hexagon/include/asm/tlbflush.h +1 −1
  2287. arch/hexagon/include/asm/traps.h +1 −1
  2288. arch/hexagon/include/asm/uaccess.h +1 −1
  2289. arch/hexagon/include/asm/unistd.h +0 −36
  2290. arch/hexagon/include/asm/user.h +0 −81
  2291. arch/hexagon/include/asm/vdso.h +1 −1
  2292. arch/hexagon/include/asm/vm_fault.h +1 −1
  2293. arch/hexagon/include/asm/vm_mmu.h +1 −1
  2294. arch/hexagon/include/uapi/asm/Kbuild +15 −0
  2295. arch/hexagon/include/uapi/asm/bitsperlong.h +26 −0
  2296. arch/hexagon/include/uapi/asm/byteorder.h +1 −1
  2297. arch/hexagon/include/uapi/asm/kvm_para.h +0 −0
  2298. arch/hexagon/include/uapi/asm/param.h +26 −0
  2299. arch/hexagon/include/uapi/asm/ptrace.h +35 −0
  2300. arch/hexagon/include/uapi/asm/registers.h +1 −16
  2301. arch/hexagon/include/uapi/asm/setup.h +29 −0
  2302. arch/hexagon/include/uapi/asm/sigcontext.h +33 −0
  2303. arch/hexagon/include/uapi/asm/signal.h +26 −0
  2304. arch/hexagon/include/uapi/asm/swab.h +24 −0
  2305. arch/hexagon/include/uapi/asm/unistd.h +31 −0
  2306. arch/hexagon/include/uapi/asm/user.h +63 −0
  2307. arch/hexagon/kernel/asm-offsets.c +1 −1
  2308. arch/hexagon/kernel/dma.c +1 −1
  2309. arch/hexagon/kernel/head.S +1 −1
  2310. arch/hexagon/kernel/hexagon_ksyms.c +1 −1
  2311. arch/hexagon/kernel/irq_cpu.c +1 −1
  2312. arch/hexagon/kernel/kgdb.c +1 −1
  2313. arch/hexagon/kernel/module.c +1 −1
  2314. arch/hexagon/kernel/process.c +1 −1
  2315. arch/hexagon/kernel/ptrace.c +1 −1
  2316. arch/hexagon/kernel/reset.c +1 −1
  2317. arch/hexagon/kernel/setup.c +1 −1
  2318. arch/hexagon/kernel/signal.c +1 −2
  2319. arch/hexagon/kernel/smp.c +1 −1
  2320. arch/hexagon/kernel/stacktrace.c +1 −1
  2321. arch/hexagon/kernel/syscall.c +3 −4
  2322. arch/hexagon/kernel/syscalltab.c +1 −1
  2323. arch/hexagon/kernel/time.c +1 −1
  2324. arch/hexagon/kernel/topology.c +1 −1
  2325. arch/hexagon/kernel/trampoline.S +1 −1
  2326. arch/hexagon/kernel/traps.c +1 −1
  2327. arch/hexagon/kernel/vdso.c +1 −1
  2328. arch/hexagon/kernel/vm_entry.S +1 −1
  2329. arch/hexagon/kernel/vm_events.c +1 −1
  2330. arch/hexagon/kernel/vm_init_segtable.S +1 −1
  2331. arch/hexagon/kernel/vm_ops.S +1 −1
  2332. arch/hexagon/kernel/vm_switch.S +1 −1
  2333. arch/hexagon/kernel/vm_vectors.S +1 −1
  2334. arch/hexagon/kernel/vmlinux.lds.S +1 −1
  2335. arch/hexagon/lib/checksum.c +1 −1
  2336. arch/hexagon/lib/io.c +1 −1
  2337. arch/hexagon/lib/memcpy.S +1 −1
  2338. arch/hexagon/lib/memset.S +1 −1
  2339. arch/hexagon/mm/cache.c +1 −1
  2340. arch/hexagon/mm/copy_from_user.S +1 −1
  2341. arch/hexagon/mm/copy_to_user.S +1 −1
  2342. arch/hexagon/mm/copy_user_template.S +1 −1
  2343. arch/hexagon/mm/init.c +1 −1
  2344. arch/hexagon/mm/ioremap.c +1 −1
  2345. arch/hexagon/mm/pgalloc.c +1 −1
  2346. arch/hexagon/mm/strnlen_user.S +1 −1
  2347. arch/hexagon/mm/uaccess.c +1 −1
  2348. arch/hexagon/mm/vm_fault.c +2 −1
  2349. arch/hexagon/mm/vm_tlb.c +1 −1
  2350. arch/ia64/Kconfig +3 −1
  2351. arch/ia64/hp/sim/simserial.c +2 −1
  2352. arch/ia64/include/asm/Kbuild +3 −14
  2353. arch/ia64/include/asm/exec.h +0 −14
  2354. arch/ia64/include/asm/gcc_intrin.h +3 −612
  2355. arch/ia64/include/asm/hugetlb.h +4 −0
  2356. arch/ia64/include/asm/intrinsics.h +3 −117
  2357. arch/ia64/include/asm/kvm_para.h +0 −36
  2358. arch/ia64/include/asm/mman.h +3 −9
  2359. arch/ia64/include/asm/module.h +2 −4
  2360. arch/ia64/include/asm/numa.h +1 −1
  2361. arch/ia64/include/asm/param.h +3 −19
  2362. arch/ia64/include/asm/perfmon.h +1 −170
  2363. arch/ia64/include/asm/ptrace.h +3 −233
  2364. arch/ia64/include/asm/siginfo.h +3 −115
  2365. arch/ia64/include/asm/signal.h +3 −119
  2366. arch/ia64/include/asm/termios.h +3 −43
  2367. arch/ia64/include/asm/thread_info.h +0 −2
  2368. arch/ia64/include/asm/types.h +3 −16
  2369. arch/ia64/include/asm/unistd.h +3 −321
  2370. arch/ia64/include/asm/ustack.h +1 −10
  2371. arch/ia64/include/asm/xen/interface.h +7 −1
  2372. arch/ia64/include/uapi/asm/Kbuild +50 −0
  2373. arch/ia64/include/uapi/asm/auxvec.h +0 −0
  2374. arch/ia64/include/uapi/asm/bitsperlong.h +0 −0
  2375. arch/ia64/include/uapi/asm/break.h +0 −0
  2376. arch/ia64/include/uapi/asm/byteorder.h +0 −0
  2377. arch/ia64/include/uapi/asm/cmpxchg.h +0 −0
  2378. arch/ia64/include/uapi/asm/errno.h +0 −0
  2379. arch/ia64/include/uapi/asm/fcntl.h +0 −0
  2380. arch/ia64/include/uapi/asm/fpu.h +0 −0
  2381. arch/ia64/include/uapi/asm/gcc_intrin.h +618 −0
  2382. arch/ia64/include/uapi/asm/ia64regs.h +0 −0
  2383. arch/ia64/include/uapi/asm/intel_intrin.h +0 −0
  2384. arch/ia64/include/uapi/asm/intrinsics.h +124 −0
  2385. arch/ia64/include/uapi/asm/ioctl.h +0 −0
  2386. arch/ia64/include/uapi/asm/ioctls.h +0 −0
  2387. arch/ia64/include/uapi/asm/ipcbuf.h +0 −0
  2388. arch/ia64/include/uapi/asm/kvm.h +0 −0
  2389. arch/ia64/include/uapi/asm/mman.h +16 −0
  2390. arch/ia64/include/uapi/asm/msgbuf.h +0 −0
  2391. arch/ia64/include/uapi/asm/param.h +29 −0
  2392. arch/ia64/include/uapi/asm/perfmon.h +177 −0
  2393. arch/ia64/include/uapi/asm/perfmon_default_smpl.h +0 −0
  2394. arch/ia64/include/uapi/asm/poll.h +0 −0
  2395. arch/ia64/include/uapi/asm/posix_types.h +0 −0
  2396. arch/ia64/include/uapi/asm/ptrace.h +247 −0
  2397. arch/ia64/include/uapi/asm/ptrace_offsets.h +0 −0
  2398. arch/ia64/include/uapi/asm/resource.h +0 −0
  2399. arch/ia64/include/uapi/asm/rse.h +0 −0
  2400. arch/ia64/include/uapi/asm/sembuf.h +0 −0
  2401. arch/ia64/include/uapi/asm/setup.h +0 −0
  2402. arch/ia64/include/uapi/asm/shmbuf.h +0 −0
  2403. arch/ia64/include/uapi/asm/sigcontext.h +0 −0
  2404. arch/ia64/include/uapi/asm/siginfo.h +121 −0
  2405. arch/ia64/include/uapi/asm/signal.h +127 −0
  2406. arch/ia64/include/uapi/asm/socket.h +0 −0
  2407. arch/ia64/include/uapi/asm/sockios.h +0 −0
  2408. arch/ia64/include/uapi/asm/stat.h +0 −0
  2409. arch/ia64/include/uapi/asm/statfs.h +0 −0
  2410. arch/ia64/include/uapi/asm/swab.h +0 −0
  2411. arch/ia64/include/uapi/asm/termbits.h +0 −0
  2412. arch/ia64/include/uapi/asm/termios.h +50 −0
  2413. arch/ia64/include/uapi/asm/types.h +31 −0
  2414. arch/ia64/include/uapi/asm/ucontext.h +0 −0
  2415. arch/ia64/include/uapi/asm/unistd.h +328 −0
  2416. arch/ia64/include/uapi/asm/ustack.h +12 −0
  2417. arch/ia64/kernel/machine_kexec.c +2 −1
  2418. arch/ia64/kernel/mca_drv.c +2 −1
  2419. arch/ia64/kernel/perfmon.c +25 −27
  2420. arch/ia64/kernel/process.c +4 −4
  2421. arch/ia64/kernel/signal.c +2 −10
  2422. arch/ia64/kernel/time.c +2 −2
  2423. arch/ia64/kvm/kvm-ia64.c +17 −24
  2424. arch/ia64/mm/fault.c +1 −0
  2425. arch/ia64/mm/init.c +3 −1
  2426. arch/ia64/xen/irq_xen.c +1 −1
  2427. arch/ia64/xen/irq_xen.h +1 −1
  2428. arch/ia64/xen/xencomm.c +2 −1
  2429. arch/m32r/Kconfig +2 −0
  2430. arch/m32r/include/asm/Kbuild +4 −0
  2431. arch/m32r/include/asm/elf.h +2 −1
  2432. arch/m32r/include/asm/exec.h +0 −14
  2433. arch/m32r/include/asm/module.h +0 −10
  2434. arch/m32r/include/asm/thread_info.h +2 −7
  2435. arch/m32r/include/uapi/asm/Kbuild +3 −0
  2436. arch/m32r/kernel/module.c +0 −15
  2437. arch/m32r/kernel/process.c +2 −2
  2438. arch/m32r/kernel/signal.c +0 −3
  2439. arch/m68k/Kconfig +6 −0
  2440. arch/m68k/amiga/platform.c +1 −4
  2441. arch/m68k/configs/amiga_defconfig +0 −1
  2442. arch/m68k/configs/apollo_defconfig +0 −1
  2443. arch/m68k/configs/atari_defconfig +0 −1
  2444. arch/m68k/configs/bvme6000_defconfig +0 −1
  2445. arch/m68k/configs/hp300_defconfig +0 −1
  2446. arch/m68k/configs/mac_defconfig +0 −1
  2447. arch/m68k/configs/multi_defconfig +0 −1
  2448. arch/m68k/configs/mvme147_defconfig +0 −1
  2449. arch/m68k/configs/mvme16x_defconfig +0 −1
  2450. arch/m68k/configs/q40_defconfig +0 −1
  2451. arch/m68k/configs/sun3_defconfig +0 −1
  2452. arch/m68k/configs/sun3x_defconfig +0 −1
  2453. arch/m68k/emu/nfcon.c +4 −0
  2454. arch/m68k/include/asm/Kbuild +2 −2
  2455. arch/m68k/include/asm/apollohw.h +0 −12
  2456. arch/m68k/include/asm/cacheflush.h +2 −2
  2457. arch/m68k/include/asm/cacheflush_no.h +8 −11
  2458. arch/m68k/include/asm/elf.h +2 −1
  2459. arch/m68k/include/asm/exec.h +0 −6
  2460. arch/m68k/include/asm/io.h +2 −2
  2461. arch/m68k/include/asm/m5206sim.h +49 −49
  2462. arch/m68k/include/asm/m523xsim.h +16 −8
  2463. arch/m68k/include/asm/m5249sim.h +49 −49
  2464. arch/m68k/include/asm/m525xsim.h +35 −35
  2465. arch/m68k/include/asm/m5272sim.h +50 −49
  2466. arch/m68k/include/asm/m527xsim.h +50 −34
  2467. arch/m68k/include/asm/m528xsim.h +1 −50
  2468. arch/m68k/include/asm/m5307sim.h +68 −68
  2469. arch/m68k/include/asm/m532xsim.h +75 −1114
  2470. arch/m68k/include/asm/m5407sim.h +55 −55
  2471. arch/m68k/include/asm/m54xxgpt.h +20 −20
  2472. arch/m68k/include/asm/m54xxsim.h +20 −7
  2473. arch/m68k/include/asm/m68360.h +4 −4
  2474. arch/m68k/include/asm/m68360_enet.h +1 −1
  2475. arch/m68k/include/asm/mcfslt.h +0 −7
  2476. arch/m68k/include/asm/module.h +2 −4
  2477. arch/m68k/include/asm/nettel.h +3 −6
  2478. arch/m68k/include/asm/page.h +2 −2
  2479. arch/m68k/include/asm/pgtable.h +2 −2
  2480. arch/m68k/include/asm/processor.h +12 −13
  2481. arch/m68k/include/asm/ptrace.h +3 −74
  2482. arch/m68k/include/asm/q40_master.h +1 −1
  2483. arch/m68k/include/asm/setup.h +1 −81
  2484. arch/m68k/include/asm/signal.h +1 −117
  2485. arch/m68k/include/asm/termios.h +1 −43
  2486. arch/m68k/include/asm/uaccess.h +2 −2
  2487. arch/m68k/include/asm/unistd.h +4 −354
  2488. arch/m68k/include/uapi/asm/Kbuild +26 −0
  2489. arch/m68k/include/uapi/asm/a.out.h +0 −0
  2490. arch/m68k/include/uapi/asm/auxvec.h +0 −0
  2491. arch/m68k/include/uapi/asm/byteorder.h +0 −0
  2492. arch/m68k/include/uapi/asm/cachectl.h +0 −0
  2493. arch/m68k/include/uapi/asm/fcntl.h +0 −0
  2494. arch/m68k/include/uapi/asm/ioctls.h +0 −0
  2495. arch/m68k/include/uapi/asm/msgbuf.h +0 −0
  2496. arch/m68k/include/uapi/asm/param.h +0 −0
  2497. arch/m68k/include/uapi/asm/poll.h +0 −0
  2498. arch/m68k/include/uapi/asm/posix_types.h +0 −0
  2499. arch/m68k/include/uapi/asm/ptrace.h +79 −0
  2500. arch/m68k/include/uapi/asm/sembuf.h +0 −0
  2501. arch/m68k/include/uapi/asm/setup.h +103 −0
  2502. arch/m68k/include/uapi/asm/shmbuf.h +0 −0
  2503. arch/m68k/include/uapi/asm/sigcontext.h +0 −0
  2504. arch/m68k/include/uapi/asm/signal.h +118 −0
  2505. arch/m68k/include/uapi/asm/socket.h +0 −0
  2506. arch/m68k/include/uapi/asm/sockios.h +0 −0
  2507. arch/m68k/include/uapi/asm/stat.h +0 −0
  2508. arch/m68k/include/uapi/asm/swab.h +0 −0
  2509. arch/m68k/include/uapi/asm/termbits.h +0 −0
  2510. arch/m68k/include/uapi/asm/termios.h +44 −0
  2511. arch/m68k/include/uapi/asm/unistd.h +357 −0
  2512. arch/m68k/kernel/entry.S +16 −0
  2513. arch/m68k/kernel/process.c +24 −80
  2514. arch/m68k/kernel/sys_m68k.c +0 −17
  2515. arch/m68k/kernel/syscalltable.S +1 −0
  2516. arch/m68k/kernel/time.c +1 −4
  2517. arch/m68k/mm/fault.c +1 −0
  2518. arch/m68k/platform/68VZ328/Makefile +1 −7
  2519. arch/m68k/platform/coldfire/device.c +2 −2
  2520. arch/m68k/platform/coldfire/head.S +1 −1
  2521. arch/m68k/platform/coldfire/intc-5249.c +5 −5
  2522. arch/m68k/platform/coldfire/intc-5272.c +10 −10
  2523. arch/m68k/platform/coldfire/intc.c +14 −14
  2524. arch/m68k/platform/coldfire/m523x.c +1 −7
  2525. arch/m68k/platform/coldfire/m5249.c +5 −5
  2526. arch/m68k/platform/coldfire/m525x.c +2 −2
  2527. arch/m68k/platform/coldfire/m5272.c +8 −11
  2528. arch/m68k/platform/coldfire/m527x.c +12 −12
  2529. arch/m68k/platform/coldfire/m528x.c +3 −3
  2530. arch/m68k/platform/coldfire/m532x.c +113 −108
  2531. arch/m68k/platform/coldfire/m54xx.c +7 −9
  2532. arch/m68k/platform/coldfire/nettel.c +2 −2
  2533. arch/m68k/platform/coldfire/pci.c +2 −2
  2534. arch/m68k/platform/coldfire/reset.c +1 −1
  2535. arch/m68k/platform/coldfire/sltimers.c +2 −2
  2536. arch/m68k/platform/coldfire/timers.c +2 −2
  2537. arch/m68k/q40/config.c +1 −4
  2538. arch/microblaze/Kconfig +4 −5
  2539. arch/microblaze/include/asm/Kbuild +2 −0
  2540. arch/microblaze/include/asm/atomic.h +1 −0
  2541. arch/microblaze/include/asm/clinkage.h +0 −1
  2542. arch/microblaze/include/asm/elf.h +2 −1
  2543. arch/microblaze/include/asm/exec.h +0 −14
  2544. arch/microblaze/include/asm/io.h +94 −0
  2545. arch/microblaze/include/asm/mmu_context.h +1 −1
  2546. arch/microblaze/include/asm/page.h +4 −5
  2547. arch/microblaze/include/asm/pci.h +2 −0
  2548. arch/microblaze/include/asm/pgtable.h +0 −6
  2549. arch/microblaze/include/asm/thread_info.h +1 −2
  2550. arch/microblaze/include/uapi/asm/Kbuild +3 −0
  2551. arch/microblaze/kernel/head.S +9 −5
  2552. arch/microblaze/kernel/hw_exception_handler.S +36 −25
  2553. arch/microblaze/kernel/reset.c +12 −9
  2554. arch/microblaze/kernel/setup.c +7 −8
  2555. arch/microblaze/kernel/signal.c +2 −13
  2556. arch/microblaze/kernel/sys_microblaze.c +2 −2
  2557. arch/microblaze/kernel/timer.c +16 −8
  2558. arch/microblaze/mm/fault.c +1 −0
  2559. arch/mips/Kbuild.platforms +1 −1
  2560. arch/mips/Kconfig +42 −22
  2561. arch/mips/Makefile +1 −1
  2562. arch/mips/alchemy/Kconfig +4 −46
  2563. arch/mips/alchemy/Platform +4 −18
  2564. arch/mips/alchemy/devboards/Makefile +1 −6
  2565. arch/mips/alchemy/devboards/db1000.c +92 −28
  2566. arch/mips/alchemy/devboards/db1200.c +10 −27
  2567. arch/mips/alchemy/devboards/db1235.c +94 −0
  2568. arch/mips/alchemy/devboards/db1300.c +4 −8
  2569. arch/mips/alchemy/devboards/db1550.c +149 −43
  2570. arch/mips/alchemy/devboards/pb1100.c +0 −167
  2571. arch/mips/alchemy/devboards/pb1500.c +0 −198
  2572. arch/mips/alchemy/devboards/pb1550.c +0 −244
  2573. arch/mips/alchemy/devboards/platform.c +4 −5
  2574. arch/mips/ath79/clock.c +81 −28
  2575. arch/mips/ath79/dev-usb.c +56 −36
  2576. arch/mips/ath79/mach-db120.c +2 −0
  2577. arch/mips/bcm63xx/Makefile +1 −1
  2578. arch/mips/bcm63xx/boards/board_bcm963xx.c +20 −8
  2579. arch/mips/bcm63xx/clk.c +20 −1
  2580. arch/mips/bcm63xx/dev-usb-usbd.c +65 −0
  2581. arch/mips/bcm63xx/irq.c +17 −5
  2582. arch/mips/bcm63xx/setup.c +6 −0
  2583. arch/mips/boot/compressed/uart-alchemy.c +0 −4
  2584. arch/mips/cavium-octeon/csrc-octeon.c +63 −30
  2585. arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c +1 −1
  2586. arch/mips/cavium-octeon/executive/cvmx-l2c.c +1 −0
  2587. arch/mips/cavium-octeon/octeon-irq.c +679 −163
  2588. arch/mips/cavium-octeon/serial.c +15 −15
  2589. arch/mips/cavium-octeon/setup.c +2 −1
  2590. arch/mips/configs/ar7_defconfig +0 −1
  2591. arch/mips/configs/bcm47xx_defconfig +0 −1
  2592. arch/mips/configs/cavium_octeon_defconfig +0 −0
  2593. arch/mips/configs/db1200_defconfig +0 −170
  2594. arch/mips/configs/db1235_defconfig +434 −0
  2595. arch/mips/configs/db1300_defconfig +0 −391
  2596. arch/mips/configs/db1550_defconfig +0 −285
  2597. arch/mips/configs/ip22_defconfig +0 −1
  2598. arch/mips/configs/jazz_defconfig +0 −1
  2599. arch/mips/configs/malta_defconfig +0 −1
  2600. arch/mips/configs/markeins_defconfig +0 −1
  2601. arch/mips/configs/mipssim_defconfig +0 −64
  2602. arch/mips/configs/nlm_xlp_defconfig +90 −44
  2603. arch/mips/configs/nlm_xlr_defconfig +0 −1
  2604. arch/mips/configs/pb1100_defconfig +0 −124
  2605. arch/mips/configs/pb1500_defconfig +0 −141
  2606. arch/mips/configs/pb1550_defconfig +0 −145
  2607. arch/mips/configs/pnx8335_stb225_defconfig +0 −0
  2608. arch/mips/configs/pnx8550_jbs_defconfig +0 −0
  2609. arch/mips/configs/pnx8550_stb810_defconfig +0 −0
  2610. arch/mips/configs/rb532_defconfig +0 −1
  2611. arch/mips/configs/rm200_defconfig +0 −1
  2612. arch/mips/configs/sb1250_swarm_defconfig +0 −0
  2613. arch/mips/configs/sead3_defconfig +124 −0
  2614. arch/mips/include/asm/Kbuild +1 −5
  2615. arch/mips/include/asm/atomic.h +29 −35
  2616. arch/mips/include/asm/bitops.h +39 −89
  2617. arch/mips/include/asm/compat-signal.h +0 −62
  2618. arch/mips/include/asm/compat.h +69 −2
  2619. arch/mips/include/asm/cpu-features.h +10 −2
  2620. arch/mips/include/asm/cpu.h +4 −0
  2621. arch/mips/include/asm/delay.h +3 −3
  2622. arch/mips/include/asm/errno.h +1 −119
  2623. arch/mips/include/asm/gic.h +39 −10
  2624. arch/mips/include/asm/hugetlb.h +4 −0
  2625. arch/mips/include/asm/io.h +1 −0
  2626. arch/mips/include/asm/irqflags.h +75 −132
  2627. arch/mips/include/asm/kspd.h +0 −4
  2628. arch/mips/include/asm/mach-ath79/ar71xx_regs.h +30 −0
  2629. arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h +2 −0
  2630. arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h +1 −0
  2631. arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h +83 −10
  2632. arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h +17 −0
  2633. arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h +1 −1
  2634. arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h +38 −0
  2635. arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +166 −2
  2636. arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +5 −0
  2637. arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h +1 −0
  2638. arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h +2 −1
  2639. arch/mips/include/asm/mach-cavium-octeon/irq.h +4 −3
  2640. arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h +1 −0
  2641. arch/mips/include/asm/mach-db1x00/bcsr.h +2 −0
  2642. arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h +1 −0
  2643. arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h +1 −0
  2644. arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h +1 −0
  2645. arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h +1 −0
  2646. arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h +1 −0
  2647. arch/mips/include/asm/mach-jz4740/platform.h +1 −0
  2648. arch/mips/include/asm/mach-jz4740/timer.h +113 −0
  2649. arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h +2 −0
  2650. arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h +4 −0
  2651. arch/mips/include/asm/mach-lantiq/gpio.h +1 −4
  2652. arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h +2 −0
  2653. arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h +1 −0
  2654. arch/mips/include/asm/mach-mipssim/war.h +0 −25
  2655. arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h +1 −0
  2656. arch/mips/include/asm/mach-pnx833x/gpio.h +1 −1
  2657. arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h +1 −0
  2658. arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h +1 −0
  2659. arch/mips/include/asm/mach-rm/cpu-feature-overrides.h +1 −0
  2660. arch/mips/include/asm/mach-sead3/cpu-feature-overrides.h +10 −5
  2661. arch/mips/include/asm/mach-sead3/irq.h +9 −0
  2662. arch/mips/include/asm/mach-sead3/kernel-entry-init.h +52 −0
  2663. arch/mips/include/asm/mach-sead3/war.h +25 −0
  2664. arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h +1 −0
  2665. arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h +1 −0
  2666. arch/mips/include/asm/mach-yosemite/cpu-feature-overrides.h +1 −0
  2667. arch/mips/include/asm/mips-boards/maltaint.h +7 −48
  2668. arch/mips/include/asm/mips-boards/sead3int.h +19 −0
  2669. arch/mips/include/asm/mips-boards/simint.h +0 −31
  2670. arch/mips/include/asm/mipsregs.h +6 −0
  2671. arch/mips/include/asm/module.h +8 −2
  2672. arch/mips/include/asm/octeon/cvmx-agl-defs.h +1013 −1
  2673. arch/mips/include/asm/octeon/cvmx-asm.h +1 −1
  2674. arch/mips/include/asm/octeon/cvmx-asxx-defs.h +247 −53
  2675. arch/mips/include/asm/octeon/cvmx-ciu-defs.h +9520 −1813
  2676. arch/mips/include/asm/octeon/cvmx-ciu2-defs.h +7108 −0
  2677. arch/mips/include/asm/octeon/cvmx-cmd-queue.h +1 −1
  2678. arch/mips/include/asm/octeon/cvmx-dbg-defs.h +36 −3
  2679. arch/mips/include/asm/octeon/cvmx-dpi-defs.h +410 −1
  2680. arch/mips/include/asm/octeon/cvmx-fpa-defs.h +1208 −113
  2681. arch/mips/include/asm/octeon/cvmx-fpa.h +2 −2
  2682. arch/mips/include/asm/octeon/cvmx-gmxx-defs.h +4683 −283
  2683. arch/mips/include/asm/octeon/cvmx-gpio-defs.h +274 −8
  2684. arch/mips/include/asm/octeon/cvmx-helper-board.h +1 −1
  2685. arch/mips/include/asm/octeon/cvmx-helper.h +10 −10
  2686. arch/mips/include/asm/octeon/cvmx-iob-defs.h +694 −28
  2687. arch/mips/include/asm/octeon/cvmx-ipd-defs.h +1081 −30
  2688. arch/mips/include/asm/octeon/cvmx-l2c-defs.h +1662 −64
  2689. arch/mips/include/asm/octeon/cvmx-l2d-defs.h +170 −1
  2690. arch/mips/include/asm/octeon/cvmx-l2t-defs.h +104 −1
  2691. arch/mips/include/asm/octeon/cvmx-led-defs.h +66 −1
  2692. arch/mips/include/asm/octeon/cvmx-mdio.h +1 −1
  2693. arch/mips/include/asm/octeon/cvmx-mio-defs.h +1895 −14
  2694. arch/mips/include/asm/octeon/cvmx-mixx-defs.h +233 −1
  2695. arch/mips/include/asm/octeon/cvmx-mpi-defs.h +328 −0
  2696. arch/mips/include/asm/octeon/cvmx-npei-defs.h +1742 −1
  2697. arch/mips/include/asm/octeon/cvmx-npi-defs.h +1197 −63
  2698. arch/mips/include/asm/octeon/cvmx-pci-defs.h +893 −16
  2699. arch/mips/include/asm/octeon/cvmx-pciercx-defs.h +1247 −45
  2700. arch/mips/include/asm/octeon/cvmx-pcsx-defs.h +684 −45
  2701. arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h +533 −41
  2702. arch/mips/include/asm/octeon/cvmx-pemx-defs.h +287 −1
  2703. arch/mips/include/asm/octeon/cvmx-pescx-defs.h +245 −1
  2704. arch/mips/include/asm/octeon/cvmx-pexp-defs.h +1 −1
  2705. arch/mips/include/asm/octeon/cvmx-pip-defs.h +2293 −138
  2706. arch/mips/include/asm/octeon/cvmx-pip.h +3 −3
  2707. arch/mips/include/asm/octeon/cvmx-pko-defs.h +1842 −151
  2708. arch/mips/include/asm/octeon/cvmx-pko.h +4 −4
  2709. arch/mips/include/asm/octeon/cvmx-pow-defs.h +529 −1
  2710. arch/mips/include/asm/octeon/cvmx-pow.h +2 −2
  2711. arch/mips/include/asm/octeon/cvmx-rnm-defs.h +101 −6
  2712. arch/mips/include/asm/octeon/cvmx-sli-defs.h +1350 −1
  2713. arch/mips/include/asm/octeon/cvmx-smix-defs.h +196 −6
  2714. arch/mips/include/asm/octeon/cvmx-spi.h +1 −1
  2715. arch/mips/include/asm/octeon/cvmx-spinlock.h +1 −1
  2716. arch/mips/include/asm/octeon/cvmx-spxx-defs.h +192 −33
  2717. arch/mips/include/asm/octeon/cvmx-sriox-defs.h +702 −1
  2718. arch/mips/include/asm/octeon/cvmx-srxx-defs.h +49 −13
  2719. arch/mips/include/asm/octeon/cvmx-stxx-defs.h +133 −33
  2720. arch/mips/include/asm/octeon/cvmx-uctlx-defs.h +241 −27
  2721. arch/mips/include/asm/octeon/cvmx-wqe.h +1 −1
  2722. arch/mips/include/asm/octeon/cvmx.h +18 −18
  2723. arch/mips/include/asm/octeon/octeon-model.h +19 −1
  2724. arch/mips/include/asm/octeon/octeon.h +5 −1
  2725. arch/mips/include/asm/pgtable-64.h +14 −2
  2726. arch/mips/include/asm/pgtable-bits.h +9 −9
  2727. arch/mips/include/asm/pgtable.h +6 −6
  2728. arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h +1 −0
  2729. arch/mips/include/asm/ptrace.h +1 −106
  2730. arch/mips/include/asm/setup.h +1 −4
  2731. arch/mips/include/asm/sibyte/bcm1480_int.h +1 −1
  2732. arch/mips/include/asm/sibyte/bcm1480_l2c.h +1 −1
  2733. arch/mips/include/asm/sibyte/bcm1480_mc.h +1 −1
  2734. arch/mips/include/asm/sibyte/bcm1480_regs.h +2 −2
  2735. arch/mips/include/asm/sibyte/bcm1480_scd.h +2 −2
  2736. arch/mips/include/asm/sibyte/sb1250_dma.h +1 −1
  2737. arch/mips/include/asm/sibyte/sb1250_genbus.h +1 −1
  2738. arch/mips/include/asm/sibyte/sb1250_int.h +1 −1
  2739. arch/mips/include/asm/sibyte/sb1250_l2c.h +1 −1
  2740. arch/mips/include/asm/sibyte/sb1250_ldt.h +1 −1
  2741. arch/mips/include/asm/sibyte/sb1250_mac.h +1 −1
  2742. arch/mips/include/asm/sibyte/sb1250_mc.h +1 −1
  2743. arch/mips/include/asm/sibyte/sb1250_regs.h +1 −1
  2744. arch/mips/include/asm/sibyte/sb1250_scd.h +1 −1
  2745. arch/mips/include/asm/sibyte/sb1250_smbus.h +1 −1
  2746. arch/mips/include/asm/sibyte/sb1250_syncser.h +1 −1
  2747. arch/mips/include/asm/sibyte/sb1250_uart.h +1 −1
  2748. arch/mips/include/asm/sigcontext.h +1 −65
  2749. arch/mips/include/asm/siginfo.h +1 −103
  2750. arch/mips/include/asm/signal.h +1 −114
  2751. arch/mips/include/asm/socket.h +1 −82
  2752. arch/mips/include/asm/termios.h +1 −72
  2753. arch/mips/include/asm/thread_info.h +3 −12
  2754. arch/mips/include/asm/types.h +1 −15
  2755. arch/mips/include/asm/uasm.h +2 −0
.gitignore+8−0
@@ -84,3 +84,11 @@ GTAGS · 83 unmodified lines
8484 *.orig
8585 *~
8686 \#*#
87+
88+#
89+# Leavings from module signing
90+#
91+extra_certificates
92+signing_key.priv
93+signing_key.x509
94+x509.genkey
Documentation/00-INDEX+2−4
@@ -210,6 +210,8 @@ local_ops.txt · 209 unmodified lines
210210 - semantics and behavior of local atomic operations.
211211 lockdep-design.txt
212212 - documentation on the runtime locking correctness validator.
213+lockup-watchdogs.txt
214+ - info on soft and hard lockup detectors (aka nmi_watchdog).
213215 logo.gif
214216 - full colour GIF image of Linux logo (penguin - Tux).
215217 logo.txt
@@ -240,8 +242,6 @@ netlabel/ · 24 unmodified lines
240242 - directory with information on the NetLabel subsystem.
241243 networking/
242244 - directory with info on various aspects of networking with Linux.
243−nmi_watchdog.txt
244− - info on NMI watchdog for SMP systems.
245245 nommu-mmap.txt
246246 - documentation about no-mmu memory mapping support.
247247 numastat.txt
@@ -270,8 +270,6 @@ preempt-locking.txt · 22 unmodified lines
270270 - info on locking under a preemptive kernel.
271271 printk-formats.txt
272272 - how to get printk format specifiers right
273−prio_tree.txt
274− - info on radix-priority-search-tree use for indexing vmas.
275273 ramoops.txt
276274 - documentation of the ramoops oops/panic logging module.
277275 rbtree.txt
Documentation/ABI/obsolete/proc-pid-oom_adj+0−22
@@ -1,22 +0,0 @@
1−What: /proc/<pid>/oom_adj
2−When: August 2012
3−Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
4− badness heuristic used to determine which task to kill when the kernel
5− is out of memory.
6−
7− The badness heuristic has since been rewritten since the introduction of
8− this tunable such that its meaning is deprecated. The value was
9− implemented as a bitshift on a score generated by the badness()
10− function that did not have any precise units of measure. With the
11− rewrite, the score is given as a proportion of available memory to the
12− task allocating pages, so using a bitshift which grows the score
13− exponentially is, thus, impossible to tune with fine granularity.
14−
15− A much more powerful interface, /proc/<pid>/oom_score_adj, was
16− introduced with the oom killer rewrite that allows users to increase or
17− decrease the badness score linearly. This interface will replace
18− /proc/<pid>/oom_adj.
19−
20− A warning will be emitted to the kernel log if an application uses this
21− deprecated interface. After it is printed once, future warnings will be
22− suppressed until the kernel is rebooted.
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-koneplus+38−0
@@ -8,3 +8,41 @@ Description: The integer value of this attribute ranges from 0-4. · 7 unmodified lines
88 When written, this file sets the number of the startup profile
99 and the mouse activates this profile immediately.
1010 Please use actual_profile, it does the same thing.
11+Users: http://roccat.sourceforge.net
12+
13+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/firmware_version
14+Date: October 2010
15+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
16+Description: When read, this file returns the raw integer version number of the
17+ firmware reported by the mouse. Using the integer value eases
18+ further usage in other programs. To receive the real version
19+ number the decimal point has to be shifted 2 positions to the
20+ left. E.g. a returned value of 121 means 1.21
21+ This file is readonly.
22+ Please read binary attribute info which contains firmware version.
23+Users: http://roccat.sourceforge.net
24+
25+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/profile[1-5]_buttons
26+Date: August 2010
27+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
28+Description: The mouse can store 5 profiles which can be switched by the
29+ press of a button. A profile is split in settings and buttons.
30+ profile_buttons holds information about button layout.
31+ When read, these files return the respective profile buttons.
32+ The returned data is 77 bytes in size.
33+ This file is readonly.
34+ Write control to select profile and read profile_buttons instead.
35+Users: http://roccat.sourceforge.net
36+
37+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/profile[1-5]_settings
38+Date: August 2010
39+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
40+Description: The mouse can store 5 profiles which can be switched by the
41+ press of a button. A profile is split in settings and buttons.
42+ profile_settings holds information like resolution, sensitivity
43+ and light effects.
44+ When read, these files return the respective profile settings.
45+ The returned data is 43 bytes in size.
46+ This file is readonly.
47+ Write control to select profile and read profile_settings instead.
48+Users: http://roccat.sourceforge.net
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-kovaplus+66−0
@@ -0,0 +1,66 @@
1+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_cpi
2+Date: January 2011
3+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4+Description: The integer value of this attribute ranges from 1-4.
5+ When read, this attribute returns the number of the active
6+ cpi level.
7+ This file is readonly.
8+ Has never been used. If bookkeeping is done, it's done in userland tools.
9+Users: http://roccat.sourceforge.net
10+
11+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_sensitivity_x
12+Date: January 2011
13+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
14+Description: The integer value of this attribute ranges from 1-10.
15+ When read, this attribute returns the number of the actual
16+ sensitivity in x direction.
17+ This file is readonly.
18+ Has never been used. If bookkeeping is done, it's done in userland tools.
19+Users: http://roccat.sourceforge.net
20+
21+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_sensitivity_y
22+Date: January 2011
23+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
24+Description: The integer value of this attribute ranges from 1-10.
25+ When read, this attribute returns the number of the actual
26+ sensitivity in y direction.
27+ This file is readonly.
28+ Has never been used. If bookkeeping is done, it's done in userland tools.
29+Users: http://roccat.sourceforge.net
30+
31+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/firmware_version
32+Date: January 2011
33+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
34+Description: When read, this file returns the raw integer version number of the
35+ firmware reported by the mouse. Using the integer value eases
36+ further usage in other programs. To receive the real version
37+ number the decimal point has to be shifted 2 positions to the
38+ left. E.g. a returned value of 121 means 1.21
39+ This file is readonly.
40+ Obsoleted by binary sysfs attribute "info".
41+Users: http://roccat.sourceforge.net
42+
43+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile[1-5]_buttons
44+Date: January 2011
45+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
46+Description: The mouse can store 5 profiles which can be switched by the
47+ press of a button. A profile is split in settings and buttons.
48+ profile_buttons holds information about button layout.
49+ When read, these files return the respective profile buttons.
50+ The returned data is 23 bytes in size.
51+ This file is readonly.
52+ Write control to select profile and read profile_buttons instead.
53+Users: http://roccat.sourceforge.net
54+
55+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile[1-5]_settings
56+Date: January 2011
57+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
58+Description: The mouse can store 5 profiles which can be switched by the
59+ press of a button. A profile is split in settings and buttons.
60+ profile_settings holds information like resolution, sensitivity
61+ and light effects.
62+ When read, these files return the respective profile settings.
63+ The returned data is 16 bytes in size.
64+ This file is readonly.
65+ Write control to select profile and read profile_settings instead.
66+Users: http://roccat.sourceforge.net
Documentation/ABI/obsolete/sysfs-driver-hid-roccat-pyra+73−0
@@ -0,0 +1,73 @@
1+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/actual_cpi
2+Date: August 2010
3+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4+Description: It is possible to switch the cpi setting of the mouse with the
5+ press of a button.
6+ When read, this file returns the raw number of the actual cpi
7+ setting reported by the mouse. This number has to be further
8+ processed to receive the real dpi value.
9+
10+ VALUE DPI
11+ 1 400
12+ 2 800
13+ 4 1600
14+
15+ This file is readonly.
16+ Has never been used. If bookkeeping is done, it's done in userland tools.
17+Users: http://roccat.sourceforge.net
18+
19+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/actual_profile
20+Date: August 2010
21+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
22+Description: When read, this file returns the number of the actual profile in
23+ range 0-4.
24+ This file is readonly.
25+ Please use binary attribute "settings" which provides this information.
26+Users: http://roccat.sourceforge.net
27+
28+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/firmware_version
29+Date: August 2010
30+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
31+Description: When read, this file returns the raw integer version number of the
32+ firmware reported by the mouse. Using the integer value eases
33+ further usage in other programs. To receive the real version
34+ number the decimal point has to be shifted 2 positions to the
35+ left. E.g. a returned value of 138 means 1.38
36+ This file is readonly.
37+ Please use binary attribute "info" which provides this information.
38+Users: http://roccat.sourceforge.net
39+
40+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile[1-5]_buttons
41+Date: August 2010
42+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
43+Description: The mouse can store 5 profiles which can be switched by the
44+ press of a button. A profile is split in settings and buttons.
45+ profile_buttons holds information about button layout.
46+ When read, these files return the respective profile buttons.
47+ The returned data is 19 bytes in size.
48+ This file is readonly.
49+ Write control to select profile and read profile_buttons instead.
50+Users: http://roccat.sourceforge.net
51+
52+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile[1-5]_settings
53+Date: August 2010
54+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
55+Description: The mouse can store 5 profiles which can be switched by the
56+ press of a button. A profile is split in settings and buttons.
57+ profile_settings holds information like resolution, sensitivity
58+ and light effects.
59+ When read, these files return the respective profile settings.
60+ The returned data is 13 bytes in size.
61+ This file is readonly.
62+ Write control to select profile and read profile_settings instead.
63+Users: http://roccat.sourceforge.net
64+
65+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/startup_profile
66+Date: August 2010
67+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
68+Description: The integer value of this attribute ranges from 0-4.
69+ When read, this attribute returns the number of the profile
70+ that's active when the mouse is powered on.
71+ This file is readonly.
72+ Please use binary attribute "settings" which provides this information.
73+Users: http://roccat.sourceforge.net
Documentation/ABI/testing/ima_policy+21−4
@@ -12,11 +12,14 @@ Description: · 11 unmodified lines
1212 then closing the file. The new policy takes effect after
1313 the file ima/policy is closed.
1414
15+ IMA appraisal, if configured, uses these file measurements
16+ for local measurement appraisal.
17+
1518 rule format: action [condition ...]
1619
17− action: measure | dont_measure
20+ action: measure | dont_measure | appraise | dont_appraise | audit
1821 condition:= base | lsm
19− base: [[func=] [mask=] [fsmagic=] [uid=]]
22+ base: [[func=] [mask=] [fsmagic=] [uid=] [fowner]]
2023 lsm: [[subj_user=] [subj_role=] [subj_type=]
2124 [obj_user=] [obj_role=] [obj_type=]]
2225
@@ -24,36 +27,50 @@ Description: · 1 unmodified line
2427 mask:= [MAY_READ] [MAY_WRITE] [MAY_APPEND] [MAY_EXEC]
2528 fsmagic:= hex value
2629 uid:= decimal value
30+ fowner:=decimal value
2731 lsm: are LSM specific
2832
2933 default policy:
3034 # PROC_SUPER_MAGIC
3135 dont_measure fsmagic=0x9fa0
36+ dont_appraise fsmagic=0x9fa0
3237 # SYSFS_MAGIC
3338 dont_measure fsmagic=0x62656572
39+ dont_appraise fsmagic=0x62656572
3440 # DEBUGFS_MAGIC
3541 dont_measure fsmagic=0x64626720
42+ dont_appraise fsmagic=0x64626720
3643 # TMPFS_MAGIC
3744 dont_measure fsmagic=0x01021994
45+ dont_appraise fsmagic=0x01021994
46+ # RAMFS_MAGIC
47+ dont_measure fsmagic=0x858458f6
48+ dont_appraise fsmagic=0x858458f6
3849 # SECURITYFS_MAGIC
3950 dont_measure fsmagic=0x73636673
51+ dont_appraise fsmagic=0x73636673
4052
4153 measure func=BPRM_CHECK
4254 measure func=FILE_MMAP mask=MAY_EXEC
4355 measure func=FILE_CHECK mask=MAY_READ uid=0
56+ appraise fowner=0
4457
4558 The default policy measures all executables in bprm_check,
4659 all files mmapped executable in file_mmap, and all files
47− open for read by root in do_filp_open.
60+ open for read by root in do_filp_open. The default appraisal
61+ policy appraises all files owned by root.
4862
4963 Examples of LSM specific definitions:
5064
5165 SELinux:
5266 # SELINUX_MAGIC
53− dont_measure fsmagic=0xF97CFF8C
67+ dont_measure fsmagic=0xf97cff8c
68+ dont_appraise fsmagic=0xf97cff8c
5469
5570 dont_measure obj_type=var_log_t
71+ dont_appraise obj_type=var_log_t
5672 dont_measure obj_type=auditd_log_t
73+ dont_appraise obj_type=auditd_log_t
5774 measure subj_user=system_u func=FILE_CHECK mask=MAY_READ
5875 measure subj_role=system_r func=FILE_CHECK mask=MAY_READ
5976
Documentation/ABI/testing/sysfs-block+14−0
@@ -206,3 +206,17 @@ Description: · 205 unmodified lines
206206 when a discarded area is read the discard_zeroes_data
207207 parameter will be set to one. Otherwise it will be 0 and
208208 the result of reading a discarded area is undefined.
209+
210+What: /sys/block/<disk>/queue/write_same_max_bytes
211+Date: January 2012
212+Contact: Martin K. Petersen <martin.petersen@oracle.com>
213+Description:
214+ Some devices support a write same operation in which a
215+ single data block can be written to a range of several
216+ contiguous blocks on storage. This can be used to wipe
217+ areas on disk or to initialize drives in a RAID
218+ configuration. write_same_max_bytes indicates how many
219+ bytes can be written in a single write same command. If
220+ write_same_max_bytes is 0, write same is not supported
221+ by the device.
222+
Documentation/ABI/testing/sysfs-bus-fcoe+6−6
@@ -9,19 +9,19 @@ Attributes: · 8 unmodified lines
99 this value will change the dev_loss_tmo for all
1010 FCFs discovered by this controller.
1111
12− lesb_link_fail: Link Error Status Block (LESB) link failure count.
12+ lesb/link_fail: Link Error Status Block (LESB) link failure count.
1313
14− lesb_vlink_fail: Link Error Status Block (LESB) virtual link
14+ lesb/vlink_fail: Link Error Status Block (LESB) virtual link
1515 failure count.
1616
17− lesb_miss_fka: Link Error Status Block (LESB) missed FCoE
17+ lesb/miss_fka: Link Error Status Block (LESB) missed FCoE
1818 Initialization Protocol (FIP) Keep-Alives (FKA).
1919
20− lesb_symb_err: Link Error Status Block (LESB) symbolic error count.
20+ lesb/symb_err: Link Error Status Block (LESB) symbolic error count.
2121
22− lesb_err_block: Link Error Status Block (LESB) block error count.
22+ lesb/err_block: Link Error Status Block (LESB) block error count.
2323
24− lesb_fcs_error: Link Error Status Block (LESB) Fibre Channel
24+ lesb/fcs_error: Link Error Status Block (LESB) Fibre Channel
2525 Serivces error count.
2626
2727 Notes: ctlr_X (global increment starting at 0)
Documentation/ABI/testing/sysfs-bus-rbd+12−6
@@ -25,6 +25,10 @@ client_id · 24 unmodified lines
2525
2626 The ceph unique client id that was assigned for this specific session.
2727
28+features
29+
30+ A hexadecimal encoding of the feature bits for this image.
31+
2832 major
2933
3034 The block device major number.
@@ -33,6 +37,11 @@ name · 2 unmodified lines
3337
3438 The name of the rbd image.
3539
40+image_id
41+
42+ The unique id for the rbd image. (For rbd image format 1
43+ this is empty.)
44+
3645 pool
3746
3847 The name of the storage pool where this rbd image resides.
@@ -57,12 +66,6 @@ current_snap · 18 unmodified lines
5766
5867 The current snapshot for which the device is mapped.
5968
60−create_snap
61−
62− Create a snapshot:
63−
64− $ echo <snap-name> > /sys/bus/rbd/devices/<dev-id>/snap_create
65−
6669 snap_*
6770
6871 A directory per each snapshot
@@ -79,4 +82,7 @@ snap_size · 10 unmodified lines
7982
8083 The size of the image when this snapshot was taken.
8184
85+snap_features
86+
87+ A hexadecimal encoding of the feature bits for this snapshot.
8288
Documentation/ABI/testing/sysfs-bus-usb+7−0
@@ -220,3 +220,10 @@ Description: · 219 unmodified lines
220220 If the device doesn't support LTM, the file will read "no".
221221 The file will be present for all speeds of USB devices, and will
222222 always read "no" for USB 1.1 and USB 2.0 devices.
223+
224+What: /sys/bus/usb/devices/.../(hub interface)/portX
225+Date: August 2012
226+Contact: Lan Tianyu <tianyu.lan@intel.com>
227+Description:
228+ The /sys/bus/usb/devices/.../(hub interface)/portX
229+ is usb port device's sysfs directory.
Documentation/ABI/testing/sysfs-devices-firmware_node+17−0
@@ -0,0 +1,17 @@
1+What: /sys/devices/.../firmware_node/
2+Date: September 2012
3+Contact: <>
4+Description:
5+ The /sys/devices/.../firmware_node directory contains attributes
6+ allowing the user space to check and modify some firmware
7+ related properties of given device.
8+
9+What: /sys/devices/.../firmware_node/description
10+Date: September 2012
11+Contact: Lance Ortiz <lance.ortiz@hp.com>
12+Description:
13+ The /sys/devices/.../firmware/description attribute contains a string
14+ that describes the device as provided by the _STR method in the ACPI
15+ namespace. This attribute is read-only. If the device does not have
16+ an _STR method associated with it in the ACPI namespace, this
17+ attribute is not present.
Documentation/ABI/testing/sysfs-devices-system-cpu+11−0
@@ -176,3 +176,14 @@ Description: Disable L3 cache indices · 175 unmodified lines
176176 All AMD processors with L3 caches provide this functionality.
177177 For details, see BKDGs at
178178 http://developer.amd.com/documentation/guides/Pages/default.aspx
179+
180+
181+What: /sys/devices/system/cpu/cpufreq/boost
182+Date: August 2012
183+Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
184+Description: Processor frequency boosting control
185+
186+ This switch controls the boost setting for the whole system.
187+ Boosting allows the CPU and the firmware to run at a frequency
188+ beyound it's nominal limit.
189+ More details can be found in Documentation/cpu-freq/boost.txt
Documentation/ABI/testing/sysfs-driver-hid-roccat-isku+8−0
@@ -117,6 +117,14 @@ Description: When written, this file lets one store macros with max 500 · 116 unmodified lines
117117 which profile and key to read.
118118 Users: http://roccat.sourceforge.net
119119
120+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/isku/roccatisku<minor>/reset
121+Date: November 2012
122+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
123+Description: When written, this file lets one reset the device.
124+ The data has to be 3 bytes long.
125+ This file is writeonly.
126+Users: http://roccat.sourceforge.net
127+
120128 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/isku/roccatisku<minor>/control
121129 Date: June 2011
122130 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
Documentation/ABI/testing/sysfs-driver-hid-roccat-koneplus+12−36
@@ -9,15 +9,12 @@ Description: The integer value of this attribute ranges from 0-4. · 8 unmodified lines
99 and the mouse activates this profile immediately.
1010 Users: http://roccat.sourceforge.net
1111
12−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/firmware_version
13−Date: October 2010
12+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/info
13+Date: November 2012
1414 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
15−Description: When read, this file returns the raw integer version number of the
16− firmware reported by the mouse. Using the integer value eases
17− further usage in other programs. To receive the real version
18− number the decimal point has to be shifted 2 positions to the
19− left. E.g. a returned value of 121 means 1.21
20− This file is readonly.
15+Description: When read, this file returns general data like firmware version.
16+ When written, the device can be reset.
17+ The data is 8 bytes long.
2118 Users: http://roccat.sourceforge.net
2219
2320 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/macro
@@ -42,18 +39,8 @@ Description: The mouse can store 5 profiles which can be switched by the · 18 unmodified lines
4239 The mouse will reject invalid data.
4340 Which profile to write is determined by the profile number
4441 contained in the data.
45− This file is writeonly.
46−Users: http://roccat.sourceforge.net
47−
48−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/profile[1-5]_buttons
49−Date: August 2010
50−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
51−Description: The mouse can store 5 profiles which can be switched by the
52− press of a button. A profile is split in settings and buttons.
53− profile_buttons holds information about button layout.
54− When read, these files return the respective profile buttons.
55− The returned data is 77 bytes in size.
56− This file is readonly.
42+ Before reading this file, control has to be written to select
43+ which profile to read.
5744 Users: http://roccat.sourceforge.net
5845
5946 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/profile_settings
@@ -68,19 +55,8 @@ Description: The mouse can store 5 profiles which can be switched by the · 8 unmodified lines
6855 The mouse will reject invalid data.
6956 Which profile to write is determined by the profile number
7057 contained in the data.
71− This file is writeonly.
72−Users: http://roccat.sourceforge.net
73−
74−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/profile[1-5]_settings
75−Date: August 2010
76−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
77−Description: The mouse can store 5 profiles which can be switched by the
78− press of a button. A profile is split in settings and buttons.
79− profile_settings holds information like resolution, sensitivity
80− and light effects.
81− When read, these files return the respective profile settings.
82− The returned data is 43 bytes in size.
83− This file is readonly.
58+ Before reading this file, control has to be written to select
59+ which profile to read.
8460 Users: http://roccat.sourceforge.net
8561
8662 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/sensor
@@ -104,9 +80,9 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 17 unmodified lines
10480 Date: October 2010
10581 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
10682 Description: When written a calibration process for the tracking control unit
107− can be initiated/cancelled.
108− The data has to be 3 bytes long.
109− This file is writeonly.
83+ can be initiated/cancelled. Also lets one read/write sensor
84+ registers.
85+ The data has to be 4 bytes long.
11086 Users: http://roccat.sourceforge.net
11187
11288 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/koneplus/roccatkoneplus<minor>/tcu_image
Documentation/ABI/testing/sysfs-driver-hid-roccat-kovaplus+9−60
@@ -1,12 +1,3 @@
1−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_cpi
2−Date: January 2011
3−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4−Description: The integer value of this attribute ranges from 1-4.
5− When read, this attribute returns the number of the active
6− cpi level.
7− This file is readonly.
8−Users: http://roccat.sourceforge.net
9−
101 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_profile
112 Date: January 2011
123 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
@@ -18,33 +9,12 @@ Description: The integer value of this attribute ranges from 0-4. · 5 unmodified lines
189 active when the mouse is powered on.
1910 Users: http://roccat.sourceforge.net
2011
21−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_sensitivity_x
22−Date: January 2011
12+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/info
13+Date: November 2012
2314 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
24−Description: The integer value of this attribute ranges from 1-10.
25− When read, this attribute returns the number of the actual
26− sensitivity in x direction.
27− This file is readonly.
28−Users: http://roccat.sourceforge.net
29−
30−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/actual_sensitivity_y
31−Date: January 2011
32−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
33−Description: The integer value of this attribute ranges from 1-10.
34− When read, this attribute returns the number of the actual
35− sensitivity in y direction.
36− This file is readonly.
37−Users: http://roccat.sourceforge.net
38−
39−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/firmware_version
40−Date: January 2011
41−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
42−Description: When read, this file returns the raw integer version number of the
43− firmware reported by the mouse. Using the integer value eases
44− further usage in other programs. To receive the real version
45− number the decimal point has to be shifted 2 positions to the
46− left. E.g. a returned value of 121 means 1.21
47− This file is readonly.
15+Description: When read, this file returns general data like firmware version.
16+ When written, the device can be reset.
17+ The data is 6 bytes long.
4818 Users: http://roccat.sourceforge.net
4919
5020 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile_buttons
@@ -58,18 +28,8 @@ Description: The mouse can store 5 profiles which can be switched by the · 7 unmodified lines
5828 The mouse will reject invalid data.
5929 Which profile to write is determined by the profile number
6030 contained in the data.
61− This file is writeonly.
62−Users: http://roccat.sourceforge.net
63−
64−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile[1-5]_buttons
65−Date: January 2011
66−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
67−Description: The mouse can store 5 profiles which can be switched by the
68− press of a button. A profile is split in settings and buttons.
69− profile_buttons holds information about button layout.
70− When read, these files return the respective profile buttons.
71− The returned data is 23 bytes in size.
72− This file is readonly.
31+ Before reading this file, control has to be written to select
32+ which profile to read.
7333 Users: http://roccat.sourceforge.net
7434
7535 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile_settings
@@ -84,17 +44,6 @@ Description: The mouse can store 5 profiles which can be switched by the · 8 unmodified lines
8444 The mouse will reject invalid data.
8545 Which profile to write is determined by the profile number
8646 contained in the data.
87− This file is writeonly.
88−Users: http://roccat.sourceforge.net
89−
90−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/kovaplus/roccatkovaplus<minor>/profile[1-5]_settings
91−Date: January 2011
92−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
93−Description: The mouse can store 5 profiles which can be switched by the
94− press of a button. A profile is split in settings and buttons.
95− profile_settings holds information like resolution, sensitivity
96− and light effects.
97− When read, these files return the respective profile settings.
98− The returned data is 16 bytes in size.
99− This file is readonly.
47+ Before reading this file, control has to be written to select
48+ which profile to read.
10049 Users: http://roccat.sourceforge.net
Documentation/ABI/testing/sysfs-driver-hid-roccat-lua+7−0
@@ -0,0 +1,7 @@
1+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/control
2+Date: October 2012
3+Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4+Description: When written, cpi, button and light settings can be configured.
5+ When read, actual cpi setting and sensor data are returned.
6+ The data has to be 8 bytes long.
7+Users: http://roccat.sourceforge.net
Documentation/ABI/testing/sysfs-driver-hid-roccat-pyra+9−67
@@ -1,37 +1,9 @@
1−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/actual_cpi
2−Date: August 2010
3−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4−Description: It is possible to switch the cpi setting of the mouse with the
5− press of a button.
6− When read, this file returns the raw number of the actual cpi
7− setting reported by the mouse. This number has to be further
8− processed to receive the real dpi value.
9−
10− VALUE DPI
11− 1 400
12− 2 800
13− 4 1600
14−
15− This file is readonly.
16−Users: http://roccat.sourceforge.net
17−
18−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/actual_profile
19−Date: August 2010
1+What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/info
2+Date: November 2012
203 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
21−Description: When read, this file returns the number of the actual profile in
22− range 0-4.
23− This file is readonly.
24−Users: http://roccat.sourceforge.net
25−
26−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/firmware_version
27−Date: August 2010
28−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
29−Description: When read, this file returns the raw integer version number of the
30− firmware reported by the mouse. Using the integer value eases
31− further usage in other programs. To receive the real version
32− number the decimal point has to be shifted 2 positions to the
33− left. E.g. a returned value of 138 means 1.38
34− This file is readonly.
4+Description: When read, this file returns general data like firmware version.
5+ When written, the device can be reset.
6+ The data is 6 bytes long.
357 Users: http://roccat.sourceforge.net
368
379 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile_settings
@@ -46,19 +18,8 @@ Description: The mouse can store 5 profiles which can be switched by the · 8 unmodified lines
4618 The mouse will reject invalid data.
4719 Which profile to write is determined by the profile number
4820 contained in the data.
49− This file is writeonly.
50−Users: http://roccat.sourceforge.net
51−
52−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile[1-5]_settings
53−Date: August 2010
54−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
55−Description: The mouse can store 5 profiles which can be switched by the
56− press of a button. A profile is split in settings and buttons.
57− profile_settings holds information like resolution, sensitivity
58− and light effects.
59− When read, these files return the respective profile settings.
60− The returned data is 13 bytes in size.
61− This file is readonly.
21+ Before reading this file, control has to be written to select
22+ which profile to read.
6223 Users: http://roccat.sourceforge.net
6324
6425 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile_buttons
@@ -72,27 +33,8 @@ Description: The mouse can store 5 profiles which can be switched by the · 7 unmodified lines
7233 The mouse will reject invalid data.
7334 Which profile to write is determined by the profile number
7435 contained in the data.
75− This file is writeonly.
76−Users: http://roccat.sourceforge.net
77−
78−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/profile[1-5]_buttons
79−Date: August 2010
80−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
81−Description: The mouse can store 5 profiles which can be switched by the
82− press of a button. A profile is split in settings and buttons.
83− profile_buttons holds information about button layout.
84− When read, these files return the respective profile buttons.
85− The returned data is 19 bytes in size.
86− This file is readonly.
87−Users: http://roccat.sourceforge.net
88−
89−What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/startup_profile
90−Date: August 2010
91−Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
92−Description: The integer value of this attribute ranges from 0-4.
93− When read, this attribute returns the number of the profile
94− that's active when the mouse is powered on.
95− This file is readonly.
36+ Before reading this file, control has to be written to select
37+ which profile to read.
9638 Users: http://roccat.sourceforge.net
9739
9840 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/pyra/roccatpyra<minor>/settings
Documentation/ABI/testing/sysfs-driver-hid-roccat-savu+1−2
@@ -40,8 +40,8 @@ What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid- · 39 unmodified lines
4040 Date: Mai 2012
4141 Contact: Stefan Achatz <erazor_de@users.sourceforge.net>
4242 Description: When read, this file returns general data like firmware version.
43+ When written, the device can be reset.
4344 The data is 8 bytes long.
44− This file is readonly.
4545 Users: http://roccat.sourceforge.net
4646
4747 What: /sys/bus/usb/devices/<busnum>-<devnum>:<config num>.<interface num>/<hid-bus>:<vendor-id>:<product-id>.<num>/savu/roccatsavu<minor>/macro
@@ -74,4 +74,3 @@ Description: The mouse has a Avago ADNS-3090 sensor. · 26 unmodified lines
7474 This file allows reading and writing of the mouse sensors registers.
7575 The data has to be 4 bytes long.
7676 Users: http://roccat.sourceforge.net
77−
Documentation/ABI/testing/sysfs-driver-ppi+70−0
@@ -0,0 +1,70 @@
1+What: /sys/devices/pnp0/<bus-num>/ppi/
2+Date: August 2012
3+Kernel Version: 3.6
4+Contact: xiaoyan.zhang@intel.com
5+Description:
6+ This folder includes the attributes related with PPI (Physical
7+ Presence Interface). Only if TPM is supported by BIOS, this
8+ folder makes sence. The folder path can be got by command
9+ 'find /sys/ -name 'pcrs''. For the detail information of PPI,
10+ please refer to the PPI specification from
11+ http://www.trustedcomputinggroup.org/
12+
13+What: /sys/devices/pnp0/<bus-num>/ppi/version
14+Date: August 2012
15+Contact: xiaoyan.zhang@intel.com
16+Description:
17+ This attribute shows the version of the PPI supported by the
18+ platform.
19+ This file is readonly.
20+
21+What: /sys/devices/pnp0/<bus-num>/ppi/request
22+Date: August 2012
23+Contact: xiaoyan.zhang@intel.com
24+Description:
25+ This attribute shows the request for an operation to be
26+ executed in the pre-OS environment. It is the only input from
27+ the OS to the pre-OS environment. The request should be an
28+ integer value range from 1 to 160, and 0 means no request.
29+ This file can be read and written.
30+
31+What: /sys/devices/pnp0/00:<bus-num>/ppi/response
32+Date: August 2012
33+Contact: xiaoyan.zhang@intel.com
34+Description:
35+ This attribute shows the response to the most recent operation
36+ request it acted upon. The format is "<request> <response num>
37+ : <response description>".
38+ This file is readonly.
39+
40+What: /sys/devices/pnp0/<bus-num>/ppi/transition_action
41+Date: August 2012
42+Contact: xiaoyan.zhang@intel.com
43+Description:
44+ This attribute shows the platform-specific action that should
45+ take place in order to transition to the BIOS for execution of
46+ a requested operation. The format is "<action num>: <action
47+ description>".
48+ This file is readonly.
49+
50+What: /sys/devices/pnp0/<bus-num>/ppi/tcg_operations
51+Date: August 2012
52+Contact: xiaoyan.zhang@intel.com
53+Description:
54+ This attribute shows whether it is allowed to request an
55+ operation to be executed in the pre-OS environment by the BIOS
56+ for the requests defined by TCG, i.e. requests from 1 to 22.
57+ The format is "<request> <status num>: <status description>".
58+ This attribute is only supported by PPI version 1.2+.
59+ This file is readonly.
60+
61+What: /sys/devices/pnp0/<bus-num>/ppi/vs_operations
62+Date: August 2012
63+Contact: xiaoyan.zhang@intel.com
64+Description:
65+ This attribute shows whether it is allowed to request an
66+ operation to be executed in the pre-OS environment by the BIOS
67+ for the verdor specific requests, i.e. requests from 128 to
68+ 255. The format is same with tcg_operations. This attribute
69+ is also only supported by PPI version 1.2+.
70+ This file is readonly.
Documentation/ABI/testing/sysfs-fs-ext4+13−0
@@ -96,3 +96,16 @@ Contact: "Theodore Ts'o" <tytso@mit.edu> · 95 unmodified lines
9696 Description:
9797 The maximum number of megabytes the writeback code will
9898 try to write out before move on to another inode.
99+
100+What: /sys/fs/ext4/<disk>/extent_max_zeroout_kb
101+Date: August 2012
102+Contact: "Theodore Ts'o" <tytso@mit.edu>
103+Description:
104+ The maximum number of kilobytes which will be zeroed
105+ out in preference to creating a new uninitialized
106+ extent when manipulating an inode's extent tree. Note
107+ that using a larger value will increase the
108+ variability of time necessary to complete a random
109+ write operation (since a 4k random write might turn
110+ into a much larger write due to the zeroout
111+ operation).
Documentation/ABI/testing/sysfs-ptp+5−1
@@ -19,7 +19,11 @@ Date: September 2010 · 18 unmodified lines
1919 Contact: Richard Cochran <richardcochran@gmail.com>
2020 Description:
2121 This file contains the name of the PTP hardware clock
22− as a human readable string.
22+ as a human readable string. The purpose of this
23+ attribute is to provide the user with a "friendly
24+ name" and to help distinguish PHY based devices from
25+ MAC based ones. The string does not necessarily have
26+ to be any kind of unique id.
2327
2428 What: /sys/class/ptp/ptpN/max_adjustment
2529 Date: September 2010
Documentation/ABI/testing/sysfs-tty+9−0
@@ -17,3 +17,12 @@ Description: · 16 unmodified lines
1717 device, like 'tty1'.
1818 The file supports poll() to detect virtual
1919 console switches.
20+
21+What: /sys/class/tty/ttyS0/uartclk
22+Date: Sep 2012
23+Contact: Tomas Hlavacek <tmshlvck@gmail.com>
24+Description:
25+ Shows the current uartclk value associated with the
26+ UART port in serial_core, that is bound to TTY like ttyS0.
27+ uartclk = 16 * baud_base
28+
Documentation/CodingStyle+10−0
@@ -454,6 +454,16 @@ The preferred style for long (multi-line) comments is: · 453 unmodified lines
454454 * with beginning and ending almost-blank lines.
455455 */
456456
457+For files in net/ and drivers/net/ the preferred style for long (multi-line)
458+comments is a little different.
459+
460+ /* The preferred comment style for files in net/ and drivers/net
461+ * looks like this.
462+ *
463+ * It is nearly the same as the generally preferred comment style,
464+ * but there is no initial almost-blank line.
465+ */
466+
457467 It's also important to comment data, whether they are basic types or derived
458468 types. To this end, use just one data declaration per line (no commas for
459469 multiple data declarations). This leaves you room for a small comment on each
Documentation/DocBook/drm.tmpl+2226−609
@@ -6,11 +6,36 @@ · 5 unmodified lines
66 <bookinfo>
77 <title>Linux DRM Developer's Guide</title>
88
9+ <authorgroup>
10+ <author>
11+ <firstname>Jesse</firstname>
12+ <surname>Barnes</surname>
13+ <contrib>Initial version</contrib>
14+ <affiliation>
15+ <orgname>Intel Corporation</orgname>
16+ <address>
17+ <email>jesse.barnes@intel.com</email>
18+ </address>
19+ </affiliation>
20+ </author>
21+ <author>
22+ <firstname>Laurent</firstname>
23+ <surname>Pinchart</surname>
24+ <contrib>Driver internals</contrib>
25+ <affiliation>
26+ <orgname>Ideas on board SPRL</orgname>
27+ <address>
28+ <email>laurent.pinchart@ideasonboard.com</email>
29+ </address>
30+ </affiliation>
31+ </author>
32+ </authorgroup>
33+
934 <copyright>
1035 <year>2008-2009</year>
11− <holder>
12− Intel Corporation (Jesse Barnes &lt;jesse.barnes@intel.com&gt;)
13− </holder>
36+ <year>2012</year>
37+ <holder>Intel Corporation</holder>
38+ <holder>Laurent Pinchart</holder>
1439 </copyright>
1540
1641 <legalnotice>
@@ -20,6 +45,17 @@ · 3 unmodified lines
2045 the kernel source COPYING file.
2146 </para>
2247 </legalnotice>
48+
49+ <revhistory>
50+ <!-- Put document revisions here, newest first. -->
51+ <revision>
52+ <revnumber>1.0</revnumber>
53+ <date>2012-07-13</date>
54+ <authorinitials>LP</authorinitials>
55+ <revremark>Added extensive documentation about driver internals.
56+ </revremark>
57+ </revision>
58+ </revhistory>
2359 </bookinfo>
2460
2561 <toc></toc>
@@ -72,342 +108,361 @@ · 46 unmodified lines
72108 submission &amp; fencing, suspend/resume support, and DMA
73109 services.
74110 </para>
75− <para>
76− The core of every DRM driver is struct drm_driver. Drivers
77− typically statically initialize a drm_driver structure,
78− then pass it to drm_init() at load time.
79− </para>
80111
81112 <!-- Internals: driver init -->
82113
83114 <sect1>
84− <title>Driver initialization</title>
85− <para>
86− Before calling the DRM initialization routines, the driver must
87− first create and fill out a struct drm_driver structure.
88− </para>
89− <programlisting>
90− static struct drm_driver driver = {
91− /* Don't use MTRRs here; the Xserver or userspace app should
92− * deal with them for Intel hardware.
93− */
94− .driver_features =
95− DRIVER_USE_AGP | DRIVER_REQUIRE_AGP |
96− DRIVER_HAVE_IRQ | DRIVER_IRQ_SHARED | DRIVER_MODESET,
97− .load = i915_driver_load,
98− .unload = i915_driver_unload,
99− .firstopen = i915_driver_firstopen,
100− .lastclose = i915_driver_lastclose,
101− .preclose = i915_driver_preclose,
102− .save = i915_save,
103− .restore = i915_restore,
104− .device_is_agp = i915_driver_device_is_agp,
105− .get_vblank_counter = i915_get_vblank_counter,
106− .enable_vblank = i915_enable_vblank,
107− .disable_vblank = i915_disable_vblank,
108− .irq_preinstall = i915_driver_irq_preinstall,
109− .irq_postinstall = i915_driver_irq_postinstall,
110− .irq_uninstall = i915_driver_irq_uninstall,
111− .irq_handler = i915_driver_irq_handler,
112− .reclaim_buffers = drm_core_reclaim_buffers,
113− .get_map_ofs = drm_core_get_map_ofs,
114− .get_reg_ofs = drm_core_get_reg_ofs,
115− .fb_probe = intelfb_probe,
116− .fb_remove = intelfb_remove,
117− .fb_resize = intelfb_resize,
118− .master_create = i915_master_create,
119− .master_destroy = i915_master_destroy,
120−#if defined(CONFIG_DEBUG_FS)
121− .debugfs_init = i915_debugfs_init,
122− .debugfs_cleanup = i915_debugfs_cleanup,
123−#endif
124− .gem_init_object = i915_gem_init_object,
125− .gem_free_object = i915_gem_free_object,
126− .gem_vm_ops = &amp;i915_gem_vm_ops,
127− .ioctls = i915_ioctls,
128− .fops = {
129− .owner = THIS_MODULE,
130− .open = drm_open,
131− .release = drm_release,
132− .ioctl = drm_ioctl,
133− .mmap = drm_mmap,
134− .poll = drm_poll,
135− .fasync = drm_fasync,
136−#ifdef CONFIG_COMPAT
137− .compat_ioctl = i915_compat_ioctl,
138−#endif
139− .llseek = noop_llseek,
140− },
141− .pci_driver = {
142− .name = DRIVER_NAME,
143− .id_table = pciidlist,
144− .probe = probe,
145− .remove = __devexit_p(drm_cleanup_pci),
146− },
147− .name = DRIVER_NAME,
148− .desc = DRIVER_DESC,
149− .date = DRIVER_DATE,
150− .major = DRIVER_MAJOR,
151− .minor = DRIVER_MINOR,
152− .patchlevel = DRIVER_PATCHLEVEL,
153− };
154− </programlisting>
155− <para>
156− In the example above, taken from the i915 DRM driver, the driver
157− sets several flags indicating what core features it supports;
158− we go over the individual callbacks in later sections. Since
159− flags indicate which features your driver supports to the DRM
160− core, you need to set most of them prior to calling drm_init(). Some,
161− like DRIVER_MODESET can be set later based on user supplied parameters,
162− but that's the exception rather than the rule.
163− </para>
164− <variablelist>
165− <title>Driver flags</title>
166− <varlistentry>
167− <term>DRIVER_USE_AGP</term>
168− <listitem><para>
169− Driver uses AGP interface
170− </para></listitem>
171− </varlistentry>
172− <varlistentry>
173− <term>DRIVER_REQUIRE_AGP</term>
174− <listitem><para>
175− Driver needs AGP interface to function.
176− </para></listitem>
177− </varlistentry>
178− <varlistentry>
179− <term>DRIVER_USE_MTRR</term>
180− <listitem>
181− <para>
182− Driver uses MTRR interface for mapping memory. Deprecated.
183− </para>
184− </listitem>
185− </varlistentry>
186− <varlistentry>
187− <term>DRIVER_PCI_DMA</term>
188− <listitem><para>
189− Driver is capable of PCI DMA. Deprecated.
190− </para></listitem>
191− </varlistentry>
192− <varlistentry>
193− <term>DRIVER_SG</term>
194− <listitem><para>
195− Driver can perform scatter/gather DMA. Deprecated.
196− </para></listitem>
197− </varlistentry>
198− <varlistentry>
199− <term>DRIVER_HAVE_DMA</term>
200− <listitem><para>Driver supports DMA. Deprecated.</para></listitem>
201− </varlistentry>
202− <varlistentry>
203− <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term>
204− <listitem>
205− <para>
206− DRIVER_HAVE_IRQ indicates whether the driver has an IRQ
207− handler. DRIVER_IRQ_SHARED indicates whether the device &amp;
208− handler support shared IRQs (note that this is required of
209− PCI drivers).
210− </para>
211− </listitem>
212− </varlistentry>
213− <varlistentry>
214− <term>DRIVER_DMA_QUEUE</term>
215− <listitem>
216− <para>
217− Should be set if the driver queues DMA requests and completes them
218− asynchronously. Deprecated.
219− </para>
220− </listitem>
221− </varlistentry>
222− <varlistentry>
223− <term>DRIVER_FB_DMA</term>
224− <listitem>
225− <para>
226− Driver supports DMA to/from the framebuffer. Deprecated.
227− </para>
228− </listitem>
229− </varlistentry>
230− <varlistentry>
231− <term>DRIVER_MODESET</term>
232− <listitem>
233− <para>
234− Driver supports mode setting interfaces.
235− </para>
236− </listitem>
237− </varlistentry>
238− </variablelist>
239− <para>
240− In this specific case, the driver requires AGP and supports
241− IRQs. DMA, as discussed later, is handled by device-specific ioctls
242− in this case. It also supports the kernel mode setting APIs, though
243− unlike in the actual i915 driver source, this example unconditionally
244− exports KMS capability.
115+ <title>Driver Initialization</title>
116+ <para>
117+ At the core of every DRM driver is a <structname>drm_driver</structname>
118+ structure. Drivers typically statically initialize a drm_driver structure,
119+ and then pass it to one of the <function>drm_*_init()</function> functions
120+ to register it with the DRM subsystem.
245121 </para>
246− </sect1>
247−
248− <!-- Internals: driver load -->
249−
250− <sect1>
251− <title>Driver load</title>
252− <para>
253− In the previous section, we saw what a typical drm_driver
254− structure might look like. One of the more important fields in
255− the structure is the hook for the load function.
256− </para>
257− <programlisting>
258− static struct drm_driver driver = {
259− ...
260− .load = i915_driver_load,
261− ...
262− };
263− </programlisting>
264− <para>
265− The load function has many responsibilities: allocating a driver
266− private structure, specifying supported performance counters,
267− configuring the device (e.g. mapping registers &amp; command
268− buffers), initializing the memory manager, and setting up the
269− initial output configuration.
270− </para>
271− <para>
272− If compatibility is a concern (e.g. with drivers converted over
273− to the new interfaces from the old ones), care must be taken to
274− prevent device initialization and control that is incompatible with
275− currently active userspace drivers. For instance, if user
276− level mode setting drivers are in use, it would be problematic
277− to perform output discovery &amp; configuration at load time.
278− Likewise, if user-level drivers unaware of memory management are
279− in use, memory management and command buffer setup may need to
280− be omitted. These requirements are driver-specific, and care
281− needs to be taken to keep both old and new applications and
282− libraries working. The i915 driver supports the "modeset"
283− module parameter to control whether advanced features are
284− enabled at load time or in legacy fashion.
122+ <para>
123+ The <structname>drm_driver</structname> structure contains static
124+ information that describes the driver and features it supports, and
125+ pointers to methods that the DRM core will call to implement the DRM API.
126+ We will first go through the <structname>drm_driver</structname> static
127+ information fields, and will then describe individual operations in
128+ details as they get used in later sections.
285129 </para>
286−
287130 <sect2>
288− <title>Driver private &amp; performance counters</title>
289− <para>
290− The driver private hangs off the main drm_device structure and
291− can be used for tracking various device-specific bits of
292− information, like register offsets, command buffer status,
293− register state for suspend/resume, etc. At load time, a
294− driver may simply allocate one and set drm_device.dev_priv
295− appropriately; it should be freed and drm_device.dev_priv set
296− to NULL when the driver is unloaded.
297− </para>
131+ <title>Driver Information</title>
132+ <sect3>
133+ <title>Driver Features</title>
134+ <para>
135+ Drivers inform the DRM core about their requirements and supported
136+ features by setting appropriate flags in the
137+ <structfield>driver_features</structfield> field. Since those flags
138+ influence the DRM core behaviour since registration time, most of them
139+ must be set to registering the <structname>drm_driver</structname>
140+ instance.
141+ </para>
142+ <synopsis>u32 driver_features;</synopsis>
143+ <variablelist>
144+ <title>Driver Feature Flags</title>
145+ <varlistentry>
146+ <term>DRIVER_USE_AGP</term>
147+ <listitem><para>
148+ Driver uses AGP interface, the DRM core will manage AGP resources.
149+ </para></listitem>
150+ </varlistentry>
151+ <varlistentry>
152+ <term>DRIVER_REQUIRE_AGP</term>
153+ <listitem><para>
154+ Driver needs AGP interface to function. AGP initialization failure
155+ will become a fatal error.
156+ </para></listitem>
157+ </varlistentry>
158+ <varlistentry>
159+ <term>DRIVER_USE_MTRR</term>
160+ <listitem><para>
161+ Driver uses MTRR interface for mapping memory, the DRM core will
162+ manage MTRR resources. Deprecated.
163+ </para></listitem>
164+ </varlistentry>
165+ <varlistentry>
166+ <term>DRIVER_PCI_DMA</term>
167+ <listitem><para>
168+ Driver is capable of PCI DMA, mapping of PCI DMA buffers to
169+ userspace will be enabled. Deprecated.
170+ </para></listitem>
171+ </varlistentry>
172+ <varlistentry>
173+ <term>DRIVER_SG</term>
174+ <listitem><para>
175+ Driver can perform scatter/gather DMA, allocation and mapping of
176+ scatter/gather buffers will be enabled. Deprecated.
177+ </para></listitem>
178+ </varlistentry>
179+ <varlistentry>
180+ <term>DRIVER_HAVE_DMA</term>
181+ <listitem><para>
182+ Driver supports DMA, the userspace DMA API will be supported.
183+ Deprecated.
184+ </para></listitem>
185+ </varlistentry>
186+ <varlistentry>
187+ <term>DRIVER_HAVE_IRQ</term><term>DRIVER_IRQ_SHARED</term>
188+ <listitem><para>
189+ DRIVER_HAVE_IRQ indicates whether the driver has an IRQ handler. The
190+ DRM core will automatically register an interrupt handler when the
191+ flag is set. DRIVER_IRQ_SHARED indicates whether the device &amp;
192+ handler support shared IRQs (note that this is required of PCI
193+ drivers).
194+ </para></listitem>
195+ </varlistentry>
196+ <varlistentry>
197+ <term>DRIVER_IRQ_VBL</term>
198+ <listitem><para>Unused. Deprecated.</para></listitem>
199+ </varlistentry>
200+ <varlistentry>
201+ <term>DRIVER_DMA_QUEUE</term>
202+ <listitem><para>
203+ Should be set if the driver queues DMA requests and completes them
204+ asynchronously. Deprecated.
205+ </para></listitem>
206+ </varlistentry>
207+ <varlistentry>
208+ <term>DRIVER_FB_DMA</term>
209+ <listitem><para>
210+ Driver supports DMA to/from the framebuffer, mapping of frambuffer
211+ DMA buffers to userspace will be supported. Deprecated.
212+ </para></listitem>
213+ </varlistentry>
214+ <varlistentry>
215+ <term>DRIVER_IRQ_VBL2</term>
216+ <listitem><para>Unused. Deprecated.</para></listitem>
217+ </varlistentry>
218+ <varlistentry>
219+ <term>DRIVER_GEM</term>
220+ <listitem><para>
221+ Driver use the GEM memory manager.
222+ </para></listitem>
223+ </varlistentry>
224+ <varlistentry>
225+ <term>DRIVER_MODESET</term>
226+ <listitem><para>
227+ Driver supports mode setting interfaces (KMS).
228+ </para></listitem>
229+ </varlistentry>
230+ <varlistentry>
231+ <term>DRIVER_PRIME</term>
232+ <listitem><para>
233+ Driver implements DRM PRIME buffer sharing.
234+ </para></listitem>
235+ </varlistentry>
236+ </variablelist>
237+ </sect3>
238+ <sect3>
239+ <title>Major, Minor and Patchlevel</title>
240+ <synopsis>int major;
241+int minor;
242+int patchlevel;</synopsis>
243+ <para>
244+ The DRM core identifies driver versions by a major, minor and patch
245+ level triplet. The information is printed to the kernel log at
246+ initialization time and passed to userspace through the
247+ DRM_IOCTL_VERSION ioctl.
248+ </para>
249+ <para>
250+ The major and minor numbers are also used to verify the requested driver
251+ API version passed to DRM_IOCTL_SET_VERSION. When the driver API changes
252+ between minor versions, applications can call DRM_IOCTL_SET_VERSION to
253+ select a specific version of the API. If the requested major isn't equal
254+ to the driver major, or the requested minor is larger than the driver
255+ minor, the DRM_IOCTL_SET_VERSION call will return an error. Otherwise
256+ the driver's set_version() method will be called with the requested
257+ version.
258+ </para>
259+ </sect3>
260+ <sect3>
261+ <title>Name, Description and Date</title>
262+ <synopsis>char *name;
263+char *desc;
264+char *date;</synopsis>
265+ <para>
266+ The driver name is printed to the kernel log at initialization time,
267+ used for IRQ registration and passed to userspace through
268+ DRM_IOCTL_VERSION.
269+ </para>
270+ <para>
271+ The driver description is a purely informative string passed to
272+ userspace through the DRM_IOCTL_VERSION ioctl and otherwise unused by
273+ the kernel.
274+ </para>
275+ <para>
276+ The driver date, formatted as YYYYMMDD, is meant to identify the date of
277+ the latest modification to the driver. However, as most drivers fail to
278+ update it, its value is mostly useless. The DRM core prints it to the
279+ kernel log at initialization time and passes it to userspace through the
280+ DRM_IOCTL_VERSION ioctl.
281+ </para>
282+ </sect3>
283+ </sect2>
284+ <sect2>
285+ <title>Driver Load</title>
298286 <para>
299− The DRM supports several counters which may be used for rough
300− performance characterization. Note that the DRM stat counter
301− system is not often used by applications, and supporting
302− additional counters is completely optional.
287+ The <methodname>load</methodname> method is the driver and device
288+ initialization entry point. The method is responsible for allocating and
289+ initializing driver private data, specifying supported performance
290+ counters, performing resource allocation and mapping (e.g. acquiring
291+ clocks, mapping registers or allocating command buffers), initializing
292+ the memory manager (<xref linkend="drm-memory-management"/>), installing
293+ the IRQ handler (<xref linkend="drm-irq-registration"/>), setting up
294+ vertical blanking handling (<xref linkend="drm-vertical-blank"/>), mode
295+ setting (<xref linkend="drm-mode-setting"/>) and initial output
296+ configuration (<xref linkend="drm-kms-init"/>).
303297 </para>
298+ <note><para>
299+ If compatibility is a concern (e.g. with drivers converted over from
300+ User Mode Setting to Kernel Mode Setting), care must be taken to prevent
301+ device initialization and control that is incompatible with currently
302+ active userspace drivers. For instance, if user level mode setting
303+ drivers are in use, it would be problematic to perform output discovery
304+ &amp; configuration at load time. Likewise, if user-level drivers
305+ unaware of memory management are in use, memory management and command
306+ buffer setup may need to be omitted. These requirements are
307+ driver-specific, and care needs to be taken to keep both old and new
308+ applications and libraries working.
309+ </para></note>
310+ <synopsis>int (*load) (struct drm_device *, unsigned long flags);</synopsis>
304311 <para>
305− These interfaces are deprecated and should not be used. If performance
306− monitoring is desired, the developer should investigate and
307− potentially enhance the kernel perf and tracing infrastructure to export
308− GPU related performance information for consumption by performance
309− monitoring tools and applications.
312+ The method takes two arguments, a pointer to the newly created
313+ <structname>drm_device</structname> and flags. The flags are used to
314+ pass the <structfield>driver_data</structfield> field of the device id
315+ corresponding to the device passed to <function>drm_*_init()</function>.
316+ Only PCI devices currently use this, USB and platform DRM drivers have
317+ their <methodname>load</methodname> method called with flags to 0.
310318 </para>
319+ <sect3>
320+ <title>Driver Private &amp; Performance Counters</title>
321+ <para>
322+ The driver private hangs off the main
323+ <structname>drm_device</structname> structure and can be used for
324+ tracking various device-specific bits of information, like register
325+ offsets, command buffer status, register state for suspend/resume, etc.
326+ At load time, a driver may simply allocate one and set
327+ <structname>drm_device</structname>.<structfield>dev_priv</structfield>
328+ appropriately; it should be freed and
329+ <structname>drm_device</structname>.<structfield>dev_priv</structfield>
330+ set to NULL when the driver is unloaded.
331+ </para>
332+ <para>
333+ DRM supports several counters which were used for rough performance
334+ characterization. This stat counter system is deprecated and should not
335+ be used. If performance monitoring is desired, the developer should
336+ investigate and potentially enhance the kernel perf and tracing
337+ infrastructure to export GPU related performance information for
338+ consumption by performance monitoring tools and applications.
339+ </para>
340+ </sect3>
341+ <sect3 id="drm-irq-registration">
342+ <title>IRQ Registration</title>
343+ <para>
344+ The DRM core tries to facilitate IRQ handler registration and
345+ unregistration by providing <function>drm_irq_install</function> and
346+ <function>drm_irq_uninstall</function> functions. Those functions only
347+ support a single interrupt per device.
348+ </para>
349+ <!--!Fdrivers/char/drm/drm_irq.c drm_irq_install-->
350+ <para>
351+ Both functions get the device IRQ by calling
352+ <function>drm_dev_to_irq</function>. This inline function will call a
353+ bus-specific operation to retrieve the IRQ number. For platform devices,
354+ <function>platform_get_irq</function>(..., 0) is used to retrieve the
355+ IRQ number.
356+ </para>
357+ <para>
358+ <function>drm_irq_install</function> starts by calling the
359+ <methodname>irq_preinstall</methodname> driver operation. The operation
360+ is optional and must make sure that the interrupt will not get fired by
361+ clearing all pending interrupt flags or disabling the interrupt.
362+ </para>
363+ <para>
364+ The IRQ will then be requested by a call to
365+ <function>request_irq</function>. If the DRIVER_IRQ_SHARED driver
366+ feature flag is set, a shared (IRQF_SHARED) IRQ handler will be
367+ requested.
368+ </para>
369+ <para>
370+ The IRQ handler function must be provided as the mandatory irq_handler
371+ driver operation. It will get passed directly to
372+ <function>request_irq</function> and thus has the same prototype as all
373+ IRQ handlers. It will get called with a pointer to the DRM device as the
374+ second argument.
375+ </para>
376+ <para>
377+ Finally the function calls the optional
378+ <methodname>irq_postinstall</methodname> driver operation. The operation
379+ usually enables interrupts (excluding the vblank interrupt, which is
380+ enabled separately), but drivers may choose to enable/disable interrupts
381+ at a different time.
382+ </para>
383+ <para>
384+ <function>drm_irq_uninstall</function> is similarly used to uninstall an
385+ IRQ handler. It starts by waking up all processes waiting on a vblank
386+ interrupt to make sure they don't hang, and then calls the optional
387+ <methodname>irq_uninstall</methodname> driver operation. The operation
388+ must disable all hardware interrupts. Finally the function frees the IRQ
389+ by calling <function>free_irq</function>.
390+ </para>
391+ </sect3>
392+ <sect3>
393+ <title>Memory Manager Initialization</title>
394+ <para>
395+ Every DRM driver requires a memory manager which must be initialized at
396+ load time. DRM currently contains two memory managers, the Translation
397+ Table Manager (TTM) and the Graphics Execution Manager (GEM).
398+ This document describes the use of the GEM memory manager only. See
399+ <xref linkend="drm-memory-management"/> for details.
400+ </para>
401+ </sect3>
402+ <sect3>
403+ <title>Miscellaneous Device Configuration</title>
404+ <para>
405+ Another task that may be necessary for PCI devices during configuration
406+ is mapping the video BIOS. On many devices, the VBIOS describes device
407+ configuration, LCD panel timings (if any), and contains flags indicating
408+ device state. Mapping the BIOS can be done using the pci_map_rom() call,
409+ a convenience function that takes care of mapping the actual ROM,
410+ whether it has been shadowed into memory (typically at address 0xc0000)
411+ or exists on the PCI device in the ROM BAR. Note that after the ROM has
412+ been mapped and any necessary information has been extracted, it should
413+ be unmapped; on many devices, the ROM address decoder is shared with
414+ other BARs, so leaving it mapped could cause undesired behaviour like
415+ hangs or memory corruption.
416+ <!--!Fdrivers/pci/rom.c pci_map_rom-->
417+ </para>
418+ </sect3>
311419 </sect2>
420+ </sect1>
312421
313− <sect2>
314− <title>Configuring the device</title>
315− <para>
316− Obviously, device configuration is device-specific.
317− However, there are several common operations: finding a
318− device's PCI resources, mapping them, and potentially setting
319− up an IRQ handler.
320− </para>
321− <para>
322− Finding &amp; mapping resources is fairly straightforward. The
323− DRM wrapper functions, drm_get_resource_start() and
324− drm_get_resource_len(), may be used to find BARs on the given
325− drm_device struct. Once those values have been retrieved, the
326− driver load function can call drm_addmap() to create a new
327− mapping for the BAR in question. Note that you probably want a
328− drm_local_map_t in your driver private structure to track any
329− mappings you create.
330−<!-- !Fdrivers/gpu/drm/drm_bufs.c drm_get_resource_* -->
331−<!-- !Finclude/drm/drmP.h drm_local_map_t -->
332− </para>
333− <para>
334− if compatibility with other operating systems isn't a concern
335− (DRM drivers can run under various BSD variants and OpenSolaris),
336− native Linux calls may be used for the above, e.g. pci_resource_*
337− and iomap*/iounmap. See the Linux device driver book for more
338− info.
339− </para>
340− <para>
341− Once you have a register map, you may use the DRM_READn() and
342− DRM_WRITEn() macros to access the registers on your device, or
343− use driver-specific versions to offset into your MMIO space
344− relative to a driver-specific base pointer (see I915_READ for
345− an example).
346− </para>
347− <para>
348− If your device supports interrupt generation, you may want to
349− set up an interrupt handler when the driver is loaded. This
350− is done using the drm_irq_install() function. If your device
351− supports vertical blank interrupts, it should call
352− drm_vblank_init() to initialize the core vblank handling code before
353− enabling interrupts on your device. This ensures the vblank related
354− structures are allocated and allows the core to handle vblank events.
355− </para>
356−<!--!Fdrivers/char/drm/drm_irq.c drm_irq_install-->
357− <para>
358− Once your interrupt handler is registered (it uses your
359− drm_driver.irq_handler as the actual interrupt handling
360− function), you can safely enable interrupts on your device,
361− assuming any other state your interrupt handler uses is also
362− initialized.
363− </para>
364− <para>
365− Another task that may be necessary during configuration is
366− mapping the video BIOS. On many devices, the VBIOS describes
367− device configuration, LCD panel timings (if any), and contains
368− flags indicating device state. Mapping the BIOS can be done
369− using the pci_map_rom() call, a convenience function that
370− takes care of mapping the actual ROM, whether it has been
371− shadowed into memory (typically at address 0xc0000) or exists
372− on the PCI device in the ROM BAR. Note that after the ROM
373− has been mapped and any necessary information has been extracted,
374− it should be unmapped; on many devices, the ROM address decoder is
375− shared with other BARs, so leaving it mapped could cause
376− undesired behavior like hangs or memory corruption.
377−<!--!Fdrivers/pci/rom.c pci_map_rom-->
378− </para>
379− </sect2>
422+ <!-- Internals: memory management -->
380423
424+ <sect1 id="drm-memory-management">
425+ <title>Memory management</title>
426+ <para>
427+ Modern Linux systems require large amount of graphics memory to store
428+ frame buffers, textures, vertices and other graphics-related data. Given
429+ the very dynamic nature of many of that data, managing graphics memory
430+ efficiently is thus crucial for the graphics stack and plays a central
431+ role in the DRM infrastructure.
432+ </para>
433+ <para>
434+ The DRM core includes two memory managers, namely Translation Table Maps
435+ (TTM) and Graphics Execution Manager (GEM). TTM was the first DRM memory
436+ manager to be developed and tried to be a one-size-fits-them all
437+ solution. It provides a single userspace API to accomodate the need of
438+ all hardware, supporting both Unified Memory Architecture (UMA) devices
439+ and devices with dedicated video RAM (i.e. most discrete video cards).
440+ This resulted in a large, complex piece of code that turned out to be
441+ hard to use for driver development.
442+ </para>
443+ <para>
444+ GEM started as an Intel-sponsored project in reaction to TTM's
445+ complexity. Its design philosophy is completely different: instead of
446+ providing a solution to every graphics memory-related problems, GEM
447+ identified common code between drivers and created a support library to
448+ share it. GEM has simpler initialization and execution requirements than
449+ TTM, but has no video RAM management capabitilies and is thus limited to
450+ UMA devices.
451+ </para>
381452 <sect2>
382− <title>Memory manager initialization</title>
383− <para>
384− In order to allocate command buffers, cursor memory, scanout
385− buffers, etc., as well as support the latest features provided
386− by packages like Mesa and the X.Org X server, your driver
387− should support a memory manager.
388− </para>
453+ <title>The Translation Table Manager (TTM)</title>
389454 <para>
390− If your driver supports memory management (it should!), you
391− need to set that up at load time as well. How you initialize
392− it depends on which memory manager you're using: TTM or GEM.
455+ TTM design background and information belongs here.
393456 </para>
394457 <sect3>
395458 <title>TTM initialization</title>
396− <para>
397− TTM (for Translation Table Manager) manages video memory and
398− aperture space for graphics devices. TTM supports both UMA devices
399− and devices with dedicated video RAM (VRAM), i.e. most discrete
400− graphics devices. If your device has dedicated RAM, supporting
401− TTM is desirable. TTM also integrates tightly with your
402− driver-specific buffer execution function. See the radeon
403− driver for examples.
404− </para>
405− <para>
406− The core TTM structure is the ttm_bo_driver struct. It contains
407− several fields with function pointers for initializing the TTM,
408− allocating and freeing memory, waiting for command completion
409− and fence synchronization, and memory migration. See the
410− radeon_ttm.c file for an example of usage.
459+ <warning><para>This section is outdated.</para></warning>
460+ <para>
461+ Drivers wishing to support TTM must fill out a drm_bo_driver
462+ structure. The structure contains several fields with function
463+ pointers for initializing the TTM, allocating and freeing memory,
464+ waiting for command completion and fence synchronization, and memory
465+ migration. See the radeon_ttm.c file for an example of usage.
411466 </para>
412467 <para>
413468 The ttm_global_reference structure is made up of several fields:
@@ -445,82 +500,1081 @@ · 31 unmodified lines
445500 count for the TTM, which will call your initialization function.
446501 </para>
447502 </sect3>
503+ </sect2>
504+ <sect2 id="drm-gem">
505+ <title>The Graphics Execution Manager (GEM)</title>
506+ <para>
507+ The GEM design approach has resulted in a memory manager that doesn't
508+ provide full coverage of all (or even all common) use cases in its
509+ userspace or kernel API. GEM exposes a set of standard memory-related
510+ operations to userspace and a set of helper functions to drivers, and let
511+ drivers implement hardware-specific operations with their own private API.
512+ </para>
513+ <para>
514+ The GEM userspace API is described in the
515+ <ulink url="http://lwn.net/Articles/283798/"><citetitle>GEM - the Graphics
516+ Execution Manager</citetitle></ulink> article on LWN. While slightly
517+ outdated, the document provides a good overview of the GEM API principles.
518+ Buffer allocation and read and write operations, described as part of the
519+ common GEM API, are currently implemented using driver-specific ioctls.
520+ </para>
521+ <para>
522+ GEM is data-agnostic. It manages abstract buffer objects without knowing
523+ what individual buffers contain. APIs that require knowledge of buffer
524+ contents or purpose, such as buffer allocation or synchronization
525+ primitives, are thus outside of the scope of GEM and must be implemented
526+ using driver-specific ioctls.
527+ </para>
528+ <para>
529+ On a fundamental level, GEM involves several operations:
530+ <itemizedlist>
531+ <listitem>Memory allocation and freeing</listitem>
532+ <listitem>Command execution</listitem>
533+ <listitem>Aperture management at command execution time</listitem>
534+ </itemizedlist>
535+ Buffer object allocation is relatively straightforward and largely
536+ provided by Linux's shmem layer, which provides memory to back each
537+ object.
538+ </para>
539+ <para>
540+ Device-specific operations, such as command execution, pinning, buffer
541+ read &amp; write, mapping, and domain ownership transfers are left to
542+ driver-specific ioctls.
543+ </para>
544+ <sect3>
545+ <title>GEM Initialization</title>
546+ <para>
547+ Drivers that use GEM must set the DRIVER_GEM bit in the struct
548+ <structname>drm_driver</structname>
549+ <structfield>driver_features</structfield> field. The DRM core will
550+ then automatically initialize the GEM core before calling the
551+ <methodname>load</methodname> operation. Behind the scene, this will
552+ create a DRM Memory Manager object which provides an address space
553+ pool for object allocation.
554+ </para>
555+ <para>
556+ In a KMS configuration, drivers need to allocate and initialize a
557+ command ring buffer following core GEM initialization if required by
558+ the hardware. UMA devices usually have what is called a "stolen"
559+ memory region, which provides space for the initial framebuffer and
560+ large, contiguous memory regions required by the device. This space is
561+ typically not managed by GEM, and must be initialized separately into
562+ its own DRM MM object.
563+ </para>
564+ </sect3>
448565 <sect3>
449− <title>GEM initialization</title>
450− <para>
451− GEM is an alternative to TTM, designed specifically for UMA
452− devices. It has simpler initialization and execution requirements
453− than TTM, but has no VRAM management capability. Core GEM
454− is initialized by calling drm_mm_init() to create
455− a GTT DRM MM object, which provides an address space pool for
456− object allocation. In a KMS configuration, the driver
457− needs to allocate and initialize a command ring buffer following
458− core GEM initialization. A UMA device usually has what is called a
459− "stolen" memory region, which provides space for the initial
460− framebuffer and large, contiguous memory regions required by the
461− device. This space is not typically managed by GEM, and it must
462− be initialized separately into its own DRM MM object.
463− </para>
464− <para>
465− Initialization is driver-specific. In the case of Intel
466− integrated graphics chips like 965GM, GEM initialization can
467− be done by calling the internal GEM init function,
468− i915_gem_do_init(). Since the 965GM is a UMA device
469− (i.e. it doesn't have dedicated VRAM), GEM manages
470− making regular RAM available for GPU operations. Memory set
471− aside by the BIOS (called "stolen" memory by the i915
472− driver) is managed by the DRM memrange allocator; the
473− rest of the aperture is managed by GEM.
474− <programlisting>
475− /* Basic memrange allocator for stolen space (aka vram) */
476− drm_memrange_init(&amp;dev_priv->vram, 0, prealloc_size);
477− /* Let GEM Manage from end of prealloc space to end of aperture */
478− i915_gem_do_init(dev, prealloc_size, agp_size);
479− </programlisting>
480−<!--!Edrivers/char/drm/drm_memrange.c-->
481− </para>
482− <para>
483− Once the memory manager has been set up, we may allocate the
484− command buffer. In the i915 case, this is also done with a
485− GEM function, i915_gem_init_ringbuffer().
486− </para>
566+ <title>GEM Objects Creation</title>
567+ <para>
568+ GEM splits creation of GEM objects and allocation of the memory that
569+ backs them in two distinct operations.
570+ </para>
571+ <para>
572+ GEM objects are represented by an instance of struct
573+ <structname>drm_gem_object</structname>. Drivers usually need to extend
574+ GEM objects with private information and thus create a driver-specific
575+ GEM object structure type that embeds an instance of struct
576+ <structname>drm_gem_object</structname>.
577+ </para>
578+ <para>
579+ To create a GEM object, a driver allocates memory for an instance of its
580+ specific GEM object type and initializes the embedded struct
581+ <structname>drm_gem_object</structname> with a call to
582+ <function>drm_gem_object_init</function>. The function takes a pointer to
583+ the DRM device, a pointer to the GEM object and the buffer object size
584+ in bytes.
585+ </para>
586+ <para>
587+ GEM uses shmem to allocate anonymous pageable memory.
588+ <function>drm_gem_object_init</function> will create an shmfs file of
589+ the requested size and store it into the struct
590+ <structname>drm_gem_object</structname> <structfield>filp</structfield>
591+ field. The memory is used as either main storage for the object when the
592+ graphics hardware uses system memory directly or as a backing store
593+ otherwise.
594+ </para>
595+ <para>
596+ Drivers are responsible for the actual physical pages allocation by
597+ calling <function>shmem_read_mapping_page_gfp</function> for each page.
598+ Note that they can decide to allocate pages when initializing the GEM
599+ object, or to delay allocation until the memory is needed (for instance
600+ when a page fault occurs as a result of a userspace memory access or
601+ when the driver needs to start a DMA transfer involving the memory).
602+ </para>
603+ <para>
604+ Anonymous pageable memory allocation is not always desired, for instance
605+ when the hardware requires physically contiguous system memory as is
606+ often the case in embedded devices. Drivers can create GEM objects with
607+ no shmfs backing (called private GEM objects) by initializing them with
608+ a call to <function>drm_gem_private_object_init</function> instead of
609+ <function>drm_gem_object_init</function>. Storage for private GEM
610+ objects must be managed by drivers.
611+ </para>
612+ <para>
613+ Drivers that do not need to extend GEM objects with private information
614+ can call the <function>drm_gem_object_alloc</function> function to
615+ allocate and initialize a struct <structname>drm_gem_object</structname>
616+ instance. The GEM core will call the optional driver
617+ <methodname>gem_init_object</methodname> operation after initializing
618+ the GEM object with <function>drm_gem_object_init</function>.
619+ <synopsis>int (*gem_init_object) (struct drm_gem_object *obj);</synopsis>
620+ </para>
621+ <para>
622+ No alloc-and-init function exists for private GEM objects.
623+ </para>
624+ </sect3>
625+ <sect3>
626+ <title>GEM Objects Lifetime</title>
627+ <para>
628+ All GEM objects are reference-counted by the GEM core. References can be
629+ acquired and release by <function>calling drm_gem_object_reference</function>
630+ and <function>drm_gem_object_unreference</function> respectively. The
631+ caller must hold the <structname>drm_device</structname>
632+ <structfield>struct_mutex</structfield> lock. As a convenience, GEM
633+ provides the <function>drm_gem_object_reference_unlocked</function> and
634+ <function>drm_gem_object_unreference_unlocked</function> functions that
635+ can be called without holding the lock.
636+ </para>
637+ <para>
638+ When the last reference to a GEM object is released the GEM core calls
639+ the <structname>drm_driver</structname>
640+ <methodname>gem_free_object</methodname> operation. That operation is
641+ mandatory for GEM-enabled drivers and must free the GEM object and all
642+ associated resources.
643+ </para>
644+ <para>
645+ <synopsis>void (*gem_free_object) (struct drm_gem_object *obj);</synopsis>
646+ Drivers are responsible for freeing all GEM object resources, including
647+ the resources created by the GEM core. If an mmap offset has been
648+ created for the object (in which case
649+ <structname>drm_gem_object</structname>::<structfield>map_list</structfield>::<structfield>map</structfield>
650+ is not NULL) it must be freed by a call to
651+ <function>drm_gem_free_mmap_offset</function>. The shmfs backing store
652+ must be released by calling <function>drm_gem_object_release</function>
653+ (that function can safely be called if no shmfs backing store has been
654+ created).
655+ </para>
656+ </sect3>
657+ <sect3>
658+ <title>GEM Objects Naming</title>
659+ <para>
660+ Communication between userspace and the kernel refers to GEM objects
661+ using local handles, global names or, more recently, file descriptors.
662+ All of those are 32-bit integer values; the usual Linux kernel limits
663+ apply to the file descriptors.
664+ </para>
665+ <para>
666+ GEM handles are local to a DRM file. Applications get a handle to a GEM
667+ object through a driver-specific ioctl, and can use that handle to refer
668+ to the GEM object in other standard or driver-specific ioctls. Closing a
669+ DRM file handle frees all its GEM handles and dereferences the
670+ associated GEM objects.
671+ </para>
672+ <para>
673+ To create a handle for a GEM object drivers call
674+ <function>drm_gem_handle_create</function>. The function takes a pointer
675+ to the DRM file and the GEM object and returns a locally unique handle.
676+ When the handle is no longer needed drivers delete it with a call to
677+ <function>drm_gem_handle_delete</function>. Finally the GEM object
678+ associated with a handle can be retrieved by a call to
679+ <function>drm_gem_object_lookup</function>.
680+ </para>
681+ <para>
682+ Handles don't take ownership of GEM objects, they only take a reference
683+ to the object that will be dropped when the handle is destroyed. To
684+ avoid leaking GEM objects, drivers must make sure they drop the
685+ reference(s) they own (such as the initial reference taken at object
686+ creation time) as appropriate, without any special consideration for the
687+ handle. For example, in the particular case of combined GEM object and
688+ handle creation in the implementation of the
689+ <methodname>dumb_create</methodname> operation, drivers must drop the
690+ initial reference to the GEM object before returning the handle.
691+ </para>
692+ <para>
693+ GEM names are similar in purpose to handles but are not local to DRM
694+ files. They can be passed between processes to reference a GEM object
695+ globally. Names can't be used directly to refer to objects in the DRM
696+ API, applications must convert handles to names and names to handles
697+ using the DRM_IOCTL_GEM_FLINK and DRM_IOCTL_GEM_OPEN ioctls
698+ respectively. The conversion is handled by the DRM core without any
699+ driver-specific support.
700+ </para>
701+ <para>
702+ Similar to global names, GEM file descriptors are also used to share GEM
703+ objects across processes. They offer additional security: as file
704+ descriptors must be explictly sent over UNIX domain sockets to be shared
705+ between applications, they can't be guessed like the globally unique GEM
706+ names.
707+ </para>
708+ <para>
709+ Drivers that support GEM file descriptors, also known as the DRM PRIME
710+ API, must set the DRIVER_PRIME bit in the struct
711+ <structname>drm_driver</structname>
712+ <structfield>driver_features</structfield> field, and implement the
713+ <methodname>prime_handle_to_fd</methodname> and
714+ <methodname>prime_fd_to_handle</methodname> operations.
715+ </para>
716+ <para>
717+ <synopsis>int (*prime_handle_to_fd)(struct drm_device *dev,
718+ struct drm_file *file_priv, uint32_t handle,
719+ uint32_t flags, int *prime_fd);
720+ int (*prime_fd_to_handle)(struct drm_device *dev,
721+ struct drm_file *file_priv, int prime_fd,
722+ uint32_t *handle);</synopsis>
723+ Those two operations convert a handle to a PRIME file descriptor and
724+ vice versa. Drivers must use the kernel dma-buf buffer sharing framework
725+ to manage the PRIME file descriptors.
726+ </para>
727+ <para>
728+ While non-GEM drivers must implement the operations themselves, GEM
729+ drivers must use the <function>drm_gem_prime_handle_to_fd</function>
730+ and <function>drm_gem_prime_fd_to_handle</function> helper functions.
731+ Those helpers rely on the driver
732+ <methodname>gem_prime_export</methodname> and
733+ <methodname>gem_prime_import</methodname> operations to create a dma-buf
734+ instance from a GEM object (dma-buf exporter role) and to create a GEM
735+ object from a dma-buf instance (dma-buf importer role).
736+ </para>
737+ <para>
738+ <synopsis>struct dma_buf * (*gem_prime_export)(struct drm_device *dev,
739+ struct drm_gem_object *obj,
740+ int flags);
741+ struct drm_gem_object * (*gem_prime_import)(struct drm_device *dev,
742+ struct dma_buf *dma_buf);</synopsis>
743+ These two operations are mandatory for GEM drivers that support DRM
744+ PRIME.
745+ </para>
746+ </sect3>
747+ <sect3 id="drm-gem-objects-mapping">
748+ <title>GEM Objects Mapping</title>
749+ <para>
750+ Because mapping operations are fairly heavyweight GEM favours
751+ read/write-like access to buffers, implemented through driver-specific
752+ ioctls, over mapping buffers to userspace. However, when random access
753+ to the buffer is needed (to perform software rendering for instance),
754+ direct access to the object can be more efficient.
755+ </para>
756+ <para>
757+ The mmap system call can't be used directly to map GEM objects, as they
758+ don't have their own file handle. Two alternative methods currently
759+ co-exist to map GEM objects to userspace. The first method uses a
760+ driver-specific ioctl to perform the mapping operation, calling
761+ <function>do_mmap</function> under the hood. This is often considered
762+ dubious, seems to be discouraged for new GEM-enabled drivers, and will
763+ thus not be described here.
764+ </para>
765+ <para>
766+ The second method uses the mmap system call on the DRM file handle.
767+ <synopsis>void *mmap(void *addr, size_t length, int prot, int flags, int fd,
768+ off_t offset);</synopsis>
769+ DRM identifies the GEM object to be mapped by a fake offset passed
770+ through the mmap offset argument. Prior to being mapped, a GEM object
771+ must thus be associated with a fake offset. To do so, drivers must call
772+ <function>drm_gem_create_mmap_offset</function> on the object. The
773+ function allocates a fake offset range from a pool and stores the
774+ offset divided by PAGE_SIZE in
775+ <literal>obj-&gt;map_list.hash.key</literal>. Care must be taken not to
776+ call <function>drm_gem_create_mmap_offset</function> if a fake offset
777+ has already been allocated for the object. This can be tested by
778+ <literal>obj-&gt;map_list.map</literal> being non-NULL.
779+ </para>
780+ <para>
781+ Once allocated, the fake offset value
782+ (<literal>obj-&gt;map_list.hash.key &lt;&lt; PAGE_SHIFT</literal>)
783+ must be passed to the application in a driver-specific way and can then
784+ be used as the mmap offset argument.
785+ </para>
786+ <para>
787+ The GEM core provides a helper method <function>drm_gem_mmap</function>
788+ to handle object mapping. The method can be set directly as the mmap
789+ file operation handler. It will look up the GEM object based on the
790+ offset value and set the VMA operations to the
791+ <structname>drm_driver</structname> <structfield>gem_vm_ops</structfield>
792+ field. Note that <function>drm_gem_mmap</function> doesn't map memory to
793+ userspace, but relies on the driver-provided fault handler to map pages
794+ individually.
795+ </para>
796+ <para>
797+ To use <function>drm_gem_mmap</function>, drivers must fill the struct
798+ <structname>drm_driver</structname> <structfield>gem_vm_ops</structfield>
799+ field with a pointer to VM operations.
800+ </para>
801+ <para>
802+ <synopsis>struct vm_operations_struct *gem_vm_ops
803+
804+ struct vm_operations_struct {
805+ void (*open)(struct vm_area_struct * area);
806+ void (*close)(struct vm_area_struct * area);
807+ int (*fault)(struct vm_area_struct *vma, struct vm_fault *vmf);
808+ };</synopsis>
809+ </para>
810+ <para>
811+ The <methodname>open</methodname> and <methodname>close</methodname>
812+ operations must update the GEM object reference count. Drivers can use
813+ the <function>drm_gem_vm_open</function> and
814+ <function>drm_gem_vm_close</function> helper functions directly as open
815+ and close handlers.
816+ </para>
817+ <para>
818+ The fault operation handler is responsible for mapping individual pages
819+ to userspace when a page fault occurs. Depending on the memory
820+ allocation scheme, drivers can allocate pages at fault time, or can
821+ decide to allocate memory for the GEM object at the time the object is
822+ created.
823+ </para>
824+ <para>
825+ Drivers that want to map the GEM object upfront instead of handling page
826+ faults can implement their own mmap file operation handler.
827+ </para>
828+ </sect3>
829+ <sect3>
830+ <title>Dumb GEM Objects</title>
831+ <para>
832+ The GEM API doesn't standardize GEM objects creation and leaves it to
833+ driver-specific ioctls. While not an issue for full-fledged graphics
834+ stacks that include device-specific userspace components (in libdrm for
835+ instance), this limit makes DRM-based early boot graphics unnecessarily
836+ complex.
837+ </para>
838+ <para>
839+ Dumb GEM objects partly alleviate the problem by providing a standard
840+ API to create dumb buffers suitable for scanout, which can then be used
841+ to create KMS frame buffers.
842+ </para>
843+ <para>
844+ To support dumb GEM objects drivers must implement the
845+ <methodname>dumb_create</methodname>,
846+ <methodname>dumb_destroy</methodname> and
847+ <methodname>dumb_map_offset</methodname> operations.
848+ </para>
849+ <itemizedlist>
850+ <listitem>
851+ <synopsis>int (*dumb_create)(struct drm_file *file_priv, struct drm_device *dev,
852+ struct drm_mode_create_dumb *args);</synopsis>
853+ <para>
854+ The <methodname>dumb_create</methodname> operation creates a GEM
855+ object suitable for scanout based on the width, height and depth
856+ from the struct <structname>drm_mode_create_dumb</structname>
857+ argument. It fills the argument's <structfield>handle</structfield>,
858+ <structfield>pitch</structfield> and <structfield>size</structfield>
859+ fields with a handle for the newly created GEM object and its line
860+ pitch and size in bytes.
861+ </para>
862+ </listitem>
863+ <listitem>
864+ <synopsis>int (*dumb_destroy)(struct drm_file *file_priv, struct drm_device *dev,
865+ uint32_t handle);</synopsis>
866+ <para>
867+ The <methodname>dumb_destroy</methodname> operation destroys a dumb
868+ GEM object created by <methodname>dumb_create</methodname>.
869+ </para>
870+ </listitem>
871+ <listitem>
872+ <synopsis>int (*dumb_map_offset)(struct drm_file *file_priv, struct drm_device *dev,
873+ uint32_t handle, uint64_t *offset);</synopsis>
874+ <para>
875+ The <methodname>dumb_map_offset</methodname> operation associates an
876+ mmap fake offset with the GEM object given by the handle and returns
877+ it. Drivers must use the
878+ <function>drm_gem_create_mmap_offset</function> function to
879+ associate the fake offset as described in
880+ <xref linkend="drm-gem-objects-mapping"/>.
881+ </para>
882+ </listitem>
883+ </itemizedlist>
884+ </sect3>
885+ <sect3>
886+ <title>Memory Coherency</title>
887+ <para>
888+ When mapped to the device or used in a command buffer, backing pages
889+ for an object are flushed to memory and marked write combined so as to
890+ be coherent with the GPU. Likewise, if the CPU accesses an object
891+ after the GPU has finished rendering to the object, then the object
892+ must be made coherent with the CPU's view of memory, usually involving
893+ GPU cache flushing of various kinds. This core CPU&lt;-&gt;GPU
894+ coherency management is provided by a device-specific ioctl, which
895+ evaluates an object's current domain and performs any necessary
896+ flushing or synchronization to put the object into the desired
897+ coherency domain (note that the object may be busy, i.e. an active
898+ render target; in that case, setting the domain blocks the client and
899+ waits for rendering to complete before performing any necessary
900+ flushing operations).
901+ </para>
902+ </sect3>
903+ <sect3>
904+ <title>Command Execution</title>
905+ <para>
906+ Perhaps the most important GEM function for GPU devices is providing a
907+ command execution interface to clients. Client programs construct
908+ command buffers containing references to previously allocated memory
909+ objects, and then submit them to GEM. At that point, GEM takes care to
910+ bind all the objects into the GTT, execute the buffer, and provide
911+ necessary synchronization between clients accessing the same buffers.
912+ This often involves evicting some objects from the GTT and re-binding
913+ others (a fairly expensive operation), and providing relocation
914+ support which hides fixed GTT offsets from clients. Clients must take
915+ care not to submit command buffers that reference more objects than
916+ can fit in the GTT; otherwise, GEM will reject them and no rendering
917+ will occur. Similarly, if several objects in the buffer require fence
918+ registers to be allocated for correct rendering (e.g. 2D blits on
919+ pre-965 chips), care must be taken not to require more fence registers
920+ than are available to the client. Such resource management should be
921+ abstracted from the client in libdrm.
922+ </para>
487923 </sect3>
488924 </sect2>
925+ </sect1>
926+
927+ <!-- Internals: mode setting -->
489928
929+ <sect1 id="drm-mode-setting">
930+ <title>Mode Setting</title>
931+ <para>
932+ Drivers must initialize the mode setting core by calling
933+ <function>drm_mode_config_init</function> on the DRM device. The function
934+ initializes the <structname>drm_device</structname>
935+ <structfield>mode_config</structfield> field and never fails. Once done,
936+ mode configuration must be setup by initializing the following fields.
937+ </para>
938+ <itemizedlist>
939+ <listitem>
940+ <synopsis>int min_width, min_height;
941+int max_width, max_height;</synopsis>
942+ <para>
943+ Minimum and maximum width and height of the frame buffers in pixel
944+ units.
945+ </para>
946+ </listitem>
947+ <listitem>
948+ <synopsis>struct drm_mode_config_funcs *funcs;</synopsis>
949+ <para>Mode setting functions.</para>
950+ </listitem>
951+ </itemizedlist>
490952 <sect2>
491− <title>Output configuration</title>
953+ <title>Frame Buffer Creation</title>
954+ <synopsis>struct drm_framebuffer *(*fb_create)(struct drm_device *dev,
955+ struct drm_file *file_priv,
956+ struct drm_mode_fb_cmd2 *mode_cmd);</synopsis>
492957 <para>
493− The final initialization task is output configuration. This involves:
494− <itemizedlist>
495− <listitem>
496− Finding and initializing the CRTCs, encoders, and connectors
497− for the device.
498− </listitem>
499− <listitem>
500− Creating an initial configuration.
501− </listitem>
502− <listitem>
503− Registering a framebuffer console driver.
504− </listitem>
505− </itemizedlist>
958+ Frame buffers are abstract memory objects that provide a source of
959+ pixels to scanout to a CRTC. Applications explicitly request the
960+ creation of frame buffers through the DRM_IOCTL_MODE_ADDFB(2) ioctls and
961+ receive an opaque handle that can be passed to the KMS CRTC control,
962+ plane configuration and page flip functions.
963+ </para>
964+ <para>
965+ Frame buffers rely on the underneath memory manager for low-level memory
966+ operations. When creating a frame buffer applications pass a memory
967+ handle (or a list of memory handles for multi-planar formats) through
968+ the <parameter>drm_mode_fb_cmd2</parameter> argument. This document
969+ assumes that the driver uses GEM, those handles thus reference GEM
970+ objects.
971+ </para>
972+ <para>
973+ Drivers must first validate the requested frame buffer parameters passed
974+ through the mode_cmd argument. In particular this is where invalid
975+ sizes, pixel formats or pitches can be caught.
976+ </para>
977+ <para>
978+ If the parameters are deemed valid, drivers then create, initialize and
979+ return an instance of struct <structname>drm_framebuffer</structname>.
980+ If desired the instance can be embedded in a larger driver-specific
981+ structure. The new instance is initialized with a call to
982+ <function>drm_framebuffer_init</function> which takes a pointer to DRM
983+ frame buffer operations (struct
984+ <structname>drm_framebuffer_funcs</structname>). Frame buffer operations are
985+ <itemizedlist>
986+ <listitem>
987+ <synopsis>int (*create_handle)(struct drm_framebuffer *fb,
988+ struct drm_file *file_priv, unsigned int *handle);</synopsis>
989+ <para>
990+ Create a handle to the frame buffer underlying memory object. If
991+ the frame buffer uses a multi-plane format, the handle will
992+ reference the memory object associated with the first plane.
993+ </para>
994+ <para>
995+ Drivers call <function>drm_gem_handle_create</function> to create
996+ the handle.
997+ </para>
998+ </listitem>
999+ <listitem>
1000+ <synopsis>void (*destroy)(struct drm_framebuffer *framebuffer);</synopsis>
1001+ <para>
1002+ Destroy the frame buffer object and frees all associated
1003+ resources. Drivers must call
1004+ <function>drm_framebuffer_cleanup</function> to free resources
1005+ allocated by the DRM core for the frame buffer object, and must
1006+ make sure to unreference all memory objects associated with the
1007+ frame buffer. Handles created by the
1008+ <methodname>create_handle</methodname> operation are released by
1009+ the DRM core.
1010+ </para>
1011+ </listitem>
1012+ <listitem>
1013+ <synopsis>int (*dirty)(struct drm_framebuffer *framebuffer,
1014+ struct drm_file *file_priv, unsigned flags, unsigned color,
1015+ struct drm_clip_rect *clips, unsigned num_clips);</synopsis>
1016+ <para>
1017+ This optional operation notifies the driver that a region of the
1018+ frame buffer has changed in response to a DRM_IOCTL_MODE_DIRTYFB
1019+ ioctl call.
1020+ </para>
1021+ </listitem>
1022+ </itemizedlist>
1023+ </para>
1024+ <para>
1025+ After initializing the <structname>drm_framebuffer</structname>
1026+ instance drivers must fill its <structfield>width</structfield>,
1027+ <structfield>height</structfield>, <structfield>pitches</structfield>,
1028+ <structfield>offsets</structfield>, <structfield>depth</structfield>,
1029+ <structfield>bits_per_pixel</structfield> and
1030+ <structfield>pixel_format</structfield> fields from the values passed
1031+ through the <parameter>drm_mode_fb_cmd2</parameter> argument. They
1032+ should call the <function>drm_helper_mode_fill_fb_struct</function>
1033+ helper function to do so.
1034+ </para>
1035+ </sect2>
1036+ <sect2>
1037+ <title>Output Polling</title>
1038+ <synopsis>void (*output_poll_changed)(struct drm_device *dev);</synopsis>
1039+ <para>
1040+ This operation notifies the driver that the status of one or more
1041+ connectors has changed. Drivers that use the fb helper can just call the
1042+ <function>drm_fb_helper_hotplug_event</function> function to handle this
1043+ operation.
1044+ </para>
1045+ </sect2>
1046+ </sect1>
1047+
1048+ <!-- Internals: kms initialization and cleanup -->
1049+
1050+ <sect1 id="drm-kms-init">
1051+ <title>KMS Initialization and Cleanup</title>
1052+ <para>
1053+ A KMS device is abstracted and exposed as a set of planes, CRTCs, encoders
1054+ and connectors. KMS drivers must thus create and initialize all those
1055+ objects at load time after initializing mode setting.
1056+ </para>
1057+ <sect2>
1058+ <title>CRTCs (struct <structname>drm_crtc</structname>)</title>
1059+ <para>
1060+ A CRTC is an abstraction representing a part of the chip that contains a
1061+ pointer to a scanout buffer. Therefore, the number of CRTCs available
1062+ determines how many independent scanout buffers can be active at any
1063+ given time. The CRTC structure contains several fields to support this:
1064+ a pointer to some video memory (abstracted as a frame buffer object), a
1065+ display mode, and an (x, y) offset into the video memory to support
1066+ panning or configurations where one piece of video memory spans multiple
1067+ CRTCs.
5061068 </para>
5071069 <sect3>
508− <title>Output discovery and initialization</title>
509− <para>
510− Several core functions exist to create CRTCs, encoders, and
511− connectors, namely: drm_crtc_init(), drm_connector_init(), and
512− drm_encoder_init(), along with several "helper" functions to
513− perform common tasks.
514− </para>
515− <para>
516− Connectors should be registered with sysfs once they've been
517− detected and initialized, using the
518− drm_sysfs_connector_add() function. Likewise, when they're
519− removed from the system, they should be destroyed with
520− drm_sysfs_connector_remove().
521− </para>
522− <programlisting>
523−<![CDATA[
1070+ <title>CRTC Initialization</title>
1071+ <para>
1072+ A KMS device must create and register at least one struct
1073+ <structname>drm_crtc</structname> instance. The instance is allocated
1074+ and zeroed by the driver, possibly as part of a larger structure, and
1075+ registered with a call to <function>drm_crtc_init</function> with a
1076+ pointer to CRTC functions.
1077+ </para>
1078+ </sect3>
1079+ <sect3>
1080+ <title>CRTC Operations</title>
1081+ <sect4>
1082+ <title>Set Configuration</title>
1083+ <synopsis>int (*set_config)(struct drm_mode_set *set);</synopsis>
1084+ <para>
1085+ Apply a new CRTC configuration to the device. The configuration
1086+ specifies a CRTC, a frame buffer to scan out from, a (x,y) position in
1087+ the frame buffer, a display mode and an array of connectors to drive
1088+ with the CRTC if possible.
1089+ </para>
1090+ <para>
1091+ If the frame buffer specified in the configuration is NULL, the driver
1092+ must detach all encoders connected to the CRTC and all connectors
1093+ attached to those encoders and disable them.
1094+ </para>
1095+ <para>
1096+ This operation is called with the mode config lock held.
1097+ </para>
1098+ <note><para>
1099+ FIXME: How should set_config interact with DPMS? If the CRTC is
1100+ suspended, should it be resumed?
1101+ </para></note>
1102+ </sect4>
1103+ <sect4>
1104+ <title>Page Flipping</title>
1105+ <synopsis>int (*page_flip)(struct drm_crtc *crtc, struct drm_framebuffer *fb,
1106+ struct drm_pending_vblank_event *event);</synopsis>
1107+ <para>
1108+ Schedule a page flip to the given frame buffer for the CRTC. This
1109+ operation is called with the mode config mutex held.
1110+ </para>
1111+ <para>
1112+ Page flipping is a synchronization mechanism that replaces the frame
1113+ buffer being scanned out by the CRTC with a new frame buffer during
1114+ vertical blanking, avoiding tearing. When an application requests a page
1115+ flip the DRM core verifies that the new frame buffer is large enough to
1116+ be scanned out by the CRTC in the currently configured mode and then
1117+ calls the CRTC <methodname>page_flip</methodname> operation with a
1118+ pointer to the new frame buffer.
1119+ </para>
1120+ <para>
1121+ The <methodname>page_flip</methodname> operation schedules a page flip.
1122+ Once any pending rendering targetting the new frame buffer has
1123+ completed, the CRTC will be reprogrammed to display that frame buffer
1124+ after the next vertical refresh. The operation must return immediately
1125+ without waiting for rendering or page flip to complete and must block
1126+ any new rendering to the frame buffer until the page flip completes.
1127+ </para>
1128+ <para>
1129+ If a page flip is already pending, the
1130+ <methodname>page_flip</methodname> operation must return
1131+ -<errorname>EBUSY</errorname>.
1132+ </para>
1133+ <para>
1134+ To synchronize page flip to vertical blanking the driver will likely
1135+ need to enable vertical blanking interrupts. It should call
1136+ <function>drm_vblank_get</function> for that purpose, and call
1137+ <function>drm_vblank_put</function> after the page flip completes.
1138+ </para>
1139+ <para>
1140+ If the application has requested to be notified when page flip completes
1141+ the <methodname>page_flip</methodname> operation will be called with a
1142+ non-NULL <parameter>event</parameter> argument pointing to a
1143+ <structname>drm_pending_vblank_event</structname> instance. Upon page
1144+ flip completion the driver must fill the
1145+ <parameter>event</parameter>::<structfield>event</structfield>
1146+ <structfield>sequence</structfield>, <structfield>tv_sec</structfield>
1147+ and <structfield>tv_usec</structfield> fields with the associated
1148+ vertical blanking count and timestamp, add the event to the
1149+ <parameter>drm_file</parameter> list of events to be signaled, and wake
1150+ up any waiting process. This can be performed with
1151+ <programlisting><![CDATA[
1152+ struct timeval now;
1153+
1154+ event->event.sequence = drm_vblank_count_and_time(..., &now);
1155+ event->event.tv_sec = now.tv_sec;
1156+ event->event.tv_usec = now.tv_usec;
1157+
1158+ spin_lock_irqsave(&dev->event_lock, flags);
1159+ list_add_tail(&event->base.link, &event->base.file_priv->event_list);
1160+ wake_up_interruptible(&event->base.file_priv->event_wait);
1161+ spin_unlock_irqrestore(&dev->event_lock, flags);
1162+ ]]></programlisting>
1163+ </para>
1164+ <note><para>
1165+ FIXME: Could drivers that don't need to wait for rendering to complete
1166+ just add the event to <literal>dev-&gt;vblank_event_list</literal> and
1167+ let the DRM core handle everything, as for "normal" vertical blanking
1168+ events?
1169+ </para></note>
1170+ <para>
1171+ While waiting for the page flip to complete, the
1172+ <literal>event-&gt;base.link</literal> list head can be used freely by
1173+ the driver to store the pending event in a driver-specific list.
1174+ </para>
1175+ <para>
1176+ If the file handle is closed before the event is signaled, drivers must
1177+ take care to destroy the event in their
1178+ <methodname>preclose</methodname> operation (and, if needed, call
1179+ <function>drm_vblank_put</function>).
1180+ </para>
1181+ </sect4>
1182+ <sect4>
1183+ <title>Miscellaneous</title>
1184+ <itemizedlist>
1185+ <listitem>
1186+ <synopsis>void (*gamma_set)(struct drm_crtc *crtc, u16 *r, u16 *g, u16 *b,
1187+ uint32_t start, uint32_t size);</synopsis>
1188+ <para>
1189+ Apply a gamma table to the device. The operation is optional.
1190+ </para>
1191+ </listitem>
1192+ <listitem>
1193+ <synopsis>void (*destroy)(struct drm_crtc *crtc);</synopsis>
1194+ <para>
1195+ Destroy the CRTC when not needed anymore. See
1196+ <xref linkend="drm-kms-init"/>.
1197+ </para>
1198+ </listitem>
1199+ </itemizedlist>
1200+ </sect4>
1201+ </sect3>
1202+ </sect2>
1203+ <sect2>
1204+ <title>Planes (struct <structname>drm_plane</structname>)</title>
1205+ <para>
1206+ A plane represents an image source that can be blended with or overlayed
1207+ on top of a CRTC during the scanout process. Planes are associated with
1208+ a frame buffer to crop a portion of the image memory (source) and
1209+ optionally scale it to a destination size. The result is then blended
1210+ with or overlayed on top of a CRTC.
1211+ </para>
1212+ <sect3>
1213+ <title>Plane Initialization</title>
1214+ <para>
1215+ Planes are optional. To create a plane, a KMS drivers allocates and
1216+ zeroes an instances of struct <structname>drm_plane</structname>
1217+ (possibly as part of a larger structure) and registers it with a call
1218+ to <function>drm_plane_init</function>. The function takes a bitmask
1219+ of the CRTCs that can be associated with the plane, a pointer to the
1220+ plane functions and a list of format supported formats.
1221+ </para>
1222+ </sect3>
1223+ <sect3>
1224+ <title>Plane Operations</title>
1225+ <itemizedlist>
1226+ <listitem>
1227+ <synopsis>int (*update_plane)(struct drm_plane *plane, struct drm_crtc *crtc,
1228+ struct drm_framebuffer *fb, int crtc_x, int crtc_y,
1229+ unsigned int crtc_w, unsigned int crtc_h,
1230+ uint32_t src_x, uint32_t src_y,
1231+ uint32_t src_w, uint32_t src_h);</synopsis>
1232+ <para>
1233+ Enable and configure the plane to use the given CRTC and frame buffer.
1234+ </para>
1235+ <para>
1236+ The source rectangle in frame buffer memory coordinates is given by
1237+ the <parameter>src_x</parameter>, <parameter>src_y</parameter>,
1238+ <parameter>src_w</parameter> and <parameter>src_h</parameter>
1239+ parameters (as 16.16 fixed point values). Devices that don't support
1240+ subpixel plane coordinates can ignore the fractional part.
1241+ </para>
1242+ <para>
1243+ The destination rectangle in CRTC coordinates is given by the
1244+ <parameter>crtc_x</parameter>, <parameter>crtc_y</parameter>,
1245+ <parameter>crtc_w</parameter> and <parameter>crtc_h</parameter>
1246+ parameters (as integer values). Devices scale the source rectangle to
1247+ the destination rectangle. If scaling is not supported, and the source
1248+ rectangle size doesn't match the destination rectangle size, the
1249+ driver must return a -<errorname>EINVAL</errorname> error.
1250+ </para>
1251+ </listitem>
1252+ <listitem>
1253+ <synopsis>int (*disable_plane)(struct drm_plane *plane);</synopsis>
1254+ <para>
1255+ Disable the plane. The DRM core calls this method in response to a
1256+ DRM_IOCTL_MODE_SETPLANE ioctl call with the frame buffer ID set to 0.
1257+ Disabled planes must not be processed by the CRTC.
1258+ </para>
1259+ </listitem>
1260+ <listitem>
1261+ <synopsis>void (*destroy)(struct drm_plane *plane);</synopsis>
1262+ <para>
1263+ Destroy the plane when not needed anymore. See
1264+ <xref linkend="drm-kms-init"/>.
1265+ </para>
1266+ </listitem>
1267+ </itemizedlist>
1268+ </sect3>
1269+ </sect2>
1270+ <sect2>
1271+ <title>Encoders (struct <structname>drm_encoder</structname>)</title>
1272+ <para>
1273+ An encoder takes pixel data from a CRTC and converts it to a format
1274+ suitable for any attached connectors. On some devices, it may be
1275+ possible to have a CRTC send data to more than one encoder. In that
1276+ case, both encoders would receive data from the same scanout buffer,
1277+ resulting in a "cloned" display configuration across the connectors
1278+ attached to each encoder.
1279+ </para>
1280+ <sect3>
1281+ <title>Encoder Initialization</title>
1282+ <para>
1283+ As for CRTCs, a KMS driver must create, initialize and register at
1284+ least one struct <structname>drm_encoder</structname> instance. The
1285+ instance is allocated and zeroed by the driver, possibly as part of a
1286+ larger structure.
1287+ </para>
1288+ <para>
1289+ Drivers must initialize the struct <structname>drm_encoder</structname>
1290+ <structfield>possible_crtcs</structfield> and
1291+ <structfield>possible_clones</structfield> fields before registering the
1292+ encoder. Both fields are bitmasks of respectively the CRTCs that the
1293+ encoder can be connected to, and sibling encoders candidate for cloning.
1294+ </para>
1295+ <para>
1296+ After being initialized, the encoder must be registered with a call to
1297+ <function>drm_encoder_init</function>. The function takes a pointer to
1298+ the encoder functions and an encoder type. Supported types are
1299+ <itemizedlist>
1300+ <listitem>
1301+ DRM_MODE_ENCODER_DAC for VGA and analog on DVI-I/DVI-A
1302+ </listitem>
1303+ <listitem>
1304+ DRM_MODE_ENCODER_TMDS for DVI, HDMI and (embedded) DisplayPort
1305+ </listitem>
1306+ <listitem>
1307+ DRM_MODE_ENCODER_LVDS for display panels
1308+ </listitem>
1309+ <listitem>
1310+ DRM_MODE_ENCODER_TVDAC for TV output (Composite, S-Video, Component,
1311+ SCART)
1312+ </listitem>
1313+ <listitem>
1314+ DRM_MODE_ENCODER_VIRTUAL for virtual machine displays
1315+ </listitem>
1316+ </itemizedlist>
1317+ </para>
1318+ <para>
1319+ Encoders must be attached to a CRTC to be used. DRM drivers leave
1320+ encoders unattached at initialization time. Applications (or the fbdev
1321+ compatibility layer when implemented) are responsible for attaching the
1322+ encoders they want to use to a CRTC.
1323+ </para>
1324+ </sect3>
1325+ <sect3>
1326+ <title>Encoder Operations</title>
1327+ <itemizedlist>
1328+ <listitem>
1329+ <synopsis>void (*destroy)(struct drm_encoder *encoder);</synopsis>
1330+ <para>
1331+ Called to destroy the encoder when not needed anymore. See
1332+ <xref linkend="drm-kms-init"/>.
1333+ </para>
1334+ </listitem>
1335+ </itemizedlist>
1336+ </sect3>
1337+ </sect2>
1338+ <sect2>
1339+ <title>Connectors (struct <structname>drm_connector</structname>)</title>
1340+ <para>
1341+ A connector is the final destination for pixel data on a device, and
1342+ usually connects directly to an external display device like a monitor
1343+ or laptop panel. A connector can only be attached to one encoder at a
1344+ time. The connector is also the structure where information about the
1345+ attached display is kept, so it contains fields for display data, EDID
1346+ data, DPMS &amp; connection status, and information about modes
1347+ supported on the attached displays.
1348+ </para>
1349+ <sect3>
1350+ <title>Connector Initialization</title>
1351+ <para>
1352+ Finally a KMS driver must create, initialize, register and attach at
1353+ least one struct <structname>drm_connector</structname> instance. The
1354+ instance is created as other KMS objects and initialized by setting the
1355+ following fields.
1356+ </para>
1357+ <variablelist>
1358+ <varlistentry>
1359+ <term><structfield>interlace_allowed</structfield></term>
1360+ <listitem><para>
1361+ Whether the connector can handle interlaced modes.
1362+ </para></listitem>
1363+ </varlistentry>
1364+ <varlistentry>
1365+ <term><structfield>doublescan_allowed</structfield></term>
1366+ <listitem><para>
1367+ Whether the connector can handle doublescan.
1368+ </para></listitem>
1369+ </varlistentry>
1370+ <varlistentry>
1371+ <term><structfield>display_info
1372+ </structfield></term>
1373+ <listitem><para>
1374+ Display information is filled from EDID information when a display
1375+ is detected. For non hot-pluggable displays such as flat panels in
1376+ embedded systems, the driver should initialize the
1377+ <structfield>display_info</structfield>.<structfield>width_mm</structfield>
1378+ and
1379+ <structfield>display_info</structfield>.<structfield>height_mm</structfield>
1380+ fields with the physical size of the display.
1381+ </para></listitem>
1382+ </varlistentry>
1383+ <varlistentry>
1384+ <term id="drm-kms-connector-polled"><structfield>polled</structfield></term>
1385+ <listitem><para>
1386+ Connector polling mode, a combination of
1387+ <variablelist>
1388+ <varlistentry>
1389+ <term>DRM_CONNECTOR_POLL_HPD</term>
1390+ <listitem><para>
1391+ The connector generates hotplug events and doesn't need to be
1392+ periodically polled. The CONNECT and DISCONNECT flags must not
1393+ be set together with the HPD flag.
1394+ </para></listitem>
1395+ </varlistentry>
1396+ <varlistentry>
1397+ <term>DRM_CONNECTOR_POLL_CONNECT</term>
1398+ <listitem><para>
1399+ Periodically poll the connector for connection.
1400+ </para></listitem>
1401+ </varlistentry>
1402+ <varlistentry>
1403+ <term>DRM_CONNECTOR_POLL_DISCONNECT</term>
1404+ <listitem><para>
1405+ Periodically poll the connector for disconnection.
1406+ </para></listitem>
1407+ </varlistentry>
1408+ </variablelist>
1409+ Set to 0 for connectors that don't support connection status
1410+ discovery.
1411+ </para></listitem>
1412+ </varlistentry>
1413+ </variablelist>
1414+ <para>
1415+ The connector is then registered with a call to
1416+ <function>drm_connector_init</function> with a pointer to the connector
1417+ functions and a connector type, and exposed through sysfs with a call to
1418+ <function>drm_sysfs_connector_add</function>.
1419+ </para>
1420+ <para>
1421+ Supported connector types are
1422+ <itemizedlist>
1423+ <listitem>DRM_MODE_CONNECTOR_VGA</listitem>
1424+ <listitem>DRM_MODE_CONNECTOR_DVII</listitem>
1425+ <listitem>DRM_MODE_CONNECTOR_DVID</listitem>
1426+ <listitem>DRM_MODE_CONNECTOR_DVIA</listitem>
1427+ <listitem>DRM_MODE_CONNECTOR_Composite</listitem>
1428+ <listitem>DRM_MODE_CONNECTOR_SVIDEO</listitem>
1429+ <listitem>DRM_MODE_CONNECTOR_LVDS</listitem>
1430+ <listitem>DRM_MODE_CONNECTOR_Component</listitem>
1431+ <listitem>DRM_MODE_CONNECTOR_9PinDIN</listitem>
1432+ <listitem>DRM_MODE_CONNECTOR_DisplayPort</listitem>
1433+ <listitem>DRM_MODE_CONNECTOR_HDMIA</listitem>
1434+ <listitem>DRM_MODE_CONNECTOR_HDMIB</listitem>
1435+ <listitem>DRM_MODE_CONNECTOR_TV</listitem>
1436+ <listitem>DRM_MODE_CONNECTOR_eDP</listitem>
1437+ <listitem>DRM_MODE_CONNECTOR_VIRTUAL</listitem>
1438+ </itemizedlist>
1439+ </para>
1440+ <para>
1441+ Connectors must be attached to an encoder to be used. For devices that
1442+ map connectors to encoders 1:1, the connector should be attached at
1443+ initialization time with a call to
1444+ <function>drm_mode_connector_attach_encoder</function>. The driver must
1445+ also set the <structname>drm_connector</structname>
1446+ <structfield>encoder</structfield> field to point to the attached
1447+ encoder.
1448+ </para>
1449+ <para>
1450+ Finally, drivers must initialize the connectors state change detection
1451+ with a call to <function>drm_kms_helper_poll_init</function>. If at
1452+ least one connector is pollable but can't generate hotplug interrupts
1453+ (indicated by the DRM_CONNECTOR_POLL_CONNECT and
1454+ DRM_CONNECTOR_POLL_DISCONNECT connector flags), a delayed work will
1455+ automatically be queued to periodically poll for changes. Connectors
1456+ that can generate hotplug interrupts must be marked with the
1457+ DRM_CONNECTOR_POLL_HPD flag instead, and their interrupt handler must
1458+ call <function>drm_helper_hpd_irq_event</function>. The function will
1459+ queue a delayed work to check the state of all connectors, but no
1460+ periodic polling will be done.
1461+ </para>
1462+ </sect3>
1463+ <sect3>
1464+ <title>Connector Operations</title>
1465+ <note><para>
1466+ Unless otherwise state, all operations are mandatory.
1467+ </para></note>
1468+ <sect4>
1469+ <title>DPMS</title>
1470+ <synopsis>void (*dpms)(struct drm_connector *connector, int mode);</synopsis>
1471+ <para>
1472+ The DPMS operation sets the power state of a connector. The mode
1473+ argument is one of
1474+ <itemizedlist>
1475+ <listitem><para>DRM_MODE_DPMS_ON</para></listitem>
1476+ <listitem><para>DRM_MODE_DPMS_STANDBY</para></listitem>
1477+ <listitem><para>DRM_MODE_DPMS_SUSPEND</para></listitem>
1478+ <listitem><para>DRM_MODE_DPMS_OFF</para></listitem>
1479+ </itemizedlist>
1480+ </para>
1481+ <para>
1482+ In all but DPMS_ON mode the encoder to which the connector is attached
1483+ should put the display in low-power mode by driving its signals
1484+ appropriately. If more than one connector is attached to the encoder
1485+ care should be taken not to change the power state of other displays as
1486+ a side effect. Low-power mode should be propagated to the encoders and
1487+ CRTCs when all related connectors are put in low-power mode.
1488+ </para>
1489+ </sect4>
1490+ <sect4>
1491+ <title>Modes</title>
1492+ <synopsis>int (*fill_modes)(struct drm_connector *connector, uint32_t max_width,
1493+ uint32_t max_height);</synopsis>
1494+ <para>
1495+ Fill the mode list with all supported modes for the connector. If the
1496+ <parameter>max_width</parameter> and <parameter>max_height</parameter>
1497+ arguments are non-zero, the implementation must ignore all modes wider
1498+ than <parameter>max_width</parameter> or higher than
1499+ <parameter>max_height</parameter>.
1500+ </para>
1501+ <para>
1502+ The connector must also fill in this operation its
1503+ <structfield>display_info</structfield>
1504+ <structfield>width_mm</structfield> and
1505+ <structfield>height_mm</structfield> fields with the connected display
1506+ physical size in millimeters. The fields should be set to 0 if the value
1507+ isn't known or is not applicable (for instance for projector devices).
1508+ </para>
1509+ </sect4>
1510+ <sect4>
1511+ <title>Connection Status</title>
1512+ <para>
1513+ The connection status is updated through polling or hotplug events when
1514+ supported (see <xref linkend="drm-kms-connector-polled"/>). The status
1515+ value is reported to userspace through ioctls and must not be used
1516+ inside the driver, as it only gets initialized by a call to
1517+ <function>drm_mode_getconnector</function> from userspace.
1518+ </para>
1519+ <synopsis>enum drm_connector_status (*detect)(struct drm_connector *connector,
1520+ bool force);</synopsis>
1521+ <para>
1522+ Check to see if anything is attached to the connector. The
1523+ <parameter>force</parameter> parameter is set to false whilst polling or
1524+ to true when checking the connector due to user request.
1525+ <parameter>force</parameter> can be used by the driver to avoid
1526+ expensive, destructive operations during automated probing.
1527+ </para>
1528+ <para>
1529+ Return connector_status_connected if something is connected to the
1530+ connector, connector_status_disconnected if nothing is connected and
1531+ connector_status_unknown if the connection state isn't known.
1532+ </para>
1533+ <para>
1534+ Drivers should only return connector_status_connected if the connection
1535+ status has really been probed as connected. Connectors that can't detect
1536+ the connection status, or failed connection status probes, should return
1537+ connector_status_unknown.
1538+ </para>
1539+ </sect4>
1540+ <sect4>
1541+ <title>Miscellaneous</title>
1542+ <itemizedlist>
1543+ <listitem>
1544+ <synopsis>void (*destroy)(struct drm_connector *connector);</synopsis>
1545+ <para>
1546+ Destroy the connector when not needed anymore. See
1547+ <xref linkend="drm-kms-init"/>.
1548+ </para>
1549+ </listitem>
1550+ </itemizedlist>
1551+ </sect4>
1552+ </sect3>
1553+ </sect2>
1554+ <sect2>
1555+ <title>Cleanup</title>
1556+ <para>
1557+ The DRM core manages its objects' lifetime. When an object is not needed
1558+ anymore the core calls its destroy function, which must clean up and
1559+ free every resource allocated for the object. Every
1560+ <function>drm_*_init</function> call must be matched with a
1561+ corresponding <function>drm_*_cleanup</function> call to cleanup CRTCs
1562+ (<function>drm_crtc_cleanup</function>), planes
1563+ (<function>drm_plane_cleanup</function>), encoders
1564+ (<function>drm_encoder_cleanup</function>) and connectors
1565+ (<function>drm_connector_cleanup</function>). Furthermore, connectors
1566+ that have been added to sysfs must be removed by a call to
1567+ <function>drm_sysfs_connector_remove</function> before calling
1568+ <function>drm_connector_cleanup</function>.
1569+ </para>
1570+ <para>
1571+ Connectors state change detection must be cleanup up with a call to
1572+ <function>drm_kms_helper_poll_fini</function>.
1573+ </para>
1574+ </sect2>
1575+ <sect2>
1576+ <title>Output discovery and initialization example</title>
1577+ <programlisting><![CDATA[
5241578 void intel_crt_init(struct drm_device *dev)
5251579 {
5261580 struct drm_connector *connector;
@@ -556,252 +1610,741 @@ void intel_crt_init(struct drm_device *dev) · 29 unmodified lines
5561610 drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs);
5571611
5581612 drm_sysfs_connector_add(connector);
559−}
560−]]>
561− </programlisting>
562− <para>
563− In the example above (again, taken from the i915 driver), a
564− CRT connector and encoder combination is created. A device-specific
565− i2c bus is also created for fetching EDID data and
566− performing monitor detection. Once the process is complete,
567− the new connector is registered with sysfs to make its
568− properties available to applications.
569− </para>
570− <sect4>
571− <title>Helper functions and core functions</title>
572− <para>
573− Since many PC-class graphics devices have similar display output
574− designs, the DRM provides a set of helper functions to make
575− output management easier. The core helper routines handle
576− encoder re-routing and the disabling of unused functions following
577− mode setting. Using the helpers is optional, but recommended for
578− devices with PC-style architectures (i.e. a set of display planes
579− for feeding pixels to encoders which are in turn routed to
580− connectors). Devices with more complex requirements needing
581− finer grained management may opt to use the core callbacks
582− directly.
583− </para>
584− <para>
585− [Insert typical diagram here.] [Insert OMAP style config here.]
586− </para>
587− </sect4>
588− <para>
589− Each encoder object needs to provide:
590− <itemizedlist>
591− <listitem>
592− A DPMS (basically on/off) function.
593− </listitem>
594− <listitem>
595− A mode-fixup function (for converting requested modes into
596− native hardware timings).
597− </listitem>
598− <listitem>
599− Functions (prepare, set, and commit) for use by the core DRM
600− helper functions.
601− </listitem>
602− </itemizedlist>
603− Connector helpers need to provide functions (mode-fetch, validity,
604− and encoder-matching) for returning an ideal encoder for a given
605− connector. The core connector functions include a DPMS callback,
606− save/restore routines (deprecated), detection, mode probing,
607− property handling, and cleanup functions.
608− </para>
609−<!--!Edrivers/char/drm/drm_crtc.h-->
610−<!--!Edrivers/char/drm/drm_crtc.c-->
611−<!--!Edrivers/char/drm/drm_crtc_helper.c-->
612− </sect3>
1613+}]]></programlisting>
1614+ <para>
1615+ In the example above (taken from the i915 driver), a CRTC, connector and
1616+ encoder combination is created. A device-specific i2c bus is also
1617+ created for fetching EDID data and performing monitor detection. Once
1618+ the process is complete, the new connector is registered with sysfs to
1619+ make its properties available to applications.
1620+ </para>
6131621 </sect2>
6141622 </sect1>
6151623
616− <!-- Internals: vblank handling -->
1624+ <!-- Internals: mid-layer helper functions -->
6171625
6181626 <sect1>
619− <title>VBlank event handling</title>
1627+ <title>Mid-layer Helper Functions</title>
6201628 <para>
621− The DRM core exposes two vertical blank related ioctls:
622− <variablelist>
623− <varlistentry>
624− <term>DRM_IOCTL_WAIT_VBLANK</term>
625− <listitem>
626− <para>
627− This takes a struct drm_wait_vblank structure as its argument,
628− and it is used to block or request a signal when a specified
629− vblank event occurs.
630− </para>
631− </listitem>
632− </varlistentry>
633− <varlistentry>
634− <term>DRM_IOCTL_MODESET_CTL</term>
635− <listitem>
636− <para>
637− This should be called by application level drivers before and
638− after mode setting, since on many devices the vertical blank
639− counter is reset at that time. Internally, the DRM snapshots
640− the last vblank count when the ioctl is called with the
641− _DRM_PRE_MODESET command, so that the counter won't go backwards
642− (which is dealt with when _DRM_POST_MODESET is used).
643− </para>
644− </listitem>
645− </varlistentry>
646− </variablelist>
647−<!--!Edrivers/char/drm/drm_irq.c-->
1629+ The CRTC, encoder and connector functions provided by the drivers
1630+ implement the DRM API. They're called by the DRM core and ioctl handlers
1631+ to handle device state changes and configuration request. As implementing
1632+ those functions often requires logic not specific to drivers, mid-layer
1633+ helper functions are available to avoid duplicating boilerplate code.
1634+ </para>
1635+ <para>
1636+ The DRM core contains one mid-layer implementation. The mid-layer provides
1637+ implementations of several CRTC, encoder and connector functions (called
1638+ from the top of the mid-layer) that pre-process requests and call
1639+ lower-level functions provided by the driver (at the bottom of the
1640+ mid-layer). For instance, the
1641+ <function>drm_crtc_helper_set_config</function> function can be used to
1642+ fill the struct <structname>drm_crtc_funcs</structname>
1643+ <structfield>set_config</structfield> field. When called, it will split
1644+ the <methodname>set_config</methodname> operation in smaller, simpler
1645+ operations and call the driver to handle them.
6481646 </para>
6491647 <para>
650− To support the functions above, the DRM core provides several
651− helper functions for tracking vertical blank counters, and
652− requires drivers to provide several callbacks:
653− get_vblank_counter(), enable_vblank() and disable_vblank(). The
654− core uses get_vblank_counter() to keep the counter accurate
655− across interrupt disable periods. It should return the current
656− vertical blank event count, which is often tracked in a device
657− register. The enable and disable vblank callbacks should enable
658− and disable vertical blank interrupts, respectively. In the
659− absence of DRM clients waiting on vblank events, the core DRM
660− code uses the disable_vblank() function to disable
661− interrupts, which saves power. They are re-enabled again when
662− a client calls the vblank wait ioctl above.
1648+ To use the mid-layer, drivers call <function>drm_crtc_helper_add</function>,
1649+ <function>drm_encoder_helper_add</function> and
1650+ <function>drm_connector_helper_add</function> functions to install their
1651+ mid-layer bottom operations handlers, and fill the
1652+ <structname>drm_crtc_funcs</structname>,
1653+ <structname>drm_encoder_funcs</structname> and
1654+ <structname>drm_connector_funcs</structname> structures with pointers to
1655+ the mid-layer top API functions. Installing the mid-layer bottom operation
1656+ handlers is best done right after registering the corresponding KMS object.
6631657 </para>
6641658 <para>
665− A device that doesn't provide a count register may simply use an
666− internal atomic counter incremented on every vertical blank
667− interrupt (and then treat the enable_vblank() and disable_vblank()
668− callbacks as no-ops).
1659+ The mid-layer is not split between CRTC, encoder and connector operations.
1660+ To use it, a driver must provide bottom functions for all of the three KMS
1661+ entities.
6691662 </para>
1663+ <sect2>
1664+ <title>Helper Functions</title>
1665+ <itemizedlist>
1666+ <listitem>
1667+ <synopsis>int drm_crtc_helper_set_config(struct drm_mode_set *set);</synopsis>
1668+ <para>
1669+ The <function>drm_crtc_helper_set_config</function> helper function
1670+ is a CRTC <methodname>set_config</methodname> implementation. It
1671+ first tries to locate the best encoder for each connector by calling
1672+ the connector <methodname>best_encoder</methodname> helper
1673+ operation.
1674+ </para>
1675+ <para>
1676+ After locating the appropriate encoders, the helper function will
1677+ call the <methodname>mode_fixup</methodname> encoder and CRTC helper
1678+ operations to adjust the requested mode, or reject it completely in
1679+ which case an error will be returned to the application. If the new
1680+ configuration after mode adjustment is identical to the current
1681+ configuration the helper function will return without performing any
1682+ other operation.
1683+ </para>
1684+ <para>
1685+ If the adjusted mode is identical to the current mode but changes to
1686+ the frame buffer need to be applied, the
1687+ <function>drm_crtc_helper_set_config</function> function will call
1688+ the CRTC <methodname>mode_set_base</methodname> helper operation. If
1689+ the adjusted mode differs from the current mode, or if the
1690+ <methodname>mode_set_base</methodname> helper operation is not
1691+ provided, the helper function performs a full mode set sequence by
1692+ calling the <methodname>prepare</methodname>,
1693+ <methodname>mode_set</methodname> and
1694+ <methodname>commit</methodname> CRTC and encoder helper operations,
1695+ in that order.
1696+ </para>
1697+ </listitem>
1698+ <listitem>
1699+ <synopsis>void drm_helper_connector_dpms(struct drm_connector *connector, int mode);</synopsis>
1700+ <para>
1701+ The <function>drm_helper_connector_dpms</function> helper function
1702+ is a connector <methodname>dpms</methodname> implementation that
1703+ tracks power state of connectors. To use the function, drivers must
1704+ provide <methodname>dpms</methodname> helper operations for CRTCs
1705+ and encoders to apply the DPMS state to the device.
1706+ </para>
1707+ <para>
1708+ The mid-layer doesn't track the power state of CRTCs and encoders.
1709+ The <methodname>dpms</methodname> helper operations can thus be
1710+ called with a mode identical to the currently active mode.
1711+ </para>
1712+ </listitem>
1713+ <listitem>
1714+ <synopsis>int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
1715+ uint32_t maxX, uint32_t maxY);</synopsis>
1716+ <para>
1717+ The <function>drm_helper_probe_single_connector_modes</function> helper
1718+ function is a connector <methodname>fill_modes</methodname>
1719+ implementation that updates the connection status for the connector
1720+ and then retrieves a list of modes by calling the connector
1721+ <methodname>get_modes</methodname> helper operation.
1722+ </para>
1723+ <para>
1724+ The function filters out modes larger than
1725+ <parameter>max_width</parameter> and <parameter>max_height</parameter>
1726+ if specified. It then calls the connector
1727+ <methodname>mode_valid</methodname> helper operation for each mode in
1728+ the probed list to check whether the mode is valid for the connector.
1729+ </para>
1730+ </listitem>
1731+ </itemizedlist>
1732+ </sect2>
1733+ <sect2>
1734+ <title>CRTC Helper Operations</title>
1735+ <itemizedlist>
1736+ <listitem id="drm-helper-crtc-mode-fixup">
1737+ <synopsis>bool (*mode_fixup)(struct drm_crtc *crtc,
1738+ const struct drm_display_mode *mode,
1739+ struct drm_display_mode *adjusted_mode);</synopsis>
1740+ <para>
1741+ Let CRTCs adjust the requested mode or reject it completely. This
1742+ operation returns true if the mode is accepted (possibly after being
1743+ adjusted) or false if it is rejected.
1744+ </para>
1745+ <para>
1746+ The <methodname>mode_fixup</methodname> operation should reject the
1747+ mode if it can't reasonably use it. The definition of "reasonable"
1748+ is currently fuzzy in this context. One possible behaviour would be
1749+ to set the adjusted mode to the panel timings when a fixed-mode
1750+ panel is used with hardware capable of scaling. Another behaviour
1751+ would be to accept any input mode and adjust it to the closest mode
1752+ supported by the hardware (FIXME: This needs to be clarified).
1753+ </para>
1754+ </listitem>
1755+ <listitem>
1756+ <synopsis>int (*mode_set_base)(struct drm_crtc *crtc, int x, int y,
1757+ struct drm_framebuffer *old_fb)</synopsis>
1758+ <para>
1759+ Move the CRTC on the current frame buffer (stored in
1760+ <literal>crtc-&gt;fb</literal>) to position (x,y). Any of the frame
1761+ buffer, x position or y position may have been modified.
1762+ </para>
1763+ <para>
1764+ This helper operation is optional. If not provided, the
1765+ <function>drm_crtc_helper_set_config</function> function will fall
1766+ back to the <methodname>mode_set</methodname> helper operation.
1767+ </para>
1768+ <note><para>
1769+ FIXME: Why are x and y passed as arguments, as they can be accessed
1770+ through <literal>crtc-&gt;x</literal> and
1771+ <literal>crtc-&gt;y</literal>?
1772+ </para></note>
1773+ </listitem>
1774+ <listitem>
1775+ <synopsis>void (*prepare)(struct drm_crtc *crtc);</synopsis>
1776+ <para>
1777+ Prepare the CRTC for mode setting. This operation is called after
1778+ validating the requested mode. Drivers use it to perform
1779+ device-specific operations required before setting the new mode.
1780+ </para>
1781+ </listitem>
1782+ <listitem>
1783+ <synopsis>int (*mode_set)(struct drm_crtc *crtc, struct drm_display_mode *mode,
1784+ struct drm_display_mode *adjusted_mode, int x, int y,
1785+ struct drm_framebuffer *old_fb);</synopsis>
1786+ <para>
1787+ Set a new mode, position and frame buffer. Depending on the device
1788+ requirements, the mode can be stored internally by the driver and
1789+ applied in the <methodname>commit</methodname> operation, or
1790+ programmed to the hardware immediately.
1791+ </para>
1792+ <para>
1793+ The <methodname>mode_set</methodname> operation returns 0 on success
1794+ or a negative error code if an error occurs.
1795+ </para>
1796+ </listitem>
1797+ <listitem>
1798+ <synopsis>void (*commit)(struct drm_crtc *crtc);</synopsis>
1799+ <para>
1800+ Commit a mode. This operation is called after setting the new mode.
1801+ Upon return the device must use the new mode and be fully
1802+ operational.
1803+ </para>
1804+ </listitem>
1805+ </itemizedlist>
1806+ </sect2>
1807+ <sect2>
1808+ <title>Encoder Helper Operations</title>
1809+ <itemizedlist>
1810+ <listitem>
1811+ <synopsis>bool (*mode_fixup)(struct drm_encoder *encoder,
1812+ const struct drm_display_mode *mode,
1813+ struct drm_display_mode *adjusted_mode);</synopsis>
1814+ <note><para>
1815+ FIXME: The mode argument be const, but the i915 driver modifies
1816+ mode-&gt;clock in <function>intel_dp_mode_fixup</function>.
1817+ </para></note>
1818+ <para>
1819+ Let encoders adjust the requested mode or reject it completely. This
1820+ operation returns true if the mode is accepted (possibly after being
1821+ adjusted) or false if it is rejected. See the
1822+ <link linkend="drm-helper-crtc-mode-fixup">mode_fixup CRTC helper
1823+ operation</link> for an explanation of the allowed adjustments.
1824+ </para>
1825+ </listitem>
1826+ <listitem>
1827+ <synopsis>void (*prepare)(struct drm_encoder *encoder);</synopsis>
1828+ <para>
1829+ Prepare the encoder for mode setting. This operation is called after
1830+ validating the requested mode. Drivers use it to perform
1831+ device-specific operations required before setting the new mode.
1832+ </para>
1833+ </listitem>
1834+ <listitem>
1835+ <synopsis>void (*mode_set)(struct drm_encoder *encoder,
1836+ struct drm_display_mode *mode,
1837+ struct drm_display_mode *adjusted_mode);</synopsis>
1838+ <para>
1839+ Set a new mode. Depending on the device requirements, the mode can
1840+ be stored internally by the driver and applied in the
1841+ <methodname>commit</methodname> operation, or programmed to the
1842+ hardware immediately.
1843+ </para>
1844+ </listitem>
1845+ <listitem>
1846+ <synopsis>void (*commit)(struct drm_encoder *encoder);</synopsis>
1847+ <para>
1848+ Commit a mode. This operation is called after setting the new mode.
1849+ Upon return the device must use the new mode and be fully
1850+ operational.
1851+ </para>
1852+ </listitem>
1853+ </itemizedlist>
1854+ </sect2>
1855+ <sect2>
1856+ <title>Connector Helper Operations</title>
1857+ <itemizedlist>
1858+ <listitem>
1859+ <synopsis>struct drm_encoder *(*best_encoder)(struct drm_connector *connector);</synopsis>
1860+ <para>
1861+ Return a pointer to the best encoder for the connecter. Device that
1862+ map connectors to encoders 1:1 simply return the pointer to the
1863+ associated encoder. This operation is mandatory.
1864+ </para>
1865+ </listitem>
1866+ <listitem>
1867+ <synopsis>int (*get_modes)(struct drm_connector *connector);</synopsis>
1868+ <para>
1869+ Fill the connector's <structfield>probed_modes</structfield> list
1870+ by parsing EDID data with <function>drm_add_edid_modes</function> or
1871+ calling <function>drm_mode_probed_add</function> directly for every
1872+ supported mode and return the number of modes it has detected. This
1873+ operation is mandatory.
1874+ </para>
1875+ <para>
1876+ When adding modes manually the driver creates each mode with a call to
1877+ <function>drm_mode_create</function> and must fill the following fields.
1878+ <itemizedlist>
1879+ <listitem>
1880+ <synopsis>__u32 type;</synopsis>
1881+ <para>
1882+ Mode type bitmask, a combination of
1883+ <variablelist>
1884+ <varlistentry>
1885+ <term>DRM_MODE_TYPE_BUILTIN</term>
1886+ <listitem><para>not used?</para></listitem>
1887+ </varlistentry>
1888+ <varlistentry>
1889+ <term>DRM_MODE_TYPE_CLOCK_C</term>
1890+ <listitem><para>not used?</para></listitem>
1891+ </varlistentry>
1892+ <varlistentry>
1893+ <term>DRM_MODE_TYPE_CRTC_C</term>
1894+ <listitem><para>not used?</para></listitem>
1895+ </varlistentry>
1896+ <varlistentry>
1897+ <term>
1898+ DRM_MODE_TYPE_PREFERRED - The preferred mode for the connector
1899+ </term>
1900+ <listitem>
1901+ <para>not used?</para>
1902+ </listitem>
1903+ </varlistentry>
1904+ <varlistentry>
1905+ <term>DRM_MODE_TYPE_DEFAULT</term>
1906+ <listitem><para>not used?</para></listitem>
1907+ </varlistentry>
1908+ <varlistentry>
1909+ <term>DRM_MODE_TYPE_USERDEF</term>
1910+ <listitem><para>not used?</para></listitem>
1911+ </varlistentry>
1912+ <varlistentry>
1913+ <term>DRM_MODE_TYPE_DRIVER</term>
1914+ <listitem>
1915+ <para>
1916+ The mode has been created by the driver (as opposed to
1917+ to user-created modes).
1918+ </para>
1919+ </listitem>
1920+ </varlistentry>
1921+ </variablelist>
1922+ Drivers must set the DRM_MODE_TYPE_DRIVER bit for all modes they
1923+ create, and set the DRM_MODE_TYPE_PREFERRED bit for the preferred
1924+ mode.
1925+ </para>
1926+ </listitem>
1927+ <listitem>
1928+ <synopsis>__u32 clock;</synopsis>
1929+ <para>Pixel clock frequency in kHz unit</para>
1930+ </listitem>
1931+ <listitem>
1932+ <synopsis>__u16 hdisplay, hsync_start, hsync_end, htotal;
1933+ __u16 vdisplay, vsync_start, vsync_end, vtotal;</synopsis>
1934+ <para>Horizontal and vertical timing information</para>
1935+ <screen><![CDATA[
1936+ Active Front Sync Back
1937+ Region Porch Porch
1938+ <-----------------------><----------------><-------------><-------------->
1939+
1940+ //////////////////////|
1941+ ////////////////////// |
1942+ ////////////////////// |.................. ................
1943+ _______________
1944+
1945+ <----- [hv]display ----->
1946+ <------------- [hv]sync_start ------------>
1947+ <--------------------- [hv]sync_end --------------------->
1948+ <-------------------------------- [hv]total ----------------------------->
1949+]]></screen>
1950+ </listitem>
1951+ <listitem>
1952+ <synopsis>__u16 hskew;
1953+ __u16 vscan;</synopsis>
1954+ <para>Unknown</para>
1955+ </listitem>
1956+ <listitem>
1957+ <synopsis>__u32 flags;</synopsis>
1958+ <para>
1959+ Mode flags, a combination of
1960+ <variablelist>
1961+ <varlistentry>
1962+ <term>DRM_MODE_FLAG_PHSYNC</term>
1963+ <listitem><para>
1964+ Horizontal sync is active high
1965+ </para></listitem>
1966+ </varlistentry>
1967+ <varlistentry>
1968+ <term>DRM_MODE_FLAG_NHSYNC</term>
1969+ <listitem><para>
1970+ Horizontal sync is active low
1971+ </para></listitem>
1972+ </varlistentry>
1973+ <varlistentry>
1974+ <term>DRM_MODE_FLAG_PVSYNC</term>
1975+ <listitem><para>
1976+ Vertical sync is active high
1977+ </para></listitem>
1978+ </varlistentry>
1979+ <varlistentry>
1980+ <term>DRM_MODE_FLAG_NVSYNC</term>
1981+ <listitem><para>
1982+ Vertical sync is active low
1983+ </para></listitem>
1984+ </varlistentry>
1985+ <varlistentry>
1986+ <term>DRM_MODE_FLAG_INTERLACE</term>
1987+ <listitem><para>
1988+ Mode is interlaced
1989+ </para></listitem>
1990+ </varlistentry>
1991+ <varlistentry>
1992+ <term>DRM_MODE_FLAG_DBLSCAN</term>
1993+ <listitem><para>
1994+ Mode uses doublescan
1995+ </para></listitem>
1996+ </varlistentry>
1997+ <varlistentry>
1998+ <term>DRM_MODE_FLAG_CSYNC</term>
1999+ <listitem><para>
2000+ Mode uses composite sync
2001+ </para></listitem>
2002+ </varlistentry>
2003+ <varlistentry>
2004+ <term>DRM_MODE_FLAG_PCSYNC</term>
2005+ <listitem><para>
2006+ Composite sync is active high
2007+ </para></listitem>
2008+ </varlistentry>
2009+ <varlistentry>
2010+ <term>DRM_MODE_FLAG_NCSYNC</term>
2011+ <listitem><para>
2012+ Composite sync is active low
2013+ </para></listitem>
2014+ </varlistentry>
2015+ <varlistentry>
2016+ <term>DRM_MODE_FLAG_HSKEW</term>
2017+ <listitem><para>
2018+ hskew provided (not used?)
2019+ </para></listitem>
2020+ </varlistentry>
2021+ <varlistentry>
2022+ <term>DRM_MODE_FLAG_BCAST</term>
2023+ <listitem><para>
2024+ not used?
2025+ </para></listitem>
2026+ </varlistentry>
2027+ <varlistentry>
2028+ <term>DRM_MODE_FLAG_PIXMUX</term>
2029+ <listitem><para>
2030+ not used?
2031+ </para></listitem>
2032+ </varlistentry>
2033+ <varlistentry>
2034+ <term>DRM_MODE_FLAG_DBLCLK</term>
2035+ <listitem><para>
2036+ not used?
2037+ </para></listitem>
2038+ </varlistentry>
2039+ <varlistentry>
2040+ <term>DRM_MODE_FLAG_CLKDIV2</term>
2041+ <listitem><para>
2042+ ?
2043+ </para></listitem>
2044+ </varlistentry>
2045+ </variablelist>
2046+ </para>
2047+ <para>
2048+ Note that modes marked with the INTERLACE or DBLSCAN flags will be
2049+ filtered out by
2050+ <function>drm_helper_probe_single_connector_modes</function> if
2051+ the connector's <structfield>interlace_allowed</structfield> or
2052+ <structfield>doublescan_allowed</structfield> field is set to 0.
2053+ </para>
2054+ </listitem>
2055+ <listitem>
2056+ <synopsis>char name[DRM_DISPLAY_MODE_LEN];</synopsis>
2057+ <para>
2058+ Mode name. The driver must call
2059+ <function>drm_mode_set_name</function> to fill the mode name from
2060+ <structfield>hdisplay</structfield>,
2061+ <structfield>vdisplay</structfield> and interlace flag after
2062+ filling the corresponding fields.
2063+ </para>
2064+ </listitem>
2065+ </itemizedlist>
2066+ </para>
2067+ <para>
2068+ The <structfield>vrefresh</structfield> value is computed by
2069+ <function>drm_helper_probe_single_connector_modes</function>.
2070+ </para>
2071+ <para>
2072+ When parsing EDID data, <function>drm_add_edid_modes</function> fill the
2073+ connector <structfield>display_info</structfield>
2074+ <structfield>width_mm</structfield> and
2075+ <structfield>height_mm</structfield> fields. When creating modes
2076+ manually the <methodname>get_modes</methodname> helper operation must
2077+ set the <structfield>display_info</structfield>
2078+ <structfield>width_mm</structfield> and
2079+ <structfield>height_mm</structfield> fields if they haven't been set
2080+ already (for instance at initilization time when a fixed-size panel is
2081+ attached to the connector). The mode <structfield>width_mm</structfield>
2082+ and <structfield>height_mm</structfield> fields are only used internally
2083+ during EDID parsing and should not be set when creating modes manually.
2084+ </para>
2085+ </listitem>
2086+ <listitem>
2087+ <synopsis>int (*mode_valid)(struct drm_connector *connector,
2088+ struct drm_display_mode *mode);</synopsis>
2089+ <para>
2090+ Verify whether a mode is valid for the connector. Return MODE_OK for
2091+ supported modes and one of the enum drm_mode_status values (MODE_*)
2092+ for unsupported modes. This operation is mandatory.
2093+ </para>
2094+ <para>
2095+ As the mode rejection reason is currently not used beside for
2096+ immediately removing the unsupported mode, an implementation can
2097+ return MODE_BAD regardless of the exact reason why the mode is not
2098+ valid.
2099+ </para>
2100+ <note><para>
2101+ Note that the <methodname>mode_valid</methodname> helper operation is
2102+ only called for modes detected by the device, and
2103+ <emphasis>not</emphasis> for modes set by the user through the CRTC
2104+ <methodname>set_config</methodname> operation.
2105+ </para></note>
2106+ </listitem>
2107+ </itemizedlist>
2108+ </sect2>
6702109 </sect1>
6712110
672− <sect1>
673− <title>Memory management</title>
2111+ <!-- Internals: vertical blanking -->
2112+
2113+ <sect1 id="drm-vertical-blank">
2114+ <title>Vertical Blanking</title>
2115+ <para>
2116+ Vertical blanking plays a major role in graphics rendering. To achieve
2117+ tear-free display, users must synchronize page flips and/or rendering to
2118+ vertical blanking. The DRM API offers ioctls to perform page flips
2119+ synchronized to vertical blanking and wait for vertical blanking.
2120+ </para>
2121+ <para>
2122+ The DRM core handles most of the vertical blanking management logic, which
2123+ involves filtering out spurious interrupts, keeping race-free blanking
2124+ counters, coping with counter wrap-around and resets and keeping use
2125+ counts. It relies on the driver to generate vertical blanking interrupts
2126+ and optionally provide a hardware vertical blanking counter. Drivers must
2127+ implement the following operations.
2128+ </para>
2129+ <itemizedlist>
2130+ <listitem>
2131+ <synopsis>int (*enable_vblank) (struct drm_device *dev, int crtc);
2132+void (*disable_vblank) (struct drm_device *dev, int crtc);</synopsis>
2133+ <para>
2134+ Enable or disable vertical blanking interrupts for the given CRTC.
2135+ </para>
2136+ </listitem>
2137+ <listitem>
2138+ <synopsis>u32 (*get_vblank_counter) (struct drm_device *dev, int crtc);</synopsis>
2139+ <para>
2140+ Retrieve the value of the vertical blanking counter for the given
2141+ CRTC. If the hardware maintains a vertical blanking counter its value
2142+ should be returned. Otherwise drivers can use the
2143+ <function>drm_vblank_count</function> helper function to handle this
2144+ operation.
2145+ </para>
2146+ </listitem>
2147+ </itemizedlist>
6742148 <para>
675− The memory manager lies at the heart of many DRM operations; it
676− is required to support advanced client features like OpenGL
677− pbuffers. The DRM currently contains two memory managers: TTM
678− and GEM.
2149+ Drivers must initialize the vertical blanking handling core with a call to
2150+ <function>drm_vblank_init</function> in their
2151+ <methodname>load</methodname> operation. The function will set the struct
2152+ <structname>drm_device</structname>
2153+ <structfield>vblank_disable_allowed</structfield> field to 0. This will
2154+ keep vertical blanking interrupts enabled permanently until the first mode
2155+ set operation, where <structfield>vblank_disable_allowed</structfield> is
2156+ set to 1. The reason behind this is not clear. Drivers can set the field
2157+ to 1 after <function>calling drm_vblank_init</function> to make vertical
2158+ blanking interrupts dynamically managed from the beginning.
6792159 </para>
2160+ <para>
2161+ Vertical blanking interrupts can be enabled by the DRM core or by drivers
2162+ themselves (for instance to handle page flipping operations). The DRM core
2163+ maintains a vertical blanking use count to ensure that the interrupts are
2164+ not disabled while a user still needs them. To increment the use count,
2165+ drivers call <function>drm_vblank_get</function>. Upon return vertical
2166+ blanking interrupts are guaranteed to be enabled.
2167+ </para>
2168+ <para>
2169+ To decrement the use count drivers call
2170+ <function>drm_vblank_put</function>. Only when the use count drops to zero
2171+ will the DRM core disable the vertical blanking interrupts after a delay
2172+ by scheduling a timer. The delay is accessible through the vblankoffdelay
2173+ module parameter or the <varname>drm_vblank_offdelay</varname> global
2174+ variable and expressed in milliseconds. Its default value is 5000 ms.
2175+ </para>
2176+ <para>
2177+ When a vertical blanking interrupt occurs drivers only need to call the
2178+ <function>drm_handle_vblank</function> function to account for the
2179+ interrupt.
2180+ </para>
2181+ <para>
2182+ Resources allocated by <function>drm_vblank_init</function> must be freed
2183+ with a call to <function>drm_vblank_cleanup</function> in the driver
2184+ <methodname>unload</methodname> operation handler.
2185+ </para>
2186+ </sect1>
2187+
2188+ <!-- Internals: open/close, file operations and ioctls -->
6802189
2190+ <sect1>
2191+ <title>Open/Close, File Operations and IOCTLs</title>
6812192 <sect2>
682− <title>The Translation Table Manager (TTM)</title>
2193+ <title>Open and Close</title>
2194+ <synopsis>int (*firstopen) (struct drm_device *);
2195+void (*lastclose) (struct drm_device *);
2196+int (*open) (struct drm_device *, struct drm_file *);
2197+void (*preclose) (struct drm_device *, struct drm_file *);
2198+void (*postclose) (struct drm_device *, struct drm_file *);</synopsis>
2199+ <abstract>Open and close handlers. None of those methods are mandatory.
2200+ </abstract>
6832201 <para>
684− TTM was developed by Tungsten Graphics, primarily by Thomas
685− Hellström, and is intended to be a flexible, high performance
686− graphics memory manager.
2202+ The <methodname>firstopen</methodname> method is called by the DRM core
2203+ when an application opens a device that has no other opened file handle.
2204+ Similarly the <methodname>lastclose</methodname> method is called when
2205+ the last application holding a file handle opened on the device closes
2206+ it. Both methods are mostly used for UMS (User Mode Setting) drivers to
2207+ acquire and release device resources which should be done in the
2208+ <methodname>load</methodname> and <methodname>unload</methodname>
2209+ methods for KMS drivers.
6872210 </para>
6882211 <para>
689− Drivers wishing to support TTM must fill out a drm_bo_driver
690− structure.
2212+ Note that the <methodname>lastclose</methodname> method is also called
2213+ at module unload time or, for hot-pluggable devices, when the device is
2214+ unplugged. The <methodname>firstopen</methodname> and
2215+ <methodname>lastclose</methodname> calls can thus be unbalanced.
6912216 </para>
6922217 <para>
693− TTM design background and information belongs here.
2218+ The <methodname>open</methodname> method is called every time the device
2219+ is opened by an application. Drivers can allocate per-file private data
2220+ in this method and store them in the struct
2221+ <structname>drm_file</structname> <structfield>driver_priv</structfield>
2222+ field. Note that the <methodname>open</methodname> method is called
2223+ before <methodname>firstopen</methodname>.
2224+ </para>
2225+ <para>
2226+ The close operation is split into <methodname>preclose</methodname> and
2227+ <methodname>postclose</methodname> methods. Drivers must stop and
2228+ cleanup all per-file operations in the <methodname>preclose</methodname>
2229+ method. For instance pending vertical blanking and page flip events must
2230+ be cancelled. No per-file operation is allowed on the file handle after
2231+ returning from the <methodname>preclose</methodname> method.
2232+ </para>
2233+ <para>
2234+ Finally the <methodname>postclose</methodname> method is called as the
2235+ last step of the close operation, right before calling the
2236+ <methodname>lastclose</methodname> method if no other open file handle
2237+ exists for the device. Drivers that have allocated per-file private data
2238+ in the <methodname>open</methodname> method should free it here.
2239+ </para>
2240+ <para>
2241+ The <methodname>lastclose</methodname> method should restore CRTC and
2242+ plane properties to default value, so that a subsequent open of the
2243+ device will not inherit state from the previous user.
6942244 </para>
6952245 </sect2>
696−
6972246 <sect2>
698− <title>The Graphics Execution Manager (GEM)</title>
2247+ <title>File Operations</title>
2248+ <synopsis>const struct file_operations *fops</synopsis>
2249+ <abstract>File operations for the DRM device node.</abstract>
6992250 <para>
700− GEM is an Intel project, authored by Eric Anholt and Keith
701− Packard. It provides simpler interfaces than TTM, and is well
702− suited for UMA devices.
2251+ Drivers must define the file operations structure that forms the DRM
2252+ userspace API entry point, even though most of those operations are
2253+ implemented in the DRM core. The <methodname>open</methodname>,
2254+ <methodname>release</methodname> and <methodname>ioctl</methodname>
2255+ operations are handled by
2256+ <programlisting>
2257+ .owner = THIS_MODULE,
2258+ .open = drm_open,
2259+ .release = drm_release,
2260+ .unlocked_ioctl = drm_ioctl,
2261+ #ifdef CONFIG_COMPAT
2262+ .compat_ioctl = drm_compat_ioctl,
2263+ #endif
2264+ </programlisting>
7032265 </para>
7042266 <para>
705− GEM-enabled drivers must provide gem_init_object() and
706− gem_free_object() callbacks to support the core memory
707− allocation routines. They should also provide several driver-specific
708− ioctls to support command execution, pinning, buffer
709− read &amp; write, mapping, and domain ownership transfers.
2267+ Drivers that implement private ioctls that requires 32/64bit
2268+ compatibility support must provide their own
2269+ <methodname>compat_ioctl</methodname> handler that processes private
2270+ ioctls and calls <function>drm_compat_ioctl</function> for core ioctls.
7102271 </para>
7112272 <para>
712− On a fundamental level, GEM involves several operations:
713− <itemizedlist>
714− <listitem>Memory allocation and freeing</listitem>
715− <listitem>Command execution</listitem>
716− <listitem>Aperture management at command execution time</listitem>
717− </itemizedlist>
718− Buffer object allocation is relatively
719− straightforward and largely provided by Linux's shmem layer, which
720− provides memory to back each object. When mapped into the GTT
721− or used in a command buffer, the backing pages for an object are
722− flushed to memory and marked write combined so as to be coherent
723− with the GPU. Likewise, if the CPU accesses an object after the GPU
724− has finished rendering to the object, then the object must be made
725− coherent with the CPU's view
726− of memory, usually involving GPU cache flushing of various kinds.
727− This core CPU&lt;-&gt;GPU coherency management is provided by a
728− device-specific ioctl, which evaluates an object's current domain and
729− performs any necessary flushing or synchronization to put the object
730− into the desired coherency domain (note that the object may be busy,
731− i.e. an active render target; in that case, setting the domain
732− blocks the client and waits for rendering to complete before
733− performing any necessary flushing operations).
734− </para>
735− <para>
736− Perhaps the most important GEM function is providing a command
737− execution interface to clients. Client programs construct command
738− buffers containing references to previously allocated memory objects,
739− and then submit them to GEM. At that point, GEM takes care to bind
740− all the objects into the GTT, execute the buffer, and provide
741− necessary synchronization between clients accessing the same buffers.
742− This often involves evicting some objects from the GTT and re-binding
743− others (a fairly expensive operation), and providing relocation
744− support which hides fixed GTT offsets from clients. Clients must
745− take care not to submit command buffers that reference more objects
746− than can fit in the GTT; otherwise, GEM will reject them and no rendering
747− will occur. Similarly, if several objects in the buffer require
748− fence registers to be allocated for correct rendering (e.g. 2D blits
749− on pre-965 chips), care must be taken not to require more fence
750− registers than are available to the client. Such resource management
751− should be abstracted from the client in libdrm.
2273+ The <methodname>read</methodname> and <methodname>poll</methodname>
2274+ operations provide support for reading DRM events and polling them. They
2275+ are implemented by
2276+ <programlisting>
2277+ .poll = drm_poll,
2278+ .read = drm_read,
2279+ .fasync = drm_fasync,
2280+ .llseek = no_llseek,
2281+ </programlisting>
2282+ </para>
2283+ <para>
2284+ The memory mapping implementation varies depending on how the driver
2285+ manages memory. Pre-GEM drivers will use <function>drm_mmap</function>,
2286+ while GEM-aware drivers will use <function>drm_gem_mmap</function>. See
2287+ <xref linkend="drm-gem"/>.
2288+ <programlisting>
2289+ .mmap = drm_gem_mmap,
2290+ </programlisting>
2291+ </para>
2292+ <para>
2293+ No other file operation is supported by the DRM API.
2294+ </para>
2295+ </sect2>
2296+ <sect2>
2297+ <title>IOCTLs</title>
2298+ <synopsis>struct drm_ioctl_desc *ioctls;
2299+int num_ioctls;</synopsis>
2300+ <abstract>Driver-specific ioctls descriptors table.</abstract>
2301+ <para>
2302+ Driver-specific ioctls numbers start at DRM_COMMAND_BASE. The ioctls
2303+ descriptors table is indexed by the ioctl number offset from the base
2304+ value. Drivers can use the DRM_IOCTL_DEF_DRV() macro to initialize the
2305+ table entries.
2306+ </para>
2307+ <para>
2308+ <programlisting>DRM_IOCTL_DEF_DRV(ioctl, func, flags)</programlisting>
2309+ <para>
2310+ <parameter>ioctl</parameter> is the ioctl name. Drivers must define
2311+ the DRM_##ioctl and DRM_IOCTL_##ioctl macros to the ioctl number
2312+ offset from DRM_COMMAND_BASE and the ioctl number respectively. The
2313+ first macro is private to the device while the second must be exposed
2314+ to userspace in a public header.
2315+ </para>
2316+ <para>
2317+ <parameter>func</parameter> is a pointer to the ioctl handler function
2318+ compatible with the <type>drm_ioctl_t</type> type.
2319+ <programlisting>typedef int drm_ioctl_t(struct drm_device *dev, void *data,
2320+ struct drm_file *file_priv);</programlisting>
2321+ </para>
2322+ <para>
2323+ <parameter>flags</parameter> is a bitmask combination of the following
2324+ values. It restricts how the ioctl is allowed to be called.
2325+ <itemizedlist>
2326+ <listitem><para>
2327+ DRM_AUTH - Only authenticated callers allowed
2328+ </para></listitem>
2329+ <listitem><para>
2330+ DRM_MASTER - The ioctl can only be called on the master file
2331+ handle
2332+ </para></listitem>
2333+ <listitem><para>
2334+ DRM_ROOT_ONLY - Only callers with the SYSADMIN capability allowed
2335+ </para></listitem>
2336+ <listitem><para>
2337+ DRM_CONTROL_ALLOW - The ioctl can only be called on a control
2338+ device
2339+ </para></listitem>
2340+ <listitem><para>
2341+ DRM_UNLOCKED - The ioctl handler will be called without locking
2342+ the DRM global mutex
2343+ </para></listitem>
2344+ </itemizedlist>
2345+ </para>
7522346 </para>
7532347 </sect2>
754−
755− </sect1>
756−
757− <!-- Output management -->
758− <sect1>
759− <title>Output management</title>
760− <para>
761− At the core of the DRM output management code is a set of
762− structures representing CRTCs, encoders, and connectors.
763− </para>
764− <para>
765− A CRTC is an abstraction representing a part of the chip that
766− contains a pointer to a scanout buffer. Therefore, the number
767− of CRTCs available determines how many independent scanout
768− buffers can be active at any given time. The CRTC structure
769− contains several fields to support this: a pointer to some video
770− memory, a display mode, and an (x, y) offset into the video
771− memory to support panning or configurations where one piece of
772− video memory spans multiple CRTCs.
773− </para>
774− <para>
775− An encoder takes pixel data from a CRTC and converts it to a
776− format suitable for any attached connectors. On some devices,
777− it may be possible to have a CRTC send data to more than one
778− encoder. In that case, both encoders would receive data from
779− the same scanout buffer, resulting in a "cloned" display
780− configuration across the connectors attached to each encoder.
781− </para>
782− <para>
783− A connector is the final destination for pixel data on a device,
784− and usually connects directly to an external display device like
785− a monitor or laptop panel. A connector can only be attached to
786− one encoder at a time. The connector is also the structure
787− where information about the attached display is kept, so it
788− contains fields for display data, EDID data, DPMS &amp;
789− connection status, and information about modes supported on the
790− attached displays.
791− </para>
792−<!--!Edrivers/char/drm/drm_crtc.c-->
793− </sect1>
794−
795− <sect1>
796− <title>Framebuffer management</title>
797− <para>
798− Clients need to provide a framebuffer object which provides a source
799− of pixels for a CRTC to deliver to the encoder(s) and ultimately the
800− connector(s). A framebuffer is fundamentally a driver-specific memory
801− object, made into an opaque handle by the DRM's addfb() function.
802− Once a framebuffer has been created this way, it may be passed to the
803− KMS mode setting routines for use in a completed configuration.
804− </para>
8052348 </sect1>
8062349
8072350 <sect1>
@@ -812,15 +2355,24 @@ void intel_crt_init(struct drm_device *dev) · 4 unmodified lines
8122355 </para>
8132356 </sect1>
8142357
2358+ <!-- Internals: suspend/resume -->
2359+
8152360 <sect1>
816− <title>Suspend/resume</title>
2361+ <title>Suspend/Resume</title>
2362+ <para>
2363+ The DRM core provides some suspend/resume code, but drivers wanting full
2364+ suspend/resume support should provide save() and restore() functions.
2365+ These are called at suspend, hibernate, or resume time, and should perform
2366+ any state save or restore required by your device across suspend or
2367+ hibernate states.
2368+ </para>
2369+ <synopsis>int (*suspend) (struct drm_device *, pm_message_t state);
2370+int (*resume) (struct drm_device *);</synopsis>
8172371 <para>
818− The DRM core provides some suspend/resume code, but drivers
819− wanting full suspend/resume support should provide save() and
820− restore() functions. These are called at suspend,
821− hibernate, or resume time, and should perform any state save or
822− restore required by your device across suspend or hibernate
823− states.
2372+ Those are legacy suspend and resume methods. New driver should use the
2373+ power management interface provided by their bus type (usually through
2374+ the struct <structname>device_driver</structname> dev_pm_ops) and set
2375+ these methods to NULL.
8242376 </para>
8252377 </sect1>
8262378
@@ -833,6 +2385,35 @@ void intel_crt_init(struct drm_device *dev) · 6 unmodified lines
8332385 </sect1>
8342386 </chapter>
8352387
2388+<!-- TODO
2389+
2390+- Add a glossary
2391+- Document the struct_mutex catch-all lock
2392+- Document connector properties
2393+
2394+- Why is the load method optional?
2395+- What are drivers supposed to set the initial display state to, and how?
2396+ Connector's DPMS states are not initialized and are thus equal to
2397+ DRM_MODE_DPMS_ON. The fbcon compatibility layer calls
2398+ drm_helper_disable_unused_functions(), which disables unused encoders and
2399+ CRTCs, but doesn't touch the connectors' DPMS state, and
2400+ drm_helper_connector_dpms() in reaction to fbdev blanking events. Do drivers
2401+ that don't implement (or just don't use) fbcon compatibility need to call
2402+ those functions themselves?
2403+- KMS drivers must call drm_vblank_pre_modeset() and drm_vblank_post_modeset()
2404+ around mode setting. Should this be done in the DRM core?
2405+- vblank_disable_allowed is set to 1 in the first drm_vblank_post_modeset()
2406+ call and never set back to 0. It seems to be safe to permanently set it to 1
2407+ in drm_vblank_init() for KMS driver, and it might be safe for UMS drivers as
2408+ well. This should be investigated.
2409+- crtc and connector .save and .restore operations are only used internally in
2410+ drivers, should they be removed from the core?
2411+- encoder mid-layer .save and .restore operations are only used internally in
2412+ drivers, should they be removed from the core?
2413+- encoder mid-layer .detect operation is only used internally in drivers,
2414+ should it be removed from the core?
2415+-->
2416+
8362417 <!-- External interfaces -->
8372418
8382419 <chapter id="drmExternals">
@@ -853,6 +2434,42 @@ void intel_crt_init(struct drm_device *dev) · 14 unmodified lines
8532434 Cover generic ioctls and sysfs layout here. We only need high-level
8542435 info, since man pages should cover the rest.
8552436 </para>
2437+
2438+ <!-- External: vblank handling -->
2439+
2440+ <sect1>
2441+ <title>VBlank event handling</title>
2442+ <para>
2443+ The DRM core exposes two vertical blank related ioctls:
2444+ <variablelist>
2445+ <varlistentry>
2446+ <term>DRM_IOCTL_WAIT_VBLANK</term>
2447+ <listitem>
2448+ <para>
2449+ This takes a struct drm_wait_vblank structure as its argument,
2450+ and it is used to block or request a signal when a specified
2451+ vblank event occurs.
2452+ </para>
2453+ </listitem>
2454+ </varlistentry>
2455+ <varlistentry>
2456+ <term>DRM_IOCTL_MODESET_CTL</term>
2457+ <listitem>
2458+ <para>
2459+ This should be called by application level drivers before and
2460+ after mode setting, since on many devices the vertical blank
2461+ counter is reset at that time. Internally, the DRM snapshots
2462+ the last vblank count when the ioctl is called with the
2463+ _DRM_PRE_MODESET command, so that the counter won't go backwards
2464+ (which is dealt with when _DRM_POST_MODESET is used).
2465+ </para>
2466+ </listitem>
2467+ </varlistentry>
2468+ </variablelist>
2469+<!--!Edrivers/char/drm/drm_irq.c-->
2470+ </para>
2471+ </sect1>
2472+
8562473 </chapter>
8572474
8582475 <!-- API reference -->
Documentation/DocBook/media/Makefile+39−39
@@ -56,15 +56,15 @@ FUNCS = \ · 55 unmodified lines
5656 write \
5757
5858 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) \
59+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/videodev2.h) \
60+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/audio.h) \
61+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/ca.h) \
62+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/dmx.h) \
63+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/frontend.h) \
64+ $(shell perl -ne 'print "$$1 " if /\#define\s+([A-Z][^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/net.h) \
65+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/dvb/video.h) \
66+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/media.h) \
67+ $(shell perl -ne 'print "$$1 " if /\#define\s+([^\s]+)\s+_IO/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \
6868 VIDIOC_SUBDEV_G_FRAME_INTERVAL \
6969 VIDIOC_SUBDEV_S_FRAME_INTERVAL \
7070 VIDIOC_SUBDEV_ENUM_MBUS_CODE \
@@ -74,32 +74,32 @@ IOCTLS = \ · 3 unmodified lines
7474 VIDIOC_SUBDEV_S_SELECTION \
7575
7676 TYPES = \
77− $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/linux/videodev2.h) \
78− $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/linux/dvb/frontend.h)
77+ $(shell perl -ne 'print "$$1 " if /^typedef\s+[^\s]+\s+([^\s]+)\;/' $(srctree)/include/uapi/linux/videodev2.h) \
78+ $(shell perl -ne 'print "$$1 " if /^}\s+([a-z0-9_]+_t)/' $(srctree)/include/uapi/linux/dvb/frontend.h)
7979
8080 ENUMS = \
81− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \
82− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/audio.h) \
83− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/ca.h) \
84− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/dmx.h) \
85− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/frontend.h) \
86− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/net.h) \
87− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/dvb/video.h) \
88− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \
89− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h) \
90− $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h)
81+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \
82+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/audio.h) \
83+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/ca.h) \
84+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/dmx.h) \
85+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/frontend.h) \
86+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/net.h) \
87+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/dvb/video.h) \
88+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \
89+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h) \
90+ $(shell perl -ne 'print "$$1 " if /^enum\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h)
9191
9292 STRUCTS = \
93− $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/videodev2.h) \
94− $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/linux/dvb/audio.h) \
95− $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/ca.h) \
96− $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/dmx.h) \
97− $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/frontend.h) \
98− $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/linux/dvb/net.h) \
99− $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/linux/dvb/video.h) \
100− $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/media.h) \
101− $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-subdev.h) \
102− $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/linux/v4l2-mediabus.h)
93+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/videodev2.h) \
94+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s\{]+)\s*/)' $(srctree)/include/uapi/linux/dvb/audio.h) \
95+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/ca.h) \
96+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/dmx.h) \
97+ $(shell perl -ne 'print "$$1 " if (!/dtv\_cmds\_h/ && /^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/frontend.h) \
98+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([A-Z][^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/net.h) \
99+ $(shell perl -ne 'print "$$1 " if (/^struct\s+([^\s]+)\s+/)' $(srctree)/include/uapi/linux/dvb/video.h) \
100+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/media.h) \
101+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-subdev.h) \
102+ $(shell perl -ne 'print "$$1 " if /^struct\s+([^\s]+)\s+/' $(srctree)/include/uapi/linux/v4l2-mediabus.h)
103103
104104 ERRORS = \
105105 E2BIG \
@@ -205,7 +205,7 @@ $(MEDIA_OBJ_DIR)/v4l2.xml: $(OBJIMGFILES) · 99 unmodified lines
205205 @(ln -sf $(MEDIA_SRC_DIR)/v4l/*xml $(MEDIA_OBJ_DIR)/)
206206 @(ln -sf $(MEDIA_SRC_DIR)/dvb/*xml $(MEDIA_OBJ_DIR)/)
207207
208−$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml
208+$(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/uapi/linux/videodev2.h $(MEDIA_OBJ_DIR)/v4l2.xml
209209 @$($(quiet)gen_xml)
210210 @( \
211211 echo "<programlisting>") > $@
@@ -216,7 +216,7 @@ $(MEDIA_OBJ_DIR)/videodev2.h.xml: $(srctree)/include/linux/videodev2.h $(MEDIA_O · 4 unmodified lines
216216 @( \
217217 echo "</programlisting>") >> $@
218218
219−$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml
219+$(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/uapi/linux/dvb/audio.h $(MEDIA_OBJ_DIR)/v4l2.xml
220220 @$($(quiet)gen_xml)
221221 @( \
222222 echo "<programlisting>") > $@
@@ -227,7 +227,7 @@ $(MEDIA_OBJ_DIR)/audio.h.xml: $(srctree)/include/linux/dvb/audio.h $(MEDIA_OBJ_D · 4 unmodified lines
227227 @( \
228228 echo "</programlisting>") >> $@
229229
230−$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml
230+$(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/uapi/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4l2.xml
231231 @$($(quiet)gen_xml)
232232 @( \
233233 echo "<programlisting>") > $@
@@ -238,7 +238,7 @@ $(MEDIA_OBJ_DIR)/ca.h.xml: $(srctree)/include/linux/dvb/ca.h $(MEDIA_OBJ_DIR)/v4 · 4 unmodified lines
238238 @( \
239239 echo "</programlisting>") >> $@
240240
241−$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml
241+$(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/uapi/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/v4l2.xml
242242 @$($(quiet)gen_xml)
243243 @( \
244244 echo "<programlisting>") > $@
@@ -249,7 +249,7 @@ $(MEDIA_OBJ_DIR)/dmx.h.xml: $(srctree)/include/linux/dvb/dmx.h $(MEDIA_OBJ_DIR)/ · 4 unmodified lines
249249 @( \
250250 echo "</programlisting>") >> $@
251251
252−$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml
252+$(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/uapi/linux/dvb/frontend.h $(MEDIA_OBJ_DIR)/v4l2.xml
253253 @$($(quiet)gen_xml)
254254 @( \
255255 echo "<programlisting>") > $@
@@ -260,7 +260,7 @@ $(MEDIA_OBJ_DIR)/frontend.h.xml: $(srctree)/include/linux/dvb/frontend.h $(MEDIA · 4 unmodified lines
260260 @( \
261261 echo "</programlisting>") >> $@
262262
263−$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml
263+$(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/uapi/linux/dvb/net.h $(MEDIA_OBJ_DIR)/v4l2.xml
264264 @$($(quiet)gen_xml)
265265 @( \
266266 echo "<programlisting>") > $@
@@ -271,7 +271,7 @@ $(MEDIA_OBJ_DIR)/net.h.xml: $(srctree)/include/linux/dvb/net.h $(MEDIA_OBJ_DIR)/ · 4 unmodified lines
271271 @( \
272272 echo "</programlisting>") >> $@
273273
274−$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml
274+$(MEDIA_OBJ_DIR)/video.h.xml: $(srctree)/include/uapi/linux/dvb/video.h $(MEDIA_OBJ_DIR)/v4l2.xml
275275 @$($(quiet)gen_xml)
276276 @( \
277277 echo "<programlisting>") > $@
@@ -300,7 +300,7 @@ $(MEDIA_OBJ_DIR)/media-entities.tmpl: $(MEDIA_OBJ_DIR)/v4l2.xml · 22 unmodified lines
300300 @( \
301301 for ident in $(IOCTLS) ; do \
302302 entity=`echo $$ident | tr _ -` ; \
303− id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \
303+ id=`grep "<refname>$$ident" $(MEDIA_OBJ_DIR)/vidioc-*.xml $(MEDIA_OBJ_DIR)/media-ioc-*.xml | sed -r s,"^.*/(.*).xml.*","\1",` ; \
304304 echo "<!ENTITY $$entity \"<link" \
305305 "linkend='$$id'><constant>$$ident</constant></link>\">" \
306306 >>$@ ; \
Documentation/DocBook/media/dvb/audio.xml+112−1
@@ -1,12 +1,16 @@
11 <title>DVB Audio Device</title>
22 <para>The DVB audio device controls the MPEG2 audio decoder of the DVB hardware. It
33 can be accessed through <emphasis role="tt">/dev/dvb/adapter0/audio0</emphasis>. Data types and and
4−ioctl definitions can be accessed by including <emphasis role="tt">linux/dvb/video.h</emphasis> in your
4+ioctl definitions can be accessed by including <emphasis role="tt">linux/dvb/audio.h</emphasis> in your
55 application.
66 </para>
77 <para>Please note that some DVB cards don&#8217;t have their own MPEG decoder, which results in
88 the omission of the audio and video device.
99 </para>
10+<para>
11+These ioctls were also used by V4L2 to control MPEG decoders implemented in V4L2. The use
12+of these ioctls for that purpose has been made obsolete and proper V4L2 ioctls or controls
13+have been created to replace that functionality.</para>
1014
1115 <section id="audio_data_types">
1216 <title>Audio Data Types</title>
@@ -558,6 +562,8 @@ role="subsection"><title>AUDIO_SELECT_SOURCE</title> · 545 unmodified lines
558562 role="subsection"><title>AUDIO_SET_MUTE</title>
559563 <para>DESCRIPTION
560564 </para>
565+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
566+&VIDIOC-DECODER-CMD; with the <constant>V4L2_DEC_CMD_START_MUTE_AUDIO</constant> flag instead.</para>
561567 <informaltable><tgroup cols="1"><tbody><row><entry
562568 align="char">
563569 <para>This ioctl call asks the audio device to mute the stream that is currently being
@@ -730,6 +736,8 @@ role="subsection"><title>AUDIO_SET_BYPASS_MODE</title> · 166 unmodified lines
730736 role="subsection"><title>AUDIO_CHANNEL_SELECT</title>
731737 <para>DESCRIPTION
732738 </para>
739+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
740+<constant>V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK</constant> control instead.</para>
733741 <informaltable><tgroup cols="1"><tbody><row><entry
734742 align="char">
735743 <para>This ioctl call asks the Audio Device to select the requested channel if possible.</para>
@@ -772,6 +780,109 @@ role="subsection"><title>AUDIO_CHANNEL_SELECT</title> · 36 unmodified lines
772780 </row></tbody></tgroup></informaltable>
773781 &return-value-dvb;
774782
783+</section><section id="AUDIO_BILINGUAL_CHANNEL_SELECT"
784+role="subsection"><title>AUDIO_BILINGUAL_CHANNEL_SELECT</title>
785+<para>DESCRIPTION
786+</para>
787+<para>This ioctl is obsolete. Do not use in new drivers. It has been replaced by
788+the V4L2 <constant>V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK</constant> control
789+for MPEG decoders controlled through V4L2.</para>
790+<informaltable><tgroup cols="1"><tbody><row><entry
791+ align="char">
792+<para>This ioctl call asks the Audio Device to select the requested channel for bilingual streams if possible.</para>
793+</entry>
794+ </row></tbody></tgroup></informaltable>
795+<para>SYNOPSIS
796+</para>
797+<informaltable><tgroup cols="1"><tbody><row><entry
798+ align="char">
799+<para>int ioctl(int fd, int request =
800+ AUDIO_BILINGUAL_CHANNEL_SELECT, audio_channel_select_t);</para>
801+</entry>
802+ </row></tbody></tgroup></informaltable>
803+<para>PARAMETERS
804+</para>
805+<informaltable><tgroup cols="2"><tbody><row><entry
806+ align="char">
807+<para>int fd</para>
808+</entry><entry
809+ align="char">
810+<para>File descriptor returned by a previous call to open().</para>
811+</entry>
812+ </row><row><entry
813+ align="char">
814+<para>int request</para>
815+</entry><entry
816+ align="char">
817+<para>Equals AUDIO_BILINGUAL_CHANNEL_SELECT for this
818+ command.</para>
819+</entry>
820+ </row><row><entry
821+ align="char">
822+<para>audio_channel_select_t
823+ch</para>
824+</entry><entry
825+ align="char">
826+<para>Select the output format of the audio (mono left/right,
827+ stereo).</para>
828+</entry>
829+ </row>
830+</tbody></tgroup></informaltable>
831+&return-value-dvb;
832+
833+</section><section id="AUDIO_GET_PTS"
834+role="subsection"><title>AUDIO_GET_PTS</title>
835+<para>DESCRIPTION
836+</para>
837+<para>This ioctl is obsolete. Do not use in new drivers. If you need this functionality,
838+then please contact the linux-media mailing list (&v4l-ml;).</para>
839+<informaltable><tgroup cols="1"><tbody><row><entry
840+ align="char">
841+<para>This ioctl call asks the Audio Device to return the current PTS timestamp.</para>
842+</entry>
843+ </row></tbody></tgroup></informaltable>
844+<para>SYNOPSIS
845+</para>
846+<informaltable><tgroup cols="1"><tbody><row><entry
847+ align="char">
848+<para>int ioctl(int fd, int request =
849+ AUDIO_GET_PTS, __u64 *pts);</para>
850+</entry>
851+ </row></tbody></tgroup></informaltable>
852+<para>PARAMETERS
853+</para>
854+<informaltable><tgroup cols="2"><tbody><row><entry
855+ align="char">
856+<para>int fd</para>
857+</entry><entry
858+ align="char">
859+<para>File descriptor returned by a previous call to open().</para>
860+</entry>
861+ </row><row><entry
862+ align="char">
863+<para>int request</para>
864+</entry><entry
865+ align="char">
866+<para>Equals AUDIO_GET_PTS for this
867+ command.</para>
868+</entry>
869+ </row><row><entry
870+ align="char">
871+<para>__u64 *pts
872+</para>
873+</entry><entry
874+ align="char">
875+<para>Returns the 33-bit timestamp as defined in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
876+</para>
877+<para>
878+The PTS should belong to the currently played
879+frame if possible, but may also be a value close to it
880+like the PTS of the last decoded frame or the last PTS
881+extracted by the PES parser.</para>
882+</entry>
883+ </row></tbody></tgroup></informaltable>
884+&return-value-dvb;
885+
775886 </section><section id="AUDIO_GET_STATUS"
776887 role="subsection"><title>AUDIO_GET_STATUS</title>
777888 <para>DESCRIPTION
Documentation/DocBook/media/dvb/ca.xml+353−0
@@ -226,4 +226,357 @@ typedef struct ca_pid { · 225 unmodified lines
226226 </entry>
227227 </row></tbody></tgroup></informaltable>
228228 </section>
229+
230+<section id="CA_RESET"
231+role="subsection"><title>CA_RESET</title>
232+<para>DESCRIPTION
233+</para>
234+<informaltable><tgroup cols="1"><tbody><row><entry
235+ align="char">
236+<para>This ioctl is undocumented. Documentation is welcome.</para>
237+</entry>
238+ </row></tbody></tgroup></informaltable>
239+<para>SYNOPSIS
240+</para>
241+<informaltable><tgroup cols="1"><tbody><row><entry
242+ align="char">
243+<para>int ioctl(fd, int request = CA_RESET);
244+</para>
245+</entry>
246+ </row></tbody></tgroup></informaltable>
247+<para>PARAMETERS
248+</para>
249+<informaltable><tgroup cols="2"><tbody><row><entry
250+ align="char">
251+<para>int fd</para>
252+</entry><entry
253+ align="char">
254+<para>File descriptor returned by a previous call to open().</para>
255+</entry>
256+ </row><row><entry
257+ align="char">
258+<para>int request</para>
259+</entry><entry
260+ align="char">
261+<para>Equals CA_RESET for this command.</para>
262+</entry>
263+ </row></tbody></tgroup></informaltable>
264+&return-value-dvb;
265+</section>
266+
267+<section id="CA_GET_CAP"
268+role="subsection"><title>CA_GET_CAP</title>
269+<para>DESCRIPTION
270+</para>
271+<informaltable><tgroup cols="1"><tbody><row><entry
272+ align="char">
273+<para>This ioctl is undocumented. Documentation is welcome.</para>
274+</entry>
275+ </row></tbody></tgroup></informaltable>
276+<para>SYNOPSIS
277+</para>
278+<informaltable><tgroup cols="1"><tbody><row><entry
279+ align="char">
280+<para>int ioctl(fd, int request = CA_GET_CAP,
281+ ca_caps_t *);</para>
282+</entry>
283+ </row></tbody></tgroup></informaltable>
284+<para>PARAMETERS
285+</para>
286+<informaltable><tgroup cols="2"><tbody><row><entry
287+ align="char">
288+<para>int fd</para>
289+</entry><entry
290+ align="char">
291+<para>File descriptor returned by a previous call to open().</para>
292+</entry>
293+ </row><row><entry
294+ align="char">
295+<para>int request</para>
296+</entry><entry
297+ align="char">
298+<para>Equals CA_GET_CAP for this command.</para>
299+</entry>
300+ </row><row><entry
301+ align="char">
302+<para>ca_caps_t *
303+</para>
304+</entry><entry
305+ align="char">
306+<para>Undocumented.</para>
307+</entry>
308+ </row></tbody></tgroup></informaltable>
309+&return-value-dvb;
310+</section>
311+
312+<section id="CA_GET_SLOT_INFO"
313+role="subsection"><title>CA_GET_SLOT_INFO</title>
314+<para>DESCRIPTION
315+</para>
316+<informaltable><tgroup cols="1"><tbody><row><entry
317+ align="char">
318+<para>This ioctl is undocumented. Documentation is welcome.</para>
319+</entry>
320+ </row></tbody></tgroup></informaltable>
321+<para>SYNOPSIS
322+</para>
323+<informaltable><tgroup cols="1"><tbody><row><entry
324+ align="char">
325+<para>int ioctl(fd, int request = CA_GET_SLOT_INFO,
326+ ca_slot_info_t *);</para>
327+</entry>
328+ </row></tbody></tgroup></informaltable>
329+<para>PARAMETERS
330+</para>
331+<informaltable><tgroup cols="2"><tbody><row><entry
332+ align="char">
333+<para>int fd</para>
334+</entry><entry
335+ align="char">
336+<para>File descriptor returned by a previous call to open().</para>
337+</entry>
338+ </row><row><entry
339+ align="char">
340+<para>int request</para>
341+</entry><entry
342+ align="char">
343+<para>Equals CA_GET_SLOT_INFO for this command.</para>
344+</entry>
345+ </row><row><entry
346+ align="char">
347+<para>ca_slot_info_t *
348+</para>
349+</entry><entry
350+ align="char">
351+<para>Undocumented.</para>
352+</entry>
353+ </row></tbody></tgroup></informaltable>
354+&return-value-dvb;
355+</section>
356+
357+<section id="CA_GET_DESCR_INFO"
358+role="subsection"><title>CA_GET_DESCR_INFO</title>
359+<para>DESCRIPTION
360+</para>
361+<informaltable><tgroup cols="1"><tbody><row><entry
362+ align="char">
363+<para>This ioctl is undocumented. Documentation is welcome.</para>
364+</entry>
365+ </row></tbody></tgroup></informaltable>
366+<para>SYNOPSIS
367+</para>
368+<informaltable><tgroup cols="1"><tbody><row><entry
369+ align="char">
370+<para>int ioctl(fd, int request = CA_GET_DESCR_INFO,
371+ ca_descr_info_t *);</para>
372+</entry>
373+ </row></tbody></tgroup></informaltable>
374+<para>PARAMETERS
375+</para>
376+<informaltable><tgroup cols="2"><tbody><row><entry
377+ align="char">
378+<para>int fd</para>
379+</entry><entry
380+ align="char">
381+<para>File descriptor returned by a previous call to open().</para>
382+</entry>
383+ </row><row><entry
384+ align="char">
385+<para>int request</para>
386+</entry><entry
387+ align="char">
388+<para>Equals CA_GET_DESCR_INFO for this command.</para>
389+</entry>
390+ </row><row><entry
391+ align="char">
392+<para>ca_descr_info_t *
393+</para>
394+</entry><entry
395+ align="char">
396+<para>Undocumented.</para>
397+</entry>
398+ </row></tbody></tgroup></informaltable>
399+&return-value-dvb;
400+</section>
401+
402+<section id="CA_GET_MSG"
403+role="subsection"><title>CA_GET_MSG</title>
404+<para>DESCRIPTION
405+</para>
406+<informaltable><tgroup cols="1"><tbody><row><entry
407+ align="char">
408+<para>This ioctl is undocumented. Documentation is welcome.</para>
409+</entry>
410+ </row></tbody></tgroup></informaltable>
411+<para>SYNOPSIS
412+</para>
413+<informaltable><tgroup cols="1"><tbody><row><entry
414+ align="char">
415+<para>int ioctl(fd, int request = CA_GET_MSG,
416+ ca_msg_t *);</para>
417+</entry>
418+ </row></tbody></tgroup></informaltable>
419+<para>PARAMETERS
420+</para>
421+<informaltable><tgroup cols="2"><tbody><row><entry
422+ align="char">
423+<para>int fd</para>
424+</entry><entry
425+ align="char">
426+<para>File descriptor returned by a previous call to open().</para>
427+</entry>
428+ </row><row><entry
429+ align="char">
430+<para>int request</para>
431+</entry><entry
432+ align="char">
433+<para>Equals CA_GET_MSG for this command.</para>
434+</entry>
435+ </row><row><entry
436+ align="char">
437+<para>ca_msg_t *
438+</para>
439+</entry><entry
440+ align="char">
441+<para>Undocumented.</para>
442+</entry>
443+ </row></tbody></tgroup></informaltable>
444+&return-value-dvb;
445+</section>
446+
447+<section id="CA_SEND_MSG"
448+role="subsection"><title>CA_SEND_MSG</title>
449+<para>DESCRIPTION
450+</para>
451+<informaltable><tgroup cols="1"><tbody><row><entry
452+ align="char">
453+<para>This ioctl is undocumented. Documentation is welcome.</para>
454+</entry>
455+ </row></tbody></tgroup></informaltable>
456+<para>SYNOPSIS
457+</para>
458+<informaltable><tgroup cols="1"><tbody><row><entry
459+ align="char">
460+<para>int ioctl(fd, int request = CA_SEND_MSG,
461+ ca_msg_t *);</para>
462+</entry>
463+ </row></tbody></tgroup></informaltable>
464+<para>PARAMETERS
465+</para>
466+<informaltable><tgroup cols="2"><tbody><row><entry
467+ align="char">
468+<para>int fd</para>
469+</entry><entry
470+ align="char">
471+<para>File descriptor returned by a previous call to open().</para>
472+</entry>
473+ </row><row><entry
474+ align="char">
475+<para>int request</para>
476+</entry><entry
477+ align="char">
478+<para>Equals CA_SEND_MSG for this command.</para>
479+</entry>
480+ </row><row><entry
481+ align="char">
482+<para>ca_msg_t *
483+</para>
484+</entry><entry
485+ align="char">
486+<para>Undocumented.</para>
487+</entry>
488+ </row></tbody></tgroup></informaltable>
489+&return-value-dvb;
490+</section>
491+
492+<section id="CA_SET_DESCR"
493+role="subsection"><title>CA_SET_DESCR</title>
494+<para>DESCRIPTION
495+</para>
496+<informaltable><tgroup cols="1"><tbody><row><entry
497+ align="char">
498+<para>This ioctl is undocumented. Documentation is welcome.</para>
499+</entry>
500+ </row></tbody></tgroup></informaltable>
501+<para>SYNOPSIS
502+</para>
503+<informaltable><tgroup cols="1"><tbody><row><entry
504+ align="char">
505+<para>int ioctl(fd, int request = CA_SET_DESCR,
506+ ca_descr_t *);</para>
507+</entry>
508+ </row></tbody></tgroup></informaltable>
509+<para>PARAMETERS
510+</para>
511+<informaltable><tgroup cols="2"><tbody><row><entry
512+ align="char">
513+<para>int fd</para>
514+</entry><entry
515+ align="char">
516+<para>File descriptor returned by a previous call to open().</para>
517+</entry>
518+ </row><row><entry
519+ align="char">
520+<para>int request</para>
521+</entry><entry
522+ align="char">
523+<para>Equals CA_SET_DESCR for this command.</para>
524+</entry>
525+ </row><row><entry
526+ align="char">
527+<para>ca_descr_t *
528+</para>
529+</entry><entry
530+ align="char">
531+<para>Undocumented.</para>
532+</entry>
533+ </row></tbody></tgroup></informaltable>
534+&return-value-dvb;
535+</section>
536+
537+<section id="CA_SET_PID"
538+role="subsection"><title>CA_SET_PID</title>
539+<para>DESCRIPTION
540+</para>
541+<informaltable><tgroup cols="1"><tbody><row><entry
542+ align="char">
543+<para>This ioctl is undocumented. Documentation is welcome.</para>
544+</entry>
545+ </row></tbody></tgroup></informaltable>
546+<para>SYNOPSIS
547+</para>
548+<informaltable><tgroup cols="1"><tbody><row><entry
549+ align="char">
550+<para>int ioctl(fd, int request = CA_SET_PID,
551+ ca_pid_t *);</para>
552+</entry>
553+ </row></tbody></tgroup></informaltable>
554+<para>PARAMETERS
555+</para>
556+<informaltable><tgroup cols="2"><tbody><row><entry
557+ align="char">
558+<para>int fd</para>
559+</entry><entry
560+ align="char">
561+<para>File descriptor returned by a previous call to open().</para>
562+</entry>
563+ </row><row><entry
564+ align="char">
565+<para>int request</para>
566+</entry><entry
567+ align="char">
568+<para>Equals CA_SET_PID for this command.</para>
569+</entry>
570+ </row><row><entry
571+ align="char">
572+<para>ca_pid_t *
573+</para>
574+</entry><entry
575+ align="char">
576+<para>Undocumented.</para>
577+</entry>
578+ </row></tbody></tgroup></informaltable>
579+&return-value-dvb;
580+</section>
581+
229582 </section>
Documentation/DocBook/media/dvb/demux.xml+229−1
@@ -899,4 +899,232 @@ typedef enum { · 898 unmodified lines
899899 <para>Invalid stc number.</para>
900900 </entry>
901901 </row></tbody></tgroup></informaltable>
902− </section></section>
902+ </section>
903+
904+<section id="DMX_GET_PES_PIDS"
905+role="subsection"><title>DMX_GET_PES_PIDS</title>
906+<para>DESCRIPTION
907+</para>
908+<informaltable><tgroup cols="1"><tbody><row><entry
909+ align="char">
910+<para>This ioctl is undocumented. Documentation is welcome.</para>
911+</entry>
912+ </row></tbody></tgroup></informaltable>
913+<para>SYNOPSIS
914+</para>
915+<informaltable><tgroup cols="1"><tbody><row><entry
916+ align="char">
917+<para>int ioctl(fd, int request = DMX_GET_PES_PIDS,
918+ __u16[5]);</para>
919+</entry>
920+ </row></tbody></tgroup></informaltable>
921+<para>PARAMETERS
922+</para>
923+<informaltable><tgroup cols="2"><tbody><row><entry
924+ align="char">
925+<para>int fd</para>
926+</entry><entry
927+ align="char">
928+<para>File descriptor returned by a previous call to open().</para>
929+</entry>
930+ </row><row><entry
931+ align="char">
932+<para>int request</para>
933+</entry><entry
934+ align="char">
935+<para>Equals DMX_GET_PES_PIDS for this command.</para>
936+</entry>
937+ </row><row><entry
938+ align="char">
939+<para>__u16[5]
940+</para>
941+</entry><entry
942+ align="char">
943+<para>Undocumented.</para>
944+</entry>
945+ </row></tbody></tgroup></informaltable>
946+&return-value-dvb;
947+</section>
948+
949+<section id="DMX_GET_CAPS"
950+role="subsection"><title>DMX_GET_CAPS</title>
951+<para>DESCRIPTION
952+</para>
953+<informaltable><tgroup cols="1"><tbody><row><entry
954+ align="char">
955+<para>This ioctl is undocumented. Documentation is welcome.</para>
956+</entry>
957+ </row></tbody></tgroup></informaltable>
958+<para>SYNOPSIS
959+</para>
960+<informaltable><tgroup cols="1"><tbody><row><entry
961+ align="char">
962+<para>int ioctl(fd, int request = DMX_GET_CAPS,
963+ dmx_caps_t *);</para>
964+</entry>
965+ </row></tbody></tgroup></informaltable>
966+<para>PARAMETERS
967+</para>
968+<informaltable><tgroup cols="2"><tbody><row><entry
969+ align="char">
970+<para>int fd</para>
971+</entry><entry
972+ align="char">
973+<para>File descriptor returned by a previous call to open().</para>
974+</entry>
975+ </row><row><entry
976+ align="char">
977+<para>int request</para>
978+</entry><entry
979+ align="char">
980+<para>Equals DMX_GET_CAPS for this command.</para>
981+</entry>
982+ </row><row><entry
983+ align="char">
984+<para>dmx_caps_t *
985+</para>
986+</entry><entry
987+ align="char">
988+<para>Undocumented.</para>
989+</entry>
990+ </row></tbody></tgroup></informaltable>
991+&return-value-dvb;
992+</section>
993+
994+<section id="DMX_SET_SOURCE"
995+role="subsection"><title>DMX_SET_SOURCE</title>
996+<para>DESCRIPTION
997+</para>
998+<informaltable><tgroup cols="1"><tbody><row><entry
999+ align="char">
1000+<para>This ioctl is undocumented. Documentation is welcome.</para>
1001+</entry>
1002+ </row></tbody></tgroup></informaltable>
1003+<para>SYNOPSIS
1004+</para>
1005+<informaltable><tgroup cols="1"><tbody><row><entry
1006+ align="char">
1007+<para>int ioctl(fd, int request = DMX_SET_SOURCE,
1008+ dmx_source_t *);</para>
1009+</entry>
1010+ </row></tbody></tgroup></informaltable>
1011+<para>PARAMETERS
1012+</para>
1013+<informaltable><tgroup cols="2"><tbody><row><entry
1014+ align="char">
1015+<para>int fd</para>
1016+</entry><entry
1017+ align="char">
1018+<para>File descriptor returned by a previous call to open().</para>
1019+</entry>
1020+ </row><row><entry
1021+ align="char">
1022+<para>int request</para>
1023+</entry><entry
1024+ align="char">
1025+<para>Equals DMX_SET_SOURCE for this command.</para>
1026+</entry>
1027+ </row><row><entry
1028+ align="char">
1029+<para>dmx_source_t *
1030+</para>
1031+</entry><entry
1032+ align="char">
1033+<para>Undocumented.</para>
1034+</entry>
1035+ </row></tbody></tgroup></informaltable>
1036+&return-value-dvb;
1037+</section>
1038+
1039+<section id="DMX_ADD_PID"
1040+role="subsection"><title>DMX_ADD_PID</title>
1041+<para>DESCRIPTION
1042+</para>
1043+<informaltable><tgroup cols="1"><tbody><row><entry
1044+ align="char">
1045+<para>This ioctl is undocumented. Documentation is welcome.</para>
1046+</entry>
1047+ </row></tbody></tgroup></informaltable>
1048+<para>SYNOPSIS
1049+</para>
1050+<informaltable><tgroup cols="1"><tbody><row><entry
1051+ align="char">
1052+<para>int ioctl(fd, int request = DMX_ADD_PID,
1053+ __u16 *);</para>
1054+</entry>
1055+ </row></tbody></tgroup></informaltable>
1056+<para>PARAMETERS
1057+</para>
1058+<informaltable><tgroup cols="2"><tbody><row><entry
1059+ align="char">
1060+<para>int fd</para>
1061+</entry><entry
1062+ align="char">
1063+<para>File descriptor returned by a previous call to open().</para>
1064+</entry>
1065+ </row><row><entry
1066+ align="char">
1067+<para>int request</para>
1068+</entry><entry
1069+ align="char">
1070+<para>Equals DMX_ADD_PID for this command.</para>
1071+</entry>
1072+ </row><row><entry
1073+ align="char">
1074+<para>__u16 *
1075+</para>
1076+</entry><entry
1077+ align="char">
1078+<para>Undocumented.</para>
1079+</entry>
1080+ </row></tbody></tgroup></informaltable>
1081+&return-value-dvb;
1082+</section>
1083+
1084+<section id="DMX_REMOVE_PID"
1085+role="subsection"><title>DMX_REMOVE_PID</title>
1086+<para>DESCRIPTION
1087+</para>
1088+<informaltable><tgroup cols="1"><tbody><row><entry
1089+ align="char">
1090+<para>This ioctl is undocumented. Documentation is welcome.</para>
1091+</entry>
1092+ </row></tbody></tgroup></informaltable>
1093+<para>SYNOPSIS
1094+</para>
1095+<informaltable><tgroup cols="1"><tbody><row><entry
1096+ align="char">
1097+<para>int ioctl(fd, int request = DMX_REMOVE_PID,
1098+ __u16 *);</para>
1099+</entry>
1100+ </row></tbody></tgroup></informaltable>
1101+<para>PARAMETERS
1102+</para>
1103+<informaltable><tgroup cols="2"><tbody><row><entry
1104+ align="char">
1105+<para>int fd</para>
1106+</entry><entry
1107+ align="char">
1108+<para>File descriptor returned by a previous call to open().</para>
1109+</entry>
1110+ </row><row><entry
1111+ align="char">
1112+<para>int request</para>
1113+</entry><entry
1114+ align="char">
1115+<para>Equals DMX_REMOVE_PID for this command.</para>
1116+</entry>
1117+ </row><row><entry
1118+ align="char">
1119+<para>__u16 *
1120+</para>
1121+</entry><entry
1122+ align="char">
1123+<para>Undocumented.</para>
1124+</entry>
1125+ </row></tbody></tgroup></informaltable>
1126+&return-value-dvb;
1127+</section>
1128+
1129+
1130+</section>
Documentation/DocBook/media/dvb/dvbapi.xml+2−2
@@ -28,7 +28,7 @@ · 27 unmodified lines
2828 <holder>Convergence GmbH</holder>
2929 </copyright>
3030 <copyright>
31− <year>2009-2011</year>
31+ <year>2009-2012</year>
3232 <holder>Mauro Carvalho Chehab</holder>
3333 </copyright>
3434
@@ -84,7 +84,7 @@ Added ISDB-T test originally written by Patrick Boettcher · 49 unmodified lines
8484
8585
8686 <title>LINUX DVB API</title>
87−<subtitle>Version 5.2</subtitle>
87+<subtitle>Version 5.8</subtitle>
8888 <!-- ADD THE CHAPTERS HERE -->
8989 <chapter id="dvb_introdution">
9090 &sub-intro;
Documentation/DocBook/media/dvb/dvbproperty.xml+95−18
@@ -194,6 +194,7 @@ get/set up to 64 properties. The actual meaning of each property is described on · 193 unmodified lines
194194 APSK_16,
195195 APSK_32,
196196 DQPSK,
197+ QAM_4_NR,
197198 } fe_modulation_t;
198199 </programlisting>
199200 </section>
@@ -265,6 +266,7 @@ typedef enum fe_code_rate { · 65 unmodified lines
265266 FEC_AUTO,
266267 FEC_3_5,
267268 FEC_9_10,
269+ FEC_2_5,
268270 } fe_code_rate_t;
269271 </programlisting>
270272 <para>which correspond to error correction rates of 1/2, 2/3, etc.,
@@ -351,7 +353,7 @@ typedef enum fe_delivery_system { · 80 unmodified lines
351353 SYS_ISDBC,
352354 SYS_ATSC,
353355 SYS_ATSCMH,
354− SYS_DMBTH,
356+ SYS_DTMB,
355357 SYS_CMMB,
356358 SYS_DAB,
357359 SYS_DVBT2,
@@ -567,28 +569,33 @@ typedef enum fe_delivery_system { · 209 unmodified lines
567569 <title><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></title>
568570 <para>RS frame mode.</para>
569571 <para>Possible values are:</para>
572+ <para id="atscmh-rs-frame-mode">
570573 <programlisting>
571574 typedef enum atscmh_rs_frame_mode {
572575 ATSCMH_RSFRAME_PRI_ONLY = 0,
573576 ATSCMH_RSFRAME_PRI_SEC = 1,
574577 } atscmh_rs_frame_mode_t;
575578 </programlisting>
579+ </para>
576580 </section>
577581 <section id="DTV-ATSCMH-RS-FRAME-ENSEMBLE">
578582 <title><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></title>
579583 <para>RS frame ensemble.</para>
580584 <para>Possible values are:</para>
585+ <para id="atscmh-rs-frame-ensemble">
581586 <programlisting>
582587 typedef enum atscmh_rs_frame_ensemble {
583588 ATSCMH_RSFRAME_ENS_PRI = 0,
584589 ATSCMH_RSFRAME_ENS_SEC = 1,
585590 } atscmh_rs_frame_ensemble_t;
586591 </programlisting>
592+ </para>
587593 </section>
588594 <section id="DTV-ATSCMH-RS-CODE-MODE-PRI">
589595 <title><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></title>
590596 <para>RS code mode (primary).</para>
591597 <para>Possible values are:</para>
598+ <para id="atscmh-rs-code-mode">
592599 <programlisting>
593600 typedef enum atscmh_rs_code_mode {
594601 ATSCMH_RSCODE_211_187 = 0,
@@ -596,6 +603,7 @@ typedef enum atscmh_rs_code_mode { · 1 unmodified line
596603 ATSCMH_RSCODE_235_187 = 2,
597604 } atscmh_rs_code_mode_t;
598605 </programlisting>
606+ </para>
599607 </section>
600608 <section id="DTV-ATSCMH-RS-CODE-MODE-SEC">
601609 <title><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></title>
@@ -613,23 +621,27 @@ typedef enum atscmh_rs_code_mode { · 11 unmodified lines
613621 <title><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></title>
614622 <para>Series Concatenated Convolutional Code Block Mode.</para>
615623 <para>Possible values are:</para>
624+ <para id="atscmh-sccc-block-mode">
616625 <programlisting>
617626 typedef enum atscmh_sccc_block_mode {
618627 ATSCMH_SCCC_BLK_SEP = 0,
619628 ATSCMH_SCCC_BLK_COMB = 1,
620629 } atscmh_sccc_block_mode_t;
621630 </programlisting>
631+ </para>
622632 </section>
623633 <section id="DTV-ATSCMH-SCCC-CODE-MODE-A">
624634 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></title>
625635 <para>Series Concatenated Convolutional Code Rate.</para>
626636 <para>Possible values are:</para>
637+ <para id="atscmh-sccc-code-mode">
627638 <programlisting>
628639 typedef enum atscmh_sccc_code_mode {
629640 ATSCMH_SCCC_CODE_HLF = 0,
630641 ATSCMH_SCCC_CODE_QTR = 1,
631642 } atscmh_sccc_code_mode_t;
632643 </programlisting>
644+ </para>
633645 </section>
634646 <section id="DTV-ATSCMH-SCCC-CODE-MODE-B">
635647 <title><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></title>
@@ -725,6 +737,9 @@ typedef enum fe_guard_interval { · 89 unmodified lines
725737 GUARD_INTERVAL_1_128,
726738 GUARD_INTERVAL_19_128,
727739 GUARD_INTERVAL_19_256,
740+ GUARD_INTERVAL_PN420,
741+ GUARD_INTERVAL_PN595,
742+ GUARD_INTERVAL_PN945,
728743 } fe_guard_interval_t;
729744 </programlisting>
730745
@@ -733,6 +748,7 @@ typedef enum fe_guard_interval { · 2 unmodified lines
733748 try to find the correct guard interval (if capable) and will use TMCC to fill
734749 in the missing parameters.</para>
735750 <para>2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at present</para>
751+ <para>3) DTMB specifies PN420, PN595 and PN945.</para>
736752 </section>
737753 <section id="DTV-TRANSMISSION-MODE">
738754 <title><constant>DTV_TRANSMISSION_MODE</constant></title>
@@ -749,6 +765,8 @@ typedef enum fe_transmit_mode { · 10 unmodified lines
749765 TRANSMISSION_MODE_1K,
750766 TRANSMISSION_MODE_16K,
751767 TRANSMISSION_MODE_32K,
768+ TRANSMISSION_MODE_C1,
769+ TRANSMISSION_MODE_C3780,
752770 } fe_transmit_mode_t;
753771 </programlisting>
754772 <para>Notes:</para>
@@ -760,6 +778,7 @@ typedef enum fe_transmit_mode { · 5 unmodified lines
760778 use TMCC to fill in the missing parameters.</para>
761779 <para>3) DVB-T specifies 2K and 8K as valid sizes.</para>
762780 <para>4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.</para>
781+ <para>5) DTMB specifies C1 and C3780.</para>
763782 </section>
764783 <section id="DTV-HIERARCHY">
765784 <title><constant>DTV_HIERARCHY</constant></title>
@@ -774,17 +793,28 @@ typedef enum fe_hierarchy { · 8 unmodified lines
774793 } fe_hierarchy_t;
775794 </programlisting>
776795 </section>
777− <section id="DTV-ISDBS-TS-ID">
778− <title><constant>DTV_ISDBS_TS_ID</constant></title>
779− <para>Currently unused.</para>
796+ <section id="DTV-STREAM-ID">
797+ <title><constant>DTV_STREAM_ID</constant></title>
798+ <para>DVB-S2, DVB-T2 and ISDB-S support the transmission of several
799+ streams on a single transport stream.
800+ This property enables the DVB driver to handle substream filtering,
801+ when supported by the hardware.
802+ By default, substream filtering is disabled.
803+ </para><para>
804+ For DVB-S2 and DVB-T2, the valid substream id range is from 0 to 255.
805+ </para><para>
806+ For ISDB, the valid substream id range is from 1 to 65535.
807+ </para><para>
808+ To disable it, you should use the special macro NO_STREAM_ID_FILTER.
809+ </para><para>
810+ Note: any value outside the id range also disables filtering.
811+ </para>
780812 </section>
781− <section id="DTV-DVBT2-PLP-ID">
782− <title><constant>DTV_DVBT2_PLP_ID</constant></title>
783− <para>DVB-T2 supports Physical Layer Pipes (PLP) to allow transmission of
784− many data types via a single multiplex. The API will soon support this
785− at which point this section will be expanded.</para>
813+ <section id="DTV-DVBT2-PLP-ID-LEGACY">
814+ <title><constant>DTV_DVBT2_PLP_ID_LEGACY</constant></title>
815+ <para>Obsolete, replaced with DTV_STREAM_ID.</para>
786816 </section>
787− <section id="DTV_ENUM_DELSYS">
817+ <section id="DTV-ENUM-DELSYS">
788818 <title><constant>DTV_ENUM_DELSYS</constant></title>
789819 <para>A Multi standard frontend needs to advertise the delivery systems provided.
790820 Applications need to enumerate the provided delivery systems, before using
@@ -796,6 +826,29 @@ typedef enum fe_hierarchy { · 5 unmodified lines
796826 FE_GET_INFO. In the case of a legacy frontend, the result is just the same
797827 as with FE_GET_INFO, but in a more structured format </para>
798828 </section>
829+ <section id="DTV-INTERLEAVING">
830+ <title><constant>DTV_INTERLEAVING</constant></title>
831+ <para id="fe-interleaving">Interleaving mode</para>
832+ <programlisting>
833+enum fe_interleaving {
834+ INTERLEAVING_NONE,
835+ INTERLEAVING_AUTO,
836+ INTERLEAVING_240,
837+ INTERLEAVING_720,
838+};
839+ </programlisting>
840+ </section>
841+ <section id="DTV-LNA">
842+ <title><constant>DTV_LNA</constant></title>
843+ <para>Low-noise amplifier.</para>
844+ <para>Hardware might offer controllable LNA which can be set manually
845+ using that parameter. Usually LNA could be found only from
846+ terrestrial devices if at all.</para>
847+ <para>Possible values: 0, 1, LNA_AUTO</para>
848+ <para>0, LNA off</para>
849+ <para>1, LNA on</para>
850+ <para>use the special macro LNA_AUTO to set LNA auto</para>
851+ </section>
799852 </section>
800853 <section id="frontend-property-terrestrial-systems">
801854 <title>Properties used on terrestrial delivery systems</title>
@@ -816,6 +869,7 @@ typedef enum fe_hierarchy { · 14 unmodified lines
816869 <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
817870 <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
818871 <listitem><para><link linkend="DTV-HIERARCHY"><constant>DTV_HIERARCHY</constant></link></para></listitem>
872+ <listitem><para><link linkend="DTV-LNA"><constant>DTV_LNA</constant></link></para></listitem>
819873 </itemizedlist>
820874 </section>
821875 <section id="dvbt2-params">
@@ -838,7 +892,8 @@ typedef enum fe_hierarchy { · 16 unmodified lines
838892 <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
839893 <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
840894 <listitem><para><link linkend="DTV-HIERARCHY"><constant>DTV_HIERARCHY</constant></link></para></listitem>
841− <listitem><para><link linkend="DTV-DVBT2-PLP-ID"><constant>DTV_DVBT2_PLP_ID</constant></link></para></listitem>
895+ <listitem><para><link linkend="DTV-STREAM-ID"><constant>DTV_STREAM_ID</constant></link></para></listitem>
896+ <listitem><para><link linkend="DTV-LNA"><constant>DTV_LNA</constant></link></para></listitem>
842897 </itemizedlist>
843898 </section>
844899 <section id="isdbt">
@@ -925,13 +980,32 @@ typedef enum fe_hierarchy { · 80 unmodified lines
925980 <listitem><para><link linkend="DTV-ATSCMH-PRC"><constant>DTV_ATSCMH_PRC</constant></link></para></listitem>
926981 <listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-MODE"><constant>DTV_ATSCMH_RS_FRAME_MODE</constant></link></para></listitem>
927982 <listitem><para><link linkend="DTV-ATSCMH-RS-FRAME-ENSEMBLE"><constant>DTV_ATSCMH_RS_FRAME_ENSEMBLE</constant></link></para></listitem>
928− <listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-PRI"><constant>DTV_ATSCMH_CODE_MODE_PRI</constant></link></para></listitem>
929− <listitem><para><link linkend="DTV-ATSCMH-CODE-MODE-SEC"><constant>DTV_ATSCMH_CODE_MODE_SEC</constant></link></para></listitem>
983+ <listitem><para><link linkend="DTV-ATSCMH-RS-CODE-MODE-PRI"><constant>DTV_ATSCMH_RS_CODE_MODE_PRI</constant></link></para></listitem>
984+ <listitem><para><link linkend="DTV-ATSCMH-RS-CODE-MODE-SEC"><constant>DTV_ATSCMH_RS_CODE_MODE_SEC</constant></link></para></listitem>
930985 <listitem><para><link linkend="DTV-ATSCMH-SCCC-BLOCK-MODE"><constant>DTV_ATSCMH_SCCC_BLOCK_MODE</constant></link></para></listitem>
931− <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-A"><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></link></para></listitem>
932− <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-B"><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></link></para></listitem>
933− <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-C"><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></link></para></listitem>
934− <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE_MODE-D"><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></link></para></listitem>
986+ <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE-MODE-A"><constant>DTV_ATSCMH_SCCC_CODE_MODE_A</constant></link></para></listitem>
987+ <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE-MODE-B"><constant>DTV_ATSCMH_SCCC_CODE_MODE_B</constant></link></para></listitem>
988+ <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE-MODE-C"><constant>DTV_ATSCMH_SCCC_CODE_MODE_C</constant></link></para></listitem>
989+ <listitem><para><link linkend="DTV-ATSCMH-SCCC-CODE-MODE-D"><constant>DTV_ATSCMH_SCCC_CODE_MODE_D</constant></link></para></listitem>
990+ </itemizedlist>
991+ </section>
992+ <section id="dtmb-params">
993+ <title>DTMB delivery system</title>
994+ <para>The following parameters are valid for DTMB:</para>
995+ <itemizedlist mark='opencircle'>
996+ <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem>
997+ <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem>
998+ <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem>
999+ <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem>
1000+ <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
1001+ <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
1002+ <listitem><para><link linkend="DTV-BANDWIDTH-HZ"><constant>DTV_BANDWIDTH_HZ</constant></link></para></listitem>
1003+ <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
1004+ <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
1005+ <listitem><para><link linkend="DTV-GUARD-INTERVAL"><constant>DTV_GUARD_INTERVAL</constant></link></para></listitem>
1006+ <listitem><para><link linkend="DTV-TRANSMISSION-MODE"><constant>DTV_TRANSMISSION_MODE</constant></link></para></listitem>
1007+ <listitem><para><link linkend="DTV-INTERLEAVING"><constant>DTV_INTERLEAVING</constant></link></para></listitem>
1008+ <listitem><para><link linkend="DTV-LNA"><constant>DTV_LNA</constant></link></para></listitem>
9351009 </itemizedlist>
9361010 </section>
9371011 </section>
@@ -952,6 +1026,7 @@ typedef enum fe_hierarchy { · 14 unmodified lines
9521026 <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
9531027 <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
9541028 <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
1029+ <listitem><para><link linkend="DTV-LNA"><constant>DTV_LNA</constant></link></para></listitem>
9551030 </itemizedlist>
9561031 </section>
9571032 <section id="dvbc-annex-b-params">
@@ -966,6 +1041,7 @@ typedef enum fe_hierarchy { · 8 unmodified lines
9661041 <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem>
9671042 <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
9681043 <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem>
1044+ <listitem><para><link linkend="DTV-LNA"><constant>DTV_LNA</constant></link></para></listitem>
9691045 </itemizedlist>
9701046 </section>
9711047 </section>
@@ -999,6 +1075,7 @@ typedef enum fe_hierarchy { · 27 unmodified lines
9991075 <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem>
10001076 <listitem><para><link linkend="DTV-PILOT"><constant>DTV_PILOT</constant></link></para></listitem>
10011077 <listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem>
1078+ <listitem><para><link linkend="DTV-STREAM-ID"><constant>DTV_STREAM_ID</constant></link></para></listitem>
10021079 </itemizedlist>
10031080 </section>
10041081 <section id="turbo-params">
@@ -1021,7 +1098,7 @@ typedef enum fe_hierarchy { · 16 unmodified lines
10211098 <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem>
10221099 <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem>
10231100 <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem>
1024− <listitem><para><link linkend="DTV-ISDBS-TS-ID"><constant>DTV_ISDBS_TS_ID</constant></link></para></listitem>
1101+ <listitem><para><link linkend="DTV-STREAM-ID"><constant>DTV_STREAM_ID</constant></link></para></listitem>
10251102 </itemizedlist>
10261103 </section>
10271104 </section>
Documentation/DocBook/media/dvb/frontend.xml+50−21
@@ -66,7 +66,7 @@ supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET · 65 unmodified lines
6666
6767 <para>The usage of this field is deprecated, as it doesn't report all supported standards, and
6868 will provide an incomplete information for frontends that support multiple delivery systems.
69−Please use <link linkend="DTV_ENUM_DELSYS">DTV_ENUM_DELSYS</link> instead.</para>
69+Please use <link linkend="DTV-ENUM-DELSYS">DTV_ENUM_DELSYS</link> instead.</para>
7070 </section>
7171
7272 <section id="fe-caps-t">
@@ -101,6 +101,7 @@ a specific frontend type.</para> · 28 unmodified lines
101101 FE_CAN_8VSB = 0x200000,
102102 FE_CAN_16VSB = 0x400000,
103103 FE_HAS_EXTENDED_CAPS = 0x800000,
104+ FE_CAN_MULTISTREAM = 0x4000000,
104105 FE_CAN_TURBO_FEC = 0x8000000,
105106 FE_CAN_2G_MODULATION = 0x10000000,
106107 FE_NEEDS_BENDING = 0x20000000,
@@ -207,18 +208,44 @@ spec.</para> · 100 unmodified lines
207208 <para>Several functions of the frontend device use the fe_status data type defined
208209 by</para>
209210 <programlisting>
210− typedef enum fe_status {
211− FE_HAS_SIGNAL = 0x01, /&#x22C6; found something above the noise level &#x22C6;/
212− FE_HAS_CARRIER = 0x02, /&#x22C6; found a DVB signal &#x22C6;/
213− FE_HAS_VITERBI = 0x04, /&#x22C6; FEC is stable &#x22C6;/
214− FE_HAS_SYNC = 0x08, /&#x22C6; found sync bytes &#x22C6;/
215− FE_HAS_LOCK = 0x10, /&#x22C6; everything's working... &#x22C6;/
216− FE_TIMEDOUT = 0x20, /&#x22C6; no lock within the last ~2 seconds &#x22C6;/
217− FE_REINIT = 0x40 /&#x22C6; frontend was reinitialized, &#x22C6;/
218− } fe_status_t; /&#x22C6; application is recommned to reset &#x22C6;/
211+typedef enum fe_status {
212+ FE_HAS_SIGNAL = 0x01,
213+ FE_HAS_CARRIER = 0x02,
214+ FE_HAS_VITERBI = 0x04,
215+ FE_HAS_SYNC = 0x08,
216+ FE_HAS_LOCK = 0x10,
217+ FE_TIMEDOUT = 0x20,
218+ FE_REINIT = 0x40,
219+} fe_status_t;
219220 </programlisting>
220−<para>to indicate the current state and/or state changes of the frontend hardware.
221−</para>
221+<para>to indicate the current state and/or state changes of the frontend hardware:
222+</para>
223+
224+<informaltable><tgroup cols="2"><tbody>
225+<row>
226+<entry align="char">FE_HAS_SIGNAL</entry>
227+<entry align="char">The frontend has found something above the noise level</entry>
228+</row><row>
229+<entry align="char">FE_HAS_CARRIER</entry>
230+<entry align="char">The frontend has found a DVB signal</entry>
231+</row><row>
232+<entry align="char">FE_HAS_VITERBI</entry>
233+<entry align="char">The frontend FEC code is stable</entry>
234+</row><row>
235+<entry align="char">FE_HAS_SYNC</entry>
236+<entry align="char">Syncronization bytes was found</entry>
237+</row><row>
238+<entry align="char">FE_HAS_LOCK</entry>
239+<entry align="char">The DVB were locked and everything is working</entry>
240+</row><row>
241+<entry align="char">FE_TIMEDOUT</entry>
242+<entry align="char">no lock within the last about 2 seconds</entry>
243+</row><row>
244+<entry align="char">FE_REINIT</entry>
245+<entry align="char">The frontend was reinitialized, application is
246+recommended to reset DiSEqC, tone and parameters</entry>
247+</row>
248+</tbody></tgroup></informaltable>
222249
223250 </section>
224251
@@ -238,7 +265,7 @@ and to add newer delivery systems.</para> · 13 unmodified lines
238265 <constant>FE_GET_PROPERTY/FE_SET_PROPERTY</constant></link> instead, in
239266 order to be able to support the newer System Delivery like DVB-S2, DVB-T2,
240267 DVB-C2, ISDB, etc.</para>
241−<para>All kinds of parameters are combined as an union in the FrontendParameters structure:</para>
268+<para>All kinds of parameters are combined as an union in the FrontendParameters structure:
242269 <programlisting>
243270 struct dvb_frontend_parameters {
244271 uint32_t frequency; /&#x22C6; (absolute) frequency in Hz for QAM/OFDM &#x22C6;/
@@ -251,12 +278,13 @@ struct dvb_frontend_parameters { · 6 unmodified lines
251278 struct dvb_vsb_parameters vsb;
252279 } u;
253280 };
254−</programlisting>
281+</programlisting></para>
255282 <para>In the case of QPSK frontends the <constant>frequency</constant> field specifies the intermediate
256283 frequency, i.e. the offset which is effectively added to the local oscillator frequency (LOF) of
257284 the LNB. The intermediate frequency has to be specified in units of kHz. For QAM and
258285 OFDM frontends the <constant>frequency</constant> specifies the absolute frequency and is given in Hz.
259286 </para>
287+
260288 <section id="dvb-qpsk-parameters">
261289 <title>QPSK parameters</title>
262290 <para>For satellite QPSK frontends you have to use the <constant>dvb_qpsk_parameters</constant> structure:</para>
@@ -321,8 +349,8 @@ itself. · 58 unmodified lines
321349 <section id="fe-code-rate-t">
322350 <title>frontend code rate</title>
323351 <para>The possible values for the <constant>fec_inner</constant> field used on
324−<link refend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and
325−<link refend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are:
352+<link linkend="dvb-qpsk-parameters"><constant>struct dvb_qpsk_parameters</constant></link> and
353+<link linkend="dvb-qam-parameters"><constant>struct dvb_qam_parameters</constant></link> are:
326354 </para>
327355 <programlisting>
328356 typedef enum fe_code_rate {
@@ -347,9 +375,9 @@ detection. · 18 unmodified lines
347375 <section id="fe-modulation-t">
348376 <title>frontend modulation type for QAM, OFDM and VSB</title>
349377 <para>For cable and terrestrial frontends, e. g. for
350−<link refend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>,
351−<link refend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and
352−<link refend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>,
378+<link linkend="dvb-qam-parameters"><constant>struct dvb_qpsk_parameters</constant></link>,
379+<link linkend="dvb-ofdm-parameters"><constant>struct dvb_qam_parameters</constant></link> and
380+<link linkend="dvb-vsb-parameters"><constant>struct dvb_qam_parameters</constant></link>,
353381 it needs to specify the quadrature modulation mode which can be one of the following:
354382 </para>
355383 <programlisting>
@@ -370,8 +398,8 @@ it needs to specify the quadrature modulation mode which can be one of the follo · 14 unmodified lines
370398 } fe_modulation_t;
371399 </programlisting>
372400 </section>
373−<para>Finally, there are several more parameters for OFDM:
374−</para>
401+<section>
402+<title>More OFDM parameters</title>
375403 <section id="fe-transmit-mode-t">
376404 <title>Number of carriers per channel</title>
377405 <programlisting>
@@ -427,6 +455,7 @@ typedef enum fe_hierarchy { · 49 unmodified lines
427455 } fe_hierarchy_t;
428456 </programlisting>
429457 </section>
458+</section>
430459
431460 </section>
432461
Documentation/DocBook/media/dvb/intro.xml+1−1
@@ -205,7 +205,7 @@ a partial path like:</para> · 204 unmodified lines
205205 additional include file <emphasis
206206 role="tt">linux/dvb/version.h</emphasis> exists, which defines the
207207 constant <emphasis role="tt">DVB_API_VERSION</emphasis>. This document
208−describes <emphasis role="tt">DVB_API_VERSION 5.4</emphasis>.
208+describes <emphasis role="tt">DVB_API_VERSION 5.8</emphasis>.
209209 </para>
210210
211211 </section>
Documentation/DocBook/media/dvb/kdapi.xml+1−1
@@ -2,7 +2,7 @@ · 1 unmodified line
22 <para>The kernel demux API defines a driver-internal interface for registering low-level,
33 hardware specific driver to a hardware independent demux layer. It is only of interest for
44 DVB device driver writers. The header file for this API is named <emphasis role="tt">demux.h</emphasis> and located in
5−<emphasis role="tt">drivers/media/dvb/dvb-core</emphasis>.
5+<emphasis role="tt">drivers/media/dvb-core</emphasis>.
66 </para>
77 <para>Maintainer note: This section must be reviewed. It is probably out of date.
88 </para>
Documentation/DocBook/media/dvb/net.xml+127−0
@@ -26,4 +26,131 @@ struct dvb_net_if { · 25 unmodified lines
2626 <title>DVB net Function Calls</title>
2727 <para>To be written&#x2026;
2828 </para>
29+
30+<section id="NET_ADD_IF"
31+role="subsection"><title>NET_ADD_IF</title>
32+<para>DESCRIPTION
33+</para>
34+<informaltable><tgroup cols="1"><tbody><row><entry
35+ align="char">
36+<para>This ioctl is undocumented. Documentation is welcome.</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(fd, int request = NET_ADD_IF,
44+ struct dvb_net_if *if);</para>
45+</entry>
46+ </row></tbody></tgroup></informaltable>
47+<para>PARAMETERS
48+</para>
49+<informaltable><tgroup cols="2"><tbody><row><entry
50+ align="char">
51+<para>int fd</para>
52+</entry><entry
53+ align="char">
54+<para>File descriptor returned by a previous call to open().</para>
55+</entry>
56+ </row><row><entry
57+ align="char">
58+<para>int request</para>
59+</entry><entry
60+ align="char">
61+<para>Equals NET_ADD_IF for this command.</para>
62+</entry>
63+ </row><row><entry
64+ align="char">
65+<para>struct dvb_net_if *if
66+</para>
67+</entry><entry
68+ align="char">
69+<para>Undocumented.</para>
70+</entry>
71+ </row></tbody></tgroup></informaltable>
72+&return-value-dvb;
73+</section>
74+
75+<section id="NET_REMOVE_IF"
76+role="subsection"><title>NET_REMOVE_IF</title>
77+<para>DESCRIPTION
78+</para>
79+<informaltable><tgroup cols="1"><tbody><row><entry
80+ align="char">
81+<para>This ioctl is undocumented. Documentation is welcome.</para>
82+</entry>
83+ </row></tbody></tgroup></informaltable>
84+<para>SYNOPSIS
85+</para>
86+<informaltable><tgroup cols="1"><tbody><row><entry
87+ align="char">
88+<para>int ioctl(fd, int request = NET_REMOVE_IF);
89+</para>
90+</entry>
91+ </row></tbody></tgroup></informaltable>
92+<para>PARAMETERS
93+</para>
94+<informaltable><tgroup cols="2"><tbody><row><entry
95+ align="char">
96+<para>int fd</para>
97+</entry><entry
98+ align="char">
99+<para>File descriptor returned by a previous call to open().</para>
100+</entry>
101+ </row><row><entry
102+ align="char">
103+<para>int request</para>
104+</entry><entry
105+ align="char">
106+<para>Equals NET_REMOVE_IF for this command.</para>
107+</entry>
108+ </row></tbody></tgroup></informaltable>
109+&return-value-dvb;
110+</section>
111+
112+<section id="NET_GET_IF"
113+role="subsection"><title>NET_GET_IF</title>
114+<para>DESCRIPTION
115+</para>
116+<informaltable><tgroup cols="1"><tbody><row><entry
117+ align="char">
118+<para>This ioctl is undocumented. Documentation is welcome.</para>
119+</entry>
120+ </row></tbody></tgroup></informaltable>
121+<para>SYNOPSIS
122+</para>
123+<informaltable><tgroup cols="1"><tbody><row><entry
124+ align="char">
125+<para>int ioctl(fd, int request = NET_GET_IF,
126+ struct dvb_net_if *if);</para>
127+</entry>
128+ </row></tbody></tgroup></informaltable>
129+<para>PARAMETERS
130+</para>
131+<informaltable><tgroup cols="2"><tbody><row><entry
132+ align="char">
133+<para>int fd</para>
134+</entry><entry
135+ align="char">
136+<para>File descriptor returned by a previous call to open().</para>
137+</entry>
138+ </row><row><entry
139+ align="char">
140+<para>int request</para>
141+</entry><entry
142+ align="char">
143+<para>Equals NET_GET_IF for this command.</para>
144+</entry>
145+ </row><row><entry
146+ align="char">
147+<para>struct dvb_net_if *if
148+</para>
149+</entry><entry
150+ align="char">
151+<para>Undocumented.</para>
152+</entry>
153+ </row></tbody></tgroup></informaltable>
154+&return-value-dvb;
155+</section>
29156 </section>
Documentation/DocBook/media/dvb/video.xml+322−11
@@ -15,6 +15,10 @@ the audio and video device as well as the video4linux device. · 14 unmodified lines
1515 <para>The ioctls that deal with SPUs (sub picture units) and navigation packets are only
1616 supported on some MPEG decoders made for DVD playback.
1717 </para>
18+<para>
19+These ioctls were also used by V4L2 to control MPEG decoders implemented in V4L2. The use
20+of these ioctls for that purpose has been made obsolete and proper V4L2 ioctls or controls
21+have been created to replace that functionality.</para>
1822 <section id="video_types">
1923 <title>Video Data Types</title>
2024
@@ -55,7 +59,7 @@ typedef enum { · 34 unmodified lines
5559 </section>
5660
5761 <section id="video-stream-source-t">
58−<title>video stream source</title>
62+<title>video_stream_source_t</title>
5963 <para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take
6064 the following values, depending on whether we are replaying from an internal (demuxer) or
6165 external (user write) source.
@@ -76,7 +80,7 @@ call. · 14 unmodified lines
7680 </section>
7781
7882 <section id="video-play-state-t">
79−<title>video play state</title>
83+<title>video_play_state_t</title>
8084 <para>The following values can be returned by the VIDEO_GET_STATUS call representing the
8185 state of video playback.
8286 </para>
@@ -90,9 +94,9 @@ typedef enum { · 7 unmodified lines
9094 </section>
9195
9296 <section id="video-command">
97+<title>struct video_command</title>
9398 <para>The structure must be zeroed before use by the application
9499 This ensures it can be extended safely in the future.</para>
95−<title>struct video-command</title>
96100 <programlisting>
97101 struct video_command {
98102 __u32 cmd;
@@ -121,7 +125,7 @@ struct video_command { · 22 unmodified lines
121125 </section>
122126
123127 <section id="video-size-t">
124−<title>struct video_size-t</title>
128+<title>video_size_t</title>
125129 <programlisting>
126130 typedef struct {
127131 int w;
@@ -217,7 +221,7 @@ bits set according to the hardwares capabilities. · 89 unmodified lines
217221 </section>
218222
219223 <section id="video-system">
220−<title>video system</title>
224+<title>video_system_t</title>
221225 <para>A call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The
222226 following system types can be set:
223227 </para>
@@ -263,7 +267,7 @@ call expects the following format for that information: · 39 unmodified lines
263267
264268 </section>
265269 <section id="video-spu">
266−<title>video SPU</title>
270+<title>struct video_spu</title>
267271 <para>Calling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the
268272 following format:
269273 </para>
@@ -277,12 +281,12 @@ following format: · 7 unmodified lines
277281
278282 </section>
279283 <section id="video-spu-palette">
280−<title>video SPU palette</title>
284+<title>struct video_spu_palette</title>
281285 <para>The following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE:
282286 </para>
283287 <programlisting>
284288 typedef
285− struct video_spu_palette{
289+ struct video_spu_palette {
286290 int length;
287291 uint8_t &#x22C6;palette;
288292 } video_spu_palette_t;
@@ -290,13 +294,13 @@ following format: · 1 unmodified line
290294
291295 </section>
292296 <section id="video-navi-pack">
293−<title>video NAVI pack</title>
297+<title>struct video_navi_pack</title>
294298 <para>In order to get the navigational data the following structure has to be passed to the ioctl
295299 VIDEO_GET_NAVI:
296300 </para>
297301 <programlisting>
298302 typedef
299− struct video_navi_pack{
303+ struct video_navi_pack {
300304 int length; /&#x22C6; 0 ... 1024 &#x22C6;/
301305 uint8_t data[1024];
302306 } video_navi_pack_t;
@@ -305,7 +309,7 @@ VIDEO_GET_NAVI: · 2 unmodified lines
305309
306310
307311 <section id="video-attributes-t">
308−<title>video attributes</title>
312+<title>video_attributes_t</title>
309313 <para>The following attributes can be set by a call to VIDEO_SET_ATTRIBUTES:
310314 </para>
311315 <programlisting>
@@ -541,6 +545,8 @@ VIDEO_GET_NAVI: · 229 unmodified lines
541545 role="subsection"><title>VIDEO_STOP</title>
542546 <para>DESCRIPTION
543547 </para>
548+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
549+&VIDIOC-DECODER-CMD; instead.</para>
544550 <informaltable><tgroup cols="1"><tbody><row><entry
545551 align="char">
546552 <para>This ioctl call asks the Video Device to stop playing the current stream.
@@ -598,6 +604,8 @@ role="subsection"><title>VIDEO_STOP</title> · 51 unmodified lines
598604 role="subsection"><title>VIDEO_PLAY</title>
599605 <para>DESCRIPTION
600606 </para>
607+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
608+&VIDIOC-DECODER-CMD; instead.</para>
601609 <informaltable><tgroup cols="1"><tbody><row><entry
602610 align="char">
603611 <para>This ioctl call asks the Video Device to start playing a video stream from the
@@ -634,6 +642,8 @@ role="subsection"><title>VIDEO_PLAY</title> · 30 unmodified lines
634642 role="subsection"><title>VIDEO_FREEZE</title>
635643 <para>DESCRIPTION
636644 </para>
645+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
646+&VIDIOC-DECODER-CMD; instead.</para>
637647 <informaltable><tgroup cols="1"><tbody><row><entry
638648 align="char">
639649 <para>This ioctl call suspends the live video stream being played. Decoding
@@ -674,6 +684,8 @@ role="subsection"><title>VIDEO_FREEZE</title> · 34 unmodified lines
674684 role="subsection"><title>VIDEO_CONTINUE</title>
675685 <para>DESCRIPTION
676686 </para>
687+<para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2
688+&VIDIOC-DECODER-CMD; instead.</para>
677689 <informaltable><tgroup cols="1"><tbody><row><entry
678690 align="char">
679691 <para>This ioctl call restarts decoding and playing processes of the video stream
@@ -710,6 +722,9 @@ role="subsection"><title>VIDEO_CONTINUE</title> · 30 unmodified lines
710722 role="subsection"><title>VIDEO_SELECT_SOURCE</title>
711723 <para>DESCRIPTION
712724 </para>
725+<para>This ioctl is for DVB devices only. This ioctl was also supported by the
726+V4L2 ivtv driver, but that has been replaced by the ivtv-specific
727+<constant>IVTV_IOC_PASSTHROUGH_MODE</constant> ioctl.</para>
713728 <informaltable><tgroup cols="1"><tbody><row><entry
714729 align="char">
715730 <para>This ioctl call informs the video device which source shall be used for the input
@@ -845,10 +860,160 @@ role="subsection"><title>VIDEO_GET_STATUS</title> · 129 unmodified lines
845860 </row></tbody></tgroup></informaltable>
846861 &return-value-dvb;
847862
863+</section><section id="VIDEO_GET_FRAME_COUNT"
864+role="subsection"><title>VIDEO_GET_FRAME_COUNT</title>
865+<para>DESCRIPTION
866+</para>
867+<para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this
868+ioctl has been replaced by the <constant>V4L2_CID_MPEG_VIDEO_DEC_FRAME</constant> control.</para>
869+<informaltable><tgroup cols="1"><tbody><row><entry
870+ align="char">
871+<para>This ioctl call asks the Video Device to return the number of displayed frames
872+since the decoder was started.</para>
873+</entry>
874+ </row></tbody></tgroup></informaltable>
875+<para>SYNOPSIS
876+</para>
877+<informaltable><tgroup cols="1"><tbody><row><entry
878+ align="char">
879+<para>int ioctl(int fd, int request =
880+ VIDEO_GET_FRAME_COUNT, __u64 *pts);</para>
881+</entry>
882+ </row></tbody></tgroup></informaltable>
883+<para>PARAMETERS
884+</para>
885+<informaltable><tgroup cols="2"><tbody><row><entry
886+ align="char">
887+<para>int fd</para>
888+</entry><entry
889+ align="char">
890+<para>File descriptor returned by a previous call to open().</para>
891+</entry>
892+ </row><row><entry
893+ align="char">
894+<para>int request</para>
895+</entry><entry
896+ align="char">
897+<para>Equals VIDEO_GET_FRAME_COUNT for this
898+ command.</para>
899+</entry>
900+ </row><row><entry
901+ align="char">
902+<para>__u64 *pts
903+</para>
904+</entry><entry
905+ align="char">
906+<para>Returns the number of frames displayed since the decoder was started.
907+</para>
908+</entry>
909+ </row></tbody></tgroup></informaltable>
910+&return-value-dvb;
911+
912+</section><section id="VIDEO_GET_PTS"
913+role="subsection"><title>VIDEO_GET_PTS</title>
914+<para>DESCRIPTION
915+</para>
916+<para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this
917+ioctl has been replaced by the <constant>V4L2_CID_MPEG_VIDEO_DEC_PTS</constant> control.</para>
918+<informaltable><tgroup cols="1"><tbody><row><entry
919+ align="char">
920+<para>This ioctl call asks the Video Device to return the current PTS timestamp.</para>
921+</entry>
922+ </row></tbody></tgroup></informaltable>
923+<para>SYNOPSIS
924+</para>
925+<informaltable><tgroup cols="1"><tbody><row><entry
926+ align="char">
927+<para>int ioctl(int fd, int request =
928+ VIDEO_GET_PTS, __u64 *pts);</para>
929+</entry>
930+ </row></tbody></tgroup></informaltable>
931+<para>PARAMETERS
932+</para>
933+<informaltable><tgroup cols="2"><tbody><row><entry
934+ align="char">
935+<para>int fd</para>
936+</entry><entry
937+ align="char">
938+<para>File descriptor returned by a previous call to open().</para>
939+</entry>
940+ </row><row><entry
941+ align="char">
942+<para>int request</para>
943+</entry><entry
944+ align="char">
945+<para>Equals VIDEO_GET_PTS for this
946+ command.</para>
947+</entry>
948+ </row><row><entry
949+ align="char">
950+<para>__u64 *pts
951+</para>
952+</entry><entry
953+ align="char">
954+<para>Returns the 33-bit timestamp as defined in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
955+</para>
956+<para>
957+The PTS should belong to the currently played
958+frame if possible, but may also be a value close to it
959+like the PTS of the last decoded frame or the last PTS
960+extracted by the PES parser.</para>
961+</entry>
962+ </row></tbody></tgroup></informaltable>
963+&return-value-dvb;
964+
965+</section><section id="VIDEO_GET_FRAME_RATE"
966+role="subsection"><title>VIDEO_GET_FRAME_RATE</title>
967+<para>DESCRIPTION
968+</para>
969+<informaltable><tgroup cols="1"><tbody><row><entry
970+ align="char">
971+<para>This ioctl call asks the Video Device to return the current framerate.</para>
972+</entry>
973+ </row></tbody></tgroup></informaltable>
974+<para>SYNOPSIS
975+</para>
976+<informaltable><tgroup cols="1"><tbody><row><entry
977+ align="char">
978+<para>int ioctl(int fd, int request =
979+ VIDEO_GET_FRAME_RATE, unsigned int *rate);</para>
980+</entry>
981+ </row></tbody></tgroup></informaltable>
982+<para>PARAMETERS
983+</para>
984+<informaltable><tgroup cols="2"><tbody><row><entry
985+ align="char">
986+<para>int fd</para>
987+</entry><entry
988+ align="char">
989+<para>File descriptor returned by a previous call to open().</para>
990+</entry>
991+ </row><row><entry
992+ align="char">
993+<para>int request</para>
994+</entry><entry
995+ align="char">
996+<para>Equals VIDEO_GET_FRAME_RATE for this
997+ command.</para>
998+</entry>
999+ </row><row><entry
1000+ align="char">
1001+<para>unsigned int *rate
1002+</para>
1003+</entry><entry
1004+ align="char">
1005+<para>Returns the framerate in number of frames per 1000 seconds.
1006+</para>
1007+</entry>
1008+ </row></tbody></tgroup></informaltable>
1009+&return-value-dvb;
1010+
8481011 </section><section id="VIDEO_GET_EVENT"
8491012 role="subsection"><title>VIDEO_GET_EVENT</title>
8501013 <para>DESCRIPTION
8511014 </para>
1015+<para>This ioctl is for DVB devices only. To get events from a V4L2 decoder use the V4L2
1016+&VIDIOC-DQEVENT; ioctl instead.</para>
8521017 <informaltable><tgroup cols="1"><tbody><row><entry
8531018 align="char">
8541019 <para>This ioctl call returns an event of type video_event if available. If an event is
@@ -914,6 +1079,152 @@ role="subsection"><title>VIDEO_GET_EVENT</title> · 59 unmodified lines
9141079 </entry>
9151080 </row></tbody></tgroup></informaltable>
9161081
1082+</section><section id="VIDEO_COMMAND"
1083+role="subsection"><title>VIDEO_COMMAND</title>
1084+<para>DESCRIPTION
1085+</para>
1086+<para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this
1087+ioctl has been replaced by the &VIDIOC-DECODER-CMD; ioctl.</para>
1088+<informaltable><tgroup cols="1"><tbody><row><entry
1089+ align="char">
1090+<para>This ioctl commands the decoder. The <constant>video_command</constant> struct
1091+is a subset of the <constant>v4l2_decoder_cmd</constant> struct, so refer to the
1092+&VIDIOC-DECODER-CMD; documentation for more information.</para>
1093+</entry>
1094+ </row></tbody></tgroup></informaltable>
1095+<para>SYNOPSIS
1096+</para>
1097+<informaltable><tgroup cols="1"><tbody><row><entry
1098+ align="char">
1099+<para>int ioctl(int fd, int request =
1100+ VIDEO_COMMAND, struct video_command *cmd);</para>
1101+</entry>
1102+ </row></tbody></tgroup></informaltable>
1103+<para>PARAMETERS
1104+</para>
1105+<informaltable><tgroup cols="2"><tbody><row><entry
1106+ align="char">
1107+<para>int fd</para>
1108+</entry><entry
1109+ align="char">
1110+<para>File descriptor returned by a previous call to open().</para>
1111+</entry>
1112+ </row><row><entry
1113+ align="char">
1114+<para>int request</para>
1115+</entry><entry
1116+ align="char">
1117+<para>Equals VIDEO_COMMAND for this
1118+ command.</para>
1119+</entry>
1120+ </row><row><entry
1121+ align="char">
1122+<para>struct video_command *cmd
1123+</para>
1124+</entry><entry
1125+ align="char">
1126+<para>Commands the decoder.
1127+</para>
1128+</entry>
1129+ </row></tbody></tgroup></informaltable>
1130+&return-value-dvb;
1131+
1132+</section><section id="VIDEO_TRY_COMMAND"
1133+role="subsection"><title>VIDEO_TRY_COMMAND</title>
1134+<para>DESCRIPTION
1135+</para>
1136+<para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this
1137+ioctl has been replaced by the &VIDIOC-TRY-DECODER-CMD; ioctl.</para>
1138+<informaltable><tgroup cols="1"><tbody><row><entry
1139+ align="char">
1140+<para>This ioctl tries a decoder command. The <constant>video_command</constant> struct
1141+is a subset of the <constant>v4l2_decoder_cmd</constant> struct, so refer to the
1142+&VIDIOC-TRY-DECODER-CMD; documentation for more information.</para>
1143+</entry>
1144+ </row></tbody></tgroup></informaltable>
1145+<para>SYNOPSIS
1146+</para>
1147+<informaltable><tgroup cols="1"><tbody><row><entry
1148+ align="char">
1149+<para>int ioctl(int fd, int request =
1150+ VIDEO_TRY_COMMAND, struct video_command *cmd);</para>
1151+</entry>
1152+ </row></tbody></tgroup></informaltable>
1153+<para>PARAMETERS
1154+</para>
1155+<informaltable><tgroup cols="2"><tbody><row><entry
1156+ align="char">
1157+<para>int fd</para>
1158+</entry><entry
1159+ align="char">
1160+<para>File descriptor returned by a previous call to open().</para>
1161+</entry>
1162+ </row><row><entry
1163+ align="char">
1164+<para>int request</para>
1165+</entry><entry
1166+ align="char">
1167+<para>Equals VIDEO_TRY_COMMAND for this
1168+ command.</para>
1169+</entry>
1170+ </row><row><entry
1171+ align="char">
1172+<para>struct video_command *cmd
1173+</para>
1174+</entry><entry
1175+ align="char">
1176+<para>Try a decoder command.
1177+</para>
1178+</entry>
1179+ </row></tbody></tgroup></informaltable>
1180+&return-value-dvb;
1181+
1182+</section><section id="VIDEO_GET_SIZE"
1183+role="subsection"><title>VIDEO_GET_SIZE</title>
1184+<para>DESCRIPTION
1185+</para>
1186+<informaltable><tgroup cols="1"><tbody><row><entry
1187+ align="char">
1188+<para>This ioctl returns the size and aspect ratio.</para>
1189+</entry>
1190+ </row></tbody></tgroup></informaltable>
1191+<para>SYNOPSIS
1192+</para>
1193+<informaltable><tgroup cols="1"><tbody><row><entry
1194+ align="char">
1195+<para>int ioctl(int fd, int request =
1196+ VIDEO_GET_SIZE, video_size_t *size);</para>
1197+</entry>
1198+ </row></tbody></tgroup></informaltable>
1199+<para>PARAMETERS
1200+</para>
1201+<informaltable><tgroup cols="2"><tbody><row><entry
1202+ align="char">
1203+<para>int fd</para>
1204+</entry><entry
1205+ align="char">
1206+<para>File descriptor returned by a previous call to open().</para>
1207+</entry>
1208+ </row><row><entry
1209+ align="char">
1210+<para>int request</para>
1211+</entry><entry
1212+ align="char">
1213+<para>Equals VIDEO_GET_SIZE for this
1214+ command.</para>
1215+</entry>
1216+ </row><row><entry
1217+ align="char">
1218+<para>video_size_t *size
1219+</para>
1220+</entry><entry
1221+ align="char">
1222+<para>Returns the size and aspect ratio.
1223+</para>
1224+</entry>
1225+ </row></tbody></tgroup></informaltable>
1226+&return-value-dvb;
1227+
9171228 </section><section id="VIDEO_SET_DISPLAY_FORMAT"
9181229 role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title>
9191230 <para>DESCRIPTION
Documentation/DocBook/media/v4l/biblio.xml+46−6
@@ -178,23 +178,23 @@ Signal - NTSC for Studio Applications"</title> · 177 unmodified lines
178178 1125-Line High-Definition Production"</title>
179179 </biblioentry>
180180
181− <biblioentry id="en50067">
182− <abbrev>EN&nbsp;50067</abbrev>
181+ <biblioentry id="iec62106">
182+ <abbrev>IEC&nbsp;62106</abbrev>
183183 <authorgroup>
184− <corpauthor>European Committee for Electrotechnical Standardization
185−(<ulink url="http://www.cenelec.eu">http://www.cenelec.eu</ulink>)</corpauthor>
184+ <corpauthor>International Electrotechnical Commission
185+(<ulink url="http://www.iec.ch">http://www.iec.ch</ulink>)</corpauthor>
186186 </authorgroup>
187187 <title>Specification of the radio data system (RDS) for VHF/FM sound broadcasting
188188 in the frequency range from 87,5 to 108,0 MHz</title>
189189 </biblioentry>
190190
191191 <biblioentry id="nrsc4">
192− <abbrev>NRSC-4</abbrev>
192+ <abbrev>NRSC-4-B</abbrev>
193193 <authorgroup>
194194 <corpauthor>National Radio Systems Committee
195195 (<ulink url="http://www.nrscstandards.org">http://www.nrscstandards.org</ulink>)</corpauthor>
196196 </authorgroup>
197− <title>NRSC-4: United States RBDS Standard</title>
197+ <title>NRSC-4-B: United States RBDS Standard</title>
198198 </biblioentry>
199199
200200 <biblioentry id="iso12232">
@@ -226,4 +226,44 @@ in the frequency range from 87,5 to 108,0 MHz</title> · 25 unmodified lines
226226 <title>VESA and Industry Standards and Guidelines for Computer Display Monitor Timing (DMT)</title>
227227 </biblioentry>
228228
229+ <biblioentry id="vesaedid">
230+ <abbrev>EDID</abbrev>
231+ <authorgroup>
232+ <corpauthor>Video Electronics Standards Association
233+(<ulink url="http://www.vesa.org">http://www.vesa.org</ulink>)</corpauthor>
234+ </authorgroup>
235+ <title>VESA Enhanced Extended Display Identification Data Standard</title>
236+ <subtitle>Release A, Revision 2</subtitle>
237+ </biblioentry>
238+
239+ <biblioentry id="hdcp">
240+ <abbrev>HDCP</abbrev>
241+ <authorgroup>
242+ <corpauthor>Digital Content Protection LLC
243+(<ulink url="http://www.digital-cp.com">http://www.digital-cp.com</ulink>)</corpauthor>
244+ </authorgroup>
245+ <title>High-bandwidth Digital Content Protection System</title>
246+ <subtitle>Revision 1.3</subtitle>
247+ </biblioentry>
248+
249+ <biblioentry id="hdmi">
250+ <abbrev>HDMI</abbrev>
251+ <authorgroup>
252+ <corpauthor>HDMI Licensing LLC
253+(<ulink url="http://www.hdmi.org">http://www.hdmi.org</ulink>)</corpauthor>
254+ </authorgroup>
255+ <title>High-Definition Multimedia Interface</title>
256+ <subtitle>Specification Version 1.4a</subtitle>
257+ </biblioentry>
258+
259+ <biblioentry id="dp">
260+ <abbrev>DP</abbrev>
261+ <authorgroup>
262+ <corpauthor>Video Electronics Standards Association
263+(<ulink url="http://www.vesa.org">http://www.vesa.org</ulink>)</corpauthor>
264+ </authorgroup>
265+ <title>VESA DisplayPort Standard</title>
266+ <subtitle>Version 1, Revision 2</subtitle>
267+ </biblioentry>
268+
229269 </bibliography>
Documentation/DocBook/media/v4l/common.xml+14−16
@@ -564,7 +564,7 @@ automatically.</para> · 563 unmodified lines
564564 <para>To query and select the standard used by the current video
565565 input or output applications call the &VIDIOC-G-STD; and
566566 &VIDIOC-S-STD; ioctl, respectively. The <emphasis>received</emphasis>
567−standard can be sensed with the &VIDIOC-QUERYSTD; ioctl. Note parameter of all these ioctls is a pointer to a &v4l2-std-id; type (a standard set), <emphasis>not</emphasis> an index into the standard enumeration.<footnote>
567+standard can be sensed with the &VIDIOC-QUERYSTD; ioctl. Note that the parameter of all these ioctls is a pointer to a &v4l2-std-id; type (a standard set), <emphasis>not</emphasis> an index into the standard enumeration.<footnote>
568568 <para>An alternative to the current scheme is to use pointers
569569 to indices as arguments of <constant>VIDIOC_G_STD</constant> and
570570 <constant>VIDIOC_S_STD</constant>, the &v4l2-input; and
@@ -588,30 +588,28 @@ switch to a standard by &v4l2-std-id;.</para> · 17 unmodified lines
588588 </footnote> Drivers must implement all video standard ioctls
589589 when the device has one or more video inputs or outputs.</para>
590590
591− <para>Special rules apply to USB cameras where the notion of video
592−standards makes little sense. More generally any capture device,
593−output devices accordingly, which is <itemizedlist>
591+ <para>Special rules apply to devices such as USB cameras where the notion of video
592+standards makes little sense. More generally for any capture or output device
593+which is: <itemizedlist>
594594 <listitem>
595595 <para>incapable of capturing fields or frames at the nominal
596596 rate of the video standard, or</para>
597597 </listitem>
598598 <listitem>
599− <para>where <link linkend="buffer">timestamps</link> refer
600−to the instant the field or frame was received by the driver, not the
601−capture time, or</para>
602− </listitem>
603− <listitem>
604− <para>where <link linkend="buffer">sequence numbers</link>
605−refer to the frames received by the driver, not the captured
606−frames.</para>
599+ <para>that does not support the video standard formats at all.</para>
607600 </listitem>
608601 </itemizedlist> Here the driver shall set the
609602 <structfield>std</structfield> field of &v4l2-input; and &v4l2-output;
610−to zero, the <constant>VIDIOC_G_STD</constant>,
603+to zero and the <constant>VIDIOC_G_STD</constant>,
611604 <constant>VIDIOC_S_STD</constant>,
612605 <constant>VIDIOC_QUERYSTD</constant> and
613606 <constant>VIDIOC_ENUMSTD</constant> ioctls shall return the
614−&EINVAL;.<footnote>
607+&ENOTTY;.<footnote>
608+ <para>See <xref linkend="buffer" /> for a rationale.</para>
609+ <para>Applications can make use of the <xref linkend="input-capabilities" /> and
610+<xref linkend="output-capabilities"/> flags to determine whether the video standard ioctls
611+are available for the device.</para>
612+&ENOTTY;.
615613 <para>See <xref linkend="buffer" /> for a rationale. Probably
616614 even USB cameras follow some well known video standard. It might have
617615 been better to explicitly indicate elsewhere if a device cannot live
@@ -626,9 +624,9 @@ up to normal expectations, instead of this exception.</para> · 8 unmodified lines
626624 &v4l2-standard; standard;
627625
628626 if (-1 == ioctl (fd, &VIDIOC-G-STD;, &amp;std_id)) {
629− /* Note when VIDIOC_ENUMSTD always returns EINVAL this
627+ /* Note when VIDIOC_ENUMSTD always returns ENOTTY this
630628 is no video device or it falls under the USB exception,
631− and VIDIOC_G_STD returning EINVAL is no error. */
629+ and VIDIOC_G_STD returning ENOTTY is no error. */
632630
633631 perror ("VIDIOC_G_STD");
634632 exit (EXIT_FAILURE);
Documentation/DocBook/media/v4l/compat.xml+4−39
@@ -1476,7 +1476,7 @@ follows.<informaltable> · 1475 unmodified lines
14761476 </row>
14771477 <row>
14781478 <entry><constant>V4L2_BUF_TYPE_PRIVATE_BASE</constant></entry>
1479− <entry><constant>V4L2_BUF_TYPE_PRIVATE</constant></entry>
1479+ <entry><constant>V4L2_BUF_TYPE_PRIVATE</constant> (but this is deprecated)</entry>
14801480 </row>
14811481 </tbody>
14821482 </tgroup>
@@ -2468,21 +2468,9 @@ that used it. It was originally scheduled for removal in 2.6.35. · 985 unmodified lines
24682468 <structfield>reserved2</structfield> and removed
24692469 <constant>V4L2_BUF_FLAG_INPUT</constant>.</para>
24702470 </listitem>
2471− </orderedlist>
2472− </section>
2473−
2474− <section>
2475− <title>V4L2 in Linux 3.6</title>
2476− <orderedlist>
24772471 <listitem>
24782472 <para>Added V4L2_CAP_VIDEO_M2M and V4L2_CAP_VIDEO_M2M_MPLANE capabilities.</para>
24792473 </listitem>
2480− </orderedlist>
2481− </section>
2482−
2483− <section>
2484− <title>V4L2 in Linux 3.6</title>
2485− <orderedlist>
24862474 <listitem>
24872475 <para>Added support for frequency band enumerations: &VIDIOC-ENUM-FREQ-BANDS;.</para>
24882476 </listitem>
@@ -2567,29 +2555,6 @@ and may change in the future.</para> · 78 unmodified lines
25672555 <para>Video Output Overlay (OSD) Interface, <xref
25682556 linkend="osd" />.</para>
25692557 </listitem>
2570− <listitem>
2571− <para><constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY</constant>,
2572− &v4l2-buf-type;, <xref linkend="v4l2-buf-type" />.</para>
2573− </listitem>
2574− <listitem>
2575− <para><constant>V4L2_CAP_VIDEO_OUTPUT_OVERLAY</constant>,
2576−&VIDIOC-QUERYCAP; ioctl, <xref linkend="device-capabilities" />.</para>
2577− </listitem>
2578− <listitem>
2579− <para>&VIDIOC-ENUM-FRAMESIZES; and
2580−&VIDIOC-ENUM-FRAMEINTERVALS; ioctls.</para>
2581− </listitem>
2582− <listitem>
2583− <para>&VIDIOC-G-ENC-INDEX; ioctl.</para>
2584− </listitem>
2585− <listitem>
2586− <para>&VIDIOC-ENCODER-CMD; and &VIDIOC-TRY-ENCODER-CMD;
2587−ioctls.</para>
2588− </listitem>
2589− <listitem>
2590− <para>&VIDIOC-DECODER-CMD; and &VIDIOC-TRY-DECODER-CMD;
2591−ioctls.</para>
2592− </listitem>
25932558 <listitem>
25942559 <para>&VIDIOC-DBG-G-REGISTER; and &VIDIOC-DBG-S-REGISTER;
25952560 ioctls.</para>
@@ -2615,11 +2580,11 @@ ioctls.</para> · 19 unmodified lines
26152580 and &VIDIOC-SUBDEV-S-SELECTION; ioctls.</para>
26162581 </listitem>
26172582 <listitem>
2618− <para><link linkend="v4l2-auto-focus-area"><constant>
2619− V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para>
2583+ <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
26202584 </listitem>
26212585 <listitem>
2622− <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
2586+ <para>Vendor and device specific media bus pixel formats.
2587+ <xref linkend="v4l2-mbus-vendor-spec-fmts" />.</para>
26232588 </listitem>
26242589 </itemizedlist>
26252590 </section>
Documentation/DocBook/media/v4l/controls.xml+664−228
@@ -1586,7 +1586,6 @@ frame counter of the frame that is currently displayed (decoded). This value is · 1585 unmodified lines
15861586 the decoder is started.</entry>
15871587 </row>
15881588
1589−
15901589 <row><entry></entry></row>
15911590 <row>
15921591 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
@@ -2269,6 +2268,14 @@ encoder or editing process may produce.". · 676 unmodified lines
22692268 Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
22702269 </row>
22712270
2271+ <row><entry></entry></row>
2272+ <row id="v4l2-mpeg-video-vbv-delay">
2273+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_DELAY</constant>&nbsp;</entry>
2274+ <entry>integer</entry>
2275+ </row><row><entry spanname="descr">Sets the initial delay in milliseconds for
2276+VBV buffer control.</entry>
2277+ </row>
2278+
22722279 <row><entry></entry></row>
22732280 <row>
22742281 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
@@ -2334,6 +2341,265 @@ Applicable to the MPEG4 decoder.</entry> · 59 unmodified lines
23342341 </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
23352342 </row>
23362343
2344+ <row><entry></entry></row>
2345+ <row>
2346+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING</constant>&nbsp;</entry>
2347+ <entry>boolean</entry>
2348+ </row>
2349+ <row><entry spanname="descr">Enable generation of frame packing supplemental enhancement information in the encoded bitstream.
2350+The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder.</entry>
2351+ </row>
2352+
2353+ <row><entry></entry></row>
2354+ <row>
2355+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0</constant>&nbsp;</entry>
2356+ <entry>boolean</entry>
2357+ </row>
2358+ <row><entry spanname="descr">Sets current frame as frame0 in frame packing SEI.
2359+Applicable to the H264 encoder.</entry>
2360+ </row>
2361+
2362+ <row><entry></entry></row>
2363+ <row id="v4l2-mpeg-video-h264-sei-fp-arrangement-type">
2364+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE</constant>&nbsp;</entry>
2365+ <entry>enum&nbsp;v4l2_mpeg_video_h264_sei_fp_arrangement_type</entry>
2366+ </row>
2367+ <row><entry spanname="descr">Frame packing arrangement type for H264 SEI.
2368+Applicable to the H264 encoder.
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_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD</constant>&nbsp;</entry>
2376+ <entry>Pixels are alternatively from L and R.</entry>
2377+ </row>
2378+ <row>
2379+ <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN</constant>&nbsp;</entry>
2380+ <entry>L and R are interlaced by column.</entry>
2381+ </row>
2382+ <row>
2383+ <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW</constant>&nbsp;</entry>
2384+ <entry>L and R are interlaced by row.</entry>
2385+ </row>
2386+ <row>
2387+ <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE</constant>&nbsp;</entry>
2388+ <entry>L is on the left, R on the right.</entry>
2389+ </row>
2390+ <row>
2391+ <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM</constant>&nbsp;</entry>
2392+ <entry>L is on top, R on bottom.</entry>
2393+ </row>
2394+ <row>
2395+ <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL</constant>&nbsp;</entry>
2396+ <entry>One view per frame.</entry>
2397+ </row>
2398+ </tbody>
2399+ </entrytbl>
2400+ </row>
2401+
2402+ <row><entry></entry></row>
2403+ <row>
2404+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO</constant>&nbsp;</entry>
2405+ <entry>boolean</entry>
2406+ </row>
2407+ <row><entry spanname="descr">Enables flexible macroblock ordering in the encoded bitstream. It is a technique
2408+used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder.</entry>
2409+ </row>
2410+
2411+ <row><entry></entry></row>
2412+ <row id="v4l2-mpeg-video-h264-fmo-map-type">
2413+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE</constant>&nbsp;</entry>
2414+ <entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_map_type</entry>
2415+ </row>
2416+ <row><entry spanname="descr">When using FMO, the map type divides the image in different scan patterns of macroblocks.
2417+Applicable to the H264 encoder.
2418+Possible values are:</entry>
2419+ </row>
2420+ <row>
2421+ <entrytbl spanname="descr" cols="2">
2422+ <tbody valign="top">
2423+ <row>
2424+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES</constant>&nbsp;</entry>
2425+ <entry>Slices are interleaved one after other with macroblocks in run length order.</entry>
2426+ </row>
2427+ <row>
2428+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES</constant>&nbsp;</entry>
2429+ <entry>Scatters the macroblocks based on a mathematical function known to both encoder and decoder.</entry>
2430+ </row>
2431+ <row>
2432+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER</constant>&nbsp;</entry>
2433+ <entry>Macroblocks arranged in rectangular areas or regions of interest.</entry>
2434+ </row>
2435+ <row>
2436+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT</constant>&nbsp;</entry>
2437+ <entry>Slice groups grow in a cyclic way from centre to outwards.</entry>
2438+ </row>
2439+ <row>
2440+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN</constant>&nbsp;</entry>
2441+ <entry>Slice groups grow in raster scan pattern from left to right.</entry>
2442+ </row>
2443+ <row>
2444+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN</constant>&nbsp;</entry>
2445+ <entry>Slice groups grow in wipe scan pattern from top to bottom.</entry>
2446+ </row>
2447+ <row>
2448+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT</constant>&nbsp;</entry>
2449+ <entry>User defined map type.</entry>
2450+ </row>
2451+ </tbody>
2452+ </entrytbl>
2453+ </row>
2454+
2455+ <row><entry></entry></row>
2456+ <row>
2457+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP</constant>&nbsp;</entry>
2458+ <entry>integer</entry>
2459+ </row>
2460+ <row><entry spanname="descr">Number of slice groups in FMO.
2461+Applicable to the H264 encoder.</entry>
2462+ </row>
2463+
2464+ <row><entry></entry></row>
2465+ <row id="v4l2-mpeg-video-h264-fmo-change-direction">
2466+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION</constant>&nbsp;</entry>
2467+ <entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_change_dir</entry>
2468+ </row>
2469+ <row><entry spanname="descr">Specifies a direction of the slice group change for raster and wipe maps.
2470+Applicable to the H264 encoder.
2471+Possible values are:</entry>
2472+ </row>
2473+ <row>
2474+ <entrytbl spanname="descr" cols="2">
2475+ <tbody valign="top">
2476+ <row>
2477+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT</constant>&nbsp;</entry>
2478+ <entry>Raster scan or wipe right.</entry>
2479+ </row>
2480+ <row>
2481+ <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT</constant>&nbsp;</entry>
2482+ <entry>Reverse raster scan or wipe left.</entry>
2483+ </row>
2484+ </tbody>
2485+ </entrytbl>
2486+ </row>
2487+
2488+ <row><entry></entry></row>
2489+ <row>
2490+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE</constant>&nbsp;</entry>
2491+ <entry>integer</entry>
2492+ </row>
2493+ <row><entry spanname="descr">Specifies the size of the first slice group for raster and wipe map.
2494+Applicable to the H264 encoder.</entry>
2495+ </row>
2496+
2497+ <row><entry></entry></row>
2498+ <row>
2499+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH</constant>&nbsp;</entry>
2500+ <entry>integer</entry>
2501+ </row>
2502+ <row><entry spanname="descr">Specifies the number of consecutive macroblocks for the interleaved map.
2503+Applicable to the H264 encoder.</entry>
2504+ </row>
2505+
2506+ <row><entry></entry></row>
2507+ <row>
2508+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO</constant>&nbsp;</entry>
2509+ <entry>boolean</entry>
2510+ </row>
2511+ <row><entry spanname="descr">Enables arbitrary slice ordering in encoded bitstream.
2512+Applicable to the H264 encoder.</entry>
2513+ </row>
2514+
2515+ <row><entry></entry></row>
2516+ <row>
2517+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER</constant>&nbsp;</entry>
2518+ <entry>integer</entry>
2519+ </row><row><entry spanname="descr">Specifies the slice order in ASO. Applicable to the H264 encoder.
2520+The supplied 32-bit integer is interpreted as follows (bit
2521+0 = least significant bit):</entry>
2522+ </row>
2523+ <row>
2524+ <entrytbl spanname="descr" cols="2">
2525+ <tbody valign="top">
2526+ <row>
2527+ <entry>Bit 0:15</entry>
2528+ <entry>Slice ID</entry>
2529+ </row>
2530+ <row>
2531+ <entry>Bit 16:32</entry>
2532+ <entry>Slice position or order</entry>
2533+ </row>
2534+ </tbody>
2535+ </entrytbl>
2536+ </row>
2537+
2538+ <row><entry></entry></row>
2539+ <row>
2540+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING</constant>&nbsp;</entry>
2541+ <entry>boolean</entry>
2542+ </row>
2543+ <row><entry spanname="descr">Enables H264 hierarchical coding.
2544+Applicable to the H264 encoder.</entry>
2545+ </row>
2546+
2547+ <row><entry></entry></row>
2548+ <row id="v4l2-mpeg-video-h264-hierarchical-coding-type">
2549+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE</constant>&nbsp;</entry>
2550+ <entry>enum&nbsp;v4l2_mpeg_video_h264_hierarchical_coding_type</entry>
2551+ </row>
2552+ <row><entry spanname="descr">Specifies the hierarchical coding type.
2553+Applicable to the H264 encoder.
2554+Possible values are:</entry>
2555+ </row>
2556+ <row>
2557+ <entrytbl spanname="descr" cols="2">
2558+ <tbody valign="top">
2559+ <row>
2560+ <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B</constant>&nbsp;</entry>
2561+ <entry>Hierarchical B coding.</entry>
2562+ </row>
2563+ <row>
2564+ <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</constant>&nbsp;</entry>
2565+ <entry>Hierarchical P coding.</entry>
2566+ </row>
2567+ </tbody>
2568+ </entrytbl>
2569+ </row>
2570+
2571+ <row><entry></entry></row>
2572+ <row>
2573+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER</constant>&nbsp;</entry>
2574+ <entry>integer</entry>
2575+ </row>
2576+ <row><entry spanname="descr">Specifies the number of hierarchical coding layers.
2577+Applicable to the H264 encoder.</entry>
2578+ </row>
2579+
2580+ <row><entry></entry></row>
2581+ <row>
2582+ <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP</constant>&nbsp;</entry>
2583+ <entry>integer</entry>
2584+ </row><row><entry spanname="descr">Specifies a user defined QP for each layer. Applicable to the H264 encoder.
2585+The supplied 32-bit integer is interpreted as follows (bit
2586+0 = least significant bit):</entry>
2587+ </row>
2588+ <row>
2589+ <entrytbl spanname="descr" cols="2">
2590+ <tbody valign="top">
2591+ <row>
2592+ <entry>Bit 0:15</entry>
2593+ <entry>QP value</entry>
2594+ </row>
2595+ <row>
2596+ <entry>Bit 16:32</entry>
2597+ <entry>Layer number</entry>
2598+ </row>
2599+ </tbody>
2600+ </entrytbl>
2601+ </row>
2602+
23372603 </tbody>
23382604 </tgroup>
23392605 </table>
@@ -3505,7 +3771,7 @@ This encodes up to 31 pre-defined programme types.</entry> · 1165 unmodified lines
35053771 </row>
35063772 <row><entry spanname="descr">Sets the Programme Service name (PS_NAME) for transmission.
35073773 It is intended for static display on a receiver. It is the primary aid to listeners in programme service
3508−identification and selection. In Annex E of <xref linkend="en50067" />, the RDS specification,
3774+identification and selection. In Annex E of <xref linkend="iec62106" />, the RDS specification,
35093775 there is a full description of the correct character encoding for Programme Service name strings.
35103776 Also from RDS specification, PS is usually a single eight character text. However, it is also possible
35113777 to find receivers which can scroll strings sized as 8 x N characters. So, this control must be configured
@@ -3519,7 +3785,7 @@ with steps of 8 characters. The result is it must always contain a string with s · 7 unmodified lines
35193785 what is being broadcasted. RDS Radio Text can be applied when broadcaster wishes to transmit longer PS names,
35203786 programme-related information or any other text. In these cases, RadioText should be used in addition to
35213787 <constant>V4L2_CID_RDS_TX_PS_NAME</constant>. The encoding for Radio Text strings is also fully described
3522−in Annex E of <xref linkend="en50067" />. The length of Radio Text strings depends on which RDS Block is being
3788+in Annex E of <xref linkend="iec62106" />. The length of Radio Text strings depends on which RDS Block is being
35233789 used to transmit it, either 32 (2A block) or 64 (2B block). However, it is also possible
35243790 to find receivers which can scroll strings sized as 32 x N or 64 x N characters. So, this control must be configured
35253791 with steps of 32 or 64 characters. The result is it must always contain a string with size multiple of 32 or 64. </entry>
@@ -3650,7 +3916,7 @@ manually or automatically if set to zero. Unit, range and step are driver-specif · 124 unmodified lines
36503916 </table>
36513917
36523918 <para>For more details about RDS specification, refer to
3653−<xref linkend="en50067" /> document, from CENELEC.</para>
3919+<xref linkend="iec62106" /> document, from CENELEC.</para>
36543920 </section>
36553921
36563922 <section id="flash-controls">
@@ -3717,232 +3983,231 @@ interface and may change in the future.</para> · 60 unmodified lines
37173983 use case involving camera or individually.
37183984 </para>
37193985
3720− </section>
37213986
3987+ <table pgwide="1" frame="none" id="flash-control-id">
3988+ <title>Flash Control IDs</title>
3989+
3990+ <tgroup cols="4">
3991+ <colspec colname="c1" colwidth="1*" />
3992+ <colspec colname="c2" colwidth="6*" />
3993+ <colspec colname="c3" colwidth="2*" />
3994+ <colspec colname="c4" colwidth="6*" />
3995+ <spanspec namest="c1" nameend="c2" spanname="id" />
3996+ <spanspec namest="c2" nameend="c4" spanname="descr" />
3997+ <thead>
3998+ <row>
3999+ <entry spanname="id" align="left">ID</entry>
4000+ <entry align="left">Type</entry>
4001+ </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
4002+ </row>
4003+ </thead>
4004+ <tbody valign="top">
4005+ <row><entry></entry></row>
4006+ <row>
4007+ <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
4008+ <entry>class</entry>
4009+ </row>
4010+ <row>
4011+ <entry spanname="descr">The FLASH class descriptor.</entry>
4012+ </row>
4013+ <row>
4014+ <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
4015+ <entry>menu</entry>
4016+ </row>
4017+ <row id="v4l2-flash-led-mode">
4018+ <entry spanname="descr">Defines the mode of the flash LED,
4019+ the high-power white LED attached to the flash controller.
4020+ Setting this control may not be possible in presence of
4021+ some faults. See V4L2_CID_FLASH_FAULT.</entry>
4022+ </row>
4023+ <row>
4024+ <entrytbl spanname="descr" cols="2">
4025+ <tbody valign="top">
4026+ <row>
4027+ <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
4028+ <entry>Off.</entry>
4029+ </row>
4030+ <row>
4031+ <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
4032+ <entry>Flash mode.</entry>
4033+ </row>
4034+ <row>
4035+ <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
4036+ <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
4037+ </row>
4038+ </tbody>
4039+ </entrytbl>
4040+ </row>
4041+ <row>
4042+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
4043+ <entry>menu</entry>
4044+ </row>
4045+ <row id="v4l2-flash-strobe-source"><entry
4046+ spanname="descr">Defines the source of the flash LED
4047+ strobe.</entry>
4048+ </row>
4049+ <row>
4050+ <entrytbl spanname="descr" cols="2">
4051+ <tbody valign="top">
4052+ <row>
4053+ <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
4054+ <entry>The flash strobe is triggered by using
4055+ the V4L2_CID_FLASH_STROBE control.</entry>
4056+ </row>
4057+ <row>
4058+ <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
4059+ <entry>The flash strobe is triggered by an
4060+ external source. Typically this is a sensor,
4061+ which makes it possible to synchronises the
4062+ flash strobe start to exposure start.</entry>
4063+ </row>
4064+ </tbody>
4065+ </entrytbl>
4066+ </row>
4067+ <row>
4068+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
4069+ <entry>button</entry>
4070+ </row>
4071+ <row>
4072+ <entry spanname="descr">Strobe flash. Valid when
4073+ V4L2_CID_FLASH_LED_MODE is set to
4074+ V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
4075+ is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
4076+ control may not be possible in presence of some faults.
4077+ See V4L2_CID_FLASH_FAULT.</entry>
4078+ </row>
4079+ <row>
4080+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
4081+ <entry>button</entry>
4082+ </row>
4083+ <row><entry spanname="descr">Stop flash strobe immediately.</entry>
4084+ </row>
4085+ <row>
4086+ <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
4087+ <entry>boolean</entry>
4088+ </row>
4089+ <row>
4090+ <entry spanname="descr">Strobe status: whether the flash
4091+ is strobing at the moment or not. This is a read-only
4092+ control.</entry>
4093+ </row>
4094+ <row>
4095+ <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
4096+ <entry>integer</entry>
4097+ </row>
4098+ <row>
4099+ <entry spanname="descr">Hardware timeout for flash. The
4100+ flash strobe is stopped after this period of time has
4101+ passed from the start of the strobe.</entry>
4102+ </row>
4103+ <row>
4104+ <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
4105+ <entry>integer</entry>
4106+ </row>
4107+ <row>
4108+ <entry spanname="descr">Intensity of the flash strobe when
4109+ the flash LED is in flash mode
4110+ (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
4111+ (mA) if possible.</entry>
4112+ </row>
4113+ <row>
4114+ <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
4115+ <entry>integer</entry>
4116+ </row>
4117+ <row>
4118+ <entry spanname="descr">Intensity of the flash LED in
4119+ torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
4120+ milliamps (mA) if possible. Setting this control may not
4121+ be possible in presence of some faults. See
4122+ V4L2_CID_FLASH_FAULT.</entry>
4123+ </row>
4124+ <row>
4125+ <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
4126+ <entry>integer</entry>
4127+ </row>
4128+ <row>
4129+ <entry spanname="descr">Intensity of the indicator LED.
4130+ The indicator LED may be fully independent of the flash
4131+ LED. The unit should be microamps (uA) if possible.</entry>
4132+ </row>
4133+ <row>
4134+ <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
4135+ <entry>bitmask</entry>
4136+ </row>
4137+ <row>
4138+ <entry spanname="descr">Faults related to the flash. The
4139+ faults tell about specific problems in the flash chip
4140+ itself or the LEDs attached to it. Faults may prevent
4141+ further use of some of the flash controls. In particular,
4142+ V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
4143+ if the fault affects the flash LED. Exactly which faults
4144+ have such an effect is chip dependent. Reading the faults
4145+ resets the control and returns the chip to a usable state
4146+ if possible.</entry>
4147+ </row>
4148+ <row>
4149+ <entrytbl spanname="descr" cols="2">
4150+ <tbody valign="top">
4151+ <row>
4152+ <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
4153+ <entry>Flash controller voltage to the flash LED
4154+ has exceeded the limit specific to the flash
4155+ controller.</entry>
4156+ </row>
4157+ <row>
4158+ <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
4159+ <entry>The flash strobe was still on when
4160+ the timeout set by the user ---
4161+ V4L2_CID_FLASH_TIMEOUT control --- has expired.
4162+ Not all flash controllers may set this in all
4163+ such conditions.</entry>
4164+ </row>
4165+ <row>
4166+ <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
4167+ <entry>The flash controller has overheated.</entry>
4168+ </row>
4169+ <row>
4170+ <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
4171+ <entry>The short circuit protection of the flash
4172+ controller has been triggered.</entry>
4173+ </row>
4174+ <row>
4175+ <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
4176+ <entry>Current in the LED power supply has exceeded the limit
4177+ specific to the flash controller.</entry>
4178+ </row>
4179+ <row>
4180+ <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
4181+ <entry>The flash controller has detected a short or open
4182+ circuit condition on the indicator LED.</entry>
4183+ </row>
4184+ </tbody>
4185+ </entrytbl>
4186+ </row>
4187+ <row>
4188+ <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
4189+ <entry>boolean</entry>
4190+ </row>
4191+ <row><entry spanname="descr">Enable or disable charging of the xenon
4192+ flash capacitor.</entry>
4193+ </row>
4194+ <row>
4195+ <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
4196+ <entry>boolean</entry>
4197+ </row>
4198+ <row>
4199+ <entry spanname="descr">Is the flash ready to strobe?
4200+ Xenon flashes require their capacitors charged before
4201+ strobing. LED flashes often require a cooldown period
4202+ after strobe during which another strobe will not be
4203+ possible. This is a read-only control.</entry>
4204+ </row>
4205+ <row><entry></entry></row>
4206+ </tbody>
4207+ </tgroup>
4208+ </table>
4209+ </section>
37224210 </section>
3723−
3724− <table pgwide="1" frame="none" id="flash-control-id">
3725− <title>Flash Control IDs</title>
3726−
3727− <tgroup cols="4">
3728− <colspec colname="c1" colwidth="1*" />
3729− <colspec colname="c2" colwidth="6*" />
3730− <colspec colname="c3" colwidth="2*" />
3731− <colspec colname="c4" colwidth="6*" />
3732− <spanspec namest="c1" nameend="c2" spanname="id" />
3733− <spanspec namest="c2" nameend="c4" spanname="descr" />
3734− <thead>
3735− <row>
3736− <entry spanname="id" align="left">ID</entry>
3737− <entry align="left">Type</entry>
3738− </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
3739− </row>
3740− </thead>
3741− <tbody valign="top">
3742− <row><entry></entry></row>
3743− <row>
3744− <entry spanname="id"><constant>V4L2_CID_FLASH_CLASS</constant></entry>
3745− <entry>class</entry>
3746− </row>
3747− <row>
3748− <entry spanname="descr">The FLASH class descriptor.</entry>
3749− </row>
3750− <row>
3751− <entry spanname="id"><constant>V4L2_CID_FLASH_LED_MODE</constant></entry>
3752− <entry>menu</entry>
3753− </row>
3754− <row id="v4l2-flash-led-mode">
3755− <entry spanname="descr">Defines the mode of the flash LED,
3756− the high-power white LED attached to the flash controller.
3757− Setting this control may not be possible in presence of
3758− some faults. See V4L2_CID_FLASH_FAULT.</entry>
3759− </row>
3760− <row>
3761− <entrytbl spanname="descr" cols="2">
3762− <tbody valign="top">
3763− <row>
3764− <entry><constant>V4L2_FLASH_LED_MODE_NONE</constant></entry>
3765− <entry>Off.</entry>
3766− </row>
3767− <row>
3768− <entry><constant>V4L2_FLASH_LED_MODE_FLASH</constant></entry>
3769− <entry>Flash mode.</entry>
3770− </row>
3771− <row>
3772− <entry><constant>V4L2_FLASH_LED_MODE_TORCH</constant></entry>
3773− <entry>Torch mode. See V4L2_CID_FLASH_TORCH_INTENSITY.</entry>
3774− </row>
3775− </tbody>
3776− </entrytbl>
3777− </row>
3778− <row>
3779− <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_SOURCE</constant></entry>
3780− <entry>menu</entry>
3781− </row>
3782− <row id="v4l2-flash-strobe-source"><entry
3783− spanname="descr">Defines the source of the flash LED
3784− strobe.</entry>
3785− </row>
3786− <row>
3787− <entrytbl spanname="descr" cols="2">
3788− <tbody valign="top">
3789− <row>
3790− <entry><constant>V4L2_FLASH_STROBE_SOURCE_SOFTWARE</constant></entry>
3791− <entry>The flash strobe is triggered by using
3792− the V4L2_CID_FLASH_STROBE control.</entry>
3793− </row>
3794− <row>
3795− <entry><constant>V4L2_FLASH_STROBE_SOURCE_EXTERNAL</constant></entry>
3796− <entry>The flash strobe is triggered by an
3797− external source. Typically this is a sensor,
3798− which makes it possible to synchronises the
3799− flash strobe start to exposure start.</entry>
3800− </row>
3801− </tbody>
3802− </entrytbl>
3803− </row>
3804− <row>
3805− <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE</constant></entry>
3806− <entry>button</entry>
3807− </row>
3808− <row>
3809− <entry spanname="descr">Strobe flash. Valid when
3810− V4L2_CID_FLASH_LED_MODE is set to
3811− V4L2_FLASH_LED_MODE_FLASH and V4L2_CID_FLASH_STROBE_SOURCE
3812− is set to V4L2_FLASH_STROBE_SOURCE_SOFTWARE. Setting this
3813− control may not be possible in presence of some faults.
3814− See V4L2_CID_FLASH_FAULT.</entry>
3815− </row>
3816− <row>
3817− <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STOP</constant></entry>
3818− <entry>button</entry>
3819− </row>
3820− <row><entry spanname="descr">Stop flash strobe immediately.</entry>
3821− </row>
3822− <row>
3823− <entry spanname="id"><constant>V4L2_CID_FLASH_STROBE_STATUS</constant></entry>
3824− <entry>boolean</entry>
3825− </row>
3826− <row>
3827− <entry spanname="descr">Strobe status: whether the flash
3828− is strobing at the moment or not. This is a read-only
3829− control.</entry>
3830− </row>
3831− <row>
3832− <entry spanname="id"><constant>V4L2_CID_FLASH_TIMEOUT</constant></entry>
3833− <entry>integer</entry>
3834− </row>
3835− <row>
3836− <entry spanname="descr">Hardware timeout for flash. The
3837− flash strobe is stopped after this period of time has
3838− passed from the start of the strobe.</entry>
3839− </row>
3840− <row>
3841− <entry spanname="id"><constant>V4L2_CID_FLASH_INTENSITY</constant></entry>
3842− <entry>integer</entry>
3843− </row>
3844− <row>
3845− <entry spanname="descr">Intensity of the flash strobe when
3846− the flash LED is in flash mode
3847− (V4L2_FLASH_LED_MODE_FLASH). The unit should be milliamps
3848− (mA) if possible.</entry>
3849− </row>
3850− <row>
3851− <entry spanname="id"><constant>V4L2_CID_FLASH_TORCH_INTENSITY</constant></entry>
3852− <entry>integer</entry>
3853− </row>
3854− <row>
3855− <entry spanname="descr">Intensity of the flash LED in
3856− torch mode (V4L2_FLASH_LED_MODE_TORCH). The unit should be
3857− milliamps (mA) if possible. Setting this control may not
3858− be possible in presence of some faults. See
3859− V4L2_CID_FLASH_FAULT.</entry>
3860− </row>
3861− <row>
3862− <entry spanname="id"><constant>V4L2_CID_FLASH_INDICATOR_INTENSITY</constant></entry>
3863− <entry>integer</entry>
3864− </row>
3865− <row>
3866− <entry spanname="descr">Intensity of the indicator LED.
3867− The indicator LED may be fully independent of the flash
3868− LED. The unit should be microamps (uA) if possible.</entry>
3869− </row>
3870− <row>
3871− <entry spanname="id"><constant>V4L2_CID_FLASH_FAULT</constant></entry>
3872− <entry>bitmask</entry>
3873− </row>
3874− <row>
3875− <entry spanname="descr">Faults related to the flash. The
3876− faults tell about specific problems in the flash chip
3877− itself or the LEDs attached to it. Faults may prevent
3878− further use of some of the flash controls. In particular,
3879− V4L2_CID_FLASH_LED_MODE is set to V4L2_FLASH_LED_MODE_NONE
3880− if the fault affects the flash LED. Exactly which faults
3881− have such an effect is chip dependent. Reading the faults
3882− resets the control and returns the chip to a usable state
3883− if possible.</entry>
3884− </row>
3885− <row>
3886− <entrytbl spanname="descr" cols="2">
3887− <tbody valign="top">
3888− <row>
3889− <entry><constant>V4L2_FLASH_FAULT_OVER_VOLTAGE</constant></entry>
3890− <entry>Flash controller voltage to the flash LED
3891− has exceeded the limit specific to the flash
3892− controller.</entry>
3893− </row>
3894− <row>
3895− <entry><constant>V4L2_FLASH_FAULT_TIMEOUT</constant></entry>
3896− <entry>The flash strobe was still on when
3897− the timeout set by the user ---
3898− V4L2_CID_FLASH_TIMEOUT control --- has expired.
3899− Not all flash controllers may set this in all
3900− such conditions.</entry>
3901− </row>
3902− <row>
3903− <entry><constant>V4L2_FLASH_FAULT_OVER_TEMPERATURE</constant></entry>
3904− <entry>The flash controller has overheated.</entry>
3905− </row>
3906− <row>
3907− <entry><constant>V4L2_FLASH_FAULT_SHORT_CIRCUIT</constant></entry>
3908− <entry>The short circuit protection of the flash
3909− controller has been triggered.</entry>
3910− </row>
3911− <row>
3912− <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry>
3913− <entry>Current in the LED power supply has exceeded the limit
3914− specific to the flash controller.</entry>
3915− </row>
3916− <row>
3917− <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry>
3918− <entry>The flash controller has detected a short or open
3919− circuit condition on the indicator LED.</entry>
3920− </row>
3921− </tbody>
3922− </entrytbl>
3923− </row>
3924− <row>
3925− <entry spanname="id"><constant>V4L2_CID_FLASH_CHARGE</constant></entry>
3926− <entry>boolean</entry>
3927− </row>
3928− <row><entry spanname="descr">Enable or disable charging of the xenon
3929− flash capacitor.</entry>
3930− </row>
3931− <row>
3932− <entry spanname="id"><constant>V4L2_CID_FLASH_READY</constant></entry>
3933− <entry>boolean</entry>
3934− </row>
3935− <row>
3936− <entry spanname="descr">Is the flash ready to strobe?
3937− Xenon flashes require their capacitors charged before
3938− strobing. LED flashes often require a cooldown period
3939− after strobe during which another strobe will not be
3940− possible. This is a read-only control.</entry>
3941− </row>
3942− <row><entry></entry></row>
3943− </tbody>
3944− </tgroup>
3945− </table>
39464211 </section>
39474212
39484213 <section id="jpeg-controls">
@@ -4268,6 +4533,177 @@ interface and may change in the future.</para> · 319 unmodified lines
42684533 pixels / second.
42694534 </entry>
42704535 </row>
4536+ <row>
4537+ <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN</constant></entry>
4538+ <entry>menu</entry>
4539+ </row>
4540+ <row id="v4l2-test-pattern">
4541+ <entry spanname="descr"> Some capture/display/sensor devices have
4542+ the capability to generate test pattern images. These hardware
4543+ specific test patterns can be used to test if a device is working
4544+ properly.</entry>
4545+ </row>
4546+ <row><entry></entry></row>
4547+ </tbody>
4548+ </tgroup>
4549+ </table>
4550+
4551+ </section>
4552+
4553+ <section id="dv-controls">
4554+ <title>Digital Video Control Reference</title>
4555+
4556+ <note>
4557+ <title>Experimental</title>
4558+
4559+ <para>This is an <link
4560+ linkend="experimental">experimental</link> interface and may
4561+ change in the future.</para>
4562+ </note>
4563+
4564+ <para>
4565+ The Digital Video control class is intended to control receivers
4566+ and transmitters for <ulink url="http://en.wikipedia.org/wiki/Vga">VGA</ulink>,
4567+ <ulink url="http://en.wikipedia.org/wiki/Digital_Visual_Interface">DVI</ulink>
4568+ (Digital Visual Interface), HDMI (<xref linkend="hdmi" />) and DisplayPort (<xref linkend="dp" />).
4569+ These controls are generally expected to be private to the receiver or transmitter
4570+ subdevice that implements them, so they are only exposed on the
4571+ <filename>/dev/v4l-subdev*</filename> device node.
4572+ </para>
4573+
4574+ <para>Note that these devices can have multiple input or output pads which are
4575+ hooked up to e.g. HDMI connectors. Even though the subdevice will receive or
4576+ transmit video from/to only one of those pads, the other pads can still be
4577+ active when it comes to EDID (Extended Display Identification Data,
4578+ <xref linkend="vesaedid" />) and HDCP (High-bandwidth Digital Content
4579+ Protection System, <xref linkend="hdcp" />) processing, allowing the device
4580+ to do the fairly slow EDID/HDCP handling in advance. This allows for quick
4581+ switching between connectors.</para>
4582+
4583+ <para>These pads appear in several of the controls in this section as
4584+ bitmasks, one bit for each pad. Bit 0 corresponds to pad 0, bit 1 to pad 1,
4585+ etc. The maximum value of the control is the set of valid pads.</para>
4586+
4587+ <table pgwide="1" frame="none" id="dv-control-id">
4588+ <title>Digital Video Control IDs</title>
4589+
4590+ <tgroup cols="4">
4591+ <colspec colname="c1" colwidth="1*" />
4592+ <colspec colname="c2" colwidth="6*" />
4593+ <colspec colname="c3" colwidth="2*" />
4594+ <colspec colname="c4" colwidth="6*" />
4595+ <spanspec namest="c1" nameend="c2" spanname="id" />
4596+ <spanspec namest="c2" nameend="c4" spanname="descr" />
4597+ <thead>
4598+ <row>
4599+ <entry spanname="id" align="left">ID</entry>
4600+ <entry align="left">Type</entry>
4601+ </row><row rowsep="1"><entry spanname="descr" align="left">Description</entry>
4602+ </row>
4603+ </thead>
4604+ <tbody valign="top">
4605+ <row><entry></entry></row>
4606+ <row>
4607+ <entry spanname="id"><constant>V4L2_CID_DV_CLASS</constant></entry>
4608+ <entry>class</entry>
4609+ </row>
4610+ <row>
4611+ <entry spanname="descr">The Digital Video class descriptor.</entry>
4612+ </row>
4613+ <row>
4614+ <entry spanname="id"><constant>V4L2_CID_DV_TX_HOTPLUG</constant></entry>
4615+ <entry>bitmask</entry>
4616+ </row>
4617+ <row>
4618+ <entry spanname="descr">Many connectors have a hotplug pin which is high
4619+ if EDID information is available from the source. This control shows the
4620+ state of the hotplug pin as seen by the transmitter.
4621+ Each bit corresponds to an output pad on the transmitter. If an output pad
4622+ does not have an associated hotplug pin, then the bit for that pad will be 0.
4623+ This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
4624+ </entry>
4625+ </row>
4626+ <row>
4627+ <entry spanname="id"><constant>V4L2_CID_DV_TX_RXSENSE</constant></entry>
4628+ <entry>bitmask</entry>
4629+ </row>
4630+ <row>
4631+ <entry spanname="descr">Rx Sense is the detection of pull-ups on the TMDS
4632+ clock lines. This normally means that the sink has left/entered standby (i.e.
4633+ the transmitter can sense that the receiver is ready to receive video).
4634+ Each bit corresponds to an output pad on the transmitter. If an output pad
4635+ does not have an associated Rx Sense, then the bit for that pad will be 0.
4636+ This read-only control is applicable to DVI-D and HDMI devices.
4637+ </entry>
4638+ </row>
4639+ <row>
4640+ <entry spanname="id"><constant>V4L2_CID_DV_TX_EDID_PRESENT</constant></entry>
4641+ <entry>bitmask</entry>
4642+ </row>
4643+ <row>
4644+ <entry spanname="descr">When the transmitter sees the hotplug signal from the
4645+ receiver it will attempt to read the EDID. If set, then the transmitter has read
4646+ at least the first block (= 128 bytes).
4647+ Each bit corresponds to an output pad on the transmitter. If an output pad
4648+ does not support EDIDs, then the bit for that pad will be 0.
4649+ This read-only control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
4650+ </entry>
4651+ </row>
4652+ <row>
4653+ <entry spanname="id"><constant>V4L2_CID_DV_TX_MODE</constant></entry>
4654+ <entry id="v4l2-dv-tx-mode">enum v4l2_dv_tx_mode</entry>
4655+ </row>
4656+ <row>
4657+ <entry spanname="descr">HDMI transmitters can transmit in DVI-D mode (just video)
4658+ or in HDMI mode (video + audio + auxiliary data). This control selects which mode
4659+ to use: V4L2_DV_TX_MODE_DVI_D or V4L2_DV_TX_MODE_HDMI.
4660+ This control is applicable to HDMI connectors.
4661+ </entry>
4662+ </row>
4663+ <row>
4664+ <entry spanname="id"><constant>V4L2_CID_DV_TX_RGB_RANGE</constant></entry>
4665+ <entry id="v4l2-dv-rgb-range">enum v4l2_dv_rgb_range</entry>
4666+ </row>
4667+ <row>
4668+ <entry spanname="descr">Select the quantization range for RGB output. V4L2_DV_RANGE_AUTO
4669+ follows the RGB quantization range specified in the standard for the video interface
4670+ (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
4671+ to be compatible with sinks that have not implemented the standard correctly
4672+ (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
4673+ used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
4674+ where N is the number of bits per component.
4675+ This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
4676+ </entry>
4677+ </row>
4678+ <row>
4679+ <entry spanname="id"><constant>V4L2_CID_DV_RX_POWER_PRESENT</constant></entry>
4680+ <entry>bitmask</entry>
4681+ </row>
4682+ <row>
4683+ <entry spanname="descr">Detects whether the receiver receives power from the source
4684+ (e.g. HDMI carries 5V on one of the pins). This is often used to power an eeprom
4685+ which contains EDID information, such that the source can read the EDID even if
4686+ the sink is in standby/power off.
4687+ Each bit corresponds to an input pad on the transmitter. If an input pad
4688+ cannot detect whether power is present, then the bit for that pad will be 0.
4689+ This read-only control is applicable to DVI-D, HDMI and DisplayPort connectors.
4690+ </entry>
4691+ </row>
4692+ <row>
4693+ <entry spanname="id"><constant>V4L2_CID_DV_RX_RGB_RANGE</constant></entry>
4694+ <entry>enum v4l2_dv_rgb_range</entry>
4695+ </row>
4696+ <row>
4697+ <entry spanname="descr">Select the quantization range for RGB input. V4L2_DV_RANGE_AUTO
4698+ follows the RGB quantization range specified in the standard for the video interface
4699+ (ie. <xref linkend="cea861" /> for HDMI). V4L2_DV_RANGE_LIMITED and V4L2_DV_RANGE_FULL override the standard
4700+ to be compatible with sources that have not implemented the standard correctly
4701+ (unfortunately quite common for HDMI and DVI-D). Full range allows all possible values to be
4702+ used whereas limited range sets the range to (16 &lt;&lt; (N-8)) - (235 &lt;&lt; (N-8))
4703+ where N is the number of bits per component.
4704+ This control is applicable to VGA, DVI-A/D, HDMI and DisplayPort connectors.
4705+ </entry>
4706+ </row>
42714707 <row><entry></entry></row>
42724708 </tbody>
42734709 </tgroup>
Documentation/DocBook/media/v4l/dev-osd.xml+0−7
@@ -1,13 +1,6 @@
11 <title>Video Output Overlay Interface</title>
22 <subtitle>Also known as On-Screen Display (OSD)</subtitle>
33
4− <note>
5− <title>Experimental</title>
6−
7− <para>This is an <link linkend="experimental">experimental</link>
8−interface and may change in the future.</para>
9− </note>
10−
114 <para>Some video output devices can overlay a framebuffer image onto
125 the outgoing video signal. Applications can set up such an overlay
136 using this interface, which borrows structures and ioctls of the <link
Documentation/DocBook/media/v4l/dev-rds.xml+1−1
@@ -6,7 +6,7 @@ information, on an inaudible audio subcarrier of a radio program. This · 5 unmodified lines
66 interface is aimed at devices capable of receiving and/or transmitting RDS
77 information.</para>
88
9− <para>For more information see the core RDS standard <xref linkend="en50067" />
9+ <para>For more information see the core RDS standard <xref linkend="iec62106" />
1010 and the RBDS standard <xref linkend="nrsc4" />.</para>
1111
1212 <para>Note that the RBDS standard as is used in the USA is almost identical
Documentation/DocBook/media/v4l/dev-subdev.xml+10−10
@@ -374,29 +374,29 @@ · 373 unmodified lines
374374 rectangle --- if it is supported by the hardware.</para>
375375
376376 <orderedlist>
377− <listitem>Sink pad format. The user configures the sink pad
377+ <listitem><para>Sink pad format. The user configures the sink pad
378378 format. This format defines the parameters of the image the
379− entity receives through the pad for further processing.</listitem>
379+ entity receives through the pad for further processing.</para></listitem>
380380
381− <listitem>Sink pad actual crop selection. The sink pad crop
382− defines the crop performed to the sink pad format.</listitem>
381+ <listitem><para>Sink pad actual crop selection. The sink pad crop
382+ defines the crop performed to the sink pad format.</para></listitem>
383383
384− <listitem>Sink pad actual compose selection. The size of the
384+ <listitem><para>Sink pad actual compose selection. The size of the
385385 sink pad compose rectangle defines the scaling ratio compared
386386 to the size of the sink pad crop rectangle. The location of
387387 the compose rectangle specifies the location of the actual
388388 sink compose rectangle in the sink compose bounds
389− rectangle.</listitem>
389+ rectangle.</para></listitem>
390390
391− <listitem>Source pad actual crop selection. Crop on the source
391+ <listitem><para>Source pad actual crop selection. Crop on the source
392392 pad defines crop performed to the image in the sink compose
393− bounds rectangle.</listitem>
393+ bounds rectangle.</para></listitem>
394394
395− <listitem>Source pad format. The source pad format defines the
395+ <listitem><para>Source pad format. The source pad format defines the
396396 output pixel format of the subdev, as well as the other
397397 parameters with the exception of the image width and height.
398398 Width and height are defined by the size of the source pad
399− actual crop selection.</listitem>
399+ actual crop selection.</para></listitem>
400400 </orderedlist>
401401
402402 <para>Accessing any of the above rectangles not supported by the
Documentation/DocBook/media/v4l/gen-errors.xml+9−10
@@ -6,6 +6,15 @@ · 5 unmodified lines
66 &cs-str;
77 <tbody valign="top">
88 <!-- Keep it ordered alphabetically -->
9+ <row>
10+ <entry>EAGAIN (aka EWOULDBLOCK)</entry>
11+ <entry>The ioctl can't be handled because the device is in state where
12+ it can't perform it. This could happen for example in case where
13+ device is sleeping and ioctl is performed to query statistics.
14+ It is also returned when the ioctl would need to wait
15+ for an event, but the device was opened in non-blocking mode.
16+ </entry>
17+ </row>
918 <row>
1019 <entry>EBADF</entry>
1120 <entry>The file descriptor is not a valid.</entry>
@@ -50,22 +59,12 @@ · 38 unmodified lines
5059 that this request would overcommit the usb bandwidth reserved
5160 for periodic transfers (up to 80% of the USB bandwidth).</entry>
5261 </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>
5862 <row>
5963 <entry>EPERM</entry>
6064 <entry>Permission denied. Can be returned if the device needs write
6165 permission, or some special capabilities is needed
6266 (e. g. root)</entry>
6367 </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>
6968 </tbody>
7069 </tgroup>
7170 </table>
Documentation/DocBook/media/v4l/io.xml+9−18
@@ -613,8 +613,8 @@ field is independent of the <structfield>timestamp</structfield> and · 612 unmodified lines
613613 <entry>__u32</entry>
614614 <entry><structfield>sequence</structfield></entry>
615615 <entry></entry>
616− <entry>Set by the driver, counting the frames in the
617−sequence.</entry>
616+ <entry>Set by the driver, counting the frames (not fields!) in
617+sequence. This field is set for both input and output devices.</entry>
618618 </row>
619619 <row>
620620 <entry spanname="hspan"><para>In <link
@@ -677,26 +677,24 @@ memory, set by the application. See <xref linkend="userp" /> for details. · 56 unmodified lines
677677 <entry><structfield>length</structfield></entry>
678678 <entry></entry>
679679 <entry>Size of the buffer (not the payload) in bytes for the
680− single-planar API. For the multi-planar API should contain the
681− number of elements in the <structfield>planes</structfield> array.
680+ single-planar API. For the multi-planar API the application sets
681+ this to the number of elements in the <structfield>planes</structfield>
682+ array. The driver will fill in the actual number of valid elements in
683+ that array.
682684 </entry>
683685 </row>
684686 <row>
685687 <entry>__u32</entry>
686688 <entry><structfield>reserved2</structfield></entry>
687689 <entry></entry>
688− <entry>A place holder for future extensions and custom
689−(driver defined) buffer types
690−<constant>V4L2_BUF_TYPE_PRIVATE</constant> and higher. Applications
690+ <entry>A place holder for future extensions. Applications
691691 should set this to 0.</entry>
692692 </row>
693693 <row>
694694 <entry>__u32</entry>
695695 <entry><structfield>reserved</structfield></entry>
696696 <entry></entry>
697− <entry>A place holder for future extensions and custom
698−(driver defined) buffer types
699−<constant>V4L2_BUF_TYPE_PRIVATE</constant> and higher. Applications
697+ <entry>A place holder for future extensions. Applications
700698 should set this to 0.</entry>
701699 </row>
702700 </tbody>
@@ -827,14 +825,7 @@ should set this to 0.</entry> · 124 unmodified lines
827825 <entry><constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY</constant></entry>
828826 <entry>8</entry>
829827 <entry>Buffer for video output overlay (OSD), see <xref
830− linkend="osd" />. Status: <link
831−linkend="experimental">Experimental</link>.</entry>
832− </row>
833− <row>
834− <entry><constant>V4L2_BUF_TYPE_PRIVATE</constant></entry>
835− <entry>0x80</entry>
836− <entry>This and higher values are reserved for custom
837−(driver defined) buffer types.</entry>
828+ linkend="osd" />.</entry>
838829 </row>
839830 </tbody>
840831 </tgroup>
Documentation/DocBook/media/v4l/pixfmt-nv12m.xml+12−5
@@ -1,11 +1,13 @@
1− <refentry id="V4L2-PIX-FMT-NV12M">
1+ <refentry>
22 <refmeta>
3− <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12')</refentrytitle>
3+ <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16</refentrytitle>
44 &manvol;
55 </refmeta>
66 <refnamediv>
7− <refname> <constant>V4L2_PIX_FMT_NV12M</constant></refname>
8− <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> with planes
7+ <refname id="V4L2-PIX-FMT-NV12M"><constant>V4L2_PIX_FMT_NV12M</constant></refname>
8+ <refname id="V4L2-PIX-FMT-NV21M"><constant>V4L2_PIX_FMT_NV21M</constant></refname>
9+ <refname id="V4L2-PIX-FMT-NV12MT_16X16"><constant>V4L2_PIX_FMT_NV12MT_16X16</constant></refname>
10+ <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> and <constant>V4L2_PIX_FMT_NV21</constant> with planes
911 non contiguous in memory. </refpurpose>
1012 </refnamediv>
1113 <refsect1>
@@ -22,7 +24,12 @@ The CbCr plane is the same width, in bytes, as the Y plane (and of the image), · 10 unmodified lines
2224 but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example,
2325 Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
2426 Y'<subscript>00</subscript>, Y'<subscript>01</subscript>,
25−Y'<subscript>10</subscript>, Y'<subscript>11</subscript>. </para>
27+Y'<subscript>10</subscript>, Y'<subscript>11</subscript>.
28+<constant>V4L2_PIX_FMT_NV12MT_16X16</constant> is the tiled version of
29+<constant>V4L2_PIX_FMT_NV12M</constant> with 16x16 macroblock tiles. Here pixels
30+are arranged in 16x16 2D tiles and tiles are arranged in linear order in memory.
31+<constant>V4L2_PIX_FMT_NV21M</constant> is the same as <constant>V4L2_PIX_FMT_NV12M</constant>
32+except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr byte.</para>
2633
2734 <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be
2835 used only in drivers and applications that support the multi-planar API,
Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml+1−2
@@ -22,8 +22,7 @@ · 21 unmodified lines
2222 with 10 bits per colour compressed to 8 bits each, using DPCM
2323 compression. DPCM, differential pulse-code modulation, is lossy.
2424 Each colour component consumes 8 bits of memory. In other respects
25− this format is similar to <xref
26− linkend="pixfmt-srggb10">.</xref></para>
25+ this format is similar to <xref linkend="pixfmt-srggb10" />.</para>
2726
2827 </refsect1>
2928 </refentry>
Documentation/DocBook/media/v4l/pixfmt-yvu420m.xml+154−0
@@ -0,0 +1,154 @@
1+ <refentry id="V4L2-PIX-FMT-YVU420M">
2+ <refmeta>
3+ <refentrytitle>V4L2_PIX_FMT_YVU420M ('YM21')</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+ <refnamediv>
7+ <refname> <constant>V4L2_PIX_FMT_YVU420M</constant></refname>
8+ <refpurpose>Variation of <constant>V4L2_PIX_FMT_YVU420</constant>
9+ with planes non contiguous in memory. </refpurpose>
10+ </refnamediv>
11+
12+ <refsect1>
13+ <title>Description</title>
14+
15+ <para>This is a multi-planar format, as opposed to a packed format.
16+The three components are separated into three sub-images or planes.
17+
18+The Y plane is first. The Y plane has one byte per pixel. The Cr data
19+constitutes the second plane which is half the width and half
20+the height of the Y plane (and of the image). Each Cr belongs to four
21+pixels, a two-by-two square of the image. For example,
22+Cr<subscript>0</subscript> belongs to Y'<subscript>00</subscript>,
23+Y'<subscript>01</subscript>, Y'<subscript>10</subscript>, and
24+Y'<subscript>11</subscript>. The Cb data, just like the Cr plane, constitutes
25+the third plane. </para>
26+
27+ <para>If the Y plane has pad bytes after each row, then the Cr
28+and Cb planes have half as many pad bytes after their rows. In other
29+words, two Cx rows (including padding) is exactly as long as one Y row
30+(including padding).</para>
31+
32+ <para><constant>V4L2_PIX_FMT_YVU420M</constant> is intended to be
33+used only in drivers and applications that support the multi-planar API,
34+described in <xref linkend="planar-apis"/>. </para>
35+
36+ <example>
37+ <title><constant>V4L2_PIX_FMT_YVU420M</constant> 4 &times; 4
38+pixel image</title>
39+
40+ <formalpara>
41+ <title>Byte Order.</title>
42+ <para>Each cell is one byte.
43+ <informaltable frame="none">
44+ <tgroup cols="5" align="center">
45+ <colspec align="left" colwidth="2*" />
46+ <tbody valign="top">
47+ <row>
48+ <entry>start0&nbsp;+&nbsp;0:</entry>
49+ <entry>Y'<subscript>00</subscript></entry>
50+ <entry>Y'<subscript>01</subscript></entry>
51+ <entry>Y'<subscript>02</subscript></entry>
52+ <entry>Y'<subscript>03</subscript></entry>
53+ </row>
54+ <row>
55+ <entry>start0&nbsp;+&nbsp;4:</entry>
56+ <entry>Y'<subscript>10</subscript></entry>
57+ <entry>Y'<subscript>11</subscript></entry>
58+ <entry>Y'<subscript>12</subscript></entry>
59+ <entry>Y'<subscript>13</subscript></entry>
60+ </row>
61+ <row>
62+ <entry>start0&nbsp;+&nbsp;8:</entry>
63+ <entry>Y'<subscript>20</subscript></entry>
64+ <entry>Y'<subscript>21</subscript></entry>
65+ <entry>Y'<subscript>22</subscript></entry>
66+ <entry>Y'<subscript>23</subscript></entry>
67+ </row>
68+ <row>
69+ <entry>start0&nbsp;+&nbsp;12:</entry>
70+ <entry>Y'<subscript>30</subscript></entry>
71+ <entry>Y'<subscript>31</subscript></entry>
72+ <entry>Y'<subscript>32</subscript></entry>
73+ <entry>Y'<subscript>33</subscript></entry>
74+ </row>
75+ <row><entry></entry></row>
76+ <row>
77+ <entry>start1&nbsp;+&nbsp;0:</entry>
78+ <entry>Cr<subscript>00</subscript></entry>
79+ <entry>Cr<subscript>01</subscript></entry>
80+ </row>
81+ <row>
82+ <entry>start1&nbsp;+&nbsp;2:</entry>
83+ <entry>Cr<subscript>10</subscript></entry>
84+ <entry>Cr<subscript>11</subscript></entry>
85+ </row>
86+ <row><entry></entry></row>
87+ <row>
88+ <entry>start2&nbsp;+&nbsp;0:</entry>
89+ <entry>Cb<subscript>00</subscript></entry>
90+ <entry>Cb<subscript>01</subscript></entry>
91+ </row>
92+ <row>
93+ <entry>start2&nbsp;+&nbsp;2:</entry>
94+ <entry>Cb<subscript>10</subscript></entry>
95+ <entry>Cb<subscript>11</subscript></entry>
96+ </row>
97+ </tbody>
98+ </tgroup>
99+ </informaltable>
100+ </para>
101+ </formalpara>
102+
103+ <formalpara>
104+ <title>Color Sample Location.</title>
105+ <para>
106+ <informaltable frame="none">
107+ <tgroup cols="7" align="center">
108+ <tbody valign="top">
109+ <row>
110+ <entry></entry>
111+ <entry>0</entry><entry></entry><entry>1</entry><entry></entry>
112+ <entry>2</entry><entry></entry><entry>3</entry>
113+ </row>
114+ <row>
115+ <entry>0</entry>
116+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
117+ <entry>Y</entry><entry></entry><entry>Y</entry>
118+ </row>
119+ <row>
120+ <entry></entry>
121+ <entry></entry><entry>C</entry><entry></entry><entry></entry>
122+ <entry></entry><entry>C</entry><entry></entry>
123+ </row>
124+ <row>
125+ <entry>1</entry>
126+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
127+ <entry>Y</entry><entry></entry><entry>Y</entry>
128+ </row>
129+ <row>
130+ <entry></entry>
131+ </row>
132+ <row>
133+ <entry>2</entry>
134+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
135+ <entry>Y</entry><entry></entry><entry>Y</entry>
136+ </row>
137+ <row>
138+ <entry></entry>
139+ <entry></entry><entry>C</entry><entry></entry><entry></entry>
140+ <entry></entry><entry>C</entry><entry></entry>
141+ </row>
142+ <row>
143+ <entry>3</entry>
144+ <entry>Y</entry><entry></entry><entry>Y</entry><entry></entry>
145+ <entry>Y</entry><entry></entry><entry>Y</entry>
146+ </row>
147+ </tbody>
148+ </tgroup>
149+ </informaltable>
150+ </para>
151+ </formalpara>
152+ </example>
153+ </refsect1>
154+ </refentry>
Documentation/DocBook/media/v4l/pixfmt.xml+39−0
@@ -708,6 +708,7 @@ information.</para> · 707 unmodified lines
708708 &sub-y41p;
709709 &sub-yuv420;
710710 &sub-yuv420m;
711+ &sub-yvu420m;
711712 &sub-yuv410;
712713 &sub-yuv422p;
713714 &sub-yuv411p;
@@ -757,6 +758,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see · 43 unmodified lines
757758 <entry>'AVC1'</entry>
758759 <entry>H264 video elementary stream without start codes.</entry>
759760 </row>
761+ <row id="V4L2-PIX-FMT-H264-MVC">
762+ <entry><constant>V4L2_PIX_FMT_H264_MVC</constant></entry>
763+ <entry>'MVC'</entry>
764+ <entry>H264 MVC video elementary stream.</entry>
765+ </row>
760766 <row id="V4L2-PIX-FMT-H263">
761767 <entry><constant>V4L2_PIX_FMT_H263</constant></entry>
762768 <entry>'H263'</entry>
@@ -792,6 +798,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see · 29 unmodified lines
792798 <entry>'VC1L'</entry>
793799 <entry>VC1, SMPTE 421M Annex L compliant stream.</entry>
794800 </row>
801+ <row id="V4L2-PIX-FMT-VP8">
802+ <entry><constant>V4L2_PIX_FMT_VP8</constant></entry>
803+ <entry>'VP8'</entry>
804+ <entry>VP8 video elementary stream.</entry>
805+ </row>
795806 </tbody>
796807 </tgroup>
797808 </table>
@@ -995,6 +1006,34 @@ the other bits are set to 0.</entry> · 197 unmodified lines
9951006 <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used,
9961007 the other bits are set to 0.</entry>
9971008 </row>
1009+ <row id="V4L2-PIX-FMT-S5C-UYVY-JPG">
1010+ <entry><constant>V4L2_PIX_FMT_S5C_UYVY_JPG</constant></entry>
1011+ <entry>'S5CI'</entry>
1012+ <entry>Two-planar format used by Samsung S5C73MX cameras. The
1013+first plane contains interleaved JPEG and UYVY image data, followed by meta data
1014+in form of an array of offsets to the UYVY data blocks. The actual pointer array
1015+follows immediately the interleaved JPEG/UYVY data, the number of entries in
1016+this array equals the height of the UYVY image. Each entry is a 4-byte unsigned
1017+integer in big endian order and it's an offset to a single pixel line of the
1018+UYVY image. The first plane can start either with JPEG or UYVY data chunk. The
1019+size of a single UYVY block equals the UYVY image's width multiplied by 2. The
1020+size of a JPEG chunk depends on the image and can vary with each line.
1021+<para>The second plane, at an offset of 4084 bytes, contains a 4-byte offset to
1022+the pointer array in the first plane. This offset is followed by a 4-byte value
1023+indicating size of the pointer array. All numbers in the second plane are also
1024+in big endian order. Remaining data in the second plane is undefined. The
1025+information in the second plane allows to easily find location of the pointer
1026+array, which can be different for each frame. The size of the pointer array is
1027+constant for given UYVY image height.</para>
1028+<para>In order to extract UYVY and JPEG frames an application can initially set
1029+a data pointer to the start of first plane and then add an offset from the first
1030+entry of the pointers table. Such a pointer indicates start of an UYVY image
1031+pixel line. Whole UYVY line can be copied to a separate buffer. These steps
1032+should be repeated for each line, i.e. the number of entries in the pointer
1033+array. Anything what's in between the UYVY lines is JPEG data and should be
1034+concatenated to form the JPEG stream. </para>
1035+</entry>
1036+ </row>
9981037 </tbody>
9991038 </tgroup>
10001039 </table>
Documentation/DocBook/media/v4l/selection-api.xml+11−11
@@ -40,6 +40,7 @@ cropping and composing rectangles have the same size.</para> · 39 unmodified lines
4040 <section>
4141 <title>Selection targets</title>
4242
43+ <para>
4344 <figure id="sel-targets-capture">
4445 <title>Cropping and composing targets</title>
4546 <mediaobject>
@@ -52,12 +53,12 @@ cropping and composing rectangles have the same size.</para> · 6 unmodified lines
5253 </textobject>
5354 </mediaobject>
5455 </figure>
56+ </para>
5557
58+ <para>See <xref linkend="v4l2-selection-targets" /> for more
59+ information.</para>
5660 </section>
5761
58− See <xref linkend="v4l2-selection-targets" /> for more
59− information.
60−
6162 <section>
6263
6364 <title>Configuration</title>
@@ -216,18 +217,17 @@ composing and cropping operations by setting the appropriate targets. The V4L2 · 152 unmodified lines
216217 API lacks any support for composing to and cropping from an image inside a
217218 memory buffer. The application could configure a capture device to fill only a
218219 part of an image by abusing V4L2 API. Cropping a smaller image from a larger
219−one is achieved by setting the field <structfield>
220−&v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets
221−could be done by modifying field <structfield> &v4l2-buffer;::m:userptr
222−</structfield> before calling <constant> VIDIOC_QBUF </constant>. Those
220+one is achieved by setting the field
221+&v4l2-pix-format;<structfield>::bytesperline</structfield>. Introducing an image offsets
222+could be done by modifying field &v4l2-buffer;<structfield>::m_userptr</structfield>
223+before calling <constant> VIDIOC_QBUF </constant>. Those
223224 operations should be avoided because they are not portable (endianness), and do
224225 not work for macroblock and Bayer formats and mmap buffers. The selection API
225226 deals with configuration of buffer cropping/composing in a clear, intuitive and
226227 portable way. Next, with the selection API the concepts of the padded target
227−and constraints flags are introduced. Finally, <structname> &v4l2-crop;
228−</structname> and <structname> &v4l2-cropcap; </structname> have no reserved
229−fields. Therefore there is no way to extend their functionality. The new
230−<structname> &v4l2-selection; </structname> provides a lot of place for future
228+and constraints flags are introduced. Finally, &v4l2-crop; and &v4l2-cropcap;
229+have no reserved fields. Therefore there is no way to extend their functionality.
230+The new &v4l2-selection; provides a lot of place for future
231231 extensions. Driver developers are encouraged to implement only selection API.
232232 The former cropping API would be simulated using the new one. </para>
233233
Documentation/DocBook/media/v4l/subdev-formats.xml+44−0
@@ -2565,5 +2565,49 @@ · 2564 unmodified lines
25652565 </tgroup>
25662566 </table>
25672567 </section>
2568+
2569+ <section id="v4l2-mbus-vendor-spec-fmts">
2570+ <title>Vendor and Device Specific Formats</title>
2571+
2572+ <note>
2573+ <title>Experimental</title>
2574+ <para>This is an <link linkend="experimental">experimental</link>
2575+interface and may change in the future.</para>
2576+ </note>
2577+
2578+ <para>This section lists complex data formats that are either vendor or
2579+ device specific.
2580+ </para>
2581+
2582+ <para>The following table lists the existing vendor and device specific
2583+ formats.</para>
2584+
2585+ <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-vendor-specific">
2586+ <title>Vendor and device specific formats</title>
2587+ <tgroup cols="3">
2588+ <colspec colname="id" align="left" />
2589+ <colspec colname="code" align="left"/>
2590+ <colspec colname="remarks" align="left"/>
2591+ <thead>
2592+ <row>
2593+ <entry>Identifier</entry>
2594+ <entry>Code</entry>
2595+ <entry>Comments</entry>
2596+ </row>
2597+ </thead>
2598+ <tbody valign="top">
2599+ <row id="V4L2-MBUS-FMT-S5C-UYVY-JPEG-1X8">
2600+ <entry>V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8</entry>
2601+ <entry>0x5001</entry>
2602+ <entry>
2603+ Interleaved raw UYVY and JPEG image format with embedded
2604+ meta-data used by Samsung S3C73MX camera sensors.
2605+ </entry>
2606+ </row>
2607+ </tbody>
2608+ </tgroup>
2609+ </table>
2610+ </section>
2611+
25682612 </section>
25692613 </section>
Documentation/DocBook/media/v4l/v4l2.xml+8−7
@@ -145,9 +145,12 @@ applications. --> · 144 unmodified lines
145145 <authorinitials>hv</authorinitials>
146146 <revremark>Added VIDIOC_ENUM_FREQ_BANDS.
147147 </revremark>
148+ </revision>
149+
150+ <revision>
148151 <revnumber>3.5</revnumber>
149152 <date>2012-05-07</date>
150− <authorinitials>sa, sn</authorinitials>
153+ <authorinitials>sa, sn, hv</authorinitials>
151154 <revremark>Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev
152155 selections API. Improved the description of V4L2_CID_COLORFX
153156 control, added V4L2_CID_COLORFX_CBCR control.
@@ -158,11 +161,8 @@ applications. --> · 4 unmodified lines
158161 V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START,
159162 V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS
160163 and V4L2_CID_AUTO_FOCUS_RANGE.
161− </revremark>
162− <date>2012-05-01</date>
163− <authorinitials>hv</authorinitials>
164− <revremark>Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
165− VIDIOC_DV_TIMINGS_CAP.
164+ Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
165+ VIDIOC_DV_TIMINGS_CAP.
166166 </revremark>
167167 </revision>
168168
@@ -472,7 +472,7 @@ and discussions on the V4L mailing list.</revremark> · 303 unmodified lines
472472 </partinfo>
473473
474474 <title>Video for Linux Two API Specification</title>
475− <subtitle>Revision 3.5</subtitle>
475+ <subtitle>Revision 3.6</subtitle>
476476
477477 <chapter id="common">
478478 &sub-common;
@@ -581,6 +581,7 @@ and discussions on the V4L mailing list.</revremark> · 102 unmodified lines
581581 &sub-subdev-enum-frame-size;
582582 &sub-subdev-enum-mbus-code;
583583 &sub-subdev-g-crop;
584+ &sub-subdev-g-edid;
584585 &sub-subdev-g-fmt;
585586 &sub-subdev-g-frame-interval;
586587 &sub-subdev-g-selection;
Documentation/DocBook/media/v4l/vidioc-cropcap.xml+7−5
@@ -59,6 +59,9 @@ constant except when switching the video standard. Remember this · 58 unmodified lines
5959 switch can occur implicit when switching the video input or
6060 output.</para>
6161
62+ <para>This ioctl must be implemented for video capture or output devices that
63+support cropping and/or scaling and/or have non-square pixels, and for overlay devices.</para>
64+
6265 <table pgwide="1" frame="none" id="v4l2-cropcap">
6366 <title>struct <structname>v4l2_cropcap</structname></title>
6467 <tgroup cols="3">
@@ -70,10 +73,10 @@ output.</para> · 5 unmodified lines
7073 <entry>Type of the data stream, set by the application.
7174 Only these types are valid here:
7275 <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>,
76+<constant>V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE</constant>,
7377 <constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
74−<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
75−defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
76−and higher. See <xref linkend="v4l2-buf-type" />.</entry>
78+<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant> and
79+<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>. See <xref linkend="v4l2-buf-type" />.</entry>
7780 </row>
7881 <row>
7982 <entry>struct <link linkend="v4l2-rect-crop">v4l2_rect</link></entry>
@@ -156,8 +159,7 @@ on 22 Oct 2002 subject "Re:[V4L][patches!] Re:v4l2/kernel-2.5" --> · 76 unmodified lines
156159 <term><errorcode>EINVAL</errorcode></term>
157160 <listitem>
158161 <para>The &v4l2-cropcap; <structfield>type</structfield> is
159−invalid. This is not permitted for video capture, output and overlay devices,
160−which must support <constant>VIDIOC_CROPCAP</constant>.</para>
162+invalid.</para>
161163 </listitem>
162164 </varlistentry>
163165 </variablelist>
Documentation/DocBook/media/v4l/vidioc-decoder-cmd.xml+0−7
@@ -49,13 +49,6 @@ · 48 unmodified lines
4949 <refsect1>
5050 <title>Description</title>
5151
52− <note>
53− <title>Experimental</title>
54−
55− <para>This is an <link linkend="experimental">experimental</link>
56−interface and may change in the future.</para>
57− </note>
58−
5952 <para>These ioctls control an audio/video (usually MPEG-) decoder.
6053 <constant>VIDIOC_DECODER_CMD</constant> sends a command to the
6154 decoder, <constant>VIDIOC_TRY_DECODER_CMD</constant> can be used to
Documentation/DocBook/media/v4l/vidioc-encoder-cmd.xml+0−7
@@ -49,13 +49,6 @@ · 48 unmodified lines
4949 <refsect1>
5050 <title>Description</title>
5151
52− <note>
53− <title>Experimental</title>
54−
55− <para>This is an <link linkend="experimental">experimental</link>
56−interface and may change in the future.</para>
57− </note>
58−
5952 <para>These ioctls control an audio/video (usually MPEG-) encoder.
6053 <constant>VIDIOC_ENCODER_CMD</constant> sends a command to the
6154 encoder, <constant>VIDIOC_TRY_ENCODER_CMD</constant> can be used to
Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml+6−0
@@ -229,6 +229,12 @@ intended for the user.</entry> · 228 unmodified lines
229229 is out of bounds.</para>
230230 </listitem>
231231 </varlistentry>
232+ <varlistentry>
233+ <term><errorcode>ENODATA</errorcode></term>
234+ <listitem>
235+ <para>Digital video presets are not supported for this input or output.</para>
236+ </listitem>
237+ </varlistentry>
232238 </variablelist>
233239 </refsect1>
234240 </refentry>
Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml+6−0
@@ -106,6 +106,12 @@ application.</entry> · 105 unmodified lines
106106 is out of bounds.</para>
107107 </listitem>
108108 </varlistentry>
109+ <varlistentry>
110+ <term><errorcode>ENODATA</errorcode></term>
111+ <listitem>
112+ <para>Digital video presets are not supported for this input or output.</para>
113+ </listitem>
114+ </varlistentry>
109115 </variablelist>
110116 </refsect1>
111117 </refentry>
Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml+5−4
@@ -58,6 +58,9 @@ structure. Drivers fill the rest of the structure or return an · 57 unmodified lines
5858 incrementing by one until <errorcode>EINVAL</errorcode> is
5959 returned.</para>
6060
61+ <para>Note that after switching input or output the list of enumerated image
62+formats may be different.</para>
63+
6164 <table pgwide="1" frame="none" id="v4l2-fmtdesc">
6265 <title>struct <structname>v4l2_fmtdesc</structname></title>
6366 <tgroup cols="3">
@@ -78,10 +81,8 @@ Only these types are valid here: · 14 unmodified lines
7881 <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>,
7982 <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE</constant>,
8083 <constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
81−<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant>,
82−<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
83−defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
84−and higher. See <xref linkend="v4l2-buf-type" />.</entry>
84+<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE</constant> and
85+<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>. See <xref linkend="v4l2-buf-type" />.</entry>
8586 </row>
8687 <row>
8788 <entry>__u32</entry>
Documentation/DocBook/media/v4l/vidioc-enum-framesizes.xml+0−7
@@ -50,13 +50,6 @@ and pixel format and receives a frame width and height.</para> · 49 unmodified lines
5050 <refsect1>
5151 <title>Description</title>
5252
53− <note>
54− <title>Experimental</title>
55−
56− <para>This is an <link linkend="experimental">experimental</link>
57−interface and may change in the future.</para>
58− </note>
59−
6053 <para>This ioctl allows applications to enumerate all frame sizes
6154 (&ie; width and height in pixels) that the device supports for the
6255 given pixel format.</para>
Documentation/DocBook/media/v4l/vidioc-enuminput.xml+1−1
@@ -283,7 +283,7 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009. · 282 unmodified lines
283283 <entry>This input supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry>
284284 </row>
285285 <row>
286− <entry><constant>V4L2_IN_CAP_CUSTOM_TIMINGS</constant></entry>
286+ <entry><constant>V4L2_IN_CAP_DV_TIMINGS</constant></entry>
287287 <entry>0x00000002</entry>
288288 <entry>This input supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
289289 </row>
Documentation/DocBook/media/v4l/vidioc-enumoutput.xml+1−1
@@ -168,7 +168,7 @@ input/output interface to linux-media@vger.kernel.org on 19 Oct 2009. · 167 unmodified lines
168168 <entry>This output supports setting DV presets by using VIDIOC_S_DV_PRESET.</entry>
169169 </row>
170170 <row>
171− <entry><constant>V4L2_OUT_CAP_CUSTOM_TIMINGS</constant></entry>
171+ <entry><constant>V4L2_OUT_CAP_DV_TIMINGS</constant></entry>
172172 <entry>0x00000002</entry>
173173 <entry>This output supports setting video timings by using VIDIOC_S_DV_TIMINGS.</entry>
174174 </row>
Documentation/DocBook/media/v4l/vidioc-enumstd.xml+6−0
@@ -378,6 +378,12 @@ system)</para></footnote></para></entry> · 377 unmodified lines
378378 is out of bounds.</para>
379379 </listitem>
380380 </varlistentry>
381+ <varlistentry>
382+ <term><errorcode>ENODATA</errorcode></term>
383+ <listitem>
384+ <para>Standard video timings are not supported for this input or output.</para>
385+ </listitem>
386+ </varlistentry>
381387 </variablelist>
382388 </refsect1>
383389 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-crop.xml+2−4
@@ -104,10 +104,8 @@ changed and <constant>VIDIOC_S_CROP</constant> returns the · 103 unmodified lines
104104 <entry><structfield>type</structfield></entry>
105105 <entry>Type of the data stream, set by the application.
106106 Only these types are valid here: <constant>V4L2_BUF_TYPE_VIDEO_CAPTURE</constant>,
107−<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant>,
108−<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>, and custom (driver
109−defined) types with code <constant>V4L2_BUF_TYPE_PRIVATE</constant>
110−and higher. See <xref linkend="v4l2-buf-type" />.</entry>
107+<constant>V4L2_BUF_TYPE_VIDEO_OUTPUT</constant> and
108+<constant>V4L2_BUF_TYPE_VIDEO_OVERLAY</constant>. See <xref linkend="v4l2-buf-type" />.</entry>
111109 </row>
112110 <row>
113111 <entry>&v4l2-rect;</entry>
Documentation/DocBook/media/v4l/vidioc-g-dv-preset.xml+6−3
@@ -77,6 +77,12 @@ If the preset is not supported, it returns an &EINVAL; </para> · 76 unmodified lines
7777 <constant>VIDIOC_S_DV_PRESET</constant>,<constant>VIDIOC_S_DV_PRESET</constant> parameter was unsuitable.</para>
7878 </listitem>
7979 </varlistentry>
80+ <varlistentry>
81+ <term><errorcode>ENODATA</errorcode></term>
82+ <listitem>
83+ <para>Digital video presets are not supported for this input or output.</para>
84+ </listitem>
85+ </varlistentry>
8086 <varlistentry>
8187 <term><errorcode>EBUSY</errorcode></term>
8288 <listitem>
@@ -104,7 +110,4 @@ If the preset is not supported, it returns an &EINVAL; </para> · 21 unmodified lines
104110 </tgroup>
105111 </table>
106112 </refsect1>
107− <refsect1>
108− &return-value;
109− </refsect1>
110113 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-dv-timings.xml+9−4
@@ -56,7 +56,9 @@ a pointer to the &v4l2-dv-timings; structure as argument. If the ioctl is not su · 55 unmodified lines
5656 or the timing values are not correct, the driver returns &EINVAL;.</para>
5757 <para>The <filename>linux/v4l2-dv-timings.h</filename> header can be used to get the
5858 timings of the formats in the <xref linkend="cea861" /> and <xref linkend="vesadmt" />
59−standards.</para>
59+standards. If the current input or output does not support DV timings (e.g. if
60+&VIDIOC-ENUMINPUT; does not set the <constant>V4L2_IN_CAP_DV_TIMINGS</constant> flag), then
61+&ENODATA; is returned.</para>
6062 </refsect1>
6163
6264 <refsect1>
@@ -70,6 +72,12 @@ standards.</para> · 7 unmodified lines
7072 <constant>VIDIOC_S_DV_TIMINGS</constant> parameter was unsuitable.</para>
7173 </listitem>
7274 </varlistentry>
75+ <varlistentry>
76+ <term><errorcode>ENODATA</errorcode></term>
77+ <listitem>
78+ <para>Digital video timings are not supported for this input or output.</para>
79+ </listitem>
80+ </varlistentry>
7381 <varlistentry>
7482 <term><errorcode>EBUSY</errorcode></term>
7583 <listitem>
@@ -320,7 +328,4 @@ detected or used depends on the hardware. · 244 unmodified lines
320328 </tgroup>
321329 </table>
322330 </refsect1>
323− <refsect1>
324− &return-value;
325− </refsect1>
326331 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-enc-index.xml+0−7
@@ -48,13 +48,6 @@ · 47 unmodified lines
4848 <refsect1>
4949 <title>Description</title>
5050
51− <note>
52− <title>Experimental</title>
53−
54− <para>This is an <link linkend="experimental">experimental</link>
55−interface and may change in the future.</para>
56− </note>
57−
5851 <para>The <constant>VIDIOC_G_ENC_INDEX</constant> ioctl provides
5952 meta data about a compressed video stream the same or another
6053 application currently reads from the driver, which is useful for
Documentation/DocBook/media/v4l/vidioc-g-fmt.xml+7−6
@@ -81,7 +81,7 @@ the application calls the <constant>VIDIOC_S_FMT</constant> ioctl · 80 unmodified lines
8181 with a pointer to a <structname>v4l2_format</structname> structure
8282 the driver checks
8383 and adjusts the parameters against hardware abilities. Drivers
84−should not return an error code unless the input is ambiguous, this is
84+should not return an error code unless the <structfield>type</structfield> field is invalid, this is
8585 a mechanism to fathom device capabilities and to approach parameters
8686 acceptable for both the application and driver. On success the driver
8787 may program the hardware, allocate resources and generally prepare for
@@ -107,6 +107,10 @@ disabling I/O or possibly time consuming hardware preparations. · 19 unmodified lines
107107 Although strongly recommended drivers are not required to implement
108108 this ioctl.</para>
109109
110+ <para>The format as returned by <constant>VIDIOC_TRY_FMT</constant>
111+must be identical to what <constant>VIDIOC_S_FMT</constant> returns for
112+the same input or output.</para>
113+
110114 <table pgwide="1" frame="none" id="v4l2-format">
111115 <title>struct <structname>v4l2_format</structname></title>
112116 <tgroup cols="4">
@@ -170,9 +174,7 @@ capture and output devices.</entry> · 57 unmodified lines
170174 <entry></entry>
171175 <entry>__u8</entry>
172176 <entry><structfield>raw_data</structfield>[200]</entry>
173− <entry>Place holder for future extensions and custom
174−(driver defined) formats with <structfield>type</structfield>
175−<constant>V4L2_BUF_TYPE_PRIVATE</constant> and higher.</entry>
177+ <entry>Place holder for future extensions.</entry>
176178 </row>
177179 </tbody>
178180 </tgroup>
@@ -187,8 +189,7 @@ capture and output devices.</entry> · 8 unmodified lines
187189 <term><errorcode>EINVAL</errorcode></term>
188190 <listitem>
189191 <para>The &v4l2-format; <structfield>type</structfield>
190−field is invalid, the requested buffer type not supported, or the
191−format is not supported with this buffer type.</para>
192+field is invalid or the requested buffer type not supported.</para>
192193 </listitem>
193194 </varlistentry>
194195 </variablelist>
Documentation/DocBook/media/v4l/vidioc-g-parm.xml+1−3
@@ -108,9 +108,7 @@ devices.</para> · 107 unmodified lines
108108 <entry></entry>
109109 <entry>__u8</entry>
110110 <entry><structfield>raw_data</structfield>[200]</entry>
111− <entry>A place holder for future extensions and custom
112−(driver defined) buffer types <constant>V4L2_BUF_TYPE_PRIVATE</constant> and
113−higher.</entry>
111+ <entry>A place holder for future extensions.</entry>
114112 </row>
115113 </tbody>
116114 </tgroup>
Documentation/DocBook/media/v4l/vidioc-g-selection.xml+4−5
@@ -152,12 +152,10 @@ satisfactory parameters have been negotiated. If constraints flags have to be · 151 unmodified lines
152152 violated at then ERANGE is returned. The error indicates that <emphasis> there
153153 exist no rectangle </emphasis> that satisfies the constraints.</para>
154154
155− </refsect1>
156−
157155 <para>Selection targets and flags are documented in <xref
158156 linkend="v4l2-selections-common"/>.</para>
159157
160− <section>
158+ <para>
161159 <figure id="sel-const-adjust">
162160 <title>Size adjustments with constraint flags.</title>
163161 <mediaobject>
@@ -170,9 +168,9 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> · 6 unmodified lines
170168 </textobject>
171169 </mediaobject>
172170 </figure>
173− </section>
171+ </para>
174172
175− <refsect1>
173+ <para>
176174 <table pgwide="1" frame="none" id="v4l2-selection">
177175 <title>struct <structname>v4l2_selection</structname></title>
178176 <tgroup cols="3">
@@ -208,6 +206,7 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> · 29 unmodified lines
208206 </tbody>
209207 </tgroup>
210208 </table>
209+ </para>
211210 </refsect1>
212211
213212 <refsect1>
Documentation/DocBook/media/v4l/vidioc-g-std.xml+9−1
@@ -72,7 +72,9 @@ flags, being a write-only ioctl it does not return the actual new standard as · 71 unmodified lines
7272 the current input does not support the requested standard the driver
7373 returns an &EINVAL;. When the standard set is ambiguous drivers may
7474 return <errorcode>EINVAL</errorcode> or choose any of the requested
75−standards.</para>
75+standards. If the current input or output does not support standard video timings (e.g. if
76+&VIDIOC-ENUMINPUT; does not set the <constant>V4L2_IN_CAP_STD</constant> flag), then
77+&ENODATA; is returned.</para>
7678 </refsect1>
7779
7880 <refsect1>
@@ -85,6 +87,12 @@ standards.</para> · 6 unmodified lines
8587 <para>The <constant>VIDIOC_S_STD</constant> parameter was unsuitable.</para>
8688 </listitem>
8789 </varlistentry>
90+ <varlistentry>
91+ <term><errorcode>ENODATA</errorcode></term>
92+ <listitem>
93+ <para>Standard video timings are not supported for this input or output.</para>
94+ </listitem>
95+ </varlistentry>
8896 </variablelist>
8997 </refsect1>
9098 </refentry>
Documentation/DocBook/media/v4l/vidioc-g-tuner.xml+6−0
@@ -354,6 +354,12 @@ radio tuners.</entry> · 353 unmodified lines
354354 <entry>The &VIDIOC-ENUM-FREQ-BANDS; ioctl can be used to enumerate
355355 the available frequency bands.</entry>
356356 </row>
357+ <row>
358+ <entry><constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant></entry>
359+ <entry>0x0800</entry>
360+ <entry>The range to search when using the hardware seek functionality
361+ is programmable, see &VIDIOC-S-HW-FREQ-SEEK; for details.</entry>
362+ </row>
357363 </tbody>
358364 </tgroup>
359365 </table>
Documentation/DocBook/media/v4l/vidioc-qbuf.xml+3−2
@@ -121,8 +121,7 @@ remaining fields or returns an error code. The driver may also set · 120 unmodified lines
121121 field. It indicates a non-critical (recoverable) streaming error. In such case
122122 the application may continue as normal, but should be aware that data in the
123123 dequeued buffer might be corrupted. When using the multi-planar API, the
124−planes array does not have to be passed; the <structfield>m.planes</structfield>
125−member must be set to NULL in that case.</para>
124+planes array must be passed in as well.</para>
126125
127126 <para>By default <constant>VIDIOC_DQBUF</constant> blocks when no
128127 buffer is in the outgoing queue. When the
@@ -155,6 +154,8 @@ or no buffers have been allocated yet, or the · 26 unmodified lines
155154 <structfield>userptr</structfield> or
156155 <structfield>length</structfield> are invalid.</para>
157156 </listitem>
157+ </varlistentry>
158+ <varlistentry>
158159 <term><errorcode>EIO</errorcode></term>
159160 <listitem>
160161 <para><constant>VIDIOC_DQBUF</constant> failed due to an
Documentation/DocBook/media/v4l/vidioc-query-dv-preset.xml+9−0
@@ -65,5 +65,14 @@ returned.</para> · 64 unmodified lines
6565
6666 <refsect1>
6767 &return-value;
68+
69+ <variablelist>
70+ <varlistentry>
71+ <term><errorcode>ENODATA</errorcode></term>
72+ <listitem>
73+ <para>Digital video presets are not supported for this input or output.</para>
74+ </listitem>
75+ </varlistentry>
76+ </variablelist>
6877 </refsect1>
6978 </refentry>
Documentation/DocBook/media/v4l/vidioc-query-dv-timings.xml+6−0
@@ -77,6 +77,12 @@ capabilities in order to give more precise feedback to the user. · 76 unmodified lines
7777 &return-value;
7878
7979 <variablelist>
80+ <varlistentry>
81+ <term><errorcode>ENODATA</errorcode></term>
82+ <listitem>
83+ <para>Digital video timings are not supported for this input or output.</para>
84+ </listitem>
85+ </varlistentry>
8086 <varlistentry>
8187 <term><errorcode>ENOLINK</errorcode></term>
8288 <listitem>
Documentation/DocBook/media/v4l/vidioc-querybuf.xml+7−4
@@ -48,8 +48,8 @@ · 47 unmodified lines
4848 <refsect1>
4949 <title>Description</title>
5050
51− <para>This ioctl is part of the <link linkend="mmap">memory
52−mapping</link> I/O method. It can be used to query the status of a
51+ <para>This ioctl is part of the <link linkend="mmap">streaming
52+</link> I/O method. It can be used to query the status of a
5353 buffer at any time after buffers have been allocated with the
5454 &VIDIOC-REQBUFS; ioctl.</para>
5555
@@ -71,6 +71,7 @@ the structure.</para> · 15 unmodified lines
7171
7272 <para>In the <structfield>flags</structfield> field the
7373 <constant>V4L2_BUF_FLAG_MAPPED</constant>,
74+<constant>V4L2_BUF_FLAG_PREPARED</constant>,
7475 <constant>V4L2_BUF_FLAG_QUEUED</constant> and
7576 <constant>V4L2_BUF_FLAG_DONE</constant> flags will be valid. The
7677 <structfield>memory</structfield> field will be set to the current
@@ -79,8 +80,10 @@ contains the offset of the buffer from the start of the device memory, · 2 unmodified lines
7980 the <structfield>length</structfield> field its size. For the multi-planar API,
8081 fields <structfield>m.mem_offset</structfield> and
8182 <structfield>length</structfield> in the <structfield>m.planes</structfield>
82−array elements will be used instead. The driver may or may not set the remaining
83−fields and flags, they are meaningless in this context.</para>
83+array elements will be used instead and the <structfield>length</structfield>
84+field of &v4l2-buffer; is set to the number of filled-in array elements.
85+The driver may or may not set the remaining fields and flags, they are
86+meaningless in this context.</para>
8487
8588 <para>The <structname>v4l2_buffer</structname> structure is
8689 specified in <xref linkend="buffer" />.</para>
Documentation/DocBook/media/v4l/vidioc-querycap.xml+6−4
@@ -90,11 +90,13 @@ ambiguities.</entry> · 89 unmodified lines
9090 <entry>__u8</entry>
9191 <entry><structfield>bus_info</structfield>[32]</entry>
9292 <entry>Location of the device in the system, a
93−NUL-terminated ASCII string. For example: "PCI Slot 4". This
93+NUL-terminated ASCII string. For example: "PCI:0000:05:06.0". This
9494 information is intended for users, to distinguish multiple
95−identical devices. If no such information is available the field may
96−simply count the devices controlled by the driver, or contain the
97−empty string (<structfield>bus_info</structfield>[0] = 0).<!-- XXX pci_dev->slot_name example --></entry>
95+identical devices. If no such information is available the field must
96+simply count the devices controlled by the driver ("platform:vivi-000").
97+The bus_info must start with "PCI:" for PCI boards, "PCIe:" for PCI Express boards,
98+"usb-" for USB devices, "I2C:" for i2c devices, "ISA:" for ISA devices,
99+"parport" for parallel port devices and "platform:" for platform devices.</entry>
98100 </row>
99101 <row>
100102 <entry>__u32</entry>
Documentation/DocBook/media/v4l/vidioc-querystd.xml+8−0
@@ -62,5 +62,13 @@ current video input or output.</para> · 61 unmodified lines
6262
6363 <refsect1>
6464 &return-value;
65+ <variablelist>
66+ <varlistentry>
67+ <term><errorcode>ENODATA</errorcode></term>
68+ <listitem>
69+ <para>Standard video timings are not supported for this input or output.</para>
70+ </listitem>
71+ </varlistentry>
72+ </variablelist>
6573 </refsect1>
6674 </refentry>
Documentation/DocBook/media/v4l/vidioc-reqbufs.xml+2−3
@@ -109,9 +109,8 @@ as the &v4l2-format; <structfield>type</structfield> field. See <xref · 108 unmodified lines
109109 <row>
110110 <entry>__u32</entry>
111111 <entry><structfield>reserved</structfield>[2]</entry>
112− <entry>A place holder for future extensions and custom
113−(driver defined) buffer types <constant>V4L2_BUF_TYPE_PRIVATE</constant> and
114−higher. This array should be zeroed by applications.</entry>
112+ <entry>A place holder for future extensions. This array should
113+be zeroed by applications.</entry>
115114 </row>
116115 </tbody>
117116 </tgroup>
Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml+10−0
@@ -75,6 +75,9 @@ seek is started.</para> · 74 unmodified lines
7575
7676 <para>This ioctl is supported if the <constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability is set.</para>
7777
78+ <para>If this ioctl is called from a non-blocking filehandle, then &EAGAIN; is
79+ returned and no seek takes place.</para>
80+
7881 <table pgwide="1" frame="none" id="v4l2-hw-freq-seek">
7982 <title>struct <structname>v4l2_hw_freq_seek</structname></title>
8083 <tgroup cols="3">
@@ -157,6 +160,13 @@ one of the values in the <structfield>type</structfield>, · 76 unmodified lines
157160 fields is wrong.</para>
158161 </listitem>
159162 </varlistentry>
163+ <varlistentry>
164+ <term><errorcode>EAGAIN</errorcode></term>
165+ <listitem>
166+ <para>Attempted to call <constant>VIDIOC_S_HW_FREQ_SEEK</constant>
167+ with the filehandle in non-blocking mode.</para>
168+ </listitem>
169+ </varlistentry>
160170 <varlistentry>
161171 <term><errorcode>ENODATA</errorcode></term>
162172 <listitem>
Documentation/DocBook/media/v4l/vidioc-streamon.xml+6−1
@@ -74,7 +74,12 @@ not transmitted yet. I/O returns to the same state as after calling · 73 unmodified lines
7474 stream type. This is the same as &v4l2-requestbuffers;
7575 <structfield>type</structfield>.</para>
7676
77− <para>Note applications can be preempted for unknown periods right
77+ <para>If <constant>VIDIOC_STREAMON</constant> is called when streaming
78+is already in progress, or if <constant>VIDIOC_STREAMOFF</constant> is called
79+when streaming is already stopped, then the ioctl does nothing and 0 is
80+returned.</para>
81+
82+ <para>Note that applications can be preempted for unknown periods right
7883 before or after the <constant>VIDIOC_STREAMON</constant> or
7984 <constant>VIDIOC_STREAMOFF</constant> calls, there is no notion of
8085 starting or stopping "now". Buffer timestamps can be used to
Documentation/DocBook/media/v4l/vidioc-subdev-g-edid.xml+152−0
@@ -0,0 +1,152 @@
1+<refentry id="vidioc-subdev-g-edid">
2+ <refmeta>
3+ <refentrytitle>ioctl VIDIOC_SUBDEV_G_EDID, VIDIOC_SUBDEV_S_EDID</refentrytitle>
4+ &manvol;
5+ </refmeta>
6+
7+ <refnamediv>
8+ <refname>VIDIOC_SUBDEV_G_EDID</refname>
9+ <refname>VIDIOC_SUBDEV_S_EDID</refname>
10+ <refpurpose>Get or set the EDID of a video receiver/transmitter</refpurpose>
11+ </refnamediv>
12+
13+ <refsynopsisdiv>
14+ <funcsynopsis>
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>struct v4l2_subdev_edid *<parameter>argp</parameter></paramdef>
20+ </funcprototype>
21+ </funcsynopsis>
22+ <funcsynopsis>
23+ <funcprototype>
24+ <funcdef>int <function>ioctl</function></funcdef>
25+ <paramdef>int <parameter>fd</parameter></paramdef>
26+ <paramdef>int <parameter>request</parameter></paramdef>
27+ <paramdef>const struct v4l2_subdev_edid *<parameter>argp</parameter></paramdef>
28+ </funcprototype>
29+ </funcsynopsis>
30+ </refsynopsisdiv>
31+
32+ <refsect1>
33+ <title>Arguments</title>
34+
35+ <variablelist>
36+ <varlistentry>
37+ <term><parameter>fd</parameter></term>
38+ <listitem>
39+ <para>&fd;</para>
40+ </listitem>
41+ </varlistentry>
42+ <varlistentry>
43+ <term><parameter>request</parameter></term>
44+ <listitem>
45+ <para>VIDIOC_SUBDEV_G_EDID, VIDIOC_SUBDEV_S_EDID</para>
46+ </listitem>
47+ </varlistentry>
48+ <varlistentry>
49+ <term><parameter>argp</parameter></term>
50+ <listitem>
51+ <para></para>
52+ </listitem>
53+ </varlistentry>
54+ </variablelist>
55+ </refsect1>
56+
57+ <refsect1>
58+ <title>Description</title>
59+ <para>These ioctls can be used to get or set an EDID associated with an input pad
60+ from a receiver or an output pad of a transmitter subdevice.</para>
61+
62+ <para>To get the EDID data the application has to fill in the <structfield>pad</structfield>,
63+ <structfield>start_block</structfield>, <structfield>blocks</structfield> and <structfield>edid</structfield>
64+ fields and call <constant>VIDIOC_SUBDEV_G_EDID</constant>. The current EDID from block
65+ <structfield>start_block</structfield> and of size <structfield>blocks</structfield>
66+ will be placed in the memory <structfield>edid</structfield> points to. The <structfield>edid</structfield>
67+ pointer must point to memory at least <structfield>blocks</structfield>&nbsp;*&nbsp;128 bytes
68+ large (the size of one block is 128 bytes).</para>
69+
70+ <para>If there are fewer blocks than specified, then the driver will set <structfield>blocks</structfield>
71+ to the actual number of blocks. If there are no EDID blocks available at all, then the error code
72+ ENODATA is set.</para>
73+
74+ <para>If blocks have to be retrieved from the sink, then this call will block until they
75+ have been read.</para>
76+
77+ <para>To set the EDID blocks of a receiver the application has to fill in the <structfield>pad</structfield>,
78+ <structfield>blocks</structfield> and <structfield>edid</structfield> fields and set
79+ <structfield>start_block</structfield> to 0. It is not possible to set part of an EDID,
80+ it is always all or nothing. Setting the EDID data is only valid for receivers as it makes
81+ no sense for a transmitter.</para>
82+
83+ <para>The driver assumes that the full EDID is passed in. If there are more EDID blocks than
84+ the hardware can handle then the EDID is not written, but instead the error code E2BIG is set
85+ and <structfield>blocks</structfield> is set to the maximum that the hardware supports.
86+ If <structfield>start_block</structfield> is any
87+ value other than 0 then the error code EINVAL is set.</para>
88+
89+ <para>To disable an EDID you set <structfield>blocks</structfield> to 0. Depending on the
90+ hardware this will drive the hotplug pin low and/or block the source from reading the EDID
91+ data in some way. In any case, the end result is the same: the EDID is no longer available.
92+ </para>
93+
94+ <table pgwide="1" frame="none" id="v4l2-subdev-edid">
95+ <title>struct <structname>v4l2_subdev_edid</structname></title>
96+ <tgroup cols="3">
97+ &cs-str;
98+ <tbody valign="top">
99+ <row>
100+ <entry>__u32</entry>
101+ <entry><structfield>pad</structfield></entry>
102+ <entry>Pad for which to get/set the EDID blocks.</entry>
103+ </row>
104+ <row>
105+ <entry>__u32</entry>
106+ <entry><structfield>start_block</structfield></entry>
107+ <entry>Read the EDID from starting with this block. Must be 0 when setting
108+ the EDID.</entry>
109+ </row>
110+ <row>
111+ <entry>__u32</entry>
112+ <entry><structfield>blocks</structfield></entry>
113+ <entry>The number of blocks to get or set. Must be less or equal to 256 (the
114+ maximum number of blocks as defined by the standard). When you set the EDID and
115+ <structfield>blocks</structfield> is 0, then the EDID is disabled or erased.</entry>
116+ </row>
117+ <row>
118+ <entry>__u8&nbsp;*</entry>
119+ <entry><structfield>edid</structfield></entry>
120+ <entry>Pointer to memory that contains the EDID. The minimum size is
121+ <structfield>blocks</structfield>&nbsp;*&nbsp;128.</entry>
122+ </row>
123+ <row>
124+ <entry>__u32</entry>
125+ <entry><structfield>reserved</structfield>[5]</entry>
126+ <entry>Reserved for future extensions. Applications and drivers must
127+ set the array to zero.</entry>
128+ </row>
129+ </tbody>
130+ </tgroup>
131+ </table>
132+ </refsect1>
133+
134+ <refsect1>
135+ &return-value;
136+
137+ <variablelist>
138+ <varlistentry>
139+ <term><errorcode>ENODATA</errorcode></term>
140+ <listitem>
141+ <para>The EDID data is not available.</para>
142+ </listitem>
143+ </varlistentry>
144+ <varlistentry>
145+ <term><errorcode>E2BIG</errorcode></term>
146+ <listitem>
147+ <para>The EDID data you provided is more than the hardware can handle.</para>
148+ </listitem>
149+ </varlistentry>
150+ </variablelist>
151+ </refsect1>
152+</refentry>
Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml+4−4
@@ -69,23 +69,22 @@ · 68 unmodified lines
6969 more information on how each selection target affects the image
7070 processing pipeline inside the subdevice.</para>
7171
72− <section>
72+ <refsect2>
7373 <title>Types of selection targets</title>
7474
7575 <para>There are two types of selection targets: actual and bounds. The
7676 actual targets are the targets which configure the hardware. The BOUNDS
7777 target will return a rectangle that contain all possible actual
7878 rectangles.</para>
79− </section>
79+ </refsect2>
8080
81− <section>
81+ <refsect2>
8282 <title>Discovering supported features</title>
8383
8484 <para>To discover which targets are supported, the user can
8585 perform <constant>VIDIOC_SUBDEV_G_SELECTION</constant> on them.
8686 Any unsupported target will return
8787 <constant>EINVAL</constant>.</para>
88− </section>
8988
9089 <para>Selection targets and flags are documented in <xref
9190 linkend="v4l2-selections-common"/>.</para>
@@ -132,6 +131,7 @@ · 40 unmodified lines
132131 </tbody>
133132 </tgroup>
134133 </table>
134+ </refsect2>
135135
136136 </refsect1>
137137
Documentation/DocBook/media_api.tmpl+5−4
@@ -29,7 +29,7 @@ · 28 unmodified lines
2929 <title>LINUX MEDIA INFRASTRUCTURE API</title>
3030
3131 <copyright>
32− <year>2009-2011</year>
32+ <year>2009-2012</year>
3333 <holder>LinuxTV Developers</holder>
3434 </copyright>
3535
@@ -53,7 +53,7 @@ Foundation. A copy of the license is included in the chapter entitled · 17 unmodified lines
5353 video and radio straming devices, including video cameras,
5454 analog and digital TV receiver cards, AM/FM receiver cards,
5555 streaming capture devices.</para>
56− <para>It is divided into three parts.</para>
56+ <para>It is divided into four parts.</para>
5757 <para>The first part covers radio, capture,
5858 cameras and analog TV devices.</para>
5959 <para>The second part covers the
@@ -62,7 +62,8 @@ Foundation. A copy of the license is included in the chapter entitled · 2 unmodified lines
6262 in fact it covers several different video standards including
6363 DVB-T, DVB-S, DVB-C and ATSC. The API is currently being updated
6464 to documment support also for DVB-S2, ISDB-T and ISDB-S.</para>
65− <para>The third part covers Remote Controller API</para>
65+ <para>The third part covers the Remote Controller API.</para>
66+ <para>The fourth part covers the Media Controller API.</para>
6667 <para>For additional information and for the latest development code,
6768 see: <ulink url="http://linuxtv.org">http://linuxtv.org</ulink>.</para>
6869 <para>For discussing improvements, reporting troubles, sending new drivers, etc, please mail to: <ulink url="http://vger.kernel.org/vger-lists.html#linux-media">Linux Media Mailing List (LMML).</ulink>.</para>
@@ -87,7 +88,7 @@ Foundation. A copy of the license is included in the chapter entitled · 18 unmodified lines
8788 </author>
8889 </authorgroup>
8990 <copyright>
90− <year>2009-2011</year>
91+ <year>2009-2012</year>
9192 <holder>Mauro Carvalho Chehab</holder>
9293 </copyright>
9394
Documentation/DocBook/mtdnand.tmpl+0−2
@@ -1216,8 +1216,6 @@ in this page</entry> · 1215 unmodified lines
12161216 #define NAND_BBT_LASTBLOCK 0x00000010
12171217 /* The bbt is at the given page, else we must scan for the bbt */
12181218 #define NAND_BBT_ABSPAGE 0x00000020
1219−/* The bbt is at the given page, else we must scan for the bbt */
1220−#define NAND_BBT_SEARCH 0x00000040
12211219 /* bbt is stored per chip on multichip devices */
12221220 #define NAND_BBT_PERCHIP 0x00000080
12231221 /* bbt has a version counter at offset veroffs */
Documentation/DocBook/networking.tmpl+2−2
@@ -56,7 +56,7 @@ · 55 unmodified lines
5656 !Enet/core/filter.c
5757 </sect1>
5858 <sect1><title>Generic Network Statistics</title>
59−!Iinclude/linux/gen_stats.h
59+!Iinclude/uapi/linux/gen_stats.h
6060 !Enet/core/gen_stats.c
6161 !Enet/core/gen_estimator.c
6262 </sect1>
@@ -80,7 +80,7 @@ · 17 unmodified lines
8080 !Enet/wimax/op-rfkill.c
8181 !Enet/wimax/stack.c
8282 !Iinclude/net/wimax.h
83−!Iinclude/linux/wimax.h
83+!Iinclude/uapi/linux/wimax.h
8484 </sect1>
8585 </chapter>
8686
Documentation/IPMI.txt+3−62
@@ -42,13 +42,7 @@ The driver interface depends on your hardware. If your system · 41 unmodified lines
4242 properly provides the SMBIOS info for IPMI, the driver will detect it
4343 and just work. If you have a board with a standard interface (These
4444 will generally be either "KCS", "SMIC", or "BT", consult your hardware
45−manual), choose the 'IPMI SI handler' option. A driver also exists
46−for direct I2C access to the IPMI management controller. Some boards
47−support this, but it is unknown if it will work on every board. For
48−this, choose 'IPMI SMBus handler', but be ready to try to do some
49−figuring to see if it will work on your system if the SMBIOS/APCI
50−information is wrong or not present. It is fairly safe to have both
51−these enabled and let the drivers auto-detect what is present.
45+manual), choose the 'IPMI SI handler' option.
5246
5347 You should generally enable ACPI on your system, as systems with IPMI
5448 can have ACPI tables describing them.
@@ -58,8 +52,7 @@ their job correctly, the IPMI controller should be automatically · 3 unmodified lines
5852 detected (via ACPI or SMBIOS tables) and should just work. Sadly,
5953 many boards do not have this information. The driver attempts
6054 standard defaults, but they may not work. If you fall into this
61−situation, you need to read the section below named 'The SI Driver' or
62−"The SMBus Driver" on how to hand-configure your system.
55+situation, you need to read the section below named 'The SI Driver'.
6356
6457 IPMI defines a standard watchdog timer. You can enable this with the
6558 'IPMI Watchdog Timer' config option. If you compile the driver into
@@ -104,12 +97,7 @@ driver, each open file for this device ties in to the message handler · 38 unmodified lines
10497 as an IPMI user.
10598
10699 ipmi_si - A driver for various system interfaces. This supports KCS,
107−SMIC, and BT interfaces. Unless you have an SMBus interface or your
108−own custom interface, you probably need to use this.
109−
110−ipmi_smb - A driver for accessing BMCs on the SMBus. It uses the
111−I2C kernel driver's SMBus interfaces to send and receive IPMI messages
112−over the SMBus.
100+SMIC, and BT interfaces.
113101
114102 ipmi_watchdog - IPMI requires systems to have a very capable watchdog
115103 timer. This driver implements the standard Linux watchdog timer
@@ -482,53 +470,6 @@ for specifying an interface. Note that when removing an interface, · 366 unmodified lines
482470 only the first three parameters (si type, address type, and address)
483471 are used for the comparison. Any options are ignored for removing.
484472
485−The SMBus Driver
486−----------------
487−
488−The SMBus driver allows up to 4 SMBus devices to be configured in the
489−system. By default, the driver will register any SMBus interfaces it finds
490−in the I2C address range of 0x20 to 0x4f on any adapter. You can change this
491−at module load time (for a module) with:
492−
493− modprobe ipmi_smb.o
494− addr=<adapter1>,<i2caddr1>[,<adapter2>,<i2caddr2>[,...]]
495− dbg=<flags1>,<flags2>...
496− [defaultprobe=1] [dbg_probe=1]
497−
498−The addresses are specified in pairs, the first is the adapter ID and the
499−second is the I2C address on that adapter.
500−
501−The debug flags are bit flags for each BMC found, they are:
502−IPMI messages: 1, driver state: 2, timing: 4, I2C probe: 8
503−
504−Setting smb_defaultprobe to zero disabled the default probing of SMBus
505−interfaces at address range 0x20 to 0x4f. This means that only the
506−BMCs specified on the smb_addr line will be detected.
507−
508−Setting smb_dbg_probe to 1 will enable debugging of the probing and
509−detection process for BMCs on the SMBusses.
510−
511−Discovering the IPMI compliant BMC on the SMBus can cause devices
512−on the I2C bus to fail. The SMBus driver writes a "Get Device ID" IPMI
513−message as a block write to the I2C bus and waits for a response.
514−This action can be detrimental to some I2C devices. It is highly recommended
515−that the known I2c address be given to the SMBus driver in the smb_addr
516−parameter. The default address range will not be used when a smb_addr
517−parameter is provided.
518−
519−When compiled into the kernel, the addresses can be specified on the
520−kernel command line as:
521−
522− ipmb_smb.addr=<adapter1>,<i2caddr1>[,<adapter2>,<i2caddr2>[,...]]
523− ipmi_smb.dbg=<flags1>,<flags2>...
524− ipmi_smb.defaultprobe=0 ipmi_smb.dbg_probe=1
525−
526−These are the same options as on the module command line.
527−
528−Note that you might need some I2C changes if CONFIG_IPMI_PANIC_EVENT
529−is enabled along with this, so the I2C driver knows to run to
530−completion during sending a panic event.
531−
532473
533474 Other Pieces
534475 ------------
Documentation/aoe/aoe.txt+38−20
@@ -1,8 +1,16 @@
1−The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ...
1+ATA over Ethernet is a network protocol that provides simple access to
2+block storage on the LAN.
23
3− http://www.coraid.com/SUPPORT/EtherDrive-HBA
4+ http://support.coraid.com/documents/AoEr11.txt
45
5− It has many tips and hints!
6+The EtherDrive (R) HOWTO for 2.6 and 3.x kernels is found at ...
7+
8+ http://support.coraid.com/support/linux/EtherDrive-2.6-HOWTO.html
9+
10+It has many tips and hints! Please see, especially, recommended
11+tunings for virtual memory:
12+
13+ http://support.coraid.com/support/linux/EtherDrive-2.6-HOWTO-5.html#ss5.19
614
715 The aoetools are userland programs that are designed to work with this
816 driver. The aoetools are on sourceforge.
@@ -23,20 +31,12 @@ CREATING DEVICE NODES · 14 unmodified lines
2331 There is a udev-install.sh script that shows how to install these
2432 rules on your system.
2533
26− If you are not using udev, two scripts are provided in
27− Documentation/aoe as examples of static device node creation for
28− using the aoe driver.
29−
30− rm -rf /dev/etherd
31− sh Documentation/aoe/mkdevs.sh /dev/etherd
32−
33− ... or to make just one shelf's worth of block device nodes ...
34−
35− sh Documentation/aoe/mkshelf.sh /dev/etherd 0
36−
3734 There is also an autoload script that shows how to edit
3835 /etc/modprobe.d/aoe.conf to ensure that the aoe module is loaded when
39− necessary.
36+ necessary. Preloading the aoe module is preferable to autoloading,
37+ however, because AoE discovery takes a few seconds. It can be
38+ confusing when an AoE device is not present the first time the a
39+ command is run but appears a second later.
4040
4141 USING DEVICE NODES
4242
@@ -51,9 +51,9 @@ USING DEVICE NODES · 8 unmodified lines
5151 "echo > /dev/etherd/discover" tells the driver to find out what AoE
5252 devices are available.
5353
54− These character devices may disappear and be replaced by sysfs
55− counterparts. Using the commands in aoetools insulates users from
56− these implementation details.
54+ In the future these character devices may disappear and be replaced
55+ by sysfs counterparts. Using the commands in aoetools insulates
56+ users from these implementation details.
5757
5858 The block devices are named like this:
5959
@@ -76,8 +76,8 @@ USING SYSFS · 16 unmodified lines
7676 The netif attribute is the network interface on the localhost
7777 through which we are communicating with the remote AoE device.
7878
79− There is a script in this directory that formats this information
80− in a convenient way. Users with aoetools can use the aoe-stat
79+ There is a script in this directory that formats this information in
80+ a convenient way. Users with aoetools should use the aoe-stat
8181 command.
8282
8383 root@makki root# sh Documentation/aoe/status.sh
@@ -121,3 +121,21 @@ DRIVER OPTIONS · 37 unmodified lines
121121 usage example for the module parameter.
122122
123123 modprobe aoe_iflist="eth1 eth3"
124+
125+ The aoe_deadsecs module parameter determines the maximum number of
126+ seconds that the driver will wait for an AoE device to provide a
127+ response to an AoE command. After aoe_deadsecs seconds have
128+ elapsed, the AoE device will be marked as "down".
129+
130+ The aoe_maxout module parameter has a default of 128. This is the
131+ maximum number of unresponded packets that will be sent to an AoE
132+ target at one time.
133+
134+ The aoe_dyndevs module parameter defaults to 1, meaning that the
135+ driver will assign a block device minor number to a discovered AoE
136+ target based on the order of its discovery. With dynamic minor
137+ device numbers in use, a greater range of AoE shelf and slot
138+ addresses can be supported. Users with udev will never have to
139+ think about minor numbers. Using aoe_dyndevs=0 allows device nodes
140+ to be pre-created using a static minor-number scheme with the
141+ aoe-mkshelf script in the aoetools.
Documentation/aoe/mkdevs.sh+0−41
@@ -1,41 +0,0 @@
1−#!/bin/sh
2−
3−n_shelves=${n_shelves:-10}
4−n_partitions=${n_partitions:-16}
5−
6−if test "$#" != "1"; then
7− echo "Usage: sh `basename $0` {dir}" 1>&2
8− echo " n_partitions=16 sh `basename $0` {dir}" 1>&2
9− exit 1
10−fi
11−dir=$1
12−
13−MAJOR=152
14−
15−echo "Creating AoE devnode files in $dir ..."
16−
17−set -e
18−
19−mkdir -p $dir
20−
21−# (Status info is in sysfs. See status.sh.)
22−# rm -f $dir/stat
23−# mknod -m 0400 $dir/stat c $MAJOR 1
24−rm -f $dir/err
25−mknod -m 0400 $dir/err c $MAJOR 2
26−rm -f $dir/discover
27−mknod -m 0200 $dir/discover c $MAJOR 3
28−rm -f $dir/interfaces
29−mknod -m 0200 $dir/interfaces c $MAJOR 4
30−rm -f $dir/revalidate
31−mknod -m 0200 $dir/revalidate c $MAJOR 5
32−rm -f $dir/flush
33−mknod -m 0200 $dir/flush c $MAJOR 6
34−
35−export n_partitions
36−mkshelf=`echo $0 | sed 's!mkdevs!mkshelf!'`
37−i=0
38−while test $i -lt $n_shelves; do
39− sh -xc "sh $mkshelf $dir $i"
40− i=`expr $i + 1`
41−done
Documentation/aoe/mkshelf.sh+0−28
@@ -1,28 +0,0 @@
1−#! /bin/sh
2−
3−if test "$#" != "2"; then
4− echo "Usage: sh `basename $0` {dir} {shelfaddress}" 1>&2
5− echo " n_partitions=16 sh `basename $0` {dir} {shelfaddress}" 1>&2
6− exit 1
7−fi
8−n_partitions=${n_partitions:-16}
9−dir=$1
10−shelf=$2
11−nslots=16
12−maxslot=`echo $nslots 1 - p | dc`
13−MAJOR=152
14−
15−set -e
16−
17−minor=`echo $nslots \* $shelf \* $n_partitions | bc`
18−endp=`echo $n_partitions - 1 | bc`
19−for slot in `seq 0 $maxslot`; do
20− for part in `seq 0 $endp`; do
21− name=e$shelf.$slot
22− test "$part" != "0" && name=${name}p$part
23− rm -f $dir/$name
24− mknod -m 0660 $dir/$name b $MAJOR $minor
25−
26− minor=`expr $minor + 1`
27− done
28−done
Documentation/aoe/status.sh+3−0
@@ -1,5 +1,8 @@
11 #! /bin/sh
22 # collate and present sysfs information about AoE storage
3+#
4+# A more complete version of this script is aoe-stat, in the
5+# aoetools.
36
47 set -e
58 format="%8s\t%8s\t%8s\n"
Documentation/arm/Booting+21−1
@@ -154,13 +154,33 @@ In either case, the following conditions must be met: · 153 unmodified lines
154154
155155 - CPU mode
156156 All forms of interrupts must be disabled (IRQs and FIQs)
157− The CPU must be in SVC mode. (A special exception exists for Angel)
157+
158+ For CPUs which do not include the ARM virtualization extensions, the
159+ CPU must be in SVC mode. (A special exception exists for Angel)
160+
161+ CPUs which include support for the virtualization extensions can be
162+ entered in HYP mode in order to enable the kernel to make full use of
163+ these extensions. This is the recommended boot method for such CPUs,
164+ unless the virtualisations are already in use by a pre-installed
165+ hypervisor.
166+
167+ If the kernel is not entered in HYP mode for any reason, it must be
168+ entered in SVC mode.
158169
159170 - Caches, MMUs
160171 The MMU must be off.
161172 Instruction cache may be on or off.
162173 Data cache must be off.
163174
175+ If the kernel is entered in HYP mode, the above requirements apply to
176+ the HYP mode configuration in addition to the ordinary PL1 (privileged
177+ kernel modes) configuration. In addition, all traps into the
178+ hypervisor must be disabled, and PL1 access must be granted for all
179+ peripherals and CPU resources for which this is architecturally
180+ possible. Except for entering in HYP mode, the system configuration
181+ should be such that a kernel which does not include support for the
182+ virtualization extensions can boot correctly without extra help.
183+
164184 - The boot loader is expected to call the kernel image by jumping
165185 directly to the first instruction of the kernel image.
166186
Documentation/arm/Marvell/README+232−0
@@ -0,0 +1,232 @@
1+ARM Marvell SoCs
2+================
3+
4+This document lists all the ARM Marvell SoCs that are currently
5+supported in mainline by the Linux kernel. As the Marvell families of
6+SoCs are large and complex, it is hard to understand where the support
7+for a particular SoC is available in the Linux kernel. This document
8+tries to help in understanding where those SoCs are supported, and to
9+match them with their corresponding public datasheet, when available.
10+
11+Orion family
12+------------
13+
14+ Flavors:
15+ 88F5082
16+ 88F5181
17+ 88F5181L
18+ 88F5182
19+ Datasheet : http://www.embeddedarm.com/documentation/third-party/MV88F5182-datasheet.pdf
20+ Programmer's User Guide : http://www.embeddedarm.com/documentation/third-party/MV88F5182-opensource-manual.pdf
21+ User Manual : http://www.embeddedarm.com/documentation/third-party/MV88F5182-usermanual.pdf
22+ 88F5281
23+ Datasheet : http://www.ocmodshop.com/images/reviews/networking/qnap_ts409u/marvel_88f5281_data_sheet.pdf
24+ 88F6183
25+ Core: Feroceon ARMv5 compatible
26+ Linux kernel mach directory: arch/arm/mach-orion5x
27+ Linux kernel plat directory: arch/arm/plat-orion
28+
29+Kirkwood family
30+---------------
31+
32+ Flavors:
33+ 88F6282 a.k.a Armada 300
34+ Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf
35+ 88F6283 a.k.a Armada 310
36+ Product Brief : http://www.marvell.com/embedded-processors/armada-300/assets/armada_310.pdf
37+ 88F6190
38+ Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6190-003_WEB.pdf
39+ Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf
40+ Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
41+ 88F6192
42+ Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6192-003_ver1.pdf
43+ Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf
44+ Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
45+ 88F6182
46+ 88F6180
47+ Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6180-003_ver1.pdf
48+ Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf
49+ Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
50+ 88F6281
51+ Product Brief : http://www.marvell.com/embedded-processors/kirkwood/assets/88F6281-004_ver1.pdf
52+ Hardware Spec : http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf
53+ Functional Spec: http://www.marvell.com/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf
54+ Homepage: http://www.marvell.com/embedded-processors/kirkwood/
55+ Core: Feroceon ARMv5 compatible
56+ Linux kernel mach directory: arch/arm/mach-kirkwood
57+ Linux kernel plat directory: arch/arm/plat-orion
58+
59+Discovery family
60+----------------
61+
62+ Flavors:
63+ MV78100
64+ Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78100-003_WEB.pdf
65+ Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78100_OpenSource.pdf
66+ Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf
67+ MV78200
68+ Product Brief : http://www.marvell.com/embedded-processors/discovery-innovation/assets/MV78200-002_WEB.pdf
69+ Hardware Spec : http://www.marvell.com/embedded-processors/discovery-innovation/assets/HW_MV78200_OpenSource.pdf
70+ Functional Spec: http://www.marvell.com/embedded-processors/discovery-innovation/assets/FS_MV76100_78100_78200_OpenSource.pdf
71+ MV76100
72+ Not supported by the Linux kernel.
73+
74+ Core: Feroceon ARMv5 compatible
75+
76+ Linux kernel mach directory: arch/arm/mach-mv78xx0
77+ Linux kernel plat directory: arch/arm/plat-orion
78+
79+EBU Armada family
80+-----------------
81+
82+ Armada 370 Flavors:
83+ 88F6710
84+ 88F6707
85+ 88F6W11
86+
87+ Armada XP Flavors:
88+ MV78230
89+ MV78260
90+ MV78460
91+
92+ Product Brief: http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
93+ No public datasheet available.
94+
95+ Core: Sheeva ARMv7 compatible
96+
97+ Linux kernel mach directory: arch/arm/mach-mvebu
98+ Linux kernel plat directory: none
99+
100+Avanta family
101+-------------
102+
103+ Flavors:
104+ 88F6510
105+ 88F6530P
106+ 88F6550
107+ 88F6560
108+ Homepage : http://www.marvell.com/broadband/
109+ Product Brief: http://www.marvell.com/broadband/assets/Marvell_Avanta_88F6510_305_060-001_product_brief.pdf
110+ No public datasheet available.
111+
112+ Core: ARMv5 compatible
113+
114+ Linux kernel mach directory: no code in mainline yet, planned for the future
115+ Linux kernel plat directory: no code in mainline yet, planned for the future
116+
117+Dove family (application processor)
118+-----------------------------------
119+
120+ Flavors:
121+ 88AP510 a.k.a Armada 510
122+ Product Brief : http://www.marvell.com/application-processors/armada-500/assets/Marvell_Armada510_SoC.pdf
123+ Hardware Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Hardware-Spec.pdf
124+ Functional Spec : http://www.marvell.com/application-processors/armada-500/assets/Armada-510-Functional-Spec.pdf
125+ Homepage: http://www.marvell.com/application-processors/armada-500/
126+ Core: ARMv7 compatible
127+ Directory: arch/arm/mach-dove
128+
129+PXA 2xx/3xx/93x/95x family
130+--------------------------
131+
132+ Flavors:
133+ PXA21x, PXA25x, PXA26x
134+ Application processor only
135+ Core: ARMv5 XScale core
136+ PXA270, PXA271, PXA272
137+ Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_pb.pdf
138+ Design guide : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_design_guide.pdf
139+ Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_dev_man.pdf
140+ Specification : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_emts.pdf
141+ Specification update : http://www.marvell.com/application-processors/pxa-family/assets/pxa_27x_spec_update.pdf
142+ Application processor only
143+ Core: ARMv5 XScale core
144+ PXA300, PXA310, PXA320
145+ PXA 300 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA300_PB_R4.pdf
146+ PXA 310 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA310_PB_R4.pdf
147+ PXA 320 Product Brief : http://www.marvell.com/application-processors/pxa-family/assets/PXA320_PB_R4.pdf
148+ Design guide : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Design_Guide.pdf
149+ Developers manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Developers_Manual.zip
150+ Specifications : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_EMTS.pdf
151+ Specification Update : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_Spec_Update.zip
152+ Reference Manual : http://www.marvell.com/application-processors/pxa-family/assets/PXA3xx_TavorP_BootROM_Ref_Manual.pdf
153+ Application processor only
154+ Core: ARMv5 XScale core
155+ PXA930, PXA935
156+ Application processor with Communication processor
157+ Core: ARMv5 XScale core
158+ PXA955
159+ Application processor with Communication processor
160+ Core: ARMv7 compatible Sheeva PJ4 core
161+
162+ Comments:
163+
164+ * This line of SoCs originates from the XScale family developed by
165+ Intel and acquired by Marvell in ~2006. The PXA21x, PXA25x,
166+ PXA26x, PXA27x, PXA3xx and PXA93x were developed by Intel, while
167+ the later PXA95x were developed by Marvell.
168+
169+ * Due to their XScale origin, these SoCs have virtually nothing in
170+ common with the other (Kirkwood, Dove, etc.) families of Marvell
171+ SoCs, except with the MMP/MMP2 family of SoCs.
172+
173+ Linux kernel mach directory: arch/arm/mach-pxa
174+ Linux kernel plat directory: arch/arm/plat-pxa
175+
176+MMP/MMP2 family (communication processor)
177+-----------------------------------------
178+
179+ Flavors:
180+ PXA168, a.k.a Armada 168
181+ Homepage : http://www.marvell.com/application-processors/armada-100/armada-168.jsp
182+ Product brief : http://www.marvell.com/application-processors/armada-100/assets/pxa_168_pb.pdf
183+ Hardware manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_datasheet.pdf
184+ Software manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_software_manual.pdf
185+ Specification update : http://www.marvell.com/application-processors/armada-100/assets/ARMADA16x_Spec_update.pdf
186+ Boot ROM manual : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_ref_manual.pdf
187+ App node package : http://www.marvell.com/application-processors/armada-100/assets/armada_16x_app_note_package.pdf
188+ Application processor only
189+ Core: ARMv5 compatible Marvell PJ1 (Mohawk)
190+ PXA910
191+ Homepage : http://www.marvell.com/communication-processors/pxa910/
192+ Product Brief : http://www.marvell.com/communication-processors/pxa910/assets/Marvell_PXA910_Platform-001_PB_final.pdf
193+ Application processor with Communication processor
194+ Core: ARMv5 compatible Marvell PJ1 (Mohawk)
195+ MMP2, a.k.a Armada 610
196+ Product Brief : http://www.marvell.com/application-processors/armada-600/assets/armada610_pb.pdf
197+ Application processor only
198+ Core: ARMv7 compatible Sheeva PJ4 core
199+
200+ Comments:
201+
202+ * This line of SoCs originates from the XScale family developed by
203+ Intel and acquired by Marvell in ~2006. All the processors of
204+ this MMP/MMP2 family were developed by Marvell.
205+
206+ * Due to their XScale origin, these SoCs have virtually nothing in
207+ common with the other (Kirkwood, Dove, etc.) families of Marvell
208+ SoCs, except with the PXA family of SoCs listed above.
209+
210+ Linux kernel mach directory: arch/arm/mach-mmp
211+ Linux kernel plat directory: arch/arm/plat-pxa
212+
213+Long-term plans
214+---------------
215+
216+ * Unify the mach-dove/, mach-mv78xx0/, mach-orion5x/ and
217+ mach-kirkwood/ into the mach-mvebu/ to support all SoCs from the
218+ Marvell EBU (Engineering Business Unit) in a single mach-<foo>
219+ directory. The plat-orion/ would therefore disappear.
220+
221+ * Unify the mach-mmp/ and mach-pxa/ into the same mach-pxa
222+ directory. The plat-pxa/ would therefore disappear.
223+
224+Credits
225+-------
226+
227+ Maen Suleiman <maen@marvell.com>
228+ Lior Amsalem <alior@marvell.com>
229+ Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
230+ Andrew Lunn <andrew@lunn.ch>
231+ Nicolas Pitre <nico@fluxnic.net>
232+ Eric Miao <eric.y.miao@gmail.com>
Documentation/arm/Samsung-S3C24XX/GPIO.txt+25−57
@@ -1,4 +1,4 @@
1− S3C2410 GPIO Control
1+ S3C24XX GPIO Control
22 ====================
33
44 Introduction
@@ -12,7 +12,7 @@ Introduction · 7 unmodified lines
1212 of the s3c2410 GPIO system, please read the Samsung provided
1313 data-sheet/users manual to find out the complete list.
1414
15− See Documentation/arm/Samsung/GPIO.txt for the core implemetation.
15+ See Documentation/arm/Samsung/GPIO.txt for the core implementation.
1616
1717
1818 GPIOLIB
@@ -41,8 +41,8 @@ GPIOLIB · 22 unmodified lines
4141 GPIOLIB conversion
4242 ------------------
4343
44−If you need to convert your board or driver to use gpiolib from the exiting
45−s3c2410 api, then here are some notes on the process.
44+If you need to convert your board or driver to use gpiolib from the phased
45+out s3c2410 API, then here are some notes on the process.
4646
4747 1) If your board is exclusively using an GPIO, say to control peripheral
4848 power, then it will require to claim the gpio with gpio_request() before
@@ -55,7 +55,7 @@ s3c2410 api, then here are some notes on the process. · 6 unmodified lines
5555 as they have the same arguments, and can either take the pin specific
5656 values, or the more generic special-function-number arguments.
5757
58−3) s3c2410_gpio_pullup() changs have the problem that whilst the
58+3) s3c2410_gpio_pullup() changes have the problem that whilst the
5959 s3c2410_gpio_pullup(x, 1) can be easily translated to the
6060 s3c_gpio_setpull(x, S3C_GPIO_PULL_NONE), the s3c2410_gpio_pullup(x, 0)
6161 are not so easy.
@@ -74,7 +74,7 @@ s3c2410 api, then here are some notes on the process. · 12 unmodified lines
7474 when using gpio_get_value() on an output pin (s3c2410_gpio_getpin
7575 would return the value the pin is supposed to be outputting).
7676
77−6) s3c2410_gpio_getirq() should be directly replacable with the
77+6) s3c2410_gpio_getirq() should be directly replaceable with the
7878 gpio_to_irq() call.
7979
8080 The s3c2410_gpio and gpio_ calls have always operated on the same gpio
@@ -105,7 +105,7 @@ PIN Numbers · 24 unmodified lines
105105 -----------
106106
107107 Each pin has an unique number associated with it in regs-gpio.h,
108− eg S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell
108+ e.g. S3C2410_GPA(0) or S3C2410_GPF(1). These defines are used to tell
109109 the GPIO functions which pin is to be used.
110110
111111 With the conversion to gpiolib, there is no longer a direct conversion
@@ -120,31 +120,27 @@ Configuring a pin · 8 unmodified lines
120120 The following function allows the configuration of a given pin to
121121 be changed.
122122
123− void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function);
123+ void s3c_gpio_cfgpin(unsigned int pin, unsigned int function);
124124
125− Eg:
125+ e.g.:
126126
127− s3c2410_gpio_cfgpin(S3C2410_GPA(0), S3C2410_GPA0_ADDR0);
128− s3c2410_gpio_cfgpin(S3C2410_GPE(8), S3C2410_GPE8_SDDAT1);
127+ s3c_gpio_cfgpin(S3C2410_GPA(0), S3C_GPIO_SFN(1));
128+ s3c_gpio_cfgpin(S3C2410_GPE(8), S3C_GPIO_SFN(2));
129129
130130 which would turn GPA(0) into the lowest Address line A0, and set
131131 GPE(8) to be connected to the SDIO/MMC controller's SDDAT1 line.
132132
133− The s3c_gpio_cfgpin() call is a functional replacement for this call.
134−
135133
136134 Reading the current configuration
137135 ---------------------------------
138136
139− The current configuration of a pin can be read by using:
137+ The current configuration of a pin can be read by using standard
138+ gpiolib function:
140139
141− s3c2410_gpio_getcfg(unsigned int pin);
140+ s3c_gpio_getcfg(unsigned int pin);
142141
143142 The return value will be from the same set of values which can be
144− passed to s3c2410_gpio_cfgpin().
145−
146− The s3c_gpio_getcfg() call should be a functional replacement for
147− this call.
143+ passed to s3c_gpio_cfgpin().
148144
149145
150146 Configuring a pull-up resistor
@@ -154,61 +150,33 @@ Configuring a pull-up resistor · 3 unmodified lines
154150 pull-up resistors enabled. This can be configured by the following
155151 function:
156152
157− void s3c2410_gpio_pullup(unsigned int pin, unsigned int to);
158−
159− Where the to value is zero to set the pull-up off, and 1 to enable
160− the specified pull-up. Any other values are currently undefined.
161−
162− The s3c_gpio_setpull() offers similar functionality, but with the
163− ability to encode whether the pull is up or down. Currently there
164− is no 'just on' state, so up or down must be selected.
165−
166−
167−Getting the state of a PIN
168−--------------------------
169−
170− The state of a pin can be read by using the function:
171−
172− unsigned int s3c2410_gpio_getpin(unsigned int pin);
153+ void s3c_gpio_setpull(unsigned int pin, unsigned int to);
173154
174− This will return either zero or non-zero. Do not count on this
175− function returning 1 if the pin is set.
155+ Where the to value is S3C_GPIO_PULL_NONE to set the pull-up off,
156+ and S3C_GPIO_PULL_UP to enable the specified pull-up. Any other
157+ values are currently undefined.
176158
177− This call is now implemented by the relevant gpiolib calls, convert
178− your board or driver to use gpiolib.
179−
180−
181−Setting the state of a PIN
182−--------------------------
183−
184− The value an pin is outputing can be modified by using the following:
185159
186− void s3c2410_gpio_setpin(unsigned int pin, unsigned int to);
160+Getting and setting the state of a PIN
161+--------------------------------------
187162
188− Which sets the given pin to the value. Use 0 to write 0, and 1 to
189− set the output to 1.
190−
191− This call is now implemented by the relevant gpiolib calls, convert
163+ These calls are now implemented by the relevant gpiolib calls, convert
192164 your board or driver to use gpiolib.
193165
194166
195167 Getting the IRQ number associated with a PIN
196168 --------------------------------------------
197169
198− The following function can map the given pin number to an IRQ
170+ A standard gpiolib function can map the given pin number to an IRQ
199171 number to pass to the IRQ system.
200172
201− int s3c2410_gpio_getirq(unsigned int pin);
173+ int gpio_to_irq(unsigned int pin);
202174
203175 Note, not all pins have an IRQ.
204176
205− This call is now implemented by the relevant gpiolib calls, convert
206− your board or driver to use gpiolib.
207−
208177
209−Authour
178+Author
210179 -------
211180
212−
213181 Ben Dooks, 03 October 2004
214182 Copyright 2004 Ben Dooks, Simtec Electronics
Documentation/arm/Samsung/GPIO.txt+3−5
@@ -5,14 +5,14 @@ Introduction · 4 unmodified lines
55 ------------
66
77 This outlines the Samsung GPIO implementation and the architecture
8−specific calls provided alongisde the drivers/gpio core.
8+specific calls provided alongside the drivers/gpio core.
99
1010
1111 S3C24XX (Legacy)
1212 ----------------
1313
1414 See Documentation/arm/Samsung-S3C24XX/GPIO.txt for more information
15−about these devices. Their implementation is being brought into line
15+about these devices. Their implementation has been brought into line
1616 with the core samsung implementation described in this document.
1717
1818
@@ -29,7 +29,7 @@ GPIO numbering is synchronised between the Samsung and gpiolib system. · 10 unmodified lines
2929 PIN configuration
3030 -----------------
3131
32−Pin configuration is specific to the Samsung architecutre, with each SoC
32+Pin configuration is specific to the Samsung architecture, with each SoC
3333 registering the necessary information for the core gpio configuration
3434 implementation to configure pins as necessary.
3535
@@ -38,5 +38,3 @@ driver or machine to change gpio configuration. · 2 unmodified lines
3838
3939 See arch/arm/plat-samsung/include/plat/gpio-cfg.h for more information
4040 on these functions.
41−
42−
Documentation/arm/memory.txt+3−0
@@ -51,6 +51,9 @@ ffc00000 ffefffff DMA memory mapping region. Memory returned · 50 unmodified lines
5151 ff000000 ffbfffff Reserved for future expansion of DMA
5252 mapping region.
5353
54+fee00000 feffffff Mapping of PCI I/O space. This is a static
55+ mapping within the vmalloc space.
56+
5457 VMALLOC_START VMALLOC_END-1 vmalloc() / ioremap() space.
5558 Memory returned by vmalloc/ioremap will
5659 be dynamically placed in this region.
Documentation/arm64/memory.txt+6−6
@@ -27,17 +27,17 @@ Start End Size Use · 26 unmodified lines
2727 -----------------------------------------------------------------------
2828 0000000000000000 0000007fffffffff 512GB user
2929
30−ffffff8000000000 ffffffbbfffcffff ~240GB vmalloc
30+ffffff8000000000 ffffffbbfffeffff ~240GB vmalloc
3131
32−ffffffbbfffd0000 ffffffbcfffdffff 64KB [guard page]
32+ffffffbbffff0000 ffffffbbffffffff 64KB [guard page]
3333
34−ffffffbbfffe0000 ffffffbcfffeffff 64KB PCI I/O space
34+ffffffbc00000000 ffffffbdffffffff 8GB vmemmap
3535
36−ffffffbbffff0000 ffffffbcffffffff 64KB [guard page]
36+ffffffbe00000000 ffffffbffbbfffff ~8GB [guard, future vmmemap]
3737
38−ffffffbc00000000 ffffffbdffffffff 8GB vmemmap
38+ffffffbffbe00000 ffffffbffbe0ffff 64KB PCI I/O space
3939
40−ffffffbe00000000 ffffffbffbffffff ~8GB [guard, future vmmemap]
40+ffffffbbffff0000 ffffffbcffffffff ~2MB [guard]
4141
4242 ffffffbffc000000 ffffffbfffffffff 64MB modules
4343
Documentation/block/biodoc.txt+0−5
@@ -465,7 +465,6 @@ struct bio { · 464 unmodified lines
465465 bio_end_io_t *bi_end_io; /* bi_end_io (bio) */
466466 atomic_t bi_cnt; /* pin count: free when it hits zero */
467467 void *bi_private;
468− bio_destructor_t *bi_destructor; /* bi_destructor (bio) */
469468 };
470469
471470 With this multipage bio design:
@@ -647,10 +646,6 @@ for a non-clone bio. There are the 6 pools setup for different size biovecs, · 175 unmodified lines
647646 so bio_alloc(gfp_mask, nr_iovecs) will allocate a vec_list of the
648647 given size from these slabs.
649648
650−The bi_destructor() routine takes into account the possibility of the bio
651−having originated from a different source (see later discussions on
652−n/w to block transfers and kvec_cb)
653−
654649 The bio_get() routine may be used to hold an extra reference on a bio prior
655650 to i/o submission, if the bio fields are likely to be accessed after the
656651 i/o is issued (since the bio may otherwise get freed in case i/o completion
Documentation/cgroups/cgroups.txt+56−36
@@ -29,7 +29,8 @@ CONTENTS: · 28 unmodified lines
2929 3.1 Overview
3030 3.2 Synchronization
3131 3.3 Subsystem API
32−4. Questions
32+4. Extended attributes usage
33+5. Questions
3334
3435 1. Control Groups
3536 =================
@@ -62,9 +63,9 @@ an instance of the cgroup virtual filesystem associated with it. · 26 unmodified lines
6263 At any one time there may be multiple active hierarchies of task
6364 cgroups. Each hierarchy is a partition of all tasks in the system.
6465
65−User level code may create and destroy cgroups by name in an
66+User-level code may create and destroy cgroups by name in an
6667 instance of the cgroup virtual file system, specify and query to
67−which cgroup a task is assigned, and list the task pids assigned to
68+which cgroup a task is assigned, and list the task PIDs assigned to
6869 a cgroup. Those creations and assignments only affect the hierarchy
6970 associated with that instance of the cgroup file system.
7071
@@ -72,7 +73,7 @@ On their own, the only use for cgroups is for simple job · 1 unmodified line
7273 tracking. The intention is that other subsystems hook into the generic
7374 cgroup support to provide new attributes for cgroups, such as
7475 accounting/limiting the resources which processes in a cgroup can
75−access. For example, cpusets (see Documentation/cgroups/cpusets.txt) allows
76+access. For example, cpusets (see Documentation/cgroups/cpusets.txt) allow
7677 you to associate a set of CPUs and a set of memory nodes with the
7778 tasks in each cgroup.
7879
@@ -80,11 +81,11 @@ tasks in each cgroup. · 1 unmodified line
8081 ----------------------------
8182
8283 There are multiple efforts to provide process aggregations in the
83−Linux kernel, mainly for resource tracking purposes. Such efforts
84+Linux kernel, mainly for resource-tracking purposes. Such efforts
8485 include cpusets, CKRM/ResGroups, UserBeanCounters, and virtual server
8586 namespaces. These all require the basic notion of a
8687 grouping/partitioning of processes, with newly forked processes ending
87−in the same group (cgroup) as their parent process.
88+up in the same group (cgroup) as their parent process.
8889
8990 The kernel cgroup patch provides the minimum essential kernel
9091 mechanisms required to efficiently implement such groups. It has
@@ -127,14 +128,14 @@ following lines: · 36 unmodified lines
127128 / \
128129 Professors (15%) students (5%)
129130
130−Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd go
131−into NFS network class.
131+Browsers like Firefox/Lynx go into the WWW network class, while (k)nfsd goes
132+into the NFS network class.
132133
133134 At the same time Firefox/Lynx will share an appropriate CPU/Memory class
134135 depending on who launched it (prof/student).
135136
136137 With the ability to classify tasks differently for different resources
137−(by putting those resource subsystems in different hierarchies) then
138+(by putting those resource subsystems in different hierarchies),
138139 the admin can easily set up a script which receives exec notifications
139140 and depending on who is launching the browser he can
140141
@@ -145,19 +146,19 @@ a separate cgroup for every browser launched and associate it with · 4 unmodified lines
145146 appropriate network and other resource class. This may lead to
146147 proliferation of such cgroups.
147148
148−Also lets say that the administrator would like to give enhanced network
149+Also let's say that the administrator would like to give enhanced network
149150 access temporarily to a student's browser (since it is night and the user
150−wants to do online gaming :)) OR give one of the students simulation
151−apps enhanced CPU power,
151+wants to do online gaming :)) OR give one of the student's simulation
152+apps enhanced CPU power.
152153
153−With ability to write pids directly to resource classes, it's just a
154−matter of :
154+With ability to write PIDs directly to resource classes, it's just a
155+matter of:
155156
156157 # echo pid > /sys/fs/cgroup/network/<new_class>/tasks
157158 (after some time)
158159 # echo pid > /sys/fs/cgroup/network/<orig_class>/tasks
159160
160−Without this ability, he would have to split the cgroup into
161+Without this ability, the administrator would have to split the cgroup into
161162 multiple separate ones and then associate the new cgroups with the
162163 new resource classes.
163164
@@ -184,20 +185,20 @@ Control Groups extends the kernel as follows: · 20 unmodified lines
184185 field of each task_struct using the css_set, anchored at
185186 css_set->tasks.
186187
187− - A cgroup hierarchy filesystem can be mounted for browsing and
188+ - A cgroup hierarchy filesystem can be mounted for browsing and
188189 manipulation from user space.
189190
190− - You can list all the tasks (by pid) attached to any cgroup.
191+ - You can list all the tasks (by PID) attached to any cgroup.
191192
192193 The implementation of cgroups requires a few, simple hooks
193−into the rest of the kernel, none in performance critical paths:
194+into the rest of the kernel, none in performance-critical paths:
194195
195196 - in init/main.c, to initialize the root cgroups and initial
196197 css_set at system boot.
197198
198199 - in fork and exit, to attach and detach a task from its css_set.
199200
200−In addition a new file system, of type "cgroup" may be mounted, to
201+In addition, a new file system of type "cgroup" may be mounted, to
201202 enable browsing and modifying the cgroups presently known to the
202203 kernel. When mounting a cgroup hierarchy, you may specify a
203204 comma-separated list of subsystems to mount as the filesystem mount
@@ -230,13 +231,13 @@ as the path relative to the root of the cgroup file system. · 26 unmodified lines
230231 Each cgroup is represented by a directory in the cgroup file system
231232 containing the following files describing that cgroup:
232233
233− - tasks: list of tasks (by pid) attached to that cgroup. This list
234− is not guaranteed to be sorted. Writing a thread id into this file
234+ - tasks: list of tasks (by PID) attached to that cgroup. This list
235+ is not guaranteed to be sorted. Writing a thread ID into this file
235236 moves the thread into this cgroup.
236− - cgroup.procs: list of tgids in the cgroup. This list is not
237− guaranteed to be sorted or free of duplicate tgids, and userspace
237+ - cgroup.procs: list of thread group IDs in the cgroup. This list is
238+ not guaranteed to be sorted or free of duplicate TGIDs, and userspace
238239 should sort/uniquify the list if this property is required.
239− Writing a thread group id into this file moves all threads in that
240+ Writing a thread group ID into this file moves all threads in that
240241 group into this cgroup.
241242 - notify_on_release flag: run the release agent on exit?
242243 - release_agent: the path to use for release notifications (this file
@@ -261,7 +262,7 @@ cgroup file system directories. · 18 unmodified lines
261262
262263 When a task is moved from one cgroup to another, it gets a new
263264 css_set pointer - if there's an already existing css_set with the
264−desired collection of cgroups then that group is reused, else a new
265+desired collection of cgroups then that group is reused, otherwise a new
265266 css_set is allocated. The appropriate existing css_set is located by
266267 looking into a hash table.
267268
@@ -292,7 +293,7 @@ file system) of the abandoned cgroup. This enables automatic · 24 unmodified lines
292293 removal of abandoned cgroups. The default value of
293294 notify_on_release in the root cgroup at system boot is disabled
294295 (0). The default value of other cgroups at creation is the current
295−value of their parents notify_on_release setting. The default value of
296+value of their parents' notify_on_release settings. The default value of
296297 a cgroup hierarchy's release_agent path is empty.
297298
298299 1.5 What does clone_children do ?
@@ -316,7 +317,7 @@ the "cpuset" cgroup subsystem, the steps are something like: · 17 unmodified lines
316317 4) Create the new cgroup by doing mkdir's and write's (or echo's) in
317318 the /sys/fs/cgroup virtual file system.
318319 5) Start a task that will be the "founding father" of the new job.
319− 6) Attach that task to the new cgroup by writing its pid to the
320+ 6) Attach that task to the new cgroup by writing its PID to the
320321 /sys/fs/cgroup/cpuset/tasks file for that cgroup.
321322 7) fork, exec or clone the job tasks from this founding father task.
322323
@@ -344,7 +345,7 @@ and then start a subshell 'sh' in that cgroup: · 21 unmodified lines
344345 2.1 Basic Usage
345346 ---------------
346347
347−Creating, modifying, using the cgroups can be done through the cgroup
348+Creating, modifying, using cgroups can be done through the cgroup
348349 virtual filesystem.
349350
350351 To mount a cgroup hierarchy with all available subsystems, type:
@@ -441,7 +442,7 @@ You can attach the current shell task by echoing 0: · 90 unmodified lines
441442 # echo 0 > tasks
442443
443444 You can use the cgroup.procs file instead of the tasks file to move all
444−threads in a threadgroup at once. Echoing the pid of any task in a
445+threads in a threadgroup at once. Echoing the PID of any task in a
445446 threadgroup to cgroup.procs causes all tasks in that threadgroup to be
446447 be attached to the cgroup. Writing 0 to cgroup.procs moves all tasks
447448 in the writing task's threadgroup.
@@ -479,7 +480,7 @@ in /proc/mounts and /proc/<pid>/cgroups. · 31 unmodified lines
479480 There is mechanism which allows to get notifications about changing
480481 status of a cgroup.
481482
482−To register new notification handler you need:
483+To register a new notification handler you need to:
483484 - create a file descriptor for event notification using eventfd(2);
484485 - open a control file to be monitored (e.g. memory.usage_in_bytes);
485486 - write "<event_fd> <control_fd> <args>" to cgroup.event_control.
@@ -488,7 +489,7 @@ To register new notification handler you need: · 2 unmodified lines
488489 eventfd will be woken up by control file implementation or when the
489490 cgroup is removed.
490491
491−To unregister notification handler just close eventfd.
492+To unregister a notification handler just close eventfd.
492493
493494 NOTE: Support of notifications should be implemented for the control
494495 file. See documentation for the subsystem.
@@ -502,7 +503,7 @@ file. See documentation for the subsystem. · 7 unmodified lines
502503 Each kernel subsystem that wants to hook into the generic cgroup
503504 system needs to create a cgroup_subsys object. This contains
504505 various methods, which are callbacks from the cgroup system, along
505−with a subsystem id which will be assigned by the cgroup system.
506+with a subsystem ID which will be assigned by the cgroup system.
506507
507508 Other fields in the cgroup_subsys object include:
508509
@@ -516,7 +517,7 @@ Other fields in the cgroup_subsys object include: · 7 unmodified lines
516517 at system boot.
517518
518519 Each cgroup object created by the system has an array of pointers,
519−indexed by subsystem id; this pointer is entirely managed by the
520+indexed by subsystem ID; this pointer is entirely managed by the
520521 subsystem; the generic cgroup code will never touch this pointer.
521522
522523 3.2 Synchronization
@@ -639,7 +640,7 @@ void post_clone(struct cgroup *cgrp) · 116 unmodified lines
639640
640641 Called during cgroup_create() to do any parameter
641642 initialization which might be required before a task could attach. For
642−example in cpusets, no task may attach before 'cpus' and 'mems' are set
643+example, in cpusets, no task may attach before 'cpus' and 'mems' are set
643644 up.
644645
645646 void bind(struct cgroup *root)
@@ -650,7 +651,26 @@ and root cgroup. Currently this will only involve movement between · 4 unmodified lines
650651 the default hierarchy (which never has sub-cgroups) and a hierarchy
651652 that is being created/destroyed (and hence has no sub-cgroups).
652653
653−4. Questions
654+4. Extended attribute usage
655+===========================
656+
657+cgroup filesystem supports certain types of extended attributes in its
658+directories and files. The current supported types are:
659+ - Trusted (XATTR_TRUSTED)
660+ - Security (XATTR_SECURITY)
661+
662+Both require CAP_SYS_ADMIN capability to set.
663+
664+Like in tmpfs, the extended attributes in cgroup filesystem are stored
665+using kernel memory and it's advised to keep the usage at minimum. This
666+is the reason why user defined extended attributes are not supported, since
667+any user can do it and there's no limit in the value size.
668+
669+The current known users for this feature are SELinux to limit cgroup usage
670+in containers and systemd for assorted meta data like main PID in a cgroup
671+(systemd creates a cgroup per service).
672+
673+5. Questions
654674 ============
655675
656676 Q: what's up with this '/bin/echo' ?
@@ -660,5 +680,5 @@ A: bash's builtin 'echo' command does not check calls to write() against · 3 unmodified lines
660680
661681 Q: When I attach processes, only the first of the line gets really attached !
662682 A: We can only return one error code per call to write(). So you should also
663− put only ONE pid.
683+ put only ONE PID.
664684
Documentation/cgroups/memory.txt+45−45
@@ -18,16 +18,16 @@ from the rest of the system. The article on LWN [12] mentions some probable · 17 unmodified lines
1818 uses of the memory controller. The memory controller can be used to
1919
2020 a. Isolate an application or a group of applications
21− Memory hungry applications can be isolated and limited to a smaller
21+ Memory-hungry applications can be isolated and limited to a smaller
2222 amount of memory.
23−b. Create a cgroup with limited amount of memory, this can be used
23+b. Create a cgroup with a limited amount of memory; this can be used
2424 as a good alternative to booting with mem=XXXX.
2525 c. Virtualization solutions can control the amount of memory they want
2626 to assign to a virtual machine instance.
2727 d. A CD/DVD burner could control the amount of memory used by the
2828 rest of the system to ensure that burning does not fail due to lack
2929 of available memory.
30−e. There are several other use cases, find one or use the controller just
30+e. There are several other use cases; find one or use the controller just
3131 for fun (to learn and hack on the VM subsystem).
3232
3333 Current Status: linux-2.6.34-mmotm(development version of 2010/April)
@@ -38,12 +38,12 @@ Features: · 4 unmodified lines
3838 - optionally, memory+swap usage can be accounted and limited.
3939 - hierarchical accounting
4040 - soft limit
41− - moving(recharging) account at moving a task is selectable.
41+ - moving (recharging) account at moving a task is selectable.
4242 - usage threshold notifier
4343 - oom-killer disable knob and oom-notifier
4444 - Root cgroup has no limit controls.
4545
46− Kernel memory support is work in progress, and the current version provides
46+ Kernel memory support is a work in progress, and the current version provides
4747 basically functionality. (See Section 2.7)
4848
4949 Brief summary of control files.
@@ -144,9 +144,9 @@ Figure 1 shows the important aspects of the controller · 94 unmodified lines
144144 3. Each page has a pointer to the page_cgroup, which in turn knows the
145145 cgroup it belongs to
146146
147−The accounting is done as follows: mem_cgroup_charge() is invoked to setup
147+The accounting is done as follows: mem_cgroup_charge() is invoked to set up
148148 the necessary data structures and check if the cgroup that is being charged
149−is over its limit. If it is then reclaim is invoked on the cgroup.
149+is over its limit. If it is, then reclaim is invoked on the cgroup.
150150 More details can be found in the reclaim section of this document.
151151 If everything goes well, a page meta-data-structure called page_cgroup is
152152 updated. page_cgroup has its own LRU on cgroup.
@@ -163,13 +163,13 @@ for earlier. A file page will be accounted for as Page Cache when it's · 10 unmodified lines
163163 inserted into inode (radix-tree). While it's mapped into the page tables of
164164 processes, duplicate accounting is carefully avoided.
165165
166−A RSS page is unaccounted when it's fully unmapped. A PageCache page is
166+An RSS page is unaccounted when it's fully unmapped. A PageCache page is
167167 unaccounted when it's removed from radix-tree. Even if RSS pages are fully
168168 unmapped (by kswapd), they may exist as SwapCache in the system until they
169−are really freed. Such SwapCaches also also accounted.
169+are really freed. Such SwapCaches are also accounted.
170170 A swapped-in page is not accounted until it's mapped.
171171
172−Note: The kernel does swapin-readahead and read multiple swaps at once.
172+Note: The kernel does swapin-readahead and reads multiple swaps at once.
173173 This means swapped-in pages may contain pages for other tasks than a task
174174 causing page fault. So, we avoid accounting at swap-in I/O.
175175
@@ -209,7 +209,7 @@ memsw.limit_in_bytes. · 33 unmodified lines
209209 Example: Assume a system with 4G of swap. A task which allocates 6G of memory
210210 (by mistake) under 2G memory limitation will use all swap.
211211 In this case, setting memsw.limit_in_bytes=3G will prevent bad use of swap.
212−By using memsw limit, you can avoid system OOM which can be caused by swap
212+By using the memsw limit, you can avoid system OOM which can be caused by swap
213213 shortage.
214214
215215 * why 'memory+swap' rather than swap.
@@ -217,7 +217,7 @@ The global LRU(kswapd) can swap out arbitrary pages. Swap-out means · 1 unmodified line
217217 to move account from memory to swap...there is no change in usage of
218218 memory+swap. In other words, when we want to limit the usage of swap without
219219 affecting global LRU, memory+swap limit is better than just limiting swap from
220−OS point of view.
220+an OS point of view.
221221
222222 * What happens when a cgroup hits memory.memsw.limit_in_bytes
223223 When a cgroup hits memory.memsw.limit_in_bytes, it's useless to do swap-out
@@ -236,7 +236,7 @@ an OOM routine is invoked to select and kill the bulkiest task in the · 12 unmodified lines
236236 cgroup. (See 10. OOM Control below.)
237237
238238 The reclaim algorithm has not been modified for cgroups, except that
239−pages that are selected for reclaiming come from the per cgroup LRU
239+pages that are selected for reclaiming come from the per-cgroup LRU
240240 list.
241241
242242 NOTE: Reclaim does not work for the root cgroup, since we cannot set any
@@ -316,7 +316,7 @@ We can check the usage: · 73 unmodified lines
316316 # cat /sys/fs/cgroup/memory/0/memory.usage_in_bytes
317317 1216512
318318
319−A successful write to this file does not guarantee a successful set of
319+A successful write to this file does not guarantee a successful setting of
320320 this limit to the value written into the file. This can be due to a
321321 number of factors, such as rounding up to page boundaries or the total
322322 availability of memory on the system. The user is required to re-read
@@ -350,7 +350,7 @@ Trying usual test under memory controller is always helpful. · 27 unmodified lines
350350 4.1 Troubleshooting
351351
352352 Sometimes a user might find that the application under a cgroup is
353−terminated by OOM killer. There are several causes for this:
353+terminated by the OOM killer. There are several causes for this:
354354
355355 1. The cgroup limit is too low (just too low to do anything useful)
356356 2. The user is using anonymous memory and swap is turned off or too low
@@ -358,7 +358,7 @@ terminated by OOM killer. There are several causes for this: · 1 unmodified line
358358 A sync followed by echo 1 > /proc/sys/vm/drop_caches will help get rid of
359359 some of the pages cached in the cgroup (page cache pages).
360360
361−To know what happens, disable OOM_Kill by 10. OOM Control(see below) and
361+To know what happens, disabling OOM_Kill as per "10. OOM Control" (below) and
362362 seeing what happens will be helpful.
363363
364364 4.2 Task migration
@@ -399,10 +399,10 @@ About use_hierarchy, see Section 6. · 34 unmodified lines
399399
400400 Almost all pages tracked by this memory cgroup will be unmapped and freed.
401401 Some pages cannot be freed because they are locked or in-use. Such pages are
402− moved to parent(if use_hierarchy==1) or root (if use_hierarchy==0) and this
402+ moved to parent (if use_hierarchy==1) or root (if use_hierarchy==0) and this
403403 cgroup will be empty.
404404
405− Typical use case of this interface is that calling this before rmdir().
405+ The typical use case for this interface is before calling rmdir().
406406 Because rmdir() moves all pages to parent, some out-of-use page caches can be
407407 moved to the parent. If you want to avoid that, force_empty will be useful.
408408
@@ -486,7 +486,7 @@ You can reset failcnt by writing 0 to failcnt file. · 77 unmodified lines
486486
487487 For efficiency, as other kernel components, memory cgroup uses some optimization
488488 to avoid unnecessary cacheline false sharing. usage_in_bytes is affected by the
489−method and doesn't show 'exact' value of memory(and swap) usage, it's an fuzz
489+method and doesn't show 'exact' value of memory (and swap) usage, it's a fuzz
490490 value for efficient access. (Of course, when necessary, it's synchronized.)
491491 If you want to know more exact memory usage, you should use RSS+CACHE(+SWAP)
492492 value in memory.stat(see 5.2).
@@ -496,8 +496,8 @@ value in memory.stat(see 5.2). · 3 unmodified lines
496496 This is similar to numa_maps but operates on a per-memcg basis. This is
497497 useful for providing visibility into the numa locality information within
498498 an memcg since the pages are allowed to be allocated from any physical
499−node. One of the usecases is evaluating application performance by
500−combining this information with the application's cpu allocation.
499+node. One of the use cases is evaluating application performance by
500+combining this information with the application's CPU allocation.
501501
502502 We export "total", "file", "anon" and "unevictable" pages per-node for
503503 each memcg. The ouput format of memory.numa_stat is:
@@ -561,10 +561,10 @@ are pushed back to their soft limits. If the soft limit of each control · 57 unmodified lines
561561 group is very high, they are pushed back as much as possible to make
562562 sure that one control group does not starve the others of memory.
563563
564−Please note that soft limits is a best effort feature, it comes with
564+Please note that soft limits is a best-effort feature; it comes with
565565 no guarantees, but it does its best to make sure that when memory is
566566 heavily contended for, memory is allocated based on the soft limit
567−hints/setup. Currently soft limit based reclaim is setup such that
567+hints/setup. Currently soft limit based reclaim is set up such that
568568 it gets invoked from balance_pgdat (kswapd).
569569
570570 7.1 Interface
@@ -592,7 +592,7 @@ page tables. · 21 unmodified lines
592592
593593 8.1 Interface
594594
595−This feature is disabled by default. It can be enabled(and disabled again) by
595+This feature is disabled by default. It can be enabledi (and disabled again) by
596596 writing to memory.move_charge_at_immigrate of the destination cgroup.
597597
598598 If you want to enable it:
@@ -601,8 +601,8 @@ If you want to enable it: · 2 unmodified lines
601601
602602 Note: Each bits of move_charge_at_immigrate has its own meaning about what type
603603 of charges should be moved. See 8.2 for details.
604−Note: Charges are moved only when you move mm->owner, IOW, a leader of a thread
605− group.
604+Note: Charges are moved only when you move mm->owner, in other words,
605+ a leader of a thread group.
606606 Note: If we cannot find enough space for the task in the destination cgroup, we
607607 try to make space by reclaiming memory. Task migration may fail if we
608608 cannot make enough space.
@@ -612,25 +612,25 @@ And if you want disable it again: · 3 unmodified lines
612612
613613 # echo 0 > memory.move_charge_at_immigrate
614614
615−8.2 Type of charges which can be move
615+8.2 Type of charges which can be moved
616616
617−Each bits of move_charge_at_immigrate has its own meaning about what type of
618−charges should be moved. But in any cases, it must be noted that an account of
619−a page or a swap can be moved only when it is charged to the task's current(old)
620−memory cgroup.
617+Each bit in move_charge_at_immigrate has its own meaning about what type of
618+charges should be moved. But in any case, it must be noted that an account of
619+a page or a swap can be moved only when it is charged to the task's current
620+(old) memory cgroup.
621621
622622 bit | what type of charges would be moved ?
623623 -----+------------------------------------------------------------------------
624− 0 | A charge of an anonymous page(or swap of it) used by the target task.
625− | You must enable Swap Extension(see 2.4) to enable move of swap charges.
624+ 0 | A charge of an anonymous page (or swap of it) used by the target task.
625+ | You must enable Swap Extension (see 2.4) to enable move of swap charges.
626626 -----+------------------------------------------------------------------------
627− 1 | A charge of file pages(normal file, tmpfs file(e.g. ipc shared memory)
627+ 1 | A charge of file pages (normal file, tmpfs file (e.g. ipc shared memory)
628628 | and swaps of tmpfs file) mmapped by the target task. Unlike the case of
629− | anonymous pages, file pages(and swaps) in the range mmapped by the task
629+ | anonymous pages, file pages (and swaps) in the range mmapped by the task
630630 | will be moved even if the task hasn't done page fault, i.e. they might
631631 | not be the task's "RSS", but other task's "RSS" that maps the same file.
632− | And mapcount of the page is ignored(the page can be moved even if
633− | page_mapcount(page) > 1). You must enable Swap Extension(see 2.4) to
632+ | And mapcount of the page is ignored (the page can be moved even if
633+ | page_mapcount(page) > 1). You must enable Swap Extension (see 2.4) to
634634 | enable move of swap charges.
635635
636636 8.3 TODO
@@ -640,11 +640,11 @@ memory cgroup. · 3 unmodified lines
640640
641641 9. Memory thresholds
642642
643−Memory cgroup implements memory thresholds using cgroups notification
643+Memory cgroup implements memory thresholds using the cgroups notification
644644 API (see cgroups.txt). It allows to register multiple memory and memsw
645645 thresholds and gets notifications when it crosses.
646646
647−To register a threshold application need:
647+To register a threshold, an application must:
648648 - create an eventfd using eventfd(2);
649649 - open memory.usage_in_bytes or memory.memsw.usage_in_bytes;
650650 - write string like "<event_fd> <fd of memory.usage_in_bytes> <threshold>" to
@@ -659,24 +659,24 @@ It's applicable for root and non-root cgroup. · 8 unmodified lines
659659
660660 memory.oom_control file is for OOM notification and other controls.
661661
662−Memory cgroup implements OOM notifier using cgroup notification
662+Memory cgroup implements OOM notifier using the cgroup notification
663663 API (See cgroups.txt). It allows to register multiple OOM notification
664664 delivery and gets notification when OOM happens.
665665
666−To register a notifier, application need:
666+To register a notifier, an application must:
667667 - create an eventfd using eventfd(2)
668668 - open memory.oom_control file
669669 - write string like "<event_fd> <fd of memory.oom_control>" to
670670 cgroup.event_control
671671
672−Application will be notified through eventfd when OOM happens.
673−OOM notification doesn't work for root cgroup.
672+The application will be notified through eventfd when OOM happens.
673+OOM notification doesn't work for the root cgroup.
674674
675−You can disable OOM-killer by writing "1" to memory.oom_control file, as:
675+You can disable the OOM-killer by writing "1" to memory.oom_control file, as:
676676
677677 #echo 1 > memory.oom_control
678678
679−This operation is only allowed to the top cgroup of sub-hierarchy.
679+This operation is only allowed to the top cgroup of a sub-hierarchy.
680680 If OOM-killer is disabled, tasks under cgroup will hang/sleep
681681 in memory cgroup's OOM-waitqueue when they request accountable memory.
682682
Documentation/cpu-freq/boost.txt+93−0
@@ -0,0 +1,93 @@
1+Processor boosting control
2+
3+ - information for users -
4+
5+Quick guide for the impatient:
6+--------------------
7+/sys/devices/system/cpu/cpufreq/boost
8+controls the boost setting for the whole system. You can read and write
9+that file with either "0" (boosting disabled) or "1" (boosting allowed).
10+Reading or writing 1 does not mean that the system is boosting at this
11+very moment, but only that the CPU _may_ raise the frequency at it's
12+discretion.
13+--------------------
14+
15+Introduction
16+-------------
17+Some CPUs support a functionality to raise the operating frequency of
18+some cores in a multi-core package if certain conditions apply, mostly
19+if the whole chip is not fully utilized and below it's intended thermal
20+budget. This is done without operating system control by a combination
21+of hardware and firmware.
22+On Intel CPUs this is called "Turbo Boost", AMD calls it "Turbo-Core",
23+in technical documentation "Core performance boost". In Linux we use
24+the term "boost" for convenience.
25+
26+Rationale for disable switch
27+----------------------------
28+
29+Though the idea is to just give better performance without any user
30+intervention, sometimes the need arises to disable this functionality.
31+Most systems offer a switch in the (BIOS) firmware to disable the
32+functionality at all, but a more fine-grained and dynamic control would
33+be desirable:
34+1. While running benchmarks, reproducible results are important. Since
35+ the boosting functionality depends on the load of the whole package,
36+ single thread performance can vary. By explicitly disabling the boost
37+ functionality at least for the benchmark's run-time the system will run
38+ at a fixed frequency and results are reproducible again.
39+2. To examine the impact of the boosting functionality it is helpful
40+ to do tests with and without boosting.
41+3. Boosting means overclocking the processor, though under controlled
42+ conditions. By raising the frequency and the voltage the processor
43+ will consume more power than without the boosting, which may be
44+ undesirable for instance for mobile users. Disabling boosting may
45+ save power here, though this depends on the workload.
46+
47+
48+User controlled switch
49+----------------------
50+
51+To allow the user to toggle the boosting functionality, the acpi-cpufreq
52+driver exports a sysfs knob to disable it. There is a file:
53+/sys/devices/system/cpu/cpufreq/boost
54+which can either read "0" (boosting disabled) or "1" (boosting enabled).
55+Reading the file is always supported, even if the processor does not
56+support boosting. In this case the file will be read-only and always
57+reads as "0". Explicitly changing the permissions and writing to that
58+file anyway will return EINVAL.
59+
60+On supported CPUs one can write either a "0" or a "1" into this file.
61+This will either disable the boost functionality on all cores in the
62+whole system (0) or will allow the hardware to boost at will (1).
63+
64+Writing a "1" does not explicitly boost the system, but just allows the
65+CPU (and the firmware) to boost at their discretion. Some implementations
66+take external factors like the chip's temperature into account, so
67+boosting once does not necessarily mean that it will occur every time
68+even using the exact same software setup.
69+
70+
71+AMD legacy cpb switch
72+---------------------
73+The AMD powernow-k8 driver used to support a very similar switch to
74+disable or enable the "Core Performance Boost" feature of some AMD CPUs.
75+This switch was instantiated in each CPU's cpufreq directory
76+(/sys/devices/system/cpu[0-9]*/cpufreq) and was called "cpb".
77+Though the per CPU existence hints at a more fine grained control, the
78+actual implementation only supported a system-global switch semantics,
79+which was simply reflected into each CPU's file. Writing a 0 or 1 into it
80+would pull the other CPUs to the same state.
81+For compatibility reasons this file and its behavior is still supported
82+on AMD CPUs, though it is now protected by a config switch
83+(X86_ACPI_CPUFREQ_CPB). On Intel CPUs this file will never be created,
84+even with the config option set.
85+This functionality is considered legacy and will be removed in some future
86+kernel version.
87+
88+More fine grained boosting control
89+----------------------------------
90+
91+Technically it is possible to switch the boosting functionality at least
92+on a per package basis, for some CPUs even per core. Currently the driver
93+does not support it, but this may be implemented in the future.
Documentation/cpuidle/sysfs.txt+9−1
@@ -76,9 +76,17 @@ total 0 · 75 unmodified lines
7676
7777
7878 * desc : Small description about the idle state (string)
79−* disable : Option to disable this idle state (bool)
79+* disable : Option to disable this idle state (bool) -> see note below
8080 * latency : Latency to exit out of this idle state (in microseconds)
8181 * name : Name of the idle state (string)
8282 * power : Power consumed while in this idle state (in milliwatts)
8383 * time : Total time spent in this idle state (in microseconds)
8484 * usage : Number of times this state was entered (count)
85+
86+Note:
87+The behavior and the effect of the disable variable depends on the
88+implementation of a particular governor. In the ladder governor, for
89+example, it is not coherent, i.e. if one is disabling a light state,
90+then all deeper states are disabled as well, but the disable variable
91+does not reflect it. Likewise, if one enables a deep state but a lighter
92+state still is disabled, then this has no effect.
Documentation/crypto/asymmetric-keys.txt+312−0
@@ -0,0 +1,312 @@
1+ =============================================
2+ ASYMMETRIC / PUBLIC-KEY CRYPTOGRAPHY KEY TYPE
3+ =============================================
4+
5+Contents:
6+
7+ - Overview.
8+ - Key identification.
9+ - Accessing asymmetric keys.
10+ - Signature verification.
11+ - Asymmetric key subtypes.
12+ - Instantiation data parsers.
13+
14+
15+========
16+OVERVIEW
17+========
18+
19+The "asymmetric" key type is designed to be a container for the keys used in
20+public-key cryptography, without imposing any particular restrictions on the
21+form or mechanism of the cryptography or form of the key.
22+
23+The asymmetric key is given a subtype that defines what sort of data is
24+associated with the key and provides operations to describe and destroy it.
25+However, no requirement is made that the key data actually be stored in the
26+key.
27+
28+A completely in-kernel key retention and operation subtype can be defined, but
29+it would also be possible to provide access to cryptographic hardware (such as
30+a TPM) that might be used to both retain the relevant key and perform
31+operations using that key. In such a case, the asymmetric key would then
32+merely be an interface to the TPM driver.
33+
34+Also provided is the concept of a data parser. Data parsers are responsible
35+for extracting information from the blobs of data passed to the instantiation
36+function. The first data parser that recognises the blob gets to set the
37+subtype of the key and define the operations that can be done on that key.
38+
39+A data parser may interpret the data blob as containing the bits representing a
40+key, or it may interpret it as a reference to a key held somewhere else in the
41+system (for example, a TPM).
42+
43+
44+==================
45+KEY IDENTIFICATION
46+==================
47+
48+If a key is added with an empty name, the instantiation data parsers are given
49+the opportunity to pre-parse a key and to determine the description the key
50+should be given from the content of the key.
51+
52+This can then be used to refer to the key, either by complete match or by
53+partial match. The key type may also use other criteria to refer to a key.
54+
55+The asymmetric key type's match function can then perform a wider range of
56+comparisons than just the straightforward comparison of the description with
57+the criterion string:
58+
59+ (1) If the criterion string is of the form "id:<hexdigits>" then the match
60+ function will examine a key's fingerprint to see if the hex digits given
61+ after the "id:" match the tail. For instance:
62+
63+ keyctl search @s asymmetric id:5acc2142
64+
65+ will match a key with fingerprint:
66+
67+ 1A00 2040 7601 7889 DE11 882C 3823 04AD 5ACC 2142
68+
69+ (2) If the criterion string is of the form "<subtype>:<hexdigits>" then the
70+ match will match the ID as in (1), but with the added restriction that
71+ only keys of the specified subtype (e.g. tpm) will be matched. For
72+ instance:
73+
74+ keyctl search @s asymmetric tpm:5acc2142
75+
76+Looking in /proc/keys, the last 8 hex digits of the key fingerprint are
77+displayed, along with the subtype:
78+
79+ 1a39e171 I----- 1 perm 3f010000 0 0 asymmetri modsign.0: DSA 5acc2142 []
80+
81+
82+=========================
83+ACCESSING ASYMMETRIC KEYS
84+=========================
85+
86+For general access to asymmetric keys from within the kernel, the following
87+inclusion is required:
88+
89+ #include <crypto/public_key.h>
90+
91+This gives access to functions for dealing with asymmetric / public keys.
92+Three enums are defined there for representing public-key cryptography
93+algorithms:
94+
95+ enum pkey_algo
96+
97+digest algorithms used by those:
98+
99+ enum pkey_hash_algo
100+
101+and key identifier representations:
102+
103+ enum pkey_id_type
104+
105+Note that the key type representation types are required because key
106+identifiers from different standards aren't necessarily compatible. For
107+instance, PGP generates key identifiers by hashing the key data plus some
108+PGP-specific metadata, whereas X.509 has arbitrary certificate identifiers.
109+
110+The operations defined upon a key are:
111+
112+ (1) Signature verification.
113+
114+Other operations are possible (such as encryption) with the same key data
115+required for verification, but not currently supported, and others
116+(eg. decryption and signature generation) require extra key data.
117+
118+
119+SIGNATURE VERIFICATION
120+----------------------
121+
122+An operation is provided to perform cryptographic signature verification, using
123+an asymmetric key to provide or to provide access to the public key.
124+
125+ int verify_signature(const struct key *key,
126+ const struct public_key_signature *sig);
127+
128+The caller must have already obtained the key from some source and can then use
129+it to check the signature. The caller must have parsed the signature and
130+transferred the relevant bits to the structure pointed to by sig.
131+
132+ struct public_key_signature {
133+ u8 *digest;
134+ u8 digest_size;
135+ enum pkey_hash_algo pkey_hash_algo : 8;
136+ u8 nr_mpi;
137+ union {
138+ MPI mpi[2];
139+ ...
140+ };
141+ };
142+
143+The algorithm used must be noted in sig->pkey_hash_algo, and all the MPIs that
144+make up the actual signature must be stored in sig->mpi[] and the count of MPIs
145+placed in sig->nr_mpi.
146+
147+In addition, the data must have been digested by the caller and the resulting
148+hash must be pointed to by sig->digest and the size of the hash be placed in
149+sig->digest_size.
150+
151+The function will return 0 upon success or -EKEYREJECTED if the signature
152+doesn't match.
153+
154+The function may also return -ENOTSUPP if an unsupported public-key algorithm
155+or public-key/hash algorithm combination is specified or the key doesn't
156+support the operation; -EBADMSG or -ERANGE if some of the parameters have weird
157+data; or -ENOMEM if an allocation can't be performed. -EINVAL can be returned
158+if the key argument is the wrong type or is incompletely set up.
159+
160+
161+=======================
162+ASYMMETRIC KEY SUBTYPES
163+=======================
164+
165+Asymmetric keys have a subtype that defines the set of operations that can be
166+performed on that key and that determines what data is attached as the key
167+payload. The payload format is entirely at the whim of the subtype.
168+
169+The subtype is selected by the key data parser and the parser must initialise
170+the data required for it. The asymmetric key retains a reference on the
171+subtype module.
172+
173+The subtype definition structure can be found in:
174+
175+ #include <keys/asymmetric-subtype.h>
176+
177+and looks like the following:
178+
179+ struct asymmetric_key_subtype {
180+ struct module *owner;
181+ const char *name;
182+
183+ void (*describe)(const struct key *key, struct seq_file *m);
184+ void (*destroy)(void *payload);
185+ int (*verify_signature)(const struct key *key,
186+ const struct public_key_signature *sig);
187+ };
188+
189+Asymmetric keys point to this with their type_data[0] member.
190+
191+The owner and name fields should be set to the owning module and the name of
192+the subtype. Currently, the name is only used for print statements.
193+
194+There are a number of operations defined by the subtype:
195+
196+ (1) describe().
197+
198+ Mandatory. This allows the subtype to display something in /proc/keys
199+ against the key. For instance the name of the public key algorithm type
200+ could be displayed. The key type will display the tail of the key
201+ identity string after this.
202+
203+ (2) destroy().
204+
205+ Mandatory. This should free the memory associated with the key. The
206+ asymmetric key will look after freeing the fingerprint and releasing the
207+ reference on the subtype module.
208+
209+ (3) verify_signature().
210+
211+ Optional. These are the entry points for the key usage operations.
212+ Currently there is only the one defined. If not set, the caller will be
213+ given -ENOTSUPP. The subtype may do anything it likes to implement an
214+ operation, including offloading to hardware.
215+
216+
217+==========================
218+INSTANTIATION DATA PARSERS
219+==========================
220+
221+The asymmetric key type doesn't generally want to store or to deal with a raw
222+blob of data that holds the key data. It would have to parse it and error
223+check it each time it wanted to use it. Further, the contents of the blob may
224+have various checks that can be performed on it (eg. self-signatures, validity
225+dates) and may contain useful data about the key (identifiers, capabilities).
226+
227+Also, the blob may represent a pointer to some hardware containing the key
228+rather than the key itself.
229+
230+Examples of blob formats for which parsers could be implemented include:
231+
232+ - OpenPGP packet stream [RFC 4880].
233+ - X.509 ASN.1 stream.
234+ - Pointer to TPM key.
235+ - Pointer to UEFI key.
236+
237+During key instantiation each parser in the list is tried until one doesn't
238+return -EBADMSG.
239+
240+The parser definition structure can be found in:
241+
242+ #include <keys/asymmetric-parser.h>
243+
244+and looks like the following:
245+
246+ struct asymmetric_key_parser {
247+ struct module *owner;
248+ const char *name;
249+
250+ int (*parse)(struct key_preparsed_payload *prep);
251+ };
252+
253+The owner and name fields should be set to the owning module and the name of
254+the parser.
255+
256+There is currently only a single operation defined by the parser, and it is
257+mandatory:
258+
259+ (1) parse().
260+
261+ This is called to preparse the key from the key creation and update paths.
262+ In particular, it is called during the key creation _before_ a key is
263+ allocated, and as such, is permitted to provide the key's description in
264+ the case that the caller declines to do so.
265+
266+ The caller passes a pointer to the following struct with all of the fields
267+ cleared, except for data, datalen and quotalen [see
268+ Documentation/security/keys.txt].
269+
270+ struct key_preparsed_payload {
271+ char *description;
272+ void *type_data[2];
273+ void *payload;
274+ const void *data;
275+ size_t datalen;
276+ size_t quotalen;
277+ };
278+
279+ The instantiation data is in a blob pointed to by data and is datalen in
280+ size. The parse() function is not permitted to change these two values at
281+ all, and shouldn't change any of the other values _unless_ they are
282+ recognise the blob format and will not return -EBADMSG to indicate it is
283+ not theirs.
284+
285+ If the parser is happy with the blob, it should propose a description for
286+ the key and attach it to ->description, ->type_data[0] should be set to
287+ point to the subtype to be used, ->payload should be set to point to the
288+ initialised data for that subtype, ->type_data[1] should point to a hex
289+ fingerprint and quotalen should be updated to indicate how much quota this
290+ key should account for.
291+
292+ When clearing up, the data attached to ->type_data[1] and ->description
293+ will be kfree()'d and the data attached to ->payload will be passed to the
294+ subtype's ->destroy() method to be disposed of. A module reference for
295+ the subtype pointed to by ->type_data[0] will be put.
296+
297+
298+ If the data format is not recognised, -EBADMSG should be returned. If it
299+ is recognised, but the key cannot for some reason be set up, some other
300+ negative error code should be returned. On success, 0 should be returned.
301+
302+ The key's fingerprint string may be partially matched upon. For a
303+ public-key algorithm such as RSA and DSA this will likely be a printable
304+ hex version of the key's fingerprint.
305+
306+Functions are provided to register and unregister parsers:
307+
308+ int register_asymmetric_key_parser(struct asymmetric_key_parser *parser);
309+ void unregister_asymmetric_key_parser(struct asymmetric_key_parser *subtype);
310+
311+Parsers may not have the same name. The names are otherwise only used for
312+displaying in debugging messages.
Documentation/device-mapper/dm-raid.txt+9−0
@@ -132,3 +132,12 @@ Here we can see the RAID type is raid4, there are 5 devices - all of · 131 unmodified lines
132132 which are 'A'live, and the array is 2/490221568 complete with recovery.
133133 Faulty or missing devices are marked 'D'. Devices that are out-of-sync
134134 are marked 'a'.
135+
136+
137+Version History
138+---------------
139+1.0.0 Initial version. Support for RAID 4/5/6
140+1.1.0 Added support for RAID 1
141+1.2.0 Handle creation of arrays that contain failed devices.
142+1.3.0 Added support for RAID 10
143+1.3.1 Allow device replacement/rebuild for RAID 10
Documentation/devicetree/bindings/arm/arm-boards+12−0
@@ -1,3 +1,15 @@
1+ARM Integrator/AP (Application Platform) and Integrator/CP (Compact Platform)
2+-----------------------------------------------------------------------------
3+ARM's oldest Linux-supported platform with connectors for different core
4+tiles of ARMv4, ARMv5 and ARMv6 type.
5+
6+Required properties (in root node):
7+ compatible = "arm,integrator-ap"; /* Application Platform */
8+ compatible = "arm,integrator-cp"; /* Compact Platform */
9+
10+FPGA type interrupt controllers, see the versatile-fpga-irq binding doc.
11+
12+
113 ARM Versatile Application and Platform Baseboards
214 -------------------------------------------------
315 ARM's development hardware platform with connectors for customizable
Documentation/devicetree/bindings/arm/atmel-at91.txt+1−1
@@ -8,7 +8,7 @@ PIT Timer required properties: · 7 unmodified lines
88 shared across all System Controller members.
99
1010 TC/TCLIB Timer required properties:
11−- compatible: Should be "atmel,<chip>-pit".
11+- compatible: Should be "atmel,<chip>-tcb".
1212 <chip> can be "at91rm9200" or "at91sam9x5"
1313 - reg: Should contain registers location and length
1414 - interrupts: Should contain all interrupts for the TC block
Documentation/devicetree/bindings/arm/bcm2835.txt+8−0
@@ -0,0 +1,8 @@
1+Broadcom BCM2835 device tree bindings
2+-------------------------------------------
3+
4+Boards with the BCM2835 SoC shall have the following properties:
5+
6+Required root node property:
7+
8+compatible = "brcm,bcm2835";
Documentation/devicetree/bindings/arm/calxeda/combophy.txt+17−0
@@ -0,0 +1,17 @@
1+Calxeda Highbank Combination Phys for SATA
2+
3+Properties:
4+- compatible : Should be "calxeda,hb-combophy"
5+- #phy-cells: Should be 1.
6+- reg : Address and size for Combination Phy registers.
7+- phydev: device ID for programming the combophy.
8+
9+Example:
10+
11+ combophy5: combo-phy@fff5d000 {
12+ compatible = "calxeda,hb-combophy";
13+ #phy-cells = <1>;
14+ reg = <0xfff5d000 0x1000>;
15+ phydev = <31>;
16+ };
17+
Documentation/devicetree/bindings/arm/davinci/nand.txt+51−0
@@ -0,0 +1,51 @@
1+* Texas Instruments Davinci NAND
2+
3+This file provides information, what the device node for the
4+davinci nand interface contain.
5+
6+Required properties:
7+- compatible: "ti,davinci-nand";
8+- reg : contain 2 offset/length values:
9+ - offset and length for the access window
10+ - offset and length for accessing the aemif control registers
11+- ti,davinci-chipselect: Indicates on the davinci_nand driver which
12+ chipselect is used for accessing the nand.
13+
14+Recommended properties :
15+- ti,davinci-mask-ale: mask for ale
16+- ti,davinci-mask-cle: mask for cle
17+- ti,davinci-mask-chipsel: mask for chipselect
18+- ti,davinci-ecc-mode: ECC mode valid values for davinci driver:
19+ - "none"
20+ - "soft"
21+ - "hw"
22+- ti,davinci-ecc-bits: used ECC bits, currently supported 1 or 4.
23+- ti,davinci-nand-buswidth: buswidth 8 or 16
24+- ti,davinci-nand-use-bbt: use flash based bad block table support.
25+
26+Example (enbw_cmc board):
27+aemif@60000000 {
28+ compatible = "ti,davinci-aemif";
29+ #address-cells = <2>;
30+ #size-cells = <1>;
31+ reg = <0x68000000 0x80000>;
32+ ranges = <2 0 0x60000000 0x02000000
33+ 3 0 0x62000000 0x02000000
34+ 4 0 0x64000000 0x02000000
35+ 5 0 0x66000000 0x02000000
36+ 6 0 0x68000000 0x02000000>;
37+ nand@3,0 {
38+ compatible = "ti,davinci-nand";
39+ reg = <3 0x0 0x807ff
40+ 6 0x0 0x8000>;
41+ #address-cells = <1>;
42+ #size-cells = <1>;
43+ ti,davinci-chipselect = <1>;
44+ ti,davinci-mask-ale = <0>;
45+ ti,davinci-mask-cle = <0>;
46+ ti,davinci-mask-chipsel = <0>;
47+ ti,davinci-ecc-mode = "hw";
48+ ti,davinci-ecc-bits = <4>;
49+ ti,davinci-nand-use-bbt;
50+ };
51+};
Documentation/devicetree/bindings/arm/mrvl/tauros2.txt+17−0
@@ -0,0 +1,17 @@
1+* Marvell Tauros2 Cache
2+
3+Required properties:
4+- compatible : Should be "marvell,tauros2-cache".
5+- marvell,tauros2-cache-features : Specify the features supported for the
6+ tauros2 cache.
7+ The features including
8+ CACHE_TAUROS2_PREFETCH_ON (1 << 0)
9+ CACHE_TAUROS2_LINEFILL_BURST8 (1 << 1)
10+ The definition can be found at
11+ arch/arm/include/asm/hardware/cache-tauros2.h
12+
13+Example:
14+ L2: l2-cache {
15+ compatible = "marvell,tauros2-cache";
16+ marvell,tauros2-cache-features = <0x3>;
17+ };
Documentation/devicetree/bindings/arm/msm/timer.txt+38−0
@@ -0,0 +1,38 @@
1+* MSM Timer
2+
3+Properties:
4+
5+- compatible : Should at least contain "qcom,msm-timer". More specific
6+ properties such as "qcom,msm-gpt" and "qcom,msm-dgt" specify a general
7+ purpose timer and a debug timer respectively.
8+
9+- interrupts : Interrupt indicating a match event.
10+
11+- reg : Specifies the base address of the timer registers. The second region
12+ specifies an optional register used to configure the clock divider.
13+
14+- clock-frequency : The frequency of the timer in Hz.
15+
16+Optional:
17+
18+- cpu-offset : per-cpu offset used when the timer is accessed without the
19+ CPU remapping facilities. The offset is cpu-offset * cpu-nr.
20+
21+Example:
22+
23+ timer@200a004 {
24+ compatible = "qcom,msm-gpt", "qcom,msm-timer";
25+ interrupts = <1 2 0x301>;
26+ reg = <0x0200a004 0x10>;
27+ clock-frequency = <32768>;
28+ cpu-offset = <0x40000>;
29+ };
30+
31+ timer@200a024 {
32+ compatible = "qcom,msm-dgt", "qcom,msm-timer";
33+ interrupts = <1 3 0x301>;
34+ reg = <0x0200a024 0x10>,
35+ <0x0200a034 0x4>;
36+ clock-frequency = <6750000>;
37+ cpu-offset = <0x40000>;
38+ };
Documentation/devicetree/bindings/arm/omap/omap.txt+3−0
@@ -36,6 +36,9 @@ Boards: · 35 unmodified lines
3636 - OMAP3 BeagleBoard : Low cost community board
3737 compatible = "ti,omap3-beagle", "ti,omap3"
3838
39+- OMAP3 Tobi with Overo : Commercial expansion board with daughter board
40+ compatible = "ti,omap3-tobi", "ti,omap3-overo", "ti,omap3"
41+
3942 - OMAP4 SDP : Software Developement Board
4043 compatible = "ti,omap4-sdp", "ti,omap4430"
4144
Documentation/devicetree/bindings/arm/pmu.txt+4−0
@@ -7,8 +7,12 @@ representation in the device tree should be done as under:- · 6 unmodified lines
77 Required properties:
88
99 - compatible : should be one of
10+ "arm,cortex-a15-pmu"
1011 "arm,cortex-a9-pmu"
1112 "arm,cortex-a8-pmu"
13+ "arm,cortex-a7-pmu"
14+ "arm,cortex-a5-pmu"
15+ "arm,arm11mpcore-pmu"
1216 "arm,arm1176-pmu"
1317 "arm,arm1136-pmu"
1418 - interrupts : 1 combined interrupt or 1 per core.
Documentation/devicetree/bindings/arm/versatile-fpga-irq.txt+31−0
@@ -0,0 +1,31 @@
1+* ARM Versatile FPGA interrupt controller
2+
3+One or more FPGA IRQ controllers can be synthesized in an ARM reference board
4+such as the Integrator or Versatile family. The output of these different
5+controllers are OR:ed together and fed to the CPU tile's IRQ input. Each
6+instance can handle up to 32 interrupts.
7+
8+Required properties:
9+- compatible: "arm,versatile-fpga-irq"
10+- interrupt-controller: Identifies the node as an interrupt controller
11+- #interrupt-cells: The number of cells to define the interrupts. Must be 1
12+ as the FPGA IRQ controller has no configuration options for interrupt
13+ sources. The cell is a u32 and defines the interrupt number.
14+- reg: The register bank for the FPGA interrupt controller.
15+- clear-mask: a u32 number representing the mask written to clear all IRQs
16+ on the controller at boot for example.
17+- valid-mask: a u32 number representing a bit mask determining which of
18+ the interrupts are valid. Unconnected/unused lines are set to 0, and
19+ the system till not make it possible for devices to request these
20+ interrupts.
21+
22+Example:
23+
24+pic: pic@14000000 {
25+ compatible = "arm,versatile-fpga-irq";
26+ #interrupt-cells = <1>;
27+ interrupt-controller;
28+ reg = <0x14000000 0x100>;
29+ clear-mask = <0xffffffff>;
30+ valid-mask = <0x003fffff>;
31+};
Documentation/devicetree/bindings/arm/vt8500.txt+14−0
@@ -0,0 +1,14 @@
1+VIA/Wondermedia VT8500 Platforms Device Tree Bindings
2+---------------------------------------
3+
4+Boards with the VIA VT8500 SoC shall have the following properties:
5+Required root node property:
6+compatible = "via,vt8500";
7+
8+Boards with the Wondermedia WM8505 SoC shall have the following properties:
9+Required root node property:
10+compatible = "wm,wm8505";
11+
12+Boards with the Wondermedia WM8650 SoC shall have the following properties:
13+Required root node property:
14+compatible = "wm,wm8650";
Documentation/devicetree/bindings/arm/vt8500/via,vt8500-intc.txt+16−0
@@ -0,0 +1,16 @@
1+VIA/Wondermedia VT8500 Interrupt Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-intc"
6+- reg : Should contain 1 register ranges(address and length)
7+- #interrupt-cells : should be <1>
8+
9+Example:
10+
11+ intc: interrupt-controller@d8140000 {
12+ compatible = "via,vt8500-intc";
13+ interrupt-controller;
14+ reg = <0xd8140000 0x10000>;
15+ #interrupt-cells = <1>;
16+ };
Documentation/devicetree/bindings/arm/vt8500/via,vt8500-pmc.txt+13−0
@@ -0,0 +1,13 @@
1+VIA/Wondermedia VT8500 Power Management Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-pmc"
6+- reg : Should contain 1 register ranges(address and length)
7+
8+Example:
9+
10+ pmc@d8130000 {
11+ compatible = "via,vt8500-pmc";
12+ reg = <0xd8130000 0x1000>;
13+ };
Documentation/devicetree/bindings/arm/vt8500/via,vt8500-timer.txt+15−0
@@ -0,0 +1,15 @@
1+VIA/Wondermedia VT8500 Timer
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-timer"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : interrupt for the timer
8+
9+Example:
10+
11+ timer@d8130100 {
12+ compatible = "via,vt8500-timer";
13+ reg = <0xd8130100 0x28>;
14+ interrupts = <36>;
15+ };
Documentation/devicetree/bindings/arm/xen.txt+25−0
@@ -0,0 +1,25 @@
1+* Xen hypervisor device tree bindings
2+
3+Xen ARM virtual platforms shall have a top-level "hypervisor" node with
4+the following properties:
5+
6+- compatible:
7+ compatible = "xen,xen-<version>", "xen,xen";
8+ where <version> is the version of the Xen ABI of the platform.
9+
10+- reg: specifies the base physical address and size of a region in
11+ memory where the grant table should be mapped to, using an
12+ HYPERVISOR_memory_op hypercall. The memory region is large enough to map
13+ the whole grant table (it is larger or equal to gnttab_max_grant_frames()).
14+
15+- interrupts: the interrupt used by Xen to inject event notifications.
16+ A GIC node is also required.
17+
18+
19+Example (assuming #address-cells = <2> and #size-cells = <2>):
20+
21+hypervisor {
22+ compatible = "xen,xen-4.3", "xen,xen";
23+ reg = <0 0xb0000000 0 0x20000>;
24+ interrupts = <1 15 0xf08>;
25+};
Documentation/devicetree/bindings/ata/ahci-platform.txt+9−0
@@ -8,9 +8,18 @@ Required properties: · 7 unmodified lines
88 - interrupts : <interrupt mapping for SATA IRQ>
99 - reg : <registers mapping>
1010
11+Optional properties:
12+- calxeda,port-phys: phandle-combophy and lane assignment, which maps each
13+ SATA port to a combophy and a lane within that
14+ combophy
15+- dma-coherent : Present if dma operations are coherent
16+
1117 Example:
1218 sata@ffe08000 {
1319 compatible = "calxeda,hb-ahci";
1420 reg = <0xffe08000 0x1000>;
1521 interrupts = <115>;
22+ calxeda,port-phys = <&combophy5 0 &combophy0 0 &combophy0 1
23+ &combophy0 2 &combophy0 3>;
24+
1625 };
Documentation/devicetree/bindings/ata/pata-arasan.txt+17−0
@@ -0,0 +1,17 @@
1+* ARASAN PATA COMPACT FLASH CONTROLLER
2+
3+Required properties:
4+- compatible: "arasan,cf-spear1340"
5+- reg: Address range of the CF registers
6+- interrupt-parent: Should be the phandle for the interrupt controller
7+ that services interrupts for this device
8+- interrupt: Should contain the CF interrupt number
9+
10+Example:
11+
12+ cf@fc000000 {
13+ compatible = "arasan,cf-spear1340";
14+ reg = <0xfc000000 0x1000>;
15+ interrupt-parent = <&vic1>;
16+ interrupts = <12>;
17+ };
Documentation/devicetree/bindings/bus/omap-ocp2scp.txt+10−0
@@ -0,0 +1,10 @@
1+* OMAP OCP2SCP - ocp interface to scp interface
2+
3+properties:
4+- compatible : Should be "ti,omap-ocp2scp"
5+- #address-cells, #size-cells : Must be present if the device has sub-nodes
6+- ranges : the child address space are mapped 1:1 onto the parent address space
7+- ti,hwmods : must be "ocp2scp_usb_phy"
8+
9+Sub-nodes:
10+All the devices connected to ocp2scp are described using sub-node to ocp2scp
Documentation/devicetree/bindings/clock/imx23-clock.txt+76−0
@@ -0,0 +1,76 @@
1+* Clock bindings for Freescale i.MX23
2+
3+Required properties:
4+- compatible: Should be "fsl,imx23-clkctrl"
5+- reg: Address and length of the register set
6+- #clock-cells: Should be <1>
7+
8+The clock consumer should specify the desired clock by having the clock
9+ID in its "clocks" phandle cell. The following is a full list of i.MX23
10+clocks and IDs.
11+
12+ Clock ID
13+ ------------------
14+ ref_xtal 0
15+ pll 1
16+ ref_cpu 2
17+ ref_emi 3
18+ ref_pix 4
19+ ref_io 5
20+ saif_sel 6
21+ lcdif_sel 7
22+ gpmi_sel 8
23+ ssp_sel 9
24+ emi_sel 10
25+ cpu 11
26+ etm_sel 12
27+ cpu_pll 13
28+ cpu_xtal 14
29+ hbus 15
30+ xbus 16
31+ lcdif_div 17
32+ ssp_div 18
33+ gpmi_div 19
34+ emi_pll 20
35+ emi_xtal 21
36+ etm_div 22
37+ saif_div 23
38+ clk32k_div 24
39+ rtc 25
40+ adc 26
41+ spdif_div 27
42+ clk32k 28
43+ dri 29
44+ pwm 30
45+ filt 31
46+ uart 32
47+ ssp 33
48+ gpmi 34
49+ spdif 35
50+ emi 36
51+ saif 37
52+ lcdif 38
53+ etm 39
54+ usb 40
55+ usb_pwr 41
56+
57+Examples:
58+
59+clks: clkctrl@80040000 {
60+ compatible = "fsl,imx23-clkctrl";
61+ reg = <0x80040000 0x2000>;
62+ #clock-cells = <1>;
63+ clock-output-names =
64+ ...
65+ "uart", /* 32 */
66+ ...
67+ "end_of_list";
68+};
69+
70+auart0: serial@8006c000 {
71+ compatible = "fsl,imx23-auart";
72+ reg = <0x8006c000 0x2000>;
73+ interrupts = <24 25 23>;
74+ clocks = <&clks 32>;
75+ status = "disabled";
76+};
Documentation/devicetree/bindings/clock/imx28-clock.txt+99−0
@@ -0,0 +1,99 @@
1+* Clock bindings for Freescale i.MX28
2+
3+Required properties:
4+- compatible: Should be "fsl,imx28-clkctrl"
5+- reg: Address and length of the register set
6+- #clock-cells: Should be <1>
7+
8+The clock consumer should specify the desired clock by having the clock
9+ID in its "clocks" phandle cell. The following is a full list of i.MX28
10+clocks and IDs.
11+
12+ Clock ID
13+ ------------------
14+ ref_xtal 0
15+ pll0 1
16+ pll1 2
17+ pll2 3
18+ ref_cpu 4
19+ ref_emi 5
20+ ref_io0 6
21+ ref_io1 7
22+ ref_pix 8
23+ ref_hsadc 9
24+ ref_gpmi 10
25+ saif0_sel 11
26+ saif1_sel 12
27+ gpmi_sel 13
28+ ssp0_sel 14
29+ ssp1_sel 15
30+ ssp2_sel 16
31+ ssp3_sel 17
32+ emi_sel 18
33+ etm_sel 19
34+ lcdif_sel 20
35+ cpu 21
36+ ptp_sel 22
37+ cpu_pll 23
38+ cpu_xtal 24
39+ hbus 25
40+ xbus 26
41+ ssp0_div 27
42+ ssp1_div 28
43+ ssp2_div 29
44+ ssp3_div 30
45+ gpmi_div 31
46+ emi_pll 32
47+ emi_xtal 33
48+ lcdif_div 34
49+ etm_div 35
50+ ptp 36
51+ saif0_div 37
52+ saif1_div 38
53+ clk32k_div 39
54+ rtc 40
55+ lradc 41
56+ spdif_div 42
57+ clk32k 43
58+ pwm 44
59+ uart 45
60+ ssp0 46
61+ ssp1 47
62+ ssp2 48
63+ ssp3 49
64+ gpmi 50
65+ spdif 51
66+ emi 52
67+ saif0 53
68+ saif1 54
69+ lcdif 55
70+ etm 56
71+ fec 57
72+ can0 58
73+ can1 59
74+ usb0 60
75+ usb1 61
76+ usb0_pwr 62
77+ usb1_pwr 63
78+ enet_out 64
79+
80+Examples:
81+
82+clks: clkctrl@80040000 {
83+ compatible = "fsl,imx28-clkctrl";
84+ reg = <0x80040000 0x2000>;
85+ #clock-cells = <1>;
86+ clock-output-names =
87+ ...
88+ "uart", /* 45 */
89+ ...
90+ "end_of_list";
91+};
92+
93+auart0: serial@8006a000 {
94+ compatible = "fsl,imx28-auart", "fsl,imx23-auart";
95+ reg = <0x8006a000 0x2000>;
96+ interrupts = <112 70 71>;
97+ clocks = <&clks 45>;
98+ status = "disabled";
99+};
Documentation/devicetree/bindings/clock/imx6q-clock.txt+222−0
@@ -0,0 +1,222 @@
1+* Clock bindings for Freescale i.MX6 Quad
2+
3+Required properties:
4+- compatible: Should be "fsl,imx6q-ccm"
5+- reg: Address and length of the register set
6+- interrupts: Should contain CCM interrupt
7+- #clock-cells: Should be <1>
8+
9+The clock consumer should specify the desired clock by having the clock
10+ID in its "clocks" phandle cell. The following is a full list of i.MX6Q
11+clocks and IDs.
12+
13+ Clock ID
14+ ---------------------------
15+ dummy 0
16+ ckil 1
17+ ckih 2
18+ osc 3
19+ pll2_pfd0_352m 4
20+ pll2_pfd1_594m 5
21+ pll2_pfd2_396m 6
22+ pll3_pfd0_720m 7
23+ pll3_pfd1_540m 8
24+ pll3_pfd2_508m 9
25+ pll3_pfd3_454m 10
26+ pll2_198m 11
27+ pll3_120m 12
28+ pll3_80m 13
29+ pll3_60m 14
30+ twd 15
31+ step 16
32+ pll1_sw 17
33+ periph_pre 18
34+ periph2_pre 19
35+ periph_clk2_sel 20
36+ periph2_clk2_sel 21
37+ axi_sel 22
38+ esai_sel 23
39+ asrc_sel 24
40+ spdif_sel 25
41+ gpu2d_axi 26
42+ gpu3d_axi 27
43+ gpu2d_core_sel 28
44+ gpu3d_core_sel 29
45+ gpu3d_shader_sel 30
46+ ipu1_sel 31
47+ ipu2_sel 32
48+ ldb_di0_sel 33
49+ ldb_di1_sel 34
50+ ipu1_di0_pre_sel 35
51+ ipu1_di1_pre_sel 36
52+ ipu2_di0_pre_sel 37
53+ ipu2_di1_pre_sel 38
54+ ipu1_di0_sel 39
55+ ipu1_di1_sel 40
56+ ipu2_di0_sel 41
57+ ipu2_di1_sel 42
58+ hsi_tx_sel 43
59+ pcie_axi_sel 44
60+ ssi1_sel 45
61+ ssi2_sel 46
62+ ssi3_sel 47
63+ usdhc1_sel 48
64+ usdhc2_sel 49
65+ usdhc3_sel 50
66+ usdhc4_sel 51
67+ enfc_sel 52
68+ emi_sel 53
69+ emi_slow_sel 54
70+ vdo_axi_sel 55
71+ vpu_axi_sel 56
72+ cko1_sel 57
73+ periph 58
74+ periph2 59
75+ periph_clk2 60
76+ periph2_clk2 61
77+ ipg 62
78+ ipg_per 63
79+ esai_pred 64
80+ esai_podf 65
81+ asrc_pred 66
82+ asrc_podf 67
83+ spdif_pred 68
84+ spdif_podf 69
85+ can_root 70
86+ ecspi_root 71
87+ gpu2d_core_podf 72
88+ gpu3d_core_podf 73
89+ gpu3d_shader 74
90+ ipu1_podf 75
91+ ipu2_podf 76
92+ ldb_di0_podf 77
93+ ldb_di1_podf 78
94+ ipu1_di0_pre 79
95+ ipu1_di1_pre 80
96+ ipu2_di0_pre 81
97+ ipu2_di1_pre 82
98+ hsi_tx_podf 83
99+ ssi1_pred 84
100+ ssi1_podf 85
101+ ssi2_pred 86
102+ ssi2_podf 87
103+ ssi3_pred 88
104+ ssi3_podf 89
105+ uart_serial_podf 90
106+ usdhc1_podf 91
107+ usdhc2_podf 92
108+ usdhc3_podf 93
109+ usdhc4_podf 94
110+ enfc_pred 95
111+ enfc_podf 96
112+ emi_podf 97
113+ emi_slow_podf 98
114+ vpu_axi_podf 99
115+ cko1_podf 100
116+ axi 101
117+ mmdc_ch0_axi_podf 102
118+ mmdc_ch1_axi_podf 103
119+ arm 104
120+ ahb 105
121+ apbh_dma 106
122+ asrc 107
123+ can1_ipg 108
124+ can1_serial 109
125+ can2_ipg 110
126+ can2_serial 111
127+ ecspi1 112
128+ ecspi2 113
129+ ecspi3 114
130+ ecspi4 115
131+ ecspi5 116
132+ enet 117
133+ esai 118
134+ gpt_ipg 119
135+ gpt_ipg_per 120
136+ gpu2d_core 121
137+ gpu3d_core 122
138+ hdmi_iahb 123
139+ hdmi_isfr 124
140+ i2c1 125
141+ i2c2 126
142+ i2c3 127
143+ iim 128
144+ enfc 129
145+ ipu1 130
146+ ipu1_di0 131
147+ ipu1_di1 132
148+ ipu2 133
149+ ipu2_di0 134
150+ ldb_di0 135
151+ ldb_di1 136
152+ ipu2_di1 137
153+ hsi_tx 138
154+ mlb 139
155+ mmdc_ch0_axi 140
156+ mmdc_ch1_axi 141
157+ ocram 142
158+ openvg_axi 143
159+ pcie_axi 144
160+ pwm1 145
161+ pwm2 146
162+ pwm3 147
163+ pwm4 148
164+ per1_bch 149
165+ gpmi_bch_apb 150
166+ gpmi_bch 151
167+ gpmi_io 152
168+ gpmi_apb 153
169+ sata 154
170+ sdma 155
171+ spba 156
172+ ssi1 157
173+ ssi2 158
174+ ssi3 159
175+ uart_ipg 160
176+ uart_serial 161
177+ usboh3 162
178+ usdhc1 163
179+ usdhc2 164
180+ usdhc3 165
181+ usdhc4 166
182+ vdo_axi 167
183+ vpu_axi 168
184+ cko1 169
185+ pll1_sys 170
186+ pll2_bus 171
187+ pll3_usb_otg 172
188+ pll4_audio 173
189+ pll5_video 174
190+ pll6_mlb 175
191+ pll7_usb_host 176
192+ pll8_enet 177
193+ ssi1_ipg 178
194+ ssi2_ipg 179
195+ ssi3_ipg 180
196+ rom 181
197+ usbphy1 182
198+ usbphy2 183
199+ ldb_di0_div_3_5 184
200+ ldb_di1_div_3_5 185
201+
202+Examples:
203+
204+clks: ccm@020c4000 {
205+ compatible = "fsl,imx6q-ccm";
206+ reg = <0x020c4000 0x4000>;
207+ interrupts = <0 87 0x04 0 88 0x04>;
208+ #clock-cells = <1>;
209+ clock-output-names = ...
210+ "uart_ipg",
211+ "uart_serial",
212+ ...;
213+};
214+
215+uart1: serial@02020000 {
216+ compatible = "fsl,imx6q-uart", "fsl,imx21-uart";
217+ reg = <0x02020000 0x4000>;
218+ interrupts = <0 26 0x04>;
219+ clocks = <&clks 160>, <&clks 161>;
220+ clock-names = "ipg", "per";
221+ status = "disabled";
222+};
Documentation/devicetree/bindings/clock/vt8500.txt+72−0
@@ -0,0 +1,72 @@
1+Device Tree Clock bindings for arch-vt8500
2+
3+This binding uses the common clock binding[1].
4+
5+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
6+
7+Required properties:
8+- compatible : shall be one of the following:
9+ "via,vt8500-pll-clock" - for a VT8500/WM8505 PLL clock
10+ "wm,wm8650-pll-clock" - for a WM8650 PLL clock
11+ "via,vt8500-device-clock" - for a VT/WM device clock
12+
13+Required properties for PLL clocks:
14+- reg : shall be the control register offset from PMC base for the pll clock.
15+- clocks : shall be the input parent clock phandle for the clock. This should
16+ be the reference clock.
17+- #clock-cells : from common clock binding; shall be set to 0.
18+
19+Required properties for device clocks:
20+- clocks : shall be the input parent clock phandle for the clock. This should
21+ be a pll output.
22+- #clock-cells : from common clock binding; shall be set to 0.
23+
24+
25+Device Clocks
26+
27+Device clocks are required to have one or both of the following sets of
28+properties:
29+
30+
31+Gated device clocks:
32+
33+Required properties:
34+- enable-reg : shall be the register offset from PMC base for the enable
35+ register.
36+- enable-bit : shall be the bit within enable-reg to enable/disable the clock.
37+
38+
39+Divisor device clocks:
40+
41+Required property:
42+- divisor-reg : shall be the register offset from PMC base for the divisor
43+ register.
44+Optional property:
45+- divisor-mask : shall be the mask for the divisor register. Defaults to 0x1f
46+ if not specified.
47+
48+
49+For example:
50+
51+ref25: ref25M {
52+ #clock-cells = <0>;
53+ compatible = "fixed-clock";
54+ clock-frequency = <25000000>;
55+};
56+
57+plla: plla {
58+ #clock-cells = <0>;
59+ compatible = "wm,wm8650-pll-clock";
60+ clocks = <&ref25>;
61+ reg = <0x200>;
62+};
63+
64+sdhc: sdhc {
65+ #clock-cells = <0>;
66+ compatible = "via,vt8500-device-clock";
67+ clocks = <&pllb>;
68+ divisor-reg = <0x328>;
69+ divisor-mask = <0x3f>;
70+ enable-reg = <0x254>;
71+ enable-bit = <18>;
72+};
Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt+55−0
@@ -0,0 +1,55 @@
1+Generic CPU0 cpufreq driver
2+
3+It is a generic cpufreq driver for CPU0 frequency management. It
4+supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
5+systems which share clock and voltage across all CPUs.
6+
7+Both required and optional properties listed below must be defined
8+under node /cpus/cpu@0.
9+
10+Required properties:
11+- operating-points: Refer to Documentation/devicetree/bindings/power/opp.txt
12+ for details
13+
14+Optional properties:
15+- clock-latency: Specify the possible maximum transition latency for clock,
16+ in unit of nanoseconds.
17+- voltage-tolerance: Specify the CPU voltage tolerance in percentage.
18+
19+Examples:
20+
21+cpus {
22+ #address-cells = <1>;
23+ #size-cells = <0>;
24+
25+ cpu@0 {
26+ compatible = "arm,cortex-a9";
27+ reg = <0>;
28+ next-level-cache = <&L2>;
29+ operating-points = <
30+ /* kHz uV */
31+ 792000 1100000
32+ 396000 950000
33+ 198000 850000
34+ >;
35+ transition-latency = <61036>; /* two CLK32 periods */
36+ };
37+
38+ cpu@1 {
39+ compatible = "arm,cortex-a9";
40+ reg = <1>;
41+ next-level-cache = <&L2>;
42+ };
43+
44+ cpu@2 {
45+ compatible = "arm,cortex-a9";
46+ reg = <2>;
47+ next-level-cache = <&L2>;
48+ };
49+
50+ cpu@3 {
51+ compatible = "arm,cortex-a9";
52+ reg = <3>;
53+ next-level-cache = <&L2>;
54+ };
55+};
Documentation/devicetree/bindings/crypto/fsl-sec4.txt+51−0
@@ -9,6 +9,7 @@ Copyright (C) 2008-2011 Freescale Semiconductor Inc. · 8 unmodified lines
99 -Run Time Integrity Check (RTIC) Node
1010 -Run Time Integrity Check (RTIC) Memory Node
1111 -Secure Non-Volatile Storage (SNVS) Node
12+ -Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node
1213 -Full Example
1314
1415 NOTE: the SEC 4 is also known as Freescale's Cryptographic Accelerator
@@ -294,6 +295,27 @@ Secure Non-Volatile Storage (SNVS) Node · 279 unmodified lines
294295 address and length of the SEC4 configuration
295296 registers.
296297
298+ - #address-cells
299+ Usage: required
300+ Value type: <u32>
301+ Definition: A standard property. Defines the number of cells
302+ for representing physical addresses in child nodes. Must
303+ have a value of 1.
304+
305+ - #size-cells
306+ Usage: required
307+ Value type: <u32>
308+ Definition: A standard property. Defines the number of cells
309+ for representing the size of physical addresses in
310+ child nodes. Must have a value of 1.
311+
312+ - ranges
313+ Usage: required
314+ Value type: <prop-encoded-array>
315+ Definition: A standard property. Specifies the physical address
316+ range of the SNVS register space. A triplet that includes
317+ the child address, parent address, & length.
318+
297319 - interrupts
298320 Usage: required
299321 Value type: <prop_encoded-array>
@@ -314,10 +336,33 @@ EXAMPLE · 14 unmodified lines
314336 sec_mon@314000 {
315337 compatible = "fsl,sec-v4.0-mon";
316338 reg = <0x314000 0x1000>;
339+ ranges = <0 0x314000 0x1000>;
317340 interrupt-parent = <&mpic>;
318341 interrupts = <93 2>;
319342 };
320343
344+=====================================================================
345+Secure Non-Volatile Storage (SNVS) Low Power (LP) RTC Node
346+
347+ A SNVS child node that defines SNVS LP RTC.
348+
349+ - compatible
350+ Usage: required
351+ Value type: <string>
352+ Definition: Must include "fsl,sec-v4.0-mon-rtc-lp".
353+
354+ - reg
355+ Usage: required
356+ Value type: <prop-encoded-array>
357+ Definition: A standard property. Specifies the physical
358+ address and length of the SNVS LP configuration registers.
359+
360+EXAMPLE
361+ sec_mon_rtc_lp@314000 {
362+ compatible = "fsl,sec-v4.0-mon-rtc-lp";
363+ reg = <0x34 0x58>;
364+ };
365+
321366 =====================================================================
322367 FULL EXAMPLE
323368
@@ -390,8 +435,14 @@ FULL EXAMPLE · 66 unmodified lines
390435 sec_mon: sec_mon@314000 {
391436 compatible = "fsl,sec-v4.0-mon";
392437 reg = <0x314000 0x1000>;
438+ ranges = <0 0x314000 0x1000>;
393439 interrupt-parent = <&mpic>;
394440 interrupts = <93 2>;
441+
442+ sec_mon_rtc_lp@34 {
443+ compatible = "fsl,sec-v4.0-mon-rtc-lp";
444+ reg = <0x34 0x58>;
445+ };
395446 };
396447
397448 =====================================================================
Documentation/devicetree/bindings/crypto/mv_cesa.txt+20−0
@@ -0,0 +1,20 @@
1+Marvell Cryptographic Engines And Security Accelerator
2+
3+Required properties:
4+- compatible : should be "marvell,orion-crypto"
5+- reg : base physical address of the engine and length of memory mapped
6+ region, followed by base physical address of sram and its memory
7+ length
8+- reg-names : "regs" , "sram";
9+- interrupts : interrupt number
10+
11+Examples:
12+
13+ crypto@30000 {
14+ compatible = "marvell,orion-crypto";
15+ reg = <0x30000 0x10000>,
16+ <0x4000000 0x800>;
17+ reg-names = "regs" , "sram";
18+ interrupts = <22>;
19+ status = "okay";
20+ };
Documentation/devicetree/bindings/dma/arm-pl330.txt+3−0
@@ -9,6 +9,9 @@ Required properties: · 8 unmodified lines
99 region.
1010 - interrupts: interrupt number to the cpu.
1111
12+Optional properties:
13+- dma-coherent : Present if dma operations are coherent
14+
1215 Example:
1316
1417 pdma0: pdma@12680000 {
Documentation/devicetree/bindings/dma/mmp-dma.txt+74−0
@@ -0,0 +1,74 @@
1+* MARVELL MMP DMA controller
2+
3+Marvell Peripheral DMA Controller
4+Used platfroms: pxa688, pxa910, pxa3xx, etc
5+
6+Required properties:
7+- compatible: Should be "marvell,pdma-1.0"
8+- reg: Should contain DMA registers location and length.
9+- interrupts: Either contain all of the per-channel DMA interrupts
10+ or one irq for pdma device
11+- #dma-channels: Number of DMA channels supported by the controller.
12+
13+"marvell,pdma-1.0"
14+Used platfroms: pxa25x, pxa27x, pxa3xx, pxa93x, pxa168, pxa910, pxa688.
15+
16+Examples:
17+
18+/*
19+ * Each channel has specific irq
20+ * ICU parse out irq channel from ICU register,
21+ * while DMA controller may not able to distinguish the irq channel
22+ * Using this method, interrupt-parent is required as demuxer
23+ * For example, pxa688 icu register 0x128, bit 0~15 is PDMA channel irq,
24+ * 18~21 is ADMA irq
25+ */
26+pdma: dma-controller@d4000000 {
27+ compatible = "marvell,pdma-1.0";
28+ reg = <0xd4000000 0x10000>;
29+ interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
30+ interrupt-parent = <&intcmux32>;
31+ #dma-channels = <16>;
32+ };
33+
34+/*
35+ * One irq for all channels
36+ * Dmaengine driver (DMA controller) distinguish irq channel via
37+ * parsing internal register
38+ */
39+pdma: dma-controller@d4000000 {
40+ compatible = "marvell,pdma-1.0";
41+ reg = <0xd4000000 0x10000>;
42+ interrupts = <47>;
43+ #dma-channels = <16>;
44+ };
45+
46+
47+Marvell Two Channel DMA Controller used specifically for audio
48+Used platfroms: pxa688, pxa910
49+
50+Required properties:
51+- compatible: Should be "marvell,adma-1.0" or "marvell,pxa910-squ"
52+- reg: Should contain DMA registers location and length.
53+- interrupts: Either contain all of the per-channel DMA interrupts
54+ or one irq for dma device
55+
56+"marvell,adma-1.0" used on pxa688
57+"marvell,pxa910-squ" used on pxa910
58+
59+Examples:
60+
61+/* each channel has specific irq */
62+adma0: dma-controller@d42a0800 {
63+ compatible = "marvell,adma-1.0";
64+ reg = <0xd42a0800 0x100>;
65+ interrupts = <18 19>;
66+ interrupt-parent = <&intcmux32>;
67+ };
68+
69+/* One irq for all channels */
70+squ: dma-controller@d42a0800 {
71+ compatible = "marvell,pxa910-squ";
72+ reg = <0xd42a0800 0x100>;
73+ interrupts = <46>;
74+ };
Documentation/devicetree/bindings/gpio/gpio-74x164.txt+22−0
@@ -0,0 +1,22 @@
1+* Generic 8-bits shift register GPIO driver
2+
3+Required properties:
4+- compatible : Should be "fairchild,74hc595"
5+- reg : chip select number
6+- gpio-controller : Marks the device node as a gpio controller.
7+- #gpio-cells : Should be two. The first cell is the pin number and
8+ the second cell is used to specify the gpio polarity:
9+ 0 = active high
10+ 1 = active low
11+- registers-number: Number of daisy-chained shift registers
12+
13+Example:
14+
15+gpio5: gpio5@0 {
16+ compatible = "fairchild,74hc595";
17+ reg = <0>;
18+ gpio-controller;
19+ #gpio-cells = <2>;
20+ registers-number = <4>;
21+ spi-max-frequency = <100000>;
22+};
Documentation/devicetree/bindings/gpio/gpio-adnp.txt+34−0
@@ -0,0 +1,34 @@
1+Avionic Design N-bit GPIO expander bindings
2+
3+Required properties:
4+- compatible: should be "ad,gpio-adnp"
5+- reg: The I2C slave address for this device.
6+- interrupt-parent: phandle of the parent interrupt controller.
7+- interrupts: Interrupt specifier for the controllers interrupt.
8+- #gpio-cells: Should be 2. The first cell is the GPIO number and the
9+ second cell is used to specify optional parameters:
10+ - bit 0: polarity (0: normal, 1: inverted)
11+- gpio-controller: Marks the device as a GPIO controller
12+- nr-gpios: The number of pins supported by the controller.
13+
14+The GPIO expander can optionally be used as an interrupt controller, in
15+which case it uses the default two cell specifier as described in
16+Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
17+
18+Example:
19+
20+ gpioext: gpio-controller@41 {
21+ compatible = "ad,gpio-adnp";
22+ reg = <0x41>;
23+
24+ interrupt-parent = <&gpio>;
25+ interrupts = <160 1>;
26+
27+ gpio-controller;
28+ #gpio-cells = <2>;
29+
30+ interrupt-controller;
31+ #interrupt-cells = <2>;
32+
33+ nr-gpios = <64>;
34+ };
Documentation/devicetree/bindings/gpio/gpio-fan.txt+25−0
@@ -0,0 +1,25 @@
1+Bindings for fan connected to GPIO lines
2+
3+Required properties:
4+- compatible : "gpio-fan"
5+- gpios: Specifies the pins that map to bits in the control value,
6+ ordered MSB-->LSB.
7+- gpio-fan,speed-map: A mapping of possible fan RPM speeds and the
8+ control value that should be set to achieve them. This array
9+ must have the RPM values in ascending order.
10+
11+Optional properties:
12+- alarm-gpios: This pin going active indicates something is wrong with
13+ the fan, and a udev event will be fired.
14+
15+Examples:
16+
17+ gpio_fan {
18+ compatible = "gpio-fan";
19+ gpios = <&gpio1 14 1
20+ &gpio1 13 1>;
21+ gpio-fan,speed-map = <0 0
22+ 3000 1
23+ 6000 2>;
24+ alarm-gpios = <&gpio1 15 1>;
25+ };
Documentation/devicetree/bindings/gpio/gpio-mvebu.txt+53−0
@@ -0,0 +1,53 @@
1+* Marvell EBU GPIO controller
2+
3+Required properties:
4+
5+- compatible : Should be "marvell,orion-gpio", "marvell,mv78200-gpio"
6+ or "marvell,armadaxp-gpio". "marvell,orion-gpio" should be used for
7+ Orion, Kirkwood, Dove, Discovery (except MV78200) and Armada
8+ 370. "marvell,mv78200-gpio" should be used for the Discovery
9+ MV78200. "marvel,armadaxp-gpio" should be used for all Armada XP
10+ SoCs (MV78230, MV78260, MV78460).
11+
12+- reg: Address and length of the register set for the device. Only one
13+ entry is expected, except for the "marvell,armadaxp-gpio" variant
14+ for which two entries are expected: one for the general registers,
15+ one for the per-cpu registers.
16+
17+- interrupts: The list of interrupts that are used for all the pins
18+ managed by this GPIO bank. There can be more than one interrupt
19+ (example: 1 interrupt per 8 pins on Armada XP, which means 4
20+ interrupts per bank of 32 GPIOs).
21+
22+- interrupt-controller: identifies the node as an interrupt controller
23+
24+- #interrupt-cells: specifies the number of cells needed to encode an
25+ interrupt source. Should be two.
26+ The first cell is the GPIO number.
27+ The second cell is used to specify flags:
28+ bits[3:0] trigger type and level flags:
29+ 1 = low-to-high edge triggered.
30+ 2 = high-to-low edge triggered.
31+ 4 = active high level-sensitive.
32+ 8 = active low level-sensitive.
33+
34+- gpio-controller: marks the device node as a gpio controller
35+
36+- ngpios: number of GPIOs this controller has
37+
38+- #gpio-cells: Should be two. The first cell is the pin number. The
39+ second cell is reserved for flags, unused at the moment.
40+
41+Example:
42+
43+ gpio0: gpio@d0018100 {
44+ compatible = "marvell,armadaxp-gpio";
45+ reg = <0xd0018100 0x40>,
46+ <0xd0018800 0x30>;
47+ ngpios = <32>;
48+ gpio-controller;
49+ #gpio-cells = <2>;
50+ interrupt-controller;
51+ #interrupt-cells = <2>;
52+ interrupts = <16>, <17>, <18>, <19>;
53+ };
Documentation/devicetree/bindings/gpio/gpio-samsung.txt+43−0
@@ -39,3 +39,46 @@ Example: · 38 unmodified lines
3939 #gpio-cells = <4>;
4040 gpio-controller;
4141 };
42+
43+
44+Samsung S3C24XX GPIO Controller
45+
46+Required properties:
47+- compatible: Compatible property value should be "samsung,s3c24xx-gpio".
48+
49+- reg: Physical base address of the controller and length of memory mapped
50+ region.
51+
52+- #gpio-cells: Should be 3. The syntax of the gpio specifier used by client nodes
53+ should be the following with values derived from the SoC user manual.
54+ <[phandle of the gpio controller node]
55+ [pin number within the gpio controller]
56+ [mux function]
57+ [flags and pull up/down]
58+
59+ Values for gpio specifier:
60+ - Pin number: depending on the controller a number from 0 up to 15.
61+ - Mux function: Depending on the SoC and the gpio bank the gpio can be set
62+ as input, output or a special function
63+ - Flags and Pull Up/Down: the values to use differ for the individual SoCs
64+ example S3C2416/S3C2450:
65+ 0 - Pull Up/Down Disabled.
66+ 1 - Pull Down Enabled.
67+ 2 - Pull Up Enabled.
68+ Bit 16 (0x00010000) - Input is active low.
69+ Consult the user manual for the correct values of Mux and Pull Up/Down.
70+
71+- gpio-controller: Specifies that the node is a gpio controller.
72+- #address-cells: should be 1.
73+- #size-cells: should be 1.
74+
75+Example:
76+
77+ gpa: gpio-controller@56000000 {
78+ #address-cells = <1>;
79+ #size-cells = <1>;
80+ compatible = "samsung,s3c24xx-gpio";
81+ reg = <0x56000000 0x10>;
82+ #gpio-cells = <3>;
83+ gpio-controller;
84+ };
Documentation/devicetree/bindings/gpio/gpio-twl4030.txt+6−0
@@ -11,6 +11,11 @@ Required properties: · 10 unmodified lines
1111 - interrupt-controller: Mark the device node as an interrupt controller
1212 The first cell is the GPIO number.
1313 The second cell is not used.
14+- ti,use-leds : Enables LEDA and LEDB outputs if set
15+- ti,debounce : if n-th bit is set, debounces GPIO-n
16+- ti,mmc-cd : if n-th bit is set, GPIO-n controls VMMC(n+1)
17+- ti,pullups : if n-th bit is set, set a pullup on GPIO-n
18+- ti,pulldowns : if n-th bit is set, set a pulldown on GPIO-n
1419
1520 Example:
1621
@@ -20,4 +25,5 @@ twl_gpio: gpio { · 3 unmodified lines
2025 gpio-controller;
2126 #interrupt-cells = <2>;
2227 interrupt-controller;
28+ ti,use-leds;
2329 };
Documentation/devicetree/bindings/gpio/gpio-vt8500.txt+24−0
@@ -0,0 +1,24 @@
1+VIA/Wondermedia VT8500 GPIO Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-gpio", "wm,wm8505-gpio"
6+ or "wm,wm8650-gpio" depending on your SoC
7+- reg : Should contain 1 register range (address and length)
8+- #gpio-cells : should be <3>.
9+ 1) bank
10+ 2) pin number
11+ 3) flags - should be 0
12+
13+Example:
14+
15+ gpio: gpio-controller@d8110000 {
16+ compatible = "via,vt8500-gpio";
17+ gpio-controller;
18+ reg = <0xd8110000 0x10000>;
19+ #gpio-cells = <3>;
20+ };
21+
22+ vibrate {
23+ gpios = <&gpio 0 1 0>; /* Bank 0, Pin 1, No flags */
24+ };
Documentation/devicetree/bindings/gpio/led.txt+1−1
@@ -8,7 +8,7 @@ node's name represents the name of the corresponding LED. · 7 unmodified lines
88
99 LED sub-node properties:
1010 - gpios : Should specify the LED's GPIO, see "gpios property" in
11− Documentation/devicetree/gpio.txt. Active low LEDs should be
11+ Documentation/devicetree/bindings/gpio/gpio.txt. Active low LEDs should be
1212 indicated using flags in the GPIO specifier.
1313 - label : (optional) The label for this LED. If omitted, the label is
1414 taken from the node name (excluding the unit address).
Documentation/devicetree/bindings/i2c/atmel-i2c.txt+30−0
@@ -0,0 +1,30 @@
1+I2C for Atmel platforms
2+
3+Required properties :
4+- compatible : Must be "atmel,at91rm9200-i2c", "atmel,at91sam9261-i2c",
5+ "atmel,at91sam9260-i2c", "atmel,at91sam9g20-i2c", "atmel,at91sam9g10-i2c"
6+ or "atmel,at91sam9x5-i2c"
7+- reg: physical base address of the controller and length of memory mapped
8+ region.
9+- interrupts: interrupt number to the cpu.
10+- #address-cells = <1>;
11+- #size-cells = <0>;
12+
13+Optional properties:
14+- Child nodes conforming to i2c bus binding
15+
16+Examples :
17+
18+i2c0: i2c@fff84000 {
19+ compatible = "atmel,at91sam9g20-i2c";
20+ reg = <0xfff84000 0x100>;
21+ interrupts = <12 4 6>;
22+ #address-cells = <1>;
23+ #size-cells = <0>;
24+
25+ 24c512@50 {
26+ compatible = "24c512";
27+ reg = <0x50>;
28+ pagesize = <128>;
29+ }
30+}
Documentation/devicetree/bindings/i2c/davinci.txt+28−0
@@ -0,0 +1,28 @@
1+* Texas Instruments Davinci I2C
2+
3+This file provides information, what the device node for the
4+davinci i2c interface contain.
5+
6+Required properties:
7+- compatible: "ti,davinci-i2c";
8+- reg : Offset and length of the register set for the device
9+
10+Recommended properties :
11+- interrupts : standard interrupt property.
12+- clock-frequency : desired I2C bus clock frequency in Hz.
13+
14+Example (enbw_cmc board):
15+ i2c@1c22000 {
16+ compatible = "ti,davinci-i2c";
17+ reg = <0x22000 0x1000>;
18+ clock-frequency = <100000>;
19+ interrupts = <15>;
20+ interrupt-parent = <&intc>;
21+ #address-cells = <1>;
22+ #size-cells = <0>;
23+
24+ dtt@48 {
25+ compatible = "national,lm75";
26+ reg = <0x48>;
27+ };
28+ };
Documentation/devicetree/bindings/i2c/i2c-mxs.txt+2−0
@@ -6,6 +6,7 @@ Required properties: · 5 unmodified lines
66 - interrupts: Should contain ERROR and DMA interrupts
77 - clock-frequency: Desired I2C bus clock frequency in Hz.
88 Only 100000Hz and 400000Hz modes are supported.
9+- fsl,i2c-dma-channel: APBX DMA channel for the I2C
910
1011 Examples:
1112
@@ -16,4 +17,5 @@ i2c0: i2c@80058000 { · 4 unmodified lines
1617 reg = <0x80058000 2000>;
1718 interrupts = <111 68>;
1819 clock-frequency = <100000>;
20+ fsl,i2c-dma-channel = <6>;
1921 };
Documentation/devicetree/bindings/i2c/nomadik.txt+23−0
@@ -0,0 +1,23 @@
1+I2C for Nomadik based systems
2+
3+Required (non-standard) properties:
4+ - Nil
5+
6+Recommended (non-standard) properties:
7+ - clock-frequency : Maximum bus clock frequency for the device
8+
9+Optional (non-standard) properties:
10+ - Nil
11+
12+Example :
13+
14+i2c@80004000 {
15+ compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
16+ reg = <0x80004000 0x1000>;
17+ interrupts = <0 21 0x4>;
18+ #address-cells = <1>;
19+ #size-cells = <0>;
20+ v-i2c-supply = <&db8500_vape_reg>;
21+
22+ clock-frequency = <400000>;
23+};
Documentation/devicetree/bindings/i2c/trivial-devices.txt+1−0
@@ -56,3 +56,4 @@ stm,m41t00 Serial Access TIMEKEEPER · 55 unmodified lines
5656 stm,m41t62 Serial real-time clock (RTC) with alarm
5757 stm,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS
5858 ti,tsc2003 I2C Touch-Screen Controller
59+ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface
Documentation/devicetree/bindings/input/gpio-keys-polled.txt+38−0
@@ -0,0 +1,38 @@
1+Device-Tree bindings for input/gpio_keys_polled.c keyboard driver
2+
3+Required properties:
4+ - compatible = "gpio-keys-polled";
5+ - poll-interval: Poll interval time in milliseconds
6+
7+Optional properties:
8+ - autorepeat: Boolean, Enable auto repeat feature of Linux input
9+ subsystem.
10+
11+Each button (key) is represented as a sub-node of "gpio-keys-polled":
12+Subnode properties:
13+
14+ - gpios: OF device-tree gpio specification.
15+ - label: Descriptive name of the key.
16+ - linux,code: Keycode to emit.
17+
18+Optional subnode-properties:
19+ - linux,input-type: Specify event type this button/key generates.
20+ If not specified defaults to <1> == EV_KEY.
21+ - debounce-interval: Debouncing interval time in milliseconds.
22+ If not specified defaults to 5.
23+ - gpio-key,wakeup: Boolean, button can wake-up the system.
24+
25+Example nodes:
26+
27+ gpio_keys_polled {
28+ compatible = "gpio-keys-polled";
29+ #address-cells = <1>;
30+ #size-cells = <0>;
31+ poll-interval = <100>;
32+ autorepeat;
33+ button@21 {
34+ label = "GPIO Key UP";
35+ linux,code = <103>;
36+ gpios = <&gpio1 0 1>;
37+ };
38+ ...
Documentation/devicetree/bindings/input/rotary-encoder.txt+36−0
@@ -0,0 +1,36 @@
1+Rotary encoder DT bindings
2+
3+Required properties:
4+- gpios: a spec for two GPIOs to be used
5+
6+Optional properties:
7+- linux,axis: the input subsystem axis to map to this rotary encoder.
8+ Defaults to 0 (ABS_X / REL_X)
9+- rotary-encoder,steps: Number of steps in a full turnaround of the
10+ encoder. Only relevant for absolute axis. Defaults to 24 which is a
11+ typical value for such devices.
12+- rotary-encoder,relative-axis: register a relative axis rather than an
13+ absolute one. Relative axis will only generate +1/-1 events on the input
14+ device, hence no steps need to be passed.
15+- rotary-encoder,rollover: Automatic rollove when the rotary value becomes
16+ greater than the specified steps or smaller than 0. For absolute axis only.
17+- rotary-encoder,half-period: Makes the driver work on half-period mode.
18+
19+See Documentation/input/rotary-encoder.txt for more information.
20+
21+Example:
22+
23+ rotary@0 {
24+ compatible = "rotary-encoder";
25+ gpios = <&gpio 19 1>, <&gpio 20 0>; /* GPIO19 is inverted */
26+ linux,axis = <0>; /* REL_X */
27+ rotary-encoder,relative-axis;
28+ };
29+
30+ rotary@1 {
31+ compatible = "rotary-encoder";
32+ gpios = <&gpio 21 0>, <&gpio 22 0>;
33+ linux,axis = <1>; /* ABS_Y */
34+ rotary-encoder,steps = <24>;
35+ rotary-encoder,rollover;
36+ };
Documentation/devicetree/bindings/input/touchscreen/egalax-ts.txt+19−0
@@ -0,0 +1,19 @@
1+* EETI eGalax Multiple Touch Controller
2+
3+Required properties:
4+- compatible: must be "eeti,egalax_ts"
5+- reg: i2c slave address
6+- interrupt-parent: the phandle for the interrupt controller
7+- interrupts: touch controller interrupt
8+- wakeup-gpios: the gpio pin to be used for waking up the controller
9+ as well as uased as irq pin
10+
11+Example:
12+
13+ egalax_ts@04 {
14+ compatible = "eeti,egalax_ts";
15+ reg = <0x04>;
16+ interrupt-parent = <&gpio1>;
17+ interrupts = <9 2>;
18+ wakeup-gpios = <&gpio1 9 0>;
19+ };
Documentation/devicetree/bindings/interrupt-controller/brcm,bcm2835-armctrl-ic.txt+110−0
@@ -0,0 +1,110 @@
1+BCM2835 Top-Level ("ARMCTRL") Interrupt Controller
2+
3+The BCM2835 contains a custom top-level interrupt controller, which supports
4+72 interrupt sources using a 2-level register scheme. The interrupt
5+controller, or the HW block containing it, is referred to occasionally
6+as "armctrl" in the SoC documentation, hence naming of this binding.
7+
8+Required properties:
9+
10+- compatible : should be "brcm,bcm2835-armctrl-ic"
11+- reg : Specifies base physical address and size of the registers.
12+- interrupt-controller : Identifies the node as an interrupt controller
13+- #interrupt-cells : Specifies the number of cells needed to encode an
14+ interrupt source. The value shall be 2.
15+
16+ The 1st cell is the interrupt bank; 0 for interrupts in the "IRQ basic
17+ pending" register, or 1/2 respectively for interrupts in the "IRQ pending
18+ 1/2" register.
19+
20+ The 2nd cell contains the interrupt number within the bank. Valid values
21+ are 0..7 for bank 0, and 0..31 for bank 1.
22+
23+The interrupt sources are as follows:
24+
25+Bank 0:
26+0: ARM_TIMER
27+1: ARM_MAILBOX
28+2: ARM_DOORBELL_0
29+3: ARM_DOORBELL_1
30+4: VPU0_HALTED
31+5: VPU1_HALTED
32+6: ILLEGAL_TYPE0
33+7: ILLEGAL_TYPE1
34+
35+Bank 1:
36+0: TIMER0
37+1: TIMER1
38+2: TIMER2
39+3: TIMER3
40+4: CODEC0
41+5: CODEC1
42+6: CODEC2
43+7: VC_JPEG
44+8: ISP
45+9: VC_USB
46+10: VC_3D
47+11: TRANSPOSER
48+12: MULTICORESYNC0
49+13: MULTICORESYNC1
50+14: MULTICORESYNC2
51+15: MULTICORESYNC3
52+16: DMA0
53+17: DMA1
54+18: VC_DMA2
55+19: VC_DMA3
56+20: DMA4
57+21: DMA5
58+22: DMA6
59+23: DMA7
60+24: DMA8
61+25: DMA9
62+26: DMA10
63+27: DMA11
64+28: DMA12
65+29: AUX
66+30: ARM
67+31: VPUDMA
68+
69+Bank 2:
70+0: HOSTPORT
71+1: VIDEOSCALER
72+2: CCP2TX
73+3: SDC
74+4: DSI0
75+5: AVE
76+6: CAM0
77+7: CAM1
78+8: HDMI0
79+9: HDMI1
80+10: PIXELVALVE1
81+11: I2CSPISLV
82+12: DSI1
83+13: PWA0
84+14: PWA1
85+15: CPR
86+16: SMI
87+17: GPIO0
88+18: GPIO1
89+19: GPIO2
90+20: GPIO3
91+21: VC_I2C
92+22: VC_SPI
93+23: VC_I2SPCM
94+24: VC_SDIO
95+25: VC_UART
96+26: SLIMBUS
97+27: VEC
98+28: CPG
99+29: RNG
100+30: VC_ARASANSDIO
101+31: AVSPMON
102+
103+Example:
104+
105+intc: interrupt-controller {
106+ compatible = "brcm,bcm2835-armctrl-ic";
107+ reg = <0x7e00b200 0x200>;
108+ interrupt-controller;
109+ #interrupt-cells = <2>;
110+};
Documentation/devicetree/bindings/interrupt-controller/interrupts.txt+95−0
@@ -0,0 +1,95 @@
1+Specifying interrupt information for devices
2+============================================
3+
4+1) Interrupt client nodes
5+-------------------------
6+
7+Nodes that describe devices which generate interrupts must contain an
8+"interrupts" property. This property must contain a list of interrupt
9+specifiers, one per output interrupt. The format of the interrupt specifier is
10+determined by the interrupt controller to which the interrupts are routed; see
11+section 2 below for details.
12+
13+The "interrupt-parent" property is used to specify the controller to which
14+interrupts are routed and contains a single phandle referring to the interrupt
15+controller node. This property is inherited, so it may be specified in an
16+interrupt client node or in any of its parent nodes.
17+
18+2) Interrupt controller nodes
19+-----------------------------
20+
21+A device is marked as an interrupt controller with the "interrupt-controller"
22+property. This is a empty, boolean property. An additional "#interrupt-cells"
23+property defines the number of cells needed to specify a single interrupt.
24+
25+It is the responsibility of the interrupt controller's binding to define the
26+length and format of the interrupt specifier. The following two variants are
27+commonly used:
28+
29+ a) one cell
30+ -----------
31+ The #interrupt-cells property is set to 1 and the single cell defines the
32+ index of the interrupt within the controller.
33+
34+ Example:
35+
36+ vic: intc@10140000 {
37+ compatible = "arm,versatile-vic";
38+ interrupt-controller;
39+ #interrupt-cells = <1>;
40+ reg = <0x10140000 0x1000>;
41+ };
42+
43+ sic: intc@10003000 {
44+ compatible = "arm,versatile-sic";
45+ interrupt-controller;
46+ #interrupt-cells = <1>;
47+ reg = <0x10003000 0x1000>;
48+ interrupt-parent = <&vic>;
49+ interrupts = <31>; /* Cascaded to vic */
50+ };
51+
52+ b) two cells
53+ ------------
54+ The #interrupt-cells property is set to 2 and the first cell defines the
55+ index of the interrupt within the controller, while the second cell is used
56+ to specify any of the following flags:
57+ - bits[3:0] trigger type and level flags
58+ 1 = low-to-high edge triggered
59+ 2 = high-to-low edge triggered
60+ 4 = active high level-sensitive
61+ 8 = active low level-sensitive
62+
63+ Example:
64+
65+ i2c@7000c000 {
66+ gpioext: gpio-adnp@41 {
67+ compatible = "ad,gpio-adnp";
68+ reg = <0x41>;
69+
70+ interrupt-parent = <&gpio>;
71+ interrupts = <160 1>;
72+
73+ gpio-controller;
74+ #gpio-cells = <1>;
75+
76+ interrupt-controller;
77+ #interrupt-cells = <2>;
78+
79+ nr-gpios = <64>;
80+ };
81+
82+ sx8634@2b {
83+ compatible = "smtc,sx8634";
84+ reg = <0x2b>;
85+
86+ interrupt-parent = <&gpioext>;
87+ interrupts = <3 0x8>;
88+
89+ #address-cells = <1>;
90+ #size-cells = <0>;
91+
92+ threshold = <0x40>;
93+ sensitivity = <7>;
94+ };
95+ };
Documentation/devicetree/bindings/lpddr2/lpddr2-timings.txt+52−0
@@ -0,0 +1,52 @@
1+* AC timing parameters of LPDDR2(JESD209-2) memories for a given speed-bin
2+
3+Required properties:
4+- compatible : Should be "jedec,lpddr2-timings"
5+- min-freq : minimum DDR clock frequency for the speed-bin. Type is <u32>
6+- max-freq : maximum DDR clock frequency for the speed-bin. Type is <u32>
7+
8+Optional properties:
9+
10+The following properties represent AC timing parameters from the memory
11+data-sheet of the device for a given speed-bin. All these properties are
12+of type <u32> and the default unit is ps (pico seconds). Parameters with
13+a different unit have a suffix indicating the unit such as 'tRAS-max-ns'
14+- tRCD
15+- tWR
16+- tRAS-min
17+- tRRD
18+- tWTR
19+- tXP
20+- tRTP
21+- tDQSCK-max
22+- tFAW
23+- tZQCS
24+- tZQinit
25+- tRPab
26+- tZQCL
27+- tCKESR
28+- tRAS-max-ns
29+- tDQSCK-max-derated
30+
31+Example:
32+
33+timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 {
34+ compatible = "jedec,lpddr2-timings";
35+ min-freq = <10000000>;
36+ max-freq = <400000000>;
37+ tRPab = <21000>;
38+ tRCD = <18000>;
39+ tWR = <15000>;
40+ tRAS-min = <42000>;
41+ tRRD = <10000>;
42+ tWTR = <7500>;
43+ tXP = <7500>;
44+ tRTP = <7500>;
45+ tCKESR = <15000>;
46+ tDQSCK-max = <5500>;
47+ tFAW = <50000>;
48+ tZQCS = <90000>;
49+ tZQCL = <360000>;
50+ tZQinit = <1000000>;
51+ tRAS-max-ns = <70000>;
52+};
Documentation/devicetree/bindings/lpddr2/lpddr2.txt+102−0
@@ -0,0 +1,102 @@
1+* LPDDR2 SDRAM memories compliant to JEDEC JESD209-2
2+
3+Required properties:
4+- compatible : Should be one of - "jedec,lpddr2-nvm", "jedec,lpddr2-s2",
5+ "jedec,lpddr2-s4"
6+
7+ "ti,jedec-lpddr2-s2" should be listed if the memory part is LPDDR2-S2 type
8+
9+ "ti,jedec-lpddr2-s4" should be listed if the memory part is LPDDR2-S4 type
10+
11+ "ti,jedec-lpddr2-nvm" should be listed if the memory part is LPDDR2-NVM type
12+
13+- density : <u32> representing density in Mb (Mega bits)
14+
15+- io-width : <u32> representing bus width. Possible values are 8, 16, and 32
16+
17+Optional properties:
18+
19+The following optional properties represent the minimum value of some AC
20+timing parameters of the DDR device in terms of number of clock cycles.
21+These values shall be obtained from the device data-sheet.
22+- tRRD-min-tck
23+- tWTR-min-tck
24+- tXP-min-tck
25+- tRTP-min-tck
26+- tCKE-min-tck
27+- tRPab-min-tck
28+- tRCD-min-tck
29+- tWR-min-tck
30+- tRASmin-min-tck
31+- tCKESR-min-tck
32+- tFAW-min-tck
33+
34+Child nodes:
35+- The lpddr2 node may have one or more child nodes of type "lpddr2-timings".
36+ "lpddr2-timings" provides AC timing parameters of the device for
37+ a given speed-bin. The user may provide the timings for as many
38+ speed-bins as is required. Please see Documentation/devicetree/
39+ bindings/lpddr2/lpddr2-timings.txt for more information on "lpddr2-timings"
40+
41+Example:
42+
43+elpida_ECB240ABACN : lpddr2 {
44+ compatible = "Elpida,ECB240ABACN","jedec,lpddr2-s4";
45+ density = <2048>;
46+ io-width = <32>;
47+
48+ tRPab-min-tck = <3>;
49+ tRCD-min-tck = <3>;
50+ tWR-min-tck = <3>;
51+ tRASmin-min-tck = <3>;
52+ tRRD-min-tck = <2>;
53+ tWTR-min-tck = <2>;
54+ tXP-min-tck = <2>;
55+ tRTP-min-tck = <2>;
56+ tCKE-min-tck = <3>;
57+ tCKESR-min-tck = <3>;
58+ tFAW-min-tck = <8>;
59+
60+ timings_elpida_ECB240ABACN_400mhz: lpddr2-timings@0 {
61+ compatible = "jedec,lpddr2-timings";
62+ min-freq = <10000000>;
63+ max-freq = <400000000>;
64+ tRPab = <21000>;
65+ tRCD = <18000>;
66+ tWR = <15000>;
67+ tRAS-min = <42000>;
68+ tRRD = <10000>;
69+ tWTR = <7500>;
70+ tXP = <7500>;
71+ tRTP = <7500>;
72+ tCKESR = <15000>;
73+ tDQSCK-max = <5500>;
74+ tFAW = <50000>;
75+ tZQCS = <90000>;
76+ tZQCL = <360000>;
77+ tZQinit = <1000000>;
78+ tRAS-max-ns = <70000>;
79+ };
80+
81+ timings_elpida_ECB240ABACN_200mhz: lpddr2-timings@1 {
82+ compatible = "jedec,lpddr2-timings";
83+ min-freq = <10000000>;
84+ max-freq = <200000000>;
85+ tRPab = <21000>;
86+ tRCD = <18000>;
87+ tWR = <15000>;
88+ tRAS-min = <42000>;
89+ tRRD = <10000>;
90+ tWTR = <10000>;
91+ tXP = <7500>;
92+ tRTP = <7500>;
93+ tCKESR = <15000>;
94+ tDQSCK-max = <5500>;
95+ tFAW = <50000>;
96+ tZQCS = <90000>;
97+ tZQCL = <360000>;
98+ tZQinit = <1000000>;
99+ tRAS-max-ns = <70000>;
100+ };
101+
102+}
Documentation/devicetree/bindings/media/exynos5-gsc.txt+30−0
@@ -0,0 +1,30 @@
1+* Samsung Exynos5 G-Scaler device
2+
3+G-Scaler is used for scaling and color space conversion on EXYNOS5 SoCs.
4+
5+Required properties:
6+- compatible: should be "samsung,exynos5-gsc"
7+- reg: should contain G-Scaler physical address location and length.
8+- interrupts: should contain G-Scaler interrupt number
9+
10+Example:
11+
12+gsc_0: gsc@0x13e00000 {
13+ compatible = "samsung,exynos5-gsc";
14+ reg = <0x13e00000 0x1000>;
15+ interrupts = <0 85 0>;
16+};
17+
18+Aliases:
19+Each G-Scaler node should have a numbered alias in the aliases node,
20+in the form of gscN, N = 0...3. G-Scaler driver uses these aliases
21+to retrieve the device IDs using "of_alias_get_id()" call.
22+
23+Example:
24+
25+aliases {
26+ gsc0 =&gsc_0;
27+ gsc1 =&gsc_1;
28+ gsc2 =&gsc_2;
29+ gsc3 =&gsc_3;
30+};
Documentation/devicetree/bindings/memory-controllers/ti/emif.txt+55−0
@@ -0,0 +1,55 @@
1+* EMIF family of TI SDRAM controllers
2+
3+EMIF - External Memory Interface - is an SDRAM controller used in
4+TI SoCs. EMIF supports, based on the IP revision, one or more of
5+DDR2/DDR3/LPDDR2 protocols. This binding describes a given instance
6+of the EMIF IP and memory parts attached to it.
7+
8+Required properties:
9+- compatible : Should be of the form "ti,emif-<ip-rev>" where <ip-rev>
10+ is the IP revision of the specific EMIF instance.
11+
12+- phy-type : <u32> indicating the DDR phy type. Following are the
13+ allowed values
14+ <1> : Attila PHY
15+ <2> : Intelli PHY
16+
17+- device-handle : phandle to a "lpddr2" node representing the memory part
18+
19+- ti,hwmods : For TI hwmods processing and omap device creation
20+ the value shall be "emif<n>" where <n> is the number of the EMIF
21+ instance with base 1.
22+
23+Optional properties:
24+- cs1-used : Have this property if CS1 of this EMIF
25+ instance has a memory part attached to it. If there is a memory
26+ part attached to CS1, it should be the same type as the one on CS0,
27+ so there is no need to give the details of this memory part.
28+
29+- cal-resistor-per-cs : Have this property if the board has one
30+ calibration resistor per chip-select.
31+
32+- hw-caps-read-idle-ctrl: Have this property if the controller
33+ supports read idle window programming
34+
35+- hw-caps-dll-calib-ctrl: Have this property if the controller
36+ supports dll calibration control
37+
38+- hw-caps-ll-interface : Have this property if the controller
39+ has a low latency interface and corresponding interrupt events
40+
41+- hw-caps-temp-alert : Have this property if the controller
42+ has capability for generating SDRAM temperature alerts
43+
44+Example:
45+
46+emif1: emif@0x4c000000 {
47+ compatible = "ti,emif-4d";
48+ ti,hwmods = "emif2";
49+ phy-type = <1>;
50+ device-handle = <&elpida_ECB240ABACN>;
51+ cs1-used;
52+ hw-caps-read-idle-ctrl;
53+ hw-caps-ll-interface;
54+ hw-caps-temp-alert;
55+};
Documentation/devicetree/bindings/mfd/88pm860x.txt+85−0
@@ -0,0 +1,85 @@
1+* Marvell 88PM860x Power Management IC
2+
3+Required parent device properties:
4+- compatible : "marvell,88pm860x"
5+- reg : the I2C slave address for the 88pm860x chip
6+- interrupts : IRQ line for the 88pm860x chip
7+- interrupt-controller: describes the 88pm860x as an interrupt controller (has its own domain)
8+- #interrupt-cells : should be 1.
9+ - The cell is the 88pm860x local IRQ number
10+
11+Optional parent device properties:
12+- marvell,88pm860x-irq-read-clr: inicates whether interrupt status is cleared by read
13+- marvell,88pm860x-slave-addr: 88pm860x are two chips solution. <reg> stores the I2C address
14+ of one chip, and this property stores the I2C address of
15+ another chip.
16+
17+88pm860x consists of a large and varied group of sub-devices:
18+
19+Device Supply Names Description
20+------ ------------ -----------
21+88pm860x-onkey : : On key
22+88pm860x-rtc : : RTC
23+88pm8607 : : Regulators
24+88pm860x-backlight : : Backlight
25+88pm860x-led : : Led
26+88pm860x-touch : : Touchscreen
27+
28+Example:
29+
30+ pmic: 88pm860x@34 {
31+ compatible = "marvell,88pm860x";
32+ reg = <0x34>;
33+ interrupts = <4>;
34+ interrupt-parent = <&intc>;
35+ interrupt-controller;
36+ #interrupt-cells = <1>;
37+
38+ marvell,88pm860x-irq-read-clr;
39+ marvell,88pm860x-slave-addr = <0x11>;
40+
41+ regulators {
42+ BUCK1 {
43+ regulator-min-microvolt = <1000000>;
44+ regulator-max-microvolt = <1500000>;
45+ regulator-boot-on;
46+ regulator-always-on;
47+ };
48+ LDO1 {
49+ regulator-min-microvolt = <1200000>;
50+ regulator-max-microvolt = <2800000>;
51+ regulator-boot-on;
52+ regulator-always-on;
53+ };
54+ };
55+ rtc {
56+ marvell,88pm860x-vrtc = <1>;
57+ };
58+ touch {
59+ marvell,88pm860x-gpadc-prebias = <1>;
60+ marvell,88pm860x-gpadc-slot-cycle = <1>;
61+ marvell,88pm860x-tsi-prebias = <6>;
62+ marvell,88pm860x-pen-prebias = <16>;
63+ marvell,88pm860x-pen-prechg = <2>;
64+ marvell,88pm860x-resistor-X = <300>;
65+ };
66+ backlights {
67+ backlight-0 {
68+ marvell,88pm860x-iset = <4>;
69+ marvell,88pm860x-pwm = <3>;
70+ };
71+ backlight-2 {
72+ };
73+ };
74+ leds {
75+ led0-red {
76+ marvell,88pm860x-iset = <12>;
77+ };
78+ led0-green {
79+ marvell,88pm860x-iset = <12>;
80+ };
81+ led0-blue {
82+ marvell,88pm860x-iset = <12>;
83+ };
84+ };
85+ };
Documentation/devicetree/bindings/mfd/ab8500.txt+15−0
@@ -23,6 +23,7 @@ Device IRQ Names Supply Names Description · 22 unmodified lines
2323 ab8500-bm : : : Battery Manager
2424 ab8500-btemp : : : Battery Temperature
2525 ab8500-charger : : : Battery Charger
26+ab8500-codec : : : Audio Codec
2627 ab8500-fg : : : Fuel Gauge
2728 ab8500-gpadc : HW_CONV_END : vddadc : Analogue to Digital Converter
2829 SW_CONV_END : :
@@ -52,6 +53,14 @@ Optional child device properties: · 23 unmodified lines
5253 supplied in the interrupts property
5354 - <supply_name>-supply : contains a phandle to the regulator supply node in Device Tree
5455
56+Non-standard child device properties:
57+ - Audio CODEC:
58+ - stericsson,amic[1|2]-type-single-ended : Single-ended Analoge Mic (default: differential)
59+ - stericsson,amic1a-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
60+ - stericsson,amic1b-bias-vamic2 : Analoge Mic wishes to use a non-standard Vamic
61+ - stericsson,amic2-bias-vamic1 : Analoge Mic wishes to use a non-standard Vamic
62+ - stericsson,earpeice-cmv : Earpeice voltage (only: 950 | 1100 | 1270 | 1580)
63+
5564 ab8500@5 {
5665 compatible = "stericsson,ab8500";
5766 reg = <5>; /* mailbox 5 is i2c */
@@ -110,6 +119,12 @@ ab8500@5 { · 52 unmodified lines
110119 compatible = "stericsson,ab8500-pwm";
111120 };
112121
122+ codec: ab8500-codec {
123+ compatible = "stericsson,ab8500-codec";
124+
125+ stericsson,earpeice-cmv = <950>; /* Units in mV. */
126+ };
127+
113128 ab8500-regulators {
114129 compatible = "stericsson,ab8500-regulator";
115130
Documentation/devicetree/bindings/mfd/syscon.txt+20−0
@@ -0,0 +1,20 @@
1+* System Controller Registers R/W driver
2+
3+System controller node represents a register region containing a set
4+of miscellaneous registers. The registers are not cohesive enough to
5+represent as any specific type of device. The typical use-case is for
6+some other node's driver, or platform-specific code, to acquire a
7+reference to the syscon node (e.g. by phandle, node path, or search
8+using a specific compatible value), interrogate the node (or associated
9+OS driver) to determine the location of the registers, and access the
10+registers directly.
11+
12+Required properties:
13+- compatible: Should contain "syscon".
14+- reg: the register region can be accessed from syscon
15+
16+Examples:
17+gpr: iomuxc-gpr@020e0000 {
18+ compatible = "fsl,imx6q-iomuxc-gpr", "syscon";
19+ reg = <0x020e0000 0x38>;
20+};
Documentation/devicetree/bindings/mfd/tps65910.txt+4−0
@@ -59,6 +59,8 @@ Optional properties: · 58 unmodified lines
5959 in TPS6591X datasheet)
6060 - ti,en-gpio-sleep: enable sleep control for gpios
6161 There should be 9 entries here, one for each gpio.
62+- ti,system-power-controller: Telling whether or not this pmic is controlling
63+ the system power.
6264
6365 Regulator Optional properties:
6466 - ti,regulator-ext-sleep-control: enable external sleep
@@ -79,6 +81,8 @@ Example: · 14 unmodified lines
7981 #interrupt-cells = <2>;
8082 interrupt-controller;
8183
84+ ti,system-power-controller;
85+
8286 ti,vmbch-threshold = 0;
8387 ti,vmbch2-threshold = 0;
8488 ti,en-ck32k-xtal;
Documentation/devicetree/bindings/mfd/twl4030-audio.txt+46−0
@@ -0,0 +1,46 @@
1+Texas Instruments TWL family (twl4030) audio module
2+
3+The audio module inside the TWL family consist of an audio codec and a vibra
4+driver.
5+
6+Required properties:
7+- compatible : must be "ti,twl4030-audio"
8+
9+Optional properties, nodes:
10+
11+Audio functionality:
12+- codec { }: Need to be present if the audio functionality is used. Within this
13+ section the following options can be used:
14+- ti,digimic_delay: Delay need after enabling the digimic to reduce artifacts
15+ from the start of the recorded sample (in ms)
16+-ti,ramp_delay_value: HS ramp delay configuration to reduce pop noise
17+-ti,hs_extmute: Use external mute for HS pop reduction
18+-ti,hs_extmute_gpio: Use external GPIO to control the external mute
19+-ti,offset_cncl_path: Offset cancellation path selection, refer to TRM for the
20+ valid values.
21+
22+Vibra functionality
23+- ti,enable-vibra: Need to be set to <1> if the vibra functionality is used. if
24+ missing or it is 0, the vibra functionality is disabled.
25+
26+Example:
27+&i2c1 {
28+ clock-frequency = <2600000>;
29+
30+ twl: twl@48 {
31+ reg = <0x48>;
32+ interrupts = <7>; /* SYS_NIRQ cascaded to intc */
33+ interrupt-parent = <&intc>;
34+
35+ twl_audio: audio {
36+ compatible = "ti,twl4030-audio";
37+
38+ ti,enable-vibra = <1>;
39+
40+ codec {
41+ ti,ramp_delay_value = <3>;
42+ };
43+
44+ };
45+ };
46+};
Documentation/devicetree/bindings/mfd/twl6040.txt+6−3
@@ -1,7 +1,7 @@
11 Texas Instruments TWL6040 family
22
3−The TWL6040s are 8-channel high quality low-power audio codecs providing audio
4−and vibra functionality on OMAP4+ platforms.
3+The TWL6040s are 8-channel high quality low-power audio codecs providing audio,
4+vibra and GPO functionality on OMAP4+ platforms.
55 They are connected ot the host processor via i2c for commands, McPDM for audio
66 data and commands.
77
@@ -10,6 +10,8 @@ Required properties: · 2 unmodified lines
1010 - reg: must be 0x4b for i2c address
1111 - interrupts: twl6040 has one interrupt line connecteded to the main SoC
1212 - interrupt-parent: The parent interrupt controller
13+- gpio-controller:
14+- #gpio-cells = <1>: twl6040 provides GPO lines.
1315 - twl6040,audpwron-gpio: Power on GPIO line for the twl6040
1416
1517 - vio-supply: Regulator for the twl6040 VIO supply
@@ -37,7 +39,6 @@ Example: · 21 unmodified lines
3739 &i2c1 {
3840 twl6040: twl@4b {
3941 compatible = "ti,twl6040";
40− reg = <0x4b>;
4142
4243 interrupts = <0 119 4>;
4344 interrupt-parent = <&gic>;
@@ -60,3 +61,5 @@ Example: · 16 unmodified lines
6061 };
6162 };
6263 };
64+
65+/include/ "twl6040.dtsi"
Documentation/devicetree/bindings/misc/ifm-csi.txt+41−0
@@ -0,0 +1,41 @@
1+IFM camera sensor interface on mpc5200 LocalPlus bus
2+
3+Required properties:
4+- compatible: "ifm,o2d-csi"
5+- reg: specifies sensor chip select number and associated address range
6+- interrupts: external interrupt line number and interrupt sense mode
7+ of the interrupt line signaling frame valid events
8+- gpios: three gpio-specifiers for "capture", "reset" and "master enable"
9+ GPIOs (strictly in this order).
10+- ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
11+ clock generator. This node is usually a general purpose timer controller.
12+- ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
13+- ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
14+- ifm,csi-wait-cycles: sensor bus wait cycles
15+
16+Optional properties:
17+- ifm,csi-byte-swap: if this property is present, the byte swapping on
18+ the bus will be enabled.
19+
20+Example:
21+
22+ csi@3,0 {
23+ compatible = "ifm,o2d-csi";
24+ reg = <3 0 0x00100000>; /* CS 3, 1 MiB range */
25+ interrupts = <1 1 2>; /* IRQ1, edge falling */
26+
27+ ifm,csi-clk-handle = <&timer7>;
28+ gpios = <&gpio_simple 23 0 /* image_capture */
29+ &gpio_simple 26 0 /* image_reset */
30+ &gpio_simple 29 0>; /* image_master_en */
31+
32+ ifm,csi-addr-bus-width = <24>;
33+ ifm,csi-data-bus-width = <8>;
34+ ifm,csi-wait-cycles = <0>;
35+ };
36+
37+The base address of the used chip select is specified in the
38+ranges property of the parent localbus node, for example:
39+
40+ ranges = <0 0 0xff000000 0x01000000
41+ 3 0 0xe3000000 0x00100000>;
Documentation/devicetree/bindings/mmc/atmel-hsmci.txt+68−0
@@ -0,0 +1,68 @@
1+* Atmel High Speed MultiMedia Card Interface
2+
3+This controller on atmel products provides an interface for MMC, SD and SDIO
4+types of memory cards.
5+
6+This file documents differences between the core properties described
7+by mmc.txt and the properties used by the atmel-mci driver.
8+
9+1) MCI node
10+
11+Required properties:
12+- compatible: should be "atmel,hsmci"
13+- #address-cells: should be one. The cell is the slot id.
14+- #size-cells: should be zero.
15+- at least one slot node
16+
17+The node contains child nodes for each slot that the platform uses
18+
19+Example MCI node:
20+
21+mmc0: mmc@f0008000 {
22+ compatible = "atmel,hsmci";
23+ reg = <0xf0008000 0x600>;
24+ interrupts = <12 4>;
25+ #address-cells = <1>;
26+ #size-cells = <0>;
27+
28+ [ child node definitions...]
29+};
30+
31+2) slot nodes
32+
33+Required properties:
34+- reg: should contain the slot id.
35+- bus-width: number of data lines connected to the controller
36+
37+Optional properties:
38+- cd-gpios: specify GPIOs for card detection
39+- cd-inverted: invert the value of external card detect gpio line
40+- wp-gpios: specify GPIOs for write protection
41+
42+Example slot node:
43+
44+slot@0 {
45+ reg = <0>;
46+ bus-width = <4>;
47+ cd-gpios = <&pioD 15 0>
48+ cd-inverted;
49+};
50+
51+Example full MCI node:
52+mmc0: mmc@f0008000 {
53+ compatible = "atmel,hsmci";
54+ reg = <0xf0008000 0x600>;
55+ interrupts = <12 4>;
56+ #address-cells = <1>;
57+ #size-cells = <0>;
58+ slot@0 {
59+ reg = <0>;
60+ bus-width = <4>;
61+ cd-gpios = <&pioD 15 0>
62+ cd-inverted;
63+ };
64+ slot@1 {
65+ reg = <1>;
66+ bus-width = <4>;
67+ };
68+};
Documentation/devicetree/bindings/mmc/exynos-dw-mshc.txt+87−0
@@ -0,0 +1,87 @@
1+* Samsung Exynos specific extensions to the Synopsis Designware Mobile
2+ Storage Host Controller
3+
4+The Synopsis designware mobile storage host controller is used to interface
5+a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
6+differences between the core Synopsis dw mshc controller properties described
7+by synposis-dw-mshc.txt and the properties used by the Samsung Exynos specific
8+extensions to the Synopsis Designware Mobile Storage Host Controller.
9+
10+Required Properties:
11+
12+* compatible: should be
13+ - "samsung,exynos4210-dw-mshc": for controllers with Samsung Exynos4210
14+ specific extentions.
15+ - "samsung,exynos4412-dw-mshc": for controllers with Samsung Exynos4412
16+ specific extentions.
17+ - "samsung,exynos5250-dw-mshc": for controllers with Samsung Exynos5250
18+ specific extentions.
19+
20+* samsung,dw-mshc-ciu-div: Specifies the divider value for the card interface
21+ unit (ciu) clock. This property is applicable only for Exynos5 SoC's and
22+ ignored for Exynos4 SoC's. The valid range of divider value is 0 to 7.
23+
24+* samsung,dw-mshc-sdr-timing: Specifies the value of CIU clock phase shift value
25+ in transmit mode and CIU clock phase shift value in receive mode for single
26+ data rate mode operation. Refer notes below for the order of the cells and the
27+ valid values.
28+
29+* samsung,dw-mshc-ddr-timing: Specifies the value of CUI clock phase shift value
30+ in transmit mode and CIU clock phase shift value in receive mode for double
31+ data rate mode operation. Refer notes below for the order of the cells and the
32+ valid values.
33+
34+ Notes for the sdr-timing and ddr-timing values:
35+
36+ The order of the cells should be
37+ - First Cell: CIU clock phase shift value for tx mode.
38+ - Second Cell: CIU clock phase shift value for rx mode.
39+
40+ Valid values for SDR and DDR CIU clock timing for Exynos5250:
41+ - valid value for tx phase shift and rx phase shift is 0 to 7.
42+ - when CIU clock divider value is set to 3, all possible 8 phase shift
43+ values can be used.
44+ - if CIU clock divider value is 0 (that is divide by 1), both tx and rx
45+ phase shift clocks should be 0.
46+
47+Required properties for a slot:
48+
49+* gpios: specifies a list of gpios used for command, clock and data bus. The
50+ first gpio is the command line and the second gpio is the clock line. The
51+ rest of the gpios (depending on the bus-width property) are the data lines in
52+ no particular order. The format of the gpio specifier depends on the gpio
53+ controller.
54+
55+Example:
56+
57+ The MSHC controller node can be split into two portions, SoC specific and
58+ board specific portions as listed below.
59+
60+ dwmmc0@12200000 {
61+ compatible = "samsung,exynos5250-dw-mshc";
62+ reg = <0x12200000 0x1000>;
63+ interrupts = <0 75 0>;
64+ #address-cells = <1>;
65+ #size-cells = <0>;
66+ };
67+
68+ dwmmc0@12200000 {
69+ num-slots = <1>;
70+ supports-highspeed;
71+ broken-cd;
72+ fifo-depth = <0x80>;
73+ card-detect-delay = <200>;
74+ samsung,dw-mshc-ciu-div = <3>;
75+ samsung,dw-mshc-sdr-timing = <2 3>;
76+ samsung,dw-mshc-ddr-timing = <1 2>;
77+
78+ slot@0 {
79+ reg = <0>;
80+ bus-width = <8>;
81+ gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
82+ <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
83+ <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
84+ <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
85+ <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
86+ };
87+ };
Documentation/devicetree/bindings/mmc/mmc.txt+7−2
@@ -9,12 +9,17 @@ Interpreted by the OF core: · 8 unmodified lines
99 Required properties:
1010 - bus-width: Number of data lines, can be <1>, <4>, or <8>
1111
12+Card detection:
13+If no property below is supplied, standard SDHCI card detect is used.
14+Only one of the properties in this section should be supplied:
15+ - broken-cd: There is no card detection available; polling must be used.
16+ - cd-gpios: Specify GPIOs for card detection, see gpio binding
17+ - non-removable: non-removable slot (like eMMC); assume always present.
18+
1219 Optional properties:
13−- cd-gpios: Specify GPIOs for card detection, see gpio binding
1420 - wp-gpios: Specify GPIOs for write protection, see gpio binding
1521 - cd-inverted: when present, polarity on the cd gpio line is inverted
1622 - wp-inverted: when present, polarity on the wp gpio line is inverted
17−- non-removable: non-removable slot (like eMMC)
1823 - max-frequency: maximum operating clock frequency
1924
2025 Example:
Documentation/devicetree/bindings/mmc/pxa-mmc.txt+25−0
@@ -0,0 +1,25 @@
1+* PXA MMC drivers
2+
3+Driver bindings for the PXA MCI (MMC/SDIO) interfaces
4+
5+Required properties:
6+- compatible: Should be "marvell,pxa-mmc".
7+- vmmc-supply: A regulator for VMMC
8+
9+Optional properties:
10+- marvell,detect-delay-ms: sets the detection delay timeout in ms.
11+- marvell,gpio-power: GPIO spec for the card power enable pin
12+
13+This file documents differences between the core properties in mmc.txt
14+and the properties used by the pxa-mmc driver.
15+
16+Examples:
17+
18+mmc0: mmc@41100000 {
19+ compatible = "marvell,pxa-mmc";
20+ reg = <0x41100000 0x1000>;
21+ interrupts = <23>;
22+ cd-gpios = <&gpio 23 0>;
23+ wp-gpios = <&gpio 24 0>;
24+};
25+
Documentation/devicetree/bindings/mmc/samsung-sdhci.txt+53−0
@@ -0,0 +1,53 @@
1+* Samsung's SDHCI Controller device tree bindings
2+
3+Samsung's SDHCI controller is used as a connectivity interface with external
4+MMC, SD and eMMC storage mediums. This file documents differences between the
5+core mmc properties described by mmc.txt and the properties used by the
6+Samsung implmentation of the SDHCI controller.
7+
8+Note: The mmc core bindings documentation states that if none of the core
9+card-detect bindings are used, then the standard sdhci card detect mechanism
10+is used. The Samsung's SDHCI controller bindings extends this as listed below.
11+
12+[A] The property "samsung,cd-pinmux-gpio" can be used as stated in the
13+ "Optional Board Specific Properties" section below.
14+
15+[B] If core card-detect bindings and "samsung,cd-pinmux-gpio" property
16+ is not specified, it is assumed that there is no card detection
17+ mechanism used.
18+
19+Required SoC Specific Properties:
20+- compatible: should be one of the following
21+ - "samsung,s3c6410-sdhci": For controllers compatible with s3c6410 sdhci
22+ controller.
23+ - "samsung,exynos4210-sdhci": For controllers compatible with Exynos4 sdhci
24+ controller.
25+
26+Required Board Specific Properties:
27+- gpios: Should specify the gpios used for clock, command and data lines. The
28+ gpio specifier format depends on the gpio controller.
29+
30+Optional Board Specific Properties:
31+- samsung,cd-pinmux-gpio: Specifies the card detect line that is routed
32+ through a pinmux to the card-detect pin of the card slot. This property
33+ should be used only if none of the mmc core card-detect properties are
34+ used.
35+
36+Example:
37+ sdhci@12530000 {
38+ compatible = "samsung,exynos4210-sdhci";
39+ reg = <0x12530000 0x100>;
40+ interrupts = <0 75 0>;
41+ bus-width = <4>;
42+ cd-gpios = <&gpk2 2 2 3 3>;
43+ gpios = <&gpk2 0 2 0 3>, /* clock line */
44+ <&gpk2 1 2 0 3>, /* command line */
45+ <&gpk2 3 2 3 3>, /* data line 0 */
46+ <&gpk2 4 2 3 3>, /* data line 1 */
47+ <&gpk2 5 2 3 3>, /* data line 2 */
48+ <&gpk2 6 2 3 3>; /* data line 3 */
49+ };
50+
51+ Note: This example shows both SoC specific and board specific properties
52+ in a single device node. The properties can be actually be seperated
53+ into SoC specific node and board specific node.
Documentation/devicetree/bindings/mmc/sdhci-dove.txt+14−0
@@ -0,0 +1,14 @@
1+* Marvell sdhci-dove controller
2+
3+This file documents differences between the core properties in mmc.txt
4+and the properties used by the sdhci-pxav2 and sdhci-pxav3 drivers.
5+
6+- compatible: Should be "marvell,dove-sdhci".
7+
8+Example:
9+
10+sdio0: sdio@92000 {
11+ compatible = "marvell,dove-sdhci";
12+ reg = <0x92000 0x100>;
13+ interrupts = <35>;
14+};
Documentation/devicetree/bindings/mmc/sdhci-spear.txt+18−0
@@ -0,0 +1,18 @@
1+* SPEAr SDHCI Controller
2+
3+This file documents differences between the core properties in mmc.txt
4+and the properties used by the sdhci-spear driver.
5+
6+Required properties:
7+- compatible: "st,spear300-sdhci"
8+
9+Optional properties:
10+- cd-gpios: card detect gpio, with zero flags.
11+
12+Example:
13+
14+ sdhci@fc000000 {
15+ compatible = "st,spear300-sdhci";
16+ reg = <0xfc000000 0x1000>;
17+ cd-gpios = <&gpio0 6 0>;
18+ };
Documentation/devicetree/bindings/mmc/synposis-dw-mshc.txt+79−0
@@ -0,0 +1,79 @@
1+* Synopsis Designware Mobile Storage Host Controller
2+
3+The Synopsis designware mobile storage host controller is used to interface
4+a SoC with storage medium such as eMMC or SD/MMC cards. This file documents
5+differences between the core mmc properties described by mmc.txt and the
6+properties used by the Synopsis Designware Mobile Storage Host Controller.
7+
8+Required Properties:
9+
10+* compatible: should be
11+ - snps,dw-mshc: for controllers compliant with synopsis dw-mshc.
12+* #address-cells: should be 1.
13+* #size-cells: should be 0.
14+
15+# Slots: The slot specific information are contained within child-nodes with
16+ each child-node representing a supported slot. There should be atleast one
17+ child node representing a card slot. The name of the child node representing
18+ the slot is recommended to be slot@n where n is the unique number of the slot
19+ connnected to the controller. The following are optional properties which
20+ can be included in the slot child node.
21+
22+ * reg: specifies the physical slot number. The valid values of this
23+ property is 0 to (num-slots -1), where num-slots is the value
24+ specified by the num-slots property.
25+
26+ * bus-width: as documented in mmc core bindings.
27+
28+ * wp-gpios: specifies the write protect gpio line. The format of the
29+ gpio specifier depends on the gpio controller. If the write-protect
30+ line is not available, this property is optional.
31+
32+Optional properties:
33+
34+* num-slots: specifies the number of slots supported by the controller.
35+ The number of physical slots actually used could be equal or less than the
36+ value specified by num-slots. If this property is not specified, the value
37+ of num-slot property is assumed to be 1.
38+
39+* fifo-depth: The maximum size of the tx/rx fifo's. If this property is not
40+ specified, the default value of the fifo size is determined from the
41+ controller registers.
42+
43+* card-detect-delay: Delay in milli-seconds before detecting card after card
44+ insert event. The default value is 0.
45+
46+* supports-highspeed: Enables support for high speed cards (upto 50MHz)
47+
48+* broken-cd: as documented in mmc core bindings.
49+
50+Aliases:
51+
52+- All the MSHC controller nodes should be represented in the aliases node using
53+ the following format 'mshc{n}' where n is a unique number for the alias.
54+
55+Example:
56+
57+The MSHC controller node can be split into two portions, SoC specific and
58+board specific portions as listed below.
59+
60+ dwmmc0@12200000 {
61+ compatible = "snps,dw-mshc";
62+ reg = <0x12200000 0x1000>;
63+ interrupts = <0 75 0>;
64+ #address-cells = <1>;
65+ #size-cells = <0>;
66+ };
67+
68+ dwmmc0@12200000 {
69+ num-slots = <1>;
70+ supports-highspeed;
71+ broken-cd;
72+ fifo-depth = <0x80>;
73+ card-detect-delay = <200>;
74+
75+ slot@0 {
76+ reg = <0>;
77+ bus-width = <8>;
78+ };
79+ };
Documentation/devicetree/bindings/mtd/atmel-nand.txt+39−1
@@ -3,7 +3,9 @@ Atmel NAND flash · 2 unmodified lines
33 Required properties:
44 - compatible : "atmel,at91rm9200-nand".
55 - reg : should specify localbus address and size used for the chip,
6− and if availlable the ECC.
6+ and hardware ECC controller if available.
7+ If the hardware ECC is PMECC, it should contain address and size for
8+ PMECC, PMECC Error Location controller and ROM which has lookup tables.
79 - atmel,nand-addr-offset : offset for the address latch.
810 - atmel,nand-cmd-offset : offset for the command latch.
911 - #address-cells, #size-cells : Must be present if the device has sub-nodes
@@ -16,6 +18,15 @@ Optional properties: · 6 unmodified lines
1618 - nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default.
1719 Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first",
1820 "soft_bch".
21+- atmel,has-pmecc : boolean to enable Programmable Multibit ECC hardware.
22+ Only supported by at91sam9x5 or later sam9 product.
23+- atmel,pmecc-cap : error correct capability for Programmable Multibit ECC
24+ Controller. Supported values are: 2, 4, 8, 12, 24.
25+- atmel,pmecc-sector-size : sector size for ECC computation. Supported values
26+ are: 512, 1024.
27+- atmel,pmecc-lookup-table-offset : includes two offsets of lookup table in ROM
28+ for different sector size. First one is for sector size 512, the next is for
29+ sector size 1024.
1930 - nand-bus-width : 8 or 16 bus width if not present 8
2031 - nand-on-flash-bbt: boolean to enable on flash bbt option if not present false
2132
@@ -39,3 +50,30 @@ nand0: nand@40000000,0 { · 17 unmodified lines
3950 ...
4051 };
4152 };
53+
54+/* for PMECC supported chips */
55+nand0: nand@40000000 {
56+ compatible = "atmel,at91rm9200-nand";
57+ #address-cells = <1>;
58+ #size-cells = <1>;
59+ reg = < 0x40000000 0x10000000 /* bus addr & size */
60+ 0xffffe000 0x00000600 /* PMECC addr & size */
61+ 0xffffe600 0x00000200 /* PMECC ERRLOC addr & size */
62+ 0x00100000 0x00100000 /* ROM addr & size */
63+ >;
64+ atmel,nand-addr-offset = <21>; /* ale */
65+ atmel,nand-cmd-offset = <22>; /* cle */
66+ nand-on-flash-bbt;
67+ nand-ecc-mode = "hw";
68+ atmel,has-pmecc; /* enable PMECC */
69+ atmel,pmecc-cap = <2>;
70+ atmel,pmecc-sector-size = <512>;
71+ atmel,pmecc-lookup-table-offset = <0x8000 0x10000>;
72+ gpios = <&pioD 5 0 /* rdy */
73+ &pioD 4 0 /* nce */
74+ 0 /* cd */
75+ >;
76+ partition@0 {
77+ ...
78+ };
79+};
Documentation/devicetree/bindings/mtd/gpmi-nand.txt+4−0
@@ -12,6 +12,10 @@ Required properties: · 11 unmodified lines
1212 - interrupt-names : The interrupt names "gpmi-dma", "bch";
1313 - fsl,gpmi-dma-channel : Should contain the dma channel it uses.
1414
15+Optional properties:
16+ - nand-on-flash-bbt: boolean to enable on flash bbt option if not
17+ present false
18+
1519 The device tree may optionally contain sub-nodes describing partitions of the
1620 address space. See partition.txt for more detail.
1721
Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt+50−0
@@ -0,0 +1,50 @@
1+NXP LPC32xx SoC NAND MLC controller
2+
3+Required properties:
4+- compatible: "nxp,lpc3220-mlc"
5+- reg: Address and size of the controller
6+- interrupts: The NAND interrupt specification
7+- gpios: GPIO specification for NAND write protect
8+
9+The following required properties are very controller specific. See the LPC32xx
10+User Manual 7.5.14 MLC NAND Timing Register (the values here are specified in
11+Hz, to make them independent of actual clock speed and to provide for good
12+accuracy:)
13+- nxp,tcea_delay: TCEA_DELAY
14+- nxp,busy_delay: BUSY_DELAY
15+- nxp,nand_ta: NAND_TA
16+- nxp,rd_high: RD_HIGH
17+- nxp,rd_low: RD_LOW
18+- nxp,wr_high: WR_HIGH
19+- nxp,wr_low: WR_LOW
20+
21+Optional subnodes:
22+- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
23+
24+Example:
25+
26+ mlc: flash@200A8000 {
27+ compatible = "nxp,lpc3220-mlc";
28+ reg = <0x200A8000 0x11000>;
29+ interrupts = <11 0>;
30+ #address-cells = <1>;
31+ #size-cells = <1>;
32+
33+ nxp,tcea-delay = <333333333>;
34+ nxp,busy-delay = <10000000>;
35+ nxp,nand-ta = <18181818>;
36+ nxp,rd-high = <31250000>;
37+ nxp,rd-low = <45454545>;
38+ nxp,wr-high = <40000000>;
39+ nxp,wr-low = <83333333>;
40+ gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
41+
42+ mtd0@00000000 {
43+ label = "boot";
44+ reg = <0x00000000 0x00064000>;
45+ read-only;
46+ };
47+
48+ ...
49+
50+ };
Documentation/devicetree/bindings/mtd/lpc32xx-slc.txt+52−0
@@ -0,0 +1,52 @@
1+NXP LPC32xx SoC NAND SLC controller
2+
3+Required properties:
4+- compatible: "nxp,lpc3220-slc"
5+- reg: Address and size of the controller
6+- nand-on-flash-bbt: Use bad block table on flash
7+- gpios: GPIO specification for NAND write protect
8+
9+The following required properties are very controller specific. See the LPC32xx
10+User Manual:
11+- nxp,wdr-clks: Delay before Ready signal is tested on write (W_RDY)
12+- nxp,rdr-clks: Delay before Ready signal is tested on read (R_RDY)
13+(The following values are specified in Hz, to make them independent of actual
14+clock speed:)
15+- nxp,wwidth: Write pulse width (W_WIDTH)
16+- nxp,whold: Write hold time (W_HOLD)
17+- nxp,wsetup: Write setup time (W_SETUP)
18+- nxp,rwidth: Read pulse width (R_WIDTH)
19+- nxp,rhold: Read hold time (R_HOLD)
20+- nxp,rsetup: Read setup time (R_SETUP)
21+
22+Optional subnodes:
23+- Partitions, see Documentation/devicetree/bindings/mtd/partition.txt
24+
25+Example:
26+
27+ slc: flash@20020000 {
28+ compatible = "nxp,lpc3220-slc";
29+ reg = <0x20020000 0x1000>;
30+ #address-cells = <1>;
31+ #size-cells = <1>;
32+
33+ nxp,wdr-clks = <14>;
34+ nxp,wwidth = <40000000>;
35+ nxp,whold = <100000000>;
36+ nxp,wsetup = <100000000>;
37+ nxp,rdr-clks = <14>;
38+ nxp,rwidth = <40000000>;
39+ nxp,rhold = <66666666>;
40+ nxp,rsetup = <100000000>;
41+ nand-on-flash-bbt;
42+ gpios = <&gpio 5 19 1>; /* GPO_P3 19, active low */
43+
44+ mtd0@00000000 {
45+ label = "phy3250-boot";
46+ reg = <0x00000000 0x00064000>;
47+ read-only;
48+ };
49+
50+ ...
51+
52+ };
Documentation/devicetree/bindings/mtd/mtd-physmap.txt+7−0
@@ -16,6 +16,13 @@ file systems on embedded devices. · 15 unmodified lines
1616 - #address-cells, #size-cells : Must be present if the device has
1717 sub-nodes representing partitions (see below). In this case
1818 both #address-cells and #size-cells must be equal to 1.
19+ - no-unaligned-direct-access: boolean to disable the default direct
20+ mapping of the flash.
21+ On some platforms (e.g. MPC5200) a direct 1:1 mapping may cause
22+ problems with JFFS2 usage, as the local bus (LPB) doesn't support
23+ unaligned accesses as implemented in the JFFS2 code via memcpy().
24+ By defining "no-unaligned-direct-access", the flash will not be
25+ exposed directly to the MTD users (e.g. JFFS2) any more.
1926
2027 For JEDEC compatible devices, the following additional properties
2128 are defined:
Documentation/devicetree/bindings/mtd/pxa3xx-nand.txt+31−0
@@ -0,0 +1,31 @@
1+PXA3xx NAND DT bindings
2+
3+Required properties:
4+
5+ - compatible: Should be "marvell,pxa3xx-nand"
6+ - reg: The register base for the controller
7+ - interrupts: The interrupt to map
8+ - #address-cells: Set to <1> if the node includes partitions
9+
10+Optional properties:
11+
12+ - marvell,nand-enable-arbiter: Set to enable the bus arbiter
13+ - marvell,nand-keep-config: Set to keep the NAND controller config as set
14+ by the bootloader
15+ - num-cs: Number of chipselect lines to usw
16+
17+Example:
18+
19+ nand0: nand@43100000 {
20+ compatible = "marvell,pxa3xx-nand";
21+ reg = <0x43100000 90>;
22+ interrupts = <45>;
23+ #address-cells = <1>;
24+
25+ marvell,nand-enable-arbiter;
26+ marvell,nand-keep-config;
27+ num-cs = <1>;
28+
29+ /* partitions (optional) */
30+ };
31+
Documentation/devicetree/bindings/net/calxeda-xgmac.txt+3−0
@@ -6,6 +6,9 @@ Required properties: · 5 unmodified lines
66 - interrupts : Should contain 3 xgmac interrupts. The 1st is main interrupt.
77 The 2nd is pwr mgt interrupt. The 3rd is low power state interrupt.
88
9+Optional properties:
10+- dma-coherent : Present if dma operations are coherent
11+
912 Example:
1013
1114 ethernet@fff50000 {
Documentation/devicetree/bindings/net/can/c_can.txt+49−0
@@ -0,0 +1,49 @@
1+Bosch C_CAN/D_CAN controller Device Tree Bindings
2+-------------------------------------------------
3+
4+Required properties:
5+- compatible : Should be "bosch,c_can" for C_CAN controllers and
6+ "bosch,d_can" for D_CAN controllers.
7+- reg : physical base address and size of the C_CAN/D_CAN
8+ registers map
9+- interrupts : property with a value describing the interrupt
10+ number
11+
12+Optional properties:
13+- ti,hwmods : Must be "d_can<n>" or "c_can<n>", n being the
14+ instance number
15+
16+Note: "ti,hwmods" field is used to fetch the base address and irq
17+resources from TI, omap hwmod data base during device registration.
18+Future plan is to migrate hwmod data base contents into device tree
19+blob so that, all the required data will be used from device tree dts
20+file.
21+
22+Example:
23+
24+Step1: SoC common .dtsi file
25+
26+ dcan1: d_can@481d0000 {
27+ compatible = "bosch,d_can";
28+ reg = <0x481d0000 0x2000>;
29+ interrupts = <55>;
30+ interrupt-parent = <&intc>;
31+ status = "disabled";
32+ };
33+
34+(or)
35+
36+ dcan1: d_can@481d0000 {
37+ compatible = "bosch,d_can";
38+ ti,hwmods = "d_can1";
39+ reg = <0x481d0000 0x2000>;
40+ interrupts = <55>;
41+ interrupt-parent = <&intc>;
42+ status = "disabled";
43+ };
44+
45+Step 2: board specific .dts file
46+
47+ &dcan1 {
48+ status = "okay";
49+ };
Documentation/devicetree/bindings/net/cpsw.txt+109−0
@@ -0,0 +1,109 @@
1+TI SoC Ethernet Switch Controller Device Tree Bindings
2+------------------------------------------------------
3+
4+Required properties:
5+- compatible : Should be "ti,cpsw"
6+- reg : physical base address and size of the cpsw
7+ registers map
8+- interrupts : property with a value describing the interrupt
9+ number
10+- interrupt-parent : The parent interrupt controller
11+- cpdma_channels : Specifies number of channels in CPDMA
12+- host_port_no : Specifies host port shift
13+- cpdma_reg_ofs : Specifies CPDMA submodule register offset
14+- cpdma_sram_ofs : Specifies CPDMA SRAM offset
15+- ale_reg_ofs : Specifies ALE submodule register offset
16+- ale_entries : Specifies No of entries ALE can hold
17+- host_port_reg_ofs : Specifies host port register offset
18+- hw_stats_reg_ofs : Specifies hardware statistics register offset
19+- bd_ram_ofs : Specifies internal desciptor RAM offset
20+- bd_ram_size : Specifies internal descriptor RAM size
21+- rx_descs : Specifies number of Rx descriptors
22+- mac_control : Specifies Default MAC control register content
23+ for the specific platform
24+- slaves : Specifies number for slaves
25+- slave_reg_ofs : Specifies slave register offset
26+- sliver_reg_ofs : Specifies slave sliver register offset
27+- phy_id : Specifies slave phy id
28+- mac-address : Specifies slave MAC address
29+
30+Optional properties:
31+- ti,hwmods : Must be "cpgmac0"
32+- no_bd_ram : Must be 0 or 1
33+
34+Note: "ti,hwmods" field is used to fetch the base address and irq
35+resources from TI, omap hwmod data base during device registration.
36+Future plan is to migrate hwmod data base contents into device tree
37+blob so that, all the required data will be used from device tree dts
38+file.
39+
40+Examples:
41+
42+ mac: ethernet@4A100000 {
43+ compatible = "ti,cpsw";
44+ reg = <0x4A100000 0x1000>;
45+ interrupts = <55 0x4>;
46+ interrupt-parent = <&intc>;
47+ cpdma_channels = <8>;
48+ host_port_no = <0>;
49+ cpdma_reg_ofs = <0x800>;
50+ cpdma_sram_ofs = <0xa00>;
51+ ale_reg_ofs = <0xd00>;
52+ ale_entries = <1024>;
53+ host_port_reg_ofs = <0x108>;
54+ hw_stats_reg_ofs = <0x900>;
55+ bd_ram_ofs = <0x2000>;
56+ bd_ram_size = <0x2000>;
57+ no_bd_ram = <0>;
58+ rx_descs = <64>;
59+ mac_control = <0x20>;
60+ slaves = <2>;
61+ cpsw_emac0: slave@0 {
62+ slave_reg_ofs = <0x208>;
63+ sliver_reg_ofs = <0xd80>;
64+ phy_id = "davinci_mdio.16:00";
65+ /* Filled in by U-Boot */
66+ mac-address = [ 00 00 00 00 00 00 ];
67+ };
68+ cpsw_emac1: slave@1 {
69+ slave_reg_ofs = <0x308>;
70+ sliver_reg_ofs = <0xdc0>;
71+ phy_id = "davinci_mdio.16:01";
72+ /* Filled in by U-Boot */
73+ mac-address = [ 00 00 00 00 00 00 ];
74+ };
75+ };
76+
77+(or)
78+ mac: ethernet@4A100000 {
79+ compatible = "ti,cpsw";
80+ ti,hwmods = "cpgmac0";
81+ cpdma_channels = <8>;
82+ host_port_no = <0>;
83+ cpdma_reg_ofs = <0x800>;
84+ cpdma_sram_ofs = <0xa00>;
85+ ale_reg_ofs = <0xd00>;
86+ ale_entries = <1024>;
87+ host_port_reg_ofs = <0x108>;
88+ hw_stats_reg_ofs = <0x900>;
89+ bd_ram_ofs = <0x2000>;
90+ bd_ram_size = <0x2000>;
91+ no_bd_ram = <0>;
92+ rx_descs = <64>;
93+ mac_control = <0x20>;
94+ slaves = <2>;
95+ cpsw_emac0: slave@0 {
96+ slave_reg_ofs = <0x208>;
97+ sliver_reg_ofs = <0xd80>;
98+ phy_id = "davinci_mdio.16:00";
99+ /* Filled in by U-Boot */
100+ mac-address = [ 00 00 00 00 00 00 ];
101+ };
102+ cpsw_emac1: slave@1 {
103+ slave_reg_ofs = <0x308>;
104+ sliver_reg_ofs = <0xdc0>;
105+ phy_id = "davinci_mdio.16:01";
106+ /* Filled in by U-Boot */
107+ mac-address = [ 00 00 00 00 00 00 ];
108+ };
109+ };
Documentation/devicetree/bindings/net/davinci-mdio.txt+33−0
@@ -0,0 +1,33 @@
1+TI SoC Davinci MDIO Controller Device Tree Bindings
2+---------------------------------------------------
3+
4+Required properties:
5+- compatible : Should be "ti,davinci_mdio"
6+- reg : physical base address and size of the davinci mdio
7+ registers map
8+- bus_freq : Mdio Bus frequency
9+
10+Optional properties:
11+- ti,hwmods : Must be "davinci_mdio"
12+
13+Note: "ti,hwmods" field is used to fetch the base address and irq
14+resources from TI, omap hwmod data base during device registration.
15+Future plan is to migrate hwmod data base contents into device tree
16+blob so that, all the required data will be used from device tree dts
17+file.
18+
19+Examples:
20+
21+ mdio: davinci_mdio@4A101000 {
22+ compatible = "ti,cpsw";
23+ reg = <0x4A101000 0x1000>;
24+ bus_freq = <1000000>;
25+ };
26+
27+(or)
28+
29+ mdio: davinci_mdio@4A101000 {
30+ compatible = "ti,cpsw";
31+ ti,hwmods = "davinci_mdio";
32+ bus_freq = <1000000>;
33+ };
Documentation/devicetree/bindings/net/mdio-mux-mmioreg.txt+75−0
@@ -0,0 +1,75 @@
1+Properties for an MDIO bus multiplexer controlled by a memory-mapped device
2+
3+This is a special case of a MDIO bus multiplexer. A memory-mapped device,
4+like an FPGA, is used to control which child bus is connected. The mdio-mux
5+node must be a child of the memory-mapped device. The driver currently only
6+supports devices with eight-bit registers.
7+
8+Required properties in addition to the generic multiplexer properties:
9+
10+- compatible : string, must contain "mdio-mux-mmioreg"
11+
12+- reg : integer, contains the offset of the register that controls the bus
13+ multiplexer. The size field in the 'reg' property is the size of
14+ register, and must therefore be 1.
15+
16+- mux-mask : integer, contains an eight-bit mask that specifies which
17+ bits in the register control the actual bus multiplexer. The
18+ 'reg' property of each child mdio-mux node must be constrained by
19+ this mask.
20+
21+Example:
22+
23+The FPGA node defines a memory-mapped FPGA with a register space of 0x30 bytes.
24+For the "EMI2" MDIO bus, register 9 (BRDCFG1) controls the mux on that bus.
25+A bitmask of 0x6 means that bits 1 and 2 (bit 0 is lsb) are the bits on
26+BRDCFG1 that control the actual mux.
27+
28+ /* The FPGA node */
29+ fpga: board-control@3,0 {
30+ #address-cells = <1>;
31+ #size-cells = <1>;
32+ compatible = "fsl,p5020ds-fpga", "fsl,fpga-ngpixis";
33+ reg = <3 0 0x30>;
34+ ranges = <0 3 0 0x30>;
35+
36+ mdio-mux-emi2 {
37+ compatible = "mdio-mux-mmioreg", "mdio-mux";
38+ mdio-parent-bus = <&xmdio0>;
39+ #address-cells = <1>;
40+ #size-cells = <0>;
41+ reg = <9 1>; // BRDCFG1
42+ mux-mask = <0x6>; // EMI2
43+
44+ emi2_slot1: mdio@0 { // Slot 1 XAUI (FM2)
45+ reg = <0>;
46+ #address-cells = <1>;
47+ #size-cells = <0>;
48+
49+ phy_xgmii_slot1: ethernet-phy@0 {
50+ compatible = "ethernet-phy-ieee802.3-c45";
51+ reg = <4>;
52+ };
53+ };
54+
55+ emi2_slot2: mdio@2 { // Slot 2 XAUI (FM1)
56+ reg = <2>;
57+ #address-cells = <1>;
58+ #size-cells = <0>;
59+
60+ phy_xgmii_slot2: ethernet-phy@4 {
61+ compatible = "ethernet-phy-ieee802.3-c45";
62+ reg = <0>;
63+ };
64+ };
65+ };
66+ };
67+
68+ /* The parent MDIO bus. */
69+ xmdio0: mdio@f1000 {
70+ #address-cells = <1>;
71+ #size-cells = <0>;
72+ compatible = "fsl,fman-xmdio";
73+ reg = <0xf1000 0x1000>;
74+ interrupts = <100 1 0 0>;
75+ };
Documentation/devicetree/bindings/pinctrl/brcm,bcm2835-gpio.txt+74−0
@@ -0,0 +1,74 @@
1+Broadcom BCM2835 GPIO (and pinmux) controller
2+
3+The BCM2835 GPIO module is a combined GPIO controller, (GPIO) interrupt
4+controller, and pinmux/control device.
5+
6+Required properties:
7+- compatible: "brcm,bcm2835-gpio"
8+- reg: Should contain the physical address of the GPIO module's registes.
9+- gpio-controller: Marks the device node as a GPIO controller.
10+- #gpio-cells : Should be two. The first cell is the pin number and the
11+ second cell is used to specify optional parameters:
12+ - bit 0 specifies polarity (0 for normal, 1 for inverted)
13+- interrupts : The interrupt outputs from the controller. One interrupt per
14+ individual bank followed by the "all banks" interrupt.
15+- interrupt-controller: Marks the device node as an interrupt controller.
16+- #interrupt-cells : Should be 2.
17+ The first cell is the GPIO number.
18+ The second cell is used to specify flags:
19+ bits[3:0] trigger type and level flags:
20+ 1 = low-to-high edge triggered.
21+ 2 = high-to-low edge triggered.
22+ 4 = active high level-sensitive.
23+ 8 = active low level-sensitive.
24+ Valid combinations are 1, 2, 3, 4, 8.
25+
26+Please refer to ../gpio/gpio.txt for a general description of GPIO bindings.
27+
28+Please refer to pinctrl-bindings.txt in this directory for details of the
29+common pinctrl bindings used by client devices, including the meaning of the
30+phrase "pin configuration node".
31+
32+Each pin configuration node lists the pin(s) to which it applies, and one or
33+more of the mux function to select on those pin(s), and pull-up/down
34+configuration. Each subnode only affects those parameters that are explicitly
35+listed. In other words, a subnode that lists only a mux function implies no
36+information about any pull configuration. Similarly, a subnode that lists only
37+a pul parameter implies no information about the mux function.
38+
39+Required subnode-properties:
40+- brcm,pins: An array of cells. Each cell contains the ID of a pin. Valid IDs
41+ are the integer GPIO IDs; 0==GPIO0, 1==GPIO1, ... 53==GPIO53.
42+
43+Optional subnode-properties:
44+- brcm,function: Integer, containing the function to mux to the pin(s):
45+ 0: GPIO in
46+ 1: GPIO out
47+ 2: alt5
48+ 3: alt4
49+ 4: alt0
50+ 5: alt1
51+ 6: alt2
52+ 7: alt3
53+- brcm,pull: Integer, representing the pull-down/up to apply to the pin(s):
54+ 0: none
55+ 1: down
56+ 2: up
57+
58+Each of brcm,function and brcm,pull may contain either a single value which
59+will be applied to all pins in brcm,pins, or 1 value for each entry in
60+brcm,pins.
61+
62+Example:
63+
64+ gpio: gpio {
65+ compatible = "brcm,bcm2835-gpio";
66+ reg = <0x2200000 0xb4>;
67+ interrupts = <2 17>, <2 19>, <2 18>, <2 20>;
68+
69+ gpio-controller;
70+ #gpio-cells = <2>;
71+
72+ interrupt-controller;
73+ #interrupt-cells = <2>;
74+ };
Documentation/devicetree/bindings/pinctrl/fsl,imx35-pinctrl.txt+984−0
@@ -0,0 +1,984 @@
1+* Freescale IMX35 IOMUX Controller
2+
3+Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
4+and usage.
5+
6+Required properties:
7+- compatible: "fsl,imx35-iomuxc"
8+- fsl,pins: two integers array, represents a group of pins mux and config
9+ setting. The format is fsl,pins = <PIN_FUNC_ID CONFIG>, PIN_FUNC_ID is a
10+ pin working on a specific function, CONFIG is the pad setting value like
11+ pull-up for this pin. Please refer to imx35 datasheet for the valid pad
12+ config settings.
13+
14+CONFIG bits definition:
15+PAD_CTL_DRIVE_VOLAGAGE_18 (1 << 13)
16+PAD_CTL_DRIVE_VOLAGAGE_33 (0 << 13)
17+PAD_CTL_HYS (1 << 8)
18+PAD_CTL_PKE (1 << 7)
19+PAD_CTL_PUE (1 << 6)
20+PAD_CTL_PUS_100K_DOWN (0 << 4)
21+PAD_CTL_PUS_47K_UP (1 << 4)
22+PAD_CTL_PUS_100K_UP (2 << 4)
23+PAD_CTL_PUS_22K_UP (3 << 4)
24+PAD_CTL_ODE_CMOS (0 << 3)
25+PAD_CTL_ODE_OPENDRAIN (1 << 3)
26+PAD_CTL_DSE_NOMINAL (0 << 1)
27+PAD_CTL_DSE_HIGH (1 << 1)
28+PAD_CTL_DSE_MAX (2 << 1)
29+PAD_CTL_SRE_FAST (1 << 0)
30+PAD_CTL_SRE_SLOW (0 << 0)
31+
32+See below for available PIN_FUNC_ID for imx35:
33+0 MX35_PAD_CAPTURE__GPT_CAPIN1
34+1 MX35_PAD_CAPTURE__GPT_CMPOUT2
35+2 MX35_PAD_CAPTURE__CSPI2_SS1
36+3 MX35_PAD_CAPTURE__EPIT1_EPITO
37+4 MX35_PAD_CAPTURE__CCM_CLK32K
38+5 MX35_PAD_CAPTURE__GPIO1_4
39+6 MX35_PAD_COMPARE__GPT_CMPOUT1
40+7 MX35_PAD_COMPARE__GPT_CAPIN2
41+8 MX35_PAD_COMPARE__GPT_CMPOUT3
42+9 MX35_PAD_COMPARE__EPIT2_EPITO
43+10 MX35_PAD_COMPARE__GPIO1_5
44+11 MX35_PAD_COMPARE__SDMA_EXTDMA_2
45+12 MX35_PAD_WDOG_RST__WDOG_WDOG_B
46+13 MX35_PAD_WDOG_RST__IPU_FLASH_STROBE
47+14 MX35_PAD_WDOG_RST__GPIO1_6
48+15 MX35_PAD_GPIO1_0__GPIO1_0
49+16 MX35_PAD_GPIO1_0__CCM_PMIC_RDY
50+17 MX35_PAD_GPIO1_0__OWIRE_LINE
51+18 MX35_PAD_GPIO1_0__SDMA_EXTDMA_0
52+19 MX35_PAD_GPIO1_1__GPIO1_1
53+20 MX35_PAD_GPIO1_1__PWM_PWMO
54+21 MX35_PAD_GPIO1_1__CSPI1_SS2
55+22 MX35_PAD_GPIO1_1__SCC_TAMPER_DETECT
56+23 MX35_PAD_GPIO1_1__SDMA_EXTDMA_1
57+24 MX35_PAD_GPIO2_0__GPIO2_0
58+25 MX35_PAD_GPIO2_0__USB_TOP_USBOTG_CLK
59+26 MX35_PAD_GPIO3_0__GPIO3_0
60+27 MX35_PAD_GPIO3_0__USB_TOP_USBH2_CLK
61+28 MX35_PAD_RESET_IN_B__CCM_RESET_IN_B
62+29 MX35_PAD_POR_B__CCM_POR_B
63+30 MX35_PAD_CLKO__CCM_CLKO
64+31 MX35_PAD_CLKO__GPIO1_8
65+32 MX35_PAD_BOOT_MODE0__CCM_BOOT_MODE_0
66+33 MX35_PAD_BOOT_MODE1__CCM_BOOT_MODE_1
67+34 MX35_PAD_CLK_MODE0__CCM_CLK_MODE_0
68+35 MX35_PAD_CLK_MODE1__CCM_CLK_MODE_1
69+36 MX35_PAD_POWER_FAIL__CCM_DSM_WAKEUP_INT_26
70+37 MX35_PAD_VSTBY__CCM_VSTBY
71+38 MX35_PAD_VSTBY__GPIO1_7
72+39 MX35_PAD_A0__EMI_EIM_DA_L_0
73+40 MX35_PAD_A1__EMI_EIM_DA_L_1
74+41 MX35_PAD_A2__EMI_EIM_DA_L_2
75+42 MX35_PAD_A3__EMI_EIM_DA_L_3
76+43 MX35_PAD_A4__EMI_EIM_DA_L_4
77+44 MX35_PAD_A5__EMI_EIM_DA_L_5
78+45 MX35_PAD_A6__EMI_EIM_DA_L_6
79+46 MX35_PAD_A7__EMI_EIM_DA_L_7
80+47 MX35_PAD_A8__EMI_EIM_DA_H_8
81+48 MX35_PAD_A9__EMI_EIM_DA_H_9
82+49 MX35_PAD_A10__EMI_EIM_DA_H_10
83+50 MX35_PAD_MA10__EMI_MA10
84+51 MX35_PAD_A11__EMI_EIM_DA_H_11
85+52 MX35_PAD_A12__EMI_EIM_DA_H_12
86+53 MX35_PAD_A13__EMI_EIM_DA_H_13
87+54 MX35_PAD_A14__EMI_EIM_DA_H2_14
88+55 MX35_PAD_A15__EMI_EIM_DA_H2_15
89+56 MX35_PAD_A16__EMI_EIM_A_16
90+57 MX35_PAD_A17__EMI_EIM_A_17
91+58 MX35_PAD_A18__EMI_EIM_A_18
92+59 MX35_PAD_A19__EMI_EIM_A_19
93+60 MX35_PAD_A20__EMI_EIM_A_20
94+61 MX35_PAD_A21__EMI_EIM_A_21
95+62 MX35_PAD_A22__EMI_EIM_A_22
96+63 MX35_PAD_A23__EMI_EIM_A_23
97+64 MX35_PAD_A24__EMI_EIM_A_24
98+65 MX35_PAD_A25__EMI_EIM_A_25
99+66 MX35_PAD_SDBA1__EMI_EIM_SDBA1
100+67 MX35_PAD_SDBA0__EMI_EIM_SDBA0
101+68 MX35_PAD_SD0__EMI_DRAM_D_0
102+69 MX35_PAD_SD1__EMI_DRAM_D_1
103+70 MX35_PAD_SD2__EMI_DRAM_D_2
104+71 MX35_PAD_SD3__EMI_DRAM_D_3
105+72 MX35_PAD_SD4__EMI_DRAM_D_4
106+73 MX35_PAD_SD5__EMI_DRAM_D_5
107+74 MX35_PAD_SD6__EMI_DRAM_D_6
108+75 MX35_PAD_SD7__EMI_DRAM_D_7
109+76 MX35_PAD_SD8__EMI_DRAM_D_8
110+77 MX35_PAD_SD9__EMI_DRAM_D_9
111+78 MX35_PAD_SD10__EMI_DRAM_D_10
112+79 MX35_PAD_SD11__EMI_DRAM_D_11
113+80 MX35_PAD_SD12__EMI_DRAM_D_12
114+81 MX35_PAD_SD13__EMI_DRAM_D_13
115+82 MX35_PAD_SD14__EMI_DRAM_D_14
116+83 MX35_PAD_SD15__EMI_DRAM_D_15
117+84 MX35_PAD_SD16__EMI_DRAM_D_16
118+85 MX35_PAD_SD17__EMI_DRAM_D_17
119+86 MX35_PAD_SD18__EMI_DRAM_D_18
120+87 MX35_PAD_SD19__EMI_DRAM_D_19
121+88 MX35_PAD_SD20__EMI_DRAM_D_20
122+89 MX35_PAD_SD21__EMI_DRAM_D_21
123+90 MX35_PAD_SD22__EMI_DRAM_D_22
124+91 MX35_PAD_SD23__EMI_DRAM_D_23
125+92 MX35_PAD_SD24__EMI_DRAM_D_24
126+93 MX35_PAD_SD25__EMI_DRAM_D_25
127+94 MX35_PAD_SD26__EMI_DRAM_D_26
128+95 MX35_PAD_SD27__EMI_DRAM_D_27
129+96 MX35_PAD_SD28__EMI_DRAM_D_28
130+97 MX35_PAD_SD29__EMI_DRAM_D_29
131+98 MX35_PAD_SD30__EMI_DRAM_D_30
132+99 MX35_PAD_SD31__EMI_DRAM_D_31
133+100 MX35_PAD_DQM0__EMI_DRAM_DQM_0
134+101 MX35_PAD_DQM1__EMI_DRAM_DQM_1
135+102 MX35_PAD_DQM2__EMI_DRAM_DQM_2
136+103 MX35_PAD_DQM3__EMI_DRAM_DQM_3
137+104 MX35_PAD_EB0__EMI_EIM_EB0_B
138+105 MX35_PAD_EB1__EMI_EIM_EB1_B
139+106 MX35_PAD_OE__EMI_EIM_OE
140+107 MX35_PAD_CS0__EMI_EIM_CS0
141+108 MX35_PAD_CS1__EMI_EIM_CS1
142+109 MX35_PAD_CS1__EMI_NANDF_CE3
143+110 MX35_PAD_CS2__EMI_EIM_CS2
144+111 MX35_PAD_CS3__EMI_EIM_CS3
145+112 MX35_PAD_CS4__EMI_EIM_CS4
146+113 MX35_PAD_CS4__EMI_DTACK_B
147+114 MX35_PAD_CS4__EMI_NANDF_CE1
148+115 MX35_PAD_CS4__GPIO1_20
149+116 MX35_PAD_CS5__EMI_EIM_CS5
150+117 MX35_PAD_CS5__CSPI2_SS2
151+118 MX35_PAD_CS5__CSPI1_SS2
152+119 MX35_PAD_CS5__EMI_NANDF_CE2
153+120 MX35_PAD_CS5__GPIO1_21
154+121 MX35_PAD_NF_CE0__EMI_NANDF_CE0
155+122 MX35_PAD_NF_CE0__GPIO1_22
156+123 MX35_PAD_ECB__EMI_EIM_ECB
157+124 MX35_PAD_LBA__EMI_EIM_LBA
158+125 MX35_PAD_BCLK__EMI_EIM_BCLK
159+126 MX35_PAD_RW__EMI_EIM_RW
160+127 MX35_PAD_RAS__EMI_DRAM_RAS
161+128 MX35_PAD_CAS__EMI_DRAM_CAS
162+129 MX35_PAD_SDWE__EMI_DRAM_SDWE
163+130 MX35_PAD_SDCKE0__EMI_DRAM_SDCKE_0
164+131 MX35_PAD_SDCKE1__EMI_DRAM_SDCKE_1
165+132 MX35_PAD_SDCLK__EMI_DRAM_SDCLK
166+133 MX35_PAD_SDQS0__EMI_DRAM_SDQS_0
167+134 MX35_PAD_SDQS1__EMI_DRAM_SDQS_1
168+135 MX35_PAD_SDQS2__EMI_DRAM_SDQS_2
169+136 MX35_PAD_SDQS3__EMI_DRAM_SDQS_3
170+137 MX35_PAD_NFWE_B__EMI_NANDF_WE_B
171+138 MX35_PAD_NFWE_B__USB_TOP_USBH2_DATA_3
172+139 MX35_PAD_NFWE_B__IPU_DISPB_D0_VSYNC
173+140 MX35_PAD_NFWE_B__GPIO2_18
174+141 MX35_PAD_NFWE_B__ARM11P_TOP_TRACE_0
175+142 MX35_PAD_NFRE_B__EMI_NANDF_RE_B
176+143 MX35_PAD_NFRE_B__USB_TOP_USBH2_DIR
177+144 MX35_PAD_NFRE_B__IPU_DISPB_BCLK
178+145 MX35_PAD_NFRE_B__GPIO2_19
179+146 MX35_PAD_NFRE_B__ARM11P_TOP_TRACE_1
180+147 MX35_PAD_NFALE__EMI_NANDF_ALE
181+148 MX35_PAD_NFALE__USB_TOP_USBH2_STP
182+149 MX35_PAD_NFALE__IPU_DISPB_CS0
183+150 MX35_PAD_NFALE__GPIO2_20
184+151 MX35_PAD_NFALE__ARM11P_TOP_TRACE_2
185+152 MX35_PAD_NFCLE__EMI_NANDF_CLE
186+153 MX35_PAD_NFCLE__USB_TOP_USBH2_NXT
187+154 MX35_PAD_NFCLE__IPU_DISPB_PAR_RS
188+155 MX35_PAD_NFCLE__GPIO2_21
189+156 MX35_PAD_NFCLE__ARM11P_TOP_TRACE_3
190+157 MX35_PAD_NFWP_B__EMI_NANDF_WP_B
191+158 MX35_PAD_NFWP_B__USB_TOP_USBH2_DATA_7
192+159 MX35_PAD_NFWP_B__IPU_DISPB_WR
193+160 MX35_PAD_NFWP_B__GPIO2_22
194+161 MX35_PAD_NFWP_B__ARM11P_TOP_TRCTL
195+162 MX35_PAD_NFRB__EMI_NANDF_RB
196+163 MX35_PAD_NFRB__IPU_DISPB_RD
197+164 MX35_PAD_NFRB__GPIO2_23
198+165 MX35_PAD_NFRB__ARM11P_TOP_TRCLK
199+166 MX35_PAD_D15__EMI_EIM_D_15
200+167 MX35_PAD_D14__EMI_EIM_D_14
201+168 MX35_PAD_D13__EMI_EIM_D_13
202+169 MX35_PAD_D12__EMI_EIM_D_12
203+170 MX35_PAD_D11__EMI_EIM_D_11
204+171 MX35_PAD_D10__EMI_EIM_D_10
205+172 MX35_PAD_D9__EMI_EIM_D_9
206+173 MX35_PAD_D8__EMI_EIM_D_8
207+174 MX35_PAD_D7__EMI_EIM_D_7
208+175 MX35_PAD_D6__EMI_EIM_D_6
209+176 MX35_PAD_D5__EMI_EIM_D_5
210+177 MX35_PAD_D4__EMI_EIM_D_4
211+178 MX35_PAD_D3__EMI_EIM_D_3
212+179 MX35_PAD_D2__EMI_EIM_D_2
213+180 MX35_PAD_D1__EMI_EIM_D_1
214+181 MX35_PAD_D0__EMI_EIM_D_0
215+182 MX35_PAD_CSI_D8__IPU_CSI_D_8
216+183 MX35_PAD_CSI_D8__KPP_COL_0
217+184 MX35_PAD_CSI_D8__GPIO1_20
218+185 MX35_PAD_CSI_D8__ARM11P_TOP_EVNTBUS_13
219+186 MX35_PAD_CSI_D9__IPU_CSI_D_9
220+187 MX35_PAD_CSI_D9__KPP_COL_1
221+188 MX35_PAD_CSI_D9__GPIO1_21
222+189 MX35_PAD_CSI_D9__ARM11P_TOP_EVNTBUS_14
223+190 MX35_PAD_CSI_D10__IPU_CSI_D_10
224+191 MX35_PAD_CSI_D10__KPP_COL_2
225+192 MX35_PAD_CSI_D10__GPIO1_22
226+193 MX35_PAD_CSI_D10__ARM11P_TOP_EVNTBUS_15
227+194 MX35_PAD_CSI_D11__IPU_CSI_D_11
228+195 MX35_PAD_CSI_D11__KPP_COL_3
229+196 MX35_PAD_CSI_D11__GPIO1_23
230+197 MX35_PAD_CSI_D12__IPU_CSI_D_12
231+198 MX35_PAD_CSI_D12__KPP_ROW_0
232+199 MX35_PAD_CSI_D12__GPIO1_24
233+200 MX35_PAD_CSI_D13__IPU_CSI_D_13
234+201 MX35_PAD_CSI_D13__KPP_ROW_1
235+202 MX35_PAD_CSI_D13__GPIO1_25
236+203 MX35_PAD_CSI_D14__IPU_CSI_D_14
237+204 MX35_PAD_CSI_D14__KPP_ROW_2
238+205 MX35_PAD_CSI_D14__GPIO1_26
239+206 MX35_PAD_CSI_D15__IPU_CSI_D_15
240+207 MX35_PAD_CSI_D15__KPP_ROW_3
241+208 MX35_PAD_CSI_D15__GPIO1_27
242+209 MX35_PAD_CSI_MCLK__IPU_CSI_MCLK
243+210 MX35_PAD_CSI_MCLK__GPIO1_28
244+211 MX35_PAD_CSI_VSYNC__IPU_CSI_VSYNC
245+212 MX35_PAD_CSI_VSYNC__GPIO1_29
246+213 MX35_PAD_CSI_HSYNC__IPU_CSI_HSYNC
247+214 MX35_PAD_CSI_HSYNC__GPIO1_30
248+215 MX35_PAD_CSI_PIXCLK__IPU_CSI_PIXCLK
249+216 MX35_PAD_CSI_PIXCLK__GPIO1_31
250+217 MX35_PAD_I2C1_CLK__I2C1_SCL
251+218 MX35_PAD_I2C1_CLK__GPIO2_24
252+219 MX35_PAD_I2C1_CLK__CCM_USB_BYP_CLK
253+220 MX35_PAD_I2C1_DAT__I2C1_SDA
254+221 MX35_PAD_I2C1_DAT__GPIO2_25
255+222 MX35_PAD_I2C2_CLK__I2C2_SCL
256+223 MX35_PAD_I2C2_CLK__CAN1_TXCAN
257+224 MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR
258+225 MX35_PAD_I2C2_CLK__GPIO2_26
259+226 MX35_PAD_I2C2_CLK__SDMA_DEBUG_BUS_DEVICE_2
260+227 MX35_PAD_I2C2_DAT__I2C2_SDA
261+228 MX35_PAD_I2C2_DAT__CAN1_RXCAN
262+229 MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC
263+230 MX35_PAD_I2C2_DAT__GPIO2_27
264+231 MX35_PAD_I2C2_DAT__SDMA_DEBUG_BUS_DEVICE_3
265+232 MX35_PAD_STXD4__AUDMUX_AUD4_TXD
266+233 MX35_PAD_STXD4__GPIO2_28
267+234 MX35_PAD_STXD4__ARM11P_TOP_ARM_COREASID0
268+235 MX35_PAD_SRXD4__AUDMUX_AUD4_RXD
269+236 MX35_PAD_SRXD4__GPIO2_29
270+237 MX35_PAD_SRXD4__ARM11P_TOP_ARM_COREASID1
271+238 MX35_PAD_SCK4__AUDMUX_AUD4_TXC
272+239 MX35_PAD_SCK4__GPIO2_30
273+240 MX35_PAD_SCK4__ARM11P_TOP_ARM_COREASID2
274+241 MX35_PAD_STXFS4__AUDMUX_AUD4_TXFS
275+242 MX35_PAD_STXFS4__GPIO2_31
276+243 MX35_PAD_STXFS4__ARM11P_TOP_ARM_COREASID3
277+244 MX35_PAD_STXD5__AUDMUX_AUD5_TXD
278+245 MX35_PAD_STXD5__SPDIF_SPDIF_OUT1
279+246 MX35_PAD_STXD5__CSPI2_MOSI
280+247 MX35_PAD_STXD5__GPIO1_0
281+248 MX35_PAD_STXD5__ARM11P_TOP_ARM_COREASID4
282+249 MX35_PAD_SRXD5__AUDMUX_AUD5_RXD
283+250 MX35_PAD_SRXD5__SPDIF_SPDIF_IN1
284+251 MX35_PAD_SRXD5__CSPI2_MISO
285+252 MX35_PAD_SRXD5__GPIO1_1
286+253 MX35_PAD_SRXD5__ARM11P_TOP_ARM_COREASID5
287+254 MX35_PAD_SCK5__AUDMUX_AUD5_TXC
288+255 MX35_PAD_SCK5__SPDIF_SPDIF_EXTCLK
289+256 MX35_PAD_SCK5__CSPI2_SCLK
290+257 MX35_PAD_SCK5__GPIO1_2
291+258 MX35_PAD_SCK5__ARM11P_TOP_ARM_COREASID6
292+259 MX35_PAD_STXFS5__AUDMUX_AUD5_TXFS
293+260 MX35_PAD_STXFS5__CSPI2_RDY
294+261 MX35_PAD_STXFS5__GPIO1_3
295+262 MX35_PAD_STXFS5__ARM11P_TOP_ARM_COREASID7
296+263 MX35_PAD_SCKR__ESAI_SCKR
297+264 MX35_PAD_SCKR__GPIO1_4
298+265 MX35_PAD_SCKR__ARM11P_TOP_EVNTBUS_10
299+266 MX35_PAD_FSR__ESAI_FSR
300+267 MX35_PAD_FSR__GPIO1_5
301+268 MX35_PAD_FSR__ARM11P_TOP_EVNTBUS_11
302+269 MX35_PAD_HCKR__ESAI_HCKR
303+270 MX35_PAD_HCKR__AUDMUX_AUD5_RXFS
304+271 MX35_PAD_HCKR__CSPI2_SS0
305+272 MX35_PAD_HCKR__IPU_FLASH_STROBE
306+273 MX35_PAD_HCKR__GPIO1_6
307+274 MX35_PAD_HCKR__ARM11P_TOP_EVNTBUS_12
308+275 MX35_PAD_SCKT__ESAI_SCKT
309+276 MX35_PAD_SCKT__GPIO1_7
310+277 MX35_PAD_SCKT__IPU_CSI_D_0
311+278 MX35_PAD_SCKT__KPP_ROW_2
312+279 MX35_PAD_FST__ESAI_FST
313+280 MX35_PAD_FST__GPIO1_8
314+281 MX35_PAD_FST__IPU_CSI_D_1
315+282 MX35_PAD_FST__KPP_ROW_3
316+283 MX35_PAD_HCKT__ESAI_HCKT
317+284 MX35_PAD_HCKT__AUDMUX_AUD5_RXC
318+285 MX35_PAD_HCKT__GPIO1_9
319+286 MX35_PAD_HCKT__IPU_CSI_D_2
320+287 MX35_PAD_HCKT__KPP_COL_3
321+288 MX35_PAD_TX5_RX0__ESAI_TX5_RX0
322+289 MX35_PAD_TX5_RX0__AUDMUX_AUD4_RXC
323+290 MX35_PAD_TX5_RX0__CSPI2_SS2
324+291 MX35_PAD_TX5_RX0__CAN2_TXCAN
325+292 MX35_PAD_TX5_RX0__UART2_DTR
326+293 MX35_PAD_TX5_RX0__GPIO1_10
327+294 MX35_PAD_TX5_RX0__EMI_M3IF_CHOSEN_MASTER_0
328+295 MX35_PAD_TX4_RX1__ESAI_TX4_RX1
329+296 MX35_PAD_TX4_RX1__AUDMUX_AUD4_RXFS
330+297 MX35_PAD_TX4_RX1__CSPI2_SS3
331+298 MX35_PAD_TX4_RX1__CAN2_RXCAN
332+299 MX35_PAD_TX4_RX1__UART2_DSR
333+300 MX35_PAD_TX4_RX1__GPIO1_11
334+301 MX35_PAD_TX4_RX1__IPU_CSI_D_3
335+302 MX35_PAD_TX4_RX1__KPP_ROW_0
336+303 MX35_PAD_TX3_RX2__ESAI_TX3_RX2
337+304 MX35_PAD_TX3_RX2__I2C3_SCL
338+305 MX35_PAD_TX3_RX2__EMI_NANDF_CE1
339+306 MX35_PAD_TX3_RX2__GPIO1_12
340+307 MX35_PAD_TX3_RX2__IPU_CSI_D_4
341+308 MX35_PAD_TX3_RX2__KPP_ROW_1
342+309 MX35_PAD_TX2_RX3__ESAI_TX2_RX3
343+310 MX35_PAD_TX2_RX3__I2C3_SDA
344+311 MX35_PAD_TX2_RX3__EMI_NANDF_CE2
345+312 MX35_PAD_TX2_RX3__GPIO1_13
346+313 MX35_PAD_TX2_RX3__IPU_CSI_D_5
347+314 MX35_PAD_TX2_RX3__KPP_COL_0
348+315 MX35_PAD_TX1__ESAI_TX1
349+316 MX35_PAD_TX1__CCM_PMIC_RDY
350+317 MX35_PAD_TX1__CSPI1_SS2
351+318 MX35_PAD_TX1__EMI_NANDF_CE3
352+319 MX35_PAD_TX1__UART2_RI
353+320 MX35_PAD_TX1__GPIO1_14
354+321 MX35_PAD_TX1__IPU_CSI_D_6
355+322 MX35_PAD_TX1__KPP_COL_1
356+323 MX35_PAD_TX0__ESAI_TX0
357+324 MX35_PAD_TX0__SPDIF_SPDIF_EXTCLK
358+325 MX35_PAD_TX0__CSPI1_SS3
359+326 MX35_PAD_TX0__EMI_DTACK_B
360+327 MX35_PAD_TX0__UART2_DCD
361+328 MX35_PAD_TX0__GPIO1_15
362+329 MX35_PAD_TX0__IPU_CSI_D_7
363+330 MX35_PAD_TX0__KPP_COL_2
364+331 MX35_PAD_CSPI1_MOSI__CSPI1_MOSI
365+332 MX35_PAD_CSPI1_MOSI__GPIO1_16
366+333 MX35_PAD_CSPI1_MOSI__ECT_CTI_TRIG_OUT1_2
367+334 MX35_PAD_CSPI1_MISO__CSPI1_MISO
368+335 MX35_PAD_CSPI1_MISO__GPIO1_17
369+336 MX35_PAD_CSPI1_MISO__ECT_CTI_TRIG_OUT1_3
370+337 MX35_PAD_CSPI1_SS0__CSPI1_SS0
371+338 MX35_PAD_CSPI1_SS0__OWIRE_LINE
372+339 MX35_PAD_CSPI1_SS0__CSPI2_SS3
373+340 MX35_PAD_CSPI1_SS0__GPIO1_18
374+341 MX35_PAD_CSPI1_SS0__ECT_CTI_TRIG_OUT1_4
375+342 MX35_PAD_CSPI1_SS1__CSPI1_SS1
376+343 MX35_PAD_CSPI1_SS1__PWM_PWMO
377+344 MX35_PAD_CSPI1_SS1__CCM_CLK32K
378+345 MX35_PAD_CSPI1_SS1__GPIO1_19
379+346 MX35_PAD_CSPI1_SS1__IPU_DIAGB_29
380+347 MX35_PAD_CSPI1_SS1__ECT_CTI_TRIG_OUT1_5
381+348 MX35_PAD_CSPI1_SCLK__CSPI1_SCLK
382+349 MX35_PAD_CSPI1_SCLK__GPIO3_4
383+350 MX35_PAD_CSPI1_SCLK__IPU_DIAGB_30
384+351 MX35_PAD_CSPI1_SCLK__EMI_M3IF_CHOSEN_MASTER_1
385+352 MX35_PAD_CSPI1_SPI_RDY__CSPI1_RDY
386+353 MX35_PAD_CSPI1_SPI_RDY__GPIO3_5
387+354 MX35_PAD_CSPI1_SPI_RDY__IPU_DIAGB_31
388+355 MX35_PAD_CSPI1_SPI_RDY__EMI_M3IF_CHOSEN_MASTER_2
389+356 MX35_PAD_RXD1__UART1_RXD_MUX
390+357 MX35_PAD_RXD1__CSPI2_MOSI
391+358 MX35_PAD_RXD1__KPP_COL_4
392+359 MX35_PAD_RXD1__GPIO3_6
393+360 MX35_PAD_RXD1__ARM11P_TOP_EVNTBUS_16
394+361 MX35_PAD_TXD1__UART1_TXD_MUX
395+362 MX35_PAD_TXD1__CSPI2_MISO
396+363 MX35_PAD_TXD1__KPP_COL_5
397+364 MX35_PAD_TXD1__GPIO3_7
398+365 MX35_PAD_TXD1__ARM11P_TOP_EVNTBUS_17
399+366 MX35_PAD_RTS1__UART1_RTS
400+367 MX35_PAD_RTS1__CSPI2_SCLK
401+368 MX35_PAD_RTS1__I2C3_SCL
402+369 MX35_PAD_RTS1__IPU_CSI_D_0
403+370 MX35_PAD_RTS1__KPP_COL_6
404+371 MX35_PAD_RTS1__GPIO3_8
405+372 MX35_PAD_RTS1__EMI_NANDF_CE1
406+373 MX35_PAD_RTS1__ARM11P_TOP_EVNTBUS_18
407+374 MX35_PAD_CTS1__UART1_CTS
408+375 MX35_PAD_CTS1__CSPI2_RDY
409+376 MX35_PAD_CTS1__I2C3_SDA
410+377 MX35_PAD_CTS1__IPU_CSI_D_1
411+378 MX35_PAD_CTS1__KPP_COL_7
412+379 MX35_PAD_CTS1__GPIO3_9
413+380 MX35_PAD_CTS1__EMI_NANDF_CE2
414+381 MX35_PAD_CTS1__ARM11P_TOP_EVNTBUS_19
415+382 MX35_PAD_RXD2__UART2_RXD_MUX
416+383 MX35_PAD_RXD2__KPP_ROW_4
417+384 MX35_PAD_RXD2__GPIO3_10
418+385 MX35_PAD_TXD2__UART2_TXD_MUX
419+386 MX35_PAD_TXD2__SPDIF_SPDIF_EXTCLK
420+387 MX35_PAD_TXD2__KPP_ROW_5
421+388 MX35_PAD_TXD2__GPIO3_11
422+389 MX35_PAD_RTS2__UART2_RTS
423+390 MX35_PAD_RTS2__SPDIF_SPDIF_IN1
424+391 MX35_PAD_RTS2__CAN2_RXCAN
425+392 MX35_PAD_RTS2__IPU_CSI_D_2
426+393 MX35_PAD_RTS2__KPP_ROW_6
427+394 MX35_PAD_RTS2__GPIO3_12
428+395 MX35_PAD_RTS2__AUDMUX_AUD5_RXC
429+396 MX35_PAD_RTS2__UART3_RXD_MUX
430+397 MX35_PAD_CTS2__UART2_CTS
431+398 MX35_PAD_CTS2__SPDIF_SPDIF_OUT1
432+399 MX35_PAD_CTS2__CAN2_TXCAN
433+400 MX35_PAD_CTS2__IPU_CSI_D_3
434+401 MX35_PAD_CTS2__KPP_ROW_7
435+402 MX35_PAD_CTS2__GPIO3_13
436+403 MX35_PAD_CTS2__AUDMUX_AUD5_RXFS
437+404 MX35_PAD_CTS2__UART3_TXD_MUX
438+405 MX35_PAD_RTCK__ARM11P_TOP_RTCK
439+406 MX35_PAD_TCK__SJC_TCK
440+407 MX35_PAD_TMS__SJC_TMS
441+408 MX35_PAD_TDI__SJC_TDI
442+409 MX35_PAD_TDO__SJC_TDO
443+410 MX35_PAD_TRSTB__SJC_TRSTB
444+411 MX35_PAD_DE_B__SJC_DE_B
445+412 MX35_PAD_SJC_MOD__SJC_MOD
446+413 MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR
447+414 MX35_PAD_USBOTG_PWR__USB_TOP_USBH2_PWR
448+415 MX35_PAD_USBOTG_PWR__GPIO3_14
449+416 MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC
450+417 MX35_PAD_USBOTG_OC__USB_TOP_USBH2_OC
451+418 MX35_PAD_USBOTG_OC__GPIO3_15
452+419 MX35_PAD_LD0__IPU_DISPB_DAT_0
453+420 MX35_PAD_LD0__GPIO2_0
454+421 MX35_PAD_LD0__SDMA_SDMA_DEBUG_PC_0
455+422 MX35_PAD_LD1__IPU_DISPB_DAT_1
456+423 MX35_PAD_LD1__GPIO2_1
457+424 MX35_PAD_LD1__SDMA_SDMA_DEBUG_PC_1
458+425 MX35_PAD_LD2__IPU_DISPB_DAT_2
459+426 MX35_PAD_LD2__GPIO2_2
460+427 MX35_PAD_LD2__SDMA_SDMA_DEBUG_PC_2
461+428 MX35_PAD_LD3__IPU_DISPB_DAT_3
462+429 MX35_PAD_LD3__GPIO2_3
463+430 MX35_PAD_LD3__SDMA_SDMA_DEBUG_PC_3
464+431 MX35_PAD_LD4__IPU_DISPB_DAT_4
465+432 MX35_PAD_LD4__GPIO2_4
466+433 MX35_PAD_LD4__SDMA_SDMA_DEBUG_PC_4
467+434 MX35_PAD_LD5__IPU_DISPB_DAT_5
468+435 MX35_PAD_LD5__GPIO2_5
469+436 MX35_PAD_LD5__SDMA_SDMA_DEBUG_PC_5
470+437 MX35_PAD_LD6__IPU_DISPB_DAT_6
471+438 MX35_PAD_LD6__GPIO2_6
472+439 MX35_PAD_LD6__SDMA_SDMA_DEBUG_PC_6
473+440 MX35_PAD_LD7__IPU_DISPB_DAT_7
474+441 MX35_PAD_LD7__GPIO2_7
475+442 MX35_PAD_LD7__SDMA_SDMA_DEBUG_PC_7
476+443 MX35_PAD_LD8__IPU_DISPB_DAT_8
477+444 MX35_PAD_LD8__GPIO2_8
478+445 MX35_PAD_LD8__SDMA_SDMA_DEBUG_PC_8
479+446 MX35_PAD_LD9__IPU_DISPB_DAT_9
480+447 MX35_PAD_LD9__GPIO2_9
481+448 MX35_PAD_LD9__SDMA_SDMA_DEBUG_PC_9
482+449 MX35_PAD_LD10__IPU_DISPB_DAT_10
483+450 MX35_PAD_LD10__GPIO2_10
484+451 MX35_PAD_LD10__SDMA_SDMA_DEBUG_PC_10
485+452 MX35_PAD_LD11__IPU_DISPB_DAT_11
486+453 MX35_PAD_LD11__GPIO2_11
487+454 MX35_PAD_LD11__SDMA_SDMA_DEBUG_PC_11
488+455 MX35_PAD_LD11__ARM11P_TOP_TRACE_4
489+456 MX35_PAD_LD12__IPU_DISPB_DAT_12
490+457 MX35_PAD_LD12__GPIO2_12
491+458 MX35_PAD_LD12__SDMA_SDMA_DEBUG_PC_12
492+459 MX35_PAD_LD12__ARM11P_TOP_TRACE_5
493+460 MX35_PAD_LD13__IPU_DISPB_DAT_13
494+461 MX35_PAD_LD13__GPIO2_13
495+462 MX35_PAD_LD13__SDMA_SDMA_DEBUG_PC_13
496+463 MX35_PAD_LD13__ARM11P_TOP_TRACE_6
497+464 MX35_PAD_LD14__IPU_DISPB_DAT_14
498+465 MX35_PAD_LD14__GPIO2_14
499+466 MX35_PAD_LD14__SDMA_SDMA_DEBUG_EVENT_CHANNEL_0
500+467 MX35_PAD_LD14__ARM11P_TOP_TRACE_7
501+468 MX35_PAD_LD15__IPU_DISPB_DAT_15
502+469 MX35_PAD_LD15__GPIO2_15
503+470 MX35_PAD_LD15__SDMA_SDMA_DEBUG_EVENT_CHANNEL_1
504+471 MX35_PAD_LD15__ARM11P_TOP_TRACE_8
505+472 MX35_PAD_LD16__IPU_DISPB_DAT_16
506+473 MX35_PAD_LD16__IPU_DISPB_D12_VSYNC
507+474 MX35_PAD_LD16__GPIO2_16
508+475 MX35_PAD_LD16__SDMA_SDMA_DEBUG_EVENT_CHANNEL_2
509+476 MX35_PAD_LD16__ARM11P_TOP_TRACE_9
510+477 MX35_PAD_LD17__IPU_DISPB_DAT_17
511+478 MX35_PAD_LD17__IPU_DISPB_CS2
512+479 MX35_PAD_LD17__GPIO2_17
513+480 MX35_PAD_LD17__SDMA_SDMA_DEBUG_EVENT_CHANNEL_3
514+481 MX35_PAD_LD17__ARM11P_TOP_TRACE_10
515+482 MX35_PAD_LD18__IPU_DISPB_DAT_18
516+483 MX35_PAD_LD18__IPU_DISPB_D0_VSYNC
517+484 MX35_PAD_LD18__IPU_DISPB_D12_VSYNC
518+485 MX35_PAD_LD18__ESDHC3_CMD
519+486 MX35_PAD_LD18__USB_TOP_USBOTG_DATA_3
520+487 MX35_PAD_LD18__GPIO3_24
521+488 MX35_PAD_LD18__SDMA_SDMA_DEBUG_EVENT_CHANNEL_4
522+489 MX35_PAD_LD18__ARM11P_TOP_TRACE_11
523+490 MX35_PAD_LD19__IPU_DISPB_DAT_19
524+491 MX35_PAD_LD19__IPU_DISPB_BCLK
525+492 MX35_PAD_LD19__IPU_DISPB_CS1
526+493 MX35_PAD_LD19__ESDHC3_CLK
527+494 MX35_PAD_LD19__USB_TOP_USBOTG_DIR
528+495 MX35_PAD_LD19__GPIO3_25
529+496 MX35_PAD_LD19__SDMA_SDMA_DEBUG_EVENT_CHANNEL_5
530+497 MX35_PAD_LD19__ARM11P_TOP_TRACE_12
531+498 MX35_PAD_LD20__IPU_DISPB_DAT_20
532+499 MX35_PAD_LD20__IPU_DISPB_CS0
533+500 MX35_PAD_LD20__IPU_DISPB_SD_CLK
534+501 MX35_PAD_LD20__ESDHC3_DAT0
535+502 MX35_PAD_LD20__GPIO3_26
536+503 MX35_PAD_LD20__SDMA_SDMA_DEBUG_CORE_STATUS_3
537+504 MX35_PAD_LD20__ARM11P_TOP_TRACE_13
538+505 MX35_PAD_LD21__IPU_DISPB_DAT_21
539+506 MX35_PAD_LD21__IPU_DISPB_PAR_RS
540+507 MX35_PAD_LD21__IPU_DISPB_SER_RS
541+508 MX35_PAD_LD21__ESDHC3_DAT1
542+509 MX35_PAD_LD21__USB_TOP_USBOTG_STP
543+510 MX35_PAD_LD21__GPIO3_27
544+511 MX35_PAD_LD21__SDMA_DEBUG_EVENT_CHANNEL_SEL
545+512 MX35_PAD_LD21__ARM11P_TOP_TRACE_14
546+513 MX35_PAD_LD22__IPU_DISPB_DAT_22
547+514 MX35_PAD_LD22__IPU_DISPB_WR
548+515 MX35_PAD_LD22__IPU_DISPB_SD_D_I
549+516 MX35_PAD_LD22__ESDHC3_DAT2
550+517 MX35_PAD_LD22__USB_TOP_USBOTG_NXT
551+518 MX35_PAD_LD22__GPIO3_28
552+519 MX35_PAD_LD22__SDMA_DEBUG_BUS_ERROR
553+520 MX35_PAD_LD22__ARM11P_TOP_TRCTL
554+521 MX35_PAD_LD23__IPU_DISPB_DAT_23
555+522 MX35_PAD_LD23__IPU_DISPB_RD
556+523 MX35_PAD_LD23__IPU_DISPB_SD_D_IO
557+524 MX35_PAD_LD23__ESDHC3_DAT3
558+525 MX35_PAD_LD23__USB_TOP_USBOTG_DATA_7
559+526 MX35_PAD_LD23__GPIO3_29
560+527 MX35_PAD_LD23__SDMA_DEBUG_MATCHED_DMBUS
561+528 MX35_PAD_LD23__ARM11P_TOP_TRCLK
562+529 MX35_PAD_D3_HSYNC__IPU_DISPB_D3_HSYNC
563+530 MX35_PAD_D3_HSYNC__IPU_DISPB_SD_D_IO
564+531 MX35_PAD_D3_HSYNC__GPIO3_30
565+532 MX35_PAD_D3_HSYNC__SDMA_DEBUG_RTBUFFER_WRITE
566+533 MX35_PAD_D3_HSYNC__ARM11P_TOP_TRACE_15
567+534 MX35_PAD_D3_FPSHIFT__IPU_DISPB_D3_CLK
568+535 MX35_PAD_D3_FPSHIFT__IPU_DISPB_SD_CLK
569+536 MX35_PAD_D3_FPSHIFT__GPIO3_31
570+537 MX35_PAD_D3_FPSHIFT__SDMA_SDMA_DEBUG_CORE_STATUS_0
571+538 MX35_PAD_D3_FPSHIFT__ARM11P_TOP_TRACE_16
572+539 MX35_PAD_D3_DRDY__IPU_DISPB_D3_DRDY
573+540 MX35_PAD_D3_DRDY__IPU_DISPB_SD_D_O
574+541 MX35_PAD_D3_DRDY__GPIO1_0
575+542 MX35_PAD_D3_DRDY__SDMA_SDMA_DEBUG_CORE_STATUS_1
576+543 MX35_PAD_D3_DRDY__ARM11P_TOP_TRACE_17
577+544 MX35_PAD_CONTRAST__IPU_DISPB_CONTR
578+545 MX35_PAD_CONTRAST__GPIO1_1
579+546 MX35_PAD_CONTRAST__SDMA_SDMA_DEBUG_CORE_STATUS_2
580+547 MX35_PAD_CONTRAST__ARM11P_TOP_TRACE_18
581+548 MX35_PAD_D3_VSYNC__IPU_DISPB_D3_VSYNC
582+549 MX35_PAD_D3_VSYNC__IPU_DISPB_CS1
583+550 MX35_PAD_D3_VSYNC__GPIO1_2
584+551 MX35_PAD_D3_VSYNC__SDMA_DEBUG_YIELD
585+552 MX35_PAD_D3_VSYNC__ARM11P_TOP_TRACE_19
586+553 MX35_PAD_D3_REV__IPU_DISPB_D3_REV
587+554 MX35_PAD_D3_REV__IPU_DISPB_SER_RS
588+555 MX35_PAD_D3_REV__GPIO1_3
589+556 MX35_PAD_D3_REV__SDMA_DEBUG_BUS_RWB
590+557 MX35_PAD_D3_REV__ARM11P_TOP_TRACE_20
591+558 MX35_PAD_D3_CLS__IPU_DISPB_D3_CLS
592+559 MX35_PAD_D3_CLS__IPU_DISPB_CS2
593+560 MX35_PAD_D3_CLS__GPIO1_4
594+561 MX35_PAD_D3_CLS__SDMA_DEBUG_BUS_DEVICE_0
595+562 MX35_PAD_D3_CLS__ARM11P_TOP_TRACE_21
596+563 MX35_PAD_D3_SPL__IPU_DISPB_D3_SPL
597+564 MX35_PAD_D3_SPL__IPU_DISPB_D12_VSYNC
598+565 MX35_PAD_D3_SPL__GPIO1_5
599+566 MX35_PAD_D3_SPL__SDMA_DEBUG_BUS_DEVICE_1
600+567 MX35_PAD_D3_SPL__ARM11P_TOP_TRACE_22
601+568 MX35_PAD_SD1_CMD__ESDHC1_CMD
602+569 MX35_PAD_SD1_CMD__MSHC_SCLK
603+570 MX35_PAD_SD1_CMD__IPU_DISPB_D0_VSYNC
604+571 MX35_PAD_SD1_CMD__USB_TOP_USBOTG_DATA_4
605+572 MX35_PAD_SD1_CMD__GPIO1_6
606+573 MX35_PAD_SD1_CMD__ARM11P_TOP_TRCTL
607+574 MX35_PAD_SD1_CLK__ESDHC1_CLK
608+575 MX35_PAD_SD1_CLK__MSHC_BS
609+576 MX35_PAD_SD1_CLK__IPU_DISPB_BCLK
610+577 MX35_PAD_SD1_CLK__USB_TOP_USBOTG_DATA_5
611+578 MX35_PAD_SD1_CLK__GPIO1_7
612+579 MX35_PAD_SD1_CLK__ARM11P_TOP_TRCLK
613+580 MX35_PAD_SD1_DATA0__ESDHC1_DAT0
614+581 MX35_PAD_SD1_DATA0__MSHC_DATA_0
615+582 MX35_PAD_SD1_DATA0__IPU_DISPB_CS0
616+583 MX35_PAD_SD1_DATA0__USB_TOP_USBOTG_DATA_6
617+584 MX35_PAD_SD1_DATA0__GPIO1_8
618+585 MX35_PAD_SD1_DATA0__ARM11P_TOP_TRACE_23
619+586 MX35_PAD_SD1_DATA1__ESDHC1_DAT1
620+587 MX35_PAD_SD1_DATA1__MSHC_DATA_1
621+588 MX35_PAD_SD1_DATA1__IPU_DISPB_PAR_RS
622+589 MX35_PAD_SD1_DATA1__USB_TOP_USBOTG_DATA_0
623+590 MX35_PAD_SD1_DATA1__GPIO1_9
624+591 MX35_PAD_SD1_DATA1__ARM11P_TOP_TRACE_24
625+592 MX35_PAD_SD1_DATA2__ESDHC1_DAT2
626+593 MX35_PAD_SD1_DATA2__MSHC_DATA_2
627+594 MX35_PAD_SD1_DATA2__IPU_DISPB_WR
628+595 MX35_PAD_SD1_DATA2__USB_TOP_USBOTG_DATA_1
629+596 MX35_PAD_SD1_DATA2__GPIO1_10
630+597 MX35_PAD_SD1_DATA2__ARM11P_TOP_TRACE_25
631+598 MX35_PAD_SD1_DATA3__ESDHC1_DAT3
632+599 MX35_PAD_SD1_DATA3__MSHC_DATA_3
633+600 MX35_PAD_SD1_DATA3__IPU_DISPB_RD
634+601 MX35_PAD_SD1_DATA3__USB_TOP_USBOTG_DATA_2
635+602 MX35_PAD_SD1_DATA3__GPIO1_11
636+603 MX35_PAD_SD1_DATA3__ARM11P_TOP_TRACE_26
637+604 MX35_PAD_SD2_CMD__ESDHC2_CMD
638+605 MX35_PAD_SD2_CMD__I2C3_SCL
639+606 MX35_PAD_SD2_CMD__ESDHC1_DAT4
640+607 MX35_PAD_SD2_CMD__IPU_CSI_D_2
641+608 MX35_PAD_SD2_CMD__USB_TOP_USBH2_DATA_4
642+609 MX35_PAD_SD2_CMD__GPIO2_0
643+610 MX35_PAD_SD2_CMD__SPDIF_SPDIF_OUT1
644+611 MX35_PAD_SD2_CMD__IPU_DISPB_D12_VSYNC
645+612 MX35_PAD_SD2_CLK__ESDHC2_CLK
646+613 MX35_PAD_SD2_CLK__I2C3_SDA
647+614 MX35_PAD_SD2_CLK__ESDHC1_DAT5
648+615 MX35_PAD_SD2_CLK__IPU_CSI_D_3
649+616 MX35_PAD_SD2_CLK__USB_TOP_USBH2_DATA_5
650+617 MX35_PAD_SD2_CLK__GPIO2_1
651+618 MX35_PAD_SD2_CLK__SPDIF_SPDIF_IN1
652+619 MX35_PAD_SD2_CLK__IPU_DISPB_CS2
653+620 MX35_PAD_SD2_DATA0__ESDHC2_DAT0
654+621 MX35_PAD_SD2_DATA0__UART3_RXD_MUX
655+622 MX35_PAD_SD2_DATA0__ESDHC1_DAT6
656+623 MX35_PAD_SD2_DATA0__IPU_CSI_D_4
657+624 MX35_PAD_SD2_DATA0__USB_TOP_USBH2_DATA_6
658+625 MX35_PAD_SD2_DATA0__GPIO2_2
659+626 MX35_PAD_SD2_DATA0__SPDIF_SPDIF_EXTCLK
660+627 MX35_PAD_SD2_DATA1__ESDHC2_DAT1
661+628 MX35_PAD_SD2_DATA1__UART3_TXD_MUX
662+629 MX35_PAD_SD2_DATA1__ESDHC1_DAT7
663+630 MX35_PAD_SD2_DATA1__IPU_CSI_D_5
664+631 MX35_PAD_SD2_DATA1__USB_TOP_USBH2_DATA_0
665+632 MX35_PAD_SD2_DATA1__GPIO2_3
666+633 MX35_PAD_SD2_DATA2__ESDHC2_DAT2
667+634 MX35_PAD_SD2_DATA2__UART3_RTS
668+635 MX35_PAD_SD2_DATA2__CAN1_RXCAN
669+636 MX35_PAD_SD2_DATA2__IPU_CSI_D_6
670+637 MX35_PAD_SD2_DATA2__USB_TOP_USBH2_DATA_1
671+638 MX35_PAD_SD2_DATA2__GPIO2_4
672+639 MX35_PAD_SD2_DATA3__ESDHC2_DAT3
673+640 MX35_PAD_SD2_DATA3__UART3_CTS
674+641 MX35_PAD_SD2_DATA3__CAN1_TXCAN
675+642 MX35_PAD_SD2_DATA3__IPU_CSI_D_7
676+643 MX35_PAD_SD2_DATA3__USB_TOP_USBH2_DATA_2
677+644 MX35_PAD_SD2_DATA3__GPIO2_5
678+645 MX35_PAD_ATA_CS0__ATA_CS0
679+646 MX35_PAD_ATA_CS0__CSPI1_SS3
680+647 MX35_PAD_ATA_CS0__IPU_DISPB_CS1
681+648 MX35_PAD_ATA_CS0__GPIO2_6
682+649 MX35_PAD_ATA_CS0__IPU_DIAGB_0
683+650 MX35_PAD_ATA_CS0__ARM11P_TOP_MAX1_HMASTER_0
684+651 MX35_PAD_ATA_CS1__ATA_CS1
685+652 MX35_PAD_ATA_CS1__IPU_DISPB_CS2
686+653 MX35_PAD_ATA_CS1__CSPI2_SS0
687+654 MX35_PAD_ATA_CS1__GPIO2_7
688+655 MX35_PAD_ATA_CS1__IPU_DIAGB_1
689+656 MX35_PAD_ATA_CS1__ARM11P_TOP_MAX1_HMASTER_1
690+657 MX35_PAD_ATA_DIOR__ATA_DIOR
691+658 MX35_PAD_ATA_DIOR__ESDHC3_DAT0
692+659 MX35_PAD_ATA_DIOR__USB_TOP_USBOTG_DIR
693+660 MX35_PAD_ATA_DIOR__IPU_DISPB_BE0
694+661 MX35_PAD_ATA_DIOR__CSPI2_SS1
695+662 MX35_PAD_ATA_DIOR__GPIO2_8
696+663 MX35_PAD_ATA_DIOR__IPU_DIAGB_2
697+664 MX35_PAD_ATA_DIOR__ARM11P_TOP_MAX1_HMASTER_2
698+665 MX35_PAD_ATA_DIOW__ATA_DIOW
699+666 MX35_PAD_ATA_DIOW__ESDHC3_DAT1
700+667 MX35_PAD_ATA_DIOW__USB_TOP_USBOTG_STP
701+668 MX35_PAD_ATA_DIOW__IPU_DISPB_BE1
702+669 MX35_PAD_ATA_DIOW__CSPI2_MOSI
703+670 MX35_PAD_ATA_DIOW__GPIO2_9
704+671 MX35_PAD_ATA_DIOW__IPU_DIAGB_3
705+672 MX35_PAD_ATA_DIOW__ARM11P_TOP_MAX1_HMASTER_3
706+673 MX35_PAD_ATA_DMACK__ATA_DMACK
707+674 MX35_PAD_ATA_DMACK__ESDHC3_DAT2
708+675 MX35_PAD_ATA_DMACK__USB_TOP_USBOTG_NXT
709+676 MX35_PAD_ATA_DMACK__CSPI2_MISO
710+677 MX35_PAD_ATA_DMACK__GPIO2_10
711+678 MX35_PAD_ATA_DMACK__IPU_DIAGB_4
712+679 MX35_PAD_ATA_DMACK__ARM11P_TOP_MAX0_HMASTER_0
713+680 MX35_PAD_ATA_RESET_B__ATA_RESET_B
714+681 MX35_PAD_ATA_RESET_B__ESDHC3_DAT3
715+682 MX35_PAD_ATA_RESET_B__USB_TOP_USBOTG_DATA_0
716+683 MX35_PAD_ATA_RESET_B__IPU_DISPB_SD_D_O
717+684 MX35_PAD_ATA_RESET_B__CSPI2_RDY
718+685 MX35_PAD_ATA_RESET_B__GPIO2_11
719+686 MX35_PAD_ATA_RESET_B__IPU_DIAGB_5
720+687 MX35_PAD_ATA_RESET_B__ARM11P_TOP_MAX0_HMASTER_1
721+688 MX35_PAD_ATA_IORDY__ATA_IORDY
722+689 MX35_PAD_ATA_IORDY__ESDHC3_DAT4
723+690 MX35_PAD_ATA_IORDY__USB_TOP_USBOTG_DATA_1
724+691 MX35_PAD_ATA_IORDY__IPU_DISPB_SD_D_IO
725+692 MX35_PAD_ATA_IORDY__ESDHC2_DAT4
726+693 MX35_PAD_ATA_IORDY__GPIO2_12
727+694 MX35_PAD_ATA_IORDY__IPU_DIAGB_6
728+695 MX35_PAD_ATA_IORDY__ARM11P_TOP_MAX0_HMASTER_2
729+696 MX35_PAD_ATA_DATA0__ATA_DATA_0
730+697 MX35_PAD_ATA_DATA0__ESDHC3_DAT5
731+698 MX35_PAD_ATA_DATA0__USB_TOP_USBOTG_DATA_2
732+699 MX35_PAD_ATA_DATA0__IPU_DISPB_D12_VSYNC
733+700 MX35_PAD_ATA_DATA0__ESDHC2_DAT5
734+701 MX35_PAD_ATA_DATA0__GPIO2_13
735+702 MX35_PAD_ATA_DATA0__IPU_DIAGB_7
736+703 MX35_PAD_ATA_DATA0__ARM11P_TOP_MAX0_HMASTER_3
737+704 MX35_PAD_ATA_DATA1__ATA_DATA_1
738+705 MX35_PAD_ATA_DATA1__ESDHC3_DAT6
739+706 MX35_PAD_ATA_DATA1__USB_TOP_USBOTG_DATA_3
740+707 MX35_PAD_ATA_DATA1__IPU_DISPB_SD_CLK
741+708 MX35_PAD_ATA_DATA1__ESDHC2_DAT6
742+709 MX35_PAD_ATA_DATA1__GPIO2_14
743+710 MX35_PAD_ATA_DATA1__IPU_DIAGB_8
744+711 MX35_PAD_ATA_DATA1__ARM11P_TOP_TRACE_27
745+712 MX35_PAD_ATA_DATA2__ATA_DATA_2
746+713 MX35_PAD_ATA_DATA2__ESDHC3_DAT7
747+714 MX35_PAD_ATA_DATA2__USB_TOP_USBOTG_DATA_4
748+715 MX35_PAD_ATA_DATA2__IPU_DISPB_SER_RS
749+716 MX35_PAD_ATA_DATA2__ESDHC2_DAT7
750+717 MX35_PAD_ATA_DATA2__GPIO2_15
751+718 MX35_PAD_ATA_DATA2__IPU_DIAGB_9
752+719 MX35_PAD_ATA_DATA2__ARM11P_TOP_TRACE_28
753+720 MX35_PAD_ATA_DATA3__ATA_DATA_3
754+721 MX35_PAD_ATA_DATA3__ESDHC3_CLK
755+722 MX35_PAD_ATA_DATA3__USB_TOP_USBOTG_DATA_5
756+723 MX35_PAD_ATA_DATA3__CSPI2_SCLK
757+724 MX35_PAD_ATA_DATA3__GPIO2_16
758+725 MX35_PAD_ATA_DATA3__IPU_DIAGB_10
759+726 MX35_PAD_ATA_DATA3__ARM11P_TOP_TRACE_29
760+727 MX35_PAD_ATA_DATA4__ATA_DATA_4
761+728 MX35_PAD_ATA_DATA4__ESDHC3_CMD
762+729 MX35_PAD_ATA_DATA4__USB_TOP_USBOTG_DATA_6
763+730 MX35_PAD_ATA_DATA4__GPIO2_17
764+731 MX35_PAD_ATA_DATA4__IPU_DIAGB_11
765+732 MX35_PAD_ATA_DATA4__ARM11P_TOP_TRACE_30
766+733 MX35_PAD_ATA_DATA5__ATA_DATA_5
767+734 MX35_PAD_ATA_DATA5__USB_TOP_USBOTG_DATA_7
768+735 MX35_PAD_ATA_DATA5__GPIO2_18
769+736 MX35_PAD_ATA_DATA5__IPU_DIAGB_12
770+737 MX35_PAD_ATA_DATA5__ARM11P_TOP_TRACE_31
771+738 MX35_PAD_ATA_DATA6__ATA_DATA_6
772+739 MX35_PAD_ATA_DATA6__CAN1_TXCAN
773+740 MX35_PAD_ATA_DATA6__UART1_DTR
774+741 MX35_PAD_ATA_DATA6__AUDMUX_AUD6_TXD
775+742 MX35_PAD_ATA_DATA6__GPIO2_19
776+743 MX35_PAD_ATA_DATA6__IPU_DIAGB_13
777+744 MX35_PAD_ATA_DATA7__ATA_DATA_7
778+745 MX35_PAD_ATA_DATA7__CAN1_RXCAN
779+746 MX35_PAD_ATA_DATA7__UART1_DSR
780+747 MX35_PAD_ATA_DATA7__AUDMUX_AUD6_RXD
781+748 MX35_PAD_ATA_DATA7__GPIO2_20
782+749 MX35_PAD_ATA_DATA7__IPU_DIAGB_14
783+750 MX35_PAD_ATA_DATA8__ATA_DATA_8
784+751 MX35_PAD_ATA_DATA8__UART3_RTS
785+752 MX35_PAD_ATA_DATA8__UART1_RI
786+753 MX35_PAD_ATA_DATA8__AUDMUX_AUD6_TXC
787+754 MX35_PAD_ATA_DATA8__GPIO2_21
788+755 MX35_PAD_ATA_DATA8__IPU_DIAGB_15
789+756 MX35_PAD_ATA_DATA9__ATA_DATA_9
790+757 MX35_PAD_ATA_DATA9__UART3_CTS
791+758 MX35_PAD_ATA_DATA9__UART1_DCD
792+759 MX35_PAD_ATA_DATA9__AUDMUX_AUD6_TXFS
793+760 MX35_PAD_ATA_DATA9__GPIO2_22
794+761 MX35_PAD_ATA_DATA9__IPU_DIAGB_16
795+762 MX35_PAD_ATA_DATA10__ATA_DATA_10
796+763 MX35_PAD_ATA_DATA10__UART3_RXD_MUX
797+764 MX35_PAD_ATA_DATA10__AUDMUX_AUD6_RXC
798+765 MX35_PAD_ATA_DATA10__GPIO2_23
799+766 MX35_PAD_ATA_DATA10__IPU_DIAGB_17
800+767 MX35_PAD_ATA_DATA11__ATA_DATA_11
801+768 MX35_PAD_ATA_DATA11__UART3_TXD_MUX
802+769 MX35_PAD_ATA_DATA11__AUDMUX_AUD6_RXFS
803+770 MX35_PAD_ATA_DATA11__GPIO2_24
804+771 MX35_PAD_ATA_DATA11__IPU_DIAGB_18
805+772 MX35_PAD_ATA_DATA12__ATA_DATA_12
806+773 MX35_PAD_ATA_DATA12__I2C3_SCL
807+774 MX35_PAD_ATA_DATA12__GPIO2_25
808+775 MX35_PAD_ATA_DATA12__IPU_DIAGB_19
809+776 MX35_PAD_ATA_DATA13__ATA_DATA_13
810+777 MX35_PAD_ATA_DATA13__I2C3_SDA
811+778 MX35_PAD_ATA_DATA13__GPIO2_26
812+779 MX35_PAD_ATA_DATA13__IPU_DIAGB_20
813+780 MX35_PAD_ATA_DATA14__ATA_DATA_14
814+781 MX35_PAD_ATA_DATA14__IPU_CSI_D_0
815+782 MX35_PAD_ATA_DATA14__KPP_ROW_0
816+783 MX35_PAD_ATA_DATA14__GPIO2_27
817+784 MX35_PAD_ATA_DATA14__IPU_DIAGB_21
818+785 MX35_PAD_ATA_DATA15__ATA_DATA_15
819+786 MX35_PAD_ATA_DATA15__IPU_CSI_D_1
820+787 MX35_PAD_ATA_DATA15__KPP_ROW_1
821+788 MX35_PAD_ATA_DATA15__GPIO2_28
822+789 MX35_PAD_ATA_DATA15__IPU_DIAGB_22
823+790 MX35_PAD_ATA_INTRQ__ATA_INTRQ
824+791 MX35_PAD_ATA_INTRQ__IPU_CSI_D_2
825+792 MX35_PAD_ATA_INTRQ__KPP_ROW_2
826+793 MX35_PAD_ATA_INTRQ__GPIO2_29
827+794 MX35_PAD_ATA_INTRQ__IPU_DIAGB_23
828+795 MX35_PAD_ATA_BUFF_EN__ATA_BUFFER_EN
829+796 MX35_PAD_ATA_BUFF_EN__IPU_CSI_D_3
830+797 MX35_PAD_ATA_BUFF_EN__KPP_ROW_3
831+798 MX35_PAD_ATA_BUFF_EN__GPIO2_30
832+799 MX35_PAD_ATA_BUFF_EN__IPU_DIAGB_24
833+800 MX35_PAD_ATA_DMARQ__ATA_DMARQ
834+801 MX35_PAD_ATA_DMARQ__IPU_CSI_D_4
835+802 MX35_PAD_ATA_DMARQ__KPP_COL_0
836+803 MX35_PAD_ATA_DMARQ__GPIO2_31
837+804 MX35_PAD_ATA_DMARQ__IPU_DIAGB_25
838+805 MX35_PAD_ATA_DMARQ__ECT_CTI_TRIG_IN1_4
839+806 MX35_PAD_ATA_DA0__ATA_DA_0
840+807 MX35_PAD_ATA_DA0__IPU_CSI_D_5
841+808 MX35_PAD_ATA_DA0__KPP_COL_1
842+809 MX35_PAD_ATA_DA0__GPIO3_0
843+810 MX35_PAD_ATA_DA0__IPU_DIAGB_26
844+811 MX35_PAD_ATA_DA0__ECT_CTI_TRIG_IN1_5
845+812 MX35_PAD_ATA_DA1__ATA_DA_1
846+813 MX35_PAD_ATA_DA1__IPU_CSI_D_6
847+814 MX35_PAD_ATA_DA1__KPP_COL_2
848+815 MX35_PAD_ATA_DA1__GPIO3_1
849+816 MX35_PAD_ATA_DA1__IPU_DIAGB_27
850+817 MX35_PAD_ATA_DA1__ECT_CTI_TRIG_IN1_6
851+818 MX35_PAD_ATA_DA2__ATA_DA_2
852+819 MX35_PAD_ATA_DA2__IPU_CSI_D_7
853+820 MX35_PAD_ATA_DA2__KPP_COL_3
854+821 MX35_PAD_ATA_DA2__GPIO3_2
855+822 MX35_PAD_ATA_DA2__IPU_DIAGB_28
856+823 MX35_PAD_ATA_DA2__ECT_CTI_TRIG_IN1_7
857+824 MX35_PAD_MLB_CLK__MLB_MLBCLK
858+825 MX35_PAD_MLB_CLK__GPIO3_3
859+826 MX35_PAD_MLB_DAT__MLB_MLBDAT
860+827 MX35_PAD_MLB_DAT__GPIO3_4
861+828 MX35_PAD_MLB_SIG__MLB_MLBSIG
862+829 MX35_PAD_MLB_SIG__GPIO3_5
863+830 MX35_PAD_FEC_TX_CLK__FEC_TX_CLK
864+831 MX35_PAD_FEC_TX_CLK__ESDHC1_DAT4
865+832 MX35_PAD_FEC_TX_CLK__UART3_RXD_MUX
866+833 MX35_PAD_FEC_TX_CLK__USB_TOP_USBH2_DIR
867+834 MX35_PAD_FEC_TX_CLK__CSPI2_MOSI
868+835 MX35_PAD_FEC_TX_CLK__GPIO3_6
869+836 MX35_PAD_FEC_TX_CLK__IPU_DISPB_D12_VSYNC
870+837 MX35_PAD_FEC_TX_CLK__ARM11P_TOP_EVNTBUS_0
871+838 MX35_PAD_FEC_RX_CLK__FEC_RX_CLK
872+839 MX35_PAD_FEC_RX_CLK__ESDHC1_DAT5
873+840 MX35_PAD_FEC_RX_CLK__UART3_TXD_MUX
874+841 MX35_PAD_FEC_RX_CLK__USB_TOP_USBH2_STP
875+842 MX35_PAD_FEC_RX_CLK__CSPI2_MISO
876+843 MX35_PAD_FEC_RX_CLK__GPIO3_7
877+844 MX35_PAD_FEC_RX_CLK__IPU_DISPB_SD_D_I
878+845 MX35_PAD_FEC_RX_CLK__ARM11P_TOP_EVNTBUS_1
879+846 MX35_PAD_FEC_RX_DV__FEC_RX_DV
880+847 MX35_PAD_FEC_RX_DV__ESDHC1_DAT6
881+848 MX35_PAD_FEC_RX_DV__UART3_RTS
882+849 MX35_PAD_FEC_RX_DV__USB_TOP_USBH2_NXT
883+850 MX35_PAD_FEC_RX_DV__CSPI2_SCLK
884+851 MX35_PAD_FEC_RX_DV__GPIO3_8
885+852 MX35_PAD_FEC_RX_DV__IPU_DISPB_SD_CLK
886+853 MX35_PAD_FEC_RX_DV__ARM11P_TOP_EVNTBUS_2
887+854 MX35_PAD_FEC_COL__FEC_COL
888+855 MX35_PAD_FEC_COL__ESDHC1_DAT7
889+856 MX35_PAD_FEC_COL__UART3_CTS
890+857 MX35_PAD_FEC_COL__USB_TOP_USBH2_DATA_0
891+858 MX35_PAD_FEC_COL__CSPI2_RDY
892+859 MX35_PAD_FEC_COL__GPIO3_9
893+860 MX35_PAD_FEC_COL__IPU_DISPB_SER_RS
894+861 MX35_PAD_FEC_COL__ARM11P_TOP_EVNTBUS_3
895+862 MX35_PAD_FEC_RDATA0__FEC_RDATA_0
896+863 MX35_PAD_FEC_RDATA0__PWM_PWMO
897+864 MX35_PAD_FEC_RDATA0__UART3_DTR
898+865 MX35_PAD_FEC_RDATA0__USB_TOP_USBH2_DATA_1
899+866 MX35_PAD_FEC_RDATA0__CSPI2_SS0
900+867 MX35_PAD_FEC_RDATA0__GPIO3_10
901+868 MX35_PAD_FEC_RDATA0__IPU_DISPB_CS1
902+869 MX35_PAD_FEC_RDATA0__ARM11P_TOP_EVNTBUS_4
903+870 MX35_PAD_FEC_TDATA0__FEC_TDATA_0
904+871 MX35_PAD_FEC_TDATA0__SPDIF_SPDIF_OUT1
905+872 MX35_PAD_FEC_TDATA0__UART3_DSR
906+873 MX35_PAD_FEC_TDATA0__USB_TOP_USBH2_DATA_2
907+874 MX35_PAD_FEC_TDATA0__CSPI2_SS1
908+875 MX35_PAD_FEC_TDATA0__GPIO3_11
909+876 MX35_PAD_FEC_TDATA0__IPU_DISPB_CS0
910+877 MX35_PAD_FEC_TDATA0__ARM11P_TOP_EVNTBUS_5
911+878 MX35_PAD_FEC_TX_EN__FEC_TX_EN
912+879 MX35_PAD_FEC_TX_EN__SPDIF_SPDIF_IN1
913+880 MX35_PAD_FEC_TX_EN__UART3_RI
914+881 MX35_PAD_FEC_TX_EN__USB_TOP_USBH2_DATA_3
915+882 MX35_PAD_FEC_TX_EN__GPIO3_12
916+883 MX35_PAD_FEC_TX_EN__IPU_DISPB_PAR_RS
917+884 MX35_PAD_FEC_TX_EN__ARM11P_TOP_EVNTBUS_6
918+885 MX35_PAD_FEC_MDC__FEC_MDC
919+886 MX35_PAD_FEC_MDC__CAN2_TXCAN
920+887 MX35_PAD_FEC_MDC__UART3_DCD
921+888 MX35_PAD_FEC_MDC__USB_TOP_USBH2_DATA_4
922+889 MX35_PAD_FEC_MDC__GPIO3_13
923+890 MX35_PAD_FEC_MDC__IPU_DISPB_WR
924+891 MX35_PAD_FEC_MDC__ARM11P_TOP_EVNTBUS_7
925+892 MX35_PAD_FEC_MDIO__FEC_MDIO
926+893 MX35_PAD_FEC_MDIO__CAN2_RXCAN
927+894 MX35_PAD_FEC_MDIO__USB_TOP_USBH2_DATA_5
928+895 MX35_PAD_FEC_MDIO__GPIO3_14
929+896 MX35_PAD_FEC_MDIO__IPU_DISPB_RD
930+897 MX35_PAD_FEC_MDIO__ARM11P_TOP_EVNTBUS_8
931+898 MX35_PAD_FEC_TX_ERR__FEC_TX_ERR
932+899 MX35_PAD_FEC_TX_ERR__OWIRE_LINE
933+900 MX35_PAD_FEC_TX_ERR__SPDIF_SPDIF_EXTCLK
934+901 MX35_PAD_FEC_TX_ERR__USB_TOP_USBH2_DATA_6
935+902 MX35_PAD_FEC_TX_ERR__GPIO3_15
936+903 MX35_PAD_FEC_TX_ERR__IPU_DISPB_D0_VSYNC
937+904 MX35_PAD_FEC_TX_ERR__ARM11P_TOP_EVNTBUS_9
938+905 MX35_PAD_FEC_RX_ERR__FEC_RX_ERR
939+906 MX35_PAD_FEC_RX_ERR__IPU_CSI_D_0
940+907 MX35_PAD_FEC_RX_ERR__USB_TOP_USBH2_DATA_7
941+908 MX35_PAD_FEC_RX_ERR__KPP_COL_4
942+909 MX35_PAD_FEC_RX_ERR__GPIO3_16
943+910 MX35_PAD_FEC_RX_ERR__IPU_DISPB_SD_D_IO
944+911 MX35_PAD_FEC_CRS__FEC_CRS
945+912 MX35_PAD_FEC_CRS__IPU_CSI_D_1
946+913 MX35_PAD_FEC_CRS__USB_TOP_USBH2_PWR
947+914 MX35_PAD_FEC_CRS__KPP_COL_5
948+915 MX35_PAD_FEC_CRS__GPIO3_17
949+916 MX35_PAD_FEC_CRS__IPU_FLASH_STROBE
950+917 MX35_PAD_FEC_RDATA1__FEC_RDATA_1
951+918 MX35_PAD_FEC_RDATA1__IPU_CSI_D_2
952+919 MX35_PAD_FEC_RDATA1__AUDMUX_AUD6_RXC
953+920 MX35_PAD_FEC_RDATA1__USB_TOP_USBH2_OC
954+921 MX35_PAD_FEC_RDATA1__KPP_COL_6
955+922 MX35_PAD_FEC_RDATA1__GPIO3_18
956+923 MX35_PAD_FEC_RDATA1__IPU_DISPB_BE0
957+924 MX35_PAD_FEC_TDATA1__FEC_TDATA_1
958+925 MX35_PAD_FEC_TDATA1__IPU_CSI_D_3
959+926 MX35_PAD_FEC_TDATA1__AUDMUX_AUD6_RXFS
960+927 MX35_PAD_FEC_TDATA1__KPP_COL_7
961+928 MX35_PAD_FEC_TDATA1__GPIO3_19
962+929 MX35_PAD_FEC_TDATA1__IPU_DISPB_BE1
963+930 MX35_PAD_FEC_RDATA2__FEC_RDATA_2
964+931 MX35_PAD_FEC_RDATA2__IPU_CSI_D_4
965+932 MX35_PAD_FEC_RDATA2__AUDMUX_AUD6_TXD
966+933 MX35_PAD_FEC_RDATA2__KPP_ROW_4
967+934 MX35_PAD_FEC_RDATA2__GPIO3_20
968+935 MX35_PAD_FEC_TDATA2__FEC_TDATA_2
969+936 MX35_PAD_FEC_TDATA2__IPU_CSI_D_5
970+937 MX35_PAD_FEC_TDATA2__AUDMUX_AUD6_RXD
971+938 MX35_PAD_FEC_TDATA2__KPP_ROW_5
972+939 MX35_PAD_FEC_TDATA2__GPIO3_21
973+940 MX35_PAD_FEC_RDATA3__FEC_RDATA_3
974+941 MX35_PAD_FEC_RDATA3__IPU_CSI_D_6
975+942 MX35_PAD_FEC_RDATA3__AUDMUX_AUD6_TXC
976+943 MX35_PAD_FEC_RDATA3__KPP_ROW_6
977+944 MX35_PAD_FEC_RDATA3__GPIO3_22
978+945 MX35_PAD_FEC_TDATA3__FEC_TDATA_3
979+946 MX35_PAD_FEC_TDATA3__IPU_CSI_D_7
980+947 MX35_PAD_FEC_TDATA3__AUDMUX_AUD6_TXFS
981+948 MX35_PAD_FEC_TDATA3__KPP_ROW_7
982+949 MX35_PAD_FEC_TDATA3__GPIO3_23
983+950 MX35_PAD_EXT_ARMCLK__CCM_EXT_ARMCLK
984+951 MX35_PAD_TEST_MODE__TCU_TEST_MODE
Documentation/devicetree/bindings/pinctrl/lantiq,falcon-pinumx.txt+83−0
@@ -0,0 +1,83 @@
1+Lantiq FALCON pinmux controller
2+
3+Required properties:
4+- compatible: "lantiq,pinctrl-falcon"
5+- reg: Should contain the physical address and length of the gpio/pinmux
6+ register range
7+
8+Please refer to pinctrl-bindings.txt in this directory for details of the
9+common pinctrl bindings used by client devices, including the meaning of the
10+phrase "pin configuration node".
11+
12+Lantiq's pin configuration nodes act as a container for an abitrary number of
13+subnodes. Each of these subnodes represents some desired configuration for a
14+pin, a group, or a list of pins or groups. This configuration can include the
15+mux function to select on those group(s), and two pin configuration parameters:
16+pull-up and open-drain
17+
18+The name of each subnode is not important as long as it is unique; all subnodes
19+should be enumerated and processed purely based on their content.
20+
21+Each subnode only affects those parameters that are explicitly listed. In
22+other words, a subnode that lists a mux function but no pin configuration
23+parameters implies no information about any pin configuration parameters.
24+Similarly, a pin subnode that describes a pullup parameter implies no
25+information about e.g. the mux function.
26+
27+We support 2 types of nodes.
28+
29+Definition of mux function groups:
30+
31+Required subnode-properties:
32+- lantiq,groups : An array of strings. Each string contains the name of a group.
33+ Valid values for these names are listed below.
34+- lantiq,function: A string containing the name of the function to mux to the
35+ group. Valid values for function names are listed below.
36+
37+Valid values for group and function names:
38+
39+ mux groups:
40+ por, ntr, ntr8k, hrst, mdio, bootled, asc0, spi, spi cs0, spi cs1, i2c,
41+ jtag, slic, pcm, asc1
42+
43+ functions:
44+ rst, ntr, mdio, led, asc, spi, i2c, jtag, slic, pcm
45+
46+
47+Definition of pin configurations:
48+
49+Required subnode-properties:
50+- lantiq,pins : An array of strings. Each string contains the name of a pin.
51+ Valid values for these names are listed below.
52+
53+Optional subnode-properties:
54+- lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
55+ 0: none, 1: down
56+- lantiq,drive-current: Boolean, enables drive-current
57+- lantiq,slew-rate: Boolean, enables slew-rate
58+
59+Example:
60+ pinmux0 {
61+ compatible = "lantiq,pinctrl-falcon";
62+ pinctrl-names = "default";
63+ pinctrl-0 = <&state_default>;
64+
65+ state_default: pinmux {
66+ asc0 {
67+ lantiq,groups = "asc0";
68+ lantiq,function = "asc";
69+ };
70+ ntr {
71+ lantiq,groups = "ntr8k";
72+ lantiq,function = "ntr";
73+ };
74+ i2c {
75+ lantiq,groups = "i2c";
76+ lantiq,function = "i2c";
77+ };
78+ hrst {
79+ lantiq,groups = "hrst";
80+ lantiq,function = "rst";
81+ };
82+ };
83+ };
Documentation/devicetree/bindings/pinctrl/lantiq,xway-pinumx.txt+97−0
@@ -0,0 +1,97 @@
1+Lantiq XWAY pinmux controller
2+
3+Required properties:
4+- compatible: "lantiq,pinctrl-xway" or "lantiq,pinctrl-xr9"
5+- reg: Should contain the physical address and length of the gpio/pinmux
6+ register range
7+
8+Please refer to pinctrl-bindings.txt in this directory for details of the
9+common pinctrl bindings used by client devices, including the meaning of the
10+phrase "pin configuration node".
11+
12+Lantiq's pin configuration nodes act as a container for an abitrary number of
13+subnodes. Each of these subnodes represents some desired configuration for a
14+pin, a group, or a list of pins or groups. This configuration can include the
15+mux function to select on those group(s), and two pin configuration parameters:
16+pull-up and open-drain
17+
18+The name of each subnode is not important as long as it is unique; all subnodes
19+should be enumerated and processed purely based on their content.
20+
21+Each subnode only affects those parameters that are explicitly listed. In
22+other words, a subnode that lists a mux function but no pin configuration
23+parameters implies no information about any pin configuration parameters.
24+Similarly, a pin subnode that describes a pullup parameter implies no
25+information about e.g. the mux function.
26+
27+We support 2 types of nodes.
28+
29+Definition of mux function groups:
30+
31+Required subnode-properties:
32+- lantiq,groups : An array of strings. Each string contains the name of a group.
33+ Valid values for these names are listed below.
34+- lantiq,function: A string containing the name of the function to mux to the
35+ group. Valid values for function names are listed below.
36+
37+Valid values for group and function names:
38+
39+ mux groups:
40+ exin0, exin1, exin2, jtag, ebu a23, ebu a24, ebu a25, ebu clk, ebu cs1,
41+ ebu wait, nand ale, nand cs1, nand cle, spi, spi_cs1, spi_cs2, spi_cs3,
42+ spi_cs4, spi_cs5, spi_cs6, asc0, asc0 cts rts, stp, nmi , gpt1, gpt2,
43+ gpt3, clkout0, clkout1, clkout2, clkout3, gnt1, gnt2, gnt3, req1, req2,
44+ req3
45+
46+ additional mux groups (XR9 only):
47+ mdio, nand rdy, nand rd, exin3, exin4, gnt4, req4
48+
49+ functions:
50+ spi, asc, cgu, jtag, exin, stp, gpt, nmi, pci, ebu, mdio
51+
52+
53+
54+Definition of pin configurations:
55+
56+Required subnode-properties:
57+- lantiq,pins : An array of strings. Each string contains the name of a pin.
58+ Valid values for these names are listed below.
59+
60+Optional subnode-properties:
61+- lantiq,pull: Integer, representing the pull-down/up to apply to the pin.
62+ 0: none, 1: down, 2: up.
63+- lantiq,open-drain: Boolean, enables open-drain on the defined pin.
64+
65+Valid values for XWAY pin names:
66+ Pinconf pins can be referenced via the names io0-io31.
67+
68+Valid values for XR9 pin names:
69+ Pinconf pins can be referenced via the names io0-io55.
70+
71+Example:
72+ gpio: pinmux@E100B10 {
73+ compatible = "lantiq,pinctrl-xway";
74+ pinctrl-names = "default";
75+ pinctrl-0 = <&state_default>;
76+
77+ #gpio-cells = <2>;
78+ gpio-controller;
79+ reg = <0xE100B10 0xA0>;
80+
81+ state_default: pinmux {
82+ stp {
83+ lantiq,groups = "stp";
84+ lantiq,function = "stp";
85+ };
86+ pci {
87+ lantiq,groups = "gnt1";
88+ lantiq,function = "pci";
89+ };
90+ conf_out {
91+ lantiq,pins = "io4", "io5", "io6"; /* stp */
92+ lantiq,open-drain;
93+ lantiq,pull = <0>;
94+ };
95+ };
96+ };
97+
Documentation/devicetree/bindings/pinctrl/marvell,armada-370-pinctrl.txt+95−0
@@ -0,0 +1,95 @@
1+* Marvell Armada 370 SoC pinctrl driver for mpp
2+
3+Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4+part and usage.
5+
6+Required properties:
7+- compatible: "marvell,88f6710-pinctrl"
8+
9+Available mpp pins/groups and functions:
10+Note: brackets (x) are not part of the mpp name for marvell,function and given
11+only for more detailed description in this document.
12+
13+name pins functions
14+================================================================================
15+mpp0 0 gpio, uart0(rxd)
16+mpp1 1 gpo, uart0(txd)
17+mpp2 2 gpio, i2c0(sck), uart0(txd)
18+mpp3 3 gpio, i2c0(sda), uart0(rxd)
19+mpp4 4 gpio, cpu_pd(vdd)
20+mpp5 5 gpo, ge0(txclko), uart1(txd), spi1(clk), audio(mclk)
21+mpp6 6 gpio, ge0(txd0), sata0(prsnt), tdm(rst), audio(sdo)
22+mpp7 7 gpo, ge0(txd1), tdm(tdx), audio(lrclk)
23+mpp8 8 gpio, ge0(txd2), uart0(rts), tdm(drx), audio(bclk)
24+mpp9 9 gpo, ge0(txd3), uart1(txd), sd0(clk), audio(spdifo)
25+mpp10 10 gpio, ge0(txctl), uart0(cts), tdm(fsync), audio(sdi)
26+mpp11 11 gpio, ge0(rxd0), uart1(rxd), sd0(cmd), spi0(cs1),
27+ sata1(prsnt), spi1(cs1)
28+mpp12 12 gpio, ge0(rxd1), i2c1(sda), sd0(d0), spi1(cs0),
29+ audio(spdifi)
30+mpp13 13 gpio, ge0(rxd2), i2c1(sck), sd0(d1), tdm(pclk),
31+ audio(rmclk)
32+mpp14 14 gpio, ge0(rxd3), pcie(clkreq0), sd0(d2), spi1(mosi),
33+ spi0(cs2)
34+mpp15 15 gpio, ge0(rxctl), pcie(clkreq1), sd0(d3), spi1(miso),
35+ spi0(cs3)
36+mpp16 16 gpio, ge0(rxclk), uart1(rxd), tdm(int), audio(extclk)
37+mpp17 17 gpo, ge(mdc)
38+mpp18 18 gpio, ge(mdio)
39+mpp19 19 gpio, ge0(txclk), ge1(txclkout), tdm(pclk)
40+mpp20 20 gpo, ge0(txd4), ge1(txd0)
41+mpp21 21 gpo, ge0(txd5), ge1(txd1), uart1(txd)
42+mpp22 22 gpo, ge0(txd6), ge1(txd2), uart0(rts)
43+mpp23 23 gpo, ge0(txd7), ge1(txd3), spi1(mosi)
44+mpp24 24 gpio, ge0(col), ge1(txctl), spi1(cs0)
45+mpp25 25 gpio, ge0(rxerr), ge1(rxd0), uart1(rxd)
46+mpp26 26 gpio, ge0(crs), ge1(rxd1), spi1(miso)
47+mpp27 27 gpio, ge0(rxd4), ge1(rxd2), uart0(cts)
48+mpp28 28 gpio, ge0(rxd5), ge1(rxd3)
49+mpp29 29 gpio, ge0(rxd6), ge1(rxctl), i2c1(sda)
50+mpp30 30 gpio, ge0(rxd7), ge1(rxclk), i2c1(sck)
51+mpp31 31 gpio, tclk, ge0(txerr)
52+mpp32 32 gpio, spi0(cs0)
53+mpp33 33 gpio, dev(bootcs), spi0(cs0)
54+mpp34 34 gpo, dev(wen0), spi0(mosi)
55+mpp35 35 gpo, dev(oen), spi0(sck)
56+mpp36 36 gpo, dev(a1), spi0(miso)
57+mpp37 37 gpo, dev(a0), sata0(prsnt)
58+mpp38 38 gpio, dev(ready), uart1(cts), uart0(cts)
59+mpp39 39 gpo, dev(ad0), audio(spdifo)
60+mpp40 40 gpio, dev(ad1), uart1(rts), uart0(rts)
61+mpp41 41 gpio, dev(ad2), uart1(rxd)
62+mpp42 42 gpo, dev(ad3), uart1(txd)
63+mpp43 43 gpo, dev(ad4), audio(bclk)
64+mpp44 44 gpo, dev(ad5), audio(mclk)
65+mpp45 45 gpo, dev(ad6), audio(lrclk)
66+mpp46 46 gpo, dev(ad7), audio(sdo)
67+mpp47 47 gpo, dev(ad8), sd0(clk), audio(spdifo)
68+mpp48 48 gpio, dev(ad9), uart0(rts), sd0(cmd), sata1(prsnt),
69+ spi0(cs1)
70+mpp49 49 gpio, dev(ad10), pcie(clkreq1), sd0(d0), spi1(cs0),
71+ audio(spdifi)
72+mpp50 50 gpio, dev(ad11), uart0(cts), sd0(d1), spi1(miso),
73+ audio(rmclk)
74+mpp51 51 gpio, dev(ad12), i2c1(sda), sd0(d2), spi1(mosi)
75+mpp52 52 gpio, dev(ad13), i2c1(sck), sd0(d3), spi1(sck)
76+mpp53 53 gpio, dev(ad14), sd0(clk), tdm(pclk), spi0(cs2),
77+ pcie(clkreq1)
78+mpp54 54 gpo, dev(ad15), tdm(dtx)
79+mpp55 55 gpio, dev(cs1), uart1(txd), tdm(rst), sata1(prsnt),
80+ sata0(prsnt)
81+mpp56 56 gpio, dev(cs2), uart1(cts), uart0(cts), spi0(cs3),
82+ pcie(clkreq0), spi1(cs1)
83+mpp57 57 gpio, dev(cs3), uart1(rxd), tdm(fsync), sata0(prsnt),
84+ audio(sdo)
85+mpp58 58 gpio, dev(cs0), uart1(rts), tdm(int), audio(extclk),
86+ uart0(rts)
87+mpp59 59 gpo, dev(ale0), uart1(rts), uart0(rts), audio(bclk)
88+mpp60 60 gpio, dev(ale1), uart1(rxd), sata0(prsnt), pcie(rst-out),
89+ audio(sdi)
90+mpp61 61 gpo, dev(wen1), uart1(txd), audio(rclk)
91+mpp62 62 gpio, dev(a2), uart1(cts), tdm(drx), pcie(clkreq0),
92+ audio(mclk), uart0(cts)
93+mpp63 63 gpo, spi0(sck), tclk
94+mpp64 64 gpio, spi0(miso), spi0-1(cs1)
95+mpp65 65 gpio, spi0(mosi), spi0-1(cs2)
Documentation/devicetree/bindings/pinctrl/marvell,armada-xp-pinctrl.txt+100−0
@@ -0,0 +1,100 @@
1+* Marvell Armada XP SoC pinctrl driver for mpp
2+
3+Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4+part and usage.
5+
6+Required properties:
7+- compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl",
8+ "marvell,mv78460-pinctrl"
9+
10+This driver supports all Armada XP variants, i.e. mv78230, mv78260, and mv78460.
11+
12+Available mpp pins/groups and functions:
13+Note: brackets (x) are not part of the mpp name for marvell,function and given
14+only for more detailed description in this document.
15+
16+* Marvell Armada XP (all variants)
17+
18+name pins functions
19+================================================================================
20+mpp0 0 gpio, ge0(txclko), lcd(d0)
21+mpp1 1 gpio, ge0(txd0), lcd(d1)
22+mpp2 2 gpio, ge0(txd1), lcd(d2)
23+mpp3 3 gpio, ge0(txd2), lcd(d3)
24+mpp4 4 gpio, ge0(txd3), lcd(d4)
25+mpp5 5 gpio, ge0(txctl), lcd(d5)
26+mpp6 6 gpio, ge0(rxd0), lcd(d6)
27+mpp7 7 gpio, ge0(rxd1), lcd(d7)
28+mpp8 8 gpio, ge0(rxd2), lcd(d8)
29+mpp9 9 gpio, ge0(rxd3), lcd(d9)
30+mpp10 10 gpio, ge0(rxctl), lcd(d10)
31+mpp11 11 gpio, ge0(rxclk), lcd(d11)
32+mpp12 12 gpio, ge0(txd4), ge1(txd0), lcd(d12)
33+mpp13 13 gpio, ge0(txd5), ge1(txd1), lcd(d13)
34+mpp14 14 gpio, ge0(txd6), ge1(txd2), lcd(d15)
35+mpp15 15 gpio, ge0(txd7), ge1(txd3), lcd(d16)
36+mpp16 16 gpio, ge0(txd7), ge1(txd3), lcd(d16)
37+mpp17 17 gpio, ge0(col), ge1(txctl), lcd(d17)
38+mpp18 18 gpio, ge0(rxerr), ge1(rxd0), lcd(d18), ptp(trig)
39+mpp19 19 gpio, ge0(crs), ge1(rxd1), lcd(d19), ptp(evreq)
40+mpp20 20 gpio, ge0(rxd4), ge1(rxd2), lcd(d20), ptp(clk)
41+mpp21 21 gpio, ge0(rxd5), ge1(rxd3), lcd(d21), mem(bat)
42+mpp22 22 gpio, ge0(rxd6), ge1(rxctl), lcd(d22), sata0(prsnt)
43+mpp23 23 gpio, ge0(rxd7), ge1(rxclk), lcd(d23), sata1(prsnt)
44+mpp24 24 gpio, lcd(hsync), sata1(prsnt), nf(bootcs-re), tdm(rst)
45+mpp25 25 gpio, lcd(vsync), sata0(prsnt), nf(bootcs-we), tdm(pclk)
46+mpp26 26 gpio, lcd(clk), tdm(fsync), vdd(cpu1-pd)
47+mpp27 27 gpio, lcd(e), tdm(dtx), ptp(trig)
48+mpp28 28 gpio, lcd(pwm), tdm(drx), ptp(evreq)
49+mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk), vdd(cpu0-pd)
50+mpp30 30 gpio, tdm(int1), sd0(clk)
51+mpp31 31 gpio, tdm(int2), sd0(cmd), vdd(cpu0-pd)
52+mpp32 32 gpio, tdm(int3), sd0(d0), vdd(cpu1-pd)
53+mpp33 33 gpio, tdm(int4), sd0(d1), mem(bat)
54+mpp34 34 gpio, tdm(int5), sd0(d2), sata0(prsnt)
55+mpp35 35 gpio, tdm(int6), sd0(d3), sata1(prsnt)
56+mpp36 36 gpio, spi(mosi)
57+mpp37 37 gpio, spi(miso)
58+mpp38 38 gpio, spi(sck)
59+mpp39 39 gpio, spi(cs0)
60+mpp40 40 gpio, spi(cs1), uart2(cts), lcd(vga-hsync), vdd(cpu1-pd),
61+ pcie(clkreq0)
62+mpp41 41 gpio, spi(cs2), uart2(rts), lcd(vga-vsync), sata1(prsnt),
63+ pcie(clkreq1)
64+mpp42 42 gpio, uart2(rxd), uart0(cts), tdm(int7), tdm-1(timer),
65+ vdd(cpu0-pd)
66+mpp43 43 gpio, uart2(txd), uart0(rts), spi(cs3), pcie(rstout),
67+ vdd(cpu2-3-pd){1}
68+mpp44 44 gpio, uart2(cts), uart3(rxd), spi(cs4), pcie(clkreq2),
69+ mem(bat)
70+mpp45 45 gpio, uart2(rts), uart3(txd), spi(cs5), sata1(prsnt)
71+mpp46 46 gpio, uart3(rts), uart1(rts), spi(cs6), sata0(prsnt)
72+mpp47 47 gpio, uart3(cts), uart1(cts), spi(cs7), pcie(clkreq3),
73+ ref(clkout)
74+mpp48 48 gpio, tclk, dev(burst/last)
75+
76+* Marvell Armada XP (mv78260 and mv78460 only)
77+
78+name pins functions
79+================================================================================
80+mpp49 49 gpio, dev(we3)
81+mpp50 50 gpio, dev(we2)
82+mpp51 51 gpio, dev(ad16)
83+mpp52 52 gpio, dev(ad17)
84+mpp53 53 gpio, dev(ad18)
85+mpp54 54 gpio, dev(ad19)
86+mpp55 55 gpio, dev(ad20), vdd(cpu0-pd)
87+mpp56 56 gpio, dev(ad21), vdd(cpu1-pd)
88+mpp57 57 gpio, dev(ad22), vdd(cpu2-3-pd){1}
89+mpp58 58 gpio, dev(ad23)
90+mpp59 59 gpio, dev(ad24)
91+mpp60 60 gpio, dev(ad25)
92+mpp61 61 gpio, dev(ad26)
93+mpp62 62 gpio, dev(ad27)
94+mpp63 63 gpio, dev(ad28)
95+mpp64 64 gpio, dev(ad29)
96+mpp65 65 gpio, dev(ad30)
97+mpp66 66 gpio, dev(ad31)
98+
99+Notes:
100+* {1} vdd(cpu2-3-pd) only available on mv78460.
Documentation/devicetree/bindings/pinctrl/marvell,dove-pinctrl.txt+72−0
@@ -0,0 +1,72 @@
1+* Marvell Dove SoC pinctrl driver for mpp
2+
3+Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4+part and usage.
5+
6+Required properties:
7+- compatible: "marvell,dove-pinctrl"
8+- clocks: (optional) phandle of pdma clock
9+
10+Available mpp pins/groups and functions:
11+Note: brackets (x) are not part of the mpp name for marvell,function and given
12+only for more detailed description in this document.
13+
14+name pins functions
15+================================================================================
16+mpp0 0 gpio, pmu, uart2(rts), sdio0(cd), lcd0(pwm)
17+mpp1 1 gpio, pmu, uart2(cts), sdio0(wp), lcd1(pwm)
18+mpp2 2 gpio, pmu, uart2(txd), sdio0(buspwr), sata(prsnt),
19+ uart1(rts)
20+mpp3 3 gpio, pmu, uart2(rxd), sdio0(ledctrl), sata(act),
21+ uart1(cts), lcd-spi(cs1)
22+mpp4 4 gpio, pmu, uart3(rts), sdio1(cd), spi1(miso)
23+mpp5 5 gpio, pmu, uart3(cts), sdio1(wp), spi1(cs)
24+mpp6 6 gpio, pmu, uart3(txd), sdio1(buspwr), spi1(mosi)
25+mpp7 7 gpio, pmu, uart3(rxd), sdio1(ledctrl), spi1(sck)
26+mpp8 8 gpio, pmu, watchdog(rstout)
27+mpp9 9 gpio, pmu, pex1(clkreq)
28+mpp10 10 gpio, pmu, ssp(sclk)
29+mpp11 11 gpio, pmu, sata(prsnt), sata-1(act), sdio0(ledctrl),
30+ sdio1(ledctrl), pex0(clkreq)
31+mpp12 12 gpio, pmu, uart2(rts), audio0(extclk), sdio1(cd), sata(act)
32+mpp13 13 gpio, pmu, uart2(cts), audio1(extclk), sdio1(wp),
33+ ssp(extclk)
34+mpp14 14 gpio, pmu, uart2(txd), sdio1(buspwr), ssp(rxd)
35+mpp15 15 gpio, pmu, uart2(rxd), sdio1(ledctrl), ssp(sfrm)
36+mpp16 16 gpio, uart3(rts), sdio0(cd), ac97(sdi1), lcd-spi(cs1)
37+mpp17 17 gpio, uart3(cts), sdio0(wp), ac97(sdi2), twsi(sda),
38+ ac97-1(sysclko)
39+mpp18 18 gpio, uart3(txd), sdio0(buspwr), ac97(sdi3), lcd0(pwm)
40+mpp19 19 gpio, uart3(rxd), sdio0(ledctrl), twsi(sck)
41+mpp20 20 gpio, sdio0(cd), sdio1(cd), spi1(miso), lcd-spi(miso),
42+ ac97(sysclko)
43+mpp21 21 gpio, sdio0(wp), sdio1(wp), spi1(cs), lcd-spi(cs0),
44+ uart1(cts), ssp(sfrm)
45+mpp22 22 gpio, sdio0(buspwr), sdio1(buspwr), spi1(mosi),
46+ lcd-spi(mosi), uart1(cts), ssp(txd)
47+mpp23 23 gpio, sdio0(ledctrl), sdio1(ledctrl), spi1(sck),
48+ lcd-spi(sck), ssp(sclk)
49+mpp_camera 24-39 gpio, camera
50+mpp_sdio0 40-45 gpio, sdio0
51+mpp_sdio1 46-51 gpio, sdio1
52+mpp_audio1 52-57 gpio, i2s1/spdifo, i2s1, spdifo, twsi, ssp/spdifo, ssp,
53+ ssp/twsi
54+mpp_spi0 58-61 gpio, spi0
55+mpp_uart1 62-63 gpio, uart1
56+mpp_nand 64-71 gpo, nand
57+audio0 - i2s, ac97
58+twsi - none, opt1, opt2, opt3
59+
60+Notes:
61+* group "mpp_audio1" allows the following functions and gpio pins:
62+ - gpio : gpio on pins 52-57
63+ - i2s1/spdifo : audio1 i2s on pins 52-55 and spdifo on 57, no gpios
64+ - i2s1 : audio1 i2s on pins 52-55, gpio on pins 56,57
65+ - spdifo : spdifo on pin 57, gpio on pins 52-55
66+ - twsi : twsi on pins 56,57, gpio on pins 52-55
67+ - ssp/spdifo : ssp on pins 52-55, spdifo on pin 57, no gpios
68+ - ssp : ssp on pins 52-55, gpio on pins 56,57
69+ - ssp/twsi : ssp on pins 52-55, twsi on pins 56,57, no gpios
70+* group "audio0" internally muxes i2s0 or ac97 controller to the dedicated
71+ audio0 pins.
72+* group "twsi" internally muxes twsi controller to the dedicated or option pins.
Documentation/devicetree/bindings/pinctrl/marvell,kirkwood-pinctrl.txt+279−0
@@ -0,0 +1,279 @@
1+* Marvell Kirkwood SoC pinctrl driver for mpp
2+
3+Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding
4+part and usage.
5+
6+Required properties:
7+- compatible: "marvell,88f6180-pinctrl",
8+ "marvell,88f6190-pinctrl", "marvell,88f6192-pinctrl",
9+ "marvell,88f6281-pinctrl", "marvell,88f6282-pinctrl"
10+
11+This driver supports all kirkwood variants, i.e. 88f6180, 88f619x, and 88f628x.
12+
13+Available mpp pins/groups and functions:
14+Note: brackets (x) are not part of the mpp name for marvell,function and given
15+only for more detailed description in this document.
16+
17+* Marvell Kirkwood 88f6180
18+
19+name pins functions
20+================================================================================
21+mpp0 0 gpio, nand(io2), spi(cs)
22+mpp1 1 gpo, nand(io3), spi(mosi)
23+mpp2 2 gpo, nand(io4), spi(sck)
24+mpp3 3 gpo, nand(io5), spi(miso)
25+mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk)
26+mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig)
27+mpp6 6 sysrst(out), spi(mosi), ptp(trig)
28+mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig)
29+mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
30+ mii(col)
31+mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
32+ mii(crs)
33+mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig)
34+mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
35+ ptp-2(trig)
36+mpp12 12 gpo, sdio(clk)
37+mpp13 13 gpio, sdio(cmd), uart1(txd)
38+mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col)
39+mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd)
40+mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs)
41+mpp17 17 gpio, sdio(d3)
42+mpp18 18 gpo, nand(io0)
43+mpp19 19 gpo, nand(io1)
44+mpp20 20 gpio, mii(rxerr)
45+mpp21 21 gpio, audio(spdifi)
46+mpp22 22 gpio, audio(spdifo)
47+mpp23 23 gpio, audio(rmclk)
48+mpp24 24 gpio, audio(bclk)
49+mpp25 25 gpio, audio(sdo)
50+mpp26 26 gpio, audio(lrclk)
51+mpp27 27 gpio, audio(mclk)
52+mpp28 28 gpio, audio(sdi)
53+mpp29 29 gpio, audio(extclk)
54+
55+* Marvell Kirkwood 88f6190
56+
57+name pins functions
58+================================================================================
59+mpp0 0 gpio, nand(io2), spi(cs)
60+mpp1 1 gpo, nand(io3), spi(mosi)
61+mpp2 2 gpo, nand(io4), spi(sck)
62+mpp3 3 gpo, nand(io5), spi(miso)
63+mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk)
64+mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
65+mpp6 6 sysrst(out), spi(mosi), ptp(trig)
66+mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig)
67+mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
68+ mii(col), mii-1(rxerr)
69+mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
70+ mii(crs), sata0(prsnt)
71+mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig)
72+mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
73+ ptp-2(trig), sata0(act)
74+mpp12 12 gpo, sdio(clk)
75+mpp13 13 gpio, sdio(cmd), uart1(txd)
76+mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col)
77+mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
78+mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs)
79+mpp17 17 gpio, sdio(d3), sata0(prsnt)
80+mpp18 18 gpo, nand(io0)
81+mpp19 19 gpo, nand(io1)
82+mpp20 20 gpio, ge1(txd0)
83+mpp21 21 gpio, ge1(txd1), sata0(act)
84+mpp22 22 gpio, ge1(txd2)
85+mpp23 23 gpio, ge1(txd3), sata0(prsnt)
86+mpp24 24 gpio, ge1(rxd0)
87+mpp25 25 gpio, ge1(rxd1)
88+mpp26 26 gpio, ge1(rxd2)
89+mpp27 27 gpio, ge1(rxd3)
90+mpp28 28 gpio, ge1(col)
91+mpp29 29 gpio, ge1(txclk)
92+mpp30 30 gpio, ge1(rxclk)
93+mpp31 31 gpio, ge1(rxclk)
94+mpp32 32 gpio, ge1(txclko)
95+mpp33 33 gpo, ge1(txclk)
96+mpp34 34 gpio, ge1(txen)
97+mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr)
98+
99+* Marvell Kirkwood 88f6192
100+
101+name pins functions
102+================================================================================
103+mpp0 0 gpio, nand(io2), spi(cs)
104+mpp1 1 gpo, nand(io3), spi(mosi)
105+mpp2 2 gpo, nand(io4), spi(sck)
106+mpp3 3 gpo, nand(io5), spi(miso)
107+mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act)
108+mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
109+mpp6 6 sysrst(out), spi(mosi), ptp(trig)
110+mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig)
111+mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
112+ mii(col), mii-1(rxerr), sata1(prsnt)
113+mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
114+ mii(crs), sata0(prsnt)
115+mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig), sata1(act)
116+mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
117+ ptp-2(trig), sata0(act)
118+mpp12 12 gpo, sdio(clk)
119+mpp13 13 gpio, sdio(cmd), uart1(txd)
120+mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt)
121+mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
122+mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
123+ sata1(act)
124+mpp17 17 gpio, sdio(d3), sata0(prsnt)
125+mpp18 18 gpo, nand(io0)
126+mpp19 19 gpo, nand(io1)
127+mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
128+ sata1(act)
129+mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
130+ audio(spdifo)
131+mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
132+ sata1(prsnt)
133+mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
134+ audio(bclk)
135+mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo)
136+mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk)
137+mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk)
138+mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi)
139+mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk)
140+mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst)
141+mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk)
142+mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs)
143+mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx)
144+mpp33 33 gpo, ge1(txclk), tdm(drx)
145+mpp34 34 gpio, ge1(txen), tdm(spi-cs1)
146+mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql)
147+
148+* Marvell Kirkwood 88f6281
149+
150+name pins functions
151+================================================================================
152+mpp0 0 gpio, nand(io2), spi(cs)
153+mpp1 1 gpo, nand(io3), spi(mosi)
154+mpp2 2 gpo, nand(io4), spi(sck)
155+mpp3 3 gpo, nand(io5), spi(miso)
156+mpp4 4 gpio, nand(io6), uart0(rxd), ptp(clk), sata1(act)
157+mpp5 5 gpo, nand(io7), uart0(txd), ptp(trig), sata0(act)
158+mpp6 6 sysrst(out), spi(mosi), ptp(trig)
159+mpp7 7 gpo, pex(rsto), spi(cs), ptp(trig)
160+mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), ptp(clk),
161+ mii(col), mii-1(rxerr), sata1(prsnt)
162+mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), ptp(evreq),
163+ mii(crs), sata0(prsnt)
164+mpp10 10 gpo, spi(sck), uart0(txd), ptp(trig), sata1(act)
165+mpp11 11 gpio, spi(miso), uart0(rxd), ptp(clk), ptp-1(evreq),
166+ ptp-2(trig), sata0(act)
167+mpp12 12 gpio, sdio(clk)
168+mpp13 13 gpio, sdio(cmd), uart1(txd)
169+mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt)
170+mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act)
171+mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
172+ sata1(act)
173+mpp17 17 gpio, sdio(d3), sata0(prsnt)
174+mpp18 18 gpo, nand(io0)
175+mpp19 19 gpo, nand(io1)
176+mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
177+ sata1(act)
178+mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
179+ audio(spdifo)
180+mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
181+ sata1(prsnt)
182+mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
183+ audio(bclk)
184+mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo)
185+mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk)
186+mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk)
187+mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi)
188+mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk)
189+mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst)
190+mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk)
191+mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs)
192+mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx)
193+mpp33 33 gpo, ge1(txclk), tdm(drx)
194+mpp34 34 gpio, ge1(txen), tdm(spi-cs1), sata1(act)
195+mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql)
196+mpp36 36 gpio, ts(mp0), tdm(spi-cs1), audio(spdifi)
197+mpp37 37 gpio, ts(mp1), tdm(tx2ql), audio(spdifo)
198+mpp38 38 gpio, ts(mp2), tdm(rx2ql), audio(rmclk)
199+mpp39 39 gpio, ts(mp3), tdm(spi-cs0), audio(bclk)
200+mpp40 40 gpio, ts(mp4), tdm(spi-sck), audio(sdo)
201+mpp41 41 gpio, ts(mp5), tdm(spi-miso), audio(lrclk)
202+mpp42 42 gpio, ts(mp6), tdm(spi-mosi), audio(mclk)
203+mpp43 43 gpio, ts(mp7), tdm(int), audio(sdi)
204+mpp44 44 gpio, ts(mp8), tdm(rst), audio(extclk)
205+mpp45 45 gpio, ts(mp9), tdm(pclk)
206+mpp46 46 gpio, ts(mp10), tdm(fs)
207+mpp47 47 gpio, ts(mp11), tdm(drx)
208+mpp48 48 gpio, ts(mp12), tdm(dtx)
209+mpp49 49 gpio, ts(mp9), tdm(rx0ql), ptp(clk)
210+
211+* Marvell Kirkwood 88f6282
212+
213+name pins functions
214+================================================================================
215+mpp0 0 gpio, nand(io2), spi(cs)
216+mpp1 1 gpo, nand(io3), spi(mosi)
217+mpp2 2 gpo, nand(io4), spi(sck)
218+mpp3 3 gpo, nand(io5), spi(miso)
219+mpp4 4 gpio, nand(io6), uart0(rxd), sata1(act), lcd(hsync)
220+mpp5 5 gpo, nand(io7), uart0(txd), sata0(act), lcd(vsync)
221+mpp6 6 sysrst(out), spi(mosi)
222+mpp7 7 gpo, spi(cs), lcd(pwm)
223+mpp8 8 gpio, twsi0(sda), uart0(rts), uart1(rts), mii(col),
224+ mii-1(rxerr), sata1(prsnt)
225+mpp9 9 gpio, twsi(sck), uart0(cts), uart1(cts), mii(crs),
226+ sata0(prsnt)
227+mpp10 10 gpo, spi(sck), uart0(txd), sata1(act)
228+mpp11 11 gpio, spi(miso), uart0(rxd), sata0(act)
229+mpp12 12 gpo, sdio(clk), audio(spdifo), spi(mosi), twsi(sda)
230+mpp13 13 gpio, sdio(cmd), uart1(txd), audio(rmclk), lcd(pwm)
231+mpp14 14 gpio, sdio(d0), uart1(rxd), mii(col), sata1(prsnt),
232+ audio(spdifi), audio-1(sdi)
233+mpp15 15 gpio, sdio(d1), uart0(rts), uart1(txd), sata0(act),
234+ spi(cs)
235+mpp16 16 gpio, sdio(d2), uart0(cts), uart1(rxd), mii(crs),
236+ sata1(act), lcd(extclk)
237+mpp17 17 gpio, sdio(d3), sata0(prsnt), sata1(act), twsi1(sck)
238+mpp18 18 gpo, nand(io0), pex(clkreq)
239+mpp19 19 gpo, nand(io1)
240+mpp20 20 gpio, ge1(txd0), ts(mp0), tdm(tx0ql), audio(spdifi),
241+ sata1(act), lcd(d0)
242+mpp21 21 gpio, ge1(txd1), sata0(act), ts(mp1), tdm(rx0ql),
243+ audio(spdifo), lcd(d1)
244+mpp22 22 gpio, ge1(txd2), ts(mp2), tdm(tx2ql), audio(rmclk),
245+ sata1(prsnt), lcd(d2)
246+mpp23 23 gpio, ge1(txd3), sata0(prsnt), ts(mp3), tdm(rx2ql),
247+ audio(bclk), lcd(d3)
248+mpp24 24 gpio, ge1(rxd0), ts(mp4), tdm(spi-cs0), audio(sdo),
249+ lcd(d4)
250+mpp25 25 gpio, ge1(rxd1), ts(mp5), tdm(spi-sck), audio(lrclk),
251+ lcd(d5)
252+mpp26 26 gpio, ge1(rxd2), ts(mp6), tdm(spi-miso), audio(mclk),
253+ lcd(d6)
254+mpp27 27 gpio, ge1(rxd3), ts(mp7), tdm(spi-mosi), audio(sdi),
255+ lcd(d7)
256+mpp28 28 gpio, ge1(col), ts(mp8), tdm(int), audio(extclk),
257+ lcd(d8)
258+mpp29 29 gpio, ge1(txclk), ts(mp9), tdm(rst), lcd(d9)
259+mpp30 30 gpio, ge1(rxclk), ts(mp10), tdm(pclk), lcd(d10)
260+mpp31 31 gpio, ge1(rxclk), ts(mp11), tdm(fs), lcd(d11)
261+mpp32 32 gpio, ge1(txclko), ts(mp12), tdm(drx), lcd(d12)
262+mpp33 33 gpo, ge1(txclk), tdm(drx), lcd(d13)
263+mpp34 34 gpio, ge1(txen), tdm(spi-cs1), sata1(act), lcd(d14)
264+mpp35 35 gpio, ge1(rxerr), sata0(act), mii(rxerr), tdm(tx0ql),
265+ lcd(d15)
266+mpp36 36 gpio, ts(mp0), tdm(spi-cs1), audio(spdifi), twsi1(sda)
267+mpp37 37 gpio, ts(mp1), tdm(tx2ql), audio(spdifo), twsi1(sck)
268+mpp38 38 gpio, ts(mp2), tdm(rx2ql), audio(rmclk), lcd(d18)
269+mpp39 39 gpio, ts(mp3), tdm(spi-cs0), audio(bclk), lcd(d19)
270+mpp40 40 gpio, ts(mp4), tdm(spi-sck), audio(sdo), lcd(d20)
271+mpp41 41 gpio, ts(mp5), tdm(spi-miso), audio(lrclk), lcd(d21)
272+mpp42 42 gpio, ts(mp6), tdm(spi-mosi), audio(mclk), lcd(d22)
273+mpp43 43 gpio, ts(mp7), tdm(int), audio(sdi), lcd(d23)
274+mpp44 44 gpio, ts(mp8), tdm(rst), audio(extclk), lcd(clk)
275+mpp45 45 gpio, ts(mp9), tdm(pclk), lcd(e)
276+mpp46 46 gpio, ts(mp10), tdm(fs), lcd(hsync)
277+mpp47 47 gpio, ts(mp11), tdm(drx), lcd(vsync)
278+mpp48 48 gpio, ts(mp12), tdm(dtx), lcd(d16)
279+mpp49 49 gpo, tdm(rx0ql), pex(clkreq), lcd(d17)
Documentation/devicetree/bindings/pinctrl/marvell,mvebu-pinctrl.txt+46−0
@@ -0,0 +1,46 @@
1+* Marvell SoC pinctrl core driver for mpp
2+
3+The pinctrl driver enables Marvell SoCs to configure the multi-purpose pins
4+(mpp) to a specific function. For each SoC family there is a SoC specific
5+driver using this core driver.
6+
7+Please refer to pinctrl-bindings.txt in this directory for details of the
8+common pinctrl bindings used by client devices, including the meaning of the
9+phrase "pin configuration node".
10+
11+A Marvell SoC pin configuration node is a node of a group of pins which can
12+be used for a specific device or function. Each node requires one or more
13+mpp pins or group of pins and a mpp function common to all pins.
14+
15+Required properties for pinctrl driver:
16+- compatible: "marvell,<soc>-pinctrl"
17+ Please refer to each marvell,<soc>-pinctrl.txt binding doc for supported SoCs.
18+
19+Required properties for pin configuration node:
20+- marvell,pins: string array of mpp pins or group of pins to be muxed.
21+- marvell,function: string representing a function to mux to for all
22+ marvell,pins given in this pin configuration node. The function has to be
23+ common for all marvell,pins. Please refer to marvell,<soc>-pinctrl.txt for
24+ valid pin/pin group names and available function names for each SoC.
25+
26+Examples:
27+
28+uart1: serial@12100 {
29+ compatible = "ns16550a";
30+ reg = <0x12100 0x100>;
31+ reg-shift = <2>;
32+ interrupts = <7>;
33+
34+ pinctrl-0 = <&pmx_uart1_sw>;
35+ pinctrl-names = "default";
36+};
37+
38+pinctrl: pinctrl@d0200 {
39+ compatible = "marvell,dove-pinctrl";
40+ reg = <0xd0200 0x20>;
41+
42+ pmx_uart1_sw: pmx-uart1-sw {
43+ marvell,pins = "mpp_uart1";
44+ marvell,function = "uart1";
45+ };
46+};
Documentation/devicetree/bindings/pinctrl/nvidia,tegra20-pinmux.txt+1−1
@@ -93,7 +93,7 @@ Valid values for pin and group names are: · 92 unmodified lines
9393
9494 With some exceptions, these support nvidia,high-speed-mode,
9595 nvidia,schmitt, nvidia,low-power-mode, nvidia,pull-down-strength,
96− nvidia,pull-up-strength, nvidia,slew_rate-rising, nvidia,slew_rate-falling.
96+ nvidia,pull-up-strength, nvidia,slew-rate-rising, nvidia,slew-rate-falling.
9797
9898 drive_ao1, drive_ao2, drive_at1, drive_at2, drive_cdev1, drive_cdev2,
9999 drive_csus, drive_dap1, drive_dap2, drive_dap3, drive_dap4, drive_dbg,
Documentation/devicetree/bindings/pinctrl/nvidia,tegra30-pinmux.txt+1−1
@@ -83,7 +83,7 @@ Valid values for pin and group names are: · 82 unmodified lines
8383 drive groups:
8484
8585 These all support nvidia,pull-down-strength, nvidia,pull-up-strength,
86− nvidia,slew_rate-rising, nvidia,slew_rate-falling. Most but not all
86+ nvidia,slew-rate-rising, nvidia,slew-rate-falling. Most but not all
8787 support nvidia,high-speed-mode, nvidia,schmitt, nvidia,low-power-mode.
8888
8989 ao1, ao2, at1, at2, at3, at4, at5, cdev1, cdev2, cec, crt, csus, dap1,
Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt+38−3
@@ -14,10 +14,12 @@ Optional properties: · 13 unmodified lines
1414 - pinctrl-single,function-off : function off mode for disabled state if
1515 available and same for all registers; if not specified, disabling of
1616 pin functions is ignored
17+- pinctrl-single,bit-per-mux : boolean to indicate that one register controls
18+ more than one pin
1719
18−This driver assumes that there is only one register for each pin,
19−and uses the common pinctrl bindings as specified in the pinctrl-bindings.txt
20−document in this directory.
20+This driver assumes that there is only one register for each pin (unless the
21+pinctrl-single,bit-per-mux is set), and uses the common pinctrl bindings as
22+specified in the pinctrl-bindings.txt document in this directory.
2123
2224 The pin configuration nodes for pinctrl-single are specified as pinctrl
2325 register offset and value pairs using pinctrl-single,pins. Only the bits
@@ -31,6 +33,15 @@ device pinctrl register, and 0x118 contains the desired value of the · 7 unmodified lines
3133 pinctrl register. See the device example and static board pins example
3234 below for more information.
3335
36+In case when one register changes more than one pin's mux the
37+pinctrl-single,bits need to be used which takes three parameters:
38+
39+ pinctrl-single,bits = <0xdc 0x18, 0xff>;
40+
41+Where 0xdc is the offset from the pinctrl register base address for the
42+device pinctrl register, 0x18 is the desired value, and 0xff is the sub mask to
43+be used when applying this change to the register.
44+
3445 Example:
3546
3647 /* SoC common file */
@@ -55,6 +66,15 @@ pmx_wkup: pinmux@4a31e040 { · 18 unmodified lines
5566 pinctrl-single,function-mask = <0xffff>;
5667 };
5768
69+control_devconf0: pinmux@48002274 {
70+ compatible = "pinctrl-single";
71+ reg = <0x48002274 4>; /* Single register */
72+ #address-cells = <1>;
73+ #size-cells = <0>;
74+ pinctrl-single,bit-per-mux;
75+ pinctrl-single,register-width = <32>;
76+ pinctrl-single,function-mask = <0x5F>;
77+};
5878
5979 /* board specific .dts file */
6080
@@ -87,6 +107,21 @@ pmx_wkup: pinmux@4a31e040 { · 26 unmodified lines
87107 };
88108 };
89109
110+&control_devconf0 {
111+ mcbsp1_pins: pinmux_mcbsp1_pins {
112+ pinctrl-single,bits = <
113+ 0x00 0x18 0x18 /* FSR/CLKR signal from FSX/CLKX pin */
114+ >;
115+ };
116+
117+ mcbsp2_clks_pins: pinmux_mcbsp2_clks_pins {
118+ pinctrl-single,bits = <
119+ 0x00 0x40 0x40 /* McBSP2 CLKS from McBSP_CLKS pin */
120+ >;
121+ };
122+
123+};
124+
90125 &uart2 {
91126 pinctrl-names = "default";
92127 pinctrl-0 = <&uart2_pins>;
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+196−0
@@ -0,0 +1,196 @@
1+Samsung GPIO and Pin Mux/Config controller
2+
3+Samsung's ARM based SoC's integrates a GPIO and Pin mux/config hardware
4+controller. It controls the input/output settings on the available pads/pins
5+and also provides ability to multiplex and configure the output of various
6+on-chip controllers onto these pads.
7+
8+Required Properties:
9+- compatible: should be one of the following.
10+ - "samsung,pinctrl-exynos4210": for Exynos4210 compatible pin-controller.
11+ - "samsung,pinctrl-exynos5250": for Exynos5250 compatible pin-controller.
12+
13+- reg: Base address of the pin controller hardware module and length of
14+ the address space it occupies.
15+
16+- interrupts: interrupt specifier for the controller. The format and value of
17+ the interrupt specifier depends on the interrupt parent for the controller.
18+
19+- Pin mux/config groups as child nodes: The pin mux (selecting pin function
20+ mode) and pin config (pull up/down, driver strength) settings are represented
21+ as child nodes of the pin-controller node. There should be atleast one
22+ child node and there is no limit on the count of these child nodes.
23+
24+ The child node should contain a list of pin(s) on which a particular pin
25+ function selection or pin configuration (or both) have to applied. This
26+ list of pins is specified using the property name "samsung,pins". There
27+ should be atleast one pin specfied for this property and there is no upper
28+ limit on the count of pins that can be specified. The pins are specified
29+ using pin names which are derived from the hardware manual of the SoC. As
30+ an example, the pins in GPA0 bank of the pin controller can be represented
31+ as "gpa0-0", "gpa0-1", "gpa0-2" and so on. The names should be in lower case.
32+ The format of the pin names should be (as per the hardware manual)
33+ "[pin bank name]-[pin number within the bank]".
34+
35+ The pin function selection that should be applied on the pins listed in the
36+ child node is specified using the "samsung,pin-function" property. The value
37+ of this property that should be applied to each of the pins listed in the
38+ "samsung,pins" property should be picked from the hardware manual of the SoC
39+ for the specified pin group. This property is optional in the child node if
40+ no specific function selection is desired for the pins listed in the child
41+ node. The value of this property is used as-is to program the pin-controller
42+ function selector register of the pin-bank.
43+
44+ The child node can also optionally specify one or more of the pin
45+ configuration that should be applied on all the pins listed in the
46+ "samsung,pins" property of the child node. The following pin configuration
47+ properties are supported.
48+
49+ - samsung,pin-pud: Pull up/down configuration.
50+ - samsung,pin-drv: Drive strength configuration.
51+ - samsung,pin-pud-pdn: Pull up/down configuration in power down mode.
52+ - samsung,pin-drv-pdn: Drive strength configuration in power down mode.
53+
54+ The values specified by these config properties should be derived from the
55+ hardware manual and these values are programmed as-is into the pin
56+ pull up/down and driver strength register of the pin-controller.
57+
58+ Note: A child should include atleast a pin function selection property or
59+ pin configuration property (one or more) or both.
60+
61+ The client nodes that require a particular pin function selection and/or
62+ pin configuration should use the bindings listed in the "pinctrl-bindings.txt"
63+ file.
64+
65+External GPIO and Wakeup Interrupts:
66+
67+The controller supports two types of external interrupts over gpio. The first
68+is the external gpio interrupt and second is the external wakeup interrupts.
69+The difference between the two is that the external wakeup interrupts can be
70+used as system wakeup events.
71+
72+A. External GPIO Interrupts: For supporting external gpio interrupts, the
73+ following properties should be specified in the pin-controller device node.
74+
75+- interrupt-controller: identifies the controller node as interrupt-parent.
76+- #interrupt-cells: the value of this property should be 2.
77+ - First Cell: represents the external gpio interrupt number local to the
78+ external gpio interrupt space of the controller.
79+ - Second Cell: flags to identify the type of the interrupt
80+ - 1 = rising edge triggered
81+ - 2 = falling edge triggered
82+ - 3 = rising and falling edge triggered
83+ - 4 = high level triggered
84+ - 8 = low level triggered
85+
86+B. External Wakeup Interrupts: For supporting external wakeup interrupts, a
87+ child node representing the external wakeup interrupt controller should be
88+ included in the pin-controller device node. This child node should include
89+ the following properties.
90+
91+ - compatible: identifies the type of the external wakeup interrupt controller
92+ The possible values are:
93+ - samsung,exynos4210-wakeup-eint: represents wakeup interrupt controller
94+ found on Samsung Exynos4210 SoC.
95+ - interrupt-parent: phandle of the interrupt parent to which the external
96+ wakeup interrupts are forwarded to.
97+ - interrupt-controller: identifies the node as interrupt-parent.
98+ - #interrupt-cells: the value of this property should be 2
99+ - First Cell: represents the external wakeup interrupt number local to
100+ the external wakeup interrupt space of the controller.
101+ - Second Cell: flags to identify the type of the interrupt
102+ - 1 = rising edge triggered
103+ - 2 = falling edge triggered
104+ - 3 = rising and falling edge triggered
105+ - 4 = high level triggered
106+ - 8 = low level triggered
107+
108+Aliases:
109+
110+All the pin controller nodes should be represented in the aliases node using
111+the following format 'pinctrl{n}' where n is a unique number for the alias.
112+
113+Example 1: A pin-controller node with pin groups.
114+
115+ pinctrl_0: pinctrl@11400000 {
116+ compatible = "samsung,pinctrl-exynos4210";
117+ reg = <0x11400000 0x1000>;
118+ interrupts = <0 47 0>;
119+
120+ uart0_data: uart0-data {
121+ samsung,pins = "gpa0-0", "gpa0-1";
122+ samsung,pin-function = <2>;
123+ samsung,pin-pud = <0>;
124+ samsung,pin-drv = <0>;
125+ };
126+
127+ uart0_fctl: uart0-fctl {
128+ samsung,pins = "gpa0-2", "gpa0-3";
129+ samsung,pin-function = <2>;
130+ samsung,pin-pud = <0>;
131+ samsung,pin-drv = <0>;
132+ };
133+
134+ uart1_data: uart1-data {
135+ samsung,pins = "gpa0-4", "gpa0-5";
136+ samsung,pin-function = <2>;
137+ samsung,pin-pud = <0>;
138+ samsung,pin-drv = <0>;
139+ };
140+
141+ uart1_fctl: uart1-fctl {
142+ samsung,pins = "gpa0-6", "gpa0-7";
143+ samsung,pin-function = <2>;
144+ samsung,pin-pud = <0>;
145+ samsung,pin-drv = <0>;
146+ };
147+
148+ i2c2_bus: i2c2-bus {
149+ samsung,pins = "gpa0-6", "gpa0-7";
150+ samsung,pin-function = <3>;
151+ samsung,pin-pud = <3>;
152+ samsung,pin-drv = <0>;
153+ };
154+ };
155+
156+Example 2: A pin-controller node with external wakeup interrupt controller node.
157+
158+ pinctrl_1: pinctrl@11000000 {
159+ compatible = "samsung,pinctrl-exynos4210";
160+ reg = <0x11000000 0x1000>;
161+ interrupts = <0 46 0>;
162+ interrupt-controller;
163+ #interrupt-cells = <2>;
164+
165+ wakup_eint: wakeup-interrupt-controller {
166+ compatible = "samsung,exynos4210-wakeup-eint";
167+ interrupt-parent = <&gic>;
168+ interrupt-controller;
169+ #interrupt-cells = <2>;
170+ interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
171+ <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
172+ <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
173+ <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>,
174+ <0 32 0>;
175+ };
176+ };
177+
178+Example 3: A uart client node that supports 'default' and 'flow-control' states.
179+
180+ uart@13800000 {
181+ compatible = "samsung,exynos4210-uart";
182+ reg = <0x13800000 0x100>;
183+ interrupts = <0 52 0>;
184+ pinctrl-names = "default", "flow-control;
185+ pinctrl-0 = <&uart0_data>;
186+ pinctrl-1 = <&uart0_data &uart0_fctl>;
187+ };
188+
189+Example 4: Set up the default pin state for uart controller.
190+
191+ static int s3c24xx_serial_probe(struct platform_device *pdev) {
192+ struct pinctrl *pinctrl;
193+ ...
194+ ...
195+ pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
196+ }
Documentation/devicetree/bindings/power/opp.txt+25−0
@@ -0,0 +1,25 @@
1+* Generic OPP Interface
2+
3+SoCs have a standard set of tuples consisting of frequency and
4+voltage pairs that the device will support per voltage domain. These
5+are called Operating Performance Points or OPPs.
6+
7+Properties:
8+- operating-points: An array of 2-tuples items, and each item consists
9+ of frequency and voltage like <freq-kHz vol-uV>.
10+ freq: clock frequency in kHz
11+ vol: voltage in microvolt
12+
13+Examples:
14+
15+cpu@0 {
16+ compatible = "arm,cortex-a9";
17+ reg = <0>;
18+ next-level-cache = <&L2>;
19+ operating-points = <
20+ /* kHz uV */
21+ 792000 1100000
22+ 396000 950000
23+ 198000 850000
24+ >;
25+};
Documentation/devicetree/bindings/powerpc/fsl/ifc.txt+6−3
@@ -12,9 +12,12 @@ Properties: · 11 unmodified lines
1212 - #size-cells : Either one or two, depending on how large each chipselect
1313 can be.
1414 - reg : Offset and length of the register set for the device
15−- interrupts : IFC has two interrupts. The first one is the "common"
16− interrupt(CM_EVTER_STAT), and second is the NAND interrupt
17− (NAND_EVTER_STAT).
15+- interrupts: IFC may have one or two interrupts. If two interrupt
16+ specifiers are present, the first is the "common"
17+ interrupt (CM_EVTER_STAT), and the second is the NAND
18+ interrupt (NAND_EVTER_STAT). If there is only one,
19+ that interrupt reports both types of event.
20+
1821
1922 - ranges : Each range corresponds to a single chipselect, and covers
2023 the entire access window as configured.
Documentation/devicetree/bindings/pwm/imx-pwm.txt+17−0
@@ -0,0 +1,17 @@
1+Freescale i.MX PWM controller
2+
3+Required properties:
4+- compatible: should be "fsl,<soc>-pwm"
5+- reg: physical base address and length of the controller's registers
6+- #pwm-cells: should be 2. The first cell specifies the per-chip index
7+ of the PWM to use and the second cell is the period in nanoseconds.
8+- interrupts: The interrupt for the pwm controller
9+
10+Example:
11+
12+pwm1: pwm@53fb4000 {
13+ #pwm-cells = <2>;
14+ compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
15+ reg = <0x53fb4000 0x4000>;
16+ interrupts = <61>;
17+};
Documentation/devicetree/bindings/pwm/mxs-pwm.txt+2−2
@@ -4,14 +4,14 @@ Required properties: · 3 unmodified lines
44 - compatible: should be "fsl,imx23-pwm"
55 - reg: physical base address and length of the controller's registers
66 - #pwm-cells: should be 2. The first cell specifies the per-chip index
7− of the PWM to use and the second cell is the duty cycle in nanoseconds.
7+ of the PWM to use and the second cell is the period in nanoseconds.
88 - fsl,pwm-number: the number of PWM devices
99
1010 Example:
1111
1212 pwm: pwm@80064000 {
1313 compatible = "fsl,imx28-pwm", "fsl,imx23-pwm";
14− reg = <0x80064000 2000>;
14+ reg = <0x80064000 0x2000>;
1515 #pwm-cells = <2>;
1616 fsl,pwm-number = <8>;
1717 };
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt+1−1
@@ -7,7 +7,7 @@ Required properties: · 6 unmodified lines
77 - reg: physical base address and length of the controller's registers
88 - #pwm-cells: On Tegra the number of cells used to specify a PWM is 2. The
99 first cell specifies the per-chip index of the PWM to use and the second
10− cell is the duty cycle in nanoseconds.
10+ cell is the period in nanoseconds.
1111
1212 Example:
1313
Documentation/devicetree/bindings/regulator/88pm860x.txt+30−0
@@ -0,0 +1,30 @@
1+Marvell 88PM860x regulator
2+
3+Required properties:
4+- compatible: "marvell,88pm860x"
5+- reg: I2C slave address
6+- regulators: A node that houses a sub-node for each regulator within the
7+ device. Each sub-node is identified using the regulator-compatible
8+ property, with valid values listed below.
9+
10+Example:
11+
12+ pmic: 88pm860x@34 {
13+ compatible = "marvell,88pm860x";
14+ reg = <0x34>;
15+
16+ regulators {
17+ BUCK1 {
18+ regulator-min-microvolt = <1000000>;
19+ regulator-max-microvolt = <1500000>;
20+ regulator-boot-on;
21+ regulator-always-on;
22+ };
23+ BUCK3 {
24+ regulator-min-microvolt = <1000000>;
25+ regulator-max-microvolt = <3000000>;
26+ regulator-boot-on;
27+ regulator-always-on;
28+ };
29+ };
30+ };
Documentation/devicetree/bindings/regulator/max8907.txt+69−0
@@ -0,0 +1,69 @@
1+MAX8907 regulator
2+
3+Required properties:
4+- compatible: "maxim,max8907"
5+- reg: I2C slave address
6+- interrupts: The interrupt output of the controller
7+- mbatt-supply: The input supply for MBATT, BBAT, SDBY, VRTC.
8+- in-v1-supply: The input supply for SD1.
9+- in-v2-supply: The input supply for SD2.
10+- in-v3-supply: The input supply for SD3.
11+- in1-supply: The input supply for LDO1.
12+...
13+- in20-supply: The input supply for LDO20.
14+- regulators: A node that houses a sub-node for each regulator within the
15+ device. Each sub-node is identified using the node's name (or the deprecated
16+ regulator-compatible property if present), with valid values listed below.
17+ The content of each sub-node is defined by the standard binding for
18+ regulators; see regulator.txt.
19+
20+Optional properties:
21+- maxim,system-power-controller: Boolean property indicating that the PMIC
22+ controls the overall system power.
23+
24+The valid names for regulators are:
25+
26+ sd1, sd2, sd3, ldo1, ldo2, ldo3, ldo4, ldo5, ldo6, ldo7, ldo8, ldo9, ldo10,
27+ ldo11, ldo12, ldo13, ldo14, ldo15, ldo16, ldo17, ldo18, ldo19, ldo20, out5v,
28+ out33v, bbat, sdby, vrtc.
29+
30+Example:
31+
32+ max8907@3c {
33+ compatible = "maxim,max8907";
34+ reg = <0x3c>;
35+ interrupts = <0 86 0x4>;
36+
37+ maxim,system-power-controller;
38+
39+ mbatt-supply = <&some_reg>;
40+ in-v1-supply = <&mbatt_reg>;
41+ ...
42+ in1-supply = <&mbatt_reg>;
43+ ...
44+
45+ regulators {
46+ mbatt_reg: mbatt {
47+ regulator-name = "vbat_pmu";
48+ regulator-min-microvolt = <5000000>;
49+ regulator-max-microvolt = <5000000>;
50+ regulator-always-on;
51+ };
52+
53+ sd1 {
54+ regulator-name = "nvvdd_sv1,vdd_cpu_pmu";
55+ regulator-min-microvolt = <1000000>;
56+ regulator-max-microvolt = <1000000>;
57+ regulator-always-on;
58+ };
59+
60+ sd2 {
61+ regulator-name = "nvvdd_sv2,vdd_core";
62+ regulator-min-microvolt = <1200000>;
63+ regulator-max-microvolt = <1200000>;
64+ regulator-always-on;
65+ };
66+...
67+ };
68+ };
69+ };
Documentation/devicetree/bindings/regulator/tps6586x.txt+6−0
@@ -22,6 +22,10 @@ Required properties: · 21 unmodified lines
2222 - vinldo678-supply: The input supply for the LDO6, LDO7 and LDO8
2323 - vinldo9-supply: The input supply for the LDO9
2424
25+Optional properties:
26+- ti,system-power-controller: Telling whether or not this pmic is controlling
27+ the system power.
28+
2529 Each regulator is defined using the standard binding for regulators.
2630
2731 Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver
@@ -37,6 +41,8 @@ Example: · 9 unmodified lines
3741 #gpio-cells = <2>;
3842 gpio-controller;
3943
44+ ti,system-power-controller;
45+
4046 sys-supply = <&some_reg>;
4147 vin-sm0-supply = <&some_reg>;
4248 vin-sm1-supply = <&some_reg>;
Documentation/devicetree/bindings/rtc/pxa-rtc.txt+14−0
@@ -0,0 +1,14 @@
1+* PXA RTC
2+
3+PXA specific RTC driver.
4+
5+Required properties:
6+- compatible : Should be "marvell,pxa-rtc"
7+
8+Examples:
9+
10+rtc@40900000 {
11+ compatible = "marvell,pxa-rtc";
12+ reg = <0x40900000 0x3c>;
13+ interrupts = <30 31>;
14+};
Documentation/devicetree/bindings/rtc/snvs-rtc.txt+1−0
@@ -0,0 +1 @@
1+See Documentation/devicetree/bindings/crypto/fsl-sec4.txt for details.
Documentation/devicetree/bindings/rtc/via,vt8500-rtc.txt+15−0
@@ -0,0 +1,15 @@
1+VIA/Wondermedia VT8500 Realtime Clock Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-rtc"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : alarm interrupt
8+
9+Example:
10+
11+ rtc@d8100000 {
12+ compatible = "via,vt8500-rtc";
13+ reg = <0xd8100000 0x10000>;
14+ interrupts = <48>;
15+ };
Documentation/devicetree/bindings/serial/fsl-imx-uart.txt+35−0
@@ -0,0 +1,35 @@
1+* Freescale i.MX UART controller
2+
3+Required properties:
4+- compatible : should be "fsl,imx21-uart"
5+- reg : Address and length of the register set for the device
6+- interrupts : Should contain UART interrupt number
7+
8+Optional properties:
9+- fsl,uart-has-rtscts: indicate that RTS/CTS signals are used
10+
11+Note: Each uart controller should have an alias correctly numbered
12+in "aliases" node.
13+
14+Example:
15+
16+- From imx51.dtsi:
17+aliases {
18+ serial0 = &uart1;
19+ serial1 = &uart2;
20+ serial2 = &uart3;
21+};
22+
23+uart1: serial@73fbc000 {
24+ compatible = "fsl,imx51-uart", "fsl,imx21-uart";
25+ reg = <0x73fbc000 0x4000>;
26+ interrupts = <31>;
27+ status = "disabled";
28+}
29+
30+- From imx51-babbage.dts:
31+uart1: serial@73fbc000 {
32+ fsl,uart-has-rtscts;
33+ status = "okay";
34+};
35+
Documentation/devicetree/bindings/sound/cs4270.txt+21−0
@@ -0,0 +1,21 @@
1+CS4270 audio CODEC
2+
3+The driver for this device currently only supports I2C.
4+
5+Required properties:
6+
7+ - compatible : "cirrus,cs4270"
8+
9+ - reg : the I2C address of the device for I2C
10+
11+Optional properties:
12+
13+ - reset-gpio : a GPIO spec for the reset pin. If specified, it will be
14+ deasserted before communication to the codec starts.
15+
16+Example:
17+
18+codec: cs4270@48 {
19+ compatible = "cirrus,cs4270";
20+ reg = <0x48>;
21+};
Documentation/devicetree/bindings/sound/cs4271.txt+36−0
@@ -0,0 +1,36 @@
1+Cirrus Logic CS4271 DT bindings
2+
3+This driver supports both the I2C and the SPI bus.
4+
5+Required properties:
6+
7+ - compatible: "cirrus,cs4271"
8+
9+For required properties on SPI, please consult
10+Documentation/devicetree/bindings/spi/spi-bus.txt
11+
12+Required properties on I2C:
13+
14+ - reg: the i2c address
15+
16+
17+Optional properties:
18+
19+ - reset-gpio: a GPIO spec to define which pin is connected to the chip's
20+ !RESET pin
21+
22+Examples:
23+
24+ codec_i2c: cs4271@10 {
25+ compatible = "cirrus,cs4271";
26+ reg = <0x10>;
27+ reset-gpio = <&gpio 23 0>;
28+ };
29+
30+ codec_spi: cs4271@0 {
31+ compatible = "cirrus,cs4271";
32+ reg = <0x0>;
33+ reset-gpio = <&gpio 23 0>;
34+ spi-max-frequency = <6000000>;
35+ };
36+
Documentation/devicetree/bindings/sound/davinci-mcasp-audio.txt+45−0
@@ -0,0 +1,45 @@
1+Texas Instruments McASP controller
2+
3+Required properties:
4+- compatible :
5+ "ti,dm646x-mcasp-audio" : for DM646x platforms
6+ "ti,da830-mcasp-audio" : for both DA830 & DA850 platforms
7+ "ti,omap2-mcasp-audio" : for OMAP2 platforms (TI81xx, AM33xx)
8+
9+- reg : Should contain McASP registers offset and length
10+- interrupts : Interrupt number for McASP
11+- op-mode : I2S/DIT ops mode.
12+- tdm-slots : Slots for TDM operation.
13+- num-serializer : Serializers used by McASP.
14+- serial-dir : A list of serializer pin mode. The list number should be equal
15+ to "num-serializer" parameter. Each entry is a number indication
16+ serializer pin direction. (0 - INACTIVE, 1 - TX, 2 - RX)
17+
18+
19+Optional properties:
20+
21+- ti,hwmods : Must be "mcasp<n>", n is controller instance starting 0
22+- tx-num-evt : FIFO levels.
23+- rx-num-evt : FIFO levels.
24+- sram-size-playback : size of sram to be allocated during playback
25+- sram-size-capture : size of sram to be allocated during capture
26+
27+Example:
28+
29+mcasp0: mcasp0@1d00000 {
30+ compatible = "ti,da830-mcasp-audio";
31+ #address-cells = <1>;
32+ #size-cells = <0>;
33+ reg = <0x100000 0x3000>;
34+ interrupts = <82 83>;
35+ op-mode = <0>; /* MCASP_IIS_MODE */
36+ tdm-slots = <2>;
37+ num-serializer = <16>;
38+ serial-dir = <
39+ 0 0 0 0 /* 0: INACTIVE, 1: TX, 2: RX */
40+ 0 0 0 0
41+ 0 0 0 1
42+ 2 0 0 0 >;
43+ tx-num-evt = <1>;
44+ rx-num-evt = <1>;
45+};
Documentation/devicetree/bindings/sound/omap-abe-twl6040.txt+91−0
@@ -0,0 +1,91 @@
1+* Texas Instruments OMAP4+ and twl6040 based audio setups
2+
3+Required properties:
4+- compatible: "ti,abe-twl6040"
5+- ti,model: Name of the sound card ( for example "SDP4430")
6+- ti,mclk-freq: MCLK frequency for HPPLL operation
7+- ti,mcpdm: phandle for the McPDM node
8+- ti,twl6040: phandle for the twl6040 core node
9+- ti,audio-routing: List of connections between audio components.
10+ Each entry is a pair of strings, the first being the connection's sink,
11+ the second being the connection's source.
12+
13+Optional properties:
14+- ti,dmic: phandle for the OMAP dmic node if the machine have it connected
15+- ti,jack_detection: Need to be set to <1> if the board capable to detect jack
16+ insertion, removal.
17+
18+Available audio endpoints for the audio-routing table:
19+
20+Board connectors:
21+ * Headset Stereophone
22+ * Earphone Spk
23+ * Ext Spk
24+ * Line Out
25+ * Vibrator
26+ * Headset Mic
27+ * Main Handset Mic
28+ * Sub Handset Mic
29+ * Line In
30+ * Digital Mic
31+
32+twl6040 pins:
33+ * HSOL
34+ * HSOR
35+ * EP
36+ * HFL
37+ * HFR
38+ * AUXL
39+ * AUXR
40+ * VIBRAL
41+ * VIBRAR
42+ * HSMIC
43+ * MAINMIC
44+ * SUBMIC
45+ * AFML
46+ * AFMR
47+
48+ * Headset Mic Bias
49+ * Main Mic Bias
50+ * Digital Mic1 Bias
51+ * Digital Mic2 Bias
52+
53+Digital mic pins:
54+ * DMic
55+
56+Example:
57+
58+sound {
59+ compatible = "ti,abe-twl6040";
60+ ti,model = "SDP4430";
61+
62+ ti,jack-detection = <1>;
63+ ti,mclk-freq = <38400000>;
64+
65+ ti,mcpdm = <&mcpdm>;
66+ ti,dmic = <&dmic>;
67+
68+ ti,twl6040 = <&twl6040>;
69+
70+ /* Audio routing */
71+ ti,audio-routing =
72+ "Headset Stereophone", "HSOL",
73+ "Headset Stereophone", "HSOR",
74+ "Earphone Spk", "EP",
75+ "Ext Spk", "HFL",
76+ "Ext Spk", "HFR",
77+ "Line Out", "AUXL",
78+ "Line Out", "AUXR",
79+ "Vibrator", "VIBRAL",
80+ "Vibrator", "VIBRAR",
81+ "HSMIC", "Headset Mic",
82+ "Headset Mic", "Headset Mic Bias",
83+ "MAINMIC", "Main Handset Mic",
84+ "Main Handset Mic", "Main Mic Bias",
85+ "SUBMIC", "Sub Handset Mic",
86+ "Sub Handset Mic", "Main Mic Bias",
87+ "AFML", "Line In",
88+ "AFMR", "Line In",
89+ "DMic", "Digital Mic",
90+ "Digital Mic", "Digital Mic1 Bias";
91+};
Documentation/devicetree/bindings/sound/omap-mcbsp.txt+37−0
@@ -0,0 +1,37 @@
1+* Texas Instruments OMAP2+ McBSP module
2+
3+Required properties:
4+- compatible: "ti,omap2420-mcbsp" for McBSP on OMAP2420
5+ "ti,omap2430-mcbsp" for McBSP on OMAP2430
6+ "ti,omap3-mcbsp" for McBSP on OMAP3
7+ "ti,omap4-mcbsp" for McBSP on OMAP4 and newer SoC
8+- reg: Register location and size, for OMAP4+ as an array:
9+ <MPU access base address, size>,
10+ <L3 interconnect address, size>;
11+- reg-names: Array of strings associated with the address space
12+- interrupts: Interrupt numbers for the McBSP port, as an array in case the
13+ McBSP IP have more interrupt lines:
14+ <OCP compliant irq>,
15+ <TX irq>,
16+ <RX irq>;
17+- interrupt-names: Array of strings associated with the interrupt numbers
18+- interrupt-parent: The parent interrupt controller
19+- ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)
20+- ti,hwmods: Name of the hwmod associated to the McBSP port
21+
22+Example:
23+
24+mcbsp2: mcbsp@49022000 {
25+ compatible = "ti,omap3-mcbsp";
26+ reg = <0x49022000 0xff>,
27+ <0x49028000 0xff>;
28+ reg-names = "mpu", "sidetone";
29+ interrupts = <0 17 0x4>, /* OCP compliant interrupt */
30+ <0 62 0x4>, /* TX interrupt */
31+ <0 63 0x4>, /* RX interrupt */
32+ <0 4 0x4>; /* Sidetone */
33+ interrupt-names = "common", "tx", "rx", "sidetone";
34+ interrupt-parent = <&intc>;
35+ ti,buffer-size = <1280>;
36+ ti,hwmods = "mcbsp2";
37+};
Documentation/devicetree/bindings/sound/omap-twl4030.txt+17−0
@@ -0,0 +1,17 @@
1+* Texas Instruments SoC with twl4030 based audio setups
2+
3+Required properties:
4+- compatible: "ti,omap-twl4030"
5+- ti,model: Name of the sound card (for example "omap3beagle")
6+- ti,mcbsp: phandle for the McBSP node
7+- ti,codec: phandle for the twl4030 audio node
8+
9+Example:
10+
11+sound {
12+ compatible = "ti,omap-twl4030";
13+ ti,model = "omap3beagle";
14+
15+ ti,mcbsp = <&mcbsp2>;
16+ ti,codec = <&twl_audio>;
17+};
Documentation/devicetree/bindings/sound/tlv320aic3x.txt+20−0
@@ -0,0 +1,20 @@
1+Texas Instruments - tlv320aic3x Codec module
2+
3+The tlv320aic3x serial control bus communicates through I2C protocols
4+
5+Required properties:
6+- compatible - "string" - "ti,tlv320aic3x"
7+- reg - <int> - I2C slave address
8+
9+
10+Optional properties:
11+
12+- gpio-reset - gpio pin number used for codec reset
13+- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
14+
15+Example:
16+
17+tlv320aic3x: tlv320aic3x@1b {
18+ compatible = "ti,tlv320aic3x";
19+ reg = <0x1b>;
20+};
Documentation/devicetree/bindings/sound/ux500-mop500.txt+39−0
@@ -0,0 +1,39 @@
1+* MOP500 Audio Machine Driver
2+
3+This node is responsible for linking together all ux500 Audio Driver components.
4+
5+Required properties:
6+ - compatible : "stericsson,snd-soc-mop500"
7+
8+Non-standard properties:
9+ - stericsson,cpu-dai : Phandle to the CPU-side DAI
10+ - stericsson,audio-codec : Phandle to the Audio CODEC
11+ - stericsson,card-name : Over-ride default card name
12+
13+Example:
14+
15+ sound {
16+ compatible = "stericsson,snd-soc-mop500";
17+
18+ stericsson,cpu-dai = <&msp1 &msp3>;
19+ stericsson,audio-codec = <&codec>;
20+ };
21+
22+ msp1: msp@80124000 {
23+ compatible = "stericsson,ux500-msp-i2s";
24+ reg = <0x80124000 0x1000>;
25+ interrupts = <0 62 0x4>;
26+ v-ape-supply = <&db8500_vape_reg>;
27+ };
28+
29+ msp3: msp@80125000 {
30+ compatible = "stericsson,ux500-msp-i2s";
31+ reg = <0x80125000 0x1000>;
32+ interrupts = <0 62 0x4>;
33+ v-ape-supply = <&db8500_vape_reg>;
34+ };
35+
36+ codec: ab8500-codec {
37+ compatible = "stericsson,ab8500-codec";
38+ stericsson,earpeice-cmv = <950>; /* Units in mV. */
39+ };
Documentation/devicetree/bindings/sound/ux500-msp.txt+43−0
@@ -0,0 +1,43 @@
1+* ux500 MSP (CPU-side Digital Audio Interface)
2+
3+Required properties:
4+ - compatible :"stericsson,ux500-msp-i2s"
5+ - reg : Physical base address and length of the device's registers.
6+
7+Optional properties:
8+ - interrupts : The interrupt output from the device.
9+ - interrupt-parent : The parent interrupt controller.
10+ - <name>-supply : Phandle to the regulator <name> supply
11+
12+Example:
13+
14+ sound {
15+ compatible = "stericsson,snd-soc-mop500";
16+
17+ stericsson,platform-pcm-dma = <&pcm>;
18+ stericsson,cpu-dai = <&msp1 &msp3>;
19+ stericsson,audio-codec = <&codec>;
20+ };
21+
22+ pcm: ux500-pcm {
23+ compatible = "stericsson,ux500-pcm";
24+ };
25+
26+ msp1: msp@80124000 {
27+ compatible = "stericsson,ux500-msp-i2s";
28+ reg = <0x80124000 0x1000>;
29+ interrupts = <0 62 0x4>;
30+ v-ape-supply = <&db8500_vape_reg>;
31+ };
32+
33+ msp3: msp@80125000 {
34+ compatible = "stericsson,ux500-msp-i2s";
35+ reg = <0x80125000 0x1000>;
36+ interrupts = <0 62 0x4>;
37+ v-ape-supply = <&db8500_vape_reg>;
38+ };
39+
40+ codec: ab8500-codec {
41+ compatible = "stericsson,ab8500-codec";
42+ stericsson,earpeice-cmv = <950>; /* Units in mV. */
43+ };
Documentation/devicetree/bindings/spi/mxs-spi.txt+22−0
@@ -0,0 +1,22 @@
1+* Freescale MX233/MX28 SSP/SPI
2+
3+Required properties:
4+- compatible: Should be "fsl,<soc>-spi", where soc is "imx23" or "imx28"
5+- reg: Offset and length of the register set for the device
6+- interrupts: Should contain SSP interrupts (error irq first, dma irq second)
7+- fsl,ssp-dma-channel: APBX DMA channel for the SSP
8+
9+Optional properties:
10+- clock-frequency : Input clock frequency to the SPI block in Hz.
11+ Default is 160000000 Hz.
12+
13+Example:
14+
15+ssp0: ssp@80010000 {
16+ #address-cells = <1>;
17+ #size-cells = <0>;
18+ compatible = "fsl,imx28-spi";
19+ reg = <0x80010000 0x2000>;
20+ interrupts = <96 82>;
21+ fsl,ssp-dma-channel = <0>;
22+};
Documentation/devicetree/bindings/spi/spi-bus.txt+3−0
@@ -21,6 +21,9 @@ assumption that board specific platform code will be used to manage · 20 unmodified lines
2121 chip selects. Individual drivers can define additional properties to
2222 support describing the chip select layout.
2323
24+Optional property:
25+- num-cs : total number of chipselects
26+
2427 SPI slave nodes must be children of the SPI master node and can
2528 contain the following properties.
2629 - reg - (required) chip select address of device.
Documentation/devicetree/bindings/spi/spi-gpio.txt+29−0
@@ -0,0 +1,29 @@
1+SPI-GPIO devicetree bindings
2+
3+Required properties:
4+
5+ - compatible: should be set to "spi-gpio"
6+ - #address-cells: should be set to <0x1>
7+ - ranges
8+ - gpio-sck: GPIO spec for the SCK line to use
9+ - gpio-miso: GPIO spec for the MISO line to use
10+ - gpio-mosi: GPIO spec for the MOSI line to use
11+ - cs-gpios: GPIOs to use for chipselect lines
12+ - num-chipselects: number of chipselect lines
13+
14+Example:
15+
16+ spi {
17+ compatible = "spi-gpio";
18+ #address-cells = <0x1>;
19+ ranges;
20+
21+ gpio-sck = <&gpio 95 0>;
22+ gpio-miso = <&gpio 98 0>;
23+ gpio-mosi = <&gpio 97 0>;
24+ cs-gpios = <&gpio 125 0>;
25+ num-chipselects = <1>;
26+
27+ /* clients */
28+ };
29+
Documentation/devicetree/bindings/spi/spi-octeon.txt+33−0
@@ -0,0 +1,33 @@
1+Cavium, Inc. OCTEON SOC SPI master controller.
2+
3+Required properties:
4+- compatible : "cavium,octeon-3010-spi"
5+- reg : The register base for the controller.
6+- interrupts : One interrupt, used by the controller.
7+- #address-cells : <1>, as required by generic SPI binding.
8+- #size-cells : <0>, also as required by generic SPI binding.
9+
10+Child nodes as per the generic SPI binding.
11+
12+Example:
13+
14+ spi@1070000001000 {
15+ compatible = "cavium,octeon-3010-spi";
16+ reg = <0x10700 0x00001000 0x0 0x100>;
17+ interrupts = <0 58>;
18+ #address-cells = <1>;
19+ #size-cells = <0>;
20+
21+ eeprom@0 {
22+ compatible = "st,m95256", "atmel,at25";
23+ reg = <0>;
24+ spi-max-frequency = <5000000>;
25+ spi-cpha;
26+ spi-cpol;
27+
28+ pagesize = <64>;
29+ size = <32768>;
30+ address-width = <16>;
31+ };
32+ };
33+
Documentation/devicetree/bindings/spi/spi-sc18is602.txt+23−0
@@ -0,0 +1,23 @@
1+NXP SC18IS602/SCIS603
2+
3+Required properties:
4+ - compatible : Should be one of
5+ "nxp,sc18is602"
6+ "nxp,sc18is602b"
7+ "nxp,sc18is603"
8+ - reg: I2C bus address
9+
10+Optional properties:
11+ - clock-frequency : external oscillator clock frequency. If not
12+ specified, the SC18IS602 default frequency (7372000) will be used.
13+
14+The clock-frequency property is relevant and needed only if the chip has an
15+external oscillator (SC18IS603).
16+
17+Example:
18+
19+ sc18is603@28 {
20+ compatible = "nxp,sc18is603";
21+ reg = <0x28>;
22+ clock-frequency = <14744000>;
23+ }
Documentation/devicetree/bindings/spi/spi_pl022.txt+22−0
@@ -6,7 +6,29 @@ Required properties: · 5 unmodified lines
66 - interrupts : Should contain SPI controller interrupt
77
88 Optional properties:
9+- num-cs : total number of chipselects
910 - cs-gpios : should specify GPIOs used for chipselects.
1011 The gpios will be referred to as reg = <index> in the SPI child nodes.
1112 If unspecified, a single SPI device without a chip select can be used.
13+- pl022,autosuspend-delay : delay in ms following transfer completion before
14+ the runtime power management system suspends the
15+ device. A setting of 0 indicates no delay and the
16+ device will be suspended immediately
17+- pl022,rt : indicates the controller should run the message pump with realtime
18+ priority to minimise the transfer latency on the bus (boolean)
19+
20+
21+SPI slave nodes must be children of the SPI master node and can
22+contain the following properties.
23+
24+- pl022,interface : interface type:
25+ 0: SPI
26+ 1: Texas Instruments Synchronous Serial Frame Format
27+ 2: Microwire (Half Duplex)
28+- pl022,com-mode : polling, interrupt or dma
29+- pl022,rx-level-trig : Rx FIFO watermark level
30+- pl022,tx-level-trig : Tx FIFO watermark level
31+- pl022,ctrl-len : Microwire interface: Control length
32+- pl022,wait-state : Microwire interface: Wait state
33+- pl022,duplex : Microwire interface: Full/Half duplex
1234
Documentation/devicetree/bindings/timer/brcm,bcm2835-system-timer.txt+22−0
@@ -0,0 +1,22 @@
1+BCM2835 System Timer
2+
3+The System Timer peripheral provides four 32-bit timer channels and a
4+single 64-bit free running counter. Each channel has an output compare
5+register, which is compared against the 32 least significant bits of the
6+free running counter values, and generates an interrupt.
7+
8+Required properties:
9+
10+- compatible : should be "brcm,bcm2835-system-timer"
11+- reg : Specifies base physical address and size of the registers.
12+- interrupts : A list of 4 interrupt sinks; one per timer channel.
13+- clock-frequency : The frequency of the clock that drives the counter, in Hz.
14+
15+Example:
16+
17+timer {
18+ compatible = "brcm,bcm2835-system-timer";
19+ reg = <0x7e003000 0x1000>;
20+ interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
21+ clock-frequency = <1000000>;
22+};
Documentation/devicetree/bindings/tty/serial/nxp-lpc32xx-hsuart.txt+14−0
@@ -0,0 +1,14 @@
1+* NXP LPC32xx SoC High Speed UART
2+
3+Required properties:
4+- compatible: Should be "nxp,lpc3220-hsuart"
5+- reg: Should contain registers location and length
6+- interrupts: Should contain interrupt
7+
8+Example:
9+
10+ uart1: serial@40014000 {
11+ compatible = "nxp,lpc3220-hsuart";
12+ reg = <0x40014000 0x1000>;
13+ interrupts = <26 0>;
14+ };
Documentation/devicetree/bindings/tty/serial/of-serial.txt+2−0
@@ -25,6 +25,8 @@ Optional properties: · 24 unmodified lines
2525 accesses to the UART (e.g. TI davinci).
2626 - used-by-rtas : set to indicate that the port is in use by the OpenFirmware
2727 RTAS and should not be registered.
28+- no-loopback-test: set to indicate that the port does not implements loopback
29+ test mode
2830
2931 Example:
3032
Documentation/devicetree/bindings/tty/serial/via,vt8500-uart.txt+17−0
@@ -0,0 +1,17 @@
1+VIA/Wondermedia VT8500 UART Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-uart"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : UART interrupt
8+- clocks : phandle to the uart source clock (usually a 24Mhz fixed clock)
9+
10+Example:
11+
12+ uart@d8210000 {
13+ compatible = "via,vt8500-uart";
14+ reg = <0xd8210000 0x1040>;
15+ interrupts = <47>;
16+ clocks = <&ref24>;
17+ };
Documentation/devicetree/bindings/usb/am33xx-usb.txt+14−0
@@ -0,0 +1,14 @@
1+AM33XX MUSB GLUE
2+ - compatible : Should be "ti,musb-am33xx"
3+ - ti,hwmods : must be "usb_otg_hs"
4+ - multipoint : Should be "1" indicating the musb controller supports
5+ multipoint. This is a MUSB configuration-specific setting.
6+ - num_eps : Specifies the number of endpoints. This is also a
7+ MUSB configuration-specific setting. Should be set to "16"
8+ - ram_bits : Specifies the ram address size. Should be set to "12"
9+ - port0_mode : Should be "3" to represent OTG. "1" signifies HOST and "2"
10+ represents PERIPHERAL.
11+ - port1_mode : Should be "1" to represent HOST. "3" signifies OTG and "2"
12+ represents PERIPHERAL.
13+ - power : Should be "250". This signifies the controller can supply upto
14+ 500mA when operating in host mode.
Documentation/devicetree/bindings/usb/ci13xxx-imx.txt+5−0
@@ -7,7 +7,10 @@ Required properties: · 6 unmodified lines
77
88 Optional properties:
99 - fsl,usbphy: phandler of usb phy that connects to the only one port
10+- fsl,usbmisc: phandler of non-core register device, with one argument
11+ that indicate usb controller index
1012 - vbus-supply: regulator for vbus
13+- disable-over-current: disable over current detect
1114
1215 Examples:
1316 usb@02184000 { /* USB OTG */
@@ -15,4 +18,6 @@ usb@02184000 { /* USB OTG */ · 1 unmodified line
1518 reg = <0x02184000 0x200>;
1619 interrupts = <0 43 0x04>;
1720 fsl,usbphy = <&usbphy1>;
21+ fsl,usbmisc = <&usbmisc 0>;
22+ disable-over-current;
1823 };
Documentation/devicetree/bindings/usb/omap-usb.txt+33−0
@@ -0,0 +1,33 @@
1+OMAP GLUE
2+
3+OMAP MUSB GLUE
4+ - compatible : Should be "ti,omap4-musb" or "ti,omap3-musb"
5+ - ti,hwmods : must be "usb_otg_hs"
6+ - multipoint : Should be "1" indicating the musb controller supports
7+ multipoint. This is a MUSB configuration-specific setting.
8+ - num_eps : Specifies the number of endpoints. This is also a
9+ MUSB configuration-specific setting. Should be set to "16"
10+ - ram_bits : Specifies the ram address size. Should be set to "12"
11+ - interface_type : This is a board specific setting to describe the type of
12+ interface between the controller and the phy. It should be "0" or "1"
13+ specifying ULPI and UTMI respectively.
14+ - mode : Should be "3" to represent OTG. "1" signifies HOST and "2"
15+ represents PERIPHERAL.
16+ - power : Should be "50". This signifies the controller can supply upto
17+ 100mA when operating in host mode.
18+
19+SOC specific device node entry
20+usb_otg_hs: usb_otg_hs@4a0ab000 {
21+ compatible = "ti,omap4-musb";
22+ ti,hwmods = "usb_otg_hs";
23+ multipoint = <1>;
24+ num_eps = <16>;
25+ ram_bits = <12>;
26+};
27+
28+Board specific device node entry
29+&usb_otg_hs {
30+ interface_type = <1>;
31+ mode = <3>;
32+ power = <50>;
33+};
Documentation/devicetree/bindings/usb/platform-uhci.txt+15−0
@@ -0,0 +1,15 @@
1+Generic Platform UHCI Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "platform-uhci"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : UHCI controller interrupt
8+
9+Example:
10+
11+ uhci@d8007b00 {
12+ compatible = "platform-uhci";
13+ reg = <0xd8007b00 0x200>;
14+ interrupts = <43>;
15+ };
Documentation/devicetree/bindings/usb/pxa-usb.txt+31−0
@@ -0,0 +1,31 @@
1+PXA USB controllers
2+
3+OHCI
4+
5+Required properties:
6+ - compatible: Should be "marvell,pxa-ohci" for USB controllers
7+ used in host mode.
8+
9+Optional properties:
10+ - "marvell,enable-port1", "marvell,enable-port2", "marvell,enable-port3"
11+ If present, enables the appropriate USB port of the controller.
12+ - "marvell,port-mode" selects the mode of the ports:
13+ 1 = PMM_NPS_MODE
14+ 2 = PMM_GLOBAL_MODE
15+ 3 = PMM_PERPORT_MODE
16+ - "marvell,power-sense-low" - power sense pin is low-active.
17+ - "marvell,power-control-low" - power control pin is low-active.
18+ - "marvell,no-oc-protection" - disable over-current protection.
19+ - "marvell,oc-mode-perport" - enable per-port over-current protection.
20+ - "marvell,power_on_delay" Power On to Power Good time - in ms.
21+
22+Example:
23+
24+ usb0: ohci@4c000000 {
25+ compatible = "marvell,pxa-ohci", "usb-ohci";
26+ reg = <0x4c000000 0x100000>;
27+ interrupts = <18>;
28+ marvell,enable-port1;
29+ marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
30+ };
31+
Documentation/devicetree/bindings/usb/twlxxxx-usb.txt+40−0
@@ -0,0 +1,40 @@
1+USB COMPARATOR OF TWL CHIPS
2+
3+TWL6030 USB COMPARATOR
4+ - compatible : Should be "ti,twl6030-usb"
5+ - interrupts : Two interrupt numbers to the cpu should be specified. First
6+ interrupt number is the otg interrupt number that raises ID interrupts when
7+ the controller has to act as host and the second interrupt number is the
8+ usb interrupt number that raises VBUS interrupts when the controller has to
9+ act as device
10+ - usb-supply : phandle to the regulator device tree node. It should be vusb
11+ if it is twl6030 or ldousb if it is twl6025 subclass.
12+
13+twl6030-usb {
14+ compatible = "ti,twl6030-usb";
15+ interrupts = < 4 10 >;
16+};
17+
18+Board specific device node entry
19+&twl6030-usb {
20+ usb-supply = <&vusb>;
21+};
22+
23+TWL4030 USB PHY AND COMPARATOR
24+ - compatible : Should be "ti,twl4030-usb"
25+ - interrupts : The interrupt numbers to the cpu should be specified. First
26+ interrupt number is the otg interrupt number that raises ID interrupts
27+ and VBUS interrupts. The second interrupt number is optional.
28+ - <supply-name>-supply : phandle to the regulator device tree node.
29+ <supply-name> should be vusb1v5, vusb1v8 and vusb3v1
30+ - usb_mode : The mode used by the phy to connect to the controller. "1"
31+ specifies "ULPI" mode and "2" specifies "CEA2011_3PIN" mode.
32+
33+twl4030-usb {
34+ compatible = "ti,twl4030-usb";
35+ interrupts = < 10 4 >;
36+ usb1v5-supply = <&vusb1v5>;
37+ usb1v8-supply = <&vusb1v8>;
38+ usb3v1-supply = <&vusb3v1>;
39+ usb_mode = <1>;
40+};
Documentation/devicetree/bindings/usb/usb-phy.txt+17−0
@@ -0,0 +1,17 @@
1+USB PHY
2+
3+OMAP USB2 PHY
4+
5+Required properties:
6+ - compatible: Should be "ti,omap-usb2"
7+ - reg : Address and length of the register set for the device. Also
8+add the address of control module dev conf register until a driver for
9+control module is added
10+
11+This is usually a subnode of ocp2scp to which it is connected.
12+
13+usb2phy@4a0ad080 {
14+ compatible = "ti,omap-usb2";
15+ reg = <0x4a0ad080 0x58>,
16+ <0x4a002300 0x4>;
17+};
Documentation/devicetree/bindings/usb/usbmisc-imx.txt+14−0
@@ -0,0 +1,14 @@
1+* Freescale i.MX non-core registers
2+
3+Required properties:
4+- #index-cells: Cells used to descibe usb controller index. Should be <1>
5+- compatible: Should be one of below:
6+ "fsl,imx6q-usbmisc" for imx6q
7+- reg: Should contain registers location and length
8+
9+Examples:
10+usbmisc@02184800 {
11+ #index-cells = <1>;
12+ compatible = "fsl,imx6q-usbmisc";
13+ reg = <0x02184800 0x200>;
14+};
Documentation/devicetree/bindings/usb/via,vt8500-ehci.txt+15−0
@@ -0,0 +1,15 @@
1+VIA/Wondermedia VT8500 EHCI Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-ehci"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : ehci controller interrupt
8+
9+Example:
10+
11+ ehci@d8007900 {
12+ compatible = "via,vt8500-ehci";
13+ reg = <0xd8007900 0x200>;
14+ interrupts = <43>;
15+ };
Documentation/devicetree/bindings/usb/vt8500-ehci.txt+12−0
@@ -0,0 +1,12 @@
1+VIA VT8500 and Wondermedia WM8xxx SoC USB controllers.
2+
3+Required properties:
4+ - compatible: Should be "via,vt8500-ehci" or "wm,prizm-ehci".
5+ - reg: Address range of the ehci registers. size should be 0x200
6+ - interrupts: Should contain the ehci interrupt.
7+
8+usb: ehci@D8007100 {
9+ compatible = "wm,prizm-ehci", "usb-ehci";
10+ reg = <0xD8007100 0x200>;
11+ interrupts = <1>;
12+};
Documentation/devicetree/bindings/vendor-prefixes.txt+3−0
@@ -10,6 +10,7 @@ apm Applied Micro Circuits Corporation (APM) · 9 unmodified lines
1010 arm ARM Ltd.
1111 atmel Atmel Corporation
1212 bosch Bosch Sensortec GmbH
13+brcm Broadcom Corporation
1314 cavium Cavium, Inc.
1415 chrp Common Hardware Reference Platform
1516 cortina Cortina Systems, Inc.
@@ -47,5 +48,7 @@ sirf SiRF Technology, Inc. · 31 unmodified lines
4748 st STMicroelectronics
4849 stericsson ST-Ericsson
4950 ti Texas Instruments
51+via VIA Technologies, Inc.
5052 wlf Wolfson Microelectronics
53+wm Wondermedia Technologies, Inc.
5154 xlnx Xilinx
Documentation/devicetree/bindings/video/backlight/88pm860x.txt+15−0
@@ -0,0 +1,15 @@
1+88pm860x-backlight bindings
2+
3+Optional properties:
4+ - marvell,88pm860x-iset: Current supplies on backlight device.
5+ - marvell,88pm860x-pwm: PWM frequency on backlight device.
6+
7+Example:
8+
9+ backlights {
10+ backlight-0 {
11+ marvell,88pm860x-iset = <4>;
12+ marvell,88pm860x-pwm = <3>;
13+ };
14+ backlight-2 {
15+ };
Documentation/devicetree/bindings/video/via,vt8500-fb.txt+62−0
@@ -0,0 +1,62 @@
1+VIA VT8500 Framebuffer
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "via,vt8500-fb"
6+- reg : Should contain 1 register ranges(address and length)
7+- interrupts : framebuffer controller interrupt
8+- display: a phandle pointing to the display node
9+
10+Required nodes:
11+- display: a display node is required to initialize the lcd panel
12+ This should be in the board dts.
13+- default-mode: a videomode within the display with timing parameters
14+ as specified below.
15+
16+Example:
17+
18+ fb@d800e400 {
19+ compatible = "via,vt8500-fb";
20+ reg = <0xd800e400 0x400>;
21+ interrupts = <12>;
22+ display = <&display>;
23+ default-mode = <&mode0>;
24+ };
25+
26+VIA VT8500 Display
27+-----------------------------------------------------
28+Required properties (as per of_videomode_helper):
29+
30+ - hactive, vactive: Display resolution
31+ - hfront-porch, hback-porch, hsync-len: Horizontal Display timing parameters
32+ in pixels
33+ vfront-porch, vback-porch, vsync-len: Vertical display timing parameters in
34+ lines
35+ - clock: displayclock in Hz
36+ - bpp: lcd panel bit-depth.
37+ <16> for RGB565, <32> for RGB888
38+
39+Optional properties (as per of_videomode_helper):
40+ - width-mm, height-mm: Display dimensions in mm
41+ - hsync-active-high (bool): Hsync pulse is active high
42+ - vsync-active-high (bool): Vsync pulse is active high
43+ - interlaced (bool): This is an interlaced mode
44+ - doublescan (bool): This is a doublescan mode
45+
46+Example:
47+ display: display@0 {
48+ modes {
49+ mode0: mode@0 {
50+ hactive = <800>;
51+ vactive = <480>;
52+ hback-porch = <88>;
53+ hfront-porch = <40>;
54+ hsync-len = <0>;
55+ vback-porch = <32>;
56+ vfront-porch = <11>;
57+ vsync-len = <1>;
58+ clock = <0>; /* unused but required */
59+ bpp = <16>; /* non-standard but required */
60+ };
61+ };
62+ };
Documentation/devicetree/bindings/video/wm,prizm-ge-rops.txt+13−0
@@ -0,0 +1,13 @@
1+VIA/Wondermedia Graphics Engine Controller
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "wm,prizm-ge-rops"
6+- reg : Should contain 1 register ranges(address and length)
7+
8+Example:
9+
10+ ge_rops@d8050400 {
11+ compatible = "wm,prizm-ge-rops";
12+ reg = <0xd8050400 0x100>;
13+ };
Documentation/devicetree/bindings/video/wm,wm8505-fb.txt+23−0
@@ -0,0 +1,23 @@
1+Wondermedia WM8505 Framebuffer
2+-----------------------------------------------------
3+
4+Required properties:
5+- compatible : "wm,wm8505-fb"
6+- reg : Should contain 1 register ranges(address and length)
7+- via,display: a phandle pointing to the display node
8+
9+Required nodes:
10+- display: a display node is required to initialize the lcd panel
11+ This should be in the board dts. See definition in
12+ Documentation/devicetree/bindings/video/via,vt8500-fb.txt
13+- default-mode: a videomode node as specified in
14+ Documentation/devicetree/bindings/video/via,vt8500-fb.txt
15+
16+Example:
17+
18+ fb@d8050800 {
19+ compatible = "wm,wm8505-fb";
20+ reg = <0xd8050800 0x200>;
21+ display = <&display>;
22+ default-mode = <&mode0>;
23+ };
Documentation/driver-model/devres.txt+4−0
@@ -284,3 +284,7 @@ CLOCK · 283 unmodified lines
284284 PINCTRL
285285 devm_pinctrl_get()
286286 devm_pinctrl_put()
287+
288+PWM
289+ devm_pwm_get()
290+ devm_pwm_put()
Documentation/dvb/README.dvb-usb+1−1
@@ -30,7 +30,7 @@ with the device via the bus. The connection between the DVB-API-functionality · 29 unmodified lines
3030 is done via callbacks, assigned in a static device-description (struct
3131 dvb_usb_device) each device-driver has to have.
3232
33−For an example have a look in drivers/media/dvb/dvb-usb/vp7045*.
33+For an example have a look in drivers/media/usb/dvb-usb/vp7045*.
3434
3535 Objective is to migrate all the usb-devices (dibusb, cinergyT2, maybe the
3636 ttusb; flexcop-usb already benefits from the generic flexcop-device) to use
Documentation/dvb/get_dvb_firmware+1−1
@@ -116,7 +116,7 @@ sub tda10045 { · 115 unmodified lines
116116
117117 sub tda10046 {
118118 my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip";
119− my $url = "http://www.tt-download.com/download/updates/219/$sourcefile";
119+ my $url = "http://technotrend.com.ua/download/software/219/$sourcefile";
120120 my $hash = "6a7e1e2f2644b162ff0502367553c72d";
121121 my $outfile = "dvb-fe-tda10046.fw";
122122 my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
Documentation/feature-removal-schedule.txt+0−607
@@ -1,607 +0,0 @@
1−The following is a list of files and features that are going to be
2−removed in the kernel source tree. Every entry should contain what
3−exactly is going away, why it is happening, and who is going to be doing
4−the work. When the feature is removed from the kernel, it should also
5−be removed from this file. The suggested deprecation period is 3 releases.
6−
7−---------------------------
8−
9−What: ddebug_query="query" boot cmdline param
10−When: v3.8
11−Why: obsoleted by dyndbg="query" and module.dyndbg="query"
12−Who: Jim Cromie <jim.cromie@gmail.com>, Jason Baron <jbaron@redhat.com>
13−
14−---------------------------
15−
16−What: /proc/sys/vm/nr_pdflush_threads
17−When: 2012
18−Why: Since pdflush is deprecated, the interface exported in /proc/sys/vm/
19− should be removed.
20−Who: Wanpeng Li <liwp@linux.vnet.ibm.com>
21−
22−---------------------------
23−
24−What: CONFIG_APM_CPU_IDLE, and its ability to call APM BIOS in idle
25−When: 2012
26−Why: This optional sub-feature of APM is of dubious reliability,
27− and ancient APM laptops are likely better served by calling HLT.
28− Deleting CONFIG_APM_CPU_IDLE allows x86 to stop exporting
29− the pm_idle function pointer to modules.
30−Who: Len Brown <len.brown@intel.com>
31−
32−----------------------------
33−
34−What: x86_32 "no-hlt" cmdline param
35−When: 2012
36−Why: remove a branch from idle path, simplify code used by everybody.
37− This option disabled the use of HLT in idle and machine_halt()
38− for hardware that was flakey 15-years ago. Today we have
39− "idle=poll" that removed HLT from idle, and so if such a machine
40− is still running the upstream kernel, "idle=poll" is likely sufficient.
41−Who: Len Brown <len.brown@intel.com>
42−
43−----------------------------
44−
45−What: x86 "idle=mwait" cmdline param
46−When: 2012
47−Why: simplify x86 idle code
48−Who: Len Brown <len.brown@intel.com>
49−
50−----------------------------
51−
52−What: PRISM54
53−When: 2.6.34
54−
55−Why: prism54 FullMAC PCI / Cardbus devices used to be supported only by the
56− prism54 wireless driver. After Intersil stopped selling these
57− devices in preference for the newer more flexible SoftMAC devices
58− a SoftMAC device driver was required and prism54 did not support
59− them. The p54pci driver now exists and has been present in the kernel for
60− a while. This driver supports both SoftMAC devices and FullMAC devices.
61− The main difference between these devices was the amount of memory which
62− could be used for the firmware. The SoftMAC devices support a smaller
63− amount of memory. Because of this the SoftMAC firmware fits into FullMAC
64− devices's memory. p54pci supports not only PCI / Cardbus but also USB
65− and SPI. Since p54pci supports all devices prism54 supports
66− you will have a conflict. I'm not quite sure how distributions are
67− handling this conflict right now. prism54 was kept around due to
68− claims users may experience issues when using the SoftMAC driver.
69− Time has passed users have not reported issues. If you use prism54
70− and for whatever reason you cannot use p54pci please let us know!
71− E-mail us at: linux-wireless@vger.kernel.org
72−
73− For more information see the p54 wiki page:
74−
75− http://wireless.kernel.org/en/users/Drivers/p54
76−
77−Who: Luis R. Rodriguez <lrodriguez@atheros.com>
78−
79−---------------------------
80−
81−What: The ieee80211_regdom module parameter
82−When: March 2010 / desktop catchup
83−
84−Why: This was inherited by the CONFIG_WIRELESS_OLD_REGULATORY code,
85− and currently serves as an option for users to define an
86− ISO / IEC 3166 alpha2 code for the country they are currently
87− present in. Although there are userspace API replacements for this
88− through nl80211 distributions haven't yet caught up with implementing
89− decent alternatives through standard GUIs. Although available as an
90− option through iw or wpa_supplicant its just a matter of time before
91− distributions pick up good GUI options for this. The ideal solution
92− would actually consist of intelligent designs which would do this for
93− the user automatically even when travelling through different countries.
94− Until then we leave this module parameter as a compromise.
95−
96− When userspace improves with reasonable widely-available alternatives for
97− this we will no longer need this module parameter. This entry hopes that
98− by the super-futuristically looking date of "March 2010" we will have
99− such replacements widely available.
100−
101−Who: Luis R. Rodriguez <lrodriguez@atheros.com>
102−
103−---------------------------
104−
105−What: dev->power.power_state
106−When: July 2007
107−Why: Broken design for runtime control over driver power states, confusing
108− driver-internal runtime power management with: mechanisms to support
109− system-wide sleep state transitions; event codes that distinguish
110− different phases of swsusp "sleep" transitions; and userspace policy
111− inputs. This framework was never widely used, and most attempts to
112− use it were broken. Drivers should instead be exposing domain-specific
113− interfaces either to kernel or to userspace.
114−Who: Pavel Machek <pavel@ucw.cz>
115−
116−---------------------------
117−
118−What: /proc/<pid>/oom_adj
119−When: August 2012
120−Why: /proc/<pid>/oom_adj allows userspace to influence the oom killer's
121− badness heuristic used to determine which task to kill when the kernel
122− is out of memory.
123−
124− The badness heuristic has since been rewritten since the introduction of
125− this tunable such that its meaning is deprecated. The value was
126− implemented as a bitshift on a score generated by the badness()
127− function that did not have any precise units of measure. With the
128− rewrite, the score is given as a proportion of available memory to the
129− task allocating pages, so using a bitshift which grows the score
130− exponentially is, thus, impossible to tune with fine granularity.
131−
132− A much more powerful interface, /proc/<pid>/oom_score_adj, was
133− introduced with the oom killer rewrite that allows users to increase or
134− decrease the badness score linearly. This interface will replace
135− /proc/<pid>/oom_adj.
136−
137− A warning will be emitted to the kernel log if an application uses this
138− deprecated interface. After it is printed once, future warnings will be
139− suppressed until the kernel is rebooted.
140−
141−---------------------------
142−
143−What: remove EXPORT_SYMBOL(kernel_thread)
144−When: August 2006
145−Files: arch/*/kernel/*_ksyms.c
146−Check: kernel_thread
147−Why: kernel_thread is a low-level implementation detail. Drivers should
148− use the <linux/kthread.h> API instead which shields them from
149− implementation details and provides a higherlevel interface that
150− prevents bugs and code duplication
151−Who: Christoph Hellwig <hch@lst.de>
152−
153−---------------------------
154−
155−What: Unused EXPORT_SYMBOL/EXPORT_SYMBOL_GPL exports
156− (temporary transition config option provided until then)
157− The transition config option will also be removed at the same time.
158−When: before 2.6.19
159−Why: Unused symbols are both increasing the size of the kernel binary
160− and are often a sign of "wrong API"
161−Who: Arjan van de Ven <arjan@linux.intel.com>
162−
163−---------------------------
164−
165−What: PHYSDEVPATH, PHYSDEVBUS, PHYSDEVDRIVER in the uevent environment
166−When: October 2008
167−Why: The stacking of class devices makes these values misleading and
168− inconsistent.
169− Class devices should not carry any of these properties, and bus
170− devices have SUBSYTEM and DRIVER as a replacement.
171−Who: Kay Sievers <kay.sievers@suse.de>
172−
173−---------------------------
174−
175−What: ACPI procfs interface
176−When: July 2008
177−Why: ACPI sysfs conversion should be finished by January 2008.
178− ACPI procfs interface will be removed in July 2008 so that
179− there is enough time for the user space to catch up.
180−Who: Zhang Rui <rui.zhang@intel.com>
181−
182−---------------------------
183−
184−What: CONFIG_ACPI_PROCFS_POWER
185−When: 2.6.39
186−Why: sysfs I/F for ACPI power devices, including AC and Battery,
187− has been working in upstream kernel since 2.6.24, Sep 2007.
188− In 2.6.37, we make the sysfs I/F always built in and this option
189− disabled by default.
190− Remove this option and the ACPI power procfs interface in 2.6.39.
191−Who: Zhang Rui <rui.zhang@intel.com>
192−
193−---------------------------
194−
195−What: /proc/acpi/event
196−When: February 2008
197−Why: /proc/acpi/event has been replaced by events via the input layer
198− and netlink since 2.6.23.
199−Who: Len Brown <len.brown@intel.com>
200−
201−---------------------------
202−
203−What: i386/x86_64 bzImage symlinks
204−When: April 2010
205−
206−Why: The i386/x86_64 merge provides a symlink to the old bzImage
207− location so not yet updated user space tools, e.g. package
208− scripts, do not break.
209−Who: Thomas Gleixner <tglx@linutronix.de>
210−
211−---------------------------
212−
213−What: GPIO autorequest on gpio_direction_{input,output}() in gpiolib
214−When: February 2010
215−Why: All callers should use explicit gpio_request()/gpio_free().
216− The autorequest mechanism in gpiolib was provided mostly as a
217− migration aid for legacy GPIO interfaces (for SOC based GPIOs).
218− Those users have now largely migrated. Platforms implementing
219− the GPIO interfaces without using gpiolib will see no changes.
220−Who: David Brownell <dbrownell@users.sourceforge.net>
221−---------------------------
222−
223−What: b43 support for firmware revision < 410
224−When: The schedule was July 2008, but it was decided that we are going to keep the
225− code as long as there are no major maintanance headaches.
226− So it _could_ be removed _any_ time now, if it conflicts with something new.
227−Why: The support code for the old firmware hurts code readability/maintainability
228− and slightly hurts runtime performance. Bugfixes for the old firmware
229− are not provided by Broadcom anymore.
230−Who: Michael Buesch <m@bues.ch>
231−
232−---------------------------
233−
234−What: Ability for non root users to shm_get hugetlb pages based on mlock
235− resource limits
236−When: 2.6.31
237−Why: Non root users need to be part of /proc/sys/vm/hugetlb_shm_group or
238− have CAP_IPC_LOCK to be able to allocate shm segments backed by
239− huge pages. The mlock based rlimit check to allow shm hugetlb is
240− inconsistent with mmap based allocations. Hence it is being
241− deprecated.
242−Who: Ravikiran Thirumalai <kiran@scalex86.org>
243−
244−---------------------------
245−
246−What: sysfs ui for changing p4-clockmod parameters
247−When: September 2009
248−Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and
249− e088e4c9cdb618675874becb91b2fd581ee707e6.
250− Removal is subject to fixing any remaining bugs in ACPI which may
251− cause the thermal throttling not to happen at the right time.
252−Who: Dave Jones <davej@redhat.com>, Matthew Garrett <mjg@redhat.com>
253−
254−-----------------------------
255−
256−What: CONFIG_RFKILL_INPUT
257−When: 2.6.33
258−Why: Should be implemented in userspace, policy daemon.
259−Who: Johannes Berg <johannes@sipsolutions.net>
260−
261−----------------------------
262−
263−What: sound-slot/service-* module aliases and related clutters in
264− sound/sound_core.c
265−When: August 2010
266−Why: OSS sound_core grabs all legacy minors (0-255) of SOUND_MAJOR
267− (14) and requests modules using custom sound-slot/service-*
268− module aliases. The only benefit of doing this is allowing
269− use of custom module aliases which might as well be considered
270− a bug at this point. This preemptive claiming prevents
271− alternative OSS implementations.
272−
273− Till the feature is removed, the kernel will be requesting
274− both sound-slot/service-* and the standard char-major-* module
275− aliases and allow turning off the pre-claiming selectively via
276− CONFIG_SOUND_OSS_CORE_PRECLAIM and soundcore.preclaim_oss
277− kernel parameter.
278−
279− After the transition phase is complete, both the custom module
280− aliases and switches to disable it will go away. This removal
281− will also allow making ALSA OSS emulation independent of
282− sound_core. The dependency will be broken then too.
283−Who: Tejun Heo <tj@kernel.org>
284−
285−----------------------------
286−
287−What: sysfs-class-rfkill state file
288−When: Feb 2014
289−Files: net/rfkill/core.c
290−Why: Documented as obsolete since Feb 2010. This file is limited to 3
291− states while the rfkill drivers can have 4 states.
292−Who: anybody or Florian Mickler <florian@mickler.org>
293−
294−----------------------------
295−
296−What: sysfs-class-rfkill claim file
297−When: Feb 2012
298−Files: net/rfkill/core.c
299−Why: It is not possible to claim an rfkill driver since 2007. This is
300− Documented as obsolete since Feb 2010.
301−Who: anybody or Florian Mickler <florian@mickler.org>
302−
303−----------------------------
304−
305−What: iwlwifi 50XX module parameters
306−When: 3.0
307−Why: The "..50" modules parameters were used to configure 5000 series and
308− up devices; different set of module parameters also available for 4965
309− with same functionalities. Consolidate both set into single place
310− in drivers/net/wireless/iwlwifi/iwl-agn.c
311−
312−Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
313−
314−----------------------------
315−
316−What: iwl4965 alias support
317−When: 3.0
318−Why: Internal alias support has been present in module-init-tools for some
319− time, the MODULE_ALIAS("iwl4965") boilerplate aliases can be removed
320− with no impact.
321−
322−Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
323−
324−---------------------------
325−
326−What: xt_NOTRACK
327−Files: net/netfilter/xt_NOTRACK.c
328−When: April 2011
329−Why: Superseded by xt_CT
330−Who: Netfilter developer team <netfilter-devel@vger.kernel.org>
331−
332−----------------------------
333−
334−What: IRQF_DISABLED
335−When: 2.6.36
336−Why: The flag is a NOOP as we run interrupt handlers with interrupts disabled
337−Who: Thomas Gleixner <tglx@linutronix.de>
338−
339−----------------------------
340−
341−What: PCI DMA unmap state API
342−When: August 2012
343−Why: PCI DMA unmap state API (include/linux/pci-dma.h) was replaced
344− with DMA unmap state API (DMA unmap state API can be used for
345− any bus).
346−Who: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
347−
348−----------------------------
349−
350−What: iwlwifi disable_hw_scan module parameters
351−When: 3.0
352−Why: Hareware scan is the prefer method for iwlwifi devices for
353− scanning operation. Remove software scan support for all the
354− iwlwifi devices.
355−
356−Who: Wey-Yi Guy <wey-yi.w.guy@intel.com>
357−
358−----------------------------
359−
360−What: Legacy, non-standard chassis intrusion detection interface.
361−When: June 2011
362−Why: The adm9240, w83792d and w83793 hardware monitoring drivers have
363− legacy interfaces for chassis intrusion detection. A standard
364− interface has been added to each driver, so the legacy interface
365− can be removed.
366−Who: Jean Delvare <khali@linux-fr.org>
367−
368−----------------------------
369−
370−What: i2c_driver.attach_adapter
371− i2c_driver.detach_adapter
372−When: September 2011
373−Why: These legacy callbacks should no longer be used as i2c-core offers
374− a variety of preferable alternative ways to instantiate I2C devices.
375−Who: Jean Delvare <khali@linux-fr.org>
376−
377−----------------------------
378−
379−What: Opening a radio device node will no longer automatically switch the
380− tuner mode from tv to radio.
381−When: 3.3
382−Why: Just opening a V4L device should not change the state of the hardware
383− like that. It's very unexpected and against the V4L spec. Instead, you
384− switch to radio mode by calling VIDIOC_S_FREQUENCY. This is the second
385− and last step of the move to consistent handling of tv and radio tuners.
386−Who: Hans Verkuil <hans.verkuil@cisco.com>
387−
388−----------------------------
389−
390−What: CONFIG_CFG80211_WEXT
391−When: as soon as distributions ship new wireless tools, ie. wpa_supplicant 1.0
392− and NetworkManager/connman/etc. that are able to use nl80211
393−Why: Wireless extensions are deprecated, and userland tools are moving to
394− using nl80211. New drivers are no longer using wireless extensions,
395− and while there might still be old drivers, both new drivers and new
396− userland no longer needs them and they can't be used for an feature
397− developed in the past couple of years. As such, compatibility with
398− wireless extensions in new drivers will be removed.
399−Who: Johannes Berg <johannes@sipsolutions.net>
400−
401−----------------------------
402−
403−What: g_file_storage driver
404−When: 3.8
405−Why: This driver has been superseded by g_mass_storage.
406−Who: Alan Stern <stern@rowland.harvard.edu>
407−
408−----------------------------
409−
410−What: threeg and interface sysfs files in /sys/devices/platform/acer-wmi
411−When: 2012
412−Why: In 3.0, we can now autodetect internal 3G device and already have
413− the threeg rfkill device. So, we plan to remove threeg sysfs support
414− for it's no longer necessary.
415−
416− We also plan to remove interface sysfs file that exposed which ACPI-WMI
417− interface that was used by acer-wmi driver. It will replaced by
418− information log when acer-wmi initial.
419−Who: Lee, Chun-Yi <jlee@novell.com>
420−
421−---------------------------
422−
423−What: /sys/devices/platform/_UDC_/udc/_UDC_/is_dualspeed file and
424− is_dualspeed line in /sys/devices/platform/ci13xxx_*/udc/device file.
425−When: 3.8
426−Why: The is_dualspeed file is superseded by maximum_speed in the same
427− directory and is_dualspeed line in device file is superseded by
428− max_speed line in the same file.
429−
430− The maximum_speed/max_speed specifies maximum speed supported by UDC.
431− To check if dualspeeed is supported, check if the value is >= 3.
432− Various possible speeds are defined in <linux/usb/ch9.h>.
433−Who: Michal Nazarewicz <mina86@mina86.com>
434−
435−----------------------------
436−
437−What: The XFS nodelaylog mount option
438−When: 3.3
439−Why: The delaylog mode that has been the default since 2.6.39 has proven
440− stable, and the old code is in the way of additional improvements in
441− the log code.
442−Who: Christoph Hellwig <hch@lst.de>
443−
444−----------------------------
445−
446−What: iwlagn alias support
447−When: 3.5
448−Why: The iwlagn module has been renamed iwlwifi. The alias will be around
449− for backward compatibility for several cycles and then dropped.
450−Who: Don Fry <donald.h.fry@intel.com>
451−
452−----------------------------
453−
454−What: pci_scan_bus_parented()
455−When: 3.5
456−Why: The pci_scan_bus_parented() interface creates a new root bus. The
457− bus is created with default resources (ioport_resource and
458− iomem_resource) that are always wrong, so we rely on arch code to
459− correct them later. Callers of pci_scan_bus_parented() should
460− convert to using pci_scan_root_bus() so they can supply a list of
461− bus resources when the bus is created.
462−Who: Bjorn Helgaas <bhelgaas@google.com>
463−
464−----------------------------
465−
466−What: Low Performance USB Block driver ("CONFIG_BLK_DEV_UB")
467−When: 3.6
468−Why: This driver provides support for USB storage devices like "USB
469− sticks". As of now, it is deactivated in Debian, Fedora and
470− Ubuntu. All current users can switch over to usb-storage
471− (CONFIG_USB_STORAGE) which only drawback is the additional SCSI
472− stack.
473−Who: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
474−
475−----------------------------
476−
477−What: get_robust_list syscall
478−When: 2013
479−Why: There appear to be no production users of the get_robust_list syscall,
480− and it runs the risk of leaking address locations, allowing the bypass
481− of ASLR. It was only ever intended for debugging, so it should be
482− removed.
483−Who: Kees Cook <keescook@chromium.org>
484−
485−----------------------------
486−
487−What: Removing the pn544 raw driver.
488−When: 3.6
489−Why: With the introduction of the NFC HCI and SHDL kernel layers, pn544.c
490− is being replaced by pn544_hci.c which is accessible through the netlink
491− and socket NFC APIs. Moreover, pn544.c is outdated and does not seem to
492− work properly with the latest Android stacks.
493− Having 2 drivers for the same hardware is confusing and as such we
494− should only keep the one following the kernel NFC APIs.
495−Who: Samuel Ortiz <sameo@linux.intel.com>
496−
497−----------------------------
498−
499−What: setitimer accepts user NULL pointer (value)
500−When: 3.6
501−Why: setitimer is not returning -EFAULT if user pointer is NULL. This
502− violates the spec.
503−Who: Sasikantha Babu <sasikanth.v19@gmail.com>
504−
505−----------------------------
506−
507−What: remove bogus DV presets V4L2_DV_1080I29_97, V4L2_DV_1080I30 and
508− V4L2_DV_1080I25
509−When: 3.6
510−Why: These HDTV formats do not exist and were added by a confused mind
511− (that was me, to be precise...)
512−Who: Hans Verkuil <hans.verkuil@cisco.com>
513−
514−----------------------------
515−
516−What: V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls
517−When: 3.7
518−Why: The V4L2_CID_VCENTER, V4L2_CID_HCENTER controls have been deprecated
519− for about 4 years and they are not used by any mainline driver.
520− There are newer controls (V4L2_CID_PAN*, V4L2_CID_TILT*) that provide
521− similar functionality.
522−Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
523−
524−----------------------------
525−
526−What: cgroup option updates via remount
527−When: March 2013
528−Why: Remount currently allows changing bound subsystems and
529− release_agent. Rebinding is hardly useful as it only works
530− when the hierarchy is empty and release_agent itself should be
531− replaced with conventional fsnotify.
532−
533−----------------------------
534−
535−What: xt_recent rev 0
536−When: 2013
537−Who: Pablo Neira Ayuso <pablo@netfilter.org>
538−Files: net/netfilter/xt_recent.c
539−
540−----------------------------
541−
542−What: KVM debugfs statistics
543−When: 2013
544−Why: KVM tracepoints provide mostly equivalent information in a much more
545− flexible fashion.
546−
547−----------------------------
548−
549−What: at91-mci driver ("CONFIG_MMC_AT91")
550−When: 3.8
551−Why: There are two mci drivers: at91-mci and atmel-mci. The PDC support
552− was added to atmel-mci as a first step to support more chips.
553− Then at91-mci was kept only for old IP versions (on at91rm9200 and
554− at91sam9261). The support of these IP versions has just been added
555− to atmel-mci, so atmel-mci can be used for all chips.
556−Who: Ludovic Desroches <ludovic.desroches@atmel.com>
557−
558−----------------------------
559−
560−What: net/wanrouter/
561−When: June 2013
562−Why: Unsupported/unmaintained/unused since 2.6
563−
564−----------------------------
565−
566−What: V4L2 selections API target rectangle and flags unification, the
567− following definitions will be removed: V4L2_SEL_TGT_CROP_ACTIVE,
568− V4L2_SEL_TGT_COMPOSE_ACTIVE, V4L2_SUBDEV_SEL_*, V4L2_SUBDEV_SEL_FLAG_*
569− in favor of common V4L2_SEL_TGT_* and V4L2_SEL_FLAG_* definitions.
570− For more details see include/linux/v4l2-common.h.
571−When: 3.8
572−Why: The regular V4L2 selections and the subdev selection API originally
573− defined distinct names for the target rectangles and flags - V4L2_SEL_*
574− and V4L2_SUBDEV_SEL_*. Although, it turned out that the meaning of these
575− target rectangles is virtually identical and the APIs were consolidated
576− to use single set of names - V4L2_SEL_*. This didn't involve any ABI
577− changes. Alias definitions were created for the original ones to avoid
578− any instabilities in the user space interface. After few cycles these
579− backward compatibility definitions will be removed.
580−Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
581−
582−----------------------------
583−
584−What: Using V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags
585− to indicate a V4L2 memory-to-memory device capability
586−When: 3.8
587−Why: New drivers should use new V4L2_CAP_VIDEO_M2M capability flag
588− to indicate a V4L2 video memory-to-memory (M2M) device and
589− applications can now identify a M2M video device by checking
590− for V4L2_CAP_VIDEO_M2M, with VIDIOC_QUERYCAP ioctl. Using ORed
591− V4L2_CAP_VIDEO_CAPTURE and V4L2_CAP_VIDEO_OUTPUT flags for M2M
592− devices is ambiguous and may lead, for example, to identifying
593− a M2M device as a video capture or output device.
594−Who: Sylwester Nawrocki <s.nawrocki@samsung.com>
595−
596−----------------------------
597−
598−What: OMAP private DMA implementation
599−When: 2013
600−Why: We have a DMA engine implementation; all users should be updated
601− to use this rather than persisting with the old APIs. The old APIs
602− block merging the old DMA engine implementation into the DMA
603− engine driver.
604−Who: Russell King <linux@arm.linux.org.uk>,
605− Santosh Shilimkar <santosh.shilimkar@ti.com>
606−
607−----------------------------
Documentation/filesystems/ext4.txt+10−0
@@ -375,6 +375,16 @@ dioread_nolock locking. If the dioread_nolock option is specified · 374 unmodified lines
375375 Because of the restrictions this options comprises
376376 it is off by default (e.g. dioread_lock).
377377
378+max_dir_size_kb=n This limits the size of directories so that any
379+ attempt to expand them beyond the specified
380+ limit in kilobytes will cause an ENOSPC error.
381+ This is useful in memory constrained
382+ environments, where a very large directory can
383+ cause severe performance problems or even
384+ provoke the Out Of Memory killer. (For example,
385+ if there is only 512mb memory available, a 176mb
386+ directory may seriously cramp the system's style.)
387+
378388 i_version Enable 64-bit inode version support. This option is
379389 off by default.
380390
Documentation/filesystems/jfs.txt+15−4
@@ -3,6 +3,7 @@ IBM's Journaled File System (JFS) for Linux · 2 unmodified lines
33 JFS Homepage: http://jfs.sourceforge.net/
44
55 The following mount options are supported:
6+(*) == default
67
78 iocharset=name Character set to use for converting from Unicode to
89 ASCII. The default is to do no conversion. Use
@@ -21,12 +22,12 @@ nointegrity Do not write to the journal. The primary use of this option · 12 unmodified lines
2122 from backup media. The integrity of the volume is not
2223 guaranteed if the system abnormally abends.
2324
24−integrity Default. Commit metadata changes to the journal. Use this
25− option to remount a volume where the nointegrity option was
25+integrity(*) Commit metadata changes to the journal. Use this option to
26+ remount a volume where the nointegrity option was
2627 previously specified in order to restore normal behavior.
2728
2829 errors=continue Keep going on a filesystem error.
29−errors=remount-ro Default. Remount the filesystem read-only on an error.
30+errors=remount-ro(*) Remount the filesystem read-only on an error.
3031 errors=panic Panic and halt the machine if an error occurs.
3132
3233 uid=value Override on-disk uid with specified value
@@ -35,7 +36,17 @@ umask=value Override on-disk umask with specified octal value. For · 2 unmodified lines
3536 directories, the execute bit will be set if the corresponding
3637 read bit is set.
3738
38−Please send bugs, comments, cards and letters to shaggy@linux.vnet.ibm.com.
39+discard=minlen This enables/disables the use of discard/TRIM commands.
40+discard The discard/TRIM commands are sent to the underlying
41+nodiscard(*) block device when blocks are freed. This is useful for SSD
42+ devices and sparse/thinly-provisioned LUNs. The FITRIM ioctl
43+ command is also available together with the nodiscard option.
44+ The value of minlen specifies the minimum blockcount, when
45+ a TRIM command to the block device is considered usefull.
46+ When no value is given to the discard option, it defaults to
47+ 64 blocks, which means 256KiB in JFS.
48+ The minlen value of discard overrides the minlen value given
49+ on an FITRIM ioctl().
3950
4051 The JFS mailing list can be subscribed to by using the link labeled
4152 "Mail list Subscribe" at our web page http://jfs.sourceforge.net/
Documentation/filesystems/nfs/nfs.txt+41−3
@@ -12,9 +12,47 @@ and work is in progress on adding support for minor version 1 of the NFSv4 · 11 unmodified lines
1212 protocol.
1313
1414 The purpose of this document is to provide information on some of the
15−upcall interfaces that are used in order to provide the NFS client with
16−some of the information that it requires in order to fully comply with
17−the NFS spec.
15+special features of the NFS client that can be configured by system
16+administrators.
17+
18+
19+The nfs4_unique_id parameter
20+============================
21+
22+NFSv4 requires clients to identify themselves to servers with a unique
23+string. File open and lock state shared between one client and one server
24+is associated with this identity. To support robust NFSv4 state recovery
25+and transparent state migration, this identity string must not change
26+across client reboots.
27+
28+Without any other intervention, the Linux client uses a string that contains
29+the local system's node name. System administrators, however, often do not
30+take care to ensure that node names are fully qualified and do not change
31+over the lifetime of a client system. Node names can have other
32+administrative requirements that require particular behavior that does not
33+work well as part of an nfs_client_id4 string.
34+
35+The nfs.nfs4_unique_id boot parameter specifies a unique string that can be
36+used instead of a system's node name when an NFS client identifies itself to
37+a server. Thus, if the system's node name is not unique, or it changes, its
38+nfs.nfs4_unique_id stays the same, preventing collision with other clients
39+or loss of state during NFS reboot recovery or transparent state migration.
40+
41+The nfs.nfs4_unique_id string is typically a UUID, though it can contain
42+anything that is believed to be unique across all NFS clients. An
43+nfs4_unique_id string should be chosen when a client system is installed,
44+just as a system's root file system gets a fresh UUID in its label at
45+install time.
46+
47+The string should remain fixed for the lifetime of the client. It can be
48+changed safely if care is taken that the client shuts down cleanly and all
49+outstanding NFSv4 state has expired, to prevent loss of NFSv4 state.
50+
51+This string can be stored in an NFS client's grub.conf, or it can be provided
52+via a net boot facility such as PXE. It may also be specified as an nfs.ko
53+module parameter. Specifying a uniquifier string is not support for NFS
54+clients running in containers.
55+
1856
1957 The DNS resolver
2058 ================
Documentation/filesystems/nfs/nfsd-admin-interfaces.txt+41−0
@@ -0,0 +1,41 @@
1+Administrative interfaces for nfsd
2+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3+
4+Note that normally these interfaces are used only by the utilities in
5+nfs-utils.
6+
7+nfsd is controlled mainly by pseudofiles under the "nfsd" filesystem,
8+which is normally mounted at /proc/fs/nfsd/.
9+
10+The server is always started by the first write of a nonzero value to
11+nfsd/threads.
12+
13+Before doing that, NFSD can be told which sockets to listen on by
14+writing to nfsd/portlist; that write may be:
15+
16+ - an ascii-encoded file descriptor, which should refer to a
17+ bound (and listening, for tcp) socket, or
18+ - "transportname port", where transportname is currently either
19+ "udp", "tcp", or "rdma".
20+
21+If nfsd is started without doing any of these, then it will create one
22+udp and one tcp listener at port 2049 (see nfsd_init_socks).
23+
24+On startup, nfsd and lockd grace periods start.
25+
26+nfsd is shut down by a write of 0 to nfsd/threads. All locks and state
27+are thrown away at that point.
28+
29+Between startup and shutdown, the number of threads may be adjusted up
30+or down by additional writes to nfsd/threads or by writes to
31+nfsd/pool_threads.
32+
33+For more detail about files under nfsd/ and what they control, see
34+fs/nfsd/nfsctl.c; most of them have detailed comments.
35+
36+Implementation notes
37+^^^^^^^^^^^^^^^^^^^^
38+
39+Note that the rpc server requires the caller to serialize addition and
40+removal of listening sockets, and startup and shutdown of the server.
41+For nfsd this is done using nfsd_mutex.
Documentation/filesystems/nfs/nfsroot.txt+9−1
@@ -78,7 +78,8 @@ nfsroot=[<server-ip>:]<root-dir>[,<nfs-options>] · 77 unmodified lines
7878 flags = hard, nointr, noposix, cto, ac
7979
8080
81−ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>
81+ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:
82+ <dns0-ip>:<dns1-ip>
8283
8384 This parameter tells the kernel how to configure IP addresses of devices
8485 and also how to set up the IP routing table. It was originally called
@@ -158,6 +159,13 @@ ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> · 73 unmodified lines
158159
159160 Default: any
160161
162+ <dns0-ip> IP address of first nameserver.
163+ Value gets exported by /proc/net/pnp which is often linked
164+ on embedded systems by /etc/resolv.conf.
165+
166+ <dns1-ip> IP address of secound nameserver.
167+ Same as above.
168+
161169
162170 nfsrootdebug
163171
Documentation/filesystems/proc.txt+4−18
@@ -33,7 +33,7 @@ Table of Contents · 32 unmodified lines
3333 2 Modifying System Parameters
3434
3535 3 Per-Process Parameters
36− 3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj - Adjust the oom-killer
36+ 3.1 /proc/<pid>/oom_score_adj - Adjust the oom-killer
3737 score
3838 3.2 /proc/<pid>/oom_score - Display current oom-killer score
3939 3.3 /proc/<pid>/io - Display the IO accounting fields
@@ -1320,10 +1320,10 @@ of the kernel. · 1280 unmodified lines
13201320 CHAPTER 3: PER-PROCESS PARAMETERS
13211321 ------------------------------------------------------------------------------
13221322
1323−3.1 /proc/<pid>/oom_adj & /proc/<pid>/oom_score_adj- Adjust the oom-killer score
1323+3.1 /proc/<pid>/oom_score_adj- Adjust the oom-killer score
13241324 --------------------------------------------------------------------------------
13251325
1326−These file can be used to adjust the badness heuristic used to select which
1326+This file can be used to adjust the badness heuristic used to select which
13271327 process gets killed in out of memory conditions.
13281328
13291329 The badness heuristic assigns a value to each candidate task ranging from 0
@@ -1361,22 +1361,10 @@ same system, cpuset, mempolicy, or memory controller resources to use at least · 31 unmodified lines
13611361 equivalent to discounting 50% of the task's allowed memory from being considered
13621362 as scoring against the task.
13631363
1364−For backwards compatibility with previous kernels, /proc/<pid>/oom_adj may also
1365−be used to tune the badness score. Its acceptable values range from -16
1366−(OOM_ADJUST_MIN) to +15 (OOM_ADJUST_MAX) and a special value of -17
1367−(OOM_DISABLE) to disable oom killing entirely for that task. Its value is
1368−scaled linearly with /proc/<pid>/oom_score_adj.
1369−
1370−Writing to /proc/<pid>/oom_score_adj or /proc/<pid>/oom_adj will change the
1371−other with its scaled value.
1372−
13731364 The value of /proc/<pid>/oom_score_adj may be reduced no lower than the last
13741365 value set by a CAP_SYS_RESOURCE process. To reduce the value any lower
13751366 requires CAP_SYS_RESOURCE.
13761367
1377−NOTICE: /proc/<pid>/oom_adj is deprecated and will be removed, please see
1378−Documentation/feature-removal-schedule.txt.
1379−
13801368 Caveat: when a parent task is selected, the oom killer will sacrifice any first
13811369 generation children with separate address spaces instead, if possible. This
13821370 avoids servers and important system daemons from being killed and loses the
@@ -1387,9 +1375,7 @@ minimal amount of work. · 4 unmodified lines
13871375 -------------------------------------------------------------
13881376
13891377 This file can be used to check the current score used by the oom-killer is for
1390−any given <pid>. Use it together with /proc/<pid>/oom_adj to tune which
1391−process should be killed in an out-of-memory situation.
1392−
1378+any given <pid>.
13931379
13941380 3.3 /proc/<pid>/io - Display the IO accounting fields
13951381 -------------------------------------------------------
Documentation/firmware_class/README+17−9
@@ -18,32 +18,40 @@ · 17 unmodified lines
1818 High level behavior (mixed):
1919 ============================
2020
21− kernel(driver): calls request_firmware(&fw_entry, $FIRMWARE, device)
22−
23− userspace:
21+ 1), kernel(driver):
22+ - calls request_firmware(&fw_entry, $FIRMWARE, device)
23+ - kernel searchs the fimware image with name $FIRMWARE directly
24+ in the below search path of root filesystem:
25+ "/lib/firmware/updates/" UTS_RELEASE,
26+ "/lib/firmware/updates",
27+ "/lib/firmware/" UTS_RELEASE,
28+ "/lib/firmware"
29+ - If found, goto 7), else goto 2)
30+
31+ 2), userspace:
2432 - /sys/class/firmware/xxx/{loading,data} appear.
2533 - hotplug gets called with a firmware identifier in $FIRMWARE
2634 and the usual hotplug environment.
2735 - hotplug: echo 1 > /sys/class/firmware/xxx/loading
2836
29− kernel: Discard any previous partial load.
37+ 3), kernel: Discard any previous partial load.
3038
31− userspace:
39+ 4), userspace:
3240 - hotplug: cat appropriate_firmware_image > \
3341 /sys/class/firmware/xxx/data
3442
35− kernel: grows a buffer in PAGE_SIZE increments to hold the image as it
43+ 5), kernel: grows a buffer in PAGE_SIZE increments to hold the image as it
3644 comes in.
3745
38− userspace:
46+ 6), userspace:
3947 - hotplug: echo 0 > /sys/class/firmware/xxx/loading
4048
41− kernel: request_firmware() returns and the driver has the firmware
49+ 7), kernel: request_firmware() returns and the driver has the firmware
4250 image in fw_entry->{data,size}. If something went wrong
4351 request_firmware() returns non-zero and fw_entry is set to
4452 NULL.
4553
46− kernel(driver): Driver code calls release_firmware(fw_entry) releasing
54+ 8), kernel(driver): Driver code calls release_firmware(fw_entry) releasing
4755 the firmware image and any related resource.
4856
4957 High level behavior (driver code):
Documentation/hwmon/adt7410+51−0
@@ -0,0 +1,51 @@
1+Kernel driver adt7410
2+=====================
3+
4+Supported chips:
5+ * Analog Devices ADT7410
6+ Prefix: 'adt7410'
7+ Addresses scanned: I2C 0x48 - 0x4B
8+ Datasheet: Publicly available at the Analog Devices website
9+ http://www.analog.com/static/imported-files/data_sheets/ADT7410.pdf
10+
11+Author: Hartmut Knaack <knaack.h@gmx.de>
12+
13+Description
14+-----------
15+
16+The ADT7410 is a temperature sensor with rated temperature range of -55°C to
17++150°C. It has a high accuracy of +/-0.5°C and can be operated at a resolution
18+of 13 bits (0.0625°C) or 16 bits (0.0078°C). The sensor provides an INT pin to
19+indicate that a minimum or maximum temperature set point has been exceeded, as
20+well as a critical temperature (CT) pin to indicate that the critical
21+temperature set point has been exceeded. Both pins can be set up with a common
22+hysteresis of 0°C - 15°C and a fault queue, ranging from 1 to 4 events. Both
23+pins can individually set to be active-low or active-high, while the whole
24+device can either run in comparator mode or interrupt mode. The ADT7410
25+supports continous temperature sampling, as well as sampling one temperature
26+value per second or even justget one sample on demand for power saving.
27+Besides, it can completely power down its ADC, if power management is
28+required.
29+
30+Configuration Notes
31+-------------------
32+
33+Since the device uses one hysteresis value, which is an offset to minimum,
34+maximum and critical temperature, it can only be set for temp#_max_hyst.
35+However, temp#_min_hyst and temp#_crit_hyst show their corresponding
36+hysteresis.
37+The device is set to 16 bit resolution and comparator mode.
38+
39+sysfs-Interface
40+---------------
41+
42+temp#_input - temperature input
43+temp#_min - temperature minimum setpoint
44+temp#_max - temperature maximum setpoint
45+temp#_crit - critical temperature setpoint
46+temp#_min_hyst - hysteresis for temperature minimum (read-only)
47+temp#_max_hyst - hysteresis for temperature maximum (read/write)
48+temp#_crit_hyst - hysteresis for critical temperature (read-only)
49+temp#_min_alarm - temperature minimum alarm flag
50+temp#_max_alarm - temperature maximum alarm flag
51+temp#_crit_alarm - critical temperature alarm flag
Documentation/hwmon/coretemp+1−0
@@ -105,6 +105,7 @@ Process Processor TjMax(C) · 104 unmodified lines
105105 330/230 125
106106 E680/660/640/620 90
107107 E680T/660T/640T/620T 110
108+ CE4170/4150/4110 110
108109
109110 45nm Core2 Processors
110111 Solo ULV SU3500/3300 100
Documentation/hwmon/da9052+1−1
@@ -56,6 +56,6 @@ The junction temperature is calculated: · 55 unmodified lines
5656 The junction temperature attribute is supported by the driver.
5757
5858 The battery temperature is calculated:
59− Degree Celcius = 1 / (t1 + 1/298)- 273
59+ Degree Celsius = 1 / (t1 + 1/298)- 273
6060 where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))
6161 Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.
Documentation/hwmon/exynos4_tmu+0−81
@@ -1,81 +0,0 @@
1−Kernel driver exynos4_tmu
2−=================
3−
4−Supported chips:
5−* ARM SAMSUNG EXYNOS4 series of SoC
6− Prefix: 'exynos4-tmu'
7− Datasheet: Not publicly available
8−
9−Authors: Donggeun Kim <dg77.kim@samsung.com>
10−
11−Description
12−-----------
13−
14−This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
15−
16−The chip only exposes the measured 8-bit temperature code value
17−through a register.
18−Temperature can be taken from the temperature code.
19−There are three equations converting from temperature to temperature code.
20−
21−The three equations are:
22− 1. Two point trimming
23− Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
24−
25− 2. One point trimming
26− Tc = T + TI1 - 25
27−
28− 3. No trimming
29− Tc = T + 50
30−
31− Tc: Temperature code, T: Temperature,
32− TI1: Trimming info for 25 degree Celsius (stored at TRIMINFO register)
33− Temperature code measured at 25 degree Celsius which is unchanged
34− TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
35− Temperature code measured at 85 degree Celsius which is unchanged
36−
37−TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
38−when temperature exceeds pre-defined levels.
39−The maximum number of configurable threshold is four.
40−The threshold levels are defined as follows:
41− Level_0: current temperature > trigger_level_0 + threshold
42− Level_1: current temperature > trigger_level_1 + threshold
43− Level_2: current temperature > trigger_level_2 + threshold
44− Level_3: current temperature > trigger_level_3 + threshold
45−
46− The threshold and each trigger_level are set
47− through the corresponding registers.
48−
49−When an interrupt occurs, this driver notify user space of
50−one of four threshold levels for the interrupt
51−through kobject_uevent_env and sysfs_notify functions.
52−Although an interrupt condition for level_0 can be set,
53−it is not notified to user space through sysfs_notify function.
54−
55−Sysfs Interface
56−---------------
57−name name of the temperature sensor
58− RO
59−
60−temp1_input temperature
61− RO
62−
63−temp1_max temperature for level_1 interrupt
64− RO
65−
66−temp1_crit temperature for level_2 interrupt
67− RO
68−
69−temp1_emergency temperature for level_3 interrupt
70− RO
71−
72−temp1_max_alarm alarm for level_1 interrupt
73− RO
74−
75−temp1_crit_alarm
76− alarm for level_2 interrupt
77− RO
78−
79−temp1_emergency_alarm
80− alarm for level_3 interrupt
81− RO
Documentation/hwmon/fam15h_power+1−1
@@ -10,7 +10,7 @@ Supported chips: · 9 unmodified lines
1010 BIOS and Kernel Developer's Guide (BKDG) For AMD Family 15h Processors
1111 (not yet published)
1212
13−Author: Andreas Herrmann <andreas.herrmann3@amd.com>
13+Author: Andreas Herrmann <herrmann.der.user@googlemail.com>
1414
1515 Description
1616 -----------
Documentation/hwmon/ina2xx+18−0
@@ -8,12 +8,24 @@ Supported chips: · 7 unmodified lines
88 Datasheet: Publicly available at the Texas Instruments website
99 http://www.ti.com/
1010
11+ * Texas Instruments INA220
12+ Prefix: 'ina220'
13+ Addresses: I2C 0x40 - 0x4f
14+ Datasheet: Publicly available at the Texas Instruments website
15+ http://www.ti.com/
16+
1117 * Texas Instruments INA226
1218 Prefix: 'ina226'
1319 Addresses: I2C 0x40 - 0x4f
1420 Datasheet: Publicly available at the Texas Instruments website
1521 http://www.ti.com/
1622
23+ * Texas Instruments INA230
24+ Prefix: 'ina230'
25+ Addresses: I2C 0x40 - 0x4f
26+ Datasheet: Publicly available at the Texas Instruments website
27+ http://www.ti.com/
28+
1729 Author: Lothar Felten <l-felten@ti.com>
1830
1931 Description
@@ -23,7 +35,13 @@ The INA219 is a high-side current shunt and power monitor with an I2C · 3 unmodified lines
2335 interface. The INA219 monitors both shunt drop and supply voltage, with
2436 programmable conversion times and filtering.
2537
38+The INA220 is a high or low side current shunt and power monitor with an I2C
39+interface. The INA220 monitors both shunt drop and supply voltage.
40+
2641 The INA226 is a current shunt and power monitor with an I2C interface.
2742 The INA226 monitors both a shunt voltage drop and bus supply voltage.
2843
44+The INA230 is a high or low side current shunt and power monitor with an I2C
45+interface. The INA230 monitors both a shunt voltage drop and bus supply voltage.
46+
2947 The shunt value in micro-ohms can be set via platform data.
Documentation/hwmon/lm70+9−3
@@ -6,6 +6,10 @@ Supported chips: · 5 unmodified lines
66 Datasheet: http://www.national.com/pf/LM/LM70.html
77 * Texas Instruments TMP121/TMP123
88 Information: http://focus.ti.com/docs/prod/folders/print/tmp121.html
9+ * National Semiconductor LM71
10+ Datasheet: http://www.ti.com/product/LM71
11+ * National Semiconductor LM74
12+ Datasheet: http://www.ti.com/product/LM74
913
1014 Author:
1115 Kaiwan N Billimoria <kaiwan@designergraphix.com>
@@ -31,9 +35,11 @@ As a real (in-tree) example of this "SPI protocol driver" interfacing · 19 unmodified lines
3135 with a "SPI master controller driver", see drivers/spi/spi_lm70llp.c
3236 and its associated documentation.
3337
34−The TMP121/TMP123 are very similar; main differences are 4 wire SPI inter-
35−face (read only) and 13-bit temperature data (0.0625 degrees celsius reso-
36−lution).
38+The LM74 and TMP121/TMP123 are very similar; main difference is 13-bit
39+temperature data (0.0625 degrees celsius resolution).
40+
41+The LM71 is also very similar; main difference is 14-bit temperature
42+data (0.03125 degrees celsius resolution).
3743
3844 Thanks to
3945 ---------
Documentation/hwmon/max1619+1−1
@@ -9,7 +9,7 @@ Supported chips: · 8 unmodified lines
99 http://pdfserv.maxim-ic.com/en/ds/MAX1619.pdf
1010
1111 Authors:
12− Alexey Fisher <fishor@mail.ru>,
12+ Oleksij Rempel <bug-track@fisher-privat.net>,
1313 Jean Delvare <khali@linux-fr.org>
1414
1515 Description
Documentation/hwmon/max197+60−0
@@ -0,0 +1,60 @@
1+Maxim MAX197 driver
2+===================
3+
4+Author:
5+ * Vivien Didelot <vivien.didelot@savoirfairelinux.com>
6+
7+Supported chips:
8+ * Maxim MAX197
9+ Prefix: 'max197'
10+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX197.pdf
11+
12+ * Maxim MAX199
13+ Prefix: 'max199'
14+ Datasheet: http://datasheets.maxim-ic.com/en/ds/MAX199.pdf
15+
16+Description
17+-----------
18+
19+The A/D converters MAX197, and MAX199 are both 8-Channel, Multi-Range, 5V,
20+12-Bit DAS with 8+4 Bus Interface and Fault Protection.
21+
22+The available ranges for the MAX197 are {0,-5V} to 5V, and {0,-10V} to 10V,
23+while they are {0,-2V} to 2V, and {0,-4V} to 4V on the MAX199.
24+
25+Platform data
26+-------------
27+
28+The MAX197 platform data (defined in linux/platform_data/max197.h) should be
29+filled with a pointer to a conversion function, defined like:
30+
31+ int convert(u8 ctrl);
32+
33+ctrl is the control byte to write to start a new conversion.
34+On success, the function must return the 12-bit raw value read from the chip,
35+or a negative error code otherwise.
36+
37+Control byte format:
38+
39+Bit Name Description
40+7,6 PD1,PD0 Clock and Power-Down modes
41+5 ACQMOD Internal or External Controlled Acquisition
42+4 RNG Full-scale voltage magnitude at the input
43+3 BIP Unipolar or Bipolar conversion mode
44+2,1,0 A2,A1,A0 Channel
45+
46+Sysfs interface
47+---------------
48+
49+* in[0-7]_input: The conversion value for the corresponding channel.
50+ RO
51+
52+* in[0-7]_min: The lower limit (in mV) for the corresponding channel.
53+ For the MAX197, it will be adjusted to -10000, -5000, or 0.
54+ For the MAX199, it will be adjusted to -4000, -2000, or 0.
55+ RW
56+
57+* in[0-7]_max: The higher limit (in mV) for the corresponding channel.
58+ For the MAX197, it will be adjusted to 0, 5000, or 10000.
59+ For the MAX199, it will be adjusted to 0, 2000, or 4000.
60+ RW
Documentation/hwmon/mcp3021+15−8
@@ -5,18 +5,25 @@ Supported chips: · 4 unmodified lines
55 * Microchip Technology MCP3021
66 Prefix: 'mcp3021'
77 Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21805a.pdf
8+ * Microchip Technology MCP3221
9+ Prefix: 'mcp3221'
10+ Datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/21732c.pdf
811
9−Author: Mingkai Hu
12+Authors:
13+ Mingkai Hu
14+ Sven Schuchmann <schuchmann@schleissheimer.de>
1015
1116 Description
1217 -----------
1318
14−This driver implements support for the Microchip Technology MCP3021 chip.
19+This driver implements support for the Microchip Technology MCP3021 and
20+MCP3221 chip.
1521
1622 The Microchip Technology Inc. MCP3021 is a successive approximation A/D
17−converter (ADC) with 10-bit resolution.
18−This device provides one single-ended input with very low power consumption.
19−Communication to the MCP3021 is performed using a 2-wire I2C compatible
20−interface. Standard (100 kHz) and Fast (400 kHz) I2C modes are available.
21−The default I2C device address is 0x4d (contact the Microchip factory for
22−additional address options).
23+converter (ADC) with 10-bit resolution. The MCP3221 has 12-bit resolution.
24+
25+These devices provide one single-ended input with very low power consumption.
26+Communication to the MCP3021/MCP3221 is performed using a 2-wire I2C
27+compatible interface. Standard (100 kHz) and Fast (400 kHz) I2C modes are
28+available. The default I2C device address is 0x4d (contact the Microchip
29+factory for additional address options).
Documentation/hwmon/submitting-patches+1−2
@@ -60,8 +60,7 @@ increase the chances of your change being accepted. · 59 unmodified lines
6060
6161 * Add the driver to Kconfig and Makefile in alphabetical order.
6262
63−* Make sure that all dependencies are listed in Kconfig. For new drivers, it
64− is most likely prudent to add a dependency on EXPERIMENTAL.
63+* Make sure that all dependencies are listed in Kconfig.
6564
6665 * Avoid forward declarations if you can. Rearrange the code if necessary.
6766
Documentation/hwmon/twl4030-madc-hwmon+1−1
@@ -41,5 +41,5 @@ Channel Signal · 40 unmodified lines
4141
4242 The Sysfs nodes will represent the voltage in the units of mV,
4343 the temperature channel shows the converted temperature in
44−degree celcius. The Battery charging current channel represents
44+degree Celsius. The Battery charging current channel represents
4545 battery charging current in mA.
Documentation/i2c/busses/i2c-viapro+5−1
@@ -20,7 +20,10 @@ Supported adapters: · 19 unmodified lines
2020 Datasheet: available on http://linux.via.com.tw
2121
2222 * VIA Technologies, Inc. VX855/VX875
23− Datasheet: Availability unknown
23+ Datasheet: available on http://linux.via.com.tw
24+
25+ * VIA Technologies, Inc. VX900
26+ Datasheet: available on http://linux.via.com.tw
2427
2528 Authors:
2629 Kyösti Mälkki <kmalkki@cc.hut.fi>,
@@ -57,6 +60,7 @@ Your lspci -n listing must show one of these : · 30 unmodified lines
5760 device 1106:8324 (CX700)
5861 device 1106:8353 (VX800/VX820)
5962 device 1106:8409 (VX855/VX875)
63+ device 1106:8410 (VX900)
6064
6165 If none of these show up, you should look in the BIOS for settings like
6266 enable ACPI / SMBus or even USB.
Documentation/i2c/muxes/i2c-mux-gpio+18−0
@@ -63,3 +63,21 @@ static struct platform_device myboard_i2cmux = { · 62 unmodified lines
6363 .platform_data = &myboard_i2cmux_data,
6464 },
6565 };
66+
67+If you don't know the absolute GPIO pin numbers at registration time,
68+you can instead provide a chip name (.chip_name) and relative GPIO pin
69+numbers, and the i2c-gpio-mux driver will do the work for you,
70+including deferred probing if the GPIO chip isn't immediately
71+available.
72+
73+Device Registration
74+-------------------
75+
76+When registering your i2c-gpio-mux device, you should pass the number
77+of any GPIO pin it uses as the device ID. This guarantees that every
78+instance has a different ID.
79+
80+Alternatively, if you don't need a stable device name, you can simply
81+pass PLATFORM_DEVID_AUTO as the device ID, and the platform core will
82+assign a dynamic ID to your device. If you do not know the absolute
83+GPIO pin numbers at registration time, this is even the only option.
Documentation/infiniband/ipoib.txt+3−0
@@ -24,6 +24,9 @@ Partitions and P_Keys · 23 unmodified lines
2424 The P_Key for any interface is given by the "pkey" file, and the
2525 main interface for a subinterface is in "parent."
2626
27+ Child interface create/delete can also be done using IPoIB's
28+ rtnl_link_ops, where childs created using either way behave the same.
29+
2730 Datagram vs Connected modes
2831
2932 The IPoIB driver supports two modes of operation: datagram and
Documentation/input/event-codes.txt+11−0
@@ -196,6 +196,17 @@ EV_MSC: · 195 unmodified lines
196196 EV_MSC events are used for input and output events that do not fall under other
197197 categories.
198198
199+A few EV_MSC codes have special meaning:
200+
201+* MSC_TIMESTAMP:
202+ - Used to report the number of microseconds since the last reset. This event
203+ should be coded as an uint32 value, which is allowed to wrap around with
204+ no special consequence. It is assumed that the time difference between two
205+ consecutive events is reliable on a reasonable time scale (hours).
206+ A reset to zero can happen, in which case the time since the last event is
207+ unknown. If the device does not provide this information, the driver must
208+ not provide it to user space.
209+
199210 EV_LED:
200211 ----------
201212 EV_LED events are used for input and output to set and query the state of
Documentation/ioctl/ioctl-number.txt+0−5
@@ -178,7 +178,6 @@ Code Seq#(hex) Include File Comments · 177 unmodified lines
178178 'V' C0 linux/ivtv.h conflict!
179179 'V' C0 media/davinci/vpfe_capture.h conflict!
180180 'V' C0 media/si4713.h conflict!
181−'V' C0-CF drivers/media/video/mxb.h conflict!
182181 'W' 00-1F linux/watchdog.h conflict!
183182 'W' 00-1F linux/wanrouter.h conflict!
184183 'W' 00-3F sound/asound.h conflict!
@@ -204,8 +203,6 @@ Code Seq#(hex) Include File Comments · 19 unmodified lines
204203 'c' A0-AF arch/x86/include/asm/msr.h conflict!
205204 'd' 00-FF linux/char/drm/drm/h conflict!
206205 'd' 02-40 pcmcia/ds.h conflict!
207−'d' 10-3F drivers/media/video/dabusb.h conflict!
208−'d' C0-CF drivers/media/video/saa7191.h conflict!
209206 'd' F0-FF linux/digi1.h
210207 'e' all linux/digi1.h conflict!
211208 'e' 00-1F drivers/net/irda/irtty-sir.h conflict!
@@ -267,9 +264,7 @@ Code Seq#(hex) Include File Comments · 55 unmodified lines
267264 'v' 00-1F linux/ext2_fs.h conflict!
268265 'v' 00-1F linux/fs.h conflict!
269266 'v' 00-0F linux/sonypi.h conflict!
270−'v' C0-DF media/pwc-ioctl.h conflict!
271267 'v' C0-FF linux/meye.h conflict!
272−'v' D0-DF drivers/media/video/cpia2/cpia2dev.h conflict!
273268 'w' all CERN SCI driver
274269 'y' 00-1F packet based user level communications
275270 <mailto:zapman@interlan.net>
Documentation/kbuild/makefiles.txt+4−4
@@ -45,7 +45,7 @@ This document describes the Linux kernel Makefiles. · 44 unmodified lines
4545
4646 === 7 Kbuild syntax for exported headers
4747 --- 7.1 header-y
48− --- 7.2 objhdr-y
48+ --- 7.2 genhdr-y
4949 --- 7.3 destination-y
5050 --- 7.4 generic-y
5151
@@ -1282,15 +1282,15 @@ See subsequent chapter for the syntax of the Kbuild file. · 1230 unmodified lines
12821282
12831283 Subdirectories are visited before their parent directories.
12841284
1285− --- 7.2 objhdr-y
1285+ --- 7.2 genhdr-y
12861286
1287− objhdr-y specifies generated files to be exported.
1287+ genhdr-y specifies generated files to be exported.
12881288 Generated files are special as they need to be looked
12891289 up in another directory when doing 'make O=...' builds.
12901290
12911291 Example:
12921292 #include/linux/Kbuild
1293− objhdr-y += version.h
1293+ genhdr-y += version.h
12941294
12951295 --- 7.3 destination-y
12961296
Documentation/kernel-parameters.txt+27−1
@@ -1051,6 +1051,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 1050 unmodified lines
10511051 ihash_entries= [KNL]
10521052 Set number of hash buckets for inode cache.
10531053
1054+ ima_appraise= [IMA] appraise integrity measurements
1055+ Format: { "off" | "enforce" | "fix" }
1056+ default: "enforce"
1057+
1058+ ima_appraise_tcb [IMA]
1059+ The builtin appraise policy appraises all files
1060+ owned by uid=0.
1061+
10541062 ima_audit= [IMA]
10551063 Format: { "0" | "1" }
10561064 0 -- integrity auditing messages. (Default)
@@ -1350,6 +1358,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 293 unmodified lines
13501358 * nohrst, nosrst, norst: suppress hard, soft
13511359 and both resets.
13521360
1361+ * rstonce: only attempt one reset during
1362+ hot-unplug link recovery
1363+
13531364 * dump_id: dump IDENTIFY data.
13541365
13551366 If there are multiple matching configurations changing
@@ -1582,6 +1593,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 226 unmodified lines
15821593 log everything. Information is printed at KERN_DEBUG
15831594 so loglevel=8 may also need to be specified.
15841595
1596+ module.sig_enforce
1597+ [KNL] When CONFIG_MODULE_SIG is set, this means that
1598+ modules without (valid) signatures will fail to load.
1599+ Note that if CONFIG_MODULE_SIG_ENFORCE is set, that
1600+ is always true, so this option does nothing.
1601+
15851602 mousedev.tap_time=
15861603 [MOUSE] Maximum time between finger touching and
15871604 leaving touchpad surface for touch to be considered
@@ -1719,6 +1736,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 131 unmodified lines
17191736 will be autodetected by the client, and it will fall
17201737 back to using the idmapper.
17211738 To turn off this behaviour, set the value to '0'.
1739+ nfs.nfs4_unique_id=
1740+ [NFS4] Specify an additional fixed unique ident-
1741+ ification string that NFSv4 clients can insert into
1742+ their nfs_client_id4 string. This is typically a
1743+ UUID that is generated at system install time.
17221744
17231745 nfs.send_implementation_id =
17241746 [NFSv4.1] Send client implementation identification
@@ -1812,8 +1834,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 87 unmodified lines
18121834 noexec=on: enable non-executable mappings (default)
18131835 noexec=off: disable non-executable mappings
18141836
1837+ nosmap [X86]
1838+ Disable SMAP (Supervisor Mode Access Prevention)
1839+ even if it is supported by processor.
1840+
18151841 nosmep [X86]
1816− Disable SMEP (Supervisor Mode Execution Protection)
1842+ Disable SMEP (Supervisor Mode Execution Prevention)
18171843 even if it is supported by processor.
18181844
18191845 noexec32 [X86-64]
Documentation/leds/leds-lp5523.txt+18−3
@@ -10,8 +10,22 @@ Contact: Samu Onkalo (samu.p.onkalo-at-nokia.com) · 9 unmodified lines
1010 Description
1111 -----------
1212 LP5523 can drive up to 9 channels. Leds can be controlled directly via
13−the led class control interface. Channels have generic names:
14−lp5523:channelx where x is 0...8
13+the led class control interface.
14+The name of each channel is configurable in the platform data - name and label.
15+There are three options to make the channel name.
16+
17+a) Define the 'name' in the platform data
18+To make specific channel name, then use 'name' platform data.
19+/sys/class/leds/R1 (name: 'R1')
20+/sys/class/leds/B1 (name: 'B1')
21+
22+b) Use the 'label' with no 'name' field
23+For one device name with channel number, then use 'label'.
24+/sys/class/leds/RGB:channelN (label: 'RGB', N: 0 ~ 8)
25+
26+c) Default
27+If both fields are NULL, 'lp5523' is used by default.
28+/sys/class/leds/lp5523:channelN (N: 0 ~ 8)
1529
1630 The chip provides 3 engines. Each engine can control channels without
1731 interaction from the main CPU. Details of the micro engine code can be found
@@ -46,12 +60,13 @@ Note - chan_nr can have values between 0 and 8. · 28 unmodified lines
4660
4761 static struct lp5523_led_config lp5523_led_config[] = {
4862 {
63+ .name = "D1",
4964 .chan_nr = 0,
5065 .led_current = 50,
5166 .max_current = 130,
5267 },
5368 ...
54− }, {
69+ {
5570 .chan_nr = 8,
5671 .led_current = 50,
5772 .max_current = 130,
Documentation/memory.txt+0−33
@@ -1,33 +0,0 @@
1−There are several classic problems related to memory on Linux
2−systems.
3−
4− 1) There are some motherboards that will not cache above
5− a certain quantity of memory. If you have one of these
6− motherboards, your system will be SLOWER, not faster
7− as you add more memory. Consider exchanging your
8− motherboard.
9−
10−All of these problems can be addressed with the "mem=XXXM" boot option
11−(where XXX is the size of RAM to use in megabytes).
12−It can also tell Linux to use less memory than is actually installed.
13−If you use "mem=" on a machine with PCI, consider using "memmap=" to avoid
14−physical address space collisions.
15−
16−See the documentation of your boot loader (LILO, grub, loadlin, etc.) about
17−how to pass options to the kernel.
18−
19−There are other memory problems which Linux cannot deal with. Random
20−corruption of memory is usually a sign of serious hardware trouble.
21−Try:
22−
23− * Reducing memory settings in the BIOS to the most conservative
24− timings.
25−
26− * Adding a cooling fan.
27−
28− * Not overclocking your CPU.
29−
30− * Having the memory tested in a memory tester or exchanged
31− with the vendor. Consider testing it with memtest86 yourself.
32−
33− * Exchanging your CPU, cache, or motherboard for one that works.
Documentation/networking/batman-adv.txt+4−3
@@ -75,9 +75,10 @@ folder: · 74 unmodified lines
7575
7676 There is a special folder for debugging information:
7777
78−# ls /sys/kernel/debug/batman_adv/bat0/
79−# bla_claim_table log socket transtable_local
80−# gateways originators transtable_global vis_data
78+# ls /sys/kernel/debug/batman_adv/bat0/
79+# bla_backbone_table log transtable_global
80+# bla_claim_table originators transtable_local
81+# gateways socket vis_data
8182
8283 Some of the files contain all sort of status information regard-
8384 ing the mesh network. For example, you can view the table of
Documentation/networking/bonding.txt+25−5
@@ -752,12 +752,22 @@ xmit_hash_policy · 751 unmodified lines
752752 protocol information to generate the hash.
753753
754754 Uses XOR of hardware MAC addresses and IP addresses to
755− generate the hash. The formula is
755+ generate the hash. The IPv4 formula is
756756
757757 (((source IP XOR dest IP) AND 0xffff) XOR
758758 ( source MAC XOR destination MAC ))
759759 modulo slave count
760760
761+ The IPv6 formula is
762+
763+ hash = (source ip quad 2 XOR dest IP quad 2) XOR
764+ (source ip quad 3 XOR dest IP quad 3) XOR
765+ (source ip quad 4 XOR dest IP quad 4)
766+
767+ (((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash)
768+ XOR (source MAC XOR destination MAC))
769+ modulo slave count
770+
761771 This algorithm will place all traffic to a particular
762772 network peer on the same slave. For non-IP traffic,
763773 the formula is the same as for the layer2 transmit
@@ -778,19 +788,29 @@ xmit_hash_policy · 14 unmodified lines
778788 slaves, although a single connection will not span
779789 multiple slaves.
780790
781− The formula for unfragmented TCP and UDP packets is
791+ The formula for unfragmented IPv4 TCP and UDP packets is
782792
783793 ((source port XOR dest port) XOR
784794 ((source IP XOR dest IP) AND 0xffff)
785795 modulo slave count
786796
787− For fragmented TCP or UDP packets and all other IP
788− protocol traffic, the source and destination port
797+ The formula for unfragmented IPv6 TCP and UDP packets is
798+
799+ hash = (source port XOR dest port) XOR
800+ ((source ip quad 2 XOR dest IP quad 2) XOR
801+ (source ip quad 3 XOR dest IP quad 3) XOR
802+ (source ip quad 4 XOR dest IP quad 4))
803+
804+ ((hash >> 24) XOR (hash >> 16) XOR (hash >> 8) XOR hash)
805+ modulo slave count
806+
807+ For fragmented TCP or UDP packets and all other IPv4 and
808+ IPv6 protocol traffic, the source and destination port
789809 information is omitted. For non-IP traffic, the
790810 formula is the same as for the layer2 transmit hash
791811 policy.
792812
793− This policy is intended to mimic the behavior of
813+ The IPv4 policy is intended to mimic the behavior of
794814 certain switches, notably Cisco switches with PFC2 as
795815 well as some Foundry and IBM products.
796816
Documentation/networking/ip-sysctl.txt+28−9
@@ -439,7 +439,9 @@ tcp_stdurg - BOOLEAN · 438 unmodified lines
439439 tcp_synack_retries - INTEGER
440440 Number of times SYNACKs for a passive TCP connection attempt will
441441 be retransmitted. Should not be higher than 255. Default value
442− is 5, which corresponds to ~180seconds.
442+ is 5, which corresponds to 31seconds till the last retransmission
443+ with the current initial RTO of 1second. With this the final timeout
444+ for a passive TCP connection will happen after 63seconds.
443445
444446 tcp_syncookies - BOOLEAN
445447 Only valid when the kernel was compiled with CONFIG_SYNCOOKIES
@@ -465,20 +467,37 @@ tcp_syncookies - BOOLEAN · 19 unmodified lines
465467 tcp_fastopen - INTEGER
466468 Enable TCP Fast Open feature (draft-ietf-tcpm-fastopen) to send data
467469 in the opening SYN packet. To use this feature, the client application
468− must not use connect(). Instead, it should use sendmsg() or sendto()
469− with MSG_FASTOPEN flag which performs a TCP handshake automatically.
470−
471− The values (bitmap) are:
472− 1: Enables sending data in the opening SYN on the client
473− 5: Enables sending data in the opening SYN on the client regardless
474− of cookie availability.
470+ must use sendmsg() or sendto() with MSG_FASTOPEN flag rather than
471+ connect() to perform a TCP handshake automatically.
472+
473+ The values (bitmap) are
474+ 1: Enables sending data in the opening SYN on the client.
475+ 2: Enables TCP Fast Open on the server side, i.e., allowing data in
476+ a SYN packet to be accepted and passed to the application before
477+ 3-way hand shake finishes.
478+ 4: Send data in the opening SYN regardless of cookie availability and
479+ without a cookie option.
480+ 0x100: Accept SYN data w/o validating the cookie.
481+ 0x200: Accept data-in-SYN w/o any cookie option present.
482+ 0x400/0x800: Enable Fast Open on all listeners regardless of the
483+ TCP_FASTOPEN socket option. The two different flags designate two
484+ different ways of setting max_qlen without the TCP_FASTOPEN socket
485+ option.
475486
476487 Default: 0
477488
489+ Note that the client & server side Fast Open flags (1 and 2
490+ respectively) must be also enabled before the rest of flags can take
491+ effect.
492+
493+ See include/net/tcp.h and the code for more details.
494+
478495 tcp_syn_retries - INTEGER
479496 Number of times initial SYNs for an active TCP connection attempt
480497 will be retransmitted. Should not be higher than 255. Default value
481− is 5, which corresponds to ~180seconds.
498+ is 6, which corresponds to 63seconds till the last restransmission
499+ with the current initial RTO of 1second. With this the final timeout
500+ for an active TCP connection attempt will happen after 127seconds.
482501
483502 tcp_timestamps - BOOLEAN
484503 Enable timestamps as defined in RFC1323.
Documentation/networking/stmmac.txt+0−5
@@ -173,7 +173,6 @@ Where: · 172 unmodified lines
173173 For MDIO bus The we have:
174174
175175 struct stmmac_mdio_bus_data {
176− int bus_id;
177176 int (*phy_reset)(void *priv);
178177 unsigned int phy_mask;
179178 int *irqs;
@@ -181,7 +180,6 @@ For MDIO bus The we have: · 1 unmodified line
181180 };
182181
183182 Where:
184− o bus_id: bus identifier;
185183 o phy_reset: hook to reset the phy device attached to the bus.
186184 o phy_mask: phy mask passed when register the MDIO bus within the driver.
187185 o irqs: list of IRQs, one per PHY.
@@ -230,9 +228,6 @@ there are two MAC cores: one MAC is for MDIO Bus/PHY emulation · 42 unmodified lines
230228 with fixed_link support.
231229
232230 static struct stmmac_mdio_bus_data stmmac1_mdio_bus = {
233− .bus_id = 1,
234− |
235− |-> phy device on the bus_id 1
236231 .phy_reset = phy_reset;
237232 |
238233 |-> function to provide the phy_reset on this board
Documentation/networking/vxlan.txt+47−0
@@ -0,0 +1,47 @@
1+Virtual eXtensible Local Area Networking documentation
2+======================================================
3+
4+The VXLAN protocol is a tunnelling protocol that is designed to
5+solve the problem of limited number of available VLAN's (4096).
6+With VXLAN identifier is expanded to 24 bits.
7+
8+It is a draft RFC standard, that is implemented by Cisco Nexus,
9+Vmware and Brocade. The protocol runs over UDP using a single
10+destination port (still not standardized by IANA).
11+This document describes the Linux kernel tunnel device,
12+there is also an implantation of VXLAN for Openvswitch.
13+
14+Unlike most tunnels, a VXLAN is a 1 to N network, not just point
15+to point. A VXLAN device can either dynamically learn the IP address
16+of the other end, in a manner similar to a learning bridge, or the
17+forwarding entries can be configured statically.
18+
19+The management of vxlan is done in a similar fashion to it's
20+too closest neighbors GRE and VLAN. Configuring VXLAN requires
21+the version of iproute2 that matches the kernel release
22+where VXLAN was first merged upstream.
23+
24+1. Create vxlan device
25+ # ip li add vxlan0 type vxlan id 42 group 239.1.1.1 dev eth1
26+
27+This creates a new device (vxlan0). The device uses the
28+the multicast group 239.1.1.1 over eth1 to handle packets where
29+no entry is in the forwarding table.
30+
31+2. Delete vxlan device
32+ # ip link delete vxlan0
33+
34+3. Show vxlan info
35+ # ip -d show vxlan0
36+
37+It is possible to create, destroy and display the vxlan
38+forwarding table using the new bridge command.
39+
40+1. Create forwarding table entry
41+ # bridge fdb add to 00:17:42:8a:b4:05 dst 192.19.0.2 dev vxlan0
42+
43+2. Delete forwarding table entry
44+ # bridge fdb delete 00:17:42:8a:b4:05
45+
46+3. Show forwarding table
47+ # bridge fdb show dev vxlan0
Documentation/percpu-rw-semaphore.txt+27−0
@@ -0,0 +1,27 @@
1+Percpu rw semaphores
2+--------------------
3+
4+Percpu rw semaphores is a new read-write semaphore design that is
5+optimized for locking for reading.
6+
7+The problem with traditional read-write semaphores is that when multiple
8+cores take the lock for reading, the cache line containing the semaphore
9+is bouncing between L1 caches of the cores, causing performance
10+degradation.
11+
12+Locking for reading is very fast, it uses RCU and it avoids any atomic
13+instruction in the lock and unlock path. On the other hand, locking for
14+writing is very expensive, it calls synchronize_rcu() that can take
15+hundreds of milliseconds.
16+
17+The lock is declared with "struct percpu_rw_semaphore" type.
18+The lock is initialized percpu_init_rwsem, it returns 0 on success and
19+-ENOMEM on allocation failure.
20+The lock must be freed with percpu_free_rwsem to avoid memory leak.
21+
22+The lock is locked for read with percpu_down_read, percpu_up_read and
23+for write with percpu_down_write, percpu_up_write.
24+
25+The idea of using RCU for optimized rw-lock was introduced by
26+Eric Dumazet <eric.dumazet@gmail.com>.
27+The code was written by Mikulas Patocka <mpatocka@redhat.com>
Documentation/pinctrl.txt+58−2
@@ -289,6 +289,11 @@ Interaction with the GPIO subsystem · 288 unmodified lines
289289 The GPIO drivers may want to perform operations of various types on the same
290290 physical pins that are also registered as pin controller pins.
291291
292+First and foremost, the two subsystems can be used as completely orthogonal,
293+see the section named "pin control requests from drivers" and
294+"drivers needing both pin control and GPIOs" below for details. But in some
295+situations a cross-subsystem mapping between pins and GPIOs is needed.
296+
292297 Since the pin controller subsystem have its pinspace local to the pin
293298 controller we need a mapping so that the pin control subsystem can figure out
294299 which pin controller handles control of a certain GPIO pin. Since a single
@@ -359,6 +364,7 @@ will get an pin number into its handled number range. Further it is also passed · 64 unmodified lines
359364 the range ID value, so that the pin controller knows which range it should
360365 deal with.
361366
367+
362368 PINMUX interfaces
363369 =================
364370
@@ -960,8 +966,8 @@ all get selected, and they all get enabled and disable simultaneously by the · 595 unmodified lines
960966 pinmux core.
961967
962968
963−Pinmux requests from drivers
964−============================
969+Pin control requests from drivers
970+=================================
965971
966972 Generally it is discouraged to let individual drivers get and enable pin
967973 control. So if possible, handle the pin control in platform code or some other
@@ -969,6 +975,11 @@ place where you have access to all the affected struct device * pointers. In · 1 unmodified line
969975 some cases where a driver needs to e.g. switch between different mux mappings
970976 at runtime this is not possible.
971977
978+A typical case is if a driver needs to switch bias of pins from normal
979+operation and going to sleep, moving from the PINCTRL_STATE_DEFAULT to
980+PINCTRL_STATE_SLEEP at runtime, re-biasing or even re-muxing pins to save
981+current in sleep mode.
982+
972983 A driver may request a certain control state to be activated, usually just the
973984 default state like this:
974985
@@ -1058,6 +1069,51 @@ registered. Thus make sure that the error path in your driver gracefully · 83 unmodified lines
10581069 cleans up and is ready to retry the probing later in the startup process.
10591070
10601071
1072+Drivers needing both pin control and GPIOs
1073+==========================================
1074+
1075+Again, it is discouraged to let drivers lookup and select pin control states
1076+themselves, but again sometimes this is unavoidable.
1077+
1078+So say that your driver is fetching its resources like this:
1079+
1080+#include <linux/pinctrl/consumer.h>
1081+#include <linux/gpio.h>
1082+
1083+struct pinctrl *pinctrl;
1084+int gpio;
1085+
1086+pinctrl = devm_pinctrl_get_select_default(&dev);
1087+gpio = devm_gpio_request(&dev, 14, "foo");
1088+
1089+Here we first request a certain pin state and then request GPIO 14 to be
1090+used. If you're using the subsystems orthogonally like this, you should
1091+nominally always get your pinctrl handle and select the desired pinctrl
1092+state BEFORE requesting the GPIO. This is a semantic convention to avoid
1093+situations that can be electrically unpleasant, you will certainly want to
1094+mux in and bias pins in a certain way before the GPIO subsystems starts to
1095+deal with them.
1096+
1097+The above can be hidden: using pinctrl hogs, the pin control driver may be
1098+setting up the config and muxing for the pins when it is probing,
1099+nevertheless orthogonal to the GPIO subsystem.
1100+
1101+But there are also situations where it makes sense for the GPIO subsystem
1102+to communicate directly with with the pinctrl subsystem, using the latter
1103+as a back-end. This is when the GPIO driver may call out to the functions
1104+described in the section "Pin control interaction with the GPIO subsystem"
1105+above. This only involves per-pin multiplexing, and will be completely
1106+hidden behind the gpio_*() function namespace. In this case, the driver
1107+need not interact with the pin control subsystem at all.
1108+
1109+If a pin control driver and a GPIO driver is dealing with the same pins
1110+and the use cases involve multiplexing, you MUST implement the pin controller
1111+as a back-end for the GPIO driver like this, unless your hardware design
1112+is such that the GPIO controller can override the pin controller's
1113+multiplexing state through hardware without the need to interact with the
1114+pin control system.
1115+
1116+
10611117 System pin control hogging
10621118 ==========================
10631119
Documentation/power/power_supply_class.txt+7−0
@@ -81,6 +81,9 @@ This defines trickle and fast charges. For batteries that · 80 unmodified lines
8181 are already charged or discharging, 'n/a' can be displayed (or
8282 'unknown', if the status is not known).
8383
84+AUTHENTIC - indicates the power supply (battery or charger) connected
85+to the platform is authentic(1) or non authentic(0).
86+
8487 HEALTH - represents health of the battery, values corresponds to
8588 POWER_SUPPLY_HEALTH_*, defined in battery.h.
8689
@@ -113,8 +116,12 @@ be negative; there is no empty or full value. It is only useful for · 26 unmodified lines
113116 relative, time-based measurements.
114117
115118 CONSTANT_CHARGE_CURRENT - constant charge current programmed by charger.
119+CONSTANT_CHARGE_CURRENT_MAX - maximum charge current supported by the
120+power supply object.
116121
117122 CONSTANT_CHARGE_VOLTAGE - constant charge voltage programmed by charger.
123+CONSTANT_CHARGE_VOLTAGE_MAX - maximum charge voltage supported by the
124+power supply object.
118125
119126 ENERGY_FULL, ENERGY_EMPTY - same as above but for energy.
120127
Documentation/printk-formats.txt+1−0
@@ -69,6 +69,7 @@ MAC/FDDI addresses: · 68 unmodified lines
6969 %pMR 05:04:03:02:01:00
7070 %pMF 00-01-02-03-04-05
7171 %pm 000102030405
72+ %pmR 050403020100
7273
7374 For printing 6-byte MAC/FDDI addresses in hex notation. The 'M' and 'm'
7475 specifiers result in a printed address with ('M') or without ('m') byte
Documentation/prio_tree.txt+0−107
@@ -1,107 +0,0 @@
1−The prio_tree.c code indexes vmas using 3 different indexes:
2− * heap_index = vm_pgoff + vm_size_in_pages : end_vm_pgoff
3− * radix_index = vm_pgoff : start_vm_pgoff
4− * size_index = vm_size_in_pages
5−
6−A regular radix-priority-search-tree indexes vmas using only heap_index and
7−radix_index. The conditions for indexing are:
8− * ->heap_index >= ->left->heap_index &&
9− ->heap_index >= ->right->heap_index
10− * if (->heap_index == ->left->heap_index)
11− then ->radix_index < ->left->radix_index;
12− * if (->heap_index == ->right->heap_index)
13− then ->radix_index < ->right->radix_index;
14− * nodes are hashed to left or right subtree using radix_index
15− similar to a pure binary radix tree.
16−
17−A regular radix-priority-search-tree helps to store and query
18−intervals (vmas). However, a regular radix-priority-search-tree is only
19−suitable for storing vmas with different radix indices (vm_pgoff).
20−
21−Therefore, the prio_tree.c extends the regular radix-priority-search-tree
22−to handle many vmas with the same vm_pgoff. Such vmas are handled in
23−2 different ways: 1) All vmas with the same radix _and_ heap indices are
24−linked using vm_set.list, 2) if there are many vmas with the same radix
25−index, but different heap indices and if the regular radix-priority-search
26−tree cannot index them all, we build an overflow-sub-tree that indexes such
27−vmas using heap and size indices instead of heap and radix indices. For
28−example, in the figure below some vmas with vm_pgoff = 0 (zero) are
29−indexed by regular radix-priority-search-tree whereas others are pushed
30−into an overflow-subtree. Note that all vmas in an overflow-sub-tree have
31−the same vm_pgoff (radix_index) and if necessary we build different
32−overflow-sub-trees to handle each possible radix_index. For example,
33−in figure we have 3 overflow-sub-trees corresponding to radix indices
34−0, 2, and 4.
35−
36−In the final tree the first few (prio_tree_root->index_bits) levels
37−are indexed using heap and radix indices whereas the overflow-sub-trees below
38−those levels (i.e. levels prio_tree_root->index_bits + 1 and higher) are
39−indexed using heap and size indices. In overflow-sub-trees the size_index
40−is used for hashing the nodes to appropriate places.
41−
42−Now, an example prio_tree:
43−
44− vmas are represented [radix_index, size_index, heap_index]
45− i.e., [start_vm_pgoff, vm_size_in_pages, end_vm_pgoff]
46−
47−level prio_tree_root->index_bits = 3
48−-----
49− _
50− 0 [0,7,7] |
51− / \ |
52− ------------------ ------------ | Regular
53− / \ | radix priority
54− 1 [1,6,7] [4,3,7] | search tree
55− / \ / \ |
56− ------- ----- ------ ----- | heap-and-radix
57− / \ / \ | indexed
58− 2 [0,6,6] [2,5,7] [5,2,7] [6,1,7] |
59− / \ / \ / \ / \ |
60− 3 [0,5,5] [1,5,6] [2,4,6] [3,4,7] [4,2,6] [5,1,6] [6,0,6] [7,0,7] |
61− / / / _
62− / / / _
63− 4 [0,4,4] [2,3,5] [4,1,5] |
64− / / / |
65− 5 [0,3,3] [2,2,4] [4,0,4] | Overflow-sub-trees
66− / / |
67− 6 [0,2,2] [2,1,3] | heap-and-size
68− / / | indexed
69− 7 [0,1,1] [2,0,2] |
70− / |
71− 8 [0,0,0] |
72− _
73−
74−Note that we use prio_tree_root->index_bits to optimize the height
75−of the heap-and-radix indexed tree. Since prio_tree_root->index_bits is
76−set according to the maximum end_vm_pgoff mapped, we are sure that all
77−bits (in vm_pgoff) above prio_tree_root->index_bits are 0 (zero). Therefore,
78−we only use the first prio_tree_root->index_bits as radix_index.
79−Whenever index_bits is increased in prio_tree_expand, we shuffle the tree
80−to make sure that the first prio_tree_root->index_bits levels of the tree
81−is indexed properly using heap and radix indices.
82−
83−We do not optimize the height of overflow-sub-trees using index_bits.
84−The reason is: there can be many such overflow-sub-trees and all of
85−them have to be suffled whenever the index_bits increases. This may involve
86−walking the whole prio_tree in prio_tree_insert->prio_tree_expand code
87−path which is not desirable. Hence, we do not optimize the height of the
88−heap-and-size indexed overflow-sub-trees using prio_tree->index_bits.
89−Instead the overflow sub-trees are indexed using full BITS_PER_LONG bits
90−of size_index. This may lead to skewed sub-trees because most of the
91−higher significant bits of the size_index are likely to be 0 (zero). In
92−the example above, all 3 overflow-sub-trees are skewed. This may marginally
93−affect the performance. However, processes rarely map many vmas with the
94−same start_vm_pgoff but different end_vm_pgoffs. Therefore, we normally
95−do not require overflow-sub-trees to index all vmas.
96−
97−From the above discussion it is clear that the maximum height of
98−a prio_tree can be prio_tree_root->index_bits + BITS_PER_LONG.
99−However, in most of the common cases we do not need overflow-sub-trees,
100−so the tree height in the common cases will be prio_tree_root->index_bits.
101−
102−It is fair to mention here that the prio_tree_root->index_bits
103−is increased on demand, however, the index_bits is not decreased when
104−vmas are removed from the prio_tree. That's tricky to do. Hence, it's
105−left as a home work problem.
106−
107−
Documentation/pwm.txt+2−1
@@ -36,7 +36,8 @@ Legacy users can request a PWM device using pwm_request() and free it · 35 unmodified lines
3636 after usage with pwm_free().
3737
3838 New users should use the pwm_get() function and pass to it the consumer
39−device or a consumer name. pwm_put() is used to free the PWM device.
39+device or a consumer name. pwm_put() is used to free the PWM device. Managed
40+variants of these functions, devm_pwm_get() and devm_pwm_put(), also exist.
4041
4142 After being requested a PWM has to be configured using:
4243
Documentation/ramoops.txt+1−3
@@ -102,9 +102,7 @@ related hangs. The functions call chain log is stored in a "ftrace-ramoops" · 101 unmodified lines
102102 file. Here is an example of usage:
103103
104104 # mount -t debugfs debugfs /sys/kernel/debug/
105− # cd /sys/kernel/debug/tracing
106− # echo function > current_tracer
107− # echo 1 > options/func_pstore
105+ # echo 1 > /sys/kernel/debug/pstore/record_ftrace
108106 # reboot -f
109107 [...]
110108 # mount -t pstore pstore /mnt/
Documentation/rbtree.txt+173−36
@@ -193,24 +193,55 @@ Example: · 192 unmodified lines
193193 Support for Augmented rbtrees
194194 -----------------------------
195195
196−Augmented rbtree is an rbtree with "some" additional data stored in each node.
197−This data can be used to augment some new functionality to rbtree.
198−Augmented rbtree is an optional feature built on top of basic rbtree
199−infrastructure. An rbtree user who wants this feature will have to call the
200−augmentation functions with the user provided augmentation callback
201−when inserting and erasing nodes.
202−
203−On insertion, the user must call rb_augment_insert() once the new node is in
204−place. This will cause the augmentation function callback to be called for
205−each node between the new node and the root which has been affected by the
206−insertion.
207−
208−When erasing a node, the user must call rb_augment_erase_begin() first to
209−retrieve the deepest node on the rebalance path. Then, after erasing the
210−original node, the user must call rb_augment_erase_end() with the deepest
211−node found earlier. This will cause the augmentation function to be called
212−for each affected node between the deepest node and the root.
213−
196+Augmented rbtree is an rbtree with "some" additional data stored in
197+each node, where the additional data for node N must be a function of
198+the contents of all nodes in the subtree rooted at N. This data can
199+be used to augment some new functionality to rbtree. Augmented rbtree
200+is an optional feature built on top of basic rbtree infrastructure.
201+An rbtree user who wants this feature will have to call the augmentation
202+functions with the user provided augmentation callback when inserting
203+and erasing nodes.
204+
205+C files implementing augmented rbtree manipulation must include
206+<linux/rbtree_augmented.h> instead of <linus/rbtree.h>. Note that
207+linux/rbtree_augmented.h exposes some rbtree implementations details
208+you are not expected to rely on; please stick to the documented APIs
209+there and do not include <linux/rbtree_augmented.h> from header files
210+either so as to minimize chances of your users accidentally relying on
211+such implementation details.
212+
213+On insertion, the user must update the augmented information on the path
214+leading to the inserted node, then call rb_link_node() as usual and
215+rb_augment_inserted() instead of the usual rb_insert_color() call.
216+If rb_augment_inserted() rebalances the rbtree, it will callback into
217+a user provided function to update the augmented information on the
218+affected subtrees.
219+
220+When erasing a node, the user must call rb_erase_augmented() instead of
221+rb_erase(). rb_erase_augmented() calls back into user provided functions
222+to updated the augmented information on affected subtrees.
223+
224+In both cases, the callbacks are provided through struct rb_augment_callbacks.
225+3 callbacks must be defined:
226+
227+- A propagation callback, which updates the augmented value for a given
228+ node and its ancestors, up to a given stop point (or NULL to update
229+ all the way to the root).
230+
231+- A copy callback, which copies the augmented value for a given subtree
232+ to a newly assigned subtree root.
233+
234+- A tree rotation callback, which copies the augmented value for a given
235+ subtree to a newly assigned subtree root AND recomputes the augmented
236+ information for the former subtree root.
237+
238+The compiled code for rb_erase_augmented() may inline the propagation and
239+copy callbacks, which results in a large function, so each augmented rbtree
240+user should have a single rb_erase_augmented() call site in order to limit
241+compiled code size.
242+
243+
244+Sample usage:
214245
215246 Interval tree is an example of augmented rb tree. Reference -
216247 "Introduction to Algorithms" by Cormen, Leiserson, Rivest and Stein.
@@ -230,26 +261,132 @@ and its immediate children. And this will be used in O(log n) lookup · 13 unmodified lines
230261 for lowest match (lowest start address among all possible matches)
231262 with something like:
232263
233−find_lowest_match(lo, hi, node)
264+struct interval_tree_node *
265+interval_tree_first_match(struct rb_root *root,
266+ unsigned long start, unsigned long last)
234267 {
235− lowest_match = NULL;
236− while (node) {
237− if (max_hi(node->left) > lo) {
238− // Lowest overlap if any must be on left side
239− node = node->left;
240− } else if (overlap(lo, hi, node)) {
241− lowest_match = node;
242− break;
243− } else if (lo > node->lo) {
244− // Lowest overlap if any must be on right side
245− node = node->right;
246− } else {
247− break;
268+ struct interval_tree_node *node;
269+
270+ if (!root->rb_node)
271+ return NULL;
272+ node = rb_entry(root->rb_node, struct interval_tree_node, rb);
273+
274+ while (true) {
275+ if (node->rb.rb_left) {
276+ struct interval_tree_node *left =
277+ rb_entry(node->rb.rb_left,
278+ struct interval_tree_node, rb);
279+ if (left->__subtree_last >= start) {
280+ /*
281+ * Some nodes in left subtree satisfy Cond2.
282+ * Iterate to find the leftmost such node N.
283+ * If it also satisfies Cond1, that's the match
284+ * we are looking for. Otherwise, there is no
285+ * matching interval as nodes to the right of N
286+ * can't satisfy Cond1 either.
287+ */
288+ node = left;
289+ continue;
290+ }
248291 }
292+ if (node->start <= last) { /* Cond1 */
293+ if (node->last >= start) /* Cond2 */
294+ return node; /* node is leftmost match */
295+ if (node->rb.rb_right) {
296+ node = rb_entry(node->rb.rb_right,
297+ struct interval_tree_node, rb);
298+ if (node->__subtree_last >= start)
299+ continue;
300+ }
301+ }
302+ return NULL; /* No match */
303+ }
304+}
305+
306+Insertion/removal are defined using the following augmented callbacks:
307+
308+static inline unsigned long
309+compute_subtree_last(struct interval_tree_node *node)
310+{
311+ unsigned long max = node->last, subtree_last;
312+ if (node->rb.rb_left) {
313+ subtree_last = rb_entry(node->rb.rb_left,
314+ struct interval_tree_node, rb)->__subtree_last;
315+ if (max < subtree_last)
316+ max = subtree_last;
317+ }
318+ if (node->rb.rb_right) {
319+ subtree_last = rb_entry(node->rb.rb_right,
320+ struct interval_tree_node, rb)->__subtree_last;
321+ if (max < subtree_last)
322+ max = subtree_last;
323+ }
324+ return max;
325+}
326+
327+static void augment_propagate(struct rb_node *rb, struct rb_node *stop)
328+{
329+ while (rb != stop) {
330+ struct interval_tree_node *node =
331+ rb_entry(rb, struct interval_tree_node, rb);
332+ unsigned long subtree_last = compute_subtree_last(node);
333+ if (node->__subtree_last == subtree_last)
334+ break;
335+ node->__subtree_last = subtree_last;
336+ rb = rb_parent(&node->rb);
249337 }
250− return lowest_match;
251338 }
252339
253−Finding exact match will be to first find lowest match and then to follow
254−successor nodes looking for exact match, until the start of a node is beyond
255−the hi value we are looking for.
340+static void augment_copy(struct rb_node *rb_old, struct rb_node *rb_new)
341+{
342+ struct interval_tree_node *old =
343+ rb_entry(rb_old, struct interval_tree_node, rb);
344+ struct interval_tree_node *new =
345+ rb_entry(rb_new, struct interval_tree_node, rb);
346+
347+ new->__subtree_last = old->__subtree_last;
348+}
349+
350+static void augment_rotate(struct rb_node *rb_old, struct rb_node *rb_new)
351+{
352+ struct interval_tree_node *old =
353+ rb_entry(rb_old, struct interval_tree_node, rb);
354+ struct interval_tree_node *new =
355+ rb_entry(rb_new, struct interval_tree_node, rb);
356+
357+ new->__subtree_last = old->__subtree_last;
358+ old->__subtree_last = compute_subtree_last(old);
359+}
360+
361+static const struct rb_augment_callbacks augment_callbacks = {
362+ augment_propagate, augment_copy, augment_rotate
363+};
364+
365+void interval_tree_insert(struct interval_tree_node *node,
366+ struct rb_root *root)
367+{
368+ struct rb_node **link = &root->rb_node, *rb_parent = NULL;
369+ unsigned long start = node->start, last = node->last;
370+ struct interval_tree_node *parent;
371+
372+ while (*link) {
373+ rb_parent = *link;
374+ parent = rb_entry(rb_parent, struct interval_tree_node, rb);
375+ if (parent->__subtree_last < last)
376+ parent->__subtree_last = last;
377+ if (start < parent->start)
378+ link = &parent->rb.rb_left;
379+ else
380+ link = &parent->rb.rb_right;
381+ }
382+
383+ node->__subtree_last = last;
384+ rb_link_node(&node->rb, rb_parent, link);
385+ rb_insert_augmented(&node->rb, root, &augment_callbacks);
386+}
387+
388+void interval_tree_remove(struct interval_tree_node *node,
389+ struct rb_root *root)
390+{
391+ rb_erase_augmented(&node->rb, root, &augment_callbacks);
392+}
Documentation/remoteproc.txt+7−0
@@ -129,6 +129,13 @@ int dummy_rproc_example(struct rproc *my_rproc) · 128 unmodified lines
129129
130130 Returns 0 on success and -EINVAL if @rproc isn't valid.
131131
132+ void rproc_report_crash(struct rproc *rproc, enum rproc_crash_type type)
133+ - Report a crash in a remoteproc
134+ This function must be called every time a crash is detected by the
135+ platform specific rproc implementation. This should not be called from a
136+ non-remoteproc driver. This function can be called from atomic/interrupt
137+ context.
138+
132139 5. Implementation callbacks
133140
134141 These callbacks should be provided by platform-specific remoteproc
Documentation/rtc.txt+3−2
@@ -119,8 +119,9 @@ three different userspace interfaces: · 118 unmodified lines
119119 * /sys/class/rtc/rtcN ... sysfs attributes support readonly
120120 access to some RTC attributes.
121121
122− * /proc/driver/rtc ... the first RTC (rtc0) may expose itself
123− using a procfs interface. More information is (currently) shown
122+ * /proc/driver/rtc ... the system clock RTC may expose itself
123+ using a procfs interface. If there is no RTC for the system clock,
124+ rtc0 is used by default. More information is (currently) shown
124125 here than through sysfs.
125126
126127 The RTC Class framework supports a wide variety of RTCs, ranging from those
Documentation/scsi/ChangeLog.megaraid_sas+23−0
@@ -1,3 +1,26 @@
1+Release Date : Mon. Oct 1, 2012 17:00:00 PST 2012 -
2+ (emaild-id:megaraidlinux@lsi.com)
3+ Adam Radford
4+Current Version : 06.504.01.00-rc1
5+Old Version : 00.00.06.18-rc1
6+ 1. Removed un-needed completion_lock spinlock calls.
7+ 2. Add module param for configurable MSI-X vector count.
8+ 3. Load io_request DataLength in bytes.
9+ 4. Add array boundary check for SystemPD.
10+ 5. Add SystemPD FastPath support.
11+ 6. Remove duplicate code.
12+ 7. Version, Changelog, Copyright update.
13+-------------------------------------------------------------------------------
14+Release Date : Tue. Jun 17, 2012 17:00:00 PST 2012 -
15+ (emaild-id:megaraidlinux@lsi.com)
16+ Adam Radford/Kashyap Desai
17+Current Version : 00.00.06.18-rc1
18+Old Version : 00.00.06.15-rc1
19+ 1. Fix Copyright dates.
20+ 2. Add throttlequeuedepth module parameter.
21+ 3. Add resetwaittime module parameter.
22+ 4. Move poll_aen_lock initializer.
23+-------------------------------------------------------------------------------
124 Release Date : Mon. Mar 19, 2012 17:00:00 PST 2012 -
225 (emaild-id:megaraidlinux@lsi.com)
326 Adam Radford
Documentation/scsi/LICENSE.qla2xxx+1−1
@@ -1,4 +1,4 @@
1−Copyright (c) 2003-2011 QLogic Corporation
1+Copyright (c) 2003-2012 QLogic Corporation
22 QLogic Linux FC-FCoE Driver
33
44 This program includes a device driver for Linux 3.x.
Documentation/scsi/LICENSE.qla4xxx+1−1
@@ -1,4 +1,4 @@
1−Copyright (c) 2003-2011 QLogic Corporation
1+Copyright (c) 2003-2012 QLogic Corporation
22 QLogic Linux iSCSI Driver
33
44 This program includes a device driver for Linux 3.x.
Documentation/scsi/st.txt+2−4
@@ -112,10 +112,8 @@ attempted). · 111 unmodified lines
112112
113113 MINOR NUMBERS
114114
115−The tape driver currently supports 128 drives by default. This number
116−can be increased by editing st.h and recompiling the driver if
117−necessary. The upper limit is 2^17 drives if 4 modes for each drive
118−are used.
115+The tape driver currently supports up to 2^17 drives if 4 modes for
116+each drive are used.
119117
120118 The minor numbers consist of the following bit fields:
121119
Documentation/security/Smack.txt+6−4
@@ -28,12 +28,11 @@ Smack kernels use the CIPSO IP option. Some network · 27 unmodified lines
2828 configurations are intolerant of IP options and can impede
2929 access to systems that use them as Smack does.
3030
31−The current git repositories for Smack user space are:
31+The current git repository for Smack user space is:
3232
33− git@gitorious.org:meego-platform-security/smackutil.git
34− git@gitorious.org:meego-platform-security/libsmack.git
33+ git://github.com/smack-team/smack.git
3534
36−These should make and install on most modern distributions.
35+This should make and install on most modern distributions.
3736 There are three commands included in smackutil:
3837
3938 smackload - properly formats data for writing to /smack/load
@@ -194,6 +193,9 @@ onlycap · 154 unmodified lines
194193 these capabilities are effective at for processes with any
195194 label. The value is set by writing the desired label to the
196195 file or cleared by writing "-" to the file.
196+revoke-subject
197+ Writing a Smack label here sets the access to '-' for all access
198+ rules with that subject label.
197199
198200 You can add access rules in /etc/smack/accesses. They take the form:
199201
Documentation/security/keys.txt+49−1
@@ -412,6 +412,10 @@ The main syscalls are: · 411 unmodified lines
412412 to the keyring. In this case, an error will be generated if the process
413413 does not have permission to write to the keyring.
414414
415+ If the key type supports it, if the description is NULL or an empty
416+ string, the key type will try and generate a description from the content
417+ of the payload.
418+
415419 The payload is optional, and the pointer can be NULL if not required by
416420 the type. The payload is plen in size, and plen can be zero for an empty
417421 payload.
@@ -1114,12 +1118,53 @@ The structure has a number of fields, some of which are mandatory: · 696 unmodified lines
11141118 it should return 0.
11151119
11161120
1117− (*) int (*instantiate)(struct key *key, const void *data, size_t datalen);
1121+ (*) int (*preparse)(struct key_preparsed_payload *prep);
1122+
1123+ This optional method permits the key type to attempt to parse payload
1124+ before a key is created (add key) or the key semaphore is taken (update or
1125+ instantiate key). The structure pointed to by prep looks like:
1126+
1127+ struct key_preparsed_payload {
1128+ char *description;
1129+ void *type_data[2];
1130+ void *payload;
1131+ const void *data;
1132+ size_t datalen;
1133+ size_t quotalen;
1134+ };
1135+
1136+ Before calling the method, the caller will fill in data and datalen with
1137+ the payload blob parameters; quotalen will be filled in with the default
1138+ quota size from the key type and the rest will be cleared.
1139+
1140+ If a description can be proposed from the payload contents, that should be
1141+ attached as a string to the description field. This will be used for the
1142+ key description if the caller of add_key() passes NULL or "".
1143+
1144+ The method can attach anything it likes to type_data[] and payload. These
1145+ are merely passed along to the instantiate() or update() operations.
1146+
1147+ The method should return 0 if success ful or a negative error code
1148+ otherwise.
1149+
1150+
1151+ (*) void (*free_preparse)(struct key_preparsed_payload *prep);
1152+
1153+ This method is only required if the preparse() method is provided,
1154+ otherwise it is unused. It cleans up anything attached to the
1155+ description, type_data and payload fields of the key_preparsed_payload
1156+ struct as filled in by the preparse() method.
1157+
1158+
1159+ (*) int (*instantiate)(struct key *key, struct key_preparsed_payload *prep);
11181160
11191161 This method is called to attach a payload to a key during construction.
11201162 The payload attached need not bear any relation to the data passed to this
11211163 function.
11221164
1165+ The prep->data and prep->datalen fields will define the original payload
1166+ blob. If preparse() was supplied then other fields may be filled in also.
1167+
11231168 If the amount of data attached to the key differs from the size in
11241169 keytype->def_datalen, then key_payload_reserve() should be called.
11251170
@@ -1135,6 +1180,9 @@ The structure has a number of fields, some of which are mandatory: · 9 unmodified lines
11351180 If this type of key can be updated, then this method should be provided.
11361181 It is called to update a key's payload from the blob of data provided.
11371182
1183+ The prep->data and prep->datalen fields will define the original payload
1184+ blob. If preparse() was supplied then other fields may be filled in also.
1185+
11381186 key_payload_reserve() should be called if the data length might change
11391187 before any changes are actually made. Note that if this succeeds, the type
11401188 is committed to changing the key because it's already been altered, so all
Documentation/serial/00-INDEX+0−2
@@ -2,8 +2,6 @@ · 1 unmodified line
22 - this file.
33 README.cycladesZ
44 - info on Cyclades-Z firmware loading.
5−computone.txt
6− - info on Computone Intelliport II/Plus Multiport Serial Driver.
75 digiepca.txt
86 - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards.
97 hayes-esp.txt
Documentation/serial/computone.txt+0−520
@@ -1,520 +0,0 @@
1−NOTE: This is an unmaintained driver. It is not guaranteed to work due to
2−changes made in the tty layer in 2.6. If you wish to take over maintenance of
3−this driver, contact Michael Warfield <mhw@wittsend.com>.
4−
5−Changelog:
6−----------
7−11-01-2001: Original Document
8−
9−10-29-2004: Minor misspelling & format fix, update status of driver.
10− James Nelson <james4765@gmail.com>
11−
12−Computone Intelliport II/Plus Multiport Serial Driver
13−-----------------------------------------------------
14−
15−Release Notes For Linux Kernel 2.2 and higher.
16−These notes are for the drivers which have already been integrated into the
17−kernel and have been tested on Linux kernels 2.0, 2.2, 2.3, and 2.4.
18−
19−Version: 1.2.14
20−Date: 11/01/2001
21−Historical Author: Andrew Manison <amanison@america.net>
22−Primary Author: Doug McNash
23−
24−This file assumes that you are using the Computone drivers which are
25−integrated into the kernel sources. For updating the drivers or installing
26−drivers into kernels which do not already have Computone drivers, please
27−refer to the instructions in the README.computone file in the driver patch.
28−
29−
30−1. INTRODUCTION
31−
32−This driver supports the entire family of Intelliport II/Plus controllers
33−with the exception of the MicroChannel controllers. It does not support
34−products previous to the Intelliport II.
35−
36−This driver was developed on the v2.0.x Linux tree and has been tested up
37−to v2.4.14; it will probably not work with earlier v1.X kernels,.
38−
39−
40−2. QUICK INSTALLATION
41−
42−Hardware - If you have an ISA card, find a free interrupt and io port.
43− List those in use with `cat /proc/interrupts` and
44− `cat /proc/ioports`. Set the card dip switches to a free
45− address. You may need to configure your BIOS to reserve an
46− irq for an ISA card. PCI and EISA parameters are set
47− automagically. Insert card into computer with the power off
48− before or after drivers installation.
49−
50− Note the hardware address from the Computone ISA cards installed into
51− the system. These are required for editing ip2.c or editing
52− /etc/modprobe.d/*.conf, or for specification on the modprobe
53− command line.
54−
55− Note that the /etc/modules.conf should be used for older (pre-2.6)
56− kernels.
57−
58−Software -
59−
60−Module installation:
61−
62−a) Determine free irq/address to use if any (configure BIOS if need be)
63−b) Run "make config" or "make menuconfig" or "make xconfig"
64− Select (m) module for CONFIG_COMPUTONE under character
65− devices. CONFIG_PCI and CONFIG_MODULES also may need to be set.
66−c) Set address on ISA cards then:
67− edit /usr/src/linux/drivers/char/ip2.c if needed
68− or
69− edit config file in /etc/modprobe.d/ if needed (module).
70− or both to match this setting.
71−d) Run "make modules"
72−e) Run "make modules_install"
73−f) Run "/sbin/depmod -a"
74−g) install driver using `modprobe ip2 <options>` (options listed below)
75−h) run ip2mkdev (either the script below or the binary version)
76−
77−
78−Kernel installation:
79−
80−a) Determine free irq/address to use if any (configure BIOS if need be)
81−b) Run "make config" or "make menuconfig" or "make xconfig"
82− Select (y) kernel for CONFIG_COMPUTONE under character
83− devices. CONFIG_PCI may need to be set if you have PCI bus.
84−c) Set address on ISA cards then:
85− edit /usr/src/linux/drivers/char/ip2.c
86− (Optional - may be specified on kernel command line now)
87−d) Run "make zImage" or whatever target you prefer.
88−e) mv /usr/src/linux/arch/x86/boot/zImage to /boot.
89−f) Add new config for this kernel into /etc/lilo.conf, run "lilo"
90− or copy to a floppy disk and boot from that floppy disk.
91−g) Reboot using this kernel
92−h) run ip2mkdev (either the script below or the binary version)
93−
94−Kernel command line options:
95−
96−When compiling the driver into the kernel, io and irq may be
97−compiled into the driver by editing ip2.c and setting the values for
98−io and irq in the appropriate array. An alternative is to specify
99−a command line parameter to the kernel at boot up.
100−
101− ip2=io0,irq0,io1,irq1,io2,irq2,io3,irq3
102−
103−Note that this order is very different from the specifications for the
104−modload parameters which have separate IRQ and IO specifiers.
105−
106−The io port also selects PCI (1) and EISA (2) boards.
107−
108− io=0 No board
109− io=1 PCI board
110− io=2 EISA board
111− else ISA board io address
112−
113−You only need to specify the boards which are present.
114−
115− Examples:
116−
117− 2 PCI boards:
118−
119− ip2=1,0,1,0
120−
121− 1 ISA board at 0x310 irq 5:
122−
123− ip2=0x310,5
124−
125−This can be added to and "append" option in lilo.conf similar to this:
126−
127− append="ip2=1,0,1,0"
128−
129−
130−3. INSTALLATION
131−
132−Previously, the driver sources were packaged with a set of patch files
133−to update the character drivers' makefile and configuration file, and other
134−kernel source files. A build script (ip2build) was included which applies
135−the patches if needed, and build any utilities needed.
136−What you receive may be a single patch file in conventional kernel
137−patch format build script. That form can also be applied by
138−running patch -p1 < ThePatchFile. Otherwise run ip2build.
139−
140−The driver can be installed as a module (recommended) or built into the
141−kernel. This is selected as for other drivers through the `make config`
142−command from the root of the Linux source tree. If the driver is built
143−into the kernel you will need to edit the file ip2.c to match the boards
144−you are installing. See that file for instructions. If the driver is
145−installed as a module the configuration can also be specified on the
146−modprobe command line as follows:
147−
148− modprobe ip2 irq=irq1,irq2,irq3,irq4 io=addr1,addr2,addr3,addr4
149−
150−where irqnum is one of the valid Intelliport II interrupts (3,4,5,7,10,11,
151−12,15) and addr1-4 are the base addresses for up to four controllers. If
152−the irqs are not specified the driver uses the default in ip2.c (which
153−selects polled mode). If no base addresses are specified the defaults in
154−ip2.c are used. If you are autoloading the driver module with kerneld or
155−kmod the base addresses and interrupt number must also be set in ip2.c
156−and recompile or just insert and options line in /etc/modprobe.d/*.conf or both.
157−The options line is equivalent to the command line and takes precedence over
158−what is in ip2.c.
159−
160−config sample to put /etc/modprobe.d/*.conf:
161− options ip2 io=1,0x328 irq=1,10
162− alias char-major-71 ip2
163− alias char-major-72 ip2
164− alias char-major-73 ip2
165−
166−The equivalent in ip2.c:
167−
168−static int io[IP2_MAX_BOARDS]= { 1, 0x328, 0, 0 };
169−static int irq[IP2_MAX_BOARDS] = { 1, 10, -1, -1 };
170−
171−The equivalent for the kernel command line (in lilo.conf):
172−
173− append="ip2=1,1,0x328,10"
174−
175−
176−Note: Both io and irq should be updated to reflect YOUR system. An "io"
177− address of 1 or 2 indicates a PCI or EISA card in the board table.
178− The PCI or EISA irq will be assigned automatically.
179−
180−Specifying an invalid or in-use irq will default the driver into
181−running in polled mode for that card. If all irq entries are 0 then
182−all cards will operate in polled mode.
183−
184−If you select the driver as part of the kernel run :
185−
186− make zlilo (or whatever you do to create a bootable kernel)
187−
188−If you selected a module run :
189−
190− make modules && make modules_install
191−
192−The utility ip2mkdev (see 5 and 7 below) creates all the device nodes
193−required by the driver. For a device to be created it must be configured
194−in the driver and the board must be installed. Only devices corresponding
195−to real IntelliPort II ports are created. With multiple boards and expansion
196−boxes this will leave gaps in the sequence of device names. ip2mkdev uses
197−Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and
198−cuf0 - cuf255 for callout devices.
199−
200−
201−4. USING THE DRIVERS
202−
203−As noted above, the driver implements the ports in accordance with Linux
204−conventions, and the devices should be interchangeable with the standard
205−serial devices. (This is a key point for problem reporting: please make
206−sure that what you are trying do works on the ttySx/cuax ports first; then
207−tell us what went wrong with the ip2 ports!)
208−
209−Higher speeds can be obtained using the setserial utility which remaps
210−38,400 bps (extb) to 57,600 bps, 115,200 bps, or a custom speed.
211−Intelliport II installations using the PowerPort expansion module can
212−use the custom speed setting to select the highest speeds: 153,600 bps,
213−230,400 bps, 307,200 bps, 460,800bps and 921,600 bps. The base for
214−custom baud rate configuration is fixed at 921,600 for cards/expansion
215−modules with ST654's and 115200 for those with Cirrus CD1400's. This
216−corresponds to the maximum bit rates those chips are capable.
217−For example if the baud base is 921600 and the baud divisor is 18 then
218−the custom rate is 921600/18 = 51200 bps. See the setserial man page for
219−complete details. Of course if stty accepts the higher rates now you can
220−use that as well as the standard ioctls().
221−
222−
223−5. ip2mkdev and assorted utilities...
224−
225−Several utilities, including the source for a binary ip2mkdev utility are
226−available under .../drivers/char/ip2. These can be build by changing to
227−that directory and typing "make" after the kernel has be built. If you do
228−not wish to compile the binary utilities, the shell script below can be
229−cut out and run as "ip2mkdev" to create the necessary device files. To
230−use the ip2mkdev script, you must have procfs enabled and the proc file
231−system mounted on /proc.
232−
233−
234−6. NOTES
235−
236−This is a release version of the driver, but it is impossible to test it
237−in all configurations of Linux. If there is any anomalous behaviour that
238−does not match the standard serial port's behaviour please let us know.
239−
240−
241−7. ip2mkdev shell script
242−
243−Previously, this script was simply attached here. It is now attached as a
244−shar archive to make it easier to extract the script from the documentation.
245−To create the ip2mkdev shell script change to a convenient directory (/tmp
246−works just fine) and run the following command:
247−
248− unshar Documentation/serial/computone.txt
249− (This file)
250−
251−You should now have a file ip2mkdev in your current working directory with
252−permissions set to execute. Running that script with then create the
253−necessary devices for the Computone boards, interfaces, and ports which
254−are present on you system at the time it is run.
255−
256−
257−#!/bin/sh
258−# This is a shell archive (produced by GNU sharutils 4.2.1).
259−# To extract the files from this archive, save it to some FILE, remove
260−# everything before the `!/bin/sh' line above, then type `sh FILE'.
261−#
262−# Made on 2001-10-29 10:32 EST by <mhw@alcove.wittsend.com>.
263−# Source directory was `/home2/src/tmp'.
264−#
265−# Existing files will *not* be overwritten unless `-c' is specified.
266−#
267−# This shar contains:
268−# length mode name
269−# ------ ---------- ------------------------------------------
270−# 4251 -rwxr-xr-x ip2mkdev
271−#
272−save_IFS="${IFS}"
273−IFS="${IFS}:"
274−gettext_dir=FAILED
275−locale_dir=FAILED
276−first_param="$1"
277−for dir in $PATH
278−do
279− if test "$gettext_dir" = FAILED && test -f $dir/gettext \
280− && ($dir/gettext --version >/dev/null 2>&1)
281− then
282− set `$dir/gettext --version 2>&1`
283− if test "$3" = GNU
284− then
285− gettext_dir=$dir
286− fi
287− fi
288− if test "$locale_dir" = FAILED && test -f $dir/shar \
289− && ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
290− then
291− locale_dir=`$dir/shar --print-text-domain-dir`
292− fi
293−done
294−IFS="$save_IFS"
295−if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
296−then
297− echo=echo
298−else
299− TEXTDOMAINDIR=$locale_dir
300− export TEXTDOMAINDIR
301− TEXTDOMAIN=sharutils
302− export TEXTDOMAIN
303− echo="$gettext_dir/gettext -s"
304−fi
305−if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then
306− shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
307−elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then
308− shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
309−elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then
310− shar_touch='touch -am $3$4$5$6$2 "$8"'
311−else
312− shar_touch=:
313− echo
314− $echo 'WARNING: not restoring timestamps. Consider getting and'
315− $echo "installing GNU \`touch', distributed in GNU File Utilities..."
316− echo
317−fi
318−rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
319−#
320−if mkdir _sh17581; then
321− $echo 'x -' 'creating lock directory'
322−else
323− $echo 'failed to create lock directory'
324− exit 1
325−fi
326−# ============= ip2mkdev ==============
327−if test -f 'ip2mkdev' && test "$first_param" != -c; then
328− $echo 'x -' SKIPPING 'ip2mkdev' '(file already exists)'
329−else
330− $echo 'x -' extracting 'ip2mkdev' '(text)'
331− sed 's/^X//' << 'SHAR_EOF' > 'ip2mkdev' &&
332−#!/bin/sh -
333−#
334−# ip2mkdev
335−#
336−# Make or remove devices as needed for Computone Intelliport drivers
337−#
338−# First rule! If the dev file exists and you need it, don't mess
339−# with it. That prevents us from screwing up open ttys, ownership
340−# and permissions on a running system!
341−#
342−# This script will NOT remove devices that no longer exist if their
343−# board or interface box has been removed. If you want to get rid
344−# of them, you can manually do an "rm -f /dev/ttyF* /dev/cuaf*"
345−# before running this script. Running this script will then recreate
346−# all the valid devices.
347−#
348−# Michael H. Warfield
349−# /\/\|=mhw=|\/\/
350−# mhw@wittsend.com
351−#
352−# Updated 10/29/2000 for version 1.2.13 naming convention
353−# under devfs. /\/\|=mhw=|\/\/
354−#
355−# Updated 03/09/2000 for devfs support in ip2 drivers. /\/\|=mhw=|\/\/
356−#
357−X
358−if test -d /dev/ip2 ; then
359−# This is devfs mode... We don't do anything except create symlinks
360−# from the real devices to the old names!
361−X cd /dev
362−X echo "Creating symbolic links to devfs devices"
363−X for i in `ls ip2` ; do
364−X if test ! -L ip2$i ; then
365−X # Remove it incase it wasn't a symlink (old device)
366−X rm -f ip2$i
367−X ln -s ip2/$i ip2$i
368−X fi
369−X done
370−X for i in `( cd tts ; ls F* )` ; do
371−X if test ! -L tty$i ; then
372−X # Remove it incase it wasn't a symlink (old device)
373−X rm -f tty$i
374−X ln -s tts/$i tty$i
375−X fi
376−X done
377−X for i in `( cd cua ; ls F* )` ; do
378−X DEVNUMBER=`expr $i : 'F\(.*\)'`
379−X if test ! -L cuf$DEVNUMBER ; then
380−X # Remove it incase it wasn't a symlink (old device)
381−X rm -f cuf$DEVNUMBER
382−X ln -s cua/$i cuf$DEVNUMBER
383−X fi
384−X done
385−X exit 0
386−fi
387−X
388−if test ! -f /proc/tty/drivers
389−then
390−X echo "\
391−Unable to check driver status.
392−Make sure proc file system is mounted."
393−X
394−X exit 255
395−fi
396−X
397−if test ! -f /proc/tty/driver/ip2
398−then
399−X echo "\
400−Unable to locate ip2 proc file.
401−Attempting to load driver"
402−X
403−X if /sbin/insmod ip2
404−X then
405−X if test ! -f /proc/tty/driver/ip2
406−X then
407−X echo "\
408−Unable to locate ip2 proc file after loading driver.
409−Driver initialization failure or driver version error.
410−"
411−X exit 255
412−X fi
413−X else
414−X echo "Unable to load ip2 driver."
415−X exit 255
416−X fi
417−fi
418−X
419−# Ok... So we got the driver loaded and we can locate the procfs files.
420−# Next we need our major numbers.
421−X
422−TTYMAJOR=`sed -e '/^ip2/!d' -e '/\/dev\/tt/!d' -e 's/.*tt[^ ]*[ ]*\([0-9]*\)[ ]*.*/\1/' < /proc/tty/drivers`
423−CUAMAJOR=`sed -e '/^ip2/!d' -e '/\/dev\/cu/!d' -e 's/.*cu[^ ]*[ ]*\([0-9]*\)[ ]*.*/\1/' < /proc/tty/drivers`
424−BRDMAJOR=`sed -e '/^Driver: /!d' -e 's/.*IMajor=\([0-9]*\)[ ]*.*/\1/' < /proc/tty/driver/ip2`
425−X
426−echo "\
427−TTYMAJOR = $TTYMAJOR
428−CUAMAJOR = $CUAMAJOR
429−BRDMAJOR = $BRDMAJOR
430−"
431−X
432−# Ok... Now we should know our major numbers, if appropriate...
433−# Now we need our boards and start the device loops.
434−X
435−grep '^Board [0-9]:' /proc/tty/driver/ip2 | while read token number type alltherest
436−do
437−X # The test for blank "type" will catch the stats lead-in lines
438−X # if they exist in the file
439−X if test "$type" = "vacant" -o "$type" = "Vacant" -o "$type" = ""
440−X then
441−X continue
442−X fi
443−X
444−X BOARDNO=`expr "$number" : '\([0-9]\):'`
445−X PORTS=`expr "$alltherest" : '.*ports=\([0-9]*\)' | tr ',' ' '`
446−X MINORS=`expr "$alltherest" : '.*minors=\([0-9,]*\)' | tr ',' ' '`
447−X
448−X if test "$BOARDNO" = "" -o "$PORTS" = ""
449−X then
450−# This may be a bug. We should at least get this much information
451−X echo "Unable to process board line"
452−X continue
453−X fi
454−X
455−X if test "$MINORS" = ""
456−X then
457−# Silently skip this one. This board seems to have no boxes
458−X continue
459−X fi
460−X
461−X echo "board $BOARDNO: $type ports = $PORTS; port numbers = $MINORS"
462−X
463−X if test "$BRDMAJOR" != ""
464−X then
465−X BRDMINOR=`expr $BOARDNO \* 4`
466−X STSMINOR=`expr $BRDMINOR + 1`
467−X if test ! -c /dev/ip2ipl$BOARDNO ; then
468−X mknod /dev/ip2ipl$BOARDNO c $BRDMAJOR $BRDMINOR
469−X fi
470−X if test ! -c /dev/ip2stat$BOARDNO ; then
471−X mknod /dev/ip2stat$BOARDNO c $BRDMAJOR $STSMINOR
472−X fi
473−X fi
474−X
475−X if test "$TTYMAJOR" != ""
476−X then
477−X PORTNO=$BOARDBASE
478−X
479−X for PORTNO in $MINORS
480−X do
481−X if test ! -c /dev/ttyF$PORTNO ; then
482−X # We got the hardware but no device - make it
483−X mknod /dev/ttyF$PORTNO c $TTYMAJOR $PORTNO
484−X fi
485−X done
486−X fi
487−X
488−X if test "$CUAMAJOR" != ""
489−X then
490−X PORTNO=$BOARDBASE
491−X
492−X for PORTNO in $MINORS
493−X do
494−X if test ! -c /dev/cuf$PORTNO ; then
495−X # We got the hardware but no device - make it
496−X mknod /dev/cuf$PORTNO c $CUAMAJOR $PORTNO
497−X fi
498−X done
499−X fi
500−done
501−X
502−Xexit 0
503−SHAR_EOF
504− (set 20 01 10 29 10 32 01 'ip2mkdev'; eval "$shar_touch") &&
505− chmod 0755 'ip2mkdev' ||
506− $echo 'restore of' 'ip2mkdev' 'failed'
507− if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
508− && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
509− md5sum -c << SHAR_EOF >/dev/null 2>&1 \
510− || $echo 'ip2mkdev:' 'MD5 check failed'
511−cb5717134509f38bad9fde6b1f79b4a4 ip2mkdev
512−SHAR_EOF
513− else
514− shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'ip2mkdev'`"
515− test 4251 -eq "$shar_count" ||
516− $echo 'ip2mkdev:' 'original size' '4251,' 'current size' "$shar_count!"
517− fi
518−fi
519−rm -fr _sh17581
520−exit 0
Documentation/smsc_ece1099.txt+56−0
@@ -0,0 +1,56 @@
1+What is smsc-ece1099?
2+----------------------
3+
4+The ECE1099 is a 40-Pin 3.3V Keyboard Scan Expansion
5+or GPIO Expansion device. The device supports a keyboard
6+scan matrix of 23x8. The device is connected to a Master
7+via the SMSC BC-Link interface or via the SMBus.
8+Keypad scan Input(KSI) and Keypad Scan Output(KSO) signals
9+are multiplexed with GPIOs.
10+
11+Interrupt generation
12+--------------------
13+
14+Interrupts can be generated by an edge detection on a GPIO
15+pin or an edge detection on one of the bus interface pins.
16+Interrupts can also be detected on the keyboard scan interface.
17+The bus interrupt pin (BC_INT# or SMBUS_INT#) is asserted if
18+any bit in one of the Interrupt Status registers is 1 and
19+the corresponding Interrupt Mask bit is also 1.
20+
21+In order for software to determine which device is the source
22+of an interrupt, it should first read the Group Interrupt Status Register
23+to determine which Status register group is a source for the interrupt.
24+Software should read both the Status register and the associated Mask register,
25+then AND the two values together. Bits that are 1 in the result of the AND
26+are active interrupts. Software clears an interrupt by writing a 1 to the
27+corresponding bit in the Status register.
28+
29+Communication Protocol
30+----------------------
31+
32+- SMbus slave Interface
33+ The host processor communicates with the ECE1099 device
34+ through a series of read/write registers via the SMBus
35+ interface. SMBus is a serial communication protocol between
36+ a computer host and its peripheral devices. The SMBus data
37+ rate is 10KHz minimum to 400 KHz maximum
38+
39+- Slave Bus Interface
40+ The ECE1099 device SMBus implementation is a subset of the
41+ SMBus interface to the host. The device is a slave-only SMBus device.
42+ The implementation in the device is a subset of SMBus since it
43+ only supports four protocols.
44+
45+ The Write Byte, Read Byte, Send Byte, and Receive Byte protocols are the
46+ only valid SMBus protocols for the device.
47+
48+- BC-LinkTM Interface
49+ The BC-Link is a proprietary bus that allows communication
50+ between a Master device and a Companion device. The Master
51+ device uses this serial bus to read and write registers
52+ located on the Companion device. The bus comprises three signals,
53+ BC_CLK, BC_DAT and BC_INT#. The Master device always provides the
54+ clock, BC_CLK, and the Companion device is the source for an
55+ independent asynchronous interrupt signal, BC_INT#. The ECE1099
56+ supports BC-Link speeds up to 24MHz.
Documentation/sound/alsa/ALSA-Configuration.txt+8−2
@@ -860,8 +860,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. · 859 unmodified lines
860860
861861 [Multiple options for each card instance]
862862 model - force the model name
863− position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF,
864− 3 = VIACOMBO, 4 = COMBO)
863+ position_fix - Fix DMA pointer
864+ -1 = system default: choose appropriate one per controller
865+ hardware
866+ 0 = auto: falls back to LPIB when POSBUF doesn't work
867+ 1 = use LPIB
868+ 2 = POSBUF: use position buffer
869+ 3 = VIACOMBO: VIA-specific workaround for capture
870+ 4 = COMBO: use LPIB for playback, auto for capture stream
865871 probe_mask - Bitmask to probe codecs (default = -1, meaning all slots)
866872 When the bit 8 (0x100) is set, the lower 8 bits are used
867873 as the "fixed" codec slots; i.e. the driver probes the
Documentation/sound/alsa/Channel-Mapping-API.txt+153−0
@@ -0,0 +1,153 @@
1+ALSA PCM channel-mapping API
2+============================
3+ Takashi Iwai <tiwai@suse.de>
4+
5+GENERAL
6+-------
7+
8+The channel mapping API allows user to query the possible channel maps
9+and the current channel map, also optionally to modify the channel map
10+of the current stream.
11+
12+A channel map is an array of position for each PCM channel.
13+Typically, a stereo PCM stream has a channel map of
14+ { front_left, front_right }
15+while a 4.0 surround PCM stream has a channel map of
16+ { front left, front right, rear left, rear right }.
17+
18+The problem, so far, was that we had no standard channel map
19+explicitly, and applications had no way to know which channel
20+corresponds to which (speaker) position. Thus, applications applied
21+wrong channels for 5.1 outputs, and you hear suddenly strange sound
22+from rear. Or, some devices secretly assume that center/LFE is the
23+third/fourth channels while others that C/LFE as 5th/6th channels.
24+
25+Also, some devices such as HDMI are configurable for different speaker
26+positions even with the same number of total channels. However, there
27+was no way to specify this because of lack of channel map
28+specification. These are the main motivations for the new channel
29+mapping API.
30+
31+
32+DESIGN
33+------
34+
35+Actually, "the channel mapping API" doesn't introduce anything new in
36+the kernel/user-space ABI perspective. It uses only the existing
37+control element features.
38+
39+As a ground design, each PCM substream may contain a control element
40+providing the channel mapping information and configuration. This
41+element is specified by:
42+ iface = SNDRV_CTL_ELEM_IFACE_PCM
43+ name = "Playback Channel Map" or "Capture Channel Map"
44+ device = the same device number for the assigned PCM substream
45+ index = the same index number for the assigned PCM substream
46+
47+Note the name is different depending on the PCM substream direction.
48+
49+Each control element provides at least the TLV read operation and the
50+read operation. Optionally, the write operation can be provided to
51+allow user to change the channel map dynamically.
52+
53+* TLV
54+
55+The TLV operation gives the list of available channel
56+maps. A list item of a channel map is usually a TLV of
57+ type data-bytes ch0 ch1 ch2...
58+where type is the TLV type value, the second argument is the total
59+bytes (not the numbers) of channel values, and the rest are the
60+position value for each channel.
61+
62+As a TLV type, either SNDRV_CTL_TLVT_CHMAP_FIXED,
63+SNDRV_CTL_TLV_CHMAP_VAR or SNDRV_CTL_TLVT_CHMAP_PAIRED can be used.
64+The _FIXED type is for a channel map with the fixed channel position
65+while the latter two are for flexible channel positions. _VAR type is
66+for a channel map where all channels are freely swappable and _PAIRED
67+type is where pair-wise channels are swappable. For example, when you
68+have {FL/FR/RL/RR} channel map, _PAIRED type would allow you to swap
69+only {RL/RR/FL/FR} while _VAR type would allow even swapping FL and
70+RR.
71+
72+These new TLV types are defined in sound/tlv.h.
73+
74+The available channel position values are defined in sound/asound.h,
75+here is a cut:
76+
77+/* channel positions */
78+enum {
79+ SNDRV_CHMAP_UNKNOWN = 0,
80+ SNDRV_CHMAP_NA, /* N/A, silent */
81+ SNDRV_CHMAP_MONO, /* mono stream */
82+ /* this follows the alsa-lib mixer channel value + 3 */
83+ SNDRV_CHMAP_FL, /* front left */
84+ SNDRV_CHMAP_FR, /* front right */
85+ SNDRV_CHMAP_RL, /* rear left */
86+ SNDRV_CHMAP_RR, /* rear right */
87+ SNDRV_CHMAP_FC, /* front center */
88+ SNDRV_CHMAP_LFE, /* LFE */
89+ SNDRV_CHMAP_SL, /* side left */
90+ SNDRV_CHMAP_SR, /* side right */
91+ SNDRV_CHMAP_RC, /* rear center */
92+ /* new definitions */
93+ SNDRV_CHMAP_FLC, /* front left center */
94+ SNDRV_CHMAP_FRC, /* front right center */
95+ SNDRV_CHMAP_RLC, /* rear left center */
96+ SNDRV_CHMAP_RRC, /* rear right center */
97+ SNDRV_CHMAP_FLW, /* front left wide */
98+ SNDRV_CHMAP_FRW, /* front right wide */
99+ SNDRV_CHMAP_FLH, /* front left high */
100+ SNDRV_CHMAP_FCH, /* front center high */
101+ SNDRV_CHMAP_FRH, /* front right high */
102+ SNDRV_CHMAP_TC, /* top center */
103+ SNDRV_CHMAP_TFL, /* top front left */
104+ SNDRV_CHMAP_TFR, /* top front right */
105+ SNDRV_CHMAP_TFC, /* top front center */
106+ SNDRV_CHMAP_TRL, /* top rear left */
107+ SNDRV_CHMAP_TRR, /* top rear right */
108+ SNDRV_CHMAP_TRC, /* top rear center */
109+ SNDRV_CHMAP_LAST = SNDRV_CHMAP_TRC,
110+};
111+
112+When a PCM stream can provide more than one channel map, you can
113+provide multiple channel maps in a TLV container type. The TLV data
114+to be returned will contain such as:
115+ SNDRV_CTL_TLVT_CONTAINER 96
116+ SNDRV_CTL_TLVT_CHMAP_FIXED 4 SNDRV_CHMAP_FC
117+ SNDRV_CTL_TLVT_CHMAP_FIXED 8 SNDRV_CHMAP_FL SNDRV_CHMAP_FR
118+ SNDRV_CTL_TLVT_CHMAP_FIXED 16 NDRV_CHMAP_FL SNDRV_CHMAP_FR \
119+ SNDRV_CHMAP_RL SNDRV_CHMAP_RR
120+
121+The channel position is provided in LSB 16bits. The upper bits are
122+used for bit flags.
123+
124+#define SNDRV_CHMAP_POSITION_MASK 0xffff
125+#define SNDRV_CHMAP_PHASE_INVERSE (0x01 << 16)
126+#define SNDRV_CHMAP_DRIVER_SPEC (0x02 << 16)
127+
128+SNDRV_CHMAP_PHASE_INVERSE indicates the channel is phase inverted,
129+(thus summing left and right channels would result in almost silence).
130+Some digital mic devices have this.
131+
132+When SNDRV_CHMAP_DRIVER_SPEC is set, all the channel position values
133+don't follow the standard definition above but driver-specific.
134+
135+* READ OPERATION
136+
137+The control read operation is for providing the current channel map of
138+the given stream. The control element returns an integer array
139+containing the position of each channel.
140+
141+When this is performed before the number of the channel is specified
142+(i.e. hw_params is set), it should return all channels set to
143+UNKNOWN.
144+
145+* WRITE OPERATION
146+
147+The control write operation is optional, and only for devices that can
148+change the channel configuration on the fly, such as HDMI. User needs
149+to pass an integer value containing the valid channel positions for
150+all channels of the assigned PCM substream.
151+
152+This operation is allowed only at PCM PREPARED state. When called in
153+other states, it shall return an error.
Documentation/sound/alsa/HD-Audio-Models.txt+2−1
@@ -74,7 +74,8 @@ CMI9880 · 73 unmodified lines
7474
7575 AD1882 / AD1882A
7676 ================
77− 3stack 3-stack mode (default)
77+ 3stack 3-stack mode
78+ 3stack-automute 3-stack with automute front HP (default)
7879 6stack 6-stack mode
7980
8081 AD1884A / AD1883 / AD1984A / AD1984B
Documentation/spi/ep93xx_spi+1−1
@@ -26,7 +26,7 @@ arch/arm/mach-ep93xx/ts72xx.c: · 25 unmodified lines
2626 #include <linux/gpio.h>
2727 #include <linux/spi/spi.h>
2828
29−#include <mach/ep93xx_spi.h>
29+#include <linux/platform_data/spi-ep93xx.h>
3030
3131 /* this is our GPIO line used for chip select */
3232 #define MMC_CHIP_SELECT_GPIO EP93XX_GPIO_LINE_EGPIO9
Documentation/spi/spi-sc18is602+36−0
@@ -0,0 +1,36 @@
1+Kernel driver spi-sc18is602
2+===========================
3+
4+Supported chips:
5+ * NXP SI18IS602/602B/603
6+ Datasheet: http://www.nxp.com/documents/data_sheet/SC18IS602_602B_603.pdf
7+
8+Author:
9+ Guenter Roeck <linux@roeck-us.net>
10+
11+
12+Description
13+-----------
14+
15+This driver provides connects a NXP SC18IS602/603 I2C-bus to SPI bridge to the
16+kernel's SPI core subsystem.
17+
18+The driver does not probe for supported chips, since the SI18IS602/603 does not
19+support Chip ID registers. You will have to instantiate the devices explicitly.
20+Please see Documentation/i2c/instantiating-devices for details.
21+
22+
23+Usage Notes
24+-----------
25+
26+This driver requires the I2C adapter driver to support raw I2C messages. I2C
27+adapter drivers which can only handle the SMBus protocol are not supported.
28+
29+The maximum SPI message size supported by SC18IS602/603 is 200 bytes. Attempts
30+to initiate longer transfers will fail with -EINVAL. EEPROM read operations and
31+similar large accesses have to be split into multiple chunks of no more than
32+200 bytes per SPI message (128 bytes of data per message is recommended). This
33+means that programs such as "cp" or "od", which automatically use large block
34+sizes to access a device, can not be used directly to read data from EEPROM.
35+Programs such as dd, where the block size can be specified, should be used
36+instead.
Documentation/sysctl/kernel.txt+2−0
@@ -181,6 +181,8 @@ core_pattern is used to specify a core dumpfile pattern name. · 180 unmodified lines
181181 %p pid
182182 %u uid
183183 %g gid
184+ %d dump mode, matches PR_SET_DUMPABLE and
185+ /proc/sys/fs/suid_dumpable
184186 %s signal number
185187 %t UNIX time of dump
186188 %h hostname
Documentation/sysrq.txt+1−0
@@ -116,6 +116,7 @@ On all - write a character to /proc/sysrq-trigger. e.g.: · 115 unmodified lines
116116 'w' - Dumps tasks that are in uninterruptable (blocked) state.
117117
118118 'x' - Used by xmon interface on ppc/powerpc platforms.
119+ Show global PMU Registers on sparc64.
119120
120121 'y' - Show global CPU Registers [SPARC-64 specific]
121122
Documentation/target/tcm_mod_builder.py+0−16
@@ -402,8 +402,6 @@ def tcm_mod_build_configfs(proto_ident, fabric_mod_dir_var, fabric_mod_name): · 401 unmodified lines
402402 buf += " .queue_data_in = " + fabric_mod_name + "_queue_data_in,\n"
403403 buf += " .queue_status = " + fabric_mod_name + "_queue_status,\n"
404404 buf += " .queue_tm_rsp = " + fabric_mod_name + "_queue_tm_rsp,\n"
405− buf += " .get_fabric_sense_len = " + fabric_mod_name + "_get_fabric_sense_len,\n"
406− buf += " .set_fabric_sense_len = " + fabric_mod_name + "_set_fabric_sense_len,\n"
407405 buf += " .is_state_remove = " + fabric_mod_name + "_is_state_remove,\n"
408406 buf += " /*\n"
409407 buf += " * Setup function pointers for generic logic in target_core_fabric_configfs.c\n"
@@ -906,20 +904,6 @@ def tcm_mod_dump_fabric_ops(proto_ident, fabric_mod_dir_var, fabric_mod_name): · 496 unmodified lines
906904 buf += "}\n\n"
907905 bufi += "int " + fabric_mod_name + "_queue_tm_rsp(struct se_cmd *);\n"
908906
909− if re.search('get_fabric_sense_len\)\(', fo):
910− buf += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void)\n"
911− buf += "{\n"
912− buf += " return 0;\n"
913− buf += "}\n\n"
914− bufi += "u16 " + fabric_mod_name + "_get_fabric_sense_len(void);\n"
915−
916− if re.search('set_fabric_sense_len\)\(', fo):
917− buf += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *se_cmd, u32 sense_length)\n"
918− buf += "{\n"
919− buf += " return 0;\n"
920− buf += "}\n\n"
921− bufi += "u16 " + fabric_mod_name + "_set_fabric_sense_len(struct se_cmd *, u32);\n"
922−
923907 if re.search('is_state_remove\)\(', fo):
924908 buf += "int " + fabric_mod_name + "_is_state_remove(struct se_cmd *se_cmd)\n"
925909 buf += "{\n"
Documentation/thermal/cpu-cooling-api.txt+32−0
@@ -0,0 +1,32 @@
1+CPU cooling APIs How To
2+===================================
3+
4+Written by Amit Daniel Kachhap <amit.kachhap@linaro.org>
5+
6+Updated: 12 May 2012
7+
8+Copyright (c) 2012 Samsung Electronics Co., Ltd(http://www.samsung.com)
9+
10+0. Introduction
11+
12+The generic cpu cooling(freq clipping) provides registration/unregistration APIs
13+to the caller. The binding of the cooling devices to the trip point is left for
14+the user. The registration APIs returns the cooling device pointer.
15+
16+1. cpu cooling APIs
17+
18+1.1 cpufreq registration/unregistration APIs
19+1.1.1 struct thermal_cooling_device *cpufreq_cooling_register(
20+ struct cpumask *clip_cpus)
21+
22+ This interface function registers the cpufreq cooling device with the name
23+ "thermal-cpufreq-%x". This api can support multiple instances of cpufreq
24+ cooling devices.
25+
26+ clip_cpus: cpumask of cpus where the frequency constraints will happen.
27+
28+1.1.2 void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
29+
30+ This interface function unregisters the "thermal-cpufreq-%x" cooling device.
31+
32+ cdev: Cooling device pointer which has to be unregistered.
Documentation/thermal/exynos_thermal+52−0
@@ -0,0 +1,52 @@
1+Kernel driver exynos4_tmu
2+=================
3+
4+Supported chips:
5+* ARM SAMSUNG EXYNOS4 series of SoC
6+ Prefix: 'exynos4-tmu'
7+ Datasheet: Not publicly available
8+
9+Authors: Donggeun Kim <dg77.kim@samsung.com>
10+
11+Description
12+-----------
13+
14+This driver allows to read temperature inside SAMSUNG EXYNOS4 series of SoC.
15+
16+The chip only exposes the measured 8-bit temperature code value
17+through a register.
18+Temperature can be taken from the temperature code.
19+There are three equations converting from temperature to temperature code.
20+
21+The three equations are:
22+ 1. Two point trimming
23+ Tc = (T - 25) * (TI2 - TI1) / (85 - 25) + TI1
24+
25+ 2. One point trimming
26+ Tc = T + TI1 - 25
27+
28+ 3. No trimming
29+ Tc = T + 50
30+
31+ Tc: Temperature code, T: Temperature,
32+ TI1: Trimming info for 25 degree Celsius (stored at TRIMINFO register)
33+ Temperature code measured at 25 degree Celsius which is unchanged
34+ TI2: Trimming info for 85 degree Celsius (stored at TRIMINFO register)
35+ Temperature code measured at 85 degree Celsius which is unchanged
36+
37+TMU(Thermal Management Unit) in EXYNOS4 generates interrupt
38+when temperature exceeds pre-defined levels.
39+The maximum number of configurable threshold is four.
40+The threshold levels are defined as follows:
41+ Level_0: current temperature > trigger_level_0 + threshold
42+ Level_1: current temperature > trigger_level_1 + threshold
43+ Level_2: current temperature > trigger_level_2 + threshold
44+ Level_3: current temperature > trigger_level_3 + threshold
45+
46+ The threshold and each trigger_level are set
47+ through the corresponding registers.
48+
49+When an interrupt occurs, this driver notify kernel thermal framework
50+with the function exynos4_report_trigger.
51+Although an interrupt condition for level_0 can be set,
52+it can be used to synchronize the cooling action.
Documentation/thermal/sysfs-api.txt+8−1
@@ -84,7 +84,8 @@ temperature) and throttle appropriate devices. · 83 unmodified lines
8484
8585 1.3 interface for binding a thermal zone device with a thermal cooling device
8686 1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz,
87− int trip, struct thermal_cooling_device *cdev);
87+ int trip, struct thermal_cooling_device *cdev,
88+ unsigned long upper, unsigned long lower);
8889
8990 This interface function bind a thermal cooling device to the certain trip
9091 point of a thermal zone device.
@@ -93,6 +94,12 @@ temperature) and throttle appropriate devices. · 2 unmodified lines
9394 cdev: thermal cooling device
9495 trip: indicates which trip point the cooling devices is associated with
9596 in this thermal zone.
97+ upper:the Maximum cooling state for this trip point.
98+ THERMAL_NO_LIMIT means no upper limit,
99+ and the cooling device can be in max_state.
100+ lower:the Minimum cooling state can be used for this trip point.
101+ THERMAL_NO_LIMIT means no lower limit,
102+ and the cooling device can be in cooling state 0.
96103
97104 1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz,
98105 int trip, struct thermal_cooling_device *cdev);
Documentation/usb/persist.txt+3−0
@@ -155,6 +155,9 @@ If the kernel gets fooled in this way, it's almost certain to cause · 154 unmodified lines
155155 data corruption and to crash your system. You'll have no one to blame
156156 but yourself.
157157
158+For those devices with avoid_reset_quirk attribute being set, persist
159+maybe fail because they may morph after reset.
160+
158161 YOU HAVE BEEN WARNED! USE AT YOUR OWN RISK!
159162
160163 That having been said, most of the time there shouldn't be any trouble
Documentation/video4linux/CARDLIST.cx23885+1−0
@@ -35,3 +35,4 @@ · 34 unmodified lines
3535 34 -> TerraTec Cinergy T PCIe Dual [153b:117e]
3636 35 -> TeVii S471 [d471:9022]
3737 36 -> Hauppauge WinTV-HVR1255 [0070:2259]
38+ 37 -> Prof Revolution DVB-S2 8000 [8000:3034]
Documentation/video4linux/CQcam.txt+1−1
@@ -18,7 +18,7 @@ Table of Contents · 17 unmodified lines
1818
1919 1.0 Introduction
2020
21− The file ../../drivers/media/video/c-qcam.c is a device driver for
21+ The file ../../drivers/media/parport/c-qcam.c is a device driver for
2222 the Logitech (nee Connectix) parallel port interface color CCD camera.
2323 This is a fairly inexpensive device for capturing images. Logitech
2424 does not currently provide information for developers, but many people
Documentation/video4linux/README.davinci-vpbe+10−10
@@ -5,22 +5,22 @@ · 4 unmodified lines
55 File partitioning
66 -----------------
77 V4L2 display device driver
8− drivers/media/video/davinci/vpbe_display.c
9− drivers/media/video/davinci/vpbe_display.h
8+ drivers/media/platform/davinci/vpbe_display.c
9+ drivers/media/platform/davinci/vpbe_display.h
1010
1111 VPBE display controller
12− drivers/media/video/davinci/vpbe.c
13− drivers/media/video/davinci/vpbe.h
12+ drivers/media/platform/davinci/vpbe.c
13+ drivers/media/platform/davinci/vpbe.h
1414
1515 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
16+ drivers/media/platform/davinci/vpbe_venc.c
17+ drivers/media/platform/davinci/vpbe_venc.h
18+ drivers/media/platform/davinci/vpbe_venc_regs.h
1919
2020 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
21+ drivers/media/platform/davinci/vpbe_osd.c
22+ drivers/media/platform/davinci/vpbe_osd.h
23+ drivers/media/platform/davinci/vpbe_osd_regs.h
2424
2525 Functional partitioning
2626 -----------------------
Documentation/video4linux/fimc.txt+8−8
@@ -10,7 +10,7 @@ data from LCD controller (FIMD) through the SoC internal writeback data · 9 unmodified lines
1010 path. There are multiple FIMC instances in the SoCs (up to 4), having
1111 slightly different capabilities, like pixel alignment constraints, rotator
1212 availability, LCD writeback support, etc. The driver is located at
13−drivers/media/video/s5p-fimc directory.
13+drivers/media/platform/s5p-fimc directory.
1414
1515 1. Supported SoCs
1616 =================
@@ -36,21 +36,21 @@ Not currently supported: · 19 unmodified lines
3636 =====================
3737
3838 - media device driver
39− drivers/media/video/s5p-fimc/fimc-mdevice.[ch]
39+ drivers/media/platform/s5p-fimc/fimc-mdevice.[ch]
4040
4141 - camera capture video device driver
42− drivers/media/video/s5p-fimc/fimc-capture.c
42+ drivers/media/platform/s5p-fimc/fimc-capture.c
4343
4444 - MIPI-CSI2 receiver subdev
45− drivers/media/video/s5p-fimc/mipi-csis.[ch]
45+ drivers/media/platform/s5p-fimc/mipi-csis.[ch]
4646
4747 - video post-processor (mem-to-mem)
48− drivers/media/video/s5p-fimc/fimc-core.c
48+ drivers/media/platform/s5p-fimc/fimc-core.c
4949
5050 - common files
51− drivers/media/video/s5p-fimc/fimc-core.h
52− drivers/media/video/s5p-fimc/fimc-reg.h
53− drivers/media/video/s5p-fimc/regs-fimc.h
51+ drivers/media/platform/s5p-fimc/fimc-core.h
52+ drivers/media/platform/s5p-fimc/fimc-reg.h
53+ drivers/media/platform/s5p-fimc/regs-fimc.h
5454
5555 4. User space interfaces
5656 ========================
Documentation/video4linux/omap3isp.txt+1−1
@@ -12,7 +12,7 @@ Introduction · 11 unmodified lines
1212 ============
1313
1414 This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
15−driver located under drivers/media/video/omap3isp. The original driver was
15+driver located under drivers/media/platform/omap3isp. The original driver was
1616 written by Texas Instruments but since that it has been rewritten (twice) at
1717 Nokia.
1818
Documentation/video4linux/v4l2-controls.txt+29−1
@@ -136,11 +136,25 @@ Or alternatively for integer menu controls, by calling v4l2_ctrl_new_int_menu: · 135 unmodified lines
136136 const struct v4l2_ctrl_ops *ops,
137137 u32 id, s32 max, s32 def, const s64 *qmenu_int);
138138
139+Standard menu controls with a driver specific menu are added by calling
140+v4l2_ctrl_new_std_menu_items:
141+
142+ struct v4l2_ctrl *v4l2_ctrl_new_std_menu_items(
143+ struct v4l2_ctrl_handler *hdl,
144+ const struct v4l2_ctrl_ops *ops, u32 id, s32 max,
145+ s32 skip_mask, s32 def, const char * const *qmenu);
146+
139147 These functions are typically called right after the v4l2_ctrl_handler_init:
140148
141149 static const s64 exp_bias_qmenu[] = {
142150 -2, -1, 0, 1, 2
143151 };
152+ static const char * const test_pattern[] = {
153+ "Disabled",
154+ "Vertical Bars",
155+ "Solid Black",
156+ "Solid White",
157+ };
144158
145159 v4l2_ctrl_handler_init(&foo->ctrl_handler, nr_of_controls);
146160 v4l2_ctrl_new_std(&foo->ctrl_handler, &foo_ctrl_ops,
@@ -156,6 +170,9 @@ These functions are typically called right after the v4l2_ctrl_handler_init: · 9 unmodified lines
156170 ARRAY_SIZE(exp_bias_qmenu) - 1,
157171 ARRAY_SIZE(exp_bias_qmenu) / 2 - 1,
158172 exp_bias_qmenu);
173+ v4l2_ctrl_new_std_menu_items(&foo->ctrl_handler, &foo_ctrl_ops,
174+ V4L2_CID_TEST_PATTERN, ARRAY_SIZE(test_pattern) - 1, 0,
175+ 0, test_pattern);
159176 ...

29 more lines aren’t shown here.

Documentation/video4linux/v4l2-framework.txt+10−2

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

Documentation/video4linux/videobuf+1−1

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

Documentation/virtual/kvm/api.txt+25−8

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

Documentation/virtual/kvm/hypercalls.txt+66−0

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

Documentation/virtual/kvm/msr.txt+20−12

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

Documentation/virtual/kvm/ppc-pv.txt+22−0

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

Documentation/virtual/uml/UserModeLinux-HOWTO.txt+1−1

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

Documentation/vm/unevictable-lru.txt+5−9

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

Documentation/zh_CN/IRQ.txt+39−0

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

Documentation/zh_CN/arm64/booting.txt+156−0

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

Documentation/zh_CN/arm64/memory.txt+93−0

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

MAINTAINERS+547−103

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

Makefile+51−36

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

README+18−0

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

arch/Kconfig+28−0

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

arch/alpha/Kconfig+4−0

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

arch/alpha/include/asm/Kbuild+3−0

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

arch/alpha/include/asm/exec.h+0−6

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

arch/alpha/include/asm/module.h+2−8

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

arch/alpha/include/asm/processor.h+0−3

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

arch/alpha/include/asm/thread_info.h+54−25

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

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

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

arch/alpha/include/uapi/asm/Kbuild+3−0

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

arch/alpha/kernel/alpha_ksyms.c+0−3

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

arch/alpha/kernel/entry.S+45−110

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

arch/alpha/kernel/osf_sys.c+25−33

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

arch/alpha/kernel/pci-sysfs.c+1−1

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

arch/alpha/kernel/process.c+21−60

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

arch/alpha/kernel/ptrace.c+13−19

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

arch/alpha/kernel/signal.c+28−20

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

arch/alpha/kernel/srmcons.c+1−0

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

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

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

arch/arm/Kconfig+380−404

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

arch/arm/Kconfig.debug+47−0

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

arch/arm/Makefile+90−83

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

arch/arm/boot/Makefile+7−5

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

arch/arm/boot/compressed/.gitignore+1−0

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

arch/arm/boot/compressed/Makefile+8−1

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

arch/arm/boot/compressed/decompress.c+3−0

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

arch/arm/boot/compressed/head.S+64−7

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

arch/arm/boot/compressed/misc.c+6−0

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

arch/arm/boot/dts/Makefile+107−0

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

arch/arm/boot/dts/am335x-bone.dts+60−0

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

arch/arm/boot/dts/am335x-evm.dts+100−0

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

arch/arm/boot/dts/am33xx.dtsi+61−10

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

arch/arm/boot/dts/armada-370-xp.dtsi+5−0

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

arch/arm/boot/dts/armada-370.dtsi+44−0

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

arch/arm/boot/dts/armada-xp-db.dts+2−2

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

arch/arm/boot/dts/armada-xp-mv78230.dtsi+57−0

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

arch/arm/boot/dts/armada-xp-mv78260.dtsi+70−0

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

arch/arm/boot/dts/armada-xp-mv78460.dtsi+70−0

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

arch/arm/boot/dts/at91sam9260.dtsi+10−0

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

arch/arm/boot/dts/at91sam9263.dtsi+10−0

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

arch/arm/boot/dts/at91sam9g20.dtsi+4−0

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

arch/arm/boot/dts/at91sam9g20ek_common.dtsi+2−2

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

arch/arm/boot/dts/at91sam9g25ek.dts+12−0

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

arch/arm/boot/dts/at91sam9g45.dtsi+20−0

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

arch/arm/boot/dts/at91sam9m10g45ek.dts+8−0

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

arch/arm/boot/dts/at91sam9n12.dtsi+20−0

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

arch/arm/boot/dts/at91sam9n12ek.dts+8−0

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

arch/arm/boot/dts/at91sam9x5.dtsi+30−0

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

arch/arm/boot/dts/bcm2835-rpi-b.dts+12−0

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

arch/arm/boot/dts/bcm2835.dtsi+39−0

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

arch/arm/boot/dts/db8500.dtsi+0−592

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

arch/arm/boot/dts/dbx5x0.dtsi+664−0

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

arch/arm/boot/dts/dove-cm-a510.dts+38−0

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

arch/arm/boot/dts/dove-cubox.dts+42−0

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

arch/arm/boot/dts/dove-dove-db.dts+38−0

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

arch/arm/boot/dts/dove.dtsi+158−0

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

arch/arm/boot/dts/ea3250.dts+108−1

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

arch/arm/boot/dts/elpida_ecb240abacn.dtsi+67−0

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

arch/arm/boot/dts/exynos4.dtsi+248−0

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

arch/arm/boot/dts/exynos4210-origen.dts+18−59

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

arch/arm/boot/dts/exynos4210-pinctrl.dtsi+457−0

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

arch/arm/boot/dts/exynos4210-smdkv310.dts+5−49

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

arch/arm/boot/dts/exynos4210-trats.dts+239−0

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

arch/arm/boot/dts/exynos4210.dtsi+31−170

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

arch/arm/boot/dts/exynos5250-smdk5250.dts+58−1

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

arch/arm/boot/dts/exynos5250.dtsi+60−0

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

arch/arm/boot/dts/highbank.dts+18−0

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

arch/arm/boot/dts/hrefv60plus.dts+95−0

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

arch/arm/boot/dts/imx23-evk.dts+2−1

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

arch/arm/boot/dts/imx23-olinuxino.dts+57−0

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

arch/arm/boot/dts/imx23-stmp378x_devb.dts+1−1

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

arch/arm/boot/dts/imx23.dtsi+37−7

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

arch/arm/boot/dts/imx27-phytec-phycore.dts+1−5

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

arch/arm/boot/dts/imx27.dtsi+0−1

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

arch/arm/boot/dts/imx28-apx4devkit.dts+1−1

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

arch/arm/boot/dts/imx28-cfa10049.dts+99−0

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

arch/arm/boot/dts/imx28-evk.dts+28−1

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

arch/arm/boot/dts/imx28-m28evk.dts+75−8

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

arch/arm/boot/dts/imx28-tx28.dts+21−2

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

arch/arm/boot/dts/imx28.dtsi+127−4

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

arch/arm/boot/dts/imx51-babbage.dts+34−10

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

arch/arm/boot/dts/imx51.dtsi+152−1

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

arch/arm/boot/dts/imx53-ard.dts+47−12

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

arch/arm/boot/dts/imx53-evk.dts+29−10

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

arch/arm/boot/dts/imx53-qsb.dts+32−10

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

arch/arm/boot/dts/imx53-smd.dts+36−10

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

arch/arm/boot/dts/imx53.dtsi+205−1

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

arch/arm/boot/dts/imx6q-arm2.dts+30−1

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

arch/arm/boot/dts/imx6q-sabrelite.dts+23−8

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

arch/arm/boot/dts/imx6q-sabresd.dts+24−1

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

arch/arm/boot/dts/imx6q.dtsi+257−68

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

arch/arm/boot/dts/integrator.dtsi+76−0

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

arch/arm/boot/dts/integratorap.dts+68−0

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

arch/arm/boot/dts/integratorcp.dts+110−0

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

arch/arm/boot/dts/kirkwood-dnskw.dtsi+10−0

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

arch/arm/boot/dts/kirkwood-dockstar.dts+57−0

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

arch/arm/boot/dts/kirkwood-iconnect.dts+49−1

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

arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts+105−0

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

arch/arm/boot/dts/kirkwood-km_kirkwood.dts+29−0

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

arch/arm/boot/dts/kirkwood-lsxl.dtsi+10−8

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

arch/arm/boot/dts/kirkwood.dtsi+11−1

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

arch/arm/boot/dts/mmp2.dtsi+5−0

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

arch/arm/boot/dts/msm8660-surf.dts+18−1

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

arch/arm/boot/dts/msm8960-cdp.dts+41−0

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

arch/arm/boot/dts/omap2420-h4.dts+1−1

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

arch/arm/boot/dts/omap2420.dtsi+48−0

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

arch/arm/boot/dts/omap2430.dtsi+92−0

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

arch/arm/boot/dts/omap3-beagle-xm.dts+115−0

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

arch/arm/boot/dts/omap3-beagle.dts+0−69

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

arch/arm/boot/dts/omap3-evm.dts+13−0

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

arch/arm/boot/dts/omap3-overo.dtsi+57−0

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

arch/arm/boot/dts/omap3-tobi.dts+35−0

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

arch/arm/boot/dts/omap3.dtsi+87−7

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

arch/arm/boot/dts/omap36xx.dtsi+25−0

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

arch/arm/boot/dts/omap4-panda.dts+58−0

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

arch/arm/boot/dts/omap4-sdp.dts+182−2

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

arch/arm/boot/dts/omap4.dtsi+173−30

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

arch/arm/boot/dts/omap5-evm.dts+122−0

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

arch/arm/boot/dts/omap5.dtsi+156−0

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

arch/arm/boot/dts/phy3250.dts+6−10

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

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

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

arch/arm/boot/dts/prima2-evb.dts+37−0

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

arch/arm/boot/dts/prima2.dtsi+640−0

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

arch/arm/boot/dts/pxa27x.dtsi+14−0

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

arch/arm/boot/dts/pxa2xx.dtsi+132−0

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

arch/arm/boot/dts/pxa3xx.dtsi+32−0

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

arch/arm/boot/dts/pxa910-dkb.dts+137−0

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

arch/arm/boot/dts/pxa910.dtsi+9−0

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

arch/arm/boot/dts/snowball.dts+17−2

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

arch/arm/boot/dts/spear300-evb.dts+1−2

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

arch/arm/boot/dts/spear320-evb.dts+0−2

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

arch/arm/boot/dts/tegra20-harmony.dts+220−0

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

arch/arm/boot/dts/tegra20-medcom-wide.dts+58−0

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

arch/arm/boot/dts/tegra20-paz00.dts+173−0

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

arch/arm/boot/dts/tegra20-plutux.dts+50−0

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

arch/arm/boot/dts/tegra20-seaboard.dts+187−1

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

arch/arm/boot/dts/tegra20-tamonten.dtsi+449−0

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

arch/arm/boot/dts/tegra20-tec.dts+53−0

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

arch/arm/boot/dts/tegra20-ventana.dts+206−0

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

arch/arm/boot/dts/tegra20-whistler.dts+295−0

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

arch/arm/boot/dts/tegra20.dtsi+3−3

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

arch/arm/boot/dts/tegra30-cardhu-a02.dts+87−0

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

arch/arm/boot/dts/tegra30-cardhu-a04.dts+98−0

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

arch/arm/boot/dts/tegra30-cardhu.dts+0−171

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

arch/arm/boot/dts/tegra30-cardhu.dtsi+475−0

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

arch/arm/boot/dts/tegra30.dtsi+1−1

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

arch/arm/boot/dts/tps65217.dtsi+56−0

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

arch/arm/boot/dts/tps65910.dtsi+86−0

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

arch/arm/boot/dts/twl4030.dtsi+3−3

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

arch/arm/boot/dts/twl6030.dtsi+13−13

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

arch/arm/boot/dts/vt8500-bv07.dts+36−0

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

arch/arm/boot/dts/vt8500.dtsi+116−0

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

arch/arm/boot/dts/wm8505-ref.dts+36−0

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

arch/arm/boot/dts/wm8505.dtsi+143−0

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

arch/arm/boot/dts/wm8650-mid.dts+36−0

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

arch/arm/boot/dts/wm8650.dtsi+147−0

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

arch/arm/boot/dts/xenvm-4.2.dts+68−0

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

arch/arm/common/Kconfig+2−2

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

arch/arm/common/it8152.c+9−3

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

arch/arm/configs/afeb9260_defconfig+0−1

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

arch/arm/configs/armadillo800eva_defconfig+3−0

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

arch/arm/configs/at91rm9200_defconfig+1−1

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

arch/arm/configs/at91sam9261_defconfig+1−1

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

arch/arm/configs/at91sam9263_defconfig+1−2

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

arch/arm/configs/at91sam9g20_defconfig+1−1

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

arch/arm/configs/at91sam9rl_defconfig+1−1

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

arch/arm/configs/bcm2835_defconfig+95−0

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

arch/arm/configs/bcmring_defconfig+0−79

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

arch/arm/configs/cam60_defconfig+0−1

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

arch/arm/configs/corgi_defconfig+0−1

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

arch/arm/configs/cpu9260_defconfig+1−1

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

arch/arm/configs/cpu9g20_defconfig+1−1

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

arch/arm/configs/ep93xx_defconfig+0−1

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

arch/arm/configs/imx_v6_v7_defconfig+6−4

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

arch/arm/configs/kirkwood_defconfig+19−19

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

arch/arm/configs/kzm9d_defconfig+1−0

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

arch/arm/configs/kzm9g_defconfig+2−1

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

arch/arm/configs/lpc32xx_defconfig+5−2

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

arch/arm/configs/marzen_defconfig+12−5

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

arch/arm/configs/mini2440_defconfig+0−1

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

arch/arm/configs/mmp2_defconfig+4−1

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

arch/arm/configs/multi_v7_defconfig+57−0

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

arch/arm/configs/mv78xx0_defconfig+0−1

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

arch/arm/configs/mvebu_defconfig+9−3

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

arch/arm/configs/mxs_defconfig+35−7

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

arch/arm/configs/nhk8815_defconfig+0−1

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

arch/arm/configs/omap2plus_defconfig+1−0

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

arch/arm/configs/orion5x_defconfig+0−1

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

arch/arm/configs/pnx4008_defconfig+0−472

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

arch/arm/configs/prima2_defconfig+3−4

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

arch/arm/configs/pxa3xx_defconfig+0−1

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

arch/arm/configs/pxa910_defconfig+3−1

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

arch/arm/configs/qil-a9260_defconfig+1−2

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

arch/arm/configs/s3c6400_defconfig+3−0

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

arch/arm/configs/sam9_l9260_defconfig+1−1

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

arch/arm/configs/spitz_defconfig+0−1

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

arch/arm/configs/stamp9g20_defconfig+0−1

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

arch/arm/configs/tegra_defconfig+44−9

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

arch/arm/configs/usb-a9260_defconfig+0−1

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

arch/arm/configs/versatile_defconfig+1−0

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

arch/arm/crypto/Makefile+9−0

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

arch/arm/crypto/aes-armv4.S+1112−0

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

arch/arm/crypto/aes_glue.c+108−0

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

arch/arm/crypto/sha1-armv4-large.S+503−0

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

arch/arm/crypto/sha1_glue.c+179−0

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

arch/arm/include/asm/Kbuild+17−2

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

arch/arm/include/asm/arch_timer.h+7−1

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

arch/arm/include/asm/assembler.h+29−0

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

arch/arm/include/asm/barrier.h+3−4

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

arch/arm/include/asm/cacheflush.h+15−0

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

arch/arm/include/asm/current.h+0−15

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

arch/arm/include/asm/delay.h+9−0

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

arch/arm/include/asm/dma-mapping.h+1−0

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

arch/arm/include/asm/exec.h+0−6

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

arch/arm/include/asm/flat.h+1−1

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

arch/arm/include/asm/glue-cache.h+9−8

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

arch/arm/include/asm/gpio.h+2−0

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

arch/arm/include/asm/hardirq.h+1−1

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

arch/arm/include/asm/hardware/cache-tauros2.h+4−1

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

arch/arm/include/asm/hardware/iop3xx.h+1−11

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

arch/arm/include/asm/hardware/linkup-l1110.h+0−48

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

arch/arm/include/asm/hwcap.h+1−26

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

arch/arm/include/asm/hypervisor.h+6−0

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

arch/arm/include/asm/io.h+69−6

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

arch/arm/include/asm/leds.h+0−50

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

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

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

arch/arm/include/asm/mach/map.h+8−0

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

arch/arm/include/asm/mach/pci.h+13−0

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

arch/arm/include/asm/memory.h+0−8

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

arch/arm/include/asm/module.h+2−6

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

arch/arm/include/asm/msgbuf.h+0−31

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

arch/arm/include/asm/mutex.h+7−2

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

arch/arm/include/asm/opcodes-virt.h+39−0

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

arch/arm/include/asm/opcodes.h+166−15

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

arch/arm/include/asm/page.h+1−1

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

arch/arm/include/asm/param.h+0−31

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

arch/arm/include/asm/parport.h+0−18

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

arch/arm/include/asm/perf_event.h+8−1

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

arch/arm/include/asm/pgtable.h+1−1

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

arch/arm/include/asm/pmu.h+24−53

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

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

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

arch/arm/include/asm/ptrace.h+5−124

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

arch/arm/include/asm/sched_clock.h+0−2

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

arch/arm/include/asm/segment.h+0−11

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

arch/arm/include/asm/sembuf.h+0−25

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

arch/arm/include/asm/serial.h+0−19

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

arch/arm/include/asm/setup.h+1−171

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

arch/arm/include/asm/shmbuf.h+0−42

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

arch/arm/include/asm/signal.h+1−126

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

arch/arm/include/asm/smp.h+34−14

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

arch/arm/include/asm/socket.h+0−72

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

arch/arm/include/asm/sockios.h+0−13

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

arch/arm/include/asm/swab.h+1−36

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

arch/arm/include/asm/sync_bitops.h+27−0

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

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

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

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

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

arch/arm/include/asm/termbits.h+0−198

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

arch/arm/include/asm/termios.h+0−92

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

arch/arm/include/asm/thread_info.h+5−3

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

arch/arm/include/asm/timex.h+4−6

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

arch/arm/include/asm/types.h+0−16

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

arch/arm/include/asm/uaccess.h+2−2

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

arch/arm/include/asm/unaligned.h+0−19

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

arch/arm/include/asm/unistd.h+3−432

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

arch/arm/include/asm/vfpmacros.h+7−7

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

arch/arm/include/asm/virt.h+69−0

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

arch/arm/include/asm/xen/events.h+18−0

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

arch/arm/include/asm/xen/hypercall.h+69−0

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

arch/arm/include/asm/xen/hypervisor.h+19−0

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

arch/arm/include/asm/xen/interface.h+79−0

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

arch/arm/include/asm/xen/page.h+89−0

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

arch/arm/include/debug/8250_32.S+27−0

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

arch/arm/include/debug/highbank.S+17−0

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

arch/arm/include/debug/icedcc.S+90−0

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

arch/arm/include/debug/mvebu.S+25−0

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

arch/arm/include/debug/picoxcell.S+19−0

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

arch/arm/include/debug/socfpga.S+21−0

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

arch/arm/include/debug/vexpress.Srenamed from arch/arm/mach-vexpress/include/mach/debug-macro.S+0−0

File renamed without changes.

arch/arm/include/uapi/asm/Kbuild+19−0

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

arch/arm/include/uapi/asm/a.out.hrenamed from arch/arm/include/asm/a.out.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/byteorder.hrenamed from arch/arm/include/asm/byteorder.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/fcntl.hrenamed from arch/arm/include/asm/fcntl.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/hwcap.h+30−0

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

arch/arm/include/uapi/asm/ioctls.hrenamed from arch/arm/include/asm/ioctls.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/kvm_para.hrenamed from arch/arm/include/asm/kvm_para.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/mman.hrenamed from arch/arm/include/asm/mman.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/posix_types.hrenamed from arch/arm/include/asm/posix_types.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/ptrace.h+138−0

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

arch/arm/include/uapi/asm/setup.h+187−0

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

arch/arm/include/uapi/asm/sigcontext.hrenamed from arch/arm/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/signal.h+127−0

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

arch/arm/include/uapi/asm/stat.hrenamed from arch/arm/include/asm/stat.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/statfs.hrenamed from arch/arm/include/asm/statfs.h+0−0

File renamed without changes.

arch/arm/include/uapi/asm/swab.h+53−0

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

arch/arm/include/uapi/asm/unistd.h+450−0

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

arch/arm/kernel/Makefile+6−5

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

arch/arm/kernel/arch_timer.c+273−110

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

arch/arm/kernel/asm-offsets.c+2−0

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

arch/arm/kernel/atags.h+14−0

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

arch/arm/kernel/atags_compat.c+219−0

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

arch/arm/kernel/atags_parse.c+238−0

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

arch/arm/kernel/atags_proc.crenamed from arch/arm/kernel/atags.c+0−0

File renamed without changes.

arch/arm/kernel/bios32.c+49−5

This diff is large: its 79 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/compat.c+0−219

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

arch/arm/kernel/compat.h+0−11

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

arch/arm/kernel/debug.S+3−84

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

arch/arm/kernel/entry-common.S+14−7

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

arch/arm/kernel/head.S+13−5

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

arch/arm/kernel/hyp-stub.S+223−0

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

arch/arm/kernel/irq.c+2−0

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

arch/arm/kernel/kprobes-test-arm.c+4−0

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

arch/arm/kernel/leds.c+0−121

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

arch/arm/kernel/machine_kexec.c+27−1

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

arch/arm/kernel/perf_event.c+55−296

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

arch/arm/kernel/perf_event_cpu.c+295−0

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

arch/arm/kernel/perf_event_v6.c+6−6

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

arch/arm/kernel/perf_event_v7.c+16−16

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

arch/arm/kernel/perf_event_xscale.c+5−5

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

arch/arm/kernel/pmu.c+0−36

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

arch/arm/kernel/process.c+15−65

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

arch/arm/kernel/ptrace.c+13−6

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

arch/arm/kernel/sched_clock.c+12−14

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

arch/arm/kernel/setup.c+24−236

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

arch/arm/kernel/signal.c+0−1

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

arch/arm/kernel/smp.c+149−12

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

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

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

arch/arm/kernel/suspend.c+16−1

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

arch/arm/kernel/sys_arm.c+0−63

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

arch/arm/kernel/time.c+0−17

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

arch/arm/lib/delay.c+27−9

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

arch/arm/mach-at91/Kconfig+13−19

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

arch/arm/mach-at91/Makefile.boot+0−24

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

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

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

arch/arm/mach-at91/at91rm9200_devices.c+57−41

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

arch/arm/mach-at91/at91sam9260.c+3−0

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

arch/arm/mach-at91/at91sam9260_devices.c+10−86

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

arch/arm/mach-at91/at91sam9261.c+2−0

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

arch/arm/mach-at91/at91sam9261_devices.c+42−36

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

arch/arm/mach-at91/at91sam9263.c+4−2

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

arch/arm/mach-at91/at91sam9263_devices.c+96−71

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

arch/arm/mach-at91/at91sam9g45.c+4−0

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

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

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

arch/arm/mach-at91/at91sam9n12.c+2−0

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

arch/arm/mach-at91/at91sam9rl.c+2−0

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

arch/arm/mach-at91/at91sam9rl_devices.c+34−34

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

arch/arm/mach-at91/at91sam9x5.c+3−0

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

arch/arm/mach-at91/at91x40.c+2−2

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

arch/arm/mach-at91/at91x40_time.c+2−2

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

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

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

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

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

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

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

arch/arm/mach-at91/board-cpuat91.c+7−6

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

arch/arm/mach-at91/board-csb337.c+7−9

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

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

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

arch/arm/mach-at91/board-ecbat91.c+22−10

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

arch/arm/mach-at91/board-eco920.c+27−9

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

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

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

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

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

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

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

arch/arm/mach-at91/board-kb9202.c+27−10

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

arch/arm/mach-at91/board-neocore926.c+8−7

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

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

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

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

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

arch/arm/mach-at91/board-rm9200dk.c+7−10

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

arch/arm/mach-at91/board-rm9200ek.c+7−10

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

arch/arm/mach-at91/board-rsi-ews.c+7−9

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

arch/arm/mach-at91/board-sam9-l9260.c+28−11

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

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

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

arch/arm/mach-at91/board-sam9261ek.c+8−10

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

arch/arm/mach-at91/board-sam9263ek.c+8−7

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

arch/arm/mach-at91/board-sam9g20ek.c+1−15

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

arch/arm/mach-at91/board-sam9rlek.c+7−6

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

arch/arm/mach-at91/board-stamp9g20.c+0−14

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

arch/arm/mach-at91/board-usb-a926x.c+0−2

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

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

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

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

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

arch/arm/mach-at91/generic.h+2−1

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

arch/arm/mach-at91/include/mach/at91_twi.h+0−68

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

arch/arm/mach-at91/include/mach/atmel-mci.h+1−1

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

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

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

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

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

arch/arm/mach-at91/include/mach/uncompress.h+3−3

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

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

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

arch/arm/mach-at91/leds.c+0−105

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

arch/arm/mach-at91/pm.c+3−2

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

arch/arm/mach-at91/setup.c+5−5

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

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

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

arch/arm/mach-bcm2835/Makefile.boot+3−0

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

arch/arm/mach-bcm2835/bcm2835.c+64−0

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

arch/arm/mach-bcm2835/include/mach/bcm2835_soc.h+29−0

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

arch/arm/mach-bcm2835/include/mach/debug-macro.S+21−0

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

arch/arm/mach-bcm2835/include/mach/timex.h+26−0

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

arch/arm/mach-bcm2835/include/mach/uncompress.h+45−0

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

arch/arm/mach-bcmring/Kconfig+0−19

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

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

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

arch/arm/mach-bcmring/Makefile.boot+0−6

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

arch/arm/mach-bcmring/arch.c+0−199

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

arch/arm/mach-bcmring/clock.c+0−223

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

arch/arm/mach-bcmring/clock.h+0−33

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

arch/arm/mach-bcmring/core.c+0−228

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

arch/arm/mach-bcmring/core.h+0−31

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

arch/arm/mach-bcmring/csp/Makefile+0−3

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

arch/arm/mach-bcmring/csp/chipc/Makefile+0−1

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

arch/arm/mach-bcmring/csp/chipc/chipcHw.c+0−776

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

arch/arm/mach-bcmring/csp/chipc/chipcHw_init.c+0−293

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

arch/arm/mach-bcmring/csp/chipc/chipcHw_reset.c+0−124

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

arch/arm/mach-bcmring/csp/chipc/chipcHw_str.c+0−64

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

arch/arm/mach-bcmring/csp/dmac/Makefile+0−1

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

arch/arm/mach-bcmring/csp/dmac/dmacHw.c+0−917

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

arch/arm/mach-bcmring/csp/dmac/dmacHw_extra.c+0−1017

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

arch/arm/mach-bcmring/csp/tmr/Makefile+0−1

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

arch/arm/mach-bcmring/csp/tmr/tmrHw.c+0−576

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

arch/arm/mach-bcmring/dma.c+0−1518

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

arch/arm/mach-bcmring/dma_device.c+0−593

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

arch/arm/mach-bcmring/include/cfg_global.h+0−13

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

arch/arm/mach-bcmring/include/cfg_global_defines.h+0−40

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

arch/arm/mach-bcmring/include/csp/cache.h+0−35

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

arch/arm/mach-bcmring/include/csp/delay.h+0−36

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

arch/arm/mach-bcmring/include/csp/dmacHw.h+0−596

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

arch/arm/mach-bcmring/include/csp/errno.h+0−32

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

arch/arm/mach-bcmring/include/csp/intcHw.h+0−40

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

arch/arm/mach-bcmring/include/csp/module.h+0−32

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

arch/arm/mach-bcmring/include/csp/reg.h+0−114

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

arch/arm/mach-bcmring/include/csp/secHw.h+0−65

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

arch/arm/mach-bcmring/include/csp/stdint.h+0−30

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

arch/arm/mach-bcmring/include/csp/string.h+0−34

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

arch/arm/mach-bcmring/include/csp/tmrHw.h+0−263

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

arch/arm/mach-bcmring/include/mach/csp/cap.h+0−63

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

arch/arm/mach-bcmring/include/mach/csp/cap_inline.h+0−409

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

arch/arm/mach-bcmring/include/mach/csp/chipcHw_def.h+0−1123

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

arch/arm/mach-bcmring/include/mach/csp/chipcHw_inline.h+0−1673

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

arch/arm/mach-bcmring/include/mach/csp/chipcHw_reg.h+0−530

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

arch/arm/mach-bcmring/include/mach/csp/ddrcReg.h+0−872

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

arch/arm/mach-bcmring/include/mach/csp/dmacHw_priv.h+0−145

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

arch/arm/mach-bcmring/include/mach/csp/dmacHw_reg.h+0−406

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

arch/arm/mach-bcmring/include/mach/csp/hw_cfg.h+0−73

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

arch/arm/mach-bcmring/include/mach/csp/intcHw_reg.h+0−246

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

arch/arm/mach-bcmring/include/mach/csp/mm_addr.h+0−101

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

arch/arm/mach-bcmring/include/mach/csp/mm_io.h+0−147

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

arch/arm/mach-bcmring/include/mach/csp/secHw_def.h+0−100

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

arch/arm/mach-bcmring/include/mach/csp/secHw_inline.h+0−79

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

arch/arm/mach-bcmring/include/mach/csp/tmrHw_reg.h+0−82

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

arch/arm/mach-bcmring/include/mach/dma.h+0−630

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

arch/arm/mach-bcmring/include/mach/entry-macro.S+0−76

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

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

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

arch/arm/mach-bcmring/include/mach/irqs.h+0−132

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

arch/arm/mach-bcmring/include/mach/memory_settings.h+0−67

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

arch/arm/mach-bcmring/include/mach/reg_nand.h+0−66

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

arch/arm/mach-bcmring/include/mach/reg_umi.h+0−237

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

arch/arm/mach-bcmring/include/mach/timer.h+0−77

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

arch/arm/mach-bcmring/include/mach/timex.h+0−25

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

arch/arm/mach-bcmring/include/mach/uncompress.h+0−43

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

arch/arm/mach-bcmring/irq.c+0−126

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

arch/arm/mach-bcmring/mm.c+0−60

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

arch/arm/mach-bcmring/timer.c+0−61

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

arch/arm/mach-clps711x/Kconfig+2−8

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

arch/arm/mach-clps711x/Makefile+0−3

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

arch/arm/mach-clps711x/autcpu12.c+19−0

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

arch/arm/mach-clps711x/ceiva.c+0−64

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

arch/arm/mach-clps711x/common.c+73−16

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

arch/arm/mach-clps711x/include/mach/clps711x.h+4−5

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

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

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

arch/arm/mach-clps711x/include/mach/hardware.h+0−48

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

arch/arm/mach-clps711x/include/mach/timex.h+1−22

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

arch/arm/mach-clps711x/p720t-leds.c+0−63

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

arch/arm/mach-clps711x/p720t.c+62−0

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

arch/arm/mach-davinci/Kconfig+15−8

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

arch/arm/mach-davinci/aemif.c+1−1

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

arch/arm/mach-davinci/asp.h+49−0

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

arch/arm/mach-davinci/board-da830-evm.c+4−4

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

arch/arm/mach-davinci/board-da850-evm.c+182−3

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

arch/arm/mach-davinci/board-dm355-evm.c+4−4

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

arch/arm/mach-davinci/board-dm355-leopard.c+4−4

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

arch/arm/mach-davinci/board-dm365-evm.c+4−4

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

arch/arm/mach-davinci/board-dm644x-evm.c+13−12

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

arch/arm/mach-davinci/board-dm646x-evm.c+59−27

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

arch/arm/mach-davinci/board-mityomapl138.c+2−2

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

arch/arm/mach-davinci/board-neuros-osd2.c+4−4

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

arch/arm/mach-davinci/board-sffsdr.c+2−2

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

arch/arm/mach-davinci/board-tnetv107x-evm.c+3−3

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

arch/arm/mach-davinci/da830.c+24−24

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

arch/arm/mach-davinci/da850.c+156−4

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

arch/arm/mach-davinci/davinci.h+3−3

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

arch/arm/mach-davinci/devices-da8xx.c+1−7

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

arch/arm/mach-davinci/devices.c+2−13

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

arch/arm/mach-davinci/dm355.c+2−2

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

arch/arm/mach-davinci/dm365.c+3−3

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

arch/arm/mach-davinci/dm644x.c+5−14

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

arch/arm/mach-davinci/dm646x.c+1−1

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

arch/arm/mach-davinci/include/mach/asp.h+0−137

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

arch/arm/mach-davinci/include/mach/da8xx.h+16−5

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

arch/arm/mach-davinci/include/mach/mux.h+42−0

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

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

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

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

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

arch/arm/mach-davinci/usb.c+1−1

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

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

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

arch/arm/mach-dove/Makefile+2−2

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

arch/arm/mach-dove/common.c+145−26

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

arch/arm/mach-dove/common.h+4−0

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

arch/arm/mach-dove/include/mach/bridge-regs.h+8−8

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

arch/arm/mach-dove/include/mach/dove.h+66−68

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

arch/arm/mach-dove/include/mach/gpio.h+0−9

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

arch/arm/mach-dove/include/mach/io.h+0−19

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

arch/arm/mach-dove/include/mach/pm.h+36−18

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

arch/arm/mach-dove/irq.c+6−5

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

arch/arm/mach-dove/mpp.c+1−0

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

arch/arm/mach-dove/pcie.c+22−32

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

arch/arm/mach-ebsa110/Makefile+1−3

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

arch/arm/mach-ebsa110/core.c+4−4

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

arch/arm/mach-ebsa110/core.h+6−6

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

arch/arm/mach-ebsa110/leds.c+50−31

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

arch/arm/mach-ep93xx/adssphere.c+1−0

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

arch/arm/mach-ep93xx/core.c+3−3

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

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

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

arch/arm/mach-ep93xx/edb93xx.c+2−2

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

arch/arm/mach-ep93xx/gesbc9312.c+1−0

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

arch/arm/mach-ep93xx/simone.c+1−1

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

arch/arm/mach-ep93xx/snappercl15.c+1−1

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

arch/arm/mach-ep93xx/ts72xx.c+6−6

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

arch/arm/mach-ep93xx/ts72xx.hrenamed from arch/arm/mach-ep93xx/include/mach/ts72xx.h+5−5

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

arch/arm/mach-ep93xx/vision_ep9307.c+2−2

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

arch/arm/mach-exynos/Kconfig+94−90

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

arch/arm/mach-exynos/Makefile.boot+0−3

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

arch/arm/mach-exynos/clock-exynos4.c+31−0

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

arch/arm/mach-exynos/clock-exynos5.c+124−48

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

arch/arm/mach-exynos/common.c+31−0

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

arch/arm/mach-exynos/common.h+5−0

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

arch/arm/mach-exynos/dev-audio.c+1−1

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

arch/arm/mach-exynos/dev-ohci.c+1−1

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

arch/arm/mach-exynos/dma.c+2−0

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

arch/arm/mach-exynos/hotplug.c+2−16

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

arch/arm/mach-exynos/include/mach/map.h+10−2

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

arch/arm/mach-exynos/include/mach/sysmmu.h+1−1

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

arch/arm/mach-exynos/mach-armlex4210.c+1−0

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

arch/arm/mach-exynos/mach-exynos4-dt.c+24−9

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

arch/arm/mach-exynos/mach-exynos5-dt.c+17−0

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

arch/arm/mach-exynos/mach-nuri.c+7−9

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

arch/arm/mach-exynos/mach-origen.c+13−6

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

arch/arm/mach-exynos/mach-smdk4x12.c+10−2

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

arch/arm/mach-exynos/mach-smdkv310.c+13−4

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

arch/arm/mach-exynos/mach-universal_c210.c+6−8

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

arch/arm/mach-exynos/platsmp.c+17−12

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

arch/arm/mach-exynos/setup-fimd0.c+1−1

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

arch/arm/mach-exynos/setup-i2c0.c+1−1

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

arch/arm/mach-exynos/setup-i2c1.c+1−1

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

arch/arm/mach-exynos/setup-i2c2.c+1−1

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

arch/arm/mach-exynos/setup-i2c3.c+1−1

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

arch/arm/mach-exynos/setup-i2c4.c+1−1

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

arch/arm/mach-exynos/setup-i2c5.c+1−1

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

arch/arm/mach-exynos/setup-i2c6.c+1−1

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

arch/arm/mach-exynos/setup-i2c7.c+1−1

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

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

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

arch/arm/mach-footbridge/Makefile+0−4

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

arch/arm/mach-footbridge/common.c+5−7

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

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

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

arch/arm/mach-footbridge/ebsa285-leds.c+0−138

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

arch/arm/mach-footbridge/ebsa285.c+81−0

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

arch/arm/mach-footbridge/include/mach/debug-macro.S+2−1

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

arch/arm/mach-footbridge/include/mach/io.h+2−10

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

arch/arm/mach-footbridge/include/mach/irqs.h+0−2

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

arch/arm/mach-footbridge/netwinder-hw.c+98−14

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

arch/arm/mach-footbridge/netwinder-leds.c+0−138

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

arch/arm/mach-h720x/Kconfig+1−1

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

arch/arm/mach-highbank/Kconfig+15−0

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

arch/arm/mach-highbank/Makefile.boot+0−1

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

arch/arm/mach-highbank/core.h+9−0

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

arch/arm/mach-highbank/highbank.c+54−0

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

arch/arm/mach-highbank/hotplug.c+1−15

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

arch/arm/mach-highbank/include/mach/debug-macro.S+0−19

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

arch/arm/mach-highbank/include/mach/gpio.h+0−1

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

arch/arm/mach-highbank/include/mach/timex.h+0−6

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

arch/arm/mach-highbank/include/mach/uncompress.h+0−9

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

arch/arm/mach-highbank/platsmp.c+14−4

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

arch/arm/mach-highbank/pm.c+1−3

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

arch/arm/mach-imx/Kconfig+72−153

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

arch/arm/mach-imx/Makefile+2−9

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

arch/arm/mach-imx/Makefile.boot+0−7

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

arch/arm/mach-imx/clk-busy.c+1−1

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

arch/arm/mach-imx/clk-imx21.c+0−1

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

arch/arm/mach-imx/clk-imx25.c+2−2

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

arch/arm/mach-imx/clk-imx27.c+4−4

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

arch/arm/mach-imx/clk-imx35.c+8−3

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

arch/arm/mach-imx/clk-imx51-imx53.c+16−4

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

arch/arm/mach-imx/clk-imx6q.c+12−39

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

arch/arm/mach-imx/clk-pllv1.c+47−2

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

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

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

arch/arm/mach-imx/clk.h+2−1

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

arch/arm/mach-imx/devices-imx27.h+4−0

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

arch/arm/mach-imx/devices-imx53.h+0−48

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

arch/arm/mach-imx/efika.h+0−10

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

arch/arm/mach-imx/ehci-imx25.c+1−1

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

arch/arm/mach-imx/ehci-imx27.c+1−1

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

arch/arm/mach-imx/ehci-imx31.c+1−1

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

arch/arm/mach-imx/ehci-imx35.c+1−1

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

arch/arm/mach-imx/ehci-imx5.c+1−1

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

arch/arm/mach-imx/eukrea_mbimx27-baseboard.c+1−0

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

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

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

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

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

arch/arm/mach-imx/eukrea_mbimxsd51-baseboard.c+1−0

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

arch/arm/mach-imx/hotplug.c+1−15

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

arch/arm/mach-imx/imx51-dt.c+0−21

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

arch/arm/mach-imx/imx53-dt.c+0−126

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

arch/arm/mach-imx/mach-imx27_visstrim_m10.c+86−5

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

arch/arm/mach-imx/mach-imx53.c+99−0

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

arch/arm/mach-imx/mach-imx6q.c+19−40

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

arch/arm/mach-imx/mach-kzm_arm11_01.c+2−3

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

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

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

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

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

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

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

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

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

arch/arm/mach-imx/mach-mx51_efikamx.c+0−300

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

arch/arm/mach-imx/mach-mx51_efikasb.c+0−296

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

arch/arm/mach-imx/mach-mx53_ard.c+0−272

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

arch/arm/mach-imx/mach-mx53_evk.c+0−179

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

arch/arm/mach-imx/mach-mx53_loco.c+0−321

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

arch/arm/mach-imx/mach-mx53_smd.c+0−168

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

arch/arm/mach-imx/mm-imx3.c+2−3

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

arch/arm/mach-imx/mm-imx5.c+0−47

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

arch/arm/mach-imx/mx1-camera-fiq-ksym.c+1−1

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

arch/arm/mach-imx/mx51_efika.c+0−633

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

arch/arm/mach-imx/platsmp.c+14−4

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

arch/arm/mach-integrator/Makefile+1−2

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

arch/arm/mach-integrator/common.h+3−0

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

arch/arm/mach-integrator/core.c+13−11

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

arch/arm/mach-integrator/cpu.c+4−4

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

arch/arm/mach-integrator/include/mach/cm.h+2−0

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

arch/arm/mach-integrator/include/mach/io.h+0−33

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

arch/arm/mach-integrator/include/mach/platform.h+4−0

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

arch/arm/mach-integrator/integrator_ap.c+217−82

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

arch/arm/mach-integrator/integrator_cp.c+223−108

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

arch/arm/mach-integrator/leds.c+98−63

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

arch/arm/mach-integrator/pci_v3.c+29−33

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

arch/arm/mach-iop13xx/include/mach/io.h+0−28

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

arch/arm/mach-iop13xx/include/mach/iop13xx.h+12−36

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

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

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

arch/arm/mach-iop13xx/io.c+4−31

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

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

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

arch/arm/mach-iop13xx/pci.c+21−34

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

arch/arm/mach-iop13xx/pci.h+2−2

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

arch/arm/mach-iop13xx/setup.c+5−15

This diff is large: its 44 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/io.h+0−19

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

arch/arm/mach-iop33x/include/mach/io.h+0−19

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

arch/arm/mach-ixp4xx/Kconfig+1−1

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

arch/arm/mach-ixp4xx/common.c+4−4

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

arch/arm/mach-ixp4xx/include/mach/cpu.h+3−2

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

arch/arm/mach-ixp4xx/include/mach/gpio.h+0−2

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

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

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

arch/arm/mach-kirkwood/Kconfig+21−0

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

arch/arm/mach-kirkwood/Makefile+3−0

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

arch/arm/mach-kirkwood/Makefile.boot+0−11

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

arch/arm/mach-kirkwood/addr-map.c+2−1

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

arch/arm/mach-kirkwood/board-dnskw.c+0−35

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

arch/arm/mach-kirkwood/board-dockstar.c+61−0

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

arch/arm/mach-kirkwood/board-dreamplug.c+1−1

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

arch/arm/mach-kirkwood/board-dt.c+13−3

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

arch/arm/mach-kirkwood/board-goflexnet.c+1−1

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

arch/arm/mach-kirkwood/board-iconnect.c+0−48

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

arch/arm/mach-kirkwood/board-iomega_ix2_200.c+57−0

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

arch/arm/mach-kirkwood/board-km_kirkwood.c+57−0

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

arch/arm/mach-kirkwood/common.c+10−22

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

arch/arm/mach-kirkwood/common.h+18−0

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

arch/arm/mach-kirkwood/d2net_v2-setup.c+1−1

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

arch/arm/mach-kirkwood/db88f6281-bp-setup.c+1−1

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

arch/arm/mach-kirkwood/dockstar-setup.c+1−1

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

arch/arm/mach-kirkwood/guruplug-setup.c+1−1

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

arch/arm/mach-kirkwood/include/mach/bridge-regs.h+10−10

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

arch/arm/mach-kirkwood/include/mach/gpio.h+0−9

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

arch/arm/mach-kirkwood/include/mach/io.h+0−24

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

arch/arm/mach-kirkwood/include/mach/kirkwood.h+59−61

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

arch/arm/mach-kirkwood/irq.c+6−4

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

arch/arm/mach-kirkwood/netspace_v2-setup.c+1−1

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

arch/arm/mach-kirkwood/netxbig_v2-setup.c+1−1

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

arch/arm/mach-kirkwood/openrd-setup.c+1−1

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

arch/arm/mach-kirkwood/pcie.c+19−37

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

arch/arm/mach-kirkwood/rd88f6192-nas-setup.c+1−0

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

arch/arm/mach-kirkwood/rd88f6281-setup.c+1−1

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

arch/arm/mach-kirkwood/sheevaplug-setup.c+1−1

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

arch/arm/mach-kirkwood/ts41x-setup.c+2−1

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

arch/arm/mach-ks8695/Kconfig+61−0

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

arch/arm/mach-ks8695/Makefile+8−3

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

arch/arm/mach-ks8695/board-og.c+199−0

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

arch/arm/mach-ks8695/board-sg.c+121−0

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

arch/arm/mach-ks8695/cpu.c+1−1

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

arch/arm/mach-ks8695/devices.c+0−21

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

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

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

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

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

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

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

arch/arm/mach-ks8695/include/mach/regs-timer.h+0−40

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

arch/arm/mach-ks8695/include/mach/uncompress.h+3−3

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

arch/arm/mach-ks8695/leds.c+0−92

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

arch/arm/mach-ks8695/time.c+90−43

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

arch/arm/mach-lpc32xx/Makefile.boot+0−2

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

arch/arm/mach-lpc32xx/common.c+4−4

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

arch/arm/mach-lpc32xx/include/mach/gpio-lpc32xx.h+1−1

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

arch/arm/mach-lpc32xx/include/mach/hardware.h+1−1

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

arch/arm/mach-lpc32xx/irq.c+4−3

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

arch/arm/mach-lpc32xx/phy3250.c+16−26

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

arch/arm/mach-mmp/Kconfig+3−3

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

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

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

arch/arm/mach-mmp/aspenite.c+1−1

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

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

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

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

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

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

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

arch/arm/mach-mmp/common.h+3−0

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

arch/arm/mach-mmp/include/mach/debug-macro.S+10−2

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

arch/arm/mach-mmp/include/mach/mmp2.h+1−1

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

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

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

arch/arm/mach-mmp/include/mach/pxa910.h+1−1

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

arch/arm/mach-mmp/include/mach/regs-apbc.h+0−95

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

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

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

arch/arm/mach-mmp/irq.c+1−3

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

arch/arm/mach-mmp/mmp2.c+6−67

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

arch/arm/mach-mmp/pxa168.c+5−53

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

arch/arm/mach-mmp/pxa910.c+8−36

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

arch/arm/mach-mmp/sram.c+1−1

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

arch/arm/mach-mmp/teton_bga.c+1−1

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

arch/arm/mach-mmp/ttc_dkb.c+10−0

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

arch/arm/mach-msm/Kconfig+22−55

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

arch/arm/mach-msm/Makefile+4−4

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

arch/arm/mach-msm/acpuclock-arm11.c+0−525

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

arch/arm/mach-msm/acpuclock.h+0−32

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

arch/arm/mach-msm/board-dt-8660.c+64−0

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

arch/arm/mach-msm/board-dt-8960.c+50−0

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

arch/arm/mach-msm/board-halibut.c+2−3

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

arch/arm/mach-msm/board-mahimahi.c+0−1

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

arch/arm/mach-msm/board-msm7x27.c+0−170

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

arch/arm/mach-msm/board-msm7x30.c+4−5

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

arch/arm/mach-msm/board-msm8960.c+0−122

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

arch/arm/mach-msm/board-msm8x60.c+0−166

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

arch/arm/mach-msm/board-qsd8x50.c+6−7

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

arch/arm/mach-msm/board-sapphire.c+0−1

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

arch/arm/mach-msm/board-trout-mmc.c+1−1

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

arch/arm/mach-msm/board-trout-panel.c+1−1

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

arch/arm/mach-msm/board-trout.c+2−3

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

arch/arm/mach-msm/clock-pcom.c+9−9

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

arch/arm/mach-msm/common.h+32−0

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

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

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

arch/arm/mach-msm/devices-msm7x00.c+1−1

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

arch/arm/mach-msm/devices-msm7x30.c+1−1

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

arch/arm/mach-msm/devices-msm8960.c+0−85

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

arch/arm/mach-msm/devices-qsd8x50.c+1−1

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

arch/arm/mach-msm/dma.c+1−2

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

arch/arm/mach-msm/hotplug.c+2−16

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

arch/arm/mach-msm/idle.c+0−49

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

arch/arm/mach-msm/include/mach/board.h+1−14

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

arch/arm/mach-msm/include/mach/gpio.h+0−1

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

arch/arm/mach-msm/include/mach/msm_iomap-7x00.h+0−7

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-7x30.h+0−4

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-8960.h+1−5

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-8x50.h+0−4

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap-8x60.h+1−16

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-msm/include/mach/msm_iomap.h+1−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-msm/include/mach/system.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-msm/io.c+16−16

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-msm/platsmp.c+15−17

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-msm/proc_comm.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-msm/smd.c+10−16

This diff is large: its 94 lines aren’t shown here.

arch/arm/mach-msm/timer.c+149−39

This diff is large: its 261 lines aren’t shown here.

arch/arm/mach-mv78xx0/addr-map.c+6−5

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-mv78xx0/common.c+5−10

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/bridge-regs.h+6−6

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/io.h+0−24

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-mv78xx0/include/mach/mv78xx0.h+52−53

This diff is large: its 129 lines aren’t shown here.

arch/arm/mach-mv78xx0/irq.c+6−4

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-mv78xx0/pcie.c+39−83

This diff is large: its 205 lines aren’t shown here.

arch/arm/mach-mvebu/Kconfig+27−3

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-mvebu/Makefile+4−1

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-mvebu/Makefile.boot+0−3

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-mvebu/addr-map.c+134−0

This diff is large: its 135 lines aren’t shown here.

arch/arm/mach-mvebu/armada-370-xp.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-mvebu/armada-370-xp.hrenamed from arch/arm/mach-mvebu/include/mach/armada-370-xp.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-mvebu/include/mach/debug-macro.S+0−24

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-mvebu/include/mach/gpio.hrenamed from arch/arm/mach-ep93xx/include/mach/gpio.h+0−0

File renamed without changes.

arch/arm/mach-mvebu/include/mach/timex.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-mvebu/include/mach/uncompress.h+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-mxs/Kconfig+0−89

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-mxs/Makefile+1−10

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-mxs/Makefile.boot+0−9

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-mxs/devices-mx23.h+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-mxs/devices-mx28.h+0−63

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-mxs/devices.c+0−87

This diff is large: its 88 lines aren’t shown here.

arch/arm/mach-mxs/devices/Kconfig+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-mxs/devices/Makefile+0−12

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-auart.c+0−65

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-dma.c+0−31

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-fec.c+0−52

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-flexcan.c+0−51

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-gpio-mxs.c+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-gpmi-nand.c+0−81

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxs-i2c.c+0−52

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxs-mmc.c+0−76

This diff is large: its 77 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxs-pwm.c+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxs-saif.c+0−61

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-mxsfb.c+0−47

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-mxs/devices/platform-rtc-stmp3xxx.c+0−51

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-mxs/icoll.c+54−9

This diff is large: its 108 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/common.h+2−10

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/devices-common.h+0−114

This diff is large: its 115 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/entry-macro.S+0−35

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/iomux-mx23.h+0−355

This diff is large: its 356 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/iomux-mx28.h+0−537

This diff is large: its 538 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/iomux.h+0−168

This diff is large: its 169 lines aren’t shown here.

arch/arm/mach-mxs/include/mach/irqs.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-mxs/iomux.c+0−101

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-mxs/mach-apx4devkit.c+0−273

This diff is large: its 274 lines aren’t shown here.

arch/arm/mach-mxs/mach-m28evk.c+0−366

This diff is large: its 367 lines aren’t shown here.

arch/arm/mach-mxs/mach-mx23evk.c+0−190

This diff is large: its 191 lines aren’t shown here.

arch/arm/mach-mxs/mach-mx28evk.c+0−477

This diff is large: its 478 lines aren’t shown here.

arch/arm/mach-mxs/mach-mxs.c+127−42

This diff is large: its 249 lines aren’t shown here.

arch/arm/mach-mxs/mach-stmp378x_devb.c+0−123

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-mxs/mach-tx28.c+0−184

This diff is large: its 185 lines aren’t shown here.

arch/arm/mach-mxs/mm.c+0−39

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-mxs/module-tx28.c+0−160

This diff is large: its 161 lines aren’t shown here.

arch/arm/mach-mxs/module-tx28.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-mxs/timer.c+12−1

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-netx/nxdb500.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/nxdkn.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-netx/nxeb500hmi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-nomadik/Kconfig+2−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-nomadik/board-nhk8815.c+38−3

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-nomadik/cpu-8815.c+13−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/gpio.h+0−4

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/hardware.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-nomadik/include/mach/uncompress.h+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/Kconfig+4−4

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-omap1/Makefile+0−8

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/ams-delta-fiq-handler.S+2−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap1/ams-delta-fiq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/board-ams-delta.c+16−4

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-omap1/board-fsample.c+3−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/board-generic.c+1−7

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-omap1/board-h2.c+37−4

This diff is large: its 75 lines aren’t shown here.

arch/arm/mach-omap1/board-h3.c+36−3

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-omap1/board-htcherald.c+3−5

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-omap1/board-innovator.c+3−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-omap1/board-nokia770.c+4−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-omap1/board-osk.c+38−3

This diff is large: its 78 lines aren’t shown here.

arch/arm/mach-omap1/board-palmte.c+5−5

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-omap1/board-palmtt.c+5−5

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-omap1/board-palmz71.c+5−5

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-omap1/board-perseus2.c+3−4

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-omap1/board-sx1-mmc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/board-sx1.c+5−6

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-omap1/board-voiceblue.c+3−9

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-omap1/clock.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap1/clock_data.c+6−15

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-omap1/devices.c+31−4

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-omap1/dma.c+5−3

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-omap1/flash.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/gpio15xx.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/gpio16xx.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/gpio7xx.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/i2c.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/ams-delta-fiq.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/board-ams-delta.hrenamed from arch/arm/plat-omap/include/plat/board-ams-delta.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/board-sx1.hrenamed from arch/arm/plat-omap/include/plat/board-sx1.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/board-voiceblue.hrenamed from arch/arm/plat-omap/include/plat/board-voiceblue.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/flash.hrenamed from arch/arm/plat-omap/include/plat/flash.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/gpio.h+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/hardware.h+281−4

This diff is large: its 301 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/irda.hrenamed from arch/arm/plat-omap/include/plat/irda.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/irqs.h+265−2

This diff is large: its 271 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/mux.hrenamed from arch/arm/plat-omap/include/plat/mux.h+0−0

File renamed without changes.

arch/arm/mach-omap1/include/mach/omap1510.hrenamed from arch/arm/plat-omap/include/plat/omap1510.h+1−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/omap16xx.hrenamed from arch/arm/plat-omap/include/plat/omap16xx.h+1−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/omap7xx.hrenamed from arch/arm/plat-omap/include/plat/omap7xx.h+1−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-omap1/include/mach/smp.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap1/io.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/lcd_dma.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap1/leds-h2p2-debug.c+0−166

This diff is large: its 167 lines aren’t shown here.

arch/arm/mach-omap1/leds-innovator.c+0−98

This diff is large: its 99 lines aren’t shown here.

arch/arm/mach-omap1/leds-osk.c+0−113

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-omap1/leds.c+0−69

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-omap1/leds.h+0−3

This diff is large: its 4 lines aren’t shown here.

arch/arm/mach-omap1/mcbsp.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-omap1/mux.c+56−2

This diff is large: its 76 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-omap1/serial.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap1/time.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap1/timer32k.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap1/usb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/Kconfig+37−30

This diff is large: its 187 lines aren’t shown here.

arch/arm/mach-omap2/Makefile+46−69

This diff is large: its 233 lines aren’t shown here.

arch/arm/mach-omap2/am33xx.hrenamed from arch/arm/plat-omap/include/plat/am33xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/am35xx-emac.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/am35xx.hrenamed from arch/arm/mach-omap2/include/mach/am35xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/board-2430sdp.c+2−6

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-omap2/board-3430sdp.c+2−12

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-omap2/board-3630sdp.c+1−7

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-omap2/board-4430sdp.c+41−77

This diff is large: its 199 lines aren’t shown here.

arch/arm/mach-omap2/board-am3517crane.c+0−10

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-omap2/board-am3517evm.c+16−10

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-omap2/board-apollon.c+2−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-omap2/board-cm-t35.c+5−12

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-omap2/board-cm-t3517.c+3−10

This diff is large: its 45 lines aren’t shown here.

arch/arm/mach-omap2/board-devkit8000.c+4−10

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-omap2/board-flash.c+5−5

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-omap2/board-generic.c+2−2

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-omap2/board-h4.c+5−6

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-omap2/board-igep0020.c+4−6

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-omap2/board-ldp.c+2−9

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-omap2/board-n8x0.c+6−10

This diff is large: its 52 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3beagle.c+16−16

This diff is large: its 105 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3evm.c+18−16

This diff is large: its 101 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3logic.c+6−12

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3pandora.c+2−7

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3stalker.c+8−18

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-omap2/board-omap3touchbook.c+2−7

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-omap2/board-omap4panda.c+31−33

This diff is large: its 139 lines aren’t shown here.

arch/arm/mach-omap2/board-overo.c+7−13

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-omap2/board-rm680.c+3−5

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51-peripherals.c+37−10

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51-video.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51.c+1−3

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-omap2/board-rx51.hrenamed from arch/arm/mach-omap2/include/mach/board-rx51.h+0−0

File renamed without changes.

arch/arm/mach-omap2/board-ti8168evm.c+0−8

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom-debugboard.c+7−5

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom-display.c+3−1

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom-peripherals.c+5−13

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-omap2/board-zoom.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/clkt2xxx_apll.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c+8−4

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-omap2/clkt34xx_dpll3m2.c+15−15

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-omap2/clkt_clksel.c+59−37

This diff is large: its 238 lines aren’t shown here.

arch/arm/mach-omap2/clkt_dpll.c+22−18

This diff is large: its 127 lines aren’t shown here.

arch/arm/mach-omap2/clock.c+18−17

This diff is large: its 98 lines aren’t shown here.

arch/arm/mach-omap2/clock2420_data.c+22−4

This diff is large: its 97 lines aren’t shown here.

arch/arm/mach-omap2/clock2430.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/clock2430_data.c+25−1

This diff is large: its 118 lines aren’t shown here.

arch/arm/mach-omap2/clock2xxx.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/clock33xx_data.c+8−1

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-omap2/clock3xxx.c+6−7

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-omap2/clock3xxx_data.c+38−2

This diff is large: its 187 lines aren’t shown here.

arch/arm/mach-omap2/clock44xx_data.c+23−2

This diff is large: its 94 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.c+62−44

This diff is large: its 249 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain.h+17−3

This diff is large: its 48 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain2xxx_3xxx.c+35−14

This diff is large: its 77 lines aren’t shown here.

arch/arm/mach-omap2/clockdomain44xx.c+11−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains3xxx_data.c+2−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/clockdomains44xx_data.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/cm-regbits-33xx.h+144−14

This diff is large: its 740 lines aren’t shown here.

arch/arm/mach-omap2/cm-regbits-34xx.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/cm-regbits-44xx.h+335−76

This diff is large: its 1725 lines aren’t shown here.

arch/arm/mach-omap2/cm2xxx_3xxx.c+2−3

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-omap2/cm2xxx_3xxx.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/common-board-devices.c+4−4

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-omap2/common.c+1−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/common.h+13−1

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-omap2/control.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/control.h+6−5

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-omap2/cpuidle34xx.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/ctrl_module_core_44xx.hrenamed from arch/arm/mach-omap2/include/mach/ctrl_module_core_44xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/ctrl_module_pad_core_44xx.hrenamed from arch/arm/mach-omap2/include/mach/ctrl_module_pad_core_44xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/ctrl_module_pad_wkup_44xx.hrenamed from arch/arm/mach-omap2/include/mach/ctrl_module_pad_wkup_44xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/ctrl_module_wkup_44xx.hrenamed from arch/arm/mach-omap2/include/mach/ctrl_module_wkup_44xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/debug-devices.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/devices.c+28−38

This diff is large: its 152 lines aren’t shown here.

arch/arm/mach-omap2/display.c+6−7

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-omap2/dpll3xxx.c+36−25

This diff is large: its 213 lines aren’t shown here.

arch/arm/mach-omap2/dpll44xx.c+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/dsp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/emu.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/gpio.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-nand.c+26−8

This diff is large: its 77 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-onenand.c+25−4

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-smc91x.c+3−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-smc91x.hrenamed from arch/arm/plat-omap/include/plat/gpmc-smc91x.h+0−0

File renamed without changes.

arch/arm/mach-omap2/gpmc-smsc911x.c+1−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/gpmc-smsc911x.hrenamed from arch/arm/plat-omap/include/plat/gpmc-smsc911x.h+0−0

File renamed without changes.

arch/arm/mach-omap2/gpmc.c+303−66

This diff is large: its 460 lines aren’t shown here.

arch/arm/mach-omap2/hdq1w.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/hdq1w.hrenamed from arch/arm/plat-omap/include/plat/hdq1w.h+0−0

File renamed without changes.

arch/arm/mach-omap2/hsmmc.c+3−2

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-omap2/i2c.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/id.c+4−5

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-omap2/id.hrenamed from arch/arm/mach-omap2/include/mach/id.h+0−0

File renamed without changes.

arch/arm/mach-omap2/include/mach/board-zoom.h+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/gpio.h+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/hardware.h+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/irqs.h+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/include/mach/smp.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-omap2/io.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/irq.c+5−5

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-omap2/l3_2xxx.hrenamed from arch/arm/plat-omap/include/plat/l3_2xxx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/l3_3xxx.hrenamed from arch/arm/plat-omap/include/plat/l3_3xxx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/l4_2xxx.hrenamed from arch/arm/plat-omap/include/plat/l4_2xxx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/l4_3xxx.hrenamed from arch/arm/plat-omap/include/plat/l4_3xxx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/mailbox.c+3−1

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-omap2/mcbsp.c+8−122

This diff is large: its 166 lines aren’t shown here.

arch/arm/mach-omap2/msdi.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/mux.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/mux34xx.c+4−4

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-omap2/omap-hotplug.c+2−16

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-omap2/omap-iommu.c+7−5

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-omap2/omap-mpuss-lowpower.c+1−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/omap-secure.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-omap2/omap-secure.hrenamed from arch/arm/mach-omap2/include/mach/omap-secure.h+0−0

File renamed without changes.

arch/arm/mach-omap2/omap-smp.c+17−7

This diff is large: its 65 lines aren’t shown here.

arch/arm/mach-omap2/omap-wakeupgen.c+4−9

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-omap2/omap-wakeupgen.hrenamed from arch/arm/mach-omap2/include/mach/omap-wakeupgen.h+0−0

File renamed without changes.

arch/arm/mach-omap2/omap24xx.hrenamed from arch/arm/plat-omap/include/plat/omap24xx.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-omap2/omap34xx.hrenamed from arch/arm/plat-omap/include/plat/omap34xx.h+0−2

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-omap2/omap4-common.c+9−7

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-omap2/omap4-keypad.hrenamed from arch/arm/plat-omap/include/plat/omap4-keypad.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/omap44xx.hrenamed from arch/arm/plat-omap/include/plat/omap44xx.h+1−1

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-omap2/omap54xx.hrenamed from arch/arm/plat-omap/include/plat/omap54xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/omap_hwmod.c+343−41

This diff is large: its 651 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2420_data.c+34−17

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2430_data.c+58−41

This diff is large: its 213 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c+54−56

This diff is large: its 199 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2xxx_interconnect_data.c+19−2

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c+113−7

This diff is large: its 198 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_33xx_data.c+3381−0

This diff is large: its 3382 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+363−84

This diff is large: its 815 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_44xx_data.c+244−14

This diff is large: its 481 lines aren’t shown here.

arch/arm/mach-omap2/omap_hwmod_common_data.h+5−2

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-omap2/omap_phy_internal.c+2−138

This diff is large: its 148 lines aren’t shown here.

arch/arm/mach-omap2/opp.c+21−13

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-omap2/opp2420_data.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/opp2430_data.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/opp3xxx_data.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/opp4xxx_data.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/pm-debug.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-omap2/pm.c+16−6

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-omap2/pm.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/pm24xx.c+1−13

This diff is large: its 35 lines aren’t shown here.

arch/arm/mach-omap2/pm34xx.c+33−7

This diff is large: its 86 lines aren’t shown here.

arch/arm/mach-omap2/pm44xx.c+3−5

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-omap2/pmu.c+95−0

This diff is large: its 96 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain.c+21−21

This diff is large: its 128 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain2xxx_3xxx.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/powerdomain44xx.c+62−3

This diff is large: its 103 lines aren’t shown here.

arch/arm/mach-omap2/powerdomains3xxx_data.c+1−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/prcm-common.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/prcm.c+4−5

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-omap2/prm2xxx_3xxx.c+3−4

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-omap2/prm44xx.c+2−3

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-omap2/prm_common.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/sdrc2xxx.c+1−1

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/serial.c+25−12

This diff is large: its 105 lines aren’t shown here.

arch/arm/mach-omap2/sleep24xx.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/sleep34xx.S+1−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/sleep44xx.S+2−2

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-omap2/soc.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-omap2/sr_device.c+7−8

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-omap2/sram242x.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/sram243x.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/sram34xx.S+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-omap2/ti81xx.hrenamed from arch/arm/plat-omap/include/plat/ti81xx.h+0−0

File renamed without changes.

arch/arm/mach-omap2/timer.c+108−6

This diff is large: its 171 lines aren’t shown here.

arch/arm/mach-omap2/twl-common.c+46−32

This diff is large: its 132 lines aren’t shown here.

arch/arm/mach-omap2/twl-common.h+7−4

This diff is large: its 46 lines aren’t shown here.

arch/arm/mach-omap2/usb-host.c+22−11

This diff is large: its 82 lines aren’t shown here.

arch/arm/mach-omap2/usb-musb.c+3−7

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-omap2/vc.c+3−5

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-omap2/voltage.c+6−6

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-omap2/voltage.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-omap2/voltagedomains3xxx_data.c+1−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-omap2/vp.c+7−9

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-orion5x/addr-map.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/common.c+4−14

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-orion5x/d2net-setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-orion5x/db88f5281-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/dns323-setup.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/bridge-regs.h+10−10

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/gpio.h+0−9

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/io.h+0−22

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-orion5x/include/mach/orion5x.h+35−37

This diff is large: its 110 lines aren’t shown here.

arch/arm/mach-orion5x/irq.c+4−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-orion5x/kurobox_pro-setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-orion5x/net2big-setup.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-orion5x/pci.c+21−41

This diff is large: its 117 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5181l-ge-setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f5182-setup.c+22−50

This diff is large: its 107 lines aren’t shown here.

arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-orion5x/ts78xx-setup.c+6−6

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-picoxcell/Kconfig+14−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-picoxcell/Makefile.boot+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-picoxcell/common.c+7−6

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/debug-macro.S+0−35

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/hardware.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/map.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/picoxcell_soc.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/timex.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-picoxcell/include/mach/uncompress.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pnx4008/Makefile+0−12

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-pnx4008/Makefile.boot+0−4

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-pnx4008/clock.c+0−1001

This diff is large: its 1002 lines aren’t shown here.

arch/arm/mach-pnx4008/clock.h+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-pnx4008/core.c+0−290

This diff is large: its 291 lines aren’t shown here.

arch/arm/mach-pnx4008/dma.c+0−1105

This diff is large: its 1106 lines aren’t shown here.

arch/arm/mach-pnx4008/gpio.c+0−328

This diff is large: its 329 lines aren’t shown here.

arch/arm/mach-pnx4008/i2c.c+0−86

This diff is large: its 87 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/clock.h+0−62

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/debug-macro.S+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/dma.h+0−160

This diff is large: its 161 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/entry-macro.S+0−116

This diff is large: its 117 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/gpio-pnx4008.h+0−241

This diff is large: its 242 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/hardware.h+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/irq.h+0−42

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/irqs.h+0−215

This diff is large: its 216 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/param.h+0−21

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/platform.h+0−69

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/pm.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/timex.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-pnx4008/include/mach/uncompress.h+0−46

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-pnx4008/irq.c+0−121

This diff is large: its 122 lines aren’t shown here.

arch/arm/mach-pnx4008/pm.c+0−153

This diff is large: its 154 lines aren’t shown here.

arch/arm/mach-pnx4008/serial.c+0−67

This diff is large: its 68 lines aren’t shown here.

arch/arm/mach-pnx4008/sleep.S+0−195

This diff is large: its 196 lines aren’t shown here.

arch/arm/mach-pnx4008/time.c+0−134

This diff is large: its 135 lines aren’t shown here.

arch/arm/mach-pnx4008/time.h+0−70

This diff is large: its 71 lines aren’t shown here.

arch/arm/mach-prima2/Kconfig+19−0

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-prima2/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-prima2/common.c+50−0

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/gpio.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-prima2/include/mach/uncompress.h+2−2

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-prima2/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-prima2/prima2.c+0−49

This diff is large: its 50 lines aren’t shown here.

arch/arm/mach-pxa/Kconfig+70−58

This diff is large: its 416 lines aren’t shown here.

arch/arm/mach-pxa/Makefile+3−8

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-pxa/am200epd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/am300epd.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/balloon3.c+4−4

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/clock-pxa3xx.c+6−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-pxa/cm-x270.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/cm-x2xx.c+2−1

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-pxa/cm-x300.c+5−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/colibri-evalboard.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa270-income.c+3−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa300.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa320.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/colibri-pxa3xx.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-pxa/corgi.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/csb726.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/devices.c+24−10

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-pxa/em-x270.c+5−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/eseries.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-pxa/ezx.c+4−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/gumstix.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/hx4700.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/idp.c+83−2

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-pxa/include/mach/pxa3xx-regs.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-pxa/irq.c+110−21

This diff is large: its 200 lines aren’t shown here.

arch/arm/mach-pxa/leds-idp.c+0−115

This diff is large: its 116 lines aren’t shown here.

arch/arm/mach-pxa/leds-lubbock.c+0−124

This diff is large: its 125 lines aren’t shown here.

arch/arm/mach-pxa/leds-mainstone.c+0−119

This diff is large: its 120 lines aren’t shown here.

arch/arm/mach-pxa/leds.c+0−32

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-pxa/leds.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-pxa/littleton.c+4−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/lpd270.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/lubbock.c+98−3

This diff is large: its 129 lines aren’t shown here.

arch/arm/mach-pxa/magician.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/mainstone.c+99−5

This diff is large: its 125 lines aren’t shown here.

arch/arm/mach-pxa/mioa701.c+4−4

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/mxm8x10.c+4−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/palm27x.c+4−4

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-pxa/palmld.c+5−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/palmt5.c+5−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/palmtc.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-pxa/palmte2.c+6−4

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-pxa/palmtreo.c+7−7

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-pxa/palmtx.c+5−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/palmz72.c+6−6

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-pxa/pcm990-baseboard.c+4−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/poodle.c+3−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/pxa-dt.c+63−0

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-pxa/pxa27x.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/pxa2xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx-ulpi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/pxa3xx.c+21−4

This diff is large: its 70 lines aren’t shown here.

arch/arm/mach-pxa/raumfeld.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/saar.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-pxa/sharpsl_pm.c+19−63

This diff is large: its 138 lines aren’t shown here.

arch/arm/mach-pxa/spitz.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/stargate2.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-pxa/tavorevb.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/tosa.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-pxa/trizeps4.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-pxa/viper.c+3−4

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-pxa/vpac270.c+4−4

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-pxa/z2.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-pxa/zeus.c+4−4

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-pxa/zylonite.c+5−5

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-realview/Kconfig+6−6

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-realview/core.c+0−39

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-realview/core.h+3−2

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-realview/hotplug.c+1−17

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-realview/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-realview/platsmp.c+14−4

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-realview/realview_eb.c+1−7

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-realview/realview_pb1176.c+1−7

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-realview/realview_pb11mp.c+2−7

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-realview/realview_pba8.c+1−7

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-realview/realview_pbx.c+2−7

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-rpc/ecard.c+3−1

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s3c2412/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c2440/Kconfig+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-s3c24xx/Kconfig+41−41

This diff is large: its 281 lines aren’t shown here.

arch/arm/mach-s3c24xx/clock-s3c2440.c+15−1

This diff is large: its 37 lines aren’t shown here.

arch/arm/mach-s3c24xx/common-smdk.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-s3c24xx/h1940-bluetooth.c+1−13

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s3c24xx/irq-s3c2416.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s3c24xx/irq-s3c2443.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-amlm5900.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-anubis.c+5−4

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-at2440evb.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-bast.c+4−4

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-gta02.c+5−5

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-h1940.c+6−6

This diff is large: its 40 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-jive.c+9−9

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-mini2440.c+7−7

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-n30.c+4−4

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-nexcoder.c+12−12

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-osiris-dvs.c+1−12

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-osiris.c+6−5

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-otom.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-qt2410.c+4−4

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-rx1950.c+5−5

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-rx3715.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-smdk2410.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-smdk2413.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-smdk2416.c+5−5

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-smdk2440.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-smdk2443.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-tct_hammer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-vr1000.c+3−3

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s3c24xx/mach-vstms.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s3c24xx/s3c2416.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c24xx/s3c2443.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c24xx/setup-i2c.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/simtec-audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c24xx/simtec-usb.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/Kconfig+48−48

This diff is large: its 233 lines aren’t shown here.

arch/arm/mach-s3c64xx/dev-audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-anw6410.c+2−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-crag6410-module.c+32−6

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-crag6410.c+15−3

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-hmt.c+3−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-mini6410.c+3−3

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-ncp.c+2−2

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-real6410.c+3−3

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smartq.c+4−4

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smartq5.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smartq7.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smdk6400.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/mach-smdk6410.c+4−4

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-s3c64xx/setup-i2c0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/setup-i2c1.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s3c64xx/setup-ide.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/Kconfig+14−14

This diff is large: its 73 lines aren’t shown here.

arch/arm/mach-s5p64x0/common.c+3−0

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-s5p64x0/dev-audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/mach-smdk6440.c+3−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-s5p64x0/mach-smdk6450.c+3−3

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-s5p64x0/setup-i2c0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5p64x0/setup-i2c1.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pc100/Kconfig+6−6

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-s5pc100/common.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s5pc100/dev-audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pc100/mach-smdkc100.c+5−5

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s5pc100/setup-i2c0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pc100/setup-i2c1.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/Kconfig+25−25

This diff is large: its 125 lines aren’t shown here.

arch/arm/mach-s5pv210/common.c+3−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-s5pv210/dev-audio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-aquila.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-goni.c+2−2

This diff is large: its 23 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-smdkc110.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-smdkv210.c+4−4

This diff is large: its 27 lines aren’t shown here.

arch/arm/mach-s5pv210/mach-torbreck.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/setup-i2c0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/setup-i2c1.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-s5pv210/setup-i2c2.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/Kconfig+6−6

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-sa1100/Makefile+0−9

This diff is large: its 46 lines aren’t shown here.

arch/arm/mach-sa1100/assabet.c+87−2

This diff is large: its 117 lines aren’t shown here.

arch/arm/mach-sa1100/badge4.c+30−0

This diff is large: its 46 lines aren’t shown here.

arch/arm/mach-sa1100/cerf.c+43−1

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-sa1100/collie.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/hackkit.c+32−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/SA-1111.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/lart.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-sa1100/include/mach/simpad.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/lart.c+27−1

This diff is large: its 56 lines aren’t shown here.

arch/arm/mach-sa1100/leds-assabet.c+0−113

This diff is large: its 114 lines aren’t shown here.

arch/arm/mach-sa1100/leds-badge4.c+0−110

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-sa1100/leds-cerf.c+0−110

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-sa1100/leds-hackkit.c+0−112

This diff is large: its 113 lines aren’t shown here.

arch/arm/mach-sa1100/leds-lart.c+0−101

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-sa1100/leds.c+0−50

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-sa1100/leds.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-sa1100/shannon.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-sa1100/simpad.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-shark/Makefile+1−3

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-shark/core.c+0−19

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-shark/include/mach/debug-macro.S+4−3

This diff is large: its 14 lines aren’t shown here.

arch/arm/mach-shark/include/mach/entry-macro.S+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-shark/include/mach/io.h+0−18

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-shark/leds.c+86−134

This diff is large: its 252 lines aren’t shown here.

arch/arm/mach-shark/pci.c+6−1

This diff is large: its 32 lines aren’t shown here.

arch/arm/mach-shmobile/Kconfig+21−21

This diff is large: its 136 lines aren’t shown here.

arch/arm/mach-shmobile/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/board-ag5evm.c+1−1

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-shmobile/board-ap4evb.c+20−15

This diff is large: its 85 lines aren’t shown here.

arch/arm/mach-shmobile/board-armadillo800eva.c+34−7

This diff is large: its 108 lines aren’t shown here.

arch/arm/mach-shmobile/board-bonito.c+4−4

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-shmobile/board-g3evm.c+6−6

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-shmobile/board-g4evm.c+17−15

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-shmobile/board-kota2.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/board-kzm9d.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-shmobile/board-kzm9g.c+15−7

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-shmobile/board-mackerel.c+32−26

This diff is large: its 108 lines aren’t shown here.

arch/arm/mach-shmobile/board-marzen.c+68−1

This diff is large: its 108 lines aren’t shown here.

arch/arm/mach-shmobile/clock-r8a7740.c+23−23

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-shmobile/clock-r8a7779.c+21−12

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7367.c+22−22

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7372.c+30−30

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh7377.c+25−25

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-shmobile/clock-sh73a0.c+35−35

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-shmobile/common.c+0−24

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-shmobile/cpuidle.c+13−26

This diff is large: its 65 lines aren’t shown here.

arch/arm/mach-shmobile/hotplug.c+11−20

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/common.h+22−16

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/emev2.h+2−5

This diff is large: its 16 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/gpio.h+0−62

This diff is large: its 63 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/pm-rmobile.h+27−8

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/r8a7740.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/r8a7779.h+4−10

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/sh7372.h+8−12

This diff is large: its 30 lines aren’t shown here.

arch/arm/mach-shmobile/include/mach/sh73a0.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-shmobile/intc-r8a7779.c+7−7

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh7372.c+15−12

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-shmobile/intc-sh73a0.c+11−9

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-r8a7740.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-r8a7779.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-sh7367.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-sh7372.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-sh7377.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/pfc-sh73a0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/platsmp.c+1−95

This diff is large: its 111 lines aren’t shown here.

arch/arm/mach-shmobile/pm-r8a7740.c+24−18

This diff is large: its 57 lines aren’t shown here.

arch/arm/mach-shmobile/pm-r8a7779.c+36−35

This diff is large: its 88 lines aren’t shown here.

arch/arm/mach-shmobile/pm-rmobile.c+29−10

This diff is large: its 67 lines aren’t shown here.

arch/arm/mach-shmobile/pm-sh7372.c+210−130

This diff is large: its 453 lines aren’t shown here.

arch/arm/mach-shmobile/setup-emev2.c+22−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7740.c+11−16

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-shmobile/setup-r8a7779.c+2−5

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh7367.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh7372.c+30−39

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh7377.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-shmobile/setup-sh73a0.c+22−1

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-shmobile/sh-gpio.h+48−0

This diff is large: its 49 lines aren’t shown here.

arch/arm/mach-shmobile/smp-emev2.c+43−6

This diff is large: its 85 lines aren’t shown here.

arch/arm/mach-shmobile/smp-r8a7779.c+43−5

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-shmobile/smp-sh73a0.c+44−4

This diff is large: its 85 lines aren’t shown here.

arch/arm/mach-socfpga/Kconfig+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-socfpga/Makefile.boot+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-socfpga/include/mach/debug-macro.S+0−16

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-socfpga/include/mach/timex.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-socfpga/include/mach/uncompress.h+0−9

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-spear13xx/Makefile.boot+0−3

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-spear13xx/hotplug.c+3−19

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-spear13xx/include/mach/generic.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-spear13xx/include/mach/gpio.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-spear13xx/include/mach/spear.h+7−7

This diff is large: its 34 lines aren’t shown here.

arch/arm/mach-spear13xx/include/mach/spear1340_misc_regs.h+0−0

Empty file deleted.

arch/arm/mach-spear13xx/platsmp.c+15−10

This diff is large: its 62 lines aren’t shown here.

arch/arm/mach-spear13xx/spear1310.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-spear13xx/spear1340.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-spear13xx/spear13xx.c+6−3

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-spear3xx/Makefile.boot+0−4

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-spear3xx/include/mach/gpio.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-spear6xx/Makefile.boot+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-spear6xx/include/mach/gpio.h+0−19

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-tegra/Kconfig+17−46

This diff is large: its 103 lines aren’t shown here.

arch/arm/mach-tegra/Makefile+7−14

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-tegra/Makefile.boot+0−8

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-tegra/apbio.c+3−119

This diff is large: its 154 lines aren’t shown here.

arch/arm/mach-tegra/board-dt-tegra20.c+34−21

This diff is large: its 127 lines aren’t shown here.

arch/arm/mach-tegra/board-dt-tegra30.c+3−1

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-pcie.c+30−19

This diff is large: its 87 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-pinmux.c+0−156

This diff is large: its 157 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony-power.c+0−156

This diff is large: its 157 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.c+0−197

This diff is large: its 198 lines aren’t shown here.

arch/arm/mach-tegra/board-harmony.h+0−41

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00-pinmux.c+0−156

This diff is large: its 157 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.c+0−192

This diff is large: its 211 lines aren’t shown here.

arch/arm/mach-tegra/board-paz00.h+1−16

This diff is large: its 26 lines aren’t shown here.

arch/arm/mach-tegra/board-pinmux.c+0−87

This diff is large: its 88 lines aren’t shown here.

arch/arm/mach-tegra/board-pinmux.h+0−54

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice-pinmux.c+0−155

This diff is large: its 156 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.c+0−183

This diff is large: its 184 lines aren’t shown here.

arch/arm/mach-tegra/board-trimslice.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-tegra/board.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-tegra/clock.c+35−539

This diff is large: its 683 lines aren’t shown here.

arch/arm/mach-tegra/clock.h+11−29

This diff is large: its 106 lines aren’t shown here.

arch/arm/mach-tegra/common.c+4−1

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-tegra/common.h+4−0

This diff is large: its 5 lines aren’t shown here.

arch/arm/mach-tegra/cpu-tegra.c+47−1

This diff is large: its 76 lines aren’t shown here.

arch/arm/mach-tegra/devices.c+0−702

This diff is large: its 703 lines aren’t shown here.

arch/arm/mach-tegra/devices.h+0−60

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-tegra/dma.c+0−823

This diff is large: its 824 lines aren’t shown here.

arch/arm/mach-tegra/fuse.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/mach-tegra/headsmp.S+1−5

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-tegra/hotplug.c+34−93

This diff is large: its 162 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/clk.h+3−0

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/dma.h+0−97

This diff is large: its 102 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/gpio-tegra.h+0−28

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/io.h+0−46

This diff is large: its 47 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/iomap.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/pinconf-tegra.h+0−63

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/sdhci.h+0−30

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/smmu.h+0−63

This diff is large: its 64 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/suspend.h+0−38

This diff is large: its 39 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/tegra_wm8903_pdata.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-tegra/include/mach/usb_phy.h+0−86

This diff is large: its 87 lines aren’t shown here.

arch/arm/mach-tegra/pcie.c+22−73

This diff is large: its 184 lines aren’t shown here.

arch/arm/mach-tegra/platsmp.c+23−29

This diff is large: its 124 lines aren’t shown here.

arch/arm/mach-tegra/powergate.c+36−7

This diff is large: its 66 lines aren’t shown here.

arch/arm/mach-tegra/sleep-t20.S+82−0

This diff is large: its 83 lines aren’t shown here.

arch/arm/mach-tegra/sleep-t30.S+107−0

This diff is large: its 108 lines aren’t shown here.

arch/arm/mach-tegra/sleep.S+1−32

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-tegra/sleep.h+85−0

This diff is large: its 86 lines aren’t shown here.

arch/arm/mach-tegra/tegra20_clocks.c+1624−0

This diff is large: its 1625 lines aren’t shown here.

arch/arm/mach-tegra/tegra20_clocks.h+42−0

This diff is large: its 43 lines aren’t shown here.

arch/arm/mach-tegra/tegra20_clocks_data.c+1140−0

This diff is large: its 1141 lines aren’t shown here.

arch/arm/mach-tegra/tegra2_clocks.c+0−2484

This diff is large: its 2485 lines aren’t shown here.

arch/arm/mach-tegra/tegra30_clocks.c+892−1701

This diff is large: its 3207 lines aren’t shown here.

arch/arm/mach-tegra/tegra30_clocks.h+53−0

This diff is large: its 54 lines aren’t shown here.

arch/arm/mach-tegra/tegra30_clocks_data.c+1378−0

This diff is large: its 1379 lines aren’t shown here.

arch/arm/mach-tegra/tegra_cpu_car.h+87−0

This diff is large: its 88 lines aren’t shown here.

arch/arm/mach-tegra/timer.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mach-tegra/usb_phy.c+0−817

This diff is large: its 818 lines aren’t shown here.

arch/arm/mach-u300/Kconfig+3−42

This diff is large: its 59 lines aren’t shown here.

arch/arm/mach-u300/Makefile+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-u300/core.c+23−80

This diff is large: its 261 lines aren’t shown here.

arch/arm/mach-u300/dma_channels.hrenamed from arch/arm/mach-u300/include/mach/dma_channels.h+1−10

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-u300/i2c.c+2−6

This diff is large: its 36 lines aren’t shown here.

arch/arm/mach-u300/include/mach/clkdev.h+0−7

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-u300/include/mach/gpio-u300.h+0−37

This diff is large: its 38 lines aren’t shown here.

arch/arm/mach-u300/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-u300/include/mach/irqs.h+2−34

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-u300/include/mach/platform.h+0−20

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-u300/include/mach/syscon.h+5−27

This diff is large: its 131 lines aren’t shown here.

arch/arm/mach-u300/include/mach/u300-regs.h+1−18

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-u300/spi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-u300/timer.c+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-u300/timer.h+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-u300/u300-gpio.h+1−45

This diff is large: its 68 lines aren’t shown here.

arch/arm/mach-u300/u300.c+0−57

This diff is large: its 58 lines aren’t shown here.

arch/arm/mach-ux500/Kconfig+9−8

This diff is large: its 42 lines aren’t shown here.

arch/arm/mach-ux500/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ux500/Makefile.boot+0−2

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-audio.c+195−0

This diff is large: its 196 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-msp.c+0−267

This diff is large: its 268 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-msp.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-pins.c+51−32

This diff is large: its 161 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-regulators.c+15−0

This diff is large: its 22 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-regulators.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500-sdi.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.c+42−43

This diff is large: its 223 lines aren’t shown here.

arch/arm/mach-ux500/board-mop500.h+11−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mach-ux500/cache-l2x0.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/cpu-db8500.c+6−12

This diff is large: its 72 lines aren’t shown here.

arch/arm/mach-ux500/cpu.c+4−1

This diff is large: its 19 lines aren’t shown here.

arch/arm/mach-ux500/devices-common.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/hotplug.c+8−28

This diff is large: its 51 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/gpio.h+0−5

This diff is large: its 6 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/id.h+15−29

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/msp.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/setup.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-ux500/include/mach/uncompress.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/mach-ux500/platsmp.c+16−12

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-ux500/timer.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-ux500/usb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-versatile/Kconfig+2−2

This diff is large: its 21 lines aren’t shown here.

arch/arm/mach-versatile/core.c+0−10

This diff is large: its 31 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/hardware.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-versatile/include/mach/io.h+0−27

This diff is large: its 28 lines aren’t shown here.

arch/arm/mach-versatile/pci.c+4−18

This diff is large: its 61 lines aren’t shown here.

arch/arm/mach-vexpress/Kconfig+32−32

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-vexpress/Makefile+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vexpress/Makefile.boot+0−10

This diff is large: its 11 lines aren’t shown here.

arch/arm/mach-vexpress/core.h+4−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-vexpress/ct-ca9x4.c+2−2

This diff is large: its 25 lines aren’t shown here.

arch/arm/mach-vexpress/hotplug.c+1−17

This diff is large: its 41 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/irqs.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/timex.h+0−23

This diff is large: its 24 lines aren’t shown here.

arch/arm/mach-vexpress/include/mach/uncompress.h+0−86

This diff is large: its 87 lines aren’t shown here.

arch/arm/mach-vexpress/platsmp.c+14−4

This diff is large: its 44 lines aren’t shown here.

arch/arm/mach-vexpress/v2m.c+5−4

This diff is large: its 53 lines aren’t shown here.

arch/arm/mach-vt8500/Kconfig+0−73

This diff is large: its 74 lines aren’t shown here.

arch/arm/mach-vt8500/Makefile+1−7

This diff is large: its 9 lines aren’t shown here.

arch/arm/mach-vt8500/bv07.c+0−80

This diff is large: its 81 lines aren’t shown here.

arch/arm/mach-vt8500/common.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/arm/mach-vt8500/devices-vt8500.c+0−91

This diff is large: its 92 lines aren’t shown here.

arch/arm/mach-vt8500/devices-wm8505.c+0−99

This diff is large: its 100 lines aren’t shown here.

arch/arm/mach-vt8500/devices.c+0−270

This diff is large: its 271 lines aren’t shown here.

arch/arm/mach-vt8500/devices.h+0−88

This diff is large: its 89 lines aren’t shown here.

arch/arm/mach-vt8500/gpio.c+0−240

This diff is large: its 241 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/restart.h+2−2

This diff is large: its 8 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/uncompress.h+4−4

This diff is large: its 20 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/vt8500_irqs.h+0−88

This diff is large: its 89 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/vt8500_regs.h+0−79

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/wm8505_irqs.h+0−115

This diff is large: its 116 lines aren’t shown here.

arch/arm/mach-vt8500/include/mach/wm8505_regs.h+0−78

This diff is large: its 79 lines aren’t shown here.

arch/arm/mach-vt8500/irq.c+125−84

This diff is large: its 291 lines aren’t shown here.

arch/arm/mach-vt8500/restart.c+0−54

This diff is large: its 55 lines aren’t shown here.

arch/arm/mach-vt8500/timer.c+48−19

This diff is large: its 138 lines aren’t shown here.

arch/arm/mach-vt8500/vt8500.c+198−0

This diff is large: its 199 lines aren’t shown here.

arch/arm/mach-vt8500/wm8505_7in.c+0−79

This diff is large: its 80 lines aren’t shown here.

arch/arm/mach-w90x900/dev.c+3−3

This diff is large: its 15 lines aren’t shown here.

arch/arm/mach-w90x900/mach-nuc950evb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/Kconfig+70−53

This diff is large: its 394 lines aren’t shown here.

arch/arm/mm/alignment.c+6−4

This diff is large: its 33 lines aren’t shown here.

arch/arm/mm/cache-fa.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-l2x0.c+7−3

This diff is large: its 30 lines aren’t shown here.

arch/arm/mm/cache-tauros2.c+62−21

This diff is large: its 114 lines aren’t shown here.

arch/arm/mm/cache-v3.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-v4.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-v4wb.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-v4wt.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-v6.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/cache-v7.S+45−6

This diff is large: its 98 lines aren’t shown here.

arch/arm/mm/dma-mapping.c+208−58

This diff is large: its 483 lines aren’t shown here.

arch/arm/mm/fault-armv.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/flush.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/mm/init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/ioremap.c+15−0

This diff is large: its 33 lines aren’t shown here.

arch/arm/mm/mmu.c+43−22

This diff is large: its 120 lines aren’t shown here.

arch/arm/mm/proc-arm1020.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm1020e.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm1022.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm1026.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm920.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm922.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm925.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm926.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm940.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-arm946.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-feroceon.S+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/proc-macros.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/mm/proc-mohawk.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-v7.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/mm/proc-xsc3.S+3−0

This diff is large: its 10 lines aren’t shown here.

arch/arm/mm/proc-xscale.S+4−0

This diff is large: its 18 lines aren’t shown here.

arch/arm/mm/vmregion.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-iop/pci.c+9−16

This diff is large: its 48 lines aren’t shown here.

arch/arm/plat-iop/pmu.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/arm/plat-iop/setup.c+0−5

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-mxc/Kconfig+2−2

This diff is large: its 19 lines aren’t shown here.

arch/arm/plat-mxc/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/clock.c+0−257

This diff is large: its 258 lines aren’t shown here.

arch/arm/plat-mxc/cpufreq.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/devices/Kconfig+6−2

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-mxc/devices/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx-uart.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-imx27-coda.c+37−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-mxc-mmc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-mxc_nand.c+5−6

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-mxc/devices/platform-sdhci-esdhc-imx.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/clock.h+0−70

This diff is large: its 71 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/common.h+4−6

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/devices-common.h+24−16

This diff is large: its 152 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx3.h+5−0

This diff is large: its 25 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/iomux-mx53.h+0−1219

This diff is large: its 1220 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx2_cam.h+0−46

This diff is large: its 47 lines aren’t shown here.

arch/arm/plat-mxc/include/mach/mx31.h+3−3

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-mxc/ssi-fiq-ksym.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-mxc/ssi-fiq.S+50−39

This diff is large: its 154 lines aren’t shown here.

arch/arm/plat-mxc/system.c+0−4

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-nomadik/Kconfig+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/gpio-nomadik.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/arm/plat-nomadik/include/plat/pincfg.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/Kconfig+8−5

This diff is large: its 42 lines aren’t shown here.

arch/arm/plat-omap/Makefile+1−2

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-omap/clock.c+0−27

This diff is large: its 34 lines aren’t shown here.

arch/arm/plat-omap/common.c+1−41

This diff is large: its 54 lines aren’t shown here.

arch/arm/plat-omap/counter_32k.c+14−10

This diff is large: its 48 lines aren’t shown here.

arch/arm/plat-omap/debug-devices.c+1−3

This diff is large: its 11 lines aren’t shown here.

arch/arm/plat-omap/debug-leds.c+68−226

This diff is large: its 362 lines aren’t shown here.

arch/arm/plat-omap/devices.c+0−92

This diff is large: its 93 lines aren’t shown here.

arch/arm/plat-omap/dma.c+23−31

This diff is large: its 142 lines aren’t shown here.

arch/arm/plat-omap/fb.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/i2c.c+2−23

This diff is large: its 63 lines aren’t shown here.

arch/arm/plat-omap/include/plat/board.h+0−138

This diff is large: its 139 lines aren’t shown here.

arch/arm/plat-omap/include/plat/clock.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-omap/include/plat/cpu.h+3−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-omap/include/plat/dma.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/dmtimer.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpio-switch.h+0−54

This diff is large: its 55 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpio.h+0−228

This diff is large: its 229 lines aren’t shown here.

arch/arm/plat-omap/include/plat/gpmc.h+19−0

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-omap/include/plat/hardware.h+0−293

This diff is large: its 294 lines aren’t shown here.

arch/arm/plat-omap/include/plat/iommu.h+15−0

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-omap/include/plat/irqs-44xx.h+0−144

This diff is large: its 145 lines aren’t shown here.

arch/arm/plat-omap/include/plat/irqs.h+0−453

This diff is large: its 454 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mcbsp.h+0−62

This diff is large: its 63 lines aren’t shown here.

arch/arm/plat-omap/include/plat/mmc.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-omap/include/plat/nand.h+0−44

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap-serial.h+8−42

This diff is large: its 80 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_device.h+6−0

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-omap/include/plat/omap_hwmod.h+20−8

This diff is large: its 86 lines aren’t shown here.

arch/arm/plat-omap/include/plat/param.h+0−8

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/include/plat/remoteproc.h+0−57

This diff is large: its 58 lines aren’t shown here.

arch/arm/plat-omap/include/plat/usb.h+7−1

This diff is large: its 30 lines aren’t shown here.

arch/arm/plat-omap/mailbox.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-omap/mux.c+0−90

This diff is large: its 91 lines aren’t shown here.

arch/arm/plat-omap/omap-pm-noop.c+23−24

This diff is large: its 95 lines aren’t shown here.

arch/arm/plat-omap/omap_device.c+186−35

This diff is large: its 338 lines aren’t shown here.

arch/arm/plat-omap/sram.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-orion/Makefile+5−5

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-orion/addr-map.c+4−7

This diff is large: its 32 lines aren’t shown here.

arch/arm/plat-orion/common.c+8−8

This diff is large: its 63 lines aren’t shown here.

arch/arm/plat-orion/gpio.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-orion/include/plat/addr-map.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/plat-orion/include/plat/common.h+4−4

This diff is large: its 27 lines aren’t shown here.

arch/arm/plat-orion/include/plat/gpio.h+0−37

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-orion/include/plat/mpp.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-orion/include/plat/orion-gpio.h+37−0

This diff is large: its 38 lines aren’t shown here.

arch/arm/plat-orion/include/plat/time.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-orion/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/arm/plat-orion/mpp.c+4−3

This diff is large: its 23 lines aren’t shown here.

arch/arm/plat-orion/time.c+4−4

This diff is large: its 26 lines aren’t shown here.

arch/arm/plat-s3c24xx/Kconfig+1−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-samsung/Kconfig+7−7

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/clock.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/arm/plat-samsung/devs.c+15−13

This diff is large: its 71 lines aren’t shown here.

arch/arm/plat-samsung/dma-ops.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/gpio-fns.h+0−97

This diff is large: its 99 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/mipi_csis.h+0−43

This diff is large: its 44 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-fb-v4.h+0−159

This diff is large: its 160 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/regs-fb.h+0−403

This diff is large: its 404 lines aren’t shown here.

arch/arm/plat-samsung/include/plat/spi-core.h+30−0

This diff is large: its 31 lines aren’t shown here.

arch/arm/plat-samsung/s5p-irq-gpioint.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/arm/plat-samsung/setup-mipiphy.c+7−13

This diff is large: its 45 lines aren’t shown here.

arch/arm/plat-samsung/time.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-spear/Kconfig+2−2

This diff is large: its 22 lines aren’t shown here.

arch/arm/plat-spear/include/plat/gpio.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/arm/plat-versatile/Kconfig+3−1

This diff is large: its 12 lines aren’t shown here.

arch/arm/plat-versatile/Makefile+2−0

This diff is large: its 6 lines aren’t shown here.

arch/arm/plat-versatile/fpga-irq.c+62−10

This diff is large: its 124 lines aren’t shown here.

arch/arm/plat-versatile/include/plat/fpga-irq.h+2−0

This diff is large: its 8 lines aren’t shown here.

arch/arm/plat-versatile/include/plat/platsmp.h+14−0

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-versatile/leds.c+4−4

This diff is large: its 15 lines aren’t shown here.

arch/arm/plat-versatile/platsmp.c+2−8

This diff is large: its 31 lines aren’t shown here.

arch/arm/tools/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/arm/tools/mach-types+0−2

This diff is large: its 16 lines aren’t shown here.

arch/arm/vfp/vfpmodule.c+6−3

This diff is large: its 18 lines aren’t shown here.

arch/arm/xen/Makefile+1−0

This diff is large: its 2 lines aren’t shown here.

arch/arm/xen/enlighten.c+179−0

This diff is large: its 180 lines aren’t shown here.

arch/arm/xen/grant-table.c+53−0

This diff is large: its 54 lines aren’t shown here.

arch/arm/xen/hypercall.S+102−0

This diff is large: its 103 lines aren’t shown here.

arch/arm64/Kconfig+6−0

This diff is large: its 40 lines aren’t shown here.

arch/arm64/include/asm/Kbuild+0−3

This diff is large: its 15 lines aren’t shown here.

arch/arm64/include/asm/compat.h+59−1

This diff is large: its 81 lines aren’t shown here.

arch/arm64/include/asm/elf.h+1−4

This diff is large: its 22 lines aren’t shown here.

arch/arm64/include/asm/fpsimd.h+2−3

This diff is large: its 12 lines aren’t shown here.

arch/arm64/include/asm/hwcap.h+2−7

This diff is large: its 28 lines aren’t shown here.

arch/arm64/include/asm/io.h+4−4

This diff is large: its 22 lines aren’t shown here.

arch/arm64/include/asm/linkage.h+7−0

This diff is large: its 8 lines aren’t shown here.

arch/arm64/include/asm/processor.h+2−10

This diff is large: its 40 lines aren’t shown here.

arch/arm64/include/asm/ptrace.h+4−71

This diff is large: its 104 lines aren’t shown here.

arch/arm64/include/asm/sigcontext.h+1−39

This diff is large: its 52 lines aren’t shown here.

arch/arm64/include/asm/stat.h+2−3

This diff is large: its 18 lines aren’t shown here.

arch/arm64/include/asm/unistd.h+12−11

This diff is large: its 28 lines aren’t shown here.

arch/arm64/include/asm/unistd32.h+382−726

This diff is large: its 1132 lines aren’t shown here.

arch/arm64/include/uapi/asm/Kbuild+17−0

This diff is large: its 18 lines aren’t shown here.

arch/arm64/include/uapi/asm/auxvec.hrenamed from arch/arm64/include/asm/auxvec.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/bitsperlong.hrenamed from arch/arm64/include/asm/bitsperlong.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/byteorder.hrenamed from arch/arm64/include/asm/byteorder.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/fcntl.hrenamed from arch/arm64/include/asm/fcntl.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/hwcap.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/arm64/include/uapi/asm/param.hrenamed from arch/arm64/include/asm/param.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/ptrace.h+92−0

This diff is large: its 93 lines aren’t shown here.

arch/arm64/include/uapi/asm/setup.hrenamed from arch/arm64/include/asm/setup.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/sigcontext.h+57−0

This diff is large: its 58 lines aren’t shown here.

arch/arm64/include/uapi/asm/siginfo.hrenamed from arch/arm64/include/asm/siginfo.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/signal.hrenamed from arch/arm64/include/asm/signal.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/stat.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm64/include/uapi/asm/statfs.hrenamed from arch/arm64/include/asm/statfs.h+0−0

File renamed without changes.

arch/arm64/include/uapi/asm/unistd.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/arm64/kernel/entry.S+2−0

This diff is large: its 16 lines aren’t shown here.

arch/arm64/kernel/perf_event.c+2−8

This diff is large: its 28 lines aren’t shown here.

arch/arm64/kernel/process.c+0−18

This diff is large: its 25 lines aren’t shown here.

arch/arm64/kernel/ptrace.c+54−25

This diff is large: its 150 lines aren’t shown here.

arch/arm64/kernel/setup.c+12−0

This diff is large: its 20 lines aren’t shown here.

arch/arm64/kernel/signal32.c+10−65

This diff is large: its 106 lines aren’t shown here.

arch/arm64/kernel/smp.c+1−3

This diff is large: its 18 lines aren’t shown here.

arch/arm64/kernel/sys.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/arm64/kernel/sys32.S+1−125

This diff is large: its 138 lines aren’t shown here.

arch/arm64/kernel/sys_compat.c+4−26

This diff is large: its 63 lines aren’t shown here.

arch/arm64/kernel/vdso.c+10−10

This diff is large: its 43 lines aren’t shown here.

arch/arm64/mm/dma-mapping.c+2−4

This diff is large: its 15 lines aren’t shown here.

arch/arm64/mm/init.c+2−5

This diff is large: its 21 lines aren’t shown here.

arch/arm64/mm/mm.h+1−0

This diff is large: its 4 lines aren’t shown here.

arch/avr32/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/asm/Kbuild+2−2

This diff is large: its 6 lines aren’t shown here.

arch/avr32/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/asm/exec.h+0−13

This diff is large: its 14 lines aren’t shown here.

arch/avr32/include/asm/module.h+2−4

This diff is large: its 20 lines aren’t shown here.

arch/avr32/include/asm/param.h+2−16

This diff is large: its 26 lines aren’t shown here.

arch/avr32/include/asm/ptrace.h+1−114

This diff is large: its 130 lines aren’t shown here.

arch/avr32/include/asm/setup.h+1−4

This diff is large: its 18 lines aren’t shown here.

arch/avr32/include/asm/signal.h+1−120

This diff is large: its 147 lines aren’t shown here.

arch/avr32/include/asm/termios.h+1−40

This diff is large: its 54 lines aren’t shown here.

arch/avr32/include/asm/thread_info.h+6−12

This diff is large: its 44 lines aren’t shown here.

arch/avr32/include/asm/types.h+1−5

This diff is large: its 18 lines aren’t shown here.

arch/avr32/include/asm/unistd.h+1−295

This diff is large: its 309 lines aren’t shown here.

arch/avr32/include/uapi/asm/Kbuild+35−0

This diff is large: its 36 lines aren’t shown here.

arch/avr32/include/uapi/asm/auxvec.hrenamed from arch/avr32/include/asm/auxvec.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/bitsperlong.hrenamed from arch/avr32/include/asm/bitsperlong.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/byteorder.hrenamed from arch/avr32/include/asm/byteorder.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/cachectl.hrenamed from arch/avr32/include/asm/cachectl.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/errno.hrenamed from arch/avr32/include/asm/errno.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/fcntl.hrenamed from arch/avr32/include/asm/fcntl.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/ioctl.hrenamed from arch/avr32/include/asm/ioctl.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/ioctls.hrenamed from arch/avr32/include/asm/ioctls.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/ipcbuf.hrenamed from arch/arm/include/asm/ipcbuf.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/kvm_para.hrenamed from arch/avr32/include/asm/kvm_para.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/mman.hrenamed from arch/avr32/include/asm/mman.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/msgbuf.hrenamed from arch/avr32/include/asm/msgbuf.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/param.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/avr32/include/uapi/asm/poll.hrenamed from arch/avr32/include/asm/poll.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/posix_types.hrenamed from arch/avr32/include/asm/posix_types.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/ptrace.h+126−0

This diff is large: its 127 lines aren’t shown here.

arch/avr32/include/uapi/asm/resource.hrenamed from arch/avr32/include/asm/resource.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/sembuf.hrenamed from arch/avr32/include/asm/sembuf.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/setup.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/avr32/include/uapi/asm/shmbuf.hrenamed from arch/avr32/include/asm/shmbuf.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/sigcontext.hrenamed from arch/avr32/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/siginfo.hrenamed from arch/avr32/include/asm/siginfo.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/signal.h+128−0

This diff is large: its 129 lines aren’t shown here.

arch/avr32/include/uapi/asm/socket.hrenamed from arch/avr32/include/asm/socket.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/sockios.hrenamed from arch/avr32/include/asm/sockios.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/stat.hrenamed from arch/avr32/include/asm/stat.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/statfs.hrenamed from arch/avr32/include/asm/statfs.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/swab.hrenamed from arch/avr32/include/asm/swab.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/termbits.hrenamed from arch/avr32/include/asm/termbits.h+0−0

File renamed without changes.

arch/avr32/include/uapi/asm/termios.h+50−0

This diff is large: its 51 lines aren’t shown here.

arch/avr32/include/uapi/asm/types.h+8−0

This diff is large: its 9 lines aren’t shown here.

arch/avr32/include/uapi/asm/unistd.h+305−0

This diff is large: its 306 lines aren’t shown here.

arch/avr32/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/avr32/kernel/signal.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/avr32/mach-at32ap/at32ap700x.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/avr32/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/Kconfig+4−1

This diff is large: its 26 lines aren’t shown here.

arch/blackfin/configs/BF533-EZKIT_defconfig+5−2

This diff is large: its 16 lines aren’t shown here.

arch/blackfin/configs/BF561-ACVILON_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/configs/BF609-EZKIT_defconfig+6−10

This diff is large: its 48 lines aren’t shown here.

arch/blackfin/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/blackfin/include/asm/module.h+1−3

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/blackfin/include/uapi/asm/Kbuild+3−0

This diff is large: its 4 lines aren’t shown here.

arch/blackfin/kernel/bfin_gpio.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/blackfin/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/blackfin/kernel/reboot.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/kernel/signal.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-bf527/boards/ezkit.c+20−0

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/mach-bf533/boards/stamp.c+20−0

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/cm_bf537e.c+125−5

This diff is large: its 179 lines aren’t shown here.

arch/blackfin/mach-bf537/boards/stamp.c+21−1

This diff is large: its 43 lines aren’t shown here.

arch/blackfin/mach-bf561/boards/ezkit.c+20−0

This diff is large: its 34 lines aren’t shown here.

arch/blackfin/mach-bf609/boards/ezkit.c+19−0

This diff is large: its 33 lines aren’t shown here.

arch/blackfin/mach-bf609/include/mach/defBF609.h+271−0

This diff is large: its 277 lines aren’t shown here.

arch/blackfin/mach-common/cpufreq.c+3−6

This diff is large: its 43 lines aren’t shown here.

arch/blackfin/mach-common/ints-priority.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/blackfin/mach-common/smp.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/c6x/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

arch/c6x/Makefile+2−0

This diff is large: its 9 lines aren’t shown here.

arch/c6x/include/asm/Kbuild+2−1

This diff is large: its 21 lines aren’t shown here.

arch/c6x/include/asm/elf.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/c6x/include/asm/exec.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/c6x/include/asm/module.h+1−11

This diff is large: its 19 lines aren’t shown here.

arch/c6x/include/asm/processor.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/c6x/include/asm/ptrace.h+1−145

This diff is large: its 165 lines aren’t shown here.

arch/c6x/include/asm/signal.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/c6x/include/asm/syscalls.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/c6x/include/asm/thread_info.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/c6x/include/asm/unistd.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/c6x/include/uapi/asm/Kbuild+10−0

This diff is large: its 11 lines aren’t shown here.

arch/c6x/include/uapi/asm/byteorder.hrenamed from arch/c6x/include/asm/byteorder.h+0−0

File renamed without changes.

arch/c6x/include/uapi/asm/kvm_para.hrenamed from arch/c6x/include/asm/kvm_para.h+0−0

File renamed without changes.

arch/c6x/include/uapi/asm/ptrace.h+163−0

This diff is large: its 164 lines aren’t shown here.

arch/c6x/include/uapi/asm/setup.hrenamed from arch/c6x/include/asm/setup.h+0−0

File renamed without changes.

arch/c6x/include/uapi/asm/sigcontext.hrenamed from arch/c6x/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/c6x/include/uapi/asm/swab.hrenamed from arch/c6x/include/asm/swab.h+0−0

File renamed without changes.

arch/c6x/include/uapi/asm/unistd.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/c6x/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/c6x/kernel/entry.S+26−30

This diff is large: its 77 lines aren’t shown here.

arch/c6x/kernel/process.c+11−61

This diff is large: its 108 lines aren’t shown here.

arch/cris/Kconfig+2−5

This diff is large: its 26 lines aren’t shown here.

arch/cris/Makefile+3−1

This diff is large: its 11 lines aren’t shown here.

arch/cris/arch-v10/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/cris/arch-v32/drivers/axisflashmap.c+0−29

This diff is large: its 51 lines aren’t shown here.

arch/cris/arch-v32/drivers/pci/bios.c+0−25

This diff is large: its 29 lines aren’t shown here.

arch/cris/arch-v32/kernel/head.S+2−56

This diff is large: its 145 lines aren’t shown here.

arch/cris/arch-v32/kernel/kgdb.c+0−14

This diff is large: its 24 lines aren’t shown here.

arch/cris/arch-v32/kernel/process.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/Makefile+0−2

This diff is large: its 11 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/vcs_hook.c+0−103

This diff is large: its 104 lines aren’t shown here.

arch/cris/arch-v32/mach-a3/vcs_hook.h+0−58

This diff is large: its 59 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/Makefile+0−2

This diff is large: its 11 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/vcs_hook.c+0−100

This diff is large: its 101 lines aren’t shown here.

arch/cris/arch-v32/mach-fs/vcs_hook.h+0−42

This diff is large: its 43 lines aren’t shown here.

arch/cris/arch-v32/mm/init.c+0−8

This diff is large: its 24 lines aren’t shown here.

arch/cris/include/arch-v10/arch/sv_addr_ag.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v10/arch/svinto.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v32/arch/dma.h+1−1

This diff is large: its 3 lines aren’t shown here.

arch/cris/include/arch-v32/arch/hwregs/dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/arch-v32/arch/page.h+0−5

This diff is large: its 14 lines aren’t shown here.

arch/cris/include/arch-v32/arch/processor.h+1−5

This diff is large: its 15 lines aren’t shown here.

arch/cris/include/arch-v32/mach-fs/mach/startup.inc+0−6

This diff is large: its 13 lines aren’t shown here.

arch/cris/include/asm/Kbuild+4−0

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/cris/include/asm/exec.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/cris/include/asm/module.h+0−9

This diff is large: its 10 lines aren’t shown here.

arch/cris/include/asm/pci.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/cris/include/asm/thread_info.h+0−3

This diff is large: its 16 lines aren’t shown here.

arch/cris/include/uapi/arch-v10/arch/Kbuild+1−0

This diff is large: its 2 lines aren’t shown here.

arch/cris/include/uapi/arch-v32/arch/Kbuild+1−0

This diff is large: its 2 lines aren’t shown here.

arch/cris/include/uapi/asm/Kbuild+5−0

This diff is large: its 6 lines aren’t shown here.

arch/cris/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/frv/Kconfig+4−0

This diff is large: its 16 lines aren’t shown here.

arch/frv/boot/Makefile+6−4

This diff is large: its 32 lines aren’t shown here.

arch/frv/include/asm/Kbuild+2−3

This diff is large: its 7 lines aren’t shown here.

arch/frv/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/include/asm/exec.h+0−17

This diff is large: its 18 lines aren’t shown here.

arch/frv/include/asm/module.h+1−7

This diff is large: its 15 lines aren’t shown here.

arch/frv/include/asm/processor.h+3−6

This diff is large: its 26 lines aren’t shown here.

arch/frv/include/asm/ptrace.h+2−50

This diff is large: its 74 lines aren’t shown here.

arch/frv/include/asm/setup.h+1−6

This diff is large: its 24 lines aren’t shown here.

arch/frv/include/asm/signal.h+1−32

This diff is large: its 46 lines aren’t shown here.

arch/frv/include/asm/termios.h+1−45

This diff is large: its 60 lines aren’t shown here.

arch/frv/include/asm/thread_info.h+0−3

This diff is large: its 17 lines aren’t shown here.

arch/frv/include/asm/types.h+1−5

This diff is large: its 21 lines aren’t shown here.

arch/frv/include/asm/unistd.h+2−345

This diff is large: its 367 lines aren’t shown here.

arch/frv/include/uapi/asm/Kbuild+35−0

This diff is large: its 36 lines aren’t shown here.

arch/frv/include/uapi/asm/auxvec.hrenamed from arch/frv/include/asm/auxvec.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/bitsperlong.hrenamed from arch/frv/include/asm/bitsperlong.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/byteorder.hrenamed from arch/frv/include/asm/byteorder.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/errno.hrenamed from arch/frv/include/asm/errno.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/fcntl.hrenamed from arch/frv/include/asm/fcntl.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/ioctl.hrenamed from arch/frv/include/asm/ioctl.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/ioctls.hrenamed from arch/frv/include/asm/ioctls.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/ipcbuf.hrenamed from arch/avr32/include/asm/ipcbuf.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/kvm_para.hrenamed from arch/frv/include/asm/kvm_para.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/mman.hrenamed from arch/frv/include/asm/mman.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/msgbuf.hrenamed from arch/frv/include/asm/msgbuf.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/param.hrenamed from arch/frv/include/asm/param.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/poll.hrenamed from arch/frv/include/asm/poll.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/posix_types.hrenamed from arch/frv/include/asm/posix_types.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/ptrace.h+60−0

This diff is large: its 61 lines aren’t shown here.

arch/frv/include/uapi/asm/registers.hrenamed from arch/frv/include/asm/registers.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/resource.hrenamed from arch/frv/include/asm/resource.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/sembuf.hrenamed from arch/frv/include/asm/sembuf.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/setup.h+18−0

This diff is large: its 19 lines aren’t shown here.

arch/frv/include/uapi/asm/shmbuf.hrenamed from arch/frv/include/asm/shmbuf.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/sigcontext.hrenamed from arch/frv/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/siginfo.hrenamed from arch/frv/include/asm/siginfo.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/signal.h+36−0

This diff is large: its 37 lines aren’t shown here.

arch/frv/include/uapi/asm/socket.hrenamed from arch/frv/include/asm/socket.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/sockios.hrenamed from arch/frv/include/asm/sockios.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/stat.hrenamed from arch/frv/include/asm/stat.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/statfs.hrenamed from arch/frv/include/asm/statfs.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/swab.hrenamed from arch/frv/include/asm/swab.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/termbits.hrenamed from arch/frv/include/asm/termbits.h+0−0

File renamed without changes.

arch/frv/include/uapi/asm/termios.h+46−0

This diff is large: its 47 lines aren’t shown here.

arch/frv/include/uapi/asm/types.h+11−0

This diff is large: its 12 lines aren’t shown here.

arch/frv/include/uapi/asm/unistd.h+348−0

This diff is large: its 349 lines aren’t shown here.

arch/frv/kernel/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/frv/kernel/entry.S+11−20

This diff is large: its 46 lines aren’t shown here.

arch/frv/kernel/frv_ksyms.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/frv/kernel/kernel_execve.S+0−33

This diff is large: its 34 lines aren’t shown here.

arch/frv/kernel/kernel_thread.S+0−77

This diff is large: its 78 lines aren’t shown here.

arch/frv/kernel/pm.c+9−10

This diff is large: its 33 lines aren’t shown here.

arch/frv/kernel/process.c+22−41

This diff is large: its 97 lines aren’t shown here.

arch/frv/kernel/setup.c+3−1

This diff is large: its 21 lines aren’t shown here.

arch/frv/kernel/signal.c+0−9

This diff is large: its 30 lines aren’t shown here.

arch/frv/mb93090-mb00/pci-dma-nommu.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/frv/mb93090-mb00/pci-irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/Kconfig+2−0

This diff is large: its 12 lines aren’t shown here.

arch/h8300/include/asm/Kbuild+4−0

This diff is large: its 6 lines aren’t shown here.

arch/h8300/include/asm/cache.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/h8300/include/asm/elf.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/h8300/include/asm/exec.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/h8300/include/asm/module.h+0−11

This diff is large: its 12 lines aren’t shown here.

arch/h8300/include/asm/thread_info.h+2−5

This diff is large: its 23 lines aren’t shown here.

arch/h8300/include/uapi/asm/Kbuild+3−0

This diff is large: its 4 lines aren’t shown here.

arch/h8300/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/h8300/kernel/signal.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/h8300/kernel/sys_h8300.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/h8300/kernel/timer/itu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/timer16.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/timer8.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/kernel/timer/tpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/h8300/platform/h8300h/irq.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/h8300/platform/h8s/irq.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/hexagon/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/hexagon/include/asm/Kbuild+1−3

This diff is large: its 14 lines aren’t shown here.

arch/hexagon/include/asm/atomic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/barrier.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/bitops.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/bitsperlong.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/cache.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/cacheflush.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/checksum.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/cmpxchg.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/delay.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/dma-mapping.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/dma.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/elf.h+3−2

This diff is large: its 19 lines aren’t shown here.

arch/hexagon/include/asm/exec.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/fixmap.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/hexagon_vm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/intrinsics.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/io.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/irq.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/irqflags.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/kgdb.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/linkage.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/mem-layout.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/mmu.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/mmu_context.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/module.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/page.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/param.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/perf_event.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/pgalloc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/pgtable.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/processor.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/ptrace.h+0−35

This diff is large: its 36 lines aren’t shown here.

arch/hexagon/include/asm/setup.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/sigcontext.h+0−33

This diff is large: its 34 lines aren’t shown here.

arch/hexagon/include/asm/signal.h+0−26

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/asm/smp.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/spinlock_types.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/string.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/suspend.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/swab.h+0−24

This diff is large: its 25 lines aren’t shown here.

arch/hexagon/include/asm/switch_to.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/syscall.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/thread_info.h+1−6

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/time.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/timer-regs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/timex.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/tlb.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/tlbflush.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/traps.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/uaccess.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/unistd.h+0−36

This diff is large: its 37 lines aren’t shown here.

arch/hexagon/include/asm/user.h+0−81

This diff is large: its 82 lines aren’t shown here.

arch/hexagon/include/asm/vdso.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/asm/vm_fault.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/asm/vm_mmu.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/include/uapi/asm/Kbuild+15−0

This diff is large: its 16 lines aren’t shown here.

arch/hexagon/include/uapi/asm/bitsperlong.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/uapi/asm/byteorder.hrenamed from arch/hexagon/include/asm/byteorder.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/include/uapi/asm/kvm_para.hrenamed from arch/hexagon/include/asm/kvm_para.h+0−0

File renamed without changes.

arch/hexagon/include/uapi/asm/param.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/uapi/asm/ptrace.h+35−0

This diff is large: its 36 lines aren’t shown here.

arch/hexagon/include/uapi/asm/registers.hrenamed from arch/hexagon/include/asm/registers.h+1−16

This diff is large: its 25 lines aren’t shown here.

arch/hexagon/include/uapi/asm/setup.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/uapi/asm/sigcontext.h+33−0

This diff is large: its 34 lines aren’t shown here.

arch/hexagon/include/uapi/asm/signal.h+26−0

This diff is large: its 27 lines aren’t shown here.

arch/hexagon/include/uapi/asm/swab.h+24−0

This diff is large: its 25 lines aren’t shown here.

arch/hexagon/include/uapi/asm/unistd.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/hexagon/include/uapi/asm/user.h+63−0

This diff is large: its 64 lines aren’t shown here.

arch/hexagon/kernel/asm-offsets.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/dma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/hexagon_ksyms.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/irq_cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/kgdb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/process.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/ptrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/reset.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/kernel/setup.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/signal.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/hexagon/kernel/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/stacktrace.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/syscall.c+3−4

This diff is large: its 32 lines aren’t shown here.

arch/hexagon/kernel/syscalltab.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/topology.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/trampoline.S+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/kernel/traps.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vdso.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_entry.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_events.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_init_segtable.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_ops.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_switch.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vm_vectors.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/kernel/vmlinux.lds.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/lib/checksum.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/lib/io.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/lib/memcpy.S+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/lib/memset.S+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/mm/cache.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/copy_from_user.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/copy_to_user.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/copy_user_template.S+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/mm/init.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/ioremap.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/pgalloc.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/mm/strnlen_user.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/hexagon/mm/uaccess.c+1−1

This diff is large: its 7 lines aren’t shown here.

arch/hexagon/mm/vm_fault.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/hexagon/mm/vm_tlb.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/Kconfig+3−1

This diff is large: its 11 lines aren’t shown here.

arch/ia64/hp/sim/simserial.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/ia64/include/asm/Kbuild+3−14

This diff is large: its 19 lines aren’t shown here.

arch/ia64/include/asm/exec.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/ia64/include/asm/gcc_intrin.h+3−612

This diff is large: its 625 lines aren’t shown here.

arch/ia64/include/asm/hugetlb.h+4−0

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/intrinsics.h+3−117

This diff is large: its 140 lines aren’t shown here.

arch/ia64/include/asm/kvm_para.h+0−36

This diff is large: its 37 lines aren’t shown here.

arch/ia64/include/asm/mman.h+3−9

This diff is large: its 27 lines aren’t shown here.

arch/ia64/include/asm/module.h+2−4

This diff is large: its 20 lines aren’t shown here.

arch/ia64/include/asm/numa.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/param.h+3−19

This diff is large: its 36 lines aren’t shown here.

arch/ia64/include/asm/perfmon.h+1−170

This diff is large: its 188 lines aren’t shown here.

arch/ia64/include/asm/ptrace.h+3−233

This diff is large: its 266 lines aren’t shown here.

arch/ia64/include/asm/siginfo.h+3−115

This diff is large: its 135 lines aren’t shown here.

arch/ia64/include/asm/signal.h+3−119

This diff is large: its 148 lines aren’t shown here.

arch/ia64/include/asm/termios.h+3−43

This diff is large: its 63 lines aren’t shown here.

arch/ia64/include/asm/thread_info.h+0−2

This diff is large: its 16 lines aren’t shown here.

arch/ia64/include/asm/types.h+3−16

This diff is large: its 43 lines aren’t shown here.

arch/ia64/include/asm/unistd.h+3−321

This diff is large: its 341 lines aren’t shown here.

arch/ia64/include/asm/ustack.h+1−10

This diff is large: its 22 lines aren’t shown here.

arch/ia64/include/asm/xen/interface.h+7−1

This diff is large: its 29 lines aren’t shown here.

arch/ia64/include/uapi/asm/Kbuild+50−0

This diff is large: its 51 lines aren’t shown here.

arch/ia64/include/uapi/asm/auxvec.hrenamed from arch/ia64/include/asm/auxvec.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/bitsperlong.hrenamed from arch/ia64/include/asm/bitsperlong.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/break.hrenamed from arch/ia64/include/asm/break.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/byteorder.hrenamed from arch/ia64/include/asm/byteorder.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/cmpxchg.hrenamed from arch/ia64/include/asm/cmpxchg.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/errno.hrenamed from arch/ia64/include/asm/errno.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/fcntl.hrenamed from arch/ia64/include/asm/fcntl.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/fpu.hrenamed from arch/ia64/include/asm/fpu.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/gcc_intrin.h+618−0

This diff is large: its 619 lines aren’t shown here.

arch/ia64/include/uapi/asm/ia64regs.hrenamed from arch/ia64/include/asm/ia64regs.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/intel_intrin.hrenamed from arch/ia64/include/asm/intel_intrin.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/intrinsics.h+124−0

This diff is large: its 125 lines aren’t shown here.

arch/ia64/include/uapi/asm/ioctl.hrenamed from arch/ia64/include/asm/ioctl.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/ioctls.hrenamed from arch/ia64/include/asm/ioctls.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/ipcbuf.hrenamed from arch/frv/include/asm/ipcbuf.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/kvm.hrenamed from arch/ia64/include/asm/kvm.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/mman.h+16−0

This diff is large: its 17 lines aren’t shown here.

arch/ia64/include/uapi/asm/msgbuf.hrenamed from arch/ia64/include/asm/msgbuf.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/param.h+29−0

This diff is large: its 30 lines aren’t shown here.

arch/ia64/include/uapi/asm/perfmon.h+177−0

This diff is large: its 178 lines aren’t shown here.

arch/ia64/include/uapi/asm/perfmon_default_smpl.hrenamed from arch/ia64/include/asm/perfmon_default_smpl.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/poll.hrenamed from arch/ia64/include/asm/poll.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/posix_types.hrenamed from arch/ia64/include/asm/posix_types.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/ptrace.h+247−0

This diff is large: its 248 lines aren’t shown here.

arch/ia64/include/uapi/asm/ptrace_offsets.hrenamed from arch/ia64/include/asm/ptrace_offsets.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/resource.hrenamed from arch/ia64/include/asm/resource.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/rse.hrenamed from arch/ia64/include/asm/rse.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/sembuf.hrenamed from arch/ia64/include/asm/sembuf.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/setup.hrenamed from arch/ia64/include/asm/setup.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/shmbuf.hrenamed from arch/ia64/include/asm/shmbuf.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/sigcontext.hrenamed from arch/ia64/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/siginfo.h+121−0

This diff is large: its 122 lines aren’t shown here.

arch/ia64/include/uapi/asm/signal.h+127−0

This diff is large: its 128 lines aren’t shown here.

arch/ia64/include/uapi/asm/socket.hrenamed from arch/ia64/include/asm/socket.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/sockios.hrenamed from arch/ia64/include/asm/sockios.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/stat.hrenamed from arch/ia64/include/asm/stat.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/statfs.hrenamed from arch/ia64/include/asm/statfs.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/swab.hrenamed from arch/ia64/include/asm/swab.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/termbits.hrenamed from arch/ia64/include/asm/termbits.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/termios.h+50−0

This diff is large: its 51 lines aren’t shown here.

arch/ia64/include/uapi/asm/types.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/ia64/include/uapi/asm/ucontext.hrenamed from arch/ia64/include/asm/ucontext.h+0−0

File renamed without changes.

arch/ia64/include/uapi/asm/unistd.h+328−0

This diff is large: its 329 lines aren’t shown here.

arch/ia64/include/uapi/asm/ustack.h+12−0

This diff is large: its 13 lines aren’t shown here.

arch/ia64/kernel/machine_kexec.c+2−1

This diff is large: its 15 lines aren’t shown here.

arch/ia64/kernel/mca_drv.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/ia64/kernel/perfmon.c+25−27

This diff is large: its 108 lines aren’t shown here.

arch/ia64/kernel/process.c+4−4

This diff is large: its 28 lines aren’t shown here.

arch/ia64/kernel/signal.c+2−10

This diff is large: its 33 lines aren’t shown here.

arch/ia64/kernel/time.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/ia64/kvm/kvm-ia64.c+17−24

This diff is large: its 66 lines aren’t shown here.

arch/ia64/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/ia64/mm/init.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/ia64/xen/irq_xen.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/xen/irq_xen.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/xen/xencomm.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/m32r/Kconfig+2−0

This diff is large: its 14 lines aren’t shown here.

arch/m32r/include/asm/Kbuild+4−0

This diff is large: its 6 lines aren’t shown here.

arch/m32r/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/m32r/include/asm/exec.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/m32r/include/asm/module.h+0−10

This diff is large: its 11 lines aren’t shown here.

arch/m32r/include/asm/thread_info.h+2−7

This diff is large: its 28 lines aren’t shown here.

arch/m32r/include/uapi/asm/Kbuild+3−0

This diff is large: its 4 lines aren’t shown here.

arch/m32r/kernel/module.c+0−15

This diff is large: its 19 lines aren’t shown here.

arch/m32r/kernel/process.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/m32r/kernel/signal.c+0−3

This diff is large: its 15 lines aren’t shown here.

arch/m68k/Kconfig+6−0

This diff is large: its 23 lines aren’t shown here.

arch/m68k/amiga/platform.c+1−4

This diff is large: its 12 lines aren’t shown here.

arch/m68k/configs/amiga_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/apollo_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/atari_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/bvme6000_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/hp300_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/mac_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/multi_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/mvme147_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/mvme16x_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/q40_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/sun3_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/configs/sun3x_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/m68k/emu/nfcon.c+4−0

This diff is large: its 25 lines aren’t shown here.

arch/m68k/include/asm/Kbuild+2−2

This diff is large: its 14 lines aren’t shown here.

arch/m68k/include/asm/apollohw.h+0−12

This diff is large: its 19 lines aren’t shown here.

arch/m68k/include/asm/cacheflush.h+2−2

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/cacheflush_no.h+8−11

This diff is large: its 50 lines aren’t shown here.

arch/m68k/include/asm/elf.h+2−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/exec.h+0−6

This diff is large: its 7 lines aren’t shown here.

arch/m68k/include/asm/io.h+2−2

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/m5206sim.h+49−49

This diff is large: its 120 lines aren’t shown here.

arch/m68k/include/asm/m523xsim.h+16−8

This diff is large: its 38 lines aren’t shown here.

arch/m68k/include/asm/m5249sim.h+49−49

This diff is large: its 115 lines aren’t shown here.

arch/m68k/include/asm/m525xsim.h+35−35

This diff is large: its 77 lines aren’t shown here.

arch/m68k/include/asm/m5272sim.h+50−49

This diff is large: its 112 lines aren’t shown here.

arch/m68k/include/asm/m527xsim.h+50−34

This diff is large: its 112 lines aren’t shown here.

arch/m68k/include/asm/m528xsim.h+1−50

This diff is large: its 63 lines aren’t shown here.

arch/m68k/include/asm/m5307sim.h+68−68

This diff is large: its 160 lines aren’t shown here.

arch/m68k/include/asm/m532xsim.h+75−1114

This diff is large: its 1282 lines aren’t shown here.

arch/m68k/include/asm/m5407sim.h+55−55

This diff is large: its 131 lines aren’t shown here.

arch/m68k/include/asm/m54xxgpt.h+20−20

This diff is large: its 47 lines aren’t shown here.

arch/m68k/include/asm/m54xxsim.h+20−7

This diff is large: its 51 lines aren’t shown here.

arch/m68k/include/asm/m68360.h+4−4

This diff is large: its 12 lines aren’t shown here.

arch/m68k/include/asm/m68360_enet.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mcfslt.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/m68k/include/asm/module.h+2−4

This diff is large: its 18 lines aren’t shown here.

arch/m68k/include/asm/nettel.h+3−6

This diff is large: its 27 lines aren’t shown here.

arch/m68k/include/asm/page.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/m68k/include/asm/pgtable.h+2−2

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/processor.h+12−13

This diff is large: its 57 lines aren’t shown here.

arch/m68k/include/asm/ptrace.h+3−74

This diff is large: its 100 lines aren’t shown here.

arch/m68k/include/asm/q40_master.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/setup.h+1−81

This diff is large: its 106 lines aren’t shown here.

arch/m68k/include/asm/signal.h+1−117

This diff is large: its 145 lines aren’t shown here.

arch/m68k/include/asm/termios.h+1−43

This diff is large: its 64 lines aren’t shown here.

arch/m68k/include/asm/uaccess.h+2−2

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/unistd.h+4−354

This diff is large: its 379 lines aren’t shown here.

arch/m68k/include/uapi/asm/Kbuild+26−0

This diff is large: its 27 lines aren’t shown here.

arch/m68k/include/uapi/asm/a.out.hrenamed from arch/m68k/include/asm/a.out.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/auxvec.hrenamed from arch/m68k/include/asm/auxvec.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/byteorder.hrenamed from arch/m68k/include/asm/byteorder.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/cachectl.hrenamed from arch/m68k/include/asm/cachectl.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/fcntl.hrenamed from arch/m68k/include/asm/fcntl.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/ioctls.hrenamed from arch/m68k/include/asm/ioctls.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/msgbuf.hrenamed from arch/m68k/include/asm/msgbuf.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/param.hrenamed from arch/m68k/include/asm/param.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/poll.hrenamed from arch/m68k/include/asm/poll.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/posix_types.hrenamed from arch/m68k/include/asm/posix_types.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/ptrace.h+79−0

This diff is large: its 80 lines aren’t shown here.

arch/m68k/include/uapi/asm/sembuf.hrenamed from arch/m68k/include/asm/sembuf.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/setup.h+103−0

This diff is large: its 104 lines aren’t shown here.

arch/m68k/include/uapi/asm/shmbuf.hrenamed from arch/m68k/include/asm/shmbuf.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/sigcontext.hrenamed from arch/m68k/include/asm/sigcontext.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/signal.h+118−0

This diff is large: its 119 lines aren’t shown here.

arch/m68k/include/uapi/asm/socket.hrenamed from arch/m68k/include/asm/socket.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/sockios.hrenamed from arch/m68k/include/asm/sockios.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/stat.hrenamed from arch/m68k/include/asm/stat.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/swab.hrenamed from arch/m68k/include/asm/swab.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/termbits.hrenamed from arch/m68k/include/asm/termbits.h+0−0

File renamed without changes.

arch/m68k/include/uapi/asm/termios.h+44−0

This diff is large: its 45 lines aren’t shown here.

arch/m68k/include/uapi/asm/unistd.h+357−0

This diff is large: its 358 lines aren’t shown here.

arch/m68k/kernel/entry.S+16−0

This diff is large: its 23 lines aren’t shown here.

arch/m68k/kernel/process.c+24−80

This diff is large: its 148 lines aren’t shown here.

arch/m68k/kernel/sys_m68k.c+0−17

This diff is large: its 24 lines aren’t shown here.

arch/m68k/kernel/syscalltable.S+1−0

This diff is large: its 6 lines aren’t shown here.

arch/m68k/kernel/time.c+1−4

This diff is large: its 12 lines aren’t shown here.

arch/m68k/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/platform/68VZ328/Makefile+1−7

This diff is large: its 13 lines aren’t shown here.

arch/m68k/platform/coldfire/device.c+2−2

This diff is large: its 15 lines aren’t shown here.

arch/m68k/platform/coldfire/head.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/coldfire/intc-5249.c+5−5

This diff is large: its 28 lines aren’t shown here.

arch/m68k/platform/coldfire/intc-5272.c+10−10

This diff is large: its 61 lines aren’t shown here.

arch/m68k/platform/coldfire/intc.c+14−14

This diff is large: its 72 lines aren’t shown here.

arch/m68k/platform/coldfire/m523x.c+1−7

This diff is large: its 16 lines aren’t shown here.

arch/m68k/platform/coldfire/m5249.c+5−5

This diff is large: its 25 lines aren’t shown here.

arch/m68k/platform/coldfire/m525x.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/platform/coldfire/m5272.c+8−11

This diff is large: its 44 lines aren’t shown here.

arch/m68k/platform/coldfire/m527x.c+12−12

This diff is large: its 42 lines aren’t shown here.

arch/m68k/platform/coldfire/m528x.c+3−3

This diff is large: its 13 lines aren’t shown here.

arch/m68k/platform/coldfire/m532x.c+113−108

This diff is large: its 385 lines aren’t shown here.

arch/m68k/platform/coldfire/m54xx.c+7−9

This diff is large: its 33 lines aren’t shown here.

arch/m68k/platform/coldfire/nettel.c+2−2

This diff is large: its 17 lines aren’t shown here.

arch/m68k/platform/coldfire/pci.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/m68k/platform/coldfire/reset.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/platform/coldfire/sltimers.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/platform/coldfire/timers.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/m68k/q40/config.c+1−4

This diff is large: its 11 lines aren’t shown here.

arch/microblaze/Kconfig+4−5

This diff is large: its 33 lines aren’t shown here.

arch/microblaze/include/asm/Kbuild+2−0

This diff is large: its 6 lines aren’t shown here.

arch/microblaze/include/asm/atomic.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/microblaze/include/asm/clinkage.h+0−1

This diff is large: its 2 lines aren’t shown here.

arch/microblaze/include/asm/elf.h+2−1

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/include/asm/exec.h+0−14

This diff is large: its 15 lines aren’t shown here.

arch/microblaze/include/asm/io.h+94−0

This diff is large: its 106 lines aren’t shown here.

arch/microblaze/include/asm/mmu_context.h+1−1

This diff is large: its 7 lines aren’t shown here.

arch/microblaze/include/asm/page.h+4−5

This diff is large: its 32 lines aren’t shown here.

arch/microblaze/include/asm/pci.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/pgtable.h+0−6

This diff is large: its 13 lines aren’t shown here.

arch/microblaze/include/asm/thread_info.h+1−2

This diff is large: its 24 lines aren’t shown here.

arch/microblaze/include/uapi/asm/Kbuild+3−0

This diff is large: its 4 lines aren’t shown here.

arch/microblaze/kernel/head.S+9−5

This diff is large: its 30 lines aren’t shown here.

arch/microblaze/kernel/hw_exception_handler.S+36−25

This diff is large: its 148 lines aren’t shown here.

arch/microblaze/kernel/reset.c+12−9

This diff is large: its 73 lines aren’t shown here.

arch/microblaze/kernel/setup.c+7−8

This diff is large: its 36 lines aren’t shown here.

arch/microblaze/kernel/signal.c+2−13

This diff is large: its 37 lines aren’t shown here.

arch/microblaze/kernel/sys_microblaze.c+2−2

This diff is large: its 16 lines aren’t shown here.

arch/microblaze/kernel/timer.c+16−8

This diff is large: its 61 lines aren’t shown here.

arch/microblaze/mm/fault.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/Kbuild.platforms+1−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/Kconfig+42−22

This diff is large: its 162 lines aren’t shown here.

arch/mips/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/alchemy/Kconfig+4−46

This diff is large: its 70 lines aren’t shown here.

arch/mips/alchemy/Platform+4−18

This diff is large: its 30 lines aren’t shown here.

arch/mips/alchemy/devboards/Makefile+1−6

This diff is large: its 12 lines aren’t shown here.

arch/mips/alchemy/devboards/db1000.c+92−28

This diff is large: its 220 lines aren’t shown here.

arch/mips/alchemy/devboards/db1200.c+10−27

This diff is large: its 84 lines aren’t shown here.

arch/mips/alchemy/devboards/db1235.c+94−0

This diff is large: its 95 lines aren’t shown here.

arch/mips/alchemy/devboards/db1300.c+4−8

This diff is large: its 40 lines aren’t shown here.

arch/mips/alchemy/devboards/db1550.c+149−43

This diff is large: its 289 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1100.c+0−167

This diff is large: its 168 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1500.c+0−198

This diff is large: its 199 lines aren’t shown here.

arch/mips/alchemy/devboards/pb1550.c+0−244

This diff is large: its 245 lines aren’t shown here.

arch/mips/alchemy/devboards/platform.c+4−5

This diff is large: its 16 lines aren’t shown here.

arch/mips/ath79/clock.c+81−28

This diff is large: its 141 lines aren’t shown here.

arch/mips/ath79/dev-usb.c+56−36

This diff is large: its 157 lines aren’t shown here.

arch/mips/ath79/mach-db120.c+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/bcm63xx/Makefile+1−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/bcm63xx/boards/board_bcm963xx.c+20−8

This diff is large: its 79 lines aren’t shown here.

arch/mips/bcm63xx/clk.c+20−1

This diff is large: its 42 lines aren’t shown here.

arch/mips/bcm63xx/dev-usb-usbd.c+65−0

This diff is large: its 66 lines aren’t shown here.

arch/mips/bcm63xx/irq.c+17−5

This diff is large: its 63 lines aren’t shown here.

arch/mips/bcm63xx/setup.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/boot/compressed/uart-alchemy.c+0−4

This diff is large: its 10 lines aren’t shown here.

arch/mips/cavium-octeon/csrc-octeon.c+63−30

This diff is large: its 132 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-interrupt-rsl.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-l2c.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-irq.c+679−163

This diff is large: its 1215 lines aren’t shown here.

arch/mips/cavium-octeon/serial.c+15−15

This diff is large: its 56 lines aren’t shown here.

arch/mips/cavium-octeon/setup.c+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/configs/ar7_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/bcm47xx_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/cavium_octeon_defconfigrenamed from arch/mips/configs/cavium-octeon_defconfig+0−0

File renamed without changes.

arch/mips/configs/db1200_defconfig+0−170

This diff is large: its 171 lines aren’t shown here.

arch/mips/configs/db1235_defconfig+434−0

This diff is large: its 435 lines aren’t shown here.

arch/mips/configs/db1300_defconfig+0−391

This diff is large: its 392 lines aren’t shown here.

arch/mips/configs/db1550_defconfig+0−285

This diff is large: its 286 lines aren’t shown here.

arch/mips/configs/ip22_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/jazz_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/malta_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/markeins_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/mipssim_defconfig+0−64

This diff is large: its 65 lines aren’t shown here.

arch/mips/configs/nlm_xlp_defconfig+90−44

This diff is large: its 282 lines aren’t shown here.

arch/mips/configs/nlm_xlr_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/pb1100_defconfig+0−124

This diff is large: its 125 lines aren’t shown here.

arch/mips/configs/pb1500_defconfig+0−141

This diff is large: its 142 lines aren’t shown here.

arch/mips/configs/pb1550_defconfig+0−145

This diff is large: its 146 lines aren’t shown here.

arch/mips/configs/pnx8335_stb225_defconfigrenamed from arch/mips/configs/pnx8335-stb225_defconfig+0−0

File renamed without changes.

arch/mips/configs/pnx8550_jbs_defconfigrenamed from arch/mips/configs/pnx8550-jbs_defconfig+0−0

File renamed without changes.

arch/mips/configs/pnx8550_stb810_defconfigrenamed from arch/mips/configs/pnx8550-stb810_defconfig+0−0

File renamed without changes.

arch/mips/configs/rb532_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/rm200_defconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mips/configs/sb1250_swarm_defconfigrenamed from arch/mips/configs/sb1250-swarm_defconfig+0−0

File renamed without changes.

arch/mips/configs/sead3_defconfig+124−0

This diff is large: its 125 lines aren’t shown here.

arch/mips/include/asm/Kbuild+1−5

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/atomic.h+29−35

This diff is large: its 169 lines aren’t shown here.

arch/mips/include/asm/bitops.h+39−89

This diff is large: its 240 lines aren’t shown here.

arch/mips/include/asm/compat-signal.h+0−62

This diff is large: its 69 lines aren’t shown here.

arch/mips/include/asm/compat.h+69−2

This diff is large: its 99 lines aren’t shown here.

arch/mips/include/asm/cpu-features.h+10−2

This diff is large: its 31 lines aren’t shown here.

arch/mips/include/asm/cpu.h+4−0

This diff is large: its 25 lines aren’t shown here.

arch/mips/include/asm/delay.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/errno.h+1−119

This diff is large: its 130 lines aren’t shown here.

arch/mips/include/asm/gic.h+39−10

This diff is large: its 95 lines aren’t shown here.

arch/mips/include/asm/hugetlb.h+4−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/io.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/irqflags.h+75−132

This diff is large: its 283 lines aren’t shown here.

arch/mips/include/asm/kspd.h+0−4

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/ar71xx_regs.h+30−0

This diff is large: its 49 lines aren’t shown here.

arch/mips/include/asm/mach-ath79/cpu-feature-overrides.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-au1x00/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_cpu.h+83−10

This diff is large: its 243 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_dev_usb_usbd.h+17−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_io.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_iudma.h+38−0

This diff is large: its 39 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h+166−2

This diff is large: its 218 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h+5−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-bcm63xx/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/cpu-feature-overrides.h+2−1

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/irq.h+4−3

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/mach-cobalt/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-db1x00/bcsr.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-ip22/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-ip27/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-ip28/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-ip32/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/platform.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/timer.h+113−0

This diff is large: its 121 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/gpio.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h+2−0

This diff is large: its 7 lines aren’t shown here.

arch/mips/include/asm/mach-loongson/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-mipssim/war.h+0−25

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-netlogic/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-pnx833x/gpio.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-rc32434/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-rm/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-sead3/cpu-feature-overrides.hrenamed from arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h+10−5

This diff is large: its 56 lines aren’t shown here.

arch/mips/include/asm/mach-sead3/irq.h+9−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/include/asm/mach-sead3/kernel-entry-init.h+52−0

This diff is large: its 53 lines aren’t shown here.

arch/mips/include/asm/mach-sead3/war.h+25−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-sibyte/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-tx49xx/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-yosemite/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mips-boards/maltaint.h+7−48

This diff is large: its 77 lines aren’t shown here.

arch/mips/include/asm/mips-boards/sead3int.h+19−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/include/asm/mips-boards/simint.h+0−31

This diff is large: its 32 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+6−0

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/module.h+8−2

This diff is large: its 32 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-agl-defs.h+1013−1

This diff is large: its 2223 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-asm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-asxx-defs.h+247−53

This diff is large: its 625 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-ciu-defs.h+9520−1813

This diff is large: its 11680 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-ciu2-defs.h+7108−0

This diff is large: its 7109 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-cmd-queue.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-dbg-defs.h+36−3

This diff is large: its 88 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-dpi-defs.h+410−1

This diff is large: its 924 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-fpa-defs.h+1208−113

This diff is large: its 1514 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-fpa.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-gmxx-defs.h+4683−283

This diff is large: its 6625 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-gpio-defs.h+274−8

This diff is large: its 475 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-helper-board.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-helper.h+10−10

This diff is large: its 34 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-iob-defs.h+694−28

This diff is large: its 1175 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-ipd-defs.h+1081−30

This diff is large: its 1831 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-l2c-defs.h+1662−64

This diff is large: its 2896 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-l2d-defs.h+170−1

This diff is large: its 387 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-l2t-defs.h+104−1

This diff is large: its 172 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-led-defs.h+66−1

This diff is large: its 191 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-mdio.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-mio-defs.h+1895−14

This diff is large: its 4267 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-mixx-defs.h+233−1

This diff is large: its 521 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-mpi-defs.h+328−0

This diff is large: its 329 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-npei-defs.h+1742−1

This diff is large: its 3042 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-npi-defs.h+1197−63

This diff is large: its 1865 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pci-defs.h+893−16

This diff is large: its 1622 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pciercx-defs.h+1247−45

This diff is large: its 2679 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pcsx-defs.h+684−45

This diff is large: its 1004 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pcsxx-defs.h+533−41

This diff is large: its 820 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pemx-defs.h+287−1

This diff is large: its 652 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pescx-defs.h+245−1

This diff is large: its 469 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pexp-defs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pip-defs.h+2293−138

This diff is large: its 3165 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pip.h+3−3

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pko-defs.h+1842−151

This diff is large: its 2813 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pko.h+4−4

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pow-defs.h+529−1

This diff is large: its 1123 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-pow.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-rnm-defs.h+101−6

This diff is large: its 204 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-sli-defs.h+1350−1

This diff is large: its 2864 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-smix-defs.h+196−6

This diff is large: its 325 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-spi.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-spinlock.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-spxx-defs.h+192−33

This diff is large: its 441 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-sriox-defs.h+702−1

This diff is large: its 1357 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-srxx-defs.h+49−13

This diff is large: its 139 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-stxx-defs.h+133−33

This diff is large: its 350 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-uctlx-defs.h+241−27

This diff is large: its 432 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx-wqe.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/octeon/cvmx.h+18−18

This diff is large: its 43 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon-model.h+19−1

This diff is large: its 33 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon.h+5−1

This diff is large: its 25 lines aren’t shown here.

arch/mips/include/asm/pgtable-64.h+14−2

This diff is large: its 37 lines aren’t shown here.

arch/mips/include/asm/pgtable-bits.h+9−9

This diff is large: its 48 lines aren’t shown here.

arch/mips/include/asm/pgtable.h+6−6

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/pmc-sierra/msp71xx/cpu-feature-overrides.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/ptrace.h+1−106

This diff is large: its 124 lines aren’t shown here.

arch/mips/include/asm/setup.h+1−4

This diff is large: its 18 lines aren’t shown here.

arch/mips/include/asm/sibyte/bcm1480_int.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/bcm1480_l2c.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/bcm1480_mc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/bcm1480_regs.h+2−2

This diff is large: its 17 lines aren’t shown here.

arch/mips/include/asm/sibyte/bcm1480_scd.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_dma.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_genbus.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_int.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_l2c.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_ldt.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_mac.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_mc.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_regs.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_scd.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_smbus.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_syncser.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sibyte/sb1250_uart.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/sigcontext.h+1−65

This diff is large: its 82 lines aren’t shown here.

arch/mips/include/asm/siginfo.h+1−103

This diff is large: its 117 lines aren’t shown here.

arch/mips/include/asm/signal.h+1−114

This diff is large: its 133 lines aren’t shown here.

arch/mips/include/asm/socket.h+1−82

This diff is large: its 96 lines aren’t shown here.

arch/mips/include/asm/termios.h+1−72

This diff is large: its 93 lines aren’t shown here.

arch/mips/include/asm/thread_info.h+3−12

This diff is large: its 44 lines aren’t shown here.

arch/mips/include/asm/types.h+1−15

This diff is large: its 33 lines aren’t shown here.

arch/mips/include/asm/uasm.h+2−0

This diff is large: its 9 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