History

Merge tag 'v4.0-rc1' into perf/core, to refresh the tree

Ingo Molnar committed 11 years ago

Commit e9e4e442 parents 8a26ce4 c517d838443 files · +371440 −196089Browse files

Unified · Split

2930 files
  1. .gitignore +6 −0
  2. .mailmap +1 −0
  3. Documentation/00-INDEX +10 −18
  4. Documentation/ABI/stable/sysfs-class-tpm +11 −11
  5. Documentation/ABI/testing/configfs-usb-gadget-uvc +265 −0
  6. Documentation/ABI/testing/sysfs-bus-amba +20 −0
  7. Documentation/ABI/testing/sysfs-bus-event_source-devices-hv_24x7 +22 −0
  8. Documentation/ABI/testing/sysfs-bus-iio +199 −1
  9. Documentation/ABI/testing/sysfs-class-cxl +65 −2
  10. Documentation/ABI/testing/sysfs-class-power +42 −0
  11. Documentation/ABI/testing/sysfs-driver-input-axp-pek +11 −0
  12. Documentation/ABI/testing/sysfs-driver-samsung-laptop +8 −0
  13. Documentation/ABI/testing/sysfs-driver-toshiba_acpi +114 −0
  14. Documentation/ABI/testing/sysfs-fs-f2fs +6 −0
  15. Documentation/ABI/testing/sysfs-kernel-livepatch +44 −0
  16. Documentation/Changes +3 −3
  17. Documentation/CodingStyle +1 −0
  18. Documentation/DocBook/80211.tmpl +2 −3
  19. Documentation/DocBook/Makefile +1 −1
  20. Documentation/DocBook/crypto-API.tmpl +1 −1
  21. Documentation/DocBook/device-drivers.tmpl +0 −17
  22. Documentation/DocBook/drm.tmpl +122 −4
  23. Documentation/DocBook/kgdb.tmpl +44 −43
  24. Documentation/DocBook/media/v4l/controls.xml +5 −6
  25. Documentation/DocBook/media/v4l/pixfmt-srggb10.xml +1 −1
  26. Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml +1 −1
  27. Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml +1 −1
  28. Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml +99 −0
  29. Documentation/DocBook/media/v4l/pixfmt-srggb12.xml +1 −1
  30. Documentation/DocBook/media/v4l/pixfmt.xml +1 −0
  31. Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml +0 −8
  32. Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml +0 −8
  33. Documentation/DocBook/uio-howto.tmpl +7 −7
  34. Documentation/RCU/stallwarn.txt +15 −1
  35. Documentation/RCU/trace.txt +16 −16
  36. Documentation/SubmittingPatches +224 −228
  37. Documentation/acpi/enumeration.txt +1 −1
  38. Documentation/arm/00-INDEX +7 −5
  39. Documentation/arm/Atmel/README +124 −0
  40. Documentation/arm/Samsung-S3C24XX/DMA.txt +0 −46
  41. Documentation/arm/sti/stih418-overview.txt +20 −0
  42. Documentation/arm/sunxi/README +0 −1
  43. Documentation/arm64/legacy_instructions.txt +12 −0
  44. Documentation/blackfin/Makefile +2 −0
  45. Documentation/cachetlb.txt +4 −4
  46. Documentation/cgroups/00-INDEX +2 −0
  47. Documentation/cgroups/unified-hierarchy.txt +79 −0
  48. Documentation/clk.txt +2 −0
  49. Documentation/cpu-freq/intel-pstate.txt +8 −0
  50. Documentation/device-mapper/dm-crypt.txt +14 −1
  51. Documentation/devicetree/bindings/arm/armada-38x.txt +7 −0
  52. Documentation/devicetree/bindings/arm/atmel-at91.txt +17 −0
  53. Documentation/devicetree/bindings/arm/brcm-brcmstb.txt +3 −1
  54. Documentation/devicetree/bindings/arm/coresight.txt +0 −4
  55. Documentation/devicetree/bindings/arm/cpus.txt +1 −0
  56. Documentation/devicetree/bindings/arm/digicolor.txt +6 −0
  57. Documentation/devicetree/bindings/arm/exynos/power_domain.txt +1 −1
  58. Documentation/devicetree/bindings/arm/fsl.txt +20 −0
  59. Documentation/devicetree/bindings/arm/gic.txt +6 −2
  60. Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt +25 −0
  61. Documentation/devicetree/bindings/arm/l2cc.txt +10 −0
  62. Documentation/devicetree/bindings/arm/mediatek.txt +4 −0
  63. Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt +2 −0
  64. Documentation/devicetree/bindings/arm/msm/timer.txt +1 −1
  65. Documentation/devicetree/bindings/arm/rockchip.txt +10 −0
  66. Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt +16 −0
  67. Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt +12 −0
  68. Documentation/devicetree/bindings/arm/samsung/pmu.txt +1 −0
  69. Documentation/devicetree/bindings/arm/sirf.txt +4 −2
  70. Documentation/devicetree/bindings/arm/sprd.txt +11 −0
  71. Documentation/devicetree/bindings/arm/sti.txt +4 −0
  72. Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt +4 −1
  73. Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt +31 −1
  74. Documentation/devicetree/bindings/arm/versatile-sysreg.txt +10 −0
  75. Documentation/devicetree/bindings/ata/ahci-platform.txt +6 −3
  76. Documentation/devicetree/bindings/ata/cavium-compact-flash.txt +1 −1
  77. Documentation/devicetree/bindings/ata/tegra-sata.txt +3 −1
  78. Documentation/devicetree/bindings/bus/mvebu-mbus.txt +2 −2
  79. Documentation/devicetree/bindings/c6x/dscr.txt +1 −1
  80. Documentation/devicetree/bindings/clock/alphascale,acc.txt +115 −0
  81. Documentation/devicetree/bindings/clock/exynos7-clock.txt +15 −0
  82. Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt +6 −4
  83. Documentation/devicetree/bindings/clock/qcom,lcc.txt +21 −0
  84. Documentation/devicetree/bindings/clock/qoriq-clock.txt +3 −2
  85. Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +1 −0
  86. Documentation/devicetree/bindings/clock/renesas,r8a73a4-cpg-clocks.txt +33 −0
  87. Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt +8 −4
  88. Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt +35 −0
  89. Documentation/devicetree/bindings/clock/sunxi.txt +36 −7
  90. Documentation/devicetree/bindings/clock/ti,cdce706.txt +42 −0
  91. Documentation/devicetree/bindings/clock/ti/fapll.txt +33 −0
  92. Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt +110 −0
  93. Documentation/devicetree/bindings/dma/img-mdc-dma.txt +57 −0
  94. Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt +1 −4
  95. Documentation/devicetree/bindings/dma/snps-dma.txt +1 −1
  96. Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt +53 −0
  97. Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt +50 −0
  98. Documentation/devicetree/bindings/drm/msm/hdmi.txt +2 −0
  99. Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt +17 −0
  100. Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt +5 −5
  101. Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt +20 −0
  102. Documentation/devicetree/bindings/gpio/gpio-max732x.txt +59 −0
  103. Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt +1 −1
  104. Documentation/devicetree/bindings/gpio/gpio-sx150x.txt +40 −0
  105. Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt +32 −0
  106. Documentation/devicetree/bindings/gpio/gpio.txt +3 −2
  107. Documentation/devicetree/bindings/gpio/mrvl-gpio.txt +2 −2
  108. Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt +6 −2
  109. Documentation/devicetree/bindings/gpu/st,stih4xx.txt +29 −0
  110. Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt +37 −0
  111. Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt +3 −0
  112. Documentation/devicetree/bindings/i2c/i2c-ocores.txt +39 −3
  113. Documentation/devicetree/bindings/i2c/i2c-rk3x.txt +14 −0
  114. Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt +5 −5
  115. Documentation/devicetree/bindings/i2c/trivial-devices.txt +4 −3
  116. Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt +22 −0
  117. Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt +129 −0
  118. Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt +1 −1
  119. Documentation/devicetree/bindings/iio/sensorhub.txt +25 −0
  120. Documentation/devicetree/bindings/input/e3x0-button.txt +25 −0
  121. Documentation/devicetree/bindings/input/regulator-haptic.txt +21 −0
  122. Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt +62 −0
  123. Documentation/devicetree/bindings/input/touchscreen/sun4i.txt +3 −1
  124. Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt +15 −0
  125. Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt +17 −0
  126. Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt +21 −0
  127. Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt +5 −0
  128. Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt +28 −0
  129. Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt +41 −0
  130. Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt +3 −3
  131. Documentation/devicetree/bindings/leds/common.txt +30 −0
  132. Documentation/devicetree/bindings/mailbox/altera-mailbox.txt +49 −0
  133. Documentation/devicetree/bindings/media/atmel-isi.txt +1 −1
  134. Documentation/devicetree/bindings/media/i2c/nokia,smia.txt +63 −0
  135. Documentation/devicetree/bindings/media/s5p-mfc.txt +2 −2
  136. Documentation/devicetree/bindings/media/sunxi-ir.txt +3 −1
  137. Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt +61 −0
  138. Documentation/devicetree/bindings/media/video-interfaces.txt +4 −1
  139. Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt +44 −0
  140. Documentation/devicetree/bindings/mfd/atmel-matrix.txt +24 −0
  141. Documentation/devicetree/bindings/mfd/atmel-smc.txt +19 −0
  142. Documentation/devicetree/bindings/mfd/da9063.txt +93 −0
  143. Documentation/devicetree/bindings/mfd/max77686.txt +14 −0
  144. Documentation/devicetree/bindings/mfd/max77693.txt +45 −0
  145. Documentation/devicetree/bindings/mfd/qcom-rpm.txt +70 −0
  146. Documentation/devicetree/bindings/mips/cavium/cib.txt +43 −0
  147. Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt +40 −0
  148. Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt +4 −5
  149. Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt +25 −0
  150. Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt +25 −0
  151. Documentation/devicetree/bindings/mmc/mmc.txt +61 −1
  152. Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt +5 −1
  153. Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt +30 −0
  154. Documentation/devicetree/bindings/mmc/sdhci-pxa.txt +11 −4
  155. Documentation/devicetree/bindings/mmc/sunxi-mmc.txt +4 −4
  156. Documentation/devicetree/bindings/mtd/atmel-nand.txt +1 −1
  157. Documentation/devicetree/bindings/mtd/fsl-quadspi.txt +1 −1
  158. Documentation/devicetree/bindings/mtd/fsmc-nand.txt +1 −1
  159. Documentation/devicetree/bindings/mtd/gpmi-nand.txt +1 −1
  160. Documentation/devicetree/bindings/mtd/hisi504-nand.txt +47 −0
  161. Documentation/devicetree/bindings/mtd/mtd-physmap.txt +5 −0
  162. Documentation/devicetree/bindings/net/amd-xgbe-phy.txt +21 −0
  163. Documentation/devicetree/bindings/net/broadcom-systemport.txt +1 −1
  164. Documentation/devicetree/bindings/net/davicom-dm9000.txt +4 −0
  165. Documentation/devicetree/bindings/net/fsl-fec.txt +2 −0
  166. Documentation/devicetree/bindings/net/fsl-tsec-phy.txt +10 −1
  167. Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt +88 −0
  168. Documentation/devicetree/bindings/net/keystone-netcp.txt +197 −0
  169. Documentation/devicetree/bindings/net/nfc/st21nfca.txt +9 −2
  170. Documentation/devicetree/bindings/net/nfc/st21nfcb.txt +2 −2
  171. Documentation/devicetree/bindings/net/rockchip-dwmac.txt +68 −0
  172. Documentation/devicetree/bindings/net/sti-dwmac.txt +5 −9
  173. Documentation/devicetree/bindings/net/stmmac.txt +1 −0
  174. Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt +30 −0
  175. Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt +7 −0
  176. Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt +7 −0
  177. Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt +4 −4
  178. Documentation/devicetree/bindings/pci/versatile.txt +59 −0
  179. Documentation/devicetree/bindings/phy/phy-miphy28lp.txt +16 −27
  180. Documentation/devicetree/bindings/phy/phy-miphy365x.txt +8 −7
  181. Documentation/devicetree/bindings/phy/phy-stih407-usb.txt +2 −8
  182. Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt +37 −0
  183. Documentation/devicetree/bindings/phy/samsung-phy.txt +1 −1
  184. Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt +1 −0
  185. Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt +2 −1
  186. Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt +3 −1
  187. Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt +186 −0
  188. Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt +4 −5
  189. Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt +12 −0
  190. Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt +20 −15
  191. Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt +104 −0
  192. Documentation/devicetree/bindings/power/ltc2941.txt +27 −0
  193. Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt +99 −0
  194. Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt +8 −5
  195. Documentation/devicetree/bindings/power/rockchip-io-domain.txt +1 −1
  196. Documentation/devicetree/bindings/powerpc/fsl/fman.txt +70 −0
  197. Documentation/devicetree/bindings/powerpc/fsl/lbc.txt +13 −5
  198. Documentation/devicetree/bindings/pwm/img-pwm.txt +24 −0
  199. Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt +4 −3
  200. Documentation/devicetree/bindings/pwm/pwm-sun4i.txt +20 −0
  201. Documentation/devicetree/bindings/regulator/da9211.txt +6 −1
  202. Documentation/devicetree/bindings/regulator/isl9305.txt +2 −2
  203. Documentation/devicetree/bindings/regulator/mt6397-regulator.txt +217 −0
  204. Documentation/devicetree/bindings/regulator/pfuze100.txt +93 −1
  205. Documentation/devicetree/bindings/rtc/armada-380-rtc.txt +22 −0
  206. Documentation/devicetree/bindings/rtc/isil,isl12057.txt +78 −0
  207. Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt +3 −1
  208. Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt +16 −0
  209. Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt +36 −0
  210. Documentation/devicetree/bindings/serial/digicolor-usart.txt +27 −0
  211. Documentation/devicetree/bindings/serial/mtk-uart.txt +5 −1
  212. Documentation/devicetree/bindings/serial/of-serial.txt +16 −1
  213. Documentation/devicetree/bindings/serial/sirf-uart.txt +2 −2
  214. Documentation/devicetree/bindings/serial/sprd-uart.txt +7 −0
  215. Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt +23 −0
  216. Documentation/devicetree/bindings/soc/fsl/bman.txt +11 −1
  217. Documentation/devicetree/bindings/soc/fsl/qman.txt +12 −2
  218. Documentation/devicetree/bindings/sound/atmel_ac97c.txt +20 −0
  219. Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt +18 −0
  220. Documentation/devicetree/bindings/sound/designware-i2s.txt +31 −0
  221. Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt +23 −0
  222. Documentation/devicetree/bindings/sound/max98357a.txt +14 −0
  223. Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt +67 −0
  224. Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt +4 −1
  225. Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt +3 −1
  226. Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt +4 −1
  227. Documentation/devicetree/bindings/sound/pcm512x.txt +25 −3
  228. Documentation/devicetree/bindings/sound/samsung-i2s.txt +22 −0
  229. Documentation/devicetree/bindings/sound/simple-card.txt +5 −0
  230. Documentation/devicetree/bindings/sound/st,sta32x.txt +92 −0
  231. Documentation/devicetree/bindings/sound/tlv320aic3x.txt +9 −1
  232. Documentation/devicetree/bindings/sound/ts3a227e.txt +5 −0
  233. Documentation/devicetree/bindings/sound/wm8904.txt +1 −1
  234. Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt +3 −1
  235. Documentation/devicetree/bindings/spi/sh-msiof.txt +16 −0
  236. Documentation/devicetree/bindings/spi/spi-sirf.txt +41 −0
  237. Documentation/devicetree/bindings/spi/spi-st-ssc.txt +40 −0
  238. Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt +2 −2
  239. Documentation/devicetree/bindings/submitting-patches.txt +23 −0
  240. Documentation/devicetree/bindings/thermal/exynos-thermal.txt +21 −0
  241. Documentation/devicetree/bindings/thermal/tegra-soctherm.txt +3 −1
  242. Documentation/devicetree/bindings/thermal/thermal.txt +37 −37
  243. Documentation/devicetree/bindings/timer/digicolor-timer.txt +18 −0
  244. Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt +3 −1
  245. Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt +18 −0
  246. Documentation/devicetree/bindings/unittest.txt +58 −1
  247. Documentation/devicetree/bindings/usb/atmel-usb.txt +13 −2
  248. Documentation/devicetree/bindings/usb/dwc2.txt +4 −0
  249. Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt +4 −1
  250. Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt +4 −1
  251. Documentation/devicetree/bindings/usb/renesas_usbhs.txt +2 −0
  252. Documentation/devicetree/bindings/usb/usb-ehci.txt +1 −0
  253. Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt +9 −1
  254. Documentation/devicetree/bindings/vendor-prefixes.txt +20 −2
  255. Documentation/devicetree/bindings/video/bridge/ps8622.txt +31 −0
  256. Documentation/devicetree/bindings/video/bridge/ptn3460.txt +14 −2
  257. Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt +46 −0
  258. Documentation/devicetree/bindings/video/exynos7-decon.txt +68 −0
  259. Documentation/devicetree/bindings/video/exynos_dp.txt +12 −0
  260. Documentation/devicetree/bindings/video/exynos_dsim.txt +2 −2
  261. Documentation/devicetree/bindings/video/exynos_mixer.txt +1 −0
  262. Documentation/devicetree/bindings/video/renesas,du.txt +4 −0
  263. Documentation/devicetree/bindings/video/samsung-fimd.txt +2 −2
  264. Documentation/devicetree/bindings/video/ti,dra7-dss.txt +69 −0
  265. Documentation/devicetree/bindings/video/ti,opa362.txt +38 −0
  266. Documentation/devicetree/bindings/watchdog/gpio-wdt.txt +5 −0
  267. Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt +19 −0
  268. Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt +12 −0
  269. Documentation/devicetree/bindings/watchdog/mtk-wdt.txt +13 −0
  270. Documentation/devicetree/overlay-notes.txt +2 −2
  271. Documentation/dmaengine/00-INDEX +8 −0
  272. Documentation/dmaengine/provider.txt +55 −42
  273. Documentation/driver-model/bus.txt +1 −1
  274. Documentation/driver-model/devres.txt +2 −0
  275. Documentation/filesystems/00-INDEX +3 −2
  276. Documentation/filesystems/Locking +0 −5
  277. Documentation/filesystems/dax.txt +94 −0
  278. Documentation/filesystems/ext2.txt +3 −2
  279. Documentation/filesystems/ext4.txt +4 −0
  280. Documentation/filesystems/f2fs.txt +6 −0
  281. Documentation/filesystems/fiemap.txt +2 −1
  282. Documentation/filesystems/inotify.txt +3 −194
  283. Documentation/filesystems/nfs/nfs41-server.txt +8 −15
  284. Documentation/filesystems/nfs/pnfs-block-server.txt +37 −0
  285. Documentation/filesystems/nfs/pnfs.txt +7 −6
  286. Documentation/filesystems/ocfs2.txt +4 −0
  287. Documentation/filesystems/overlayfs.txt +28 −0
  288. Documentation/filesystems/proc.txt +61 −1
  289. Documentation/filesystems/seq_file.txt +6 −6
  290. Documentation/filesystems/vfs.txt +0 −7
  291. Documentation/filesystems/xfs.txt +10 −12
  292. Documentation/filesystems/xip.txt +0 −68
  293. Documentation/futex-requeue-pi.txt +4 −4
  294. Documentation/gdb-kernel-debugging.txt +160 −0
  295. Documentation/gpio/board.txt +1 −1
  296. Documentation/hwmon/ina2xx +19 −4
  297. Documentation/i2c/functionality +1 −1
  298. Documentation/ia64/paravirt_ops.txt +0 −137
  299. Documentation/input/alps.txt +66 −2
  300. Documentation/kasan.txt +170 −0
  301. Documentation/kbuild/makefiles.txt +10 −10
  302. Documentation/kernel-parameters.txt +29 −0
  303. Documentation/kprobes.txt +2 −1
  304. Documentation/locking/00-INDEX +16 −0
  305. Documentation/locking/lockdep-design.txt +1 −1
  306. Documentation/locking/lockstat.txt +5 −0
  307. Documentation/memory-barriers.txt +45 −1
  308. Documentation/misc-devices/mei/mei-client-bus.txt +10 −7
  309. Documentation/misc-devices/mei/mei.txt +67 −59
  310. Documentation/networking/00-INDEX +6 −2
  311. Documentation/networking/can.txt +1 −1
  312. Documentation/networking/filter.txt +2 −2
  313. Documentation/networking/ip-sysctl.txt +29 −0
  314. Documentation/networking/netlink_mmap.txt +3 −10
  315. Documentation/networking/nf_conntrack-sysctl.txt +2 −1
  316. Documentation/networking/openvswitch.txt +13 −0
  317. Documentation/networking/timestamping.txt +21 −0
  318. Documentation/networking/timestamping/txtimestamp.c +26 −12
  319. Documentation/nommu-mmap.txt +4 −4
  320. Documentation/oops-tracing.txt +2 −0
  321. Documentation/power/s2ram.txt +4 −0
  322. Documentation/rfkill.txt +3 −0
  323. Documentation/s390/Debugging390.txt +237 −256
  324. Documentation/scheduler/completion.txt +236 −0
  325. Documentation/security/keys.txt +0 −2
  326. Documentation/stable_kernel_rules.txt +34 −10
  327. Documentation/sysctl/kernel.txt +1 −0
  328. Documentation/sysctl/net.txt +8 −0
  329. Documentation/sysctl/vm.txt +7 −7
  330. Documentation/trace/coresight.txt +2 −2
  331. Documentation/trace/ftrace.txt +1 −1
  332. Documentation/usb/gadget-testing.txt +728 −0
  333. Documentation/usb/gadget_serial.txt +6 −2
  334. Documentation/usb/usbmon.txt +2 −2
  335. Documentation/video4linux/CQcam.txt +0 −205
  336. Documentation/video4linux/README.tlg2300 +0 −47
  337. Documentation/video4linux/v4l2-framework.txt +23 −2
  338. Documentation/video4linux/v4l2-pci-skeleton.c +1 −1
  339. Documentation/video4linux/w9966.txt +0 −33
  340. Documentation/virtual/00-INDEX +3 −0
  341. Documentation/virtual/kvm/api.txt +29 −6
  342. Documentation/virtual/kvm/devices/arm-vgic.txt +35 −2
  343. Documentation/virtual/kvm/devices/vm.txt +59 −0
  344. Documentation/virtual/paravirt_ops.txt +32 −0
  345. Documentation/vm/cleancache.txt +1 −1
  346. Documentation/vm/pagemap.txt +8 −0
  347. Documentation/vm/remap_file_pages.txt +3 −4
  348. Documentation/x86/x86_64/mm.txt +2 −0
  349. Documentation/x86/zero-page.txt +1 −1
  350. Kbuild +21 −40
  351. MAINTAINERS +221 −51
  352. Makefile +17 −9
  353. arch/alpha/include/asm/pgtable.h +1 −8
  354. arch/alpha/include/asm/thread_info.h +0 −5
  355. arch/alpha/include/asm/uaccess.h +43 −43
  356. arch/alpha/kernel/signal.c +1 −1
  357. arch/arc/boot/dts/abilis_tb10x.dtsi +1 −1
  358. arch/arc/include/asm/pgtable.h +4 −14
  359. arch/arc/include/asm/processor.h +0 −3
  360. arch/arc/include/asm/serial.h +5 −18
  361. arch/arc/include/asm/thread_info.h +0 −4
  362. arch/arc/kernel/devtree.c +24 −0
  363. arch/arc/kernel/entry.S +9 −5
  364. arch/arc/kernel/setup.c +6 −1
  365. arch/arc/kernel/signal.c +1 −1
  366. arch/arc/kernel/smp.c +1 −1
  367. arch/arm/Kconfig +8 −1
  368. arch/arm/Kconfig.debug +176 −44
  369. arch/arm/Makefile +1 −0
  370. arch/arm/boot/compressed/head.S +31 −10
  371. arch/arm/boot/dts/Makefile +223 −134
  372. arch/arm/boot/dts/alphascale-asm9260-devkit.dts +13 −0
  373. arch/arm/boot/dts/alphascale-asm9260.dtsi +63 −0
  374. arch/arm/boot/dts/am335x-evm.dts +1 −0
  375. arch/arm/boot/dts/am3517.dtsi +1 −0
  376. arch/arm/boot/dts/am4372.dtsi +16 −0
  377. arch/arm/boot/dts/am437x-gp-evm.dts +106 −0
  378. arch/arm/boot/dts/am437x-idk-evm.dts +405 −0
  379. arch/arm/boot/dts/am437x-sk-evm.dts +153 −64
  380. arch/arm/boot/dts/am43x-epos-evm.dts +53 −0
  381. arch/arm/boot/dts/am57xx-beagle-x15.dts +157 −0
  382. arch/arm/boot/dts/armada-370-db.dts +37 −3
  383. arch/arm/boot/dts/armada-370-mirabox.dts +37 −3
  384. arch/arm/boot/dts/armada-370-netgear-rn102.dts +38 −4
  385. arch/arm/boot/dts/armada-370-netgear-rn104.dts +38 −4
  386. arch/arm/boot/dts/armada-370-rd.dts +37 −3
  387. arch/arm/boot/dts/armada-370-synology-ds213j.dts +37 −4
  388. arch/arm/boot/dts/armada-370-xp.dtsi +37 −3
  389. arch/arm/boot/dts/armada-370.dtsi +37 −3
  390. arch/arm/boot/dts/armada-375-db.dts +37 −3
  391. arch/arm/boot/dts/armada-375.dtsi +38 −4
  392. arch/arm/boot/dts/armada-380.dtsi +38 −5
  393. arch/arm/boot/dts/armada-385-db-ap.dts +178 −0
  394. arch/arm/boot/dts/armada-385-rd.dts +0 −97
  395. arch/arm/boot/dts/armada-385.dtsi +38 −5
  396. arch/arm/boot/dts/armada-388-db.dts +42 −7
  397. arch/arm/boot/dts/armada-388-gp.dts +414 −0
  398. arch/arm/boot/dts/armada-388-rd.dts +132 −0
  399. arch/arm/boot/dts/armada-388.dtsi +70 −0
  400. arch/arm/boot/dts/armada-38x.dtsi +134 −9
  401. arch/arm/boot/dts/armada-xp-axpwifiap.dts +41 −5
  402. arch/arm/boot/dts/armada-xp-db.dts +37 −3
  403. arch/arm/boot/dts/armada-xp-gp.dts +37 −3
  404. arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts +37 −4
  405. arch/arm/boot/dts/armada-xp-matrix.dts +37 −3
  406. arch/arm/boot/dts/armada-xp-mv78230.dtsi +37 −3
  407. arch/arm/boot/dts/armada-xp-mv78260.dtsi +37 −3
  408. arch/arm/boot/dts/armada-xp-mv78460.dtsi +37 −3
  409. arch/arm/boot/dts/armada-xp-netgear-rn2120.dts +38 −4
  410. arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts +37 −3
  411. arch/arm/boot/dts/armada-xp-synology-ds414.dts +37 −4
  412. arch/arm/boot/dts/armada-xp.dtsi +37 −3
  413. arch/arm/boot/dts/at91rm9200.dtsi +12 −0
  414. arch/arm/boot/dts/at91rm9200ek.dts +4 −0
  415. arch/arm/boot/dts/at91sam9260.dtsi +5 −0
  416. arch/arm/boot/dts/at91sam9261.dtsi +5 −0
  417. arch/arm/boot/dts/at91sam9263.dtsi +32 −1
  418. arch/arm/boot/dts/at91sam9g20.dtsi +9 −0
  419. arch/arm/boot/dts/at91sam9g45.dtsi +5 −2
  420. arch/arm/boot/dts/at91sam9n12.dtsi +12 −0
  421. arch/arm/boot/dts/at91sam9n12ek.dts +1 −1
  422. arch/arm/boot/dts/at91sam9rl.dtsi +5 −0
  423. arch/arm/boot/dts/at91sam9x5.dtsi +5 −0
  424. arch/arm/boot/dts/at91sam9x5ek.dtsi +9 −0
  425. arch/arm/boot/dts/at91sam9xe.dtsi +60 −0
  426. arch/arm/boot/dts/atlas7-evb.dts +110 −0
  427. arch/arm/boot/dts/atlas7.dtsi +813 −0
  428. arch/arm/boot/dts/axp209.dtsi +97 −0
  429. arch/arm/boot/dts/bcm-cygnus.dtsi +20 −0
  430. arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts +67 −1
  431. arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts +60 −0
  432. arch/arm/boot/dts/bcm4708-netgear-r6250.dts +0 −1
  433. arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts +0 −1
  434. arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts +0 −1
  435. arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts +67 −1
  436. arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts +37 −0
  437. arch/arm/boot/dts/bcm63138.dtsi +3 −2
  438. arch/arm/boot/dts/berlin2.dtsi +1 −1
  439. arch/arm/boot/dts/berlin2cd.dtsi +6 −1
  440. arch/arm/boot/dts/berlin2q.dtsi +9 −1
  441. arch/arm/boot/dts/cx92755.dtsi +113 −0
  442. arch/arm/boot/dts/cx92755_equinox.dts +74 −0
  443. arch/arm/boot/dts/dm8168-evm.dts +129 −0
  444. arch/arm/boot/dts/dm816x-clocks.dtsi +250 −0
  445. arch/arm/boot/dts/dm816x.dtsi +392 −0
  446. arch/arm/boot/dts/dra7-evm.dts +31 −0
  447. arch/arm/boot/dts/dra7.dtsi +0 −2
  448. arch/arm/boot/dts/dra72-evm.dts +108 −0
  449. arch/arm/boot/dts/ethernut5.dts +1 −1
  450. arch/arm/boot/dts/exynos3250-monk.dts +60 −3
  451. arch/arm/boot/dts/exynos3250-rinato.dts +130 −3
  452. arch/arm/boot/dts/exynos3250.dtsi +103 −3
  453. arch/arm/boot/dts/exynos4.dtsi +136 −11
  454. arch/arm/boot/dts/exynos4210-origen.dts +1 −0
  455. arch/arm/boot/dts/exynos4210-smdkv310.dts +1 −0
  456. arch/arm/boot/dts/exynos4210-trats.dts +2 −0
  457. arch/arm/boot/dts/exynos4210-universal_c210.dts +2 −0
  458. arch/arm/boot/dts/exynos4210.dtsi +18 −0
  459. arch/arm/boot/dts/exynos4412-odroid-common.dtsi +27 −5
  460. arch/arm/boot/dts/exynos4412-odroidu3.dts +5 −3
  461. arch/arm/boot/dts/exynos4412-odroidx2.dts +6 −2
  462. arch/arm/boot/dts/exynos4412-origen.dts +1 −0
  463. arch/arm/boot/dts/exynos4412-smdk4412.dts +1 −0
  464. arch/arm/boot/dts/exynos4412-tiny4412.dts +4 −0
  465. arch/arm/boot/dts/exynos4412-trats2.dts +161 −52
  466. arch/arm/boot/dts/exynos4415.dtsi +34 −0
  467. arch/arm/boot/dts/exynos4x12.dtsi +19 −4
  468. arch/arm/boot/dts/exynos5250-snow.dts +16 −0
  469. arch/arm/boot/dts/exynos5250.dtsi +7 −5
  470. arch/arm/boot/dts/exynos5420-peach-pit.dts +99 −1
  471. arch/arm/boot/dts/exynos5420.dtsi +24 −3
  472. arch/arm/boot/dts/exynos5422-odroidxu3.dts +371 −0
  473. arch/arm/boot/dts/exynos5800-peach-pi.dts +100 −1
  474. arch/arm/boot/dts/hip01-ca9x2.dts +51 −0
  475. arch/arm/boot/dts/hip01.dtsi +110 −0
  476. arch/arm/boot/dts/imx27-apf27dev.dts +21 −0
  477. arch/arm/boot/dts/imx27.dtsi +1 −1
  478. arch/arm/boot/dts/imx28-evk.dts +0 −1
  479. arch/arm/boot/dts/imx51-apf51dev.dts +14 −0
  480. arch/arm/boot/dts/imx53.dtsi +10 −1
  481. arch/arm/boot/dts/imx6dl-udoo.dts +18 −0
  482. arch/arm/boot/dts/imx6dl.dtsi +1 −1
  483. arch/arm/boot/dts/imx6q-udoo.dts +1 −123
  484. arch/arm/boot/dts/imx6q.dtsi +3 −1
  485. arch/arm/boot/dts/imx6qdl-sabrelite.dtsi +33 −0
  486. arch/arm/boot/dts/imx6qdl-udoo.dtsi +134 −0
  487. arch/arm/boot/dts/imx6qdl.dtsi +2 −3
  488. arch/arm/boot/dts/imx6sx-sabreauto.dts +146 −0
  489. arch/arm/boot/dts/imx6sx-sdb.dts +39 −0
  490. arch/arm/boot/dts/kirkwood-6192.dtsi +2 −0
  491. arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts +173 −0
  492. arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +6 −2
  493. arch/arm/boot/dts/kirkwood-pogo_e02.dts +134 −0
  494. arch/arm/boot/dts/marco-evb.dts +0 −54
  495. arch/arm/boot/dts/marco.dtsi +0 −757
  496. arch/arm/boot/dts/mt6589-aquaris5.dts +11 −1
  497. arch/arm/boot/dts/mt6589.dtsi +50 −2
  498. arch/arm/boot/dts/mt6592.dtsi +48 −3
  499. arch/arm/boot/dts/mt8127-moose.dts +4 −0
  500. arch/arm/boot/dts/mt8127.dtsi +50 −2
  501. arch/arm/boot/dts/mt8135-evbp1.dts +4 −0
  502. arch/arm/boot/dts/mt8135.dtsi +52 −2
  503. arch/arm/boot/dts/omap3-cm-t3x.dtsi +58 −0
  504. arch/arm/boot/dts/omap3-cm-t3x30.dtsi +2 −1
  505. arch/arm/boot/dts/omap3-gta04.dtsi +84 −15
  506. arch/arm/boot/dts/omap3-n900.dts +1 −2
  507. arch/arm/boot/dts/omap3-n950-n9.dtsi +5 −0
  508. arch/arm/boot/dts/omap3-sbc-t3517.dts +4 −0
  509. arch/arm/boot/dts/omap3-sbc-t3530.dts +3 −7
  510. arch/arm/boot/dts/omap3-sbc-t3730.dts +3 −2
  511. arch/arm/boot/dts/qcom-apq8064-ifc6410.dts +12 −0
  512. arch/arm/boot/dts/qcom-ipq8064.dtsi +1 −1
  513. arch/arm/boot/dts/r7s72100-genmai.dts +1 −1
  514. arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts +1 −1
  515. arch/arm/boot/dts/r8a73a4-ape6evm.dts +169 −4
  516. arch/arm/boot/dts/r8a73a4.dtsi +10 −0
  517. arch/arm/boot/dts/r8a7740-armadillo800eva.dts +2 −2
  518. arch/arm/boot/dts/r8a7740.dtsi +110 −5
  519. arch/arm/boot/dts/r8a7779.dtsi +24 −15
  520. arch/arm/boot/dts/r8a7790-lager.dts +12 −9
  521. arch/arm/boot/dts/r8a7790.dtsi +35 −27
  522. arch/arm/boot/dts/r8a7791-henninger.dts +2 −2
  523. arch/arm/boot/dts/r8a7791-koelsch.dts +13 −10
  524. arch/arm/boot/dts/r8a7791.dtsi +39 −30
  525. arch/arm/boot/dts/r8a7794-alt.dts +2 −2
  526. arch/arm/boot/dts/r8a7794.dtsi +64 −18
  527. arch/arm/boot/dts/rk3066a-rayeager.dts +468 −0
  528. arch/arm/boot/dts/rk3288-evb-act8846.dts +27 −0
  529. arch/arm/boot/dts/rk3288-evb-rk808.dts +75 −2
  530. arch/arm/boot/dts/rk3288-evb.dtsi +44 −0
  531. arch/arm/boot/dts/rk3288-firefly-beta.dts +71 −0
  532. arch/arm/boot/dts/rk3288-firefly.dts +71 −0
  533. arch/arm/boot/dts/rk3288-firefly.dtsi +490 −0
  534. arch/arm/boot/dts/rk3288.dtsi +165 −0
  535. arch/arm/boot/dts/s5pv210-aquila.dts +1 −0
  536. arch/arm/boot/dts/s5pv210-goni.dts +1 −0
  537. arch/arm/boot/dts/s5pv210-smdkv210.dts +1 −0
  538. arch/arm/boot/dts/sama5d3.dtsi +29 −5
  539. arch/arm/boot/dts/sama5d3xcm.dtsi +1 −0
  540. arch/arm/boot/dts/sama5d3xmb.dtsi +37 −5
  541. arch/arm/boot/dts/sama5d4.dtsi +24 −1
  542. arch/arm/boot/dts/sh73a0-kzm9g-reference.dts +5 −1
  543. arch/arm/boot/dts/sh73a0.dtsi +375 −1
  544. arch/arm/boot/dts/spear13xx.dtsi +2 −2
  545. arch/arm/boot/dts/stih407-b2120.dts +1 −2
  546. arch/arm/boot/dts/stih407-family.dtsi +62 −0
  547. arch/arm/boot/dts/stih407.dtsi +151 −0
  548. arch/arm/boot/dts/stih410.dtsi +208 −0
  549. arch/arm/boot/dts/stih415.dtsi +6 −6
  550. arch/arm/boot/dts/stih416.dtsi +11 −11
  551. arch/arm/boot/dts/stih418-b2199.dts +78 −0
  552. arch/arm/boot/dts/stih418-clock.dtsi +348 −0
  553. arch/arm/boot/dts/stih418.dtsi +99 −0
  554. arch/arm/boot/dts/stihxxx-b2120.dtsi +12 −1
  555. arch/arm/boot/dts/sun4i-a10-a1000.dts +13 −10
  556. arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts +6 −4
  557. arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts +100 −0
  558. arch/arm/boot/dts/sun4i-a10-cubieboard.dts +47 −11
  559. arch/arm/boot/dts/sun4i-a10-hackberry.dts +12 −9
  560. arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts +105 −0
  561. arch/arm/boot/dts/sun4i-a10-inet97fv2.dts +5 −3
  562. arch/arm/boot/dts/sun4i-a10-marsboard.dts +183 −0
  563. arch/arm/boot/dts/sun4i-a10-mini-xplus.dts +7 −4
  564. arch/arm/boot/dts/sun4i-a10-mk802.dts +109 −0
  565. arch/arm/boot/dts/sun4i-a10-mk802ii.dts +113 −0
  566. arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts +12 −9
  567. arch/arm/boot/dts/sun4i-a10-pcduino.dts +65 −3
  568. arch/arm/boot/dts/sun4i-a10.dtsi +223 −53
  569. arch/arm/boot/dts/sun5i-a10s-mk802.dts +125 −0
  570. arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +58 −14
  571. arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts +14 −11
  572. arch/arm/boot/dts/sun5i-a10s.dtsi +84 −38
  573. arch/arm/boot/dts/sun5i-a13-hsg-h702.dts +46 −13
  574. arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +14 −11
  575. arch/arm/boot/dts/sun5i-a13-olinuxino.dts +64 −11
  576. arch/arm/boot/dts/sun5i-a13.dtsi +126 −30
  577. arch/arm/boot/dts/sun6i-a31-app4-evb1.dts +8 −5
  578. arch/arm/boot/dts/sun6i-a31-colombus.dts +12 −9
  579. arch/arm/boot/dts/sun6i-a31-hummingbird.dts +93 −92
  580. arch/arm/boot/dts/sun6i-a31-m9.dts +20 −11
  581. arch/arm/boot/dts/sun6i-a31.dtsi +173 −95
  582. arch/arm/boot/dts/sun6i-a31s-cs908.dts +104 −0
  583. arch/arm/boot/dts/sun6i-a31s.dtsi +58 −0
  584. arch/arm/boot/dts/sun7i-a20-bananapi.dts +16 −12
  585. arch/arm/boot/dts/sun7i-a20-bananapro.dts +262 −0
  586. arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +84 −17
  587. arch/arm/boot/dts/sun7i-a20-cubietruck.dts +96 −29
  588. arch/arm/boot/dts/sun7i-a20-hummingbird.dts +21 −17
  589. arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts +22 −18
  590. arch/arm/boot/dts/sun7i-a20-m3.dts +11 −7
  591. arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts +14 −10
  592. arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts +14 −10
  593. arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +69 −10
  594. arch/arm/boot/dts/sun7i-a20-pcduino3.dts +12 −9
  595. arch/arm/boot/dts/sun7i-a20.dtsi +282 −137
  596. arch/arm/boot/dts/sun8i-a23-ippo-q8h-v1.2.dts +59 −0
  597. arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts +28 −5
  598. arch/arm/boot/dts/sun8i-a23.dtsi +127 −69
  599. arch/arm/boot/dts/sun9i-a80-optimus.dts +70 −42
  600. arch/arm/boot/dts/sun9i-a80.dtsi +160 −32
  601. arch/arm/boot/dts/sunxi-common-regulators.dtsi +33 −32
  602. arch/arm/boot/dts/tegra124-jetson-tk1.dts +7 −0
  603. arch/arm/boot/dts/tegra124-nyan-big.dts +2 −0
  604. arch/arm/boot/dts/tegra20.dtsi +5 −5
  605. arch/arm/boot/dts/tegra30-cardhu.dtsi +1 −1
  606. arch/arm/boot/dts/tegra30.dtsi +1 −1
  607. arch/arm/boot/dts/versatile-ab.dts +5 −0
  608. arch/arm/boot/dts/versatile-pb.dts +37 −0
  609. arch/arm/boot/dts/vf-colibri-eval-v3.dtsi +1 −1
  610. arch/arm/boot/dts/vf-colibri.dtsi +2 −1
  611. arch/arm/boot/dts/vf500.dtsi +18 −5
  612. arch/arm/boot/dts/vf610-twr.dts +1 −1
  613. arch/arm/boot/dts/vfxxx.dtsi +37 −11
  614. arch/arm/boot/dts/zynq-7000.dtsi +28 −4
  615. arch/arm/boot/dts/zynq-parallella.dts +1 −1
  616. arch/arm/boot/dts/zynq-zc702.dts +224 −0
  617. arch/arm/boot/dts/zynq-zc706.dts +194 −0
  618. arch/arm/boot/dts/zynq-zed.dts +15 −0
  619. arch/arm/configs/at91_dt_defconfig +1 −9
  620. arch/arm/configs/efm32_defconfig +3 −2
  621. arch/arm/configs/exynos_defconfig +11 −0
  622. arch/arm/configs/hisi_defconfig +1 −0
  623. arch/arm/configs/imx_v6_v7_defconfig +35 −4
  624. arch/arm/configs/iop32x_defconfig +1 −0
  625. arch/arm/configs/iop33x_defconfig +1 −0
  626. arch/arm/configs/ixp4xx_defconfig +1 −0
  627. arch/arm/configs/keystone_defconfig +1 −0
  628. arch/arm/configs/kzm9g_defconfig +1 −1
  629. arch/arm/configs/lager_defconfig +0 −150
  630. arch/arm/configs/lpc32xx_defconfig +1 −0
  631. arch/arm/configs/multi_v7_defconfig +22 −0
  632. arch/arm/configs/mv78xx0_defconfig +1 −0
  633. arch/arm/configs/mvebu_v7_defconfig +2 −0
  634. arch/arm/configs/omap2plus_defconfig +84 −43
  635. arch/arm/configs/orion5x_defconfig +1 −0
  636. arch/arm/configs/rpc_defconfig +1 −0
  637. arch/arm/configs/sama5_defconfig +6 −2
  638. arch/arm/configs/shmobile_defconfig +30 −19
  639. arch/arm/configs/sunxi_defconfig +9 −1
  640. arch/arm/configs/tegra_defconfig +0 −2
  641. arch/arm/include/asm/bitrev.h +20 −0
  642. arch/arm/include/asm/compiler.h +14 −1
  643. arch/arm/include/asm/insn.h +0 −0
  644. arch/arm/include/asm/kprobes.h +32 −1
  645. arch/arm/include/asm/kvm_asm.h +1 −0
  646. arch/arm/include/asm/kvm_emulate.h +3 −2
  647. arch/arm/include/asm/kvm_host.h +6 −0
  648. arch/arm/include/asm/kvm_mmio.h +1 −0
  649. arch/arm/include/asm/kvm_mmu.h +21 −0
  650. arch/arm/include/asm/mach/pci.h +0 −6
  651. arch/arm/include/asm/outercache.h +3 −0
  652. arch/arm/include/asm/patch.h +0 −0
  653. arch/arm/include/asm/pci.h +0 −7
  654. arch/arm/include/asm/pgtable-2level.h +2 −1
  655. arch/arm/include/asm/pgtable-3level.h +5 −2
  656. arch/arm/include/asm/pgtable-nommu.h +1 −3
  657. arch/arm/include/asm/pgtable.h +3 −17
  658. arch/arm/include/asm/probes.h +15 −0
  659. arch/arm/include/asm/thread_info.h +0 −4
  660. arch/arm/include/asm/uaccess.h +48 −48
  661. arch/arm/include/asm/xen/page.h +1 −1
  662. arch/arm/include/debug/at91.S +11 −8
  663. arch/arm/include/debug/digicolor.S +35 −0
  664. arch/arm/include/debug/ks8695.S +7 −3
  665. arch/arm/include/debug/msm.S +6 −0
  666. arch/arm/include/debug/netx.S +11 −11
  667. arch/arm/include/debug/sirf.S +13 −17
  668. arch/arm/include/uapi/asm/kvm.h +2 −0
  669. arch/arm/kernel/Makefile +2 −14
  670. arch/arm/kernel/bios32.c +2 −6
  671. arch/arm/kernel/entry-armv.S +2 −1
  672. arch/arm/kernel/entry-v7m.S +2 −0
  673. arch/arm/kernel/ftrace.c +1 −2
  674. arch/arm/kernel/head.S +8 −1
  675. arch/arm/kernel/irq.c +2 −1
  676. arch/arm/kernel/jump_label.c +2 −3
  677. arch/arm/kernel/kgdb.c +1 −2
  678. arch/arm/kernel/module.c +1 −1
  679. arch/arm/kernel/patch.c +1 −2
  680. arch/arm/kernel/perf_event_cpu.c +1 −1
  681. arch/arm/kernel/signal.c +2 −2
  682. arch/arm/kernel/suspend.c +0 −4
  683. arch/arm/kvm/Kconfig +3 −0
  684. arch/arm/kvm/Makefile +1 −0
  685. arch/arm/kvm/arm.c +54 −4
  686. arch/arm/kvm/handle_exit.c +5 −3
  687. arch/arm/kvm/interrupts.S +11 −0
  688. arch/arm/kvm/mmu.c +262 −9
  689. arch/arm/kvm/psci.c +5 −12
  690. arch/arm/kvm/trace.h +7 −4
  691. arch/arm/lib/Makefile +2 −13
  692. arch/arm/lib/uaccess.S +0 −564
  693. arch/arm/mach-at91/Kconfig +27 −94
  694. arch/arm/mach-at91/Makefile +3 −17
  695. arch/arm/mach-at91/at91rm9200.c +36 −30
  696. arch/arm/mach-at91/at91rm9200_time.c +1 −1
  697. arch/arm/mach-at91/at91sam9.c +87 −0
  698. arch/arm/mach-at91/at91sam9260.c +0 −61
  699. arch/arm/mach-at91/at91sam9261.c +0 −42
  700. arch/arm/mach-at91/at91sam9263.c +0 −40
  701. arch/arm/mach-at91/at91sam9g45.c +0 −40
  702. arch/arm/mach-at91/at91sam9n12.c +0 −32
  703. arch/arm/mach-at91/at91sam9rl.c +0 −53
  704. arch/arm/mach-at91/at91sam9x5.c +0 −36
  705. arch/arm/mach-at91/board-dt-rm9200.c +0 −43
  706. arch/arm/mach-at91/board-dt-sam9.c +0 −36
  707. arch/arm/mach-at91/generic.h +15 −11
  708. arch/arm/mach-at91/include/mach/at91_pio.h +0 −80
  709. arch/arm/mach-at91/include/mach/at91_rtt.h +0 −35
  710. arch/arm/mach-at91/include/mach/cpu.h +14 −38
  711. arch/arm/mach-at91/include/mach/system_rev.h +0 −27
  712. arch/arm/mach-at91/pm.c +134 −26
  713. arch/arm/mach-at91/pm_slowclock.S +0 −9
  714. arch/arm/mach-at91/sama5.c +40 −6
  715. arch/arm/mach-at91/sama5d3.c +0 −41
  716. arch/arm/mach-at91/sama5d4.c +0 −64
  717. arch/arm/mach-at91/setup.c +0 −115
  718. arch/arm/mach-at91/soc.h +0 −77
  719. arch/arm/mach-at91/sysirq_mask.c +0 −75
  720. arch/arm/mach-axxia/axxia.c +1 −1
  721. arch/arm/mach-bcm/Kconfig +2 −2
  722. arch/arm/mach-bcm/brcmstb.c +1 −1
  723. arch/arm/mach-bcm/platsmp-brcmstb.c +63 −22
  724. arch/arm/mach-cns3xxx/pcie.c +27 −65
  725. arch/arm/mach-davinci/Kconfig +2 −0
  726. arch/arm/mach-davinci/Makefile +1 −1
  727. arch/arm/mach-davinci/board-dm646x-evm.c +0 −31
  728. arch/arm/mach-davinci/cdce949.c +0 −295
  729. arch/arm/mach-davinci/da8xx-dt.c +1 −1
  730. arch/arm/mach-davinci/include/mach/cdce949.h +0 −19
  731. arch/arm/mach-davinci/mux.c +2 −2
  732. arch/arm/mach-davinci/serial.c +0 −10
  733. arch/arm/mach-digicolor/Kconfig +7 −0
  734. arch/arm/mach-digicolor/Makefile +1 −0
  735. arch/arm/mach-digicolor/digicolor.c +18 −0
  736. arch/arm/mach-exynos/common.h +4 −0
  737. arch/arm/mach-exynos/exynos.c +8 −38
  738. arch/arm/mach-exynos/firmware.c +50 −0
  739. arch/arm/mach-exynos/include/mach/dma.h +0 −26
  740. arch/arm/mach-exynos/include/mach/map.h +0 −3
  741. arch/arm/mach-exynos/platsmp.c +1 −1
  742. arch/arm/mach-exynos/pm.c +131 −5
  743. arch/arm/mach-exynos/regs-pmu.h +3 −0
  744. arch/arm/mach-exynos/regs-sys.h +0 −22
  745. arch/arm/mach-exynos/sleep.S +46 −0
  746. arch/arm/mach-exynos/suspend.c +82 −8
  747. arch/arm/mach-highbank/highbank.c +1 −1
  748. arch/arm/mach-hisi/Kconfig +8 −0
  749. arch/arm/mach-hisi/core.h +4 −1
  750. arch/arm/mach-hisi/headsmp.S +1 −1
  751. arch/arm/mach-hisi/hisilicon.c +13 −3
  752. arch/arm/mach-hisi/hotplug.c +31 −0
  753. arch/arm/mach-hisi/platsmp.c +53 −3
  754. arch/arm/mach-imx/Makefile +1 −2
  755. arch/arm/mach-imx/clk-gate2.c +19 −4
  756. arch/arm/mach-imx/clk-imx6q.c +1 −1
  757. arch/arm/mach-imx/clk-pllv3.c +7 −3
  758. arch/arm/mach-imx/clk-vf610.c +6 −2
  759. arch/arm/mach-imx/clk.h +1 −0
  760. arch/arm/mach-imx/common.h +4 −0
  761. arch/arm/mach-imx/cpuidle-imx6sx.c +105 −0
  762. arch/arm/mach-imx/cpuidle.h +5 −0
  763. arch/arm/mach-imx/gpc.c +23 −2
  764. arch/arm/mach-imx/mach-imx6q.c +1 −1
  765. arch/arm/mach-imx/mach-imx6sx.c +1 −1
  766. arch/arm/mach-imx/mach-vf610.c +4 −1
  767. arch/arm/mach-imx/mmdc.c +1 −1
  768. arch/arm/mach-imx/pm-imx6.c +3 −4
  769. arch/arm/mach-integrator/pci_v3.c +5 −57
  770. arch/arm/mach-ixp4xx/include/mach/io.h +13 −6
  771. arch/arm/mach-keystone/keystone.c +1 −1
  772. arch/arm/mach-keystone/pm_domain.c +1 −1
  773. arch/arm/mach-ks8695/pci.c +6 −71
  774. arch/arm/mach-mediatek/Kconfig +21 −1
  775. arch/arm/mach-mmp/time.c +1 −1
  776. arch/arm/mach-mvebu/coherency.c +4 −56
  777. arch/arm/mach-mvebu/mvebu-soc-id.h +18 −0
  778. arch/arm/mach-mvebu/pmsu.c +1 −1
  779. arch/arm/mach-mvebu/system-controller.c +1 −1
  780. arch/arm/mach-nspire/nspire.c +1 −1
  781. arch/arm/mach-omap1/include/mach/debug-macro.S +0 −101
  782. arch/arm/mach-omap1/irq.c +0 −5
  783. arch/arm/mach-omap1/timer32k.c +0 −5
  784. arch/arm/mach-omap2/Kconfig +0 −12
  785. arch/arm/mach-omap2/Makefile +6 −10
  786. arch/arm/mach-omap2/am35xx-emac.c +0 −114
  787. arch/arm/mach-omap2/am35xx-emac.h +0 −15
  788. arch/arm/mach-omap2/am35xx.h +0 −46
  789. arch/arm/mach-omap2/board-am3517crane.c +0 −150
  790. arch/arm/mach-omap2/board-am3517evm.c +0 −373
  791. arch/arm/mach-omap2/board-cm-t3517.c +0 −335
  792. arch/arm/mach-omap2/board-generic.c +42 −0
  793. arch/arm/mach-omap2/board-omap3pandora.c +8 −6
  794. arch/arm/mach-omap2/cclock3xxx_data.c +0 −3692
  795. arch/arm/mach-omap2/clkt2xxx_apll.c +0 −142
  796. arch/arm/mach-omap2/clock.c +3 −16
  797. arch/arm/mach-omap2/clock.h +8 −7
  798. arch/arm/mach-omap2/clock2xxx.h +0 −11
  799. arch/arm/mach-omap2/clock_common_data.c +0 −11
  800. arch/arm/mach-omap2/clockdomain.h +1 −0
  801. arch/arm/mach-omap2/clockdomains81xx_data.c +194 −0
  802. arch/arm/mach-omap2/cm2xxx.c +0 −10
  803. arch/arm/mach-omap2/cm2xxx.h +0 −2
  804. arch/arm/mach-omap2/cm33xx.c +0 −21
  805. arch/arm/mach-omap2/cm81xx.h +61 −0
  806. arch/arm/mach-omap2/common.h +18 −1
  807. arch/arm/mach-omap2/control.h +4 −0
  808. arch/arm/mach-omap2/dpll3xxx.c +8 −5
  809. arch/arm/mach-omap2/dpll44xx.c +2 −20
  810. arch/arm/mach-omap2/id.c +2 −0
  811. arch/arm/mach-omap2/io.c +63 −29
  812. arch/arm/mach-omap2/omap-pm-noop.c +0 −196
  813. arch/arm/mach-omap2/omap-pm.h +0 −192
  814. arch/arm/mach-omap2/omap4-common.c +2 −16
  815. arch/arm/mach-omap2/omap_hwmod.c +3 −235
  816. arch/arm/mach-omap2/omap_hwmod.h +1 −16
  817. arch/arm/mach-omap2/omap_hwmod_3xxx_data.c +2 −31
  818. arch/arm/mach-omap2/omap_hwmod_43xx_data.c +2 −0
  819. arch/arm/mach-omap2/omap_hwmod_7xx_data.c +3 −2
  820. arch/arm/mach-omap2/omap_hwmod_81xx_data.c +1136 −0
  821. arch/arm/mach-omap2/omap_phy_internal.c +0 −35
  822. arch/arm/mach-omap2/pdata-quirks.c +0 −1
  823. arch/arm/mach-omap2/pmu.c +3 −2
  824. arch/arm/mach-omap2/powerdomain.c +0 −82
  825. arch/arm/mach-omap2/powerdomain.h +0 −5
  826. arch/arm/mach-omap2/powerdomains3xxx_data.c +1 −1
  827. arch/arm/mach-omap2/prm.h +1 −0
  828. arch/arm/mach-omap2/prm3xxx.c +1 −1
  829. arch/arm/mach-omap2/prm3xxx.h +0 −1
  830. arch/arm/mach-omap2/prm44xx.c +1 −1
  831. arch/arm/mach-omap2/prm44xx_54xx.h +0 −1
  832. arch/arm/mach-omap2/prm_common.c +15 −0
  833. arch/arm/mach-omap2/soc.h +2 −2
  834. arch/arm/mach-omap2/ti81xx-restart.c +34 −0
  835. arch/arm/mach-omap2/timer.c +2 −0
  836. arch/arm/mach-omap2/usb-musb.c +2 −10
  837. arch/arm/mach-omap2/usb.h +0 −2
  838. arch/arm/mach-omap2/voltage.c +0 −110
  839. arch/arm/mach-omap2/voltage.h +0 −13
  840. arch/arm/mach-prima2/Kconfig +11 −10
  841. arch/arm/mach-prima2/Makefile +0 −1
  842. arch/arm/mach-prima2/common.c +7 −19
  843. arch/arm/mach-prima2/common.h +0 −15
  844. arch/arm/mach-prima2/lluart.c +0 −35
  845. arch/arm/mach-prima2/platsmp.c +13 −39
  846. arch/arm/mach-prima2/rstc.c +12 −29
  847. arch/arm/mach-prima2/rtciobrg.c +0 −1
  848. arch/arm/mach-pxa/Kconfig +0 −6
  849. arch/arm/mach-pxa/corgi.c +3 −0
  850. arch/arm/mach-pxa/devices.c +1 −1
  851. arch/arm/mach-pxa/hx4700.c +2 −0
  852. arch/arm/mach-pxa/include/mach/irqs.h +3 −7
  853. arch/arm/mach-pxa/poodle.c +2 −0
  854. arch/arm/mach-pxa/spitz.c +2 −0
  855. arch/arm/mach-qcom/Kconfig +1 −2
  856. arch/arm/mach-qcom/platsmp.c +2 −2
  857. arch/arm/mach-qcom/scm-boot.c +5 −5
  858. arch/arm/mach-qcom/scm-boot.h +3 −1
  859. arch/arm/mach-qcom/scm.c +56 −29
  860. arch/arm/mach-realview/realview_eb.c +2 −1
  861. arch/arm/mach-realview/realview_pb1176.c +1 −1
  862. arch/arm/mach-realview/realview_pb11mp.c +1 −1
  863. arch/arm/mach-realview/realview_pba8.c +1 −1
  864. arch/arm/mach-realview/realview_pbx.c +1 −1
  865. arch/arm/mach-rockchip/Kconfig +2 −0
  866. arch/arm/mach-rockchip/Makefile +1 −0
  867. arch/arm/mach-rockchip/pm.c +260 −0
  868. arch/arm/mach-rockchip/pm.h +105 −0
  869. arch/arm/mach-rockchip/rockchip.c +3 −1
  870. arch/arm/mach-rockchip/sleep.S +73 −0
  871. arch/arm/mach-s3c24xx/Kconfig +0 −42
  872. arch/arm/mach-s3c24xx/Makefile +0 −7
  873. arch/arm/mach-s3c24xx/dma-s3c2410.c +0 −182
  874. arch/arm/mach-s3c24xx/dma-s3c2412.c +0 −150
  875. arch/arm/mach-s3c24xx/dma-s3c2440.c +0 −193
  876. arch/arm/mach-s3c24xx/dma-s3c2443.c +0 −179
  877. arch/arm/mach-s3c24xx/dma.c +0 −1465
  878. arch/arm/mach-s3c24xx/include/mach/dma.h +0 −159
  879. arch/arm/mach-s3c64xx/include/mach/dma.h +0 −15
  880. arch/arm/mach-s5pv210/s5pv210.c +1 −1
  881. arch/arm/mach-sa1100/Makefile +1 −1
  882. arch/arm/mach-sa1100/assabet.c +1 −1
  883. arch/arm/mach-sa1100/clock.c +12 −0
  884. arch/arm/mach-sa1100/collie.c +2 −3
  885. arch/arm/mach-sa1100/generic.c +6 −0
  886. arch/arm/mach-sa1100/h3100.c +1 −1
  887. arch/arm/mach-sa1100/h3600.c +1 −1
  888. arch/arm/mach-sa1100/include/mach/irqs.h +42 −31
  889. arch/arm/mach-sa1100/irq.c +4 −199
  890. arch/arm/mach-sa1100/pci-nanoengine.c +8 −86
  891. arch/arm/mach-sa1100/pm.c +1 −0
  892. arch/arm/mach-sa1100/time.c +0 −139
  893. arch/arm/mach-shmobile/Kconfig +7 −21
  894. arch/arm/mach-shmobile/Makefile +0 −3
  895. arch/arm/mach-shmobile/Makefile.boot +0 −1
  896. arch/arm/mach-shmobile/board-lager-reference.c +0 −39
  897. arch/arm/mach-shmobile/board-lager.c +0 −840
  898. arch/arm/mach-shmobile/clock-r8a7790.c +0 −459
  899. arch/arm/mach-shmobile/clock-sh73a0.c +10 −0
  900. arch/arm/mach-shmobile/pm-r8a7740.c +14 −0
  901. arch/arm/mach-shmobile/pm-rmobile.c +299 −15
  902. arch/arm/mach-shmobile/pm-rmobile.h +2 −1
  903. arch/arm/mach-shmobile/pm-sh7372.c +11 −0
  904. arch/arm/mach-shmobile/r8a7790.h +0 −28
  905. arch/arm/mach-shmobile/setup-emev2.c +1 −1
  906. arch/arm/mach-shmobile/setup-r8a7740.c +1 −1
  907. arch/arm/mach-shmobile/setup-r8a7790.c +1 −283
  908. arch/arm/mach-shmobile/setup-rcar-gen2.c +1 −3
  909. arch/arm/mach-shmobile/setup-sh73a0.c +5 −2
  910. arch/arm/mach-shmobile/smp-r8a7779.c +1 −1
  911. arch/arm/mach-sti/Kconfig +1 −0
  912. arch/arm/mach-sti/board-dt.c +1 −0
  913. arch/arm/mach-sunxi/platsmp.c +1 −1
  914. arch/arm/mach-sunxi/sunxi.c +11 −0
  915. arch/arm/mach-tegra/Kconfig +4 −0
  916. arch/arm/mach-tegra/tegra.c +0 −2
  917. arch/arm/mach-ux500/pm_domains.c +1 −1
  918. arch/arm/mach-versatile/core.c +0 −37
  919. arch/arm/mach-versatile/versatile_dt.c +1 −1
  920. arch/arm/mach-vexpress/Kconfig +1 −0
  921. arch/arm/mach-zynq/Kconfig +2 −0
  922. arch/arm/mach-zynq/common.c +0 −2
  923. arch/arm/mach-zynq/pm.c +1 −1
  924. arch/arm/mach-zynq/slcr.c +7 −28
  925. arch/arm/mm/Kconfig +1 −7
  926. arch/arm/mm/cache-l2x0.c +232 −211
  927. arch/arm/mm/context.c +11 −15
  928. arch/arm/mm/dma-mapping.c +4 −1
  929. arch/arm/mm/hugetlbpage.c +0 −6
  930. arch/arm/mm/init.c +1 −4
  931. arch/arm/mm/pgd.c +4 −0
  932. arch/arm/mm/proc-macros.S +1 −1
  933. arch/arm/plat-iop/pmu.c +1 −1
  934. arch/arm/plat-omap/dma.c +0 −8
  935. arch/arm/plat-samsung/Kconfig +0 −15
  936. arch/arm/plat-samsung/Makefile +0 −6
  937. arch/arm/plat-samsung/cpu.c +4 −0
  938. arch/arm/plat-samsung/dma-ops.c +0 −146
  939. arch/arm/plat-samsung/dma.c +0 −84
  940. arch/arm/plat-samsung/include/plat/dma-core.h +0 −22
  941. arch/arm/plat-samsung/include/plat/dma-ops.h +0 −69
  942. arch/arm/plat-samsung/include/plat/dma-pl330.h +0 −121
  943. arch/arm/plat-samsung/include/plat/dma-s3c24xx.h +0 −73
  944. arch/arm/plat-samsung/include/plat/dma.h +0 −130
  945. arch/arm/plat-samsung/include/plat/regs-dma.h +0 −151
  946. arch/arm/plat-samsung/s3c-dma-ops.c +0 −146
  947. arch/arm/probes/Makefile +7 −0
  948. arch/arm/probes/decode-arm.c +10 −8
  949. arch/arm/probes/decode-arm.h +5 −4
  950. arch/arm/probes/decode-thumb.c +9 −7
  951. arch/arm/probes/decode-thumb.h +7 −3
  952. arch/arm/probes/decode.c +73 −8
  953. arch/arm/probes/decode.h +11 −2
  954. arch/arm/probes/kprobes/Makefile +12 −0
  955. arch/arm/probes/kprobes/actions-arm.c +6 −5
  956. arch/arm/probes/kprobes/actions-common.c +2 −2
  957. arch/arm/probes/kprobes/actions-thumb.c +7 −3
  958. arch/arm/probes/kprobes/checkers-arm.c +192 −0
  959. arch/arm/probes/kprobes/checkers-common.c +101 −0
  960. arch/arm/probes/kprobes/checkers-thumb.c +110 −0
  961. arch/arm/probes/kprobes/checkers.h +55 −0
  962. arch/arm/probes/kprobes/core.c +37 −12
  963. arch/arm/probes/kprobes/core.h +9 −3
  964. arch/arm/probes/kprobes/opt-arm.c +370 −0
  965. arch/arm/probes/kprobes/test-arm.c +30 −10
  966. arch/arm/probes/kprobes/test-core.c +30 −16
  967. arch/arm/probes/kprobes/test-core.h +29 −6
  968. arch/arm/probes/kprobes/test-thumb.c +16 −4
  969. arch/arm/probes/uprobes/Makefile +1 −0
  970. arch/arm/probes/uprobes/actions-arm.c +3 −5
  971. arch/arm/probes/uprobes/core.c +4 −4
  972. arch/arm/probes/uprobes/core.h +0 −0
  973. arch/arm/xen/enlighten.c +2 −2
  974. arch/arm/xen/mm.c +1 −1
  975. arch/arm/xen/p2m.c +1 −1
  976. arch/arm64/Kconfig +70 −4
  977. arch/arm64/Kconfig.debug +23 −0
  978. arch/arm64/Makefile +0 −3
  979. arch/arm64/boot/dts/Makefile +3 −0
  980. arch/arm64/boot/dts/exynos/Makefile +5 −0
  981. arch/arm64/boot/dts/exynos/exynos7-espresso.dts +84 −0
  982. arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi +588 −0
  983. arch/arm64/boot/dts/exynos/exynos7.dtsi +530 −0
  984. arch/arm64/boot/dts/freescale/Makefile +5 −0
  985. arch/arm64/boot/dts/freescale/fsl-ls2085a-simu.dts +65 −0
  986. arch/arm64/boot/dts/freescale/fsl-ls2085a.dtsi +163 −0
  987. arch/arm64/boot/dts/mediatek/Makefile +5 −0
  988. arch/arm64/boot/dts/mediatek/mt8173-evb.dts +38 −0
  989. arch/arm64/boot/dts/mediatek/mt8173.dtsi +168 −0
  990. arch/arm64/configs/defconfig +5 −0
  991. arch/arm64/include/asm/bitrev.h +19 −0
  992. arch/arm64/include/asm/cacheflush.h +5 −0
  993. arch/arm64/include/asm/cachetype.h +23 −6
  994. arch/arm64/include/asm/compat.h +0 −1
  995. arch/arm64/include/asm/cpu_ops.h +4 −4
  996. arch/arm64/include/asm/cpufeature.h +2 −0
  997. arch/arm64/include/asm/cpuidle.h +6 −0
  998. arch/arm64/include/asm/cputype.h +17 −0
  999. arch/arm64/include/asm/dma-mapping.h +2 −9
  1000. arch/arm64/include/asm/efi.h +26 −4
  1001. arch/arm64/include/asm/esr.h +84 −34
  1002. arch/arm64/include/asm/fixmap.h +1 −0
  1003. arch/arm64/include/asm/fpsimdmacros.h +32 −11
  1004. arch/arm64/include/asm/hardirq.h +1 −1
  1005. arch/arm64/include/asm/io.h +3 −2
  1006. arch/arm64/include/asm/kvm_arm.h +4 −69
  1007. arch/arm64/include/asm/kvm_asm.h +1 −0
  1008. arch/arm64/include/asm/kvm_emulate.h +23 −15
  1009. arch/arm64/include/asm/kvm_host.h +7 −0
  1010. arch/arm64/include/asm/kvm_mmio.h +1 −0
  1011. arch/arm64/include/asm/kvm_mmu.h +21 −0
  1012. arch/arm64/include/asm/memory.h +9 −1
  1013. arch/arm64/include/asm/mmu.h +3 −2
  1014. arch/arm64/include/asm/pgtable-hwdef.h +1 −0
  1015. arch/arm64/include/asm/pgtable.h +13 −19
  1016. arch/arm64/include/asm/ptrace.h +7 −0
  1017. arch/arm64/include/asm/suspend.h +0 −2
  1018. arch/arm64/include/asm/syscalls.h +0 −30
  1019. arch/arm64/include/asm/thread_info.h +0 −4
  1020. arch/arm64/include/asm/uaccess.h +2 −2
  1021. arch/arm64/include/asm/unistd.h +3 −0
  1022. arch/arm64/include/uapi/asm/Kbuild +1 −0
  1023. arch/arm64/include/uapi/asm/kvm.h +9 −0
  1024. arch/arm64/include/uapi/asm/ucontext.h +5 −3
  1025. arch/arm64/kernel/Makefile +3 −3
  1026. arch/arm64/kernel/armv8_deprecated.c +157 −48
  1027. arch/arm64/kernel/asm-offsets.c +2 −1
  1028. arch/arm64/kernel/cacheinfo.c +128 −0
  1029. arch/arm64/kernel/cpuidle.c +20 −0
  1030. arch/arm64/kernel/cpuinfo.c +22 −12
  1031. arch/arm64/kernel/efi-stub.c +7 −7
  1032. arch/arm64/kernel/efi.c +113 −243
  1033. arch/arm64/kernel/entry.S +33 −33
  1034. arch/arm64/kernel/entry32.S +12 −22
  1035. arch/arm64/kernel/hw_breakpoint.c +1 −1
  1036. arch/arm64/kernel/insn.c +46 −1
  1037. arch/arm64/kernel/module.c +2 −2
  1038. arch/arm64/kernel/pci.c +0 −22
  1039. arch/arm64/kernel/psci.c +0 −2
  1040. arch/arm64/kernel/setup.c +2 −20
  1041. arch/arm64/kernel/signal.c +1 −1
  1042. arch/arm64/kernel/signal32.c +7 −4
  1043. arch/arm64/kernel/smp.c +1 −9
  1044. arch/arm64/kernel/suspend.c +0 −21
  1045. arch/arm64/kernel/sys.c +2 −3
  1046. arch/arm64/kernel/sys32.c +51 −0
  1047. arch/arm64/kernel/traps.c +48 −2
  1048. arch/arm64/kernel/vmlinux.lds.S +15 −2
  1049. arch/arm64/kvm/Kconfig +3 −0
  1050. arch/arm64/kvm/Makefile +2 −0
  1051. arch/arm64/kvm/emulate.c +3 −2
  1052. arch/arm64/kvm/handle_exit.c +31 −19
  1053. arch/arm64/kvm/hyp.S +31 −8
  1054. arch/arm64/kvm/inject_fault.c +7 −7
  1055. arch/arm64/kvm/sys_regs.c +51 −12
  1056. arch/arm64/kvm/trace.h +55 −0
  1057. arch/arm64/kvm/vgic-v3-switch.S +9 −5
  1058. arch/arm64/mm/dma-mapping.c +52 −64
  1059. arch/arm64/mm/dump.c +20 −10
  1060. arch/arm64/mm/fault.c +1 −1
  1061. arch/arm64/mm/hugetlbpage.c +0 −6
  1062. arch/arm64/mm/init.c +23 −2
  1063. arch/arm64/mm/ioremap.c +1 −0
  1064. arch/arm64/mm/mm.h +2 −0
  1065. arch/arm64/mm/mmu.c +213 −129
  1066. arch/arm64/mm/proc.S +9 −5
  1067. arch/avr32/configs/atngw100_defconfig +8 −22
  1068. arch/avr32/configs/atngw100_evklcd100_defconfig +8 −22
  1069. arch/avr32/configs/atngw100_evklcd101_defconfig +8 −22
  1070. arch/avr32/configs/atngw100_mrmt_defconfig +4 −19
  1071. arch/avr32/configs/atngw100mkii_defconfig +8 −22
  1072. arch/avr32/configs/atngw100mkii_evklcd100_defconfig +8 −22
  1073. arch/avr32/configs/atngw100mkii_evklcd101_defconfig +8 −22
  1074. arch/avr32/configs/atstk1002_defconfig +7 −23
  1075. arch/avr32/configs/atstk1003_defconfig +7 −19
  1076. arch/avr32/configs/atstk1004_defconfig +7 −20
  1077. arch/avr32/configs/atstk1006_defconfig +7 −23
  1078. arch/avr32/configs/favr-32_defconfig +6 −20
  1079. arch/avr32/configs/hammerhead_defconfig +4 −18
  1080. arch/avr32/configs/merisc_defconfig +3 −20
  1081. arch/avr32/configs/mimc200_defconfig +4 −14
  1082. arch/avr32/include/asm/pgtable.h +1 −26
  1083. arch/avr32/include/asm/thread_info.h +0 −4
  1084. arch/avr32/include/asm/uaccess.h +12 −12
  1085. arch/avr32/include/asm/unistd.h +1 −1
  1086. arch/avr32/include/uapi/asm/unistd.h +37 −4
  1087. arch/avr32/kernel/asm-offsets.c +0 −1
  1088. arch/avr32/kernel/signal.c +1 −1
  1089. arch/avr32/kernel/syscall-stubs.S +36 −0
  1090. arch/avr32/kernel/syscall_table.S +37 −0
  1091. arch/avr32/mach-at32ap/at32ap700x.c +1 −1
  1092. arch/avr32/mach-at32ap/include/mach/cpu.h +1 −25
  1093. arch/blackfin/include/asm/pgtable.h +0 −5
  1094. arch/blackfin/include/asm/thread_info.h +0 −4
  1095. arch/blackfin/include/asm/uaccess.h +16 −16
  1096. arch/blackfin/kernel/signal.c +1 −1
  1097. arch/blackfin/mach-bf527/boards/ad7160eval.c +14 −1
  1098. arch/blackfin/mach-bf527/boards/ezkit.c +14 −1
  1099. arch/blackfin/mach-bf548/boards/ezkit.c +6 −1
  1100. arch/blackfin/mach-bf609/boards/ezkit.c +6 −1
  1101. arch/blackfin/mach-common/ints-priority.c +0 −8
  1102. arch/c6x/include/asm/pgtable.h +0 −5
  1103. arch/c6x/include/asm/thread_info.h +0 −4
  1104. arch/c6x/kernel/signal.c +1 −1
  1105. arch/cris/Kconfig +4 −0
  1106. arch/cris/arch-v10/kernel/signal.c +1 −1
  1107. arch/cris/arch-v32/drivers/sync_serial.c +2 −2
  1108. arch/cris/arch-v32/kernel/signal.c +1 −1
  1109. arch/cris/arch-v32/kernel/time.c +4 −0
  1110. arch/cris/include/arch-v10/arch/mmu.h +0 −3
  1111. arch/cris/include/arch-v32/arch/mmu.h +0 −3
  1112. arch/cris/include/asm/pgtable.h +1 −5
  1113. arch/cris/include/asm/thread_info.h +0 −4
  1114. arch/cris/include/asm/uaccess.h +97 −73
  1115. arch/cris/kernel/crisksyms.c +1 −0
  1116. arch/cris/mm/fault.c +3 −1
  1117. arch/frv/include/asm/pgtable.h +6 −23
  1118. arch/frv/include/asm/segment.h +1 −1
  1119. arch/frv/include/asm/string.h +0 −1
  1120. arch/frv/include/asm/thread_info.h +0 −4
  1121. arch/frv/kernel/asm-offsets.c +0 −1
  1122. arch/frv/kernel/signal.c +1 −1
  1123. arch/frv/mb93090-mb00/pci-vdk.c +2 −2
  1124. arch/frv/mm/extable.c +0 −23
  1125. arch/hexagon/include/asm/pgtable.h +17 −45
  1126. arch/hexagon/include/asm/thread_info.h +0 −4
  1127. arch/hexagon/kernel/signal.c +1 −1
  1128. arch/ia64/include/asm/pgtable.h +6 −21
  1129. arch/ia64/include/asm/thread_info.h +0 −4
  1130. arch/ia64/include/asm/uaccess.h +6 −5
  1131. arch/ia64/include/uapi/asm/Kbuild +0 −1
  1132. arch/ia64/kernel/acpi-ext.c +3 −3
  1133. arch/ia64/kernel/acpi.c +0 −6
  1134. arch/ia64/kernel/signal.c +1 −1
  1135. arch/ia64/kernel/topology.c +2 −4
  1136. arch/ia64/mm/hugetlbpage.c +0 −6
  1137. arch/ia64/pci/pci.c +7 −7
  1138. arch/m32r/include/asm/pgtable-2level.h +0 −4
  1139. arch/m32r/include/asm/pgtable.h +1 −12
  1140. arch/m32r/include/asm/thread_info.h +0 −5
  1141. arch/m32r/include/asm/uaccess.h +44 −44
  1142. arch/m32r/kernel/signal.c +1 −1
  1143. arch/m68k/68360/commproc.c +4 −4
  1144. arch/m68k/68360/config.c +0 −13
  1145. arch/m68k/atari/atakeyb.c +2 −70
  1146. arch/m68k/atari/stdma.c +1 −1
  1147. arch/m68k/atari/time.c +1 −2
  1148. arch/m68k/configs/amiga_defconfig +62 −11
  1149. arch/m68k/configs/apollo_defconfig +62 −11
  1150. arch/m68k/configs/atari_defconfig +67 −11
  1151. arch/m68k/configs/bvme6000_defconfig +62 −11
  1152. arch/m68k/configs/hp300_defconfig +62 −11
  1153. arch/m68k/configs/mac_defconfig +61 −11
  1154. arch/m68k/configs/multi_defconfig +66 −12
  1155. arch/m68k/configs/mvme147_defconfig +62 −11
  1156. arch/m68k/configs/mvme16x_defconfig +61 −11
  1157. arch/m68k/configs/q40_defconfig +62 −11
  1158. arch/m68k/configs/sun3_defconfig +61 −11
  1159. arch/m68k/configs/sun3x_defconfig +62 −11
  1160. arch/m68k/include/asm/Kbuild +1 −0
  1161. arch/m68k/include/asm/atariints.h +0 −5
  1162. arch/m68k/include/asm/commproc.h +1 −23
  1163. arch/m68k/include/asm/futex.h +0 −94
  1164. arch/m68k/include/asm/macintosh.h +1 −1
  1165. arch/m68k/include/asm/mcf_pgtable.h +2 −21
  1166. arch/m68k/include/asm/motorola_pgtable.h +0 −15
  1167. arch/m68k/include/asm/pgtable_mm.h +1 −1
  1168. arch/m68k/include/asm/pgtable_no.h +0 −2
  1169. arch/m68k/include/asm/segment.h +1 −1
  1170. arch/m68k/include/asm/sun3_pgtable.h +0 −15
  1171. arch/m68k/include/asm/thread_info.h +0 −4
  1172. arch/m68k/include/asm/uaccess_mm.h +20 −20
  1173. arch/m68k/kernel/signal.c +2 −2
  1174. arch/m68k/mac/config.c +17 −15
  1175. arch/m68k/mvme147/config.c +0 −46
  1176. arch/m68k/mvme16x/rtc.c +1 −1
  1177. arch/metag/include/asm/pgtable.h +0 −6
  1178. arch/metag/include/asm/thread_info.h +1 −5
  1179. arch/metag/include/asm/uaccess.h +15 −10
  1180. arch/metag/kernel/signal.c +1 −1
  1181. arch/metag/mm/hugetlbpage.c +0 −6
  1182. arch/microblaze/boot/Makefile +1 −2
  1183. arch/microblaze/boot/dts/Makefile +0 −2
  1184. arch/microblaze/include/asm/delay.h +2 −2
  1185. arch/microblaze/include/asm/kgdb.h +3 −0
  1186. arch/microblaze/include/asm/linkage.h +1 −15
  1187. arch/microblaze/include/asm/pgalloc.h +7 −7
  1188. arch/microblaze/include/asm/pgtable.h +3 −12
  1189. arch/microblaze/include/asm/syscall.h +1 −1
  1190. arch/microblaze/include/asm/thread_info.h +0 −4
  1191. arch/microblaze/include/asm/uaccess.h +3 −3
  1192. arch/microblaze/include/asm/unistd.h +1 −1
  1193. arch/microblaze/include/uapi/asm/unistd.h +1 −0
  1194. arch/microblaze/kernel/Makefile +1 −1
  1195. arch/microblaze/kernel/cpu/cache.c +3 −3
  1196. arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c +1 −1
  1197. arch/microblaze/kernel/cpu/cpuinfo-static.c +1 −1
  1198. arch/microblaze/kernel/cpu/cpuinfo.c +7 −0
  1199. arch/microblaze/kernel/intc.c +4 −4
  1200. arch/microblaze/kernel/kgdb.c +6 −4
  1201. arch/microblaze/kernel/prom_parse.c +0 −35
  1202. arch/microblaze/kernel/ptrace.c +2 −2
  1203. arch/microblaze/kernel/reset.c +0 −1
  1204. arch/microblaze/kernel/signal.c +3 −3
  1205. arch/microblaze/kernel/syscall_table.S +1 −0
  1206. arch/microblaze/kernel/timer.c +1 −0
  1207. arch/microblaze/kernel/unwind.c +1 −1
  1208. arch/mips/Kconfig +79 −17
  1209. arch/mips/Kconfig.debug +0 −13
  1210. arch/mips/Makefile +37 −18
  1211. arch/mips/alchemy/common/clock.c +28 −5
  1212. arch/mips/alchemy/common/setup.c +3 −1
  1213. arch/mips/bcm3384/irq.c +1 −1
  1214. arch/mips/boot/Makefile +47 −2
  1215. arch/mips/boot/elf2ecoff.c +36 −32
  1216. arch/mips/cavium-octeon/Makefile +1 −0
  1217. arch/mips/cavium-octeon/crypto/Makefile +7 −0
  1218. arch/mips/cavium-octeon/crypto/octeon-crypto.c +66 −0
  1219. arch/mips/cavium-octeon/crypto/octeon-crypto.h +75 −0
  1220. arch/mips/cavium-octeon/crypto/octeon-md5.c +216 −0
  1221. arch/mips/cavium-octeon/csrc-octeon.c +10 −1
  1222. arch/mips/cavium-octeon/dma-octeon.c +2 −2
  1223. arch/mips/cavium-octeon/executive/cvmx-helper-board.c +1 −1
  1224. arch/mips/cavium-octeon/executive/octeon-model.c +6 −0
  1225. arch/mips/cavium-octeon/octeon-irq.c +823 −271
  1226. arch/mips/cavium-octeon/octeon-platform.c +63 −89
  1227. arch/mips/cavium-octeon/setup.c +49 −7
  1228. arch/mips/cavium-octeon/smp.c +0 −2
  1229. arch/mips/configs/malta_defconfig +4 −12
  1230. arch/mips/configs/malta_qemu_32r6_defconfig +193 −0
  1231. arch/mips/fw/arc/misc.c +16 −10
  1232. arch/mips/include/asm/Kbuild +1 −0
  1233. arch/mips/include/asm/asmmacro.h +10 −8
  1234. arch/mips/include/asm/atomic.h +21 −21
  1235. arch/mips/include/asm/bitops.h +32 −32
  1236. arch/mips/include/asm/checksum.h +19 −26
  1237. arch/mips/include/asm/cmpxchg.h +17 −17
  1238. arch/mips/include/asm/compiler.h +21 −3
  1239. arch/mips/include/asm/cpu-features.h +23 −5
  1240. arch/mips/include/asm/cpu-info.h +5 −0
  1241. arch/mips/include/asm/cpu-type.h +7 −0
  1242. arch/mips/include/asm/cpu.h +9 −2
  1243. arch/mips/include/asm/edac.h +2 −2
  1244. arch/mips/include/asm/elf.h +6 −4
  1245. arch/mips/include/asm/fpu.h +28 −18
  1246. arch/mips/include/asm/futex.h +12 −12
  1247. arch/mips/include/asm/fw/arc/hinv.h +3 −3
  1248. arch/mips/include/asm/gio_device.h +0 −2
  1249. arch/mips/include/asm/hazards.h +5 −4
  1250. arch/mips/include/asm/irqflags.h +4 −3
  1251. arch/mips/include/asm/kvm_host.h +1 −0
  1252. arch/mips/include/asm/local.h +3 −2
  1253. arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h +41 −23
  1254. arch/mips/include/asm/mach-cavium-octeon/war.h +3 −0
  1255. arch/mips/include/asm/mach-jz4740/jz4740_nand.h +0 −2
  1256. arch/mips/include/asm/mach-pmcs-msp71xx/msp_regops.h +12 −12
  1257. arch/mips/include/asm/mips-cm.h +2 −2
  1258. arch/mips/include/asm/mips-r2-to-r6-emul.h +96 −0
  1259. arch/mips/include/asm/mipsregs.h +19 −0
  1260. arch/mips/include/asm/mmu.h +3 −0
  1261. arch/mips/include/asm/mmu_context.h +8 −1
  1262. arch/mips/include/asm/module.h +4 −0
  1263. arch/mips/include/asm/octeon/cvmx-cmd-queue.h +1 −1
  1264. arch/mips/include/asm/octeon/cvmx-rst-defs.h +306 −0
  1265. arch/mips/include/asm/octeon/octeon-feature.h +15 −2
  1266. arch/mips/include/asm/octeon/octeon-model.h +85 −22
  1267. arch/mips/include/asm/octeon/octeon.h +118 −35
  1268. arch/mips/include/asm/pci.h +2 −0
  1269. arch/mips/include/asm/pgtable-32.h +1 −37
  1270. arch/mips/include/asm/pgtable-64.h +0 −9
  1271. arch/mips/include/asm/pgtable-bits.h +32 −60
  1272. arch/mips/include/asm/pgtable.h +27 −21
  1273. arch/mips/include/asm/processor.h +13 −6
  1274. arch/mips/include/asm/prom.h +0 −7
  1275. arch/mips/include/asm/ptrace.h +2 −2
  1276. arch/mips/include/asm/r4kcache.h +148 −2
  1277. arch/mips/include/asm/sgialib.h +6 −2
  1278. arch/mips/include/asm/siginfo.h +0 −29
  1279. arch/mips/include/asm/spinlock.h +26 −29
  1280. arch/mips/include/asm/spram.h +2 −2
  1281. arch/mips/include/asm/stackframe.h +4 −4
  1282. arch/mips/include/asm/switch_to.h +6 −3
  1283. arch/mips/include/asm/syscall.h +1 −7
  1284. arch/mips/include/asm/thread_info.h +2 −5
  1285. arch/mips/include/uapi/asm/inst.h +14 −10
  1286. arch/mips/include/uapi/asm/siginfo.h +3 −8
  1287. arch/mips/include/uapi/asm/unistd.h +9 −6
  1288. arch/mips/jz4740/board-qi_lb60.c +10 −1
  1289. arch/mips/jz4740/irq.c +3 −0
  1290. arch/mips/kernel/Makefile +2 −1
  1291. arch/mips/kernel/asm-offsets.c +2 −1
  1292. arch/mips/kernel/branch.c +250 −38
  1293. arch/mips/kernel/cevt-r4k.c +2 −6
  1294. arch/mips/kernel/cps-vec.S +8 −8
  1295. arch/mips/kernel/cpu-bugs64.c +7 −4
  1296. arch/mips/kernel/cpu-probe.c +27 −6
  1297. arch/mips/kernel/elf.c +188 −115
  1298. arch/mips/kernel/entry.S +21 −2
  1299. arch/mips/kernel/genex.S +1 −1
  1300. arch/mips/kernel/idle.c +1 −0
  1301. arch/mips/kernel/irq_cpu.c +4 −0
  1302. arch/mips/kernel/mips-r2-to-r6-emul.c +2378 −0
  1303. arch/mips/kernel/mips_ksyms.c +12 −0
  1304. arch/mips/kernel/module.c +1 −1
  1305. arch/mips/kernel/octeon_switch.S +138 −80
  1306. arch/mips/kernel/proc.c +7 −1
  1307. arch/mips/kernel/process.c +120 −12
  1308. arch/mips/kernel/ptrace.c +2 −0
  1309. arch/mips/kernel/r4k_fpu.S +9 −3
  1310. arch/mips/kernel/r4k_switch.S +8 −6
  1311. arch/mips/kernel/scall32-o32.S +2 −0
  1312. arch/mips/kernel/scall64-64.S +1 −0
  1313. arch/mips/kernel/scall64-n32.S +1 −0
  1314. arch/mips/kernel/scall64-o32.S +2 −0
  1315. arch/mips/kernel/signal.c +1 −1
  1316. arch/mips/kernel/signal32.c +1 −1
  1317. arch/mips/kernel/smp-cmp.c +2 −2
  1318. arch/mips/kernel/smp-mt.c +2 −1
  1319. arch/mips/kernel/smp.c +1 −1
  1320. arch/mips/kernel/spram.c +1 −0
  1321. arch/mips/kernel/syscall.c +1 −1
  1322. arch/mips/kernel/traps.c +56 −7
  1323. arch/mips/kernel/unaligned.c +386 −4
  1324. arch/mips/kvm/Kconfig +1 −0
  1325. arch/mips/kvm/locore.S +1 −1
  1326. arch/mips/kvm/mips.c +18 −5
  1327. arch/mips/lib/Makefile +1 −0
  1328. arch/mips/lib/memcpy.S +23 −0
  1329. arch/mips/lib/memset.S +47 −0
  1330. arch/mips/lib/mips-atomic.c +1 −1
  1331. arch/mips/math-emu/cp1emu.c +158 −11
  1332. arch/mips/mm/c-r4k.c +4 −2
  1333. arch/mips/mm/fault.c +20 −9
  1334. arch/mips/mm/gup.c +3 −5
  1335. arch/mips/mm/hugetlbpage.c +0 −18
  1336. arch/mips/mm/page.c +26 −4
  1337. arch/mips/mm/sc-mips.c +3 −1
  1338. arch/mips/mm/tlb-r4k.c +3 −3
  1339. arch/mips/mm/tlbex.c +4 −3
  1340. arch/mips/mm/uasm-micromips.c +0 −8
  1341. arch/mips/mm/uasm-mips.c +31 −7
  1342. arch/mips/mm/uasm.c +13 −2
  1343. arch/mips/mti-sead3/sead3-time.c +1 −1
  1344. arch/mips/netlogic/common/smp.c +5 −8
  1345. arch/mips/pci/pci-bcm1480.c +2 −2
  1346. arch/mips/pci/pci-octeon.c +2 −2
  1347. arch/mips/pci/pcie-octeon.c +6 −6
  1348. arch/mips/pmcs-msp71xx/Kconfig +3 −3
  1349. arch/mips/sgi-ip22/ip22-gio.c +0 −24
  1350. arch/mips/sgi-ip27/ip27-reset.c +4 −3
  1351. arch/mips/sgi-ip32/ip32-reset.c +4 −3
  1352. arch/mn10300/include/asm/cacheflush.h +0 −7
  1353. arch/mn10300/include/asm/pgtable.h +4 −15
  1354. arch/mn10300/include/asm/thread_info.h +0 −4
  1355. arch/mn10300/kernel/asm-offsets.c +0 −1
  1356. arch/mn10300/kernel/signal.c +1 −1
  1357. arch/mn10300/unit-asb2305/pci-iomap.c +0 −35
  1358. arch/mn10300/unit-asb2305/pci.c +2 −2
  1359. arch/nios2/Kconfig +9 −0
  1360. arch/nios2/Kconfig.debug +11 −0
  1361. arch/nios2/boot/Makefile +7 −0
  1362. arch/nios2/boot/compressed/Makefile +19 −0
  1363. arch/nios2/boot/compressed/console.c +125 −0
  1364. arch/nios2/boot/compressed/head.S +117 −0
  1365. arch/nios2/boot/compressed/misc.c +187 −0
  1366. arch/nios2/boot/compressed/vmlinux.lds.S +58 −0
  1367. arch/nios2/boot/compressed/vmlinux.scr +13 −11
  1368. arch/nios2/configs/3c120_defconfig +1 −0
  1369. arch/nios2/include/asm/kgdb.h +93 −0
  1370. arch/nios2/include/asm/pgtable-bits.h +0 −1
  1371. arch/nios2/include/asm/pgtable.h +2 −10
  1372. arch/nios2/include/asm/processor.h +0 −3
  1373. arch/nios2/include/asm/prom.h +22 −0
  1374. arch/nios2/kernel/Makefile +2 −0
  1375. arch/nios2/kernel/early_printk.c +118 −0
  1376. arch/nios2/kernel/entry.S +11 −1
  1377. arch/nios2/kernel/kgdb.c +171 −0
  1378. arch/nios2/kernel/prom.c +51 −1
  1379. arch/nios2/kernel/setup.c +4 −0
  1380. arch/nios2/mm/fault.c +37 −8
  1381. arch/openrisc/include/asm/pgtable.h +1 −9
  1382. arch/openrisc/include/asm/thread_info.h +0 −4
  1383. arch/openrisc/include/asm/uaccess.h +2 −2
  1384. arch/openrisc/kernel/head.S +0 −5
  1385. arch/openrisc/kernel/signal.c +1 −1
  1386. arch/parisc/Kconfig +0 −4
  1387. arch/parisc/Makefile +1 −2
  1388. arch/parisc/hpux/Makefile +0 −5
  1389. arch/parisc/hpux/entry_hpux.S +0 −546
  1390. arch/parisc/hpux/fs.c +0 −192
  1391. arch/parisc/hpux/gate.S +0 −107
  1392. arch/parisc/hpux/ioctl.c +0 −72
  1393. arch/parisc/hpux/sys_hpux.c +0 −963
  1394. arch/parisc/hpux/wrappers.S +0 −250
  1395. arch/parisc/include/asm/pgtable.h +1 −11
  1396. arch/parisc/include/asm/processor.h +0 −2
  1397. arch/parisc/include/asm/thread_info.h +0 −4
  1398. arch/parisc/include/asm/uaccess.h +58 −58
  1399. arch/parisc/include/uapi/asm/unistd.h +2 −479
  1400. arch/parisc/kernel/entry.S +0 −20
  1401. arch/parisc/kernel/module.c +1 −1
  1402. arch/parisc/kernel/process.c +3 −12
  1403. arch/parisc/kernel/signal.c +17 −17
  1404. arch/parisc/kernel/smp.c +0 −3
  1405. arch/parisc/kernel/syscall_table.S +1 −0
  1406. arch/parisc/mm/init.c +0 −72
  1407. arch/powerpc/Kconfig +1 −0
  1408. arch/powerpc/Makefile +3 −3
  1409. arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi +1 −0
  1410. arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi +1 −0
  1411. arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi +1 −0
  1412. arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi +3 −3
  1413. arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi +90 −0
  1414. arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi +41 −0
  1415. arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi +101 −0
  1416. arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi +41 −0
  1417. arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi +41 −0
  1418. arch/powerpc/boot/dts/mvme2500.dts +280 −0
  1419. arch/powerpc/boot/dts/t4240emu.dts +0 −281
  1420. arch/powerpc/configs/40x/acadia_defconfig +1 −20
  1421. arch/powerpc/configs/40x/ep405_defconfig +1 −17
  1422. arch/powerpc/configs/40x/kilauea_defconfig +3 −24
  1423. arch/powerpc/configs/40x/klondike_defconfig +0 −4
  1424. arch/powerpc/configs/40x/makalu_defconfig +1 −19
  1425. arch/powerpc/configs/40x/obs600_defconfig +3 −10
  1426. arch/powerpc/configs/40x/virtex_defconfig +4 −17
  1427. arch/powerpc/configs/40x/walnut_defconfig +1 −17
  1428. arch/powerpc/configs/44x/akebono_defconfig +0 −7
  1429. arch/powerpc/configs/44x/arches_defconfig +3 −20
  1430. arch/powerpc/configs/44x/bamboo_defconfig +1 −14
  1431. arch/powerpc/configs/44x/bluestone_defconfig +3 −13
  1432. arch/powerpc/configs/44x/canyonlands_defconfig +3 −23
  1433. arch/powerpc/configs/44x/currituck_defconfig +2 −11
  1434. arch/powerpc/configs/44x/ebony_defconfig +1 −16
  1435. arch/powerpc/configs/44x/eiger_defconfig +3 −23
  1436. arch/powerpc/configs/44x/icon_defconfig +0 −20
  1437. arch/powerpc/configs/44x/iss476-smp_defconfig +2 −14
  1438. arch/powerpc/configs/44x/katmai_defconfig +0 −15
  1439. arch/powerpc/configs/44x/rainier_defconfig +1 −14
  1440. arch/powerpc/configs/44x/redwood_defconfig +3 −23
  1441. arch/powerpc/configs/44x/sam440ep_defconfig +2 −17
  1442. arch/powerpc/configs/44x/sequoia_defconfig +3 −18
  1443. arch/powerpc/configs/44x/taishan_defconfig +1 −15
  1444. arch/powerpc/configs/44x/virtex5_defconfig +4 −17
  1445. arch/powerpc/configs/44x/warp_defconfig +2 −21
  1446. arch/powerpc/configs/52xx/cm5200_defconfig +2 −17
  1447. arch/powerpc/configs/52xx/lite5200b_defconfig +4 −16
  1448. arch/powerpc/configs/52xx/motionpro_defconfig +3 −19
  1449. arch/powerpc/configs/52xx/pcm030_defconfig +3 −18
  1450. arch/powerpc/configs/52xx/tqm5200_defconfig +4 −18
  1451. arch/powerpc/configs/83xx/asp8347_defconfig +4 −18
  1452. arch/powerpc/configs/83xx/kmeter1_defconfig +0 −4
  1453. arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +5 −20
  1454. arch/powerpc/configs/83xx/mpc8315_rdb_defconfig +4 −18
  1455. arch/powerpc/configs/83xx/mpc832x_mds_defconfig +5 −16
  1456. arch/powerpc/configs/83xx/mpc832x_rdb_defconfig +6 −17
  1457. arch/powerpc/configs/83xx/mpc834x_itx_defconfig +5 −15
  1458. arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig +5 −15
  1459. arch/powerpc/configs/83xx/mpc834x_mds_defconfig +6 −17
  1460. arch/powerpc/configs/83xx/mpc836x_mds_defconfig +5 −17
  1461. arch/powerpc/configs/83xx/mpc836x_rdk_defconfig +3 −13
  1462. arch/powerpc/configs/83xx/mpc837x_mds_defconfig +2 −13
  1463. arch/powerpc/configs/83xx/mpc837x_rdb_defconfig +2 −15
  1464. arch/powerpc/configs/83xx/sbc834x_defconfig +1 −15
  1465. arch/powerpc/configs/85xx/ge_imp3a_defconfig +1 −15
  1466. arch/powerpc/configs/85xx/kmp204x_defconfig +0 −3
  1467. arch/powerpc/configs/85xx/ksi8560_defconfig +3 −14
  1468. arch/powerpc/configs/85xx/mpc8540_ads_defconfig +4 −15
  1469. arch/powerpc/configs/85xx/mpc8560_ads_defconfig +5 −14
  1470. arch/powerpc/configs/85xx/mpc85xx_cds_defconfig +5 −16
  1471. arch/powerpc/configs/85xx/ppa8548_defconfig +22 −40
  1472. arch/powerpc/configs/85xx/sbc8548_defconfig +9 −31
  1473. arch/powerpc/configs/85xx/socrates_defconfig +3 −21
  1474. arch/powerpc/configs/85xx/stx_gp3_defconfig +1 −14
  1475. arch/powerpc/configs/85xx/tqm8540_defconfig +3 −14
  1476. arch/powerpc/configs/85xx/tqm8541_defconfig +3 −14
  1477. arch/powerpc/configs/85xx/tqm8548_defconfig +4 −18
  1478. arch/powerpc/configs/85xx/tqm8555_defconfig +3 −14
  1479. arch/powerpc/configs/85xx/tqm8560_defconfig +3 −14
  1480. arch/powerpc/configs/85xx/xes_mpc85xx_defconfig +4 −30
  1481. arch/powerpc/configs/86xx/gef_ppc9a_defconfig +8 −28
  1482. arch/powerpc/configs/86xx/gef_sbc310_defconfig +8 −27
  1483. arch/powerpc/configs/86xx/gef_sbc610_defconfig +10 −43
  1484. arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig +9 −23
  1485. arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig +7 −26
  1486. arch/powerpc/configs/86xx/sbc8641d_defconfig +11 −43
  1487. arch/powerpc/configs/adder875_defconfig +6 −21
  1488. arch/powerpc/configs/amigaone_defconfig +10 −26
  1489. arch/powerpc/configs/c2k_defconfig +20 −62
  1490. arch/powerpc/configs/cell_defconfig +7 −23
  1491. arch/powerpc/configs/celleb_defconfig +5 −16
  1492. arch/powerpc/configs/chrp32_defconfig +11 −26
  1493. arch/powerpc/configs/corenet32_smp_defconfig +8 −14
  1494. arch/powerpc/configs/corenet64_smp_defconfig +6 −1
  1495. arch/powerpc/configs/ep8248e_defconfig +3 −14
  1496. arch/powerpc/configs/ep88xc_defconfig +7 −22
  1497. arch/powerpc/configs/g5_defconfig +18 −45
  1498. arch/powerpc/configs/gamecube_defconfig +1 −14
  1499. arch/powerpc/configs/holly_defconfig +4 −11
  1500. arch/powerpc/configs/linkstation_defconfig +3 −25
  1501. arch/powerpc/configs/maple_defconfig +7 −19
  1502. arch/powerpc/configs/mgcoge_defconfig +3 −9
  1503. arch/powerpc/configs/mpc512x_defconfig +0 −2
  1504. arch/powerpc/configs/mpc5200_defconfig +3 −15
  1505. arch/powerpc/configs/mpc7448_hpc2_defconfig +4 −14
  1506. arch/powerpc/configs/mpc8272_ads_defconfig +6 −18
  1507. arch/powerpc/configs/mpc83xx_defconfig +0 −7
  1508. arch/powerpc/configs/mpc85xx_defconfig +24 −48
  1509. arch/powerpc/configs/mpc85xx_smp_defconfig +14 −49
  1510. arch/powerpc/configs/mpc866_ads_defconfig +6 −16
  1511. arch/powerpc/configs/mpc86xx_defconfig +10 −29
  1512. arch/powerpc/configs/mpc885_ads_defconfig +7 −22
  1513. arch/powerpc/configs/mvme5100_defconfig +0 −9
  1514. arch/powerpc/configs/pasemi_defconfig +0 −3
  1515. arch/powerpc/configs/pmac32_defconfig +14 −51
  1516. arch/powerpc/configs/ppc40x_defconfig +1 −16
  1517. arch/powerpc/configs/ppc44x_defconfig +0 −14
  1518. arch/powerpc/configs/ppc64_defconfig +5 −11
  1519. arch/powerpc/configs/ppc64e_defconfig +0 −4
  1520. arch/powerpc/configs/ppc6xx_defconfig +128 −220
  1521. arch/powerpc/configs/pq2fads_defconfig +7 −21
  1522. arch/powerpc/configs/ps3_defconfig +6 −12
  1523. arch/powerpc/configs/pseries_defconfig +20 −9
  1524. arch/powerpc/configs/pseries_le_defconfig +20 −11
  1525. arch/powerpc/configs/storcenter_defconfig +1 −11
  1526. arch/powerpc/configs/tqm8xx_defconfig +7 −25
  1527. arch/powerpc/configs/wii_defconfig +1 −17
  1528. arch/powerpc/include/asm/cacheflush.h +0 −7
  1529. arch/powerpc/include/asm/cputable.h +1 −1
  1530. arch/powerpc/include/asm/eeh.h +5 −8
  1531. arch/powerpc/include/asm/fsl_lbc.h +3 −0
  1532. arch/powerpc/include/asm/fsl_pamu_stash.h +2 −2
  1533. arch/powerpc/include/asm/kprobes.h +44 −19
  1534. arch/powerpc/include/asm/kvm_host.h +1 −0
  1535. arch/powerpc/include/asm/opal.h +9 −1
  1536. arch/powerpc/include/asm/pci-bridge.h +4 −0
  1537. arch/powerpc/include/asm/pgtable-ppc32.h +17 −17
  1538. arch/powerpc/include/asm/pgtable-ppc64.h +2 −5
  1539. arch/powerpc/include/asm/pgtable.h +14 −48
  1540. arch/powerpc/include/asm/pnv-pci.h +2 −2
  1541. arch/powerpc/include/asm/pte-40x.h +0 −1
  1542. arch/powerpc/include/asm/pte-44x.h +0 −5
  1543. arch/powerpc/include/asm/pte-8xx.h +4 −6
  1544. arch/powerpc/include/asm/pte-book3e.h +0 −1
  1545. arch/powerpc/include/asm/pte-common.h +17 −13
  1546. arch/powerpc/include/asm/pte-fsl-booke.h +0 −3
  1547. arch/powerpc/include/asm/pte-hash32.h +0 −1
  1548. arch/powerpc/include/asm/pte-hash64.h +0 −7
  1549. arch/powerpc/include/asm/rtas.h +1 −1
  1550. arch/powerpc/include/asm/smp.h +0 −1
  1551. arch/powerpc/include/asm/thread_info.h +1 −5
  1552. arch/powerpc/kernel/asm-offsets.c +13 −2
  1553. arch/powerpc/kernel/cacheinfo.c +6 −9
  1554. arch/powerpc/kernel/cputable.c +1 −0
  1555. arch/powerpc/kernel/eeh.c +24 −0
  1556. arch/powerpc/kernel/eeh_driver.c +2 −2
  1557. arch/powerpc/kernel/eeh_pe.c +13 −7
  1558. arch/powerpc/kernel/entry_32.S +3 −80
  1559. arch/powerpc/kernel/entry_64.S +12 −25
  1560. arch/powerpc/kernel/head_8xx.S +43 −80
  1561. arch/powerpc/kernel/machine_kexec_64.c +0 −2
  1562. arch/powerpc/kernel/paca.c +8 −0
  1563. arch/powerpc/kernel/pci_dn.c +1 −3
  1564. arch/powerpc/kernel/prom.c +0 −3
  1565. arch/powerpc/kernel/rtas.c +15 −7
  1566. arch/powerpc/kernel/signal_32.c +2 −2
  1567. arch/powerpc/kernel/signal_64.c +1 −1
  1568. arch/powerpc/kernel/smp.c +0 −14
  1569. arch/powerpc/kernel/syscalls.c +0 −14
  1570. arch/powerpc/kernel/time.c +37 −0
  1571. arch/powerpc/kernel/traps.c +0 −15
  1572. arch/powerpc/kvm/Kconfig +1 −0
  1573. arch/powerpc/kvm/book3s.c +1 −0
  1574. arch/powerpc/kvm/book3s_hv_interrupts.S +13 −13
  1575. arch/powerpc/kvm/book3s_hv_rm_mmu.c +1 −1
  1576. arch/powerpc/kvm/book3s_hv_rm_xics.c +4 −4
  1577. arch/powerpc/kvm/book3s_hv_rmhandlers.S +14 −14
  1578. arch/powerpc/kvm/book3s_xics.c +8 −8
  1579. arch/powerpc/kvm/booke.c +1 −0
  1580. arch/powerpc/kvm/powerpc.c +1 −2
  1581. arch/powerpc/lib/Makefile +12 −15
  1582. arch/powerpc/lib/memcmp_64.S +233 −0
  1583. arch/powerpc/lib/string.S +2 −0
  1584. arch/powerpc/mm/copro_fault.c +6 −2
  1585. arch/powerpc/mm/fault.c +9 −16
  1586. arch/powerpc/mm/fsl_booke_mmu.c +0 −2
  1587. arch/powerpc/mm/hugetlbpage.c +10 −2
  1588. arch/powerpc/mm/mmu_context_nohash.c +42 −1
  1589. arch/powerpc/mm/pgtable.c +8 −3
  1590. arch/powerpc/mm/pgtable_32.c +15 −4
  1591. arch/powerpc/mm/pgtable_64.c +3 −2
  1592. arch/powerpc/mm/slice.c +0 −29
  1593. arch/powerpc/mm/subpage-prot.c +2 −4
  1594. arch/powerpc/mm/tlb_nohash.c +8 −1
  1595. arch/powerpc/perf/core-fsl-emb.c +8 −2
  1596. arch/powerpc/perf/hv-24x7-catalog.h +25 −0
  1597. arch/powerpc/perf/hv-24x7-domains.h +28 −0
  1598. arch/powerpc/perf/hv-24x7.c +782 −11
  1599. arch/powerpc/perf/hv-24x7.h +6 −6
  1600. arch/powerpc/perf/hv-common.c +5 −5
  1601. arch/powerpc/perf/hv-common.h +10 −0
  1602. arch/powerpc/perf/hv-gpci-requests.h +261 −0
  1603. arch/powerpc/perf/hv-gpci.c +23 −0
  1604. arch/powerpc/perf/hv-gpci.h +12 −25
  1605. arch/powerpc/perf/req-gen/_begin.h +13 −0
  1606. arch/powerpc/perf/req-gen/_clear.h +5 −0
  1607. arch/powerpc/perf/req-gen/_end.h +4 −0
  1608. arch/powerpc/perf/req-gen/_request-begin.h +15 −0
  1609. arch/powerpc/perf/req-gen/_request-end.h +8 −0
  1610. arch/powerpc/perf/req-gen/perf.h +155 −0
  1611. arch/powerpc/platforms/44x/Kconfig +0 −1
  1612. arch/powerpc/platforms/512x/clock-commonclk.c +5 −6
  1613. arch/powerpc/platforms/83xx/usb.c +1 −2
  1614. arch/powerpc/platforms/85xx/Kconfig +6 −0
  1615. arch/powerpc/platforms/85xx/Makefile +1 −0
  1616. arch/powerpc/platforms/85xx/mvme2500.c +74 −0
  1617. arch/powerpc/platforms/cell/celleb_scc_pciex.c +2 −2
  1618. arch/powerpc/platforms/cell/smp.c +1 −1
  1619. arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c +0 −11
  1620. arch/powerpc/platforms/powermac/pci.c +39 −170
  1621. arch/powerpc/platforms/powernv/Makefile +1 −1
  1622. arch/powerpc/platforms/powernv/eeh-powernv.c +11 −0
  1623. arch/powerpc/platforms/powernv/opal-power.c +65 −0
  1624. arch/powerpc/platforms/powernv/opal.c +50 −22
  1625. arch/powerpc/platforms/powernv/pci-ioda.c +34 −7
  1626. arch/powerpc/platforms/powernv/pci.c +0 −30
  1627. arch/powerpc/platforms/ps3/mm.c +45 −32
  1628. arch/powerpc/platforms/ps3/platform.h +13 −0
  1629. arch/powerpc/platforms/pseries/Kconfig +10 −10
  1630. arch/powerpc/platforms/pseries/hotplug-cpu.c +1 −1
  1631. arch/powerpc/platforms/pseries/mobility.c +6 −16
  1632. arch/powerpc/platforms/pseries/ras.c +2 −0
  1633. arch/powerpc/sysdev/axonram.c +5 −14
  1634. arch/powerpc/sysdev/fsl_pci.c +7 −50
  1635. arch/powerpc/sysdev/indirect_pci.c +17 −8
  1636. arch/powerpc/sysdev/mpic.c +1 −1
  1637. arch/powerpc/sysdev/ppc4xx_hsta_msi.c +1 −1
  1638. arch/powerpc/sysdev/qe_lib/qe.c +3 −3
  1639. arch/powerpc/sysdev/xics/ics-opal.c +2 −4
  1640. arch/powerpc/sysdev/xics/ics-rtas.c +2 −5
  1641. arch/powerpc/sysdev/xics/xics-common.c +1 −1
  1642. arch/powerpc/xmon/xmon.c +2 −12
  1643. arch/s390/Kconfig +34 −8
  1644. arch/s390/Makefile +12 −0
  1645. arch/s390/boot/compressed/misc.c +1 −2
  1646. arch/s390/configs/default_defconfig +1 −1
  1647. arch/s390/configs/gcov_defconfig +1 −0
  1648. arch/s390/configs/performance_defconfig +1 −0
  1649. arch/s390/configs/zfcpdump_defconfig +1 −0
  1650. arch/s390/crypto/aes_s390.c +2 −2
  1651. arch/s390/defconfig +1 −6
  1652. arch/s390/hypfs/Makefile +1 −0
  1653. arch/s390/hypfs/hypfs.h +4 −3
  1654. arch/s390/hypfs/hypfs_dbfs.c +12 −37
  1655. arch/s390/hypfs/hypfs_diag0c.c +139 −0
  1656. arch/s390/hypfs/inode.c +33 −29
  1657. arch/s390/include/asm/cacheflush.h +0 −4
  1658. arch/s390/include/asm/cpu_mf.h +14 −0
  1659. arch/s390/include/asm/elf.h +5 −3
  1660. arch/s390/include/asm/ftrace.h +15 −0
  1661. arch/s390/include/asm/jump_label.h +6 −1
  1662. arch/s390/include/asm/kvm_host.h +44 −12
  1663. arch/s390/include/asm/pci_io.h +1 −0
  1664. arch/s390/include/asm/pgtable.h +9 −26
  1665. arch/s390/include/asm/processor.h +1 −4
  1666. arch/s390/include/asm/reset.h +2 −1
  1667. arch/s390/include/asm/sclp.h +9 −2
  1668. arch/s390/include/asm/setup.h +3 −0
  1669. arch/s390/include/asm/sigp.h +1 −0
  1670. arch/s390/include/asm/smp.h +4 −0
  1671. arch/s390/include/asm/string.h +0 −1
  1672. arch/s390/include/asm/sysinfo.h +20 −10
  1673. arch/s390/include/asm/thread_info.h +0 −4
  1674. arch/s390/include/asm/topology.h +10 −14
  1675. arch/s390/include/uapi/asm/hypfs.h +32 −3
  1676. arch/s390/include/uapi/asm/kvm.h +37 −0
  1677. arch/s390/kernel/Makefile +2 −2
  1678. arch/s390/kernel/base.S +2 −1
  1679. arch/s390/kernel/cache.c +89 −301
  1680. arch/s390/kernel/compat_signal.c +1 −1
  1681. arch/s390/kernel/dis.c +6 −3
  1682. arch/s390/kernel/early.c +20 −0
  1683. arch/s390/kernel/entry.h +3 −1
  1684. arch/s390/kernel/ftrace.c +62 −46
  1685. arch/s390/kernel/head.S +3 −1
  1686. arch/s390/kernel/ipl.c +8 −3
  1687. arch/s390/kernel/jump_label.c +49 −14
  1688. arch/s390/kernel/kprobes.c +2 −1
  1689. arch/s390/kernel/machine_kexec.c +8 −11
  1690. arch/s390/kernel/mcount.S +2 −0
  1691. arch/s390/kernel/module.c +1 −1
  1692. arch/s390/kernel/process.c +8 −10
  1693. arch/s390/kernel/processor.c +9 −1
  1694. arch/s390/kernel/sclp.S +2 −1
  1695. arch/s390/kernel/setup.c +3 −1
  1696. arch/s390/kernel/signal.c +1 −1
  1697. arch/s390/kernel/smp.c +232 −83
  1698. arch/s390/kernel/sysinfo.c +37 −0
  1699. arch/s390/kernel/topology.c +101 −80
  1700. arch/s390/kernel/vdso64/clock_gettime.S +2 −4
  1701. arch/s390/kernel/vtime.c +54 −4
  1702. arch/s390/kvm/Kconfig +1 −0
  1703. arch/s390/kvm/gaccess.c +2 −2
  1704. arch/s390/kvm/intercept.c +27 −14
  1705. arch/s390/kvm/interrupt.c +134 −57
  1706. arch/s390/kvm/kvm-s390.c +536 −60
  1707. arch/s390/kvm/kvm-s390.h +13 −6
  1708. arch/s390/kvm/priv.c +9 −4
  1709. arch/s390/kvm/sigp.c +93 −67
  1710. arch/s390/kvm/trace-s390.h +8 −6
  1711. arch/s390/lib/spinlock.c +45 −7
  1712. arch/s390/mm/fault.c +2 −2
  1713. arch/s390/mm/gup.c +2 −4
  1714. arch/s390/mm/hugetlbpage.c +0 −20
  1715. arch/s390/mm/init.c +6 −3
  1716. arch/s390/mm/mmap.c +143 −2
  1717. arch/s390/mm/pgtable.c +3 −3
  1718. arch/s390/pci/pci.c +27 −7
  1719. arch/s390/pci/pci_mmio.c +2 −2
  1720. arch/score/include/asm/pgtable-bits.h +0 −1
  1721. arch/score/include/asm/pgtable.h +3 −17
  1722. arch/score/include/asm/thread_info.h +0 −4
  1723. arch/score/kernel/asm-offsets.c +0 −1
  1724. arch/score/kernel/signal.c +1 −1
  1725. arch/sh/Kconfig +1 −1
  1726. arch/sh/boards/mach-se/7343/irq.c +0 −3
  1727. arch/sh/boards/mach-se/7722/irq.c +0 −3
  1728. arch/sh/include/asm/pgtable.h +1 −1
  1729. arch/sh/include/asm/pgtable_32.h +4 −26
  1730. arch/sh/include/asm/pgtable_64.h +1 −8
  1731. arch/sh/include/asm/segment.h +1 −1
  1732. arch/sh/include/asm/thread_info.h +0 −4
  1733. arch/sh/include/asm/uaccess.h +2 −2
  1734. arch/sh/include/asm/uaccess_64.h +4 −4
  1735. arch/sh/kernel/asm-offsets.c +0 −1
  1736. arch/sh/kernel/signal_32.c +2 −2
  1737. arch/sh/kernel/signal_64.c +2 −2
  1738. arch/sh/mm/gup.c +3 −5
  1739. arch/sh/mm/hugetlbpage.c +0 −12
  1740. arch/sparc/crypto/aes_glue.c +1 −1
  1741. arch/sparc/crypto/camellia_glue.c +1 −1
  1742. arch/sparc/crypto/des_glue.c +1 −0
  1743. arch/sparc/crypto/md5_glue.c +1 −1
  1744. arch/sparc/include/asm/cacheflush_64.h +0 −5
  1745. arch/sparc/include/asm/pgtable_32.h +3 −26
  1746. arch/sparc/include/asm/pgtable_64.h +1 −41
  1747. arch/sparc/include/asm/pgtsrmmu.h +5 −9
  1748. arch/sparc/include/asm/thread_info_32.h +0 −6
  1749. arch/sparc/include/asm/thread_info_64.h +3 −9
  1750. arch/sparc/include/asm/uaccess_32.h +201 −138
  1751. arch/sparc/include/asm/uaccess_64.h +118 −104
  1752. arch/sparc/kernel/module.c +1 −1
  1753. arch/sparc/kernel/signal32.c +2 −2
  1754. arch/sparc/kernel/signal_32.c +1 −1
  1755. arch/sparc/kernel/signal_64.c +1 −1
  1756. arch/sparc/kernel/traps_64.c +0 −2
  1757. arch/sparc/mm/gup.c +2 −4
  1758. arch/sparc/mm/hugetlbpage.c +0 −12
  1759. arch/tile/include/asm/pgtable.h +1 −12
  1760. arch/tile/include/asm/thread_info.h +0 −4
  1761. arch/tile/include/asm/uaccess.h +20 −17
  1762. arch/tile/include/uapi/asm/byteorder.h +1 −3
  1763. arch/tile/kernel/hardwall.c +1 −4
  1764. arch/tile/kernel/pci.c +2 −2
  1765. arch/tile/kernel/proc.c +2 −3
  1766. arch/tile/kernel/setup.c +5 −8
  1767. arch/tile/kernel/signal.c +1 −1
  1768. arch/tile/kvm/Kconfig +1 −0
  1769. arch/tile/mm/homecache.c +5 −11
  1770. arch/tile/mm/hugetlbpage.c +0 −28
  1771. arch/tile/mm/init.c +7 −11
  1772. arch/um/include/asm/pgtable-2level.h +1 −10
  1773. arch/um/include/asm/pgtable-3level.h +1 −21
  1774. arch/um/include/asm/pgtable.h +0 −9
  1775. arch/um/include/asm/thread_info.h +0 −4
  1776. arch/unicore32/include/asm/pgtable-hwdef.h +0 −1
  1777. arch/unicore32/include/asm/pgtable.h +0 −14
  1778. arch/unicore32/include/asm/thread_info.h +0 −4
  1779. arch/unicore32/kernel/module.c +1 −1
  1780. arch/unicore32/kernel/signal.c +1 −1
  1781. arch/unicore32/mm/pgd.c +3 −0
  1782. arch/x86/Kconfig +36 −0
  1783. arch/x86/Kconfig.debug +13 −0
  1784. arch/x86/Makefile +1 −0
  1785. arch/x86/Makefile.um +1 −1
  1786. arch/x86/boot/Makefile +2 −0
  1787. arch/x86/boot/compressed/Makefile +3 −0
  1788. arch/x86/boot/compressed/aslr.c +33 −1
  1789. arch/x86/boot/compressed/eboot.c +1 −2
  1790. arch/x86/boot/compressed/efi_stub_64.S +0 −25
  1791. arch/x86/boot/compressed/efi_thunk_64.S +196 −0
  1792. arch/x86/boot/compressed/misc.c +2 −1
  1793. arch/x86/boot/compressed/misc.h +5 −2
  1794. arch/x86/boot/ctype.h +2 −3
  1795. arch/x86/boot/early_serial_console.c +2 −4
  1796. arch/x86/crypto/aesni-intel_asm.S +177 −166
  1797. arch/x86/crypto/aesni-intel_glue.c +28 −6
  1798. arch/x86/crypto/des3_ede_glue.c +0 −2
  1799. arch/x86/ia32/ia32_signal.c +1 −1
  1800. arch/x86/include/asm/apic.h +28 −38
  1801. arch/x86/include/asm/fpu-internal.h +6 −4
  1802. arch/x86/include/asm/i387.h +5 −1
  1803. arch/x86/include/asm/imr.h +60 −0
  1804. arch/x86/include/asm/intel-mid.h +0 −3
  1805. arch/x86/include/asm/io_apic.h +5 −0
  1806. arch/x86/include/asm/irq_remapping.h +0 −4
  1807. arch/x86/include/asm/kasan.h +31 −0
  1808. arch/x86/include/asm/kvm_emulate.h +1 −0
  1809. arch/x86/include/asm/kvm_host.h +52 −7
  1810. arch/x86/include/asm/lguest_hcall.h +0 −1
  1811. arch/x86/include/asm/livepatch.h +46 −0
  1812. arch/x86/include/asm/page_64_types.h +9 −3
  1813. arch/x86/include/asm/page_types.h +2 −0
  1814. arch/x86/include/asm/pci_x86.h +0 −2
  1815. arch/x86/include/asm/pgtable-2level.h +1 −37
  1816. arch/x86/include/asm/pgtable-3level.h +0 −12
  1817. arch/x86/include/asm/pgtable.h +22 −46
  1818. arch/x86/include/asm/pgtable_64.h +1 −10
  1819. arch/x86/include/asm/pgtable_types.h +3 −43
  1820. arch/x86/include/asm/pmc_atom.h +22 −0
  1821. arch/x86/include/asm/smpboot_hooks.h +0 −68
  1822. arch/x86/include/asm/spinlock.h +46 −48
  1823. arch/x86/include/asm/string_64.h +17 −1
  1824. arch/x86/include/asm/thread_info.h +0 −4
  1825. arch/x86/include/asm/uaccess.h +1 −1
  1826. arch/x86/include/asm/vmx.h +4 −0
  1827. arch/x86/include/asm/xen/page.h +5 −15
  1828. arch/x86/include/uapi/asm/bootparam.h +1 −0
  1829. arch/x86/include/uapi/asm/hyperv.h +11 −0
  1830. arch/x86/include/uapi/asm/msr-index.h +8 −0
  1831. arch/x86/include/uapi/asm/vmx.h +6 −0
  1832. arch/x86/kernel/Makefile +5 −0
  1833. arch/x86/kernel/acpi/boot.c +9 −14
  1834. arch/x86/kernel/apb_timer.c +0 −8
  1835. arch/x86/kernel/apic/apic.c +238 −217
  1836. arch/x86/kernel/apic/io_apic.c +8 −5
  1837. arch/x86/kernel/cpu/common.c +8 −7
  1838. arch/x86/kernel/cpu/intel.c +2 −4
  1839. arch/x86/kernel/cpu/intel_cacheinfo.c +12 −14
  1840. arch/x86/kernel/cpu/mcheck/mce.c +14 −14
  1841. arch/x86/kernel/cpu/microcode/core.c +1 −1
  1842. arch/x86/kernel/cpu/microcode/intel.c +5 −0
  1843. arch/x86/kernel/cpu/microcode/intel_early.c +5 −1
  1844. arch/x86/kernel/dumpstack.c +4 −1
  1845. arch/x86/kernel/e820.c +8 −18
  1846. arch/x86/kernel/early_printk.c +166 −21
  1847. arch/x86/kernel/head64.c +7 −2
  1848. arch/x86/kernel/head_64.S +30 −0
  1849. arch/x86/kernel/hpet.c +1 −1
  1850. arch/x86/kernel/i387.c +26 −13
  1851. arch/x86/kernel/irq.c +3 −0
  1852. arch/x86/kernel/kprobes/core.c +1 −1
  1853. arch/x86/kernel/kprobes/opt.c +2 −1
  1854. arch/x86/kernel/kvm.c +9 −4
  1855. arch/x86/kernel/livepatch.c +90 −0
  1856. arch/x86/kernel/module.c +13 −11
  1857. arch/x86/kernel/pmc_atom.c +64 −17
  1858. arch/x86/kernel/rtc.c +3 −3
  1859. arch/x86/kernel/setup.c +24 −9
  1860. arch/x86/kernel/signal.c +1 −1
  1861. arch/x86/kernel/smpboot.c +67 −46
  1862. arch/x86/kernel/traps.c +5 −7
  1863. arch/x86/kernel/uprobes.c +110 −43
  1864. arch/x86/kernel/x8664_ksyms_64.c +8 −2
  1865. arch/x86/kvm/Kconfig +2 −0
  1866. arch/x86/kvm/emulate.c +156 −74
  1867. arch/x86/kvm/ioapic.h +1 −1
  1868. arch/x86/kvm/iommu.c +3 −1
  1869. arch/x86/kvm/lapic.c +96 −51
  1870. arch/x86/kvm/lapic.h +4 −2
  1871. arch/x86/kvm/mmu.c +287 −64
  1872. arch/x86/kvm/mmu.h +2 −15
  1873. arch/x86/kvm/svm.c +2 −2
  1874. arch/x86/kvm/trace.h +38 −0
  1875. arch/x86/kvm/vmx.c +953 −133
  1876. arch/x86/kvm/x86.c +127 −82
  1877. arch/x86/kvm/x86.h +3 −0
  1878. arch/x86/lguest/boot.c +153 −20
  1879. arch/x86/lib/memcpy_64.S +4 −2
  1880. arch/x86/lib/memmove_64.S +4 −0
  1881. arch/x86/lib/memset_64.S +6 −4
  1882. arch/x86/mm/Makefile +3 −0
  1883. arch/x86/mm/gup.c +6 −7
  1884. arch/x86/mm/hugetlbpage.c +18 −13
  1885. arch/x86/mm/init.c +27 −3
  1886. arch/x86/mm/kasan_init_64.c +206 −0
  1887. arch/x86/mm/mmap.c +3 −3
  1888. arch/x86/mm/numa.c +2 −4
  1889. arch/x86/mm/pgtable.c +9 −5
  1890. arch/x86/pci/acpi.c +91 −202
  1891. arch/x86/pci/bus_numa.c +2 −2
  1892. arch/x86/pci/common.c +44 −6
  1893. arch/x86/pci/intel_mid_pci.c +2 −3
  1894. arch/x86/pci/irq.c +1 −14
  1895. arch/x86/pci/mmconfig-shared.c +31 −3
  1896. arch/x86/pci/xen.c +4 −0
  1897. arch/x86/platform/Makefile +1 −0
  1898. arch/x86/platform/efi/efi_stub_64.S +0 −161
  1899. arch/x86/platform/efi/efi_thunk_64.S +104 −17
  1900. arch/x86/platform/intel-mid/device_libs/Makefile +0 −2
  1901. arch/x86/platform/intel-mid/device_libs/platform_max3111.c +0 −35
  1902. arch/x86/platform/intel-mid/early_printk_intel_mid.c +4 −216
  1903. arch/x86/platform/intel-mid/intel_mid_vrtc.c +1 −1
  1904. arch/x86/platform/intel-quark/Makefile +2 −0
  1905. arch/x86/platform/intel-quark/imr.c +661 −0
  1906. arch/x86/platform/intel-quark/imr_selftest.c +129 −0
  1907. arch/x86/platform/uv/uv_nmi.c +7 −18
  1908. arch/x86/realmode/Makefile +1 −1
  1909. arch/x86/realmode/rm/Makefile +1 −0
  1910. arch/x86/um/signal.c +1 −1
  1911. arch/x86/vdso/Makefile +1 −0
  1912. arch/x86/xen/mmu.c +8 −9
  1913. arch/x86/xen/p2m.c +12 −257
  1914. arch/x86/xen/setup.c +14 −23
  1915. arch/x86/xen/smp.c +1 −1
  1916. arch/x86/xen/spinlock.c +9 −4
  1917. arch/x86/xen/time.c +4 −0
  1918. arch/x86/xen/xen-ops.h +6 −0
  1919. arch/xtensa/include/asm/pgtable.h +1 −11
  1920. arch/xtensa/include/asm/thread_info.h +0 −5
  1921. arch/xtensa/include/asm/uaccess.h +45 −45
  1922. arch/xtensa/kernel/setup.c +2 −5
  1923. arch/xtensa/kernel/signal.c +1 −1
  1924. block/bio.c +191 −235
  1925. block/blk-core.c +9 −4
  1926. block/blk-lib.c +20 −10
  1927. block/blk-map.c +32 −140
  1928. block/blk-merge.c +12 −29
  1929. block/blk-mq-sysfs.c +2 −23
  1930. block/blk-mq-tag.c +50 −31
  1931. block/blk-mq-tag.h +3 −1
  1932. block/blk-mq.c +28 −8
  1933. block/blk-mq.h +2 −0
  1934. block/blk-sysfs.c +2 −0
  1935. block/blk-tag.c +25 −8
  1936. block/blk-throttle.c +3 −0
  1937. block/bsg.c +25 −47
  1938. block/cfq-iosched.c +13 −3
  1939. block/ioctl.c +1 −1
  1940. block/partitions/check.c +6 −6
  1941. block/partitions/efi.c +1 −1
  1942. block/scsi_ioctl.c +4 −13
  1943. crypto/Kconfig +18 −0
  1944. crypto/Makefile +1 −0
  1945. crypto/ablkcipher.c +5 −2
  1946. crypto/aead.c +2 −1
  1947. crypto/af_alg.c +20 −31
  1948. crypto/ahash.c +2 −1
  1949. crypto/algapi.c +1 −0
  1950. crypto/algif_hash.c +17 −28
  1951. crypto/algif_rng.c +192 −0
  1952. crypto/algif_skcipher.c +40 −41
  1953. crypto/cts.c +3 −2
  1954. crypto/drbg.c +13 −21
  1955. crypto/scatterwalk.c +3 −3
  1956. crypto/seqiv.c +12 −0
  1957. crypto/tcrypt.c +20 −17
  1958. crypto/testmgr.c +27 −31
  1959. drivers/Kconfig +0 −2
  1960. drivers/acpi/Kconfig +6 −0
  1961. drivers/acpi/Makefile +3 −1
  1962. drivers/acpi/acpi_apd.c +150 −0
  1963. drivers/acpi/acpi_lpat.c +161 −0
  1964. drivers/acpi/acpi_lpss.c +30 −34
  1965. drivers/acpi/acpi_memhotplug.c +4 −4
  1966. drivers/acpi/acpi_platform.c +2 −2
  1967. drivers/acpi/acpica/acapps.h +2 −2
  1968. drivers/acpi/acpica/accommon.h +1 −1
  1969. drivers/acpi/acpica/acdebug.h +1 −1
  1970. drivers/acpi/acpica/acdispat.h +1 −1
  1971. drivers/acpi/acpica/acevents.h +1 −3
  1972. drivers/acpi/acpica/acglobal.h +1 −1
  1973. drivers/acpi/acpica/achware.h +1 −1
  1974. drivers/acpi/acpica/acinterp.h +1 −1
  1975. drivers/acpi/acpica/aclocal.h +1 −1
  1976. drivers/acpi/acpica/acmacros.h +1 −1
  1977. drivers/acpi/acpica/acnamesp.h +1 −1
  1978. drivers/acpi/acpica/acobject.h +1 −1
  1979. drivers/acpi/acpica/acopcode.h +1 −1
  1980. drivers/acpi/acpica/acparser.h +1 −1
  1981. drivers/acpi/acpica/acpredef.h +1 −1
  1982. drivers/acpi/acpica/acresrc.h +1 −1
  1983. drivers/acpi/acpica/acstruct.h +1 −1
  1984. drivers/acpi/acpica/actables.h +1 −1
  1985. drivers/acpi/acpica/acutils.h +1 −1
  1986. drivers/acpi/acpica/amlcode.h +1 −1
  1987. drivers/acpi/acpica/amlresrc.h +1 −1
  1988. drivers/acpi/acpica/dsargs.c +1 −1
  1989. drivers/acpi/acpica/dscontrol.c +1 −1
  1990. drivers/acpi/acpica/dsfield.c +1 −1
  1991. drivers/acpi/acpica/dsinit.c +1 −1
  1992. drivers/acpi/acpica/dsmethod.c +1 −1
  1993. drivers/acpi/acpica/dsmthdat.c +1 −1
  1994. drivers/acpi/acpica/dsobject.c +1 −1
  1995. drivers/acpi/acpica/dsopcode.c +1 −1
  1996. drivers/acpi/acpica/dsutils.c +1 −1
  1997. drivers/acpi/acpica/dswexec.c +1 −1
  1998. drivers/acpi/acpica/dswload.c +1 −1
  1999. drivers/acpi/acpica/dswload2.c +1 −1
  2000. drivers/acpi/acpica/dswscope.c +1 −1
  2001. drivers/acpi/acpica/dswstate.c +1 −1
  2002. drivers/acpi/acpica/evevent.c +1 −1
  2003. drivers/acpi/acpica/evglock.c +1 −1
  2004. drivers/acpi/acpica/evgpe.c +83 −81
  2005. drivers/acpi/acpica/evgpeblk.c +6 −4
  2006. drivers/acpi/acpica/evgpeinit.c +6 −4
  2007. drivers/acpi/acpica/evgpeutil.c +7 −54
  2008. drivers/acpi/acpica/evhandler.c +1 −1
  2009. drivers/acpi/acpica/evmisc.c +1 −1
  2010. drivers/acpi/acpica/evregion.c +1 −1
  2011. drivers/acpi/acpica/evrgnini.c +1 −1
  2012. drivers/acpi/acpica/evsci.c +1 −1
  2013. drivers/acpi/acpica/evxface.c +113 −19
  2014. drivers/acpi/acpica/evxfevnt.c +1 −1
  2015. drivers/acpi/acpica/evxfgpe.c +118 −5
  2016. drivers/acpi/acpica/evxfregn.c +1 −1
  2017. drivers/acpi/acpica/exconfig.c +1 −1
  2018. drivers/acpi/acpica/exconvrt.c +1 −1
  2019. drivers/acpi/acpica/excreate.c +1 −1
  2020. drivers/acpi/acpica/exdebug.c +1 −1
  2021. drivers/acpi/acpica/exdump.c +1 −1
  2022. drivers/acpi/acpica/exfield.c +1 −1
  2023. drivers/acpi/acpica/exfldio.c +1 −1
  2024. drivers/acpi/acpica/exmisc.c +1 −1
  2025. drivers/acpi/acpica/exmutex.c +1 −1
  2026. drivers/acpi/acpica/exnames.c +1 −1
  2027. drivers/acpi/acpica/exoparg1.c +1 −1
  2028. drivers/acpi/acpica/exoparg2.c +1 −1
  2029. drivers/acpi/acpica/exoparg3.c +1 −1
  2030. drivers/acpi/acpica/exoparg6.c +1 −1
  2031. drivers/acpi/acpica/exprep.c +1 −1
  2032. drivers/acpi/acpica/exregion.c +1 −1
  2033. drivers/acpi/acpica/exresnte.c +1 −1
  2034. drivers/acpi/acpica/exresolv.c +1 −1
  2035. drivers/acpi/acpica/exresop.c +1 −1
  2036. drivers/acpi/acpica/exstore.c +1 −1
  2037. drivers/acpi/acpica/exstoren.c +1 −1
  2038. drivers/acpi/acpica/exstorob.c +1 −1
  2039. drivers/acpi/acpica/exsystem.c +1 −1
  2040. drivers/acpi/acpica/exutils.c +1 −1
  2041. drivers/acpi/acpica/hwacpi.c +1 −1
  2042. drivers/acpi/acpica/hwesleep.c +1 −1
  2043. drivers/acpi/acpica/hwgpe.c +7 −3
  2044. drivers/acpi/acpica/hwpci.c +1 −1
  2045. drivers/acpi/acpica/hwregs.c +1 −1
  2046. drivers/acpi/acpica/hwsleep.c +1 −1
  2047. drivers/acpi/acpica/hwtimer.c +1 −1
  2048. drivers/acpi/acpica/hwvalid.c +1 −1
  2049. drivers/acpi/acpica/hwxface.c +1 −1
  2050. drivers/acpi/acpica/hwxfsleep.c +1 −1
  2051. drivers/acpi/acpica/nsaccess.c +1 −1
  2052. drivers/acpi/acpica/nsalloc.c +1 −1
  2053. drivers/acpi/acpica/nsarguments.c +1 −1
  2054. drivers/acpi/acpica/nsconvert.c +1 −1
  2055. drivers/acpi/acpica/nsdump.c +1 −1
  2056. drivers/acpi/acpica/nsdumpdv.c +1 −1
  2057. drivers/acpi/acpica/nseval.c +1 −1
  2058. drivers/acpi/acpica/nsinit.c +1 −1
  2059. drivers/acpi/acpica/nsload.c +1 −1
  2060. drivers/acpi/acpica/nsnames.c +1 −1
  2061. drivers/acpi/acpica/nsobject.c +1 −1
  2062. drivers/acpi/acpica/nsparse.c +1 −1
  2063. drivers/acpi/acpica/nspredef.c +1 −1
  2064. drivers/acpi/acpica/nsprepkg.c +1 −1
  2065. drivers/acpi/acpica/nsrepair.c +1 −1
  2066. drivers/acpi/acpica/nsrepair2.c +1 −1
  2067. drivers/acpi/acpica/nssearch.c +1 −1
  2068. drivers/acpi/acpica/nsutils.c +1 −1
  2069. drivers/acpi/acpica/nswalk.c +1 −1
  2070. drivers/acpi/acpica/nsxfeval.c +1 −1
  2071. drivers/acpi/acpica/nsxfname.c +1 −1
  2072. drivers/acpi/acpica/nsxfobj.c +1 −45
  2073. drivers/acpi/acpica/psargs.c +1 −1
  2074. drivers/acpi/acpica/psloop.c +1 −1
  2075. drivers/acpi/acpica/psobject.c +1 −1
  2076. drivers/acpi/acpica/psopcode.c +1 −1
  2077. drivers/acpi/acpica/psopinfo.c +1 −1
  2078. drivers/acpi/acpica/psparse.c +1 −1
  2079. drivers/acpi/acpica/psscope.c +1 −1
  2080. drivers/acpi/acpica/pstree.c +1 −1
  2081. drivers/acpi/acpica/psutils.c +1 −1
  2082. drivers/acpi/acpica/pswalk.c +1 −1
  2083. drivers/acpi/acpica/psxface.c +1 −1
  2084. drivers/acpi/acpica/rsaddr.c +6 −5
  2085. drivers/acpi/acpica/rscalc.c +1 −1
  2086. drivers/acpi/acpica/rscreate.c +1 −1
  2087. drivers/acpi/acpica/rsdump.c +1 −1
  2088. drivers/acpi/acpica/rsdumpinfo.c +31 −30
  2089. drivers/acpi/acpica/rsinfo.c +1 −1
  2090. drivers/acpi/acpica/rsio.c +1 −1
  2091. drivers/acpi/acpica/rsirq.c +1 −1
  2092. drivers/acpi/acpica/rslist.c +1 −1
  2093. drivers/acpi/acpica/rsmemory.c +1 −1
  2094. drivers/acpi/acpica/rsmisc.c +1 −1
  2095. drivers/acpi/acpica/rsserial.c +1 −1
  2096. drivers/acpi/acpica/rsutils.c +1 −1
  2097. drivers/acpi/acpica/rsxface.c +6 −6
  2098. drivers/acpi/acpica/tbdata.c +1 −1
  2099. drivers/acpi/acpica/tbfadt.c +1 −1
  2100. drivers/acpi/acpica/tbfind.c +1 −1
  2101. drivers/acpi/acpica/tbinstal.c +1 −1
  2102. drivers/acpi/acpica/tbprint.c +1 −1
  2103. drivers/acpi/acpica/tbutils.c +1 −1
  2104. drivers/acpi/acpica/tbxface.c +1 −40
  2105. drivers/acpi/acpica/tbxfload.c +1 −1
  2106. drivers/acpi/acpica/tbxfroot.c +1 −1
  2107. drivers/acpi/acpica/utaddress.c +1 −1
  2108. drivers/acpi/acpica/utalloc.c +1 −1
  2109. drivers/acpi/acpica/utbuffer.c +1 −1
  2110. drivers/acpi/acpica/utcache.c +1 −1
  2111. drivers/acpi/acpica/utcopy.c +1 −1
  2112. drivers/acpi/acpica/utdebug.c +3 −3
  2113. drivers/acpi/acpica/utdecode.c +1 −1
  2114. drivers/acpi/acpica/utdelete.c +1 −1
  2115. drivers/acpi/acpica/uterror.c +1 −1
  2116. drivers/acpi/acpica/uteval.c +1 −1
  2117. drivers/acpi/acpica/utexcep.c +1 −1
  2118. drivers/acpi/acpica/utfileio.c +1 −1
  2119. drivers/acpi/acpica/utglobal.c +1 −1
  2120. drivers/acpi/acpica/uthex.c +1 −1
  2121. drivers/acpi/acpica/utids.c +1 −1
  2122. drivers/acpi/acpica/utinit.c +1 −1
  2123. drivers/acpi/acpica/utlock.c +1 −1
  2124. drivers/acpi/acpica/utmath.c +1 −1
  2125. drivers/acpi/acpica/utmisc.c +1 −1
  2126. drivers/acpi/acpica/utmutex.c +1 −1
  2127. drivers/acpi/acpica/utobject.c +1 −1
  2128. drivers/acpi/acpica/utosi.c +1 −1
  2129. drivers/acpi/acpica/utownerid.c +1 −1
  2130. drivers/acpi/acpica/utpredef.c +1 −1
  2131. drivers/acpi/acpica/utprint.c +1 −1
  2132. drivers/acpi/acpica/utresrc.c +1 −1
  2133. drivers/acpi/acpica/utstate.c +1 −1
  2134. drivers/acpi/acpica/utstring.c +1 −1
  2135. drivers/acpi/acpica/uttrack.c +1 −1
  2136. drivers/acpi/acpica/utuuid.c +1 −1
  2137. drivers/acpi/acpica/utxface.c +1 −1
  2138. drivers/acpi/acpica/utxferror.c +1 −1
  2139. drivers/acpi/acpica/utxfinit.c +1 −1
  2140. drivers/acpi/acpica/utxfmutex.c +1 −1
  2141. drivers/acpi/apei/apei-base.c +26 −6
  2142. drivers/acpi/device_pm.c +0 −2
  2143. drivers/acpi/ec.c +325 −128
  2144. drivers/acpi/event.c +1 −6
  2145. drivers/acpi/internal.h +11 −0
  2146. drivers/acpi/ioapic.c +229 −0
  2147. drivers/acpi/numa.c +2 −10
  2148. drivers/acpi/pci_irq.c +1 −8
  2149. drivers/acpi/pci_root.c +6 −3
  2150. drivers/acpi/pmic/intel_pmic.c +18 −115
  2151. drivers/acpi/processor_core.c +114 −9
  2152. drivers/acpi/processor_idle.c +85 −131
  2153. drivers/acpi/resource.c +217 −136
  2154. drivers/acpi/scan.c +1 −0
  2155. drivers/acpi/sleep.c +1 −1
  2156. drivers/acpi/video.c +27 −0
  2157. drivers/amba/bus.c +47 −0
  2158. drivers/android/binder.c +26 −0
  2159. drivers/ata/ahci.h +5 −1
  2160. drivers/ata/ahci_da850.c +9 −2
  2161. drivers/ata/ahci_imx.c +14 −11
  2162. drivers/ata/ahci_mvebu.c +9 −2
  2163. drivers/ata/ahci_platform.c +9 −2
  2164. drivers/ata/ahci_st.c +9 −2
  2165. drivers/ata/ahci_sunxi.c +9 −2
  2166. drivers/ata/ahci_tegra.c +9 −2
  2167. drivers/ata/ahci_xgene.c +193 −10
  2168. drivers/ata/libahci_platform.c +172 −77
  2169. drivers/ata/libata-core.c +18 −79
  2170. drivers/ata/libata-eh.c +9 −12
  2171. drivers/ata/libata-scsi.c +34 −3
  2172. drivers/ata/libata.h +3 −2
  2173. drivers/ata/pata_cs5530.c +2 −4
  2174. drivers/ata/pata_of_platform.c +8 −2
  2175. drivers/ata/pata_pdc2027x.c +5 −5
  2176. drivers/ata/pata_platform.c +5 −3
  2177. drivers/ata/sata_dwc_460ex.c +55 −61
  2178. drivers/ata/sata_mv.c +2 −4
  2179. drivers/ata/sata_rcar.c +23 −2
  2180. drivers/ata/sata_sil24.c +1 −0
  2181. drivers/atm/eni.c +19 −14
  2182. drivers/atm/fore200e.c +14 −8
  2183. drivers/atm/he.c +64 −61
  2184. drivers/atm/he.h +2 −2
  2185. drivers/atm/horizon.c +0 −24
  2186. drivers/atm/idt77252.c +57 −50
  2187. drivers/atm/iphase.c +28 −26
  2188. drivers/atm/lanai.c +5 −18
  2189. drivers/atm/nicstar.c +30 −30
  2190. drivers/atm/solos-pci.c +13 −13
  2191. drivers/atm/zatm.c +11 −6
  2192. drivers/base/core.c +11 −18
  2193. drivers/base/cpu.c +1 −1
  2194. drivers/base/firmware_class.c +11 −23
  2195. drivers/base/node.c +2 −1
  2196. drivers/base/power/clock_ops.c +1 −3
  2197. drivers/base/power/common.c +6 −12
  2198. drivers/base/power/domain.c +65 −92
  2199. drivers/base/power/opp.c +152 −50
  2200. drivers/base/power/qos.c +4 −0
  2201. drivers/base/regmap/internal.h +8 −2
  2202. drivers/base/regmap/regmap-ac97.c +2 −2
  2203. drivers/base/regmap/regmap-i2c.c +45 −1
  2204. drivers/base/regmap/regmap.c +4 −3
  2205. drivers/bcma/bcma_private.h +11 −7
  2206. drivers/bcma/driver_chipcommon.c +14 −6
  2207. drivers/bcma/driver_pci.c +44 −24
  2208. drivers/bcma/host_pci.c +4 −2
  2209. drivers/bcma/host_soc.c +1 −1
  2210. drivers/bcma/main.c +37 −39
  2211. drivers/bcma/scan.c +5 −62
  2212. drivers/bcma/sprom.c +2 −1
  2213. drivers/block/Kconfig +7 −6
  2214. drivers/block/brd.c +61 −76
  2215. drivers/block/drbd/drbd_receiver.c +1 −1
  2216. drivers/block/floppy.c +8 −9
  2217. drivers/block/loop.c +204 −212
  2218. drivers/block/loop.h +12 −6
  2219. drivers/block/null_blk.c +1 −1
  2220. drivers/block/nvme-core.c +420 −204
  2221. drivers/block/nvme-scsi.c +54 −42
  2222. drivers/block/osdblk.c +1 −1
  2223. drivers/block/rbd.c +83 −110
  2224. drivers/block/virtio_blk.c +8 −4
  2225. drivers/block/xen-blkback/blkback.c +123 −54
  2226. drivers/block/xen-blkback/common.h +12 −0
  2227. drivers/block/xen-blkback/xenbus.c +2 −2
  2228. drivers/block/xen-blkfront.c +3 −3
  2229. drivers/block/zram/zram_drv.c +121 −106
  2230. drivers/block/zram/zram_drv.h +11 −10
  2231. drivers/bluetooth/ath3k.c +10 −0
  2232. drivers/bluetooth/bfusb.c +2 −0
  2233. drivers/bluetooth/btmrvl_drv.h +3 −2
  2234. drivers/bluetooth/btmrvl_main.c +25 −7
  2235. drivers/bluetooth/btmrvl_sdio.c +5 −1
  2236. drivers/bluetooth/btusb.c +696 −14
  2237. drivers/bluetooth/hci_ath.c +2 −13
  2238. drivers/bus/arm-cci.c +2 −2
  2239. drivers/bus/mvebu-mbus.c +219 −67
  2240. drivers/char/Kconfig +9 −0
  2241. drivers/char/agp/agp.h +4 −1
  2242. drivers/char/agp/generic.c +0 −11
  2243. drivers/char/agp/intel-gtt.c +7 −7
  2244. drivers/char/hpet.c +2 −2
  2245. drivers/char/hw_random/core.c +147 −68
  2246. drivers/char/hw_random/virtio-rng.c +0 −1
  2247. drivers/char/i8k.c +217 −99
  2248. drivers/char/ipmi/ipmi_devintf.c +5 −1
  2249. drivers/char/ipmi/ipmi_msghandler.c +46 −56
  2250. drivers/char/ipmi/ipmi_si_intf.c +56 −65
  2251. drivers/char/ipmi/ipmi_ssif.c +3 −3
  2252. drivers/char/mem.c +40 −46
  2253. drivers/char/random.c +4 −4
  2254. drivers/char/raw.c +1 −3
  2255. drivers/char/tpm/Kconfig +12 −3
  2256. drivers/char/tpm/Makefile +3 −2
  2257. drivers/char/tpm/tpm-chip.c +256 −0
  2258. drivers/char/tpm/tpm-dev.c +6 −36
  2259. drivers/char/tpm/tpm-interface.c +88 −177
  2260. drivers/char/tpm/tpm-sysfs.c +5 −24
  2261. drivers/char/tpm/tpm.h +106 −19
  2262. drivers/char/tpm/tpm2-cmd.c +646 −0
  2263. drivers/char/tpm/tpm_atmel.c +15 −10
  2264. drivers/char/tpm/tpm_crb.c +344 −0
  2265. drivers/char/tpm/tpm_i2c_atmel.c +19 −33
  2266. drivers/char/tpm/tpm_i2c_infineon.c +10 −33
  2267. drivers/char/tpm/tpm_i2c_nuvoton.c +27 −42
  2268. drivers/char/tpm/tpm_i2c_stm_st33.c +366 −300
  2269. drivers/char/tpm/tpm_ibmvtpm.c +28 −19
  2270. drivers/char/tpm/tpm_ibmvtpm.h +1 −1
  2271. drivers/char/tpm/tpm_infineon.c +28 −23
  2272. drivers/char/tpm/tpm_nsc.c +19 −15
  2273. drivers/char/tpm/tpm_of.c +1 −1
  2274. drivers/char/tpm/tpm_ppi.c +87 −54
  2275. drivers/char/tpm/tpm_tis.c +185 −84
  2276. drivers/char/tpm/xen-tpmfront.c +8 −6
  2277. drivers/char/virtio_console.c +9 −0
  2278. drivers/clk/Kconfig +14 −5
  2279. drivers/clk/Makefile +3 −1
  2280. drivers/clk/at91/clk-programmable.c +2 −0
  2281. drivers/clk/at91/pmc.c +9 −0
  2282. drivers/clk/bcm/clk-kona.c +2 −0
  2283. drivers/clk/clk-asm9260.c +348 −0
  2284. drivers/clk/clk-cdce706.c +700 −0
  2285. drivers/clk/clk-composite.c +17 −12
  2286. drivers/clk/clk-divider.c +144 −84
  2287. drivers/clk/clk-gate.c +17 −1
  2288. drivers/clk/clk-mux.c +16 −0
  2289. drivers/clk/clk-qoriq.c +117 −61
  2290. drivers/clk/clk.c +711 −310
  2291. drivers/clk/clk.h +23 −1
  2292. drivers/clk/clkdev.c +76 −34
  2293. drivers/clk/hisilicon/clk-hi3620.c +2 −0
  2294. drivers/clk/mmp/clk-mix.c +2 −0
  2295. drivers/clk/pxa/Makefile +1 −0
  2296. drivers/clk/pxa/clk-pxa.c +1 −1
  2297. drivers/clk/pxa/clk-pxa3xx.c +364 −0
  2298. drivers/clk/qcom/Kconfig +18 −0
  2299. drivers/clk/qcom/Makefile +4 −0
  2300. drivers/clk/qcom/clk-pll.c +1 −0
  2301. drivers/clk/qcom/clk-rcg.c +8 −2
  2302. drivers/clk/qcom/clk-rcg2.c +6 −0
  2303. drivers/clk/qcom/clk-regmap-divider.c +70 −0
  2304. drivers/clk/qcom/clk-regmap-divider.h +29 −0
  2305. drivers/clk/qcom/clk-regmap-mux.c +59 −0
  2306. drivers/clk/qcom/clk-regmap-mux.h +29 −0
  2307. drivers/clk/qcom/gcc-ipq806x.c +12 −0
  2308. drivers/clk/qcom/lcc-ipq806x.c +473 −0
  2309. drivers/clk/qcom/lcc-msm8960.c +585 −0
  2310. drivers/clk/rockchip/clk-rk3288.c +42 −20
  2311. drivers/clk/samsung/clk-exynos-audss.c +22 −10
  2312. drivers/clk/samsung/clk-exynos3250.c +47 −170
  2313. drivers/clk/samsung/clk-exynos4.c +5 −5
  2314. drivers/clk/samsung/clk-exynos4415.c +48 −168
  2315. drivers/clk/samsung/clk-exynos5420.c +12 −11
  2316. drivers/clk/samsung/clk-exynos7.c +406 −2
  2317. drivers/clk/samsung/clk.c +10 −3
  2318. drivers/clk/samsung/clk.h +2 −1
  2319. drivers/clk/shmobile/Makefile +3 −0
  2320. drivers/clk/shmobile/clk-div6.c +14 −4
  2321. drivers/clk/shmobile/clk-r8a73a4.c +241 −0
  2322. drivers/clk/shmobile/clk-rcar-gen2.c +88 −0
  2323. drivers/clk/shmobile/clk-sh73a0.c +218 −0
  2324. drivers/clk/st/clk-flexgen.c +25 −14
  2325. drivers/clk/st/clkgen-mux.c +7 −7
  2326. drivers/clk/sunxi/Makefile +1 −0
  2327. drivers/clk/sunxi/clk-factors.c +6 −6
  2328. drivers/clk/sunxi/clk-factors.h +4 −3
  2329. drivers/clk/sunxi/clk-mod0.c +166 −58
  2330. drivers/clk/sunxi/clk-sun6i-ar100.c +2 −0
  2331. drivers/clk/sunxi/clk-sun8i-mbus.c +11 −2
  2332. drivers/clk/sunxi/clk-sun9i-core.c +85 −34
  2333. drivers/clk/sunxi/clk-sun9i-mmc.c +219 −0
  2334. drivers/clk/sunxi/clk-sunxi.c +223 −40
  2335. drivers/clk/tegra/Makefile +1 −0
  2336. drivers/clk/tegra/clk-id.h +0 −2
  2337. drivers/clk/tegra/clk-periph.c +7 −7
  2338. drivers/clk/tegra/clk-pll.c +11 −7
  2339. drivers/clk/tegra/clk-tegra-periph.c +8 −10
  2340. drivers/clk/tegra/clk-tegra114.c +8 −2
  2341. drivers/clk/tegra/clk-tegra124.c +139 −29
  2342. drivers/clk/tegra/clk.c +5 −2
  2343. drivers/clk/ti/Makefile +6 −2
  2344. drivers/clk/ti/clk-3xxx-legacy.c +4653 −0
  2345. drivers/clk/ti/clk-3xxx.c +1 −7
  2346. drivers/clk/ti/clk-44xx.c +1 −1
  2347. drivers/clk/ti/clk-54xx.c +1 −1
  2348. drivers/clk/ti/clk-7xx.c +1 −1
  2349. drivers/clk/ti/clk-816x.c +53 −0
  2350. drivers/clk/ti/clk.c +127 −0
  2351. drivers/clk/ti/clock.h +172 −0
  2352. drivers/clk/ti/composite.c +44 −4
  2353. drivers/clk/ti/divider.c +131 −1
  2354. drivers/clk/ti/dpll.c +110 −11
  2355. drivers/clk/ti/fapll.c +410 −0
  2356. drivers/clk/ti/gate.c +133 −30
  2357. drivers/clk/ti/interface.c +74 −24
  2358. drivers/clk/ti/mux.c +68 −2
  2359. drivers/clk/ux500/clk-prcc.c +0 −1
  2360. drivers/clk/ux500/clk-prcmu.c +0 −1
  2361. drivers/clk/zynq/clkc.c +1 −0
  2362. drivers/clocksource/Kconfig +27 −0
  2363. drivers/clocksource/Makefile +6 −3
  2364. drivers/clocksource/arm_arch_timer.c +1 −0
  2365. drivers/clocksource/asm9260_timer.c +220 −0
  2366. drivers/clocksource/rockchip_timer.c +180 −0
  2367. drivers/clocksource/timer-atlas7.c +7 −8
  2368. drivers/clocksource/timer-digicolor.c +199 −0
  2369. drivers/clocksource/versatile.c +3 −1
  2370. drivers/connector/Kconfig +1 −1
  2371. drivers/coresight/coresight-etb10.c +2 −12
  2372. drivers/coresight/coresight-etm3x.c +14 −10
  2373. drivers/coresight/coresight-funnel.c +1 −11
  2374. drivers/coresight/coresight-priv.h +1 −1
  2375. drivers/coresight/coresight-replicator.c +1 −1
  2376. drivers/coresight/coresight-tmc.c +1 −11
  2377. drivers/coresight/coresight-tpiu.c +1 −11
  2378. drivers/coresight/coresight.c +6 −5
  2379. drivers/coresight/of_coresight.c +12 −10
  2380. drivers/cpufreq/Kconfig +1 −0
  2381. drivers/cpufreq/Kconfig.arm +26 −18
  2382. drivers/cpufreq/Kconfig.powerpc +1 −1
  2383. drivers/cpufreq/Kconfig.x86 +10 −0
  2384. drivers/cpufreq/Makefile +6 −4
  2385. drivers/cpufreq/cpufreq-dt.c +1 −2
  2386. drivers/cpufreq/cpufreq.c +71 −103
  2387. drivers/cpufreq/cpufreq_stats.c +97 −122
  2388. drivers/cpufreq/exynos-cpufreq.c +32 −1
  2389. drivers/cpufreq/intel_pstate.c +51 −4
  2390. drivers/cpufreq/ls1x-cpufreq.c +0 −1
  2391. drivers/cpufreq/s3c2416-cpufreq.c +2 −2
  2392. drivers/cpufreq/s3c24xx-cpufreq.c +1 −9
  2393. drivers/cpufreq/sfi-cpufreq.c +136 −0
  2394. drivers/cpufreq/speedstep-lib.c +3 −0
  2395. drivers/cpufreq/speedstep-smi.c +12 −0
  2396. drivers/cpuidle/Kconfig.arm +1 −0
  2397. drivers/cpuidle/Kconfig.arm64 +0 −1
  2398. drivers/cpuidle/cpuidle-arm64.c +0 −1
  2399. drivers/cpuidle/cpuidle-big_little.c +4 −0
  2400. drivers/cpuidle/cpuidle-exynos.c +71 −5
  2401. drivers/cpuidle/cpuidle-powernv.c +49 −35
  2402. drivers/cpuidle/cpuidle.c +68 −26
  2403. drivers/crypto/amcc/crypto4xx_sa.c +0 −23
  2404. drivers/crypto/atmel-aes.c +1 −1
  2405. drivers/crypto/atmel-sha.c +6 −44
  2406. drivers/crypto/atmel-tdes.c +1 −1
  2407. drivers/crypto/bfin_crc.c +2 −2
  2408. drivers/crypto/caam/caamalg.c +7 −7
  2409. drivers/crypto/caam/ctrl.c +1 −5
  2410. drivers/crypto/caam/error.c +9 −4
  2411. drivers/crypto/caam/jr.c +25 −12
  2412. drivers/crypto/caam/sg_sw_sec4.h +4 −4
  2413. drivers/crypto/ccp/ccp-dev.c +1 −0
  2414. drivers/crypto/ixp4xx_crypto.c +2 −2
  2415. drivers/crypto/nx/nx.c +3 −3
  2416. drivers/crypto/omap-aes.c +2 −2
  2417. drivers/crypto/omap-des.c +4 −4
  2418. drivers/crypto/qat/qat_common/adf_accel_devices.h +5 −1
  2419. drivers/crypto/qat/qat_common/adf_aer.c +6 −18
  2420. drivers/crypto/qat/qat_common/adf_cfg.c +2 −0
  2421. drivers/crypto/qat/qat_common/adf_common_drv.h +1 −1
  2422. drivers/crypto/qat/qat_common/adf_ctl_drv.c +6 −1
  2423. drivers/crypto/qat/qat_common/adf_init.c +84 −14
  2424. drivers/crypto/qat/qat_common/adf_transport_internal.h +0 −1
  2425. drivers/crypto/qat/qat_common/icp_qat_hw.h +1 −1
  2426. drivers/crypto/qat/qat_common/qat_algs.c +477 −165
  2427. drivers/crypto/qat/qat_common/qat_crypto.h +14 −2
  2428. drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c +19 −0
  2429. drivers/crypto/qat/qat_dh895xcc/adf_drv.c +11 −31
  2430. drivers/crypto/qce/dma.c +3 −3
  2431. drivers/crypto/qce/sha.c +1 −1
  2432. drivers/crypto/sahara.c +1 −1
  2433. drivers/crypto/talitos.c +4 −4
  2434. drivers/crypto/ux500/cryp/cryp_core.c +7 −7
  2435. drivers/crypto/ux500/hash/hash_core.c +1 −1
  2436. drivers/devfreq/Kconfig +13 −0
  2437. drivers/devfreq/Makefile +5 −0
  2438. drivers/devfreq/devfreq-event.c +494 −0
  2439. drivers/devfreq/event/Kconfig +25 −0
  2440. drivers/devfreq/event/Makefile +2 −0
  2441. drivers/devfreq/event/exynos-ppmu.c +374 −0
  2442. drivers/devfreq/event/exynos-ppmu.h +93 −0
  2443. drivers/devfreq/tegra-devfreq.c +718 −0
  2444. drivers/dma/Kconfig +10 −1
  2445. drivers/dma/Makefile +2 −1
  2446. drivers/dma/acpi-dma.c +5 −5
  2447. drivers/dma/amba-pl08x.c +90 −66
  2448. drivers/dma/at_hdmac.c +82 −48
  2449. drivers/dma/at_hdmac_regs.h +2 −1
  2450. drivers/dma/at_xdmac.c +98 −88
  2451. drivers/dma/bcm2835-dma.c +11 −35
  2452. drivers/dma/coh901318.c +70 −83
  2453. drivers/dma/cppi41.c +1 −29
  2454. drivers/dma/dma-jz4740.c +3 −17
  2455. drivers/dma/dmaengine.c +62 −22
  2456. drivers/dma/dmatest.c +18 −17
  2457. drivers/dma/dw/core.c +61 −40
  2458. drivers/dma/dw/platform.c +2 −2
  2459. drivers/dma/dw/regs.h +2 −2
  2460. drivers/dma/edma.c +23 −50
  2461. drivers/dma/ep93xx_dma.c +8 −35
  2462. drivers/dma/fsl-edma.c +62 −61
  2463. drivers/dma/fsldma.c +37 −60
  2464. drivers/dma/fsldma.h +4 −0
  2465. drivers/dma/img-mdc-dma.c +1011 −0
  2466. drivers/dma/imx-dma.c +51 −57
  2467. drivers/dma/imx-sdma.c +59 −91
  2468. drivers/dma/intel_mid_dma.c +6 −19
  2469. drivers/dma/ioat/dma_v3.c +22 −3
  2470. drivers/dma/ioat/hw.h +5 −0
  2471. drivers/dma/ioat/pci.c +5 −0
  2472. drivers/dma/ipu/ipu_idmac.c +51 −45
  2473. drivers/dma/k3dma.c +110 −93
  2474. drivers/dma/mmp_pdma.c +56 −53
  2475. drivers/dma/mmp_tdma.c +46 −39
  2476. drivers/dma/moxart-dma.c +2 −23
  2477. drivers/dma/mpc512x_dma.c +51 −60
  2478. drivers/dma/mv_xor.c +0 −9
  2479. drivers/dma/mxs-dma.c +28 −37
  2480. drivers/dma/nbpfaxi.c +51 −61
  2481. drivers/dma/of-dma.c +4 −0
  2482. drivers/dma/omap-dma.c +19 −50
  2483. drivers/dma/pch_dma.c +2 −6
  2484. drivers/dma/pl330.c +155 −75
  2485. drivers/dma/qcom_bam_dma.c +43 −42
  2486. drivers/dma/s3c24xx-dma.c +36 −37
  2487. drivers/dma/sa11x0-dma.c +82 −75
  2488. drivers/dma/sh/Kconfig +13 −1
  2489. drivers/dma/sh/Makefile +1 −0
  2490. drivers/dma/sh/rcar-dmac.c +1770 −0
  2491. drivers/dma/sh/rcar-hpbdma.c +6 −0
  2492. drivers/dma/sh/shdma-base.c +33 −39
  2493. drivers/dma/sh/shdmac.c +15 −8
  2494. drivers/dma/sirf-dma.c +16 −43
  2495. drivers/dma/ste_dma40.c +30 −33
  2496. drivers/dma/sun6i-dma.c +87 −73
  2497. drivers/dma/tegra20-apb-dma.c +20 −22
  2498. drivers/dma/timb_dma.c +2 −6
  2499. drivers/dma/txx9dmac.c +2 −7
  2500. drivers/dma/xilinx/xilinx_vdma.c +6 −23
  2501. drivers/edac/Kconfig +7 −0
  2502. drivers/edac/Makefile +1 −0
  2503. drivers/edac/amd64_edac.c +8 −2
  2504. drivers/edac/edac_mc_sysfs.c +27 −24
  2505. drivers/edac/i5100_edac.c +0 −5
  2506. drivers/edac/mce_amd_inj.c +1 −1
  2507. drivers/edac/mpc85xx_edac.c +1 −1
  2508. drivers/edac/mpc85xx_edac.h +1 −1
  2509. drivers/edac/mv64x60_edac.c +2 −1
  2510. drivers/edac/sb_edac.c +6 −3
  2511. drivers/edac/synopsys_edac.c +535 −0
  2512. drivers/extcon/extcon-adc-jack.c +1 −0
  2513. drivers/extcon/extcon-class.c +0 −1
  2514. drivers/extcon/extcon-max77693.c +1 −1
  2515. drivers/firewire/core-transaction.c +2 −2
  2516. drivers/firewire/ohci.c +0 −5
  2517. drivers/firewire/sbp2.c +0 −11
  2518. drivers/firmware/efi/Kconfig +2 −2
  2519. drivers/firmware/efi/efi.c +42 −31
  2520. drivers/firmware/efi/efivars.c +3 −3
  2521. drivers/firmware/efi/libstub/Makefile +15 −0
  2522. drivers/firmware/efi/libstub/arm-stub.c +63 −4
  2523. drivers/firmware/efi/libstub/efi-stub-helper.c +18 −9
  2524. drivers/firmware/efi/libstub/efistub.h +8 −0
  2525. drivers/firmware/efi/libstub/fdt.c +59 −3
  2526. drivers/firmware/efi/runtime-map.c +1 −1
  2527. drivers/gpio/Kconfig +31 −4
  2528. drivers/gpio/Makefile +2 −0
  2529. drivers/gpio/gpio-amd8111.c +6 −0
  2530. drivers/gpio/gpio-dln2.c +1 −0
  2531. drivers/gpio/gpio-dwapb.c +14 −39
  2532. drivers/gpio/gpio-ge.c +41 −57
  2533. drivers/gpio/gpio-generic.c +76 −0
  2534. drivers/gpio/gpio-grgpio.c +1 −1
  2535. drivers/gpio/gpio-max732x.c +161 −64
  2536. drivers/gpio/gpio-mb86s7x.c +232 −0
  2537. drivers/gpio/gpio-mcp23s08.c +10 −7
  2538. drivers/gpio/gpio-mm-lantiq.c +24 −18
  2539. drivers/gpio/gpio-moxart.c +31 −70
  2540. drivers/gpio/gpio-mpc5200.c +18 −5
  2541. drivers/gpio/gpio-mpc8xxx.c +42 −28
  2542. drivers/gpio/gpio-mvebu.c +59 −41
  2543. drivers/gpio/gpio-omap.c +33 −6
  2544. drivers/gpio/gpio-pxa.c +33 −22
  2545. drivers/gpio/gpio-rcar.c +25 −50
  2546. drivers/gpio/gpio-sa1100.c +198 −1
  2547. drivers/gpio/gpio-sch.c +35 −54
  2548. drivers/gpio/gpio-stmpe.c +3 −20
  2549. drivers/gpio/gpio-sx150x.c +150 −101
  2550. drivers/gpio/gpio-tc3589x.c +2 −13
  2551. drivers/gpio/gpio-tz1090-pdc.c +1 −1
  2552. drivers/gpio/gpio-tz1090.c +1 −1
  2553. drivers/gpio/gpio-vf610.c +0 −1
  2554. drivers/gpio/gpio-vx855.c +6 −38
  2555. drivers/gpio/gpio-xgene-sb.c +160 −0
  2556. drivers/gpio/gpio-xilinx.c +162 −122
  2557. drivers/gpio/gpio-zevio.c +12 −0
  2558. drivers/gpio/gpiolib-of.c +17 −0
  2559. drivers/gpio/gpiolib-sysfs.c +2 −1
  2560. drivers/gpio/gpiolib.c +5 −3
  2561. drivers/gpu/Makefile +4 −1
  2562. drivers/gpu/drm/Kconfig +4 −2
  2563. drivers/gpu/drm/Makefile +2 −1
  2564. drivers/gpu/drm/amd/amdkfd/Makefile +5 −2
  2565. drivers/gpu/drm/amd/amdkfd/cik_regs.h +13 −0
  2566. drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +35 −4
  2567. drivers/gpu/drm/amd/amdkfd/kfd_device.c +234 −9
  2568. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +229 −193
  2569. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +45 −8
  2570. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c +135 −0
  2571. drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c +64 −0
  2572. drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c +0 −4
  2573. drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c +4 −3
  2574. drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c +47 −64
  2575. drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h +36 −4
  2576. drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c +44 −0
  2577. drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c +56 −0
  2578. drivers/gpu/drm/amd/amdkfd/kfd_module.c +5 −5
  2579. drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c +6 −315
  2580. drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c +450 −0
  2581. drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c +33 −0
  2582. drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c +12 −20
  2583. drivers/gpu/drm/amd/amdkfd/kfd_priv.h +53 −12
  2584. drivers/gpu/drm/amd/amdkfd/kfd_process.c +24 −16
  2585. drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +26 −14
  2586. drivers/gpu/drm/amd/amdkfd/kfd_topology.c +84 −71
  2587. drivers/gpu/drm/amd/include/cik_structs.h +293 −0
  2588. drivers/gpu/drm/amd/include/kgd_kfd_interface.h +26 −23
  2589. drivers/gpu/drm/armada/armada_crtc.c +0 −5
  2590. drivers/gpu/drm/ast/ast_fb.c +15 −6
  2591. drivers/gpu/drm/atmel-hlcdc/Kconfig +11 −0
  2592. drivers/gpu/drm/atmel-hlcdc/Makefile +7 −0
  2593. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c +406 −0
  2594. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c +579 −0
  2595. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h +213 −0
  2596. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c +667 −0
  2597. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h +398 −0
  2598. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c +319 −0
  2599. drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +856 −0
  2600. drivers/gpu/drm/bochs/bochs_fbdev.c +12 −2
  2601. drivers/gpu/drm/bochs/bochs_kms.c +0 −5
  2602. drivers/gpu/drm/bridge/Kconfig +8 −0
  2603. drivers/gpu/drm/bridge/Makefile +1 −0
  2604. drivers/gpu/drm/bridge/dw_hdmi.c +329 −388
  2605. drivers/gpu/drm/bridge/dw_hdmi.h +3 −1
  2606. drivers/gpu/drm/bridge/ptn3460.c +192 −118
  2607. drivers/gpu/drm/cirrus/cirrus_drv.c +3 −0
  2608. drivers/gpu/drm/cirrus/cirrus_drv.h +3 −0
  2609. drivers/gpu/drm/cirrus/cirrus_fbdev.c +6 −6
  2610. drivers/gpu/drm/cirrus/cirrus_main.c +2 −0
  2611. drivers/gpu/drm/cirrus/cirrus_mode.c +7 −2
  2612. drivers/gpu/drm/drm_atomic.c +738 −13
  2613. drivers/gpu/drm/drm_atomic_helper.c +280 −41
  2614. drivers/gpu/drm/drm_bridge.c +91 −0
  2615. drivers/gpu/drm/drm_cache.c +4 −9
  2616. drivers/gpu/drm/drm_crtc.c +406 −245
  2617. drivers/gpu/drm/drm_crtc_helper.c +2 −0
  2618. drivers/gpu/drm/drm_crtc_internal.h +6 −0
  2619. drivers/gpu/drm/drm_dp_helper.c +31 −0
  2620. drivers/gpu/drm/drm_drv.c +4 −0
  2621. drivers/gpu/drm/drm_fb_helper.c +1 −1
  2622. drivers/gpu/drm/drm_fops.c +42 −47
  2623. drivers/gpu/drm/drm_info.c +0 −24
  2624. drivers/gpu/drm/drm_internal.h +0 −1
  2625. drivers/gpu/drm/drm_ioctl.c +13 −0
  2626. drivers/gpu/drm/drm_irq.c +15 −7
  2627. drivers/gpu/drm/drm_mipi_dsi.c +3 −3
  2628. drivers/gpu/drm/drm_modes.c +159 −24
  2629. drivers/gpu/drm/drm_plane_helper.c +33 −9
  2630. drivers/gpu/drm/drm_probe_helper.c +73 −24
  2631. drivers/gpu/drm/drm_sysfs.c +67 −65
  2632. drivers/gpu/drm/drm_vma_manager.c +1 −2
  2633. drivers/gpu/drm/exynos/Kconfig +12 −13
  2634. drivers/gpu/drm/exynos/Makefile +2 −2
  2635. drivers/gpu/drm/exynos/exynos7_drm_decon.c +990 −0
  2636. drivers/gpu/drm/exynos/exynos_dp_core.c +33 −34
  2637. drivers/gpu/drm/exynos/exynos_dp_core.h +1 −0
  2638. drivers/gpu/drm/exynos/exynos_drm_buf.c +3 −3
  2639. drivers/gpu/drm/exynos/exynos_drm_crtc.c +57 −190
  2640. drivers/gpu/drm/exynos/exynos_drm_crtc.h +6 −2
  2641. drivers/gpu/drm/exynos/exynos_drm_dmabuf.c +0 −4
  2642. drivers/gpu/drm/exynos/exynos_drm_dmabuf.h +0 −5
  2643. drivers/gpu/drm/exynos/exynos_drm_drv.c +4 −0
  2644. drivers/gpu/drm/exynos/exynos_drm_drv.h +45 −33
  2645. drivers/gpu/drm/exynos/exynos_drm_encoder.c +1 −1
  2646. drivers/gpu/drm/exynos/exynos_drm_fbdev.c +9 −20
  2647. drivers/gpu/drm/exynos/exynos_drm_fimc.c +2 −12
  2648. drivers/gpu/drm/exynos/exynos_drm_fimd.c +92 −100
  2649. drivers/gpu/drm/exynos/exynos_drm_gem.h +2 −0
  2650. drivers/gpu/drm/exynos/exynos_drm_gsc.c +0 −6
  2651. drivers/gpu/drm/exynos/exynos_drm_plane.c +66 −86
  2652. drivers/gpu/drm/exynos/exynos_drm_plane.h +11 −7
  2653. drivers/gpu/drm/exynos/exynos_drm_vidi.c +54 −78
  2654. drivers/gpu/drm/exynos/exynos_hdmi.c +5 −7
  2655. drivers/gpu/drm/exynos/exynos_mixer.c +82 −83
  2656. drivers/gpu/drm/gma500/framebuffer.c +18 −4
  2657. drivers/gpu/drm/i2c/adv7511.c +0 −3
  2658. drivers/gpu/drm/i915/Kconfig +2 −0
  2659. drivers/gpu/drm/i915/Makefile +4 −1
  2660. drivers/gpu/drm/i915/i915_cmd_parser.c +105 −26
  2661. drivers/gpu/drm/i915/i915_debugfs.c +303 −139
  2662. drivers/gpu/drm/i915/i915_dma.c +45 −4
  2663. drivers/gpu/drm/i915/i915_drv.c +22 −11
  2664. drivers/gpu/drm/i915/i915_drv.h +359 −81
  2665. drivers/gpu/drm/i915/i915_gem.c +311 −361
  2666. drivers/gpu/drm/i915/i915_gem_batch_pool.c +137 −0
  2667. drivers/gpu/drm/i915/i915_gem_context.c +99 −15
  2668. drivers/gpu/drm/i915/i915_gem_evict.c +7 −4
  2669. drivers/gpu/drm/i915/i915_gem_execbuffer.c +117 −28
  2670. drivers/gpu/drm/i915/i915_gem_gtt.c +133 −37
  2671. drivers/gpu/drm/i915/i915_gem_gtt.h +28 −7
  2672. drivers/gpu/drm/i915/i915_gem_render_state.c +1 −1
  2673. drivers/gpu/drm/i915/i915_gem_tiling.c +1 −1
  2674. drivers/gpu/drm/i915/i915_gem_userptr.c +18 −2
  2675. drivers/gpu/drm/i915/i915_gpu_error.c +30 −63
  2676. drivers/gpu/drm/i915/i915_irq.c +79 −82
  2677. drivers/gpu/drm/i915/i915_params.c +12 −2
  2678. drivers/gpu/drm/i915/i915_reg.h +246 −164
  2679. drivers/gpu/drm/i915/i915_suspend.c +1 −1
  2680. drivers/gpu/drm/i915/i915_sysfs.c +75 −58
  2681. drivers/gpu/drm/i915/i915_trace.h +43 −26
  2682. drivers/gpu/drm/i915/intel_atomic.c +237 −0
  2683. drivers/gpu/drm/i915/intel_atomic_plane.c +246 −0
  2684. drivers/gpu/drm/i915/intel_audio.c +111 −1
  2685. drivers/gpu/drm/i915/intel_bios.c +45 −0
  2686. drivers/gpu/drm/i915/intel_bios.h +23 −2
  2687. drivers/gpu/drm/i915/intel_crt.c +11 −8
  2688. drivers/gpu/drm/i915/intel_ddi.c +69 −61
  2689. drivers/gpu/drm/i915/intel_display.c +1127 −1048
  2690. drivers/gpu/drm/i915/intel_dp.c +195 −81
  2691. drivers/gpu/drm/i915/intel_dp_mst.c +12 −7
  2692. drivers/gpu/drm/i915/intel_drv.h +134 −69
  2693. drivers/gpu/drm/i915/intel_dsi.c +576 −259
  2694. drivers/gpu/drm/i915/intel_dsi.h +32 −43
  2695. drivers/gpu/drm/i915/intel_dsi_cmd.c +0 −437
  2696. drivers/gpu/drm/i915/intel_dsi_cmd.h +2 −76
  2697. drivers/gpu/drm/i915/intel_dsi_panel_vbt.c +189 −133
  2698. drivers/gpu/drm/i915/intel_dsi_pll.c +9 −3
  2699. drivers/gpu/drm/i915/intel_dvo.c +13 −10
  2700. drivers/gpu/drm/i915/intel_fbc.c +701 −0
  2701. drivers/gpu/drm/i915/intel_fbdev.c +8 −7
  2702. drivers/gpu/drm/i915/intel_fifo_underrun.c +1 −1
  2703. drivers/gpu/drm/i915/intel_frontbuffer.c +2 −0
  2704. drivers/gpu/drm/i915/intel_hdmi.c +27 −24
  2705. drivers/gpu/drm/i915/intel_lrc.c +185 −200
  2706. drivers/gpu/drm/i915/intel_lrc.h +10 −33
  2707. drivers/gpu/drm/i915/intel_lvds.c +11 −8
  2708. drivers/gpu/drm/i915/intel_overlay.c +33 −13
  2709. drivers/gpu/drm/i915/intel_panel.c +8 −8
  2710. drivers/gpu/drm/i915/intel_pm.c +205 −878
  2711. drivers/gpu/drm/i915/intel_psr.c +247 −61
  2712. drivers/gpu/drm/i915/intel_renderstate_gen6.c +25 −0
  2713. drivers/gpu/drm/i915/intel_renderstate_gen7.c +25 −0
  2714. drivers/gpu/drm/i915/intel_renderstate_gen8.c +25 −0
  2715. drivers/gpu/drm/i915/intel_renderstate_gen9.c +25 −0
  2716. drivers/gpu/drm/i915/intel_ringbuffer.c +188 −101
  2717. drivers/gpu/drm/i915/intel_ringbuffer.h +15 −22
  2718. drivers/gpu/drm/i915/intel_runtime_pm.c +16 −57
  2719. drivers/gpu/drm/i915/intel_sdvo.c +20 −14
  2720. drivers/gpu/drm/i915/intel_sideband.c +15 −15
  2721. drivers/gpu/drm/i915/intel_sprite.c +94 −300
  2722. drivers/gpu/drm/i915/intel_tv.c +8 −5
  2723. drivers/gpu/drm/i915/intel_uncore.c +517 −631
  2724. drivers/gpu/drm/imx/Kconfig +2 −1
  2725. drivers/gpu/drm/imx/Makefile +1 −1
  2726. drivers/gpu/drm/imx/dw_hdmi-imx.c +258 −0
  2727. drivers/gpu/drm/imx/imx-drm-core.c +20 −67
  2728. drivers/gpu/drm/imx/imx-drm.h +1 −1
  2729. drivers/gpu/drm/imx/imx-ldb.c +5 −3
  2730. drivers/gpu/drm/imx/imx-tve.c +18 −10
  2731. drivers/gpu/drm/imx/ipuv3-crtc.c +40 −38
  2732. drivers/gpu/drm/imx/parallel-display.c +5 −2
  2733. drivers/gpu/drm/mgag200/mgag200_fb.c +10 −2
  2734. drivers/gpu/drm/msm/Kconfig +1 −0
  2735. drivers/gpu/drm/msm/Makefile +6 −3
  2736. drivers/gpu/drm/msm/adreno/a2xx.xml.h +3 −3
  2737. drivers/gpu/drm/msm/adreno/a3xx.xml.h +142 −106
  2738. drivers/gpu/drm/msm/adreno/a4xx.xml.h +288 −132
  2739. drivers/gpu/drm/msm/adreno/adreno_common.xml.h +3 −3
  2740. drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h +20 −21
  2741. drivers/gpu/drm/msm/dsi/dsi.xml.h +6 −5
  2742. drivers/gpu/drm/msm/dsi/mmss_cc.xml.h +6 −5
  2743. drivers/gpu/drm/msm/dsi/sfpb.xml.h +6 −5
  2744. drivers/gpu/drm/msm/edp/edp.c +208 −0
  2745. drivers/gpu/drm/msm/edp/edp.h +85 −0
  2746. drivers/gpu/drm/msm/edp/edp.xml.h +292 −0
  2747. drivers/gpu/drm/msm/edp/edp_aux.c +268 −0
  2748. drivers/gpu/drm/msm/edp/edp_bridge.c +120 −0
  2749. drivers/gpu/drm/msm/edp/edp_connector.c +161 −0
  2750. drivers/gpu/drm/msm/edp/edp_ctrl.c +1373 −0
  2751. drivers/gpu/drm/msm/edp/edp_phy.c +106 −0
  2752. drivers/gpu/drm/msm/hdmi/hdmi.c +97 −48
  2753. drivers/gpu/drm/msm/hdmi/hdmi.h +5 −4
  2754. drivers/gpu/drm/msm/hdmi/hdmi.xml.h +94 −12
  2755. drivers/gpu/drm/msm/hdmi/hdmi_bridge.c +7 −7
  2756. drivers/gpu/drm/msm/hdmi/hdmi_connector.c +2 −2
  2757. drivers/gpu/drm/msm/hdmi/qfprom.xml.h +6 −5
  2758. drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h +50 −5
  2759. drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c +26 −39
  2760. drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c +57 −62
  2761. drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c +34 −0
  2762. drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h +15 −4
  2763. drivers/gpu/drm/msm/mdp/mdp4/mdp4_lcdc_encoder.c +76 −78
  2764. drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c +1 −1
  2765. drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c +95 −9
  2766. drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h +229 −16
  2767. drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c +191 −39
  2768. drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c +1 −1
  2769. drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h +1 −1
  2770. drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c +79 −48
  2771. drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c +45 −11
  2772. drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h +15 −4
  2773. drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c +194 −22
  2774. drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c +3 −2
  2775. drivers/gpu/drm/msm/mdp/mdp_common.xml.h +21 −7
  2776. drivers/gpu/drm/msm/mdp/mdp_format.c +98 −10
  2777. drivers/gpu/drm/msm/mdp/mdp_kms.c +1 −1
  2778. drivers/gpu/drm/msm/mdp/mdp_kms.h +23 −1
  2779. drivers/gpu/drm/msm/msm_atomic.c +43 −7
  2780. drivers/gpu/drm/msm/msm_drv.c +11 −2
  2781. drivers/gpu/drm/msm/msm_drv.h +14 −0
  2782. drivers/gpu/drm/msm/msm_fb.c +2 −2
  2783. drivers/gpu/drm/msm/msm_fbdev.c +8 −5
  2784. drivers/gpu/drm/msm/msm_kms.h +5 −0
  2785. drivers/gpu/drm/nouveau/Kbuild +66 −0
  2786. drivers/gpu/drm/nouveau/Kconfig +1 −1
  2787. drivers/gpu/drm/nouveau/Makefile +0 −400
  2788. drivers/gpu/drm/nouveau/core/core/gpuobj.c +0 −323
  2789. drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c +0 −172
  2790. drivers/gpu/drm/nouveau/core/engine/copy/nve0.c +0 −176
  2791. drivers/gpu/drm/nouveau/core/engine/device/acpi.h +0 −9
  2792. drivers/gpu/drm/nouveau/core/engine/device/nv50.c +0 −475
  2793. drivers/gpu/drm/nouveau/core/engine/device/nvc0.c +0 −357
  2794. drivers/gpu/drm/nouveau/core/engine/device/nve0.c +0 −324
  2795. drivers/gpu/drm/nouveau/core/engine/device/priv.h +0 −8
  2796. drivers/gpu/drm/nouveau/core/engine/disp/nv50.h +0 −252
  2797. drivers/gpu/drm/nouveau/core/engine/disp/priv.h +0 −48
  2798. drivers/gpu/drm/nouveau/core/engine/dmaobj/priv.h +0 −30
  2799. drivers/gpu/drm/nouveau/core/engine/fifo/nv50.h +0 −36
  2800. drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h +0 −18
  2801. drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.h +0 −202
  2802. drivers/gpu/drm/nouveau/core/engine/graph/nv20.h +0 −31
  2803. drivers/gpu/drm/nouveau/core/engine/graph/nv50.h +0 −7
  2804. drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h +0 −270
  2805. drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.h +0 −26
  2806. drivers/gpu/drm/nouveau/core/engine/perfmon/nv50.c +0 −70
  2807. drivers/gpu/drm/nouveau/core/engine/perfmon/nva3.c +0 −96
  2808. drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.h +0 −17
  2809. drivers/gpu/drm/nouveau/core/engine/perfmon/nve0.c +0 −162
  2810. drivers/gpu/drm/nouveau/core/engine/perfmon/nvf0.c +0 −71
  2811. drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h +0 −91
  2812. drivers/gpu/drm/nouveau/core/engine/software/nv50.h +0 −46
  2813. drivers/gpu/drm/nouveau/core/include/core/client.h +0 −57
  2814. drivers/gpu/drm/nouveau/core/include/core/device.h +0 −184
  2815. drivers/gpu/drm/nouveau/core/include/core/engctx.h +0 −54
  2816. drivers/gpu/drm/nouveau/core/include/core/engine.h +0 −57
  2817. drivers/gpu/drm/nouveau/core/include/core/enum.h +0 −24
  2818. drivers/gpu/drm/nouveau/core/include/core/gpuobj.h +0 −71
  2819. drivers/gpu/drm/nouveau/core/include/core/handle.h +0 −34
  2820. drivers/gpu/drm/nouveau/core/include/core/ioctl.h +0 −6
  2821. drivers/gpu/drm/nouveau/core/include/core/mm.h +0 −40
  2822. drivers/gpu/drm/nouveau/core/include/core/namedb.h +0 −56
  2823. drivers/gpu/drm/nouveau/core/include/core/option.h +0 −20
  2824. drivers/gpu/drm/nouveau/core/include/core/parent.h +0 −62
  2825. drivers/gpu/drm/nouveau/core/include/core/ramht.h +0 −23
  2826. drivers/gpu/drm/nouveau/core/include/engine/bsp.h +0 −9
  2827. drivers/gpu/drm/nouveau/core/include/engine/copy.h +0 −13
  2828. drivers/gpu/drm/nouveau/core/include/engine/crypt.h +0 −7
  2829. drivers/gpu/drm/nouveau/core/include/engine/disp.h +0 −36
  2830. drivers/gpu/drm/nouveau/core/include/engine/dmaobj.h +0 −31
  2831. drivers/gpu/drm/nouveau/core/include/engine/falcon.h +0 −83
  2832. drivers/gpu/drm/nouveau/core/include/engine/fifo.h +0 −126
  2833. drivers/gpu/drm/nouveau/core/include/engine/graph.h +0 −86
  2834. drivers/gpu/drm/nouveau/core/include/engine/mpeg.h +0 −63
  2835. drivers/gpu/drm/nouveau/core/include/engine/perfmon.h +0 −38
  2836. drivers/gpu/drm/nouveau/core/include/engine/ppp.h +0 −7
  2837. drivers/gpu/drm/nouveau/core/include/engine/software.h +0 −51
  2838. drivers/gpu/drm/nouveau/core/include/engine/vp.h +0 −9
  2839. drivers/gpu/drm/nouveau/core/include/engine/xtensa.h +0 −38
  2840. drivers/gpu/drm/nouveau/core/include/nvif/class.h +0 −1
  2841. drivers/gpu/drm/nouveau/core/include/nvif/event.h +0 −1
  2842. drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h +0 −1
  2843. drivers/gpu/drm/nouveau/core/include/nvif/unpack.h +0 −1
  2844. drivers/gpu/drm/nouveau/core/include/subdev/bar.h +0 −37
  2845. drivers/gpu/drm/nouveau/core/include/subdev/bios.h +0 −35
  2846. drivers/gpu/drm/nouveau/core/include/subdev/bios/M0205.h +0 −32
  2847. drivers/gpu/drm/nouveau/core/include/subdev/bios/M0209.h +0 −30
  2848. drivers/gpu/drm/nouveau/core/include/subdev/bios/P0260.h +0 −23
  2849. drivers/gpu/drm/nouveau/core/include/subdev/bios/boost.h +0 −29
  2850. drivers/gpu/drm/nouveau/core/include/subdev/bios/cstep.h +0 −28
  2851. drivers/gpu/drm/nouveau/core/include/subdev/bios/disp.h +0 −48
  2852. drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h +0 −35
  2853. drivers/gpu/drm/nouveau/core/include/subdev/bios/mxm.h +0 −9
  2854. drivers/gpu/drm/nouveau/core/include/subdev/bios/npde.h +0 −12
  2855. drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h +0 −26
  2856. drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h +0 −14
  2857. drivers/gpu/drm/nouveau/core/include/subdev/bios/vmap.h +0 −25
  2858. drivers/gpu/drm/nouveau/core/include/subdev/bios/volt.h +0 −27
  2859. drivers/gpu/drm/nouveau/core/include/subdev/bus.h +0 −53
  2860. drivers/gpu/drm/nouveau/core/include/subdev/clock.h +0 −166
  2861. drivers/gpu/drm/nouveau/core/include/subdev/devinit.h +0 −35
  2862. drivers/gpu/drm/nouveau/core/include/subdev/fb.h +0 −159
  2863. drivers/gpu/drm/nouveau/core/include/subdev/fuse.h +0 −30
  2864. drivers/gpu/drm/nouveau/core/include/subdev/gpio.h +0 −47
  2865. drivers/gpu/drm/nouveau/core/include/subdev/i2c.h +0 −136
  2866. drivers/gpu/drm/nouveau/core/include/subdev/ibus.h +0 −35
  2867. drivers/gpu/drm/nouveau/core/include/subdev/instmem.h +0 −52
  2868. drivers/gpu/drm/nouveau/core/include/subdev/ltc.h +0 −35
  2869. drivers/gpu/drm/nouveau/core/include/subdev/mc.h +0 −31
  2870. drivers/gpu/drm/nouveau/core/include/subdev/mxm.h +0 −37
  2871. drivers/gpu/drm/nouveau/core/include/subdev/pwr.h +0 −56
  2872. drivers/gpu/drm/nouveau/core/include/subdev/therm.h +0 −83
  2873. drivers/gpu/drm/nouveau/core/include/subdev/timer.h +0 −64
  2874. drivers/gpu/drm/nouveau/core/include/subdev/vm.h +0 −135
  2875. drivers/gpu/drm/nouveau/core/include/subdev/volt.h +0 −61
  2876. drivers/gpu/drm/nouveau/core/subdev/bar/base.c +0 −149
  2877. drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c +0 −220
  2878. drivers/gpu/drm/nouveau/core/subdev/bar/priv.h +0 −32
  2879. drivers/gpu/drm/nouveau/core/subdev/bus/nv04.h +0 −23
  2880. drivers/gpu/drm/nouveau/core/subdev/clock/nv50.h +0 −31
  2881. drivers/gpu/drm/nouveau/core/subdev/clock/nva3.h +0 −20
  2882. drivers/gpu/drm/nouveau/core/subdev/clock/pll.h +0 −9
  2883. drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h +0 −23
  2884. drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h +0 −23
  2885. drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h +0 −40
  2886. drivers/gpu/drm/nouveau/core/subdev/fb/nv04.h +0 −55
  2887. drivers/gpu/drm/nouveau/core/subdev/fb/nv40.h +0 −17
  2888. drivers/gpu/drm/nouveau/core/subdev/fb/nv50.h +0 −33
  2889. drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.h +0 −31
  2890. drivers/gpu/drm/nouveau/core/subdev/fb/priv.h +0 −76
  2891. drivers/gpu/drm/nouveau/core/subdev/fuse/priv.h +0 −9
  2892. drivers/gpu/drm/nouveau/core/subdev/gpio/priv.h +0 −67
  2893. drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.h +0 −34
  2894. drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h +0 −89
  2895. drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.h +0 −40
  2896. drivers/gpu/drm/nouveau/core/subdev/instmem/priv.h +0 −56
  2897. drivers/gpu/drm/nouveau/core/subdev/mc/nv04.h +0 −22
  2898. drivers/gpu/drm/nouveau/core/subdev/mc/priv.h +0 −38
  2899. drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.h +0 −22
  2900. drivers/gpu/drm/nouveau/core/subdev/pwr/base.c +0 −272
  2901. drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c +0 −201
  2902. drivers/gpu/drm/nouveau/core/subdev/pwr/priv.h +0 −44
  2903. drivers/gpu/drm/nouveau/core/subdev/therm/priv.h +0 −159
  2904. drivers/gpu/drm/nouveau/core/subdev/vm/base.c +0 −483
  2905. drivers/gpu/drm/nouveau/core/subdev/vm/nv04.h +0 −19
  2906. drivers/gpu/drm/nouveau/dispnv04/Kbuild +0 −0
  2907. drivers/gpu/drm/nouveau/dispnv04/crtc.c +4 −4
  2908. drivers/gpu/drm/nouveau/dispnv04/dac.c +11 −11
  2909. drivers/gpu/drm/nouveau/dispnv04/dfp.c +3 −3
  2910. drivers/gpu/drm/nouveau/dispnv04/disp.c +1 −19
  2911. drivers/gpu/drm/nouveau/dispnv04/disp.h +2 −4
  2912. drivers/gpu/drm/nouveau/dispnv04/hw.c +12 −12
  2913. drivers/gpu/drm/nouveau/dispnv04/hw.h +2 −2
  2914. drivers/gpu/drm/nouveau/dispnv04/tvnv04.c +4 −4
  2915. drivers/gpu/drm/nouveau/dispnv04/tvnv17.c +5 −5
  2916. drivers/gpu/drm/nouveau/include/nvif/class.h +13 −10
  2917. drivers/gpu/drm/nouveau/include/nvif/client.h +3 −3
  2918. drivers/gpu/drm/nouveau/include/nvif/device.h +61 −0
  2919. drivers/gpu/drm/nouveau/include/nvif/driver.h +0 −0
  2920. drivers/gpu/drm/nouveau/include/nvif/event.h +0 −0
  2921. drivers/gpu/drm/nouveau/include/nvif/ioctl.h +0 −0
  2922. drivers/gpu/drm/nouveau/include/nvif/list.h +0 −0
  2923. drivers/gpu/drm/nouveau/include/nvif/notify.h +0 −0
  2924. drivers/gpu/drm/nouveau/include/nvif/object.h +1 −1
  2925. drivers/gpu/drm/nouveau/include/nvif/os.h +0 −0
  2926. drivers/gpu/drm/nouveau/include/nvif/unpack.h +0 −0
  2927. drivers/gpu/drm/nouveau/include/nvkm/core/client.h +55 −0
  2928. drivers/gpu/drm/nouveau/include/nvkm/core/debug.h +2 −4
  2929. drivers/gpu/drm/nouveau/include/nvkm/core/device.h +101 −0
  2930. drivers/gpu/drm/nouveau/include/nvkm/core/devidx.h +62 −0
.gitignore+6−0
@@ -43,6 +43,7 @@ Module.symvers · 42 unmodified lines
4343 /TAGS
4444 /linux
4545 /vmlinux
46+/vmlinux-gdb.py
4647 /vmlinuz
4748 /System.map
4849 /Module.markers
@@ -52,6 +53,11 @@ Module.symvers · 3 unmodified lines
5253 #
5354 /debian/
5455
56+#
57+# tar directory (make tar*-pkg)
58+#
59+/tar-install/
60+
5561 #
5662 # git files that we don't want to ignore even it they are dot-files
5763 #
.mailmap+1−0
@@ -73,6 +73,7 @@ Juha Yrjola <juha.yrjola@nokia.com> · 72 unmodified lines
7373 Juha Yrjola <juha.yrjola@solidboot.com>
7474 Kay Sievers <kay.sievers@vrfy.org>
7575 Kenneth W Chen <kenneth.w.chen@intel.com>
76+Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
7677 Koushik <raghavendra.koushik@neterion.com>
7778 Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
7879 Leonid I Ananiev <leonid.i.ananiev@intel.com>
Documentation/00-INDEX+10−18
@@ -29,8 +29,6 @@ DMA-ISA-LPC.txt · 28 unmodified lines
2929 - How to do DMA with ISA (and LPC) devices.
3030 DMA-attributes.txt
3131 - listing of the various possible attributes a DMA region can have
32−dmatest.txt
33− - how to compile, configure and use the dmatest system.
3432 DocBook/
3533 - directory with DocBook templates etc. for kernel documentation.
3634 EDID/
@@ -163,8 +161,6 @@ digsig.txt · 126 unmodified lines
163161 -info on the Digital Signature Verification API
164162 dma-buf-sharing.txt
165163 - the DMA Buffer Sharing API Guide
166−dmaengine.txt
167− -the DMA Engine API Guide
168164 dontdiff
169165 - file containing a list of files that should never be diff'ed.
170166 driver-model/
@@ -209,6 +205,8 @@ hid/ · 38 unmodified lines
209205 - directory with information on human interface devices
210206 highuid.txt
211207 - notes on the change from 16 bit to 32 bit user/group IDs.
208+hsi.txt
209+ - HSI subsystem overview.
212210 hwspinlock.txt
213211 - hardware spinlock provides hardware assistance for synchronization
214212 timers/
@@ -277,6 +275,8 @@ kprobes.txt · 62 unmodified lines
277275 - documents the kernel probes debugging feature.
278276 kref.txt
279277 - docs on adding reference counters (krefs) to kernel objects.
278+kselftest.txt
279+ - small unittests for (some) individual codepaths in the kernel.
280280 laptops/
281281 - directory with laptop related info and laptop driver documentation.
282282 ldm.txt
@@ -285,22 +285,22 @@ leds/ · 2 unmodified lines
285285 - directory with info about LED handling under Linux.
286286 local_ops.txt
287287 - semantics and behavior of local atomic operations.
288−lockdep-design.txt
289− - documentation on the runtime locking correctness validator.
290288 locking/
291289 - directory with info about kernel locking primitives
292−lockstat.txt
293− - info on collecting statistics on locks (and contention).
294290 lockup-watchdogs.txt
295291 - info on soft and hard lockup detectors (aka nmi_watchdog).
296292 logo.gif
297293 - full colour GIF image of Linux logo (penguin - Tux).
298294 logo.txt
299295 - info on creator of above logo & site to get additional images from.
296+lzo.txt
297+ - kernel LZO decompressor input formats
300298 m68k/
301299 - directory with info about Linux on Motorola 68k architecture.
302300 magic-number.txt
303301 - list of magic numbers used to mark/protect kernel data structures.
302+mailbox.txt
303+ - How to write drivers for the common mailbox framework (IPC).
304304 md.txt
305305 - info on boot arguments for the multiple devices driver.
306306 media-framework.txt
@@ -327,8 +327,6 @@ mtd/ · 20 unmodified lines
327327 - directory with info about memory technology devices (flash)
328328 mono.txt
329329 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
330−mutex-design.txt
331− - info on the generic mutex subsystem.
332330 namespaces/
333331 - directory with various information about namespaces
334332 netlabel/
@@ -395,10 +393,6 @@ robust-futexes.txt · 60 unmodified lines
395393 - a description of what robust futexes are.
396394 rpmsg.txt
397395 - info on the Remote Processor Messaging (rpmsg) Framework
398−rt-mutex-design.txt
399− - description of the RealTime mutex implementation design.
400−rt-mutex.txt
401− - desc. of RT-mutex subsystem with PI (Priority Inheritance) support.
402396 rtc.txt
403397 - notes on how to use the Real Time Clock (aka CMOS clock) driver.
404398 s390/
@@ -425,8 +419,6 @@ sparse.txt · 20 unmodified lines
425419 - info on how to obtain and use the sparse tool for typechecking.
426420 spi/
427421 - overview of Linux kernel Serial Peripheral Interface (SPI) support.
428−spinlocks.txt
429− - info on using spinlocks to provide exclusive access in kernel.
430422 stable_api_nonsense.txt
431423 - info on why the kernel does not have a stable in-kernel api or abi.
432424 stable_kernel_rules.txt
@@ -483,10 +475,10 @@ wimax/ · 50 unmodified lines
483475 - directory with info about Intel Wireless Wimax Connections
484476 workqueue.txt
485477 - information on the Concurrency Managed Workqueue implementation
486−ww-mutex-design.txt
487− - Intro to Mutex wait/would deadlock handling.s
488478 x86/x86_64/
489479 - directory with info on Linux support for AMD x86-64 (Hammer) machines.
480+xillybus.txt
481+ - Overview and basic ui of xillybus driver
490482 xtensa/
491483 - directory with documents relating to arch/xtensa port/implementation
492484 xz.txt
Documentation/ABI/stable/sysfs-class-tpm+11−11
@@ -1,4 +1,4 @@
1−What: /sys/class/misc/tpmX/device/
1+What: /sys/class/tpm/tpmX/device/
22 Date: April 2005
33 KernelVersion: 2.6.12
44 Contact: tpmdd-devel@lists.sf.net
@@ -6,7 +6,7 @@ Description: The device/ directory under a specific TPM instance exposes · 1 unmodified line
66 the properties of that TPM chip
77
88
9−What: /sys/class/misc/tpmX/device/active
9+What: /sys/class/tpm/tpmX/device/active
1010 Date: April 2006
1111 KernelVersion: 2.6.17
1212 Contact: tpmdd-devel@lists.sf.net
@@ -18,7 +18,7 @@ Description: The "active" property prints a '1' if the TPM chip is accepting · 5 unmodified lines
1818 section 17 for more information on which commands are
1919 available.
2020
21−What: /sys/class/misc/tpmX/device/cancel
21+What: /sys/class/tpm/tpmX/device/cancel
2222 Date: June 2005
2323 KernelVersion: 2.6.13
2424 Contact: tpmdd-devel@lists.sf.net
@@ -26,7 +26,7 @@ Description: The "cancel" property allows you to cancel the currently · 1 unmodified line
2626 pending TPM command. Writing any value to cancel will call the
2727 TPM vendor specific cancel operation.
2828
29−What: /sys/class/misc/tpmX/device/caps
29+What: /sys/class/tpm/tpmX/device/caps
3030 Date: April 2005
3131 KernelVersion: 2.6.12
3232 Contact: tpmdd-devel@lists.sf.net
@@ -43,7 +43,7 @@ Description: The "caps" property contains TPM manufacturer and version info. · 10 unmodified lines
4343 the chip supports. Firmware version is that of the chip and
4444 is manufacturer specific.
4545
46−What: /sys/class/misc/tpmX/device/durations
46+What: /sys/class/tpm/tpmX/device/durations
4747 Date: March 2011
4848 KernelVersion: 3.1
4949 Contact: tpmdd-devel@lists.sf.net
@@ -66,7 +66,7 @@ Description: The "durations" property shows the 3 vendor-specific values · 16 unmodified lines
6666 scaled to be displayed in usecs. In this case "[adjusted]"
6767 will be displayed in place of "[original]".
6868
69−What: /sys/class/misc/tpmX/device/enabled
69+What: /sys/class/tpm/tpmX/device/enabled
7070 Date: April 2006
7171 KernelVersion: 2.6.17
7272 Contact: tpmdd-devel@lists.sf.net
@@ -75,7 +75,7 @@ Description: The "enabled" property prints a '1' if the TPM chip is enabled, · 2 unmodified lines
7575 may be visible but produce a '0' after some operation that
7676 disables the TPM.
7777
78−What: /sys/class/misc/tpmX/device/owned
78+What: /sys/class/tpm/tpmX/device/owned
7979 Date: April 2006
8080 KernelVersion: 2.6.17
8181 Contact: tpmdd-devel@lists.sf.net
@@ -83,7 +83,7 @@ Description: The "owned" property produces a '1' if the TPM_TakeOwnership · 1 unmodified line
8383 ordinal has been executed successfully in the chip. A '0'
8484 indicates that ownership hasn't been taken.
8585
86−What: /sys/class/misc/tpmX/device/pcrs
86+What: /sys/class/tpm/tpmX/device/pcrs
8787 Date: April 2005
8888 KernelVersion: 2.6.12
8989 Contact: tpmdd-devel@lists.sf.net
@@ -106,7 +106,7 @@ Description: The "pcrs" property will dump the current value of all Platform · 16 unmodified lines
106106 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes
107107 long. Use the "caps" property to determine TPM version.
108108
109−What: /sys/class/misc/tpmX/device/pubek
109+What: /sys/class/tpm/tpmX/device/pubek
110110 Date: April 2005
111111 KernelVersion: 2.6.12
112112 Contact: tpmdd-devel@lists.sf.net
@@ -158,7 +158,7 @@ Description: The "pubek" property will return the TPM's public endorsement · 45 unmodified lines
158158 Modulus Length: 256 (bytes)
159159 Modulus: The 256 byte Endorsement Key modulus
160160
161−What: /sys/class/misc/tpmX/device/temp_deactivated
161+What: /sys/class/tpm/tpmX/device/temp_deactivated
162162 Date: April 2006
163163 KernelVersion: 2.6.17
164164 Contact: tpmdd-devel@lists.sf.net
@@ -167,7 +167,7 @@ Description: The "temp_deactivated" property returns a '1' if the chip has · 2 unmodified lines
167167 cycle. Whether a warm boot (reboot) will clear a TPM chip
168168 from a temp_deactivated state is platform specific.
169169
170−What: /sys/class/misc/tpmX/device/timeouts
170+What: /sys/class/tpm/tpmX/device/timeouts
171171 Date: March 2011
172172 KernelVersion: 3.1
173173 Contact: tpmdd-devel@lists.sf.net
Documentation/ABI/testing/configfs-usb-gadget-uvc+265−0
@@ -0,0 +1,265 @@
1+What: /config/usb-gadget/gadget/functions/uvc.name
2+Date: Dec 2014
3+KernelVersion: 3.20
4+Description: UVC function directory
5+
6+ streaming_maxburst - 0..15 (ss only)
7+ streaming_maxpacket - 1..1023 (fs), 1..3072 (hs/ss)
8+ streaming_interval - 1..16
9+
10+What: /config/usb-gadget/gadget/functions/uvc.name/control
11+Date: Dec 2014
12+KernelVersion: 3.20
13+Description: Control descriptors
14+
15+What: /config/usb-gadget/gadget/functions/uvc.name/control/class
16+Date: Dec 2014
17+KernelVersion: 3.20
18+Description: Class descriptors
19+
20+What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss
21+Date: Dec 2014
22+KernelVersion: 3.20
23+Description: Super speed control class descriptors
24+
25+What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs
26+Date: Dec 2014
27+KernelVersion: 3.20
28+Description: Full speed control class descriptors
29+
30+What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal
31+Date: Dec 2014
32+KernelVersion: 3.20
33+Description: Terminal descriptors
34+
35+What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
36+Date: Dec 2014
37+KernelVersion: 3.20
38+Description: Output terminal descriptors
39+
40+What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
41+Date: Dec 2014
42+KernelVersion: 3.20
43+Description: Default output terminal descriptors
44+
45+ All attributes read only:
46+ iTerminal - index of string descriptor
47+ bSourceID - id of the terminal to which this terminal
48+ is connected
49+ bAssocTerminal - id of the input terminal to which this output
50+ terminal is associated
51+ wTerminalType - terminal type
52+ bTerminalID - a non-zero id of this terminal
53+
54+What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
55+Date: Dec 2014
56+KernelVersion: 3.20
57+Description: Camera terminal descriptors
58+
59+What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
60+Date: Dec 2014
61+KernelVersion: 3.20
62+Description: Default camera terminal descriptors
63+
64+ All attributes read only:
65+ bmControls - bitmap specifying which controls are
66+ supported for the video stream
67+ wOcularFocalLength - the value of Locular
68+ wObjectiveFocalLengthMax- the value of Lmin
69+ wObjectiveFocalLengthMin- the value of Lmax
70+ iTerminal - index of string descriptor
71+ bAssocTerminal - id of the output terminal to which
72+ this terminal is connected
73+ wTerminalType - terminal type
74+ bTerminalID - a non-zero id of this terminal
75+
76+What: /config/usb-gadget/gadget/functions/uvc.name/control/processing
77+Date: Dec 2014
78+KernelVersion: 3.20
79+Description: Processing unit descriptors
80+
81+What: /config/usb-gadget/gadget/functions/uvc.name/control/processing/default
82+Date: Dec 2014
83+KernelVersion: 3.20
84+Description: Default processing unit descriptors
85+
86+ All attributes read only:
87+ iProcessing - index of string descriptor
88+ bmControls - bitmap specifying which controls are
89+ supported for the video stream
90+ wMaxMultiplier - maximum digital magnification x100
91+ bSourceID - id of the terminal to which this unit is
92+ connected
93+ bUnitID - a non-zero id of this unit
94+
95+What: /config/usb-gadget/gadget/functions/uvc.name/control/header
96+Date: Dec 2014
97+KernelVersion: 3.20
98+Description: Control header descriptors
99+
100+What: /config/usb-gadget/gadget/functions/uvc.name/control/header/name
101+Date: Dec 2014
102+KernelVersion: 3.20
103+Description: Specific control header descriptors
104+
105+dwClockFrequency
106+bcdUVC
107+What: /config/usb-gadget/gadget/functions/uvc.name/streaming
108+Date: Dec 2014
109+KernelVersion: 3.20
110+Description: Streaming descriptors
111+
112+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class
113+Date: Dec 2014
114+KernelVersion: 3.20
115+Description: Streaming class descriptors
116+
117+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
118+Date: Dec 2014
119+KernelVersion: 3.20
120+Description: Super speed streaming class descriptors
121+
122+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
123+Date: Dec 2014
124+KernelVersion: 3.20
125+Description: High speed streaming class descriptors
126+
127+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
128+Date: Dec 2014
129+KernelVersion: 3.20
130+Description: Full speed streaming class descriptors
131+
132+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
133+Date: Dec 2014
134+KernelVersion: 3.20
135+Description: Color matching descriptors
136+
137+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
138+Date: Dec 2014
139+KernelVersion: 3.20
140+Description: Default color matching descriptors
141+
142+ All attributes read only:
143+ bMatrixCoefficients - matrix used to compute luma and
144+ chroma values from the color primaries
145+ bTransferCharacteristics- optoelectronic transfer
146+ characteristic of the source picutre,
147+ also called the gamma function
148+ bColorPrimaries - color primaries and the reference
149+ white
150+
151+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
152+Date: Dec 2014
153+KernelVersion: 3.20
154+Description: MJPEG format descriptors
155+
156+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
157+Date: Dec 2014
158+KernelVersion: 3.20
159+Description: Specific MJPEG format descriptors
160+
161+ All attributes read only,
162+ except bmaControls and bDefaultFrameIndex:
163+ bmaControls - this format's data for bmaControls in
164+ the streaming header
165+ bmInterfaceFlags - specifies interlace information,
166+ read-only
167+ bAspectRatioY - the X dimension of the picture aspect
168+ ratio, read-only
169+ bAspectRatioX - the Y dimension of the picture aspect
170+ ratio, read-only
171+ bmFlags - characteristics of this format,
172+ read-only
173+ bDefaultFrameIndex - optimum frame index for this stream
174+
175+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
176+Date: Dec 2014
177+KernelVersion: 3.20
178+Description: Specific MJPEG frame descriptors
179+
180+ dwFrameInterval - indicates how frame interval can be
181+ programmed; a number of values
182+ separated by newline can be specified
183+ dwDefaultFrameInterval - the frame interval the device would
184+ like to use as default
185+ dwMaxVideoFrameBufferSize- the maximum number of bytes the
186+ compressor will produce for a video
187+ frame or still image
188+ dwMaxBitRate - the maximum bit rate at the shortest
189+ frame interval in bps
190+ dwMinBitRate - the minimum bit rate at the longest
191+ frame interval in bps
192+ wHeight - height of decoded bitmap frame in px
193+ wWidth - width of decoded bitmam frame in px
194+ bmCapabilities - still image support, fixed frame-rate
195+ support
196+
197+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
198+Date: Dec 2014
199+KernelVersion: 3.20
200+Description: Uncompressed format descriptors
201+
202+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
203+Date: Dec 2014
204+KernelVersion: 3.20
205+Description: Specific uncompressed format descriptors
206+
207+ bmaControls - this format's data for bmaControls in
208+ the streaming header
209+ bmInterfaceFlags - specifies interlace information,
210+ read-only
211+ bAspectRatioY - the X dimension of the picture aspect
212+ ratio, read-only
213+ bAspectRatioX - the Y dimension of the picture aspect
214+ ratio, read-only
215+ bDefaultFrameIndex - optimum frame index for this stream
216+ bBitsPerPixel - number of bits per pixel used to
217+ specify color in the decoded video
218+ frame
219+ guidFormat - globally unique id used to identify
220+ stream-encoding format
221+
222+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
223+Date: Dec 2014
224+KernelVersion: 3.20
225+Description: Specific uncompressed frame descriptors
226+
227+ dwFrameInterval - indicates how frame interval can be
228+ programmed; a number of values
229+ separated by newline can be specified
230+ dwDefaultFrameInterval - the frame interval the device would
231+ like to use as default
232+ dwMaxVideoFrameBufferSize- the maximum number of bytes the
233+ compressor will produce for a video
234+ frame or still image
235+ dwMaxBitRate - the maximum bit rate at the shortest
236+ frame interval in bps
237+ dwMinBitRate - the minimum bit rate at the longest
238+ frame interval in bps
239+ wHeight - height of decoded bitmap frame in px
240+ wWidth - width of decoded bitmam frame in px
241+ bmCapabilities - still image support, fixed frame-rate
242+ support
243+
244+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header
245+Date: Dec 2014
246+KernelVersion: 3.20
247+Description: Streaming header descriptors
248+
249+What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
250+Date: Dec 2014
251+KernelVersion: 3.20
252+Description: Specific streaming header descriptors
253+
254+ All attributes read only:
255+ bTriggerUsage - how the host software will respond to
256+ a hardware trigger interrupt event
257+ bTriggerSupport - flag specifying if hardware
258+ triggering is supported
259+ bStillCaptureMethod - method of still image caputre
260+ supported
261+ bTerminalLink - id of the output terminal to which
262+ the video endpoint of this interface
263+ is connected
264+ bmInfo - capabilities of this video streaming
265+ interface
Documentation/ABI/testing/sysfs-bus-amba+20−0
@@ -0,0 +1,20 @@
1+What: /sys/bus/amba/devices/.../driver_override
2+Date: September 2014
3+Contact: Antonios Motakis <a.motakis@virtualopensystems.com>
4+Description:
5+ This file allows the driver for a device to be specified which
6+ will override standard OF, ACPI, ID table, and name matching.
7+ When specified, only a driver with a name matching the value
8+ written to driver_override will have an opportunity to bind to
9+ the device. The override is specified by writing a string to the
10+ driver_override file (echo vfio-amba > driver_override) and may
11+ be cleared with an empty string (echo > driver_override).
12+ This returns the device to standard matching rules binding.
13+ Writing to driver_override does not automatically unbind the
14+ device from its current driver or make any attempt to
15+ automatically load the specified driver. If no driver with a
16+ matching name is currently loaded in the kernel, the device will
17+ not bind to any driver. This also allows devices to opt-out of
18+ driver binding using a driver_override name such as "none".
19+ Only a single driver may be specified in the override, there is
20+ no support for parsing delimiters.
Documentation/ABI/testing/sysfs-bus-event_source-devices-hv_24x7+22−0
@@ -21,3 +21,25 @@ Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org> · 20 unmodified lines
2121 Description:
2222 Exposes the "version" field of the 24x7 catalog. This is also
2323 extractable from the provided binary "catalog" sysfs entry.
24+
25+What: /sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>
26+Date: February 2014
27+Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
28+Description:
29+ Provides the description of a particular event as provided by
30+ the firmware. If firmware does not provide a description, no
31+ file will be created.
32+
33+ Note that the event-name lacks the domain suffix appended for
34+ events in the events/ dir.
35+
36+What: /sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>
37+Date: February 2014
38+Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
39+Description:
40+ Provides the "long" description of a particular event as
41+ provided by the firmware. If firmware does not provide a
42+ description, no file will be created.
43+
44+ Note that the event-name lacks the domain suffix appended for
45+ events in the events/ dir.
Documentation/ABI/testing/sysfs-bus-iio+199−1
@@ -92,6 +92,18 @@ Description: · 91 unmodified lines
9292 is required is a consistent labeling. Units after application
9393 of scale and offset are millivolts.
9494
95+What: /sys/bus/iio/devices/iio:deviceX/in_currentY_raw
96+What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw
97+KernelVersion: 3.17
98+Contact: linux-iio@vger.kernel.org
99+Description:
100+ Raw (unscaled no bias removal etc.) current measurement from
101+ channel Y. In special cases where the channel does not
102+ correspond to externally available input one of the named
103+ versions may be used. The number must always be specified and
104+ unique to allow association with event codes. Units after
105+ application of scale and offset are milliamps.
106+
95107 What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw
96108 KernelVersion: 3.2
97109 Contact: linux-iio@vger.kernel.org
@@ -234,6 +246,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset · 136 unmodified lines
234246 What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_offset
235247 What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_offset
236248 What: /sys/bus/iio/devices/iio:deviceX/in_voltage_offset
249+What: /sys/bus/iio/devices/iio:deviceX/in_currentY_offset
250+What: /sys/bus/iio/devices/iio:deviceX/in_current_offset
237251 What: /sys/bus/iio/devices/iio:deviceX/in_tempY_offset
238252 What: /sys/bus/iio/devices/iio:deviceX/in_temp_offset
239253 What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_offset
@@ -262,9 +276,14 @@ What: /sys/bus/iio/devices/iio:deviceX/in_voltage_scale · 22 unmodified lines
262276 What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale
263277 What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_scale
264278 What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
279+What: /sys/bus/iio/devices/iio:deviceX/in_currentY_scale
280+What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_scale
281+What: /sys/bus/iio/devices/iio:deviceX/in_current_scale
265282 What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale
266283 What: /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
267284 What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
285+What: /sys/bus/iio/devices/iio:deviceX/in_energy_scale
286+What: /sys/bus/iio/devices/iio:deviceX/in_distance_scale
268287 What: /sys/bus/iio/devices/iio:deviceX/in_magn_scale
269288 What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
270289 What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale
@@ -276,6 +295,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_rot_from_north_true_tilt_comp_scale · 5 unmodified lines
276295 What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
277296 What: /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
278297 What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
298+What: /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
279299 KernelVersion: 2.6.35
280300 Contact: linux-iio@vger.kernel.org
281301 Description:
@@ -323,6 +343,44 @@ Description: · 41 unmodified lines
323343 production inaccuracies). If shared across all channels,
324344 <type>_calibscale is used.
325345
346+What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender
347+What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender
348+What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender
349+What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender
350+KernelVersion: 3.20
351+Contact: linux-iio@vger.kernel.org
352+Description:
353+ Gender of the user (e.g.: male, female) used by some pedometers
354+ to compute the stride length, distance, speed and activity
355+ type.
356+
357+What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender_available
358+What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender_available
359+What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender_available
360+What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender_available
361+KernelVersion: 3.20
362+Contact: linux-iio@vger.kernel.org
363+Description:
364+ Lists all available gender values (e.g.: male, female).
365+
366+What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibheight
367+What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibheight
368+What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibheight
369+What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibheight
370+KernelVersion: 3.19
371+Contact: linux-iio@vger.kernel.org
372+Description:
373+ Height of the user (in meters) used by some pedometers
374+ to compute the stride length, distance, speed and activity
375+ type.
376+
377+What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibweight
378+KernelVersion: 3.20
379+Contact: linux-iio@vger.kernel.org
380+Description:
381+ Weight of the user (in kg). It is needed by some pedometers
382+ to compute the calories burnt by the user.
383+
326384 What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale_available
327385 What: /sys/.../iio:deviceX/in_voltageX_scale_available
328386 What: /sys/.../iio:deviceX/in_voltage-voltage_scale_available
@@ -783,6 +841,14 @@ What: /sys/.../events/in_tempY_roc_falling_period · 454 unmodified lines
783841 What: /sys/.../events/in_accel_x&y&z_mag_falling_period
784842 What: /sys/.../events/in_intensity0_thresh_period
785843 What: /sys/.../events/in_proximity0_thresh_period
844+What: /sys/.../events/in_activity_still_thresh_rising_period
845+What: /sys/.../events/in_activity_still_thresh_falling_period
846+What: /sys/.../events/in_activity_walking_thresh_rising_period
847+What: /sys/.../events/in_activity_walking_thresh_falling_period
848+What: /sys/.../events/in_activity_jogging_thresh_rising_period
849+What: /sys/.../events/in_activity_jogging_thresh_falling_period
850+What: /sys/.../events/in_activity_running_thresh_rising_period
851+What: /sys/.../events/in_activity_running_thresh_falling_period
786852 KernelVersion: 2.6.37
787853 Contact: linux-iio@vger.kernel.org
788854 Description:
@@ -790,6 +856,40 @@ Description: · 1 unmodified line
790856 met before an event is generated. If direction is not
791857 specified then this period applies to both directions.
792858
859+What: /sys/.../events/in_activity_still_thresh_rising_en
860+What: /sys/.../events/in_activity_still_thresh_falling_en
861+What: /sys/.../events/in_activity_walking_thresh_rising_en
862+What: /sys/.../events/in_activity_walking_thresh_falling_en
863+What: /sys/.../events/in_activity_jogging_thresh_rising_en
864+What: /sys/.../events/in_activity_jogging_thresh_falling_en
865+What: /sys/.../events/in_activity_running_thresh_rising_en
866+What: /sys/.../events/in_activity_running_thresh_falling_en
867+KernelVersion: 3.19
868+Contact: linux-iio@vger.kernel.org
869+Description:
870+ Enables or disables activitity events. Depending on direction
871+ an event is generated when sensor ENTERS or LEAVES a given state.
872+
873+What: /sys/.../events/in_activity_still_thresh_rising_value
874+What: /sys/.../events/in_activity_still_thresh_falling_value
875+What: /sys/.../events/in_activity_walking_thresh_rising_value
876+What: /sys/.../events/in_activity_walking_thresh_falling_value
877+What: /sys/.../events/in_activity_jogging_thresh_rising_value
878+What: /sys/.../events/in_activity_jogging_thresh_falling_value
879+What: /sys/.../events/in_activity_running_thresh_rising_value
880+What: /sys/.../events/in_activity_running_thresh_falling_value
881+KernelVersion: 3.19
882+Contact: linux-iio@vger.kernel.org
883+Description:
884+ Confidence value (in units as percentage) to be used
885+ for deciding when an event should be generated. E.g for
886+ running: If the confidence value reported by the sensor
887+ is greater than in_activity_running_thresh_rising_value
888+ then the sensor ENTERS running state. Conversely, if the
889+ confidence value reported by the sensor is lower than
890+ in_activity_running_thresh_falling_value then the sensor
891+ is LEAVING running state.
892+
793893 What: /sys/.../iio:deviceX/events/in_accel_mag_en
794894 What: /sys/.../iio:deviceX/events/in_accel_mag_rising_en
795895 What: /sys/.../iio:deviceX/events/in_accel_mag_falling_en
@@ -822,6 +922,25 @@ Description: · 26 unmodified lines
822922 number or direction is not specified, applies to all channels of
823923 this type.
824924
925+What: /sys/.../events/in_steps_change_en
926+KernelVersion: 3.20
927+Contact: linux-iio@vger.kernel.org
928+Description:
929+ Event generated when channel passes a threshold on the absolute
930+ change in value. E.g. for steps: a step change event is
931+ generated each time the user takes N steps, where N is set using
932+ in_steps_change_value.
933+
934+What: /sys/.../events/in_steps_change_value
935+KernelVersion: 3.20
936+Contact: linux-iio@vger.kernel.org
937+Description:
938+ Specifies the value of change threshold that the
939+ device is comparing against for the events enabled by
940+ <type>[Y][_name]_roc[_rising|falling|]_en. E.g. for steps:
941+ if set to 3, a step change event will be generated every 3
942+ steps.
943+
825944 What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
826945 KernelVersion: 2.6.35
827946 Contact: linux-iio@vger.kernel.org
@@ -956,6 +1075,16 @@ Description: · 128 unmodified lines
9561075 and the relevant _type attributes to establish the data storage
9571076 format.
9581077
1078+What: /sys/.../iio:deviceX/in_activity_still_input
1079+What: /sys/.../iio:deviceX/in_activity_walking_input
1080+What: /sys/.../iio:deviceX/in_activity_jogging_input
1081+What: /sys/.../iio:deviceX/in_activity_running_input
1082+KernelVersion: 3.19
1083+Contact: linux-iio@vger.kernel.org
1084+Description:
1085+ This attribute is used to read the confidence for an activity
1086+ expressed in units as percentage.
1087+
9591088 What: /sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw
9601089 KernelVersion: 2.6.38
9611090 Contact: linux-iio@vger.kernel.org
@@ -973,6 +1102,24 @@ Description: · 11 unmodified lines
9731102 For a list of available output power modes read
9741103 in_accel_power_mode_available.
9751104
1105+What: /sys/.../iio:deviceX/in_energy_input
1106+What: /sys/.../iio:deviceX/in_energy_raw
1107+KernelVersion: 3.20
1108+Contact: linux-iio@vger.kernel.org
1109+Description:
1110+ This attribute is used to read the energy value reported by the
1111+ device (e.g.: human activity sensors report energy burnt by the
1112+ user). Units after application of scale are Joules.
1113+
1114+What: /sys/.../iio:deviceX/in_distance_input
1115+What: /sys/.../iio:deviceX/in_distance_raw
1116+KernelVersion: 3.20
1117+Contact: linux-iio@vger.kernel.org
1118+Description:
1119+ This attribute is used to read the distance covered by the user
1120+ since the last reboot while activated. Units after application
1121+ of scale are meters.
1122+
9761123 What: /sys/bus/iio/devices/iio:deviceX/store_eeprom
9771124 KernelVersion: 3.4.0
9781125 Contact: linux-iio@vger.kernel.org
@@ -992,7 +1139,9 @@ Description: · 13 unmodified lines
9921139 reflectivity of infrared or ultrasound emitted.
9931140 Often these sensors are unit less and as such conversion
9941141 to SI units is not possible. Where it is, the units should
995− be meters.
1142+ be meters. If such a conversion is not possible, the reported
1143+ values should behave in the same way as a distance, i.e. lower
1144+ values indicate something is closer to the sensor.
9961145
9971146 What: /sys/.../iio:deviceX/in_illuminanceY_input
9981147 What: /sys/.../iio:deviceX/in_illuminanceY_raw
@@ -1024,6 +1173,12 @@ Description: · 25 unmodified lines
10241173 This attribute is used to get/set the integration time in
10251174 seconds.
10261175
1176+What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_integration_time
1177+KernelVersion: 3.20
1178+Contact: linux-iio@vger.kernel.org
1179+Description:
1180+ Number of seconds in which to compute speed.
1181+
10271182 What: /sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw
10281183 KernelVersion: 3.15
10291184 Contact: linux-iio@vger.kernel.org
@@ -1051,3 +1206,46 @@ Description: · 21 unmodified lines
10511206 after application of scale and offset. If no offset or scale is
10521207 present, output should be considered as processed with the
10531208 unit in milliamps.
1209+
1210+What: /sys/.../iio:deviceX/in_energy_en
1211+What: /sys/.../iio:deviceX/in_distance_en
1212+What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
1213+What: /sys/.../iio:deviceX/in_steps_en
1214+KernelVersion: 3.19
1215+Contact: linux-iio@vger.kernel.org
1216+Description:
1217+ Activates a device feature that runs in firmware/hardware.
1218+ E.g. for steps: the pedometer saves power while not used;
1219+ when activated, it will count the steps taken by the user in
1220+ firmware and export them through in_steps_input.
1221+
1222+What: /sys/.../iio:deviceX/in_steps_input
1223+KernelVersion: 3.19
1224+Contact: linux-iio@vger.kernel.org
1225+Description:
1226+ This attribute is used to read the number of steps taken by the user
1227+ since the last reboot while activated.
1228+
1229+What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_input
1230+What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_raw
1231+KernelVersion: 3.19
1232+Contact: linux-iio@vger.kernel.org
1233+Description:
1234+ This attribute is used to read the current speed value of the
1235+ user (which is the norm or magnitude of the velocity vector).
1236+ Units after application of scale are m/s.
1237+
1238+What: /sys/.../iio:deviceX/in_steps_debounce_count
1239+KernelVersion: 3.20
1240+Contact: linux-iio@vger.kernel.org
1241+Description:
1242+ Specifies the number of steps that must occur within
1243+ in_steps_filter_debounce_time for the pedometer to decide the
1244+ consumer is making steps.
1245+
1246+What: /sys/.../iio:deviceX/in_steps_debounce_time
1247+KernelVersion: 3.20
1248+Contact: linux-iio@vger.kernel.org
1249+Description:
1250+ Specifies number of seconds in which we compute the steps
1251+ that occur in order to decide if the consumer is making steps.
Documentation/ABI/testing/sysfs-class-cxl+65−2
@@ -1,3 +1,9 @@
1+Note: Attributes that are shared between devices are stored in the directory
2+pointed to by the symlink device/.
3+Example: The real path of the attribute /sys/class/cxl/afu0.0s/irqs_max is
4+/sys/class/cxl/afu0.0s/device/irqs_max, i.e. /sys/class/cxl/afu0.0/irqs_max.
5+
6+
17 Slave contexts (eg. /sys/class/cxl/afu0.0s):
28
39 What: /sys/class/cxl/<afu>/irqs_max
@@ -67,7 +73,7 @@ Contact: linuxppc-dev@lists.ozlabs.org · 63 unmodified lines
6773 Description: read only
6874 Decimal value of the current version of the kernel/user API.
6975
70−What: /sys/class/cxl/<afu>/api_version_com
76+What: /sys/class/cxl/<afu>/api_version_compatible
7177 Date: September 2014
7278 Contact: linuxppc-dev@lists.ozlabs.org
7379 Description: read only
@@ -75,6 +81,42 @@ Description: read only · 1 unmodified line
7581 this this kernel supports.
7682
7783
84+AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
85+
86+An AFU may optionally export one or more PCIe like configuration records, known
87+as AFU configuration records, which will show up here (if present).
88+
89+What: /sys/class/cxl/<afu>/cr<config num>/vendor
90+Date: February 2015
91+Contact: linuxppc-dev@lists.ozlabs.org
92+Description: read only
93+ Hexadecimal value of the vendor ID found in this AFU
94+ configuration record.
95+
96+What: /sys/class/cxl/<afu>/cr<config num>/device
97+Date: February 2015
98+Contact: linuxppc-dev@lists.ozlabs.org
99+Description: read only
100+ Hexadecimal value of the device ID found in this AFU
101+ configuration record.
102+
103+What: /sys/class/cxl/<afu>/cr<config num>/vendor
104+Date: February 2015
105+Contact: linuxppc-dev@lists.ozlabs.org
106+Description: read only
107+ Hexadecimal value of the class code found in this AFU
108+ configuration record.
109+
110+What: /sys/class/cxl/<afu>/cr<config num>/config
111+Date: February 2015
112+Contact: linuxppc-dev@lists.ozlabs.org
113+Description: read only
114+ This binary file provides raw access to the AFU configuration
115+ record. The format is expected to match the either the standard
116+ or extended configuration space defined by the PCIe
117+ specification.
118+
119+
78120
79121 Master contexts (eg. /sys/class/cxl/afu0.0m)
80122
@@ -106,7 +148,7 @@ Contact: linuxppc-dev@lists.ozlabs.org · 25 unmodified lines
106148 Description: read only
107149 Identifies the CAIA Version the card implements.
108150
109−What: /sys/class/cxl/<card>/psl_version
151+What: /sys/class/cxl/<card>/psl_revision
110152 Date: September 2014
111153 Contact: linuxppc-dev@lists.ozlabs.org
112154 Description: read only
@@ -127,3 +169,24 @@ Contact: linuxppc-dev@lists.ozlabs.org · 14 unmodified lines
127169 Description: read only
128170 Will return "user" or "factory" depending on the image loaded
129171 onto the card.
172+
173+What: /sys/class/cxl/<card>/load_image_on_perst
174+Date: December 2014
175+Contact: linuxppc-dev@lists.ozlabs.org
176+Description: read/write
177+ Valid entries are "none", "user", and "factory".
178+ "none" means PERST will not cause image to be loaded to the
179+ card. A power cycle is required to load the image.
180+ "none" could be useful for debugging because the trace arrays
181+ are preserved.
182+ "user" and "factory" means PERST will cause either the user or
183+ user or factory image to be loaded.
184+ Default is to reload on PERST whichever image the card has
185+ loaded.
186+
187+What: /sys/class/cxl/<card>/reset
188+Date: October 2014
189+Contact: linuxppc-dev@lists.ozlabs.org
190+Description: write only
191+ Writing 1 will issue a PERST to card which may cause the card
192+ to reload the FPGA depending on load_image_on_perst.
Documentation/ABI/testing/sysfs-class-power+42−0
@@ -32,3 +32,45 @@ Description: · 31 unmodified lines
3232 Valid values:
3333 - 5, 6 or 7 (hours),
3434 - 0: disabled.
35+
36+What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
37+Date: January 2015
38+KernelVersion: 3.19.0
39+Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
40+Description:
41+ This entry shows and sets the maximum time the max77693
42+ charger operates in fast-charge mode. When the timer expires
43+ the device will terminate fast-charge mode (charging current
44+ will drop to 0 A) and will trigger interrupt.
45+
46+ Valid values:
47+ - 4 - 16 (hours), step by 2 (rounded down)
48+ - 0: disabled.
49+
50+What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
51+Date: January 2015
52+KernelVersion: 3.19.0
53+Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
54+Description:
55+ This entry shows and sets the charging current threshold for
56+ entering top-off charging mode. When charging current in fast
57+ charge mode drops below this value, the charger will trigger
58+ interrupt and start top-off charging mode.
59+
60+ Valid values:
61+ - 100000 - 200000 (microamps), step by 25000 (rounded down)
62+ - 200000 - 350000 (microamps), step by 50000 (rounded down)
63+ - 0: disabled.
64+
65+What: /sys/class/power_supply/max77693-charger/device/top_off_timer
66+Date: January 2015
67+KernelVersion: 3.19.0
68+Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
69+Description:
70+ This entry shows and sets the maximum time the max77693
71+ charger operates in top-off charge mode. When the timer expires
72+ the device will terminate top-off charge mode (charging current
73+ will drop to 0 A) and will trigger interrupt.
74+
75+ Valid values:
76+ - 0 - 70 (minutes), step by 10 (rounded down)
Documentation/ABI/testing/sysfs-driver-input-axp-pek+11−0
@@ -0,0 +1,11 @@
1+What: /sys/class/input/input(x)/device/startup
2+Date: March 2014
3+Contact: Carlo Caione <carlo@caione.org>
4+Description: Startup time in us. Board is powered on if the button is pressed
5+ for more than <startup_time>
6+
7+What: /sys/class/input/input(x)/device/shutdown
8+Date: March 2014
9+Contact: Carlo Caione <carlo@caione.org>
10+Description: Shutdown time in us. Board is powered off if the button is pressed
11+ for more than <shutdown_time>
Documentation/ABI/testing/sysfs-driver-samsung-laptop+8−0
@@ -35,3 +35,11 @@ Contact: Corentin Chary <corentin.chary@gmail.com> · 34 unmodified lines
3535 Description: Use your USB ports to charge devices, even
3636 when your laptop is powered off.
3737 1 means enabled, 0 means disabled.
38+
39+What: /sys/devices/platform/samsung/lid_handling
40+Date: December 11, 2014
41+KernelVersion: 3.19
42+Contact: Julijonas Kikutis <julijonas.kikutis@gmail.com>
43+Description: Some Samsung laptops handle lid closing quicker and
44+ only handle lid opening with this mode enabled.
45+ 1 means enabled, 0 means disabled.
Documentation/ABI/testing/sysfs-driver-toshiba_acpi+114−0
@@ -0,0 +1,114 @@
1+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_mode
2+Date: June 8, 2014
3+KernelVersion: 3.15
4+Contact: Azael Avalos <coproscefalo@gmail.com>
5+Description: This file controls the keyboard backlight operation mode, valid
6+ values are:
7+ * 0x1 -> FN-Z
8+ * 0x2 -> AUTO (also called TIMER)
9+ * 0x8 -> ON
10+ * 0x10 -> OFF
11+ Note that the kernel 3.16 onwards this file accepts all listed
12+ parameters, kernel 3.15 only accepts the first two (FN-Z and
13+ AUTO).
14+Users: KToshiba
15+
16+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_timeout
17+Date: June 8, 2014
18+KernelVersion: 3.15
19+Contact: Azael Avalos <coproscefalo@gmail.com>
20+Description: This file controls the timeout of the keyboard backlight
21+ whenever the operation mode is set to AUTO (or TIMER),
22+ valid values range from 0-60.
23+ Note that the kernel 3.15 only had support for the first
24+ keyboard type, the kernel 3.16 added support for the second
25+ type and the range accepted for type 2 is 1-60.
26+ See the entry named "kbd_type"
27+Users: KToshiba
28+
29+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/position
30+Date: June 8, 2014
31+KernelVersion: 3.15
32+Contact: Azael Avalos <coproscefalo@gmail.com>
33+Description: This file shows the absolute position of the built-in
34+ accelereometer.
35+
36+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/touchpad
37+Date: June 8, 2014
38+KernelVersion: 3.15
39+Contact: Azael Avalos <coproscefalo@gmail.com>
40+Description: This files controls the status of the touchpad and pointing
41+ stick (if available), valid values are:
42+ * 0 -> OFF
43+ * 1 -> ON
44+Users: KToshiba
45+
46+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes
47+Date: August 3, 2014
48+KernelVersion: 3.16
49+Contact: Azael Avalos <coproscefalo@gmail.com>
50+Description: This file shows the supported keyboard backlight modes
51+ the system supports, which can be:
52+ * 0x1 -> FN-Z
53+ * 0x2 -> AUTO (also called TIMER)
54+ * 0x8 -> ON
55+ * 0x10 -> OFF
56+ Note that not all keyboard types support the listed modes.
57+ See the entry named "available_kbd_modes"
58+Users: KToshiba
59+
60+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_type
61+Date: August 3, 2014
62+KernelVersion: 3.16
63+Contact: Azael Avalos <coproscefalo@gmail.com>
64+Description: This file shows the current keyboard backlight type,
65+ which can be:
66+ * 1 -> Type 1, supporting modes FN-Z and AUTO
67+ * 2 -> Type 2, supporting modes TIMER, ON and OFF
68+Users: KToshiba
69+
70+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/version
71+Date: February, 2015
72+KernelVersion: 3.20
73+Contact: Azael Avalos <coproscefalo@gmail.com>
74+Description: This file shows the current version of the driver
75+
76+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/fan
77+Date: February, 2015
78+KernelVersion: 3.20
79+Contact: Azael Avalos <coproscefalo@gmail.com>
80+Description: This file controls the state of the internal fan, valid
81+ values are:
82+ * 0 -> OFF
83+ * 1 -> ON
84+
85+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_function_keys
86+Date: February, 2015
87+KernelVersion: 3.20
88+Contact: Azael Avalos <coproscefalo@gmail.com>
89+Description: This file controls the Special Functions (hotkeys) operation
90+ mode, valid values are:
91+ * 0 -> Normal Operation
92+ * 1 -> Special Functions
93+ In the "Normal Operation" mode, the F{1-12} keys are as usual
94+ and the hotkeys are accessed via FN-F{1-12}.
95+ In the "Special Functions" mode, the F{1-12} keys trigger the
96+ hotkey and the F{1-12} keys are accessed via FN-F{1-12}.
97+
98+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/panel_power_on
99+Date: February, 2015
100+KernelVersion: 3.20
101+Contact: Azael Avalos <coproscefalo@gmail.com>
102+Description: This file controls whether the laptop should turn ON whenever
103+ the LID is opened, valid values are:
104+ * 0 -> Disabled
105+ * 1 -> Enabled
106+
107+What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_three
108+Date: February, 2015
109+KernelVersion: 3.20
110+Contact: Azael Avalos <coproscefalo@gmail.com>
111+Description: This file controls whether the USB 3 functionality, valid
112+ values are:
113+ * 0 -> Disabled (Acts as a regular USB 2)
114+ * 1 -> Enabled (Full USB 3 functionality)
Documentation/ABI/testing/sysfs-fs-f2fs+6−0
@@ -74,3 +74,9 @@ Date: March 2014 · 73 unmodified lines
7474 Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
7575 Description:
7676 Controls the memory footprint used by f2fs.
77+
78+What: /sys/fs/f2fs/<disk>/trim_sections
79+Date: February 2015
80+Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
81+Description:
82+ Controls the trimming rate in batch mode.
Documentation/ABI/testing/sysfs-kernel-livepatch+44−0
@@ -0,0 +1,44 @@
1+What: /sys/kernel/livepatch
2+Date: Nov 2014
3+KernelVersion: 3.19.0
4+Contact: live-patching@vger.kernel.org
5+Description:
6+ Interface for kernel live patching
7+
8+ The /sys/kernel/livepatch directory contains subdirectories for
9+ each loaded live patch module.
10+
11+What: /sys/kernel/livepatch/<patch>
12+Date: Nov 2014
13+KernelVersion: 3.19.0
14+Contact: live-patching@vger.kernel.org
15+Description:
16+ The patch directory contains subdirectories for each kernel
17+ object (vmlinux or a module) in which it patched functions.
18+
19+What: /sys/kernel/livepatch/<patch>/enabled
20+Date: Nov 2014
21+KernelVersion: 3.19.0
22+Contact: live-patching@vger.kernel.org
23+Description:
24+ A writable attribute that indicates whether the patched
25+ code is currently applied. Writing 0 will disable the patch
26+ while writing 1 will re-enable the patch.
27+
28+What: /sys/kernel/livepatch/<patch>/<object>
29+Date: Nov 2014
30+KernelVersion: 3.19.0
31+Contact: live-patching@vger.kernel.org
32+Description:
33+ The object directory contains subdirectories for each function
34+ that is patched within the object.
35+
36+What: /sys/kernel/livepatch/<patch>/<object>/<function>
37+Date: Nov 2014
38+KernelVersion: 3.19.0
39+Contact: live-patching@vger.kernel.org
40+Description:
41+ The function directory contains attributes regarding the
42+ properties and state of the patched function.
43+
44+ There are currently no such attributes.
Documentation/Changes+3−3
@@ -21,8 +21,8 @@ running a Linux kernel. Also, not all tools are necessary on all · 20 unmodified lines
2121 systems; obviously, if you don't have any ISDN hardware, for example,
2222 you probably needn't concern yourself with isdn4k-utils.
2323
24−o Gnu C 3.2 # gcc --version
25−o Gnu make 3.80 # make --version
24+o GNU C 3.2 # gcc --version
25+o GNU make 3.80 # make --version
2626 o binutils 2.12 # ld -v
2727 o util-linux 2.10o # fdformat --version
2828 o module-init-tools 0.9.10 # depmod -V
@@ -57,7 +57,7 @@ computer. · 28 unmodified lines
5757 Make
5858 ----
5959
60−You will need Gnu make 3.80 or later to build the kernel.
60+You will need GNU make 3.80 or later to build the kernel.
6161
6262 Binutils
6363 --------
Documentation/CodingStyle+1−0
@@ -527,6 +527,7 @@ values. To do the latter, you can stick the following in your .emacs file: · 526 unmodified lines
527527 (string-match (expand-file-name "~/src/linux-trees")
528528 filename))
529529 (setq indent-tabs-mode t)
530+ (setq show-trailing-whitespace t)
530531 (c-set-style "linux-tabs-only")))))
531532
532533 This will make emacs go better with the kernel coding style for C
Documentation/DocBook/80211.tmpl+2−3
@@ -113,7 +113,6 @@ · 112 unmodified lines
113113 !Finclude/net/cfg80211.h cfg80211_beacon_data
114114 !Finclude/net/cfg80211.h cfg80211_ap_settings
115115 !Finclude/net/cfg80211.h station_parameters
116−!Finclude/net/cfg80211.h station_info_flags
117116 !Finclude/net/cfg80211.h rate_info_flags
118117 !Finclude/net/cfg80211.h rate_info
119118 !Finclude/net/cfg80211.h station_info
@@ -435,7 +434,6 @@ · 315 unmodified lines
435434 <section id="ps-client">
436435 <title>support for powersaving clients</title>
437436 !Pinclude/net/mac80211.h AP support for powersaving clients
438− </section>
439437 !Finclude/net/mac80211.h ieee80211_get_buffered_bc
440438 !Finclude/net/mac80211.h ieee80211_beacon_get
441439 !Finclude/net/mac80211.h ieee80211_sta_eosp
@@ -444,6 +442,7 @@ · 2 unmodified lines
444442 !Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni
445443 !Finclude/net/mac80211.h ieee80211_sta_set_buffered
446444 !Finclude/net/mac80211.h ieee80211_sta_block_awake
445+ </section>
447446 </chapter>
448447
449448 <chapter id="multi-iface">
@@ -488,8 +487,8 @@ · 38 unmodified lines
488487 <title>RX A-MPDU aggregation</title>
489488 !Pnet/mac80211/agg-rx.c RX A-MPDU aggregation
490489 !Cnet/mac80211/agg-rx.c
491− </sect1>
492490 !Finclude/net/mac80211.h ieee80211_ampdu_mlme_action
491+ </sect1>
493492 </chapter>
494493
495494 <chapter id="smps">
Documentation/DocBook/Makefile+1−1
@@ -56,7 +56,7 @@ htmldocs: $(HTML) · 55 unmodified lines
5656
5757 MAN := $(patsubst %.xml, %.9, $(BOOKS))
5858 mandocs: $(MAN)
59− $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9)
59+ find $(obj)/man -name '*.9' | xargs gzip -f
6060
6161 installmandocs: mandocs
6262 mkdir -p /usr/local/man/man9/
Documentation/DocBook/crypto-API.tmpl+1−1
@@ -111,7 +111,7 @@ · 110 unmodified lines
111111 <para>
112112 This specification is intended for consumers of the kernel crypto
113113 API as well as for developers implementing ciphers. This API
114− specification, however, does not discusses all API calls available
114+ specification, however, does not discuss all API calls available
115115 to data transformation implementations (i.e. implementations of
116116 ciphers and other transformations (such as CRC or even compression
117117 algorithms) that can register with the kernel crypto API).
Documentation/DocBook/device-drivers.tmpl+0−17
@@ -190,23 +190,6 @@ X!Edrivers/pnp/system.c · 189 unmodified lines
190190 !Idrivers/message/fusion/mptfc.c
191191 !Idrivers/message/fusion/mptlan.c
192192 </sect1>
193− <sect1><title>I2O message devices</title>
194−!Iinclude/linux/i2o.h
195−!Idrivers/message/i2o/core.h
196−!Edrivers/message/i2o/iop.c
197−!Idrivers/message/i2o/iop.c
198−!Idrivers/message/i2o/config-osm.c
199−!Edrivers/message/i2o/exec-osm.c
200−!Idrivers/message/i2o/exec-osm.c
201−!Idrivers/message/i2o/bus-osm.c
202−!Edrivers/message/i2o/device.c
203−!Idrivers/message/i2o/device.c
204−!Idrivers/message/i2o/driver.c
205−!Idrivers/message/i2o/pci.c
206−!Idrivers/message/i2o/i2o_block.c
207−!Idrivers/message/i2o/i2o_scsi.c
208−!Idrivers/message/i2o/i2o_proc.c
209− </sect1>
210193 </chapter>
211194
212195 <chapter id="snddev">
Documentation/DocBook/drm.tmpl+122−4
@@ -239,6 +239,14 @@ · 238 unmodified lines
239239 Driver supports dedicated render nodes.
240240 </para></listitem>
241241 </varlistentry>
242+ <varlistentry>
243+ <term>DRIVER_ATOMIC</term>
244+ <listitem><para>
245+ Driver supports atomic properties. In this case the driver
246+ must implement appropriate obj->atomic_get_property() vfuncs
247+ for any modeset objects with driver specific properties.
248+ </para></listitem>
249+ </varlistentry>
242250 </variablelist>
243251 </sect3>
244252 <sect3>
@@ -1377,7 +1385,7 @@ int max_width, max_height;</synopsis> · 1132 unmodified lines
13771385 <itemizedlist>
13781386 <listitem>
13791387 DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary
1380− planes are the planes operated upon by by CRTC modesetting and flipping
1388+ planes are the planes operated upon by CRTC modesetting and flipping
13811389 operations described in <xref linkend="drm-kms-crtcops"/>.
13821390 </listitem>
13831391 <listitem>
@@ -2362,6 +2370,7 @@ void intel_crt_init(struct drm_device *dev) · 978 unmodified lines
23622370 </sect2>
23632371 <sect2>
23642372 <title>Modeset Helper Functions Reference</title>
2373+!Iinclude/drm/drm_crtc_helper.h
23652374 !Edrivers/gpu/drm/drm_crtc_helper.c
23662375 !Pdrivers/gpu/drm/drm_crtc_helper.c overview
23672376 </sect2>
@@ -2564,8 +2573,8 @@ void intel_crt_init(struct drm_device *dev) · 196 unmodified lines
25642573 <td valign="top" >Description/Restrictions</td>
25652574 </tr>
25662575 <tr>
2567− <td rowspan="25" valign="top" >DRM</td>
2568− <td rowspan="4" valign="top" >Generic</td>
2576+ <td rowspan="36" valign="top" >DRM</td>
2577+ <td rowspan="5" valign="top" >Connector</td>
25692578 <td valign="top" >“EDID”</td>
25702579 <td valign="top" >BLOB | IMMUTABLE</td>
25712580 <td valign="top" >0</td>
@@ -2594,7 +2603,14 @@ void intel_crt_init(struct drm_device *dev) · 22 unmodified lines
25942603 <td valign="top" >Contains tiling information for a connector.</td>
25952604 </tr>
25962605 <tr>
2597− <td rowspan="1" valign="top" >Plane</td>
2606+ <td valign="top" >“CRTC_ID”</td>
2607+ <td valign="top" >OBJECT</td>
2608+ <td valign="top" >DRM_MODE_OBJECT_CRTC</td>
2609+ <td valign="top" >Connector</td>
2610+ <td valign="top" >CRTC that connector is attached to (atomic)</td>
2611+ </tr>
2612+ <tr>
2613+ <td rowspan="11" valign="top" >Plane</td>
25982614 <td valign="top" >“type”</td>
25992615 <td valign="top" >ENUM | IMMUTABLE</td>
26002616 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
@@ -2602,6 +2618,76 @@ void intel_crt_init(struct drm_device *dev) · 1 unmodified line
26022618 <td valign="top" >Plane type</td>
26032619 </tr>
26042620 <tr>
2621+ <td valign="top" >“SRC_X”</td>
2622+ <td valign="top" >RANGE</td>
2623+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2624+ <td valign="top" >Plane</td>
2625+ <td valign="top" >Scanout source x coordinate in 16.16 fixed point (atomic)</td>
2626+ </tr>
2627+ <tr>
2628+ <td valign="top" >“SRC_Y”</td>
2629+ <td valign="top" >RANGE</td>
2630+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2631+ <td valign="top" >Plane</td>
2632+ <td valign="top" >Scanout source y coordinate in 16.16 fixed point (atomic)</td>
2633+ </tr>
2634+ <tr>
2635+ <td valign="top" >“SRC_W”</td>
2636+ <td valign="top" >RANGE</td>
2637+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2638+ <td valign="top" >Plane</td>
2639+ <td valign="top" >Scanout source width in 16.16 fixed point (atomic)</td>
2640+ </tr>
2641+ <tr>
2642+ <td valign="top" >“SRC_H”</td>
2643+ <td valign="top" >RANGE</td>
2644+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2645+ <td valign="top" >Plane</td>
2646+ <td valign="top" >Scanout source height in 16.16 fixed point (atomic)</td>
2647+ </tr>
2648+ <tr>
2649+ <td valign="top" >“CRTC_X”</td>
2650+ <td valign="top" >SIGNED_RANGE</td>
2651+ <td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
2652+ <td valign="top" >Plane</td>
2653+ <td valign="top" >Scanout CRTC (destination) x coordinate (atomic)</td>
2654+ </tr>
2655+ <tr>
2656+ <td valign="top" >“CRTC_Y”</td>
2657+ <td valign="top" >SIGNED_RANGE</td>
2658+ <td valign="top" >Min=INT_MIN, Max=INT_MAX</td>
2659+ <td valign="top" >Plane</td>
2660+ <td valign="top" >Scanout CRTC (destination) y coordinate (atomic)</td>
2661+ </tr>
2662+ <tr>
2663+ <td valign="top" >“CRTC_W”</td>
2664+ <td valign="top" >RANGE</td>
2665+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2666+ <td valign="top" >Plane</td>
2667+ <td valign="top" >Scanout CRTC (destination) width (atomic)</td>
2668+ </tr>
2669+ <tr>
2670+ <td valign="top" >“CRTC_H”</td>
2671+ <td valign="top" >RANGE</td>
2672+ <td valign="top" >Min=0, Max=UINT_MAX</td>
2673+ <td valign="top" >Plane</td>
2674+ <td valign="top" >Scanout CRTC (destination) height (atomic)</td>
2675+ </tr>
2676+ <tr>
2677+ <td valign="top" >“FB_ID”</td>
2678+ <td valign="top" >OBJECT</td>
2679+ <td valign="top" >DRM_MODE_OBJECT_FB</td>
2680+ <td valign="top" >Plane</td>
2681+ <td valign="top" >Scanout framebuffer (atomic)</td>
2682+ </tr>
2683+ <tr>
2684+ <td valign="top" >“CRTC_ID”</td>
2685+ <td valign="top" >OBJECT</td>
2686+ <td valign="top" >DRM_MODE_OBJECT_CRTC</td>
2687+ <td valign="top" >Plane</td>
2688+ <td valign="top" >CRTC that plane is attached to (atomic)</td>
2689+ </tr>
2690+ <tr>
26052691 <td rowspan="2" valign="top" >DVI-I</td>
26062692 <td valign="top" >“subconnector”</td>
26072693 <td valign="top" >ENUM</td>
@@ -3883,6 +3969,7 @@ int num_ioctls;</synopsis> · 1275 unmodified lines
38833969 <title>Runtime Power Management</title>
38843970 !Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm
38853971 !Idrivers/gpu/drm/i915/intel_runtime_pm.c
3972+!Idrivers/gpu/drm/i915/intel_uncore.c
38863973 </sect2>
38873974 <sect2>
38883975 <title>Interrupt Handling</title>
@@ -3931,6 +4018,11 @@ int num_ioctls;</synopsis> · 42 unmodified lines
39314018 framebuffer compression and panel self refresh.
39324019 </para>
39334020 </sect2>
4021+ <sect2>
4022+ <title>Atomic Plane Helpers</title>
4023+!Pdrivers/gpu/drm/i915/intel_atomic_plane.c atomic plane helpers
4024+!Idrivers/gpu/drm/i915/intel_atomic_plane.c
4025+ </sect2>
39344026 <sect2>
39354027 <title>Output Probing</title>
39364028 <para>
@@ -3949,6 +4041,11 @@ int num_ioctls;</synopsis> · 12 unmodified lines
39494041 <title>Panel Self Refresh PSR (PSR/SRD)</title>
39504042 !Pdrivers/gpu/drm/i915/intel_psr.c Panel Self Refresh (PSR/SRD)
39514043 !Idrivers/gpu/drm/i915/intel_psr.c
4044+ </sect2>
4045+ <sect2>
4046+ <title>Frame Buffer Compression (FBC)</title>
4047+!Pdrivers/gpu/drm/i915/intel_fbc.c Frame Buffer Compression (FBC)
4048+!Idrivers/gpu/drm/i915/intel_fbc.c
39524049 </sect2>
39534050 <sect2>
39544051 <title>DPIO</title>
@@ -4052,12 +4149,33 @@ int num_ioctls;</synopsis> · 97 unmodified lines
40524149 <title>Batchbuffer Parsing</title>
40534150 !Pdrivers/gpu/drm/i915/i915_cmd_parser.c batch buffer command parser
40544151 !Idrivers/gpu/drm/i915/i915_cmd_parser.c
4152+ </sect2>
4153+ <sect2>
4154+ <title>Batchbuffer Pools</title>
4155+!Pdrivers/gpu/drm/i915/i915_gem_batch_pool.c batch pool
4156+!Idrivers/gpu/drm/i915/i915_gem_batch_pool.c
40554157 </sect2>
40564158 <sect2>
40574159 <title>Logical Rings, Logical Ring Contexts and Execlists</title>
40584160 !Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists
40594161 !Idrivers/gpu/drm/i915/intel_lrc.c
40604162 </sect2>
4163+ <sect2>
4164+ <title>Global GTT views</title>
4165+!Pdrivers/gpu/drm/i915/i915_gem_gtt.c Global GTT views
4166+!Idrivers/gpu/drm/i915/i915_gem_gtt.c
4167+ </sect2>
4168+ <sect2>
4169+ <title>Buffer Object Eviction</title>
4170+ <para>
4171+ This section documents the interface function for evicting buffer
4172+ objects to make space available in the virtual gpu address spaces.
4173+ Note that this is mostly orthogonal to shrinking buffer objects
4174+ caches, which has the goal to make main memory (shared with the gpu
4175+ through the unified memory architecture) available.
4176+ </para>
4177+!Idrivers/gpu/drm/i915/i915_gem_evict.c
4178+ </sect2>
40614179 </sect1>
40624180
40634181 <sect1>
Documentation/DocBook/kgdb.tmpl+44−43
@@ -75,7 +75,7 @@ · 74 unmodified lines
7575 a development machine and the other is the target machine. The
7676 kernel to be debugged runs on the target machine. The development
7777 machine runs an instance of gdb against the vmlinux file which
78− contains the symbols (not boot image such as bzImage, zImage,
78+ contains the symbols (not a boot image such as bzImage, zImage,
7979 uImage...). In gdb the developer specifies the connection
8080 parameters and connects to kgdb. The type of connection a
8181 developer makes with gdb depends on the availability of kgdb I/O
@@ -95,7 +95,7 @@ · 13 unmodified lines
9595 <title>Kernel config options for kgdb</title>
9696 <para>
9797 To enable <symbol>CONFIG_KGDB</symbol> you should look under
98− "Kernel debugging" and select "KGDB: kernel debugger".
98+ "Kernel hacking" / "Kernel debugging" and select "KGDB: kernel debugger".
9999 </para>
100100 <para>
101101 While it is not a hard requirement that you have symbols in your
@@ -105,7 +105,7 @@ · 3 unmodified lines
105105 kernel with debug info" in the config menu.
106106 </para>
107107 <para>
108− It is advised, but not required that you turn on the
108+ It is advised, but not required, that you turn on the
109109 <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the
110110 kernel with frame pointers" in the config menu. This option
111111 inserts code to into the compiled executable which saves the frame
@@ -181,7 +181,7 @@ · 69 unmodified lines
181181 <para>This section describes the various runtime kernel
182182 parameters that affect the configuration of the kernel debugger.
183183 The following chapter covers using kdb and kgdb as well as
184− provides some examples of the configuration parameters.</para>
184+ providing some examples of the configuration parameters.</para>
185185 <sect1 id="kgdboc">
186186 <title>Kernel parameter: kgdboc</title>
187187 <para>The kgdboc driver was originally an abbreviation meant to
@@ -197,6 +197,7 @@ · 9 unmodified lines
197197 may be configured as a kernel built-in or a kernel loadable module.
198198 You can only make use of <constant>kgdbwait</constant> and early
199199 debugging if you build kgdboc into the kernel as a built-in.
200+ </para>
200201 <para>Optionally you can elect to activate kms (Kernel Mode
201202 Setting) integration. When you use kms with kgdboc and you have a
202203 video driver that has atomic mode setting hooks, it is possible to
@@ -206,7 +207,6 @@ · 3 unmodified lines
206207 crashes or doing analysis of memory with kdb while allowing the
207208 full graphics console applications to run.
208209 </para>
209− </para>
210210 <sect2 id="kgdbocArgs">
211211 <title>kgdboc arguments</title>
212212 <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para>
@@ -219,8 +219,8 @@ · 6 unmodified lines
219219 <listitem><para>kbd = Keyboard</para></listitem>
220220 </itemizedlist>
221221 </para>
222− <para>You can configure kgdboc to use the keyboard, and or a serial
223− device depending on if you are using kdb and or kgdb, in one of the
222+ <para>You can configure kgdboc to use the keyboard, and/or a serial
223+ device depending on if you are using kdb and/or kgdb, in one of the
224224 following scenarios. The order listed above must be observed if
225225 you use any of the optional configurations together. Using kms +
226226 only gdb is generally not a useful combination.</para>
@@ -261,11 +261,8 @@ · 34 unmodified lines
261261 </sect3>
262262 <sect3 id="kgdbocArgs3">
263263 <title>More examples</title>
264− <para>You can configure kgdboc to use the keyboard, and or a serial
265− device depending on if you are using kdb and or kgdb, in one of the
266− following scenarios.</para>
267− <para>You can configure kgdboc to use the keyboard, and or a serial device
268− depending on if you are using kdb and or kgdb, in one of the
264+ <para>You can configure kgdboc to use the keyboard, and/or a serial device
265+ depending on if you are using kdb and/or kgdb, in one of the
269266 following scenarios.
270267 <orderedlist>
271268 <listitem><para>kdb and kgdb over only a serial port</para>
@@ -287,7 +284,6 @@ · 15 unmodified lines
287284 </listitem>
288285 </orderedlist>
289286 </para>
290− </sect3>
291287 <para>NOTE: Kgdboc does not support interrupting the target via the
292288 gdb remote protocol. You must manually send a sysrq-g unless you
293289 have a proxy that splits console output to a terminal program.
@@ -308,6 +304,7 @@ · 14 unmodified lines
308304 as well as on the initial connect, or to use a debugger proxy that
309305 allows an unmodified gdb to do the debugging.
310306 </para>
307+ </sect3>
311308 </sect2>
312309 </sect1>
313310 <sect1 id="kgdbwait">
@@ -315,7 +312,7 @@ · 1 unmodified line
315312 <para>
316313 The Kernel command line option <constant>kgdbwait</constant> makes
317314 kgdb wait for a debugger connection during booting of a kernel. You
318− can only use this option you compiled a kgdb I/O driver into the
315+ can only use this option if you compiled a kgdb I/O driver into the
319316 kernel and you specified the I/O driver configuration as a kernel
320317 command line option. The kgdbwait parameter should always follow the
321318 configuration parameter for the kgdb I/O driver in the kernel
@@ -353,12 +350,12 @@ · 31 unmodified lines
353350 </para>
354351 </listitem>
355352 </orderedlist>
353+ </para>
356354 <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an
357− active system console. An example incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant>
355+ active system console. An example of incorrect usage is <constant>console=ttyS0,115200 kgdboc=ttyS0 kgdbcon</constant>
358356 </para>
359357 <para>It is possible to use this option with kgdboc on a tty that is not a system console.
360358 </para>
361− </para>
362359 </sect1>
363360 <sect1 id="kgdbreboot">
364361 <title>Run time parameter: kgdbreboot</title>
@@ -386,12 +383,12 @@ · 21 unmodified lines
386383 <title>Quick start for kdb on a serial port</title>
387384 <para>This is a quick example of how to use kdb.</para>
388385 <para><orderedlist>
389− <listitem><para>Boot kernel with arguments:
386+ <listitem><para>Configure kgdboc at boot using kernel parameters:
390387 <itemizedlist>
391388 <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem>
392389 </itemizedlist></para>
393390 <para>OR</para>
394− <para>Configure kgdboc after the kernel booted; assuming you are using a serial port console:
391+ <para>Configure kgdboc after the kernel has booted; assuming you are using a serial port console:
395392 <itemizedlist>
396393 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
397394 </itemizedlist>
@@ -442,12 +439,12 @@ · 44 unmodified lines
442439 <title>Quick start for kdb using a keyboard connected console</title>
443440 <para>This is a quick example of how to use kdb with a keyboard.</para>
444441 <para><orderedlist>
445− <listitem><para>Boot kernel with arguments:
442+ <listitem><para>Configure kgdboc at boot using kernel parameters:
446443 <itemizedlist>
447444 <listitem><para><constant>kgdboc=kbd</constant></para></listitem>
448445 </itemizedlist></para>
449446 <para>OR</para>
450− <para>Configure kgdboc after the kernel booted:
447+ <para>Configure kgdboc after the kernel has booted:
451448 <itemizedlist>
452449 <listitem><para><constant>echo kbd &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
453450 </itemizedlist>
@@ -501,12 +498,12 @@ · 47 unmodified lines
501498 <title>Connecting with gdb to a serial port</title>
502499 <orderedlist>
503500 <listitem><para>Configure kgdboc</para>
504− <para>Boot kernel with arguments:
501+ <para>Configure kgdboc at boot using kernel parameters:
505502 <itemizedlist>
506503 <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem>
507504 </itemizedlist></para>
508505 <para>OR</para>
509− <para>Configure kgdboc after the kernel booted:
506+ <para>Configure kgdboc after the kernel has booted:
510507 <itemizedlist>
511508 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
512509 </itemizedlist></para>
@@ -536,7 +533,7 @@ · 23 unmodified lines
536533 </para>
537534 </listitem>
538535 <listitem>
539− <para>Connect from from gdb</para>
536+ <para>Connect from gdb</para>
540537 <para>
541538 Example (using a directly connected port):
542539 </para>
@@ -584,7 +581,7 @@ · 41 unmodified lines
584581 <para>
585582 There are two ways to switch from kgdb to kdb: you can use gdb to
586583 issue a maintenance packet, or you can blindly type the command $3#33.
587− Whenever kernel debugger stops in kgdb mode it will print the
584+ Whenever the kernel debugger stops in kgdb mode it will print the
588585 message <constant>KGDB or $3#33 for KDB</constant>. It is important
589586 to note that you have to type the sequence correctly in one pass.
590587 You cannot type a backspace or delete because kgdb will interpret
@@ -704,7 +701,7 @@ Task Addr Pid Parent [*] cpu State Thread Command · 113 unmodified lines
704701 <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem>
705702 <listitem><para>Any special exception handling and cleanup</para></listitem>
706703 <listitem><para>NMI exception handling and cleanup</para></listitem>
707− <listitem><para>(optional)HW breakpoints</para></listitem>
704+ <listitem><para>(optional) HW breakpoints</para></listitem>
708705 </itemizedlist>
709706 </para>
710707 </listitem>
@@ -760,7 +757,7 @@ Task Addr Pid Parent [*] cpu State Thread Command · 49 unmodified lines
760757 a kgdb I/O driver for characters when it needs input. The I/O
761758 driver is expected to return immediately if there is no data
762759 available. Doing so allows for the future possibility to touch
763− watch dog hardware in such a way as to have a target system not
760+ watchdog hardware in such a way as to have a target system not
764761 reset when these are enabled.
765762 </para>
766763 </listitem>
@@ -779,21 +776,25 @@ Task Addr Pid Parent [*] cpu State Thread Command · 12 unmodified lines
779776 their &lt;asm/kgdb.h&gt; file. These are:
780777 <itemizedlist>
781778 <listitem>
782− <para>
783− NUMREGBYTES: The size in bytes of all of the registers, so
784− that we can ensure they will all fit into a packet.
785− </para>
786− <para>
787− BUFMAX: The size in bytes of the buffer GDB will read into.
788− This must be larger than NUMREGBYTES.
789− </para>
790− <para>
791− CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call
792− flush_cache_range or flush_icache_range. On some architectures,
793− these functions may not be safe to call on SMP since we keep other
794− CPUs in a holding pattern.
795− </para>
796− </listitem>
779+ <para>
780+ NUMREGBYTES: The size in bytes of all of the registers, so
781+ that we can ensure they will all fit into a packet.
782+ </para>
783+ </listitem>
784+ <listitem>
785+ <para>
786+ BUFMAX: The size in bytes of the buffer GDB will read into.
787+ This must be larger than NUMREGBYTES.
788+ </para>
789+ </listitem>
790+ <listitem>
791+ <para>
792+ CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call
793+ flush_cache_range or flush_icache_range. On some architectures,
794+ these functions may not be safe to call on SMP since we keep other
795+ CPUs in a holding pattern.
796+ </para>
797+ </listitem>
797798 </itemizedlist>
798799 </para>
799800 <para>
@@ -812,8 +813,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 12 unmodified lines
812813 <para>
813814 The kgdboc driver is actually a very thin driver that relies on the
814815 underlying low level to the hardware driver having "polling hooks"
815− which the to which the tty driver is attached. In the initial
816− implementation of kgdboc it the serial_core was changed to expose a
816+ to which the tty driver is attached. In the initial
817+ implementation of kgdboc the serial_core was changed to expose a
817818 low level UART hook for doing polled mode reading and writing of a
818819 single character while in an atomic context. When kgdb makes an I/O
819820 request to the debugger, kgdboc invokes a callback in the serial
Documentation/DocBook/media/v4l/controls.xml+5−6
@@ -2692,12 +2692,11 @@ in the S5P family of SoCs by Samsung. · 2691 unmodified lines
26922692 <row><entry></entry></row>
26932693 <row>
26942694 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
2695− <entry>integer</entry>
2696− </row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a
2697−CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in
2698−buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus
2699−application should not write to those buffers. This feature can be used for example for generating thumbnails of videos.
2700−Applicable to the H264 decoder.
2695+ <entry>boolean</entry>
2696+ </row><row><entry spanname="descr">If the display delay is enabled then the decoder is forced to return a
2697+CAPTURE buffer (decoded frame) after processing a certain number of OUTPUT buffers. The delay can be set through
2698+<constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>. This feature can be used for example
2699+for generating thumbnails of videos. Applicable to the H264 decoder.
27012700 </entry>
27022701 </row>
27032702 <row><entry></entry></row>
Documentation/DocBook/media/v4l/pixfmt-srggb10.xml+1−1
@@ -17,7 +17,7 @@ · 16 unmodified lines
1717 <refsect1>
1818 <title>Description</title>
1919
20− <para>The following four pixel formats are raw sRGB / Bayer formats with
20+ <para>These four pixel formats are raw sRGB / Bayer formats with
2121 10 bits per colour. Each colour component is stored in a 16-bit word, with 6
2222 unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
2323 and n/2 blue or red samples, with alternating red and blue rows. Bytes are
Documentation/DocBook/media/v4l/pixfmt-srggb10alaw8.xml+1−1
@@ -25,7 +25,7 @@ · 24 unmodified lines
2525 </refnamediv>
2626 <refsect1>
2727 <title>Description</title>
28− <para>The following four pixel formats are raw sRGB / Bayer
28+ <para>These four pixel formats are raw sRGB / Bayer
2929 formats with 10 bits per color compressed to 8 bits each,
3030 using the A-LAW algorithm. Each color component consumes 8
3131 bits of memory. In other respects this format is similar to
Documentation/DocBook/media/v4l/pixfmt-srggb10dpcm8.xml+1−1
@@ -18,7 +18,7 @@ · 17 unmodified lines
1818 <refsect1>
1919 <title>Description</title>
2020
21− <para>The following four pixel formats are raw sRGB / Bayer formats
21+ <para>These four pixel formats are raw sRGB / Bayer formats
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
Documentation/DocBook/media/v4l/pixfmt-srggb10p.xml+99−0
@@ -0,0 +1,99 @@
1+ <refentry id="pixfmt-srggb10p">
2+ <refmeta>
3+ <refentrytitle>V4L2_PIX_FMT_SRGGB10P ('pRAA'),
4+ V4L2_PIX_FMT_SGRBG10P ('pgAA'),
5+ V4L2_PIX_FMT_SGBRG10P ('pGAA'),
6+ V4L2_PIX_FMT_SBGGR10P ('pBAA'),
7+ </refentrytitle>
8+ &manvol;
9+ </refmeta>
10+ <refnamediv>
11+ <refname id="V4L2-PIX-FMT-SRGGB10P"><constant>V4L2_PIX_FMT_SRGGB10P</constant></refname>
12+ <refname id="V4L2-PIX-FMT-SGRBG10P"><constant>V4L2_PIX_FMT_SGRBG10P</constant></refname>
13+ <refname id="V4L2-PIX-FMT-SGBRG10P"><constant>V4L2_PIX_FMT_SGBRG10P</constant></refname>
14+ <refname id="V4L2-PIX-FMT-SBGGR10P"><constant>V4L2_PIX_FMT_SBGGR10P</constant></refname>
15+ <refpurpose>10-bit packed Bayer formats</refpurpose>
16+ </refnamediv>
17+ <refsect1>
18+ <title>Description</title>
19+
20+ <para>These four pixel formats are packed raw sRGB /
21+ Bayer formats with 10 bits per colour. Every four consecutive
22+ colour components are packed into 5 bytes. Each of the first 4
23+ bytes contain the 8 high order bits of the pixels, and the
24+ fifth byte contains the two least significants bits of each
25+ pixel, in the same order.</para>
26+
27+ <para>Each n-pixel row contains n/2 green samples and n/2 blue
28+ or red samples, with alternating green-red and green-blue
29+ rows. They are conventionally described as GRGR... BGBG...,
30+ RGRG... GBGB..., etc. Below is an example of one of these
31+ formats:</para>
32+
33+ <example>
34+ <title><constant>V4L2_PIX_FMT_SBGGR10P</constant> 4 &times; 4
35+ pixel image</title>
36+
37+ <formalpara>
38+ <title>Byte Order.</title>
39+ <para>Each cell is one byte.
40+ <informaltable frame="topbot" colsep="1" rowsep="1">
41+ <tgroup cols="5" align="center" border="1">
42+ <colspec align="left" colwidth="2*" />
43+ <tbody valign="top">
44+ <row>
45+ <entry>start&nbsp;+&nbsp;0:</entry>
46+ <entry>B<subscript>00high</subscript></entry>
47+ <entry>G<subscript>01high</subscript></entry>
48+ <entry>B<subscript>02high</subscript></entry>
49+ <entry>G<subscript>03high</subscript></entry>
50+ <entry>B<subscript>00low</subscript>(bits 7--6)
51+ G<subscript>01low</subscript>(bits 5--4)
52+ B<subscript>02low</subscript>(bits 3--2)
53+ G<subscript>03low</subscript>(bits 1--0)
54+ </entry>
55+ </row>
56+ <row>
57+ <entry>start&nbsp;+&nbsp;5:</entry>
58+ <entry>G<subscript>10high</subscript></entry>
59+ <entry>R<subscript>11high</subscript></entry>
60+ <entry>G<subscript>12high</subscript></entry>
61+ <entry>R<subscript>13high</subscript></entry>
62+ <entry>G<subscript>10low</subscript>(bits 7--6)
63+ R<subscript>11low</subscript>(bits 5--4)
64+ G<subscript>12low</subscript>(bits 3--2)
65+ R<subscript>13low</subscript>(bits 1--0)
66+ </entry>
67+ </row>
68+ <row>
69+ <entry>start&nbsp;+&nbsp;10:</entry>
70+ <entry>B<subscript>20high</subscript></entry>
71+ <entry>G<subscript>21high</subscript></entry>
72+ <entry>B<subscript>22high</subscript></entry>
73+ <entry>G<subscript>23high</subscript></entry>
74+ <entry>B<subscript>20low</subscript>(bits 7--6)
75+ G<subscript>21low</subscript>(bits 5--4)
76+ B<subscript>22low</subscript>(bits 3--2)
77+ G<subscript>23low</subscript>(bits 1--0)
78+ </entry>
79+ </row>
80+ <row>
81+ <entry>start&nbsp;+&nbsp;15:</entry>
82+ <entry>G<subscript>30high</subscript></entry>
83+ <entry>R<subscript>31high</subscript></entry>
84+ <entry>G<subscript>32high</subscript></entry>
85+ <entry>R<subscript>33high</subscript></entry>
86+ <entry>G<subscript>30low</subscript>(bits 7--6)
87+ R<subscript>31low</subscript>(bits 5--4)
88+ G<subscript>32low</subscript>(bits 3--2)
89+ R<subscript>33low</subscript>(bits 1--0)
90+ </entry>
91+ </row>
92+ </tbody>
93+ </tgroup>
94+ </informaltable>
95+ </para>
96+ </formalpara>
97+ </example>
98+ </refsect1>
99+</refentry>
Documentation/DocBook/media/v4l/pixfmt-srggb12.xml+1−1
@@ -17,7 +17,7 @@ · 16 unmodified lines
1717 <refsect1>
1818 <title>Description</title>
1919
20− <para>The following four pixel formats are raw sRGB / Bayer formats with
20+ <para>These four pixel formats are raw sRGB / Bayer formats with
2121 12 bits per colour. Each colour component is stored in a 16-bit word, with 4
2222 unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
2323 and n/2 blue or red samples, with alternating red and blue rows. Bytes are
Documentation/DocBook/media/v4l/pixfmt.xml+1−0
@@ -1405,6 +1405,7 @@ access the palette, this must be done with ioctls of the Linux framebuffer API.< · 1404 unmodified lines
14051405 &sub-srggb8;
14061406 &sub-sbggr16;
14071407 &sub-srggb10;
1408+ &sub-srggb10p;
14081409 &sub-srggb10alaw8;
14091410 &sub-srggb10dpcm8;
14101411 &sub-srggb12;
Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml+0−8
@@ -212,11 +212,3 @@ standards set in the <structfield>standards</structfield> field. · 211 unmodified lines
212212 &return-value;
213213 </refsect1>
214214 </refentry>
215−
216−<!--
217−Local Variables:
218−mode: sgml
219−sgml-parent-document: "v4l2.sgml"
220−indent-tabs-mode: nil
221−End:
222−-->
Documentation/DocBook/media/v4l/vidioc-enum-dv-timings.xml+0−8
@@ -131,11 +131,3 @@ is out of bounds or the <structfield>pad</structfield> number is invalid.</para> · 130 unmodified lines
131131 </variablelist>
132132 </refsect1>
133133 </refentry>
134−
135−<!--
136−Local Variables:
137−mode: sgml
138−sgml-parent-document: "v4l2.sgml"
139−indent-tabs-mode: nil
140−End:
141−-->
Documentation/DocBook/uio-howto.tmpl+7−7
@@ -719,7 +719,7 @@ framework to set up sysfs files for this region. Simply leave it alone. · 718 unmodified lines
719719 </para>
720720 </sect1>
721721
722−<sect1 id="using uio_dmem_genirq">
722+<sect1 id="using-uio_dmem_genirq">
723723 <title>Using uio_dmem_genirq for platform devices</title>
724724 <para>
725725 In addition to statically allocated memory ranges, they may also be
@@ -746,16 +746,16 @@ framework to set up sysfs files for this region. Simply leave it alone. · 20 unmodified lines
746746 following elements:
747747 </para>
748748 <itemizedlist>
749− <listitem><varname>struct uio_info uioinfo</varname>: The same
749+ <listitem><para><varname>struct uio_info uioinfo</varname>: The same
750750 structure used as the <varname>uio_pdrv_genirq</varname> platform
751− data</listitem>
752− <listitem><varname>unsigned int *dynamic_region_sizes</varname>:
751+ data</para></listitem>
752+ <listitem><para><varname>unsigned int *dynamic_region_sizes</varname>:
753753 Pointer to list of sizes of dynamic memory regions to be mapped into
754754 user space.
755− </listitem>
756− <listitem><varname>unsigned int num_dynamic_regions</varname>:
755+ </para></listitem>
756+ <listitem><para><varname>unsigned int num_dynamic_regions</varname>:
757757 Number of elements in <varname>dynamic_region_sizes</varname> array.
758− </listitem>
758+ </para></listitem>
759759 </itemizedlist>
760760 <para>
761761 The dynamic regions defined in the platform data will be appended to
Documentation/RCU/stallwarn.txt+15−1
@@ -15,7 +15,7 @@ CONFIG_RCU_CPU_STALL_TIMEOUT · 14 unmodified lines
1515 21 seconds.
1616
1717 This configuration parameter may be changed at runtime via the
18− /sys/module/rcutree/parameters/rcu_cpu_stall_timeout, however
18+ /sys/module/rcupdate/parameters/rcu_cpu_stall_timeout, however
1919 this parameter is checked only at the beginning of a cycle.
2020 So if you are 10 seconds into a 40-second stall, setting this
2121 sysfs parameter to (say) five will shorten the timeout for the
@@ -152,6 +152,15 @@ no non-lazy callbacks ("." is printed otherwise, as shown above) and · 130 unmodified lines
152152 "D" indicates that dyntick-idle processing is enabled ("." is printed
153153 otherwise, for example, if disabled via the "nohz=" kernel boot parameter).
154154
155+If the relevant grace-period kthread has been unable to run prior to
156+the stall warning, the following additional line is printed:
157+
158+ rcu_preempt kthread starved for 2023 jiffies!
159+
160+Starving the grace-period kthreads of CPU time can of course result in
161+RCU CPU stall warnings even when all CPUs and tasks have passed through
162+the required quiescent states.
163+
155164
156165 Multiple Warnings From One Stall
157166
@@ -187,6 +196,11 @@ o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the · 29 unmodified lines
187196 behavior, you might need to replace some of the cond_resched()
188197 calls with calls to cond_resched_rcu_qs().
189198
199+o Anything that prevents RCU's grace-period kthreads from running.
200+ This can result in the "All QSes seen" console-log message.
201+ This message will include information on when the kthread last
202+ ran and how often it should be expected to run.
203+
190204 o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
191205 happen to preempt a low-priority task in the middle of an RCU
192206 read-side critical section. This is especially damaging if
Documentation/RCU/trace.txt+16−16
@@ -56,14 +56,14 @@ rcuboost: · 55 unmodified lines
5656
5757 The output of "cat rcu/rcu_preempt/rcudata" looks as follows:
5858
59− 0!c=30455 g=30456 pq=1 qp=1 dt=126535/140000000000000/0 df=2002 of=4 ql=0/0 qs=N... b=10 ci=74572 nci=0 co=1131 ca=716
60− 1!c=30719 g=30720 pq=1 qp=0 dt=132007/140000000000000/0 df=1874 of=10 ql=0/0 qs=N... b=10 ci=123209 nci=0 co=685 ca=982
61− 2!c=30150 g=30151 pq=1 qp=1 dt=138537/140000000000000/0 df=1707 of=8 ql=0/0 qs=N... b=10 ci=80132 nci=0 co=1328 ca=1458
62− 3 c=31249 g=31250 pq=1 qp=0 dt=107255/140000000000000/0 df=1749 of=6 ql=0/450 qs=NRW. b=10 ci=151700 nci=0 co=509 ca=622
63− 4!c=29502 g=29503 pq=1 qp=1 dt=83647/140000000000000/0 df=965 of=5 ql=0/0 qs=N... b=10 ci=65643 nci=0 co=1373 ca=1521
64− 5 c=31201 g=31202 pq=1 qp=1 dt=70422/0/0 df=535 of=7 ql=0/0 qs=.... b=10 ci=58500 nci=0 co=764 ca=698
65− 6!c=30253 g=30254 pq=1 qp=1 dt=95363/140000000000000/0 df=780 of=5 ql=0/0 qs=N... b=10 ci=100607 nci=0 co=1414 ca=1353
66− 7 c=31178 g=31178 pq=1 qp=0 dt=91536/0/0 df=547 of=4 ql=0/0 qs=.... b=10 ci=109819 nci=0 co=1115 ca=969
59+ 0!c=30455 g=30456 pq=1/0 qp=1 dt=126535/140000000000000/0 df=2002 of=4 ql=0/0 qs=N... b=10 ci=74572 nci=0 co=1131 ca=716
60+ 1!c=30719 g=30720 pq=1/0 qp=0 dt=132007/140000000000000/0 df=1874 of=10 ql=0/0 qs=N... b=10 ci=123209 nci=0 co=685 ca=982
61+ 2!c=30150 g=30151 pq=1/1 qp=1 dt=138537/140000000000000/0 df=1707 of=8 ql=0/0 qs=N... b=10 ci=80132 nci=0 co=1328 ca=1458
62+ 3 c=31249 g=31250 pq=1/1 qp=0 dt=107255/140000000000000/0 df=1749 of=6 ql=0/450 qs=NRW. b=10 ci=151700 nci=0 co=509 ca=622
63+ 4!c=29502 g=29503 pq=1/0 qp=1 dt=83647/140000000000000/0 df=965 of=5 ql=0/0 qs=N... b=10 ci=65643 nci=0 co=1373 ca=1521
64+ 5 c=31201 g=31202 pq=1/0 qp=1 dt=70422/0/0 df=535 of=7 ql=0/0 qs=.... b=10 ci=58500 nci=0 co=764 ca=698
65+ 6!c=30253 g=30254 pq=1/0 qp=1 dt=95363/140000000000000/0 df=780 of=5 ql=0/0 qs=N... b=10 ci=100607 nci=0 co=1414 ca=1353
66+ 7 c=31178 g=31178 pq=1/0 qp=0 dt=91536/0/0 df=547 of=4 ql=0/0 qs=.... b=10 ci=109819 nci=0 co=1115 ca=969
6767
6868 This file has one line per CPU, or eight for this 8-CPU system.
6969 The fields are as follows:
@@ -188,14 +188,14 @@ o "ca" is the number of RCU callbacks that have been adopted by this · 118 unmodified lines
188188 Kernels compiled with CONFIG_RCU_BOOST=y display the following from
189189 /debug/rcu/rcu_preempt/rcudata:
190190
191− 0!c=12865 g=12866 pq=1 qp=1 dt=83113/140000000000000/0 df=288 of=11 ql=0/0 qs=N... kt=0/O ktl=944 b=10 ci=60709 nci=0 co=748 ca=871
192− 1 c=14407 g=14408 pq=1 qp=0 dt=100679/140000000000000/0 df=378 of=7 ql=0/119 qs=NRW. kt=0/W ktl=9b6 b=10 ci=109740 nci=0 co=589 ca=485
193− 2 c=14407 g=14408 pq=1 qp=0 dt=105486/0/0 df=90 of=9 ql=0/89 qs=NRW. kt=0/W ktl=c0c b=10 ci=83113 nci=0 co=533 ca=490
194− 3 c=14407 g=14408 pq=1 qp=0 dt=107138/0/0 df=142 of=8 ql=0/188 qs=NRW. kt=0/W ktl=b96 b=10 ci=121114 nci=0 co=426 ca=290
195− 4 c=14405 g=14406 pq=1 qp=1 dt=50238/0/0 df=706 of=7 ql=0/0 qs=.... kt=0/W ktl=812 b=10 ci=34929 nci=0 co=643 ca=114
196− 5!c=14168 g=14169 pq=1 qp=0 dt=45465/140000000000000/0 df=161 of=11 ql=0/0 qs=N... kt=0/O ktl=b4d b=10 ci=47712 nci=0 co=677 ca=722
197− 6 c=14404 g=14405 pq=1 qp=0 dt=59454/0/0 df=94 of=6 ql=0/0 qs=.... kt=0/W ktl=e57 b=10 ci=55597 nci=0 co=701 ca=811
198− 7 c=14407 g=14408 pq=1 qp=1 dt=68850/0/0 df=31 of=8 ql=0/0 qs=.... kt=0/W ktl=14bd b=10 ci=77475 nci=0 co=508 ca=1042
191+ 0!c=12865 g=12866 pq=1/0 qp=1 dt=83113/140000000000000/0 df=288 of=11 ql=0/0 qs=N... kt=0/O ktl=944 b=10 ci=60709 nci=0 co=748 ca=871
192+ 1 c=14407 g=14408 pq=1/0 qp=0 dt=100679/140000000000000/0 df=378 of=7 ql=0/119 qs=NRW. kt=0/W ktl=9b6 b=10 ci=109740 nci=0 co=589 ca=485
193+ 2 c=14407 g=14408 pq=1/0 qp=0 dt=105486/0/0 df=90 of=9 ql=0/89 qs=NRW. kt=0/W ktl=c0c b=10 ci=83113 nci=0 co=533 ca=490
194+ 3 c=14407 g=14408 pq=1/0 qp=0 dt=107138/0/0 df=142 of=8 ql=0/188 qs=NRW. kt=0/W ktl=b96 b=10 ci=121114 nci=0 co=426 ca=290
195+ 4 c=14405 g=14406 pq=1/0 qp=1 dt=50238/0/0 df=706 of=7 ql=0/0 qs=.... kt=0/W ktl=812 b=10 ci=34929 nci=0 co=643 ca=114
196+ 5!c=14168 g=14169 pq=1/0 qp=0 dt=45465/140000000000000/0 df=161 of=11 ql=0/0 qs=N... kt=0/O ktl=b4d b=10 ci=47712 nci=0 co=677 ca=722
197+ 6 c=14404 g=14405 pq=1/0 qp=0 dt=59454/0/0 df=94 of=6 ql=0/0 qs=.... kt=0/W ktl=e57 b=10 ci=55597 nci=0 co=701 ca=811
198+ 7 c=14407 g=14408 pq=1/0 qp=1 dt=68850/0/0 df=31 of=8 ql=0/0 qs=.... kt=0/W ktl=14bd b=10 ci=77475 nci=0 co=508 ca=1042
199199
200200 This is similar to the output discussed above, but contains the following
201201 additional fields:
Documentation/SubmittingPatches+224−228
@@ -10,27 +10,49 @@ kernel, the process can sometimes be daunting if you're not familiar · 9 unmodified lines
1010 with "the system." This text is a collection of suggestions which
1111 can greatly increase the chances of your change being accepted.
1212
13−Read Documentation/SubmitChecklist for a list of items to check
14−before submitting code. If you are submitting a driver, also read
15−Documentation/SubmittingDrivers.
13+This document contains a large number of suggestions in a relatively terse
14+format. For detailed information on how the kernel development process
15+works, see Documentation/development-process. Also, read
16+Documentation/SubmitChecklist for a list of items to check before
17+submitting code. If you are submitting a driver, also read
18+Documentation/SubmittingDrivers; for device tree binding patches, read
19+Documentation/devicetree/bindings/submitting-patches.txt.
1620
1721 Many of these steps describe the default behavior of the git version
1822 control system; if you use git to prepare your patches, you'll find much
1923 of the mechanical work done for you, though you'll still need to prepare
20−and document a sensible set of patches.
24+and document a sensible set of patches. In general, use of git will make
25+your life as a kernel developer easier.
2126
2227 --------------------------------------------
2328 SECTION 1 - CREATING AND SENDING YOUR CHANGE
2429 --------------------------------------------
2530
2631
32+0) Obtain a current source tree
33+-------------------------------
34+
35+If you do not have a repository with the current kernel source handy, use
36+git to obtain one. You'll want to start with the mainline repository,
37+which can be grabbed with:
38+
39+ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
40+
41+Note, however, that you may not want to develop against the mainline tree
42+directly. Most subsystem maintainers run their own trees and want to see
43+patches prepared against those trees. See the "T:" entry for the subsystem
44+in the MAINTAINERS file to find that tree, or simply ask the maintainer if
45+the tree is not listed there.
46+
47+It is still possible to download kernel releases via tarballs (as described
48+in the next section), but that is the hard way to do kernel development.
2749
2850 1) "diff -up"
2951 ------------
3052
31−Use "diff -up" or "diff -uprN" to create patches. git generates patches
32−in this form by default; if you're using git, you can skip this section
33−entirely.
53+If you must generate your patches by hand, use "diff -up" or "diff -uprN"
54+to create patches. Git generates patches in this form by default; if
55+you're using git, you can skip this section entirely.
3456
3557 All changes to the Linux kernel occur in the form of patches, as
3658 generated by diff(1). When creating your patch, make sure to create it
@@ -42,7 +64,7 @@ not in any lower subdirectory. · 5 unmodified lines
4264
4365 To create a patch for a single file, it is often sufficient to do:
4466
45− SRCTREE= linux-2.6
67+ SRCTREE= linux
4668 MYFILE= drivers/net/mydriver.c
4769
4870 cd $SRCTREE
@@ -55,17 +77,16 @@ To create a patch for multiple files, you should unpack a "vanilla", · 6 unmodified lines
5577 or unmodified kernel source tree, and generate a diff against your
5678 own source tree. For example:
5779
58− MYSRC= /devel/linux-2.6
80+ MYSRC= /devel/linux
5981
60− tar xvfz linux-2.6.12.tar.gz
61− mv linux-2.6.12 linux-2.6.12-vanilla
62− diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \
63− linux-2.6.12-vanilla $MYSRC > /tmp/patch
82+ tar xvfz linux-3.19.tar.gz
83+ mv linux-3.19 linux-3.19-vanilla
84+ diff -uprN -X linux-3.19-vanilla/Documentation/dontdiff \
85+ linux-3.19-vanilla $MYSRC > /tmp/patch
6486
6587 "dontdiff" is a list of files which are generated by the kernel during
6688 the build process, and should be ignored in any diff(1)-generated
67−patch. The "dontdiff" file is included in the kernel tree in
68−2.6.12 and later.
89+patch.
6990
7091 Make sure your patch does not include any extra files which do not
7192 belong in a patch submission. Make sure to review your patch -after-
@@ -83,6 +104,7 @@ is another popular alternative. · 11 unmodified lines
83104
84105
85106 2) Describe your changes.
107+-------------------------
86108
87109 Describe your problem. Whether your patch is a one-line bug fix or
88110 5000 lines of a new feature, there must be an underlying problem that
@@ -124,10 +146,10 @@ See #3, next. · 35 unmodified lines
124146 When you submit or resubmit a patch or patch series, include the
125147 complete patch description and justification for it. Don't just
126148 say that this is version N of the patch (series). Don't expect the
127−patch merger to refer back to earlier patch versions or referenced
149+subsystem maintainer to refer back to earlier patch versions or referenced
128150 URLs to find the patch description and put that into the patch.
129151 I.e., the patch (series) and its description should be self-contained.
130−This benefits both the patch merger(s) and reviewers. Some reviewers
152+This benefits both the maintainers and reviewers. Some reviewers
131153 probably didn't even receive earlier versions of the patch.
132154
133155 Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
@@ -156,10 +178,15 @@ Example: · 22 unmodified lines
156178 platform_set_drvdata(), but left the variable "dev" unused,
157179 delete it.
158180
181+You should also be sure to use at least the first twelve characters of the
182+SHA-1 ID. The kernel repository holds a *lot* of objects, making
183+collisions with shorter IDs a real possibility. Bear in mind that, even if
184+there is no collision with your six-character ID now, that condition may
185+change five years from now.
186+
159187 If your patch fixes a bug in a specific commit, e.g. you found an issue using
160188 git-bisect, please use the 'Fixes:' tag with the first 12 characters of the
161−SHA-1 ID, and the one line summary.
162−Example:
189+SHA-1 ID, and the one line summary. For example:
163190
164191 Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()")
165192
@@ -172,8 +199,9 @@ outputting the above style in the git log or git show commands · 6 unmodified lines
172199 fixes = Fixes: %h (\"%s\")
173200
174201 3) Separate your changes.
202+-------------------------
175203
176−Separate _logical changes_ into a single patch file.
204+Separate each _logical change_ into a separate patch.
177205
178206 For example, if your changes include both bug fixes and performance
179207 enhancements for a single driver, separate those changes into two
@@ -184,90 +212,116 @@ On the other hand, if you make a single change to numerous files, · 4 unmodified lines
184212 group those changes into a single patch. Thus a single logical change
185213 is contained within a single patch.
186214
215+The point to remember is that each patch should make an easily understood
216+change that can be verified by reviewers. Each patch should be justifiable
217+on its own merits.
218+
187219 If one patch depends on another patch in order for a change to be
188220 complete, that is OK. Simply note "this patch depends on patch X"
189221 in your patch description.
190222
223+When dividing your change into a series of patches, take special care to
224+ensure that the kernel builds and runs properly after each patch in the
225+series. Developers using "git bisect" to track down a problem can end up
226+splitting your patch series at any point; they will not thank you if you
227+introduce bugs in the middle.
228+
191229 If you cannot condense your patch set into a smaller set of patches,
192230 then only post say 15 or so at a time and wait for review and integration.
193231
194232
195233
196−4) Style check your changes.
234+4) Style-check your changes.
235+----------------------------
197236
198237 Check your patch for basic style violations, details of which can be
199238 found in Documentation/CodingStyle. Failure to do so simply wastes
200239 the reviewers time and will get your patch rejected, probably
201240 without even being read.
202241
203−At a minimum you should check your patches with the patch style
204−checker prior to submission (scripts/checkpatch.pl). You should
205−be able to justify all violations that remain in your patch.
206−
207−
242+One significant exception is when moving code from one file to
243+another -- in this case you should not modify the moved code at all in
244+the same patch which moves it. This clearly delineates the act of
245+moving the code and your changes. This greatly aids review of the
246+actual differences and allows tools to better track the history of
247+the code itself.
208248
209−5) Select e-mail destination.
249+Check your patches with the patch style checker prior to submission
250+(scripts/checkpatch.pl). Note, though, that the style checker should be
251+viewed as a guide, not as a replacement for human judgment. If your code
252+looks better with a violation then its probably best left alone.
210253
211−Look through the MAINTAINERS file and the source code, and determine
212−if your change applies to a specific subsystem of the kernel, with
213−an assigned maintainer. If so, e-mail that person. The script
214−scripts/get_maintainer.pl can be very useful at this step.
254+The checker reports at three levels:
255+ - ERROR: things that are very likely to be wrong
256+ - WARNING: things requiring careful review
257+ - CHECK: things requiring thought
215258
216−If no maintainer is listed, or the maintainer does not respond, send
217−your patch to the primary Linux kernel developer's mailing list,
218−linux-kernel@vger.kernel.org. Most kernel developers monitor this
219−e-mail list, and can comment on your changes.
259+You should be able to justify all violations that remain in your
260+patch.
220261
221262
222−Do not send more than 15 patches at once to the vger mailing lists!!!
263+5) Select the recipients for your patch.
264+----------------------------------------
223265
266+You should always copy the appropriate subsystem maintainer(s) on any patch
267+to code that they maintain; look through the MAINTAINERS file and the
268+source code revision history to see who those maintainers are. The
269+script scripts/get_maintainer.pl can be very useful at this step. If you
270+cannot find a maintainer for the subsystem your are working on, Andrew
271+Morton (akpm@linux-foundation.org) serves as a maintainer of last resort.
224272
225−Linus Torvalds is the final arbiter of all changes accepted into the
226−Linux kernel. His e-mail address is <torvalds@linux-foundation.org>.
227−He gets a lot of e-mail, so typically you should do your best to -avoid-
228−sending him e-mail.
273+You should also normally choose at least one mailing list to receive a copy
274+of your patch set. linux-kernel@vger.kernel.org functions as a list of
275+last resort, but the volume on that list has caused a number of developers
276+to tune it out. Look in the MAINTAINERS file for a subsystem-specific
277+list; your patch will probably get more attention there. Please do not
278+spam unrelated lists, though.
229279
230−Patches which are bug fixes, are "obvious" changes, or similarly
231−require little discussion should be sent or CC'd to Linus. Patches
232−which require discussion or do not have a clear advantage should
233−usually be sent first to linux-kernel. Only after the patch is
234−discussed should the patch then be submitted to Linus.
280+Many kernel-related lists are hosted on vger.kernel.org; you can find a
281+list of them at http://vger.kernel.org/vger-lists.html. There are
282+kernel-related lists hosted elsewhere as well, though.
235283
284+Do not send more than 15 patches at once to the vger mailing lists!!!
236285
286+Linus Torvalds is the final arbiter of all changes accepted into the
287+Linux kernel. His e-mail address is <torvalds@linux-foundation.org>.
288+He gets a lot of e-mail, and, at this point, very few patches go through
289+Linus directly, so typically you should do your best to -avoid-
290+sending him e-mail.
237291
238−6) Select your CC (e-mail carbon copy) list.
292+If you have a patch that fixes an exploitable security bug, send that patch
293+to security@kernel.org. For severe bugs, a short embargo may be considered
294+to allow distrbutors to get the patch out to users; in such cases,
295+obviously, the patch should not be sent to any public lists.
239296
240−Unless you have a reason NOT to do so, CC linux-kernel@vger.kernel.org.
297+Patches that fix a severe bug in a released kernel should be directed
298+toward the stable maintainers by putting a line like this:
241299
242−Other kernel developers besides Linus need to be aware of your change,
243−so that they may comment on it and offer code review and suggestions.
244−linux-kernel is the primary Linux kernel developer mailing list.
245−Other mailing lists are available for specific subsystems, such as
246−USB, framebuffer devices, the VFS, the SCSI subsystem, etc. See the
247−MAINTAINERS file for a mailing list that relates specifically to
248−your change.
300+ Cc: stable@vger.kernel.org
249301
250−Majordomo lists of VGER.KERNEL.ORG at:
251− <http://vger.kernel.org/vger-lists.html>
302+into your patch.
252303
253−If changes affect userland-kernel interfaces, please send
254−the MAN-PAGES maintainer (as listed in the MAINTAINERS file)
255−a man-pages patch, or at least a notification of the change,
256−so that some information makes its way into the manual pages.
304+Note, however, that some subsystem maintainers want to come to their own
305+conclusions on which patches should go to the stable trees. The networking
306+maintainer, in particular, would rather not see individual developers
307+adding lines like the above to their patches.
257308
258−Even if the maintainer did not respond in step #5, make sure to ALWAYS
259−copy the maintainer when you change their code.
309+If changes affect userland-kernel interfaces, please send the MAN-PAGES
310+maintainer (as listed in the MAINTAINERS file) a man-pages patch, or at
311+least a notification of the change, so that some information makes its way
312+into the manual pages. User-space API changes should also be copied to
313+linux-api@vger.kernel.org.
260314
261315 For small patches you may want to CC the Trivial Patch Monkey
262316 trivial@kernel.org which collects "trivial" patches. Have a look
263317 into the MAINTAINERS file for its current manager.
264318 Trivial patches must qualify for one of the following rules:
265319 Spelling fixes in documentation
266− Spelling fixes which could break grep(1)
320+ Spelling fixes for errors which could break grep(1)
267321 Warning fixes (cluttering with useless warnings is bad)
268322 Compilation fixes (only if they are actually correct)
269323 Runtime fixes (only if they actually fix things)
270− Removing use of deprecated functions/macros (eg. check_region)
324+ Removing use of deprecated functions/macros
271325 Contact detail and documentation fixes
272326 Non-portable code replaced by portable code (even in arch-specific,
273327 since people copy, as long as it's trivial)
@@ -276,7 +330,8 @@ Trivial patches must qualify for one of the following rules: · 2 unmodified lines
276330
277331
278332
279−7) No MIME, no links, no compression, no attachments. Just plain text.
333+6) No MIME, no links, no compression, no attachments. Just plain text.
334+-----------------------------------------------------------------------
280335
281336 Linus and other kernel developers need to be able to read and comment
282337 on the changes you are submitting. It is important for a kernel
@@ -299,54 +354,48 @@ you to re-send them using MIME. · 16 unmodified lines
299354 See Documentation/email-clients.txt for hints about configuring
300355 your e-mail client so that it sends your patches untouched.
301356
302−8) E-mail size.
303−
304−When sending patches to Linus, always follow step #7.
357+7) E-mail size.
358+---------------
305359
306360 Large changes are not appropriate for mailing lists, and some
307361 maintainers. If your patch, uncompressed, exceeds 300 kB in size,
308362 it is preferred that you store your patch on an Internet-accessible
309−server, and provide instead a URL (link) pointing to your patch.
363+server, and provide instead a URL (link) pointing to your patch. But note
364+that if your patch exceeds 300 kB, it almost certainly needs to be broken up
365+anyway.
310366
367+8) Respond to review comments.
368+------------------------------
311369
370+Your patch will almost certainly get comments from reviewers on ways in
371+which the patch can be improved. You must respond to those comments;
372+ignoring reviewers is a good way to get ignored in return. Review comments
373+or questions that do not lead to a code change should almost certainly
374+bring about a comment or changelog entry so that the next reviewer better
375+understands what is going on.
312376
313−9) Name your kernel version.
377+Be sure to tell the reviewers what changes you are making and to thank them
378+for their time. Code review is a tiring and time-consuming process, and
379+reviewers sometimes get grumpy. Even in that case, though, respond
380+politely and address the problems they have pointed out.
314381
315−It is important to note, either in the subject line or in the patch
316−description, the kernel version to which this patch applies.
317382
318−If the patch does not apply cleanly to the latest kernel version,
319−Linus will not apply it.
383+9) Don't get discouraged - or impatient.
384+----------------------------------------
320385
386+After you have submitted your change, be patient and wait. Reviewers are
387+busy people and may not get to your patch right away.
321388
389+Once upon a time, patches used to disappear into the void without comment,
390+but the development process works more smoothly than that now. You should
391+receive comments within a week or so; if that does not happen, make sure
392+that you have sent your patches to the right place. Wait for a minimum of
393+one week before resubmitting or pinging reviewers - possibly longer during
394+busy times like merge windows.
322395
323−10) Don't get discouraged. Re-submit.
324396
325−After you have submitted your change, be patient and wait. If Linus
326−likes your change and applies it, it will appear in the next version
327−of the kernel that he releases.
328−
329−However, if your change doesn't appear in the next version of the
330−kernel, there could be any number of reasons. It's YOUR job to
331−narrow down those reasons, correct what was wrong, and submit your
332−updated change.
333−
334−It is quite common for Linus to "drop" your patch without comment.
335−That's the nature of the system. If he drops your patch, it could be
336−due to
337−* Your patch did not apply cleanly to the latest kernel version.
338−* Your patch was not sufficiently discussed on linux-kernel.
339−* A style issue (see section 2).
340−* An e-mail formatting issue (re-read this section).
341−* A technical problem with your change.
342−* He gets tons of e-mail, and yours got lost in the shuffle.
343−* You are being annoying.
344−
345−When in doubt, solicit comments on linux-kernel mailing list.
346−
347−
348−
349−11) Include PATCH in the subject
397+10) Include PATCH in the subject
398+--------------------------------
350399
351400 Due to high e-mail traffic to Linus, and to linux-kernel, it is common
352401 convention to prefix your subject line with [PATCH]. This lets Linus
@@ -355,7 +404,8 @@ e-mail discussions. · 2 unmodified lines
355404
356405
357406
358−12) Sign your work
407+11) Sign your work
408+------------------
359409
360410 To improve tracking of who did what, especially with patches that can
361411 percolate to their final resting place in the kernel through several
@@ -387,11 +437,11 @@ can certify the below: · 25 unmodified lines
387437 person who certified (a), (b) or (c) and I have not modified
388438 it.
389439
390− (d) I understand and agree that this project and the contribution
391− are public and that a record of the contribution (including all
392− personal information I submit with it, including my sign-off) is
393− maintained indefinitely and may be redistributed consistent with
394− this project or the open source license(s) involved.
440+ (d) I understand and agree that this project and the contribution
441+ are public and that a record of the contribution (including all
442+ personal information I submit with it, including my sign-off) is
443+ maintained indefinitely and may be redistributed consistent with
444+ this project or the open source license(s) involved.
395445
396446 then you just add a line saying
397447
@@ -401,7 +451,7 @@ using your real name (sorry, no pseudonyms or anonymous contributions.) · 3 unmodified lines
401451
402452 Some people also put extra tags at the end. They'll just be ignored for
403453 now, but you can do this to mark internal company procedures or just
404−point out some special detail about the sign-off.
454+point out some special detail about the sign-off.
405455
406456 If you are a subsystem or branch maintainer, sometimes you need to slightly
407457 modify patches you receive in order to merge them, because the code is not
@@ -429,15 +479,15 @@ which appears in the changelog. · 21 unmodified lines
429479 Special note to back-porters: It seems to be a common and useful practice
430480 to insert an indication of the origin of a patch at the top of the commit
431481 message (just after the subject line) to facilitate tracking. For instance,
432−here's what we see in 2.6-stable :
482+here's what we see in a 3.x-stable release:
433483
434− Date: Tue May 13 19:10:30 2008 +0000
484+Date: Tue Oct 7 07:26:38 2014 -0400
435485
436− SCSI: libiscsi regression in 2.6.25: fix nop timer handling
486+ libata: Un-break ATA blacklist
437487
438− commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream
488+ commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream.
439489
440−And here's what appears in 2.4 :
490+And here's what might appear in an older kernel once a patch is backported:
441491
442492 Date: Tue May 13 22:12:27 2008 +0200
443493
@@ -446,18 +496,19 @@ And here's what appears in 2.4 : · 2 unmodified lines
446496 [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]
447497
448498 Whatever the format, this information provides a valuable help to people
449−tracking your trees, and to people trying to trouble-shoot bugs in your
499+tracking your trees, and to people trying to troubleshoot bugs in your
450500 tree.
451501
452502
453−13) When to use Acked-by: and Cc:
503+12) When to use Acked-by: and Cc:
504+---------------------------------
454505
455506 The Signed-off-by: tag indicates that the signer was involved in the
456507 development of the patch, or that he/she was in the patch's delivery path.
457508
458509 If a person was not directly involved in the preparation or handling of a
459510 patch but wishes to signify and record their approval of it then they can
460−arrange to have an Acked-by: line added to the patch's changelog.
511+ask to have an Acked-by: line added to the patch's changelog.
461512
462513 Acked-by: is often used by the maintainer of the affected code when that
463514 maintainer neither contributed to nor forwarded the patch.
@@ -465,7 +516,8 @@ maintainer neither contributed to nor forwarded the patch. · 1 unmodified line
465516 Acked-by: is not as formal as Signed-off-by:. It is a record that the acker
466517 has at least reviewed the patch and has indicated acceptance. Hence patch
467518 mergers will sometimes manually convert an acker's "yep, looks good to me"
468−into an Acked-by:.
519+into an Acked-by: (but note that it is usually better to ask for an
520+explicit ack).
469521
470522 Acked-by: does not necessarily indicate acknowledgement of the entire patch.
471523 For example, if a patch affects multiple subsystems and has an Acked-by: from
@@ -477,11 +529,13 @@ list archives. · 5 unmodified lines
477529 If a person has had the opportunity to comment on a patch, but has not
478530 provided such comments, you may optionally add a "Cc:" tag to the patch.
479531 This is the only tag which might be added without an explicit action by the
480−person it names. This tag documents that potentially interested parties
481−have been included in the discussion
532+person it names - but it should indicate that this person was copied on the
533+patch. This tag documents that potentially interested parties
534+have been included in the discussion.
482535
483536
484−14) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
537+13) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
538+--------------------------------------------------------------------------
485539
486540 The Reported-by tag gives credit to people who find bugs and report them and it
487541 hopefully inspires them to help us again in the future. Please note that if
@@ -541,7 +595,13 @@ which stable kernel versions should receive your fix. This is the preferred · 53 unmodified lines
541595 method for indicating a bug fixed by the patch. See #2 above for more details.
542596
543597
544−15) The canonical patch format
598+14) The canonical patch format
599+------------------------------
600+
601+This section describes how the patch itself should be formatted. Note
602+that, if you have your patches stored in a git repository, proper patch
603+formatting can be had with "git format-patch". The tools cannot create
604+the necessary text, though, so read the instructions below anyway.
545605
546606 The canonical patch subject line is:
547607
@@ -549,7 +609,8 @@ The canonical patch subject line is: · 1 unmodified line
549609
550610 The canonical patch message body contains the following:
551611
552− - A "from" line specifying the patch author.
612+ - A "from" line specifying the patch author (only needed if the person
613+ sending the patch is not the author).
553614
554615 - An empty line.
555616
@@ -656,128 +717,63 @@ See more details on the proper patch format in the following · 100 unmodified lines
656717 references.
657718
658719
659−16) Sending "git pull" requests (from Linus emails)
660−
661−Please write the git repo address and branch name alone on the same line
662−so that I can't even by mistake pull from the wrong branch, and so
663−that a triple-click just selects the whole thing.
664−
665−So the proper format is something along the lines of:
666−
667− "Please pull from
668−
669− git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
670−
671− to get these changes:"
672−
673−so that I don't have to hunt-and-peck for the address and inevitably
674−get it wrong (actually, I've only gotten it wrong a few times, and
675−checking against the diffstat tells me when I get it wrong, but I'm
676−just a lot more comfortable when I don't have to "look for" the right
677−thing to pull, and double-check that I have the right branch-name).
678−
679−
680−Please use "git diff -M --stat --summary" to generate the diffstat:
681−the -M enables rename detection, and the summary enables a summary of
682−new/deleted or renamed files.
683−
684−With rename detection, the statistics are rather different [...]
685−because git will notice that a fair number of the changes are renames.
686−
687−-----------------------------------
688−SECTION 2 - HINTS, TIPS, AND TRICKS
689−-----------------------------------
690−
691−This section lists many of the common "rules" associated with code
692−submitted to the kernel. There are always exceptions... but you must
693−have a really good reason for doing so. You could probably call this
694−section Linus Computer Science 101.
695−
696−
697−
698−1) Read Documentation/CodingStyle
699−
700−Nuff said. If your code deviates too much from this, it is likely
701−to be rejected without further review, and without comment.
702−
703−One significant exception is when moving code from one file to
704−another -- in this case you should not modify the moved code at all in
705−the same patch which moves it. This clearly delineates the act of
706−moving the code and your changes. This greatly aids review of the
707−actual differences and allows tools to better track the history of
708−the code itself.
709−
710−Check your patches with the patch style checker prior to submission
711−(scripts/checkpatch.pl). The style checker should be viewed as
712−a guide not as the final word. If your code looks better with
713−a violation then its probably best left alone.
714−
715−The checker reports at three levels:
716− - ERROR: things that are very likely to be wrong
717− - WARNING: things requiring careful review
718− - CHECK: things requiring thought
719−
720−You should be able to justify all violations that remain in your
721−patch.
722−
723−
724−
725−2) #ifdefs are ugly
726−
727−Code cluttered with ifdefs is difficult to read and maintain. Don't do
728−it. Instead, put your ifdefs in a header, and conditionally define
729−'static inline' functions, or macros, which are used in the code.
730−Let the compiler optimize away the "no-op" case.
731−
732−Simple example, of poor code:
733−
734− dev = alloc_etherdev (sizeof(struct funky_private));
735− if (!dev)
736− return -ENODEV;
737− #ifdef CONFIG_NET_FUNKINESS
738− init_funky_net(dev);
739− #endif
740−
741−Cleaned-up example:
742−
743−(in header)
744− #ifndef CONFIG_NET_FUNKINESS
745− static inline void init_funky_net (struct net_device *d) {}
746− #endif
720+15) Sending "git pull" requests
721+-------------------------------
747722
748−(in the code itself)
749− dev = alloc_etherdev (sizeof(struct funky_private));
750− if (!dev)
751− return -ENODEV;
752− init_funky_net(dev);
723+If you have a series of patches, it may be most convenient to have the
724+maintainer pull them directly into the subsystem repository with a
725+"git pull" operation. Note, however, that pulling patches from a developer
726+requires a higher degree of trust than taking patches from a mailing list.
727+As a result, many subsystem maintainers are reluctant to take pull
728+requests, especially from new, unknown developers. If in doubt you can use
729+the pull request as the cover letter for a normal posting of the patch
730+series, giving the maintainer the option of using either.
753731
732+A pull request should have [GIT] or [PULL] in the subject line. The
733+request itself should include the repository name and the branch of
734+interest on a single line; it should look something like:
754735
736+ Please pull from
755737
756−3) 'static inline' is better than a macro
738+ git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
757739
758−Static inline functions are greatly preferred over macros.
759−They provide type safety, have no length limitations, no formatting
760−limitations, and under gcc they are as cheap as macros.
740+ to get these changes:"
761741
762−Macros should only be used for cases where a static inline is clearly
763−suboptimal [there are a few, isolated cases of this in fast paths],
764−or where it is impossible to use a static inline function [such as
765−string-izing].
742+A pull request should also include an overall message saying what will be
743+included in the request, a "git shortlog" listing of the patches
744+themselves, and a diffstat showing the overall effect of the patch series.
745+The easiest way to get all this information together is, of course, to let
746+git do it for you with the "git request-pull" command.
766747
767−'static inline' is preferred over 'static __inline__', 'extern inline',
768−and 'extern __inline__'.
748+Some maintainers (including Linus) want to see pull requests from signed
749+commits; that increases their confidence that the request actually came
750+from you. Linus, in particular, will not pull from public hosting sites
751+like GitHub in the absence of a signed tag.
769752
753+The first step toward creating such tags is to make a GNUPG key and get it
754+signed by one or more core kernel developers. This step can be hard for
755+new developers, but there is no way around it. Attending conferences can
756+be a good way to find developers who can sign your key.
770757
758+Once you have prepared a patch series in git that you wish to have somebody
759+pull, create a signed tag with "git tag -s". This will create a new tag
760+identifying the last commit in the series and containing a signature
761+created with your private key. You will also have the opportunity to add a
762+changelog-style message to the tag; this is an ideal place to describe the
763+effects of the pull request as a whole.
771764
772−4) Don't over-design.
765+If the tree the maintainer will be pulling from is not the repository you
766+are working from, don't forget to push the signed tag explicitly to the
767+public tree.
773768
774−Don't try to anticipate nebulous future cases which may or may not
775−be useful: "Make it as simple as you can, and no simpler."
769+When generating your pull request, use the signed tag as the target. A
770+command like this will do the trick:
776771
772+ git request-pull master git://my.public.tree/linux.git my-signed-tag
777773
778774
779775 ----------------------
780−SECTION 3 - REFERENCES
776+SECTION 2 - REFERENCES
781777 ----------------------
782778
783779 Andrew Morton, "The perfect patch" (tpp).
Documentation/acpi/enumeration.txt+1−1
@@ -243,7 +243,7 @@ input driver: · 242 unmodified lines
243243 .owner = THIS_MODULE,
244244 .pm = &mpu3050_pm,
245245 .of_match_table = mpu3050_of_match,
246− .acpi_match_table ACPI_PTR(mpu3050_acpi_match),
246+ .acpi_match_table = ACPI_PTR(mpu3050_acpi_match),
247247 },
248248 .probe = mpu3050_probe,
249249 .remove = mpu3050_remove,
Documentation/arm/00-INDEX+7−5
@@ -2,11 +2,15 @@ · 1 unmodified line
22 - this file
33 Booting
44 - requirements for booting
5+CCN.txt
6+ - Cache Coherent Network ring-bus and perf PMU driver.
57 Interrupts
68 - ARM Interrupt subsystem documentation
79 IXP4xx
810 - Intel IXP4xx Network processor.
9−msm
11+Makefile
12+ - Build sourcefiles as part of the Documentation-build for arm
13+msm/
1014 - MSM specific documentation
1115 Netwinder
1216 - Netwinder specific documentation
@@ -18,11 +22,9 @@ README · 5 unmodified lines
1822 - General ARM documentation
1923 SA1100/
2024 - SA1100 documentation
21−Samsung-S3C24XX
25+Samsung-S3C24XX/
2226 - S3C24XX ARM Linux Overview
23−Sharp-LH
24− - Linux on Sharp LH79524 and LH7A40X System On a Chip (SOC)
25−SPEAr
27+SPEAr/
2628 - ST SPEAr platform Linux Overview
2729 VFP/
2830 - Release notes for Linux Kernel Vector Floating Point support code
Documentation/arm/Atmel/README+124−0
@@ -0,0 +1,124 @@
1+ARM Atmel SoCs (aka AT91)
2+=========================
3+
4+
5+Introduction
6+------------
7+This document gives useful information about the ARM Atmel SoCs that are
8+currently supported in Linux Mainline (you know, the one on kernel.org).
9+
10+It is important to note that the Atmel | SMART ARM-based MPU product line is
11+historically named "AT91" or "at91" throughout the Linux kernel development
12+process even if this product prefix has completely disappeared from the
13+official Atmel product name. Anyway, files, directories, git trees,
14+git branches/tags and email subject always contain this "at91" sub-string.
15+
16+
17+AT91 SoCs
18+---------
19+Documentation and detailled datasheet for each product are available on
20+the Atmel website: http://www.atmel.com.
21+
22+ Flavors:
23+ * ARM 920 based SoC
24+ - at91rm9200
25+ + Datasheet
26+ http://www.atmel.com/Images/doc1768.pdf
27+
28+ * ARM 926 based SoCs
29+ - at91sam9260
30+ + Datasheet
31+ http://www.atmel.com/Images/doc6221.pdf
32+
33+ - at91sam9xe
34+ + Datasheet
35+ http://www.atmel.com/Images/Atmel-6254-32-bit-ARM926EJ-S-Embedded-Microprocessor-SAM9XE_Datasheet.pdf
36+
37+ - at91sam9261
38+ + Datasheet
39+ http://www.atmel.com/Images/doc6062.pdf
40+
41+ - at91sam9263
42+ + Datasheet
43+ http://www.atmel.com/Images/Atmel_6249_32-bit-ARM926EJ-S-Microcontroller_SAM9263_Datasheet.pdf
44+
45+ - at91sam9rl
46+ + Datasheet
47+ http://www.atmel.com/Images/doc6289.pdf
48+
49+ - at91sam9g20
50+ + Datasheet
51+ http://www.atmel.com/Images/doc6384.pdf
52+
53+ - at91sam9g45 family
54+ - at91sam9g45
55+ - at91sam9g46
56+ - at91sam9m10
57+ - at91sam9m11 (device superset)
58+ + Datasheet
59+ http://www.atmel.com/Images/Atmel-6437-32-bit-ARM926-Embedded-Microprocessor-SAM9M11_Datasheet.pdf
60+
61+ - at91sam9x5 family (aka "The 5 series")
62+ - at91sam9g15
63+ - at91sam9g25
64+ - at91sam9g35
65+ - at91sam9x25
66+ - at91sam9x35
67+ + Datasheet (can be considered as covering the whole family)
68+ http://www.atmel.com/Images/Atmel_11055_32-bit-ARM926EJ-S-Microcontroller_SAM9X35_Datasheet.pdf
69+
70+ - at91sam9n12
71+ + Datasheet
72+ http://www.atmel.com/Images/Atmel_11063_32-bit-ARM926EJ-S-Microcontroller_SAM9N12CN11CN12_Datasheet.pdf
73+
74+ * ARM Cortex-A5 based SoCs
75+ - sama5d3 family
76+ - sama5d31
77+ - sama5d33
78+ - sama5d34
79+ - sama5d35
80+ - sama5d36 (device superset)
81+ + Datasheet
82+ http://www.atmel.com/Images/Atmel-11121-32-bit-Cortex-A5-Microcontroller-SAMA5D3_Datasheet.pdf
83+
84+ * ARM Cortex-A5 + NEON based SoCs
85+ - sama5d4 family
86+ - sama5d41
87+ - sama5d42
88+ - sama5d43
89+ - sama5d44 (device superset)
90+ + Datasheet
91+ http://www.atmel.com/Images/Atmel-11238-32-bit-Cortex-A5-Microcontroller-SAMA5D4_Datasheet.pdf
92+
93+
94+Linux kernel information
95+------------------------
96+Linux kernel mach directory: arch/arm/mach-at91
97+MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES"
98+
99+
100+Device Tree for AT91 SoCs and boards
101+------------------------------------
102+All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
103+must use this method to boot the Linux kernel.
104+
105+Work In Progress statement:
106+Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
107+considered as "Unstable". To be completely clear, any at91 binding can change at
108+any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
109+the same source tree.
110+Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
111+definition of a "Stable" binding/ABI.
112+This statement will be removed by AT91 MAINTAINERS when appropriate.
113+
114+Naming conventions and best practice:
115+- SoCs Device Tree Source Include files are named after the official name of
116+ the product (at91sam9g20.dtsi or sama5d33.dtsi for instance).
117+- Device Tree Source Include files (.dtsi) are used to collect common nodes that can be
118+ shared across SoCs or boards (sama5d3.dtsi or at91sam9x5cm.dtsi for instance).
119+ When collecting nodes for a particular peripheral or topic, the identifier have to
120+ be placed at the end of the file name, separated with a "_" (at91sam9x5_can.dtsi
121+ or sama5d3_gmac.dtsi for example).
122+- board Device Tree Source files (.dts) are prefixed by the string "at91-" so
123+ that they can be identified easily. Note that some files are historical exceptions
124+ to this rule (sama5d3[13456]ek.dts, usb_a9g20.dts or animeo_ip.dts for example).
Documentation/arm/Samsung-S3C24XX/DMA.txt+0−46
@@ -1,46 +0,0 @@
1− S3C2410 DMA
2− ===========
3−
4−Introduction
5−------------
6−
7− The kernel provides an interface to manage DMA transfers
8− using the DMA channels in the CPU, so that the central
9− duty of managing channel mappings, and programming the
10− channel generators is in one place.
11−
12−
13−DMA Channel Ordering
14−--------------------
15−
16− Many of the range do not have connections for the DMA
17− channels to all sources, which means that some devices
18− have a restricted number of channels that can be used.
19−
20− To allow flexibility for each CPU type and board, the
21− DMA code can be given a DMA ordering structure which
22− allows the order of channel search to be specified, as
23− well as allowing the prohibition of certain claims.
24−
25− struct s3c24xx_dma_order has a list of channels, and
26− each channel within has a slot for a list of DMA
27− channel numbers. The slots are searched in order for
28− the presence of a DMA channel number with DMA_CH_VALID
29− or-ed in.
30−
31− If the order has the flag DMA_CH_NEVER set, then after
32− checking the channel list, the system will return no
33− found channel, thus denying the request.
34−
35− A board support file can call s3c24xx_dma_order_set()
36− to register a complete ordering set. The routine will
37− copy the data, so the original can be discarded with
38− __initdata.
39−
40−
41−Authour
42−-------
43−
44−Ben Dooks,
45−Copyright (c) 2007 Ben Dooks, Simtec Electronics
46−Licensed under the GPL v2
Documentation/arm/sti/stih418-overview.txt+20−0
@@ -0,0 +1,20 @@
1+ STiH418 Overview
2+ ================
3+
4+Introduction
5+------------
6+
7+ The STiH418 is the new generation of SoC for UHDp60 set-top boxes
8+ and server/connected client application for satellite, cable, terrestrial
9+ and IP-STB markets.
10+
11+ Features
12+ - ARM Cortex-A9 1.5 GHz quad core CPU (28nm)
13+ - SATA2, USB 3.0, PCIe, Gbit Ethernet
14+ - HEVC L5.1 Main 10
15+ - VP9
16+
17+ Document Author
18+ ---------------
19+
20+ Maxime Coquelin <maxime.coquelin@st.com>, (c) 2015 ST Microelectronics
Documentation/arm/sunxi/README+0−1
@@ -50,7 +50,6 @@ SunXi family · 49 unmodified lines
5050 http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf
5151
5252 - Allwinner A31s (sun6i)
53− + Not Supported
5453 + Datasheet
5554 http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf
5655 + User Manual
Documentation/arm64/legacy_instructions.txt+12−0
@@ -32,6 +32,9 @@ The default mode depends on the status of the instruction in the · 31 unmodified lines
3232 architecture. Deprecated instructions should default to emulation
3333 while obsolete instructions must be undefined by default.
3434
35+Note: Instruction emulation may not be possible in all cases. See
36+individual instruction notes for further information.
37+
3538 Supported legacy instructions
3639 -----------------------------
3740 * SWP{B}
@@ -43,3 +46,12 @@ Default: Undef (0) · 5 unmodified lines
4346 Node: /proc/sys/abi/cp15_barrier
4447 Status: Deprecated
4548 Default: Emulate (1)
49+
50+* SETEND
51+Node: /proc/sys/abi/setend
52+Status: Deprecated
53+Default: Emulate (1)*
54+Note: All the cpus on the system must have mixed endian support at EL0
55+for this feature to be enabled. If a new CPU - which doesn't support mixed
56+endian - is hotplugged in after this feature has been enabled, there could
57+be unexpected results in the application.
Documentation/blackfin/Makefile+2−0
@@ -1,3 +1,5 @@
11 ifneq ($(CONFIG_BLACKFIN),)
2+ifneq ($(CONFIG_BFIN_GPTIMERS,)
23 obj-m := gptimers-example.o
34 endif
5+endif
Documentation/cachetlb.txt+4−4
@@ -317,10 +317,10 @@ maps this page at its virtual address. · 316 unmodified lines
317317 about doing this.
318318
319319 The idea is, first at flush_dcache_page() time, if
320− page->mapping->i_mmap is an empty tree and ->i_mmap_nonlinear
321− an empty list, just mark the architecture private page flag bit.
322− Later, in update_mmu_cache(), a check is made of this flag bit,
323− and if set the flush is done and the flag bit is cleared.
320+ page->mapping->i_mmap is an empty tree, just mark the architecture
321+ private page flag bit. Later, in update_mmu_cache(), a check is
322+ made of this flag bit, and if set the flush is done and the flag
323+ bit is cleared.
324324
325325 IMPORTANT NOTE: It is often important, if you defer the flush,
326326 that the actual flush occurs on the same CPU
Documentation/cgroups/00-INDEX+2−0
@@ -24,3 +24,5 @@ net_prio.txt · 23 unmodified lines
2424 - Network priority cgroups details and usages.
2525 resource_counter.txt
2626 - Resource Counter API.
27+unified-hierarchy.txt
28+ - Description the new/next cgroup interface.
Documentation/cgroups/unified-hierarchy.txt+79−0
@@ -327,6 +327,85 @@ supported and the interface files "release_agent" and · 326 unmodified lines
327327 - use_hierarchy is on by default and the cgroup file for the flag is
328328 not created.
329329
330+- The original lower boundary, the soft limit, is defined as a limit
331+ that is per default unset. As a result, the set of cgroups that
332+ global reclaim prefers is opt-in, rather than opt-out. The costs
333+ for optimizing these mostly negative lookups are so high that the
334+ implementation, despite its enormous size, does not even provide the
335+ basic desirable behavior. First off, the soft limit has no
336+ hierarchical meaning. All configured groups are organized in a
337+ global rbtree and treated like equal peers, regardless where they
338+ are located in the hierarchy. This makes subtree delegation
339+ impossible. Second, the soft limit reclaim pass is so aggressive
340+ that it not just introduces high allocation latencies into the
341+ system, but also impacts system performance due to overreclaim, to
342+ the point where the feature becomes self-defeating.
343+
344+ The memory.low boundary on the other hand is a top-down allocated
345+ reserve. A cgroup enjoys reclaim protection when it and all its
346+ ancestors are below their low boundaries, which makes delegation of
347+ subtrees possible. Secondly, new cgroups have no reserve per
348+ default and in the common case most cgroups are eligible for the
349+ preferred reclaim pass. This allows the new low boundary to be
350+ efficiently implemented with just a minor addition to the generic
351+ reclaim code, without the need for out-of-band data structures and
352+ reclaim passes. Because the generic reclaim code considers all
353+ cgroups except for the ones running low in the preferred first
354+ reclaim pass, overreclaim of individual groups is eliminated as
355+ well, resulting in much better overall workload performance.
356+
357+- The original high boundary, the hard limit, is defined as a strict
358+ limit that can not budge, even if the OOM killer has to be called.
359+ But this generally goes against the goal of making the most out of
360+ the available memory. The memory consumption of workloads varies
361+ during runtime, and that requires users to overcommit. But doing
362+ that with a strict upper limit requires either a fairly accurate
363+ prediction of the working set size or adding slack to the limit.
364+ Since working set size estimation is hard and error prone, and
365+ getting it wrong results in OOM kills, most users tend to err on the
366+ side of a looser limit and end up wasting precious resources.
367+
368+ The memory.high boundary on the other hand can be set much more
369+ conservatively. When hit, it throttles allocations by forcing them
370+ into direct reclaim to work off the excess, but it never invokes the
371+ OOM killer. As a result, a high boundary that is chosen too
372+ aggressively will not terminate the processes, but instead it will
373+ lead to gradual performance degradation. The user can monitor this
374+ and make corrections until the minimal memory footprint that still
375+ gives acceptable performance is found.
376+
377+ In extreme cases, with many concurrent allocations and a complete
378+ breakdown of reclaim progress within the group, the high boundary
379+ can be exceeded. But even then it's mostly better to satisfy the
380+ allocation from the slack available in other groups or the rest of
381+ the system than killing the group. Otherwise, memory.max is there
382+ to limit this type of spillover and ultimately contain buggy or even
383+ malicious applications.
384+
385+- The original control file names are unwieldy and inconsistent in
386+ many different ways. For example, the upper boundary hit count is
387+ exported in the memory.failcnt file, but an OOM event count has to
388+ be manually counted by listening to memory.oom_control events, and
389+ lower boundary / soft limit events have to be counted by first
390+ setting a threshold for that value and then counting those events.
391+ Also, usage and limit files encode their units in the filename.
392+ That makes the filenames very long, even though this is not
393+ information that a user needs to be reminded of every time they type
394+ out those names.
395+
396+ To address these naming issues, as well as to signal clearly that
397+ the new interface carries a new configuration model, the naming
398+ conventions in it necessarily differ from the old interface.
399+
400+- The original limit files indicate the state of an unset limit with a
401+ Very High Number, and a configured limit can be unset by echoing -1
402+ into those files. But that very high number is implementation and
403+ architecture dependent and not very descriptive. And while -1 can
404+ be understood as an underflow into the highest possible value, -2 or
405+ -10M etc. do not work, so it's not consistent.
406+
407+ memory.low, memory.high, and memory.max will use the string
408+ "infinity" to indicate and set the highest possible value.
330409
331410 5. Planned Changes
332411
Documentation/clk.txt+2−0
@@ -73,6 +73,8 @@ the operations defined in clk.h: · 72 unmodified lines
7373 unsigned long *parent_rate);
7474 long (*determine_rate)(struct clk_hw *hw,
7575 unsigned long rate,
76+ unsigned long min_rate,
77+ unsigned long max_rate,
7678 unsigned long *best_parent_rate,
7779 struct clk_hw **best_parent_clk);
7880 int (*set_parent)(struct clk_hw *hw, u8 index);
Documentation/cpu-freq/intel-pstate.txt+8−0
@@ -37,6 +37,14 @@ controlling P state selection. These files have been added to · 36 unmodified lines
3737 no_turbo: limits the driver to selecting P states below the turbo
3838 frequency range.
3939
40+ turbo_pct: displays the percentage of the total performance that
41+ is supported by hardware that is in the turbo range. This number
42+ is independent of whether turbo has been disabled or not.
43+
44+ num_pstates: displays the number of pstates that are supported
45+ by hardware. This number is independent of whether turbo has
46+ been disabled or not.
47+
4048 For contemporary Intel processors, the frequency is controlled by the
4149 processor itself and the P-states exposed to software are related to
4250 performance levels. The idea that frequency can be set to a single
Documentation/device-mapper/dm-crypt.txt+14−1
@@ -51,7 +51,7 @@ Parameters: <cipher> <key> <iv_offset> <device path> \ · 50 unmodified lines
5151 Otherwise #opt_params is the number of following arguments.
5252
5353 Example of optional parameters section:
54− 1 allow_discards
54+ 3 allow_discards same_cpu_crypt submit_from_crypt_cpus
5555
5656 allow_discards
5757 Block discard requests (a.k.a. TRIM) are passed through the crypt device.
@@ -63,6 +63,19 @@ allow_discards · 5 unmodified lines
6363 used space etc.) if the discarded blocks can be located easily on the
6464 device later.
6565
66+same_cpu_crypt
67+ Perform encryption using the same cpu that IO was submitted on.
68+ The default is to use an unbound workqueue so that encryption work
69+ is automatically balanced between available CPUs.
70+
71+submit_from_crypt_cpus
72+ Disable offloading writes to a separate thread after encryption.
73+ There are some situations where offloading write bios from the
74+ encryption threads to a single thread degrades performance
75+ significantly. The default is to offload write bios to the same
76+ thread because it benefits CFQ to have writes submitted using the
77+ same context.
78+
6679 Example scripts
6780 ===============
6881 LUKS (Linux Unified Key Setup) is now the preferred way to set up disk
Documentation/devicetree/bindings/arm/armada-38x.txt+7−0
@@ -15,6 +15,13 @@ Required root node property: · 14 unmodified lines
1515
1616 compatible: must contain "marvell,armada385"
1717
18+In addition, boards using the Marvell Armada 388 SoC shall have the
19+following property before the previous one:
20+
21+Required root node property:
22+
23+compatible: must contain "marvell,armada388"
24+
1825 Example:
1926
2027 compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380";
Documentation/devicetree/bindings/arm/atmel-at91.txt+17−0
@@ -24,6 +24,7 @@ compatible: must be one of: · 23 unmodified lines
2424 o "atmel,at91sam9g45"
2525 o "atmel,at91sam9n12"
2626 o "atmel,at91sam9rl"
27+ o "atmel,at91sam9xe"
2728 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific
2829 SoC family:
2930 o "atmel,sama5d3" shall be extended with the specific SoC compatible:
@@ -136,3 +137,19 @@ Example: · 106 unmodified lines
136137 compatible = "atmel,at91sam9260-rstc";
137138 reg = <0xfffffd00 0x10>;
138139 };
140+
141+Special Function Registers (SFR)
142+
143+Special Function Registers (SFR) manage specific aspects of the integrated
144+memory, bridge implementations, processor and other functionality not controlled
145+elsewhere.
146+
147+required properties:
148+- compatible: Should be "atmel,<chip>-sfr", "syscon".
149+ <chip> can be "sama5d3" or "sama5d4".
150+- reg: Should contain registers location and length
151+
152+ sfr@f0038000 {
153+ compatible = "atmel,sama5d3-sfr", "syscon";
154+ reg = <0xf0038000 0x60>;
155+ };
Documentation/devicetree/bindings/arm/brcm-brcmstb.txt+3−1
@@ -79,7 +79,9 @@ reboot · 78 unmodified lines
7979 Required properties
8080
8181 - compatible
82− The string property "brcm,brcmstb-reboot".
82+ The string property "brcm,brcmstb-reboot" for 40nm/28nm chips with
83+ the new SYS_CTRL interface, or "brcm,bcm7038-reboot" for 65nm
84+ chips with the old SUN_TOP_CTRL interface.
8385
8486 - syscon
8587 A phandle / integer array that points to the syscon node which describes
Documentation/devicetree/bindings/arm/coresight.txt+0−4
@@ -38,8 +38,6 @@ its hardware characteristcs. · 37 unmodified lines
3838 AMBA markee):
3939 - "arm,coresight-replicator"
4040
41− * id: a unique number that will identify this replicator.
42−
4341 * port or ports: same as above.
4442
4543 * Optional properties for ETM/PTMs:
@@ -94,8 +92,6 @@ Example: · 48 unmodified lines
9492 * AMBA bus. As such no need to add "arm,primecell".
9593 */
9694 compatible = "arm,coresight-replicator";
97− /* this will show up in debugfs as "0.replicator" */
98− id = <0>;
9995
10096 ports {
10197 #address-cells = <1>;
Documentation/devicetree/bindings/arm/cpus.txt+1−0
@@ -175,6 +175,7 @@ nodes to be present and contain the properties described below. · 174 unmodified lines
175175 "marvell,pj4a"
176176 "marvell,pj4b"
177177 "marvell,sheeva-v5"
178+ "nvidia,tegra132-denver"
178179 "qcom,krait"
179180 "qcom,scorpion"
180181 - enable-method
Documentation/devicetree/bindings/arm/digicolor.txt+6−0
@@ -0,0 +1,6 @@
1+Conexant Digicolor Platforms Device Tree Bindings
2+
3+Each device tree must specify which Conexant Digicolor SoC it uses.
4+Must be the following compatible string:
5+
6+ cnxt,cx92755
Documentation/devicetree/bindings/arm/exynos/power_domain.txt+1−1
@@ -23,7 +23,7 @@ Optional Properties: · 22 unmodified lines
2323 devices in this power domain. Maximum of 4 pairs (N = 0 to 3)
2424 are supported currently.
2525
26−Node of a device using power domains must have a samsung,power-domain property
26+Node of a device using power domains must have a power-domains property
2727 defined with a phandle to respective power domain.
2828
2929 Example:
Documentation/devicetree/bindings/arm/fsl.txt+20−0
@@ -75,6 +75,18 @@ i.MX6q generic board · 74 unmodified lines
7575 Required root node properties:
7676 - compatible = "fsl,imx6q";
7777
78+Freescale Vybrid Platform Device Tree Bindings
79+----------------------------------------------
80+
81+For the Vybrid SoC familiy all variants with DDR controller are supported,
82+which is the VF5xx and VF6xx series. Out of historical reasons, in most
83+places the kernel uses vf610 to refer to the whole familiy.
84+
85+Required root node compatible property (one of them):
86+ - compatible = "fsl,vf500";
87+ - compatible = "fsl,vf510";
88+ - compatible = "fsl,vf600";
89+ - compatible = "fsl,vf610";
7890
7991 Freescale LS1021A Platform Device Tree Bindings
8092 ------------------------------------------------
@@ -112,3 +124,11 @@ Example: · 31 unmodified lines
112124 compatible = "fsl,ls1021a-dcfg";
113125 reg = <0x0 0x1ee0000 0x0 0x10000>;
114126 };
127+
128+Freescale LS2085A SoC Device Tree Bindings
129+------------------------------------------
130+
131+LS2085A ARMv8 based Simulator model
132+Required root node properties:
133+ - compatible = "fsl,ls2085a-simu", "fsl,ls2085a";
134+
Documentation/devicetree/bindings/arm/gic.txt+6−2
@@ -32,12 +32,16 @@ Main node required properties: · 31 unmodified lines
3232 The 3rd cell is the flags, encoded as follows:
3333 bits[3:0] trigger type and level flags.
3434 1 = low-to-high edge triggered
35− 2 = high-to-low edge triggered
35+ 2 = high-to-low edge triggered (invalid for SPIs)
3636 4 = active high level-sensitive
37− 8 = active low level-sensitive
37+ 8 = active low level-sensitive (invalid for SPIs).
3838 bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of
3939 the 8 possible cpus attached to the GIC. A bit set to '1' indicated
4040 the interrupt is wired to that CPU. Only valid for PPI interrupts.
41+ Also note that the configurability of PPI interrupts is IMPLEMENTATION
42+ DEFINED and as such not guaranteed to be present (most SoC available
43+ in 2014 seem to ignore the setting of this flag and use the hardware
44+ default value).
4145
4246 - reg : Specifies base physical address(s) and size of the GIC registers. The
4347 first region is the GIC distributor register base and size. The 2nd region is
Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt+25−0
@@ -9,6 +9,10 @@ HiP04 D01 Board · 8 unmodified lines
99 Required root node properties:
1010 - compatible = "hisilicon,hip04-d01";
1111
12+HiP01 ca9x2 Board
13+Required root node properties:
14+ - compatible = "hisilicon,hip01-ca9x2";
15+
1216
1317 Hisilicon system controller
1418
@@ -36,6 +40,27 @@ Example: · 21 unmodified lines
3640 reboot-offset = <0x4>;
3741 };
3842
43+-----------------------------------------------------------------------
44+Hisilicon HiP01 system controller
45+
46+Required properties:
47+- compatible : "hisilicon,hip01-sysctrl"
48+- reg : Register address and size
49+
50+The HiP01 system controller is mostly compatible with hisilicon
51+system controller,but it has some specific control registers for
52+HIP01 SoC family, such as slave core boot, and also some same
53+registers located at different offset.
54+
55+Example:
56+
57+ /* for hip01-ca9x2 */
58+ sysctrl: system-controller@10000000 {
59+ compatible = "hisilicon,hip01-sysctrl", "hisilicon,sysctrl";
60+ reg = <0x10000000 0x1000>;
61+ reboot-offset = <0x4>;
62+ };
63+
3964 -----------------------------------------------------------------------
4065 Hisilicon CPU controller
4166
Documentation/devicetree/bindings/arm/l2cc.txt+10−0
@@ -57,6 +57,16 @@ Optional properties: · 56 unmodified lines
5757 - cache-id-part: cache id part number to be used if it is not present
5858 on hardware
5959 - wt-override: If present then L2 is forced to Write through mode
60+- arm,double-linefill : Override double linefill enable setting. Enable if
61+ non-zero, disable if zero.
62+- arm,double-linefill-incr : Override double linefill on INCR read. Enable
63+ if non-zero, disable if zero.
64+- arm,double-linefill-wrap : Override double linefill on WRAP read. Enable
65+ if non-zero, disable if zero.
66+- arm,prefetch-drop : Override prefetch drop enable setting. Enable if non-zero,
67+ disable if zero.
68+- arm,prefetch-offset : Override prefetch offset value. Valid values are
69+ 0-7, 15, 23, and 31.
6070
6171 Example:
6272
Documentation/devicetree/bindings/arm/mediatek.txt+4−0
@@ -9,6 +9,7 @@ compatible: Must contain one of · 8 unmodified lines
99 "mediatek,mt6592"
1010 "mediatek,mt8127"
1111 "mediatek,mt8135"
12+ "mediatek,mt8173"
1213
1314
1415 Supported boards:
@@ -25,3 +26,6 @@ Supported boards: · 10 unmodified lines
2526 - MTK mt8135 tablet EVB:
2627 Required root node properties:
2728 - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135";
29+- MTK mt8173 tablet EVB:
30+ Required root node properties:
31+ - compatible = "mediatek,mt8173-evb", "mediatek,mt8173";
Documentation/devicetree/bindings/arm/mediatek/mediatek,sysirq.txt+2−0
@@ -5,8 +5,10 @@ interrupt. · 4 unmodified lines
55
66 Required properties:
77 - compatible: should be one of:
8+ "mediatek,mt8173-sysirq"
89 "mediatek,mt8135-sysirq"
910 "mediatek,mt8127-sysirq"
11+ "mediatek,mt6592-sysirq"
1012 "mediatek,mt6589-sysirq"
1113 "mediatek,mt6582-sysirq"
1214 "mediatek,mt6577-sysirq"
Documentation/devicetree/bindings/arm/msm/timer.txt+1−1
@@ -8,7 +8,7 @@ Properties: · 7 unmodified lines
88 "qcom,kpss-timer" - krait subsystem
99 "qcom,scss-timer" - scorpion subsystem
1010
11−- interrupts : Interrupts for the the debug timer, the first general purpose
11+- interrupts : Interrupts for the debug timer, the first general purpose
1212 timer, and optionally a second general purpose timer in that
1313 order.
1414
Documentation/devicetree/bindings/arm/rockchip.txt+10−0
@@ -9,6 +9,16 @@ Rockchip platforms device tree bindings · 8 unmodified lines
99 Required root node properties:
1010 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
1111
12+- ChipSPARK Rayeager PX2 board:
13+ Required root node properties:
14+ - compatible = "chipspark,rayeager-px2", "rockchip,rk3066a";
15+
1216 - Radxa Rock board:
1317 Required root node properties:
1418 - compatible = "radxa,rock", "rockchip,rk3188";
19+
20+- Firefly Firefly-RK3288 board:
21+ Required root node properties:
22+ - compatible = "firefly,firefly-rk3288", "rockchip,rk3288";
23+ or
24+ - compatible = "firefly,firefly-rk3288-beta", "rockchip,rk3288";
Documentation/devicetree/bindings/arm/rockchip/pmu-sram.txt+16−0
@@ -0,0 +1,16 @@
1+Rockchip SRAM for pmu:
2+------------------------------
3+
4+The sram of pmu is used to store the function of resume from maskrom(the 1st
5+level loader). This is a common use of the "pmu-sram" because it keeps power
6+even in low power states in the system.
7+
8+Required node properties:
9+- compatible : should be "rockchip,rk3288-pmu-sram"
10+- reg : physical base address and the size of the registers window
11+
12+Example:
13+ sram@ff720000 {
14+ compatible = "rockchip,rk3288-pmu-sram", "mmio-sram";
15+ reg = <0xff720000 0x1000>;
16+ };
Documentation/devicetree/bindings/arm/samsung/exynos-chipid.txt+12−0
@@ -0,0 +1,12 @@
1+SAMSUNG Exynos SoCs Chipid driver.
2+
3+Required properties:
4+- compatible : Should at least contain "samsung,exynos4210-chipid".
5+
6+- reg: offset and length of the register set
7+
8+Example:
9+ chipid@10000000 {
10+ compatible = "samsung,exynos4210-chipid";
11+ reg = <0x10000000 0x100>;
12+ };
Documentation/devicetree/bindings/arm/samsung/pmu.txt+1−0
@@ -10,6 +10,7 @@ Properties: · 9 unmodified lines
1010 - "samsung,exynos5260-pmu" - for Exynos5260 SoC.
1111 - "samsung,exynos5410-pmu" - for Exynos5410 SoC,
1212 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
13+ - "samsung,exynos7-pmu" - for Exynos7 SoC.
1314 second value must be always "syscon".
1415
1516 - reg : offset and length of the register set.
Documentation/devicetree/bindings/arm/sirf.txt+4−2
@@ -3,7 +3,9 @@ CSR SiRFprimaII and SiRFmarco device tree bindings. · 2 unmodified lines
33
44 Required root node properties:
55 - compatible:
6+ - "sirf,atlas6-cb" : atlas6 "cb" evaluation board
7+ - "sirf,atlas6" : atlas6 device based board
8+ - "sirf,atlas7-cb" : atlas7 "cb" evaluation board
9+ - "sirf,atlas7" : atlas7 device based board
610 - "sirf,prima2-cb" : prima2 "cb" evaluation board
7− - "sirf,marco-cb" : marco "cb" evaluation board
811 - "sirf,prima2" : prima2 device based board
9− - "sirf,marco" : marco device based board
Documentation/devicetree/bindings/arm/sprd.txt+11−0
@@ -0,0 +1,11 @@
1+Spreadtrum SoC Platforms Device Tree Bindings
2+----------------------------------------------------
3+
4+Sharkl64 is a Spreadtrum's SoC Platform which is based
5+on ARM 64-bit processor.
6+
7+SC9836 openphone board with SC9836 SoC based on the
8+Sharkl64 Platform shall have the following properties.
9+
10+Required root node properties:
11+ - compatible = "sprd,sc9836-openphone", "sprd,sc9836";
Documentation/devicetree/bindings/arm/sti.txt+4−0
@@ -13,3 +13,7 @@ Boards with the ST STiH407 SoC shall have the following properties: · 12 unmodified lines
1313 Required root node property:
1414 compatible = "st,stih407";
1515
16+Boards with the ST STiH418 SoC shall have the following properties:
17+Required root node property:
18+compatible = "st,stih418";
19+
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt+4−1
@@ -1,7 +1,10 @@
11 NVIDIA Tegra AHB
22
33 Required properties:
4−- compatible : "nvidia,tegra20-ahb" or "nvidia,tegra30-ahb"
4+- compatible : For Tegra20, must contain "nvidia,tegra20-ahb". For
5+ Tegra30, must contain "nvidia,tegra30-ahb". Otherwise, must contain
6+ '"nvidia,<chip>-ahb", "nvidia,tegra30-ahb"' where <chip> is tegra124,
7+ tegra132, or tegra210.
58 - reg : Should contain 1 register ranges(address and length)
69
710 Example:
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-pmc.txt+31−1
@@ -6,7 +6,11 @@ modes. It provides power-gating controllers for SoC and CPU power-islands. · 5 unmodified lines
66
77 Required properties:
88 - name : Should be pmc
9−- compatible : Should contain "nvidia,tegra<chip>-pmc".
9+- compatible : For Tegra20, must contain "nvidia,tegra20-pmc". For Tegra30,
10+ must contain "nvidia,tegra30-pmc". For Tegra114, must contain
11+ "nvidia,tegra114-pmc". For Tegra124, must contain "nvidia,tegra124-pmc".
12+ Otherwise, must contain "nvidia,<chip>-pmc", plus at least one of the
13+ above, where <chip> is tegra132.
1014 - reg : Offset and length of the register set for the device
1115 - clocks : Must contain an entry for each entry in clock-names.
1216 See ../clocks/clock-bindings.txt for details.
@@ -47,6 +51,23 @@ Required properties when nvidia,suspend-mode=<0>: · 34 unmodified lines
4751 sleep mode, the warm boot code will restore some PLLs, clocks and then
4852 bring up CPU0 for resuming the system.
4953
54+Hardware-triggered thermal reset:
55+On Tegra30, Tegra114 and Tegra124, if the 'i2c-thermtrip' subnode exists,
56+hardware-triggered thermal reset will be enabled.
57+
58+Required properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'):
59+- nvidia,i2c-controller-id : ID of I2C controller to send poweroff command to. Valid values are
60+ described in section 9.2.148 "APBDEV_PMC_SCRATCH53_0" of the
61+ Tegra K1 Technical Reference Manual.
62+- nvidia,bus-addr : Bus address of the PMU on the I2C bus
63+- nvidia,reg-addr : I2C register address to write poweroff command to
64+- nvidia,reg-data : Poweroff command to write to PMU
65+
66+Optional properties for hardware-triggered thermal reset (inside 'i2c-thermtrip'):
67+- nvidia,pinmux-id : Pinmux used by the hardware when issuing poweroff command.
68+ Defaults to 0. Valid values are described in section 12.5.2
69+ "Pinmux Support" of the Tegra4 Technical Reference Manual.
70+
5071 Example:
5172
5273 / SoC dts including file
@@ -68,6 +89,15 @@ pmc@7000f400 { · 15 unmodified lines
6889
6990 / Tegra board dts file
7091 {
92+ ...
93+ pmc@7000f400 {
94+ i2c-thermtrip {
95+ nvidia,i2c-controller-id = <4>;
96+ nvidia,bus-addr = <0x40>;
97+ nvidia,reg-addr = <0x36>;
98+ nvidia,reg-data = <0x2>;
99+ };
100+ };
71101 ...
72102 clocks {
73103 compatible = "simple-bus";
Documentation/devicetree/bindings/arm/versatile-sysreg.txt+10−0
@@ -0,0 +1,10 @@
1+ARM Versatile system registers
2+--------------------------------------
3+
4+This is a system control registers block, providing multiple low level
5+platform functions like board detection and identification, software
6+interrupt generation, MMC and NOR Flash control etc.
7+
8+Required node properties:
9+- compatible value : = "arm,versatile-sysreg", "syscon"
10+- reg : physical base address and the size of the registers window
Documentation/devicetree/bindings/ata/ahci-platform.txt+6−3
@@ -37,9 +37,10 @@ Required properties when using sub-nodes: · 36 unmodified lines
3737
3838
3939 Sub-nodes required properties:
40−- reg : the port number
41−- phys : reference to the SATA PHY node
42−
40+- reg : the port number
41+And at least one of the following properties:
42+- phys : reference to the SATA PHY node
43+- target-supply : regulator for SATA target power
4344
4445 Examples:
4546 sata@ffe08000 {
@@ -68,10 +69,12 @@ With sub-nodes: · 22 unmodified lines
6869 sata0: sata-port@0 {
6970 reg = <0>;
7071 phys = <&sata_phy 0>;
72+ target-supply = <&reg_sata0>;
7173 };
7274
7375 sata1: sata-port@1 {
7476 reg = <1>;
7577 phys = <&sata_phy 1>;
78+ target-supply = <&reg_sata1>;;
7679 };
7780 };
Documentation/devicetree/bindings/ata/cavium-compact-flash.txt+1−1
@@ -9,7 +9,7 @@ Properties: · 8 unmodified lines
99
1010 Compatibility with many Cavium evaluation boards.
1111
12−- reg: The base address of the the CF chip select banks. Depending on
12+- reg: The base address of the CF chip select banks. Depending on
1313 the device configuration, there may be one or two banks.
1414
1515 - cavium,bus-width: The width of the connection to the CF devices. Valid
Documentation/devicetree/bindings/ata/tegra-sata.txt+3−1
@@ -1,7 +1,9 @@
11 Tegra124 SoC SATA AHCI controller
22
33 Required properties :
4−- compatible : "nvidia,tegra124-ahci".
4+- compatible : For Tegra124, must contain "nvidia,tegra124-ahci". Otherwise,
5+ must contain '"nvidia,<chip>-ahci", "nvidia,tegra124-ahci"', where <chip>
6+ is tegra132.
57 - reg : Should contain 2 entries:
68 - AHCI register set (SATA BAR5)
79 - SATA register set
Documentation/devicetree/bindings/bus/mvebu-mbus.txt+2−2
@@ -6,8 +6,8 @@ Required properties: · 5 unmodified lines
66 - compatible: Should be set to one of the following:
77 marvell,armada370-mbus
88 marvell,armadaxp-mbus
9− marvell,armada370-mbus
10− marvell,armadaxp-mbus
9+ marvell,armada375-mbus
10+ marvell,armada380-mbus
1111 marvell,kirkwood-mbus
1212 marvell,dove-mbus
1313 marvell,orion5x-88f5281-mbus
Documentation/devicetree/bindings/c6x/dscr.txt+1−1
@@ -12,7 +12,7 @@ configuration register for writes. These configuration register may be used to · 11 unmodified lines
1212 enable (and disable in some cases) SoC pin drivers, select peripheral clock
1313 sources (internal or pin), etc. In some cases, a configuration register is
1414 write once or the individual bits are write once. In addition to device config,
15−the DSCR block may provide registers which which are used to reset peripherals,
15+the DSCR block may provide registers which are used to reset peripherals,
1616 provide device ID information, provide ethernet MAC addresses, as well as other
1717 miscellaneous functions.
1818
Documentation/devicetree/bindings/clock/alphascale,acc.txt+115−0
@@ -0,0 +1,115 @@
1+Alphascale Clock Controller
2+
3+The ACC (Alphascale Clock Controller) is responsible of choising proper
4+clock source, setting deviders and clock gates.
5+
6+Required properties for the ACC node:
7+ - compatible: must be "alphascale,asm9260-clock-controller"
8+ - reg: must contain the ACC register base and size
9+ - #clock-cells : shall be set to 1.
10+
11+Simple one-cell clock specifier format is used, where the only cell is used
12+as an index of the clock inside the provider.
13+It is encouraged to use dt-binding for clock index definitions. SoC specific
14+dt-binding should be included to the device tree descriptor. For example
15+Alphascale ASM9260:
16+#include <dt-bindings/clock/alphascale,asm9260.h>
17+
18+This binding contains two types of clock providers:
19+ _AHB_ - AHB gate;
20+ _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
21+All clock specific details can be found in the SoC documentation.
22+CLKID_AHB_ROM 0
23+CLKID_AHB_RAM 1
24+CLKID_AHB_GPIO 2
25+CLKID_AHB_MAC 3
26+CLKID_AHB_EMI 4
27+CLKID_AHB_USB0 5
28+CLKID_AHB_USB1 6
29+CLKID_AHB_DMA0 7
30+CLKID_AHB_DMA1 8
31+CLKID_AHB_UART0 9
32+CLKID_AHB_UART1 10
33+CLKID_AHB_UART2 11
34+CLKID_AHB_UART3 12
35+CLKID_AHB_UART4 13
36+CLKID_AHB_UART5 14
37+CLKID_AHB_UART6 15
38+CLKID_AHB_UART7 16
39+CLKID_AHB_UART8 17
40+CLKID_AHB_UART9 18
41+CLKID_AHB_I2S0 19
42+CLKID_AHB_I2C0 20
43+CLKID_AHB_I2C1 21
44+CLKID_AHB_SSP0 22
45+CLKID_AHB_IOCONFIG 23
46+CLKID_AHB_WDT 24
47+CLKID_AHB_CAN0 25
48+CLKID_AHB_CAN1 26
49+CLKID_AHB_MPWM 27
50+CLKID_AHB_SPI0 28
51+CLKID_AHB_SPI1 29
52+CLKID_AHB_QEI 30
53+CLKID_AHB_QUADSPI0 31
54+CLKID_AHB_CAMIF 32
55+CLKID_AHB_LCDIF 33
56+CLKID_AHB_TIMER0 34
57+CLKID_AHB_TIMER1 35
58+CLKID_AHB_TIMER2 36
59+CLKID_AHB_TIMER3 37
60+CLKID_AHB_IRQ 38
61+CLKID_AHB_RTC 39
62+CLKID_AHB_NAND 40
63+CLKID_AHB_ADC0 41
64+CLKID_AHB_LED 42
65+CLKID_AHB_DAC0 43
66+CLKID_AHB_LCD 44
67+CLKID_AHB_I2S1 45
68+CLKID_AHB_MAC1 46
69+
70+CLKID_SYS_CPU 47
71+CLKID_SYS_AHB 48
72+CLKID_SYS_I2S0M 49
73+CLKID_SYS_I2S0S 50
74+CLKID_SYS_I2S1M 51
75+CLKID_SYS_I2S1S 52
76+CLKID_SYS_UART0 53
77+CLKID_SYS_UART1 54
78+CLKID_SYS_UART2 55
79+CLKID_SYS_UART3 56
80+CLKID_SYS_UART4 56
81+CLKID_SYS_UART5 57
82+CLKID_SYS_UART6 58
83+CLKID_SYS_UART7 59
84+CLKID_SYS_UART8 60
85+CLKID_SYS_UART9 61
86+CLKID_SYS_SPI0 62
87+CLKID_SYS_SPI1 63
88+CLKID_SYS_QUADSPI 64
89+CLKID_SYS_SSP0 65
90+CLKID_SYS_NAND 66
91+CLKID_SYS_TRACE 67
92+CLKID_SYS_CAMM 68
93+CLKID_SYS_WDT 69
94+CLKID_SYS_CLKOUT 70
95+CLKID_SYS_MAC 71
96+CLKID_SYS_LCD 72
97+CLKID_SYS_ADCANA 73
98+
99+Example of clock consumer with _SYS_ and _AHB_ sinks.
100+uart4: serial@80010000 {
101+ compatible = "alphascale,asm9260-uart";
102+ reg = <0x80010000 0x4000>;
103+ clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;
104+ interrupts = <19>;
105+ status = "disabled";
106+};
107+
108+Clock consumer with only one, _AHB_ sink.
109+timer0: timer@80088000 {
110+ compatible = "alphascale,asm9260-timer";
111+ reg = <0x80088000 0x4000>;
112+ clocks = <&acc CLKID_AHB_TIMER0>;
113+ interrupts = <29>;
114+};
115+
Documentation/devicetree/bindings/clock/exynos7-clock.txt+15−0
@@ -34,6 +34,8 @@ Required Properties for Clock Controller: · 33 unmodified lines
3434 - "samsung,exynos7-clock-peris"
3535 - "samsung,exynos7-clock-fsys0"
3636 - "samsung,exynos7-clock-fsys1"
37+ - "samsung,exynos7-clock-mscl"
38+ - "samsung,exynos7-clock-aud"
3739
3840 - reg: physical base address of the controller and the length of
3941 memory mapped region.
@@ -53,6 +55,7 @@ Input clocks for top0 clock controller: · 13 unmodified lines
5355 - dout_sclk_bus1_pll
5456 - dout_sclk_cc_pll
5557 - dout_sclk_mfc_pll
58+ - dout_sclk_aud_pll
5659
5760 Input clocks for top1 clock controller:
5861 - fin_pll
@@ -76,6 +79,14 @@ Input clocks for peric1 clock controller: · 17 unmodified lines
7679 - sclk_uart1
7780 - sclk_uart2
7881 - sclk_uart3
82+ - sclk_spi0
83+ - sclk_spi1
84+ - sclk_spi2
85+ - sclk_spi3
86+ - sclk_spi4
87+ - sclk_i2s1
88+ - sclk_pcm1
89+ - sclk_spdif
7990
8091 Input clocks for peris clock controller:
8192 - fin_pll
@@ -91,3 +102,7 @@ Input clocks for fsys1 clock controller: · 9 unmodified lines
91102 - dout_aclk_fsys1_200
92103 - dout_sclk_mmc0
93104 - dout_sclk_mmc1
105+
106+Input clocks for aud clock controller:
107+ - fin_pll
108+ - fout_aud_pll
Documentation/devicetree/bindings/clock/nvidia,tegra124-car.txt+6−4
@@ -1,4 +1,4 @@
1−NVIDIA Tegra124 Clock And Reset Controller
1+NVIDIA Tegra124 and Tegra132 Clock And Reset Controller
22
33 This binding uses the common clock binding:
44 Documentation/devicetree/bindings/clock/clock-bindings.txt
@@ -7,14 +7,16 @@ The CAR (Clock And Reset) Controller on Tegra is the HW module responsible · 2 unmodified lines
77 for muxing and gating Tegra's clocks, and setting their rates.
88
99 Required properties :
10−- compatible : Should be "nvidia,tegra124-car"
10+- compatible : Should be "nvidia,tegra124-car" or "nvidia,tegra132-car"
1111 - reg : Should contain CAR registers location and length
1212 - clocks : Should contain phandle and clock specifiers for two clocks:
1313 the 32 KHz "32k_in", and the board-specific oscillator "osc".
1414 - #clock-cells : Should be 1.
1515 In clock consumers, this cell represents the clock ID exposed by the
16− CAR. The assignments may be found in header file
17− <dt-bindings/clock/tegra124-car.h>.
16+ CAR. The assignments may be found in the header files
17+ <dt-bindings/clock/tegra124-car-common.h> (which covers IDs common
18+ to Tegra124 and Tegra132) and <dt-bindings/clock/tegra124-car.h>
19+ (for Tegra124-specific clocks).
1820 - #reset-cells : Should be 1.
1921 In clock consumers, this cell represents the bit number in the CAR's
2022 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
Documentation/devicetree/bindings/clock/qcom,lcc.txt+21−0
@@ -0,0 +1,21 @@
1+Qualcomm LPASS Clock & Reset Controller Binding
2+------------------------------------------------
3+
4+Required properties :
5+- compatible : shall contain only one of the following:
6+
7+ "qcom,lcc-msm8960"
8+ "qcom,lcc-apq8064"
9+ "qcom,lcc-ipq8064"
10+
11+- reg : shall contain base register location and length
12+- #clock-cells : shall contain 1
13+- #reset-cells : shall contain 1
14+
15+Example:
16+ clock-controller@28000000 {
17+ compatible = "qcom,lcc-ipq8064";
18+ reg = <0x28000000 0x1000>;
19+ #clock-cells = <1>;
20+ #reset-cells = <1>;
21+ };
Documentation/devicetree/bindings/clock/qoriq-clock.txt+3−2
@@ -1,6 +1,6 @@
1−* Clock Block on Freescale CoreNet Platforms
1+* Clock Block on Freescale QorIQ Platforms
22
3−Freescale CoreNet chips take primary clocking input from the external
3+Freescale qoriq chips take primary clocking input from the external
44 SYSCLK signal. The SYSCLK input (frequency) is multiplied using
55 multiple phase locked loops (PLL) to create a variety of frequencies
66 which can then be passed to a variety of internal logic, including
@@ -29,6 +29,7 @@ Required properties: · 22 unmodified lines
2929 * "fsl,t4240-clockgen"
3030 * "fsl,b4420-clockgen"
3131 * "fsl,b4860-clockgen"
32+ * "fsl,ls1021a-clockgen"
3233 Chassis clock strings include:
3334 * "fsl,qoriq-clockgen-1.0": for chassis 1.0 clocks
3435 * "fsl,qoriq-clockgen-2.0": for chassis 2.0 clocks
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt+1−0
@@ -11,6 +11,7 @@ Required Properties: · 10 unmodified lines
1111
1212 - compatible: Must be one of the following
1313 - "renesas,r7s72100-mstp-clocks" for R7S72100 (RZ) MSTP gate clocks
14+ - "renesas,r8a73a4-mstp-clocks" for R8A73A4 (R-Mobile APE6) MSTP gate clocks
1415 - "renesas,r8a7740-mstp-clocks" for R8A7740 (R-Mobile A1) MSTP gate clocks
1516 - "renesas,r8a7779-mstp-clocks" for R8A7779 (R-Car H1) MSTP gate clocks
1617 - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks
Documentation/devicetree/bindings/clock/renesas,r8a73a4-cpg-clocks.txt+33−0
@@ -0,0 +1,33 @@
1+* Renesas R8A73A4 Clock Pulse Generator (CPG)
2+
3+The CPG generates core clocks for the R8A73A4 SoC. It includes five PLLs
4+and several fixed ratio dividers.
5+
6+Required Properties:
7+
8+ - compatible: Must be "renesas,r8a73a4-cpg-clocks"
9+
10+ - reg: Base address and length of the memory resource used by the CPG
11+
12+ - clocks: Reference to the parent clocks ("extal1" and "extal2")
13+
14+ - #clock-cells: Must be 1
15+
16+ - clock-output-names: The names of the clocks. Supported clocks are "main",
17+ "pll0", "pll1", "pll2", "pll2s", "pll2h", "z", "z2", "i", "m3", "b",
18+ "m1", "m2", "zx", "zs", and "hp".
19+
20+
21+Example
22+-------
23+
24+ cpg_clocks: cpg_clocks@e6150000 {
25+ compatible = "renesas,r8a73a4-cpg-clocks";
26+ reg = <0 0xe6150000 0 0x10000>;
27+ clocks = <&extal1_clk>, <&extal2_clk>;
28+ #clock-cells = <1>;
29+ clock-output-names = "main", "pll0", "pll1", "pll2",
30+ "pll2s", "pll2h", "z", "z2",
31+ "i", "m3", "b", "m1", "m2",
32+ "zx", "zs", "hp";
33+ };
Documentation/devicetree/bindings/clock/renesas,rcar-gen2-cpg-clocks.txt+8−4
@@ -8,15 +8,18 @@ Required Properties: · 7 unmodified lines
88 - compatible: Must be one of
99 - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG
1010 - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG
11+ - "renesas,r8a7793-cpg-clocks" for the r8a7793 CPG
1112 - "renesas,r8a7794-cpg-clocks" for the r8a7794 CPG
1213 - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG
1314
1415 - reg: Base address and length of the memory resource used by the CPG
1516
16− - clocks: Reference to the parent clock
17+ - clocks: References to the parent clocks: first to the EXTAL clock, second
18+ to the USB_EXTAL clock
1719 - #clock-cells: Must be 1
1820 - clock-output-names: The names of the clocks. Supported clocks are "main",
19− "pll0", "pll1", "pll3", "lb", "qspi", "sdh", "sd0", "sd1" and "z"
21+ "pll0", "pll1", "pll3", "lb", "qspi", "sdh", "sd0", "sd1", "z", "rcan", and
22+ "adsp"
2023
2124
2225 Example
@@ -26,8 +29,9 @@ Example · 3 unmodified lines
2629 compatible = "renesas,r8a7790-cpg-clocks",
2730 "renesas,rcar-gen2-cpg-clocks";
2831 reg = <0 0xe6150000 0 0x1000>;
29− clocks = <&extal_clk>;
32+ clocks = <&extal_clk &usb_extal_clk>;
3033 #clock-cells = <1>;
3134 clock-output-names = "main", "pll0, "pll1", "pll3",
32− "lb", "qspi", "sdh", "sd0", "sd1", "z";
35+ "lb", "qspi", "sdh", "sd0", "sd1", "z",
36+ "rcan", "adsp";
3337 };
Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt+35−0
@@ -0,0 +1,35 @@
1+These bindings should be considered EXPERIMENTAL for now.
2+
3+* Renesas SH73A0 Clock Pulse Generator (CPG)
4+
5+The CPG generates core clocks for the SH73A0 SoC. It includes four PLLs
6+and several fixed ratio dividers.
7+
8+Required Properties:
9+
10+ - compatible: Must be "renesas,sh73a0-cpg-clocks"
11+
12+ - reg: Base address and length of the memory resource used by the CPG
13+
14+ - clocks: Reference to the parent clocks ("extal1" and "extal2")
15+
16+ - #clock-cells: Must be 1
17+
18+ - clock-output-names: The names of the clocks. Supported clocks are "main",
19+ "pll0", "pll1", "pll2", "pll3", "dsi0phy", "dsi1phy", "zg", "m3", "b",
20+ "m1", "m2", "z", "zx", and "hp".
21+
22+
23+Example
24+-------
25+
26+ cpg_clocks: cpg_clocks@e6150000 {
27+ compatible = "renesas,sh73a0-cpg-clocks";
28+ reg = <0 0xe6150000 0 0x10000>;
29+ clocks = <&extal1_clk>, <&extal2_clk>;
30+ #clock-cells = <1>;
31+ clock-output-names = "main", "pll0", "pll1", "pll2",
32+ "pll3", "dsi0phy", "dsi1phy",
33+ "zg", "m3", "b", "m1", "m2",
34+ "z", "zx", "hp";
35+ };
Documentation/devicetree/bindings/clock/sunxi.txt+36−7
@@ -26,7 +26,7 @@ Required properties: · 25 unmodified lines
2626 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
2727 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20
2828 "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A31
29− "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A31
29+ "allwinner,sun6i-a31-ahb1-clk" - for the AHB1 clock on A31
3030 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
3131 "allwinner,sun8i-a23-ahb1-gates-clk" - for the AHB1 gates on A23
3232 "allwinner,sun9i-a80-ahb0-gates-clk" - for the AHB0 gates on A80
@@ -55,9 +55,11 @@ Required properties: · 22 unmodified lines
5555 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
5656 "allwinner,sun8i-a23-apb2-gates-clk" - for the APB2 gates on A23
5757 "allwinner,sun5i-a13-mbus-clk" - for the MBUS clock on A13
58− "allwinner,sun4i-a10-mmc-output-clk" - for the MMC output clock on A10
59− "allwinner,sun4i-a10-mmc-sample-clk" - for the MMC sample clock on A10
58+ "allwinner,sun4i-a10-mmc-clk" - for the MMC clock
59+ "allwinner,sun9i-a80-mmc-clk" - for mmc module clocks on A80
60+ "allwinner,sun9i-a80-mmc-config-clk" - for mmc gates + resets on A80
6061 "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks
62+ "allwinner,sun9i-a80-mod0-clk" - for module 0 (storage) clocks on A80
6163 "allwinner,sun8i-a23-mbus-clk" - for the MBUS clock on A23
6264 "allwinner,sun7i-a20-out-clk" - for the external output clocks
6365 "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A31
@@ -73,7 +75,9 @@ Required properties for all clocks: · 9 unmodified lines
7375 - #clock-cells : from common clock binding; shall be set to 0 except for
7476 the following compatibles where it shall be set to 1:
7577 "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk",
76− "allwinner,sun4i-pll6-clk", "allwinner,sun6i-a31-pll6-clk"
78+ "allwinner,sun4i-pll6-clk", "allwinner,sun6i-a31-pll6-clk",
79+ "allwinner,*-usb-clk", "allwinner,*-mmc-clk",
80+ "allwinner,*-mmc-config-clk"
7781 - clock-output-names : shall be the corresponding names of the outputs.
7882 If the clock module only has one output, the name shall be the
7983 module name.
@@ -81,6 +85,10 @@ Required properties for all clocks: · 1 unmodified line
8185 And "allwinner,*-usb-clk" clocks also require:
8286 - reset-cells : shall be set to 1
8387
88+The "allwinner,sun9i-a80-mmc-config-clk" clock also requires:
89+- #reset-cells : shall be set to 1
90+- resets : shall be the reset control phandle for the mmc block.
91+
8492 For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate
8593 dummy clocks at 25 MHz and 125 MHz, respectively. See example.
8694
@@ -95,6 +103,14 @@ For "allwinner,sun6i-a31-pll6-clk", there are 2 outputs. The first output · 8 unmodified lines
95103 is the normal PLL6 output, or "pll6". The second output is rate doubled
96104 PLL6, or "pll6x2".
97105
106+The "allwinner,*-mmc-clk" clocks have three different outputs: the
107+main clock, with the ID 0, and the output and sample clocks, with the
108+IDs 1 and 2, respectively.
109+
110+The "allwinner,sun9i-a80-mmc-config-clk" clock has one clock/reset output
111+per mmc controller. The number of outputs is determined by the size of
112+the address block, which is related to the overall mmc block.
113+
98114 For example:
99115
100116 osc24M: clk@01c20050 {
@@ -138,11 +154,11 @@ cpu: cpu@01c20054 { · 37 unmodified lines
138154 };
139155
140156 mmc0_clk: clk@01c20088 {
141− #clock-cells = <0>;
142− compatible = "allwinner,sun4i-mod0-clk";
157+ #clock-cells = <1>;
158+ compatible = "allwinner,sun4i-a10-mmc-clk";
143159 reg = <0x01c20088 0x4>;
144160 clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
145− clock-output-names = "mmc0";
161+ clock-output-names = "mmc0", "mmc0_output", "mmc0_sample";
146162 };
147163
148164 mii_phy_tx_clk: clk@2 {
@@ -170,3 +186,16 @@ gmac_clk: clk@01c20164 { · 21 unmodified lines
170186 clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
171187 clock-output-names = "gmac";
172188 };
189+
190+mmc_config_clk: clk@01c13000 {
191+ compatible = "allwinner,sun9i-a80-mmc-config-clk";
192+ reg = <0x01c13000 0x10>;
193+ clocks = <&ahb0_gates 8>;
194+ clock-names = "ahb";
195+ resets = <&ahb0_resets 8>;
196+ reset-names = "ahb";
197+ #clock-cells = <1>;
198+ #reset-cells = <1>;
199+ clock-output-names = "mmc0_config", "mmc1_config",
200+ "mmc2_config", "mmc3_config";
201+};
Documentation/devicetree/bindings/clock/ti,cdce706.txt+42−0
@@ -0,0 +1,42 @@
1+Bindings for Texas Instruments CDCE706 programmable 3-PLL clock
2+synthesizer/multiplier/divider.
3+
4+Reference: http://www.ti.com/lit/ds/symlink/cdce706.pdf
5+
6+I2C device node required properties:
7+- compatible: shall be "ti,cdce706".
8+- reg: i2c device address, shall be in range [0x68...0x6b].
9+- #clock-cells: from common clock binding; shall be set to 1.
10+- clocks: from common clock binding; list of parent clock
11+ handles, shall be reference clock(s) connected to CLK_IN0
12+ and CLK_IN1 pins.
13+- clock-names: shall be clk_in0 and/or clk_in1. Use clk_in0
14+ in case of crystal oscillator or differential signal input
15+ configuration. Use clk_in0 and clk_in1 in case of independent
16+ single-ended LVCMOS inputs configuration.
17+
18+Example:
19+
20+ clocks {
21+ clk54: clk54 {
22+ #clock-cells = <0>;
23+ compatible = "fixed-clock";
24+ clock-frequency = <54000000>;
25+ };
26+ };
27+ ...
28+ i2c0: i2c-master@0d090000 {
29+ ...
30+ cdce706: clock-synth@69 {
31+ compatible = "ti,cdce706";
32+ #clock-cells = <1>;
33+ reg = <0x69>;
34+ clocks = <&clk54>;
35+ clock-names = "clk_in0";
36+ };
37+ };
38+ ...
39+ simple-audio-card,codec {
40+ ...
41+ clocks = <&cdce706 4>;
42+ };
Documentation/devicetree/bindings/clock/ti/fapll.txt+33−0
@@ -0,0 +1,33 @@
1+Binding for Texas Instruments FAPLL clock.
2+
3+Binding status: Unstable - ABI compatibility may be broken in the future
4+
5+This binding uses the common clock binding[1]. It assumes a
6+register-mapped FAPLL with usually two selectable input clocks
7+(reference clock and bypass clock), and one or more child
8+syntesizers.
9+
10+[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
11+
12+Required properties:
13+- compatible : shall be "ti,dm816-fapll-clock"
14+- #clock-cells : from common clock binding; shall be set to 0.
15+- clocks : link phandles of parent clocks (clk-ref and clk-bypass)
16+- reg : address and length of the register set for controlling the FAPLL.
17+
18+Examples:
19+ main_fapll: main_fapll {
20+ #clock-cells = <1>;
21+ compatible = "ti,dm816-fapll-clock";
22+ reg = <0x400 0x40>;
23+ clocks = <&sys_clkin_ck &sys_clkin_ck>;
24+ clock-indices = <1>, <2>, <3>, <4>, <5>,
25+ <6>, <7>;
26+ clock-output-names = "main_pll_clk1",
27+ "main_pll_clk2",
28+ "main_pll_clk3",
29+ "main_pll_clk4",
30+ "main_pll_clk5",
31+ "main_pll_clk6",
32+ "main_pll_clk7";
33+ };
Documentation/devicetree/bindings/devfreq/event/exynos-ppmu.txt+110−0
@@ -0,0 +1,110 @@
1+
2+* Samsung Exynos PPMU (Platform Performance Monitoring Unit) device
3+
4+The Samsung Exynos SoC has PPMU (Platform Performance Monitoring Unit) for
5+each IP. PPMU provides the primitive values to get performance data. These
6+PPMU events provide information of the SoC's behaviors so that you may
7+use to analyze system performance, to make behaviors visible and to count
8+usages of each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D, MFC).
9+The Exynos PPMU driver uses the devfreq-event class to provide event data
10+to various devfreq devices. The devfreq devices would use the event data when
11+derterming the current state of each IP.
12+
13+Required properties:
14+- compatible: Should be "samsung,exynos-ppmu".
15+- reg: physical base address of each PPMU and length of memory mapped region.
16+
17+Optional properties:
18+- clock-names : the name of clock used by the PPMU, "ppmu"
19+- clocks : phandles for clock specified in "clock-names" property
20+- #clock-cells: should be 1.
21+
22+Example1 : PPMU nodes in exynos3250.dtsi are listed below.
23+
24+ ppmu_dmc0: ppmu_dmc0@106a0000 {
25+ compatible = "samsung,exynos-ppmu";
26+ reg = <0x106a0000 0x2000>;
27+ status = "disabled";
28+ };
29+
30+ ppmu_dmc1: ppmu_dmc1@106b0000 {
31+ compatible = "samsung,exynos-ppmu";
32+ reg = <0x106b0000 0x2000>;
33+ status = "disabled";
34+ };
35+
36+ ppmu_cpu: ppmu_cpu@106c0000 {
37+ compatible = "samsung,exynos-ppmu";
38+ reg = <0x106c0000 0x2000>;
39+ status = "disabled";
40+ };
41+
42+ ppmu_rightbus: ppmu_rightbus@112a0000 {
43+ compatible = "samsung,exynos-ppmu";
44+ reg = <0x112a0000 0x2000>;
45+ clocks = <&cmu CLK_PPMURIGHT>;
46+ clock-names = "ppmu";
47+ status = "disabled";
48+ };
49+
50+ ppmu_leftbus: ppmu_leftbus0@116a0000 {
51+ compatible = "samsung,exynos-ppmu";
52+ reg = <0x116a0000 0x2000>;
53+ clocks = <&cmu CLK_PPMULEFT>;
54+ clock-names = "ppmu";
55+ status = "disabled";
56+ };
57+
58+Example2 : Events of each PPMU node in exynos3250-rinato.dts are listed below.
59+
60+ &ppmu_dmc0 {
61+ status = "okay";
62+
63+ events {
64+ ppmu_dmc0_3: ppmu-event3-dmc0 {
65+ event-name = "ppmu-event3-dmc0";
66+ };
67+
68+ ppmu_dmc0_2: ppmu-event2-dmc0 {
69+ event-name = "ppmu-event2-dmc0";
70+ };
71+
72+ ppmu_dmc0_1: ppmu-event1-dmc0 {
73+ event-name = "ppmu-event1-dmc0";
74+ };
75+
76+ ppmu_dmc0_0: ppmu-event0-dmc0 {
77+ event-name = "ppmu-event0-dmc0";
78+ };
79+ };
80+ };
81+
82+ &ppmu_dmc1 {
83+ status = "okay";
84+
85+ events {
86+ ppmu_dmc1_3: ppmu-event3-dmc1 {
87+ event-name = "ppmu-event3-dmc1";
88+ };
89+ };
90+ };
91+
92+ &ppmu_leftbus {
93+ status = "okay";
94+
95+ events {
96+ ppmu_leftbus_3: ppmu-event3-leftbus {
97+ event-name = "ppmu-event3-leftbus";
98+ };
99+ };
100+ };
101+
102+ &ppmu_rightbus {
103+ status = "okay";
104+
105+ events {
106+ ppmu_rightbus_3: ppmu-event3-rightbus {
107+ event-name = "ppmu-event3-rightbus";
108+ };
109+ };
110+ };
Documentation/devicetree/bindings/dma/img-mdc-dma.txt+57−0
@@ -0,0 +1,57 @@
1+* IMG Multi-threaded DMA Controller (MDC)
2+
3+Required properties:
4+- compatible: Must be "img,pistachio-mdc-dma".
5+- reg: Must contain the base address and length of the MDC registers.
6+- interrupts: Must contain all the per-channel DMA interrupts.
7+- clocks: Must contain an entry for each entry in clock-names.
8+ See ../clock/clock-bindings.txt for details.
9+- clock-names: Must include the following entries:
10+ - sys: MDC system interface clock.
11+- img,cr-periph: Must contain a phandle to the peripheral control syscon
12+ node which contains the DMA request to channel mapping registers.
13+- img,max-burst-multiplier: Must be the maximum supported burst size multiplier.
14+ The maximum burst size is this value multiplied by the hardware-reported bus
15+ width.
16+- #dma-cells: Must be 3:
17+ - The first cell is the peripheral's DMA request line.
18+ - The second cell is a bitmap specifying to which channels the DMA request
19+ line may be mapped (i.e. bit N set indicates channel N is usable).
20+ - The third cell is the thread ID to be used by the channel.
21+
22+Optional properties:
23+- dma-channels: Number of supported DMA channels, up to 32. If not specified
24+ the number reported by the hardware is used.
25+
26+Example:
27+
28+mdc: dma-controller@18143000 {
29+ compatible = "img,pistachio-mdc-dma";
30+ reg = <0x18143000 0x1000>;
31+ interrupts = <GIC_SHARED 27 IRQ_TYPE_LEVEL_HIGH>,
32+ <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>,
33+ <GIC_SHARED 29 IRQ_TYPE_LEVEL_HIGH>,
34+ <GIC_SHARED 30 IRQ_TYPE_LEVEL_HIGH>,
35+ <GIC_SHARED 31 IRQ_TYPE_LEVEL_HIGH>,
36+ <GIC_SHARED 32 IRQ_TYPE_LEVEL_HIGH>,
37+ <GIC_SHARED 33 IRQ_TYPE_LEVEL_HIGH>,
38+ <GIC_SHARED 34 IRQ_TYPE_LEVEL_HIGH>,
39+ <GIC_SHARED 35 IRQ_TYPE_LEVEL_HIGH>,
40+ <GIC_SHARED 36 IRQ_TYPE_LEVEL_HIGH>,
41+ <GIC_SHARED 37 IRQ_TYPE_LEVEL_HIGH>,
42+ <GIC_SHARED 38 IRQ_TYPE_LEVEL_HIGH>;
43+ clocks = <&system_clk>;
44+ clock-names = "sys";
45+
46+ img,max-burst-multiplier = <16>;
47+ img,cr-periph = <&cr_periph>;
48+
49+ #dma-cells = <3>;
50+};
51+
52+spi@18100f00 {
53+ ...
54+ dmas = <&mdc 9 0xffffffff 0>, <&mdc 10 0xffffffff 0>;
55+ dma-names = "tx", "rx";
56+ ...
57+};
Documentation/devicetree/bindings/dma/renesas,rcar-dmac.txt+1−4
@@ -1,13 +1,10 @@
11 * Renesas R-Car DMA Controller Device Tree bindings
22
3−Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA
3+Renesas R-Car Generation 2 SoCs have multiple multi-channel DMA
44 controller instances named DMAC capable of serving multiple clients. Channels
55 can be dedicated to specific clients or shared between a large number of
66 clients.
77
8−DMA clients are connected to the DMAC ports referenced by an 8-bit identifier
9−called MID/RID.
10−
118 Each DMA client is connected to one dedicated port of the DMAC, identified by
129 an 8-bit port number called the MID/RID. A DMA controller can thus serve up to
1310 256 clients in total. When the number of hardware channels is lower than the
Documentation/devicetree/bindings/dma/snps-dma.txt+1−1
@@ -38,7 +38,7 @@ Example: · 37 unmodified lines
3838 chan_allocation_order = <1>;
3939 chan_priority = <1>;
4040 block_size = <0xfff>;
41− data_width = <3 3 0 0>;
41+ data_width = <3 3>;
4242 };
4343
4444 DMA clients connected to the Designware DMA controller must use the format
Documentation/devicetree/bindings/drm/atmel/hlcdc-dc.txt+53−0
@@ -0,0 +1,53 @@
1+Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2+
3+The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
4+See ../mfd/atmel-hlcdc.txt for more details.
5+
6+Required properties:
7+ - compatible: value should be "atmel,hlcdc-display-controller"
8+ - pinctrl-names: the pin control state names. Should contain "default".
9+ - pinctrl-0: should contain the default pinctrl states.
10+ - #address-cells: should be set to 1.
11+ - #size-cells: should be set to 0.
12+
13+Required children nodes:
14+ Children nodes are encoding available output ports and their connections
15+ to external devices using the OF graph reprensentation (see ../graph.txt).
16+ At least one port node is required.
17+
18+Example:
19+
20+ hlcdc: hlcdc@f0030000 {
21+ compatible = "atmel,sama5d3-hlcdc";
22+ reg = <0xf0030000 0x2000>;
23+ interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
24+ clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
25+ clock-names = "periph_clk","sys_clk", "slow_clk";
26+ status = "disabled";
27+
28+ hlcdc-display-controller {
29+ compatible = "atmel,hlcdc-display-controller";
30+ pinctrl-names = "default";
31+ pinctrl-0 = <&pinctrl_lcd_base &pinctrl_lcd_rgb888>;
32+ #address-cells = <1>;
33+ #size-cells = <0>;
34+
35+ port@0 {
36+ #address-cells = <1>;
37+ #size-cells = <0>;
38+ reg = <0>;
39+
40+ hlcdc_panel_output: endpoint@0 {
41+ reg = <0>;
42+ remote-endpoint = <&panel_input>;
43+ };
44+ };
45+ };
46+
47+ hlcdc_pwm: hlcdc-pwm {
48+ compatible = "atmel,hlcdc-pwm";
49+ pinctrl-names = "default";
50+ pinctrl-0 = <&pinctrl_lcd_pwm>;
51+ #pwm-cells = <3>;
52+ };
53+ };
Documentation/devicetree/bindings/drm/bridge/dw_hdmi.txt+50−0
@@ -0,0 +1,50 @@
1+DesignWare HDMI bridge bindings
2+
3+Required properties:
4+- compatible: platform specific such as:
5+ * "snps,dw-hdmi-tx"
6+ * "fsl,imx6q-hdmi"
7+ * "fsl,imx6dl-hdmi"
8+ * "rockchip,rk3288-dw-hdmi"
9+- reg: Physical base address and length of the controller's registers.
10+- interrupts: The HDMI interrupt number
11+- clocks, clock-names : must have the phandles to the HDMI iahb and isfr clocks,
12+ as described in Documentation/devicetree/bindings/clock/clock-bindings.txt,
13+ the clocks are soc specific, the clock-names should be "iahb", "isfr"
14+-port@[X]: SoC specific port nodes with endpoint definitions as defined
15+ in Documentation/devicetree/bindings/media/video-interfaces.txt,
16+ please refer to the SoC specific binding document:
17+ * Documentation/devicetree/bindings/drm/imx/hdmi.txt
18+ * Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt
19+
20+Optional properties
21+- reg-io-width: the width of the reg:1,4, default set to 1 if not present
22+- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
23+- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
24+
25+Example:
26+ hdmi: hdmi@0120000 {
27+ compatible = "fsl,imx6q-hdmi";
28+ reg = <0x00120000 0x9000>;
29+ interrupts = <0 115 0x04>;
30+ gpr = <&gpr>;
31+ clocks = <&clks 123>, <&clks 124>;
32+ clock-names = "iahb", "isfr";
33+ ddc-i2c-bus = <&i2c2>;
34+
35+ port@0 {
36+ reg = <0>;
37+
38+ hdmi_mux_0: endpoint {
39+ remote-endpoint = <&ipu1_di0_hdmi>;
40+ };
41+ };
42+
43+ port@1 {
44+ reg = <1>;
45+
46+ hdmi_mux_1: endpoint {
47+ remote-endpoint = <&ipu1_di1_hdmi>;
48+ };
49+ };
50+ };
Documentation/devicetree/bindings/drm/msm/hdmi.txt+2−0
@@ -2,6 +2,8 @@ Qualcomm adreno/snapdragon hdmi output · 1 unmodified line
22
33 Required properties:
44 - compatible: one of the following
5+ * "qcom,hdmi-tx-8084"
6+ * "qcom,hdmi-tx-8074"
57 * "qcom,hdmi-tx-8660"
68 * "qcom,hdmi-tx-8960"
79 - reg: Physical base address and length of the controller's registers
Documentation/devicetree/bindings/fpga/altera-socfpga-fpga-mgr.txt+17−0
@@ -0,0 +1,17 @@
1+Altera SOCFPGA FPGA Manager
2+
3+Required properties:
4+- compatible : should contain "altr,socfpga-fpga-mgr"
5+- reg : base address and size for memory mapped io.
6+ - The first index is for FPGA manager register access.
7+ - The second index is for writing FPGA configuration data.
8+- interrupts : interrupt for the FPGA Manager device.
9+
10+Example:
11+
12+ hps_0_fpgamgr: fpgamgr@0xff706000 {
13+ compatible = "altr,socfpga-fpga-mgr";
14+ reg = <0xFF706000 0x1000
15+ 0xFFB90000 0x1000>;
16+ interrupts = <0 175 4>;
17+ };
Documentation/devicetree/bindings/fuse/nvidia,tegra20-fuse.txt+5−5
@@ -1,11 +1,11 @@
11 NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block.
22
33 Required properties:
4−- compatible : should be:
5− "nvidia,tegra20-efuse"
6− "nvidia,tegra30-efuse"
7− "nvidia,tegra114-efuse"
8− "nvidia,tegra124-efuse"
4+- compatible : For Tegra20, must contain "nvidia,tegra20-efuse". For Tegra30,
5+ must contain "nvidia,tegra30-efuse". For Tegra114, must contain
6+ "nvidia,tegra114-efuse". For Tegra124, must contain "nvidia,tegra124-efuse".
7+ Otherwise, must contain "nvidia,<chip>-efuse", plus one of the above, where
8+ <chip> is tegra132.
99 Details:
1010 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data
1111 due to a hardware bug. Tegra20 also lacks certain information which is
Documentation/devicetree/bindings/gpio/fujitsu,mb86s70-gpio.txt+20−0
@@ -0,0 +1,20 @@
1+Fujitsu MB86S7x GPIO Controller
2+-------------------------------
3+
4+Required properties:
5+- compatible: Should be "fujitsu,mb86s70-gpio"
6+- reg: Base address and length of register space
7+- clocks: Specify the clock
8+- gpio-controller: Marks the device node as a gpio controller.
9+- #gpio-cells: Should be <2>. The first cell is the pin number and the
10+ second cell is used to specify optional parameters:
11+ - bit 0 specifies polarity (0 for normal, 1 for inverted).
12+
13+Examples:
14+ gpio0: gpio@31000000 {
15+ compatible = "fujitsu,mb86s70-gpio";
16+ reg = <0 0x31000000 0x10000>;
17+ gpio-controller;
18+ #gpio-cells = <2>;
19+ clocks = <&clk 0 2 1>;
20+ };
Documentation/devicetree/bindings/gpio/gpio-max732x.txt+59−0
@@ -0,0 +1,59 @@
1+* MAX732x-compatible I/O expanders
2+
3+Required properties:
4+ - compatible: Should be one of the following:
5+ - "maxim,max7319": For the Maxim MAX7319
6+ - "maxim,max7320": For the Maxim MAX7320
7+ - "maxim,max7321": For the Maxim MAX7321
8+ - "maxim,max7322": For the Maxim MAX7322
9+ - "maxim,max7323": For the Maxim MAX7323
10+ - "maxim,max7324": For the Maxim MAX7324
11+ - "maxim,max7325": For the Maxim MAX7325
12+ - "maxim,max7326": For the Maxim MAX7326
13+ - "maxim,max7327": For the Maxim MAX7327
14+ - reg: I2C slave address for this device.
15+ - gpio-controller: Marks the device node as a GPIO controller.
16+ - #gpio-cells: Should be 2.
17+ - first cell is the GPIO number
18+ - second cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
19+ Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
20+
21+Optional properties:
22+
23+ The I/O expander can detect input state changes, and thus optionally act as
24+ an interrupt controller. When the expander interrupt line is connected all the
25+ following properties must be set. For more information please see the
26+ interrupt controller device tree bindings documentation available at
27+ Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
28+
29+ - interrupt-controller: Identifies the node as an interrupt controller.
30+ - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
31+ - first cell is the pin number
32+ - second cell is used to specify flags
33+ - interrupt-parent: phandle of the parent interrupt controller.
34+ - interrupts: Interrupt specifier for the controllers interrupt.
35+
36+Please refer to gpio.txt in this directory for details of the common GPIO
37+bindings used by client devices.
38+
39+Example 1. MAX7325 with interrupt support enabled (CONFIG_GPIO_MAX732X_IRQ=y):
40+
41+ expander: max7325@6d {
42+ compatible = "maxim,max7325";
43+ reg = <0x6d>;
44+ gpio-controller;
45+ #gpio-cells = <2>;
46+ interrupt-controller;
47+ #interrupt-cells = <2>;
48+ interrupt-parent = <&gpio4>;
49+ interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
50+ };
51+
52+Example 2. MAX7325 with interrupt support disabled (CONFIG_GPIO_MAX732X_IRQ=n):
53+
54+ expander: max7325@6d {
55+ compatible = "maxim,max7325";
56+ reg = <0x6d>;
57+ gpio-controller;
58+ #gpio-cells = <2>;
59+ };
Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt+1−1
@@ -39,7 +39,7 @@ Optional Properties: · 38 unmodified lines
3939 - lines-initial-states: Bitmask that specifies the initial state of each
4040 line. When a bit is set to zero, the corresponding line will be initialized to
4141 the input (pulled-up) state. When the bit is set to one, the line will be
42− initialized the the low-level output state. If the property is not specified
42+ initialized the low-level output state. If the property is not specified
4343 all lines will be initialized to the input state.
4444
4545 The I/O expander can detect input state changes, and thus optionally act as
Documentation/devicetree/bindings/gpio/gpio-sx150x.txt+40−0
@@ -0,0 +1,40 @@
1+SEMTECH SX150x GPIO expander bindings
2+
3+
4+Required properties:
5+
6+- compatible: should be "semtech,sx1506q",
7+ "semtech,sx1508q",
8+ "semtech,sx1509q".
9+
10+- reg: The I2C slave address for this device.
11+
12+- interrupt-parent: phandle of the parent interrupt controller.
13+
14+- interrupts: Interrupt specifier for the controllers interrupt.
15+
16+- #gpio-cells: Should be 2. The first cell is the GPIO number and the
17+ second cell is used to specify optional parameters:
18+ bit 0: polarity (0: normal, 1: inverted)
19+
20+- gpio-controller: Marks the device as a GPIO controller.
21+
22+- interrupt-controller: Marks the device as a interrupt controller.
23+
24+The GPIO expander can optionally be used as an interrupt controller, in
25+which case it uses the default two cell specifier as described in
26+Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
27+
28+Example:
29+
30+ i2c_gpio_expander@20{
31+ #gpio-cells = <2>;
32+ #interrupt-cells = <2>;
33+ compatible = "semtech,sx1506q";
34+ reg = <0x20>;
35+ interrupt-parent = <&gpio_1>;
36+ interrupts = <16 0>;
37+
38+ gpio-controller;
39+ interrupt-controller;
40+ };
Documentation/devicetree/bindings/gpio/gpio-xgene-sb.txt+32−0
@@ -0,0 +1,32 @@
1+APM X-Gene Standby GPIO controller bindings
2+
3+This is a gpio controller in the standby domain.
4+
5+There are 20 GPIO pins from 0..21. There is no GPIO_DS14 or GPIO_DS15,
6+only GPIO_DS8..GPIO_DS13 support interrupts. The IRQ mapping
7+is currently 1-to-1 on interrupts 0x28 thru 0x2d.
8+
9+Required properties:
10+- compatible: "apm,xgene-gpio-sb" for the X-Gene Standby GPIO controller
11+- reg: Physical base address and size of the controller's registers
12+- #gpio-cells: Should be two.
13+ - first cell is the pin number
14+ - second cell is used to specify the gpio polarity:
15+ 0 = active high
16+ 1 = active low
17+- gpio-controller: Marks the device node as a GPIO controller.
18+- interrupts: Shall contain exactly 6 interrupts.
19+
20+Example:
21+ sbgpio: sbgpio@17001000 {
22+ compatible = "apm,xgene-gpio-sb";
23+ reg = <0x0 0x17001000 0x0 0x400>;
24+ #gpio-cells = <2>;
25+ gpio-controller;
26+ interrupts = <0x0 0x28 0x1>,
27+ <0x0 0x29 0x1>,
28+ <0x0 0x2a 0x1>,
29+ <0x0 0x2b 0x1>,
30+ <0x0 0x2c 0x1>,
31+ <0x0 0x2d 0x1>;
32+ };
Documentation/devicetree/bindings/gpio/gpio.txt+3−2
@@ -69,7 +69,8 @@ GPIO pin number, and GPIO flags as accepted by the "qe_pio_e" gpio-controller. · 68 unmodified lines
6969 ----------------------------------
7070
7171 A gpio-specifier should contain a flag indicating the GPIO polarity; active-
72−high or active-low. If it does, the follow best practices should be followed:
72+high or active-low. If it does, the following best practices should be
73+followed:
7374
7475 The gpio-specifier's polarity flag should represent the physical level at the
7576 GPIO controller that achieves (or represents, for inputs) a logically asserted
@@ -147,7 +148,7 @@ contains information structures as follows: · 71 unmodified lines
147148 numeric-gpio-range ::=
148149 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>
149150 named-gpio-range ::= <pinctrl-phandle> <gpio-base> '<0 0>'
150− gpio-phandle : phandle to pin controller node.
151+ pinctrl-phandle : phandle to pin controller node
151152 gpio-base : Base GPIO ID in the GPIO controller
152153 pinctrl-base : Base pinctrl pin ID in the pin controller
153154 count : The number of GPIOs/pins in this range
Documentation/devicetree/bindings/gpio/mrvl-gpio.txt+2−2
@@ -3,8 +3,8 @@ · 2 unmodified lines
33 Required properties:
44 - compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio",
55 "intel,pxa27x-gpio", "intel,pxa3xx-gpio",
6− "marvell,pxa93x-gpio", "marvell,mmp-gpio" or
7− "marvell,mmp2-gpio".
6+ "marvell,pxa93x-gpio", "marvell,mmp-gpio",
7+ "marvell,mmp2-gpio" or marvell,pxa1928-gpio.
88 - reg : Address and length of the register set for the device
99 - interrupts : Should be the port interrupt shared by all gpio pins.
1010 There're three gpio interrupts in arch-pxa, and they're gpio0,
Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt+6−2
@@ -197,7 +197,9 @@ of the following host1x client modules: · 196 unmodified lines
197197 - sor: serial output resource
198198
199199 Required properties:
200− - compatible: "nvidia,tegra124-sor"
200+ - compatible: For Tegra124, must contain "nvidia,tegra124-sor". Otherwise,
201+ must contain '"nvidia,<chip>-sor", "nvidia,tegra124-sor"', where <chip>
202+ is tegra132.
201203 - reg: Physical base address and length of the controller's registers.
202204 - interrupts: The interrupt outputs from the controller.
203205 - clocks: Must contain an entry for each entry in clock-names.
@@ -222,7 +224,9 @@ of the following host1x client modules: · 18 unmodified lines
222224 - nvidia,dpaux: phandle to a DispayPort AUX interface
223225
224226 - dpaux: DisplayPort AUX interface
225− - compatible: "nvidia,tegra124-dpaux"
227+ - compatible: For Tegra124, must contain "nvidia,tegra124-dpaux". Otherwise,
228+ must contain '"nvidia,<chip>-dpaux", "nvidia,tegra124-dpaux"', where
229+ <chip> is tegra132.
226230 - reg: Physical base address and length of the controller's registers.
227231 - interrupts: The interrupt outputs from the controller.
228232 - clocks: Must contain an entry for each entry in clock-names.
Documentation/devicetree/bindings/gpu/st,stih4xx.txt+29−0
@@ -83,6 +83,22 @@ sti-hda: · 82 unmodified lines
8383 - clock-names: names of the clocks listed in clocks property in the same
8484 order.
8585
86+sti-dvo:
87+ Required properties:
88+ must be a child of sti-tvout
89+ - compatible: "st,stih<chip>-dvo"
90+ - reg: Physical base address of the IP registers and length of memory mapped region.
91+ - reg-names: names of the mapped memory regions listed in regs property in
92+ the same order.
93+ - clocks: from common clock binding: handle hardware IP needed clocks, the
94+ number of clocks may depend of the SoC type.
95+ See ../clocks/clock-bindings.txt for details.
96+ - clock-names: names of the clocks listed in clocks property in the same
97+ order.
98+ - pinctrl-0: pin control handle
99+ - pinctrl-name: names of the pin control to use
100+ - sti,panel: phandle of the panel connected to the DVO output
101+
86102 sti-hqvdp:
87103 must be a child of sti-display-subsystem
88104 Required properties:
@@ -198,6 +214,19 @@ Example: · 109 unmodified lines
198214 clock-names = "pix", "hddac";
199215 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
200216 };
217+
218+ sti-dvo@8d00400 {
219+ compatible = "st,stih407-dvo";
220+ reg = <0x8d00400 0x200>;
221+ reg-names = "dvo-reg";
222+ clock-names = "dvo_pix", "dvo",
223+ "main_parent", "aux_parent";
224+ clocks = <&clk_s_d2_flexgen CLK_PIX_DVO>, <&clk_s_d2_flexgen CLK_DVO>,
225+ <&clk_s_d2_quadfs 0>, <&clk_s_d2_quadfs 1>;
226+ pinctrl-names = "default";
227+ pinctrl-0 = <&pinctrl_dvo>;
228+ sti,panel = <&panel_dvo>;
229+ };
201230 };
202231
203232 sti-hqvdp@9c000000 {
Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt+37−0
@@ -0,0 +1,37 @@
1+Broadcom iProc I2C controller
2+
3+Required properties:
4+
5+- compatible:
6+ Must be "brcm,iproc-i2c"
7+
8+- reg:
9+ Define the base and range of the I/O address space that contain the iProc
10+ I2C controller registers
11+
12+- interrupts:
13+ Should contain the I2C interrupt
14+
15+- clock-frequency:
16+ This is the I2C bus clock. Need to be either 100000 or 400000
17+
18+- #address-cells:
19+ Always 1 (for I2C addresses)
20+
21+- #size-cells:
22+ Always 0
23+
24+Example:
25+ i2c0: i2c@18008000 {
26+ compatible = "brcm,iproc-i2c";
27+ reg = <0x18008000 0x100>;
28+ #address-cells = <1>;
29+ #size-cells = <0>;
30+ interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
31+ clock-frequency = <100000>;
32+
33+ codec: wm8750@1a {
34+ compatible = "wlf,wm8750";
35+ reg = <0x1a>;
36+ };
37+ };
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt+3−0
@@ -16,6 +16,9 @@ Required Properties: · 15 unmodified lines
1616 Optional Properties:
1717
1818 - reset-gpios: Reference to the GPIO connected to the reset input.
19+ - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
20+ children in idle state. This is necessary for example, if there are several
21+ multiplexers on the bus and the devices behind them use same I2C addresses.
1922
2023
2124 Example:
Documentation/devicetree/bindings/i2c/i2c-ocores.txt+39−3
@@ -4,24 +4,60 @@ Required properties: · 3 unmodified lines
44 - compatible : "opencores,i2c-ocores" or "aeroflexgaisler,i2cmst"
55 - reg : bus address start and address range size of device
66 - interrupts : interrupt number
7−- clock-frequency : frequency of bus clock in Hz
7+- clocks : handle to the controller clock; see the note below.
8+ Mutually exclusive with opencores,ip-clock-frequency
9+- opencores,ip-clock-frequency: frequency of the controller clock in Hz;
10+ see the note below. Mutually exclusive with clocks
811 - #address-cells : should be <1>
912 - #size-cells : should be <0>
1013
1114 Optional properties:
15+- clock-frequency : frequency of bus clock in Hz; see the note below.
16+ Defaults to 100 KHz when the property is not specified
1217 - reg-shift : device register offsets are shifted by this value
1318 - reg-io-width : io register width in bytes (1, 2 or 4)
1419 - regstep : deprecated, use reg-shift above
1520
16−Example:
21+Note
22+clock-frequency property is meant to control the bus frequency for i2c bus
23+drivers, but it was incorrectly used to specify i2c controller input clock
24+frequency. So the following rules are set to fix this situation:
25+- if clock-frequency is present and neither opencores,ip-clock-frequency nor
26+ clocks are, then clock-frequency specifies i2c controller clock frequency.
27+ This is to keep backwards compatibility with setups using old DTB. i2c bus
28+ frequency is fixed at 100 KHz.
29+- if clocks is present it specifies i2c controller clock. clock-frequency
30+ property specifies i2c bus frequency.
31+- if opencores,ip-clock-frequency is present it specifies i2c controller
32+ clock frequency. clock-frequency property specifies i2c bus frequency.
1733
34+Examples:
35+
36+ i2c0: ocores@a0000000 {
37+ #address-cells = <1>;
38+ #size-cells = <0>;
39+ compatible = "opencores,i2c-ocores";
40+ reg = <0xa0000000 0x8>;
41+ interrupts = <10>;
42+ opencores,ip-clock-frequency = <20000000>;
43+
44+ reg-shift = <0>; /* 8 bit registers */
45+ reg-io-width = <1>; /* 8 bit read/write */
46+
47+ dummy@60 {
48+ compatible = "dummy";
49+ reg = <0x60>;
50+ };
51+ };
52+or
1853 i2c0: ocores@a0000000 {
1954 #address-cells = <1>;
2055 #size-cells = <0>;
2156 compatible = "opencores,i2c-ocores";
2257 reg = <0xa0000000 0x8>;
2358 interrupts = <10>;
24− clock-frequency = <20000000>;
59+ clocks = <&osc>;
60+ clock-frequency = <400000>; /* i2c bus frequency 400 KHz */
2561
2662 reg-shift = <0>; /* 8 bit registers */
2763 reg-io-width = <1>; /* 8 bit read/write */
Documentation/devicetree/bindings/i2c/i2c-rk3x.txt+14−0
@@ -21,6 +21,17 @@ Required on RK3066, RK3188 : · 20 unmodified lines
2121 Optional properties :
2222
2323 - clock-frequency : SCL frequency to use (in Hz). If omitted, 100kHz is used.
24+ - i2c-scl-rising-time-ns : Number of nanoseconds the SCL signal takes to rise
25+ (t(r) in I2C specification). If not specified this is assumed to be
26+ the maximum the specification allows(1000 ns for Standard-mode,
27+ 300 ns for Fast-mode) which might cause slightly slower communication.
28+ - i2c-scl-falling-time-ns : Number of nanoseconds the SCL signal takes to fall
29+ (t(f) in the I2C specification). If not specified this is assumed to
30+ be the maximum the specification allows (300 ns) which might cause
31+ slightly slower communication.
32+ - i2c-sda-falling-time-ns : Number of nanoseconds the SDA signal takes to fall
33+ (t(f) in the I2C specification). If not specified we'll use the SCL
34+ value since they are the same in nearly all cases.
2435
2536 Example:
2637
@@ -39,4 +50,7 @@ i2c0: i2c@2002d000 { · 12 unmodified lines
3950
4051 clock-names = "i2c";
4152 clocks = <&cru PCLK_I2C0>;
53+
54+ i2c-scl-rising-time-ns = <800>;
55+ i2c-scl-falling-time-ns = <100>;
4256 };
Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt+5−5
@@ -1,11 +1,11 @@
11 NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver.
22
33 Required properties:
4−- compatible : should be:
5− "nvidia,tegra114-i2c"
6− "nvidia,tegra30-i2c"
7− "nvidia,tegra20-i2c"
8− "nvidia,tegra20-i2c-dvc"
4+- compatible : For Tegra20, must be one of "nvidia,tegra20-i2c-dvc" or
5+ "nvidia,tegra20-i2c". For Tegra30, must be "nvidia,tegra30-i2c".
6+ For Tegra114, must be "nvidia,tegra114-i2c". Otherwise, must be
7+ "nvidia,<chip>-i2c", plus at least one of the above, where <chip> is
8+ tegra124, tegra132, or tegra210.
99 Details of compatible are as follows:
1010 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C
1111 controller. This only support master mode of I2C communication. Register
Documentation/devicetree/bindings/i2c/trivial-devices.txt+4−3
@@ -9,6 +9,7 @@ document for it just like any other devices. · 8 unmodified lines
99
1010 Compatible Vendor / Chip
1111 ========== =============
12+abracon,abb5zes3 AB-RTCMC-32.768kHz-B5ZE-S3: Real Time Clock/Calendar Module with I2C Interface
1213 ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
1314 ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems
1415 adi,adt7461 +/-1C TDM Extended Temp Range I.C
@@ -34,6 +35,7 @@ atmel,24c512 i2c serial eeprom (24cxx) · 19 unmodified lines
3435 atmel,24c1024 i2c serial eeprom (24cxx)
3536 atmel,at97sc3204t i2c trusted platform module (TPM)
3637 capella,cm32181 CM32181: Ambient Light Sensor
38+capella,cm3232 CM3232: Ambient Light Sensor
3739 catalyst,24c32 i2c serial eeprom
3840 cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
3941 dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
@@ -59,9 +61,8 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec · 19 unmodified lines
5961 gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
6062 infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
6163 infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
62−isl,isl12057 Intersil ISL12057 I2C RTC Chip
63−isil,isl29028 (deprecated, use isl)
64−isl,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
64+isil,isl12057 Intersil ISL12057 I2C RTC Chip
65+isil,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
6566 maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
6667 maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
6768 maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface
Documentation/devicetree/bindings/iio/adc/cc10001_adc.txt+22−0
@@ -0,0 +1,22 @@
1+* Cosmic Circuits - Analog to Digital Converter (CC-10001-ADC)
2+
3+Required properties:
4+ - compatible: Should be "cosmic,10001-adc"
5+ - reg: Should contain adc registers location and length.
6+ - clock-names: Should contain "adc".
7+ - clocks: Should contain a clock specifier for each entry in clock-names
8+ - vref-supply: The regulator supply ADC reference voltage.
9+
10+Optional properties:
11+ - adc-reserved-channels: Bitmask of reserved channels,
12+ i.e. channels that cannot be used by the OS.
13+
14+Example:
15+adc: adc@18101600 {
16+ compatible = "cosmic,10001-adc";
17+ reg = <0x18101600 0x24>;
18+ adc-reserved-channels = <0x2>;
19+ clocks = <&adc_clk>;
20+ clock-names = "adc";
21+ vref-supply = <&reg_1v8>;
22+};
Documentation/devicetree/bindings/iio/adc/qcom,spmi-vadc.txt+129−0
@@ -0,0 +1,129 @@
1+Qualcomm's SPMI PMIC voltage ADC
2+
3+SPMI PMIC voltage ADC (VADC) provides interface to clients to read
4+voltage. The VADC is a 15-bit sigma-delta ADC.
5+
6+VADC node:
7+
8+- compatible:
9+ Usage: required
10+ Value type: <string>
11+ Definition: Should contain "qcom,spmi-vadc".
12+
13+- reg:
14+ Usage: required
15+ Value type: <prop-encoded-array>
16+ Definition: VADC base address and length in the SPMI PMIC register map.
17+
18+- #address-cells:
19+ Usage: required
20+ Value type: <u32>
21+ Definition: Must be one. Child node 'reg' property should define ADC
22+ channel number.
23+
24+- #size-cells:
25+ Usage: required
26+ Value type: <u32>
27+ Definition: Must be zero.
28+
29+- #io-channel-cells:
30+ Usage: required
31+ Value type: <u32>
32+ Definition: Must be one. For details about IIO bindings see:
33+ Documentation/devicetree/bindings/iio/iio-bindings.txt
34+
35+- interrupts:
36+ Usage: optional
37+ Value type: <prop-encoded-array>
38+ Definition: End of conversion interrupt.
39+
40+Channel node properties:
41+
42+- reg:
43+ Usage: required
44+ Value type: <u32>
45+ Definition: ADC channel number.
46+ See include/dt-bindings/iio/qcom,spmi-vadc.h
47+
48+- qcom,decimation:
49+ Usage: optional
50+ Value type: <u32>
51+ Definition: This parameter is used to decrease ADC sampling rate.
52+ Quicker measurements can be made by reducing decimation ratio.
53+ Valid values are 512, 1024, 2048, 4096.
54+ If property is not found, default value of 512 will be used.
55+
56+- qcom,pre-scaling:
57+ Usage: optional
58+ Value type: <u32 array>
59+ Definition: Used for scaling the channel input signal before the signal is
60+ fed to VADC. The configuration for this node is to know the
61+ pre-determined ratio and use it for post scaling. Select one from
62+ the following options.
63+ <1 1>, <1 3>, <1 4>, <1 6>, <1 20>, <1 8>, <10 81>, <1 10>
64+ If property is not found default value depending on chip will be used.
65+
66+- qcom,ratiometric:
67+ Usage: optional
68+ Value type: <empty>
69+ Definition: Channel calibration type. If this property is specified
70+ VADC will use the VDD reference (1.8V) and GND for channel
71+ calibration. If property is not found, channel will be
72+ calibrated with 0.625V and 1.25V reference channels, also
73+ known as absolute calibration.
74+
75+- qcom,hw-settle-time:
76+ Usage: optional
77+ Value type: <u32>
78+ Definition: Time between AMUX getting configured and the ADC starting
79+ conversion. Delay = 100us * (value) for value < 11, and
80+ 2ms * (value - 10) otherwise.
81+ Valid values are: 0, 100, 200, 300, 400, 500, 600, 700, 800,
82+ 900 us and 1, 2, 4, 6, 8, 10 ms
83+ If property is not found, channel will use 0us.
84+
85+- qcom,avg-samples:
86+ Usage: optional
87+ Value type: <u32>
88+ Definition: Number of samples to be used for measurement.
89+ Averaging provides the option to obtain a single measurement
90+ from the ADC that is an average of multiple samples. The value
91+ selected is 2^(value).
92+ Valid values are: 1, 2, 4, 8, 16, 32, 64, 128, 256, 512
93+ If property is not found, 1 sample will be used.
94+
95+NOTE:
96+
97+Following channels, also known as reference point channels, are used for
98+result calibration and their channel configuration nodes should be defined:
99+VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
100+VADC_GND_REF and VADC_VDD_VADC.
101+
102+Example:
103+
104+ /* VADC node */
105+ pmic_vadc: vadc@3100 {
106+ compatible = "qcom,spmi-vadc";
107+ reg = <0x3100 0x100>;
108+ interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
109+ #address-cells = <1>;
110+ #size-cells = <0>;
111+ #io-channel-cells = <1>;
112+ io-channel-ranges;
113+
114+ /* Channel node */
115+ usb_id_nopull {
116+ reg = <VADC_LR_MUX10_USB_ID>;
117+ qcom,decimation = <512>;
118+ qcom,ratiometric;
119+ qcom,hw-settle-time = <200>;
120+ qcom,avg-samples = <1>;
121+ qcom,pre-scaling = <1 3>;
122+ };
123+ };
124+
125+ /* IIO client node */
126+ usb {
127+ io-channels = <&pmic_vadc VADC_LR_MUX10_USB_ID>;
128+ io-channel-names = "vadc";
129+ };
Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt+1−1
@@ -59,7 +59,7 @@ Optional properties: · 58 unmodified lines
5959 Each child node represents one channel and has the following
6060 properties:
6161 Required properties:
62− * reg: Pair of pins the the channel is connected to.
62+ * reg: Pair of pins the channel is connected to.
6363 0: VP/VN
6464 1: VAUXP[0]/VAUXN[0]
6565 2: VAUXP[1]/VAUXN[1]
Documentation/devicetree/bindings/iio/sensorhub.txt+25−0
@@ -0,0 +1,25 @@
1+Samsung Sensorhub driver
2+
3+Sensorhub is a MCU which manages several sensors and also plays the role
4+of a virtual sensor device.
5+
6+Required properties:
7+- compatible: "samsung,sensorhub-rinato" or "samsung,sensorhub-thermostat"
8+- spi-max-frequency: max SPI clock frequency
9+- interrupt-parent: interrupt parent
10+- interrupts: communication interrupt
11+- ap-mcu-gpios: [out] ap to sensorhub line - used during communication
12+- mcu-ap-gpios: [in] sensorhub to ap - used during communication
13+- mcu-reset-gpios: [out] sensorhub reset
14+
15+Example:
16+
17+ shub_spi: shub {
18+ compatible = "samsung,sensorhub-rinato";
19+ spi-max-frequency = <5000000>;
20+ interrupt-parent = <&gpx0>;
21+ interrupts = <2 0>;
22+ ap-mcu-gpios = <&gpx0 0 0>;
23+ mcu-ap-gpios = <&gpx0 4 0>;
24+ mcu-reset-gpios = <&gpx0 5 0>;
25+ };
Documentation/devicetree/bindings/input/e3x0-button.txt+25−0
@@ -0,0 +1,25 @@
1+National Instruments Ettus Research USRP E3x0 button driver
2+
3+This module is part of the NI Ettus Research USRP E3x0 SDR.
4+
5+This module provides a simple power button event via two interrupts.
6+
7+Required properties:
8+- compatible: should be one of the following
9+ - "ettus,e3x0-button": For devices such as the NI Ettus Research USRP E3x0
10+- interrupt-parent:
11+ - a phandle to the interrupt controller that it is attached to.
12+- interrupts: should be one of the following
13+ - <0 30 1>, <0 31 1>: For devices such as the NI Ettus Research USRP E3x0
14+- interrupt-names: should be one of the following
15+ - "press", "release": For devices such as the NI Ettus Research USRP E3x0
16+
17+Note: Interrupt numbers might vary depending on the FPGA configuration.
18+
19+Example:
20+ button {
21+ compatible = "ettus,e3x0-button";
22+ interrupt-parent = <&intc>;
23+ interrupts = <0 30 1>, <0 31 1>;
24+ interrupt-names = "press", "release";
25+ }
Documentation/devicetree/bindings/input/regulator-haptic.txt+21−0
@@ -0,0 +1,21 @@
1+* Regulator Haptic Device Tree Bindings
2+
3+Required Properties:
4+ - compatible : Should be "regulator-haptic"
5+ - haptic-supply : Power supply to the haptic motor.
6+ [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
7+
8+ - max-microvolt : The maximum voltage value supplied to the haptic motor.
9+ [The unit of the voltage is a micro]
10+
11+ - min-microvolt : The minimum voltage value supplied to the haptic motor.
12+ [The unit of the voltage is a micro]
13+
14+Example:
15+
16+ haptics {
17+ compatible = "regulator-haptic";
18+ haptic-supply = <&motor_regulator>;
19+ max-microvolt = <2700000>;
20+ min-microvolt = <1100000>;
21+ };
Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt+62−0
@@ -0,0 +1,62 @@
1+Allwinner sun4i low res adc attached tablet keys
2+------------------------------------------------
3+
4+Required properties:
5+ - compatible: "allwinner,sun4i-a10-lradc-keys"
6+ - reg: mmio address range of the chip
7+ - interrupts: interrupt to which the chip is connected
8+ - vref-supply: powersupply for the lradc reference voltage
9+
10+Each key is represented as a sub-node of "allwinner,sun4i-a10-lradc-keys":
11+
12+Required subnode-properties:
13+ - label: Descriptive name of the key.
14+ - linux,code: Keycode to emit.
15+ - channel: Channel this key is attached to, mut be 0 or 1.
16+ - voltage: Voltage in µV at lradc input when this key is pressed.
17+
18+Example:
19+
20+#include <dt-bindings/input/input.h>
21+
22+ lradc: lradc@01c22800 {
23+ compatible = "allwinner,sun4i-a10-lradc-keys";
24+ reg = <0x01c22800 0x100>;
25+ interrupts = <31>;
26+ vref-supply = <&reg_vcc3v0>;
27+
28+ button@191 {
29+ label = "Volume Up";
30+ linux,code = <KEY_VOLUMEUP>;
31+ channel = <0>;
32+ voltage = <191274>;
33+ };
34+
35+ button@392 {
36+ label = "Volume Down";
37+ linux,code = <KEY_VOLUMEDOWN>;
38+ channel = <0>;
39+ voltage = <392644>;
40+ };
41+
42+ button@601 {
43+ label = "Menu";
44+ linux,code = <KEY_MENU>;
45+ channel = <0>;
46+ voltage = <601151>;
47+ };
48+
49+ button@795 {
50+ label = "Enter";
51+ linux,code = <KEY_ENTER>;
52+ channel = <0>;
53+ voltage = <795090>;
54+ };
55+
56+ button@987 {
57+ label = "Home";
58+ linux,code = <KEY_HOMEPAGE>;
59+ channel = <0>;
60+ voltage = <987387>;
61+ };
62+ };
Documentation/devicetree/bindings/input/touchscreen/sun4i.txt+3−1
@@ -2,9 +2,10 @@ sun4i resistive touchscreen controller · 1 unmodified line
22 --------------------------------------
33
44 Required properties:
5− - compatible: "allwinner,sun4i-a10-ts"
5+ - compatible: "allwinner,sun4i-a10-ts" or "allwinner,sun6i-a31-ts"
66 - reg: mmio address range of the chip
77 - interrupts: interrupt to which the chip is connected
8+ - #thermal-sensor-cells: shall be 0
89
910 Optional properties:
1011 - allwinner,ts-attached: boolean indicating that an actual touchscreen is
@@ -17,4 +18,5 @@ Example: · 6 unmodified lines
1718 reg = <0x01c25000 0x100>;
1819 interrupts = <29>;
1920 allwinner,ts-attached;
21+ #thermal-sensor-cells = <0>;
2022 };
Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt+15−0
@@ -28,6 +28,20 @@ Required properties: · 27 unmodified lines
2828 ti,adc-channels: List of analog inputs available for ADC.
2929 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
3030
31+Optional properties:
32+- child "tsc"
33+ ti,charge-delay: Length of touch screen charge delay step in terms of
34+ ADC clock cycles. Charge delay value should be large
35+ in order to avoid false pen-up events. This value
36+ effects the overall sampling speed, hence need to be
37+ kept as low as possible, while avoiding false pen-up
38+ event. Start from a lower value, say 0x400, and
39+ increase value until false pen-up events are avoided.
40+ The pen-up detection happens immediately after the
41+ charge step, so this does in fact function as a
42+ hardware knob for adjusting the amount of "settling
43+ time".
44+
3145 Example:
3246 tscadc: tscadc@44e0d000 {
3347 compatible = "ti,am3359-tscadc";
@@ -36,6 +50,7 @@ Example: · 2 unmodified lines
3650 ti,x-plate-resistance = <200>;
3751 ti,coordiante-readouts = <5>;
3852 ti,wire-config = <0x00 0x11 0x22 0x33>;
53+ ti,charge-delay = <0x400>;
3954 };
4055
4156 adc {
Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt+17−0
@@ -0,0 +1,17 @@
1+Texas Instruments TPS65218 power button
2+
3+This driver provides a simple power button event via an Interrupt.
4+
5+Required properties:
6+- compatible: should be "ti,tps65218-pwrbutton"
7+- interrupts: should be one of the following
8+ - <3 IRQ_TYPE_EDGE_BOTH>: For controllers compatible with tps65218
9+
10+Example:
11+
12+&tps {
13+ power-button {
14+ compatible = "ti,tps65218-pwrbutton";
15+ interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
16+ };
17+};
Documentation/devicetree/bindings/interrupt-controller/digicolor-ic.txt+21−0
@@ -0,0 +1,21 @@
1+Conexant Digicolor Interrupt Controller
2+
3+Required properties:
4+
5+- compatible : should be "cnxt,cx92755-ic"
6+- reg : Specifies base physical address and size of the interrupt controller
7+ registers (IC) area
8+- interrupt-controller : Identifies the node as an interrupt controller
9+- #interrupt-cells : Specifies the number of cells needed to encode an
10+ interrupt source. The value shall be 1.
11+- syscon: A phandle to the syscon node describing UC registers
12+
13+Example:
14+
15+ intc: interrupt-controller@f0000040 {
16+ compatible = "cnxt,cx92755-ic";
17+ interrupt-controller;
18+ #interrupt-cells = <1>;
19+ reg = <0xf0000040 0x40>;
20+ syscon = <&uc_regs>;
21+ };
Documentation/devicetree/bindings/interrupt-controller/renesas,intc-irqpin.txt+5−0
@@ -9,6 +9,11 @@ Required properties: · 8 unmodified lines
99 - "renesas,intc-irqpin-r8a7778" (R-Car M1A)
1010 - "renesas,intc-irqpin-r8a7779" (R-Car H1)
1111 - "renesas,intc-irqpin-sh73a0" (SH-Mobile AG5)
12+
13+- reg: Base address and length of each register bank used by the external
14+ IRQ pins driven by the interrupt controller hardware module. The base
15+ addresses, length and number of required register banks varies with soctype.
16+
1217 - #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in
1318 interrupts.txt in this directory
1419
Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt+28−0
@@ -0,0 +1,28 @@
1+Omap2/3 intc controller
2+
3+On TI omap2 and 3 the intc interrupt controller can provide
4+96 or 128 IRQ signals to the ARM host depending on the SoC.
5+
6+Required Properties:
7+- compatible: should be one of
8+ "ti,omap2-intc"
9+ "ti,omap3-intc"
10+ "ti,dm814-intc"
11+ "ti,dm816-intc"
12+ "ti,am33xx-intc"
13+
14+- interrupt-controller : Identifies the node as an interrupt controller
15+- #interrupt-cells : Specifies the number of cells needed to encode interrupt
16+ source, should be 1 for intc
17+- interrupts: interrupt reference to primary interrupt controller
18+
19+Please refer to interrupts.txt in this directory for details of the common
20+Interrupt Controllers bindings used by client devices.
21+
22+Example:
23+ intc: interrupt-controller@48200000 {
24+ compatible = "ti,omap3-intc";
25+ interrupt-controller;
26+ #interrupt-cells = <1>;
27+ reg = <0x48200000 0x1000>;
28+ };
Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.txt+41−0
@@ -0,0 +1,41 @@
1+* Renesas VMSA-Compatible IOMMU
2+
3+The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
4+It provides address translation for bus masters outside of the CPU, each
5+connected to the IPMMU through a port called micro-TLB.
6+
7+
8+Required Properties:
9+
10+ - compatible: Must contain "renesas,ipmmu-vmsa".
11+ - reg: Base address and size of the IPMMU registers.
12+ - interrupts: Specifiers for the MMU fault interrupts. For instances that
13+ support secure mode two interrupts must be specified, for non-secure and
14+ secure mode, in that order. For instances that don't support secure mode a
15+ single interrupt must be specified.
16+
17+ - #iommu-cells: Must be 1.
18+
19+Each bus master connected to an IPMMU must reference the IPMMU in its device
20+node with the following property:
21+
22+ - iommus: A reference to the IPMMU in two cells. The first cell is a phandle
23+ to the IPMMU and the second cell the number of the micro-TLB that the
24+ device is connected to.
25+
26+
27+Example: R8A7791 IPMMU-MX and VSP1-D0 bus master
28+
29+ ipmmu_mx: mmu@fe951000 {
30+ compatible = "renasas,ipmmu-vmsa";
31+ reg = <0 0xfe951000 0 0x1000>;
32+ interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
33+ <0 221 IRQ_TYPE_LEVEL_HIGH>;
34+ #iommu-cells = <1>;
35+ };
36+
37+ vsp1@fe928000 {
38+ ...
39+ iommus = <&ipmmu_mx 13>;
40+ ...
41+ };
Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt+3−3
@@ -45,7 +45,7 @@ Required properties: · 44 unmodified lines
4545 Exynos4 SoCs, there needs no "master" clock.
4646 Exynos5 SoCs, some System MMUs must have "master" clocks.
4747 - clocks: Required if the System MMU is needed to gate its clock.
48−- samsung,power-domain: Required if the System MMU is needed to gate its power.
48+- power-domains: Required if the System MMU is needed to gate its power.
4949 Please refer to the following document:
5050 Documentation/devicetree/bindings/arm/exynos/power_domain.txt
5151
@@ -54,7 +54,7 @@ Examples: · 2 unmodified lines
5454 compatible = "samsung,exynos5-gsc";
5555 reg = <0x13e00000 0x1000>;
5656 interrupts = <0 85 0>;
57− samsung,power-domain = <&pd_gsc>;
57+ power-domains = <&pd_gsc>;
5858 clocks = <&clock CLK_GSCL0>;
5959 clock-names = "gscl";
6060 };
@@ -66,5 +66,5 @@ Examples: · 5 unmodified lines
6666 interrupts = <2 0>;
6767 clock-names = "sysmmu", "master";
6868 clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
69− samsung,power-domain = <&pd_gsc>;
69+ power-domains = <&pd_gsc>;
7070 };
Documentation/devicetree/bindings/leds/common.txt+30−0
@@ -1,6 +1,19 @@
11 Common leds properties.
22
3+LED and flash LED devices provide the same basic functionality as current
4+regulators, but extended with LED and flash LED specific features like
5+blinking patterns, flash timeout, flash faults and external flash strobe mode.
6+
7+Many LED devices expose more than one current output that can be connected
8+to one or more discrete LED component. Since the arrangement of connections
9+can influence the way of the LED device initialization, the LED components
10+have to be tightly coupled with the LED device binding. They are represented
11+by child nodes of the parent LED device binding.
12+
313 Optional properties for child nodes:
14+- led-sources : List of device current outputs the LED is connected to. The
15+ outputs are identified by the numbers that must be defined
16+ in the LED device binding documentation.
417 - label : The label for this LED. If omitted, the label is
518 taken from the node name (excluding the unit address).
619
@@ -14,6 +27,15 @@ Optional properties for child nodes: · 7 unmodified lines
1427 "ide-disk" - LED indicates disk activity
1528 "timer" - LED flashes at a fixed, configurable rate
1629
30+- max-microamp : maximum intensity in microamperes of the LED
31+ (torch LED for flash devices)
32+- flash-max-microamp : maximum intensity in microamperes of the
33+ flash LED; it is mandatory if the LED should
34+ support the flash mode
35+- flash-timeout-us : timeout in microseconds after which the flash
36+ LED is turned off
37+
38+
1739 Examples:
1840
1941 system-status {
@@ -21,3 +43,11 @@ system-status { · 1 unmodified line
2143 linux,default-trigger = "heartbeat";
2244 ...
2345 };
46+
47+camera-flash {
48+ label = "Flash";
49+ led-sources = <0>, <1>;
50+ max-microamp = <50000>;
51+ flash-max-microamp = <320000>;
52+ flash-timeout-us = <500000>;
53+};
Documentation/devicetree/bindings/mailbox/altera-mailbox.txt+49−0
@@ -0,0 +1,49 @@
1+Altera Mailbox Driver
2+=====================
3+
4+Required properties:
5+- compatible : "altr,mailbox-1.0".
6+- reg : physical base address of the mailbox and length of
7+ memory mapped region.
8+- #mbox-cells: Common mailbox binding property to identify the number
9+ of cells required for the mailbox specifier. Should be 1.
10+
11+Optional properties:
12+- interrupt-parent : interrupt source phandle.
13+- interrupts : interrupt number. The interrupt specifier format
14+ depends on the interrupt controller parent.
15+
16+Example:
17+ mbox_tx: mailbox@0x100 {
18+ compatible = "altr,mailbox-1.0";
19+ reg = <0x100 0x8>;
20+ interrupt-parent = < &gic_0 >;
21+ interrupts = <5>;
22+ #mbox-cells = <1>;
23+ };
24+
25+ mbox_rx: mailbox@0x200 {
26+ compatible = "altr,mailbox-1.0";
27+ reg = <0x200 0x8>;
28+ interrupt-parent = < &gic_0 >;
29+ interrupts = <6>;
30+ #mbox-cells = <1>;
31+ };
32+
33+Mailbox client
34+===============
35+"mboxes" and the optional "mbox-names" (please see
36+Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
37+of the mboxes property should contain a phandle to the mailbox controller
38+device node and second argument is the channel index. It must be 0 (hardware
39+support only one channel).The equivalent "mbox-names" property value can be
40+used to give a name to the communication channel to be used by the client user.
41+
42+Example:
43+ mclient0: mclient0@0x400 {
44+ compatible = "client-1.0";
45+ reg = <0x400 0x10>;
46+ mbox-names = "mbox-tx", "mbox-rx";
47+ mboxes = <&mbox_tx 0>,
48+ <&mbox_rx 0>;
49+ };
Documentation/devicetree/bindings/media/atmel-isi.txt+1−1
@@ -38,7 +38,7 @@ Example: · 37 unmodified lines
3838
3939 i2c1: i2c@f0018000 {
4040 ov2640: camera@0x30 {
41− compatible = "omnivision,ov2640";
41+ compatible = "ovti,ov2640";
4242 reg = <0x30>;
4343
4444 port {
Documentation/devicetree/bindings/media/i2c/nokia,smia.txt+63−0
@@ -0,0 +1,63 @@
1+SMIA/SMIA++ sensor
2+
3+SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
4+defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
5+of that. These definitions are valid for both types of sensors.
6+
7+More detailed documentation can be found in
8+Documentation/devicetree/bindings/media/video-interfaces.txt .
9+
10+
11+Mandatory properties
12+--------------------
13+
14+- compatible: "nokia,smia"
15+- reg: I2C address (0x10, or an alternative address)
16+- vana-supply: Analogue voltage supply (VANA), typically 2,8 volts (sensor
17+ dependent).
18+- clocks: External clock to the sensor
19+- clock-frequency: Frequency of the external clock to the sensor
20+- link-frequencies: List of allowed data link frequencies. An array of
21+ 64-bit elements.
22+
23+
24+Optional properties
25+-------------------
26+
27+- nokia,nvm-size: The size of the NVM, in bytes. If the size is not given,
28+ the NVM contents will not be read.
29+- reset-gpios: XSHUTDOWN GPIO
30+
31+
32+Endpoint node mandatory properties
33+----------------------------------
34+
35+- clock-lanes: <0>
36+- data-lanes: <1..n>
37+- remote-endpoint: A phandle to the bus receiver's endpoint node.
38+
39+
40+Example
41+-------
42+
43+&i2c2 {
44+ clock-frequency = <400000>;
45+
46+ smiapp_1: camera@10 {
47+ compatible = "nokia,smia";
48+ reg = <0x10>;
49+ reset-gpios = <&gpio3 20 0>;
50+ vana-supply = <&vaux3>;
51+ clocks = <&omap3_isp 0>;
52+ clock-frequency = <9600000>;
53+ nokia,nvm-size = <512>; /* 8 * 64 */
54+ link-frequencies = /bits/ 64 <199200000 210000000 499200000>;
55+ port {
56+ smiapp_1_1: endpoint {
57+ clock-lanes = <0>;
58+ data-lanes = <1 2>;
59+ remote-endpoint = <&csi2a_ep>;
60+ };
61+ };
62+ };
63+};
Documentation/devicetree/bindings/media/s5p-mfc.txt+2−2
@@ -28,7 +28,7 @@ Required properties: · 27 unmodified lines
2828 for DMA contiguous memory allocation and its size.
2929
3030 Optional properties:
31− - samsung,power-domain : power-domain property defined with a phandle
31+ - power-domains : power-domain property defined with a phandle
3232 to respective power domain.
3333
3434 Example:
@@ -38,7 +38,7 @@ mfc: codec@13400000 { · 3 unmodified lines
3838 compatible = "samsung,mfc-v5";
3939 reg = <0x13400000 0x10000>;
4040 interrupts = <0 94 0>;
41− samsung,power-domain = <&pd_mfc>;
41+ power-domains = <&pd_mfc>;
4242 clocks = <&clock 273>;
4343 clock-names = "mfc";
4444 };
Documentation/devicetree/bindings/media/sunxi-ir.txt+3−1
@@ -1,7 +1,7 @@
11 Device-Tree bindings for SUNXI IR controller found in sunXi SoC family
22
33 Required properties:
4−- compatible : should be "allwinner,sun4i-a10-ir";
4+- compatible : "allwinner,sun4i-a10-ir" or "allwinner,sun5i-a13-ir"
55 - clocks : list of clock specifiers, corresponding to
66 entries in clock-names property;
77 - clock-names : should contain "apb" and "ir" entries;
@@ -10,6 +10,7 @@ Required properties: · 2 unmodified lines
1010
1111 Optional properties:
1212 - linux,rc-map-name : Remote control map name.
13+- resets : phandle + reset specifier pair
1314
1415 Example:
1516
@@ -17,6 +18,7 @@ ir0: ir@01c21800 { · 1 unmodified line
1718 compatible = "allwinner,sun4i-a10-ir";
1819 clocks = <&apb0_gates 6>, <&ir0_clk>;
1920 clock-names = "apb", "ir";
21+ resets = <&apb0_rst 1>;
2022 interrupts = <0 5 1>;
2123 reg = <0x01C21800 0x40>;
2224 linux,rc-map-name = "rc-rc6-mce";
Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt+61−0
@@ -0,0 +1,61 @@
1+Texas Instruments AM437x CAMERA (VPFE)
2+--------------------------------------
3+
4+The Video Processing Front End (VPFE) is a key component for image capture
5+applications. The capture module provides the system interface and the
6+processing capability to connect RAW image-sensor modules and video decoders
7+to the AM437x device.
8+
9+Required properties:
10+- compatible: must be "ti,am437x-vpfe"
11+- reg: physical base address and length of the registers set for the device;
12+- interrupts: should contain IRQ line for the VPFE;
13+- ti,am437x-vpfe-interface: can be one of the following,
14+ 0 - Raw Bayer Interface.
15+ 1 - 8 Bit BT656 Interface.
16+ 2 - 10 Bit BT656 Interface.
17+ 3 - YCbCr 8 Bit Interface.
18+ 4 - YCbCr 16 Bit Interface.
19+
20+VPFE supports a single port node with parallel bus. It should contain one
21+'port' child node with child 'endpoint' node. Please refer to the bindings
22+defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23+
24+Example:
25+ vpfe: vpfe@f0034000 {
26+ compatible = "ti,am437x-vpfe";
27+ reg = <0x48328000 0x2000>;
28+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
29+
30+ pinctrl-names = "default", "sleep";
31+ pinctrl-0 = <&vpfe_pins_default>;
32+ pinctrl-1 = <&vpfe_pins_sleep>;
33+
34+ port {
35+ #address-cells = <1>;
36+ #size-cells = <0>;
37+
38+ vpfe0_ep: endpoint {
39+ remote-endpoint = <&ov2659_1>;
40+ ti,am437x-vpfe-interface = <0>;
41+ bus-width = <8>;
42+ hsync-active = <0>;
43+ vsync-active = <0>;
44+ };
45+ };
46+ };
47+
48+ i2c1: i2c@4802a000 {
49+
50+ ov2659@30 {
51+ compatible = "ti,ov2659";
52+ reg = <0x30>;
53+
54+ port {
55+ ov2659_1: endpoint {
56+ remote-endpoint = <&vpfe0_ep>;
57+ bus-width = <8>;
58+ mclk-frequency = <12000000>;
59+ };
60+ };
61+ };
Documentation/devicetree/bindings/media/video-interfaces.txt+4−1
@@ -103,6 +103,9 @@ Optional endpoint properties · 102 unmodified lines
103103 array contains only one entry.
104104 - clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
105105 clock mode.
106+- link-frequencies: Allowed data bus frequencies. For MIPI CSI-2, for
107+ instance, this is the actual frequency of the bus, not bits per clock per
108+ lane value. An array of 64-bit unsigned integers.
106109
107110
108111 Example
@@ -159,7 +162,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. · 50 unmodified lines
159162 i2c0: i2c@0xfff20000 {
160163 ...
161164 ov772x_1: camera@0x21 {
162− compatible = "omnivision,ov772x";
165+ compatible = "ovti,ov772x";
163166 reg = <0x21>;
164167 vddio-supply = <&regulator1>;
165168 vddcore-supply = <&regulator2>;
Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt+44−0
@@ -0,0 +1,44 @@
1+DT bindings for Renesas R-Mobile and SH-Mobile memory controllers
2+=================================================================
3+
4+Renesas R-Mobile and SH-Mobile SoCs contain one or more memory controllers.
5+These memory controllers differ from one SoC variant to another, and are called
6+by different names ("DDR Bus Controller (DBSC)", "DDR3 Bus State Controller
7+(DBSC3)", "SDRAM Bus State Controller (SBSC)").
8+
9+Currently memory controller device nodes are used only to reference PM
10+domains, and prevent these PM domains from being powered down, which would
11+crash the system.
12+
13+As there exist no actual drivers for these controllers yet, these bindings
14+should be considered EXPERIMENTAL for now.
15+
16+Required properties:
17+ - compatible: Must be one of the following SoC-specific values:
18+ - "renesas,dbsc-r8a73a4" (R-Mobile APE6)
19+ - "renesas,dbsc3-r8a7740" (R-Mobile A1)
20+ - "renesas,sbsc-sh73a0" (SH-Mobile AG5)
21+ - reg: Must contain the base address and length of the memory controller's
22+ registers.
23+
24+Optional properties:
25+ - interrupts: Must contain a list of interrupt specifiers for memory
26+ controller interrupts, if available.
27+ - interrupts-names: Must contain a list of interrupt names corresponding to
28+ the interrupts in the interrupts property, if available.
29+ Valid interrupt names are:
30+ - "sec" (secure interrupt)
31+ - "temp" (normal (temperature) interrupt)
32+ - power-domains: Must contain a reference to the PM domain that the memory
33+ controller belongs to, if available.
34+
35+Example:
36+
37+ sbsc1: memory-controller@fe400000 {
38+ compatible = "renesas,sbsc-sh73a0";
39+ reg = <0xfe400000 0x400>;
40+ interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>,
41+ <0 36 IRQ_TYPE_LEVEL_HIGH>;
42+ interrupt-names = "sec", "temp";
43+ power-domains = <&pd_a4bc0>;
44+ };
Documentation/devicetree/bindings/mfd/atmel-matrix.txt+24−0
@@ -0,0 +1,24 @@
1+* Device tree bindings for Atmel Bus Matrix
2+
3+The Bus Matrix registers are used to configure Atmel SoCs internal bus
4+behavior (master/slave priorities, undefined burst length type, ...)
5+
6+Required properties:
7+- compatible: Should be one of the following
8+ "atmel,at91sam9260-matrix", "syscon"
9+ "atmel,at91sam9261-matrix", "syscon"
10+ "atmel,at91sam9263-matrix", "syscon"
11+ "atmel,at91sam9rl-matrix", "syscon"
12+ "atmel,at91sam9g45-matrix", "syscon"
13+ "atmel,at91sam9n12-matrix", "syscon"
14+ "atmel,at91sam9x5-matrix", "syscon"
15+ "atmel,sama5d3-matrix", "syscon"
16+- reg: Contains offset/length value of the Bus Matrix
17+ memory region.
18+
19+Example:
20+
21+matrix: matrix@ffffec00 {
22+ compatible = "atmel,sama5d3-matrix", "syscon";
23+ reg = <0xffffec00 0x200>;
24+};
Documentation/devicetree/bindings/mfd/atmel-smc.txt+19−0
@@ -0,0 +1,19 @@
1+* Device tree bindings for Atmel SMC (Static Memory Controller)
2+
3+The SMC registers are used to configure Atmel EBI (External Bus Interface)
4+to interface with standard memory devices (NAND, NOR, SRAM or specialized
5+devices like FPGAs).
6+
7+Required properties:
8+- compatible: Should be one of the following
9+ "atmel,at91sam9260-smc", "syscon"
10+ "atmel,sama5d3-smc", "syscon"
11+- reg: Contains offset/length value of the SMC memory
12+ region.
13+
14+Example:
15+
16+smc: smc@ffffc000 {
17+ compatible = "atmel,sama5d3-smc", "syscon";
18+ reg = <0xffffc000 0x1000>;
19+};
Documentation/devicetree/bindings/mfd/da9063.txt+93−0
@@ -0,0 +1,93 @@
1+* Dialog DA9063 Power Management Integrated Circuit (PMIC)
2+
3+DA9093 consists of a large and varied group of sub-devices (I2C Only):
4+
5+Device Supply Names Description
6+------ ------------ -----------
7+da9063-regulator : : LDOs & BUCKs
8+da9063-rtc : : Real-Time Clock
9+da9063-watchdog : : Watchdog
10+
11+======
12+
13+Required properties:
14+
15+- compatible : Should be "dlg,da9063"
16+- reg : Specifies the I2C slave address (this defaults to 0x58 but it can be
17+ modified to match the chip's OTP settings).
18+- interrupt-parent : Specifies the reference to the interrupt controller for
19+ the DA9063.
20+- interrupts : IRQ line information.
21+- interrupt-controller
22+
23+Sub-nodes:
24+
25+- regulators : This node defines the settings for the LDOs and BUCKs. The
26+ DA9063 regulators are bound using their names listed below:
27+
28+ bcore1 : BUCK CORE1
29+ bcore2 : BUCK CORE2
30+ bpro : BUCK PRO
31+ bmem : BUCK MEM
32+ bio : BUCK IO
33+ bperi : BUCK PERI
34+ ldo1 : LDO_1
35+ ldo2 : LDO_2
36+ ldo3 : LDO_3
37+ ldo4 : LDO_4
38+ ldo5 : LDO_5
39+ ldo6 : LDO_6
40+ ldo7 : LDO_7
41+ ldo8 : LDO_8
42+ ldo9 : LDO_9
43+ ldo10 : LDO_10
44+ ldo11 : LDO_11
45+
46+ The component follows the standard regulator framework and the bindings
47+ details of individual regulator device can be found in:
48+ Documentation/devicetree/bindings/regulator/regulator.txt
49+
50+- rtc : This node defines settings for the Real-Time Clock associated with
51+ the DA9063. There are currently no entries in this binding, however
52+ compatible = "dlg,da9063-rtc" should be added if a node is created.
53+
54+- watchdog : This node defines settings for the Watchdog timer associated
55+ with the DA9063. There are currently no entries in this binding, however
56+ compatible = "dlg,da9063-watchdog" should be added if a node is created.
57+
58+
59+Example:
60+
61+ pmic0: da9063@58 {
62+ compatible = "dlg,da9063"
63+ reg = <0x58>;
64+ interrupt-parent = <&gpio6>;
65+ interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
66+ interrupt-controller;
67+
68+ rtc {
69+ compatible = "dlg,da9063-rtc";
70+ };
71+
72+ wdt {
73+ compatible = "dlg,da9063-watchdog";
74+ };
75+
76+ regulators {
77+ DA9063_BCORE1: bcore1 {
78+ regulator-name = "BCORE1";
79+ regulator-min-microvolt = <300000>;
80+ regulator-max-microvolt = <1570000>;
81+ regulator-min-microamp = <500000>;
82+ regulator-max-microamp = <2000000>;
83+ regulator-boot-on;
84+ };
85+ DA9063_LDO11: ldo11 {
86+ regulator-name = "LDO_11";
87+ regulator-min-microvolt = <900000>;
88+ regulator-max-microvolt = <3600000>;
89+ regulator-boot-on;
90+ };
91+ };
92+ };
93+
Documentation/devicetree/bindings/mfd/max77686.txt+14−0
@@ -39,6 +39,12 @@ to get matched with their hardware counterparts as follow: · 38 unmodified lines
3939 -BUCKn : 1-4.
4040 Use standard regulator bindings for it ('regulator-off-in-suspend').
4141
42+ LDO20, LDO21, LDO22, BUCK8 and BUCK9 can be configured to GPIO enable
43+ control. To turn this feature on this property must be added to the regulator
44+ sub-node:
45+ - maxim,ena-gpios : one GPIO specifier enable control (the gpio
46+ flags are actually ignored and always
47+ ACTIVE_HIGH is used)
4248
4349 Example:
4450
@@ -65,4 +71,12 @@ Example: · 20 unmodified lines
6571 regulator-always-on;
6672 regulator-boot-on;
6773 };
74+
75+ buck9_reg {
76+ regulator-compatible = "BUCK9";
77+ regulator-name = "CAM_ISP_CORE_1.2V";
78+ regulator-min-microvolt = <1000000>;
79+ regulator-max-microvolt = <1200000>;
80+ maxim,ena-gpios = <&gpm0 3 GPIO_ACTIVE_HIGH>;
81+ };
6882 }
Documentation/devicetree/bindings/mfd/max77693.txt+45−0
@@ -41,6 +41,41 @@ Optional properties: · 40 unmodified lines
4141 To get more informations, please refer to documentaion.
4242 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
4343
44+- charger : Node configuring the charger driver.
45+ If present, required properties:
46+ - compatible : Must be "maxim,max77693-charger".
47+
48+ Optional properties (if not set, defaults will be used):
49+ - maxim,constant-microvolt : Battery constant voltage in uV. The charger
50+ will operate in fast charge constant current mode till battery voltage
51+ reaches this level. Then the charger will switch to fast charge constant
52+ voltage mode. Also vsys (system voltage) will be set to this value when
53+ DC power is supplied but charger is not enabled.
54+ Valid values: 3650000 - 4400000, step by 25000 (rounded down)
55+ Default: 4200000
56+
57+ - maxim,min-system-microvolt : Minimal system voltage in uV.
58+ Valid values: 3000000 - 3700000, step by 100000 (rounded down)
59+ Default: 3600000
60+
61+ - maxim,thermal-regulation-celsius : Temperature in Celsius for entering
62+ high temperature charging mode. If die temperature exceeds this value
63+ the charging current will be reduced by 105 mA/Celsius.
64+ Valid values: 70, 85, 100, 115
65+ Default: 100
66+
67+ - maxim,battery-overcurrent-microamp : Overcurrent protection threshold
68+ in uA (current from battery to system).
69+ Valid values: 2000000 - 3500000, step by 250000 (rounded down)
70+ Default: 3500000
71+
72+ - maxim,charge-input-threshold-microvolt : Threshold voltage in uV for
73+ triggering input voltage regulation loop. If input voltage decreases
74+ below this value, the input current will be reduced to reach the
75+ threshold voltage.
76+ Valid values: 4300000, 4700000, 4800000, 4900000
77+ Default: 4300000
78+
4479 Example:
4580 max77693@66 {
4681 compatible = "maxim,max77693";
@@ -73,4 +108,14 @@ Example: · 26 unmodified lines
73108 pwms = <&pwm 0 40000 0>;
74109 pwm-names = "haptic";
75110 };
111+
112+ charger {
113+ compatible = "maxim,max77693-charger";
114+
115+ maxim,constant-microvolt = <4200000>;
116+ maxim,min-system-microvolt = <3600000>;
117+ maxim,thermal-regulation-celsius = <75>;
118+ maxim,battery-overcurrent-microamp = <3000000>;
119+ maxim,charge-input-threshold-microvolt = <4300000>;
120+ };
76121 };
Documentation/devicetree/bindings/mfd/qcom-rpm.txt+70−0
@@ -0,0 +1,70 @@
1+Qualcomm Resource Power Manager (RPM)
2+
3+This driver is used to interface with the Resource Power Manager (RPM) found in
4+various Qualcomm platforms. The RPM allows each component in the system to vote
5+for state of the system resources, such as clocks, regulators and bus
6+frequencies.
7+
8+- compatible:
9+ Usage: required
10+ Value type: <string>
11+ Definition: must be one of:
12+ "qcom,rpm-apq8064"
13+ "qcom,rpm-msm8660"
14+ "qcom,rpm-msm8960"
15+
16+- reg:
17+ Usage: required
18+ Value type: <prop-encoded-array>
19+ Definition: base address and size of the RPM's message ram
20+
21+- interrupts:
22+ Usage: required
23+ Value type: <prop-encoded-array>
24+ Definition: three entries specifying the RPM's:
25+ 1. acknowledgement interrupt
26+ 2. error interrupt
27+ 3. wakeup interrupt
28+
29+- interrupt-names:
30+ Usage: required
31+ Value type: <string-array>
32+ Definition: must be the three strings "ack", "err" and "wakeup", in order
33+
34+- #address-cells:
35+ Usage: required
36+ Value type: <u32>
37+ Definition: must be 1
38+
39+- #size-cells:
40+ Usage: required
41+ Value type: <u32>
42+ Definition: must be 0
43+
44+- qcom,ipc:
45+ Usage: required
46+ Value type: <prop-encoded-array>
47+
48+ Definition: three entries specifying the outgoing ipc bit used for
49+ signaling the RPM:
50+ - phandle to a syscon node representing the apcs registers
51+ - u32 representing offset to the register within the syscon
52+ - u32 representing the ipc bit within the register
53+
54+
55+= EXAMPLE
56+
57+ #include <dt-bindings/mfd/qcom-rpm.h>
58+
59+ rpm@108000 {
60+ compatible = "qcom,rpm-msm8960";
61+ reg = <0x108000 0x1000>;
62+ qcom,ipc = <&apcs 0x8 2>;
63+
64+ interrupts = <0 19 0>, <0 21 0>, <0 22 0>;
65+ interrupt-names = "ack", "err", "wakeup";
66+
67+ #address-cells = <1>;
68+ #size-cells = <0>;
69+ };
70+
Documentation/devicetree/bindings/mips/cavium/cib.txt+43−0
@@ -0,0 +1,43 @@
1+* Cavium Interrupt Bus widget
2+
3+Properties:
4+- compatible: "cavium,octeon-7130-cib"
5+
6+ Compatibility with cn70XX SoCs.
7+
8+- interrupt-controller: This is an interrupt controller.
9+
10+- reg: Two elements consisting of the addresses of the RAW and EN
11+ registers of the CIB block
12+
13+- cavium,max-bits: The index (zero based) of the highest numbered bit
14+ in the CIB block.
15+
16+- interrupt-parent: Always the CIU on the SoC.
17+
18+- interrupts: The CIU line to which the CIB block is connected.
19+
20+- #interrupt-cells: Must be <2>. The first cell is the bit within the
21+ CIB. The second cell specifies the triggering semantics of the
22+ line.
23+
24+Example:
25+
26+ interrupt-controller@107000000e000 {
27+ compatible = "cavium,octeon-7130-cib";
28+ reg = <0x10700 0x0000e000 0x0 0x8>, /* RAW */
29+ <0x10700 0x0000e100 0x0 0x8>; /* EN */
30+ cavium,max-bits = <23>;
31+
32+ interrupt-controller;
33+ interrupt-parent = <&ciu>;
34+ interrupts = <1 24>;
35+ /* Interrupts are specified by two parts:
36+ * 1) Bit number in the CIB* registers
37+ * 2) Triggering (1 - edge rising
38+ * 2 - edge falling
39+ * 4 - level active high
40+ * 8 - level active low)
41+ */
42+ #interrupt-cells = <2>;
43+ };
Documentation/devicetree/bindings/misc/fsl,qoriq-mc.txt+40−0
@@ -0,0 +1,40 @@
1+* Freescale Management Complex
2+
3+The Freescale Management Complex (fsl-mc) is a hardware resource
4+manager that manages specialized hardware objects used in
5+network-oriented packet processing applications. After the fsl-mc
6+block is enabled, pools of hardware resources are available, such as
7+queues, buffer pools, I/O interfaces. These resources are building
8+blocks that can be used to create functional hardware objects/devices
9+such as network interfaces, crypto accelerator instances, L2 switches,
10+etc.
11+
12+Required properties:
13+
14+ - compatible
15+ Value type: <string>
16+ Definition: Must be "fsl,qoriq-mc". A Freescale Management Complex
17+ compatible with this binding must have Block Revision
18+ Registers BRR1 and BRR2 at offset 0x0BF8 and 0x0BFC in
19+ the MC control register region.
20+
21+ - reg
22+ Value type: <prop-encoded-array>
23+ Definition: A standard property. Specifies one or two regions
24+ defining the MC's registers:
25+
26+ -the first region is the command portal for the
27+ this machine and must always be present
28+
29+ -the second region is the MC control registers. This
30+ region may not be present in some scenarios, such
31+ as in the device tree presented to a virtual machine.
32+
33+Example:
34+
35+ fsl_mc: fsl-mc@80c000000 {
36+ compatible = "fsl,qoriq-mc";
37+ reg = <0x00000008 0x0c000000 0 0x40>, /* MC portal base */
38+ <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
39+ };
40+
Documentation/devicetree/bindings/misc/nvidia,tegra20-apbmisc.txt+4−5
@@ -1,11 +1,10 @@
11 NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block
22
33 Required properties:
4−- compatible : should be:
5− "nvidia,tegra20-apbmisc"
6− "nvidia,tegra30-apbmisc"
7− "nvidia,tegra114-apbmisc"
8− "nvidia,tegra124-apbmisc"
4+- compatible : For Tegra20, must be "nvidia,tegra20-apbmisc". For Tegra30,
5+ must be "nvidia,tegra30-apbmisc". Otherwise, must contain
6+ "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114,
7+ tegra124, tegra132.
98 - reg: Should contain 2 entries: the first entry gives the physical address
109 and length of the registers which contain revision and debug features.
1110 The second entry gives the physical address and length of the
Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt+25−0
@@ -0,0 +1,25 @@
1+* The simple eMMC hardware reset provider
2+
3+The purpose of this driver is to perform standard eMMC hw reset
4+procedure, as descibed by Jedec 4.4 specification. This procedure is
5+performed just after MMC core enabled power to the given mmc host (to
6+fix possible issues if bootloader has left eMMC card in initialized or
7+unknown state), and before performing complete system reboot (also in
8+case of emergency reboot call). The latter is needed on boards, which
9+doesn't have hardware reset logic connected to emmc card and (limited or
10+broken) ROM bootloaders are unable to read second stage from the emmc
11+card if the card is left in unknown or already initialized state.
12+
13+Required properties:
14+- compatible : contains "mmc-pwrseq-emmc".
15+- reset-gpios : contains a GPIO specifier. The reset GPIO is asserted
16+ and then deasserted to perform eMMC card reset. To perform
17+ reset procedure as described in Jedec 4.4 specification, the
18+ gpio line should be defined as GPIO_ACTIVE_LOW.
19+
20+Example:
21+
22+ sdhci0_pwrseq {
23+ compatible = "mmc-pwrseq-emmc";
24+ reset-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
25+ }
Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.txt+25−0
@@ -0,0 +1,25 @@
1+* The simple MMC power sequence provider
2+
3+The purpose of the simple MMC power sequence provider is to supports a set of
4+common properties between various SOC designs. It thus enables us to use the
5+same provider for several SOC designs.
6+
7+Required properties:
8+- compatible : contains "mmc-pwrseq-simple".
9+
10+Optional properties:
11+- reset-gpios : contains a list of GPIO specifiers. The reset GPIOs are asserted
12+ at initialization and prior we start the power up procedure of the card.
13+ They will be de-asserted right after the power has been provided to the
14+ card.
15+- clocks : Must contain an entry for the entry in clock-names.
16+ See ../clocks/clock-bindings.txt for details.
17+- clock-names : Must include the following entry:
18+ "ext_clock" (External clock provided to the card).
19+
20+Example:
21+
22+ sdhci0_pwrseq {
23+ compatible = "mmc-pwrseq-simple";
24+ reset-gpios = <&gpio1 12 0>;
25+ }
Documentation/devicetree/bindings/mmc/mmc.txt+61−1
@@ -64,7 +64,43 @@ Optional SDIO properties: · 63 unmodified lines
6464 - keep-power-in-suspend: Preserves card power during a suspend/resume cycle
6565 - enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
6666
67−Example:
67+
68+MMC power sequences:
69+--------------------
70+
71+System on chip designs may specify a specific MMC power sequence. To
72+successfully detect an (e)MMC/SD/SDIO card, that power sequence must be
73+maintained while initializing the card.
74+
75+Optional property:
76+- mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*"
77+ for documentation of MMC power sequence bindings.
78+
79+
80+Use of Function subnodes
81+------------------------
82+
83+On embedded systems the cards connected to a host may need additional
84+properties. These can be specified in subnodes to the host controller node.
85+The subnodes are identified by the standard 'reg' property.
86+Which information exactly can be specified depends on the bindings for the
87+SDIO function driver for the subnode, as specified by the compatible string.
88+
89+Required host node properties when using function subnodes:
90+- #address-cells: should be one. The cell is the slot id.
91+- #size-cells: should be zero.
92+
93+Required function subnode properties:
94+- compatible: name of SDIO function following generic names recommended practice
95+- reg: Must contain the SDIO function number of the function this subnode
96+ describes. A value of 0 denotes the memory SD function, values from
97+ 1 to 7 denote the SDIO functions.
98+
99+
100+Examples
101+--------
102+
103+Basic example:
68104
69105 sdhci@ab000000 {
70106 compatible = "sdhci";
@@ -77,4 +113,28 @@ sdhci@ab000000 { · 6 unmodified lines
77113 max-frequency = <50000000>;
78114 keep-power-in-suspend;
79115 enable-sdio-wakeup;
116+ mmc-pwrseq = <&sdhci0_pwrseq>
80117 }
118+
119+Example with sdio function subnode:
120+
121+mmc3: mmc@01c12000 {
122+ #address-cells = <1>;
123+ #size-cells = <0>;
124+
125+ pinctrl-names = "default";
126+ pinctrl-0 = <&mmc3_pins_a>;
127+ vmmc-supply = <&reg_vmmc3>;
128+ bus-width = <4>;
129+ non-removable;
130+ mmc-pwrseq = <&sdhci0_pwrseq>
131+ status = "okay";
132+
133+ brcmf: bcrmf@1 {
134+ reg = <1>;
135+ compatible = "brcm,bcm43xx-fmac";
136+ interrupt-parent = <&pio>;
137+ interrupts = <10 8>; /* PH10 / EINT10 */
138+ interrupt-names = "host-wake";
139+ };
140+};
Documentation/devicetree/bindings/mmc/nvidia,tegra20-sdhci.txt+5−1
@@ -7,7 +7,11 @@ This file documents differences between the core properties described · 6 unmodified lines
77 by mmc.txt and the properties used by the sdhci-tegra driver.
88
99 Required properties:
10−- compatible : Should be "nvidia,<chip>-sdhci"
10+- compatible : For Tegra20, must contain "nvidia,tegra20-sdhci".
11+ For Tegra30, must contain "nvidia,tegra30-sdhci". For Tegra114,
12+ must contain "nvidia,tegra114-sdhci". For Tegra124, must contain
13+ "nvidia,tegra124-sdhci". Otherwise, must contain "nvidia,<chip>-sdhci",
14+ plus one of the above, where <chip> is tegra132 or tegra210.
1115 - clocks : Must contain one entry, for the module clock.
1216 See ../clocks/clock-bindings.txt for details.
1317 - resets : Must contain an entry for each entry in reset-names.
Documentation/devicetree/bindings/mmc/sdhci-fujitsu.txt+30−0
@@ -0,0 +1,30 @@
1+* Fujitsu SDHCI controller
2+
3+This file documents differences between the core properties in mmc.txt
4+and the properties used by the sdhci_f_sdh30 driver.
5+
6+Required properties:
7+- compatible: "fujitsu,mb86s70-sdhci-3.0"
8+- clocks: Must contain an entry for each entry in clock-names. It is a
9+ list of phandles and clock-specifier pairs.
10+ See ../clocks/clock-bindings.txt for details.
11+- clock-names: Should contain the following two entries:
12+ "iface" - clock used for sdhci interface
13+ "core" - core clock for sdhci controller
14+
15+Optional properties:
16+- vqmmc-supply: phandle to the regulator device tree node, mentioned
17+ as the VCCQ/VDD_IO supply in the eMMC/SD specs.
18+
19+Example:
20+
21+ sdhci1: mmc@36600000 {
22+ compatible = "fujitsu,mb86s70-sdhci-3.0";
23+ reg = <0 0x36600000 0x1000>;
24+ interrupts = <0 172 0x4>,
25+ <0 173 0x4>;
26+ bus-width = <4>;
27+ vqmmc-supply = <&vccq_sdhci1>;
28+ clocks = <&clock 2 2 0>, <&clock 2 3 0>;
29+ clock-names = "iface", "core";
30+ };
Documentation/devicetree/bindings/mmc/sdhci-pxa.txt+11−4
@@ -9,9 +9,13 @@ Required properties: · 8 unmodified lines
99 - reg:
1010 * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for
1111 the SDHCI registers.
12− * for "marvell,armada-380-sdhci", two register areas. The first one
13− for the SDHCI registers themselves, and the second one for the
14− AXI/Mbus bridge registers of the SDHCI unit.
12+
13+ * for "marvell,armada-380-sdhci", three register areas. The first
14+ one for the SDHCI registers themselves, the second one for the
15+ AXI/Mbus bridge registers of the SDHCI unit, the third one for the
16+ SDIO3 Configuration register
17+- reg names: should be "sdhci", "mbus", "conf-sdio3". only mandatory
18+ for "marvell,armada-380-sdhci"
1519 - clocks: Array of clocks required for SDHCI; requires at least one for
1620 I/O clock.
1721 - clock-names: Array of names corresponding to clocks property; shall be
@@ -35,7 +39,10 @@ sdhci@d4280800 { · 17 unmodified lines
3539
3640 sdhci@d8000 {
3741 compatible = "marvell,armada-380-sdhci";
38− reg = <0xd8000 0x1000>, <0xdc000 0x100>;
42+ reg-names = "sdhci", "mbus", "conf-sdio3";
43+ reg = <0xd8000 0x1000>,
44+ <0xdc000 0x100>;
45+ <0x18454 0x4>;
3946 interrupts = <0 25 0x4>;
4047 clocks = <&gateclk 17>;
4148 clock-names = "io";
Documentation/devicetree/bindings/mmc/sunxi-mmc.txt+4−4
@@ -10,8 +10,8 @@ Absolute maximum transfer rate is 200MB/s · 9 unmodified lines
1010 Required properties:
1111 - compatible : "allwinner,sun4i-a10-mmc" or "allwinner,sun5i-a13-mmc"
1212 - reg : mmc controller base registers
13− - clocks : a list with 2 phandle + clock specifier pairs
14− - clock-names : must contain "ahb" and "mmc"
13+ - clocks : a list with 4 phandle + clock specifier pairs
14+ - clock-names : must contain "ahb", "mmc", "output" and "sample"
1515 - interrupts : mmc controller interrupt
1616
1717 Optional properties:
@@ -25,8 +25,8 @@ Examples: · 7 unmodified lines
2525 mmc0: mmc@01c0f000 {
2626 compatible = "allwinner,sun5i-a13-mmc";
2727 reg = <0x01c0f000 0x1000>;
28− clocks = <&ahb_gates 8>, <&mmc0_clk>;
29− clock-names = "ahb", "mod";
28+ clocks = <&ahb_gates 8>, <&mmc0_clk>, <&mmc0_output_clk>, <&mmc0_sample_clk>;
29+ clock-names = "ahb", "mod", "output", "sample";
3030 interrupts = <0 32 4>;
3131 status = "disabled";
3232 };
Documentation/devicetree/bindings/mtd/atmel-nand.txt+1−1
@@ -1,7 +1,7 @@
11 Atmel NAND flash
22
33 Required properties:
4−- compatible : "atmel,at91rm9200-nand".
4+- compatible : should be "atmel,at91rm9200-nand" or "atmel,sama5d4-nand".
55 - reg : should specify localbus address and size used for the chip,
66 and hardware ECC controller if available.
77 If the hardware ECC is PMECC, it should contain address and size for
Documentation/devicetree/bindings/mtd/fsl-quadspi.txt+1−1
@@ -1,7 +1,7 @@
11 * Freescale Quad Serial Peripheral Interface(QuadSPI)
22
33 Required properties:
4− - compatible : Should be "fsl,vf610-qspi"
4+ - compatible : Should be "fsl,vf610-qspi" or "fsl,imx6sx-qspi"
55 - reg : the first contains the register location and length,
66 the second contains the memory mapping address and length
77 - reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory"
Documentation/devicetree/bindings/mtd/fsmc-nand.txt+1−1
@@ -9,7 +9,7 @@ Required properties: · 8 unmodified lines
99 Optional properties:
1010 - bank-width : Width (in bytes) of the device. If not present, the width
1111 defaults to 1 byte
12−- nand-skip-bbtscan: Indicates the the BBT scanning should be skipped
12+- nand-skip-bbtscan: Indicates the BBT scanning should be skipped
1313 - timings: array of 6 bytes for NAND timings. The meanings of these bytes
1414 are:
1515 byte 0 TCLR : CLE to RE delay in number of AHB clock cycles, only 4 bits
Documentation/devicetree/bindings/mtd/gpmi-nand.txt+1−1
@@ -1,7 +1,7 @@
11 * Freescale General-Purpose Media Interface (GPMI)
22
33 The GPMI nand controller provides an interface to control the
4−NAND flash chips. We support only one NAND chip now.
4+NAND flash chips.
55
66 Required properties:
77 - compatible : should be "fsl,<chip>-gpmi-nand"
Documentation/devicetree/bindings/mtd/hisi504-nand.txt+47−0
@@ -0,0 +1,47 @@
1+Hisilicon Hip04 Soc NAND controller DT binding
2+
3+Required properties:
4+
5+- compatible: Should be "hisilicon,504-nfc".
6+- reg: The first contains base physical address and size of
7+ NAND controller's registers. The second contains base
8+ physical address and size of NAND controller's buffer.
9+- interrupts: Interrupt number for nfc.
10+- nand-bus-width: See nand.txt.
11+- nand-ecc-mode: Support none and hw ecc mode.
12+- #address-cells: Partition address, should be set 1.
13+- #size-cells: Partition size, should be set 1.
14+
15+Optional properties:
16+
17+- nand-ecc-strength: Number of bits to correct per ECC step.
18+- nand-ecc-step-size: Number of data bytes covered by a single ECC step.
19+
20+The following ECC strength and step size are currently supported:
21+
22+ - nand-ecc-strength = <16>, nand-ecc-step-size = <1024>
23+
24+Flash chip may optionally contain additional sub-nodes describing partitions of
25+the address space. See partition.txt for more detail.
26+
27+Example:
28+
29+ nand: nand@4020000 {
30+ compatible = "hisilicon,504-nfc";
31+ reg = <0x4020000 0x10000>, <0x5000000 0x1000>;
32+ interrupts = <0 379 4>;
33+ nand-bus-width = <8>;
34+ nand-ecc-mode = "hw";
35+ nand-ecc-strength = <16>;
36+ nand-ecc-step-size = <1024>;
37+ #address-cells = <1>;
38+ #size-cells = <1>;
39+
40+ partition@0 {
41+ label = "nand_text";
42+ reg = <0x00000000 0x00400000>;
43+ };
44+
45+ ...
46+
47+ };
Documentation/devicetree/bindings/mtd/mtd-physmap.txt+5−0
@@ -36,6 +36,11 @@ are defined: · 35 unmodified lines
3636 - vendor-id : Contains the flash chip's vendor id (1 byte).
3737 - device-id : Contains the flash chip's device id (1 byte).
3838
39+For ROM compatible devices (and ROM fallback from cfi-flash), the following
40+additional (optional) property is defined:
41+
42+ - erase-size : The chip's physical erase block size in bytes.
43+
3944 The device tree may optionally contain sub-nodes describing partitions of the
4045 address space. See partition.txt for more detail.
4146
Documentation/devicetree/bindings/net/amd-xgbe-phy.txt+21−0
@@ -7,17 +7,38 @@ Required properties: · 6 unmodified lines
77 - SerDes Rx/Tx registers
88 - SerDes integration registers (1/2)
99 - SerDes integration registers (2/2)
10+- interrupt-parent: Should be the phandle for the interrupt controller
11+ that services interrupts for this device
12+- interrupts: Should contain the amd-xgbe-phy interrupt.
1013
1114 Optional properties:
1215 - amd,speed-set: Speed capabilities of the device
1316 0 - 1GbE and 10GbE (default)
1417 1 - 2.5GbE and 10GbE
1518
19+The following optional properties are represented by an array with each
20+value corresponding to a particular speed. The first array value represents
21+the setting for the 1GbE speed, the second value for the 2.5GbE speed and
22+the third value for the 10GbE speed. All three values are required if the
23+property is used.
24+- amd,serdes-blwc: Baseline wandering correction enablement
25+ 0 - Off
26+ 1 - On
27+- amd,serdes-cdr-rate: CDR rate speed selection
28+- amd,serdes-pq-skew: PQ (data sampling) skew
29+- amd,serdes-tx-amp: TX amplitude boost
30+
1631 Example:
1732 xgbe_phy@e1240800 {
1833 compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45";
1934 reg = <0 0xe1240800 0 0x00400>,
2035 <0 0xe1250000 0 0x00060>,
2136 <0 0xe1250080 0 0x00004>;
37+ interrupt-parent = <&gic>;
38+ interrupts = <0 323 4>;
2239 amd,speed-set = <0>;
40+ amd,serdes-blwc = <1>, <1>, <0>;
41+ amd,serdes-cdr-rate = <2>, <2>, <7>;
42+ amd,serdes-pq-skew = <10>, <10>, <30>;
43+ amd,serdes-tx-amp = <15>, <15>, <10>;
2344 };
Documentation/devicetree/bindings/net/broadcom-systemport.txt+1−1
@@ -3,7 +3,7 @@ · 2 unmodified lines
33 Required properties:
44 - compatible: should be one of "brcm,systemport-v1.00" or "brcm,systemport"
55 - reg: address and length of the register set for the device.
6−- interrupts: interrupts for the device, first cell must be for the the rx
6+- interrupts: interrupts for the device, first cell must be for the rx
77 interrupts, and the second cell should be for the transmit queues. An
88 optional third interrupt cell for Wake-on-LAN can be specified
99 - local-mac-address: Ethernet MAC address (48 bits) of this adapter
Documentation/devicetree/bindings/net/davicom-dm9000.txt+4−0
@@ -11,6 +11,8 @@ Required properties: · 10 unmodified lines
1111 Optional properties:
1212 - davicom,no-eeprom : Configuration EEPROM is not available
1313 - davicom,ext-phy : Use external PHY
14+- reset-gpios : phandle of gpio that will be used to reset chip during probe
15+- vcc-supply : phandle of regulator that will be used to enable power to chip
1416
1517 Example:
1618
@@ -21,4 +23,6 @@ Example: · 4 unmodified lines
2123 interrupts = <7 4>;
2224 local-mac-address = [00 00 de ad be ef];
2325 davicom,no-eeprom;
26+ reset-gpios = <&gpf 12 GPIO_ACTIVE_LOW>;
27+ vcc-supply = <&eth0_power>;
2428 };
Documentation/devicetree/bindings/net/fsl-fec.txt+2−0
@@ -22,6 +22,8 @@ Optional properties: · 21 unmodified lines
2222 - fsl,num-rx-queues : The property is valid for enet-avb IP, which supports
2323 hw multi queues. Should specify the rx queue number, otherwise set rx queue
2424 number to 1.
25+- fsl,magic-packet : If present, indicates that the hardware supports waking
26+ up via magic packet.
2527
2628 Optional subnodes:
2729 - mdio : specifies the mdio bus in the FEC, used as a container for phy nodes
Documentation/devicetree/bindings/net/fsl-tsec-phy.txt+10−1
@@ -8,7 +8,16 @@ of how to define a PHY. · 7 unmodified lines
88 Required properties:
99 - reg : Offset and length of the register set for the device
1010 - compatible : Should define the compatible device type for the
11− mdio. Currently, this is most likely to be "fsl,gianfar-mdio"
11+ mdio. Currently supported strings/devices are:
12+ - "fsl,gianfar-tbi"
13+ - "fsl,gianfar-mdio"
14+ - "fsl,etsec2-tbi"
15+ - "fsl,etsec2-mdio"
16+ - "fsl,ucc-mdio"
17+ - "fsl,fman-mdio"
18+ When device_type is "mdio", the following strings are also considered:
19+ - "gianfar"
20+ - "ucc_geth_phy"
1221
1322 Example:
1423
Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt+88−0
@@ -0,0 +1,88 @@
1+Hisilicon hip04 Ethernet Controller
2+
3+* Ethernet controller node
4+
5+Required properties:
6+- compatible: should be "hisilicon,hip04-mac".
7+- reg: address and length of the register set for the device.
8+- interrupts: interrupt for the device.
9+- port-handle: <phandle port channel>
10+ phandle, specifies a reference to the syscon ppe node
11+ port, port number connected to the controller
12+ channel, recv channel start from channel * number (RX_DESC_NUM)
13+- phy-mode: see ethernet.txt [1].
14+
15+Optional properties:
16+- phy-handle: see ethernet.txt [1].
17+
18+[1] Documentation/devicetree/bindings/net/ethernet.txt
19+
20+
21+* Ethernet ppe node:
22+Control rx & tx fifos of all ethernet controllers.
23+Have 2048 recv channels shared by all ethernet controllers, only if no overlap.
24+Each controller's recv channel start from channel * number (RX_DESC_NUM).
25+
26+Required properties:
27+- compatible: "hisilicon,hip04-ppe", "syscon".
28+- reg: address and length of the register set for the device.
29+
30+
31+* MDIO bus node:
32+
33+Required properties:
34+
35+- compatible: should be "hisilicon,hip04-mdio".
36+- Inherits from MDIO bus node binding [2]
37+[2] Documentation/devicetree/bindings/net/phy.txt
38+
39+Example:
40+ mdio {
41+ compatible = "hisilicon,hip04-mdio";
42+ reg = <0x28f1000 0x1000>;
43+ #address-cells = <1>;
44+ #size-cells = <0>;
45+
46+ phy0: ethernet-phy@0 {
47+ compatible = "ethernet-phy-ieee802.3-c22";
48+ reg = <0>;
49+ marvell,reg-init = <18 0x14 0 0x8001>;
50+ };
51+
52+ phy1: ethernet-phy@1 {
53+ compatible = "ethernet-phy-ieee802.3-c22";
54+ reg = <1>;
55+ marvell,reg-init = <18 0x14 0 0x8001>;
56+ };
57+ };
58+
59+ ppe: ppe@28c0000 {
60+ compatible = "hisilicon,hip04-ppe", "syscon";
61+ reg = <0x28c0000 0x10000>;
62+ };
63+
64+ fe: ethernet@28b0000 {
65+ compatible = "hisilicon,hip04-mac";
66+ reg = <0x28b0000 0x10000>;
67+ interrupts = <0 413 4>;
68+ phy-mode = "mii";
69+ port-handle = <&ppe 31 0>;
70+ };
71+
72+ ge0: ethernet@2800000 {
73+ compatible = "hisilicon,hip04-mac";
74+ reg = <0x2800000 0x10000>;
75+ interrupts = <0 402 4>;
76+ phy-mode = "sgmii";
77+ port-handle = <&ppe 0 1>;
78+ phy-handle = <&phy0>;
79+ };
80+
81+ ge8: ethernet@2880000 {
82+ compatible = "hisilicon,hip04-mac";
83+ reg = <0x2880000 0x10000>;
84+ interrupts = <0 410 4>;
85+ phy-mode = "sgmii";
86+ port-handle = <&ppe 8 2>;
87+ phy-handle = <&phy1>;
88+ };
Documentation/devicetree/bindings/net/keystone-netcp.txt+197−0
@@ -0,0 +1,197 @@
1+This document describes the device tree bindings associated with the
2+keystone network coprocessor(NetCP) driver support.
3+
4+The network coprocessor (NetCP) is a hardware accelerator that processes
5+Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsytem with a ethernet
6+switch sub-module to send and receive packets. NetCP also includes a packet
7+accelerator (PA) module to perform packet classification operations such as
8+header matching, and packet modification operations such as checksum
9+generation. NetCP can also optionally include a Security Accelerator (SA)
10+capable of performing IPSec operations on ingress/egress packets.
11+
12+Keystone II SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
13+includes a 3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates
14+per Ethernet port.
15+
16+Keystone NetCP driver has a plug-in module architecture where each of the NetCP
17+sub-modules exist as a loadable kernel module which plug in to the netcp core.
18+These sub-modules are represented as "netcp-devices" in the dts bindings. It is
19+mandatory to have the ethernet switch sub-module for the ethernet interface to
20+be operational. Any other sub-module like the PA is optional.
21+
22+NetCP Ethernet SubSystem Layout:
23+
24+-----------------------------
25+ NetCP subsystem(10G or 1G)
26+-----------------------------
27+ |
28+ |-> NetCP Devices -> |
29+ | |-> GBE/XGBE Switch
30+ | |
31+ | |-> Packet Accelerator
32+ | |
33+ | |-> Security Accelerator
34+ |
35+ |
36+ |
37+ |-> NetCP Interfaces -> |
38+ |-> Ethernet Port 0
39+ |
40+ |-> Ethernet Port 1
41+ |
42+ |-> Ethernet Port 2
43+ |
44+ |-> Ethernet Port 3
45+
46+
47+NetCP subsystem properties:
48+Required properties:
49+- compatible: Should be "ti,netcp-1.0"
50+- clocks: phandle to the reference clocks for the subsystem.
51+- dma-id: Navigator packet dma instance id.
52+
53+Optional properties:
54+- reg: register location and the size for the following register
55+ regions in the specified order.
56+ - Efuse MAC address register
57+- dma-coherent: Present if dma operations are coherent
58+- big-endian: Keystone devices can be operated in a mode where the DSP is in
59+ the big endian mode. In such cases enable this option. This
60+ option should also be enabled if the ARM is operated in
61+ big endian mode with the DSP in little endian.
62+
63+NetCP device properties: Device specification for NetCP sub-modules.
64+1Gb/10Gb (gbe/xgbe) ethernet switch sub-module specifications.
65+Required properties:
66+- label: Must be "netcp-gbe" for 1Gb & "netcp-xgbe" for 10Gb.
67+- reg: register location and the size for the following register
68+ regions in the specified order.
69+ - subsystem registers
70+ - serdes registers
71+- tx-channel: the navigator packet dma channel name for tx.
72+- tx-queue: the navigator queue number associated with the tx dma channel.
73+- interfaces: specification for each of the switch port to be registered as a
74+ network interface in the stack.
75+-- slave-port: Switch port number, 0 based numbering.
76+-- link-interface: type of link interface, supported options are
77+ - mac<->mac auto negotiate mode: 0
78+ - mac<->phy mode: 1
79+ - mac<->mac forced mode: 2
80+ - mac<->fiber mode: 3
81+ - mac<->phy mode with no mdio: 4
82+ - 10Gb mac<->phy mode : 10
83+ - 10Gb mac<->mac forced mode : 11
84+----phy-handle: phandle to PHY device
85+
86+Optional properties:
87+- enable-ale: NetCP driver keeps the address learning feature in the ethernet
88+ switch module disabled. This attribute is to enable the address
89+ learning.
90+- secondary-slave-ports: specification for each of the switch port not be
91+ registered as a network interface. NetCP driver
92+ will only initialize these ports and attach PHY
93+ driver to them if needed.
94+
95+NetCP interface properties: Interface specification for NetCP sub-modules.
96+Required properties:
97+- rx-channel: the navigator packet dma channel name for rx.
98+- rx-queue: the navigator queue number associated with rx dma channel.
99+- rx-pool: specifies the number of descriptors to be used & the region-id
100+ for creating the rx descriptor pool.
101+- tx-pool: specifies the number of descriptors to be used & the region-id
102+ for creating the tx descriptor pool.
103+- rx-queue-depth: number of descriptors in each of the free descriptor
104+ queue (FDQ) for the pktdma Rx flow. There can be at
105+ present a maximum of 4 queues per Rx flow.
106+- rx-buffer-size: the buffer size for each of the Rx flow FDQ.
107+- tx-completion-queue: the navigator queue number where the descriptors are
108+ recycled after Tx DMA completion.
109+
110+Optional properties:
111+- efuse-mac: If this is 1, then the MAC address for the interface is
112+ obtained from the device efuse mac address register
113+- local-mac-address: the driver is designed to use the of_get_mac_address api
114+ only if efuse-mac is 0. When efuse-mac is 0, the MAC
115+ address is obtained from local-mac-address. If this
116+ attribute is not present, then the driver will use a
117+ random MAC address.
118+- "netcp-device label": phandle to the device specification for each of NetCP
119+ sub-module attached to this interface.
120+
121+Example binding:
122+
123+netcp: netcp@2090000 {
124+ reg = <0x2620110 0x8>;
125+ reg-names = "efuse";
126+ compatible = "ti,netcp-1.0";
127+ #address-cells = <1>;
128+ #size-cells = <1>;
129+ ranges;
130+
131+ clocks = <&papllclk>, <&clkcpgmac>, <&chipclk12>;
132+ dma-coherent;
133+ /* big-endian; */
134+ dma-id = <0>;
135+
136+ netcp-devices {
137+ #address-cells = <1>;
138+ #size-cells = <1>;
139+ ranges;
140+ gbe@0x2090000 {
141+ label = "netcp-gbe";
142+ reg = <0x2090000 0xf00>;
143+ /* enable-ale; */
144+ tx-queue = <648>;
145+ tx-channel = <8>;
146+
147+ interfaces {
148+ gbe0: interface-0 {
149+ slave-port = <0>;
150+ link-interface = <4>;
151+ };
152+ gbe1: interface-1 {
153+ slave-port = <1>;
154+ link-interface = <4>;
155+ };
156+ };
157+
158+ secondary-slave-ports {
159+ port-2 {
160+ slave-port = <2>;
161+ link-interface = <2>;
162+ };
163+ port-3 {
164+ slave-port = <3>;
165+ link-interface = <2>;
166+ };
167+ };
168+ };
169+ };
170+
171+ netcp-interfaces {
172+ interface-0 {
173+ rx-channel = <22>;
174+ rx-pool = <1024 12>;
175+ tx-pool = <1024 12>;
176+ rx-queue-depth = <128 128 0 0>;
177+ rx-buffer-size = <1518 4096 0 0>;
178+ rx-queue = <8704>;
179+ tx-completion-queue = <8706>;
180+ efuse-mac = <1>;
181+ netcp-gbe = <&gbe0>;
182+
183+ };
184+ interface-1 {
185+ rx-channel = <23>;
186+ rx-pool = <1024 12>;
187+ tx-pool = <1024 12>;
188+ rx-queue-depth = <128 128 0 0>;
189+ rx-buffer-size = <1518 4096 0 0>;
190+ rx-queue = <8705>;
191+ tx-completion-queue = <8707>;
192+ efuse-mac = <0>;
193+ local-mac-address = [02 18 31 7e 3e 6f];
194+ netcp-gbe = <&gbe1>;
195+ };
196+ };
197+};
Documentation/devicetree/bindings/net/nfc/st21nfca.txt+9−2
@@ -1,7 +1,7 @@
11 * STMicroelectronics SAS. ST21NFCA NFC Controller
22
33 Required properties:
4−- compatible: Should be "st,st21nfca_i2c".
4+- compatible: Should be "st,st21nfca-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
77 - interrupt-parent: phandle for the interrupt gpio controller
@@ -11,6 +11,10 @@ Required properties: · 3 unmodified lines
1111 Optional SoC Specific Properties:
1212 - pinctrl-names: Contains only one value - "default".
1313 - pintctrl-0: Specifies the pin control groups used for this controller.
14+- ese-present: Specifies that an ese is physically connected to the nfc
15+controller.
16+- uicc-present: Specifies that the uicc swp signal can be physically
17+connected to the nfc controller.
1418
1519 Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):
1620
@@ -20,7 +24,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): · 3 unmodified lines
2024
2125 st21nfca: st21nfca@1 {
2226
23− compatible = "st,st21nfca_i2c";
27+ compatible = "st,st21nfca-i2c";
2428
2529 reg = <0x01>;
2630 clock-frequency = <400000>;
@@ -29,5 +33,8 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): · 2 unmodified lines
2933 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
3034
3135 enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
36+
37+ ese-present;
38+ uicc-present;
3239 };
3340 };
Documentation/devicetree/bindings/net/nfc/st21nfcb.txt+2−2
@@ -1,7 +1,7 @@
11 * STMicroelectronics SAS. ST21NFCB NFC Controller
22
33 Required properties:
4−- compatible: Should be "st,st21nfcb_i2c".
4+- compatible: Should be "st,st21nfcb-i2c".
55 - clock-frequency: I²C work frequency.
66 - reg: address on the bus
77 - interrupt-parent: phandle for the interrupt gpio controller
@@ -20,7 +20,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCB on I2C2): · 12 unmodified lines
2020
2121 st21nfcb: st21nfcb@8 {
2222
23− compatible = "st,st21nfcb_i2c";
23+ compatible = "st,st21nfcb-i2c";
2424
2525 reg = <0x08>;
2626 clock-frequency = <400000>;
Documentation/devicetree/bindings/net/rockchip-dwmac.txt+68−0
@@ -0,0 +1,68 @@
1+Rockchip SoC RK3288 10/100/1000 Ethernet driver(GMAC)
2+
3+The device node has following properties.
4+
5+Required properties:
6+ - compatible: Can be "rockchip,rk3288-gmac".
7+ - reg: addresses and length of the register sets for the device.
8+ - interrupts: Should contain the GMAC interrupts.
9+ - interrupt-names: Should contain the interrupt names "macirq".
10+ - rockchip,grf: phandle to the syscon grf used to control speed and mode.
11+ - clocks: <&cru SCLK_MAC>: clock selector for main clock, from PLL or PHY.
12+ <&cru SCLK_MAC_PLL>: PLL clock for SCLK_MAC
13+ <&cru SCLK_MAC_RX>: clock gate for RX
14+ <&cru SCLK_MAC_TX>: clock gate for TX
15+ <&cru SCLK_MACREF>: clock gate for RMII referce clock
16+ <&cru SCLK_MACREF_OUT> clock gate for RMII reference clock output
17+ <&cru ACLK_GMAC>: AXI clock gate for GMAC
18+ <&cru PCLK_GMAC>: APB clock gate for GMAC
19+ - clock-names: One name for each entry in the clocks property.
20+ - phy-mode: See ethernet.txt file in the same directory.
21+ - pinctrl-names: Names corresponding to the numbered pinctrl states.
22+ - pinctrl-0: pin-control mode. can be <&rgmii_pins> or <&rmii_pins>.
23+ - clock_in_out: For RGMII, it must be "input", means main clock(125MHz)
24+ is not sourced from SoC's PLL, but input from PHY; For RMII, "input" means
25+ PHY provides the reference clock(50MHz), "output" means GMAC provides the
26+ reference clock.
27+ - snps,reset-gpio gpio number for phy reset.
28+ - snps,reset-active-low boolean flag to indicate if phy reset is active low.
29+ - assigned-clocks: main clock, should be <&cru SCLK_MAC>;
30+ - assigned-clock-parents = parent of main clock.
31+ can be <&ext_gmac> or <&cru SCLK_MAC_PLL>.
32+
33+Optional properties:
34+ - tx_delay: Delay value for TXD timing. Range value is 0~0x7F, 0x30 as default.
35+ - rx_delay: Delay value for RXD timing. Range value is 0~0x7F, 0x10 as default.
36+ - phy-supply: phandle to a regulator if the PHY needs one
37+
38+Example:
39+
40+gmac: ethernet@ff290000 {
41+ compatible = "rockchip,rk3288-gmac";
42+ reg = <0xff290000 0x10000>;
43+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
44+ interrupt-names = "macirq";
45+ rockchip,grf = <&grf>;
46+ clocks = <&cru SCLK_MAC>,
47+ <&cru SCLK_MAC_RX>, <&cru SCLK_MAC_TX>,
48+ <&cru SCLK_MACREF>, <&cru SCLK_MACREF_OUT>,
49+ <&cru ACLK_GMAC>, <&cru PCLK_GMAC>;
50+ clock-names = "stmmaceth",
51+ "mac_clk_rx", "mac_clk_tx",
52+ "clk_mac_ref", "clk_mac_refout",
53+ "aclk_mac", "pclk_mac";
54+ phy-mode = "rgmii";
55+ pinctrl-names = "default";
56+ pinctrl-0 = <&rgmii_pins /*&rmii_pins*/>;
57+
58+ clock_in_out = "input";
59+ snps,reset-gpio = <&gpio4 7 0>;
60+ snps,reset-active-low;
61+
62+ assigned-clocks = <&cru SCLK_MAC>;
63+ assigned-clock-parents = <&ext_gmac>;
64+ tx_delay = <0x30>;
65+ rx_delay = <0x10>;
66+
67+ status = "ok";
68+};
Documentation/devicetree/bindings/net/sti-dwmac.txt+5−9
@@ -9,14 +9,10 @@ The device node has following properties. · 8 unmodified lines
99 Required properties:
1010 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",
1111 "st,stih407-dwmac", "st,stid127-dwmac".
12− - reg : Offset of the glue configuration register map in system
13− configuration regmap pointed by st,syscon property and size.
14− - st,syscon : Should be phandle to system configuration node which
15− encompases this glue registers.
12+ - st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
13+ encompases the glue register, and the offset of the control register.
1614 - st,gmac_en: this is to enable the gmac into a dedicated sysctl control
1715 register available on STiH407 SoC.
18− - sti-ethconf: this is the gmac glue logic register to enable the GMAC,
19− select among the different modes and program the clk retiming.
2016 - pinctrl-0: pin-control for all the MII mode supported.
2117
2218 Optional properties:
@@ -40,10 +36,10 @@ ethernet0: dwmac@9630000 { · 17 unmodified lines
4036 device_type = "network";
4137 status = "disabled";
4238 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
43− reg = <0x9630000 0x8000>, <0x80 0x4>;
44− reg-names = "stmmaceth", "sti-ethconf";
39+ reg = <0x9630000 0x8000>;
40+ reg-names = "stmmaceth";
4541
46− st,syscon = <&syscfg_sbc_reg>;
42+ st,syscon = <&syscfg_sbc_reg 0x80>;
4743 st,gmac_en;
4844 resets = <&softreset STIH407_ETH1_SOFTRESET>;
4945 reset-names = "stmmaceth";
Documentation/devicetree/bindings/net/stmmac.txt+1−0
@@ -43,6 +43,7 @@ Optional properties: · 42 unmodified lines
4343 available this clock is used for programming the Timestamp Addend Register.
4444 If not passed then the system clock will be used and this is fine on some
4545 platforms.
46+- snps,burst_len: The AXI burst lenth value of the AXI BUS MODE register.
4647
4748 Examples:
4849
Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt+30−0
@@ -0,0 +1,30 @@
1+* Qualcomm Atheros ath10k wireless devices
2+
3+For ath10k devices the calibration data can be provided through Device
4+Tree. The node is a child node of the PCI controller.
5+
6+Required properties:
7+-compatible : Should be "qcom,ath10k"
8+
9+Optional properties:
10+- qcom,ath10k-calibration-data : calibration data as an array, the
11+ length can vary between hw versions
12+
13+
14+Example:
15+
16+pci {
17+ pcie@0 {
18+ reg = <0 0 0 0 0>;
19+ #interrupt-cells = <1>;
20+ #size-cells = <2>;
21+ #address-cells = <3>;
22+ device_type = "pci";
23+
24+ ath10k@0,0 {
25+ reg = <0 0 0 0 0>;
26+ device_type = "pci";
27+ qcom,ath10k-calibration-data = [ 01 02 03 ... ];
28+ };
29+ };
30+};
Documentation/devicetree/bindings/panel/avic,tm070ddh03.txt+7−0
@@ -0,0 +1,7 @@
1+Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
2+
3+Required properties:
4+- compatible: should be "avic,tm070ddh03"
5+
6+This binding is compatible with the simple-panel binding, which is specified
7+in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt+7−0
@@ -0,0 +1,7 @@
1+GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
2+
3+Required properties:
4+- compatible: should be "giantplus,gpg48273qs5"
5+
6+This binding is compatible with the simple-panel binding, which is specified
7+in simple-panel.txt in this directory.
Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt+4−4
@@ -1,10 +1,10 @@
11 NVIDIA Tegra PCIe controller
22
33 Required properties:
4−- compatible: Must be one of:
5− - "nvidia,tegra20-pcie"
6− - "nvidia,tegra30-pcie"
7− - "nvidia,tegra124-pcie"
4+- compatible: For Tegra20, must contain "nvidia,tegra20-pcie". For Tegra30,
5+ "nvidia,tegra30-pcie". For Tegra124, must contain "nvidia,tegra124-pcie".
6+ Otherwise, must contain "nvidia,<chip>-pcie", plus one of the above, where
7+ <chip> is tegra132 or tegra210.
88 - device_type: Must be "pci"
99 - reg: A list of physical base address and length for each set of controller
1010 registers. Must contain an entry for each entry in the reg-names property.
Documentation/devicetree/bindings/pci/versatile.txt+59−0
@@ -0,0 +1,59 @@
1+* ARM Versatile Platform Baseboard PCI interface
2+
3+PCI host controller found on the ARM Versatile PB board's FPGA.
4+
5+Required properties:
6+- compatible: should contain "arm,versatile-pci" to identify the Versatile PCI
7+ controller.
8+- reg: base addresses and lengths of the pci controller. There must be 3
9+ entries:
10+ - Versatile-specific registers
11+ - Self Config space
12+ - Config space
13+- #address-cells: set to <3>
14+- #size-cells: set to <2>
15+- device_type: set to "pci"
16+- bus-range: set to <0 0xff>
17+- ranges: ranges for the PCI memory and I/O regions
18+- #interrupt-cells: set to <1>
19+- interrupt-map-mask and interrupt-map: standard PCI properties to define
20+ the mapping of the PCI interface to interrupt numbers.
21+
22+Example:
23+
24+pci-controller@10001000 {
25+ compatible = "arm,versatile-pci";
26+ device_type = "pci";
27+ reg = <0x10001000 0x1000
28+ 0x41000000 0x10000
29+ 0x42000000 0x100000>;
30+ bus-range = <0 0xff>;
31+ #address-cells = <3>;
32+ #size-cells = <2>;
33+ #interrupt-cells = <1>;
34+
35+ ranges = <0x01000000 0 0x00000000 0x43000000 0 0x00010000 /* downstream I/O */
36+ 0x02000000 0 0x50000000 0x50000000 0 0x10000000 /* non-prefetchable memory */
37+ 0x42000000 0 0x60000000 0x60000000 0 0x10000000>; /* prefetchable memory */
38+
39+ interrupt-map-mask = <0x1800 0 0 7>;
40+ interrupt-map = <0x1800 0 0 1 &sic 28
41+ 0x1800 0 0 2 &sic 29
42+ 0x1800 0 0 3 &sic 30
43+ 0x1800 0 0 4 &sic 27
44+
45+ 0x1000 0 0 1 &sic 27
46+ 0x1000 0 0 2 &sic 28
47+ 0x1000 0 0 3 &sic 29
48+ 0x1000 0 0 4 &sic 30
49+
50+ 0x0800 0 0 1 &sic 30
51+ 0x0800 0 0 2 &sic 27
52+ 0x0800 0 0 3 &sic 28
53+ 0x0800 0 0 4 &sic 29
54+
55+ 0x0000 0 0 1 &sic 29
56+ 0x0000 0 0 2 &sic 30
57+ 0x0000 0 0 3 &sic 27
58+ 0x0000 0 0 4 &sic 28>;
59+};
Documentation/devicetree/bindings/phy/phy-miphy28lp.txt+16−27
@@ -26,6 +26,7 @@ Required properties (port (child) node): · 25 unmodified lines
2626 filled in "reg". It can also contain the offset of the system configuration
2727 registers used as glue-logic to setup the device for SATA/PCIe or USB3
2828 devices.
29+- st,syscfg : Offset of the parent configuration register.
2930 - resets : phandle to the parent reset controller.
3031 - reset-names : Associated name must be "miphy-sw-rst".
3132
@@ -54,18 +55,12 @@ example: · 22 unmodified lines
5455 phy_port0: port@9b22000 {
5556 reg = <0x9b22000 0xff>,
5657 <0x9b09000 0xff>,
57− <0x9b04000 0xff>,
58− <0x114 0x4>, /* sysctrl MiPHY cntrl */
59− <0x818 0x4>, /* sysctrl MiPHY status*/
60− <0xe0 0x4>, /* sysctrl PCIe */
61− <0xec 0x4>; /* sysctrl SATA */
58+ <0x9b04000 0xff>;
6259 reg-names = "sata-up",
6360 "pcie-up",
64− "pipew",
65− "miphy-ctrl-glue",
66− "miphy-status-glue",
67− "pcie-glue",
68− "sata-glue";
61+ "pipew";
62+
63+ st,syscfg = <0x114 0x818 0xe0 0xec>;
6964 #phy-cells = <1>;
7065 st,osc-rdy;
7166 reset-names = "miphy-sw-rst";
@@ -75,18 +70,13 @@ example: · 3 unmodified lines
7570 phy_port1: port@9b2a000 {
7671 reg = <0x9b2a000 0xff>,
7772 <0x9b19000 0xff>,
78− <0x9b14000 0xff>,
79− <0x118 0x4>,
80− <0x81c 0x4>,
81− <0xe4 0x4>,
82− <0xf0 0x4>;
73+ <0x9b14000 0xff>;
8374 reg-names = "sata-up",
8475 "pcie-up",
85− "pipew",
86− "miphy-ctrl-glue",
87− "miphy-status-glue",
88− "pcie-glue",
89− "sata-glue";
76+ "pipew";
77+
78+ st,syscfg = <0x118 0x81c 0xe4 0xf0>;
79+
9080 #phy-cells = <1>;
9181 st,osc-force-ext;
9282 reset-names = "miphy-sw-rst";
@@ -95,13 +85,12 @@ example: · 2 unmodified lines
9585
9686 phy_port2: port@8f95000 {
9787 reg = <0x8f95000 0xff>,
98− <0x8f90000 0xff>,
99− <0x11c 0x4>,
100− <0x820 0x4>;
88+ <0x8f90000 0xff>;
10189 reg-names = "pipew",
102− "usb3-up",
103− "miphy-ctrl-glue",
104− "miphy-status-glue";
90+ "usb3-up";
91+
92+ st,syscfg = <0x11c 0x820>;
93+
10594 #phy-cells = <1>;
10695 reset-names = "miphy-sw-rst";
10796 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
@@ -125,4 +114,4 @@ example: · 17 unmodified lines
125114
126115 Macro definitions for the supported miphy configuration can be found in:
127116
128−include/dt-bindings/phy/phy-miphy28lp.h
117+include/dt-bindings/phy/phy.h
Documentation/devicetree/bindings/phy/phy-miphy365x.txt+8−7
@@ -6,8 +6,10 @@ for SATA and PCIe. · 5 unmodified lines
66
77 Required properties (controller (parent) node):
88 - compatible : Should be "st,miphy365x-phy"
9−- st,syscfg : Should be a phandle of the system configuration register group
10− which contain the SATA, PCIe mode setting bits
9+- st,syscfg : Phandle / integer array property. Phandle of sysconfig group
10+ containing the miphy registers and integer array should contain
11+ an entry for each port sub-node, specifying the control
12+ register offset inside the sysconfig group.
1113
1214 Required nodes : A sub-node is required for each channel the controller
1315 provides. Address range information including the usual
@@ -26,7 +28,6 @@ Required properties (port (child) node): · 12 unmodified lines
2628 registers filled in "reg":
2729 - sata: For SATA devices
2830 - pcie: For PCIe devices
29− - syscfg: To specify the syscfg based config register
3031
3132 Optional properties (port (child) node):
3233 - st,sata-gen : Generation of locally attached SATA IP. Expected values
@@ -39,20 +40,20 @@ Example: · 6 unmodified lines
3940
4041 miphy365x_phy: miphy365x@fe382000 {
4142 compatible = "st,miphy365x-phy";
42− st,syscfg = <&syscfg_rear>;
43+ st,syscfg = <&syscfg_rear 0x824 0x828>;
4344 #address-cells = <1>;
4445 #size-cells = <1>;
4546 ranges;
4647
4748 phy_port0: port@fe382000 {
48− reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>;
49− reg-names = "sata", "pcie", "syscfg";
49+ reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
50+ reg-names = "sata", "pcie";
5051 #phy-cells = <1>;
5152 st,sata-gen = <3>;
5253 };
5354
5455 phy_port1: port@fe38a000 {
55− reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;;
56+ reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;;
5657 reg-names = "sata", "pcie", "syscfg";
5758 #phy-cells = <1>;
5859 st,pcie-tx-pol-inv;
Documentation/devicetree/bindings/phy/phy-stih407-usb.txt+2−8
@@ -5,10 +5,7 @@ host controllers (when controlling usb2/1.1 devices) available on STiH407 SoC fa · 4 unmodified lines
55
66 Required properties:
77 - compatible : should be "st,stih407-usb2-phy"
8−- reg : contain the offset and length of the system configuration registers
9− used as glue logic to control & parameter phy
10−- reg-names : the names of the system configuration registers in "reg", should be "param" and "reg"
11−- st,syscfg : sysconfig register to manage phy parameter at driver level
8+- st,syscfg : phandle of sysconfig bank plus integer array containing phyparam and phyctrl register offsets
129 - resets : list of phandle and reset specifier pairs. There should be two entries, one
1310 for the whole phy and one for the port
1411 - reset-names : list of reset signal names. Should be "global" and "port"
@@ -19,11 +16,8 @@ Example: · 4 unmodified lines
1916
2017 usb2_picophy0: usbpicophy@f8 {
2118 compatible = "st,stih407-usb2-phy";
22− reg = <0xf8 0x04>, /* syscfg 5062 */
23− <0xf4 0x04>; /* syscfg 5061 */
24− reg-names = "param", "ctrl";
2519 #phy-cells = <0>;
26− st,syscfg = <&syscfg_core>;
20+ st,syscfg = <&syscfg_core 0x100 0xf4>;
2721 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
2822 <&picophyreset STIH407_PICOPHY0_RESET>;
2923 reset-names = "global", "port";
Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt+37−0
@@ -0,0 +1,37 @@
1+ROCKCHIP USB2 PHY
2+
3+Required properties:
4+ - compatible: rockchip,rk3288-usb-phy
5+ - rockchip,grf : phandle to the syscon managing the "general
6+ register files"
7+ - #address-cells: should be 1
8+ - #size-cells: should be 0
9+
10+Sub-nodes:
11+Each PHY should be represented as a sub-node.
12+
13+Sub-nodes
14+required properties:
15+- #phy-cells: should be 0
16+- reg: PHY configure reg address offset in GRF
17+ "0x320" - for PHY attach to OTG controller
18+ "0x334" - for PHY attach to HOST0 controller
19+ "0x348" - for PHY attach to HOST1 controller
20+
21+Optional Properties:
22+- clocks : phandle + clock specifier for the phy clocks
23+- clock-names: string, clock name, must be "phyclk"
24+
25+Example:
26+
27+usbphy: phy {
28+ compatible = "rockchip,rk3288-usb-phy";
29+ rockchip,grf = <&grf>;
30+ #address-cells = <1>;
31+ #size-cells = <0>;
32+
33+ usbphy0: usb-phy0 {
34+ #phy-cells = <0>;
35+ reg = <0x320>;
36+ };
37+};
Documentation/devicetree/bindings/phy/samsung-phy.txt+1−1
@@ -3,8 +3,8 @@ Samsung S5P/EXYNOS SoC series MIPI CSIS/DSIM DPHY · 2 unmodified lines
33
44 Required properties:
55 - compatible : should be "samsung,s5pv210-mipi-video-phy";
6−- reg : offset and length of the MIPI DPHY register set;
76 - #phy-cells : from the generic phy bindings, must be 1;
7+- syscon - phandle to the PMU system controller;
88
99 For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in
1010 the PHY specifier identifies the PHY and its meaning is as follows:
Documentation/devicetree/bindings/pinctrl/allwinner,sunxi-pinctrl.txt+1−0
@@ -11,6 +11,7 @@ Required properties: · 10 unmodified lines
1111 "allwinner,sun5i-a10s-pinctrl"
1212 "allwinner,sun5i-a13-pinctrl"
1313 "allwinner,sun6i-a31-pinctrl"
14+ "allwinner,sun6i-a31s-pinctrl"
1415 "allwinner,sun6i-a31-r-pinctrl"
1516 "allwinner,sun7i-a20-pinctrl"
1617 "allwinner,sun8i-a23-pinctrl"
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-pinmux.txt+2−1
@@ -6,7 +6,8 @@ nvidia,tegra30-pinmux.txt. In fact, this document assumes that binding as · 5 unmodified lines
66 a baseline, and only documents the differences between the two bindings.
77
88 Required properties:
9−- compatible: "nvidia,tegra124-pinmux"
9+- compatible: For Tegra124, must contain "nvidia,tegra124-pinmux". For
10+ Tegra132, must contain '"nvidia,tegra132-pinmux", "nvidia-tegra124-pinmux"'.
1011 - reg: Should contain a list of base address and size pairs for:
1112 -- first entry - the drive strength and pad control registers.
1213 -- second entry - the pinmux registers
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-xusb-padctl.txt+3−1
@@ -13,7 +13,9 @@ how to describe and reference PHYs in device trees. · 12 unmodified lines
1313
1414 Required properties:
1515 --------------------
16−- compatible: should be "nvidia,tegra124-xusb-padctl"
16+- compatible: For Tegra124, must contain "nvidia,tegra124-xusb-padctl".
17+ Otherwise, must contain '"nvidia,<chip>-xusb-padctl",
18+ "nvidia-tegra124-xusb-padctl"', where <chip> is tegra132 or tegra210.
1719 - reg: Physical base address and length of the controller's registers.
1820 - resets: Must contain an entry for each entry in reset-names.
1921 See ../reset/reset.txt for details.
Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt+186−0
@@ -0,0 +1,186 @@
1+Qualcomm MSM8916 TLMM block
2+
3+This binding describes the Top Level Mode Multiplexer block found in the
4+MSM8916 platform.
5+
6+- compatible:
7+ Usage: required
8+ Value type: <string>
9+ Definition: must be "qcom,msm8916-pinctrl"
10+
11+- reg:
12+ Usage: required
13+ Value type: <prop-encoded-array>
14+ Definition: the base address and size of the TLMM register space.
15+
16+- interrupts:
17+ Usage: required
18+ Value type: <prop-encoded-array>
19+ Definition: should specify the TLMM summary IRQ.
20+
21+- interrupt-controller:
22+ Usage: required
23+ Value type: <none>
24+ Definition: identifies this node as an interrupt controller
25+
26+- #interrupt-cells:
27+ Usage: required
28+ Value type: <u32>
29+ Definition: must be 2. Specifying the pin number and flags, as defined
30+ in <dt-bindings/interrupt-controller/irq.h>
31+
32+- gpio-controller:
33+ Usage: required
34+ Value type: <none>
35+ Definition: identifies this node as a gpio controller
36+
37+- #gpio-cells:
38+ Usage: required
39+ Value type: <u32>
40+ Definition: must be 2. Specifying the pin number and flags, as defined
41+ in <dt-bindings/gpio/gpio.h>
42+
43+Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44+a general description of GPIO and interrupt bindings.
45+
46+Please refer to pinctrl-bindings.txt in this directory for details of the
47+common pinctrl bindings used by client devices, including the meaning of the
48+phrase "pin configuration node".
49+
50+The pin configuration nodes act as a container for an arbitrary number of
51+subnodes. Each of these subnodes represents some desired configuration for a
52+pin, a group, or a list of pins or groups. This configuration can include the
53+mux function to select on those pin(s)/group(s), and various pin configuration
54+parameters, such as pull-up, drive strength, etc.
55+
56+
57+PIN CONFIGURATION NODES:
58+
59+The name of each subnode is not important; all subnodes should be enumerated
60+and processed purely based on their content.
61+
62+Each subnode only affects those parameters that are explicitly listed. In
63+other words, a subnode that lists a mux function but no pin configuration
64+parameters implies no information about any pin configuration parameters.
65+Similarly, a pin subnode that describes a pullup parameter implies no
66+information about e.g. the mux function.
67+
68+
69+The following generic properties as defined in pinctrl-bindings.txt are valid
70+to specify in a pin configuration subnode:
71+
72+- pins:
73+ Usage: required
74+ Value type: <string-array>
75+ Definition: List of gpio pins affected by the properties specified in
76+ this subnode. Valid pins are:
77+ gpio0-gpio121,
78+ sdc1_clk,
79+ sdc1_cmd,
80+ sdc1_data
81+ sdc2_clk,
82+ sdc2_cmd,
83+ sdc2_data,
84+ qdsd_cmd,
85+ qdsd_data0,
86+ qdsd_data1,
87+ qdsd_data2,
88+ qdsd_data3
89+
90+- function:
91+ Usage: required
92+ Value type: <string>
93+ Definition: Specify the alternative function to be configured for the
94+ specified pins. Functions are only valid for gpio pins.
95+ Valid values are:
96+ adsp_ext, alsp_int, atest_bbrx0, atest_bbrx1, atest_char, atest_char0,
97+ atest_char1, atest_char2, atest_char3, atest_combodac, atest_gpsadc0,
98+ atest_gpsadc1, atest_tsens, atest_wlan0, atest_wlan1, backlight_en,
99+ bimc_dte0,bimc_dte1, blsp_i2c1, blsp_i2c2, blsp_i2c3, blsp_i2c4,
100+ blsp_i2c5, blsp_i2c6, blsp_spi1, blsp_spi1_cs1, blsp_spi1_cs2,
101+ blsp_spi1_cs3, blsp_spi2, blsp_spi2_cs1, blsp_spi2_cs2, blsp_spi2_cs3,
102+ blsp_spi3, blsp_spi3_cs1, blsp_spi3_cs2, blsp_spi3_cs3, blsp_spi4,
103+ blsp_spi5, blsp_spi6, blsp_uart1, blsp_uart2, blsp_uim1, blsp_uim2,
104+ cam1_rst, cam1_standby, cam_mclk0, cam_mclk1, cci_async, cci_i2c,
105+ cci_timer0, cci_timer1, cci_timer2, cdc_pdm0, codec_mad, dbg_out,
106+ display_5v, dmic0_clk, dmic0_data, dsi_rst, ebi0_wrcdc, euro_us,
107+ ext_lpass, flash_strobe, gcc_gp1_clk_a, gcc_gp1_clk_b, gcc_gp2_clk_a,
108+ gcc_gp2_clk_b, gcc_gp3_clk_a, gcc_gp3_clk_b, gpio, gsm0_tx0, gsm0_tx1,
109+ gsm1_tx0, gsm1_tx1, gyro_accl, kpsns0, kpsns1, kpsns2, ldo_en,
110+ ldo_update, mag_int, mdp_vsync, modem_tsync, m_voc, nav_pps, nav_tsync,
111+ pa_indicator, pbs0, pbs1, pbs2, pri_mi2s, pri_mi2s_ws, prng_rosc,
112+ pwr_crypto_enabled_a, pwr_crypto_enabled_b, pwr_modem_enabled_a,
113+ pwr_modem_enabled_b, pwr_nav_enabled_a, pwr_nav_enabled_b,
114+ qdss_ctitrig_in_a0, qdss_ctitrig_in_a1, qdss_ctitrig_in_b0,
115+ qdss_ctitrig_in_b1, qdss_ctitrig_out_a0, qdss_ctitrig_out_a1,
116+ qdss_ctitrig_out_b0, qdss_ctitrig_out_b1, qdss_traceclk_a,
117+ qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a,
118+ qdss_tracedata_b, reset_n, sd_card, sd_write, sec_mi2s, smb_int,
119+ ssbi_wtr0, ssbi_wtr1, uim1, uim2, uim3, uim_batt, wcss_bt, wcss_fm,
120+ wcss_wlan, webcam1_rst
121+
122+- bias-disable:
123+ Usage: optional
124+ Value type: <none>
125+ Definition: The specified pins should be configued as no pull.
126+
127+- bias-pull-down:
128+ Usage: optional
129+ Value type: <none>
130+ Definition: The specified pins should be configued as pull down.
131+
132+- bias-pull-up:
133+ Usage: optional
134+ Value type: <none>
135+ Definition: The specified pins should be configued as pull up.
136+
137+- output-high:
138+ Usage: optional
139+ Value type: <none>
140+ Definition: The specified pins are configured in output mode, driven
141+ high.
142+ Not valid for sdc pins.
143+
144+- output-low:
145+ Usage: optional
146+ Value type: <none>
147+ Definition: The specified pins are configured in output mode, driven
148+ low.
149+ Not valid for sdc pins.
150+
151+- drive-strength:
152+ Usage: optional
153+ Value type: <u32>
154+ Definition: Selects the drive strength for the specified pins, in mA.
155+ Valid values are: 2, 4, 6, 8, 10, 12, 14 and 16
156+
157+Example:
158+
159+ tlmm: pinctrl@1000000 {
160+ compatible = "qcom,msm8916-pinctrl";
161+ reg = <0x1000000 0x300000>;
162+ interrupts = <0 208 0>;
163+ gpio-controller;
164+ #gpio-cells = <2>;
165+ interrupt-controller;
166+ #interrupt-cells = <2>;
167+
168+ uart2: uart2-default {
169+ mux {
170+ pins = "gpio4", "gpio5";
171+ function = "blsp_uart2";
172+ };
173+
174+ tx {
175+ pins = "gpio4";
176+ drive-strength = <4>;
177+ bias-disable;
178+ };
179+
180+ rx {
181+ pins = "gpio5";
182+ drive-strength = <2>;
183+ bias-pull-up;
184+ };
185+ };
186+ };
Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt+4−5
@@ -1,7 +1,7 @@
11 * Renesas Pin Function Controller (GPIO and Pin Mux/Config)
22
3−The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH7372,
4−SH73A0, R8A73A4 and R8A7740 it also acts as a GPIO controller.
3+The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH73A0,
4+R8A73A4 and R8A7740 it also acts as a GPIO controller.
55
66
77 Pin Control
@@ -10,13 +10,13 @@ Pin Control · 2 unmodified lines
1010 Required Properties:
1111
1212 - compatible: should be one of the following.
13+ - "renesas,pfc-emev2": for EMEV2 (EMMA Mobile EV2) compatible pin-controller.
1314 - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller.
1415 - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller.
1516 - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller.
1617 - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.
1718 - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.
1819 - "renesas,pfc-r8a7791": for R8A7791 (R-Car M2) compatible pin-controller.
19− - "renesas,pfc-sh7372": for SH7372 (SH-Mobile AP4) compatible pin-controller.
2020 - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller.
2121
2222 - reg: Base address and length of each memory resource used by the pin
@@ -75,8 +75,7 @@ bias-disable, bias-pull-up and bias-pull-down. · 52 unmodified lines
7575 GPIO
7676 ----
7777
78−On SH7372, SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller
79−node.
78+On SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller node.
8079
8180 Required Properties:
8281
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+12−0
@@ -171,6 +171,18 @@ Aliases: · 170 unmodified lines
171171 All the pin controller nodes should be represented in the aliases node using
172172 the following format 'pinctrl{n}' where n is a unique number for the alias.
173173
174+Aliases for controllers compatible with "samsung,exynos7-pinctrl":
175+- pinctrl0: pin controller of ALIVE block,
176+- pinctrl1: pin controller of BUS0 block,
177+- pinctrl2: pin controller of NFC block,
178+- pinctrl3: pin controller of TOUCH block,
179+- pinctrl4: pin controller of FF block,
180+- pinctrl5: pin controller of ESE block,
181+- pinctrl6: pin controller of FSYS0 block,
182+- pinctrl7: pin controller of FSYS1 block,
183+- pinctrl8: pin controller of BUS1 block,
184+- pinctrl9: pin controller of AUDIO block,
185+
174186 Example: A pin-controller node with pin banks:
175187
176188 pinctrl_0: pinctrl@11400000 {
Documentation/devicetree/bindings/pinctrl/ste,nomadik.txt+20−15
@@ -16,17 +16,22 @@ mux function to select on those pin(s)/group(s), and various pin configuration · 15 unmodified lines
1616 parameters, such as input, output, pull up, pull down...
1717
1818 The name of each subnode is not important; all subnodes should be enumerated
19−and processed purely based on their content.
19+and processed purely based on their content. The subnodes use the generic
20+pin multiplexing node layout from the standard pin control bindings
21+(see pinctrl-bindings.txt):
2022
21−Required subnode-properties:
22−- ste,pins : An array of strings. Each string contains the name of a pin or
23− group.
24−
25−Optional subnode-properties:
26−- ste,function: A string containing the name of the function to mux to the
23+Required pin multiplexing subnode properties:
24+- function: A string containing the name of the function to mux to the
2725 pin or group.
26+- groups : An array of strings. Each string contains the name of a pin
27+ group that will be combined with the function to form a multiplexing
28+ set-up.
2829
29−- ste,config: Handle of pin configuration node (e.g. ste,config = <&slpm_in_wkup_pdis>)
30+Required pin configuration subnode properties:
31+- pins: A string array describing the pins affected by the configuration
32+ in the node.
33+- ste,config: Handle of pin configuration node
34+ (e.g. ste,config = <&slpm_in_wkup_pdis>)
3035
3136 - ste,input : <0/1/2>
3237 0: input with no pull
@@ -97,32 +102,32 @@ Example board file extract: · 64 unmodified lines
97102 uart0 {
98103 uart0_default_mux: uart0_mux {
99104 u0_default_mux {
100− ste,function = "u0";
101− ste,pins = "u0_a_1";
105+ function = "u0";
106+ pins = "u0_a_1";
102107 };
103108 };
104109 uart0_default_mode: uart0_default {
105110 uart0_default_cfg1 {
106− ste,pins = "GPIO0", "GPIO2";
111+ pins = "GPIO0", "GPIO2";
107112 ste,input = <1>;
108113 };
109114
110115 uart0_default_cfg2 {
111− ste,pins = "GPIO1", "GPIO3";
116+ pins = "GPIO1", "GPIO3";
112117 ste,output = <1>;
113118 };
114119 };
115120 uart0_sleep_mode: uart0_sleep {
116121 uart0_sleep_cfg1 {
117− ste,pins = "GPIO0", "GPIO2";
122+ pins = "GPIO0", "GPIO2";
118123 ste,config = <&slpm_in_wkup_pdis>;
119124 };
120125 uart0_sleep_cfg2 {
121− ste,pins = "GPIO1";
126+ pins = "GPIO1";
122127 ste,config = <&slpm_out_hi_wkup_pdis>;
123128 };
124129 uart0_sleep_cfg3 {
125− ste,pins = "GPIO3";
130+ pins = "GPIO3";
126131 ste,config = <&slpm_out_wkup_pdis>;
127132 };
128133 };
Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt+104−0
@@ -0,0 +1,104 @@
1+ Binding for Xilinx Zynq Pinctrl
2+
3+Required properties:
4+- compatible: "xlnx,zynq-pinctrl"
5+- syscon: phandle to SLCR
6+- reg: Offset and length of pinctrl space in SLCR
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+Zynq's pin configuration nodes act as a container for an arbitrary 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 pin(s)/group(s), and various pin configuration
16+parameters, such as pull-up, slew rate, etc.
17+
18+Each configuration node can consist of multiple nodes describing the pinmux and
19+pinconf options. Those nodes can be pinmux nodes or pinconf nodes.
20+
21+The name of each subnode is not important; all subnodes should be enumerated
22+and processed purely based on their content.
23+
24+Required properties for pinmux nodes are:
25+ - groups: A list of pinmux groups.
26+ - function: The name of a pinmux function to activate for the specified set
27+ of groups.
28+
29+Required properties for configuration nodes:
30+One of:
31+ - pins: a list of pin names
32+ - groups: A list of pinmux groups.
33+
34+The following generic properties as defined in pinctrl-bindings.txt are valid
35+to specify in a pinmux subnode:
36+ groups, function
37+
38+The following generic properties as defined in pinctrl-bindings.txt are valid
39+to specify in a pinconf subnode:
40+ groups, pins, bias-disable, bias-high-impedance, bias-pull-up, slew-rate,
41+ low-power-disable, low-power-enable
42+
43+ Valid arguments for 'slew-rate' are '0' and '1' to select between slow and fast
44+ respectively.
45+
46+ Valid values for groups are:
47+ ethernet0_0_grp, ethernet1_0_grp, mdio0_0_grp, mdio1_0_grp,
48+ qspi0_0_grp, qspi1_0_grp, qspi_fbclk, qspi_cs1_grp, spi0_0_grp,
49+ spi0_1_grp - spi0_2_grp, spi1_0_grp - spi1_3_grp, sdio0_0_grp - sdio0_2_grp,
50+ sdio1_0_grp - sdio1_3_grp, sdio0_emio_wp, sdio0_emio_cd, sdio1_emio_wp,
51+ sdio1_emio_cd, smc0_nor, smc0_nor_cs1_grp, smc0_nor_addr25_grp, smc0_nand,
52+ can0_0_grp - can0_10_grp, can1_0_grp - can1_11_grp, uart0_0_grp - uart0_10_grp,
53+ uart1_0_grp - uart1_11_grp, i2c0_0_grp - i2c0_10_grp, i2c1_0_grp - i2c1_10_grp,
54+ ttc0_0_grp - ttc0_2_grp, ttc1_0_grp - ttc1_2_grp, swdt0_0_grp - swdt0_4_grp,
55+ gpio0_0_grp - gpio0_53_grp, usb0_0_grp, usb1_0_grp
56+
57+ Valid values for pins are:
58+ MIO0 - MIO53
59+
60+ Valid values for function are:
61+ ethernet0, ethernet1, mdio0, mdio1, qspi0, qspi1, qspi_fbclk, qspi_cs1,
62+ spi0, spi1, sdio0, sdio0_pc, sdio0_cd, sdio0_wp,
63+ sdio1, sdio1_pc, sdio1_cd, sdio1_wp,
64+ smc0_nor, smc0_nor_cs1, smc0_nor_addr25, smc0_nand, can0, can1, uart0, uart1,
65+ i2c0, i2c1, ttc0, ttc1, swdt0, gpio0, usb0, usb1
66+
67+The following driver-specific properties as defined here are valid to specify in
68+a pin configuration subnode:
69+ - io-standard: Configure the pin to use the selected IO standard according to
70+ this mapping:
71+ 1: LVCMOS18
72+ 2: LVCMOS25
73+ 3: LVCMOS33
74+ 4: HSTL
75+
76+Example:
77+ pinctrl0: pinctrl@700 {
78+ compatible = "xlnx,pinctrl-zynq";
79+ reg = <0x700 0x200>;
80+ syscon = <&slcr>;
81+
82+ pinctrl_uart1_default: uart1-default {
83+ mux {
84+ groups = "uart1_10_grp";
85+ function = "uart1";
86+ };
87+
88+ conf {
89+ groups = "uart1_10_grp";
90+ slew-rate = <0>;
91+ io-standard = <1>;
92+ };
93+
94+ conf-rx {
95+ pins = "MIO49";
96+ bias-high-impedance;
97+ };
98+
99+ conf-tx {
100+ pins = "MIO48";
101+ bias-disable;
102+ };
103+ };
104+ };
Documentation/devicetree/bindings/power/ltc2941.txt+27−0
@@ -0,0 +1,27 @@
1+binding for LTC2941 and LTC2943 battery gauges
2+
3+Both the LTC2941 and LTC2943 measure battery capacity.
4+The LTC2943 is compatible with the LTC2941, it adds voltage and
5+temperature monitoring, and uses a slightly different conversion
6+formula for the charge counter.
7+
8+Required properties:
9+- compatible: Should contain "ltc2941" or "ltc2943" which also indicates the
10+ type of I2C chip attached.
11+- reg: The 7-bit I2C address.
12+- lltc,resistor-sense: The sense resistor value in milli-ohms. Can be a 32-bit
13+ negative value when the battery has been connected to the wrong end of the
14+ resistor.
15+- lltc,prescaler-exponent: The prescaler exponent as explained in the datasheet.
16+ This determines the range and accuracy of the gauge. The value is programmed
17+ into the chip only if it differs from the current setting. The setting is
18+ lost when the battery is disconnected.
19+
20+Example from the Topic Miami Florida board:
21+
22+ fuelgauge: ltc2943@64 {
23+ compatible = "ltc2943";
24+ reg = <0x64>;
25+ lltc,resistor-sense = <15>;
26+ lltc,prescaler-exponent = <5>; /* 2^(2*5) = 1024 */
27+ };
Documentation/devicetree/bindings/power/renesas,sysc-rmobile.txt+99−0
@@ -0,0 +1,99 @@
1+DT bindings for the Renesas R-Mobile System Controller
2+
3+== System Controller Node ==
4+
5+The R-Mobile System Controller provides the following functions:
6+ - Boot mode management,
7+ - Reset generation,
8+ - Power management.
9+
10+Required properties:
11+- compatible: Should be "renesas,sysc-<soctype>", "renesas,sysc-rmobile" as
12+ fallback.
13+ Examples with soctypes are:
14+ - "renesas,sysc-r8a7740" (R-Mobile A1)
15+ - "renesas,sysc-sh73a0" (SH-Mobile AG5)
16+- reg: Two address start and address range blocks for the device:
17+ - The first block refers to the normally accessible registers,
18+ - the second block refers to the registers protected by the HPB
19+ semaphore.
20+
21+Optional nodes:
22+- pm-domains: This node contains a hierarchy of PM domain nodes, which should
23+ match the Power Area Hierarchy in the Power Domain Specifications section of
24+ the device's datasheet.
25+
26+
27+== PM Domain Nodes ==
28+
29+Each of the PM domain nodes represents a PM domain, as documented by the
30+generic PM domain bindings in
31+Documentation/devicetree/bindings/power/power_domain.txt.
32+
33+The nodes should be named by the real power area names, and thus their names
34+should be unique.
35+
36+Required properties:
37+ - #power-domain-cells: Must be 0.
38+
39+Optional properties:
40+- reg: If the PM domain is not always-on, this property must contain the bit
41+ index number for the corresponding power area in the various Power
42+ Control and Status Registers. The parent's node must contain the
43+ following two properties:
44+ - #address-cells: Must be 1,
45+ - #size-cells: Must be 0.
46+ If the PM domain is always-on, this property must be omitted.
47+
48+
49+Example:
50+
51+This shows a subset of the r8a7740 PM domain hierarchy, containing the
52+C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain,
53+which is a subdomain of A4S.
54+
55+ sysc: system-controller@e6180000 {
56+ compatible = "renesas,sysc-r8a7740", "renesas,sysc-rmobile";
57+ reg = <0xe6180000 0x8000>, <0xe6188000 0x8000>;
58+
59+ pm-domains {
60+ pd_c5: c5 {
61+ #address-cells = <1>;
62+ #size-cells = <0>;
63+ #power-domain-cells = <0>;
64+
65+ pd_a4s: a4s@10 {
66+ reg = <10>;
67+ #address-cells = <1>;
68+ #size-cells = <0>;
69+ #power-domain-cells = <0>;
70+
71+ pd_a3sp: a3sp@11 {
72+ reg = <11>;
73+ #power-domain-cells = <0>;
74+ };
75+ };
76+
77+ pd_a4su: a4su@20 {
78+ reg = <20>;
79+ #power-domain-cells = <0>;
80+ };
81+ };
82+ };
83+ };
84+
85+
86+== PM Domain Consumers ==
87+
88+Hardware blocks belonging to a PM domain should contain a "power-domains"
89+property that is a phandle pointing to the corresponding PM domain node.
90+
91+Example:
92+
93+ tpu: pwm@e6600000 {
94+ compatible = "renesas,tpu-r8a7740", "renesas,tpu";
95+ reg = <0xe6600000 0x100>;
96+ clocks = <&mstp3_clks R8A7740_CLK_TPU0>;
97+ power-domains = <&pd_a3sp>;
98+ #pwm-cells = <3>;
99+ };
Documentation/devicetree/bindings/power/reset/ltc2952-poweroff.txt+8−5
@@ -1,20 +1,23 @@
11 Binding for the LTC2952 PowerPath controller
22
33 This chip is used to externally trigger a system shut down. Once the trigger has
4−been sent, the chips' watchdog has to be reset to gracefully shut down.
5−If the Linux systems decides to shut down it powers off the platform via the
6−kill signal.
4+been sent, the chip's watchdog has to be reset to gracefully shut down.
5+A full powerdown can be triggered via the kill signal.
76
87 Required properties:
98
109 - compatible: Must contain: "lltc,ltc2952"
11−- trigger-gpios: phandle + gpio-specifier for the GPIO connected to the
12− chip's trigger line
1310 - watchdog-gpios: phandle + gpio-specifier for the GPIO connected to the
1411 chip's watchdog line
1512 - kill-gpios: phandle + gpio-specifier for the GPIO connected to the
1613 chip's kill line
1714
15+Optional properties:
16+- trigger-gpios: phandle + gpio-specifier for the GPIO connected to the
17+ chip's trigger line. If this property is not set, the
18+ trigger function is ignored and the chip is kept alive
19+ until an explicit kill signal is received
20+
1821 Example:
1922
2023 ltc2952 {
Documentation/devicetree/bindings/power/rockchip-io-domain.txt+1−1
@@ -37,7 +37,7 @@ Required properties: · 36 unmodified lines
3737
3838
3939 You specify supplies using the standard regulator bindings by including
40−a phandle the the relevant regulator. All specified supplies must be able
40+a phandle the relevant regulator. All specified supplies must be able
4141 to report their voltage. The IO Voltage Domain for any non-specified
4242 supplies will be not be touched.
4343
Documentation/devicetree/bindings/powerpc/fsl/fman.txt+70−0
@@ -7,6 +7,7 @@ CONTENTS · 6 unmodified lines
77 - FMan MURAM Node
88 - FMan dTSEC/XGEC/mEMAC Node
99 - FMan IEEE 1588 Node
10+ - FMan MDIO Node
1011 - Example
1112
1213 =============================================================================
@@ -356,6 +357,69 @@ ptp-timer@fe000 { · 343 unmodified lines
356357 reg = <0xfe000 0x1000>;
357358 };
358359
360+=============================================================================
361+FMan MDIO Node
362+
363+DESCRIPTION
364+
365+The MDIO is a bus to which the PHY devices are connected.
366+
367+PROPERTIES
368+
369+- compatible
370+ Usage: required
371+ Value type: <stringlist>
372+ Definition: A standard property.
373+ Must include "fsl,fman-mdio" for 1 Gb/s MDIO from FMan v2.
374+ Must include "fsl,fman-xmdio" for 10 Gb/s MDIO from FMan v2.
375+ Must include "fsl,fman-memac-mdio" for 1/10 Gb/s MDIO from
376+ FMan v3.
377+
378+- reg
379+ Usage: required
380+ Value type: <prop-encoded-array>
381+ Definition: A standard property.
382+
383+- bus-frequency
384+ Usage: optional
385+ Value type: <u32>
386+ Definition: Specifies the external MDIO bus clock speed to
387+ be used, if different from the standard 2.5 MHz.
388+ This may be due to the standard speed being unsupported (e.g.
389+ due to a hardware problem), or to advertise that all relevant
390+ components in the system support a faster speed.
391+
392+- interrupts
393+ Usage: required for external MDIO
394+ Value type: <prop-encoded-array>
395+ Definition: Event interrupt of external MDIO controller.
396+
397+- fsl,fman-internal-mdio
398+ Usage: required for internal MDIO
399+ Value type: boolean
400+ Definition: Fman has internal MDIO for internal PCS(Physical
401+ Coding Sublayer) PHYs and external MDIO for external PHYs.
402+ The settings and programming routines for internal/external
403+ MDIO are different. Must be included for internal MDIO.
404+
405+EXAMPLE
406+
407+Example for FMan v2 external MDIO:
408+
409+mdio@f1000 {
410+ compatible = "fsl,fman-xmdio";
411+ reg = <0xf1000 0x1000>;
412+ interrupts = <101 2 0 0>;
413+};
414+
415+Example for FMan v3 internal MDIO:
416+
417+mdio@f1000 {
418+ compatible = "fsl,fman-memac-mdio";
419+ reg = <0xf1000 0x1000>;
420+ fsl,fman-internal-mdio;
421+};
422+
359423 =============================================================================
360424 Example
361425
@@ -531,4 +595,10 @@ fman@400000 { · 169 unmodified lines
531595 compatible = "fsl,fman-ptp-timer";
532596 reg = <0xfe000 0x1000>;
533597 };
598+
599+ mdio@f1000 {
600+ compatible = "fsl,fman-xmdio";
601+ reg = <0xf1000 0x1000>;
602+ interrupts = <101 2 0 0>;
603+ };
534604 };
Documentation/devicetree/bindings/powerpc/fsl/lbc.txt+13−5
@@ -16,20 +16,28 @@ Example: · 15 unmodified lines
1616 "fsl,pq2-localbus";
1717 #address-cells = <2>;
1818 #size-cells = <1>;
19− reg = <f0010100 40>;
19+ reg = <0xf0010100 0x40>;
2020
21− ranges = <0 0 fe000000 02000000
22− 1 0 f4500000 00008000>;
21+ ranges = <0x0 0x0 0xfe000000 0x02000000
22+ 0x1 0x0 0xf4500000 0x00008000
23+ 0x2 0x0 0xfd810000 0x00010000>;
2324
2425 flash@0,0 {
2526 compatible = "jedec-flash";
26− reg = <0 0 2000000>;
27+ reg = <0x0 0x0 0x2000000>;
2728 bank-width = <4>;
2829 device-width = <1>;
2930 };
3031
3132 board-control@1,0 {
32− reg = <1 0 20>;
33+ reg = <0x1 0x0 0x20>;
3334 compatible = "fsl,mpc8272ads-bcsr";
3435 };
36+
37+ simple-periph@2,0 {
38+ compatible = "fsl,elbc-gpcm-uio";
39+ reg = <0x2 0x0 0x10000>;
40+ elbc-gpcm-br = <0xfd810800>;
41+ elbc-gpcm-or = <0xffff09f7>;
42+ };
3543 };
Documentation/devicetree/bindings/pwm/img-pwm.txt+24−0
@@ -0,0 +1,24 @@
1+*Imagination Technologies PWM DAC driver
2+
3+Required properties:
4+ - compatible: Should be "img,pistachio-pwm"
5+ - reg: Should contain physical base address and length of pwm registers.
6+ - clocks: Must contain an entry for each entry in clock-names.
7+ See ../clock/clock-bindings.txt for details.
8+ - clock-names: Must include the following entries.
9+ - pwm: PWM operating clock.
10+ - sys: PWM system interface clock.
11+ - #pwm-cells: Should be 2. See pwm.txt in this directory for the
12+ description of the cells format.
13+ - img,cr-periph: Must contain a phandle to the peripheral control
14+ syscon node which contains PWM control registers.
15+
16+Example:
17+ pwm: pwm@18101300 {
18+ compatible = "img,pistachio-pwm";
19+ reg = <0x18101300 0x100>;
20+ clocks = <&pwm_clk>, <&system_clk>;
21+ clock-names = "pwm", "sys";
22+ #pwm-cells = <2>;
23+ img,cr-periph = <&cr_periph>;
24+ };
Documentation/devicetree/bindings/pwm/nvidia,tegra20-pwm.txt+4−3
@@ -1,9 +1,10 @@
11 Tegra SoC PWFM controller
22
33 Required properties:
4−- compatible: should be one of:
5− - "nvidia,tegra20-pwm"
6− - "nvidia,tegra30-pwm"
4+- compatible: For Tegra20, must contain "nvidia,tegra20-pwm". For Tegra30,
5+ must contain "nvidia,tegra30-pwm". Otherwise, must contain
6+ "nvidia,<chip>-pwm", plus one of the above, where <chip> is tegra114,
7+ tegra124, tegra132, or tegra210.
78 - reg: physical base address and length of the controller's registers
89 - #pwm-cells: should be 2. See pwm.txt in this directory for a description of
910 the cells format.
Documentation/devicetree/bindings/pwm/pwm-sun4i.txt+20−0
@@ -0,0 +1,20 @@
1+Allwinner sun4i and sun7i SoC PWM controller
2+
3+Required properties:
4+ - compatible: should be one of:
5+ - "allwinner,sun4i-a10-pwm"
6+ - "allwinner,sun7i-a20-pwm"
7+ - reg: physical base address and length of the controller's registers
8+ - #pwm-cells: should be 3. See pwm.txt in this directory for a description of
9+ the cells format.
10+ - clocks: From common clock binding, handle to the parent clock.
11+
12+Example:
13+
14+ pwm: pwm@01c20e00 {
15+ compatible = "allwinner,sun7i-a20-pwm";
16+ reg = <0x01c20e00 0xc>;
17+ clocks = <&osc24M>;
18+ #pwm-cells = <3>;
19+ status = "disabled";
20+ };
Documentation/devicetree/bindings/regulator/da9211.txt+6−1
@@ -11,6 +11,7 @@ Required properties: · 10 unmodified lines
1111 BUCKA and BUCKB.
1212
1313 Optional properties:
14+- enable-gpios: platform gpio for control of BUCKA/BUCKB.
1415 - Any optional property defined in regulator.txt
1516
1617 Example 1) DA9211
@@ -27,6 +28,7 @@ Example 1) DA9211 · 10 unmodified lines
2728 regulator-max-microvolt = <1570000>;
2829 regulator-min-microamp = <2000000>;
2930 regulator-max-microamp = <5000000>;
31+ enable-gpios = <&gpio 27 0>;
3032 };
3133 BUCKB {
3234 regulator-name = "VBUCKB";
@@ -34,11 +36,12 @@ Example 1) DA9211 · 1 unmodified line
3436 regulator-max-microvolt = <1570000>;
3537 regulator-min-microamp = <2000000>;
3638 regulator-max-microamp = <5000000>;
39+ enable-gpios = <&gpio 17 0>;
3740 };
3841 };
3942 };
4043
41−Example 2) DA92113
44+Example 2) DA9213
4245 pmic: da9213@68 {
4346 compatible = "dlg,da9213";
4447 reg = <0x68>;
@@ -51,6 +54,7 @@ Example 2) DA92113 · 6 unmodified lines
5154 regulator-max-microvolt = <1570000>;
5255 regulator-min-microamp = <3000000>;
5356 regulator-max-microamp = <6000000>;
57+ enable-gpios = <&gpio 27 0>;
5458 };
5559 BUCKB {
5660 regulator-name = "VBUCKB";
@@ -58,6 +62,7 @@ Example 2) DA92113 · 1 unmodified line
5862 regulator-max-microvolt = <1570000>;
5963 regulator-min-microamp = <3000000>;
6064 regulator-max-microamp = <6000000>;
65+ enable-gpios = <&gpio 17 0>;
6166 };
6267 };
6368 };
Documentation/devicetree/bindings/regulator/isl9305.txt+2−2
@@ -2,7 +2,7 @@ Intersil ISL9305/ISL9305H voltage regulator · 1 unmodified line
22
33 Required properties:
44
5−- compatible: "isl,isl9305" or "isl,isl9305h"
5+- compatible: "isil,isl9305" or "isil,isl9305h"
66 - reg: I2C slave address, usually 0x68.
77 - regulators: A node that houses a sub-node for each regulator within the
88 device. Each sub-node is identified using the node's name, with valid
@@ -19,7 +19,7 @@ Optional properties: · 10 unmodified lines
1919 Example
2020
2121 pmic: isl9305@68 {
22− compatible = "isl,isl9305";
22+ compatible = "isil,isl9305";
2323 reg = <0x68>;
2424
2525 VINDCD1-supply = <&system_power>;
Documentation/devicetree/bindings/regulator/mt6397-regulator.txt+217−0
@@ -0,0 +1,217 @@
1+Mediatek MT6397 Regulator Driver
2+
3+Required properties:
4+- compatible: "mediatek,mt6397-regulator"
5+- mt6397regulator: List of regulators provided by this controller. It is named
6+ according to its regulator type, buck_<name> and ldo_<name>.
7+ The definition for each of these nodes is defined using the standard binding
8+ for regulators at Documentation/devicetree/bindings/regulator/regulator.txt.
9+
10+The valid names for regulators are::
11+BUCK:
12+ buck_vpca15, buck_vpca7, buck_vsramca15, buck_vsramca7, buck_vcore, buck_vgpu,
13+ buck_vdrm, buck_vio18
14+LDO:
15+ ldo_vtcxo, ldo_va28, ldo_vcama, ldo_vio28, ldo_vusb, ldo_vmc, ldo_vmch,
16+ ldo_vemc3v3, ldo_vgp1, ldo_vgp2, ldo_vgp3, ldo_vgp4, ldo_vgp5, ldo_vgp6,
17+ ldo_vibr
18+
19+Example:
20+ pmic {
21+ compatible = "mediatek,mt6397";
22+
23+ mt6397regulator: mt6397regulator {
24+ compatible = "mediatek,mt6397-regulator";
25+
26+ mt6397_vpca15_reg: buck_vpca15 {
27+ regulator-compatible = "buck_vpca15";
28+ regulator-name = "vpca15";
29+ regulator-min-microvolt = < 850000>;
30+ regulator-max-microvolt = <1350000>;
31+ regulator-ramp-delay = <12500>;
32+ regulator-enable-ramp-delay = <200>;
33+ };
34+
35+ mt6397_vpca7_reg: buck_vpca7 {
36+ regulator-compatible = "buck_vpca7";
37+ regulator-name = "vpca7";
38+ regulator-min-microvolt = < 850000>;
39+ regulator-max-microvolt = <1350000>;
40+ regulator-ramp-delay = <12500>;
41+ regulator-enable-ramp-delay = <115>;
42+ };
43+
44+ mt6397_vsramca15_reg: buck_vsramca15 {
45+ regulator-compatible = "buck_vsramca15";
46+ regulator-name = "vsramca15";
47+ regulator-min-microvolt = < 850000>;
48+ regulator-max-microvolt = <1350000>;
49+ regulator-ramp-delay = <12500>;
50+ regulator-enable-ramp-delay = <115>;
51+
52+ };
53+
54+ mt6397_vsramca7_reg: buck_vsramca7 {
55+ regulator-compatible = "buck_vsramca7";
56+ regulator-name = "vsramca7";
57+ regulator-min-microvolt = < 850000>;
58+ regulator-max-microvolt = <1350000>;
59+ regulator-ramp-delay = <12500>;
60+ regulator-enable-ramp-delay = <115>;
61+
62+ };
63+
64+ mt6397_vcore_reg: buck_vcore {
65+ regulator-compatible = "buck_vcore";
66+ regulator-name = "vcore";
67+ regulator-min-microvolt = < 850000>;
68+ regulator-max-microvolt = <1350000>;
69+ regulator-ramp-delay = <12500>;
70+ regulator-enable-ramp-delay = <115>;
71+ };
72+
73+ mt6397_vgpu_reg: buck_vgpu {
74+ regulator-compatible = "buck_vgpu";
75+ regulator-name = "vgpu";
76+ regulator-min-microvolt = < 700000>;
77+ regulator-max-microvolt = <1350000>;
78+ regulator-ramp-delay = <12500>;
79+ regulator-enable-ramp-delay = <115>;
80+ };
81+
82+ mt6397_vdrm_reg: buck_vdrm {
83+ regulator-compatible = "buck_vdrm";
84+ regulator-name = "vdrm";
85+ regulator-min-microvolt = < 800000>;
86+ regulator-max-microvolt = <1400000>;
87+ regulator-ramp-delay = <12500>;
88+ regulator-enable-ramp-delay = <500>;
89+ };
90+
91+ mt6397_vio18_reg: buck_vio18 {
92+ regulator-compatible = "buck_vio18";
93+ regulator-name = "vio18";
94+ regulator-min-microvolt = <1500000>;
95+ regulator-max-microvolt = <2120000>;
96+ regulator-ramp-delay = <12500>;
97+ regulator-enable-ramp-delay = <500>;
98+ };
99+
100+ mt6397_vtcxo_reg: ldo_vtcxo {
101+ regulator-compatible = "ldo_vtcxo";
102+ regulator-name = "vtcxo";
103+ regulator-min-microvolt = <2800000>;
104+ regulator-max-microvolt = <2800000>;
105+ regulator-enable-ramp-delay = <90>;
106+ };
107+
108+ mt6397_va28_reg: ldo_va28 {
109+ regulator-compatible = "ldo_va28";
110+ regulator-name = "va28";
111+ /* fixed output 2.8 V */
112+ regulator-enable-ramp-delay = <218>;
113+ };
114+
115+ mt6397_vcama_reg: ldo_vcama {
116+ regulator-compatible = "ldo_vcama";
117+ regulator-name = "vcama";
118+ regulator-min-microvolt = <1500000>;
119+ regulator-max-microvolt = <2800000>;
120+ regulator-enable-ramp-delay = <218>;
121+ };
122+
123+ mt6397_vio28_reg: ldo_vio28 {
124+ regulator-compatible = "ldo_vio28";
125+ regulator-name = "vio28";
126+ /* fixed output 2.8 V */
127+ regulator-enable-ramp-delay = <240>;
128+ };
129+
130+ mt6397_usb_reg: ldo_vusb {
131+ regulator-compatible = "ldo_vusb";
132+ regulator-name = "vusb";
133+ /* fixed output 3.3 V */
134+ regulator-enable-ramp-delay = <218>;
135+ };
136+
137+ mt6397_vmc_reg: ldo_vmc {
138+ regulator-compatible = "ldo_vmc";
139+ regulator-name = "vmc";
140+ regulator-min-microvolt = <1800000>;
141+ regulator-max-microvolt = <3300000>;
142+ regulator-enable-ramp-delay = <218>;
143+ };
144+
145+ mt6397_vmch_reg: ldo_vmch {
146+ regulator-compatible = "ldo_vmch";
147+ regulator-name = "vmch";
148+ regulator-min-microvolt = <3000000>;
149+ regulator-max-microvolt = <3300000>;
150+ regulator-enable-ramp-delay = <218>;
151+ };
152+
153+ mt6397_vemc_3v3_reg: ldo_vemc3v3 {
154+ regulator-compatible = "ldo_vemc3v3";
155+ regulator-name = "vemc_3v3";
156+ regulator-min-microvolt = <3000000>;
157+ regulator-max-microvolt = <3300000>;
158+ regulator-enable-ramp-delay = <218>;
159+ };
160+
161+ mt6397_vgp1_reg: ldo_vgp1 {
162+ regulator-compatible = "ldo_vgp1";
163+ regulator-name = "vcamd";
164+ regulator-min-microvolt = <1220000>;
165+ regulator-max-microvolt = <3300000>;
166+ regulator-enable-ramp-delay = <240>;
167+ };
168+
169+ mt6397_vgp2_reg: ldo_vgp2 {
170+ egulator-compatible = "ldo_vgp2";
171+ regulator-name = "vcamio";
172+ regulator-min-microvolt = <1000000>;
173+ regulator-max-microvolt = <3300000>;
174+ regulator-enable-ramp-delay = <218>;
175+ };
176+
177+ mt6397_vgp3_reg: ldo_vgp3 {
178+ regulator-compatible = "ldo_vgp3";
179+ regulator-name = "vcamaf";
180+ regulator-min-microvolt = <1200000>;
181+ regulator-max-microvolt = <3300000>;
182+ regulator-enable-ramp-delay = <218>;
183+ };
184+
185+ mt6397_vgp4_reg: ldo_vgp4 {
186+ regulator-compatible = "ldo_vgp4";
187+ regulator-name = "vgp4";
188+ regulator-min-microvolt = <1200000>;
189+ regulator-max-microvolt = <3300000>;
190+ regulator-enable-ramp-delay = <218>;
191+ };
192+
193+ mt6397_vgp5_reg: ldo_vgp5 {
194+ regulator-compatible = "ldo_vgp5";
195+ regulator-name = "vgp5";
196+ regulator-min-microvolt = <1200000>;
197+ regulator-max-microvolt = <3000000>;
198+ regulator-enable-ramp-delay = <218>;
199+ };
200+
201+ mt6397_vgp6_reg: ldo_vgp6 {
202+ regulator-compatible = "ldo_vgp6";
203+ regulator-name = "vgp6";
204+ regulator-min-microvolt = <1200000>;
205+ regulator-max-microvolt = <3300000>;
206+ regulator-enable-ramp-delay = <218>;
207+ };
208+
209+ mt6397_vibr_reg: ldo_vibr {
210+ regulator-compatible = "ldo_vibr";
211+ regulator-name = "vibr";
212+ regulator-min-microvolt = <1200000>;
213+ regulator-max-microvolt = <3300000>;
214+ regulator-enable-ramp-delay = <218>;
215+ };
216+ };
217+ };
Documentation/devicetree/bindings/regulator/pfuze100.txt+93−1
@@ -1,7 +1,7 @@
11 PFUZE100 family of regulators
22
33 Required properties:
4−- compatible: "fsl,pfuze100" or "fsl,pfuze200"
4+- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"
55 - reg: I2C slave address
66
77 Required child node:
@@ -14,6 +14,8 @@ Required child node: · 6 unmodified lines
1414 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
1515 --PFUZE200
1616 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen6
17+ --PFUZE3000
18+ sw1a,sw1b,sw2,sw3,swbst,vsnvs,vrefddr,vldo1,vldo2,vccsd,v33,vldo3,vldo4
1719
1820 Each regulator is defined using the standard binding for regulators.
1921
@@ -205,3 +207,93 @@ Example 2: PFUZE200 · 185 unmodified lines
205207 };
206208 };
207209 };
210+
211+Example 3: PFUZE3000
212+
213+ pmic: pfuze3000@08 {
214+ compatible = "fsl,pfuze3000";
215+ reg = <0x08>;
216+
217+ regulators {
218+ sw1a_reg: sw1a {
219+ regulator-min-microvolt = <700000>;
220+ regulator-max-microvolt = <1475000>;
221+ regulator-boot-on;
222+ regulator-always-on;
223+ regulator-ramp-delay = <6250>;
224+ };
225+ /* use sw1c_reg to align with pfuze100/pfuze200 */
226+ sw1c_reg: sw1b {
227+ regulator-min-microvolt = <700000>;
228+ regulator-max-microvolt = <1475000>;
229+ regulator-boot-on;
230+ regulator-always-on;
231+ regulator-ramp-delay = <6250>;
232+ };
233+
234+ sw2_reg: sw2 {
235+ regulator-min-microvolt = <2500000>;
236+ regulator-max-microvolt = <3300000>;
237+ regulator-boot-on;
238+ regulator-always-on;
239+ };
240+
241+ sw3a_reg: sw3 {
242+ regulator-min-microvolt = <900000>;
243+ regulator-max-microvolt = <1650000>;
244+ regulator-boot-on;
245+ regulator-always-on;
246+ };
247+
248+ swbst_reg: swbst {
249+ regulator-min-microvolt = <5000000>;
250+ regulator-max-microvolt = <5150000>;
251+ };
252+
253+ snvs_reg: vsnvs {
254+ regulator-min-microvolt = <1000000>;
255+ regulator-max-microvolt = <3000000>;
256+ regulator-boot-on;
257+ regulator-always-on;
258+ };
259+
260+ vref_reg: vrefddr {
261+ regulator-boot-on;
262+ regulator-always-on;
263+ };
264+
265+ vgen1_reg: vldo1 {
266+ regulator-min-microvolt = <1800000>;
267+ regulator-max-microvolt = <3300000>;
268+ regulator-always-on;
269+ };
270+
271+ vgen2_reg: vldo2 {
272+ regulator-min-microvolt = <800000>;
273+ regulator-max-microvolt = <1550000>;
274+ };
275+
276+ vgen3_reg: vccsd {
277+ regulator-min-microvolt = <2850000>;
278+ regulator-max-microvolt = <3300000>;
279+ regulator-always-on;
280+ };
281+
282+ vgen4_reg: v33 {
283+ regulator-min-microvolt = <2850000>;
284+ regulator-max-microvolt = <3300000>;
285+ };
286+
287+ vgen5_reg: vldo3 {
288+ regulator-min-microvolt = <1800000>;
289+ regulator-max-microvolt = <3300000>;
290+ regulator-always-on;
291+ };
292+
293+ vgen6_reg: vldo4 {
294+ regulator-min-microvolt = <1800000>;
295+ regulator-max-microvolt = <3300000>;
296+ regulator-always-on;
297+ };
298+ };
299+ };
Documentation/devicetree/bindings/rtc/armada-380-rtc.txt+22−0
@@ -0,0 +1,22 @@
1+* Real Time Clock of the Armada 38x SoCs
2+
3+RTC controller for the Armada 38x SoCs
4+
5+Required properties:
6+- compatible : Should be "marvell,armada-380-rtc"
7+- reg: a list of base address and size pairs, one for each entry in
8+ reg-names
9+- reg names: should contain:
10+ * "rtc" for the RTC registers
11+ * "rtc-soc" for the SoC related registers and among them the one
12+ related to the interrupt.
13+- interrupts: IRQ line for the RTC.
14+
15+Example:
16+
17+rtc@a3800 {
18+ compatible = "marvell,armada-380-rtc";
19+ reg = <0xa3800 0x20>, <0x184a0 0x0c>;
20+ reg-names = "rtc", "rtc-soc";
21+ interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
22+};
Documentation/devicetree/bindings/rtc/isil,isl12057.txt+78−0
@@ -0,0 +1,78 @@
1+Intersil ISL12057 I2C RTC/Alarm chip
2+
3+ISL12057 is a trivial I2C device (it has simple device tree bindings,
4+consisting of a compatible field, an address and possibly an interrupt
5+line).
6+
7+Nonetheless, it also supports an option boolean property
8+("isil,irq2-can-wakeup-machine") to handle the specific use-case found
9+on at least three in-tree users of the chip (NETGEAR ReadyNAS 102, 104
10+and 2120 ARM-based NAS); On those devices, the IRQ#2 pin of the chip
11+(associated with the alarm supported by the driver) is not connected
12+to the SoC but to a PMIC. It allows the device to be powered up when
13+RTC alarm rings. In order to mark the device has a wakeup source and
14+get access to the 'wakealarm' sysfs entry, this specific property can
15+be set when the IRQ#2 pin of the chip is not connected to the SoC but
16+can wake up the device.
17+
18+Required properties supported by the device:
19+
20+ - "compatible": must be "isil,isl12057"
21+ - "reg": I2C bus address of the device
22+
23+Optional properties:
24+
25+ - "isil,irq2-can-wakeup-machine": mark the chip as a wakeup source,
26+ independently of the availability of an IRQ line connected to the
27+ SoC.
28+
29+ - "interrupt-parent", "interrupts": for passing the interrupt line
30+ of the SoC connected to IRQ#2 of the RTC chip.
31+
32+
33+Example isl12057 node without IRQ#2 pin connected (no alarm support):
34+
35+ isl12057: isl12057@68 {
36+ compatible = "isil,isl12057";
37+ reg = <0x68>;
38+ };
39+
40+
41+Example isl12057 node with IRQ#2 pin connected to main SoC via MPP6 (note
42+that the pinctrl-related properties below are given for completeness and
43+may not be required or may be different depending on your system or
44+SoC, and the main function of the MPP used as IRQ line, i.e.
45+"interrupt-parent" and "interrupts" are usually sufficient):
46+
47+ pinctrl {
48+ ...
49+
50+ rtc_alarm_pin: rtc_alarm_pin {
51+ marvell,pins = "mpp6";
52+ marvell,function = "gpio";
53+ };
54+
55+ ...
56+
57+ };
58+
59+ ...
60+
61+ isl12057: isl12057@68 {
62+ compatible = "isil,isl12057";
63+ reg = <0x68>;
64+ pinctrl-0 = <&rtc_alarm_pin>;
65+ pinctrl-names = "default";
66+ interrupt-parent = <&gpio0>;
67+ interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
68+ };
69+
70+
71+Example isl12057 node without IRQ#2 pin connected to the SoC but to a
72+PMIC, allowing the device to be started based on configured alarm:
73+
74+ isl12057: isl12057@68 {
75+ compatible = "isil,isl12057";
76+ reg = <0x68>;
77+ isil,irq2-can-wakeup-machine;
78+ };
Documentation/devicetree/bindings/rtc/nvidia,tegra20-rtc.txt+3−1
@@ -6,7 +6,9 @@ state. · 5 unmodified lines
66
77 Required properties:
88
9−- compatible : should be "nvidia,tegra20-rtc".
9+- compatible : For Tegra20, must contain "nvidia,tegra20-rtc". Otherwise,
10+ must contain '"nvidia,<chip>-rtc", "nvidia,tegra20-rtc"', where <chip>
11+ can be tegra30, tegra114, tegra124, or tegra132.
1012 - reg : Specifies base physical address and size of the registers.
1113 - interrupts : A single interrupt specifier.
1214 - clocks : Must contain one entry, for the module clock.
Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt+16−0
@@ -0,0 +1,16 @@
1+NXP PCF2123 SPI Real Time Clock
2+
3+Required properties:
4+- compatible: should be: "nxp,rtc-pcf2123"
5+- reg: should be the SPI slave chipselect address
6+
7+Optional properties:
8+- spi-cs-high: PCF2123 needs chipselect high
9+
10+Example:
11+
12+rtc: nxp,rtc-pcf2123@3 {
13+ compatible = "nxp,rtc-pcf2123"
14+ reg = <3>
15+ spi-cs-high;
16+};
Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt+36−0
@@ -0,0 +1,36 @@
1+* STMicroelectronics SAS. ST33ZP24 TPM SoC
2+
3+Required properties:
4+- compatible: Should be "st,st33zp24-i2c".
5+- clock-frequency: I²C work frequency.
6+- reg: address on the bus
7+
8+Optional ST33ZP24 Properties:
9+- interrupt-parent: phandle for the interrupt gpio controller
10+- interrupts: GPIO interrupt to which the chip is connected
11+- lpcpd-gpios: Output GPIO pin used for ST33ZP24 power management D1/D2 state.
12+If set, power must be present when the platform is going into sleep/hibernate mode.
13+
14+Optional SoC Specific Properties:
15+- pinctrl-names: Contains only one value - "default".
16+- pintctrl-0: Specifies the pin control groups used for this controller.
17+
18+Example (for ARM-based BeagleBoard xM with ST33ZP24 on I2C2):
19+
20+&i2c2 {
21+
22+ status = "okay";
23+
24+ st33zp24: st33zp24@13 {
25+
26+ compatible = "st,st33zp24-i2c";
27+
28+ reg = <0x13>;
29+ clock-frequency = <400000>;
30+
31+ interrupt-parent = <&gpio5>;
32+ interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
33+
34+ lpcpd-gpios = <&gpio5 15 GPIO_ACTIVE_HIGH>;
35+ };
36+};
Documentation/devicetree/bindings/serial/digicolor-usart.txt+27−0
@@ -0,0 +1,27 @@
1+Binding for Conexant Digicolor USART
2+
3+Note: this binding is only applicable for using the USART peripheral as
4+UART. USART also support synchronous serial protocols like SPI and I2S. Use
5+the binding that matches the wiring of your system.
6+
7+Required properties:
8+- compatible : should be "cnxt,cx92755-usart".
9+- reg: Should contain USART controller registers location and length.
10+- interrupts: Should contain a single USART controller interrupt.
11+- clocks: Must contain phandles to the USART clock
12+ See ../clocks/clock-bindings.txt for details.
13+
14+Note: Each UART port should have an alias correctly numbered
15+in "aliases" node.
16+
17+Example:
18+ aliases {
19+ serial0 = &uart0;
20+ };
21+
22+ uart0: uart@f0000740 {
23+ compatible = "cnxt,cx92755-usart";
24+ reg = <0xf0000740 0x20>;
25+ clocks = <&main_clk>;
26+ interrupts = <44>;
27+ };
Documentation/devicetree/bindings/serial/mtk-uart.txt+5−1
@@ -2,9 +2,13 @@ · 1 unmodified line
22
33 Required properties:
44 - compatible should contain:
5+ * "mediatek,mt8135-uart" for MT8135 compatible UARTS
6+ * "mediatek,mt8127-uart" for MT8127 compatible UARTS
7+ * "mediatek,mt8173-uart" for MT8173 compatible UARTS
58 * "mediatek,mt6589-uart" for MT6589 compatible UARTS
69 * "mediatek,mt6582-uart" for MT6582 compatible UARTS
7− * "mediatek,mt6577-uart" for all compatible UARTS (MT6589, MT6582, MT6577)
10+ * "mediatek,mt6577-uart" for all compatible UARTS (MT8173, MT6589, MT6582,
11+ MT6577)
812
913 - reg: The base address of the UART register bank.
1014
Documentation/devicetree/bindings/serial/of-serial.txt+16−1
@@ -8,7 +8,10 @@ Required properties: · 7 unmodified lines
88 - "ns16550"
99 - "ns16750"
1010 - "ns16850"
11− - "nvidia,tegra20-uart"
11+ - For Tegra20, must contain "nvidia,tegra20-uart"
12+ - For other Tegra, must contain '"nvidia,<chip>-uart",
13+ "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124,
14+ tegra132, or tegra210.
1215 - "nxp,lpc3220-uart"
1316 - "ralink,rt2880-uart"
1417 - "ibm,qpace-nwp-serial"
@@ -16,6 +19,7 @@ Required properties: · 1 unmodified line
1619 - "altr,16550-FIFO64"
1720 - "altr,16550-FIFO128"
1821 - "fsl,16550-FIFO64"
22+ - "fsl,ns16550"
1923 - "serial" if the port type is unknown.
2024 - reg : offset and length of the register set for the device.
2125 - interrupts : should contain uart interrupt.
@@ -40,6 +44,17 @@ Optional properties: · 18 unmodified lines
4044 driver is allowed to detect support for the capability even without this
4145 property.
4246
47+Note:
48+* fsl,ns16550:
49+ ------------
50+ Freescale DUART is very similar to the PC16552D (and to a
51+ pair of NS16550A), albeit with some nonstandard behavior such as
52+ erratum A-004737 (relating to incorrect BRK handling).
53+
54+ Represents a single port that is compatible with the DUART found
55+ on many Freescale chips (examples include mpc8349, mpc8548,
56+ mpc8641d, p4080 and ls2085a).
57+
4358 Example:
4459
4560 uart@80230000 {
Documentation/devicetree/bindings/serial/sirf-uart.txt+2−2
@@ -2,7 +2,7 @@ · 1 unmodified line
22
33 Required properties:
44 - compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart",
5− "sirf,marco-uart" or "sirf,marco-bt-uart" which means
5+ "sirf,atlas7-uart" or "sirf,atlas7-bt-uart" which means
66 uart located in BT module and used for BT.
77 - reg : Offset and length of the register set for the device
88 - interrupts : Should contain uart interrupt
@@ -37,7 +37,7 @@ usp@b0090000 { · 28 unmodified lines
3737 for uart use in BT module,
3838 uart6: uart@11000000 {
3939 cell-index = <6>;
40− compatible = "sirf,marco-bt-uart", "sirf,marco-uart";
40+ compatible = "sirf,atlas7-bt-uart", "sirf,atlas7-uart";
4141 reg = <0x11000000 0x1000>;
4242 interrupts = <0 100 0>;
4343 clocks = <&clks 138>, <&clks 140>, <&clks 141>;
Documentation/devicetree/bindings/serial/sprd-uart.txt+7−0
@@ -0,0 +1,7 @@
1+* Spreadtrum serial UART
2+
3+Required properties:
4+- compatible: must be "sprd,sc9836-uart"
5+- reg: offset and length of the register set for the device
6+- interrupts: exactly one interrupt specifier
7+- clocks: phandles to input clocks.
Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt+23−0
@@ -0,0 +1,23 @@
1+* Device tree bindings for Allwinner A10, A20 PS2 host controller
2+
3+A20 PS2 is dual role controller (PS2 host and PS2 device). These bindings are
4+for PS2 A10/A20 host controller. IBM compliant IBM PS2 and AT-compatible keyboard
5+and mouse can be connected.
6+
7+Required properties:
8+
9+ - reg : Offset and length of the register set for the device.
10+ - compatible : Should be as of the following:
11+ - "allwinner,sun4i-a10-ps2"
12+ - interrupts : The interrupt line connected to the PS2.
13+ - clocks : The gate clk connected to the PS2.
14+
15+
16+Example:
17+ ps20: ps2@0x01c2a000 {
18+ compatible = "allwinner,sun4i-a10-ps2";
19+ reg = <0x01c2a000 0x400>;
20+ interrupts = <0 62 4>;
21+ clocks = <&apb1_gates 6>;
22+ status = "disabled";
23+ };
Documentation/devicetree/bindings/soc/fsl/bman.txt+11−1
@@ -36,6 +36,11 @@ are located at offsets 0xbf8 and 0xbfc · 35 unmodified lines
3636 Value type: <prop-encoded-array>
3737 Definition: Standard property. The error interrupt
3838
39+- fsl,bman-portals
40+ Usage: Required
41+ Value type: <phandle>
42+ Definition: Phandle to this BMan instance's portals
43+
3944 - fsl,liodn
4045 Usage: See pamu.txt
4146 Value type: <prop-encoded-array>
@@ -96,7 +101,7 @@ The example below shows a BMan FBPR dynamic allocation memory node · 54 unmodified lines
96101
97102 bman_fbpr: bman-fbpr {
98103 compatible = "fsl,bman-fbpr";
99− alloc-ranges = <0 0 0xf 0xffffffff>;
104+ alloc-ranges = <0 0 0x10 0>;
100105 size = <0 0x1000000>;
101106 alignment = <0 0x1000000>;
102107 };
@@ -104,6 +109,10 @@ The example below shows a BMan FBPR dynamic allocation memory node · 1 unmodified line
104109
105110 The example below shows a (P4080) BMan CCSR-space node
106111
112+ bportals: bman-portals@ff4000000 {
113+ ...
114+ };
115+
107116 crypto@300000 {
108117 ...
109118 fsl,bman = <&bman, 2>;
@@ -115,6 +124,7 @@ The example below shows a (P4080) BMan CCSR-space node · 5 unmodified lines
115124 reg = <0x31a000 0x1000>;
116125 interrupts = <16 2 1 2>;
117126 fsl,liodn = <0x17>;
127+ fsl,bman-portals = <&bportals>;
118128 memory-region = <&bman_fbpr>;
119129 };
120130
Documentation/devicetree/bindings/soc/fsl/qman.txt+12−2
@@ -38,6 +38,11 @@ are located at offsets 0xbf8 and 0xbfc · 37 unmodified lines
3838 Value type: <prop-encoded-array>
3939 Definition: Standard property. The error interrupt
4040
41+- fsl,qman-portals
42+ Usage: Required
43+ Value type: <phandle>
44+ Definition: Phandle to this QMan instance's portals
45+
4146 - fsl,liodn
4247 Usage: See pamu.txt
4348 Value type: <prop-encoded-array>
@@ -113,13 +118,13 @@ The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes · 69 unmodified lines
113118
114119 qman_fqd: qman-fqd {
115120 compatible = "fsl,qman-fqd";
116− alloc-ranges = <0 0 0xf 0xffffffff>;
121+ alloc-ranges = <0 0 0x10 0>;
117122 size = <0 0x400000>;
118123 alignment = <0 0x400000>;
119124 };
120125 qman_pfdr: qman-pfdr {
121126 compatible = "fsl,qman-pfdr";
122− alloc-ranges = <0 0 0xf 0xffffffff>;
127+ alloc-ranges = <0 0 0x10 0>;
123128 size = <0 0x2000000>;
124129 alignment = <0 0x2000000>;
125130 };
@@ -127,6 +132,10 @@ The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes · 1 unmodified line
127132
128133 The example below shows a (P4080) QMan CCSR-space node
129134
135+ qportals: qman-portals@ff4200000 {
136+ ...
137+ };
138+
130139 clockgen: global-utilities@e1000 {
131140 ...
132141 sysclk: sysclk {
@@ -154,6 +163,7 @@ The example below shows a (P4080) QMan CCSR-space node · 21 unmodified lines
154163 reg = <0x318000 0x1000>;
155164 interrupts = <16 2 1 3>
156165 fsl,liodn = <0x16>;
166+ fsl,qman-portals = <&qportals>;
157167 memory-region = <&qman_fqd &qman_pfdr>;
158168 clocks = <&platform_pll 1>;
159169 };
Documentation/devicetree/bindings/sound/atmel_ac97c.txt+20−0
@@ -0,0 +1,20 @@
1+* Atmel AC97 controller
2+
3+Required properties:
4+ - compatible: "atmel,at91sam9263-ac97c"
5+ - reg: Address and length of the register set for the device
6+ - interrupts: Should contain AC97 interrupt
7+ - ac97-gpios: Please refer to soc-ac97link.txt, only ac97-reset is used
8+Optional properties:
9+ - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
10+
11+Example:
12+sound@fffa0000 {
13+ compatible = "atmel,at91sam9263-ac97c";
14+ pinctrl-names = "default";
15+ pinctrl-0 = <&pinctrl_ac97>;
16+ reg = <0xfffa0000 0x4000>;
17+ interrupts = <18 IRQ_TYPE_LEVEL_HIGH 5>;
18+
19+ ac97-gpios = <&pioB 0 0 &pioB 2 0 &pioC 29 GPIO_ACTIVE_LOW>;
20+};
Documentation/devicetree/bindings/sound/cdns,xtfpga-i2s.txt+18−0
@@ -0,0 +1,18 @@
1+Bindings for I2S controller built into xtfpga Xtensa bitstreams.
2+
3+Required properties:
4+- compatible: shall be "cdns,xtfpga-i2s".
5+- reg: memory region (address and length) with device registers.
6+- interrupts: interrupt for the device.
7+- clocks: phandle to the clk used as master clock. I2S bus clock
8+ is derived from it.
9+
10+Examples:
11+
12+ i2s0: xtfpga-i2s@0d080000 {
13+ #sound-dai-cells = <0>;
14+ compatible = "cdns,xtfpga-i2s";
15+ reg = <0x0d080000 0x40>;
16+ interrupts = <2 1>;
17+ clocks = <&cdce706 4>;
18+ };
Documentation/devicetree/bindings/sound/designware-i2s.txt+31−0
@@ -0,0 +1,31 @@
1+DesignWare I2S controller
2+
3+Required properties:
4+ - compatible : Must be "snps,designware-i2s"
5+ - reg : Must contain the I2S core's registers location and length
6+ - clocks : Pairs of phandle and specifier referencing the controller's
7+ clocks. The controller expects one clock: the clock used as the sampling
8+ rate reference clock sample.
9+ - clock-names : "i2sclk" for the sample rate reference clock.
10+ - dmas: Pairs of phandle and specifier for the DMA channels that are used by
11+ the core. The core expects one or two dma channels: one for transmit and
12+ one for receive.
13+ - dma-names : "tx" for the transmit channel, "rx" for the receive channel.
14+
15+For more details on the 'dma', 'dma-names', 'clock' and 'clock-names'
16+properties please check:
17+ * resource-names.txt
18+ * clock/clock-bindings.txt
19+ * dma/dma.txt
20+
21+Example:
22+
23+ soc_i2s: i2s@7ff90000 {
24+ compatible = "snps,designware-i2s";
25+ reg = <0x0 0x7ff90000 0x0 0x1000>;
26+ clocks = <&scpi_i2sclk 0>;
27+ clock-names = "i2sclk";
28+ #sound-dai-cells = <0>;
29+ dmas = <&dma0 5>;
30+ dma-names = "tx";
31+ };
Documentation/devicetree/bindings/sound/ingenic,jz4740-i2s.txt+23−0
@@ -0,0 +1,23 @@
1+Ingenic JZ4740 I2S controller
2+
3+Required properties:
4+- compatible : "ingenic,jz4740-i2s"
5+- reg : I2S registers location and length
6+- clocks : AIC and I2S PLL clock specifiers.
7+- clock-names: "aic" and "i2s"
8+- dmas: DMA controller phandle and DMA request line for I2S Tx and Rx channels
9+- dma-names: Must be "tx" and "rx"
10+
11+Example:
12+
13+i2s: i2s@10020000 {
14+ compatible = "ingenic,jz4740-i2s";
15+ reg = <0x10020000 0x94>;
16+
17+ clocks = <&cgu JZ4740_CLK_AIC>, <&cgu JZ4740_CLK_I2SPLL>;
18+ clock-names = "aic", "i2s";
19+
20+ dmas = <&dma 2>, <&dma 3>;
21+ dma-names = "tx", "rx";
22+
23+};
Documentation/devicetree/bindings/sound/max98357a.txt+14−0
@@ -0,0 +1,14 @@
1+Maxim MAX98357A audio DAC
2+
3+This node models the Maxim MAX98357A DAC.
4+
5+Required properties:
6+- compatible : "maxim,max98357a"
7+- sdmode-gpios : GPIO specifier for the GPIO -> DAC SDMODE pin
8+
9+Example:
10+
11+max98357a {
12+ compatible = "maxim,max98357a";
13+ sdmode-gpios = <&qcom_pinmux 25 0>;
14+};
Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt+67−0
@@ -0,0 +1,67 @@
1+NVIDIA Tegra audio complex, with RT5677 CODEC
2+
3+Required properties:
4+- compatible : "nvidia,tegra-audio-rt5677"
5+- clocks : Must contain an entry for each entry in clock-names.
6+ See ../clocks/clock-bindings.txt for details.
7+- clock-names : Must include the following entries:
8+ - pll_a
9+ - pll_a_out0
10+ - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
11+- nvidia,model : The user-visible name of this sound complex.
12+- nvidia,audio-routing : A list of the connections between audio components.
13+ Each entry is a pair of strings, the first being the connection's sink,
14+ the second being the connection's source. Valid names for sources and
15+ sinks are the RT5677's pins (as documented in its binding), and the jacks
16+ on the board:
17+
18+ * Headphone
19+ * Speaker
20+ * Headset Mic
21+ * Internal Mic 1
22+ * Internal Mic 2
23+
24+- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
25+ connected to the CODEC.
26+- nvidia,audio-codec : The phandle of the RT5677 audio codec. This binding
27+ assumes that AIF1 on the CODEC is connected to Tegra.
28+
29+Optional properties:
30+- nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in
31+- nvidia,hp-en-gpios : The GPIO that enables headphone amplifier
32+- nvidia,mic-present-gpios: The GPIO that mic jack is plugged in
33+- nvidia,dmic-clk-en-gpios : The GPIO that gates DMIC clock signal
34+
35+Example:
36+
37+sound {
38+ compatible = "nvidia,tegra-audio-rt5677-ryu",
39+ "nvidia,tegra-audio-rt5677";
40+ nvidia,model = "NVIDIA Tegra Ryu";
41+
42+ nvidia,audio-routing =
43+ "Headphone", "LOUT2",
44+ "Headphone", "LOUT1",
45+ "Headset Mic", "MICBIAS1",
46+ "IN1P", "Headset Mic",
47+ "IN1N", "Headset Mic",
48+ "DMIC L1", "Internal Mic 1",
49+ "DMIC R1", "Internal Mic 1",
50+ "DMIC L2", "Internal Mic 2",
51+ "DMIC R2", "Internal Mic 2",
52+ "Speaker", "PDM1L",
53+ "Speaker", "PDM1R";
54+
55+ nvidia,i2s-controller = <&tegra_i2s1>;
56+ nvidia,audio-codec = <&rt5677>;
57+
58+ nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
59+ nvidia,mic-present-gpios = <&gpio TEGRA_GPIO(O, 5) GPIO_ACTIVE_LOW>;
60+ nvidia,hp-en-gpios = <&rt5677 1 GPIO_ACTIVE_HIGH>;
61+ nvidia,dmic-clk-en-gpios = <&rt5677 2 GPIO_ACTIVE_HIGH>;
62+
63+ clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
64+ <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
65+ <&tegra_car TEGRA124_CLK_EXTERN1>;
66+ clock-names = "pll_a", "pll_a_out0", "mclk";
67+};
Documentation/devicetree/bindings/sound/nvidia,tegra30-ahub.txt+4−1
@@ -1,7 +1,10 @@
11 NVIDIA Tegra30 AHUB (Audio Hub)
22
33 Required properties:
4−- compatible : "nvidia,tegra30-ahub", "nvidia,tegra114-ahub", etc.
4+- compatible : For Tegra30, must contain "nvidia,tegra30-ahub". For Tegra114,
5+ must contain "nvidia,tegra114-ahub". For Tegra124, must contain
6+ "nvidia,tegra124-ahub". Otherwise, must contain "nvidia,<chip>-ahub",
7+ plus at least one of the above, where <chip> is tegra132.
58 - reg : Should contain the register physical address and length for each of
69 the AHUB's register blocks.
710 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.
Documentation/devicetree/bindings/sound/nvidia,tegra30-hda.txt+3−1
@@ -1,7 +1,9 @@
11 NVIDIA Tegra30 HDA controller
22
33 Required properties:
4−- compatible : "nvidia,tegra30-hda"
4+- compatible : For Tegra30, must contain "nvidia,tegra30-hda". Otherwise,
5+ must contain '"nvidia,<chip>-hda", "nvidia,tegra30-hda"', where <chip> is
6+ tegra114, tegra124, or tegra132.
57 - reg : Should contain the HDA registers location and length.
68 - interrupts : The interrupt from the HDA controller.
79 - clocks : Must contain an entry for each required entry in clock-names.
Documentation/devicetree/bindings/sound/nvidia,tegra30-i2s.txt+4−1
@@ -1,7 +1,10 @@
11 NVIDIA Tegra30 I2S controller
22
33 Required properties:
4−- compatible : "nvidia,tegra30-i2s"
4+- compatible : For Tegra30, must contain "nvidia,tegra30-i2s". For Tegra124,
5+ must contain "nvidia,tegra124-i2s". Otherwise, must contain
6+ "nvidia,<chip>-i2s" plus at least one of the above, where <chip> is
7+ tegra114 or tegra132.
58 - reg : Should contain I2S registers location and length
69 - clocks : Must contain one entry, for the module clock.
710 See ../clocks/clock-bindings.txt for details.
Documentation/devicetree/bindings/sound/pcm512x.txt+25−3
@@ -5,7 +5,8 @@ on the board). · 4 unmodified lines
55
66 Required properties:
77
8− - compatible : One of "ti,pcm5121" or "ti,pcm5122"
8+ - compatible : One of "ti,pcm5121", "ti,pcm5122", "ti,pcm5141" or
9+ "ti,pcm5142"
910
1011 - reg : the I2C address of the device for I2C, the chip select
1112 number for SPI.
@@ -16,9 +17,16 @@ Required properties: · 4 unmodified lines
1617 Optional properties:
1718
1819 - clocks : A clock specifier for the clock connected as SCLK. If this
19− is absent the device will be configured to clock from BCLK.
20+ is absent the device will be configured to clock from BCLK. If pll-in
21+ and pll-out are specified in addition to a clock, the device is
22+ configured to accept clock input on a specified gpio pin.
2023
21−Example:
24+ - pll-in, pll-out : gpio pins used to connect the pll using <1>
25+ through <6>. The device will be configured for clock input on the
26+ given pll-in pin and PLL output on the given pll-out pin. An
27+ external connection from the pll-out pin to the SCLK pin is assumed.
28+
29+Examples:
2230
2331 pcm5122: pcm5122@4c {
2432 compatible = "ti,pcm5122";
@@ -28,3 +36,17 @@ Example: · 3 unmodified lines
2836 DVDD-supply = <&reg_1v8>;
2937 CPVDD-supply = <&reg_3v3>;
3038 };
39+
40+
41+ pcm5142: pcm5142@4c {
42+ compatible = "ti,pcm5142";
43+ reg = <0x4c>;
44+
45+ AVDD-supply = <&reg_3v3_analog>;
46+ DVDD-supply = <&reg_1v8>;
47+ CPVDD-supply = <&reg_3v3>;
48+
49+ clocks = <&sck>;
50+ pll-in = <3>;
51+ pll-out = <6>;
52+ };
Documentation/devicetree/bindings/sound/samsung-i2s.txt+22−0
@@ -33,6 +33,25 @@ Required SoC Specific Properties: · 32 unmodified lines
3333 "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
3434 clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
3535 doesn't have any such mux.
36+- #clock-cells: should be 1, this property must be present if the I2S device
37+ is a clock provider in terms of the common clock bindings, described in
38+ ../clock/clock-bindings.txt.
39+- clock-output-names: from the common clock bindings, names of the CDCLK
40+ I2S output clocks, suggested values are "i2s_cdclk0", "i2s_cdclk1",
41+ "i2s_cdclk3" for the I2S0, I2S1, I2S2 devices recpectively.
42+
43+There are following clocks available at the I2S device nodes:
44+ CLK_I2S_CDCLK - the CDCLK (CODECLKO) gate clock,
45+ CLK_I2S_RCLK_PSR - the RCLK prescaler divider clock (corresponding to the
46+ IISPSR register),
47+ CLK_I2S_RCLK_SRC - the RCLKSRC mux clock (corresponding to RCLKSRC bit in
48+ IISMOD register).
49+
50+Refer to the SoC datasheet for availability of the above clocks.
51+The CLK_I2S_RCLK_PSR and CLK_I2S_RCLK_SRC clocks are usually only available
52+in the IIS Multi Audio Interface (I2S0).
53+Note: Old DTs may not have the #clock-cells, clock-output-names properties
54+and then not use the I2S node as a clock supplier.
3655
3756 Optional SoC Specific Properties:
3857
@@ -41,6 +60,7 @@ Optional SoC Specific Properties: · 2 unmodified lines
4160 - pinctrl-0: Should specify pin control groups used for this controller.
4261 - pinctrl-names: Should contain only one value - "default".
4362
63+
4464 Example:
4565
4666 i2s0: i2s@03830000 {
@@ -54,6 +74,8 @@ i2s0: i2s@03830000 { · 7 unmodified lines
5474 <&clock_audss EXYNOS_I2S_BUS>,
5575 <&clock_audss EXYNOS_SCLK_I2S>;
5676 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
77+ #clock-cells;
78+ clock-output-names = "i2s_cdclk0";
5779 samsung,idma-addr = <0x03000000>;
5880 pinctrl-names = "default";
5981 pinctrl-0 = <&i2s0_bus>;
Documentation/devicetree/bindings/sound/simple-card.txt+5−0
@@ -75,6 +75,11 @@ Optional CPU/CODEC subnodes properties: · 74 unmodified lines
7575 it can be specified via "clocks" if system has
7676 clock node (= common clock), or "system-clock-frequency"
7777 (if system doens't support common clock)
78+ If a clock is specified, it is
79+ enabled with clk_prepare_enable()
80+ in dai startup() and disabled with
81+ clk_disable_unprepare() in dai
82+ shutdown().
7883
7984 Example 1 - single DAI link:
8085
Documentation/devicetree/bindings/sound/st,sta32x.txt+92−0
@@ -0,0 +1,92 @@
1+STA32X audio CODEC
2+
3+The driver for this device only supports I2C.
4+
5+Required properties:
6+
7+ - compatible: "st,sta32x"
8+ - reg: the I2C address of the device for I2C
9+ - reset-gpios: a GPIO spec for the reset pin. If specified, it will be
10+ deasserted before communication to the codec starts.
11+
12+ - power-down-gpios: a GPIO spec for the power down pin. If specified,
13+ it will be deasserted before communication to the codec
14+ starts.
15+
16+ - Vdda-supply: regulator spec, providing 3.3V
17+ - Vdd3-supply: regulator spec, providing 3.3V
18+ - Vcc-supply: regulator spec, providing 5V - 26V
19+
20+Optional properties:
21+
22+ - st,output-conf: number, Selects the output configuration:
23+ 0: 2-channel (full-bridge) power, 2-channel data-out
24+ 1: 2 (half-bridge). 1 (full-bridge) on-board power
25+ 2: 2 Channel (Full-Bridge) Power, 1 Channel FFX
26+ 3: 1 Channel Mono-Parallel
27+ If parameter is missing, mode 0 will be enabled.
28+ This property has to be specified as '/bits/ 8' value.
29+
30+ - st,ch1-output-mapping: Channel 1 output mapping
31+ - st,ch2-output-mapping: Channel 2 output mapping
32+ - st,ch3-output-mapping: Channel 3 output mapping
33+ 0: Channel 1
34+ 1: Channel 2
35+ 2: Channel 3
36+ If parameter is missing, channel 1 is chosen.
37+ This properties have to be specified as '/bits/ 8' values.
38+
39+ - st,thermal-warning-recover:
40+ If present, thermal warning recovery is enabled.
41+
42+ - st,thermal-warning-adjustment:
43+ If present, thermal warning adjustment is enabled.
44+
45+ - st,fault-detect-recovery:
46+ If present, then fault recovery will be enabled.
47+
48+ - st,drop-compensation-ns: number
49+ Only required for "st,ffx-power-output-mode" ==
50+ "variable-drop-compensation".
51+ Specifies the drop compensation in nanoseconds.
52+ The value must be in the range of 0..300, and only
53+ multiples of 20 are allowed. Default is 140ns.
54+
55+ - st,max-power-use-mpcc:
56+ If present, then MPCC bits are used for MPC coefficients,
57+ otherwise standard MPC coefficients are used.
58+
59+ - st,max-power-corr:
60+ If present, power bridge correction for THD reduction near maximum
61+ power output is enabled.
62+
63+ - st,am-reduction-mode:
64+ If present, FFX mode runs in AM reduction mode, otherwise normal
65+ FFX mode is used.
66+
67+ - st,odd-pwm-speed-mode:
68+ If present, PWM speed mode run on odd speed mode (341.3 kHz) on all
69+ channels. If not present, normal PWM spped mode (384 kHz) will be used.
70+
71+ - st,invalid-input-detect-mute:
72+ If present, automatic invalid input detect mute is enabled.
73+
74+Example:
75+
76+codec: sta32x@38 {
77+ compatible = "st,sta32x";
78+ reg = <0x1c>;
79+ reset-gpios = <&gpio1 19 0>;
80+ power-down-gpios = <&gpio1 16 0>;
81+ st,output-conf = /bits/ 8 <0x3>; // set output to 2-channel
82+ // (full-bridge) power,
83+ // 2-channel data-out
84+ st,ch1-output-mapping = /bits/ 8 <0>; // set channel 1 output ch 1
85+ st,ch2-output-mapping = /bits/ 8 <0>; // set channel 2 output ch 1
86+ st,ch3-output-mapping = /bits/ 8 <0>; // set channel 3 output ch 1
87+ st,max-power-correction; // enables power bridge
88+ // correction for THD reduction
89+ // near maximum power output
90+ st,invalid-input-detect-mute; // mute if no valid digital
91+ // audio signal is provided.
92+};
Documentation/devicetree/bindings/sound/tlv320aic3x.txt+9−1
@@ -9,6 +9,7 @@ Required properties: · 8 unmodified lines
99 "ti,tlv320aic33" - TLV320AIC33
1010 "ti,tlv320aic3007" - TLV320AIC3007
1111 "ti,tlv320aic3106" - TLV320AIC3106
12+ "ti,tlv320aic3104" - TLV320AIC3104
1213
1314
1415 - reg - <int> - I2C slave address
@@ -18,6 +19,7 @@ Optional properties: · 3 unmodified lines
1819
1920 - gpio-reset - gpio pin number used for codec reset
2021 - ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
22+ - Not supported on tlv320aic3104
2123 - ai3x-micbias-vg - MicBias Voltage required.
2224 1 - MICBIAS output is powered to 2.0V,
2325 2 - MICBIAS output is powered to 2.5V,
@@ -36,7 +38,13 @@ CODEC output pins: · 12 unmodified lines
3638 * HPLCOM
3739 * HPRCOM
3840
39−CODEC input pins:
41+CODEC input pins for TLV320AIC3104:
42+ * MIC2L
43+ * MIC2R
44+ * LINE1L
45+ * LINE1R
46+
47+CODEC input pins for other compatible codecs:
4048 * MIC3L
4149 * MIC3R
4250 * LINE1L
Documentation/devicetree/bindings/sound/ts3a227e.txt+5−0
@@ -13,6 +13,11 @@ Required properties: · 12 unmodified lines
1313 - interrupt-parent: The parent interrupt controller
1414 - interrupts: Interrupt number for /INT pin from the 227e
1515
16+Optional properies:
17+ - ti,micbias: Intended MICBIAS voltage (datasheet section 9.6.7).
18+ Select 0/1/2/3/4/5/6/7 to specify MACBIAS voltage
19+ 2.1V/2.2V/2.3V/2.4V/2.5V/2.6V/2.7V/2.8V
20+ Default value is "1" (2.2V).
1621
1722 Examples:
1823
Documentation/devicetree/bindings/sound/wm8904.txt+1−1
@@ -3,7 +3,7 @@ WM8904 audio CODEC · 2 unmodified lines
33 This device supports I2C only.
44
55 Required properties:
6− - compatible: "wlf,wm8904"
6+ - compatible: "wlf,wm8904" or "wlf,wm8912"
77 - reg: the I2C address of the device.
88 - clock-names: "mclk"
99 - clocks: reference to
Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt+3−1
@@ -1,7 +1,9 @@
11 NVIDIA Tegra114 SPI controller.
22
33 Required properties:
4−- compatible : should be "nvidia,tegra114-spi".
4+- compatible : For Tegra114, must contain "nvidia,tegra114-spi".
5+ Otherwise, must contain '"nvidia,<chip>-spi", "nvidia,tegra114-spi"' where
6+ <chip> is tegra124, tegra132, or tegra210.
57 - reg: Should contain SPI registers location and length.
68 - interrupts: Should contain SPI interrupts.
79 - clock-names : Must include the following entries:
Documentation/devicetree/bindings/spi/sh-msiof.txt+16−0
@@ -30,6 +30,22 @@ Optional properties: · 29 unmodified lines
3030 specifiers, one for transmission, and one for
3131 reception.
3232 - dma-names : Must contain a list of two DMA names, "tx" and "rx".
33+- renesas,dtdl : delay sync signal (setup) in transmit mode.
34+ Must contain one of the following values:
35+ 0 (no bit delay)
36+ 50 (0.5-clock-cycle delay)
37+ 100 (1-clock-cycle delay)
38+ 150 (1.5-clock-cycle delay)
39+ 200 (2-clock-cycle delay)
40+
41+- renesas,syncdl : delay sync signal (hold) in transmit mode.
42+ Must contain one of the following values:
43+ 0 (no bit delay)
44+ 50 (0.5-clock-cycle delay)
45+ 100 (1-clock-cycle delay)
46+ 150 (1.5-clock-cycle delay)
47+ 200 (2-clock-cycle delay)
48+ 300 (3-clock-cycle delay)
3349
3450 Optional properties, deprecated for soctype-specific bindings:
3551 - renesas,tx-fifo-size : Overrides the default tx fifo size given in words
Documentation/devicetree/bindings/spi/spi-sirf.txt+41−0
@@ -0,0 +1,41 @@
1+* CSR SiRFprimaII Serial Peripheral Interface
2+
3+Required properties:
4+- compatible : Should be "sirf,prima2-spi"
5+- reg : Offset and length of the register set for the device
6+- interrupts : Should contain SPI interrupt
7+- resets: phandle to the reset controller asserting this device in
8+ reset
9+ See ../reset/reset.txt for details.
10+- dmas : Must contain an entry for each entry in clock-names.
11+ See ../dma/dma.txt for details.
12+- dma-names : Must include the following entries:
13+ - rx
14+ - tx
15+- clocks : Must contain an entry for each entry in clock-names.
16+ See ../clocks/clock-bindings.txt for details.
17+
18+- #address-cells: Number of cells required to define a chip select
19+ address on the SPI bus. Should be set to 1.
20+- #size-cells: Should be zero.
21+
22+Optional properties:
23+- spi-max-frequency: Specifies maximum SPI clock frequency,
24+ Units - Hz. Definition as per
25+ Documentation/devicetree/bindings/spi/spi-bus.txt
26+- cs-gpios: should specify GPIOs used for chipselects.
27+
28+Example:
29+
30+spi0: spi@b00d0000 {
31+ compatible = "sirf,prima2-spi";
32+ reg = <0xb00d0000 0x10000>;
33+ interrupts = <15>;
34+ dmas = <&dmac1 9>,
35+ <&dmac1 4>;
36+ dma-names = "rx", "tx";
37+ #address-cells = <1>;
38+ #size-cells = <0>;
39+ clocks = <&clks 19>;
40+ resets = <&rstc 26>;
41+};
Documentation/devicetree/bindings/spi/spi-st-ssc.txt+40−0
@@ -0,0 +1,40 @@
1+STMicroelectronics SSC (SPI) Controller
2+---------------------------------------
3+
4+Required properties:
5+- compatible : "st,comms-ssc4-spi"
6+- reg : Offset and length of the device's register set
7+- interrupts : The interrupt specifier
8+- clock-names : Must contain "ssc"
9+- clocks : Must contain an entry for each name in clock-names
10+ See ../clk/*
11+- pinctrl-names : Uses "default", can use "sleep" if provided
12+ See ../pinctrl/pinctrl-binding.txt
13+
14+Optional properties:
15+- cs-gpios : List of GPIO chip selects
16+ See ../spi/spi-bus.txt
17+
18+Child nodes represent devices on the SPI bus
19+ See ../spi/spi-bus.txt
20+
21+Example:
22+ spi@9840000 {
23+ compatible = "st,comms-ssc4-spi";
24+ reg = <0x9840000 0x110>;
25+ interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
26+ clocks = <&clk_s_c0_flexgen CLK_EXT2F_A9>;
27+ clock-names = "ssc";
28+ pinctrl-0 = <&pinctrl_spi0_default>;
29+ pinctrl-names = "default";
30+ cs-gpios = <&pio17 5 0>;
31+ #address-cells = <1>;
32+ #size-cells = <0>;
33+
34+ st95hf@0{
35+ compatible = "st,st95hf";
36+ reg = <0>;
37+ spi-max-frequency = <1000000>;
38+ interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
39+ };
40+ };
Documentation/devicetree/bindings/staging/iio/adc/mxs-lradc.txt+2−2
@@ -12,9 +12,9 @@ Optional properties: · 11 unmodified lines
1212 property is not present, then the touchscreen is
1313 disabled. 5 wires is valid for i.MX28 SoC only.
1414 - fsl,ave-ctrl: number of samples per direction to calculate an average value.
15− Allowed value is 1 ... 31, default is 4
15+ Allowed value is 1 ... 32, default is 4
1616 - fsl,ave-delay: delay between consecutive samples. Allowed value is
17− 1 ... 2047. It is used if 'fsl,ave-ctrl' > 1, counts at
17+ 2 ... 2048. It is used if 'fsl,ave-ctrl' > 1, counts at
1818 2 kHz and its default is 2 (= 1 ms)
1919 - fsl,settling: delay between plate switch to next sample. Allowed value is
2020 1 ... 2047. It counts at 2 kHz and its default is
Documentation/devicetree/bindings/submitting-patches.txt+23−0
@@ -15,6 +15,29 @@ I. For patch submitters · 14 unmodified lines
1515 3) The Documentation/ portion of the patch should come in the series before
1616 the code implementing the binding.
1717
18+ 4) Any compatible strings used in a chip or board DTS file must be
19+ previously documented in the corresponding DT binding text file
20+ in Documentation/devicetree/bindings. This rule applies even if
21+ the Linux device driver does not yet match on the compatible
22+ string. [ checkpatch will emit warnings if this step is not
23+ followed as of commit bff5da4335256513497cc8c79f9a9d1665e09864
24+ ("checkpatch: add DT compatible string documentation checks"). ]
25+
26+ 5) The wildcard "<chip>" may be used in compatible strings, as in
27+ the following example:
28+
29+ - compatible: Must contain '"nvidia,<chip>-pcie",
30+ "nvidia,tegra20-pcie"' where <chip> is tegra30, tegra132, ...
31+
32+ As in the above example, the known values of "<chip>" should be
33+ documented if it is used.
34+
35+ 6) If a documented compatible string is not yet matched by the
36+ driver, the documentation should also include a compatible
37+ string that is matched by the driver (as in the "nvidia,tegra20-pcie"
38+ example above).
39+
40+
1841 II. For kernel maintainers
1942
2043 1) If you aren't comfortable reviewing a given binding, reply to it and ask
Documentation/devicetree/bindings/thermal/exynos-thermal.txt+21−0
@@ -12,6 +12,7 @@ · 11 unmodified lines
1212 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4
1313 Exynos5420 (Must pass triminfo base and triminfo clock)
1414 "samsung,exynos5440-tmu"
15+ "samsung,exynos7-tmu"
1516 - interrupt-parent : The phandle for the interrupt controller
1617 - reg : Address range of the thermal registers. For soc's which has multiple
1718 instances of TMU and some registers are shared across all TMU's like
@@ -32,13 +33,28 @@ · 14 unmodified lines
3233 - clocks : The main clocks for TMU device
3334 -- 1. operational clock for TMU channel
3435 -- 2. optional clock to access the shared registers of TMU channel
36+ -- 3. optional special clock for functional operation
3537 - clock-names : Thermal system clock name
3638 -- "tmu_apbif" operational clock for current TMU channel
3739 -- "tmu_triminfo_apbif" clock to access the shared triminfo register
3840 for current TMU channel
41+ -- "tmu_sclk" clock for functional operation of the current TMU
42+ channel
3943 - vtmu-supply: This entry is optional and provides the regulator node supplying
4044 voltage to TMU. If needed this entry can be placed inside
4145 board/platform specific dts file.
46+Following properties are mandatory (depending on SoC):
47+- samsung,tmu_gain: Gain value for internal TMU operation.
48+- samsung,tmu_reference_voltage: Value of TMU IP block's reference voltage
49+- samsung,tmu_noise_cancel_mode: Mode for noise cancellation
50+- samsung,tmu_efuse_value: Default level of temperature - it is needed when
51+ in factory fusing produced wrong value
52+- samsung,tmu_min_efuse_value: Minimum temperature fused value
53+- samsung,tmu_max_efuse_value: Maximum temperature fused value
54+- samsung,tmu_first_point_trim: First point trimming value
55+- samsung,tmu_second_point_trim: Second point trimming value
56+- samsung,tmu_default_temp_offset: Default temperature offset
57+- samsung,tmu_cal_type: Callibration type
4258
4359 Example 1):
4460
@@ -51,6 +67,7 @@ Example 1): · 6 unmodified lines
5167 clock-names = "tmu_apbif";
5268 status = "disabled";
5369 vtmu-supply = <&tmu_regulator_node>;
70+ #include "exynos4412-tmu-sensor-conf.dtsi"
5471 };
5572
5673 Example 2):
@@ -61,6 +78,7 @@ Example 2): · 4 unmodified lines
6178 interrupts = <0 58 0>;
6279 clocks = <&clock 21>;
6380 clock-names = "tmu_apbif";
81+ #include "exynos5440-tmu-sensor-conf.dtsi"
6482 };
6583
6684 Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")
@@ -70,6 +88,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") · 3 unmodified lines
7088 interrupts = <0 184 0>;
7189 clocks = <&clock 318>, <&clock 318>;
7290 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
91+ #include "exynos4412-tmu-sensor-conf.dtsi"
7392 };
7493
7594 tmu_cpu3: tmu@1006c000 {
@@ -78,6 +97,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") · 2 unmodified lines
7897 interrupts = <0 185 0>;
7998 clocks = <&clock 318>, <&clock 319>;
8099 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
100+ #include "exynos4412-tmu-sensor-conf.dtsi"
81101 };
82102
83103 tmu_gpu: tmu@100a0000 {
@@ -86,6 +106,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") · 2 unmodified lines
86106 interrupts = <0 215 0>;
87107 clocks = <&clock 319>, <&clock 318>;
88108 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
109+ #include "exynos4412-tmu-sensor-conf.dtsi"
89110 };
90111
91112 Note: For multi-instance tmu each instance should have an alias correctly
Documentation/devicetree/bindings/thermal/tegra-soctherm.txt+3−1
@@ -7,7 +7,9 @@ notifications. It is also used to manage emergency shutdown in an · 6 unmodified lines
77 overheating situation.
88
99 Required properties :
10−- compatible : "nvidia,tegra124-soctherm".
10+- compatible : For Tegra124, must contain "nvidia,tegra124-soctherm".
11+ For Tegra132, must contain "nvidia,tegra132-soctherm".
12+ For Tegra210, must contain "nvidia,tegra210-soctherm".
1113 - reg : Should contain 1 entry:
1214 - SOCTHERM register set
1315 - interrupts : Defines the interrupt used by SOCTHERM
Documentation/devicetree/bindings/thermal/thermal.txt+37−37
@@ -251,24 +251,24 @@ ocp { · 250 unmodified lines
251251 };
252252
253253 thermal-zones {
254− cpu-thermal: cpu-thermal {
254+ cpu_thermal: cpu-thermal {
255255 polling-delay-passive = <250>; /* milliseconds */
256256 polling-delay = <1000>; /* milliseconds */
257257
258258 thermal-sensors = <&bandgap0>;
259259
260260 trips {
261− cpu-alert0: cpu-alert {
261+ cpu_alert0: cpu-alert0 {
262262 temperature = <90000>; /* millicelsius */
263263 hysteresis = <2000>; /* millicelsius */
264264 type = "active";
265265 };
266− cpu-alert1: cpu-alert {
266+ cpu_alert1: cpu-alert1 {
267267 temperature = <100000>; /* millicelsius */
268268 hysteresis = <2000>; /* millicelsius */
269269 type = "passive";
270270 };
271− cpu-crit: cpu-crit {
271+ cpu_crit: cpu-crit {
272272 temperature = <125000>; /* millicelsius */
273273 hysteresis = <2000>; /* millicelsius */
274274 type = "critical";
@@ -277,17 +277,17 @@ thermal-zones { · 2 unmodified lines
277277
278278 cooling-maps {
279279 map0 {
280− trip = <&cpu-alert0>;
281− cooling-device = <&fan0 THERMAL_NO_LIMITS 4>;
280+ trip = <&cpu_alert0>;
281+ cooling-device = <&fan0 THERMAL_NO_LIMIT 4>;
282282 };
283283 map1 {
284− trip = <&cpu-alert1>;
285− cooling-device = <&fan0 5 THERMAL_NO_LIMITS>;
284+ trip = <&cpu_alert1>;
285+ cooling-device = <&fan0 5 THERMAL_NO_LIMIT>;
286286 };
287287 map2 {
288− trip = <&cpu-alert1>;
288+ trip = <&cpu_alert1>;
289289 cooling-device =
290− <&cpu0 THERMAL_NO_LIMITS THERMAL_NO_LIMITS>;
290+ <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
291291 };
292292 };
293293 };
@@ -298,13 +298,13 @@ used to monitor the zone 'cpu-thermal' using its sole sensor. A fan · 4 unmodified lines
298298 device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten
299299 different cooling states 0-9. It is used to remove the heat out of
300300 the thermal zone 'cpu-thermal' using its cooling states
301−from its minimum to 4, when it reaches trip point 'cpu-alert0'
301+from its minimum to 4, when it reaches trip point 'cpu_alert0'
302302 at 90C, as an example of active cooling. The same cooling device is used at
303−'cpu-alert1', but from 5 to its maximum state. The cpu@0 device is also
303+'cpu_alert1', but from 5 to its maximum state. The cpu@0 device is also
304304 linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,
305−using all its cooling states at trip point 'cpu-alert1',
305+using all its cooling states at trip point 'cpu_alert1',
306306 which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the
307−temperature of 125C, represented by the trip point 'cpu-crit', the silicon
307+temperature of 125C, represented by the trip point 'cpu_crit', the silicon
308308 is not reliable anymore.
309309
310310 (b) - IC with several internal sensors
@@ -329,7 +329,7 @@ ocp { · 18 unmodified lines
329329 };
330330
331331 thermal-zones {
332− cpu-thermal: cpu-thermal {
332+ cpu_thermal: cpu-thermal {
333333 polling-delay-passive = <250>; /* milliseconds */
334334 polling-delay = <1000>; /* milliseconds */
335335
@@ -338,12 +338,12 @@ thermal-zones { · 2 unmodified lines
338338
339339 trips {
340340 /* each zone within the SoC may have its own trips */
341− cpu-alert: cpu-alert {
341+ cpu_alert: cpu-alert {
342342 temperature = <100000>; /* millicelsius */
343343 hysteresis = <2000>; /* millicelsius */
344344 type = "passive";
345345 };
346− cpu-crit: cpu-crit {
346+ cpu_crit: cpu-crit {
347347 temperature = <125000>; /* millicelsius */
348348 hysteresis = <2000>; /* millicelsius */
349349 type = "critical";
@@ -356,7 +356,7 @@ thermal-zones { · 6 unmodified lines
356356 };
357357 };
358358
359− gpu-thermal: gpu-thermal {
359+ gpu_thermal: gpu-thermal {
360360 polling-delay-passive = <120>; /* milliseconds */
361361 polling-delay = <1000>; /* milliseconds */
362362
@@ -365,12 +365,12 @@ thermal-zones { · 2 unmodified lines
365365
366366 trips {
367367 /* each zone within the SoC may have its own trips */
368− gpu-alert: gpu-alert {
368+ gpu_alert: gpu-alert {
369369 temperature = <90000>; /* millicelsius */
370370 hysteresis = <2000>; /* millicelsius */
371371 type = "passive";
372372 };
373− gpu-crit: gpu-crit {
373+ gpu_crit: gpu-crit {
374374 temperature = <105000>; /* millicelsius */
375375 hysteresis = <2000>; /* millicelsius */
376376 type = "critical";
@@ -383,7 +383,7 @@ thermal-zones { · 6 unmodified lines
383383 };
384384 };
385385
386− dsp-thermal: dsp-thermal {
386+ dsp_thermal: dsp-thermal {
387387 polling-delay-passive = <50>; /* milliseconds */
388388 polling-delay = <1000>; /* milliseconds */
389389
@@ -392,12 +392,12 @@ thermal-zones { · 2 unmodified lines
392392
393393 trips {
394394 /* each zone within the SoC may have its own trips */
395− dsp-alert: gpu-alert {
395+ dsp_alert: dsp-alert {
396396 temperature = <90000>; /* millicelsius */
397397 hysteresis = <2000>; /* millicelsius */
398398 type = "passive";
399399 };
400− dsp-crit: gpu-crit {
400+ dsp_crit: gpu-crit {
401401 temperature = <135000>; /* millicelsius */
402402 hysteresis = <2000>; /* millicelsius */
403403 type = "critical";
@@ -457,7 +457,7 @@ ocp { · 53 unmodified lines
457457 };
458458
459459 thermal-zones {
460− cpu-thermal: cpu-thermal {
460+ cpu_thermal: cpu-thermal {
461461 polling-delay-passive = <250>; /* milliseconds */
462462 polling-delay = <1000>; /* milliseconds */
463463
@@ -508,7 +508,7 @@ with many sensors and many cooling devices. · 44 unmodified lines
508508 /*
509509 * An IC with several temperature sensor.
510510 */
511− adc-dummy: sensor@0x50 {
511+ adc_dummy: sensor@0x50 {
512512 ...
513513 #thermal-sensor-cells = <1>; /* sensor internal ID */
514514 };
@@ -520,7 +520,7 @@ thermal-zones { · 5 unmodified lines
520520 polling-delay = <2500>; /* milliseconds */
521521
522522 /* sensor ID */
523− thermal-sensors = <&adc-dummy 4>;
523+ thermal-sensors = <&adc_dummy 4>;
524524
525525 trips {
526526 ...
@@ -531,14 +531,14 @@ thermal-zones { · 4 unmodified lines
531531 };
532532 };
533533
534− board-thermal: board-thermal {
534+ board_thermal: board-thermal {
535535 polling-delay-passive = <1000>; /* milliseconds */
536536 polling-delay = <2500>; /* milliseconds */
537537
538538 /* sensor ID */
539− thermal-sensors = <&adc-dummy 0>, /* pcb top edge */
540− <&adc-dummy 1>, /* lcd */
541− <&adc-dymmy 2>; /* back cover */
539+ thermal-sensors = <&adc_dummy 0>, /* pcb top edge */
540+ <&adc_dummy 1>, /* lcd */
541+ <&adc_dummy 2>; /* back cover */
542542 /*
543543 * An array of coefficients describing the sensor
544544 * linear relation. E.g.:
@@ -548,22 +548,22 @@ thermal-zones { · 3 unmodified lines
548548
549549 trips {
550550 /* Trips are based on resulting linear equation */
551− cpu-trip: cpu-trip {
551+ cpu_trip: cpu-trip {
552552 temperature = <60000>; /* millicelsius */
553553 hysteresis = <2000>; /* millicelsius */
554554 type = "passive";
555555 };
556− gpu-trip: gpu-trip {
556+ gpu_trip: gpu-trip {
557557 temperature = <55000>; /* millicelsius */
558558 hysteresis = <2000>; /* millicelsius */
559559 type = "passive";
560560 }
561− lcd-trip: lcp-trip {
561+ lcd_trip: lcp-trip {
562562 temperature = <53000>; /* millicelsius */
563563 hysteresis = <2000>; /* millicelsius */
564564 type = "passive";
565565 };
566− crit-trip: crit-trip {
566+ crit_trip: crit-trip {
567567 temperature = <68000>; /* millicelsius */
568568 hysteresis = <2000>; /* millicelsius */
569569 type = "critical";
@@ -572,17 +572,17 @@ thermal-zones { · 2 unmodified lines
572572
573573 cooling-maps {
574574 map0 {
575− trip = <&cpu-trip>;
575+ trip = <&cpu_trip>;
576576 cooling-device = <&cpu0 0 2>;
577577 contribution = <55>;
578578 };
579579 map1 {
580− trip = <&gpu-trip>;
580+ trip = <&gpu_trip>;
581581 cooling-device = <&gpu0 0 2>;
582582 contribution = <20>;
583583 };
584584 map2 {
585− trip = <&lcd-trip>;
585+ trip = <&lcd_trip>;
586586 cooling-device = <&lcd0 5 10>;
587587 contribution = <15>;
588588 };
Documentation/devicetree/bindings/timer/digicolor-timer.txt+18−0
@@ -0,0 +1,18 @@
1+Conexant Digicolor SoCs Timer Controller
2+
3+Required properties:
4+
5+- compatible : should be "cnxt,cx92755-timer"
6+- reg : Specifies base physical address and size of the "Agent Communication"
7+ timer registers
8+- interrupts : Contains 8 interrupts, one for each timer
9+- clocks: phandle to the main clock
10+
11+Example:
12+
13+ timer@f0000fc0 {
14+ compatible = "cnxt,cx92755-timer";
15+ reg = <0xf0000fc0 0x40>;
16+ interrupts = <19>, <31>, <34>, <35>, <52>, <53>, <54>, <55>;
17+ clocks = <&main_clk>;
18+ };
Documentation/devicetree/bindings/timer/nvidia,tegra30-timer.txt+3−1
@@ -6,7 +6,9 @@ trigger a legacy watchdog reset. · 5 unmodified lines
66
77 Required properties:
88
9−- compatible : should be "nvidia,tegra30-timer", "nvidia,tegra20-timer".
9+- compatible : For Tegra30, must contain "nvidia,tegra30-timer". Otherwise,
10+ must contain '"nvidia,<chip>-timer", "nvidia,tegra30-timer"' where
11+ <chip> is tegra124 or tegra132.
1012 - reg : Specifies base physical address and size of the registers.
1113 - interrupts : A list of 6 interrupts; one per each of timer channels 1
1214 through 5, and one for the shared interrupt for the remaining channels.
Documentation/devicetree/bindings/timer/rockchip,rk3288-timer.txt+18−0
@@ -0,0 +1,18 @@
1+Rockchip rk3288 timer
2+
3+Required properties:
4+- compatible: shall be "rockchip,rk3288-timer"
5+- reg: base address of the timer register starting with TIMERS CONTROL register
6+- interrupts: should contain the interrupts for Timer0
7+- clocks : must contain an entry for each entry in clock-names
8+- clock-names : must include the following entries:
9+ "timer", "pclk"
10+
11+Example:
12+ timer: timer@ff810000 {
13+ compatible = "rockchip,rk3288-timer";
14+ reg = <0xff810000 0x20>;
15+ interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
16+ clocks = <&xin24m>, <&cru PCLK_TIMER>;
17+ clock-names = "timer", "pclk";
18+ };
Documentation/devicetree/bindings/unittest.txt+58−1
@@ -1,4 +1,4 @@
1−* OF selftest platform device
1+1) OF selftest platform device
22
33 ** selftest
44
@@ -12,3 +12,60 @@ Example: · 7 unmodified lines
1212 compatible = "selftest";
1313 status = "okay";
1414 };
15+
16+2) OF selftest i2c adapter platform device
17+
18+** platform device unittest adapter
19+
20+Required properties:
21+- compatible: must be selftest-i2c-bus
22+
23+Children nodes contain selftest i2c devices.
24+
25+Example:
26+ selftest-i2c-bus {
27+ compatible = "selftest-i2c-bus";
28+ status = "okay";
29+ };
30+
31+3) OF selftest i2c device
32+
33+** I2C selftest device
34+
35+Required properties:
36+- compatible: must be selftest-i2c-dev
37+
38+All other properties are optional
39+
40+Example:
41+ selftest-i2c-dev {
42+ compatible = "selftest-i2c-dev";
43+ status = "okay";
44+ };
45+
46+4) OF selftest i2c mux device
47+
48+** I2C selftest mux
49+
50+Required properties:
51+- compatible: must be selftest-i2c-mux
52+
53+Children nodes contain selftest i2c bus nodes per channel.
54+
55+Example:
56+ selftest-i2c-mux {
57+ compatible = "selftest-i2c-mux";
58+ status = "okay";
59+ #address-cells = <1>;
60+ #size-cells = <0>;
61+ channel-0 {
62+ reg = <0>;
63+ #address-cells = <1>;
64+ #size-cells = <0>;
65+ i2c-dev {
66+ reg = <8>;
67+ compatible = "selftest-i2c-dev";
68+ status = "okay";
69+ };
70+ };
71+ };
Documentation/devicetree/bindings/usb/atmel-usb.txt+13−2
@@ -33,9 +33,17 @@ usb1: ehci@00800000 { · 32 unmodified lines
3333 AT91 USB device controller
3434
3535 Required properties:
36− - compatible: Should be "atmel,at91rm9200-udc"
36+ - compatible: Should be one of the following
37+ "atmel,at91rm9200-udc"
38+ "atmel,at91sam9260-udc"
39+ "atmel,at91sam9261-udc"
40+ "atmel,at91sam9263-udc"
3741 - reg: Address and length of the register set for the device
3842 - interrupts: Should contain macb interrupt
43+ - clocks: Should reference the peripheral and the AHB clocks
44+ - clock-names: Should contains two strings
45+ "pclk" for the peripheral clock
46+ "hclk" for the AHB clock
3947
4048 Optional properties:
4149 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
@@ -51,7 +59,10 @@ usb1: gadget@fffa4000 { · 9 unmodified lines
5159 Atmel High-Speed USB device controller
5260
5361 Required properties:
54− - compatible: Should be "atmel,at91sam9rl-udc"
62+ - compatible: Should be one of the following
63+ "at91sam9rl-udc"
64+ "at91sam9g45-udc"
65+ "sama5d3-udc"
5566 - reg: Address and length of the register set for the device
5667 - interrupts: Should contain usba interrupt
5768 - ep childnode: To specify the number of endpoints and their properties.
Documentation/devicetree/bindings/usb/dwc2.txt+4−0
@@ -20,6 +20,10 @@ Optional properties: · 19 unmodified lines
2020 Refer to phy/phy-bindings.txt for generic phy consumer properties
2121 - dr_mode: shall be one of "host", "peripheral" and "otg"
2222 Refer to usb/generic.txt
23+- g-use-dma: enable dma usage in gadget driver.
24+- g-rx-fifo-size: size of rx fifo size in gadget mode.
25+- g-np-tx-fifo-size: size of non-periodic tx fifo size in gadget mode.
26+- g-tx-fifo-size: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
2327
2428 Example:
2529
Documentation/devicetree/bindings/usb/nvidia,tegra20-ehci.txt+4−1
@@ -6,7 +6,10 @@ Practice : Universal Serial Bus" with the following modifications · 5 unmodified lines
66 and additions :
77
88 Required properties :
9− - compatible : Should be "nvidia,tegra20-ehci".
9+ - compatible : For Tegra20, must contain "nvidia,tegra20-ehci".
10+ For Tegra30, must contain "nvidia,tegra30-ehci". Otherwise, must contain
11+ "nvidia,<chip>-ehci" plus at least one of the above, where <chip> is
12+ tegra114, tegra124, tegra132, or tegra210.
1013 - nvidia,phy : phandle of the PHY that the controller is connected to.
1114 - clocks : Must contain one entry, for the module clock.
1215 See ../clocks/clock-bindings.txt for details.
Documentation/devicetree/bindings/usb/nvidia,tegra20-usb-phy.txt+4−1
@@ -3,7 +3,10 @@ Tegra SOC USB PHY · 2 unmodified lines
33 The device node for Tegra SOC USB PHY:
44
55 Required properties :
6− - compatible : Should be "nvidia,tegra<chip>-usb-phy".
6+ - compatible : For Tegra20, must contain "nvidia,tegra20-usb-phy".
7+ For Tegra30, must contain "nvidia,tegra30-usb-phy". Otherwise, must contain
8+ "nvidia,<chip>-usb-phy" plus at least one of the above, where <chip> is
9+ tegra114, tegra124, tegra132, or tegra210.
710 - reg : Defines the following set of registers, in the order listed:
811 - The PHY's own register set.
912 Always present.
Documentation/devicetree/bindings/usb/renesas_usbhs.txt+2−0
@@ -14,6 +14,8 @@ Optional properties: · 13 unmodified lines
1414 function should be enabled
1515 - phys: phandle + phy specifier pair
1616 - phy-names: must be "usb"
17+ - dmas: Must contain a list of references to DMA specifiers.
18+ - dma-names : Must contain a list of DMA names, "tx" or "rx".
1719
1820 Example:
1921 usbhs: usb@e6590000 {
Documentation/devicetree/bindings/usb/usb-ehci.txt+1−0
@@ -12,6 +12,7 @@ Optional properties: · 11 unmodified lines
1212 - big-endian-regs : boolean, set this for hcds with big-endian registers
1313 - big-endian-desc : boolean, set this for hcds with big-endian descriptors
1414 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
15+ - needs-reset-on-resume : boolean, set this to force EHCI reset after resume
1516 - clocks : a list of phandle + clock specifier pairs
1617 - phys : phandle + phy specifier pair
1718 - phy-names : "usb"
Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt+9−1
@@ -13,10 +13,15 @@ Optional properties: · 12 unmodified lines
1313 - clock-frequency: the clock frequency (in Hz) that the PHY clock must
1414 be configured to.
1515
16−- vcc-supply: phandle to the regulator that provides RESET to the PHY.
16+- vcc-supply: phandle to the regulator that provides power to the PHY.
1717
1818 - reset-gpios: Should specify the GPIO for reset.
1919
20+- vbus-detect-gpio: should specify the GPIO detecting a VBus insertion
21+ (see Documentation/devicetree/bindings/gpio/gpio.txt)
22+- vbus-regulator : should specifiy the regulator supplying current drawn from
23+ the VBus line (see Documentation/devicetree/bindings/regulator/regulator.txt).
24+
2025 Example:
2126
2227 hsusb1_phy {
@@ -26,8 +31,11 @@ Example: · 3 unmodified lines
2631 clock-names = "main_clk";
2732 vcc-supply = <&hsusb1_vcc_regulator>;
2833 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
34+ vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
35+ vbus-regulator = <&vbus_regulator>;
2936 };
3037
3138 hsusb1_phy is a NOP USB PHY device that gets its clock from an oscillator
3239 and expects that clock to be configured to 19.2MHz by the NOP PHY driver.
3340 hsusb1_vcc_regulator provides power to the PHY and GPIO 7 controls RESET.
41+GPIO 13 detects VBus insertion, and accordingly notifies the vbus-regulator.
Documentation/devicetree/bindings/vendor-prefixes.txt+20−2
@@ -4,12 +4,15 @@ This isn't an exhaustive list, but you should add new prefixes to it before · 3 unmodified lines
44 using them to avoid name-space collisions.
55
66 abilis Abilis Systems
7+abcn Abracon Corporation
78 active-semi Active-Semi International Inc
89 ad Avionic Design GmbH
910 adapteva Adapteva, Inc.
11+adh AD Holdings Plc.
1012 adi Analog Devices, Inc.
1113 aeroflexgaisler Aeroflex Gaisler AB
1214 allwinner Allwinner Technology Co., Ltd.
15+alphascale AlphaScale Integrated Circuits Systems, Inc.
1316 altr Altera Corp.
1417 amcc Applied Micro Circuits Corporation (APM, formally AMCC)
1518 amd Advanced Micro Devices (AMD), Inc.
@@ -23,6 +26,7 @@ asahi-kasei Asahi Kasei Corp. · 7 unmodified lines
2326 atmel Atmel Corporation
2427 auo AU Optronics Corporation
2528 avago Avago Technologies
29+avic Shanghai AVIC Optoelectronics Co., Ltd.
2630 bosch Bosch Sensortec GmbH
2731 brcm Broadcom Corporation
2832 buffalo Buffalo, Inc.
@@ -31,11 +35,15 @@ capella Capella Microsystems, Inc · 2 unmodified lines
3135 cavium Cavium, Inc.
3236 cdns Cadence Design Systems Inc.
3337 chipidea Chipidea, Inc
38+chipspark ChipSPARK
3439 chrp Common Hardware Reference Platform
3540 chunghwa Chunghwa Picture Tubes Ltd.
3641 cirrus Cirrus Logic, Inc.
42+cloudengines Cloud Engines, Inc.
3743 cnm Chips&Media, Inc.
44+cnxt Conexant Systems, Inc.
3845 cortina Cortina Systems, Inc.
46+cosmic Cosmic Circuits
3947 crystalfontz Crystalfontz America, Inc.
4048 dallas Maxim Integrated Products (formerly Dallas Semiconductor)
4149 davicom DAVICOM Semiconductor, Inc.
@@ -54,14 +62,18 @@ epcos EPCOS AG · 12 unmodified lines
5462 epfl Ecole Polytechnique Fédérale de Lausanne
5563 epson Seiko Epson Corp.
5664 est ESTeem Wireless Modems
65+ettus NI Ettus Research
5766 eukrea Eukréa Electromatique
5867 everest Everest Semiconductor Co. Ltd.
68+everspin Everspin Technologies, Inc.
5969 excito Excito
6070 fcs Fairchild Semiconductor
71+firefly Firefly
6172 fsl Freescale Semiconductor
6273 GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
6374 gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
6475 geniatech Geniatech, Inc.
76+giantplus Giantplus Technology Co., Ltd.
6577 globalscale Globalscale Technologies, Inc.
6678 gmt Global Mixed-mode Technology, Inc.
6779 google Google, Inc.
@@ -69,6 +81,7 @@ gumstix Gumstix, Inc. · 1 unmodified line
6981 gw Gateworks Corporation
7082 hannstar HannStar Display Corporation
7183 haoyu Haoyu Microelectronic Co. Ltd.
84+himax Himax Technologies, Inc.
7285 hisilicon Hisilicon Limited.
7386 hit Hitachi Ltd.
7487 honeywell Honeywell
@@ -82,8 +95,7 @@ innolux Innolux Corporation · 7 unmodified lines
8295 intel Intel Corporation
8396 intercontrol Inter Control Group
8497 isee ISEE 2007 S.L.
85−isil Intersil (deprecated, use isl)
86−isl Intersil
98+isil Intersil
8799 karo Ka-Ro electronics GmbH
88100 keymile Keymile GmbH
89101 lacie LaCie
@@ -118,7 +130,9 @@ nvidia NVIDIA · 28 unmodified lines
118130 nxp NXP Semiconductors
119131 onnn ON Semiconductor Corp.
120132 opencores OpenCores.org
133+ovti OmniVision Technologies
121134 panasonic Panasonic Corporation
135+parade Parade Technologies Inc.
122136 pericom Pericom Technology Inc.
123137 phytec PHYTEC Messtechnik GmbH
124138 picochip Picochip Ltd
@@ -142,8 +156,10 @@ sandisk Sandisk Corporation · 17 unmodified lines
142156 sbs Smart Battery System
143157 schindler Schindler
144158 seagate Seagate Technology PLC
159+semtech Semtech Corporation
145160 sil Silicon Image
146161 silabs Silicon Laboratories
162+siliconmitus Silicon Mitus, Inc.
147163 simtek
148164 sii Seiko Instruments, Inc.
149165 silergy Silergy Corp.
@@ -154,6 +170,7 @@ snps Synopsys, Inc. · 4 unmodified lines
154170 solidrun SolidRun
155171 sony Sony Corporation
156172 spansion Spansion Inc.
173+sprd Spreadtrum Communications Inc.
157174 st STMicroelectronics
158175 ste ST-Ericsson
159176 stericsson ST-Ericsson
@@ -165,6 +182,7 @@ tlm Trusted Logic Mobility · 5 unmodified lines
165182 toradex Toradex AG
166183 toshiba Toshiba Corporation
167184 toumaz Toumaz
185+truly Truly Semiconductors Limited
168186 usi Universal Scientific Industrial Co., Ltd.
169187 v3 V3 Semiconductor
170188 variscite Variscite Ltd.
Documentation/devicetree/bindings/video/bridge/ps8622.txt+31−0
@@ -0,0 +1,31 @@
1+ps8622-bridge bindings
2+
3+Required properties:
4+ - compatible: "parade,ps8622" or "parade,ps8625"
5+ - reg: first i2c address of the bridge
6+ - sleep-gpios: OF device-tree gpio specification for PD_ pin.
7+ - reset-gpios: OF device-tree gpio specification for RST_ pin.
8+
9+Optional properties:
10+ - lane-count: number of DP lanes to use
11+ - use-external-pwm: backlight will be controlled by an external PWM
12+ - video interfaces: Device node can contain video interface port
13+ nodes for panel according to [1].
14+
15+[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
16+
17+Example:
18+ lvds-bridge@48 {
19+ compatible = "parade,ps8622";
20+ reg = <0x48>;
21+ sleep-gpios = <&gpc3 6 1 0 0>;
22+ reset-gpios = <&gpc3 1 1 0 0>;
23+ lane-count = <1>;
24+ ports {
25+ port@0 {
26+ bridge_out: endpoint {
27+ remote-endpoint = <&panel_in>;
28+ };
29+ };
30+ };
31+ };
Documentation/devicetree/bindings/video/bridge/ptn3460.txtrenamed from Documentation/devicetree/bindings/drm/bridge/ptn3460.txt+14−2
@@ -3,8 +3,8 @@ ptn3460 bridge bindings · 2 unmodified lines
33 Required properties:
44 - compatible: "nxp,ptn3460"
55 - reg: i2c address of the bridge
6− - powerdown-gpio: OF device-tree gpio specification
7− - reset-gpio: OF device-tree gpio specification
6+ - powerdown-gpio: OF device-tree gpio specification for PD_N pin.
7+ - reset-gpio: OF device-tree gpio specification for RST_N pin.
88 - edid-emulation: The EDID emulation entry to use
99 +-------+------------+------------------+
1010 | Value | Resolution | Description |
@@ -17,6 +17,11 @@ Required properties: · 6 unmodified lines
1717 | 6 | 1600x900 | ChiMei M215HGE |
1818 +-------+------------+------------------+
1919
20+ - video interfaces: Device node can contain video interface port
21+ nodes for panel according to [1].
22+
23+[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
24+
2025 Example:
2126 lvds-bridge@20 {
2227 compatible = "nxp,ptn3460";
@@ -24,4 +29,11 @@ Example: · 1 unmodified line
2429 powerdown-gpio = <&gpy2 5 1 0 0>;
2530 reset-gpio = <&gpx1 5 1 0 0>;
2631 edid-emulation = <5>;
32+ ports {
33+ port@0 {
34+ bridge_out: endpoint {
35+ remote-endpoint = <&panel_in>;
36+ };
37+ };
38+ };
2739 };
Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt+46−0
@@ -0,0 +1,46 @@
1+Rockchip specific extensions to the Synopsys Designware HDMI
2+================================
3+
4+Required properties:
5+- compatible: "rockchip,rk3288-dw-hdmi";
6+- reg: Physical base address and length of the controller's registers.
7+- clocks: phandle to hdmi iahb and isfr clocks.
8+- clock-names: should be "iahb" "isfr"
9+- rockchip,grf: this soc should set GRF regs to mux vopl/vopb.
10+- interrupts: HDMI interrupt number
11+- ports: contain a port node with endpoint definitions as defined in
12+ Documentation/devicetree/bindings/media/video-interfaces.txt. For
13+ vopb,set the reg = <0> and set the reg = <1> for vopl.
14+- reg-io-width: the width of the reg:1,4, the value should be 4 on
15+ rk3288 platform
16+
17+Optional properties
18+- ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
19+- clocks, clock-names: phandle to the HDMI CEC clock, name should be "cec"
20+
21+Example:
22+hdmi: hdmi@ff980000 {
23+ compatible = "rockchip,rk3288-dw-hdmi";
24+ reg = <0xff980000 0x20000>;
25+ reg-io-width = <4>;
26+ ddc-i2c-bus = <&i2c5>;
27+ rockchip,grf = <&grf>;
28+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
29+ clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
30+ clock-names = "iahb", "isfr";
31+ status = "disabled";
32+ ports {
33+ hdmi_in: port {
34+ #address-cells = <1>;
35+ #size-cells = <0>;
36+ hdmi_in_vopb: endpoint@0 {
37+ reg = <0>;
38+ remote-endpoint = <&vopb_out_hdmi>;
39+ };
40+ hdmi_in_vopl: endpoint@1 {
41+ reg = <1>;
42+ remote-endpoint = <&vopl_out_hdmi>;
43+ };
44+ };
45+ };
46+};
Documentation/devicetree/bindings/video/exynos7-decon.txt+68−0
@@ -0,0 +1,68 @@
1+Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
2+
3+DECON (Display and Enhancement Controller) is the Display Controller for the
4+Exynos7 series of SoCs which transfers the image data from a video memory
5+buffer to an external LCD interface.
6+
7+Required properties:
8+- compatible: value should be "samsung,exynos7-decon";
9+
10+- reg: physical base address and length of the DECON registers set.
11+
12+- interrupt-parent: should be the phandle of the decon controller's
13+ parent interrupt controller.
14+
15+- interrupts: should contain a list of all DECON IP block interrupts in the
16+ order: FIFO Level, VSYNC, LCD_SYSTEM. The interrupt specifier
17+ format depends on the interrupt controller used.
18+
19+- interrupt-names: should contain the interrupt names: "fifo", "vsync",
20+ "lcd_sys", in the same order as they were listed in the interrupts
21+ property.
22+
23+- pinctrl-0: pin control group to be used for this controller.
24+
25+- pinctrl-names: must contain a "default" entry.
26+
27+- clocks: must include clock specifiers corresponding to entries in the
28+ clock-names property.
29+
30+- clock-names: list of clock names sorted in the same order as the clocks
31+ property. Must contain "pclk_decon0", "aclk_decon0",
32+ "decon0_eclk", "decon0_vclk".
33+- i80-if-timings: timing configuration for lcd i80 interface support.
34+
35+Optional Properties:
36+- samsung,power-domain: a phandle to DECON power domain node.
37+- display-timings: timing settings for DECON, as described in document [1].
38+ Can be used in case timings cannot be provided otherwise
39+ or to override timings provided by the panel.
40+
41+[1]: Documentation/devicetree/bindings/video/display-timing.txt
42+
43+Example:
44+
45+SoC specific DT entry:
46+
47+ decon@13930000 {
48+ compatible = "samsung,exynos7-decon";
49+ interrupt-parent = <&combiner>;
50+ reg = <0x13930000 0x1000>;
51+ interrupt-names = "lcd_sys", "vsync", "fifo";
52+ interrupts = <0 188 0>, <0 189 0>, <0 190 0>;
53+ clocks = <&clock_disp PCLK_DECON_INT>,
54+ <&clock_disp ACLK_DECON_INT>,
55+ <&clock_disp SCLK_DECON_INT_ECLK>,
56+ <&clock_disp SCLK_DECON_INT_EXTCLKPLL>;
57+ clock-names = "pclk_decon0", "aclk_decon0", "decon0_eclk",
58+ "decon0_vclk";
59+ status = "disabled";
60+ };
61+
62+Board specific DT entry:
63+
64+ decon@13930000 {
65+ pinctrl-0 = <&lcd_clk &pwm1_out>;
66+ pinctrl-names = "default";
67+ status = "okay";
68+ };
Documentation/devicetree/bindings/video/exynos_dp.txt+12−0
@@ -66,6 +66,10 @@ Optional properties for dp-controller: · 65 unmodified lines
6666 Hotplug detect GPIO.
6767 Indicates which GPIO should be used for hotplug
6868 detection
69+ -video interfaces: Device node can contain video interface port
70+ nodes according to [1].
71+
72+[1]: Documentation/devicetree/bindings/media/video-interfaces.txt
6973
7074 Example:
7175
@@ -105,4 +109,12 @@ Board Specific portion: · 33 unmodified lines
105109 vsync-len = <6>;
106110 };
107111 };
112+
113+ ports {
114+ port@0 {
115+ dp_out: endpoint {
116+ remote-endpoint = <&bridge_in>;
117+ };
118+ };
119+ };
108120 };
Documentation/devicetree/bindings/video/exynos_dsim.txt+2−2
@@ -21,7 +21,7 @@ Required properties: · 20 unmodified lines
2121 according to DSI host bindings (see MIPI DSI bindings [1])
2222
2323 Optional properties:
24− - samsung,power-domain: a phandle to DSIM power domain node
24+ - power-domains: a phandle to DSIM power domain node
2525
2626 Child nodes:
2727 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).
@@ -53,7 +53,7 @@ Example: · 25 unmodified lines
5353 phy-names = "dsim";
5454 vddcore-supply = <&vusb_reg>;
5555 vddio-supply = <&vmipi_reg>;
56− samsung,power-domain = <&pd_lcd0>;
56+ power-domains = <&pd_lcd0>;
5757 #address-cells = <1>;
5858 #size-cells = <0>;
5959 samsung,pll-clock-frequency = <24000000>;
Documentation/devicetree/bindings/video/exynos_mixer.txt+1−0
@@ -15,6 +15,7 @@ Required properties: · 14 unmodified lines
1515 a) mixer: Gate of Mixer IP bus clock.
1616 b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of
1717 mixer mux.
18+ c) hdmi: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
1819
1920 Example:
2021
Documentation/devicetree/bindings/video/renesas,du.txt+4−0
@@ -26,6 +26,10 @@ Required Properties: · 25 unmodified lines
2626 per LVDS encoder. The functional clocks must be named "du.x" with "x"
2727 being the channel numerical index. The LVDS clocks must be named
2828 "lvds.x" with "x" being the LVDS encoder numerical index.
29+ - In addition to the functional and encoder clocks, all DU versions also
30+ support externally supplied pixel clocks. Those clocks are optional.
31+ When supplied they must be named "dclkin.x" with "x" being the input
32+ clock numerical index.
2933
3034 Required nodes:
3135
Documentation/devicetree/bindings/video/samsung-fimd.txt+2−2
@@ -38,7 +38,7 @@ Required properties: · 37 unmodified lines
3838 property. Must contain "sclk_fimd" and "fimd".
3939
4040 Optional Properties:
41−- samsung,power-domain: a phandle to FIMD power domain node.
41+- power-domains: a phandle to FIMD power domain node.
4242 - samsung,invert-vden: video enable signal is inverted
4343 - samsung,invert-vclk: video clock signal is inverted
4444 - display-timings: timing settings for FIMD, as described in document [1].
@@ -97,7 +97,7 @@ SoC specific DT entry: · 52 unmodified lines
9797 interrupts = <11 0>, <11 1>, <11 2>;
9898 clocks = <&clock 140>, <&clock 283>;
9999 clock-names = "sclk_fimd", "fimd";
100− samsung,power-domain = <&pd_lcd0>;
100+ power-domains = <&pd_lcd0>;
101101 status = "disabled";
102102 };
103103
Documentation/devicetree/bindings/video/ti,dra7-dss.txt+69−0
@@ -0,0 +1,69 @@
1+Texas Instruments DRA7x Display Subsystem
2+=========================================
3+
4+See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5+description about OMAP Display Subsystem bindings.
6+
7+DSS Core
8+--------
9+
10+Required properties:
11+- compatible: "ti,dra7-dss"
12+- reg: address and length of the register spaces for 'dss'
13+- ti,hwmods: "dss_core"
14+- clocks: handle to fclk
15+- clock-names: "fck"
16+- syscon: phandle to control module core syscon node
17+
18+Optional properties:
19+
20+Some DRA7xx SoCs have one dedicated video PLL, some have two. These properties
21+can be used to describe the video PLLs:
22+
23+- reg: address and length of the register spaces for 'pll1_clkctrl',
24+ 'pll1', 'pll2_clkctrl', 'pll2'
25+- clocks: handle to video1 pll clock and video2 pll clock
26+- clock-names: "video1_clk" and "video2_clk"
27+
28+Required nodes:
29+- DISPC
30+
31+Optional nodes:
32+- DSS Submodules: HDMI
33+- Video port for DPI output
34+
35+DPI Endpoint required properties:
36+- data-lines: number of lines used
37+
38+
39+DISPC
40+-----
41+
42+Required properties:
43+- compatible: "ti,dra7-dispc"
44+- reg: address and length of the register space
45+- ti,hwmods: "dss_dispc"
46+- interrupts: the DISPC interrupt
47+- clocks: handle to fclk
48+- clock-names: "fck"
49+
50+HDMI
51+----
52+
53+Required properties:
54+- compatible: "ti,dra7-hdmi"
55+- reg: addresses and lengths of the register spaces for 'wp', 'pll', 'phy',
56+ 'core'
57+- reg-names: "wp", "pll", "phy", "core"
58+- interrupts: the HDMI interrupt line
59+- ti,hwmods: "dss_hdmi"
60+- vdda-supply: vdda power supply
61+- clocks: handles to fclk and pll clock
62+- clock-names: "fck", "sys_clk"
63+
64+Optional nodes:
65+- Video port for HDMI output
66+
67+HDMI Endpoint optional properties:
68+- lanes: list of 8 pin numbers for the HDMI lanes: CLK+, CLK-, D0+, D0-,
69+ D1+, D1-, D2+, D2-. (default: 0,1,2,3,4,5,6,7)
Documentation/devicetree/bindings/video/ti,opa362.txt+38−0
@@ -0,0 +1,38 @@
1+OPA362 analog video amplifier
2+
3+Required properties:
4+- compatible: "ti,opa362"
5+- enable-gpios: enable/disable output gpio
6+
7+Required node:
8+- Video port 0 for opa362 input
9+- Video port 1 for opa362 output
10+
11+Example:
12+
13+tv_amp: opa362 {
14+ compatible = "ti,opa362";
15+ enable-gpios = <&gpio1 23 0>; /* GPIO to enable video out amplifier */
16+
17+ ports {
18+ #address-cells = <1>;
19+ #size-cells = <0>;
20+
21+ port@0 {
22+ reg = <0>;
23+ opa_in: endpoint@0 {
24+ remote-endpoint = <&venc_out>;
25+ };
26+ };
27+
28+ port@1 {
29+ reg = <1>;
30+ opa_out: endpoint@0 {
31+ remote-endpoint = <&tv_connector_in>;
32+ };
33+ };
34+ };
35+};
36+
37+
38+
Documentation/devicetree/bindings/watchdog/gpio-wdt.txt+5−0
@@ -13,6 +13,11 @@ Required Properties: · 12 unmodified lines
1313 by the GPIO flags.
1414 - hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
1515
16+Optional Properties:
17+- always-running: If the watchdog timer cannot be disabled, add this flag to
18+ have the driver keep toggling the signal without a client. It will only cease
19+ to toggle the signal when the device is open and the timeout elapsed.
20+
1621 Example:
1722 watchdog: watchdog {
1823 /* ADM706 */
Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt+19−0
@@ -0,0 +1,19 @@
1+*ImgTec PowerDown Controller (PDC) Watchdog Timer (WDT)
2+
3+Required properties:
4+- compatible : Should be "img,pdc-wdt"
5+- reg : Should contain WDT registers location and length
6+- clocks: Must contain an entry for each entry in clock-names.
7+- clock-names: Should contain "wdt" and "sys"; the watchdog counter
8+ clock and register interface clock respectively.
9+- interrupts : Should contain WDT interrupt
10+
11+Examples:
12+
13+watchdog@18102100 {
14+ compatible = "img,pdc-wdt";
15+ reg = <0x18102100 0x100>;
16+ clocks = <&pdc_wdt_clk>, <&sys_clk>;
17+ clock-names = "wdt", "sys";
18+ interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
19+};
Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt+12−0
@@ -0,0 +1,12 @@
1+Ingenic Watchdog Timer (WDT) Controller for JZ4740
2+
3+Required properties:
4+compatible: "ingenic,jz4740-watchdog"
5+reg: Register address and length for watchdog registers
6+
7+Example:
8+
9+watchdog: jz4740-watchdog@0x10002000 {
10+ compatible = "ingenic,jz4740-watchdog";
11+ reg = <0x10002000 0x100>;
12+};
Documentation/devicetree/bindings/watchdog/mtk-wdt.txt+13−0
@@ -0,0 +1,13 @@
1+Mediatek SoCs Watchdog timer
2+
3+Required properties:
4+
5+- compatible : should be "mediatek,mt6589-wdt"
6+- reg : Specifies base physical address and size of the registers.
7+
8+Example:
9+
10+wdt: watchdog@010000000 {
11+ compatible = "mediatek,mt6589-wdt";
12+ reg = <0x10000000 0x18>;
13+};
Documentation/devicetree/overlay-notes.txt+2−2
@@ -10,7 +10,7 @@ How overlays work · 9 unmodified lines
1010 -----------------
1111
1212 A Device Tree's overlay purpose is to modify the kernel's live tree, and
13−have the modification affecting the state of the the kernel in a way that
13+have the modification affecting the state of the kernel in a way that
1414 is reflecting the changes.
1515 Since the kernel mainly deals with devices, any new device node that result
1616 in an active device should have it created while if the device node is either
@@ -80,7 +80,7 @@ result in foo+bar.dts · 63 unmodified lines
8080 };
8181 ---- foo+bar.dts -------------------------------------------------------------
8282
83−As a result of the the overlay, a new device node (bar) has been created
83+As a result of the overlay, a new device node (bar) has been created
8484 so a bar platform device will be registered and if a matching device driver
8585 is loaded the device will be created as expected.
8686
Documentation/dmaengine/00-INDEX+8−0
@@ -0,0 +1,8 @@
1+00-INDEX
2+ - this file.
3+client.txt
4+ -the DMA Engine API Guide.
5+dmatest.txt
6+ - how to compile, configure and use the dmatest system.
7+provider.txt
8+ - the DMA controller API.
Documentation/dmaengine/provider.txt+55−42
@@ -113,6 +113,31 @@ need to initialize a few fields in there: · 112 unmodified lines
113113 * channels: should be initialized as a list using the
114114 INIT_LIST_HEAD macro for example
115115
116+ * src_addr_widths:
117+ - should contain a bitmask of the supported source transfer width
118+
119+ * dst_addr_widths:
120+ - should contain a bitmask of the supported destination transfer
121+ width
122+
123+ * directions:
124+ - should contain a bitmask of the supported slave directions
125+ (i.e. excluding mem2mem transfers)
126+
127+ * residue_granularity:
128+ - Granularity of the transfer residue reported to dma_set_residue.
129+ - This can be either:
130+ + Descriptor
131+ -> Your device doesn't support any kind of residue
132+ reporting. The framework will only know that a particular
133+ transaction descriptor is done.
134+ + Segment
135+ -> Your device is able to report which chunks have been
136+ transferred
137+ + Burst
138+ -> Your device is able to report which burst have been
139+ transferred
140+
116141 * dev: should hold the pointer to the struct device associated
117142 to your current driver instance.
118143
@@ -274,48 +299,36 @@ supported. · 155 unmodified lines
274299 account the current period.
275300 - This function can be called in an interrupt context.
276301
277− * device_control
278− - Used by client drivers to control and configure the channel it
279− has a handle on.
280− - Called with a command and an argument
281− + The command is one of the values listed by the enum
282− dma_ctrl_cmd. The valid commands are:
283− + DMA_PAUSE
284− + Pauses a transfer on the channel
285− + This command should operate synchronously on the channel,
286− pausing right away the work of the given channel
287− + DMA_RESUME
288− + Restarts a transfer on the channel
289− + This command should operate synchronously on the channel,
290− resuming right away the work of the given channel
291− + DMA_TERMINATE_ALL
292− + Aborts all the pending and ongoing transfers on the
293− channel
294− + This command should operate synchronously on the channel,
295− terminating right away all the channels
296− + DMA_SLAVE_CONFIG
297− + Reconfigures the channel with passed configuration
298− + This command should NOT perform synchronously, or on any
299− currently queued transfers, but only on subsequent ones
300− + In this case, the function will receive a
301− dma_slave_config structure pointer as an argument, that
302− will detail which configuration to use.
303− + Even though that structure contains a direction field,
304− this field is deprecated in favor of the direction
305− argument given to the prep_* functions
306− + FSLDMA_EXTERNAL_START
307− + TODO: Why does that even exist?
308− + The argument is an opaque unsigned long. This actually is a
309− pointer to a struct dma_slave_config that should be used only
310− in the DMA_SLAVE_CONFIG.
311−
312− * device_slave_caps
313− - Called through the framework by client drivers in order to have
314− an idea of what are the properties of the channel allocated to
315− them.
316− - Such properties are the buswidth, available directions, etc.
317− - Required for every generic layer doing DMA transfers, such as
318− ASoC.
302+ * device_config
303+ - Reconfigures the channel with the configuration given as
304+ argument
305+ - This command should NOT perform synchronously, or on any
306+ currently queued transfers, but only on subsequent ones
307+ - In this case, the function will receive a dma_slave_config
308+ structure pointer as an argument, that will detail which
309+ configuration to use.
310+ - Even though that structure contains a direction field, this
311+ field is deprecated in favor of the direction argument given to
312+ the prep_* functions
313+ - This call is mandatory for slave operations only. This should NOT be
314+ set or expected to be set for memcpy operations.
315+ If a driver support both, it should use this call for slave
316+ operations only and not for memcpy ones.
317+
318+ * device_pause
319+ - Pauses a transfer on the channel
320+ - This command should operate synchronously on the channel,
321+ pausing right away the work of the given channel
322+
323+ * device_resume
324+ - Resumes a transfer on the channel
325+ - This command should operate synchronously on the channel,
326+ pausing right away the work of the given channel
327+
328+ * device_terminate_all
329+ - Aborts all the pending and ongoing transfers on the channel
330+ - This command should operate synchronously on the channel,
331+ terminating right away all the channels
319332
320333 Misc notes (stuff that should be documented, but don't really know
321334 where to put them)
Documentation/driver-model/bus.txt+1−1
@@ -45,7 +45,7 @@ them are inherently bus-specific. Drivers typically declare an array · 44 unmodified lines
4545 of device IDs of devices they support that reside in a bus-specific
4646 driver structure.
4747
48−The purpose of the match callback is provide the bus an opportunity to
48+The purpose of the match callback is to give the bus an opportunity to
4949 determine if a particular driver supports a particular device by
5050 comparing the device IDs the driver supports with the device ID of a
5151 particular device, without sacrificing bus-specific functionality or
Documentation/driver-model/devres.txt+2−0
@@ -258,6 +258,8 @@ IIO · 257 unmodified lines
258258 devm_iio_device_free()
259259 devm_iio_device_register()
260260 devm_iio_device_unregister()
261+ devm_iio_kfifo_allocate()
262+ devm_iio_kfifo_free()
261263 devm_iio_trigger_alloc()
262264 devm_iio_trigger_free()
263265
Documentation/filesystems/00-INDEX+3−2
@@ -34,6 +34,9 @@ configfs/ · 33 unmodified lines
3434 - directory containing configfs documentation and example code.
3535 cramfs.txt
3636 - info on the cram filesystem for small storage (ROMs etc).
37+dax.txt
38+ - info on avoiding the page cache for files stored on CPU-addressable
39+ storage devices.
3740 debugfs.txt
3841 - info on the debugfs filesystem.
3942 devpts.txt
@@ -154,5 +157,3 @@ xfs-self-describing-metadata.txt · 114 unmodified lines
154157 - info on XFS Self Describing Metadata.
155158 xfs.txt
156159 - info and mount options for the XFS filesystem.
157−xip.txt
158− - info on execute-in-place for file mappings.
Documentation/filesystems/Locking+0−5
@@ -164,8 +164,6 @@ the block device inode. See there for more details. · 163 unmodified lines
164164
165165 --------------------------- file_system_type ---------------------------
166166 prototypes:
167− int (*get_sb) (struct file_system_type *, int,
168− const char *, void *, struct vfsmount *);
169167 struct dentry *(*mount) (struct file_system_type *, int,
170168 const char *, void *);
171169 void (*kill_sb) (struct super_block *);
@@ -199,8 +197,6 @@ prototypes: · 27 unmodified lines
199197 int (*releasepage) (struct page *, int);
200198 void (*freepage)(struct page *);
201199 int (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset);
202− int (*get_xip_mem)(struct address_space *, pgoff_t, int, void **,
203− unsigned long *);
204200 int (*migratepage)(struct address_space *, struct page *, struct page *);
205201 int (*launder_page)(struct page *);
206202 int (*is_partially_uptodate)(struct page *, unsigned long, unsigned long);
@@ -225,7 +221,6 @@ invalidatepage: yes · 18 unmodified lines
225221 releasepage: yes
226222 freepage: yes
227223 direct_IO:
228−get_xip_mem: maybe
229224 migratepage: yes (both)
230225 launder_page: yes
231226 is_partially_uptodate: yes
Documentation/filesystems/dax.txt+94−0
@@ -0,0 +1,94 @@
1+Direct Access for files
2+-----------------------
3+
4+Motivation
5+----------
6+
7+The page cache is usually used to buffer reads and writes to files.
8+It is also used to provide the pages which are mapped into userspace
9+by a call to mmap.
10+
11+For block devices that are memory-like, the page cache pages would be
12+unnecessary copies of the original storage. The DAX code removes the
13+extra copy by performing reads and writes directly to the storage device.
14+For file mappings, the storage device is mapped directly into userspace.
15+
16+
17+Usage
18+-----
19+
20+If you have a block device which supports DAX, you can make a filesystem
21+on it as usual. When mounting it, use the -o dax option manually
22+or add 'dax' to the options in /etc/fstab.
23+
24+
25+Implementation Tips for Block Driver Writers
26+--------------------------------------------
27+
28+To support DAX in your block driver, implement the 'direct_access'
29+block device operation. It is used to translate the sector number
30+(expressed in units of 512-byte sectors) to a page frame number (pfn)
31+that identifies the physical page for the memory. It also returns a
32+kernel virtual address that can be used to access the memory.
33+
34+The direct_access method takes a 'size' parameter that indicates the
35+number of bytes being requested. The function should return the number
36+of bytes that can be contiguously accessed at that offset. It may also
37+return a negative errno if an error occurs.
38+
39+In order to support this method, the storage must be byte-accessible by
40+the CPU at all times. If your device uses paging techniques to expose
41+a large amount of memory through a smaller window, then you cannot
42+implement direct_access. Equally, if your device can occasionally
43+stall the CPU for an extended period, you should also not attempt to
44+implement direct_access.
45+
46+These block devices may be used for inspiration:
47+- axonram: Axon DDR2 device driver
48+- brd: RAM backed block device driver
49+- dcssblk: s390 dcss block device driver
50+
51+
52+Implementation Tips for Filesystem Writers
53+------------------------------------------
54+
55+Filesystem support consists of
56+- adding support to mark inodes as being DAX by setting the S_DAX flag in
57+ i_flags
58+- implementing the direct_IO address space operation, and calling
59+ dax_do_io() instead of blockdev_direct_IO() if S_DAX is set
60+- implementing an mmap file operation for DAX files which sets the
61+ VM_MIXEDMAP flag on the VMA, and setting the vm_ops to include handlers
62+ for fault and page_mkwrite (which should probably call dax_fault() and
63+ dax_mkwrite(), passing the appropriate get_block() callback)
64+- calling dax_truncate_page() instead of block_truncate_page() for DAX files
65+- calling dax_zero_page_range() instead of zero_user() for DAX files
66+- ensuring that there is sufficient locking between reads, writes,
67+ truncates and page faults
68+
69+The get_block() callback passed to the DAX functions may return
70+uninitialised extents. If it does, it must ensure that simultaneous
71+calls to get_block() (for example by a page-fault racing with a read()
72+or a write()) work correctly.
73+
74+These filesystems may be used for inspiration:
75+- ext2: the second extended filesystem, see Documentation/filesystems/ext2.txt
76+- ext4: the fourth extended filesystem, see Documentation/filesystems/ext4.txt
77+
78+
79+Shortcomings
80+------------
81+
82+Even if the kernel or its modules are stored on a filesystem that supports
83+DAX on a block device that supports DAX, they will still be copied into RAM.
84+
85+The DAX code does not work correctly on architectures which have virtually
86+mapped caches such as ARM, MIPS and SPARC.
87+
88+Calling get_user_pages() on a range of user memory that has been mmaped
89+from a DAX file will fail as there are no 'struct page' to describe
90+those pages. This problem is being worked on. That means that O_DIRECT
91+reads/writes to those memory ranges from a non-DAX file will fail (note
92+that O_DIRECT reads/writes _of a DAX file_ do work, it is the memory
93+that is being accessed that is key here). Other things that will not
94+work include RDMA, sendfile() and splice().
Documentation/filesystems/ext2.txt+3−2
@@ -20,6 +20,9 @@ minixdf Makes `df' act like Minix. · 19 unmodified lines
2020 check=none, nocheck (*) Don't do extra checking of bitmaps on mount
2121 (check=normal and check=strict options removed)
2222
23+dax Use direct access (no page cache). See
24+ Documentation/filesystems/dax.txt.
25+
2326 debug Extra debugging information is sent to the
2427 kernel syslog. Useful for developers.
2528
@@ -56,8 +59,6 @@ noacl Don't support POSIX ACLs. · 30 unmodified lines
5659
5760 nobh Do not attach buffer_heads to file pagecache.
5861
59−xip Use execute in place (no caching) if possible
60−
6162 grpquota,noquota,quota,usrquota Quota options are silently ignored by ext2.
6263
6364
Documentation/filesystems/ext4.txt+4−0
@@ -386,6 +386,10 @@ max_dir_size_kb=n This limits the size of directories so that any · 385 unmodified lines
386386 i_version Enable 64-bit inode version support. This option is
387387 off by default.
388388
389+dax Use direct access (no page cache). See
390+ Documentation/filesystems/dax.txt. Note that
391+ this option is incompatible with data=journal.
392+
389393 Data Mode
390394 =========
391395 There are 3 different data modes:
Documentation/filesystems/f2fs.txt+6−0
@@ -106,6 +106,8 @@ background_gc=%s Turn on/off cleaning operations, namely garbage · 105 unmodified lines
106106 Default value for this option is on. So garbage
107107 collection is on by default.
108108 disable_roll_forward Disable the roll-forward recovery routine
109+norecovery Disable the roll-forward recovery routine, mounted read-
110+ only (i.e., -o ro,disable_roll_forward)
109111 discard Issue discard/TRIM commands when a segment is cleaned.
110112 no_heap Disable heap-style segment allocation which finds free
111113 segments for data from the beginning of main area, while
@@ -197,6 +199,10 @@ Files in /sys/fs/f2fs/<devname> · 85 unmodified lines
197199 checkpoint is triggered, and issued during the
198200 checkpoint. By default, it is disabled with 0.
199201
202+ trim_sections This parameter controls the number of sections
203+ to be trimmed out in batch mode when FITRIM
204+ conducts. 32 sections is set by default.
205+
200206 ipu_policy This parameter controls the policy of in-place
201207 updates in f2fs. There are five policies:
202208 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,
Documentation/filesystems/fiemap.txt+2−1
@@ -196,7 +196,8 @@ struct fiemap_extent_info { · 195 unmodified lines
196196 };
197197
198198 It is intended that the file system should not need to access any of this
199−structure directly.
199+structure directly. Filesystem handlers should be tolerant to signals and return
200+EINTR once fatal signal received.
200201
201202
202203 Flag checking should be done at the beginning of the ->fiemap callback via the
Documentation/filesystems/inotify.txt+3−194
@@ -4,201 +4,10 @@ · 3 unmodified lines
44
55
66 Document started 15 Mar 2005 by Robert Love <rml@novell.com>
7+Document updated 4 Jan 2015 by Zhang Zhen <zhenzhang.zhang@huawei.com>
8+ --Deleted obsoleted interface, just refer to manpages for user interface.
79
8−
9−(i) User Interface
10−
11−Inotify is controlled by a set of three system calls and normal file I/O on a
12−returned file descriptor.
13−
14−First step in using inotify is to initialise an inotify instance:
15−
16− int fd = inotify_init ();
17−
18−Each instance is associated with a unique, ordered queue.
19−
20−Change events are managed by "watches". A watch is an (object,mask) pair where
21−the object is a file or directory and the mask is a bit mask of one or more
22−inotify events that the application wishes to receive. See <linux/inotify.h>
23−for valid events. A watch is referenced by a watch descriptor, or wd.
24−
25−Watches are added via a path to the file.
26−
27−Watches on a directory will return events on any files inside of the directory.
28−
29−Adding a watch is simple:
30−
31− int wd = inotify_add_watch (fd, path, mask);
32−
33−Where "fd" is the return value from inotify_init(), path is the path to the
34−object to watch, and mask is the watch mask (see <linux/inotify.h>).
35−
36−You can update an existing watch in the same manner, by passing in a new mask.
37−
38−An existing watch is removed via
39−
40− int ret = inotify_rm_watch (fd, wd);
41−
42−Events are provided in the form of an inotify_event structure that is read(2)
43−from a given inotify instance. The filename is of dynamic length and follows
44−the struct. It is of size len. The filename is padded with null bytes to
45−ensure proper alignment. This padding is reflected in len.
46−
47−You can slurp multiple events by passing a large buffer, for example
48−
49− size_t len = read (fd, buf, BUF_LEN);
50−
51−Where "buf" is a pointer to an array of "inotify_event" structures at least
52−BUF_LEN bytes in size. The above example will return as many events as are
53−available and fit in BUF_LEN.
54−
55−Each inotify instance fd is also select()- and poll()-able.
56−
57−You can find the size of the current event queue via the standard FIONREAD
58−ioctl on the fd returned by inotify_init().
59−
60−All watches are destroyed and cleaned up on close.
61−
62−
63−(ii)
64−
65−Prototypes:
66−
67− int inotify_init (void);
68− int inotify_add_watch (int fd, const char *path, __u32 mask);
69− int inotify_rm_watch (int fd, __u32 mask);
70−
71−
72−(iii) Kernel Interface
73−
74−Inotify's kernel API consists a set of functions for managing watches and an
75−event callback.
76−
77−To use the kernel API, you must first initialize an inotify instance with a set
78−of inotify_operations. You are given an opaque inotify_handle, which you use
79−for any further calls to inotify.
80−
81− struct inotify_handle *ih = inotify_init(my_event_handler);
82−
83−You must provide a function for processing events and a function for destroying
84−the inotify watch.
85−
86− void handle_event(struct inotify_watch *watch, u32 wd, u32 mask,
87− u32 cookie, const char *name, struct inode *inode)
88−
89− watch - the pointer to the inotify_watch that triggered this call
90− wd - the watch descriptor
91− mask - describes the event that occurred
92− cookie - an identifier for synchronizing events
93− name - the dentry name for affected files in a directory-based event
94− inode - the affected inode in a directory-based event
95−
96− void destroy_watch(struct inotify_watch *watch)
97−
98−You may add watches by providing a pre-allocated and initialized inotify_watch
99−structure and specifying the inode to watch along with an inotify event mask.
100−You must pin the inode during the call. You will likely wish to embed the
101−inotify_watch structure in a structure of your own which contains other
102−information about the watch. Once you add an inotify watch, it is immediately
103−subject to removal depending on filesystem events. You must grab a reference if
104−you depend on the watch hanging around after the call.
105−
106− inotify_init_watch(&my_watch->iwatch);
107− inotify_get_watch(&my_watch->iwatch); // optional
108− s32 wd = inotify_add_watch(ih, &my_watch->iwatch, inode, mask);
109− inotify_put_watch(&my_watch->iwatch); // optional
110−
111−You may use the watch descriptor (wd) or the address of the inotify_watch for
112−other inotify operations. You must not directly read or manipulate data in the
113−inotify_watch. Additionally, you must not call inotify_add_watch() more than
114−once for a given inotify_watch structure, unless you have first called either
115−inotify_rm_watch() or inotify_rm_wd().
116−
117−To determine if you have already registered a watch for a given inode, you may
118−call inotify_find_watch(), which gives you both the wd and the watch pointer for
119−the inotify_watch, or an error if the watch does not exist.
120−
121− wd = inotify_find_watch(ih, inode, &watchp);
122−
123−You may use container_of() on the watch pointer to access your own data
124−associated with a given watch. When an existing watch is found,
125−inotify_find_watch() bumps the refcount before releasing its locks. You must
126−put that reference with:
127−
128− put_inotify_watch(watchp);
129−
130−Call inotify_find_update_watch() to update the event mask for an existing watch.
131−inotify_find_update_watch() returns the wd of the updated watch, or an error if
132−the watch does not exist.
133−
134− wd = inotify_find_update_watch(ih, inode, mask);
135−
136−An existing watch may be removed by calling either inotify_rm_watch() or
137−inotify_rm_wd().
138−
139− int ret = inotify_rm_watch(ih, &my_watch->iwatch);
140− int ret = inotify_rm_wd(ih, wd);
141−
142−A watch may be removed while executing your event handler with the following:
143−
144− inotify_remove_watch_locked(ih, iwatch);
145−
146−Call inotify_destroy() to remove all watches from your inotify instance and
147−release it. If there are no outstanding references, inotify_destroy() will call
148−your destroy_watch op for each watch.
149−
150− inotify_destroy(ih);
151−
152−When inotify removes a watch, it sends an IN_IGNORED event to your callback.
153−You may use this event as an indication to free the watch memory. Note that
154−inotify may remove a watch due to filesystem events, as well as by your request.
155−If you use IN_ONESHOT, inotify will remove the watch after the first event, at
156−which point you may call the final inotify_put_watch.
157−
158−(iv) Kernel Interface Prototypes
159−
160− struct inotify_handle *inotify_init(struct inotify_operations *ops);
161−
162− inotify_init_watch(struct inotify_watch *watch);
163−
164− s32 inotify_add_watch(struct inotify_handle *ih,
165− struct inotify_watch *watch,
166− struct inode *inode, u32 mask);
167−
168− s32 inotify_find_watch(struct inotify_handle *ih, struct inode *inode,
169− struct inotify_watch **watchp);
170−
171− s32 inotify_find_update_watch(struct inotify_handle *ih,
172− struct inode *inode, u32 mask);
173−
174− int inotify_rm_wd(struct inotify_handle *ih, u32 wd);
175−
176− int inotify_rm_watch(struct inotify_handle *ih,
177− struct inotify_watch *watch);
178−
179− void inotify_remove_watch_locked(struct inotify_handle *ih,
180− struct inotify_watch *watch);
181−
182− void inotify_destroy(struct inotify_handle *ih);
183−
184− void get_inotify_watch(struct inotify_watch *watch);
185− void put_inotify_watch(struct inotify_watch *watch);
186−
187−
188−(v) Internal Kernel Implementation
189−
190−Each inotify instance is represented by an inotify_handle structure.
191−Inotify's userspace consumers also have an inotify_device which is
192−associated with the inotify_handle, and on which events are queued.
193−
194−Each watch is associated with an inotify_watch structure. Watches are chained
195−off of each associated inotify_handle and each associated inode.
196−
197−See fs/notify/inotify/inotify_fsnotify.c and fs/notify/inotify/inotify_user.c
198−for the locking and lifetime rules.
199−
200−
201−(vi) Rationale
10+(i) Rationale
20211
20312 Q: What is the design decision behind not tying the watch to the open fd of
20413 the watched object?
Documentation/filesystems/nfs/nfs41-server.txt+8−15
@@ -24,11 +24,6 @@ focuses on the mandatory-to-implement NFSv4.1 Sessions, providing · 23 unmodified lines
2424 "exactly once" semantics and better control and throttling of the
2525 resources allocated for each client.
2626
27−Other NFSv4.1 features, Parallel NFS operations in particular,
28−are still under development out of tree.
29−See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design
30−for more information.
31−
3227 The table below, taken from the NFSv4.1 document, lists
3328 the operations that are mandatory to implement (REQ), optional
3429 (OPT), and NFSv4.0 operations that are required not to implement (MNI)
@@ -43,9 +38,7 @@ The OPTIONAL features identified and their abbreviations are as follows: · 8 unmodified lines
4338 The following abbreviations indicate the linux server implementation status.
4439 I Implemented NFSv4.1 operations.
4540 NS Not Supported.
46− NS* unimplemented optional feature.
47− P pNFS features implemented out of tree.
48− PNS pNFS features that are not supported yet (out of tree).
41+ NS* Unimplemented optional feature.
4942
5043 Operations
5144
@@ -70,13 +63,13 @@ I | DESTROY_SESSION | REQ | | Section 18.37 | · 18 unmodified lines
7063 I | EXCHANGE_ID | REQ | | Section 18.35 |
7164 I | FREE_STATEID | REQ | | Section 18.38 |
7265 | GETATTR | REQ | | Section 18.7 |
73−P | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 |
74−P | GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 |
66+I | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 |
67+NS*| GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 |
7568 | GETFH | REQ | | Section 18.8 |
7669 NS*| GET_DIR_DELEGATION | OPT | DDELG (REQ) | Section 18.39 |
77−P | LAYOUTCOMMIT | OPT | pNFS (REQ) | Section 18.42 |
78−P | LAYOUTGET | OPT | pNFS (REQ) | Section 18.43 |
79−P | LAYOUTRETURN | OPT | pNFS (REQ) | Section 18.44 |
70+I | LAYOUTCOMMIT | OPT | pNFS (REQ) | Section 18.42 |
71+I | LAYOUTGET | OPT | pNFS (REQ) | Section 18.43 |
72+I | LAYOUTRETURN | OPT | pNFS (REQ) | Section 18.44 |
8073 | LINK | OPT | | Section 18.9 |
8174 | LOCK | REQ | | Section 18.10 |
8275 | LOCKT | REQ | | Section 18.11 |
@@ -122,9 +115,9 @@ Callback Operations · 39 unmodified lines
122115 | | MNI | or OPT) | |
123116 +-------------------------+-----------+-------------+---------------+
124117 | CB_GETATTR | OPT | FDELG (REQ) | Section 20.1 |
125−P | CB_LAYOUTRECALL | OPT | pNFS (REQ) | Section 20.3 |
118+I | CB_LAYOUTRECALL | OPT | pNFS (REQ) | Section 20.3 |
126119 NS*| CB_NOTIFY | OPT | DDELG (REQ) | Section 20.4 |
127−P | CB_NOTIFY_DEVICEID | OPT | pNFS (OPT) | Section 20.12 |
120+NS*| CB_NOTIFY_DEVICEID | OPT | pNFS (OPT) | Section 20.12 |
128121 NS*| CB_NOTIFY_LOCK | OPT | | Section 20.11 |
129122 NS*| CB_PUSH_DELEG | OPT | FDELG (OPT) | Section 20.5 |
130123 | CB_RECALL | OPT | FDELG, | Section 20.2 |
Documentation/filesystems/nfs/pnfs-block-server.txt+37−0
@@ -0,0 +1,37 @@
1+pNFS block layout server user guide
2+
3+The Linux NFS server now supports the pNFS block layout extension. In this
4+case the NFS server acts as Metadata Server (MDS) for pNFS, which in addition
5+to handling all the metadata access to the NFS export also hands out layouts
6+to the clients to directly access the underlying block devices that are
7+shared with the client.
8+
9+To use pNFS block layouts with with the Linux NFS server the exported file
10+system needs to support the pNFS block layouts (currently just XFS), and the
11+file system must sit on shared storage (typically iSCSI) that is accessible
12+to the clients in addition to the MDS. As of now the file system needs to
13+sit directly on the exported volume, striping or concatenation of
14+volumes on the MDS and clients is not supported yet.
15+
16+On the server, pNFS block volume support is automatically if the file system
17+support it. On the client make sure the kernel has the CONFIG_PNFS_BLOCK
18+option enabled, the blkmapd daemon from nfs-utils is running, and the
19+file system is mounted using the NFSv4.1 protocol version (mount -o vers=4.1).
20+
21+If the nfsd server needs to fence a non-responding client it calls
22+/sbin/nfsd-recall-failed with the first argument set to the IP address of
23+the client, and the second argument set to the device node without the /dev
24+prefix for the file system to be fenced. Below is an example file that shows
25+how to translate the device into a serial number from SCSI EVPD 0x80:
26+
27+cat > /sbin/nfsd-recall-failed << EOF
28+#!/bin/sh
29+
30+CLIENT="$1"
31+DEV="/dev/$2"
32+EVPD=`sg_inq --page=0x80 ${DEV} | \
33+ grep "Unit serial number:" | \
34+ awk -F ': ' '{print $2}'`
35+
36+echo "fencing client ${CLIENT} serial ${EVPD}" >> /var/log/pnfsd-fence.log
37+EOF
Documentation/filesystems/nfs/pnfs.txt+7−6
@@ -57,15 +57,16 @@ bit is set, preventing any new lsegs from being added. · 56 unmodified lines
5757 layout drivers
5858 --------------
5959
60−PNFS utilizes what is called layout drivers. The STD defines 3 basic
61−layout types: "files" "objects" and "blocks". For each of these types
62−there is a layout-driver with a common function-vectors table which
63−are called by the nfs-client pnfs-core to implement the different layout
64−types.
60+PNFS utilizes what is called layout drivers. The STD defines 4 basic
61+layout types: "files", "objects", "blocks", and "flexfiles". For each
62+of these types there is a layout-driver with a common function-vectors
63+table which are called by the nfs-client pnfs-core to implement the
64+different layout types.
6565
66−Files-layout-driver code is in: fs/nfs/nfs4filelayout.c && nfs4filelayoutdev.c
66+Files-layout-driver code is in: fs/nfs/filelayout/.. directory
6767 Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory
6868 Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory
69+Flexfiles-layout-driver code is in: fs/nfs/flexfilelayout/.. directory
6970
7071 objects-layout setup
7172 --------------------
Documentation/filesystems/ocfs2.txt+4−0
@@ -100,3 +100,7 @@ coherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode · 99 unmodified lines
100100 coherency=buffered Allow concurrent O_DIRECT writes without EX lock among
101101 nodes, which gains high performance at risk of getting
102102 stale data on other nodes.
103+journal_async_commit Commit block can be written to disk without waiting
104+ for descriptor blocks. If enabled older kernels cannot
105+ mount the device. This will enable 'journal_checksum'
106+ internally.
Documentation/filesystems/overlayfs.txt+28−0
@@ -159,6 +159,22 @@ overlay filesystem (though an operation on the name of the file such as · 158 unmodified lines
159159 rename or unlink will of course be noticed and handled).
160160
161161
162+Multiple lower layers
163+---------------------
164+
165+Multiple lower layers can now be given using the the colon (":") as a
166+separator character between the directory names. For example:
167+
168+ mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged
169+
170+As the example shows, "upperdir=" and "workdir=" may be omitted. In
171+that case the overlay will be read-only.
172+
173+The specified lower directories will be stacked beginning from the
174+rightmost one and going left. In the above example lower1 will be the
175+top, lower2 the middle and lower3 the bottom layer.
176+
177+
162178 Non-standard behavior
163179 ---------------------
164180
@@ -196,3 +212,15 @@ Changes to the underlying filesystems while part of a mounted overlay · 31 unmodified lines
196212 filesystem are not allowed. If the underlying filesystem is changed,
197213 the behavior of the overlay is undefined, though it will not result in
198214 a crash or deadlock.
215+
216+Testsuite
217+---------
218+
219+There's testsuite developed by David Howells at:
220+
221+ git://git.infradead.org/users/dhowells/unionmount-testsuite.git
222+
223+Run as root:
224+
225+ # cd unionmount-testsuite
226+ # ./run --ov
Documentation/filesystems/proc.txt+61−1
@@ -28,7 +28,7 @@ Table of Contents · 27 unmodified lines
2828 1.6 Parallel port info in /proc/parport
2929 1.7 TTY info in /proc/tty
3030 1.8 Miscellaneous kernel statistics in /proc/stat
31− 1.9 Ext4 file system parameters
31+ 1.9 Ext4 file system parameters
3232
3333 2 Modifying System Parameters
3434
@@ -42,6 +42,7 @@ Table of Contents · 7 unmodified lines
4242 3.6 /proc/<pid>/comm & /proc/<pid>/task/<tid>/comm
4343 3.7 /proc/<pid>/task/<tid>/children - Information about task children
4444 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
45+ 3.9 /proc/<pid>/map_files - Information about memory mapped files
4546
4647 4 Configuring procfs
4748 4.1 Mount options
@@ -144,6 +145,8 @@ Table 1-1: Process specific entries in /proc · 96 unmodified lines
144145 stack Report full stack trace, enable via CONFIG_STACKTRACE
145146 smaps a extension based on maps, showing the memory consumption of
146147 each mapping and flags associated with it
148+ numa_maps an extension based on maps, showing the memory locality and
149+ binding policy as well as mem usage (in pages) of each mapping.
147150 ..............................................................................
148151
149152 For example, to get the status information of a process, all you have to do is
@@ -488,12 +491,47 @@ To clear the bits for the file mapped pages associated with the process · 338 unmodified lines
488491 To clear the soft-dirty bit
489492 > echo 4 > /proc/PID/clear_refs
490493
494+To reset the peak resident set size ("high water mark") to the process's
495+current value:
496+ > echo 5 > /proc/PID/clear_refs
497+
491498 Any other value written to /proc/PID/clear_refs will have no effect.
492499
493500 The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags
494501 using /proc/kpageflags and number of times a page is mapped using
495502 /proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.txt.
496503
504+The /proc/pid/numa_maps is an extension based on maps, showing the memory
505+locality and binding policy, as well as the memory usage (in pages) of
506+each mapping. The output follows a general format where mapping details get
507+summarized separated by blank spaces, one mapping per each file line:
508+
509+address policy mapping details
510+
511+00400000 default file=/usr/local/bin/app mapped=1 active=0 N3=1 kernelpagesize_kB=4
512+00600000 default file=/usr/local/bin/app anon=1 dirty=1 N3=1 kernelpagesize_kB=4
513+3206000000 default file=/lib64/ld-2.12.so mapped=26 mapmax=6 N0=24 N3=2 kernelpagesize_kB=4
514+320621f000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
515+3206220000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
516+3206221000 default anon=1 dirty=1 N3=1 kernelpagesize_kB=4
517+3206800000 default file=/lib64/libc-2.12.so mapped=59 mapmax=21 active=55 N0=41 N3=18 kernelpagesize_kB=4
518+320698b000 default file=/lib64/libc-2.12.so
519+3206b8a000 default file=/lib64/libc-2.12.so anon=2 dirty=2 N3=2 kernelpagesize_kB=4
520+3206b8e000 default file=/lib64/libc-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
521+3206b8f000 default anon=3 dirty=3 active=1 N3=3 kernelpagesize_kB=4
522+7f4dc10a2000 default anon=3 dirty=3 N3=3 kernelpagesize_kB=4
523+7f4dc10b4000 default anon=2 dirty=2 active=1 N3=2 kernelpagesize_kB=4
524+7f4dc1200000 default file=/anon_hugepage\040(deleted) huge anon=1 dirty=1 N3=1 kernelpagesize_kB=2048
525+7fff335f0000 default stack anon=3 dirty=3 N3=3 kernelpagesize_kB=4
526+7fff3369d000 default mapped=1 mapmax=35 active=0 N3=1 kernelpagesize_kB=4
527+
528+Where:
529+"address" is the starting address for the mapping;
530+"policy" reports the NUMA memory policy set for the mapping (see vm/numa_memory_policy.txt);
531+"mapping details" summarizes mapping data such as mapping type, page usage counters,
532+node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page
533+size, in KB, that is backing the mapping up.
534+
497535 1.2 Kernel data
498536 ---------------
499537
@@ -1763,6 +1801,28 @@ pair provide additional information particular to the objects they represent. · 1263 unmodified lines
17631801 with TIMER_ABSTIME option which will be shown in 'settime flags', but 'it_value'
17641802 still exhibits timer's remaining time.
17651803
1804+3.9 /proc/<pid>/map_files - Information about memory mapped files
1805+---------------------------------------------------------------------
1806+This directory contains symbolic links which represent memory mapped files
1807+the process is maintaining. Example output:
1808+
1809+ | lr-------- 1 root root 64 Jan 27 11:24 333c600000-333c620000 -> /usr/lib64/ld-2.18.so
1810+ | lr-------- 1 root root 64 Jan 27 11:24 333c81f000-333c820000 -> /usr/lib64/ld-2.18.so
1811+ | lr-------- 1 root root 64 Jan 27 11:24 333c820000-333c821000 -> /usr/lib64/ld-2.18.so
1812+ | ...
1813+ | lr-------- 1 root root 64 Jan 27 11:24 35d0421000-35d0422000 -> /usr/lib64/libselinux.so.1
1814+ | lr-------- 1 root root 64 Jan 27 11:24 400000-41a000 -> /usr/bin/ls
1815+
1816+The name of a link represents the virtual memory bounds of a mapping, i.e.
1817+vm_area_struct::vm_start-vm_area_struct::vm_end.
1818+
1819+The main purpose of the map_files is to retrieve a set of memory mapped
1820+files in a fast way instead of parsing /proc/<pid>/maps or
1821+/proc/<pid>/smaps, both of which contain many more records. At the same
1822+time one can open(2) mappings from the listings of two processes and
1823+comparing their inode numbers to figure out which anonymous memory areas
1824+are actually shared.
1825+
17661826 ------------------------------------------------------------------------------
17671827 Configuring procfs
17681828 ------------------------------------------------------------------------------
Documentation/filesystems/seq_file.txt+6−6
@@ -194,16 +194,16 @@ which is in the string esc will be represented in octal form in the output. · 193 unmodified lines
194194
195195 There are also a pair of functions for printing filenames:
196196
197− int seq_path(struct seq_file *m, struct path *path, char *esc);
198− int seq_path_root(struct seq_file *m, struct path *path,
199− struct path *root, char *esc)
197+ int seq_path(struct seq_file *m, const struct path *path,
198+ const char *esc);
199+ int seq_path_root(struct seq_file *m, const struct path *path,
200+ const struct path *root, const char *esc)
200201
201202 Here, path indicates the file of interest, and esc is a set of characters
202203 which should be escaped in the output. A call to seq_path() will output
203204 the path relative to the current process's filesystem root. If a different
204−root is desired, it can be used with seq_path_root(). Note that, if it
205−turns out that path cannot be reached from root, the value of root will be
206−changed in seq_file_root() to a root which *does* work.
205+root is desired, it can be used with seq_path_root(). If it turns out that
206+path cannot be reached from root, seq_path_root() returns SEQ_SKIP.
207207
208208 A function producing complicated output may want to check
209209 bool seq_has_overflowed(struct seq_file *m);
Documentation/filesystems/vfs.txt+0−7
@@ -591,8 +591,6 @@ struct address_space_operations { · 590 unmodified lines
591591 int (*releasepage) (struct page *, int);
592592 void (*freepage)(struct page *);
593593 ssize_t (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset);
594− struct page* (*get_xip_page)(struct address_space *, sector_t,
595− int);
596594 /* migrate the contents of a page to the specified target */
597595 int (*migratepage) (struct page *, struct page *);
598596 int (*launder_page) (struct page *);
@@ -748,11 +746,6 @@ struct address_space_operations { · 149 unmodified lines
748746 and transfer data directly between the storage and the
749747 application's address space.
750748
751− get_xip_page: called by the VM to translate a block number to a page.
752− The page is valid until the corresponding filesystem is unmounted.
753− Filesystems that want to use execute-in-place (XIP) need to implement
754− it. An example implementation can be found in fs/ext2/xip.c.
755−
756749 migrate_page: This is used to compact the physical memory usage.
757750 If the VM wants to relocate a page (maybe off a memory card
758751 that is signalling imminent failure) it will pass a new page
Documentation/filesystems/xfs.txt+10−12
@@ -287,9 +287,9 @@ The following sysctls are available for the XFS filesystem: · 286 unmodified lines
287287 XFS_ERRLEVEL_LOW: 1
288288 XFS_ERRLEVEL_HIGH: 5
289289
290− fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127)
290+ fs.xfs.panic_mask (Min: 0 Default: 0 Max: 255)
291291 Causes certain error conditions to call BUG(). Value is a bitmask;
292− AND together the tags which represent errors which should cause panics:
292+ OR together the tags which represent errors which should cause panics:
293293
294294 XFS_NO_PTAG 0
295295 XFS_PTAG_IFLUSH 0x00000001
@@ -299,6 +299,7 @@ The following sysctls are available for the XFS filesystem: · 3 unmodified lines
299299 XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010
300300 XFS_PTAG_SHUTDOWN_IOERROR 0x00000020
301301 XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040
302+ XFS_PTAG_FSBLOCK_ZERO 0x00000080
302303
303304 This option is intended for debugging only.
304305
@@ -348,16 +349,13 @@ The following sysctls are available for the XFS filesystem: · 43 unmodified lines
348349 Deprecated Sysctls
349350 ==================
350351
351− fs.xfs.xfsbufd_centisecs (Min: 50 Default: 100 Max: 3000)
352− Dirty metadata is now tracked by the log subsystem and
353− flushing is driven by log space and idling demands. The
354− xfsbufd no longer exists, so this syctl does nothing.
352+None at present.
355353
356− Due for removal in 3.14.
357354
358− fs.xfs.age_buffer_centisecs (Min: 100 Default: 1500 Max: 720000)
359− Dirty metadata is now tracked by the log subsystem and
360− flushing is driven by log space and idling demands. The
361− xfsbufd no longer exists, so this syctl does nothing.
355+Removed Sysctls
356+===============
362357
363− Due for removal in 3.14.
358+ Name Removed
359+ ---- -------
360+ fs.xfs.xfsbufd_centisec v3.20
361+ fs.xfs.age_buffer_centisecs v3.20
Documentation/filesystems/xip.txt+0−68
@@ -1,68 +0,0 @@
1−Execute-in-place for file mappings
2−----------------------------------
3−
4−Motivation
5−----------
6−File mappings are performed by mapping page cache pages to userspace. In
7−addition, read&write type file operations also transfer data from/to the page
8−cache.
9−
10−For memory backed storage devices that use the block device interface, the page
11−cache pages are in fact copies of the original storage. Various approaches
12−exist to work around the need for an extra copy. The ramdisk driver for example
13−does read the data into the page cache, keeps a reference, and discards the
14−original data behind later on.
15−
16−Execute-in-place solves this issue the other way around: instead of keeping
17−data in the page cache, the need to have a page cache copy is eliminated
18−completely. With execute-in-place, read&write type operations are performed
19−directly from/to the memory backed storage device. For file mappings, the
20−storage device itself is mapped directly into userspace.
21−
22−This implementation was initially written for shared memory segments between
23−different virtual machines on s390 hardware to allow multiple machines to
24−share the same binaries and libraries.
25−
26−Implementation
27−--------------
28−Execute-in-place is implemented in three steps: block device operation,
29−address space operation, and file operations.
30−
31−A block device operation named direct_access is used to retrieve a
32−reference (pointer) to a block on-disk. The reference is supposed to be
33−cpu-addressable, physical address and remain valid until the release operation
34−is performed. A struct block_device reference is used to address the device,
35−and a sector_t argument is used to identify the individual block. As an
36−alternative, memory technology devices can be used for this.
37−
38−The block device operation is optional, these block devices support it as of
39−today:
40−- dcssblk: s390 dcss block device driver
41−
42−An address space operation named get_xip_mem is used to retrieve references
43−to a page frame number and a kernel address. To obtain these values a reference
44−to an address_space is provided. This function assigns values to the kmem and
45−pfn parameters. The third argument indicates whether the function should allocate
46−blocks if needed.
47−
48−This address space operation is mutually exclusive with readpage&writepage that
49−do page cache read/write operations.
50−The following filesystems support it as of today:
51−- ext2: the second extended filesystem, see Documentation/filesystems/ext2.txt
52−
53−A set of file operations that do utilize get_xip_page can be found in
54−mm/filemap_xip.c . The following file operation implementations are provided:
55−- aio_read/aio_write
56−- readv/writev
57−- sendfile
58−
59−The generic file operations do_sync_read/do_sync_write can be used to implement
60−classic synchronous IO calls.
61−
62−Shortcomings
63−------------
64−This implementation is limited to storage devices that are cpu addressable at
65−all times (no highmem or such). It works well on rom/ram, but enhancements are
66−needed to make it work with flash in read+write mode.
67−Putting the Linux kernel and/or its modules on a xip filesystem does not mean
68−they are not copied.
Documentation/futex-requeue-pi.txt+4−4
@@ -98,7 +98,7 @@ rt_mutex_start_proxy_lock() and rt_mutex_finish_proxy_lock(), which · 97 unmodified lines
9898 allow the requeue code to acquire an uncontended rt_mutex on behalf
9999 of the waiter and to enqueue the waiter on a contended rt_mutex.
100100 Two new system calls provide the kernel<->user interface to
101−requeue_pi: FUTEX_WAIT_REQUEUE_PI and FUTEX_REQUEUE_CMP_PI.
101+requeue_pi: FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI.
102102
103103 FUTEX_WAIT_REQUEUE_PI is called by the waiter (pthread_cond_wait()
104104 and pthread_cond_timedwait()) to block on the initial futex and wait
@@ -107,7 +107,7 @@ result of a high-speed collision between futex_wait() and · 2 unmodified lines
107107 futex_lock_pi(), with some extra logic to check for the additional
108108 wake-up scenarios.
109109
110−FUTEX_REQUEUE_CMP_PI is called by the waker
110+FUTEX_CMP_REQUEUE_PI is called by the waker
111111 (pthread_cond_broadcast() and pthread_cond_signal()) to requeue and
112112 possibly wake the waiting tasks. Internally, this system call is
113113 still handled by futex_requeue (by passing requeue_pi=1). Before
@@ -120,12 +120,12 @@ task as a waiter on the underlying rt_mutex. It is possible that · 6 unmodified lines
120120 the lock can be acquired at this stage as well, if so, the next
121121 waiter is woken to finish the acquisition of the lock.
122122
123−FUTEX_REQUEUE_PI accepts nr_wake and nr_requeue as arguments, but
123+FUTEX_CMP_REQUEUE_PI accepts nr_wake and nr_requeue as arguments, but
124124 their sum is all that really matters. futex_requeue() will wake or
125125 requeue up to nr_wake + nr_requeue tasks. It will wake only as many
126126 tasks as it can acquire the lock for, which in the majority of cases
127127 should be 0 as good programming practice dictates that the caller of
128128 either pthread_cond_broadcast() or pthread_cond_signal() acquire the
129−mutex prior to making the call. FUTEX_REQUEUE_PI requires that
129+mutex prior to making the call. FUTEX_CMP_REQUEUE_PI requires that
130130 nr_wake=1. nr_requeue should be INT_MAX for broadcast and 0 for
131131 signal.
Documentation/gdb-kernel-debugging.txt+160−0
@@ -0,0 +1,160 @@
1+Debugging kernel and modules via gdb
2+====================================
3+
4+The kernel debugger kgdb, hypervisors like QEMU or JTAG-based hardware
5+interfaces allow to debug the Linux kernel and its modules during runtime
6+using gdb. Gdb comes with a powerful scripting interface for python. The
7+kernel provides a collection of helper scripts that can simplify typical
8+kernel debugging steps. This is a short tutorial about how to enable and use
9+them. It focuses on QEMU/KVM virtual machines as target, but the examples can
10+be transferred to the other gdb stubs as well.
11+
12+
13+Requirements
14+------------
15+
16+ o gdb 7.2+ (recommended: 7.4+) with python support enabled (typically true
17+ for distributions)
18+
19+
20+Setup
21+-----
22+
23+ o Create a virtual Linux machine for QEMU/KVM (see www.linux-kvm.org and
24+ www.qemu.org for more details). For cross-development,
25+ http://landley.net/aboriginal/bin keeps a pool of machine images and
26+ toolchains that can be helpful to start from.
27+
28+ o Build the kernel with CONFIG_GDB_SCRIPTS enabled, but leave
29+ CONFIG_DEBUG_INFO_REDUCED off. If your architecture supports
30+ CONFIG_FRAME_POINTER, keep it enabled.
31+
32+ o Install that kernel on the guest.
33+
34+ Alternatively, QEMU allows to boot the kernel directly using -kernel,
35+ -append, -initrd command line switches. This is generally only useful if
36+ you do not depend on modules. See QEMU documentation for more details on
37+ this mode.
38+
39+ o Enable the gdb stub of QEMU/KVM, either
40+ - at VM startup time by appending "-s" to the QEMU command line
41+ or
42+ - during runtime by issuing "gdbserver" from the QEMU monitor
43+ console
44+
45+ o cd /path/to/linux-build
46+
47+ o Start gdb: gdb vmlinux
48+
49+ Note: Some distros may restrict auto-loading of gdb scripts to known safe
50+ directories. In case gdb reports to refuse loading vmlinux-gdb.py, add
51+
52+ add-auto-load-safe-path /path/to/linux-build
53+
54+ to ~/.gdbinit. See gdb help for more details.
55+
56+ o Attach to the booted guest:
57+ (gdb) target remote :1234
58+
59+
60+Examples of using the Linux-provided gdb helpers
61+------------------------------------------------
62+
63+ o Load module (and main kernel) symbols:
64+ (gdb) lx-symbols
65+ loading vmlinux
66+ scanning for modules in /home/user/linux/build
67+ loading @0xffffffffa0020000: /home/user/linux/build/net/netfilter/xt_tcpudp.ko
68+ loading @0xffffffffa0016000: /home/user/linux/build/net/netfilter/xt_pkttype.ko
69+ loading @0xffffffffa0002000: /home/user/linux/build/net/netfilter/xt_limit.ko
70+ loading @0xffffffffa00ca000: /home/user/linux/build/net/packet/af_packet.ko
71+ loading @0xffffffffa003c000: /home/user/linux/build/fs/fuse/fuse.ko
72+ ...
73+ loading @0xffffffffa0000000: /home/user/linux/build/drivers/ata/ata_generic.ko
74+
75+ o Set a breakpoint on some not yet loaded module function, e.g.:
76+ (gdb) b btrfs_init_sysfs
77+ Function "btrfs_init_sysfs" not defined.
78+ Make breakpoint pending on future shared library load? (y or [n]) y
79+ Breakpoint 1 (btrfs_init_sysfs) pending.
80+
81+ o Continue the target
82+ (gdb) c
83+
84+ o Load the module on the target and watch the symbols being loaded as well as
85+ the breakpoint hit:
86+ loading @0xffffffffa0034000: /home/user/linux/build/lib/libcrc32c.ko
87+ loading @0xffffffffa0050000: /home/user/linux/build/lib/lzo/lzo_compress.ko
88+ loading @0xffffffffa006e000: /home/user/linux/build/lib/zlib_deflate/zlib_deflate.ko
89+ loading @0xffffffffa01b1000: /home/user/linux/build/fs/btrfs/btrfs.ko
90+
91+ Breakpoint 1, btrfs_init_sysfs () at /home/user/linux/fs/btrfs/sysfs.c:36
92+ 36 btrfs_kset = kset_create_and_add("btrfs", NULL, fs_kobj);
93+
94+ o Dump the log buffer of the target kernel:
95+ (gdb) lx-dmesg
96+ [ 0.000000] Initializing cgroup subsys cpuset
97+ [ 0.000000] Initializing cgroup subsys cpu
98+ [ 0.000000] Linux version 3.8.0-rc4-dbg+ (...
99+ [ 0.000000] Command line: root=/dev/sda2 resume=/dev/sda1 vga=0x314
100+ [ 0.000000] e820: BIOS-provided physical RAM map:
101+ [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
102+ [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
103+ ....
104+
105+ o Examine fields of the current task struct:
106+ (gdb) p $lx_current().pid
107+ $1 = 4998
108+ (gdb) p $lx_current().comm
109+ $2 = "modprobe\000\000\000\000\000\000\000"
110+
111+ o Make use of the per-cpu function for the current or a specified CPU:
112+ (gdb) p $lx_per_cpu("runqueues").nr_running
113+ $3 = 1
114+ (gdb) p $lx_per_cpu("runqueues", 2).nr_running
115+ $4 = 0
116+
117+ o Dig into hrtimers using the container_of helper:
118+ (gdb) set $next = $lx_per_cpu("hrtimer_bases").clock_base[0].active.next
119+ (gdb) p *$container_of($next, "struct hrtimer", "node")
120+ $5 = {
121+ node = {
122+ node = {
123+ __rb_parent_color = 18446612133355256072,
124+ rb_right = 0x0 <irq_stack_union>,
125+ rb_left = 0x0 <irq_stack_union>
126+ },
127+ expires = {
128+ tv64 = 1835268000000
129+ }
130+ },
131+ _softexpires = {
132+ tv64 = 1835268000000
133+ },
134+ function = 0xffffffff81078232 <tick_sched_timer>,
135+ base = 0xffff88003fd0d6f0,
136+ state = 1,
137+ start_pid = 0,
138+ start_site = 0xffffffff81055c1f <hrtimer_start_range_ns+20>,
139+ start_comm = "swapper/2\000\000\000\000\000\000"
140+ }
141+
142+
143+List of commands and functions
144+------------------------------
145+
146+The number of commands and convenience functions may evolve over the time,
147+this is just a snapshot of the initial version:
148+
149+ (gdb) apropos lx
150+ function lx_current -- Return current task
151+ function lx_module -- Find module by name and return the module variable
152+ function lx_per_cpu -- Return per-cpu variable
153+ function lx_task_by_pid -- Find Linux task by PID and return the task_struct variable
154+ function lx_thread_info -- Calculate Linux thread_info from task variable
155+ lx-dmesg -- Print Linux kernel log buffer
156+ lx-lsmod -- List currently loaded modules
157+ lx-symbols -- (Re-)load symbols of Linux kernel and currently loaded modules
158+
159+Detailed help can be obtained via "help <command-name>" for commands and "help
160+function <function-name>" for convenience functions.
Documentation/gpio/board.txt+1−1
@@ -31,7 +31,7 @@ through gpiod_get(). For example: · 30 unmodified lines
3131 <&gpio 16 GPIO_ACTIVE_HIGH>, /* green */
3232 <&gpio 17 GPIO_ACTIVE_HIGH>; /* blue */
3333
34− power-gpio = <&gpio 1 GPIO_ACTIVE_LOW>;
34+ power-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
3535 };
3636
3737 This property will make GPIOs 15, 16 and 17 available to the driver under the
Documentation/hwmon/ina2xx+19−4
@@ -26,6 +26,12 @@ Supported chips: · 25 unmodified lines
2626 Datasheet: Publicly available at the Texas Instruments website
2727 http://www.ti.com/
2828
29+ * Texas Instruments INA231
30+ Prefix: 'ina231'
31+ Addresses: I2C 0x40 - 0x4f
32+ Datasheet: Publicly available at the Texas Instruments website
33+ http://www.ti.com/
34+
2935 Author: Lothar Felten <l-felten@ti.com>
3036
3137 Description
@@ -41,9 +47,18 @@ interface. The INA220 monitors both shunt drop and supply voltage. · 9 unmodified lines
4147 The INA226 is a current shunt and power monitor with an I2C interface.
4248 The INA226 monitors both a shunt voltage drop and bus supply voltage.
4349
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.
50+INA230 and INA231 are high or low side current shunt and power monitors
51+with an I2C interface. The chips monitor both a shunt voltage drop and
52+bus supply voltage.
4653
47−The shunt value in micro-ohms can be set via platform data or device tree.
48−Please refer to the Documentation/devicetree/bindings/i2c/ina2xx.txt for bindings
54+The shunt value in micro-ohms can be set via platform data or device tree at
55+compile-time or via the shunt_resistor attribute in sysfs at run-time. Please
56+refer to the Documentation/devicetree/bindings/i2c/ina2xx.txt for bindings
4957 if the device tree is used.
58+
59+Additionally ina226 supports update_interval attribute as described in
60+Documentation/hwmon/sysfs-interface. Internally the interval is the sum of
61+bus and shunt voltage conversion times multiplied by the averaging rate. We
62+don't touch the conversion times and only modify the number of averages. The
63+lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
64+The actual programmed interval may vary from the desired value.
Documentation/i2c/functionality+1−1
@@ -12,7 +12,7 @@ FUNCTIONALITY CONSTANTS · 11 unmodified lines
1212 -----------------------
1313
1414 For the most up-to-date list of functionality constants, please check
15−<linux/i2c.h>!
15+<uapi/linux/i2c.h>!
1616
1717 I2C_FUNC_I2C Plain i2c-level commands (Pure SMBus
1818 adapters typically can not do these)
Documentation/ia64/paravirt_ops.txt+0−137
@@ -1,137 +0,0 @@
1−Paravirt_ops on IA64
2−====================
3− 21 May 2008, Isaku Yamahata <yamahata@valinux.co.jp>
4−
5−
6−Introduction
7−------------
8−The aim of this documentation is to help with maintainability and/or to
9−encourage people to use paravirt_ops/IA64.
10−
11−paravirt_ops (pv_ops in short) is a way for virtualization support of
12−Linux kernel on x86. Several ways for virtualization support were
13−proposed, paravirt_ops is the winner.
14−On the other hand, now there are also several IA64 virtualization
15−technologies like kvm/IA64, xen/IA64 and many other academic IA64
16−hypervisors so that it is good to add generic virtualization
17−infrastructure on Linux/IA64.
18−
19−
20−What is paravirt_ops?
21−---------------------
22−It has been developed on x86 as virtualization support via API, not ABI.
23−It allows each hypervisor to override operations which are important for
24−hypervisors at API level. And it allows a single kernel binary to run on
25−all supported execution environments including native machine.
26−Essentially paravirt_ops is a set of function pointers which represent
27−operations corresponding to low level sensitive instructions and high
28−level functionalities in various area. But one significant difference
29−from usual function pointer table is that it allows optimization with
30−binary patch. It is because some of these operations are very
31−performance sensitive and indirect call overhead is not negligible.
32−With binary patch, indirect C function call can be transformed into
33−direct C function call or in-place execution to eliminate the overhead.
34−
35−Thus, operations of paravirt_ops are classified into three categories.
36−- simple indirect call
37− These operations correspond to high level functionality so that the
38− overhead of indirect call isn't very important.
39−
40−- indirect call which allows optimization with binary patch
41− Usually these operations correspond to low level instructions. They
42− are called frequently and performance critical. So the overhead is
43− very important.
44−
45−- a set of macros for hand written assembly code
46− Hand written assembly codes (.S files) also need paravirtualization
47− because they include sensitive instructions or some of code paths in
48− them are very performance critical.
49−
50−
51−The relation to the IA64 machine vector
52−---------------------------------------
53−Linux/IA64 has the IA64 machine vector functionality which allows the
54−kernel to switch implementations (e.g. initialization, ipi, dma api...)
55−depending on executing platform.
56−We can replace some implementations very easily defining a new machine
57−vector. Thus another approach for virtualization support would be
58−enhancing the machine vector functionality.
59−But paravirt_ops approach was taken because
60−- virtualization support needs wider support than machine vector does.
61− e.g. low level instruction paravirtualization. It must be
62− initialized very early before platform detection.
63−
64−- virtualization support needs more functionality like binary patch.
65− Probably the calling overhead might not be very large compared to the
66− emulation overhead of virtualization. However in the native case, the
67− overhead should be eliminated completely.
68− A single kernel binary should run on each environment including native,
69− and the overhead of paravirt_ops on native environment should be as
70− small as possible.
71−
72−- for full virtualization technology, e.g. KVM/IA64 or
73− Xen/IA64 HVM domain, the result would be
74− (the emulated platform machine vector. probably dig) + (pv_ops).
75− This means that the virtualization support layer should be under
76− the machine vector layer.
77−
78−Possibly it might be better to move some function pointers from
79−paravirt_ops to machine vector. In fact, Xen domU case utilizes both
80−pv_ops and machine vector.
81−
82−
83−IA64 paravirt_ops
84−-----------------
85−In this section, the concrete paravirt_ops will be discussed.
86−Because of the architecture difference between ia64 and x86, the
87−resulting set of functions is very different from x86 pv_ops.
88−
89−- C function pointer tables
90−They are not very performance critical so that simple C indirect
91−function call is acceptable. The following structures are defined at
92−this moment. For details see linux/include/asm-ia64/paravirt.h
93− - struct pv_info
94− This structure describes the execution environment.
95− - struct pv_init_ops
96− This structure describes the various initialization hooks.
97− - struct pv_iosapic_ops
98− This structure describes hooks to iosapic operations.
99− - struct pv_irq_ops
100− This structure describes hooks to irq related operations
101− - struct pv_time_op
102− This structure describes hooks to steal time accounting.
103−
104−- a set of indirect calls which need optimization
105−Currently this class of functions correspond to a subset of IA64
106−intrinsics. At this moment the optimization with binary patch isn't
107−implemented yet.
108−struct pv_cpu_op is defined. For details see
109−linux/include/asm-ia64/paravirt_privop.h
110−Mostly they correspond to ia64 intrinsics 1-to-1.
111−Caveat: Now they are defined as C indirect function pointers, but in
112−order to support binary patch optimization, they will be changed
113−using GCC extended inline assembly code.
114−
115−- a set of macros for hand written assembly code (.S files)
116−For maintenance purpose, the taken approach for .S files is single
117−source code and compile multiple times with different macros definitions.
118−Each pv_ops instance must define those macros to compile.
119−The important thing here is that sensitive, but non-privileged
120−instructions must be paravirtualized and that some privileged
121−instructions also need paravirtualization for reasonable performance.
122−Developers who modify .S files must be aware of that. At this moment
123−an easy checker is implemented to detect paravirtualization breakage.
124−But it doesn't cover all the cases.
125−
126−Sometimes this set of macros is called pv_cpu_asm_op. But there is no
127−corresponding structure in the source code.
128−Those macros mostly 1:1 correspond to a subset of privileged
129−instructions. See linux/include/asm-ia64/native/inst.h.
130−And some functions written in assembly also need to be overrided so
131−that each pv_ops instance have to define some macros. Again see
132−linux/include/asm-ia64/native/inst.h.
133−
134−
135−Those structures must be initialized very early before start_kernel.
136−Probably initialized in head.S using multi entry point or some other trick.
137−For native case implementation see linux/arch/ia64/kernel/paravirt.c.
Documentation/input/alps.txt+66−2
@@ -3,8 +3,8 @@ ALPS Touchpad Protocol · 2 unmodified lines
33
44 Introduction
55 ------------
6−Currently the ALPS touchpad driver supports five protocol versions in use by
7−ALPS touchpads, called versions 1, 2, 3, 4 and 5.
6+Currently the ALPS touchpad driver supports seven protocol versions in use by
7+ALPS touchpads, called versions 1, 2, 3, 4, 5, 6 and 7.
88
99 Since roughly mid-2010 several new ALPS touchpads have been released and
1010 integrated into a variety of laptops and netbooks. These new touchpads
@@ -240,3 +240,67 @@ For mt, the format is: · 229 unmodified lines
240240 byte 3: 0 x23 x22 x21 x20 x19 x18 x17
241241 byte 4: 0 x9 x8 x7 x6 x5 x4 x3
242242 byte 5: 0 x16 x15 x14 x13 x12 x11 x10
243+
244+ALPS Absolute Mode - Protocol Version 6
245+---------------------------------------
246+
247+For trackstick packet, the format is:
248+
249+ byte 0: 1 1 1 1 1 1 1 1
250+ byte 1: 0 X6 X5 X4 X3 X2 X1 X0
251+ byte 2: 0 Y6 Y5 Y4 Y3 Y2 Y1 Y0
252+ byte 3: ? Y7 X7 ? ? M R L
253+ byte 4: Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
254+ byte 5: 0 1 1 1 1 1 1 1
255+
256+For touchpad packet, the format is:
257+
258+ byte 0: 1 1 1 1 1 1 1 1
259+ byte 1: 0 0 0 0 x3 x2 x1 x0
260+ byte 2: 0 0 0 0 y3 y2 y1 y0
261+ byte 3: ? x7 x6 x5 x4 ? r l
262+ byte 4: ? y7 y6 y5 y4 ? ? ?
263+ byte 5: z7 z6 z5 z4 z3 z2 z1 z0
264+
265+(v6 touchpad does not have middle button)
266+
267+ALPS Absolute Mode - Protocol Version 7
268+---------------------------------------
269+
270+For trackstick packet, the format is:
271+
272+ byte 0: 0 1 0 0 1 0 0 0
273+ byte 1: 1 1 * * 1 M R L
274+ byte 2: X7 1 X5 X4 X3 X2 X1 X0
275+ byte 3: Z6 1 Y6 X6 1 Y2 Y1 Y0
276+ byte 4: Y7 0 Y5 Y4 Y3 1 1 0
277+ byte 5: T&P 0 Z5 Z4 Z3 Z2 Z1 Z0
278+
279+For touchpad packet, the format is:
280+
281+ packet-fmt b7 b6 b5 b4 b3 b2 b1 b0
282+ byte 0: TWO & MULTI L 1 R M 1 Y0-2 Y0-1 Y0-0
283+ byte 0: NEW L 1 X1-5 1 1 Y0-2 Y0-1 Y0-0
284+ byte 1: Y0-10 Y0-9 Y0-8 Y0-7 Y0-6 Y0-5 Y0-4 Y0-3
285+ byte 2: X0-11 1 X0-10 X0-9 X0-8 X0-7 X0-6 X0-5
286+ byte 3: X1-11 1 X0-4 X0-3 1 X0-2 X0-1 X0-0
287+ byte 4: TWO X1-10 TWO X1-9 X1-8 X1-7 X1-6 X1-5 X1-4
288+ byte 4: MULTI X1-10 TWO X1-9 X1-8 X1-7 X1-6 Y1-5 1
289+ byte 4: NEW X1-10 TWO X1-9 X1-8 X1-7 X1-6 0 0
290+ byte 5: TWO & NEW Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 Y1-5 Y1-4
291+ byte 5: MULTI Y1-10 0 Y1-9 Y1-8 Y1-7 Y1-6 F-1 F-0
292+
293+ L: Left button
294+ R / M: Non-clickpads: Right / Middle button
295+ Clickpads: When > 2 fingers are down, and some fingers
296+ are in the button area, then the 2 coordinates reported
297+ are for fingers outside the button area and these report
298+ extra fingers being present in the right / left button
299+ area. Note these fingers are not added to the F field!
300+ so if a TWO packet is received and R = 1 then there are
301+ 3 fingers down, etc.
302+ TWO: 1: Two touches present, byte 0/4/5 are in TWO fmt
303+ 0: If byte 4 bit 0 is 1, then byte 0/4/5 are in MULTI fmt
304+ otherwise byte 0 bit 4 must be set and byte 0/4/5 are
305+ in NEW fmt
306+ F: Number of fingers - 3, 0 means 3 fingers, 1 means 4 ...
Documentation/kasan.txt+170−0
@@ -0,0 +1,170 @@
1+Kernel address sanitizer
2+================
3+
4+0. Overview
5+===========
6+
7+Kernel Address sanitizer (KASan) is a dynamic memory error detector. It provides
8+a fast and comprehensive solution for finding use-after-free and out-of-bounds
9+bugs.
10+
11+KASan uses compile-time instrumentation for checking every memory access,
12+therefore you will need a certain version of GCC > 4.9.2
13+
14+Currently KASan is supported only for x86_64 architecture and requires that the
15+kernel be built with the SLUB allocator.
16+
17+1. Usage
18+=========
19+
20+To enable KASAN configure kernel with:
21+
22+ CONFIG_KASAN = y
23+
24+and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline
25+is compiler instrumentation types. The former produces smaller binary the
26+latter is 1.1 - 2 times faster. Inline instrumentation requires GCC 5.0 or
27+latter.
28+
29+Currently KASAN works only with the SLUB memory allocator.
30+For better bug detection and nicer report, enable CONFIG_STACKTRACE and put
31+at least 'slub_debug=U' in the boot cmdline.
32+
33+To disable instrumentation for specific files or directories, add a line
34+similar to the following to the respective kernel Makefile:
35+
36+ For a single file (e.g. main.o):
37+ KASAN_SANITIZE_main.o := n
38+
39+ For all files in one directory:
40+ KASAN_SANITIZE := n
41+
42+1.1 Error reports
43+==========
44+
45+A typical out of bounds access report looks like this:
46+
47+==================================================================
48+BUG: AddressSanitizer: out of bounds access in kmalloc_oob_right+0x65/0x75 [test_kasan] at addr ffff8800693bc5d3
49+Write of size 1 by task modprobe/1689
50+=============================================================================
51+BUG kmalloc-128 (Not tainted): kasan error
52+-----------------------------------------------------------------------------
53+
54+Disabling lock debugging due to kernel taint
55+INFO: Allocated in kmalloc_oob_right+0x3d/0x75 [test_kasan] age=0 cpu=0 pid=1689
56+ __slab_alloc+0x4b4/0x4f0
57+ kmem_cache_alloc_trace+0x10b/0x190
58+ kmalloc_oob_right+0x3d/0x75 [test_kasan]
59+ init_module+0x9/0x47 [test_kasan]
60+ do_one_initcall+0x99/0x200
61+ load_module+0x2cb3/0x3b20
62+ SyS_finit_module+0x76/0x80
63+ system_call_fastpath+0x12/0x17
64+INFO: Slab 0xffffea0001a4ef00 objects=17 used=7 fp=0xffff8800693bd728 flags=0x100000000004080
65+INFO: Object 0xffff8800693bc558 @offset=1368 fp=0xffff8800693bc720
66+
67+Bytes b4 ffff8800693bc548: 00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
68+Object ffff8800693bc558: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
69+Object ffff8800693bc568: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
70+Object ffff8800693bc578: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
71+Object ffff8800693bc588: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
72+Object ffff8800693bc598: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
73+Object ffff8800693bc5a8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
74+Object ffff8800693bc5b8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
75+Object ffff8800693bc5c8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk.
76+Redzone ffff8800693bc5d8: cc cc cc cc cc cc cc cc ........
77+Padding ffff8800693bc718: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
78+CPU: 0 PID: 1689 Comm: modprobe Tainted: G B 3.18.0-rc1-mm1+ #98
79+Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5-0-ge51488c-20140602_164612-nilsson.home.kraxel.org 04/01/2014
80+ ffff8800693bc000 0000000000000000 ffff8800693bc558 ffff88006923bb78
81+ ffffffff81cc68ae 00000000000000f3 ffff88006d407600 ffff88006923bba8
82+ ffffffff811fd848 ffff88006d407600 ffffea0001a4ef00 ffff8800693bc558
83+Call Trace:
84+ [<ffffffff81cc68ae>] dump_stack+0x46/0x58
85+ [<ffffffff811fd848>] print_trailer+0xf8/0x160
86+ [<ffffffffa00026a7>] ? kmem_cache_oob+0xc3/0xc3 [test_kasan]
87+ [<ffffffff811ff0f5>] object_err+0x35/0x40
88+ [<ffffffffa0002065>] ? kmalloc_oob_right+0x65/0x75 [test_kasan]
89+ [<ffffffff8120b9fa>] kasan_report_error+0x38a/0x3f0
90+ [<ffffffff8120a79f>] ? kasan_poison_shadow+0x2f/0x40
91+ [<ffffffff8120b344>] ? kasan_unpoison_shadow+0x14/0x40
92+ [<ffffffff8120a79f>] ? kasan_poison_shadow+0x2f/0x40
93+ [<ffffffffa00026a7>] ? kmem_cache_oob+0xc3/0xc3 [test_kasan]
94+ [<ffffffff8120a995>] __asan_store1+0x75/0xb0
95+ [<ffffffffa0002601>] ? kmem_cache_oob+0x1d/0xc3 [test_kasan]
96+ [<ffffffffa0002065>] ? kmalloc_oob_right+0x65/0x75 [test_kasan]
97+ [<ffffffffa0002065>] kmalloc_oob_right+0x65/0x75 [test_kasan]
98+ [<ffffffffa00026b0>] init_module+0x9/0x47 [test_kasan]
99+ [<ffffffff810002d9>] do_one_initcall+0x99/0x200
100+ [<ffffffff811e4e5c>] ? __vunmap+0xec/0x160
101+ [<ffffffff81114f63>] load_module+0x2cb3/0x3b20
102+ [<ffffffff8110fd70>] ? m_show+0x240/0x240
103+ [<ffffffff81115f06>] SyS_finit_module+0x76/0x80
104+ [<ffffffff81cd3129>] system_call_fastpath+0x12/0x17
105+Memory state around the buggy address:
106+ ffff8800693bc300: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
107+ ffff8800693bc380: fc fc 00 00 00 00 00 00 00 00 00 00 00 00 00 fc
108+ ffff8800693bc400: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
109+ ffff8800693bc480: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
110+ ffff8800693bc500: fc fc fc fc fc fc fc fc fc fc fc 00 00 00 00 00
111+>ffff8800693bc580: 00 00 00 00 00 00 00 00 00 00 03 fc fc fc fc fc
112+ ^
113+ ffff8800693bc600: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
114+ ffff8800693bc680: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
115+ ffff8800693bc700: fc fc fc fc fb fb fb fb fb fb fb fb fb fb fb fb
116+ ffff8800693bc780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
117+ ffff8800693bc800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
118+==================================================================
119+
120+First sections describe slub object where bad access happened.
121+See 'SLUB Debug output' section in Documentation/vm/slub.txt for details.
122+
123+In the last section the report shows memory state around the accessed address.
124+Reading this part requires some more understanding of how KASAN works.
125+
126+Each 8 bytes of memory are encoded in one shadow byte as accessible,
127+partially accessible, freed or they can be part of a redzone.
128+We use the following encoding for each shadow byte: 0 means that all 8 bytes
129+of the corresponding memory region are accessible; number N (1 <= N <= 7) means
130+that the first N bytes are accessible, and other (8 - N) bytes are not;
131+any negative value indicates that the entire 8-byte word is inaccessible.
132+We use different negative values to distinguish between different kinds of
133+inaccessible memory like redzones or freed memory (see mm/kasan/kasan.h).
134+
135+In the report above the arrows point to the shadow byte 03, which means that
136+the accessed address is partially accessible.
137+
138+
139+2. Implementation details
140+========================
141+
142+From a high level, our approach to memory error detection is similar to that
143+of kmemcheck: use shadow memory to record whether each byte of memory is safe
144+to access, and use compile-time instrumentation to check shadow memory on each
145+memory access.
146+
147+AddressSanitizer dedicates 1/8 of kernel memory to its shadow memory
148+(e.g. 16TB to cover 128TB on x86_64) and uses direct mapping with a scale and
149+offset to translate a memory address to its corresponding shadow address.
150+
151+Here is the function witch translate an address to its corresponding shadow
152+address:
153+
154+static inline void *kasan_mem_to_shadow(const void *addr)
155+{
156+ return ((unsigned long)addr >> KASAN_SHADOW_SCALE_SHIFT)
157+ + KASAN_SHADOW_OFFSET;
158+}
159+
160+where KASAN_SHADOW_SCALE_SHIFT = 3.
161+
162+Compile-time instrumentation used for checking memory accesses. Compiler inserts
163+function calls (__asan_load*(addr), __asan_store*(addr)) before each memory
164+access of size 1, 2, 4, 8 or 16. These functions check whether memory access is
165+valid or not by checking corresponding shadow memory.
166+
167+GCC 5.0 has possibility to perform inline instrumentation. Instead of making
168+function calls GCC directly inserts the code to check the shadow memory.
169+This option significantly enlarges kernel but it gives x1.1-x2 performance
170+boost over outline instrumented kernel.
Documentation/kbuild/makefiles.txt+10−10
@@ -524,15 +524,16 @@ more details, with real examples. · 523 unmodified lines
524524 Example:
525525 #arch/x86/Makefile
526526 cflags-y += $(shell \
527− if [ $(call cc-version) -ge 0300 ] ; then \
527+ if [ $(cc-version) -ge 0300 ] ; then \
528528 echo "-mregparm=3"; fi ;)
529529
530530 In the above example, -mregparm=3 is only used for gcc version greater
531531 than or equal to gcc 3.0.
532532
533533 cc-ifversion
534− cc-ifversion tests the version of $(CC) and equals last argument if
535− version expression is true.
534+ cc-ifversion tests the version of $(CC) and equals the fourth parameter
535+ if version expression is true, or the fifth (if given) if the version
536+ expression is false.
536537
537538 Example:
538539 #fs/reiserfs/Makefile
@@ -552,7 +553,7 @@ more details, with real examples. · 13 unmodified lines
552553
553554 Example:
554555 #arch/powerpc/Makefile
555− $(Q)if test "$(call cc-fullversion)" = "040200" ; then \
556+ $(Q)if test "$(cc-fullversion)" = "040200" ; then \
556557 echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
557558 false ; \
558559 fi
@@ -751,12 +752,12 @@ generated by kbuild are deleted all over the kernel src tree when · 192 unmodified lines
751752 Additional files can be specified in kbuild makefiles by use of $(clean-files).
752753
753754 Example:
754− #drivers/pci/Makefile
755− clean-files := devlist.h classlist.h
755+ #lib/Makefile
756+ clean-files := crc32table.h
756757
757758 When executing "make clean", the two files "devlist.h classlist.h" will be
758759 deleted. Kbuild will assume files to be in the same relative directory as the
759−Makefile except if an absolute path is specified (path starting with '/').
760+Makefile, except if prefixed with $(objtree).
760761
761762 To delete a directory hierarchy use:
762763
@@ -764,9 +765,8 @@ To delete a directory hierarchy use: · 1 unmodified line
764765 #scripts/package/Makefile
765766 clean-dirs := $(objtree)/debian/
766767
767−This will delete the directory debian, including all subdirectories.
768−Kbuild will assume the directories to be in the same relative path as the
769−Makefile if no absolute path is specified (path does not start with '/').
768+This will delete the directory debian in the toplevel directory, including all
769+subdirectories.
770770
771771 To exclude certain files from make clean, use the $(no-clean-files) variable.
772772 This is only a special case used in the top level Kbuild file:
Documentation/kernel-parameters.txt+29−0
@@ -970,6 +970,18 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 969 unmodified lines
970970
971971 smh Use ARM semihosting calls for early console.
972972
973+ s3c2410,<addr>
974+ s3c2412,<addr>
975+ s3c2440,<addr>
976+ s3c6400,<addr>
977+ s5pv210,<addr>
978+ exynos4210,<addr>
979+ Use early console provided by serial driver available
980+ on Samsung SoCs, requires selecting proper type and
981+ a correct base address of the selected UART port. The
982+ serial port must already be setup and configured.
983+ Options are not yet supported.
984+
973985 earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]
974986 earlyprintk=vga
975987 earlyprintk=efi
@@ -1470,6 +1482,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 494 unmodified lines
14701482 no_hwp
14711483 Do not enable hardware P state control (HWP)
14721484 if available.
1485+ hwp_only
1486+ Only load intel_pstate on systems which support
1487+ hardware P state control (HWP) if available.
14731488
14741489 intremap= [X86-64, Intel-IOMMU]
14751490 on enable Interrupt Remapping (default)
@@ -1494,6 +1509,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 18 unmodified lines
14941509 forcesac
14951510 soft
14961511 pt [x86, IA-64]
1512+ nobypass [PPC/POWERNV]
1513+ Disable IOMMU bypass, using IOMMU for PCI devices.
14971514
14981515
14991516 io7= [HW] IO7 for Marvel based alpha systems
@@ -3207,6 +3224,18 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 1707 unmodified lines
32073224
32083225 retain_initrd [RAM] Keep initrd memory after extraction
32093226
3227+ rfkill.default_state=
3228+ 0 "airplane mode". All wifi, bluetooth, wimax, gps, fm,
3229+ etc. communication is blocked by default.
3230+ 1 Unblocked.
3231+
3232+ rfkill.master_switch_mode=
3233+ 0 The "airplane mode" button does nothing.
3234+ 1 The "airplane mode" button toggles between everything
3235+ blocked and the previous configuration.
3236+ 2 The "airplane mode" button toggles between everything
3237+ blocked and everything unblocked.
3238+
32103239 rhash_entries= [KNL,NET]
32113240 Set number of hash buckets for route cache
32123241
Documentation/kprobes.txt+2−1
@@ -702,7 +702,8 @@ a virtual address that is no longer valid (module init sections, module · 701 unmodified lines
702702 virtual addresses that correspond to modules that've been unloaded),
703703 such probes are marked with [GONE]. If the probe is temporarily disabled,
704704 such probes are marked with [DISABLED]. If the probe is optimized, it is
705−marked with [OPTIMIZED].
705+marked with [OPTIMIZED]. If the probe is ftrace-based, it is marked with
706+[FTRACE].
706707
707708 /sys/kernel/debug/kprobes/enabled: Turn kprobes ON/OFF forcibly.
708709
Documentation/locking/00-INDEX+16−0
@@ -0,0 +1,16 @@
1+00-INDEX
2+ - this file.
3+lockdep-design.txt
4+ - documentation on the runtime locking correctness validator.
5+lockstat.txt
6+ - info on collecting statistics on locks (and contention).
7+mutex-design.txt
8+ - info on the generic mutex subsystem.
9+rt-mutex-design.txt
10+ - description of the RealTime mutex implementation design.
11+rt-mutex.txt
12+ - desc. of RT-mutex subsystem with PI (Priority Inheritance) support.
13+spinlocks.txt
14+ - info on using spinlocks to provide exclusive access in kernel.
15+ww-mutex-design.txt
16+ - Intro to Mutex wait/would deadlock handling.s
Documentation/locking/lockdep-design.txt+1−1
@@ -34,7 +34,7 @@ The validator tracks lock-class usage history into 4n + 1 separate state bits: · 33 unmodified lines
3434 - 'ever held with STATE enabled'
3535 - 'ever held as readlock with STATE enabled'
3636
37−Where STATE can be either one of (kernel/lockdep_states.h)
37+Where STATE can be either one of (kernel/locking/lockdep_states.h)
3838 - hardirq
3939 - softirq
4040 - reclaim_fs
Documentation/locking/lockstat.txt+5−0
@@ -121,6 +121,11 @@ show the header with column descriptions. Lines 05-18 and 20-31 show the actual · 120 unmodified lines
121121 statistics. These statistics come in two parts; the actual stats separated by a
122122 short separator (line 08, 13) from the contention points.
123123
124+Lines 09-12 show the first 4 recorded contention points (the code
125+which tries to get the lock) and lines 14-17 show the first 4 recorded
126+contended points (the lock holder). It is possible that the max
127+con-bounces point is missing in the statistics.
128+
124129 The first lock (05-18) is a read/write lock, and shows two lines above the
125130 short separator. The contention points don't match the column descriptors,
126131 they have two: contentions and [<IP>] symbol. The second set of contention
Documentation/memory-barriers.txt+45−1
@@ -269,6 +269,50 @@ And there are a number of things that _must_ or _must_not_ be assumed: · 268 unmodified lines
269269 STORE *(A + 4) = Y; STORE *A = X;
270270 STORE {*A, *(A + 4) } = {X, Y};
271271
272+And there are anti-guarantees:
273+
274+ (*) These guarantees do not apply to bitfields, because compilers often
275+ generate code to modify these using non-atomic read-modify-write
276+ sequences. Do not attempt to use bitfields to synchronize parallel
277+ algorithms.
278+
279+ (*) Even in cases where bitfields are protected by locks, all fields
280+ in a given bitfield must be protected by one lock. If two fields
281+ in a given bitfield are protected by different locks, the compiler's
282+ non-atomic read-modify-write sequences can cause an update to one
283+ field to corrupt the value of an adjacent field.
284+
285+ (*) These guarantees apply only to properly aligned and sized scalar
286+ variables. "Properly sized" currently means variables that are
287+ the same size as "char", "short", "int" and "long". "Properly
288+ aligned" means the natural alignment, thus no constraints for
289+ "char", two-byte alignment for "short", four-byte alignment for
290+ "int", and either four-byte or eight-byte alignment for "long",
291+ on 32-bit and 64-bit systems, respectively. Note that these
292+ guarantees were introduced into the C11 standard, so beware when
293+ using older pre-C11 compilers (for example, gcc 4.6). The portion
294+ of the standard containing this guarantee is Section 3.14, which
295+ defines "memory location" as follows:
296+
297+ memory location
298+ either an object of scalar type, or a maximal sequence
299+ of adjacent bit-fields all having nonzero width
300+
301+ NOTE 1: Two threads of execution can update and access
302+ separate memory locations without interfering with
303+ each other.
304+
305+ NOTE 2: A bit-field and an adjacent non-bit-field member
306+ are in separate memory locations. The same applies
307+ to two bit-fields, if one is declared inside a nested
308+ structure declaration and the other is not, or if the two
309+ are separated by a zero-length bit-field declaration,
310+ or if they are separated by a non-bit-field member
311+ declaration. It is not safe to concurrently update two
312+ bit-fields in the same structure if all members declared
313+ between them are also bit-fields, no matter what the
314+ sizes of those intervening bit-fields happen to be.
315+
272316
273317 =========================
274318 WHAT ARE MEMORY BARRIERS?
@@ -750,7 +794,7 @@ In summary: · 475 unmodified lines
750794 However, they do -not- guarantee any other sort of ordering:
751795 Not prior loads against later loads, nor prior stores against
752796 later anything. If you need these other forms of ordering,
753− use smb_rmb(), smp_wmb(), or, in the case of prior stores and
797+ use smp_rmb(), smp_wmb(), or, in the case of prior stores and
754798 later loads, smp_mb().
755799
756800 (*) If both legs of the "if" statement begin with identical stores
Documentation/misc-devices/mei/mei-client-bus.txt+10−7
@@ -1,9 +1,10 @@
11 Intel(R) Management Engine (ME) Client bus API
2−===============================================
2+==============================================
33
44
55 Rationale
66 =========
7+
78 MEI misc character device is useful for dedicated applications to send and receive
89 data to the many FW appliance found in Intel's ME from the user space.
910 However for some of the ME functionalities it make sense to leverage existing software
@@ -17,7 +18,8 @@ the existing code. · 7 unmodified lines
1718
1819
1920 MEI CL bus API
20−===========
21+==============
22+
2123 A driver implementation for an MEI Client is very similar to existing bus
2224 based device drivers. The driver registers itself as an MEI CL bus driver through
2325 the mei_cl_driver structure:
@@ -55,6 +57,7 @@ received buffers. · 31 unmodified lines
5557
5658 Example
5759 =======
60+
5861 As a theoretical example let's pretend the ME comes with a "contact" NFC IP.
5962 The driver init and exit routines for this device would look like:
6063
@@ -69,11 +72,11 @@ static struct mei_cl_device_id contact_mei_cl_tbl[] = { · 8 unmodified lines
6972 MODULE_DEVICE_TABLE(mei_cl, contact_mei_cl_tbl);
7073
7174 static struct mei_cl_driver contact_driver = {
72− .id_table = contact_mei_tbl,
73− .name = CONTACT_DRIVER_NAME,
75+ .id_table = contact_mei_tbl,
76+ .name = CONTACT_DRIVER_NAME,
7477
75− .probe = contact_probe,
76− .remove = contact_remove,
78+ .probe = contact_probe,
79+ .remove = contact_remove,
7780 };
7881
7982 static int contact_init(void)
@@ -109,7 +112,7 @@ int contact_probe(struct mei_cl_device *dev, struct mei_cl_device_id *id) · 29 unmodified lines
109112 mei_cl_register_event_cb(dev, contact_event_cb, contact);
110113
111114 return 0;
112− }
115+}
113116
114117 In the probe routine the driver first enable the MEI device and then registers
115118 an ME bus event handler which is as close as it can get to registering a
Documentation/misc-devices/mei/mei.txt+67−59
@@ -1,8 +1,8 @@
11 Intel(R) Management Engine Interface (Intel(R) MEI)
2−=======================
2+===================================================
33
44 Introduction
5−=======================
5+============
66
77 The Intel Management Engine (Intel ME) is an isolated and protected computing
88 resource (Co-processor) residing inside certain Intel chipsets. The Intel ME
@@ -19,7 +19,7 @@ each client has its own protocol. The protocol is message-based with a · 10 unmodified lines
1919 header and payload up to 512 bytes.
2020
2121 Prominent usage of the Intel ME Interface is to communicate with Intel(R)
22−Active Management Technology (Intel AMT)implemented in firmware running on
22+Active Management Technology (Intel AMT) implemented in firmware running on
2323 the Intel ME.
2424
2525 Intel AMT provides the ability to manage a host remotely out-of-band (OOB)
@@ -44,8 +44,9 @@ HTTP/S that are received from a remote management console application. · 18 unmodified lines
4444 For more information about Intel AMT:
4545 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
4646
47+
4748 Intel MEI Driver
48−=======================
49+================
4950
5051 The driver exposes a misc device called /dev/mei.
5152
@@ -91,8 +92,10 @@ A code snippet for an application communicating with Intel AMTHI client: · 39 unmodified lines
9192 [...]
9293 close(fd);
9394
94−IOCTL:
95−======
95+
96+IOCTL
97+=====
98+
9699 The Intel MEI Driver supports the following IOCTL command:
97100 IOCTL_MEI_CONNECT_CLIENT Connect to firmware Feature (client).
98101
@@ -122,58 +125,61 @@ The Intel MEI Driver supports the following IOCTL command: · 23 unmodified lines
122125 data that can be sent or received. (e.g. if MTU=2K, can send
123126 requests up to bytes 2k and received responses up to 2k bytes).
124127
125−Intel ME Applications:
126−==============
127−
128−1) Intel Local Management Service (Intel LMS)
129−
130− Applications running locally on the platform communicate with Intel AMT Release
131− 2.0 and later releases in the same way that network applications do via SOAP
132− over HTTP (deprecated starting with Release 6.0) or with WS-Management over
133− SOAP over HTTP. This means that some Intel AMT features can be accessed from a
134− local application using the same network interface as a remote application
135− communicating with Intel AMT over the network.
136−
137− When a local application sends a message addressed to the local Intel AMT host
138− name, the Intel LMS, which listens for traffic directed to the host name,
139− intercepts the message and routes it to the Intel MEI.
140− For more information:
141− http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
142− Under "About Intel AMT" => "Local Access"
143−
144− For downloading Intel LMS:
145− http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
146−
147− The Intel LMS opens a connection using the Intel MEI driver to the Intel LMS
148− firmware feature using a defined UUID and then communicates with the feature
149− using a protocol called Intel AMT Port Forwarding Protocol(Intel APF protocol).
150− The protocol is used to maintain multiple sessions with Intel AMT from a
151− single application.
152−
153− See the protocol specification in the Intel AMT Software Development Kit(SDK)
154− http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
155− Under "SDK Resources" => "Intel(R) vPro(TM) Gateway(MPS)"
156− => "Information for Intel(R) vPro(TM) Gateway Developers"
157− => "Description of the Intel AMT Port Forwarding (APF)Protocol"
158−
159− 2) Intel AMT Remote configuration using a Local Agent
160− A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
161− without requiring installing additional data to enable setup. The remote
162− configuration process may involve an ISV-developed remote configuration
163− agent that runs on the host.
164− For more information:
165− http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
166− Under "Setup and Configuration of Intel AMT" =>
167− "SDK Tools Supporting Setup and Configuration" =>
168− "Using the Local Agent Sample"
169−
170− An open source Intel AMT configuration utility, implementing a local agent
171− that accesses the Intel MEI driver, can be found here:
172− http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
173−
174−
175−Intel AMT OS Health Watchdog:
176−=============================
128+
129+Intel ME Applications
130+=====================
131+
132+ 1) Intel Local Management Service (Intel LMS)
133+
134+ Applications running locally on the platform communicate with Intel AMT Release
135+ 2.0 and later releases in the same way that network applications do via SOAP
136+ over HTTP (deprecated starting with Release 6.0) or with WS-Management over
137+ SOAP over HTTP. This means that some Intel AMT features can be accessed from a
138+ local application using the same network interface as a remote application
139+ communicating with Intel AMT over the network.
140+
141+ When a local application sends a message addressed to the local Intel AMT host
142+ name, the Intel LMS, which listens for traffic directed to the host name,
143+ intercepts the message and routes it to the Intel MEI.
144+ For more information:
145+ http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
146+ Under "About Intel AMT" => "Local Access"
147+
148+ For downloading Intel LMS:
149+ http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
150+
151+ The Intel LMS opens a connection using the Intel MEI driver to the Intel LMS
152+ firmware feature using a defined UUID and then communicates with the feature
153+ using a protocol called Intel AMT Port Forwarding Protocol (Intel APF protocol).
154+ The protocol is used to maintain multiple sessions with Intel AMT from a
155+ single application.
156+
157+ See the protocol specification in the Intel AMT Software Development Kit (SDK)
158+ http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
159+ Under "SDK Resources" => "Intel(R) vPro(TM) Gateway (MPS)"
160+ => "Information for Intel(R) vPro(TM) Gateway Developers"
161+ => "Description of the Intel AMT Port Forwarding (APF) Protocol"
162+
163+ 2) Intel AMT Remote configuration using a Local Agent
164+
165+ A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
166+ without requiring installing additional data to enable setup. The remote
167+ configuration process may involve an ISV-developed remote configuration
168+ agent that runs on the host.
169+ For more information:
170+ http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
171+ Under "Setup and Configuration of Intel AMT" =>
172+ "SDK Tools Supporting Setup and Configuration" =>
173+ "Using the Local Agent Sample"
174+
175+ An open source Intel AMT configuration utility, implementing a local agent
176+ that accesses the Intel MEI driver, can be found here:
177+ http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
178+
179+
180+Intel AMT OS Health Watchdog
181+============================
182+
177183 The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
178184 Whenever the OS hangs or crashes, Intel AMT will send an event
179185 to any subscriber to this event. This mechanism means that
@@ -192,8 +198,10 @@ watchdog is 120 seconds. · 12 unmodified lines
192198 If the Intel AMT Watchdog feature does not exist (i.e. the connection failed),
193199 the Intel MEI driver will disable the sending of heartbeats.
194200
195−Supported Chipsets:
201+
202+Supported Chipsets
196203 ==================
204+
197205 7 Series Chipset Family
198206 6 Series Chipset Family
199207 5 Series Chipset Family
Documentation/networking/00-INDEX+6−2
@@ -1,7 +1,5 @@
11 00-INDEX
22 - this file
3−3c505.txt
4− - information on the 3Com EtherLink Plus (3c505) driver.
53 3c509.txt
64 - information on the 3Com Etherlink III Series Ethernet cards.
75 6pack.txt
@@ -24,6 +22,8 @@ README.sb1000 · 16 unmodified lines
2422 - info on General Instrument/NextLevel SURFboard1000 cable modem.
2523 alias.txt
2624 - info on using alias network devices.
25+altera_tse.txt
26+ - Altera Triple-Speed Ethernet controller.
2727 arcnet-hardware.txt
2828 - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc.
2929 arcnet.txt
@@ -42,6 +42,8 @@ bridge.txt · 12 unmodified lines
4242 - where to get user space programs for ethernet bridging with Linux.
4343 can.txt
4444 - documentation on CAN protocol family.
45+cdc_mbim.txt
46+ - 3G/LTE USB modem (Mobile Broadband Interface Model)
4547 cops.txt
4648 - info on the COPS LocalTalk Linux driver
4749 cs89x0.txt
@@ -54,6 +56,8 @@ cxgb.txt · 6 unmodified lines
5456 - Release Notes for the Chelsio N210 Linux device driver.
5557 dccp.txt
5658 - the Datagram Congestion Control Protocol (DCCP) (RFC 4340..42).
59+dctcp.txt
60+ - DataCenter TCP congestion control
5761 de4x5.txt
5862 - the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver
5963 decnet.txt
Documentation/networking/can.txt+1−1
@@ -234,7 +234,7 @@ solution for a couple of reasons: · 233 unmodified lines
234234 mechanisms. Inside this filter definition the (interested) type of
235235 errors may be selected. The reception of error messages is disabled
236236 by default. The format of the CAN error message frame is briefly
237− described in the Linux header file "include/linux/can/error.h".
237+ described in the Linux header file "include/uapi/linux/can/error.h".
238238
239239 4. How to use SocketCAN
240240 ------------------------
Documentation/networking/filter.txt+2−2
@@ -279,8 +279,8 @@ Possible BPF extensions are shown in the following table: · 278 unmodified lines
279279 hatype skb->dev->type
280280 rxhash skb->hash
281281 cpu raw_smp_processor_id()
282− vlan_tci vlan_tx_tag_get(skb)
283− vlan_pr vlan_tx_tag_present(skb)
282+ vlan_tci skb_vlan_tag_get(skb)
283+ vlan_pr skb_vlan_tag_present(skb)
284284 rand prandom_u32()
285285
286286 These extensions can also be prefixed with '#'.
Documentation/networking/ip-sysctl.txt+29−0
@@ -290,6 +290,28 @@ tcp_frto - INTEGER · 289 unmodified lines
290290
291291 By default it's enabled with a non-zero value. 0 disables F-RTO.
292292
293+tcp_invalid_ratelimit - INTEGER
294+ Limit the maximal rate for sending duplicate acknowledgments
295+ in response to incoming TCP packets that are for an existing
296+ connection but that are invalid due to any of these reasons:
297+
298+ (a) out-of-window sequence number,
299+ (b) out-of-window acknowledgment number, or
300+ (c) PAWS (Protection Against Wrapped Sequence numbers) check failure
301+
302+ This can help mitigate simple "ack loop" DoS attacks, wherein
303+ a buggy or malicious middlebox or man-in-the-middle can
304+ rewrite TCP header fields in manner that causes each endpoint
305+ to think that the other is sending invalid TCP segments, thus
306+ causing each side to send an unterminating stream of duplicate
307+ acknowledgments for invalid segments.
308+
309+ Using 0 disables rate-limiting of dupacks in response to
310+ invalid segments; otherwise this value specifies the minimal
311+ space between sending such dupacks, in milliseconds.
312+
313+ Default: 500 (milliseconds).
314+
293315 tcp_keepalive_time - INTEGER
294316 How often TCP sends out keepalive messages when keepalive is enabled.
295317 Default: 2hours.
@@ -1287,6 +1309,13 @@ accept_ra_rtr_pref - BOOLEAN · 991 unmodified lines
12871309 Functional default: enabled if accept_ra is enabled.
12881310 disabled if accept_ra is disabled.
12891311
1312+accept_ra_mtu - BOOLEAN
1313+ Apply the MTU value specified in RA option 5 (RFC4861). If
1314+ disabled, the MTU specified in the RA will be ignored.
1315+
1316+ Functional default: enabled if accept_ra is enabled.
1317+ disabled if accept_ra is disabled.
1318+
12901319 accept_redirects - BOOLEAN
12911320 Accept Redirects.
12921321
Documentation/networking/netlink_mmap.txt+3−10
@@ -199,16 +199,9 @@ frame header. · 198 unmodified lines
199199 TX limitations
200200 --------------
201201
202−Kernel processing usually involves validation of the message received by
203−user-space, then processing its contents. The kernel must assure that
204−userspace is not able to modify the message contents after they have been
205−validated. In order to do so, the message is copied from the ring frame
206−to an allocated buffer if either of these conditions is false:
207−
208−- only a single mapping of the ring exists
209−- the file descriptor is not shared between processes
210−
211−This means that for threaded programs, the kernel will fall back to copying.
202+As of Jan 2015 the message is always copied from the ring frame to an
203+allocated buffer due to unresolved security concerns.
204+See commit 4682a0358639b29cf ("netlink: Always copy on mmap TX.").
212205
213206 Example
214207 -------
Documentation/networking/nf_conntrack-sysctl.txt+2−1
@@ -11,7 +11,8 @@ nf_conntrack_buckets - INTEGER (read-only) · 10 unmodified lines
1111 Size of hash table. If not specified as parameter during module
1212 loading, the default size is calculated by dividing total memory
1313 by 16384 to determine the number of buckets but the hash table will
14− never have fewer than 32 or more than 16384 buckets.
14+ never have fewer than 32 and limited to 16384 buckets. For systems
15+ with more than 4GB of memory it will be 65536 buckets.
1516
1617 nf_conntrack_checksum - BOOLEAN
1718 0 - disabled
Documentation/networking/openvswitch.txt+13−0
@@ -131,6 +131,19 @@ performs best-effort detection of overlapping wildcarded flows and may reject · 130 unmodified lines
131131 some but not all of them. However, this behavior may change in future versions.
132132
133133
134+Unique flow identifiers
135+-----------------------
136+
137+An alternative to using the original match portion of a key as the handle for
138+flow identification is a unique flow identifier, or "UFID". UFIDs are optional
139+for both the kernel and user space program.
140+
141+User space programs that support UFID are expected to provide it during flow
142+setup in addition to the flow, then refer to the flow using the UFID for all
143+future operations. The kernel is not required to index flows by the original
144+flow key if a UFID is specified.
145+
146+
134147 Basic rule for evolving flow keys
135148 ---------------------------------
136149
Documentation/networking/timestamping.txt+21−0
@@ -162,6 +162,27 @@ SOF_TIMESTAMPING_OPT_CMSG: · 161 unmodified lines
162162 option IP_PKTINFO simultaneously.
163163
164164
165+SOF_TIMESTAMPING_OPT_TSONLY:
166+
167+ Applies to transmit timestamps only. Makes the kernel return the
168+ timestamp as a cmsg alongside an empty packet, as opposed to
169+ alongside the original packet. This reduces the amount of memory
170+ charged to the socket's receive budget (SO_RCVBUF) and delivers
171+ the timestamp even if sysctl net.core.tstamp_allow_data is 0.
172+ This option disables SOF_TIMESTAMPING_OPT_CMSG.
173+
174+
175+New applications are encouraged to pass SOF_TIMESTAMPING_OPT_ID to
176+disambiguate timestamps and SOF_TIMESTAMPING_OPT_TSONLY to operate
177+regardless of the setting of sysctl net.core.tstamp_allow_data.
178+
179+An exception is when a process needs additional cmsg data, for
180+instance SOL_IP/IP_PKTINFO to detect the egress network interface.
181+Then pass option SOF_TIMESTAMPING_OPT_CMSG. This option depends on
182+having access to the contents of the original packet, so cannot be
183+combined with SOF_TIMESTAMPING_OPT_TSONLY.
184+
185+
165186 1.4 Bytestream Timestamps
166187
167188 The SO_TIMESTAMPING interface supports timestamping of bytes in a
Documentation/networking/timestamping/txtimestamp.c+26−12
@@ -30,6 +30,8 @@ · 29 unmodified lines
3030 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
3131 */
3232
33+#define _GNU_SOURCE
34+
3335 #include <arpa/inet.h>
3436 #include <asm/types.h>
3537 #include <error.h>
@@ -59,14 +61,6 @@ · 23 unmodified lines
5961 #include <time.h>
6062 #include <unistd.h>
6163
62−/* ugly hack to work around netinet/in.h and linux/ipv6.h conflicts */
63−#ifndef in6_pktinfo
64−struct in6_pktinfo {
65− struct in6_addr ipi6_addr;
66− int ipi6_ifindex;
67−};
68−#endif
69−
7064 /* command line parameters */
7165 static int cfg_proto = SOCK_STREAM;
7266 static int cfg_ipproto = IPPROTO_TCP;
@@ -76,6 +70,7 @@ static int do_ipv6 = 1; · 3 unmodified lines
7670 static int cfg_payload_len = 10;
7771 static bool cfg_show_payload;
7872 static bool cfg_do_pktinfo;
73+static bool cfg_loop_nodata;
7974 static uint16_t dest_port = 9000;
8075
8176 static struct sockaddr_in daddr;
@@ -147,6 +142,9 @@ static void print_payload(char *data, int len) · 65 unmodified lines
147142 {
148143 int i;
149144
145+ if (!len)
146+ return;
147+
150148 if (len > 70)
151149 len = 70;
152150
@@ -183,6 +181,7 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len) · 30 unmodified lines
183181 struct sock_extended_err *serr = NULL;
184182 struct scm_timestamping *tss = NULL;
185183 struct cmsghdr *cm;
184+ int batch = 0;
186185
187186 for (cm = CMSG_FIRSTHDR(msg);
188187 cm && cm->cmsg_len;
@@ -215,10 +214,18 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len) · 26 unmodified lines
215214 } else
216215 fprintf(stderr, "unknown cmsg %d,%d\n",
217216 cm->cmsg_level, cm->cmsg_type);
217+
218+ if (serr && tss) {
219+ print_timestamp(tss, serr->ee_info, serr->ee_data,
220+ payload_len);
221+ serr = NULL;
222+ tss = NULL;
223+ batch++;
224+ }
218225 }
219226
220− if (serr && tss)
221− print_timestamp(tss, serr->ee_info, serr->ee_data, payload_len);
227+ if (batch > 1)
228+ fprintf(stderr, "batched %d timestamps\n", batch);
222229 }
223230
224231 static int recv_errmsg(int fd)
@@ -250,7 +257,7 @@ static int recv_errmsg(int fd) · 25 unmodified lines
250257 if (ret == -1 && errno != EAGAIN)
251258 error(1, errno, "recvmsg");
252259
253− if (ret > 0) {
260+ if (ret >= 0) {
254261 __recv_errmsg_cmsg(&msg, ret);
255262 if (cfg_show_payload)
256263 print_payload(data, cfg_payload_len);
@@ -315,6 +322,9 @@ static void do_test(int family, unsigned int opt) · 58 unmodified lines
315322 opt |= SOF_TIMESTAMPING_SOFTWARE |
316323 SOF_TIMESTAMPING_OPT_CMSG |
317324 SOF_TIMESTAMPING_OPT_ID;
325+ if (cfg_loop_nodata)
326+ opt |= SOF_TIMESTAMPING_OPT_TSONLY;
327+
318328 if (setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING,
319329 (char *) &opt, sizeof(opt)))
320330 error(1, 0, "setsockopt timestamping");
@@ -384,6 +394,7 @@ static void __attribute__((noreturn)) usage(const char *filepath) · 63 unmodified lines
384394 " -h: show this message\n"
385395 " -I: request PKTINFO\n"
386396 " -l N: send N bytes at a time\n"
397+ " -n: set no-payload option\n"
387398 " -r: use raw\n"
388399 " -R: use raw (IP_HDRINCL)\n"
389400 " -p N: connect to port N\n"
@@ -398,7 +409,7 @@ static void parse_opt(int argc, char **argv) · 8 unmodified lines
398409 int proto_count = 0;
399410 char c;
400411
401− while ((c = getopt(argc, argv, "46hIl:p:rRux")) != -1) {
412+ while ((c = getopt(argc, argv, "46hIl:np:rRux")) != -1) {
402413 switch (c) {
403414 case '4':
404415 do_ipv6 = 0;
@@ -409,6 +420,9 @@ static void parse_opt(int argc, char **argv) · 4 unmodified lines
409420 case 'I':
410421 cfg_do_pktinfo = true;
411422 break;
423+ case 'n':
424+ cfg_loop_nodata = true;
425+ break;
412426 case 'r':
413427 proto_count++;
414428 cfg_proto = SOCK_RAW;
Documentation/nommu-mmap.txt+4−4
@@ -43,12 +43,12 @@ and it's also much more restricted in the latter case: · 42 unmodified lines
4343 even if this was created by another process.
4444
4545 - If possible, the file mapping will be directly on the backing device
46− if the backing device has the BDI_CAP_MAP_DIRECT capability and
46+ if the backing device has the NOMMU_MAP_DIRECT capability and
4747 appropriate mapping protection capabilities. Ramfs, romfs, cramfs
4848 and mtd might all permit this.
4949
5050 - If the backing device device can't or won't permit direct sharing,
51− but does have the BDI_CAP_MAP_COPY capability, then a copy of the
51+ but does have the NOMMU_MAP_COPY capability, then a copy of the
5252 appropriate bit of the file will be read into a contiguous bit of
5353 memory and any extraneous space beyond the EOF will be cleared
5454
@@ -220,7 +220,7 @@ directly (can't be copied). · 165 unmodified lines
220220
221221 The file->f_op->mmap() operation will be called to actually inaugurate the
222222 mapping. It can be rejected at that point. Returning the ENOSYS error will
223−cause the mapping to be copied instead if BDI_CAP_MAP_COPY is specified.
223+cause the mapping to be copied instead if NOMMU_MAP_COPY is specified.
224224
225225 The vm_ops->close() routine will be invoked when the last mapping on a chardev
226226 is removed. An existing mapping will be shared, partially or not, if possible
@@ -232,7 +232,7 @@ want to handle it, despite the fact it's got an operation. For instance, it · 5 unmodified lines
232232 might try directing the call to a secondary driver which turns out not to
233233 implement it. Such is the case for the framebuffer driver which attempts to
234234 direct the call to the device-specific driver. Under such circumstances, the
235−mapping request will be rejected if BDI_CAP_MAP_COPY is not specified, and a
235+mapping request will be rejected if NOMMU_MAP_COPY is not specified, and a
236236 copy mapped otherwise.
237237
238238 IMPORTANT NOTE:
Documentation/oops-tracing.txt+2−0
@@ -270,6 +270,8 @@ characters, each representing a particular tainted value. · 269 unmodified lines
270270
271271 15: 'L' if a soft lockup has previously occurred on the system.
272272
273+ 16: 'K' if the kernel has been live patched.
274+
273275 The primary reason for the 'Tainted: ' string is to tell kernel
274276 debuggers if this is a clean kernel or if anything unusual has
275277 occurred. Tainting is permanent: even if an offending module is
Documentation/power/s2ram.txt+4−0
@@ -69,6 +69,10 @@ Reason for this is that the RTC is the only reliably available piece of · 68 unmodified lines
6969 hardware during resume operations where a value can be set that will
7070 survive a reboot.
7171
72+pm_trace is not compatible with asynchronous suspend, so it turns
73+asynchronous suspend off (which may work around timing or
74+ordering-sensitive bugs).
75+
7276 Consequence is that after a resume (even if it is successful) your system
7377 clock will have a value corresponding to the magic number instead of the
7478 correct date/time! It is therefore advisable to use a program like ntp-date
Documentation/rfkill.txt+3−0
@@ -25,6 +25,9 @@ whether they can be changed or not: · 24 unmodified lines
2525 - soft block: writable radio block (need not be readable) that is set by
2626 the system software.
2727
28+The rfkill subsystem has two parameters, rfkill.default_state and
29+rfkill.master_switch_mode, which are documented in kernel-parameters.txt.
30+
2831
2932 2. Implementation details
3033
Documentation/s390/Debugging390.txt+237−256
@@ -1,14 +1,14 @@
1−
2− Debugging on Linux for s/390 & z/Architecture
3− by
4− Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
5− Copyright (C) 2000-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
6− Best viewed with fixed width fonts
1+
2+ Debugging on Linux for s/390 & z/Architecture
3+ by
4+ Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
5+ Copyright (C) 2000-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
6+ Best viewed with fixed width fonts
77
88 Overview of Document:
99 =====================
10−This document is intended to give a good overview of how to debug
11−Linux for s/390 & z/Architecture. It isn't intended as a complete reference & not a
10+This document is intended to give a good overview of how to debug Linux for
11+s/390 and z/Architecture. It is not intended as a complete reference and not a
1212 tutorial on the fundamentals of C & assembly. It doesn't go into
1313 390 IO in any detail. It is intended to complement the documents in the
1414 reference section below & any other worthwhile references you get.
@@ -35,7 +35,6 @@ Examining core dumps · 20 unmodified lines
3535 ldd
3636 Debugging modules
3737 The proc file system
38−Starting points for debugging scripting languages etc.
3938 SysRq
4039 References
4140 Special Thanks
@@ -44,18 +43,20 @@ Register Set · 2 unmodified lines
4443 ============
4544 The current architectures have the following registers.
4645
47−16 General propose registers, 32 bit on s/390 64 bit on z/Architecture, r0-r15 or gpr0-gpr15 used for arithmetic & addressing.
48−
49−16 Control registers, 32 bit on s/390 64 bit on z/Architecture, ( cr0-cr15 kernel usage only ) used for memory management,
50−interrupt control,debugging control etc.
51−
52−16 Access registers ( ar0-ar15 ) 32 bit on s/390 & z/Architecture
53−not used by normal programs but potentially could
54−be used as temporary storage. Their main purpose is their 1 to 1
55−association with general purpose registers and are used in
56−the kernel for copying data between kernel & user address spaces.
57−Access register 0 ( & access register 1 on z/Architecture ( needs 64 bit
58−pointer ) ) is currently used by the pthread library as a pointer to
46+16 General propose registers, 32 bit on s/390 and 64 bit on z/Architecture,
47+r0-r15 (or gpr0-gpr15), used for arithmetic and addressing.
48+
49+16 Control registers, 32 bit on s/390 and 64 bit on z/Architecture, cr0-cr15,
50+kernel usage only, used for memory management, interrupt control, debugging
51+control etc.
52+
53+16 Access registers (ar0-ar15), 32 bit on both s/390 and z/Architecture,
54+normally not used by normal programs but potentially could be used as
55+temporary storage. These registers have a 1:1 association with general
56+purpose registers and are designed to be used in the so-called access
57+register mode to select different address spaces.
58+Access register 0 (and access register 1 on z/Architecture, which needs a
59+64 bit pointer) is currently used by the pthread library as a pointer to
5960 the current running threads private area.
6061
6162 16 64 bit floating point registers (fp0-fp15 ) IEEE & HFP floating
@@ -90,18 +91,19 @@ s/390 z/Architecture · 28 unmodified lines
9091
9192 6 6 Input/Output interrupt Mask
9293
93−7 7 External interrupt Mask used primarily for interprocessor signalling &
94− clock interrupts.
94+7 7 External interrupt Mask used primarily for interprocessor
95+ signalling and clock interrupts.
9596
96−8-11 8-11 PSW Key used for complex memory protection mechanism not used under linux
97+8-11 8-11 PSW Key used for complex memory protection mechanism
98+ (not used under linux)
9799
98100 12 12 1 on s/390 0 on z/Architecture
99101
100102 13 13 Machine Check Mask 1=enable machine check interrupts
101103
102−14 14 Wait State set this to 1 to stop the processor except for interrupts & give
103− time to other LPARS used in CPU idle in the kernel to increase overall
104− usage of processor resources.
104+14 14 Wait State. Set this to 1 to stop the processor except for
105+ interrupts and give time to other LPARS. Used in CPU idle in
106+ the kernel to increase overall usage of processor resources.
105107
106108 15 15 Problem state ( if set to 1 certain instructions are disabled )
107109 all linux user programs run with this bit 1
@@ -165,21 +167,23 @@ s/390 z/Architecture · 57 unmodified lines
165167 when loading the address with LPSWE otherwise a
166168 specification exception occurs, LPSW is fully backward
167169 compatible.
168−
169−
170+
171+
170172 Prefix Page(s)
171−--------------
173+--------------
172174 This per cpu memory area is too intimately tied to the processor not to mention.
173−It exists between the real addresses 0-4096 on s/390 & 0-8192 z/Architecture & is exchanged
174−with a 1 page on s/390 or 2 pages on z/Architecture in absolute storage by the set
175−prefix instruction in linux'es startup.
176−This page is mapped to a different prefix for each processor in an SMP configuration
177−( assuming the os designer is sane of course :-) ).
178−Bytes 0-512 ( 200 hex ) on s/390 & 0-512,4096-4544,4604-5119 currently on z/Architecture
179−are used by the processor itself for holding such information as exception indications &
180−entry points for exceptions.
181−Bytes after 0xc00 hex are used by linux for per processor globals on s/390 & z/Architecture
182−( there is a gap on z/Architecture too currently between 0xc00 & 1000 which linux uses ).
175+It exists between the real addresses 0-4096 on s/390 and between 0-8192 on
176+z/Architecture and is exchanged with one page on s/390 or two pages on
177+z/Architecture in absolute storage by the set prefix instruction during Linux
178+startup.
179+This page is mapped to a different prefix for each processor in an SMP
180+configuration (assuming the OS designer is sane of course).
181+Bytes 0-512 (200 hex) on s/390 and 0-512, 4096-4544, 4604-5119 currently on
182+z/Architecture are used by the processor itself for holding such information
183+as exception indications and entry points for exceptions.
184+Bytes after 0xc00 hex are used by linux for per processor globals on s/390 and
185+z/Architecture (there is a gap on z/Architecture currently between 0xc00 and
186+0x1000, too, which is used by Linux).
183187 The closest thing to this on traditional architectures is the interrupt
184188 vector table. This is a good thing & does simplify some of the kernel coding
185189 however it means that we now cannot catch stray NULL pointers in the
@@ -192,26 +196,26 @@ Address Spaces on Intel Linux · 6 unmodified lines
192196
193197 The traditional Intel Linux is approximately mapped as follows forgive
194198 the ascii art.
195−0xFFFFFFFF 4GB Himem *****************
196− * *
197− * Kernel Space *
198− * *
199− ***************** ****************
200−User Space Himem (typically 0xC0000000 3GB )* User Stack * * *
201− ***************** * *
202− * Shared Libs * * Next Process *
203− ***************** * to *
204− * * <== * Run * <==
205− * User Program * * *
206− * Data BSS * * *
207− * Text * * *
208− * Sections * * *
209−0x00000000 ***************** ****************
210−
211−Now it is easy to see that on Intel it is quite easy to recognise a kernel address
212−as being one greater than user space himem ( in this case 0xC0000000).
213−& addresses of less than this are the ones in the current running program on this
214−processor ( if an smp box ).
199+0xFFFFFFFF 4GB Himem *****************
200+ * *
201+ * Kernel Space *
202+ * *
203+ ***************** ****************
204+User Space Himem * User Stack * * *
205+(typically 0xC0000000 3GB ) ***************** * *
206+ * Shared Libs * * Next Process *
207+ ***************** * to *
208+ * * <== * Run * <==
209+ * User Program * * *
210+ * Data BSS * * *
211+ * Text * * *
212+ * Sections * * *
213+0x00000000 ***************** ****************
214+
215+Now it is easy to see that on Intel it is quite easy to recognise a kernel
216+address as being one greater than user space himem (in this case 0xC0000000),
217+and addresses of less than this are the ones in the current running program on
218+this processor (if an smp box).
215219 If using the virtual machine ( VM ) as a debugger it is quite difficult to
216220 know which user process is running as the address space you are looking at
217221 could be from any process in the run queue.
@@ -247,8 +251,8 @@ Our addressing scheme is basically as follows: · 29 unmodified lines
247251 Himem 0x7fffffff 2GB on s/390 ***************** ****************
248252 currently 0x3ffffffffff (2^42)-1 * User Stack * * *
249253 on z/Architecture. ***************** * *
250− * Shared Libs * * *
251− ***************** * *
254+ * Shared Libs * * *
255+ ***************** * *
252256 * * * Kernel *
253257 * User Program * * *
254258 * Data BSS * * *
@@ -301,10 +305,10 @@ Virtual Addresses on s/390 & z/Architecture · 46 unmodified lines
301305 ===========================================
302306
303307 A virtual address on s/390 is made up of 3 parts
304−The SX ( segment index, roughly corresponding to the PGD & PMD in linux terminology )
305−being bits 1-11.
306−The PX ( page index, corresponding to the page table entry (pte) in linux terminology )
307−being bits 12-19.
308+The SX (segment index, roughly corresponding to the PGD & PMD in Linux
309+terminology) being bits 1-11.
310+The PX (page index, corresponding to the page table entry (pte) in Linux
311+terminology) being bits 12-19.
308312 The remaining bits BX (the byte index are the offset in the page )
309313 i.e. bits 20 to 31.
310314
@@ -368,9 +372,9 @@ each processor as follows. · 57 unmodified lines
368372 * ( 8K ) *
369373 16K aligned ************************
370374
371−What this means is that we don't need to dedicate any register or global variable
372−to point to the current running process & can retrieve it with the following
373−very simple construct for s/390 & one very similar for z/Architecture.
375+What this means is that we don't need to dedicate any register or global
376+variable to point to the current running process & can retrieve it with the
377+following very simple construct for s/390 & one very similar for z/Architecture.
374378
375379 static inline struct task_struct * get_current(void)
376380 {
@@ -403,8 +407,8 @@ Note: To follow stackframes requires a knowledge of C or Pascal & · 26 unmodified lines
403407 limited knowledge of one assembly language.
404408
405409 It should be noted that there are some differences between the
406−s/390 & z/Architecture stack layouts as the z/Architecture stack layout didn't have
407−to maintain compatibility with older linkage formats.
410+s/390 and z/Architecture stack layouts as the z/Architecture stack layout
411+didn't have to maintain compatibility with older linkage formats.
408412
409413 Glossary:
410414 ---------
@@ -440,7 +444,7 @@ The code generated by the compiler to return to the caller. · 29 unmodified lines
440444
441445 frameless-function
442446 A frameless function in Linux for s390 & z/Architecture is one which doesn't
443−need more than the register save area ( 96 bytes on s/390, 160 on z/Architecture )
447+need more than the register save area (96 bytes on s/390, 160 on z/Architecture)
444448 given to it by the caller.
445449 A frameless function never:
446450 1) Sets up a back chain.
@@ -588,8 +592,8 @@ A sample program with comments. · 141 unmodified lines
588592
589593 Comments on the function test
590594 -----------------------------
591−1) It didn't need to set up a pointer to the constant pool gpr13 as it isn't used
592−( :-( ).
595+1) It didn't need to set up a pointer to the constant pool gpr13 as it is not
596+used ( :-( ).
593597 2) This is a frameless function & no stack is bought.
594598 3) The compiler was clever enough to recognise that it could return the
595599 value in r2 as well as use it for the passed in parameter ( :-) ).
@@ -743,35 +747,34 @@ Debugging under VM · 147 unmodified lines
743747 Notes
744748 -----
745749 Addresses & values in the VM debugger are always hex never decimal
746−Address ranges are of the format <HexValue1>-<HexValue2> or <HexValue1>.<HexValue2>
747−e.g. The address range 0x2000 to 0x3000 can be described as 2000-3000 or 2000.1000
750+Address ranges are of the format <HexValue1>-<HexValue2> or
751+<HexValue1>.<HexValue2>
752+For example, the address range 0x2000 to 0x3000 can be described as 2000-3000
753+or 2000.1000
748754
749755 The VM Debugger is case insensitive.
750756
751−VM's strengths are usually other debuggers weaknesses you can get at any resource
752−no matter how sensitive e.g. memory management resources,change address translation
753−in the PSW. For kernel hacking you will reap dividends if you get good at it.
754−
755−The VM Debugger displays operators but not operands, probably because some
756−of it was written when memory was expensive & the programmer was probably proud that
757−it fitted into 2k of memory & the programmers & didn't want to shock hardcore VM'ers by
758−changing the interface :-), also the debugger displays useful information on the same line &
759−the author of the code probably felt that it was a good idea not to go over
760−the 80 columns on the screen.
761−
762−As some of you are probably in a panic now this isn't as unintuitive as it may seem
763−as the 390 instructions are easy to decode mentally & you can make a good guess at a lot
764−of them as all the operands are nibble ( half byte aligned ) & if you have an objdump listing
765−also it is quite easy to follow, if you don't have an objdump listing keep a copy of
766−the s/390 Reference Summary & look at between pages 2 & 7 or alternatively the
767−s/390 principles of operation.
757+VM's strengths are usually other debuggers weaknesses you can get at any
758+resource no matter how sensitive e.g. memory management resources, change
759+address translation in the PSW. For kernel hacking you will reap dividends if
760+you get good at it.
761+
762+The VM Debugger displays operators but not operands, and also the debugger
763+displays useful information on the same line as the author of the code probably
764+felt that it was a good idea not to go over the 80 columns on the screen.
765+This isn't as unintuitive as it may seem as the s/390 instructions are easy to
766+decode mentally and you can make a good guess at a lot of them as all the
767+operands are nibble (half byte aligned).
768+So if you have an objdump listing by hand, it is quite easy to follow, and if
769+you don't have an objdump listing keep a copy of the s/390 Reference Summary
770+or alternatively the s/390 principles of operation next to you.
768771 e.g. even I can guess that
769772 0001AFF8' LR 180F CC 0
770773 is a ( load register ) lr r0,r15
771774
772−Also it is very easy to tell the length of a 390 instruction from the 2 most significant
773−bits in the instruction ( not that this info is really useful except if you are trying to
774−make sense of a hexdump of code ).
775+Also it is very easy to tell the length of a 390 instruction from the 2 most
776+significant bits in the instruction (not that this info is really useful except
777+if you are trying to make sense of a hexdump of code).
775778 Here is a table
776779 Bits Instruction Length
777780 ------------------------------------------
@@ -780,9 +783,6 @@ Bits Instruction Length · 2 unmodified lines
780783 10 4 Bytes
781784 11 6 Bytes
782785
783−
784−
785−
786786 The debugger also displays other useful info on the same line such as the
787787 addresses being operated on destination addresses of branches & condition codes.
788788 e.g.
@@ -853,8 +853,8 @@ Displaying & modifying Registers · 64 unmodified lines
853853 --------------------------------
854854 D G will display all the gprs
855855 Adding a extra G to all the commands is necessary to access the full 64 bit
856−content in VM on z/Architecture obviously this isn't required for access registers
857−as these are still 32 bit.
856+content in VM on z/Architecture. Obviously this isn't required for access
857+registers as these are still 32 bit.
858858 e.g. DGG instead of DG
859859 D X will display all the control registers
860860 D AR will display all the access registers
@@ -870,10 +870,11 @@ Displaying Memory · 9 unmodified lines
870870 -----------------
871871 To display memory mapped using the current PSW's mapping try
872872 D <range>
873−To make VM display a message each time it hits a particular address & continue try
873+To make VM display a message each time it hits a particular address and
874+continue try
874875 D I<range> will disassemble/display a range of instructions.
875876 ST addr 32 bit word will store a 32 bit aligned address
876−D T<range> will display the EBCDIC in an address ( if you are that way inclined )
877+D T<range> will display the EBCDIC in an address (if you are that way inclined)
877878 D R<range> will display real addresses ( without DAT ) but with prefixing.
878879 There are other complex options to display if you need to get at say home space
879880 but are in primary space the easiest thing to do is to temporarily
@@ -884,8 +885,8 @@ restore it. · 4 unmodified lines
884885
885886 Hints
886887 -----
887−If you want to issue a debugger command without halting your virtual machine with the
888−PA1 key try prefixing the command with #CP e.g.
888+If you want to issue a debugger command without halting your virtual machine
889+with the PA1 key try prefixing the command with #CP e.g.
889890 #cp tr i pswa 2000
890891 also suffixing most debugger commands with RUN will cause them not
891892 to stop just display the mnemonic at the current instruction on the console.
@@ -903,9 +904,10 @@ This sends a message to your own console each time do_signal is entered. · 11 unmodified lines
903904 script with breakpoints on every kernel procedure, this isn't a good idea
904905 because there are thousands of these routines & VM can only set 255 breakpoints
905906 at a time so you nearly had to spend as long pruning the file down as you would
906−entering the msg's by hand ),however, the trick might be useful for a single object file.
907−On linux'es 3270 emulator x3270 there is a very useful option under the file ment
908−Save Screens In File this is very good of keeping a copy of traces.
907+entering the msgs by hand), however, the trick might be useful for a single
908+object file. In the 3270 terminal emulator x3270 there is a very useful option
909+in the file menu called "Save Screen In File" - this is very good for keeping a
910+copy of traces.
909911
910912 From CMS help <command name> will give you online help on a particular command.
911913 e.g.
@@ -920,7 +922,8 @@ SET PF9 IMM B · 8 unmodified lines
920922 This does a single step in VM on pressing F8.
921923 SET PF10 ^
922924 This sets up the ^ key.
923−which can be used for ^c (ctrl-c),^z (ctrl-z) which can't be typed directly into some 3270 consoles.
925+which can be used for ^c (ctrl-c),^z (ctrl-z) which can't be typed directly
926+into some 3270 consoles.
924927 SET PF11 ^-
925928 This types the starting keystrokes for a sysrq see SysRq below.
926929 SET PF12 RETRIEVE
@@ -1014,8 +1017,8 @@ Tracing Program Exceptions · 87 unmodified lines
10141017 --------------------------
10151018 If you get a crash which says something like
10161019 illegal operation or specification exception followed by a register dump
1017−You can restart linux & trace these using the tr prog <range or value> trace option.
1018−
1020+You can restart linux & trace these using the tr prog <range or value> trace
1021+option.
10191022
10201023
10211024 The most common ones you will normally be tracing for is
@@ -1057,9 +1060,10 @@ TR GOTO INITIAL · 35 unmodified lines
10571060
10581061 Tracing linux syscalls under VM
10591062 -------------------------------
1060−Syscalls are implemented on Linux for S390 by the Supervisor call instruction (SVC) there 256
1061−possibilities of these as the instruction is made up of a 0xA opcode & the second byte being
1062−the syscall number. They are traced using the simple command.
1063+Syscalls are implemented on Linux for S390 by the Supervisor call instruction
1064+(SVC). There 256 possibilities of these as the instruction is made up of a 0xA
1065+opcode and the second byte being the syscall number. They are traced using the
1066+simple command:
10631067 TR SVC <Optional value or range>
10641068 the syscalls are defined in linux/arch/s390/include/asm/unistd.h
10651069 e.g. to trace all file opens just do
@@ -1070,12 +1074,12 @@ SMP Specific commands · 4 unmodified lines
10701074 ---------------------
10711075 To find out how many cpus you have
10721076 Q CPUS displays all the CPU's available to your virtual machine
1073−To find the cpu that the current cpu VM debugger commands are being directed at do
1074−Q CPU to change the current cpu VM debugger commands are being directed at do
1077+To find the cpu that the current cpu VM debugger commands are being directed at
1078+do Q CPU to change the current cpu VM debugger commands are being directed at do
10751079 CPU <desired cpu no>
10761080
1077−On a SMP guest issue a command to all CPUs try prefixing the command with cpu all.
1078−To issue a command to a particular cpu try cpu <cpu number> e.g.
1081+On a SMP guest issue a command to all CPUs try prefixing the command with cpu
1082+all. To issue a command to a particular cpu try cpu <cpu number> e.g.
10791083 CPU 01 TR I R 2000.3000
10801084 If you are running on a guest with several cpus & you have a IO related problem
10811085 & cannot follow the flow of code but you know it isn't smp related.
@@ -1101,10 +1105,10 @@ D TX0.100 · 19 unmodified lines
11011105
11021106 Alternatively
11031107 =============
1104−Under older VM debuggers ( I love EBDIC too ) you can use this little program I wrote which
1105−will convert a command line of hex digits to ascii text which can be compiled under linux &
1106−you can copy the hex digits from your x3270 terminal to your xterm if you are debugging
1107−from a linuxbox.
1108+Under older VM debuggers (I love EBDIC too) you can use following little
1109+program which converts a command line of hex digits to ascii text. It can be
1110+compiled under linux and you can copy the hex digits from your x3270 terminal
1111+to your xterm if you are debugging from a linuxbox.
11081112
11091113 This is quite useful when looking at a parameter passed in as a text string
11101114 under VM ( unless you are good at decoding ASCII in your head ).
@@ -1114,14 +1118,14 @@ TR SVC 5 · 3 unmodified lines
11141118 We have stopped at a breakpoint
11151119 000151B0' SVC 0A05 -> 0001909A' CC 0
11161120
1117−D 20.8 to check the SVC old psw in the prefix area & see was it from userspace
1118−( for the layout of the prefix area consult P18 of the s/390 390 Reference Summary
1119−if you have it available ).
1121+D 20.8 to check the SVC old psw in the prefix area and see was it from userspace
1122+(for the layout of the prefix area consult the "Fixed Storage Locations"
1123+chapter of the s/390 Reference Summary if you have it available).
11201124 V00000020 070C2000 800151B2
11211125 The problem state bit wasn't set & it's also too early in the boot sequence
11221126 for it to be a userspace SVC if it was we would have to temporarily switch the
1123−psw to user space addressing so we could get at the first parameter of the open in
1124−gpr2.
1127+psw to user space addressing so we could get at the first parameter of the open
1128+in gpr2.
11251129 Next do a
11261130 D G2
11271131 GPR 2 = 00014CB4
@@ -1208,9 +1212,9 @@ Here are the tricks I use 9 out of 10 times it works pretty well, · 80 unmodified lines
12081212
12091213 When your backchain reaches a dead end
12101214 --------------------------------------
1211−This can happen when an exception happens in the kernel & the kernel is entered twice
1212−if you reach the NULL pointer at the end of the back chain you should be
1213−able to sniff further back if you follow the following tricks.
1215+This can happen when an exception happens in the kernel and the kernel is
1216+entered twice. If you reach the NULL pointer at the end of the back chain you
1217+should be able to sniff further back if you follow the following tricks.
12141218 1) A kernel address should be easy to recognise since it is in
12151219 primary space & the problem state bit isn't set & also
12161220 The Hi bit of the address is set.
@@ -1260,8 +1264,8 @@ V000FFFD0 00010400 80010802 8001085A 000FFFA0 · 43 unmodified lines
12601264
12611265 our 3rd return address is 8001085A
12621266
1263−as the 04B52002 looks suspiciously like rubbish it is fair to assume that the kernel entry routines
1264−for the sake of optimisation don't set up a backchain.
1267+as the 04B52002 looks suspiciously like rubbish it is fair to assume that the
1268+kernel entry routines for the sake of optimisation don't set up a backchain.
12651269
12661270 now look at System.map to see if the addresses make any sense.
12671271
@@ -1289,67 +1293,75 @@ Congrats you've done your first backchain. · 21 unmodified lines
12891293 s/390 & z/Architecture IO Overview
12901294 ==================================
12911295
1292−I am not going to give a course in 390 IO architecture as this would take me quite a
1293−while & I'm no expert. Instead I'll give a 390 IO architecture summary for Dummies if you have
1294−the s/390 principles of operation available read this instead. If nothing else you may find a few
1295−useful keywords in here & be able to use them on a web search engine like altavista to find
1296−more useful information.
1296+I am not going to give a course in 390 IO architecture as this would take me
1297+quite a while and I'm no expert. Instead I'll give a 390 IO architecture
1298+summary for Dummies. If you have the s/390 principles of operation available
1299+read this instead. If nothing else you may find a few useful keywords in here
1300+and be able to use them on a web search engine to find more useful information.
12971301
12981302 Unlike other bus architectures modern 390 systems do their IO using mostly
1299−fibre optics & devices such as tapes & disks can be shared between several mainframes,
1300−also S390 can support up to 65536 devices while a high end PC based system might be choking
1301−with around 64. Here is some of the common IO terminology
1303+fibre optics and devices such as tapes and disks can be shared between several
1304+mainframes. Also S390 can support up to 65536 devices while a high end PC based
1305+system might be choking with around 64.
13021306
1303−Subchannel:
1304−This is the logical number most IO commands use to talk to an IO device there can be up to
1305−0x10000 (65536) of these in a configuration typically there is a few hundred. Under VM
1306−for simplicity they are allocated contiguously, however on the native hardware they are not
1307−they typically stay consistent between boots provided no new hardware is inserted or removed.
1308−Under Linux for 390 we use these as IRQ's & also when issuing an IO command (CLEAR SUBCHANNEL,
1309−HALT SUBCHANNEL,MODIFY SUBCHANNEL,RESUME SUBCHANNEL,START SUBCHANNEL,STORE SUBCHANNEL &
1310−TEST SUBCHANNEL ) we use this as the ID of the device we wish to talk to, the most
1311−important of these instructions are START SUBCHANNEL ( to start IO ), TEST SUBCHANNEL ( to check
1312−whether the IO completed successfully ), & HALT SUBCHANNEL ( to kill IO ), a subchannel
1313−can have up to 8 channel paths to a device this offers redundancy if one is not available.
1307+Here is some of the common IO terminology:
13141308
1309+Subchannel:
1310+This is the logical number most IO commands use to talk to an IO device. There
1311+can be up to 0x10000 (65536) of these in a configuration, typically there are a
1312+few hundred. Under VM for simplicity they are allocated contiguously, however
1313+on the native hardware they are not. They typically stay consistent between
1314+boots provided no new hardware is inserted or removed.
1315+Under Linux for s390 we use these as IRQ's and also when issuing an IO command
1316+(CLEAR SUBCHANNEL, HALT SUBCHANNEL, MODIFY SUBCHANNEL, RESUME SUBCHANNEL,
1317+START SUBCHANNEL, STORE SUBCHANNEL and TEST SUBCHANNEL). We use this as the ID
1318+of the device we wish to talk to. The most important of these instructions are
1319+START SUBCHANNEL (to start IO), TEST SUBCHANNEL (to check whether the IO
1320+completed successfully) and HALT SUBCHANNEL (to kill IO). A subchannel can have
1321+up to 8 channel paths to a device, this offers redundancy if one is not
1322+available.
13151323
13161324 Device Number:
1317−This number remains static & Is closely tied to the hardware, there are 65536 of these
1318−also they are made up of a CHPID ( Channel Path ID, the most significant 8 bits )
1319−& another lsb 8 bits. These remain static even if more devices are inserted or removed
1320−from the hardware, there is a 1 to 1 mapping between Subchannels & Device Numbers provided
1321−devices aren't inserted or removed.
1325+This number remains static and is closely tied to the hardware. There are 65536
1326+of these, made up of a CHPID (Channel Path ID, the most significant 8 bits) and
1327+another lsb 8 bits. These remain static even if more devices are inserted or
1328+removed from the hardware. There is a 1 to 1 mapping between subchannels and
1329+device numbers, provided devices aren't inserted or removed.
13221330
13231331 Channel Control Words:
1324−CCWS are linked lists of instructions initially pointed to by an operation request block (ORB),
1325−which is initially given to Start Subchannel (SSCH) command along with the subchannel number
1326−for the IO subsystem to process while the CPU continues executing normal code.
1327−These come in two flavours, Format 0 ( 24 bit for backward )
1328−compatibility & Format 1 ( 31 bit ). These are typically used to issue read & write
1329−( & many other instructions ) they consist of a length field & an absolute address field.
1330−For each IO typically get 1 or 2 interrupts one for channel end ( primary status ) when the
1331−channel is idle & the second for device end ( secondary status ) sometimes you get both
1332−concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each interrupt,
1333−from which you receive an Interruption response block (IRB). If you get channel & device end
1334−status in the IRB without channel checks etc. your IO probably went okay. If you didn't you
1335−probably need a doctor to examine the IRB & extended status word etc.
1332+CCWs are linked lists of instructions initially pointed to by an operation
1333+request block (ORB), which is initially given to Start Subchannel (SSCH)
1334+command along with the subchannel number for the IO subsystem to process
1335+while the CPU continues executing normal code.
1336+CCWs come in two flavours, Format 0 (24 bit for backward compatibility) and
1337+Format 1 (31 bit). These are typically used to issue read and write (and many
1338+other) instructions. They consist of a length field and an absolute address
1339+field.
1340+Each IO typically gets 1 or 2 interrupts, one for channel end (primary status)
1341+when the channel is idle, and the second for device end (secondary status).
1342+Sometimes you get both concurrently. You check how the IO went on by issuing a
1343+TEST SUBCHANNEL at each interrupt, from which you receive an Interruption
1344+response block (IRB). If you get channel and device end status in the IRB
1345+without channel checks etc. your IO probably went okay. If you didn't you
1346+probably need to examine the IRB, extended status word etc.
13361347 If an error occurs, more sophisticated control units have a facility known as
1337−concurrent sense this means that if an error occurs Extended sense information will
1338−be presented in the Extended status word in the IRB if not you have to issue a
1339−subsequent SENSE CCW command after the test subchannel.
1348+concurrent sense. This means that if an error occurs Extended sense information
1349+will be presented in the Extended status word in the IRB. If not you have to
1350+issue a subsequent SENSE CCW command after the test subchannel.
13401351
13411352
1342−TPI( Test pending interrupt) can also be used for polled IO but in multitasking multiprocessor
1343−systems it isn't recommended except for checking special cases ( i.e. non looping checks for
1344−pending IO etc. ).
1353+TPI (Test pending interrupt) can also be used for polled IO, but in
1354+multitasking multiprocessor systems it isn't recommended except for
1355+checking special cases (i.e. non looping checks for pending IO etc.).
13451356
1346−Store Subchannel & Modify Subchannel can be used to examine & modify operating characteristics
1347−of a subchannel ( e.g. channel paths ).
1357+Store Subchannel and Modify Subchannel can be used to examine and modify
1358+operating characteristics of a subchannel (e.g. channel paths).
13481359
13491360 Other IO related Terms:
13501361 Sysplex: S390's Clustering Technology
1351−QDIO: S390's new high speed IO architecture to support devices such as gigabit ethernet,
1352−this architecture is also designed to be forward compatible with up & coming 64 bit machines.
1362+QDIO: S390's new high speed IO architecture to support devices such as gigabit
1363+ethernet, this architecture is also designed to be forward compatible with
1364+upcoming 64 bit machines.
13531365
13541366
13551367 General Concepts
@@ -1406,37 +1418,40 @@ sometimes called Bus-and Tag & sometimes Original Equipment Manufacturers · 50 unmodified lines
14061418 Interface (OEMI).
14071419
14081420 This byte wide Parallel channel path/bus has parity & data on the "Bus" cable
1409−& control lines on the "Tag" cable. These can operate in byte multiplex mode for
1410−sharing between several slow devices or burst mode & monopolize the channel for the
1411−whole burst. Up to 256 devices can be addressed on one of these cables. These cables are
1412−about one inch in diameter. The maximum unextended length supported by these cables is
1413−125 Meters but this can be extended up to 2km with a fibre optic channel extended
1414−such as a 3044. The maximum burst speed supported is 4.5 megabytes per second however
1415−some really old processors support only transfer rates of 3.0, 2.0 & 1.0 MB/sec.
1421+and control lines on the "Tag" cable. These can operate in byte multiplex mode
1422+for sharing between several slow devices or burst mode and monopolize the
1423+channel for the whole burst. Up to 256 devices can be addressed on one of these
1424+cables. These cables are about one inch in diameter. The maximum unextended
1425+length supported by these cables is 125 Meters but this can be extended up to
1426+2km with a fibre optic channel extended such as a 3044. The maximum burst speed
1427+supported is 4.5 megabytes per second. However, some really old processors
1428+support only transfer rates of 3.0, 2.0 & 1.0 MB/sec.
14161429 One of these paths can be daisy chained to up to 8 control units.
14171430
14181431
14191432 ESCON if fibre optic it is also called FICON
1420−Was introduced by IBM in 1990. Has 2 fibre optic cables & uses either leds or lasers
1421−for communication at a signaling rate of up to 200 megabits/sec. As 10bits are transferred
1422−for every 8 bits info this drops to 160 megabits/sec & to 18.6 Megabytes/sec once
1423−control info & CRC are added. ESCON only operates in burst mode.
1433+Was introduced by IBM in 1990. Has 2 fibre optic cables and uses either leds or
1434+lasers for communication at a signaling rate of up to 200 megabits/sec. As
1435+10bits are transferred for every 8 bits info this drops to 160 megabits/sec
1436+and to 18.6 Megabytes/sec once control info and CRC are added. ESCON only
1437+operates in burst mode.
14241438
1425−ESCONs typical max cable length is 3km for the led version & 20km for the laser version
1426−known as XDF ( extended distance facility ). This can be further extended by using an
1427−ESCON director which triples the above mentioned ranges. Unlike Bus & Tag as ESCON is
1428−serial it uses a packet switching architecture the standard Bus & Tag control protocol
1429−is however present within the packets. Up to 256 devices can be attached to each control
1430−unit that uses one of these interfaces.
1439+ESCONs typical max cable length is 3km for the led version and 20km for the
1440+laser version known as XDF (extended distance facility). This can be further
1441+extended by using an ESCON director which triples the above mentioned ranges.
1442+Unlike Bus & Tag as ESCON is serial it uses a packet switching architecture,
1443+the standard Bus & Tag control protocol is however present within the packets.
1444+Up to 256 devices can be attached to each control unit that uses one of these
1445+interfaces.
14311446
14321447 Common 390 Devices include:
14331448 Network adapters typically OSA2,3172's,2116's & OSA-E gigabit ethernet adapters,
1434−Consoles 3270 & 3215 ( a teletype emulated under linux for a line mode console ).
1449+Consoles 3270 & 3215 (a teletype emulated under linux for a line mode console).
14351450 DASD's direct access storage devices ( otherwise known as hard disks ).
14361451 Tape Drives.
14371452 CTC ( Channel to Channel Adapters ),
14381453 ESCON or Parallel Cables used as a very high speed serial link
1439−between 2 machines. We use 2 cables under linux to do a bi-directional serial link.
1454+between 2 machines.
14401455
14411456
14421457 Debugging IO on s/390 & z/Architecture under VM
@@ -1475,9 +1490,9 @@ or the halt subchannels · 32 unmodified lines
14751490 or TR HSCH 7C08-7C09
14761491 MSCH's ,STSCH's I think you can guess the rest
14771492
1478−Ingo's favourite trick is tracing all the IO's & CCWS & spooling them into the reader of another
1479−VM guest so he can ftp the logfile back to his own machine.I'll do a small bit of this & give you
1480− a look at the output.
1493+A good trick is tracing all the IO's and CCWS and spooling them into the reader
1494+of another VM guest so he can ftp the logfile back to his own machine. I'll do
1495+a small bit of this and give you a look at the output.
14811496
14821497 1) Spool stdout to VM reader
14831498 SP PRT TO (another vm guest ) or * for the local vm guest
@@ -1593,8 +1608,8 @@ undisplay : undo's display's · 109 unmodified lines
15931608
15941609 info breakpoints: shows all current breakpoints
15951610
1596−info stack: shows stack back trace ( if this doesn't work too well, I'll show you the
1597−stacktrace by hand below ).
1611+info stack: shows stack back trace (if this doesn't work too well, I'll show
1612+you the stacktrace by hand below).
15981613
15991614 info locals: displays local variables.
16001615
@@ -1619,7 +1634,8 @@ next: like step except this will not step into subroutines · 18 unmodified lines
16191634 stepi: steps a single machine code instruction.
16201635 e.g. stepi 100
16211636
1622−nexti: steps a single machine code instruction but will not step into subroutines.
1637+nexti: steps a single machine code instruction but will not step into
1638+subroutines.
16231639
16241640 finish: will run until exit of the current routine
16251641
@@ -1721,7 +1737,8 @@ e.g. · 95 unmodified lines
17211737 outputs:
17221738 $1 = 11
17231739
1724−You might now be thinking that the line above didn't work, something extra had to be done.
1740+You might now be thinking that the line above didn't work, something extra had
1741+to be done.
17251742 (gdb) call fflush(stdout)
17261743 hello world$2 = 0
17271744 As an aside the debugger also calls malloc & free under the hood
@@ -1804,26 +1821,17 @@ man gdb or info gdb. · 76 unmodified lines
18041821 core dumps
18051822 ----------
18061823 What a core dump ?,
1807−A core dump is a file generated by the kernel ( if allowed ) which contains the registers,
1808−& all active pages of the program which has crashed.
1809−From this file gdb will allow you to look at the registers & stack trace & memory of the
1810−program as if it just crashed on your system, it is usually called core & created in the
1811−current working directory.
1812−This is very useful in that a customer can mail a core dump to a technical support department
1813−& the technical support department can reconstruct what happened.
1814−Provided they have an identical copy of this program with debugging symbols compiled in &
1815−the source base of this build is available.
1816−In short it is far more useful than something like a crash log could ever hope to be.
1817−
1818−In theory all that is missing to restart a core dumped program is a kernel patch which
1819−will do the following.
1820−1) Make a new kernel task structure
1821−2) Reload all the dumped pages back into the kernel's memory management structures.
1822−3) Do the required clock fixups
1823−4) Get all files & network connections for the process back into an identical state ( really difficult ).
1824−5) A few more difficult things I haven't thought of.
1825−
1826−
1824+A core dump is a file generated by the kernel (if allowed) which contains the
1825+registers and all active pages of the program which has crashed.
1826+From this file gdb will allow you to look at the registers, stack trace and
1827+memory of the program as if it just crashed on your system. It is usually
1828+called core and created in the current working directory.
1829+This is very useful in that a customer can mail a core dump to a technical
1830+support department and the technical support department can reconstruct what
1831+happened. Provided they have an identical copy of this program with debugging
1832+symbols compiled in and the source base of this build is available.
1833+In short it is far more useful than something like a crash log could ever hope
1834+to be.
18271835
18281836 Why have I never seen one ?.
18291837 Probably because you haven't used the command
@@ -1868,7 +1876,7 @@ Breakpoint 2 at 0x4d87a4: file top.c, line 2609. · 38 unmodified lines
18681876 #3 0x5167e6 in readline_internal_char () at readline.c:454
18691877 #4 0x5168ee in readline_internal_charloop () at readline.c:507
18701878 #5 0x51692c in readline_internal () at readline.c:521
1871−#6 0x5164fe in readline (prompt=0x7ffff810 "\177ÿøx\177ÿ÷Ø\177ÿøxÀ")
1879+#6 0x5164fe in readline (prompt=0x7ffff810)
18721880 at readline.c:349
18731881 #7 0x4d7a8a in command_line_input (prompt=0x564420 "(gdb) ", repeat=1,
18741882 annotation_suffix=0x4d6b44 "prompt") at top.c:2091
@@ -1929,8 +1937,8 @@ cat /proc/sys/net/ipv4/ip_forward · 54 unmodified lines
19291937 On my machine now outputs
19301938 1
19311939 IP forwarding is on.
1932−There is a lot of useful info in here best found by going in & having a look around,
1933−so I'll take you through some entries I consider important.
1940+There is a lot of useful info in here best found by going in and having a look
1941+around, so I'll take you through some entries I consider important.
19341942
19351943 All the processes running on the machine have their own entry defined by
19361944 /proc/<pid>
@@ -2060,7 +2068,8 @@ if the device doesn't say up · 123 unmodified lines
20602068 try
20612069 /etc/rc.d/init.d/network start
20622070 ( this starts the network stack & hopefully calls ifconfig tr0 up ).
2063−ifconfig looks at the output of /proc/net/dev & presents it in a more presentable form
2071+ifconfig looks at the output of /proc/net/dev and presents it in a more
2072+presentable form.
20642073 Now ping the device from a machine in the same subnet.
20652074 if the RX packets count & TX packets counts don't increment you probably
20662075 have problems.
@@ -2086,34 +2095,6 @@ of the device. · 19 unmodified lines
20862095 See the manpage chandev.8 &type cat /proc/chandev for more info.
20872096
20882097
2089−
2090−Starting points for debugging scripting languages etc.
2091−======================================================
2092−
2093−bash/sh
2094−
2095−bash -x <scriptname>
2096−e.g. bash -x /usr/bin/bashbug
2097−displays the following lines as it executes them.
2098−+ MACHINE=i586
2099−+ OS=linux-gnu
2100−+ CC=gcc
2101−+ CFLAGS= -DPROGRAM='bash' -DHOSTTYPE='i586' -DOSTYPE='linux-gnu' -DMACHTYPE='i586-pc-linux-gnu' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./lib -O2 -pipe
2102−+ RELEASE=2.01
2103−+ PATCHLEVEL=1
2104−+ RELSTATUS=release
2105−+ MACHTYPE=i586-pc-linux-gnu
2106−
2107−perl -d <scriptname> runs the perlscript in a fully interactive debugger
2108−<like gdb>.
2109−Type 'h' in the debugger for help.
2110−
2111−for debugging java type
2112−jdb <filename> another fully interactive gdb style debugger.
2113−& type ? in the debugger for help.
2114−
2115−
2116−
21172098 SysRq
21182099 =====
21192100 This is now supported by linux for s/390 & z/Architecture.
Documentation/scheduler/completion.txt+236−0
@@ -0,0 +1,236 @@
1+completions - wait for completion handling
2+==========================================
3+
4+This document was originally written based on 3.18.0 (linux-next)
5+
6+Introduction:
7+-------------
8+
9+If you have one or more threads of execution that must wait for some process
10+to have reached a point or a specific state, completions can provide a race
11+free solution to this problem. Semantically they are somewhat like a
12+pthread_barriers and have similar use-cases.
13+
14+Completions are a code synchronization mechanism that is preferable to any
15+misuse of locks. Any time you think of using yield() or some quirky
16+msleep(1); loop to allow something else to proceed, you probably want to
17+look into using one of the wait_for_completion*() calls instead. The
18+advantage of using completions is clear intent of the code but also more
19+efficient code as both threads can continue until the result is actually
20+needed.
21+
22+Completions are built on top of the generic event infrastructure in Linux,
23+with the event reduced to a simple flag appropriately called "done" in
24+struct completion, that tells the waiting threads of execution if they
25+can continue safely.
26+
27+As completions are scheduling related the code is found in
28+kernel/sched/completion.c - for details on completion design and
29+implementation see completions-design.txt
30+
31+
32+Usage:
33+------
34+
35+There are three parts to the using completions, the initialization of the
36+struct completion, the waiting part through a call to one of the variants of
37+wait_for_completion() and the signaling side through a call to complete(),
38+or complete_all(). Further there are some helper functions for checking the
39+state of completions.
40+
41+To use completions one needs to include <linux/completion.h> and
42+create a variable of type struct completion. The structure used for
43+handling of completions is:
44+
45+ struct completion {
46+ unsigned int done;
47+ wait_queue_head_t wait;
48+ };
49+
50+providing the wait queue to place tasks on for waiting and the flag for
51+indicating the state of affairs.
52+
53+Completions should be named to convey the intent of the waiter. A good
54+example is:
55+
56+ wait_for_completion(&early_console_added);
57+
58+ complete(&early_console_added);
59+
60+Good naming (as always) helps code readability.
61+
62+
63+Initializing completions:
64+-------------------------
65+
66+Initialization of dynamically allocated completions, often embedded in
67+other structures, is done with:
68+
69+ void init_completion(&done);
70+
71+Initialization is accomplished by initializing the wait queue and setting
72+the default state to "not available", that is, "done" is set to 0.
73+
74+The re-initialization function, reinit_completion(), simply resets the
75+done element to "not available", thus again to 0, without touching the
76+wait queue. Calling init_completion() on the same completions object is
77+most likely a bug as it re-initializes the queue to an empty queue and
78+enqueued tasks could get "lost" - use reinit_completion() in that case.
79+
80+For static declaration and initialization, macros are available. These are:
81+
82+ static DECLARE_COMPLETION(setup_done)
83+
84+used for static declarations in file scope. Within functions the static
85+initialization should always use:
86+
87+ DECLARE_COMPLETION_ONSTACK(setup_done)
88+
89+suitable for automatic/local variables on the stack and will make lockdep
90+happy. Note also that one needs to making *sure* the completion passt to
91+work threads remains in-scope, and no references remain to on-stack data
92+when the initiating function returns.
93+
94+
95+Waiting for completions:
96+------------------------
97+
98+For a thread of execution to wait for some concurrent work to finish, it
99+calls wait_for_completion() on the initialized completion structure.
100+A typical usage scenario is:
101+
102+ structure completion setup_done;
103+ init_completion(&setup_done);
104+ initialze_work(...,&setup_done,...)
105+
106+ /* run non-dependent code */ /* do setup */
107+
108+ wait_for_completion(&seupt_done); complete(setup_done)
109+
110+This is not implying any temporal order of wait_for_completion() and the
111+call to complete() - if the call to complete() happened before the call
112+to wait_for_completion() then the waiting side simply will continue
113+immediately as all dependencies are satisfied.
114+
115+Note that wait_for_completion() is calling spin_lock_irq/spin_unlock_irq
116+so it can only be called safely when you know that interrupts are enabled.
117+Calling it from hard-irq context will result in hard to detect spurious
118+enabling of interrupts.
119+
120+wait_for_completion():
121+
122+ void wait_for_completion(struct completion *done):
123+
124+The default behavior is to wait without a timeout and mark the task as
125+uninterruptible. wait_for_completion() and its variants are only safe
126+in soft-interrupt or process context but not in hard-irq context.
127+As all variants of wait_for_completion() can (obviously) block for a long
128+time, you probably don't want to call this with held locks - see also
129+try_wait_for_completion() below.
130+
131+
132+Variants available:
133+-------------------
134+
135+The below variants all return status and this status should be checked in
136+most(/all) cases - in cases where the status is deliberately not checked you
137+probably want to make a note explaining this (e.g. see
138+arch/arm/kernel/smp.c:__cpu_up()).
139+
140+A common problem that occurs is to have unclean assignment of return types,
141+so care should be taken with assigning return-values to variables of proper
142+type. Checking for the specific meaning of return values also has been found
143+to be quite inaccurate e.g. constructs like
144+if(!wait_for_completion_interruptible_timeout(...)) would execute the same
145+code path for successful completion and for the interrupted case - which is
146+probably not what you want.
147+
148+ int wait_for_completion_interruptible(struct completion *done)
149+
150+marking the task TASK_INTERRUPTIBLE. If a signal was received while waiting.
151+It will return -ERESTARTSYS and 0 otherwise.
152+
153+ unsigned long wait_for_completion_timeout(struct completion *done,
154+ unsigned long timeout)
155+
156+The task is marked as TASK_UNINTERRUPTIBLE and will wait at most timeout
157+(in jiffies). If timeout occurs it return 0 else the remaining time in
158+jiffies (but at least 1). Timeouts are preferably passed by msecs_to_jiffies()
159+or usecs_to_jiffies(). If the returned timeout value is deliberately ignored
160+a comment should probably explain why (e.g. see drivers/mfd/wm8350-core.c
161+wm8350_read_auxadc())
162+
163+ long wait_for_completion_interruptible_timeout(
164+ struct completion *done, unsigned long timeout)
165+
166+passing a timeout in jiffies and marking the task as TASK_INTERRUPTIBLE. If a
167+signal was received it will return -ERESTARTSYS, 0 if completion timed-out and
168+the remaining time in jiffies if completion occurred.
169+
170+Further variants include _killable which passes TASK_KILLABLE as the
171+designated tasks state and will return a -ERESTARTSYS if interrupted or
172+else 0 if completions was achieved as well as a _timeout variant.
173+
174+ long wait_for_completion_killable(struct completion *done)
175+ long wait_for_completion_killable_timeout(struct completion *done,
176+ unsigned long timeout)
177+
178+The _io variants wait_for_completion_io behave the same as the non-_io
179+variants, except for accounting waiting time as waiting on IO, which has
180+an impact on how scheduling is calculated.
181+
182+ void wait_for_completion_io(struct completion *done)
183+ unsigned long wait_for_completion_io_timeout(struct completion *done
184+ unsigned long timeout)
185+
186+
187+Signaling completions:
188+----------------------
189+
190+A thread of execution that wants to signal that the conditions for
191+continuation have been achieved calls complete() to signal exactly one
192+of the waiters that it can continue.
193+
194+ void complete(struct completion *done)
195+
196+or calls complete_all to signal all current and future waiters.
197+
198+ void complete_all(struct completion *done)
199+
200+The signaling will work as expected even if completions are signaled before
201+a thread starts waiting. This is achieved by the waiter "consuming"
202+(decrementing) the done element of struct completion. Waiting threads
203+wakeup order is the same in which they were enqueued (FIFO order).
204+
205+If complete() is called multiple times then this will allow for that number
206+of waiters to continue - each call to complete() will simply increment the
207+done element. Calling complete_all() multiple times is a bug though. Both
208+complete() and complete_all() can be called in hard-irq context safely.
209+
210+There only can be one thread calling complete() or complete_all() on a
211+particular struct completions at any time - serialized through the wait
212+queue spinlock. Any such concurrent calls to complete() or complete_all()
213+probably are a design bug.
214+
215+Signaling completion from hard-irq context is fine as it will appropriately
216+lock with spin_lock_irqsave/spin_unlock_irqrestore.
217+
218+
219+try_wait_for_completion()/completion_done():
220+--------------------------------------------
221+
222+The try_wait_for_completion will not put the thread on the wait queue but
223+rather returns false if it would need to enqueue (block) the thread, else it
224+consumes any posted completions and returns true.
225+
226+ bool try_wait_for_completion(struct completion *done)
227+
228+Finally to check state of a completions without changing it in any way is
229+provided by completion_done() returning false if there are any posted
230+completion that was not yet consumed by waiters implying that there are
231+waiters and true otherwise;
232+
233+ bool completion_done(struct completion *done)
234+
235+Both try_wait_for_completion() and completion_done() are safe to be called in
236+hard-irq context.
Documentation/security/keys.txt+0−2
@@ -323,8 +323,6 @@ about the status of the key service: · 322 unmodified lines
323323 U Under construction by callback to userspace
324324 N Negative key
325325
326− This file must be enabled at kernel configuration time as it allows anyone
327− to list the keys database.
328326
329327 (*) /proc/key-users
330328
Documentation/stable_kernel_rules.txt+34−10
@@ -32,18 +32,42 @@ Procedure for submitting patches to the -stable tree: · 31 unmodified lines
3232 - If the patch covers files in net/ or drivers/net please follow netdev stable
3333 submission guidelines as described in
3434 Documentation/networking/netdev-FAQ.txt
35− - Send the patch, after verifying that it follows the above rules, to
36− stable@vger.kernel.org. You must note the upstream commit ID in the
37− changelog of your submission, as well as the kernel version you wish
38− it to be applied to.
39− - To have the patch automatically included in the stable tree, add the tag
35+ - Security patches should not be handled (solely) by the -stable review
36+ process but should follow the procedures in Documentation/SecurityBugs.
37+
38+For all other submissions, choose one of the following procedures:
39+
40+ --- Option 1 ---
41+
42+ To have the patch automatically included in the stable tree, add the tag
4043 Cc: stable@vger.kernel.org
4144 in the sign-off area. Once the patch is merged it will be applied to
4245 the stable tree without anything else needing to be done by the author
4346 or subsystem maintainer.
44− - If the patch requires other patches as prerequisites which can be
45− cherry-picked, then this can be specified in the following format in
46− the sign-off area:
47+
48+ --- Option 2 ---
49+
50+ After the patch has been merged to Linus' tree, send an email to
51+ stable@vger.kernel.org containing the subject of the patch, the commit ID,
52+ why you think it should be applied, and what kernel version you wish it to
53+ be applied to.
54+
55+ --- Option 3 ---
56+
57+ Send the patch, after verifying that it follows the above rules, to
58+ stable@vger.kernel.org. You must note the upstream commit ID in the
59+ changelog of your submission, as well as the kernel version you wish
60+ it to be applied to.
61+
62+Option 1 is probably the easiest and most common. Options 2 and 3 are more
63+useful if the patch isn't deemed worthy at the time it is applied to a public
64+git tree (for instance, because it deserves more regression testing first).
65+Option 3 is especially useful if the patch needs some special handling to apply
66+to an older kernel (e.g., if API's have changed in the meantime).
67+
68+Additionally, some patches submitted via Option 1 may have additional patch
69+prerequisites which can be cherry-picked. This can be specified in the following
70+format in the sign-off area:
4771
4872 Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
4973 Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle
@@ -57,13 +81,13 @@ Procedure for submitting patches to the -stable tree: · 7 unmodified lines
5781 git cherry-pick fd21073
5882 git cherry-pick <this commit>
5983
84+Following the submission:
85+
6086 - The sender will receive an ACK when the patch has been accepted into the
6187 queue, or a NAK if the patch is rejected. This response might take a few
6288 days, according to the developer's schedules.
6389 - If accepted, the patch will be added to the -stable queue, for review by
6490 other developers and by the relevant subsystem maintainer.
65− - Security patches should not be sent to this alias, but instead to the
66− documented security@kernel.org address.
6791
6892
6993 Review cycle:
Documentation/sysctl/kernel.txt+1−0
@@ -843,6 +843,7 @@ can be ORed together: · 842 unmodified lines
843843 8192 - An unsigned module has been loaded in a kernel supporting module
844844 signature.
845845 16384 - A soft lockup has previously occurred on the system.
846+32768 - The kernel has been live patched.
846847
847848 ==============================================================
848849
Documentation/sysctl/net.txt+8−0
@@ -97,6 +97,14 @@ rmem_max · 96 unmodified lines
9797
9898 The maximum receive socket buffer size in bytes.
9999
100+tstamp_allow_data
101+-----------------
102+Allow processes to receive tx timestamps looped together with the original
103+packet contents. If disabled, transmit timestamp requests from unprivileged
104+processes are dropped unless socket option SOF_TIMESTAMPING_OPT_TSONLY is set.
105+Default: 1 (on)
106+
107+
100108 wmem_default
101109 ------------
102110
Documentation/sysctl/vm.txt+7−7
@@ -555,12 +555,12 @@ this is causing problems for your system/application. · 554 unmodified lines
555555
556556 oom_dump_tasks
557557
558−Enables a system-wide task dump (excluding kernel threads) to be
559−produced when the kernel performs an OOM-killing and includes such
560−information as pid, uid, tgid, vm size, rss, nr_ptes, swapents,
561−oom_score_adj score, and name. This is helpful to determine why the
562−OOM killer was invoked, to identify the rogue task that caused it,
563−and to determine why the OOM killer chose the task it did to kill.
558+Enables a system-wide task dump (excluding kernel threads) to be produced
559+when the kernel performs an OOM-killing and includes such information as
560+pid, uid, tgid, vm size, rss, nr_ptes, nr_pmds, swapents, oom_score_adj
561+score, and name. This is helpful to determine why the OOM killer was
562+invoked, to identify the rogue task that caused it, and to determine why
563+the OOM killer chose the task it did to kill.
564564
565565 If this is set to zero, this information is suppressed. On very
566566 large systems with thousands of tasks it may not be feasible to dump
@@ -728,7 +728,7 @@ The default value is 60. · 161 unmodified lines
728728
729729 - user_reserve_kbytes
730730
731−When overcommit_memory is set to 2, "never overommit" mode, reserve
731+When overcommit_memory is set to 2, "never overcommit" mode, reserve
732732 min(3% of current process size, user_reserve_kbytes) of free memory.
733733 This is intended to prevent a user from starting a single memory hogging
734734 process, such that they cannot recover (kill the hog).
Documentation/trace/coresight.txt+2−2
@@ -46,7 +46,7 @@ At typical coresight system would look like this: · 45 unmodified lines
4646 | | . | ! | | . | ! | ! . | | SWD/
4747 | | . | ! | | . | ! | ! . | | JTAG
4848 *****************************************************************<-|
49− *************************** AMBA Debug ABP ************************
49+ *************************** AMBA Debug APB ************************
5050 *****************************************************************
5151 | . ! . ! ! . |
5252 | . * . * * . |
@@ -79,7 +79,7 @@ At typical coresight system would look like this: · 26 unmodified lines
7979 To trace port TPIU= Trace Port Interface Unit
8080 SWD = Serial Wire Debug
8181
82−While on target configuration of the components is done via the ABP bus,
82+While on target configuration of the components is done via the APB bus,
8383 all trace data are carried out-of-band on the ATB bus. The CTM provides
8484 a way to aggregate and distribute signals between CoreSight components.
8585
Documentation/trace/ftrace.txt+1−1
@@ -1740,7 +1740,7 @@ no pid · 1739 unmodified lines
17401740 yum-updatesd-3111 [003] 1637.254683: lock_hrtimer_base <-hrtimer_try_to_cancel
17411741 yum-updatesd-3111 [003] 1637.254685: fget_light <-do_sys_poll
17421742 yum-updatesd-3111 [003] 1637.254686: pipe_poll <-do_sys_poll
1743−# echo -1 > set_ftrace_pid
1743+# echo > set_ftrace_pid
17441744 # cat trace |head
17451745 # tracer: function
17461746 #
Documentation/usb/gadget-testing.txt+728−0
@@ -0,0 +1,728 @@
1+This file summarizes information on basic testing of USB functions
2+provided by gadgets.
3+
4+1. ACM function
5+2. ECM function
6+3. ECM subset function
7+4. EEM function
8+5. FFS function
9+6. HID function
10+7. LOOPBACK function
11+8. MASS STORAGE function
12+9. MIDI function
13+10. NCM function
14+11. OBEX function
15+12. PHONET function
16+13. RNDIS function
17+14. SERIAL function
18+15. SOURCESINK function
19+16. UAC1 function
20+17. UAC2 function
21+18. UVC function
22+
23+
24+1. ACM function
25+===============
26+
27+The function is provided by usb_f_acm.ko module.
28+
29+Function-specific configfs interface
30+------------------------------------
31+
32+The function name to use when creating the function directory is "acm".
33+The ACM function provides just one attribute in its function directory:
34+
35+ port_num
36+
37+The attribute is read-only.
38+
39+There can be at most 4 ACM/generic serial/OBEX ports in the system.
40+
41+
42+Testing the ACM function
43+------------------------
44+
45+On the host: cat > /dev/ttyACM<X>
46+On the device : cat /dev/ttyGS<Y>
47+
48+then the other way round
49+
50+On the device: cat > /dev/ttyGS<Y>
51+On the host: cat /dev/ttyACM<X>
52+
53+2. ECM function
54+===============
55+
56+The function is provided by usb_f_ecm.ko module.
57+
58+Function-specific configfs interface
59+------------------------------------
60+
61+The function name to use when creating the function directory is "ecm".
62+The ECM function provides these attributes in its function directory:
63+
64+ ifname - network device interface name associated with this
65+ function instance
66+ qmult - queue length multiplier for high and super speed
67+ host_addr - MAC address of host's end of this
68+ Ethernet over USB link
69+ dev_addr - MAC address of device's end of this
70+ Ethernet over USB link
71+
72+and after creating the functions/ecm.<instance name> they contain default
73+values: qmult is 5, dev_addr and host_addr are randomly selected.
74+Except for ifname they can be written to until the function is linked to a
75+configuration. The ifname is read-only and contains the name of the interface
76+which was assigned by the net core, e. g. usb0.
77+
78+Testing the ECM function
79+------------------------
80+
81+Configure IP addresses of the device and the host. Then:
82+
83+On the device: ping <host's IP>
84+On the host: ping <device's IP>
85+
86+3. ECM subset function
87+======================
88+
89+The function is provided by usb_f_ecm_subset.ko module.
90+
91+Function-specific configfs interface
92+------------------------------------
93+
94+The function name to use when creating the function directory is "geth".
95+The ECM subset function provides these attributes in its function directory:
96+
97+ ifname - network device interface name associated with this
98+ function instance
99+ qmult - queue length multiplier for high and super speed
100+ host_addr - MAC address of host's end of this
101+ Ethernet over USB link
102+ dev_addr - MAC address of device's end of this
103+ Ethernet over USB link
104+
105+and after creating the functions/ecm.<instance name> they contain default
106+values: qmult is 5, dev_addr and host_addr are randomly selected.
107+Except for ifname they can be written to until the function is linked to a
108+configuration. The ifname is read-only and contains the name of the interface
109+which was assigned by the net core, e. g. usb0.
110+
111+Testing the ECM subset function
112+-------------------------------
113+
114+Configure IP addresses of the device and the host. Then:
115+
116+On the device: ping <host's IP>
117+On the host: ping <device's IP>
118+
119+4. EEM function
120+===============
121+
122+The function is provided by usb_f_eem.ko module.
123+
124+Function-specific configfs interface
125+------------------------------------
126+
127+The function name to use when creating the function directory is "eem".
128+The EEM function provides these attributes in its function directory:
129+
130+ ifname - network device interface name associated with this
131+ function instance
132+ qmult - queue length multiplier for high and super speed
133+ host_addr - MAC address of host's end of this
134+ Ethernet over USB link
135+ dev_addr - MAC address of device's end of this
136+ Ethernet over USB link
137+
138+and after creating the functions/eem.<instance name> they contain default
139+values: qmult is 5, dev_addr and host_addr are randomly selected.
140+Except for ifname they can be written to until the function is linked to a
141+configuration. The ifname is read-only and contains the name of the interface
142+which was assigned by the net core, e. g. usb0.
143+
144+Testing the EEM function
145+------------------------
146+
147+Configure IP addresses of the device and the host. Then:
148+
149+On the device: ping <host's IP>
150+On the host: ping <device's IP>
151+
152+5. FFS function
153+===============
154+
155+The function is provided by usb_f_fs.ko module.
156+
157+Function-specific configfs interface
158+------------------------------------
159+
160+The function name to use when creating the function directory is "ffs".
161+The function directory is intentionally empty and not modifiable.
162+
163+After creating the directory there is a new instance (a "device") of FunctionFS
164+available in the system. Once a "device" is available, the user should follow
165+the standard procedure for using FunctionFS (mount it, run the userspace
166+process which implements the function proper). The gadget should be enabled
167+by writing a suitable string to usb_gadget/<gadget>/UDC.
168+
169+Testing the FFS function
170+------------------------
171+
172+On the device: start the function's userspace daemon, enable the gadget
173+On the host: use the USB function provided by the device
174+
175+6. HID function
176+===============
177+
178+The function is provided by usb_f_hid.ko module.
179+
180+Function-specific configfs interface
181+------------------------------------
182+
183+The function name to use when creating the function directory is "hid".
184+The HID function provides these attributes in its function directory:
185+
186+ protocol - HID protocol to use
187+ report_desc - data to be used in HID reports, except data
188+ passed with /dev/hidg<X>
189+ report_length - HID report length
190+ subclass - HID subclass to use
191+
192+For a keyboard the protocol and the subclass are 1, the report_length is 8,
193+while the report_desc is:
194+
195+$ hd my_report_desc
196+00000000 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 |..........)...%.|
197+00000010 75 01 95 08 81 02 95 01 75 08 81 03 95 05 75 01 |u.......u.....u.|
198+00000020 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 |....).....u.....|
199+00000030 75 08 15 00 25 65 05 07 19 00 29 65 81 00 c0 |u...%e....)e...|
200+0000003f
201+
202+Such a sequence of bytes can be stored to the attribute with echo:
203+
204+$ echo -ne \\x05\\x01\\x09\\x06\\xa1.....
205+
206+Testing the HID function
207+------------------------
208+
209+Device:
210+- create the gadget
211+- connect the gadget to a host, preferably not the one used
212+to control the gadget
213+- run a program which writes to /dev/hidg<N>, e.g.
214+a userspace program found in Documentation/usb/gadget_hid.txt:
215+
216+$ ./hid_gadget_test /dev/hidg0 keyboard
217+
218+Host:
219+- observe the keystrokes from the gadget
220+
221+7. LOOPBACK function
222+====================
223+
224+The function is provided by usb_f_ss_lb.ko module.
225+
226+Function-specific configfs interface
227+------------------------------------
228+
229+The function name to use when creating the function directory is "Loopback".
230+The LOOPBACK function provides these attributes in its function directory:
231+
232+ qlen - depth of loopback queue
233+ bulk_buflen - buffer length
234+
235+Testing the LOOPBACK function
236+-----------------------------
237+
238+device: run the gadget
239+host: test-usb
240+
241+http://www.linux-usb.org/usbtest/testusb.c
242+
243+8. MASS STORAGE function
244+========================
245+
246+The function is provided by usb_f_mass_storage.ko module.
247+
248+Function-specific configfs interface
249+------------------------------------
250+
251+The function name to use when creating the function directory is "mass_storage".
252+The MASS STORAGE function provides these attributes in its directory:
253+files:
254+
255+ stall - Set to permit function to halt bulk endpoints.
256+ Disabled on some USB devices known not to work
257+ correctly. You should set it to true.
258+ num_buffers - Number of pipeline buffers. Valid numbers
259+ are 2..4. Available only if
260+ CONFIG_USB_GADGET_DEBUG_FILES is set.
261+
262+and a default lun.0 directory corresponding to SCSI LUN #0.
263+
264+A new lun can be added with mkdir:
265+
266+$ mkdir functions/mass_storage.0/partition.5
267+
268+Lun numbering does not have to be continuous, except for lun #0 which is
269+created by default. A maximum of 8 luns can be specified and they all must be
270+named following the <name>.<number> scheme. The numbers can be 0..8.
271+Probably a good convention is to name the luns "lun.<number>",
272+although it is not mandatory.
273+
274+In each lun directory there are the following attribute files:
275+
276+ file - The path to the backing file for the LUN.
277+ Required if LUN is not marked as removable.
278+ ro - Flag specifying access to the LUN shall be
279+ read-only. This is implied if CD-ROM emulation
280+ is enabled as well as when it was impossible
281+ to open "filename" in R/W mode.
282+ removable - Flag specifying that LUN shall be indicated as
283+ being removable.
284+ cdrom - Flag specifying that LUN shall be reported as
285+ being a CD-ROM.
286+ nofua - Flag specifying that FUA flag
287+ in SCSI WRITE(10,12)
288+
289+Testing the MASS STORAGE function
290+---------------------------------
291+
292+device: connect the gadget, enable it
293+host: dmesg, see the USB drives appear (if system configured to automatically
294+mount)
295+
296+9. MIDI function
297+================
298+
299+The function is provided by usb_f_midi.ko module.
300+
301+Function-specific configfs interface
302+------------------------------------
303+
304+The function name to use when creating the function directory is "midi".
305+The MIDI function provides these attributes in its function directory:
306+
307+ buflen - MIDI buffer length
308+ id - ID string for the USB MIDI adapter
309+ in_ports - number of MIDI input ports
310+ index - index value for the USB MIDI adapter
311+ out_ports - number of MIDI output ports
312+ qlen - USB read request queue length
313+
314+Testing the MIDI function
315+-------------------------
316+
317+There are two cases: playing a mid from the gadget to
318+the host and playing a mid from the host to the gadget.
319+
320+1) Playing a mid from the gadget to the host
321+host)
322+
323+$ arecordmidi -l
324+ Port Client name Port name
325+ 14:0 Midi Through Midi Through Port-0
326+ 24:0 MIDI Gadget MIDI Gadget MIDI 1
327+$ arecordmidi -p 24:0 from_gadget.mid
328+
329+gadget)
330+
331+$ aplaymidi -l
332+ Port Client name Port name
333+ 20:0 f_midi f_midi
334+
335+$ aplaymidi -p 20:0 to_host.mid
336+
337+2) Playing a mid from the host to the gadget
338+gadget)
339+
340+$ arecordmidi -l
341+ Port Client name Port name
342+ 20:0 f_midi f_midi
343+
344+$ arecordmidi -p 20:0 from_host.mid
345+
346+host)
347+
348+$ aplaymidi -l
349+ Port Client name Port name
350+ 14:0 Midi Through Midi Through Port-0
351+ 24:0 MIDI Gadget MIDI Gadget MIDI 1
352+
353+$ aplaymidi -p24:0 to_gadget.mid
354+
355+The from_gadget.mid should sound identical to the to_host.mid.
356+The from_host.id should sound identical to the to_gadget.mid.
357+
358+MIDI files can be played to speakers/headphones with e.g. timidity installed
359+
360+$ aplaymidi -l
361+ Port Client name Port name
362+ 14:0 Midi Through Midi Through Port-0
363+ 24:0 MIDI Gadget MIDI Gadget MIDI 1
364+128:0 TiMidity TiMidity port 0
365+128:1 TiMidity TiMidity port 1
366+128:2 TiMidity TiMidity port 2
367+128:3 TiMidity TiMidity port 3
368+
369+$ aplaymidi -p 128:0 file.mid
370+
371+MIDI ports can be logically connected using the aconnect utility, e.g.:
372+
373+$ aconnect 24:0 128:0 # try it on the host
374+
375+After the gadget's MIDI port is connected to timidity's MIDI port,
376+whatever is played at the gadget side with aplaymidi -l is audible
377+in host's speakers/headphones.
378+
379+10. NCM function
380+================
381+
382+The function is provided by usb_f_ncm.ko module.
383+
384+Function-specific configfs interface
385+------------------------------------
386+
387+The function name to use when creating the function directory is "ncm".
388+The NCM function provides these attributes in its function directory:
389+
390+ ifname - network device interface name associated with this
391+ function instance
392+ qmult - queue length multiplier for high and super speed
393+ host_addr - MAC address of host's end of this
394+ Ethernet over USB link
395+ dev_addr - MAC address of device's end of this
396+ Ethernet over USB link
397+
398+and after creating the functions/ncm.<instance name> they contain default
399+values: qmult is 5, dev_addr and host_addr are randomly selected.
400+Except for ifname they can be written to until the function is linked to a
401+configuration. The ifname is read-only and contains the name of the interface
402+which was assigned by the net core, e. g. usb0.
403+
404+Testing the NCM function
405+------------------------
406+
407+Configure IP addresses of the device and the host. Then:
408+
409+On the device: ping <host's IP>
410+On the host: ping <device's IP>
411+
412+11. OBEX function
413+=================
414+
415+The function is provided by usb_f_obex.ko module.
416+
417+Function-specific configfs interface
418+------------------------------------
419+
420+The function name to use when creating the function directory is "obex".
421+The OBEX function provides just one attribute in its function directory:
422+
423+ port_num
424+
425+The attribute is read-only.
426+
427+There can be at most 4 ACM/generic serial/OBEX ports in the system.
428+
429+Testing the OBEX function
430+-------------------------
431+
432+On device: seriald -f /dev/ttyGS<Y> -s 1024
433+On host: serialc -v <vendorID> -p <productID> -i<interface#> -a1 -s1024 \
434+ -t<out endpoint addr> -r<in endpoint addr>
435+
436+where seriald and serialc are Felipe's utilities found here:
437+
438+https://git.gitorious.org/usb/usb-tools.git master
439+
440+12. PHONET function
441+===================
442+
443+The function is provided by usb_f_phonet.ko module.
444+
445+Function-specific configfs interface
446+------------------------------------
447+
448+The function name to use when creating the function directory is "phonet".
449+The PHONET function provides just one attribute in its function directory:
450+
451+ ifname - network device interface name associated with this
452+ function instance
453+
454+Testing the PHONET function
455+---------------------------
456+
457+It is not possible to test the SOCK_STREAM protocol without a specific piece
458+of hardware, so only SOCK_DGRAM has been tested. For the latter to work,
459+in the past I had to apply the patch mentioned here:
460+
461+http://www.spinics.net/lists/linux-usb/msg85689.html
462+
463+These tools are required:
464+
465+git://git.gitorious.org/meego-cellular/phonet-utils.git
466+
467+On the host:
468+
469+$ ./phonet -a 0x10 -i usbpn0
470+$ ./pnroute add 0x6c usbpn0
471+$./pnroute add 0x10 usbpn0
472+$ ifconfig usbpn0 up
473+
474+On the device:
475+
476+$ ./phonet -a 0x6c -i upnlink0
477+$ ./pnroute add 0x10 upnlink0
478+$ ifconfig upnlink0 up
479+
480+Then a test program can be used:
481+
482+http://www.spinics.net/lists/linux-usb/msg85690.html
483+
484+On the device:
485+
486+$ ./pnxmit -a 0x6c -r
487+
488+On the host:
489+
490+$ ./pnxmit -a 0x10 -s 0x6c
491+
492+As a result some data should be sent from host to device.
493+Then the other way round:
494+
495+On the host:
496+
497+$ ./pnxmit -a 0x10 -r
498+
499+On the device:
500+
501+$ ./pnxmit -a 0x6c -s 0x10
502+
503+13. RNDIS function
504+==================
505+
506+The function is provided by usb_f_rndis.ko module.
507+
508+Function-specific configfs interface
509+------------------------------------
510+
511+The function name to use when creating the function directory is "rndis".
512+The RNDIS function provides these attributes in its function directory:
513+
514+ ifname - network device interface name associated with this
515+ function instance
516+ qmult - queue length multiplier for high and super speed
517+ host_addr - MAC address of host's end of this
518+ Ethernet over USB link
519+ dev_addr - MAC address of device's end of this
520+ Ethernet over USB link
521+
522+and after creating the functions/rndis.<instance name> they contain default
523+values: qmult is 5, dev_addr and host_addr are randomly selected.
524+Except for ifname they can be written to until the function is linked to a
525+configuration. The ifname is read-only and contains the name of the interface
526+which was assigned by the net core, e. g. usb0.
527+
528+By default there can be only 1 RNDIS interface in the system.
529+
530+Testing the RNDIS function
531+--------------------------
532+
533+Configure IP addresses of the device and the host. Then:
534+
535+On the device: ping <host's IP>
536+On the host: ping <device's IP>
537+
538+14. SERIAL function
539+===================
540+
541+The function is provided by usb_f_gser.ko module.
542+
543+Function-specific configfs interface
544+------------------------------------
545+
546+The function name to use when creating the function directory is "gser".
547+The SERIAL function provides just one attribute in its function directory:
548+
549+ port_num
550+
551+The attribute is read-only.
552+
553+There can be at most 4 ACM/generic serial/OBEX ports in the system.
554+
555+Testing the SERIAL function
556+---------------------------
557+
558+On host: insmod usbserial
559+ echo VID PID >/sys/bus/usb-serial/drivers/generic/new_id
560+On host: cat > /dev/ttyUSB<X>
561+On target: cat /dev/ttyGS<Y>
562+
563+then the other way round
564+
565+On target: cat > /dev/ttyGS<Y>
566+On host: cat /dev/ttyUSB<X>
567+
568+15. SOURCESINK function
569+=======================
570+
571+The function is provided by usb_f_ss_lb.ko module.
572+
573+Function-specific configfs interface
574+------------------------------------
575+
576+The function name to use when creating the function directory is "SourceSink".
577+The SOURCESINK function provides these attributes in its function directory:
578+
579+ pattern - 0 (all zeros), 1 (mod63), 2 (none)
580+ isoc_interval - 1..16
581+ isoc_maxpacket - 0 - 1023 (fs), 0 - 1024 (hs/ss)
582+ isoc_mult - 0..2 (hs/ss only)
583+ isoc_maxburst - 0..15 (ss only)
584+ bulk_buflen - buffer length
585+
586+Testing the SOURCESINK function
587+-------------------------------
588+
589+device: run the gadget
590+host: test-usb
591+
592+http://www.linux-usb.org/usbtest/testusb.c
593+
594+16. UAC1 function
595+=================
596+
597+The function is provided by usb_f_uac1.ko module.
598+
599+Function-specific configfs interface
600+------------------------------------
601+
602+The function name to use when creating the function directory is "uac1".
603+The uac1 function provides these attributes in its function directory:
604+
605+ audio_buf_size - audio buffer size
606+ fn_cap - capture pcm device file name
607+ fn_cntl - control device file name
608+ fn_play - playback pcm device file name
609+ req_buf_size - ISO OUT endpoint request buffer size
610+ req_count - ISO OUT endpoint request count
611+
612+The attributes have sane default values.
613+
614+Testing the UAC1 function
615+-------------------------
616+
617+device: run the gadget
618+host: aplay -l # should list our USB Audio Gadget
619+
620+17. UAC2 function
621+=================
622+
623+The function is provided by usb_f_uac2.ko module.
624+
625+Function-specific configfs interface
626+------------------------------------
627+
628+The function name to use when creating the function directory is "uac2".
629+The uac2 function provides these attributes in its function directory:
630+
631+ chmask - capture channel mask
632+ c_srate - capture sampling rate
633+ c_ssize - capture sample size (bytes)
634+ p_chmask - playback channel mask
635+ p_srate - playback sampling rate
636+ p_ssize - playback sample size (bytes)
637+
638+The attributes have sane default values.
639+
640+Testing the UAC2 function
641+-------------------------
642+
643+device: run the gadget
644+host: aplay -l # should list our USB Audio Gadget
645+
646+This function does not require real hardware support, it just
647+sends a stream of audio data to/from the host. In order to
648+actually hear something at the device side, a command similar
649+to this must be used at the device side:
650+
651+$ arecord -f dat -t wav -D hw:2,0 | aplay -D hw:0,0 &
652+
653+e.g.:
654+
655+$ arecord -f dat -t wav -D hw:CARD=UAC2Gadget,DEV=0 | \
656+aplay -D default:CARD=OdroidU3
657+
658+18. UVC function
659+================
660+
661+The function is provided by usb_f_uvc.ko module.
662+
663+Function-specific configfs interface
664+------------------------------------
665+
666+The function name to use when creating the function directory is "uvc".
667+The uvc function provides these attributes in its function directory:
668+
669+ streaming_interval - interval for polling endpoint for data transfers
670+ streaming_maxburst - bMaxBurst for super speed companion descriptor
671+ streaming_maxpacket - maximum packet size this endpoint is capable of
672+ sending or receiving when this configuration is
673+ selected
674+
675+There are also "control" and "streaming" subdirectories, each of which contain
676+a number of their subdirectories. There are some sane defaults provided, but
677+the user must provide the following:
678+
679+ control header - create in control/header, link from control/class/fs
680+ and/or control/class/ss
681+ streaming header - create in streaming/header, link from
682+ streaming/class/fs and/or streaming/class/hs and/or
683+ streaming/class/ss
684+ format description - create in streaming/mjpeg and/or
685+ streaming/uncompressed
686+ frame description - create in streaming/mjpeg/<format> and/or in
687+ streaming/uncompressed/<format>
688+
689+Each frame description contains frame interval specification, and each
690+such specification consists of a number of lines with an inverval value
691+in each line. The rules stated above are best illustrated with an example:
692+
693+# mkdir functions/uvc.usb0/control/header/h
694+# cd functions/uvc.usb0/control/header/h
695+# ln -s header/h class/fs
696+# ln -s header/h class/ss
697+# mkdir -p functions/uvc.usb0/streaming/uncompressed/u/360p
698+# cat <<EOF > functions/uvc.usb0/streaming/uncompressed/u/360p/dwFrameInterval
699+666666
700+1000000
701+5000000
702+EOF
703+# cd $GADGET_CONFIGFS_ROOT
704+# mkdir functions/uvc.usb0/streaming/header/h
705+# cd functions/uvc.usb0/streaming/header/h
706+# ln -s ../../uncompressed/u
707+# cd ../../class/fs
708+# ln -s ../../header/h
709+# cd ../../class/hs
710+# ln -s ../../header/h
711+# cd ../../class/ss
712+# ln -s ../../header/h
713+
714+
715+Testing the UVC function
716+------------------------
717+
718+device: run the gadget, modprobe vivid
719+
720+# uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>
721+
722+where uvc-gadget is this program:
723+http://git.ideasonboard.org/uvc-gadget.git
724+
725+with these patches:
726+http://www.spinics.net/lists/linux-usb/msg99220.html
727+
728+host: luvcview -f yuv
Documentation/usb/gadget_serial.txt+6−2
@@ -236,8 +236,12 @@ I: If#= 0 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=serial · 235 unmodified lines
236236 E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
237237 E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
238238
239−You must explicitly load the usbserial driver with parameters to
240−configure it to recognize the gadget serial device, like this:
239+You must load the usbserial driver and explicitly set its parameters
240+to configure it to recognize the gadget serial device, like this:
241+
242+ echo 0x0525 0xA4A6 >/sys/bus/usb-serial/drivers/generic/new_id
243+
244+The legacy way is to use module parameters:
241245
242246 modprobe usbserial vendor=0x0525 product=0xA4A6
243247
Documentation/usb/usbmon.txt+2−2
@@ -72,7 +72,7 @@ to listen on a single bus, otherwise, to listen on all buses, type: · 71 unmodified lines
7272
7373 # cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out
7474
75−This process will be reading until killed. Naturally, the output can be
75+This process will read until it is killed. Naturally, the output can be
7676 redirected to a desirable location. This is preferred, because it is going
7777 to be quite long.
7878
@@ -231,7 +231,7 @@ number. Number zero (/dev/usbmon0) is special and means "all buses". · 152 unmodified lines
231231 Note that specific naming policy is set by your Linux distribution.
232232
233233 If you create /dev/usbmon0 by hand, make sure that it is owned by root
234−and has mode 0600. Otherwise, unpriviledged users will be able to snoop
234+and has mode 0600. Otherwise, unprivileged users will be able to snoop
235235 keyboard traffic.
236236
237237 The following ioctl calls are available, with MON_IOC_MAGIC 0x92:
Documentation/video4linux/CQcam.txt+0−205
@@ -1,205 +0,0 @@
1−c-qcam - Connectix Color QuickCam video4linux kernel driver
2−
3−Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>
4− released under GNU GPL.
5−
6−1999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind
7−
8−
9−Table of Contents
10−
11−1.0 Introduction
12−2.0 Compilation, Installation, and Configuration
13−3.0 Troubleshooting
14−4.0 Future Work / current work arounds
15−9.0 Sample Program, v4lgrab
16−10.0 Other Information
17−
18−
19−1.0 Introduction
20−
21− The file ../../drivers/media/parport/c-qcam.c is a device driver for
22−the Logitech (nee Connectix) parallel port interface color CCD camera.
23−This is a fairly inexpensive device for capturing images. Logitech
24−does not currently provide information for developers, but many people
25−have engineered several solutions for non-Microsoft use of the Color
26−Quickcam.
27−
28−1.1 Motivation
29−
30− I spent a number of hours trying to get my camera to work, and I
31−hope this document saves you some time. My camera will not work with
32−the 2.2.13 kernel as distributed, but with a few patches to the
33−module, I was able to grab some frames. See 4.0, Future Work.
34−
35−
36−
37−2.0 Compilation, Installation, and Configuration
38−
39− The c-qcam depends on parallel port support, video4linux, and the
40−Color Quickcam. It is also nice to have the parallel port readback
41−support enabled. I enabled these as modules during the kernel
42−configuration. The appropriate flags are:
43−
44− CONFIG_PRINTER M for lp.o, parport.o parport_pc.o modules
45− CONFIG_PNP_PARPORT M for autoprobe.o IEEE1284 readback module
46− CONFIG_PRINTER_READBACK M for parport_probe.o IEEE1284 readback module
47− CONFIG_VIDEO_DEV M for videodev.o video4linux module
48− CONFIG_VIDEO_CQCAM M for c-qcam.o Color Quickcam module
49−
50− With these flags, the kernel should compile and install the modules.
51−To record and monitor the compilation, I use:
52−
53− (make zlilo ; \
54− make modules; \
55− make modules_install ;
56− depmod -a ) &>log &
57− less log # then a capital 'F' to watch the progress
58−
59−But that is my personal preference.
60−
61−2.2 Configuration
62−
63− The configuration requires module configuration and device
64−configuration. The following sections detail these procedures.
65−
66−
67−2.1 Module Configuration
68−
69− Using modules requires a bit of work to install and pass the
70−parameters. Understand that entries in /etc/modprobe.d/*.conf of:
71−
72− alias parport_lowlevel parport_pc
73− options parport_pc io=0x378 irq=none
74− alias char-major-81 videodev
75− alias char-major-81-0 c-qcam
76−
77−2.2 Device Configuration
78−
79− At this point, we need to ensure that the device files exist.
80−Video4linux used the /dev/video* files, and we want to attach the
81−Quickcam to one of these.
82−
83− ls -lad /dev/video* # should produce a list of the video devices
84−
85−If the video devices do not exist, you can create them with:
86−
87− su
88− cd /dev
89− for ii in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
90− mknod video$ii c 81 $ii # char-major-81-[0-16]
91− chown root.root video$ii # owned by root
92− chmod 600 video$ii # read/writable by root only
93− done
94−
95− Lots of people connect video0 to video and bttv, but you might want
96−your c-qcam to mean something more:
97−
98− ln -s video0 c-qcam # make /dev/c-qcam a working file
99− ln -s c-qcam video # make /dev/c-qcam your default video source
100−
101− But these are conveniences. The important part is to make the proper
102−special character files with the right major and minor numbers. All
103−of the special device files are listed in ../devices.txt. If you
104−would like the c-qcam readable by non-root users, you will need to
105−change the permissions.
106−
107−3.0 Troubleshooting
108−
109− If the sample program below, v4lgrab, gives you output then
110−everything is working.
111−
112− v4lgrab | wc # should give you a count of characters
113−
114− Otherwise, you have some problem.
115−
116− The c-qcam is IEEE1284 compatible, so if you are using the proc file
117−system (CONFIG_PROC_FS), the parallel printer support
118−(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you
119−should be able to read some identification from your quickcam with
120−
121− modprobe -v parport
122− modprobe -v parport_probe
123− cat /proc/parport/PORTNUMBER/autoprobe
124−Returns:
125− CLASS:MEDIA;
126− MODEL:Color QuickCam 2.0;
127− MANUFACTURER:Connectix;
128−
129− A good response to this indicates that your color quickcam is alive
130−and well. A common problem is that the current driver does not
131−reliably detect a c-qcam, even though one is attached. In this case,
132−
133− modprobe -v c-qcam
134−or
135− insmod -v c-qcam
136−
137− Returns a message saying "Device or resource busy" Development is
138−currently underway, but a workaround is to patch the module to skip
139−the detection code and attach to a defined port. Check the
140−video4linux mailing list and archive for more current information.
141−
142−3.1 Checklist:
143−
144− Can you get an image?
145− v4lgrab >qcam.ppm ; wc qcam.ppm ; xv qcam.ppm
146−
147− Is a working c-qcam connected to the port?
148− grep ^ /proc/parport/?/autoprobe
149−
150− Do the /dev/video* files exist?
151− ls -lad /dev/video
152−
153− Is the c-qcam module loaded?
154− modprobe -v c-qcam ; lsmod
155−
156− Does the camera work with alternate programs? cqcam, etc?
157−
158−
159−
160−
161−4.0 Future Work / current workarounds
162−
163− It is hoped that this section will soon become obsolete, but if it
164−isn't, you might try patching the c-qcam module to add a parport=xxx
165−option as in the bw-qcam module so you can specify the parallel port:
166−
167− insmod -v c-qcam parport=0
168−
169−And bypass the detection code, see ../../drivers/char/c-qcam.c and
170−look for the 'qc_detect' code and call.
171−
172− Note that there is work in progress to change the video4linux API,
173−this work is documented at the video4linux2 site listed below.
174−
175−
176−9.0 --- A sample program using v4lgrabber,
177−
178−v4lgrab is a simple image grabber that will copy a frame from the
179−first video device, /dev/video0 to standard output in portable pixmap
180−format (.ppm) To produce .jpg output, you can use it like this:
181−'v4lgrab | convert - c-qcam.jpg'
182−
183−
184−10.0 --- Other Information
185−
186−Use the ../../Maintainers file, particularly the VIDEO FOR LINUX and PARALLEL
187−PORT SUPPORT sections
188−
189−The video4linux page:
190− http://linuxtv.org
191−
192−The V4L2 API spec:
193− http://v4l2spec.bytesex.org/
194−
195−Some web pages about the quickcams:
196− http://www.pingouin-land.com/howto/QuickCam-HOWTO.html
197−
198− http://www.crynwr.com/qcpc/ QuickCam Third-Party Drivers
199− http://www.crynwr.com/qcpc/re.html Some Reverse Engineering
200− http://www.wirelesscouch.net/software/gqcam/ v4l client
201− http://phobos.illtel.denver.co.us/pub/qcread/ doesn't use v4l
202− ftp://ftp.cs.unm.edu/pub/chris/quickcam/ Has lots of drivers
203− http://www.cs.duke.edu/~reynolds/quickcam/ Has lots of information
204−
205−
Documentation/video4linux/README.tlg2300+0−47
@@ -1,47 +0,0 @@
1−tlg2300 release notes
2−====================
3−
4−This is a v4l2/dvb device driver for the tlg2300 chip.
5−
6−
7−current status
8−==============
9−
10−video
11− - support mmap and read().(no overlay)
12−
13−audio
14− - The driver will register a ALSA card for the audio input.
15−
16−vbi
17− - Works for almost TV norms.
18−
19−dvb-t
20− - works for DVB-T
21−
22−FM
23− - Works for radio.
24−
25−---------------------------------------------------------------------------
26−TESTED APPLICATIONS:
27−
28−-VLC1.0.4 test the video and dvb. The GUI is friendly to use.
29−
30−-Mplayer test the video.
31−
32−-Mplayer test the FM. The mplayer should be compiled with --enable-radio and
33− --enable-radio-capture.
34− The command runs as this(The alsa audio registers to card 1):
35− #mplayer radio://103.7/capture/ -radio adevice=hw=1,0:arate=48000 \
36− -rawaudio rate=48000:channels=2
37−
38−---------------------------------------------------------------------------
39−KNOWN PROBLEMS:
40−about preemphasis:
41− You can set the preemphasis for radio by the following command:
42− #v4l2-ctl -d /dev/radio0 --set-ctrl=pre_emphasis_settings=1
43−
44− "pre_emphasis_settings=1" means that you select the 50us. If you want
45− to select the 75us, please use "pre_emphasis_settings=2"
46−
47−
Documentation/video4linux/v4l2-framework.txt+23−2
@@ -793,8 +793,10 @@ video_register_device_no_warn() instead. · 792 unmodified lines
793793
794794 Whenever a device node is created some attributes are also created for you.
795795 If you look in /sys/class/video4linux you see the devices. Go into e.g.
796−video0 and you will see 'name' and 'index' attributes. The 'name' attribute
797−is the 'name' field of the video_device struct.
796+video0 and you will see 'name', 'debug' and 'index' attributes. The 'name'
797+attribute is the 'name' field of the video_device struct. The 'debug' attribute
798+can be used to enable core debugging. See the next section for more detailed
799+information on this.
798800
799801 The 'index' attribute is the index of the device node: for each call to
800802 video_register_device() the index is just increased by 1. The first video
@@ -816,6 +818,25 @@ video_device was embedded in it. The vdev->release() callback will never · 15 unmodified lines
816818 be called if the registration failed, nor should you ever attempt to
817819 unregister the device if the registration failed.
818820
821+video device debugging
822+----------------------
823+
824+The 'debug' attribute that is created for each video, vbi, radio or swradio
825+device in /sys/class/video4linux/<devX>/ allows you to enable logging of
826+file operations.
827+
828+It is a bitmask and the following bits can be set:
829+
830+0x01: Log the ioctl name and error code. VIDIOC_(D)QBUF ioctls are only logged
831+ if bit 0x08 is also set.
832+0x02: Log the ioctl name arguments and error code. VIDIOC_(D)QBUF ioctls are
833+ only logged if bit 0x08 is also set.
834+0x04: Log the file operations open, release, read, write, mmap and
835+ get_unmapped_area. The read and write operations are only logged if
836+ bit 0x08 is also set.
837+0x08: Log the read and write file operations and the VIDIOC_QBUF and
838+ VIDIOC_DQBUF ioctls.
839+0x10: Log the poll file operation.
819840
820841 video_device cleanup
821842 --------------------
Documentation/video4linux/v4l2-pci-skeleton.c+1−1
@@ -42,7 +42,6 @@ · 41 unmodified lines
4242 MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver");
4343 MODULE_AUTHOR("Hans Verkuil");
4444 MODULE_LICENSE("GPL v2");
45−MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
4645
4746 /**
4847 * struct skeleton - All internal data for one instance of device
@@ -95,6 +94,7 @@ static const struct pci_device_id skeleton_pci_tbl[] = { · 46 unmodified lines
9594 /* { PCI_DEVICE(PCI_VENDOR_ID_, PCI_DEVICE_ID_) }, */
9695 { 0, }
9796 };
97+MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
9898
9999 /*
100100 * HDTV: this structure has the capabilities of the HDTV receiver.
Documentation/video4linux/w9966.txt+0−33
@@ -1,33 +0,0 @@
1−W9966 Camera driver, written by Jakob Kemi (jakob.kemi@telia.com)
2−
3−After a lot of work in softice & wdasm, reading .pdf-files and tiresome
4−trial-and-error work I've finally got everything to work. I needed vision for a
5−robotics project so I borrowed this camera from a friend and started hacking.
6−Anyway I've converted my original code from the AVR 8bit RISC C/ASM code into
7−a working Linux driver.
8−
9−To get it working simply configure your kernel to support
10−parport, ieee1284, video4linux and w9966
11−
12−If w9966 is statically linked it will always perform aggressive probing for
13−the camera. If built as a module you'll have more configuration options.
14−
15−Options:
16− modprobe w9966.o pardev=parport0(or whatever) parmode=0 (0=auto, 1=ecp, 2=epp)
17−voila!
18−
19−you can also type 'modinfo -p w9966.o' for option usage
20−(or checkout w9966.c)
21−
22−The only thing to keep in mind is that the image format is in Y-U-Y-V format
23−where every two pixels take 4 bytes. In SDL (www.libsdl.org) this format
24−is called VIDEO_PALETTE_YUV422 (16 bpp).
25−
26−A minimal test application (with source) is available from:
27− http://www.slackwaresupport.com/howtos/Webcam-HOWTO
28−
29−The slow framerate is due to missing DMA ECP read support in the
30−parport drivers. I might add working EPP support later.
31−
32−Good luck!
33− /Jakob Kemi
Documentation/virtual/00-INDEX+3−0
@@ -2,6 +2,9 @@ Virtualization support in the Linux kernel. · 1 unmodified line
22
33 00-INDEX
44 - this file.
5+
6+paravirt_ops.txt
7+ - Describes the Linux kernel pv_ops to support different hypervisors
58 kvm/
69 - Kernel Virtual Machine. See also http://linux-kvm.org
710 uml/
Documentation/virtual/kvm/api.txt+29−6
@@ -612,11 +612,14 @@ Type: vm ioctl · 611 unmodified lines
612612 Parameters: none
613613 Returns: 0 on success, -1 on error
614614
615−Creates an interrupt controller model in the kernel. On x86, creates a virtual
616−ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a
617−local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23
618−only go to the IOAPIC. On ARM/arm64, a GIC is
619−created. On s390, a dummy irq routing table is created.
615+Creates an interrupt controller model in the kernel.
616+On x86, creates a virtual ioapic, a virtual PIC (two PICs, nested), and sets up
617+future vcpus to have a local APIC. IRQ routing for GSIs 0-15 is set to both
618+PIC and IOAPIC; GSI 16-23 only go to the IOAPIC.
619+On ARM/arm64, a GICv2 is created. Any other GIC versions require the usage of
620+KVM_CREATE_DEVICE, which also supports creating a GICv2. Using
621+KVM_CREATE_DEVICE is preferred over KVM_CREATE_IRQCHIP for GICv2.
622+On s390, a dummy irq routing table is created.
620623
621624 Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled
622625 before KVM_CREATE_IRQCHIP can be used.
@@ -2312,7 +2315,7 @@ struct kvm_s390_interrupt { · 1689 unmodified lines
23122315
23132316 type can be one of the following:
23142317
2315−KVM_S390_SIGP_STOP (vcpu) - sigp restart
2318+KVM_S390_SIGP_STOP (vcpu) - sigp stop; optional flags in parm
23162319 KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm
23172320 KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm
23182321 KVM_S390_RESTART (vcpu) - restart
@@ -3225,3 +3228,23 @@ userspace from doing that. · 906 unmodified lines
32253228 If the hcall number specified is not one that has an in-kernel
32263229 implementation, the KVM_ENABLE_CAP ioctl will fail with an EINVAL
32273230 error.
3231+
3232+7.2 KVM_CAP_S390_USER_SIGP
3233+
3234+Architectures: s390
3235+Parameters: none
3236+
3237+This capability controls which SIGP orders will be handled completely in user
3238+space. With this capability enabled, all fast orders will be handled completely
3239+in the kernel:
3240+- SENSE
3241+- SENSE RUNNING
3242+- EXTERNAL CALL
3243+- EMERGENCY SIGNAL
3244+- CONDITIONAL EMERGENCY SIGNAL
3245+
3246+All other orders will be handled completely in user space.
3247+
3248+Only privileged operation exceptions will be checked for in the kernel (or even
3249+in the hardware prior to interception). If this capability is not enabled, the
3250+old way of handling SIGP orders is used (partially in kernel and user space).
Documentation/virtual/kvm/devices/arm-vgic.txt+35−2
@@ -3,22 +3,42 @@ ARM Virtual Generic Interrupt Controller (VGIC) · 2 unmodified lines
33
44 Device types supported:
55 KVM_DEV_TYPE_ARM_VGIC_V2 ARM Generic Interrupt Controller v2.0
6+ KVM_DEV_TYPE_ARM_VGIC_V3 ARM Generic Interrupt Controller v3.0
67
78 Only one VGIC instance may be instantiated through either this API or the
89 legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt
910 controller, requiring emulated user-space devices to inject interrupts to the
1011 VGIC instead of directly to CPUs.
1112
13+Creating a guest GICv3 device requires a host GICv3 as well.
14+GICv3 implementations with hardware compatibility support allow a guest GICv2
15+as well.
16+
1217 Groups:
1318 KVM_DEV_ARM_VGIC_GRP_ADDR
1419 Attributes:
1520 KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit)
1621 Base address in the guest physical address space of the GIC distributor
17− register mappings.
22+ register mappings. Only valid for KVM_DEV_TYPE_ARM_VGIC_V2.
23+ This address needs to be 4K aligned and the region covers 4 KByte.
1824
1925 KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit)
2026 Base address in the guest physical address space of the GIC virtual cpu
21− interface register mappings.
27+ interface register mappings. Only valid for KVM_DEV_TYPE_ARM_VGIC_V2.
28+ This address needs to be 4K aligned and the region covers 4 KByte.
29+
30+ KVM_VGIC_V3_ADDR_TYPE_DIST (rw, 64-bit)
31+ Base address in the guest physical address space of the GICv3 distributor
32+ register mappings. Only valid for KVM_DEV_TYPE_ARM_VGIC_V3.
33+ This address needs to be 64K aligned and the region covers 64 KByte.
34+
35+ KVM_VGIC_V3_ADDR_TYPE_REDIST (rw, 64-bit)
36+ Base address in the guest physical address space of the GICv3
37+ redistributor register mappings. There are two 64K pages for each
38+ VCPU and all of the redistributor pages are contiguous.
39+ Only valid for KVM_DEV_TYPE_ARM_VGIC_V3.
40+ This address needs to be 64K aligned.
41+
2242
2343 KVM_DEV_ARM_VGIC_GRP_DIST_REGS
2444 Attributes:
@@ -36,6 +56,7 @@ Groups: · 11 unmodified lines
3656 the register.
3757 Limitations:
3858 - Priorities are not implemented, and registers are RAZ/WI
59+ - Currently only implemented for KVM_DEV_TYPE_ARM_VGIC_V2.
3960 Errors:
4061 -ENODEV: Getting or setting this register is not yet supported
4162 -EBUSY: One or more VCPUs are running
@@ -68,6 +89,7 @@ Groups: · 26 unmodified lines
6889
6990 Limitations:
7091 - Priorities are not implemented, and registers are RAZ/WI
92+ - Currently only implemented for KVM_DEV_TYPE_ARM_VGIC_V2.
7193 Errors:
7294 -ENODEV: Getting or setting this register is not yet supported
7395 -EBUSY: One or more VCPUs are running
@@ -81,3 +103,14 @@ Groups: · 7 unmodified lines
81103 -EINVAL: Value set is out of the expected range
82104 -EBUSY: Value has already be set, or GIC has already been initialized
83105 with default values.
106+
107+ KVM_DEV_ARM_VGIC_GRP_CTRL
108+ Attributes:
109+ KVM_DEV_ARM_VGIC_CTRL_INIT
110+ request the initialization of the VGIC, no additional parameter in
111+ kvm_device_attr.addr.
112+ Errors:
113+ -ENXIO: VGIC not properly configured as required prior to calling
114+ this attribute
115+ -ENODEV: no online VCPU
116+ -ENOMEM: memory shortage when allocating vgic internal data
Documentation/virtual/kvm/devices/vm.txt+59−0
@@ -24,3 +24,62 @@ Returns: 0 · 23 unmodified lines
2424
2525 Clear the CMMA status for all guest pages, so any pages the guest marked
2626 as unused are again used any may not be reclaimed by the host.
27+
28+1.3. ATTRIBUTE KVM_S390_VM_MEM_LIMIT_SIZE
29+Parameters: in attr->addr the address for the new limit of guest memory
30+Returns: -EFAULT if the given address is not accessible
31+ -EINVAL if the virtual machine is of type UCONTROL
32+ -E2BIG if the given guest memory is to big for that machine
33+ -EBUSY if a vcpu is already defined
34+ -ENOMEM if not enough memory is available for a new shadow guest mapping
35+ 0 otherwise
36+
37+Allows userspace to query the actual limit and set a new limit for
38+the maximum guest memory size. The limit will be rounded up to
39+2048 MB, 4096 GB, 8192 TB respectively, as this limit is governed by
40+the number of page table levels.
41+
42+2. GROUP: KVM_S390_VM_CPU_MODEL
43+Architectures: s390
44+
45+2.1. ATTRIBUTE: KVM_S390_VM_CPU_MACHINE (r/o)
46+
47+Allows user space to retrieve machine and kvm specific cpu related information:
48+
49+struct kvm_s390_vm_cpu_machine {
50+ __u64 cpuid; # CPUID of host
51+ __u32 ibc; # IBC level range offered by host
52+ __u8 pad[4];
53+ __u64 fac_mask[256]; # set of cpu facilities enabled by KVM
54+ __u64 fac_list[256]; # set of cpu facilities offered by host
55+}
56+
57+Parameters: address of buffer to store the machine related cpu data
58+ of type struct kvm_s390_vm_cpu_machine*
59+Returns: -EFAULT if the given address is not accessible from kernel space
60+ -ENOMEM if not enough memory is available to process the ioctl
61+ 0 in case of success
62+
63+2.2. ATTRIBUTE: KVM_S390_VM_CPU_PROCESSOR (r/w)
64+
65+Allows user space to retrieve or request to change cpu related information for a vcpu:
66+
67+struct kvm_s390_vm_cpu_processor {
68+ __u64 cpuid; # CPUID currently (to be) used by this vcpu
69+ __u16 ibc; # IBC level currently (to be) used by this vcpu
70+ __u8 pad[6];
71+ __u64 fac_list[256]; # set of cpu facilities currently (to be) used
72+ # by this vcpu
73+}
74+
75+KVM does not enforce or limit the cpu model data in any form. Take the information
76+retrieved by means of KVM_S390_VM_CPU_MACHINE as hint for reasonable configuration
77+setups. Instruction interceptions triggered by additionally set facilitiy bits that
78+are not handled by KVM need to by imlemented in the VM driver code.
79+
80+Parameters: address of buffer to store/set the processor related cpu
81+ data of type struct kvm_s390_vm_cpu_processor*.
82+Returns: -EBUSY in case 1 or more vcpus are already activated (only in write case)
83+ -EFAULT if the given address is not accessible from kernel space
84+ -ENOMEM if not enough memory is available to process the ioctl
85+ 0 in case of success
Documentation/virtual/paravirt_ops.txt+32−0
@@ -0,0 +1,32 @@
1+Paravirt_ops
2+============
3+
4+Linux provides support for different hypervisor virtualization technologies.
5+Historically different binary kernels would be required in order to support
6+different hypervisors, this restriction was removed with pv_ops.
7+Linux pv_ops is a virtualization API which enables support for different
8+hypervisors. It allows each hypervisor to override critical operations and
9+allows a single kernel binary to run on all supported execution environments
10+including native machine -- without any hypervisors.
11+
12+pv_ops provides a set of function pointers which represent operations
13+corresponding to low level critical instructions and high level
14+functionalities in various areas. pv-ops allows for optimizations at run
15+time by enabling binary patching of the low-ops critical operations
16+at boot time.
17+
18+pv_ops operations are classified into three categories:
19+
20+- simple indirect call
21+ These operations correspond to high level functionality where it is
22+ known that the overhead of indirect call isn't very important.
23+
24+- indirect call which allows optimization with binary patch
25+ Usually these operations correspond to low level critical instructions. They
26+ are called frequently and are performance critical. The overhead is
27+ very important.
28+
29+- a set of macros for hand written assembly code
30+ Hand written assembly codes (.S files) also need paravirtualization
31+ because they include sensitive instructions or some of code paths in
32+ them are very performance critical.
Documentation/vm/cleancache.txt+1−1
@@ -85,7 +85,7 @@ lock the page to ensure serial behavior. · 84 unmodified lines
8585 CLEANCACHE PERFORMANCE METRICS
8686
8787 If properly configured, monitoring of cleancache is done via debugfs in
88−the /sys/kernel/debug/mm/cleancache directory. The effectiveness of cleancache
88+the /sys/kernel/debug/cleancache directory. The effectiveness of cleancache
8989 can be measured (across all filesystems) with:
9090
9191 succ_gets - number of gets that were successful
Documentation/vm/pagemap.txt+8−0
@@ -62,6 +62,8 @@ There are three components to pagemap: · 61 unmodified lines
6262 20. NOPAGE
6363 21. KSM
6464 22. THP
65+ 23. BALLOON
66+ 24. ZERO_PAGE
6567
6668 Short descriptions to the page flags:
6769
@@ -102,6 +104,12 @@ Short descriptions to the page flags: · 34 unmodified lines
102104 22. THP
103105 contiguous pages which construct transparent hugepages
104106
107+23. BALLOON
108+ balloon compaction page
109+
110+24. ZERO_PAGE
111+ zero page for pfn_zero or huge_zero page
112+
105113 [IO related page flags]
106114 1. ERROR IO error occurred
107115 3. UPTODATE page has up-to-date data
Documentation/vm/remap_file_pages.txt+3−4
@@ -18,10 +18,9 @@ on 32-bit systems to map files bigger than can linearly fit into 32-bit · 17 unmodified lines
1818 virtual address space. This use-case is not critical anymore since 64-bit
1919 systems are widely available.
2020
21−The plan is to deprecate the syscall and replace it with an emulation.
22−The emulation will create new VMAs instead of nonlinear mappings. It's
23−going to work slower for rare users of remap_file_pages() but ABI is
24−preserved.
21+The syscall is deprecated and replaced it with an emulation now. The
22+emulation creates new VMAs instead of nonlinear mappings. It's going to
23+work slower for rare users of remap_file_pages() but ABI is preserved.
2524
2625 One side effect of emulation (apart from performance) is that user can hit
2726 vm.max_map_count limit more easily due to additional VMAs. See comment for
Documentation/x86/x86_64/mm.txt+2−0
@@ -12,6 +12,8 @@ ffffc90000000000 - ffffe8ffffffffff (=45 bits) vmalloc/ioremap space · 11 unmodified lines
1212 ffffe90000000000 - ffffe9ffffffffff (=40 bits) hole
1313 ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)
1414 ... unused hole ...
15+ffffec0000000000 - fffffc0000000000 (=44 bits) kasan shadow memory (16TB)
16+... unused hole ...
1517 ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
1618 ... unused hole ...
1719 ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0
Documentation/x86/zero-page.txt+1−1
@@ -3,7 +3,7 @@ protocol of kernel. These should be filled by bootloader or 16-bit · 2 unmodified lines
33 real-mode setup code of the kernel. References/settings to it mainly
44 are in:
55
6− arch/x86/include/asm/bootparam.h
6+ arch/x86/include/uapi/asm/bootparam.h
77
88
99 Offset Proto Name Meaning
Kbuild+21−40
@@ -5,24 +5,23 @@ · 4 unmodified lines
55 # 2) Generate asm-offsets.h (may need bounds.h)
66 # 3) Check for missing system calls
77
8−#####
9−# 1) Generate bounds.h
10−
11−bounds-file := include/generated/bounds.h
12−
13−always := $(bounds-file)
14−targets := $(bounds-file) kernel/bounds.s
8+# Default sed regexp - multiline due to syntax constraints
9+define sed-y
10+ "/^->/{s:->#\(.*\):/* \1 */:; \
11+ s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
12+ s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
13+ s:->::; p;}"
14+endef
1515
16−quiet_cmd_bounds = GEN $@
17−define cmd_bounds
16+quiet_cmd_offsets = GEN $@
17+define cmd_offsets
1818 (set -e; \
19− echo "#ifndef __LINUX_BOUNDS_H__"; \
20− echo "#define __LINUX_BOUNDS_H__"; \
19+ echo "#ifndef $2"; \
20+ echo "#define $2"; \
2121 echo "/*"; \
2222 echo " * DO NOT MODIFY."; \
2323 echo " *"; \
2424 echo " * This file was generated by Kbuild"; \
25− echo " *"; \
2625 echo " */"; \
2726 echo ""; \
2827 sed -ne $(sed-y) $<; \
@@ -30,6 +29,14 @@ define cmd_bounds · 1 unmodified line
3029 echo "#endif" ) > $@
3130 endef
3231
32+#####
33+# 1) Generate bounds.h
34+
35+bounds-file := include/generated/bounds.h
36+
37+always := $(bounds-file)
38+targets := $(bounds-file) kernel/bounds.s
39+
3340 # We use internal kbuild rules to avoid the "is up to date" message from make
3441 kernel/bounds.s: kernel/bounds.c FORCE
3542 $(Q)mkdir -p $(dir $@)
@@ -37,7 +44,7 @@ kernel/bounds.s: kernel/bounds.c FORCE · 1 unmodified line
3744
3845 $(obj)/$(bounds-file): kernel/bounds.s Kbuild
3946 $(Q)mkdir -p $(dir $@)
40− $(call cmd,bounds)
47+ $(call cmd,offsets,__LINUX_BOUNDS_H__)
4148
4249 #####
4350 # 2) Generate asm-offsets.h
@@ -49,32 +56,6 @@ always += $(offsets-file) · 5 unmodified lines
4956 targets += $(offsets-file)
5057 targets += arch/$(SRCARCH)/kernel/asm-offsets.s
5158
52−
53−# Default sed regexp - multiline due to syntax constraints
54−define sed-y
55− "/^->/{s:->#\(.*\):/* \1 */:; \
56− s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
57− s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
58− s:->::; p;}"
59−endef
60−
61−quiet_cmd_offsets = GEN $@
62−define cmd_offsets
63− (set -e; \
64− echo "#ifndef __ASM_OFFSETS_H__"; \
65− echo "#define __ASM_OFFSETS_H__"; \
66− echo "/*"; \
67− echo " * DO NOT MODIFY."; \
68− echo " *"; \
69− echo " * This file was generated by Kbuild"; \
70− echo " *"; \
71− echo " */"; \
72− echo ""; \
73− sed -ne $(sed-y) $<; \
74− echo ""; \
75− echo "#endif" ) > $@
76−endef
77−
7859 # We use internal kbuild rules to avoid the "is up to date" message from make
7960 arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \
8061 $(obj)/$(bounds-file) FORCE
@@ -82,7 +63,7 @@ arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \ · 1 unmodified line
8263 $(call if_changed_dep,cc_s_c)
8364
8465 $(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild
85− $(call cmd,offsets)
66+ $(call cmd,offsets,__ASM_OFFSETS_H__)
8667
8768 #####
8869 # 3) Check for missing system calls
MAINTAINERS+221−51
@@ -34,7 +34,7 @@ trivial patch so apply some common sense. · 33 unmodified lines
3434 generalized kernel feature ready for next time.
3535
3636 PLEASE check your patch with the automated style checker
37− (scripts/checkpatch.pl) to catch trival style violations.
37+ (scripts/checkpatch.pl) to catch trivial style violations.
3838 See Documentation/CodingStyle for guidance here.
3939
4040 PLEASE CC: the maintainers and mailing lists that are generated
@@ -270,12 +270,12 @@ F: drivers/acpi/ · 229 unmodified lines
270270 F: drivers/pnp/pnpacpi/
271271 F: include/linux/acpi.h
272272 F: include/acpi/
273−F: Documentation/acpi
273+F: Documentation/acpi/
274274 F: Documentation/ABI/testing/sysfs-bus-acpi
275275 F: drivers/pci/*acpi*
276276 F: drivers/pci/*/*acpi*
277277 F: drivers/pci/*/*/*acpi*
278−F: tools/power/acpi
278+F: tools/power/acpi/
279279
280280 ACPI COMPONENT ARCHITECTURE (ACPICA)
281281 M: Robert Moore <robert.moore@intel.com>
@@ -563,6 +563,12 @@ S: Odd Fixes · 281 unmodified lines
563563 L: linux-alpha@vger.kernel.org
564564 F: arch/alpha/
565565
566+ALTERA MAILBOX DRIVER
567+M: Ley Foon Tan <lftan@altera.com>
568+L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
569+S: Maintained
570+F: drivers/mailbox/mailbox-altera.c
571+
566572 ALTERA TRIPLE SPEED ETHERNET DRIVER
567573 M: Vince Bridgers <vbridger@opensource.altera.com>
568574 L: netdev@vger.kernel.org
@@ -624,6 +630,8 @@ L: dri-devel@lists.freedesktop.org · 55 unmodified lines
624630 T: git git://people.freedesktop.org/~gabbayo/linux.git
625631 S: Supported
626632 F: drivers/gpu/drm/amd/amdkfd/
633+F: drivers/gpu/drm/amd/include/cik_structs.h
634+F: drivers/gpu/drm/amd/include/kgd_kfd_interface.h
627635 F: drivers/gpu/drm/radeon/radeon_kfd.c
628636 F: drivers/gpu/drm/radeon/radeon_kfd.h
629637 F: include/uapi/linux/kfd_ioctl.h
@@ -659,6 +667,13 @@ L: linux-media@vger.kernel.org · 29 unmodified lines
659667 S: Maintained
660668 F: drivers/media/i2c/ad9389b*
661669
670+ANALOG DEVICES INC ADV7180 DRIVER
671+M: Lars-Peter Clausen <lars@metafoo.de>
672+L: linux-media@vger.kernel.org
673+W: http://ez.analog.com/community/linux-device-drivers
674+S: Supported
675+F: drivers/media/i2c/adv7180.c
676+
662677 ANALOG DEVICES INC ADV7511 DRIVER
663678 M: Hans Verkuil <hans.verkuil@cisco.com>
664679 L: linux-media@vger.kernel.org
@@ -880,6 +895,7 @@ F: arch/arm/boot/dts/at91*.dts · 215 unmodified lines
880895 F: arch/arm/boot/dts/at91*.dtsi
881896 F: arch/arm/boot/dts/sama*.dts
882897 F: arch/arm/boot/dts/sama*.dtsi
898+F: arch/arm/include/debug/at91.S
883899
884900 ARM/ATMEL AT91 Clock Support
885901 M: Boris Brezillon <boris.brezillon@free-electrons.com>
@@ -961,7 +977,7 @@ S: Maintained · 75 unmodified lines
961977 F: arch/arm/mach-prima2/
962978 F: drivers/clk/sirf/
963979 F: drivers/clocksource/timer-prima2.c
964−F: drivers/clocksource/timer-marco.c
980+F: drivers/clocksource/timer-atlas7.c
965981 N: [^a-z]sirf
966982
967983 ARM/EBSA110 MACHINE SUPPORT
@@ -1160,6 +1176,7 @@ M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> · 192 unmodified lines
11601176 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
11611177 S: Maintained
11621178 F: arch/arm/mach-mvebu/
1179+F: drivers/rtc/armada38x-rtc
11631180
11641181 ARM/Marvell Berlin SoC support
11651182 M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
@@ -1293,10 +1310,13 @@ S: Maintained · 127 unmodified lines
12931310
12941311 ARM/QUALCOMM SUPPORT
12951312 M: Kumar Gala <galak@codeaurora.org>
1313+M: Andy Gross <agross@codeaurora.org>
12961314 M: David Brown <davidb@codeaurora.org>
12971315 L: linux-arm-msm@vger.kernel.org
1316+L: linux-soc@vger.kernel.org
12981317 S: Maintained
12991318 F: arch/arm/mach-qcom/
1319+F: drivers/soc/qcom/
13001320 T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git
13011321
13021322 ARM/RADISYS ENP2611 MACHINE SUPPORT
@@ -1398,7 +1418,6 @@ F: arch/arm/configs/ape6evm_defconfig · 95 unmodified lines
13981418 F: arch/arm/configs/armadillo800eva_defconfig
13991419 F: arch/arm/configs/bockw_defconfig
14001420 F: arch/arm/configs/kzm9g_defconfig
1401−F: arch/arm/configs/lager_defconfig
14021421 F: arch/arm/configs/mackerel_defconfig
14031422 F: arch/arm/configs/marzen_defconfig
14041423 F: arch/arm/configs/shmobile_defconfig
@@ -1586,12 +1605,14 @@ N: xilinx · 181 unmodified lines
15861605 F: drivers/clocksource/cadence_ttc_timer.c
15871606 F: drivers/i2c/busses/i2c-cadence.c
15881607 F: drivers/mmc/host/sdhci-of-arasan.c
1608+F: drivers/edac/synopsys_edac.c
15891609
15901610 ARM SMMU DRIVER
15911611 M: Will Deacon <will.deacon@arm.com>
15921612 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
15931613 S: Maintained
15941614 F: drivers/iommu/arm-smmu.c
1615+F: drivers/iommu/io-pgtable-arm.c
15951616
15961617 ARM64 PORT (AARCH64 ARCHITECTURE)
15971618 M: Catalin Marinas <catalin.marinas@arm.com>
@@ -1660,7 +1681,6 @@ M: Jiri Slaby <jirislaby@gmail.com> · 62 unmodified lines
16601681 M: Nick Kossifidis <mickflemm@gmail.com>
16611682 M: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
16621683 L: linux-wireless@vger.kernel.org
1663−L: ath5k-devel@lists.ath5k.org
16641684 W: http://wireless.kernel.org/en/users/Drivers/ath5k
16651685 S: Maintained
16661686 F: drivers/net/wireless/ath/ath5k/
@@ -2127,7 +2147,7 @@ F: arch/arm/boot/dts/bcm470* · 460 unmodified lines
21272147 BROADCOM BCM63XX ARM ARCHITECTURE
21282148 M: Florian Fainelli <f.fainelli@gmail.com>
21292149 L: linux-arm-kernel@lists.infradead.org
2130−T: git git://git.github.com/brcm/linux.git
2150+T: git git://github.com/broadcom/arm-bcm63xx.git
21312151 S: Maintained
21322152 F: arch/arm/mach-bcm/bcm63xx.c
21332153 F: arch/arm/include/debug/bcm63xx.S
@@ -2144,6 +2164,7 @@ M: Brian Norris <computersforpeace@gmail.com> · 10 unmodified lines
21442164 M: Gregory Fong <gregory.0xf0@gmail.com>
21452165 M: Florian Fainelli <f.fainelli@gmail.com>
21462166 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2167+T: git git://github.com/broadcom/stblinux.git
21472168 S: Maintained
21482169 F: arch/arm/mach-bcm/*brcmstb*
21492170 F: arch/arm/boot/dts/bcm7*.dts*
@@ -2153,6 +2174,7 @@ BROADCOM BMIPS MIPS ARCHITECTURE · 3 unmodified lines
21532174 M: Kevin Cernekee <cernekee@gmail.com>
21542175 M: Florian Fainelli <f.fainelli@gmail.com>
21552176 L: linux-mips@linux-mips.org
2177+T: git git://github.com/broadcom/stblinux.git
21562178 S: Maintained
21572179 F: arch/mips/bmips/*
21582180 F: arch/mips/include/asm/mach-bmips/*
@@ -2195,7 +2217,7 @@ M: Ray Jui <rjui@broadcom.com> · 36 unmodified lines
21952217 M: Scott Branden <sbranden@broadcom.com>
21962218 L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
21972219 L: bcm-kernel-feedback-list@broadcom.com
2198−T: git git://git.github.com/brcm/linux.git
2220+T: git git://github.com/broadcom/cygnus-linux.git
21992221 S: Maintained
22002222 N: iproc
22012223 N: cygnus
@@ -2384,6 +2406,12 @@ F: security/capability.c · 182 unmodified lines
23842406 F: security/commoncap.c
23852407 F: kernel/capability.c
23862408
2409+CAPELLA MICROSYSTEMS LIGHT SENSOR DRIVER
2410+M: Kevin Tsai <ktsai@capellamicro.com>
2411+S: Maintained
2412+F: drivers/iio/light/cm*
2413+F: Documentation/devicetree/bindings/i2c/trivial-devices.txt
2414+
23872415 CC2520 IEEE-802.15.4 RADIO DRIVER
23882416 M: Varka Bhadram <varkabhadram@gmail.com>
23892417 L: linux-wpan@vger.kernel.org
@@ -2405,7 +2433,8 @@ F: arch/powerpc/oprofile/*cell* · 15 unmodified lines
24052433 F: arch/powerpc/platforms/cell/
24062434
24072435 CEPH DISTRIBUTED FILE SYSTEM CLIENT
2408−M: Sage Weil <sage@inktank.com>
2436+M: Yan, Zheng <zyan@redhat.com>
2437+M: Sage Weil <sage@redhat.com>
24092438 L: ceph-devel@vger.kernel.org
24102439 W: http://ceph.com/
24112440 T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
@@ -2942,6 +2971,12 @@ S: Supported · 530 unmodified lines
29422971 F: drivers/input/touchscreen/cyttsp*
29432972 F: include/linux/input/cyttsp.h
29442973
2974+DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK
2975+M: Joshua Kinard <kumba@gentoo.org>
2976+S: Maintained
2977+F: drivers/rtc/rtc-ds1685.c
2978+F: include/linux/rtc/ds1685.h
2979+
29452980 DAMA SLAVE for AX.25
29462981 M: Joerg Reuter <jreuter@yaina.de>
29472982 W: http://yaina.de/jreuter/
@@ -3018,6 +3053,7 @@ F: drivers/platform/x86/dell-laptop.c · 70 unmodified lines
30183053
30193054 DELL LAPTOP SMM DRIVER
30203055 M: Guenter Roeck <linux@roeck-us.net>
3056+S: Maintained
30213057 F: drivers/char/i8k.c
30223058 F: include/uapi/linux/i8k.h
30233059
@@ -3033,7 +3069,7 @@ S: Maintained · 9 unmodified lines
30333069 F: drivers/platform/x86/dell-wmi.c
30343070
30353071 DESIGNWARE USB2 DRD IP DRIVER
3036−M: Paul Zimmerman <paulz@synopsys.com>
3072+M: John Youn <johnyoun@synopsys.com>
30373073 L: linux-usb@vger.kernel.org
30383074 T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
30393075 S: Maintained
@@ -3129,6 +3165,12 @@ L: linux-i2c@vger.kernel.org · 89 unmodified lines
31293165 S: Maintained
31303166 F: drivers/i2c/busses/i2c-diolan-u2c.c
31313167
3168+DIRECT ACCESS (DAX)
3169+M: Matthew Wilcox <willy@linux.intel.com>
3170+L: linux-fsdevel@vger.kernel.org
3171+S: Supported
3172+F: fs/dax.c
3173+
31323174 DIRECTORY NOTIFICATION (DNOTIFY)
31333175 M: Eric Paris <eparis@parisplace.org>
31343176 S: Maintained
@@ -3213,6 +3255,7 @@ F: Documentation/ · 78 unmodified lines
32133255 X: Documentation/ABI/
32143256 X: Documentation/devicetree/
32153257 X: Documentation/[a-z][a-z]_[A-Z][A-Z]/
3258+T: git git://git.lwn.net/linux-2.6.git docs-next
32163259
32173260 DOUBLETALK DRIVER
32183261 M: "James R. Van Zandt" <jrv@vanzandt.mv.com>
@@ -3472,6 +3515,14 @@ M: "Maciej W. Rozycki" <macro@linux-mips.org> · 253 unmodified lines
34723515 S: Maintained
34733516 F: drivers/tty/serial/dz.*
34743517
3518+E3X0 POWER BUTTON DRIVER
3519+M: Moritz Fischer <moritz.fischer@ettus.com>
3520+L: usrp-users@lists.ettus.com
3521+W: http://www.ettus.com
3522+S: Supported
3523+F: drivers/input/misc/e3x0-button.c
3524+F: Documentation/devicetree/bindings/input/e3x0-button.txt
3525+
34753526 E4000 MEDIA DRIVER
34763527 M: Antti Palosaari <crope@iki.fi>
34773528 L: linux-media@vger.kernel.org
@@ -3513,6 +3564,8 @@ M: Borislav Petkov <bp@alien8.de> · 35 unmodified lines
35133564 M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
35143565 L: linux-edac@vger.kernel.org
35153566 W: bluesmoke.sourceforge.net
3567+T: git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git#for-next
3568+T: git://git.kernel.org/pub/linux/kernel/git/mchehab/linux-edac.git#linux_next
35163569 S: Supported
35173570 F: Documentation/edac.txt
35183571 F: drivers/edac/
@@ -3877,8 +3930,14 @@ S: Supported · 358 unmodified lines
38773930 F: Documentation/fault-injection/
38783931 F: lib/fault-inject.c
38793932
3933+FBTFT Framebuffer drivers
3934+M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3935+M: Noralf Trønnes <noralf@tronnes.org>
3936+S: Maintained
3937+F: drivers/staging/fbtft/
3938+
38803939 FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
3881−M: Robert Love <robert.w.love@intel.com>
3940+M: Vasu Dev <vasu.dev@intel.com>
38823941 L: fcoe-devel@open-fcoe.org
38833942 W: www.Open-FCoE.org
38843943 S: Supported
@@ -4034,6 +4093,12 @@ S: Maintained · 149 unmodified lines
40344093 F: include/linux/platform_data/video-imxfb.h
40354094 F: drivers/video/fbdev/imxfb.c
40364095
4096+FREESCALE QUAD SPI DRIVER
4097+M: Han Xu <han.xu@freescale.com>
4098+L: linux-mtd@lists.infradead.org
4099+S: Maintained
4100+F: drivers/mtd/spi-nor/fsl-quadspi.c
4101+
40374102 FREESCALE SOC FS_ENET DRIVER
40384103 M: Pantelis Antoniou <pantelis.antoniou@gmail.com>
40394104 M: Vitaly Bordug <vbordug@ru.mvista.com>
@@ -4174,6 +4239,11 @@ W: http://www.icp-vortex.com/ · 134 unmodified lines
41744239 S: Supported
41754240 F: drivers/scsi/gdt*
41764241
4242+GDB KERNEL DEBUGGING HELPER SCRIPTS
4243+M: Jan Kiszka <jan.kiszka@siemens.com>
4244+S: Supported
4245+F: scripts/gdb/
4246+
41774247 GEMTEK FM RADIO RECEIVER DRIVER
41784248 M: Hans Verkuil <hverkuil@xs4all.nl>
41794249 L: linux-media@vger.kernel.org
@@ -4408,6 +4478,7 @@ F: include/linux/hwmon*.h · 228 unmodified lines
44084478 HARDWARE RANDOM NUMBER GENERATOR CORE
44094479 M: Matt Mackall <mpm@selenic.com>
44104480 M: Herbert Xu <herbert@gondor.apana.org.au>
4481+L: linux-crypto@vger.kernel.org
44114482 S: Odd fixes
44124483 F: Documentation/hw_random.txt
44134484 F: drivers/char/hw_random/
@@ -4893,7 +4964,7 @@ F: drivers/ipack/ · 479 unmodified lines
48934964
48944965 INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
48954966 M: Mimi Zohar <zohar@linux.vnet.ibm.com>
4896−M: Dmitry Kasatkin <d.kasatkin@samsung.com>
4967+M: Dmitry Kasatkin <dmitry.kasatkin@gmail.com>
48974968 L: linux-ima-devel@lists.sourceforge.net
48984969 L: linux-ima-user@lists.sourceforge.net
48994970 L: linux-security-module@vger.kernel.org
@@ -4953,6 +5024,16 @@ F: Documentation/input/multi-touch-protocol.txt · 53 unmodified lines
49535024 F: drivers/input/input-mt.c
49545025 K: \b(ABS|SYN)_MT_
49555026
5027+INTEL ASoC BDW/HSW DRIVERS
5028+M: Jie Yang <yang.jie@linux.intel.com>
5029+L: alsa-devel@alsa-project.org
5030+S: Supported
5031+F: sound/soc/intel/sst-haswell*
5032+F: sound/soc/intel/sst-dsp*
5033+F: sound/soc/intel/sst-firmware.c
5034+F: sound/soc/intel/broadwell.c
5035+F: sound/soc/intel/haswell.c
5036+
49565037 INTEL C600 SERIES SAS CONTROLLER DRIVER
49575038 M: Intel SCU Linux support <intel-linux-scu@intel.com>
49585039 M: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
@@ -5840,6 +5921,21 @@ F: Documentation/misc-devices/lis3lv02d · 881 unmodified lines
58405921 F: drivers/misc/lis3lv02d/
58415922 F: drivers/platform/x86/hp_accel.c
58425923
5924+LIVE PATCHING
5925+M: Josh Poimboeuf <jpoimboe@redhat.com>
5926+M: Seth Jennings <sjenning@redhat.com>
5927+M: Jiri Kosina <jkosina@suse.cz>
5928+M: Vojtech Pavlik <vojtech@suse.cz>
5929+S: Maintained
5930+F: kernel/livepatch/
5931+F: include/linux/livepatch.h
5932+F: arch/x86/include/asm/livepatch.h
5933+F: arch/x86/kernel/livepatch.c
5934+F: Documentation/ABI/testing/sysfs-kernel-livepatch
5935+F: samples/livepatch/
5936+L: live-patching@vger.kernel.org
5937+T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git
5938+
58435939 LLC (802.2)
58445940 M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
58455941 S: Maintained
@@ -6138,6 +6234,33 @@ F: Documentation/devicetree/bindings/i2c/max6697.txt · 292 unmodified lines
61386234 F: drivers/hwmon/max6697.c
61396235 F: include/linux/platform_data/max6697.h
61406236
6237+MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
6238+M: Krzysztof Kozlowski <k.kozlowski@samsung.com>
6239+L: linux-pm@vger.kernel.org
6240+S: Supported
6241+F: drivers/power/max14577_charger.c
6242+F: drivers/power/max77693_charger.c
6243+
6244+MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS
6245+M: Chanwoo Choi <cw00.choi@samsung.com>
6246+M: Krzysztof Kozlowski <k.kozlowski@samsung.com>
6247+L: linux-kernel@vger.kernel.org
6248+S: Supported
6249+F: drivers/*/max14577.c
6250+F: drivers/*/max77686.c
6251+F: drivers/*/max77693.c
6252+F: drivers/extcon/extcon-max14577.c
6253+F: drivers/extcon/extcon-max77693.c
6254+F: drivers/rtc/rtc-max77686.c
6255+F: drivers/clk/clk-max77686.c
6256+F: Documentation/devicetree/bindings/mfd/max14577.txt
6257+F: Documentation/devicetree/bindings/mfd/max77686.txt
6258+F: Documentation/devicetree/bindings/mfd/max77693.txt
6259+F: Documentation/devicetree/bindings/clock/maxim,max77686.txt
6260+F: include/linux/mfd/max14577*.h
6261+F: include/linux/mfd/max77686*.h
6262+F: include/linux/mfd/max77693*.h
6263+
61416264 MAXIRADIO FM RADIO RECEIVER DRIVER
61426265 M: Hans Verkuil <hverkuil@xs4all.nl>
61436266 L: linux-media@vger.kernel.org
@@ -6168,14 +6291,6 @@ F: include/uapi/linux/meye.h · 24 unmodified lines
61686291 F: include/uapi/linux/ivtv*
61696292 F: include/uapi/linux/uvcvideo.h
61706293
6171−MEDIAVISION PRO MOVIE STUDIO DRIVER
6172−M: Hans Verkuil <hverkuil@xs4all.nl>
6173−L: linux-media@vger.kernel.org
6174−T: git git://linuxtv.org/media_tree.git
6175−W: http://linuxtv.org
6176−S: Odd Fixes
6177−F: drivers/media/parport/pms*
6178−
61796294 MEGARAID SCSI/SAS DRIVERS
61806295 M: Kashyap Desai <kashyap.desai@avagotech.com>
61816296 M: Sumit Saxena <sumit.saxena@avagotech.com>
@@ -6593,9 +6708,10 @@ F: include/uapi/linux/netrom.h · 411 unmodified lines
65936708 F: net/netrom/
65946709
65956710 NETWORK BLOCK DEVICE (NBD)
6596−M: Paul Clements <Paul.Clements@steeleye.com>
6711+M: Markus Pargmann <mpa@pengutronix.de>
65976712 S: Maintained
65986713 L: nbd-general@lists.sourceforge.net
6714+T: git git://git.pengutronix.de/git/mpa/linux-nbd.git
65996715 F: Documentation/blockdev/nbd.txt
66006716 F: drivers/block/nbd.c
66016717 F: include/linux/nbd.h
@@ -6624,6 +6740,7 @@ F: include/linux/netdevice.h · 22 unmodified lines
66246740 F: include/uapi/linux/in.h
66256741 F: include/uapi/linux/net.h
66266742 F: include/uapi/linux/netdevice.h
6743+F: include/uapi/linux/net_namespace.h
66276744 F: tools/net/
66286745 F: tools/testing/selftests/net/
66296746 F: lib/random32.c
@@ -6728,6 +6845,7 @@ F: Documentation/devicetree/bindings/net/nfc/ · 98 unmodified lines
67286845
67296846 NFS, SUNRPC, AND LOCKD CLIENTS
67306847 M: Trond Myklebust <trond.myklebust@primarydata.com>
6848+M: Anna Schumaker <anna.schumaker@netapp.com>
67316849 L: linux-nfs@vger.kernel.org
67326850 W: http://client.linux-nfs.org
67336851 T: git git://git.linux-nfs.org/projects/trondmy/linux-nfs.git
@@ -6770,7 +6888,7 @@ F: drivers/scsi/nsp32* · 36 unmodified lines
67706888 NIOS2 ARCHITECTURE
67716889 M: Ley Foon Tan <lftan@altera.com>
67726890 L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
6773−T: git git://git.rocketboards.org/linux-socfpga.git
6891+T: git git://git.rocketboards.org/linux-socfpga-next.git
67746892 S: Maintained
67756893 F: arch/nios2/
67766894
@@ -6943,6 +7061,12 @@ L: linux-omap@vger.kernel.org · 166 unmodified lines
69437061 S: Maintained
69447062 F: arch/arm/mach-omap2/omap_hwmod.*
69457063
7064+OMAP HWMOD DATA
7065+M: Paul Walmsley <paul@pwsan.com>
7066+L: linux-omap@vger.kernel.org
7067+S: Maintained
7068+F: arch/arm/mach-omap2/omap_hwmod*data*
7069+
69467070 OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
69477071 M: Benoît Cousson <bcousson@baylibre.com>
69487072 L: linux-omap@vger.kernel.org
@@ -7062,11 +7186,12 @@ F: arch/openrisc/ · 113 unmodified lines
70627186
70637187 OPENVSWITCH
70647188 M: Pravin Shelar <pshelar@nicira.com>
7189+L: netdev@vger.kernel.org
70657190 L: dev@openvswitch.org
70667191 W: http://openvswitch.org
7067−T: git git://git.kernel.org/pub/scm/linux/kernel/git/pshelar/openvswitch.git
70687192 S: Maintained
70697193 F: net/openvswitch/
7194+F: include/uapi/linux/openvswitch.h
70707195
70717196 OPL4 DRIVER
70727197 M: Clemens Ladisch <clemens@ladisch.de>
@@ -7178,7 +7303,7 @@ M: Alok Kataria <akataria@vmware.com> · 105 unmodified lines
71787303 M: Rusty Russell <rusty@rustcorp.com.au>
71797304 L: virtualization@lists.linux-foundation.org
71807305 S: Supported
7181−F: Documentation/ia64/paravirt_ops.txt
7306+F: Documentation/virtual/paravirt_ops.txt
71827307 F: arch/*/kernel/paravirt*
71837308 F: arch/*/include/asm/paravirt.h
71847309
@@ -7264,6 +7389,14 @@ F: include/linux/pci* · 79 unmodified lines
72647389 F: arch/x86/pci/
72657390 F: arch/x86/kernel/quirks.c
72667391
7392+PCI DRIVER FOR ARM VERSATILE PLATFORM
7393+M: Rob Herring <robh@kernel.org>
7394+L: linux-pci@vger.kernel.org
7395+L: linux-arm-kernel@lists.infradead.org
7396+S: Maintained
7397+F: Documentation/devicetree/bindings/pci/versatile.txt
7398+F: drivers/pci/host/pci-versatile.c
7399+
72677400 PCI DRIVER FOR APPLIEDMICRO XGENE
72687401 M: Tanmay Inamdar <tinamdar@apm.com>
72697402 L: linux-pci@vger.kernel.org
@@ -7865,17 +7998,9 @@ T: git git://github.com/KrasnikovEugene/wcn36xx.git · 595 unmodified lines
78657998 S: Supported
78667999 F: drivers/net/wireless/ath/wcn36xx/
78678000
7868−QUICKCAM PARALLEL PORT WEBCAMS
7869−M: Hans Verkuil <hverkuil@xs4all.nl>
7870−L: linux-media@vger.kernel.org
7871−T: git git://linuxtv.org/media_tree.git
7872−W: http://linuxtv.org
7873−S: Odd Fixes
7874−F: drivers/media/parport/*-qcam*
7875−
78768001 RADOS BLOCK DEVICE (RBD)
7877−M: Yehuda Sadeh <yehuda@inktank.com>
7878−M: Sage Weil <sage@inktank.com>
8002+M: Ilya Dryomov <idryomov@gmail.com>
8003+M: Sage Weil <sage@redhat.com>
78798004 M: Alex Elder <elder@kernel.org>
78808005 M: ceph-devel@vger.kernel.org
78818006 W: http://ceph.com/
@@ -8061,6 +8186,13 @@ S: Maintained · 179 unmodified lines
80618186 F: Documentation/rfkill.txt
80628187 F: net/rfkill/
80638188
8189+RHASHTABLE
8190+M: Thomas Graf <tgraf@suug.ch>
8191+L: netdev@vger.kernel.org
8192+S: Maintained
8193+F: lib/rhashtable.c
8194+F: include/linux/rhashtable.h
8195+
80648196 RICOH SMARTMEDIA/XD DRIVER
80658197 M: Maxim Levitsky <maximlevitsky@gmail.com>
80668198 S: Maintained
@@ -8372,6 +8504,7 @@ SYNOPSYS DESIGNWARE DMAC DRIVER · 305 unmodified lines
83728504 M: Viresh Kumar <viresh.linux@gmail.com>
83738505 M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
83748506 S: Maintained
8507+F: include/linux/dma/dw.h
83758508 F: include/linux/platform_data/dma-dw.h
83768509 F: drivers/dma/dw/
83778510
@@ -8403,12 +8536,6 @@ F: kernel/time/clocksource.c · 25 unmodified lines
84038536 F: kernel/time/time*.c
84048537 F: kernel/time/ntp.c
84058538
8406−TLG2300 VIDEO4LINUX-2 DRIVER
8407−M: Huang Shijie <shijie8@gmail.com>
8408−M: Hans Verkuil <hverkuil@xs4all.nl>
8409−S: Odd Fixes
8410−F: drivers/media/usb/tlg2300/
8411−
84128539 SC1200 WDT DRIVER
84138540 M: Zwane Mwaikambo <zwanem@gmail.com>
84148541 S: Maintained
@@ -8440,7 +8567,7 @@ S: Maintained · 25 unmodified lines
84408567 F: drivers/scsi/sr*
84418568
84428569 SCSI RDMA PROTOCOL (SRP) INITIATOR
8443−M: Bart Van Assche <bvanassche@acm.org>
8570+M: Bart Van Assche <bart.vanassche@sandisk.com>
84448571 L: linux-rdma@vger.kernel.org
84458572 S: Supported
84468573 W: http://www.openfabrics.org
@@ -8774,6 +8901,15 @@ S: Maintained · 327 unmodified lines
87748901 F: drivers/media/platform/davinci/
87758902 F: include/media/davinci/
87768903
8904+TI AM437X VPFE DRIVER
8905+M: Lad, Prabhakar <prabhakar.csengg@gmail.com>
8906+L: linux-media@vger.kernel.org
8907+W: http://linuxtv.org/
8908+Q: http://patchwork.linuxtv.org/project/linux-media/list/
8909+T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
8910+S: Maintained
8911+F: drivers/media/platform/am437x/
8912+
87778913 SIS 190 ETHERNET DRIVER
87788914 M: Francois Romieu <romieu@fr.zoreil.com>
87798915 L: netdev@vger.kernel.org
@@ -8855,6 +8991,8 @@ F: drivers/media/i2c/smiapp/ · 75 unmodified lines
88558991 F: include/media/smiapp.h
88568992 F: drivers/media/i2c/smiapp-pll.c
88578993 F: drivers/media/i2c/smiapp-pll.h
8994+F: include/uapi/linux/smiapp.h
8995+F: Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
88588996
88598997 SMM665 HARDWARE MONITOR DRIVER
88608998 M: Guenter Roeck <linux@roeck-us.net>
@@ -8921,6 +9059,7 @@ SOFTLOGIC 6x10 MPEG CODEC · 60 unmodified lines
89219059 M: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
89229060 M: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
89239061 M: Andrey Utkin <andrey.krieger.utkin@gmail.com>
9062+M: Ismael Luceno <ismael@iodev.co.uk>
89249063 L: linux-media@vger.kernel.org
89259064 S: Supported
89269065 F: drivers/media/pci/solo6x10/
@@ -9193,6 +9332,14 @@ L: linux-wireless@vger.kernel.org · 266 unmodified lines
91939332 S: Maintained
91949333 F: drivers/staging/rtl8723au/
91959334
9335+STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
9336+M: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
9337+M: Teddy Wang <teddy.wang@siliconmotion.com>
9338+M: Sudip Mukherjee <sudip@vectorindia.org>
9339+L: linux-fbdev@vger.kernel.org
9340+S: Maintained
9341+F: drivers/staging/sm7xxfb/
9342+
91969343 STAGING - SLICOSS
91979344 M: Lior Dotan <liodot@gmail.com>
91989345 M: Christopher Harrer <charrer@alacritech.com>
@@ -9233,6 +9380,13 @@ F: arch/m68k/sun3*/ · 34 unmodified lines
92339380 F: arch/m68k/include/asm/sun3*
92349381 F: drivers/net/ethernet/i825xx/sun3*
92359382
9383+SUN4I LOW RES ADC ATTACHED TABLET KEYS DRIVER
9384+M: Hans de Goede <hdegoede@redhat.com>
9385+L: linux-input@vger.kernel.org
9386+S: Maintained
9387+F: Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
9388+F: drivers/input/keyboard/sun4i-lradc-keys.c
9389+
92369390 SUNDANCE NETWORK DRIVER
92379391 M: Denis Kirjanov <kda@linux-powerpc.org>
92389392 L: netdev@vger.kernel.org
@@ -9241,7 +9395,6 @@ F: drivers/net/ethernet/dlink/sundance.c · 2 unmodified lines
92419395
92429396 SUPERH
92439397 L: linux-sh@vger.kernel.org
9244−W: http://www.linux-sh.org
92459398 Q: http://patchwork.kernel.org/project/linux-sh/list/
92469399 S: Orphan
92479400 F: Documentation/sh/
@@ -9566,6 +9719,11 @@ L: linux-omap@vger.kernel.org · 318 unmodified lines
95669719 S: Maintained
95679720 F: drivers/thermal/ti-soc-thermal/
95689721
9722+TI CDCE706 CLOCK DRIVER
9723+M: Max Filippov <jcmvbkbc@gmail.com>
9724+S: Maintained
9725+F: drivers/clk/clk-cdce706.c
9726+
95699727 TI CLOCK DRIVER
95709728 M: Tero Kristo <t-kristo@ti.com>
95719729 L: linux-omap@vger.kernel.org
@@ -9620,6 +9778,13 @@ F: drivers/power/lp8788-charger.c · 48 unmodified lines
96209778 F: drivers/regulator/lp8788-*.c
96219779 F: include/linux/mfd/lp8788*.h
96229780
9781+TI NETCP ETHERNET DRIVER
9782+M: Wingman Kwok <w-kwok2@ti.com>
9783+M: Murali Karicheri <m-karicheri2@ti.com>
9784+L: netdev@vger.kernel.org
9785+S: Maintained
9786+F: drivers/net/ethernet/ti/netcp*
9787+
96239788 TI TWL4030 SERIES SOC CODEC DRIVER
96249789 M: Peter Ujfalusi <peter.ujfalusi@ti.com>
96259790 L: alsa-devel@alsa-project.org (moderated for non-subscribers)
@@ -9647,7 +9812,7 @@ F: net/tipc/ · 21 unmodified lines
96479812
96489813 TILE ARCHITECTURE
96499814 M: Chris Metcalf <cmetcalf@ezchip.com>
9650−W: http://www.tilera.com/scm/
9815+W: http://www.ezchip.com/scm/
96519816 S: Supported
96529817 F: arch/tile/
96539818 F: drivers/char/tile-srom.c
@@ -9740,13 +9905,21 @@ F: drivers/media/pci/tw68/ · 86 unmodified lines
97409905
97419906 TPM DEVICE DRIVER
97429907 M: Peter Huewe <peterhuewe@gmx.de>
9743−M: Ashley Lai <ashley@ashleylai.com>
97449908 M: Marcel Selhorst <tpmdd@selhorst.net>
97459909 W: http://tpmdd.sourceforge.net
97469910 L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
9911+Q: git git://github.com/PeterHuewe/linux-tpmdd.git
9912+T: https://github.com/PeterHuewe/linux-tpmdd
97479913 S: Maintained
97489914 F: drivers/char/tpm/
97499915
9916+TPM IBM_VTPM DEVICE DRIVER
9917+M: Ashley Lai <ashleydlai@gmail.com>
9918+W: http://tpmdd.sourceforge.net
9919+L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
9920+S: Maintained
9921+F: drivers/char/tpm/tpm_ibmvtpm*
9922+
97509923 TRACING
97519924 M: Steven Rostedt <rostedt@goodmis.org>
97529925 M: Ingo Molnar <mingo@redhat.com>
@@ -9901,20 +10074,15 @@ F: drivers/scsi/ufs/ · 148 unmodified lines
990110074
990210075 UNSORTED BLOCK IMAGES (UBI)
990310076 M: Artem Bityutskiy <dedekind1@gmail.com>
10077+M: Richard Weinberger <richard@nod.at>
990410078 W: http://www.linux-mtd.infradead.org/
990510079 L: linux-mtd@lists.infradead.org
990610080 T: git git://git.infradead.org/ubifs-2.6.git
9907−S: Maintained
10081+S: Supported
990810082 F: drivers/mtd/ubi/
990910083 F: include/linux/mtd/ubi.h
991010084 F: include/uapi/mtd/ubi-user.h
991110085
9912−UNSORTED BLOCK IMAGES (UBI) Fastmap
9913−M: Richard Weinberger <richard@nod.at>
9914−L: linux-mtd@lists.infradead.org
9915−S: Maintained
9916−F: drivers/mtd/ubi/fastmap.c
9917−
991810086 USB ACM DRIVER
991910087 M: Oliver Neukum <oliver@neukum.org>
992010088 L: linux-usb@vger.kernel.org
@@ -10604,6 +10772,7 @@ F: drivers/pci/*xen* · 683 unmodified lines
1060410772
1060510773 XEN BLOCK SUBSYSTEM
1060610774 M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
10775+M: Roger Pau Monné <roger.pau@citrix.com>
1060710776 L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
1060810777 S: Supported
1060910778 F: drivers/block/xen-blkback/*
@@ -10659,6 +10828,7 @@ M: Max Filippov <jcmvbkbc@gmail.com> · 49 unmodified lines
1065910828 L: linux-xtensa@linux-xtensa.org
1066010829 S: Maintained
1066110830 F: drivers/spi/spi-xtensa-xtfpga.c
10831+F: sound/soc/xtensa/xtfpga-i2s.c
1066210832
1066310833 YAM DRIVER FOR AX.25
1066410834 M: Jean-Paul Roubelat <jpr@f6fbb.org>
Makefile+17−9
@@ -1,8 +1,8 @@
1−VERSION = 3
2−PATCHLEVEL = 19
1+VERSION = 4
2+PATCHLEVEL = 0
33 SUBLEVEL = 0
4−EXTRAVERSION = -rc7
5−NAME = Diseased Newt
4+EXTRAVERSION = -rc1
5+NAME = Hurr durr I'ma sheep
66
77 # *DOCUMENTATION*
88 # To see a list of typical targets execute "make help"
@@ -423,7 +423,7 @@ export MAKE AWK GENKSYMS INSTALLKERNEL PERL PYTHON UTS_MACHINE · 414 unmodified lines
423423 export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
424424
425425 export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
426−export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV
426+export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV CFLAGS_KASAN
427427 export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
428428 export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
429429 export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
@@ -502,7 +502,7 @@ endif · 72 unmodified lines
502502 ifeq ($(KBUILD_EXTMOD),)
503503 ifneq ($(filter config %config,$(MAKECMDGOALS)),)
504504 config-targets := 1
505− ifneq ($(filter-out config %config,$(MAKECMDGOALS)),)
505+ ifneq ($(words $(MAKECMDGOALS)),1)
506506 mixed-targets := 1
507507 endif
508508 endif
@@ -726,10 +726,14 @@ KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \ · 217 unmodified lines
726726 endif
727727
728728 ifdef CONFIG_FUNCTION_TRACER
729+ifndef CC_FLAGS_FTRACE
730+CC_FLAGS_FTRACE := -pg
731+endif
732+export CC_FLAGS_FTRACE
729733 ifdef CONFIG_HAVE_FENTRY
730734 CC_USING_FENTRY := $(call cc-option, -mfentry -DCC_USING_FENTRY)
731735 endif
732−KBUILD_CFLAGS += -pg $(CC_USING_FENTRY)
736+KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_USING_FENTRY)
733737 KBUILD_AFLAGS += $(CC_USING_FENTRY)
734738 ifdef CONFIG_DYNAMIC_FTRACE
735739 ifdef CONFIG_HAVE_C_RECORDMCOUNT
@@ -777,6 +781,7 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) · 41 unmodified lines
777781 KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
778782 endif
779783
784+include $(srctree)/scripts/Makefile.kasan
780785 include $(srctree)/scripts/Makefile.extrawarn
781786
782787 # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
@@ -921,6 +926,9 @@ ifdef CONFIG_SAMPLES · 138 unmodified lines
921926 endif
922927 ifdef CONFIG_BUILD_DOCSRC
923928 $(Q)$(MAKE) $(build)=Documentation
929+endif
930+ifdef CONFIG_GDB_SCRIPTS
931+ $(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py
924932 endif
925933 +$(call if_changed,link-vmlinux)
926934
@@ -1172,11 +1180,11 @@ CLEAN_DIRS += $(MODVERDIR) · 245 unmodified lines
11721180 # Directories & files removed with 'make mrproper'
11731181 MRPROPER_DIRS += include/config usr/include include/generated \
11741182 arch/*/include/generated .tmp_objdiff
1175−MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \
1183+MRPROPER_FILES += .config .config.old .version .old_version \
11761184 Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
11771185 signing_key.priv signing_key.x509 x509.genkey \
11781186 extra_certificates signing_key.x509.keyid \
1179− signing_key.x509.signer
1187+ signing_key.x509.signer vmlinux-gdb.py
11801188
11811189 # clean - Delete most, but leave enough to build external modules
11821190 #
arch/alpha/include/asm/pgtable.h+1−8
@@ -45,7 +45,7 @@ struct vm_area_struct; · 44 unmodified lines
4545 #define PTRS_PER_PMD (1UL << (PAGE_SHIFT-3))
4646 #define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3))
4747 #define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
48−#define FIRST_USER_ADDRESS 0
48+#define FIRST_USER_ADDRESS 0UL
4949
5050 /* Number of pointers that fit on a page: this will go away. */
5151 #define PTRS_PER_PAGE (1UL << (PAGE_SHIFT-3))
@@ -73,7 +73,6 @@ struct vm_area_struct; · 21 unmodified lines
7373 /* .. and these are ours ... */
7474 #define _PAGE_DIRTY 0x20000
7575 #define _PAGE_ACCESSED 0x40000
76−#define _PAGE_FILE 0x80000 /* set:pagecache, unset:swap */
7776
7877 /*
7978 * NOTE! The "accessed" bit isn't necessarily exact: it can be kept exactly
@@ -268,7 +267,6 @@ extern inline void pgd_clear(pgd_t * pgdp) { pgd_val(*pgdp) = 0; } · 188 unmodified lines
268267 extern inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_FOW); }
269268 extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
270269 extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
271−extern inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
272270 extern inline int pte_special(pte_t pte) { return 0; }
273271
274272 extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_FOW; return pte; }
@@ -345,11 +343,6 @@ extern inline pte_t mk_swap_pte(unsigned long type, unsigned long offset) · 70 unmodified lines
345343 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
346344 #define __swp_entry_to_pte(x) ((pte_t) { (x).val })
347345
348−#define pte_to_pgoff(pte) (pte_val(pte) >> 32)
349−#define pgoff_to_pte(off) ((pte_t) { ((off) << 32) | _PAGE_FILE })
350−
351−#define PTE_FILE_MAX_BITS 32
352−
353346 #ifndef CONFIG_DISCONTIGMEM
354347 #define kern_addr_valid(addr) (1)
355348 #endif
arch/alpha/include/asm/thread_info.h+0−5
@@ -27,8 +27,6 @@ struct thread_info { · 26 unmodified lines
2727 int bpt_nsaved;
2828 unsigned long bpt_addr[2]; /* breakpoint handling */
2929 unsigned int bpt_insn[2];
30−
31− struct restart_block restart_block;
3230 };
3331
3432 /*
@@ -40,9 +38,6 @@ struct thread_info { · 5 unmodified lines
4038 .exec_domain = &default_exec_domain, \
4139 .addr_limit = KERNEL_DS, \
4240 .preempt_count = INIT_PREEMPT_COUNT, \
43− .restart_block = { \
44− .fn = do_no_restart_syscall, \
45− }, \
4641 }
4742
4843 #define init_thread_info (init_thread_union.thread_info)
arch/alpha/include/asm/uaccess.h+43−43
@@ -27,7 +27,7 @@ · 26 unmodified lines
2727 #define get_ds() (KERNEL_DS)
2828 #define set_fs(x) (current_thread_info()->addr_limit = (x))
2929
30−#define segment_eq(a,b) ((a).seg == (b).seg)
30+#define segment_eq(a, b) ((a).seg == (b).seg)
3131
3232 /*
3333 * Is a address valid? This does a straightforward calculation rather
@@ -39,13 +39,13 @@ · 5 unmodified lines
3939 * - AND "addr+size" doesn't have any high-bits set
4040 * - OR we are in kernel mode.
4141 */
42−#define __access_ok(addr,size,segment) \
42+#define __access_ok(addr, size, segment) \
4343 (((segment).seg & (addr | size | (addr+size))) == 0)
4444
45−#define access_ok(type,addr,size) \
45+#define access_ok(type, addr, size) \
4646 ({ \
4747 __chk_user_ptr(addr); \
48− __access_ok(((unsigned long)(addr)),(size),get_fs()); \
48+ __access_ok(((unsigned long)(addr)), (size), get_fs()); \
4949 })
5050
5151 /*
@@ -60,20 +60,20 @@ · 8 unmodified lines
6060 * (a) re-use the arguments for side effects (sizeof/typeof is ok)
6161 * (b) require any knowledge of processes at this stage
6262 */
63−#define put_user(x,ptr) \
64− __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)),get_fs())
65−#define get_user(x,ptr) \
66− __get_user_check((x),(ptr),sizeof(*(ptr)),get_fs())
63+#define put_user(x, ptr) \
64+ __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)), get_fs())
65+#define get_user(x, ptr) \
66+ __get_user_check((x), (ptr), sizeof(*(ptr)), get_fs())
6767
6868 /*
6969 * The "__xxx" versions do not do address space checking, useful when
7070 * doing multiple accesses to the same area (the programmer has to do the
7171 * checks by hand with "access_ok()")
7272 */
73−#define __put_user(x,ptr) \
74− __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))
75−#define __get_user(x,ptr) \
76− __get_user_nocheck((x),(ptr),sizeof(*(ptr)))
73+#define __put_user(x, ptr) \
74+ __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
75+#define __get_user(x, ptr) \
76+ __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
7777
7878 /*
7979 * The "lda %1, 2b-1b(%0)" bits are magic to get the assembler to
@@ -84,7 +84,7 @@ · 4 unmodified lines
8484
8585 extern void __get_user_unknown(void);
8686
87−#define __get_user_nocheck(x,ptr,size) \
87+#define __get_user_nocheck(x, ptr, size) \
8888 ({ \
8989 long __gu_err = 0; \
9090 unsigned long __gu_val; \
@@ -96,16 +96,16 @@ extern void __get_user_unknown(void); · 5 unmodified lines
9696 case 8: __get_user_64(ptr); break; \
9797 default: __get_user_unknown(); break; \
9898 } \
99− (x) = (__typeof__(*(ptr))) __gu_val; \
99+ (x) = (__force __typeof__(*(ptr))) __gu_val; \
100100 __gu_err; \
101101 })
102102
103−#define __get_user_check(x,ptr,size,segment) \
103+#define __get_user_check(x, ptr, size, segment) \
104104 ({ \
105105 long __gu_err = -EFAULT; \
106106 unsigned long __gu_val = 0; \
107107 const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \
108− if (__access_ok((unsigned long)__gu_addr,size,segment)) { \
108+ if (__access_ok((unsigned long)__gu_addr, size, segment)) { \
109109 __gu_err = 0; \
110110 switch (size) { \
111111 case 1: __get_user_8(__gu_addr); break; \
@@ -115,7 +115,7 @@ extern void __get_user_unknown(void); · 3 unmodified lines
115115 default: __get_user_unknown(); break; \
116116 } \
117117 } \
118− (x) = (__typeof__(*(ptr))) __gu_val; \
118+ (x) = (__force __typeof__(*(ptr))) __gu_val; \
119119 __gu_err; \
120120 })
121121
@@ -201,31 +201,31 @@ struct __large_struct { unsigned long buf[100]; }; · 79 unmodified lines
201201
202202 extern void __put_user_unknown(void);
203203
204−#define __put_user_nocheck(x,ptr,size) \
204+#define __put_user_nocheck(x, ptr, size) \
205205 ({ \
206206 long __pu_err = 0; \
207207 __chk_user_ptr(ptr); \
208208 switch (size) { \
209− case 1: __put_user_8(x,ptr); break; \
210− case 2: __put_user_16(x,ptr); break; \
211− case 4: __put_user_32(x,ptr); break; \
212− case 8: __put_user_64(x,ptr); break; \
209+ case 1: __put_user_8(x, ptr); break; \
210+ case 2: __put_user_16(x, ptr); break; \
211+ case 4: __put_user_32(x, ptr); break; \
212+ case 8: __put_user_64(x, ptr); break; \
213213 default: __put_user_unknown(); break; \
214214 } \
215215 __pu_err; \
216216 })
217217
218−#define __put_user_check(x,ptr,size,segment) \
218+#define __put_user_check(x, ptr, size, segment) \
219219 ({ \
220220 long __pu_err = -EFAULT; \
221221 __typeof__(*(ptr)) __user *__pu_addr = (ptr); \
222− if (__access_ok((unsigned long)__pu_addr,size,segment)) { \
222+ if (__access_ok((unsigned long)__pu_addr, size, segment)) { \
223223 __pu_err = 0; \
224224 switch (size) { \
225− case 1: __put_user_8(x,__pu_addr); break; \
226− case 2: __put_user_16(x,__pu_addr); break; \
227− case 4: __put_user_32(x,__pu_addr); break; \
228− case 8: __put_user_64(x,__pu_addr); break; \
225+ case 1: __put_user_8(x, __pu_addr); break; \
226+ case 2: __put_user_16(x, __pu_addr); break; \
227+ case 4: __put_user_32(x, __pu_addr); break; \
228+ case 8: __put_user_64(x, __pu_addr); break; \
229229 default: __put_user_unknown(); break; \
230230 } \
231231 } \
@@ -237,7 +237,7 @@ extern void __put_user_unknown(void); · 5 unmodified lines
237237 * instead of writing: this is because they do not write to
238238 * any memory gcc knows about, so there are no aliasing issues
239239 */
240−#define __put_user_64(x,addr) \
240+#define __put_user_64(x, addr) \
241241 __asm__ __volatile__("1: stq %r2,%1\n" \
242242 "2:\n" \
243243 ".section __ex_table,\"a\"\n" \
@@ -247,7 +247,7 @@ __asm__ __volatile__("1: stq %r2,%1\n" \ · 3 unmodified lines
247247 : "=r"(__pu_err) \
248248 : "m" (__m(addr)), "rJ" (x), "0"(__pu_err))
249249
250−#define __put_user_32(x,addr) \
250+#define __put_user_32(x, addr) \
251251 __asm__ __volatile__("1: stl %r2,%1\n" \
252252 "2:\n" \
253253 ".section __ex_table,\"a\"\n" \
@@ -260,7 +260,7 @@ __asm__ __volatile__("1: stl %r2,%1\n" \ · 6 unmodified lines
260260 #ifdef __alpha_bwx__
261261 /* Those lucky bastards with ev56 and later CPUs can do byte/word moves. */
262262
263−#define __put_user_16(x,addr) \
263+#define __put_user_16(x, addr) \
264264 __asm__ __volatile__("1: stw %r2,%1\n" \
265265 "2:\n" \
266266 ".section __ex_table,\"a\"\n" \
@@ -270,7 +270,7 @@ __asm__ __volatile__("1: stw %r2,%1\n" \ · 3 unmodified lines
270270 : "=r"(__pu_err) \
271271 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))
272272
273−#define __put_user_8(x,addr) \
273+#define __put_user_8(x, addr) \
274274 __asm__ __volatile__("1: stb %r2,%1\n" \
275275 "2:\n" \
276276 ".section __ex_table,\"a\"\n" \
@@ -283,7 +283,7 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 6 unmodified lines
283283 /* Unfortunately, we can't get an unaligned access trap for the sub-word
284284 write, so we have to do a general unaligned operation. */
285285
286−#define __put_user_16(x,addr) \
286+#define __put_user_16(x, addr) \
287287 { \
288288 long __pu_tmp1, __pu_tmp2, __pu_tmp3, __pu_tmp4; \
289289 __asm__ __volatile__( \
@@ -308,13 +308,13 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 18 unmodified lines
308308 " .long 4b - .\n" \
309309 " lda $31, 5b-4b(%0)\n" \
310310 ".previous" \
311− : "=r"(__pu_err), "=&r"(__pu_tmp1), \
312− "=&r"(__pu_tmp2), "=&r"(__pu_tmp3), \
311+ : "=r"(__pu_err), "=&r"(__pu_tmp1), \
312+ "=&r"(__pu_tmp2), "=&r"(__pu_tmp3), \
313313 "=&r"(__pu_tmp4) \
314314 : "r"(addr), "r"((unsigned long)(x)), "0"(__pu_err)); \
315315 }
316316
317−#define __put_user_8(x,addr) \
317+#define __put_user_8(x, addr) \
318318 { \
319319 long __pu_tmp1, __pu_tmp2; \
320320 __asm__ __volatile__( \
@@ -330,7 +330,7 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 9 unmodified lines
330330 " .long 2b - .\n" \
331331 " lda $31, 3b-2b(%0)\n" \
332332 ".previous" \
333− : "=r"(__pu_err), \
333+ : "=r"(__pu_err), \
334334 "=&r"(__pu_tmp1), "=&r"(__pu_tmp2) \
335335 : "r"((unsigned long)(x)), "r"(addr), "0"(__pu_err)); \
336336 }
@@ -366,7 +366,7 @@ __copy_tofrom_user_nocheck(void *to, const void *from, long len) · 29 unmodified lines
366366 : "=r" (__cu_len), "=r" (__cu_from), "=r" (__cu_to)
367367 : __module_address(__copy_user)
368368 "0" (__cu_len), "1" (__cu_from), "2" (__cu_to)
369− : "$1","$2","$3","$4","$5","$28","memory");
369+ : "$1", "$2", "$3", "$4", "$5", "$28", "memory");
370370
371371 return __cu_len;
372372 }
@@ -379,15 +379,15 @@ __copy_tofrom_user(void *to, const void *from, long len, const void __user *vali · 6 unmodified lines
379379 return len;
380380 }
381381
382−#define __copy_to_user(to,from,n) \
382+#define __copy_to_user(to, from, n) \
383383 ({ \
384384 __chk_user_ptr(to); \
385− __copy_tofrom_user_nocheck((__force void *)(to),(from),(n)); \
385+ __copy_tofrom_user_nocheck((__force void *)(to), (from), (n)); \
386386 })
387−#define __copy_from_user(to,from,n) \
387+#define __copy_from_user(to, from, n) \
388388 ({ \
389389 __chk_user_ptr(from); \
390− __copy_tofrom_user_nocheck((to),(__force void *)(from),(n)); \
390+ __copy_tofrom_user_nocheck((to), (__force void *)(from), (n)); \
391391 })
392392
393393 #define __copy_to_user_inatomic __copy_to_user
@@ -418,7 +418,7 @@ __clear_user(void __user *to, long len) · 24 unmodified lines
418418 : "=r"(__cl_len), "=r"(__cl_to)
419419 : __module_address(__do_clear_user)
420420 "0"(__cl_len), "1"(__cl_to)
421− : "$1","$2","$3","$4","$5","$28","memory");
421+ : "$1", "$2", "$3", "$4", "$5", "$28", "memory");
422422 return __cl_len;
423423 }
424424
arch/alpha/kernel/signal.c+1−1
@@ -150,7 +150,7 @@ restore_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs) · 149 unmodified lines
150150 struct switch_stack *sw = (struct switch_stack *)regs - 1;
151151 long i, err = __get_user(regs->pc, &sc->sc_pc);
152152
153− current_thread_info()->restart_block.fn = do_no_restart_syscall;
153+ current->restart_block.fn = do_no_restart_syscall;
154154
155155 sw->r26 = (unsigned long) ret_from_sys_call;
156156
arch/arc/boot/dts/abilis_tb10x.dtsi+1−1
@@ -112,7 +112,7 @@ · 111 unmodified lines
112112 chan_allocation_order = <0>;
113113 chan_priority = <1>;
114114 block_size = <0x7ff>;
115− data_width = <2 0 0 0>;
115+ data_width = <2>;
116116 clocks = <&ahb_clk>;
117117 clock-names = "hclk";
118118 };
arch/arc/include/asm/pgtable.h+4−14
@@ -61,7 +61,6 @@ · 60 unmodified lines
6161 #define _PAGE_WRITE (1<<4) /* Page has user write perm (H) */
6262 #define _PAGE_READ (1<<5) /* Page has user read perm (H) */
6363 #define _PAGE_MODIFIED (1<<6) /* Page modified (dirty) (S) */
64−#define _PAGE_FILE (1<<7) /* page cache/ swap (S) */
6564 #define _PAGE_GLOBAL (1<<8) /* Page is global (H) */
6665 #define _PAGE_PRESENT (1<<10) /* TLB entry is valid (H) */
6766
@@ -73,7 +72,6 @@ · 5 unmodified lines
7372 #define _PAGE_READ (1<<3) /* Page has user read perm (H) */
7473 #define _PAGE_ACCESSED (1<<4) /* Page is accessed (S) */
7574 #define _PAGE_MODIFIED (1<<5) /* Page modified (dirty) (S) */
76−#define _PAGE_FILE (1<<6) /* page cache/ swap (S) */
7775 #define _PAGE_GLOBAL (1<<8) /* Page is global (H) */
7876 #define _PAGE_PRESENT (1<<9) /* TLB entry is valid (H) */
7977 #define _PAGE_SHARED_CODE (1<<11) /* Shared Code page with cmn vaddr
@@ -213,7 +211,7 @@ · 133 unmodified lines
213211 * No special requirements for lowest virtual address we permit any user space
214212 * mapping to be mapped at.
215213 */
216−#define FIRST_USER_ADDRESS 0
214+#define FIRST_USER_ADDRESS 0UL
217215
218216
219217 /****************************************************************
@@ -259,7 +257,8 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep) · 39 unmodified lines
259257 #define pmd_clear(xp) do { pmd_val(*(xp)) = 0; } while (0)
260258
261259 #define pte_page(x) (mem_map + \
262− (unsigned long)(((pte_val(x) - PAGE_OFFSET) >> PAGE_SHIFT)))
260+ (unsigned long)(((pte_val(x) - CONFIG_LINUX_LINK_BASE) >> \
261+ PAGE_SHIFT)))
263262
264263 #define mk_pte(page, pgprot) \
265264 ({ \
@@ -268,15 +267,6 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep) · 2 unmodified lines
268267 pte; \
269268 })
270269
271−/* TBD: Non linear mapping stuff */
272−static inline int pte_file(pte_t pte)
273−{
274− return pte_val(pte) & _PAGE_FILE;
275−}
276−
277−#define PTE_FILE_MAX_BITS 30
278−#define pgoff_to_pte(x) __pte(x)
279−#define pte_to_pgoff(x) (pte_val(x) >> 2)
280270 #define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)
281271 #define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))
282272 #define __pte_index(addr) (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))
@@ -364,7 +354,7 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long address, · 81 unmodified lines
364354
365355 /* Encode swap {type,off} tuple into PTE
366356 * We reserve 13 bits for 5-bit @type, keeping bits 12-5 zero, ensuring that
367− * both PAGE_FILE and PAGE_PRESENT are zero in a PTE holding swap "identifier"
357+ * PAGE_PRESENT is zero in a PTE holding swap "identifier"
368358 */
369359 #define __swp_entry(type, off) ((swp_entry_t) { \
370360 ((type) & 0x1f) | ((off) << 13) })
arch/arc/include/asm/processor.h+0−3
@@ -56,9 +56,6 @@ unsigned long thread_saved_pc(struct task_struct *t); · 55 unmodified lines
5656 /* Free all resources held by a thread */
5757 #define release_thread(thread) do { } while (0)
5858
59−/* Prepare to copy thread state - unlazy all lazy status */
60−#define prepare_to_copy(tsk) do { } while (0)
61−
6259 /*
6360 * A lot of busy-wait loops in SMP are based off of non-volatile data otherwise
6461 * get optimised away by gcc
arch/arc/include/asm/serial.h+5−18
@@ -10,26 +10,13 @@ · 9 unmodified lines
1010 #define _ASM_ARC_SERIAL_H
1111
1212 /*
13− * early-8250 requires BASE_BAUD to be defined and includes this header.
14− * We put in a typical value:
15− * (core clk / 16) - i.e. UART samples 16 times per sec.
16− * Athough in multi-platform-image this might not work, specially if the
17− * clk driving the UART is different.
18− * We can't use DeviceTree as this is typically for early serial.
13+ * early 8250 (now earlycon) requires BASE_BAUD to be defined in this header.
14+ * However to still determine it dynamically (for multi-platform images)
15+ * we do this in a helper by parsing the FDT early
1916 */
2017
21−#include <asm/clk.h>
18+extern unsigned int __init arc_early_base_baud(void);
2219
23−#define BASE_BAUD (arc_get_core_freq() / 16)
24−
25−/*
26− * This is definitely going to break early 8250 consoles on multi-platform
27− * images but hey, it won't add any code complexity for a debug feature of
28− * one broken driver.
29− */
30−#ifdef CONFIG_ARC_PLAT_TB10X
31−#undef BASE_BAUD
32−#define BASE_BAUD (arc_get_core_freq() / 16 / 3)
33−#endif
20+#define BASE_BAUD arc_early_base_baud()
3421
3522 #endif /* _ASM_ARC_SERIAL_H */
arch/arc/include/asm/thread_info.h+0−4
@@ -46,7 +46,6 @@ struct thread_info { · 45 unmodified lines
4646 struct exec_domain *exec_domain;/* execution domain */
4747 __u32 cpu; /* current CPU */
4848 unsigned long thr_ptr; /* TLS ptr */
49− struct restart_block restart_block;
5049 };
5150
5251 /*
@@ -62,9 +61,6 @@ struct thread_info { · 9 unmodified lines
6261 .cpu = 0, \
6362 .preempt_count = INIT_PREEMPT_COUNT, \
6463 .addr_limit = KERNEL_DS, \
65− .restart_block = { \
66− .fn = do_no_restart_syscall, \
67− }, \
6864 }
6965
7066 #define init_thread_info (init_thread_union.thread_info)
arch/arc/kernel/devtree.c+24−0
@@ -17,6 +17,28 @@ · 16 unmodified lines
1717 #include <asm/clk.h>
1818 #include <asm/mach_desc.h>
1919
20+#ifdef CONFIG_SERIAL_EARLYCON
21+
22+static unsigned int __initdata arc_base_baud;
23+
24+unsigned int __init arc_early_base_baud(void)
25+{
26+ return arc_base_baud/16;
27+}
28+
29+static void __init arc_set_early_base_baud(unsigned long dt_root)
30+{
31+ unsigned int core_clk = arc_get_core_freq();
32+
33+ if (of_flat_dt_is_compatible(dt_root, "abilis,arc-tb10x"))
34+ arc_base_baud = core_clk/3;
35+ else
36+ arc_base_baud = core_clk;
37+}
38+#else
39+#define arc_set_early_base_baud(dt_root)
40+#endif
41+
2042 static const void * __init arch_get_next_mach(const char *const **match)
2143 {
2244 static const struct machine_desc *mdesc = __arch_info_begin;
@@ -56,5 +78,7 @@ const struct machine_desc * __init setup_machine_fdt(void *dt) · 33 unmodified lines
5678 if (clk)
5779 arc_set_core_freq(of_read_ulong(clk, len/4));
5880
81+ arc_set_early_base_baud(dt_root);
82+
5983 return mdesc;
6084 }
arch/arc/kernel/entry.S+9−5
@@ -736,16 +736,20 @@ ENTRY(ret_from_fork) · 735 unmodified lines
736736 ; put last task in scheduler queue
737737 bl @schedule_tail
738738
739− ; If kernel thread, jump to its entry-point
740739 ld r9, [sp, PT_status32]
741740 brne r9, 0, 1f
742741
743− jl.d [r14]
744− mov r0, r13 ; arg to payload
742+ jl.d [r14] ; kernel thread entry point
743+ mov r0, r13 ; (see PF_KTHREAD block in copy_thread)
745744
746745 1:
747− ; special case of kernel_thread entry point returning back due to
748− ; kernel_execve() - pretend return from syscall to ret to userland
746+ ; Return to user space
747+ ; 1. Any forked task (Reach here via BRne above)
748+ ; 2. First ever init task (Reach here via return from JL above)
749+ ; This is the historic "kernel_execve" use-case, to return to init
750+ ; user mode, in a round about way since that is always done from
751+ ; a kernel thread which is executed via JL above but always returns
752+ ; out whenever kernel_execve (now inline do_fork()) is involved
749753 b ret_from_exception
750754 END(ret_from_fork)
751755
arch/arc/kernel/setup.c+6−1
@@ -412,6 +412,11 @@ static int show_cpuinfo(struct seq_file *m, void *v) · 411 unmodified lines
412412 char *str;
413413 int cpu_id = ptr_to_cpu(v);
414414
415+ if (!cpu_online(cpu_id)) {
416+ seq_printf(m, "processor [%d]\t: Offline\n", cpu_id);
417+ goto done;
418+ }
419+
415420 str = (char *)__get_free_page(GFP_TEMPORARY);
416421 if (!str)
417422 goto done;
@@ -429,7 +434,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) · 11 unmodified lines
429434
430435 free_page((unsigned long)str);
431436 done:
432− seq_printf(m, "\n\n");
437+ seq_printf(m, "\n");
433438
434439 return 0;
435440 }
arch/arc/kernel/signal.c+1−1
@@ -104,7 +104,7 @@ SYSCALL_DEFINE0(rt_sigreturn) · 103 unmodified lines
104104 struct pt_regs *regs = current_pt_regs();
105105
106106 /* Always make any pending restarted system calls return -EINTR */
107− current_thread_info()->restart_block.fn = do_no_restart_syscall;
107+ current->restart_block.fn = do_no_restart_syscall;
108108
109109 /* Since we stacked the signal on a word boundary,
110110 * then 'sp' should be word aligned here. If it's
arch/arc/kernel/smp.c+1−1
@@ -221,7 +221,7 @@ static void ipi_send_msg_one(int cpu, enum ipi_msg_type msg) · 220 unmodified lines
221221 * and read back old value
222222 */
223223 do {
224− new = old = *ipi_data_ptr;
224+ new = old = ACCESS_ONCE(*ipi_data_ptr);
225225 new |= 1U << msg;
226226 } while (cmpxchg(ipi_data_ptr, old, new) != old);
227227
arch/arm/Kconfig+8−1
@@ -29,6 +29,7 @@ config ARM · 28 unmodified lines
2929 select HANDLE_DOMAIN_IRQ
3030 select HARDIRQS_SW_RESEND
3131 select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
32+ select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
3233 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
3334 select HAVE_ARCH_KGDB
3435 select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
@@ -60,6 +61,7 @@ config ARM · 25 unmodified lines
6061 select HAVE_MEMBLOCK
6162 select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND
6263 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
64+ select HAVE_OPTPROBES if !THUMB2_KERNEL
6365 select HAVE_PERF_EVENTS
6466 select HAVE_PERF_REGS
6567 select HAVE_PERF_USER_STACK_DUMP
@@ -858,6 +860,8 @@ source "arch/arm/mach-cns3xxx/Kconfig" · 792 unmodified lines
858860
859861 source "arch/arm/mach-davinci/Kconfig"
860862
863+source "arch/arm/mach-digicolor/Kconfig"
864+
861865 source "arch/arm/mach-dove/Kconfig"
862866
863867 source "arch/arm/mach-ep93xx/Kconfig"
@@ -1279,6 +1283,9 @@ config PCI_DOMAINS · 415 unmodified lines
12791283 bool
12801284 depends on PCI
12811285
1286+config PCI_DOMAINS_GENERIC
1287+ def_bool PCI_DOMAINS
1288+
12821289 config PCI_NANOENGINE
12831290 bool "BSE nanoEngine PCI support"
12841291 depends on SA1100_NANOENGINE
@@ -1488,7 +1495,7 @@ config ARM_PSCI · 203 unmodified lines
14881495 # selected platforms.
14891496 config ARCH_NR_GPIO
14901497 int
1491− default 1024 if ARCH_SHMOBILE || ARCH_TEGRA
1498+ default 1024 if ARCH_SHMOBILE || ARCH_TEGRA || ARCH_ZYNQ
14921499 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
14931500 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
14941501 default 416 if ARCH_SUNXI
arch/arm/Kconfig.debug+176−44
@@ -115,16 +115,22 @@ choice · 114 unmodified lines
115115 0x80024000 | 0xf0024000 | UART9
116116
117117 config AT91_DEBUG_LL_DBGU0
118− bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"
119− depends on HAVE_AT91_DBGU0
118+ bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12"
119+ select DEBUG_AT91_UART
120+ depends on ARCH_AT91
121+ depends on SOC_AT91RM9200 || SOC_AT91SAM9
120122
121123 config AT91_DEBUG_LL_DBGU1
122− bool "Kernel low-level debugging on 9263 and 9g45"
123− depends on HAVE_AT91_DBGU1
124+ bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
125+ select DEBUG_AT91_UART
126+ depends on ARCH_AT91
127+ depends on SOC_AT91SAM9 || SOC_SAMA5
124128
125129 config AT91_DEBUG_LL_DBGU2
126130 bool "Kernel low-level debugging on sama5d4"
127− depends on HAVE_AT91_DBGU2
131+ select DEBUG_AT91_UART
132+ depends on ARCH_AT91
133+ depends on SOC_SAMA5
128134
129135 config DEBUG_BCM2835
130136 bool "Kernel low-level debugging on BCM2835 PL011 UART"
@@ -241,6 +247,13 @@ choice · 110 unmodified lines
241247 Say Y here if you want the debug print routines to direct
242248 their output to the serial port in the DC21285 (Footbridge).
243249
250+ config DEBUG_DIGICOLOR_UA0
251+ bool "Kernel low-level debugging messages via Digicolor UA0"
252+ depends on ARCH_DIGICOLOR
253+ help
254+ Say Y here if you want the debug print routines to direct
255+ their output to the UA0 serial port in the CX92755.
256+
244257 config DEBUG_FOOTBRIDGE_COM1
245258 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
246259 depends on FOOTBRIDGE
@@ -272,6 +285,14 @@ choice · 25 unmodified lines
272285 Say Y here if you want the debug print routines to direct
273286 their output to the UART on Highbank based devices.
274287
288+ config DEBUG_HIP01_UART
289+ bool "Hisilicon Hip01 Debug UART"
290+ depends on ARCH_HIP01
291+ select DEBUG_UART_8250
292+ help
293+ Say Y here if you want kernel low-level debugging support
294+ on HIP01 UART.
295+
275296 config DEBUG_HIP04_UART
276297 bool "Hisilicon HiP04 Debug UART"
277298 depends on ARCH_HIP04
@@ -397,6 +418,13 @@ choice · 119 unmodified lines
397418 Say Y here if you want the debug print routines to direct
398419 their output to UART1 serial port on KEYSTONE2 devices.
399420
421+ config DEBUG_KS8695_UART
422+ bool "KS8695 Debug UART"
423+ depends on ARCH_KS8695
424+ help
425+ Say Y here if you want kernel low-level debugging support
426+ on KS8695.
427+
400428 config DEBUG_MESON_UARTAO
401429 bool "Kernel low-level debugging via Meson6 UARTAO"
402430 depends on ARCH_MESON
@@ -427,7 +455,7 @@ choice · 24 unmodified lines
427455 Say Y here if you want the debug print routines to direct
428456 their output to the serial port on MSM devices.
429457
430− ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
458+ ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT #
431459 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
432460 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
433461 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
@@ -446,7 +474,8 @@ choice · 12 unmodified lines
446474 Say Y here if you want the debug print routines to direct
447475 their output to the serial port on Qualcomm devices.
448476
449− ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
477+ ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
478+ APQ8064 0x16640000 0xf0040000
450479 APQ8084 0xf995e000 0xfa75e000
451480 MSM8X60 0x19c40000 0xf0040000
452481 MSM8960 0x16440000 0xf0040000
@@ -455,13 +484,13 @@ choice · 2 unmodified lines
455484 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
456485 options based on your needs.
457486
458− config DEBUG_MVEBU_UART
459− bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
487+ config DEBUG_MVEBU_UART0
488+ bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
460489 depends on ARCH_MVEBU
461490 select DEBUG_UART_8250
462491 help
463492 Say Y here if you want kernel low-level debugging support
464− on MVEBU based platforms.
493+ on MVEBU based platforms on UART0.
465494
466495 This option should be used with the old bootloaders
467496 that left the internal registers mapped at
@@ -474,13 +503,28 @@ choice · 6 unmodified lines
474503 when u-boot hands over to the kernel, the system
475504 silently crashes, with no serial output at all.
476505
477− config DEBUG_MVEBU_UART_ALTERNATE
478− bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
506+ config DEBUG_MVEBU_UART0_ALTERNATE
507+ bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
479508 depends on ARCH_MVEBU
480509 select DEBUG_UART_8250
481510 help
482511 Say Y here if you want kernel low-level debugging support
483− on MVEBU based platforms.
512+ on MVEBU based platforms on UART0.
513+
514+ This option should be used with the new bootloaders
515+ that remap the internal registers at 0xf1000000.
516+
517+ If the wrong DEBUG_MVEBU_UART* option is selected,
518+ when u-boot hands over to the kernel, the system
519+ silently crashes, with no serial output at all.
520+
521+ config DEBUG_MVEBU_UART1_ALTERNATE
522+ bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
523+ depends on ARCH_MVEBU
524+ select DEBUG_UART_8250
525+ help
526+ Say Y here if you want kernel low-level debugging support
527+ on MVEBU based platforms on UART1.
484528
485529 This option should be used with the new bootloaders
486530 that remap the internal registers at 0xf1000000.
@@ -496,6 +540,13 @@ choice · 9 unmodified lines
496540 Say Y here if you want kernel low-level debugging support
497541 on Vybrid based platforms.
498542
543+ config DEBUG_NETX_UART
544+ bool "Kernel low-level debugging messages via NetX UART"
545+ depends on ARCH_NETX
546+ help
547+ Say Y here if you want kernel low-level debugging support
548+ on Hilscher NetX based platforms.
549+
499550 config DEBUG_NOMADIK_UART
500551 bool "Kernel low-level debugging messages via NOMADIK UART"
501552 depends on ARCH_NOMADIK
@@ -520,6 +571,30 @@ choice · 18 unmodified lines
520571 Say Y here if you want kernel low-level debugging support
521572 on TI-NSPIRE CX models.
522573
574+ config DEBUG_OMAP1UART1
575+ bool "Kernel low-level debugging via OMAP1 UART1"
576+ depends on ARCH_OMAP1
577+ select DEBUG_UART_8250
578+ help
579+ Say Y here if you want kernel low-level debugging support
580+ on OMAP1 based platforms (except OMAP730) on the UART1.
581+
582+ config DEBUG_OMAP1UART2
583+ bool "Kernel low-level debugging via OMAP1 UART2"
584+ depends on ARCH_OMAP1
585+ select DEBUG_UART_8250
586+ help
587+ Say Y here if you want kernel low-level debugging support
588+ on OMAP1 based platforms (except OMAP730) on the UART2.
589+
590+ config DEBUG_OMAP1UART3
591+ bool "Kernel low-level debugging via OMAP1 UART3"
592+ depends on ARCH_OMAP1
593+ select DEBUG_UART_8250
594+ help
595+ Say Y here if you want kernel low-level debugging support
596+ on OMAP1 based platforms (except OMAP730) on the UART3.
597+
523598 config DEBUG_OMAP2UART1
524599 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
525600 depends on ARCH_OMAP2PLUS
@@ -562,6 +637,30 @@ choice · 36 unmodified lines
562637 depends on ARCH_OMAP2PLUS
563638 select DEBUG_OMAP2PLUS_UART
564639
640+ config DEBUG_OMAP7XXUART1
641+ bool "Kernel low-level debugging via OMAP730 UART1"
642+ depends on ARCH_OMAP730
643+ select DEBUG_UART_8250
644+ help
645+ Say Y here if you want kernel low-level debugging support
646+ on OMAP730 based platforms on the UART1.
647+
648+ config DEBUG_OMAP7XXUART2
649+ bool "Kernel low-level debugging via OMAP730 UART2"
650+ depends on ARCH_OMAP730
651+ select DEBUG_UART_8250
652+ help
653+ Say Y here if you want kernel low-level debugging support
654+ on OMAP730 based platforms on the UART2.
655+
656+ config DEBUG_OMAP7XXUART3
657+ bool "Kernel low-level debugging via OMAP730 UART3"
658+ depends on ARCH_OMAP730
659+ select DEBUG_UART_8250
660+ help
661+ Say Y here if you want kernel low-level debugging support
662+ on OMAP730 based platforms on the UART3.
663+
565664 config DEBUG_TI81XXUART1
566665 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
567666 depends on ARCH_OMAP2PLUS
@@ -916,16 +1015,28 @@ choice · 348 unmodified lines
9161015 config DEBUG_SIRFPRIMA2_UART1
9171016 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
9181017 depends on ARCH_PRIMA2
1018+ select DEBUG_SIRFSOC_UART
9191019 help
9201020 Say Y here if you want the debug print routines to direct
9211021 their output to the uart1 port on SiRFprimaII devices.
9221022
923− config DEBUG_SIRFMARCO_UART1
924− bool "Kernel low-level debugging messages via SiRFmarco UART1"
925− depends on ARCH_MARCO
1023+ config DEBUG_SIRFATLAS7_UART0
1024+ bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1025+ depends on ARCH_ATLAS7
1026+ select DEBUG_SIRFSOC_UART
1027+ help
1028+ Say Y here if you want the debug print routines to direct
1029+ their output to the uart0 port on SiRFATLAS7 devices.The uart0
1030+ is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1031+ debug port can be very useful.
1032+
1033+ config DEBUG_SIRFATLAS7_UART1
1034+ bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1035+ depends on ARCH_ATLAS7
1036+ select DEBUG_SIRFSOC_UART
9261037 help
9271038 Say Y here if you want the debug print routines to direct
928− their output to the uart1 port on SiRFmarco devices.
1039+ their output to the uart1 port on SiRFATLAS7 devices.
9291040
9301041 config STIH41X_DEBUG_ASC2
9311042 bool "Use StiH415/416 ASC2 UART for low-level debug"
@@ -973,7 +1084,7 @@ choice · 41 unmodified lines
9731084 for Mediatek mt6589 based platforms on UART0.
9741085
9751086 config DEBUG_MT8127_UART0
976− bool "Mediatek mt8127 UART0"
1087+ bool "Mediatek mt8127/mt6592 UART0"
9771088 depends on ARCH_MEDIATEK
9781089 select DEBUG_UART_8250
9791090 help
@@ -1031,15 +1142,6 @@ choice · 51 unmodified lines
10311142 This option selects UART0 on VIA/Wondermedia System-on-a-chip
10321143 devices, including VT8500, WM8505, WM8650 and WM8850.
10331144
1034− config DEBUG_LL_UART_NONE
1035− bool "No low-level debugging UART"
1036− depends on !ARCH_MULTIPLATFORM
1037− help
1038− Say Y here if your platform doesn't provide a UART option
1039− above. This relies on your platform choosing the right UART
1040− definition internally in order for low-level debugging to
1041− work.
1042−
10431145 config DEBUG_ICEDCC
10441146 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
10451147 help
@@ -1109,6 +1211,10 @@ choice · 63 unmodified lines
11091211
11101212 endchoice
11111213
1214+config DEBUG_AT91_UART
1215+ bool
1216+ depends on ARCH_AT91
1217+
11121218 config DEBUG_EXYNOS_UART
11131219 bool
11141220
@@ -1161,10 +1267,15 @@ config DEBUG_STI_UART · 46 unmodified lines
11611267 bool
11621268 depends on ARCH_STI
11631269
1270+config DEBUG_SIRFSOC_UART
1271+ bool
1272+ depends on ARCH_SIRF
1273+
11641274 config DEBUG_LL_INCLUDE
11651275 string
11661276 default "debug/sa1100.S" if DEBUG_SA1100
11671277 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1278+ default "debug/at91.S" if DEBUG_AT91_UART
11681279 default "debug/asm9260.S" if DEBUG_ASM9260_UART
11691280 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
11701281 default "debug/meson.S" if DEBUG_MESON_UARTAO
@@ -1183,7 +1294,9 @@ config DEBUG_LL_INCLUDE · 12 unmodified lines
11831294 DEBUG_IMX6Q_UART || \
11841295 DEBUG_IMX6SL_UART || \
11851296 DEBUG_IMX6SX_UART
1297+ default "debug/ks8695.S" if DEBUG_KS8695_UART
11861298 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1299+ default "debug/netx.S" if DEBUG_NETX_UART
11871300 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
11881301 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
11891302 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
@@ -1195,7 +1308,7 @@ config DEBUG_LL_INCLUDE · 5 unmodified lines
11951308 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
11961309 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
11971310 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1198− default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
1311+ default "debug/sirf.S" if DEBUG_SIRFSOC_UART
11991312 default "debug/sti.S" if DEBUG_STI_UART
12001313 default "debug/tegra.S" if DEBUG_TEGRA_UART
12011314 default "debug/ux500.S" if DEBUG_UX500_UART
@@ -1204,16 +1317,12 @@ config DEBUG_LL_INCLUDE · 2 unmodified lines
12041317 default "debug/vt8500.S" if DEBUG_VT8500_UART0
12051318 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
12061319 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1320+ default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
12071321 default "mach/debug-macro.S"
12081322
12091323 # Compatibility options for PL01x
12101324 config DEBUG_UART_PL01X
1211− def_bool ARCH_EP93XX || \
1212− ARCH_INTEGRATOR || \
1213− ARCH_SPEAR3XX || \
1214− ARCH_SPEAR6XX || \
1215− ARCH_SPEAR13XX || \
1216− ARCH_VERSATILE
1325+ bool
12171326
12181327 # Compatibility options for 8250
12191328 config DEBUG_UART_8250
@@ -1229,6 +1338,7 @@ config DEBUG_UART_BCM63XX · 9 unmodified lines
12291338
12301339 config DEBUG_UART_PHYS
12311340 hex "Physical base address of debug UART"
1341+ default 0x00100a00 if DEBUG_NETX_UART
12321342 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
12331343 default 0x01c28000 if DEBUG_SUNXI_UART0
12341344 default 0x01c28400 if DEBUG_SUNXI_UART1
@@ -1251,7 +1361,10 @@ config DEBUG_UART_PHYS · 16 unmodified lines
12511361 default 0x11009000 if DEBUG_MT8135_UART3
12521362 default 0x16000000 if ARCH_INTEGRATOR
12531363 default 0x18000300 if DEBUG_BCM_5301X
1364+ default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1365+ default 0x18020000 if DEBUG_SIRFATLAS7_UART1
12541366 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1367+ default 0x20001000 if DEBUG_HIP01_UART
12551368 default 0x20060000 if DEBUG_RK29_UART0
12561369 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
12571370 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
@@ -1269,7 +1382,6 @@ config DEBUG_UART_PHYS · 11 unmodified lines
12691382 DEBUG_S3C2410_UART2)
12701383 default 0x78000000 if DEBUG_CNS3XXX
12711384 default 0x7c0003f8 if FOOTBRIDGE
1272− default 0x78000000 if DEBUG_CNS3XXX
12731385 default 0x80010000 if DEBUG_ASM9260_UART
12741386 default 0x80070000 if DEBUG_IMX23_UART
12751387 default 0x80074000 if DEBUG_IMX28_UART
@@ -1277,12 +1389,13 @@ config DEBUG_UART_PHYS · 1 unmodified line
12771389 default 0x808c0000 if ARCH_EP93XX
12781390 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
12791391 default 0xa9a00000 if DEBUG_MSM_UART
1392+ default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
12801393 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
12811394 default 0xc0013000 if DEBUG_U300_UART
12821395 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
12831396 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
12841397 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1285− default 0xd0012000 if DEBUG_MVEBU_UART
1398+ default 0xd0012000 if DEBUG_MVEBU_UART0
12861399 default 0xc81004c0 if DEBUG_MESON_UARTAO
12871400 default 0xd4017000 if DEBUG_MMP_UART2
12881401 default 0xd4018000 if DEBUG_MMP_UART3
@@ -1296,7 +1409,8 @@ config DEBUG_UART_PHYS · 7 unmodified lines
12961409 default 0xe8008000 if DEBUG_R7S72100_SCIF2
12971410 default 0xf0000be0 if ARCH_EBSA110
12981411 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1299− default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1412+ default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1413+ default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
13001414 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
13011415 ARCH_ORION5X
13021416 default 0xf7fc9000 if DEBUG_BERLIN_UART
@@ -1310,20 +1424,27 @@ config DEBUG_UART_PHYS · 7 unmodified lines
13101424 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
13111425 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
13121426 default 0xfff36000 if DEBUG_HIGHBANK_UART
1427+ default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1428+ default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1429+ default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
13131430 default 0xfffe8600 if DEBUG_UART_BCM63XX
13141431 default 0xfffff700 if ARCH_IOP33X
1315− depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1432+ depends on ARCH_EP93XX || \
1433+ DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
13161434 DEBUG_LL_UART_EFM32 || \
13171435 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1318− DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1436+ DEBUG_MSM_UART || DEBUG_NETX_UART || \
1437+ DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
13191438 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
13201439 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
13211440 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
13221441 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1323− DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1442+ DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1443+ DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
13241444
13251445 config DEBUG_UART_VIRT
13261446 hex "Virtual base address of debug UART"
1447+ default 0xe0000a00 if DEBUG_NETX_UART
13271448 default 0xe0010fe0 if ARCH_RPC
13281449 default 0xe1000000 if DEBUG_MSM_UART
13291450 default 0xf0000be0 if ARCH_EBSA110
@@ -1377,8 +1498,12 @@ config DEBUG_UART_VIRT · 47 unmodified lines
13771498 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
13781499 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
13791500 default 0xfec02000 if DEBUG_SOCFPGA_UART
1380− default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1501+ default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1502+ default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1503+ default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
13811504 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1505+ default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1506+ default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
13821507 default 0xfec90000 if DEBUG_RK32_UART2
13831508 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
13841509 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
@@ -1392,18 +1517,25 @@ config DEBUG_UART_VIRT · 7 unmodified lines
13921517 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
13931518 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
13941519 default 0xfef36000 if DEBUG_HIGHBANK_UART
1520+ default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1521+ default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1522+ default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
13951523 default 0xfefff700 if ARCH_IOP33X
13961524 default 0xff003000 if DEBUG_U300_UART
1525+ default 0xffd01000 if DEBUG_HIP01_UART
13971526 default DEBUG_UART_PHYS if !MMU
13981527 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
13991528 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1400− DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1401− DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART
1529+ DEBUG_MSM_UART || DEBUG_NETX_UART || \
1530+ DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1531+ DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1532+ DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
14021533
14031534 config DEBUG_UART_8250_SHIFT
14041535 int "Register offset shift for the 8250 debug UART"
14051536 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1406− default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X
1537+ default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \
1538+ DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
14071539 default 2
14081540
14091541 config DEBUG_UART_8250_WORD
arch/arm/Makefile+1−0
@@ -266,6 +266,7 @@ core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ · 265 unmodified lines
266266
267267 # If we have a machine-specific directory, then include it in the build.
268268 core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
269+core-y += arch/arm/probes/
269270 core-y += arch/arm/net/
270271 core-y += arch/arm/crypto/
271272 core-y += arch/arm/firmware/
arch/arm/boot/compressed/head.S+31−10
@@ -178,7 +178,7 @@ not_angel: · 177 unmodified lines
178178
179179 /*
180180 * Set up a page table only if it won't overwrite ourself.
181− * That means r4 < pc && r4 - 16k page directory > &_end.
181+ * That means r4 < pc || r4 - 16k page directory > &_end.
182182 * Given that r4 > &_end is most unfrequent, we add a rough
183183 * additional 1MB of room for a possible appended DTB.
184184 */
@@ -263,16 +263,37 @@ restart: adr r0, LC0 · 78 unmodified lines
263263 * OK... Let's do some funky business here.
264264 * If we do have a DTB appended to zImage, and we do have
265265 * an ATAG list around, we want the later to be translated
266− * and folded into the former here. To be on the safe side,
267− * let's temporarily move the stack away into the malloc
268− * area. No GOT fixup has occurred yet, but none of the
269− * code we're about to call uses any global variable.
266+ * and folded into the former here. No GOT fixup has occurred
267+ * yet, but none of the code we're about to call uses any
268+ * global variable.
270269 */
271− add sp, sp, #0x10000
270+
271+ /* Get the initial DTB size */
272+ ldr r5, [r6, #4]
273+#ifndef __ARMEB__
274+ /* convert to little endian */
275+ eor r1, r5, r5, ror #16
276+ bic r1, r1, #0x00ff0000
277+ mov r5, r5, ror #8
278+ eor r5, r5, r1, lsr #8
279+#endif
280+ /* 50% DTB growth should be good enough */
281+ add r5, r5, r5, lsr #1
282+ /* preserve 64-bit alignment */
283+ add r5, r5, #7
284+ bic r5, r5, #7
285+ /* clamp to 32KB min and 1MB max */
286+ cmp r5, #(1 << 15)
287+ movlo r5, #(1 << 15)
288+ cmp r5, #(1 << 20)
289+ movhi r5, #(1 << 20)
290+ /* temporarily relocate the stack past the DTB work space */
291+ add sp, sp, r5
292+
272293 stmfd sp!, {r0-r3, ip, lr}
273294 mov r0, r8
274295 mov r1, r6
275− sub r2, sp, r6
296+ mov r2, r5
276297 bl atags_to_fdt
277298
278299 /*
@@ -285,11 +306,11 @@ restart: adr r0, LC0 · 6 unmodified lines
285306 bic r0, r0, #1
286307 add r0, r0, #0x100
287308 mov r1, r6
288− sub r2, sp, r6
309+ mov r2, r5
289310 bleq atags_to_fdt
290311
291312 ldmfd sp!, {r0-r3, ip, lr}
292− sub sp, sp, #0x10000
313+ sub sp, sp, r5
293314 #endif
294315
295316 mov r8, r6 @ use the appended device tree
@@ -306,7 +327,7 @@ restart: adr r0, LC0 · 10 unmodified lines
306327 subs r1, r5, r1
307328 addhi r9, r9, r1
308329
309− /* Get the dtb's size */
330+ /* Get the current DTB size */
310331 ldr r5, [r6, #4]
311332 #ifndef __ARMEB__
312333 /* convert r5 (dtb size) to little endian */
arch/arm/boot/dts/Makefile+223−134
@@ -1,83 +1,91 @@
11 ifeq ($(CONFIG_OF),y)
22
3+dtb-$(CONFIG_MACH_ASM9260) += \
4+ alphascale-asm9260-devkit.dtb
35 # Keep at91 dtb files sorted alphabetically for each SoC
4−# rm9200
5−dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb
6−dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb
7−# sam9260
8−dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb
9−dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb
10−dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb
11−dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb
12−dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb
13−dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb
14−dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb
15−# sam9261
16−dtb-$(CONFIG_ARCH_AT91) += at91sam9261ek.dtb
17−# sam9263
18−dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb
19−dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb
20−dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb
21−# sam9g20
22−dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb
23−dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb
24−dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb
25−dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb
26−dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb
27−dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb
28−dtb-$(CONFIG_ARCH_AT91) += usb_a9g20_lpw.dtb
29−# sam9g45
30−dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb
31−dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb
32−# sam9n12
33−dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb
34−# sam9rl
35−dtb-$(CONFIG_ARCH_AT91) += at91sam9rlek.dtb
36−# sam9x5
37−dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb
38−dtb-$(CONFIG_ARCH_AT91) += at91-cosino_mega2560.dtb
39−dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb
40−dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb
41−dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb
42−dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb
43−dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb
44−# sama5d3
45−dtb-$(CONFIG_ARCH_AT91) += at91-sama5d3_xplained.dtb
46−dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb
47−dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb
48−dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb
49−dtb-$(CONFIG_ARCH_AT91) += sama5d35ek.dtb
50−dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb
51−# sama5d4
52−dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb
53−
54−dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
55−dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
56−dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
57−dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b-plus.dtb
6+dtb-$(CONFIG_SOC_SAM_V4_V5) += \
7+ at91rm9200ek.dtb \
8+ mpa1600.dtb \
9+ animeo_ip.dtb \
10+ at91-qil_a9260.dtb \
11+ aks-cdu.dtb \
12+ ethernut5.dtb \
13+ evk-pro3.dtb \
14+ tny_a9260.dtb \
15+ usb_a9260.dtb \
16+ at91sam9261ek.dtb \
17+ at91sam9263ek.dtb \
18+ tny_a9263.dtb \
19+ usb_a9263.dtb \
20+ at91-foxg20.dtb \
21+ at91sam9g20ek.dtb \
22+ at91sam9g20ek_2mmc.dtb \
23+ kizbox.dtb \
24+ tny_a9g20.dtb \
25+ usb_a9g20.dtb \
26+ usb_a9g20_lpw.dtb \
27+ at91sam9m10g45ek.dtb \
28+ pm9g45.dtb \
29+ at91sam9n12ek.dtb \
30+ at91sam9rlek.dtb \
31+ at91-ariag25.dtb \
32+ at91-cosino_mega2560.dtb \
33+ at91sam9g15ek.dtb \
34+ at91sam9g25ek.dtb \
35+ at91sam9g35ek.dtb \
36+ at91sam9x25ek.dtb \
37+ at91sam9x35ek.dtb
38+dtb-$(CONFIG_SOC_SAM_V7) += \
39+ at91-sama5d3_xplained.dtb \
40+ sama5d31ek.dtb \
41+ sama5d33ek.dtb \
42+ sama5d34ek.dtb \
43+ sama5d35ek.dtb \
44+ sama5d36ek.dtb \
45+ at91-sama5d4ek.dtb
46+dtb-$(CONFIG_ARCH_ATLAS6) += \
47+ atlas6-evb.dtb
48+dtb-$(CONFIG_ARCH_ATLAS7) += \
49+ atlas7-evb.dtb
50+dtb-$(CONFIG_ARCH_AXXIA) += \
51+ axm5516-amarillo.dtb
52+dtb-$(CONFIG_ARCH_BCM2835) += \
53+ bcm2835-rpi-b.dtb \
54+ bcm2835-rpi-b-plus.dtb
5855 dtb-$(CONFIG_ARCH_BCM_5301X) += \
5956 bcm4708-buffalo-wzr-1750dhp.dtb \
57+ bcm4708-luxul-xwc-1000.dtb \
6058 bcm4708-netgear-r6250.dtb \
6159 bcm4708-netgear-r6300-v2.dtb \
6260 bcm47081-asus-rt-n18u.dtb \
63− bcm47081-buffalo-wzr-600dhp2.dtb
64−dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
65−dtb-$(CONFIG_ARCH_BCM_CYGNUS) += bcm911360_entphn.dtb \
61+ bcm47081-buffalo-wzr-600dhp2.dtb \
62+ bcm47081-buffalo-wzr-900dhp.dtb
63+dtb-$(CONFIG_ARCH_BCM_63XX) += \
64+ bcm963138dvt.dtb
65+dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
66+ bcm911360_entphn.dtb \
6667 bcm911360k.dtb \
6768 bcm958300k.dtb
68−dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
69+dtb-$(CONFIG_ARCH_BCM_MOBILE) += \
70+ bcm28155-ap.dtb \
6971 bcm21664-garnet.dtb
7072 dtb-$(CONFIG_ARCH_BERLIN) += \
71− berlin2-sony-nsz-gs7.dtb \
72− berlin2cd-google-chromecast.dtb \
73+ berlin2-sony-nsz-gs7.dtb \
74+ berlin2cd-google-chromecast.dtb \
7375 berlin2q-marvell-dmp.dtb
7476 dtb-$(CONFIG_ARCH_BRCMSTB) += \
7577 bcm7445-bcm97445svmb.dtb
76−dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \
78+dtb-$(CONFIG_ARCH_DAVINCI) += \
79+ da850-enbw-cmc.dtb \
7780 da850-evm.dtb
78−dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb
79−dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \
80− exynos3250-rinato.dtb \
81+dtb-$(CONFIG_ARCH_DIGICOLOR) += \
82+ cx92755_equinox.dtb
83+dtb-$(CONFIG_ARCH_EFM32) += \
84+ efm32gg-dk3750.dtb
85+dtb-$(CONFIG_ARCH_EXYNOS3) += \
86+ exynos3250-monk.dtb \
87+ exynos3250-rinato.dtb
88+dtb-$(CONFIG_ARCH_EXYNOS4) += \
8189 exynos4210-origen.dtb \
8290 exynos4210-smdkv310.dtb \
8391 exynos4210-trats.dtb \
@@ -88,7 +96,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ · 4 unmodified lines
8896 exynos4412-origen.dtb \
8997 exynos4412-smdk4412.dtb \
9098 exynos4412-tiny4412.dtb \
91− exynos4412-trats2.dtb \
99+ exynos4412-trats2.dtb
100+dtb-$(CONFIG_ARCH_EXYNOS5) += \
92101 exynos5250-arndale.dtb \
93102 exynos5250-smdk5250.dtb \
94103 exynos5250-snow.dtb \
@@ -98,20 +107,31 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ · 3 unmodified lines
98107 exynos5420-arndale-octa.dtb \
99108 exynos5420-peach-pit.dtb \
100109 exynos5420-smdk5420.dtb \
110+ exynos5422-odroidxu3.dtb \
101111 exynos5440-sd5v1.dtb \
102112 exynos5440-ssdk5440.dtb \
103113 exynos5800-peach-pi.dtb
104−dtb-$(CONFIG_ARCH_HI3xxx) += hi3620-hi4511.dtb
105−dtb-$(CONFIG_ARCH_HIX5HD2) += hisi-x5hd2-dkb.dtb
106−dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \
114+dtb-$(CONFIG_ARCH_HI3xxx) += \
115+ hi3620-hi4511.dtb
116+dtb-$(CONFIG_ARCH_HIX5HD2) += \
117+ hisi-x5hd2-dkb.dtb
118+dtb-$(CONFIG_ARCH_HIGHBANK) += \
119+ highbank.dtb \
107120 ecx-2000.dtb
108−dtb-$(CONFIG_ARCH_HIP04) += hip04-d01.dtb
109−dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \
121+dtb-$(CONFIG_ARCH_HIP01) += \
122+ hip01-ca9x2.dtb
123+dtb-$(CONFIG_ARCH_HIP04) += \
124+ hip04-d01.dtb
125+dtb-$(CONFIG_ARCH_INTEGRATOR) += \
126+ integratorap.dtb \
110127 integratorcp.dtb
111−dtb-$(CONFIG_ARCH_KEYSTONE) += k2hk-evm.dtb \
128+dtb-$(CONFIG_ARCH_KEYSTONE) += \
129+ k2hk-evm.dtb \
112130 k2l-evm.dtb \
113131 k2e-evm.dtb
114−dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \
132+dtb-$(CONFIG_MACH_KIRKWOOD) += \
133+ kirkwood-b3.dtb \
134+ kirkwood-blackarmor-nas220.dtb \
115135 kirkwood-cloudbox.dtb \
116136 kirkwood-d2net.dtb \
117137 kirkwood-db-88f6281.dtb \
@@ -160,6 +180,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ · 42 unmodified lines
160180 kirkwood-openrd-base.dtb \
161181 kirkwood-openrd-client.dtb \
162182 kirkwood-openrd-ultimate.dtb \
183+ kirkwood-pogo_e02.dtb \
163184 kirkwood-rd88f6192.dtb \
164185 kirkwood-rd88f6281-z0.dtb \
165186 kirkwood-rd88f6281-a.dtb \
@@ -174,37 +195,47 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ · 8 unmodified lines
174195 kirkwood-ts219-6282.dtb \
175196 kirkwood-ts419-6281.dtb \
176197 kirkwood-ts419-6282.dtb
177−dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
178−dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb
179−dtb-$(CONFIG_MACH_MESON6) += meson6-atv1200.dtb
180−dtb-$(CONFIG_ARCH_MMP) += pxa168-aspenite.dtb \
198+dtb-$(CONFIG_ARCH_LPC32XX) += \
199+ ea3250.dtb phy3250.dtb
200+dtb-$(CONFIG_MACH_MESON6) += \
201+ meson6-atv1200.dtb
202+dtb-$(CONFIG_ARCH_MMP) += \
203+ pxa168-aspenite.dtb \
181204 pxa910-dkb.dtb \
182205 mmp2-brownstone.dtb
183−dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb
184−dtb-$(CONFIG_ARCH_MXC) += \
206+dtb-$(CONFIG_ARCH_MOXART) += \
207+ moxart-uc7112lx.dtb
208+dtb-$(CONFIG_SOC_IMX1) += \
185209 imx1-ads.dtb \
186− imx1-apf9328.dtb \
210+ imx1-apf9328.dtb
211+dtb-$(CONFIG_SOC_IMX25) += \
187212 imx25-eukrea-mbimxsd25-baseboard.dtb \
188213 imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \
189214 imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \
190215 imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtb \
191216 imx25-karo-tx25.dtb \
192− imx25-pdk.dtb \
217+ imx25-pdk.dtb
218+dtb-$(CONFIG_SOC_IMX31) += \
193219 imx27-apf27.dtb \
194220 imx27-apf27dev.dtb \
195221 imx27-eukrea-mbimxsd27-baseboard.dtb \
196222 imx27-pdk.dtb \
197223 imx27-phytec-phycore-rdk.dtb \
198− imx27-phytec-phycard-s-rdk.dtb \
199− imx31-bug.dtb \
224+ imx27-phytec-phycard-s-rdk.dtb
225+dtb-$(CONFIG_SOC_IMX31) += \
226+ imx31-bug.dtb
227+dtb-$(CONFIG_SOC_IMX35) += \
200228 imx35-eukrea-mbimxsd35-baseboard.dtb \
201− imx35-pdk.dtb \
202− imx50-evk.dtb \
229+ imx35-pdk.dtb
230+dtb-$(CONFIG_SOC_IMX50) += \
231+ imx50-evk.dtb
232+dtb-$(CONFIG_SOC_IMX51) += \
203233 imx51-apf51.dtb \
204234 imx51-apf51dev.dtb \
205235 imx51-babbage.dtb \
206236 imx51-digi-connectcore-jsk.dtb \
207− imx51-eukrea-mbimxsd51-baseboard.dtb \
237+ imx51-eukrea-mbimxsd51-baseboard.dtb
238+dtb-$(CONFIG_SOC_IMX53) += \
208239 imx53-ard.dtb \
209240 imx53-m53evk.dtb \
210241 imx53-mba53.dtb \
@@ -213,7 +244,8 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 2 unmodified lines
213244 imx53-smd.dtb \
214245 imx53-tx53-x03x.dtb \
215246 imx53-tx53-x13x.dtb \
216− imx53-voipac-bsb.dtb \
247+ imx53-voipac-bsb.dtb
248+dtb-$(CONFIG_SOC_IMX6Q) += \
217249 imx6dl-aristainetos_4.dtb \
218250 imx6dl-aristainetos_7.dtb \
219251 imx6dl-cubox-i.dtb \
@@ -234,6 +266,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 14 unmodified lines
234266 imx6dl-tx6dl-comtft.dtb \
235267 imx6dl-tx6u-801x.dtb \
236268 imx6dl-tx6u-811x.dtb \
269+ imx6dl-udoo.dtb \
237270 imx6dl-wandboard.dtb \
238271 imx6dl-wandboard-revb1.dtb \
239272 imx6q-arm2.dtb \
@@ -257,23 +290,29 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 17 unmodified lines
257290 imx6q-sabresd.dtb \
258291 imx6q-sbc6x.dtb \
259292 imx6q-tbs2910.dtb \
260− imx6q-udoo.dtb \
261− imx6q-wandboard.dtb \
262− imx6q-wandboard-revb1.dtb \
263293 imx6q-tx6q-1010.dtb \
264294 imx6q-tx6q-1010-comtft.dtb \
265295 imx6q-tx6q-1020.dtb \
266296 imx6q-tx6q-1020-comtft.dtb \
267297 imx6q-tx6q-1110.dtb \
268− imx6sl-evk.dtb \
269− imx6sx-sdb.dtb \
298+ imx6q-udoo.dtb \
299+ imx6q-wandboard.dtb \
300+ imx6q-wandboard-revb1.dtb
301+dtb-$(CONFIG_SOC_IMX6SL) += \
302+ imx6sl-evk.dtb
303+dtb-$(CONFIG_SOC_IMX6SX) += \
304+ imx6sx-sabreauto.dtb \
305+ imx6sx-sdb.dtb
306+dtb-$(CONFIG_SOC_LS1021A) += \
270307 ls1021a-qds.dtb \
271− ls1021a-twr.dtb \
308+ ls1021a-twr.dtb
309+dtb-$(CONFIG_SOC_VF610) += \
272310 vf500-colibri-eval-v3.dtb \
273311 vf610-colibri-eval-v3.dtb \
274312 vf610-cosmic.dtb \
275313 vf610-twr.dtb
276−dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
314+dtb-$(CONFIG_ARCH_MXS) += \
315+ imx23-evk.dtb \
277316 imx23-olinuxino.dtb \
278317 imx23-stmp378x_devb.dtb \
279318 imx28-apf28.dtb \
@@ -294,17 +333,21 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ · 14 unmodified lines
294333 imx28-m28evk.dtb \
295334 imx28-sps1.dtb \
296335 imx28-tx28.dtb
297−dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \
336+dtb-$(CONFIG_ARCH_NOMADIK) += \
337+ ste-nomadik-s8815.dtb \
298338 ste-nomadik-nhk15.dtb
299−dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \
339+dtb-$(CONFIG_ARCH_NSPIRE) += \
340+ nspire-cx.dtb \
300341 nspire-tp.dtb \
301342 nspire-clp.dtb
302−dtb-$(CONFIG_ARCH_OMAP2) += omap2420-h4.dtb \
343+dtb-$(CONFIG_ARCH_OMAP2) += \
344+ omap2420-h4.dtb \
303345 omap2420-n800.dtb \
304346 omap2420-n810.dtb \
305347 omap2420-n810-wimax.dtb \
306348 omap2430-sdp.dtb
307−dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \
349+dtb-$(CONFIG_ARCH_OMAP3) += \
350+ am3517-craneboard.dtb \
308351 am3517-evm.dtb \
309352 am3517_mt_ventoux.dtb \
310353 omap3430-sdp.dtb \
@@ -348,7 +391,10 @@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \ · 37 unmodified lines
348391 omap3-sbc-t3730.dtb \
349392 omap3-thunder.dtb \
350393 omap3-zoom3.dtb
351−dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \
394+dtb-$(CONFIG_SOC_TI81XX) += \
395+ dm8168-evm.dtb
396+dtb-$(CONFIG_SOC_AM33XX) += \
397+ am335x-base0033.dtb \
352398 am335x-bone.dtb \
353399 am335x-boneblack.dtb \
354400 am335x-evm.dtb \
@@ -356,7 +402,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \ · 1 unmodified line
356402 am335x-nano.dtb \
357403 am335x-pepper.dtb \
358404 am335x-lxm.dtb
359−dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
405+dtb-$(CONFIG_ARCH_OMAP4) += \
406+ omap4-duovero-parlor.dtb \
360407 omap4-panda.dtb \
361408 omap4-panda-a4.dtb \
362409 omap4-panda-es.dtb \
@@ -364,20 +411,26 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ · 1 unmodified line
364411 omap4-sdp-es23plus.dtb \
365412 omap4-var-dvk-om44.dtb \
366413 omap4-var-stk-om44.dtb
367−dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
414+dtb-$(CONFIG_SOC_AM43XX) += \
415+ am43x-epos-evm.dtb \
368416 am437x-sk-evm.dtb \
417+ am437x-idk-evm.dtb \
369418 am437x-gp-evm.dtb
370−dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
419+dtb-$(CONFIG_SOC_OMAP5) += \
420+ omap5-cm-t54.dtb \
371421 omap5-sbc-t54.dtb \
372422 omap5-uevm.dtb
373−dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \
423+dtb-$(CONFIG_SOC_DRA7XX) += \
424+ dra7-evm.dtb \
374425 am57xx-beagle-x15.dtb \
375426 dra72-evm.dtb
376−dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \
427+dtb-$(CONFIG_ARCH_ORION5X) += \
428+ orion5x-lacie-d2-network.dtb \
377429 orion5x-lacie-ethernet-disk-mini-v2.dtb \
378430 orion5x-maxtor-shared-storage-2.dtb \
379431 orion5x-rd88f5182-nas.dtb
380−dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
432+dtb-$(CONFIG_ARCH_PRIMA2) += \
433+ prima2-evb.dtb
381434 dtb-$(CONFIG_ARCH_QCOM) += \
382435 qcom-apq8064-cm-qs600.dtb \
383436 qcom-apq8064-ifc6410.dtb \
@@ -388,17 +441,24 @@ dtb-$(CONFIG_ARCH_QCOM) += \ · 4 unmodified lines
388441 qcom-msm8660-surf.dtb \
389442 qcom-msm8960-cdp.dtb \
390443 qcom-msm8974-sony-xperia-honami.dtb
391−dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb
444+dtb-$(CONFIG_ARCH_REALVIEW) += \
445+ arm-realview-pb1176.dtb
392446 dtb-$(CONFIG_ARCH_ROCKCHIP) += \
393447 rk3066a-bqcurie2.dtb \
394448 rk3066a-marsboard.dtb \
449+ rk3066a-rayeager.dtb \
395450 rk3188-radxarock.dtb \
396451 rk3288-evb-act8846.dtb \
397− rk3288-evb-rk808.dtb
398−dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb
399−dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \
452+ rk3288-evb-rk808.dtb \
453+ rk3288-firefly-beta.dtb \
454+ rk3288-firefly.dtb
455+dtb-$(CONFIG_ARCH_S3C24XX) += \
456+ s3c2416-smdk2416.dtb
457+dtb-$(CONFIG_ARCH_S3C64XX) += \
458+ s3c6410-mini6410.dtb \
400459 s3c6410-smdk6410.dtb
401−dtb-$(CONFIG_ARCH_S5PV210) += s5pv210-aquila.dtb \
460+dtb-$(CONFIG_ARCH_S5PV210) += \
461+ s5pv210-aquila.dtb \
402462 s5pv210-goni.dtb \
403463 s5pv210-smdkc110.dtb \
404464 s5pv210-smdkv210.dtb \
@@ -410,48 +470,61 @@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += \ · 5 unmodified lines
410470 r8a7778-bockw.dtb \
411471 r8a7778-bockw-reference.dtb \
412472 r8a7779-marzen.dtb \
413− r8a7790-lager.dtb \
414473 sh7372-mackerel.dtb \
415474 sh73a0-kzm9g.dtb \
416475 sh73a0-kzm9g-reference.dtb
417−dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \
476+dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
477+ emev2-kzm9d.dtb \
418478 r7s72100-genmai.dtb \
479+ r8a73a4-ape6evm.dtb \
419480 r8a7740-armadillo800eva.dtb \
420481 r8a7779-marzen.dtb \
421482 r8a7790-lager.dtb \
422483 r8a7791-henninger.dtb \
423484 r8a7791-koelsch.dtb \
424485 r8a7794-alt.dtb
425−dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \
486+dtb-$(CONFIG_ARCH_SOCFPGA) += \
487+ socfpga_arria5_socdk.dtb \
426488 socfpga_arria10_socdk.dtb \
427489 socfpga_cyclone5_socdk.dtb \
428490 socfpga_cyclone5_sockit.dtb \
429491 socfpga_cyclone5_socrates.dtb \
430492 socfpga_vt.dtb
431−dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
493+dtb-$(CONFIG_ARCH_SPEAR13XX) += \
494+ spear1310-evb.dtb \
432495 spear1340-evb.dtb
433−dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
496+dtb-$(CONFIG_ARCH_SPEAR3XX) += \
497+ spear300-evb.dtb \
434498 spear310-evb.dtb \
435499 spear320-evb.dtb \
436500 spear320-hmi.dtb
437−dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
438−dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \
501+dtb-$(CONFIG_ARCH_SPEAR6XX) += \
502+ spear600-evb.dtb
503+dtb-$(CONFIG_ARCH_STI) += \
504+ stih407-b2120.dtb \
439505 stih410-b2120.dtb \
440506 stih415-b2000.dtb \
441507 stih415-b2020.dtb \
442508 stih416-b2000.dtb \
443509 stih416-b2020.dtb \
444− stih416-b2020e.dtb
510+ stih416-b2020e.dtb \
511+ stih418-b2199.dtb
445512 dtb-$(CONFIG_MACH_SUN4I) += \
446513 sun4i-a10-a1000.dtb \
447514 sun4i-a10-ba10-tvbox.dtb \
515+ sun4i-a10-chuwi-v7-cw0825.dtb \
448516 sun4i-a10-cubieboard.dtb \
517+ sun4i-a10-marsboard.dtb \
449518 sun4i-a10-mini-xplus.dtb \
519+ sun4i-a10-mk802.dtb \
520+ sun4i-a10-mk802ii.dtb \
450521 sun4i-a10-hackberry.dtb \
522+ sun4i-a10-hyundai-a7hd.dtb \
451523 sun4i-a10-inet97fv2.dtb \
452524 sun4i-a10-olinuxino-lime.dtb \
453525 sun4i-a10-pcduino.dtb
454526 dtb-$(CONFIG_MACH_SUN5I) += \
527+ sun5i-a10s-mk802.dtb \
455528 sun5i-a10s-olinuxino-micro.dtb \
456529 sun5i-a10s-r7-tv-dongle.dtb \
457530 sun5i-a13-hsg-h702.dtb \
@@ -461,9 +534,11 @@ dtb-$(CONFIG_MACH_SUN6I) += \ · 3 unmodified lines
461534 sun6i-a31-app4-evb1.dtb \
462535 sun6i-a31-colombus.dtb \
463536 sun6i-a31-hummingbird.dtb \
464− sun6i-a31-m9.dtb
537+ sun6i-a31-m9.dtb \
538+ sun6i-a31s-cs908.dtb
465539 dtb-$(CONFIG_MACH_SUN7I) += \
466540 sun7i-a20-bananapi.dtb \
541+ sun7i-a20-bananapro.dtb \
467542 sun7i-a20-cubieboard2.dtb \
468543 sun7i-a20-cubietruck.dtb \
469544 sun7i-a20-hummingbird.dtb \
@@ -474,10 +549,12 @@ dtb-$(CONFIG_MACH_SUN7I) += \ · 4 unmodified lines
474549 sun7i-a20-olinuxino-micro.dtb \
475550 sun7i-a20-pcduino3.dtb
476551 dtb-$(CONFIG_MACH_SUN8I) += \
477− sun8i-a23-ippo-q8h-v5.dtb
552+ sun8i-a23-ippo-q8h-v5.dtb \
553+ sun8i-a23-ippo-q8h-v1.2.dtb
478554 dtb-$(CONFIG_MACH_SUN9I) += \
479555 sun9i-a80-optimus.dtb
480−dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
556+dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
557+ tegra20-harmony.dtb \
481558 tegra20-iris-512.dtb \
482559 tegra20-medcom-wide.dtb \
483560 tegra20-paz00.dtb \
@@ -486,34 +563,43 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ · 2 unmodified lines
486563 tegra20-tec.dtb \
487564 tegra20-trimslice.dtb \
488565 tegra20-ventana.dtb \
489− tegra20-whistler.dtb \
566+ tegra20-whistler.dtb
567+dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \
490568 tegra30-apalis-eval.dtb \
491569 tegra30-beaver.dtb \
492570 tegra30-cardhu-a02.dtb \
493571 tegra30-cardhu-a04.dtb \
494− tegra30-colibri-eval-v3.dtb \
572+ tegra30-colibri-eval-v3.dtb
573+dtb-$(CONFIG_ARCH_TEGRA_114_SOC) += \
495574 tegra114-dalmore.dtb \
496575 tegra114-roth.dtb \
497− tegra114-tn7.dtb \
576+ tegra114-tn7.dtb
577+dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \
498578 tegra124-jetson-tk1.dtb \
499579 tegra124-nyan-big.dtb \
500580 tegra124-venice2.dtb
501−dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb
502−dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \
581+dtb-$(CONFIG_ARCH_U300) += \
582+ ste-u300.dtb
583+dtb-$(CONFIG_ARCH_U8500) += \
584+ ste-snowball.dtb \
503585 ste-hrefprev60-stuib.dtb \
504586 ste-hrefprev60-tvk.dtb \
505587 ste-hrefv60plus-stuib.dtb \
506588 ste-hrefv60plus-tvk.dtb \
507589 ste-ccu8540.dtb \
508590 ste-ccu9540.dtb
509−dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \
591+dtb-$(CONFIG_ARCH_VERSATILE) += \
592+ versatile-ab.dtb \
510593 versatile-pb.dtb
511−dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
594+dtb-$(CONFIG_ARCH_VEXPRESS) += \
595+ vexpress-v2p-ca5s.dtb \
512596 vexpress-v2p-ca9.dtb \
513597 vexpress-v2p-ca15-tc1.dtb \
514598 vexpress-v2p-ca15_a7.dtb
515−dtb-$(CONFIG_ARCH_VIRT) += xenvm-4.2.dtb
516−dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \
599+dtb-$(CONFIG_ARCH_VIRT) += \
600+ xenvm-4.2.dtb
601+dtb-$(CONFIG_ARCH_VT8500) += \
602+ vt8500-bv07.dtb \
517603 wm8505-ref.dtb \
518604 wm8650-mid.dtb \
519605 wm8750-apc8750.dtb \
@@ -534,8 +620,10 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \ · 14 unmodified lines
534620 dtb-$(CONFIG_MACH_ARMADA_375) += \
535621 armada-375-db.dtb
536622 dtb-$(CONFIG_MACH_ARMADA_38X) += \
537− armada-385-db.dtb \
538− armada-385-rd.dtb
623+ armada-385-db-ap.dtb \
624+ armada-388-db.dtb \
625+ armada-388-gp.dtb \
626+ armada-388-rd.dtb
539627 dtb-$(CONFIG_MACH_ARMADA_XP) += \
540628 armada-xp-axpwifiap.dtb \
541629 armada-xp-db.dtb \
@@ -545,17 +633,18 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \ · 3 unmodified lines
545633 armada-xp-netgear-rn2120.dtb \
546634 armada-xp-openblocks-ax3-4.dtb \
547635 armada-xp-synology-ds414.dtb
548−dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
636+dtb-$(CONFIG_MACH_DOVE) += \
637+ dove-cm-a510.dtb \
549638 dove-cubox.dtb \
550639 dove-cubox-es.dtb \
551640 dove-d2plug.dtb \
552641 dove-d3plug.dtb \
553642 dove-dove-db.dtb
554−dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb \
643+dtb-$(CONFIG_ARCH_MEDIATEK) += \
644+ mt6589-aquaris5.dtb \
555645 mt6592-evb.dtb \
556646 mt8127-moose.dtb \
557647 mt8135-evbp1.dtb
558−
559648 endif
560649
561650 always := $(dtb-y)
arch/arm/boot/dts/alphascale-asm9260-devkit.dts+13−0
@@ -0,0 +1,13 @@
1+/*
2+ * Copyright 2014 Oleksij Rempel <linux@rempel-privat.de>
3+ *
4+ * Licensed under the X11 license or the GPL v2 (or later)
5+ */
6+
7+/dts-v1/;
8+#include "alphascale-asm9260.dtsi"
9+
10+/ {
11+ model = "Alphascale asm9260 Development Kit";
12+ compatible = "alphascale,asm9260devkit", "alphascale,asm9260";
13+};
arch/arm/boot/dts/alphascale-asm9260.dtsi+63−0
@@ -0,0 +1,63 @@
1+/*
2+ * Copyright 2014 Oleksij Rempel <linux@rempel-privat.de>
3+ *
4+ * Licensed under the X11 license or the GPL v2 (or later)
5+ */
6+
7+#include "skeleton.dtsi"
8+#include <dt-bindings/clock/alphascale,asm9260.h>
9+
10+/ {
11+ interrupt-parent = <&icoll>;
12+
13+ memory {
14+ device_type = "memory";
15+ reg = <0x20000000 0x2000000>;
16+ };
17+
18+ cpus {
19+ #address-cells = <0>;
20+ #size-cells = <0>;
21+
22+ cpu {
23+ compatible = "arm,arm926ej-s";
24+ device_type = "cpu";
25+ clocks = <&acc CLKID_SYS_CPU>;
26+ };
27+ };
28+
29+ osc24m: oscillator {
30+ compatible = "fixed-clock";
31+ #clock-cells = <0>;
32+ clock-frequency = <24000000>;
33+ clock-accuracy = <30000>;
34+ };
35+
36+ soc {
37+ #address-cells = <1>;
38+ #size-cells = <1>;
39+ compatible = "simple-bus";
40+ ranges;
41+
42+ acc: clock-controller@80040000 {
43+ compatible = "alphascale,asm9260-clock-controller";
44+ #clock-cells = <1>;
45+ clocks = <&osc24m>;
46+ reg = <0x80040000 0x204>;
47+ };
48+
49+ icoll: interrupt-controller@80054000 {
50+ compatible = "alphascale,asm9260-icoll";
51+ interrupt-controller;
52+ #interrupt-cells = <1>;
53+ reg = <0x80054000 0x200>;
54+ };
55+
56+ timer0: timer@80088000 {
57+ compatible = "alphascale,asm9260-timer";
58+ reg = <0x80088000 0x4000>;
59+ clocks = <&acc CLKID_AHB_TIMER0>;
60+ interrupts = <29>;
61+ };
62+ };
63+};
arch/arm/boot/dts/am335x-evm.dts+1−0
@@ -648,6 +648,7 @@ · 647 unmodified lines
648648 ti,x-plate-resistance = <200>;
649649 ti,coordinate-readouts = <5>;
650650 ti,wire-config = <0x00 0x11 0x22 0x33>;
651+ ti,charge-delay = <0x400>;
651652 };
652653
653654 adc {
arch/arm/boot/dts/am3517.dtsi+1−0
@@ -31,6 +31,7 @@ · 30 unmodified lines
3131 status = "disabled";
3232 reg = <0x5c000000 0x30000>;
3333 interrupts = <67 68 69 70>;
34+ syscon = <&omap3_scm_general>;
3435 ti,davinci-ctrl-reg-offset = <0x10000>;
3536 ti,davinci-ctrl-mod-reg-offset = <0>;
3637 ti,davinci-ctrl-ram-offset = <0x20000>;
arch/arm/boot/dts/am4372.dtsi+16−0
@@ -948,6 +948,22 @@ · 947 unmodified lines
948948 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
949949 status = "disabled";
950950 };
951+
952+ vpfe0: vpfe@48326000 {
953+ compatible = "ti,am437x-vpfe";
954+ reg = <0x48326000 0x2000>;
955+ interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
956+ ti,hwmods = "vpfe0";
957+ status = "disabled";
958+ };
959+
960+ vpfe1: vpfe@48328000 {
961+ compatible = "ti,am437x-vpfe";
962+ reg = <0x48328000 0x2000>;
963+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
964+ ti,hwmods = "vpfe1";
965+ status = "disabled";
966+ };
951967 };
952968 };
953969
arch/arm/boot/dts/am437x-gp-evm.dts+106−0
@@ -268,6 +268,78 @@ · 267 unmodified lines
268268 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.d_can1_rx */
269269 >;
270270 };
271+
272+ vpfe0_pins_default: vpfe0_pins_default {
273+ pinctrl-single,pins = <
274+ 0x1B0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_hd mode 0*/
275+ 0x1B4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_vd mode 0*/
276+ 0x1C0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_pclk mode 0*/
277+ 0x1C4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data8 mode 0*/
278+ 0x1C8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data9 mode 0*/
279+ 0x208 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data0 mode 0*/
280+ 0x20C (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data1 mode 0*/
281+ 0x210 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data2 mode 0*/
282+ 0x214 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data3 mode 0*/
283+ 0x218 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data4 mode 0*/
284+ 0x21C (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data5 mode 0*/
285+ 0x220 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data6 mode 0*/
286+ 0x224 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data7 mode 0*/
287+ >;
288+ };
289+
290+ vpfe0_pins_sleep: vpfe0_pins_sleep {
291+ pinctrl-single,pins = <
292+ 0x1B0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_hd mode 0*/
293+ 0x1B4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_vd mode 0*/
294+ 0x1C0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_pclk mode 0*/
295+ 0x1C4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data8 mode 0*/
296+ 0x1C8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data9 mode 0*/
297+ 0x208 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data0 mode 0*/
298+ 0x20C (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data1 mode 0*/
299+ 0x210 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data2 mode 0*/
300+ 0x214 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data3 mode 0*/
301+ 0x218 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data4 mode 0*/
302+ 0x21C (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data5 mode 0*/
303+ 0x220 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data6 mode 0*/
304+ 0x224 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam0_data7 mode 0*/
305+ >;
306+ };
307+
308+ vpfe1_pins_default: vpfe1_pins_default {
309+ pinctrl-single,pins = <
310+ 0x1CC (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data9 mode 0*/
311+ 0x1D0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data8 mode 0*/
312+ 0x1D4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_hd mode 0*/
313+ 0x1D8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_vd mode 0*/
314+ 0x1DC (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_pclk mode 0*/
315+ 0x1E8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data0 mode 0*/
316+ 0x1EC (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data1 mode 0*/
317+ 0x1F0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data2 mode 0*/
318+ 0x1F4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data3 mode 0*/
319+ 0x1F8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data4 mode 0*/
320+ 0x1FC (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data5 mode 0*/
321+ 0x200 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data6 mode 0*/
322+ 0x204 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data7 mode 0*/
323+ >;
324+ };
325+
326+ vpfe1_pins_sleep: vpfe1_pins_sleep {
327+ pinctrl-single,pins = <
328+ 0x1CC (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data9 mode 0*/
329+ 0x1D0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data8 mode 0*/
330+ 0x1D4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_hd mode 0*/
331+ 0x1D8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_vd mode 0*/
332+ 0x1DC (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_pclk mode 0*/
333+ 0x1E8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data0 mode 0*/
334+ 0x1EC (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data1 mode 0*/
335+ 0x1F0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data2 mode 0*/
336+ 0x1F4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data3 mode 0*/
337+ 0x1F8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data4 mode 0*/
338+ 0x1FC (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data5 mode 0*/
339+ 0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data6 mode 0*/
340+ 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7) /* cam1_data7 mode 0*/
341+ >;
342+ };
271343 };
272344
273345 &i2c0 {
@@ -545,3 +617,37 @@ · 271 unmodified lines
545617 pinctrl-0 = <&dcan1_default>;
546618 status = "okay";
547619 };
620+
621+&vpfe0 {
622+ status = "okay";
623+ pinctrl-names = "default", "sleep";
624+ pinctrl-0 = <&vpfe0_pins_default>;
625+ pinctrl-1 = <&vpfe0_pins_sleep>;
626+
627+ port {
628+ vpfe0_ep: endpoint {
629+ /* remote-endpoint = <&sensor>; add once we have it */
630+ ti,am437x-vpfe-interface = <0>;
631+ bus-width = <8>;
632+ hsync-active = <0>;
633+ vsync-active = <0>;
634+ };
635+ };
636+};
637+
638+&vpfe1 {
639+ status = "okay";
640+ pinctrl-names = "default", "sleep";
641+ pinctrl-0 = <&vpfe1_pins_default>;
642+ pinctrl-1 = <&vpfe1_pins_sleep>;
643+
644+ port {
645+ vpfe1_ep: endpoint {
646+ /* remote-endpoint = <&sensor>; add once we have it */
647+ ti,am437x-vpfe-interface = <0>;
648+ bus-width = <8>;
649+ hsync-active = <0>;
650+ vsync-active = <0>;
651+ };
652+ };
653+};
arch/arm/boot/dts/am437x-idk-evm.dts+405−0
@@ -0,0 +1,405 @@
1+/*
2+ * Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ */
8+
9+/dts-v1/;
10+
11+#include "am4372.dtsi"
12+#include <dt-bindings/pinctrl/am43xx.h>
13+#include <dt-bindings/pwm/pwm.h>
14+#include <dt-bindings/gpio/gpio.h>
15+#include <dt-bindings/input/input.h>
16+
17+/ {
18+ model = "TI AM437x Industrial Development Kit";
19+ compatible = "ti,am437x-idk-evm","ti,am4372","ti,am43";
20+
21+ v24_0d: fixed-regulator-v24_0d {
22+ compatible = "regulator-fixed";
23+ regulator-name = "V24_0D";
24+ regulator-min-microvolt = <24000000>;
25+ regulator-max-microvolt = <24000000>;
26+ regulator-always-on;
27+ regulator-boot-on;
28+ };
29+
30+ v3_3d: fixed-regulator-v3_3d {
31+ compatible = "regulator-fixed";
32+ regulator-name = "V3_3D";
33+ regulator-min-microvolt = <3300000>;
34+ regulator-max-microvolt = <3300000>;
35+ regulator-always-on;
36+ regulator-boot-on;
37+ vin-supply = <&v24_0d>;
38+ };
39+
40+ vdd_corereg: fixed-regulator-vdd_corereg {
41+ compatible = "regulator-fixed";
42+ regulator-name = "VDD_COREREG";
43+ regulator-min-microvolt = <1100000>;
44+ regulator-max-microvolt = <1100000>;
45+ regulator-always-on;
46+ regulator-boot-on;
47+ vin-supply = <&v24_0d>;
48+ };
49+
50+ vdd_core: fixed-regulator-vdd_core {
51+ compatible = "regulator-fixed";
52+ regulator-name = "VDD_CORE";
53+ regulator-min-microvolt = <1100000>;
54+ regulator-max-microvolt = <1100000>;
55+ regulator-always-on;
56+ regulator-boot-on;
57+ vin-supply = <&vdd_corereg>;
58+ };
59+
60+ v1_8dreg: fixed-regulator-v1_8dreg{
61+ compatible = "regulator-fixed";
62+ regulator-name = "V1_8DREG";
63+ regulator-min-microvolt = <1800000>;
64+ regulator-max-microvolt = <1800000>;
65+ regulator-always-on;
66+ regulator-boot-on;
67+ vin-supply = <&v24_0d>;
68+ };
69+
70+ v1_8d: fixed-regulator-v1_8d{
71+ compatible = "regulator-fixed";
72+ regulator-name = "V1_8D";
73+ regulator-min-microvolt = <1800000>;
74+ regulator-max-microvolt = <1800000>;
75+ regulator-always-on;
76+ regulator-boot-on;
77+ vin-supply = <&v1_8dreg>;
78+ };
79+
80+ v1_5dreg: fixed-regulator-v1_5dreg{
81+ compatible = "regulator-fixed";
82+ regulator-name = "V1_5DREG";
83+ regulator-min-microvolt = <1500000>;
84+ regulator-max-microvolt = <1500000>;
85+ regulator-always-on;
86+ regulator-boot-on;
87+ vin-supply = <&v24_0d>;
88+ };
89+
90+ v1_5d: fixed-regulator-v1_5d{
91+ compatible = "regulator-fixed";
92+ regulator-name = "V1_5D";
93+ regulator-min-microvolt = <1500000>;
94+ regulator-max-microvolt = <1500000>;
95+ regulator-always-on;
96+ regulator-boot-on;
97+ vin-supply = <&v1_5dreg>;
98+ };
99+
100+ gpio_keys: gpio_keys {
101+ compatible = "gpio-keys";
102+ pinctrl-names = "default";
103+ pinctrl-0 = <&gpio_keys_pins_default>;
104+ #address-cells = <1>;
105+ #size-cells = <0>;
106+
107+ switch@0 {
108+ label = "power-button";
109+ linux,code = <KEY_POWER>;
110+ gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;
111+ };
112+ };
113+};
114+
115+&am43xx_pinmux {
116+ gpio_keys_pins_default: gpio_keys_pins_default {
117+ pinctrl-single,pins = <
118+ 0x1b8 (PIN_INPUT | MUX_MODE7) /* cam0_field.gpio4_2 */
119+ >;
120+ };
121+
122+ i2c0_pins_default: i2c0_pins_default {
123+ pinctrl-single,pins = <
124+ 0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
125+ 0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
126+ >;
127+ };
128+
129+ i2c0_pins_sleep: i2c0_pins_sleep {
130+ pinctrl-single,pins = <
131+ 0x188 (PIN_INPUT_PULLDOWN | MUX_MODE7)
132+ 0x18c (PIN_INPUT_PULLDOWN | MUX_MODE7)
133+ >;
134+ };
135+
136+ i2c1_pins_default: i2c1_pins_default {
137+ pinctrl-single,pins = <
138+ 0x15c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
139+ 0x158 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
140+ >;
141+ };
142+
143+ i2c1_pins_sleep: i2c1_pins_sleep {
144+ pinctrl-single,pins = <
145+ 0x15c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_cs0.i2c1_scl */
146+ 0x158 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* spi0_d1.i2c1_sda */
147+ >;
148+ };
149+
150+ mmc1_pins_default: pinmux_mmc1_pins_default {
151+ pinctrl-single,pins = <
152+ 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
153+ 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
154+ 0x1f0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
155+ 0x1f4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
156+ 0x1f8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
157+ 0x1fc (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
158+ 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
159+ >;
160+ };
161+
162+ mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
163+ pinctrl-single,pins = <
164+ 0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)
165+ 0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)
166+ 0x1f0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
167+ 0x1f4 (PIN_INPUT_PULLDOWN | MUX_MODE7)
168+ 0x1f8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
169+ 0x1fc (PIN_INPUT_PULLDOWN | MUX_MODE7)
170+ 0x160 (PIN_INPUT_PULLDOWN | MUX_MODE7)
171+ >;
172+ };
173+
174+ ecap0_pins_default: backlight_pins_default {
175+ pinctrl-single,pins = <
176+ 0x164 (PIN_OUTPUT | MUX_MODE0) /* ecap0_in_pwm0_out.ecap0_in_pwm0_out */
177+ >;
178+ };
179+
180+ cpsw_default: cpsw_default {
181+ pinctrl-single,pins = <
182+ 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
183+ 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
184+ 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
185+ 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
186+ 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */
187+ 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */
188+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
189+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
190+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
191+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
192+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */
193+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */
194+ >;
195+ };
196+
197+ cpsw_sleep: cpsw_sleep {
198+ pinctrl-single,pins = <
199+ 0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
200+ 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
201+ 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
202+ 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
203+ 0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
204+ 0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
205+ 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
206+ 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
207+ 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
208+ 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
209+ 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
210+ 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
211+ >;
212+ };
213+
214+ davinci_mdio_default: davinci_mdio_default {
215+ pinctrl-single,pins = <
216+ /* MDIO */
217+ 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
218+ 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
219+ >;
220+ };
221+
222+ davinci_mdio_sleep: davinci_mdio_sleep {
223+ pinctrl-single,pins = <
224+ /* MDIO reset value */
225+ 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
226+ 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
227+ >;
228+ };
229+
230+ qspi_pins_default: qspi_pins_default {
231+ pinctrl-single,pins = <
232+ 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_csn0.qspi_csn */
233+ 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */
234+ 0x90 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */
235+ 0x94 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */
236+ 0x98 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_wen.qspi_d2 */
237+ 0x9c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */
238+ >;
239+ };
240+
241+ qspi_pins_sleep: qspi_pins_sleep{
242+ pinctrl-single,pins = <
243+ 0x7c (PIN_INPUT_PULLDOWN | MUX_MODE7)
244+ 0x88 (PIN_INPUT_PULLDOWN | MUX_MODE7)
245+ 0x90 (PIN_INPUT_PULLDOWN | MUX_MODE7)
246+ 0x94 (PIN_INPUT_PULLDOWN | MUX_MODE7)
247+ 0x98 (PIN_INPUT_PULLDOWN | MUX_MODE7)
248+ 0x9c (PIN_INPUT_PULLDOWN | MUX_MODE7)
249+ >;
250+ };
251+};
252+
253+&i2c0 {
254+ status = "okay";
255+ pinctrl-names = "default", "sleep";
256+ pinctrl-0 = <&i2c0_pins_default>;
257+ pinctrl-1 = <&i2c0_pins_default>;
258+ clock-frequency = <400000>;
259+
260+ at24@50 {
261+ compatible = "at24,24c256";
262+ pagesize = <64>;
263+ reg = <0x50>;
264+ };
265+};
266+
267+&i2c1 {
268+ status = "okay";
269+ pinctrl-names = "default", "sleep";
270+ pinctrl-0 = <&i2c1_pins_default>;
271+ pinctrl-1 = <&i2c1_pins_default>;
272+ clock-frequency = <400000>;
273+
274+ tps: tps62362@60 {
275+ compatible = "ti,tps62362";
276+ regulator-name = "VDD_MPU";
277+ regulator-min-microvolt = <950000>;
278+ regulator-max-microvolt = <1330000>;
279+ regulator-boot-on;
280+ regulator-always-on;
281+ ti,vsel0-state-high;
282+ ti,vsel1-state-high;
283+ vin-supply = <&v3_3d>;
284+ };
285+};
286+
287+&epwmss0 {
288+ status = "okay";
289+};
290+
291+&ecap0 {
292+ status = "okay";
293+ pinctrl-names = "default";
294+ pinctrl-0 = <&ecap0_pins_default>;
295+};
296+
297+&gpio0 {
298+ status = "okay";
299+};
300+
301+&gpio1 {
302+ status = "okay";
303+};
304+
305+&gpio4 {
306+ status = "okay";
307+};
308+
309+&gpio5 {
310+ status = "okay";
311+};
312+
313+&mmc1 {
314+ status = "okay";
315+ pinctrl-names = "default", "sleep";
316+ pinctrl-0 = <&mmc1_pins_default>;
317+ pinctrl-1 = <&mmc1_pins_sleep>;
318+ vmmc-supply = <&v3_3d>;
319+ bus-width = <4>;
320+ cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
321+};
322+
323+&qspi {
324+ status = "okay";
325+ pinctrl-names = "default", "sleep";
326+ pinctrl-0 = <&qspi_pins_default>;
327+ pinctrl-1 = <&qspi_pins_sleep>;
328+
329+ spi-max-frequency = <48000000>;
330+ m25p80@0 {
331+ compatible = "mx66l51235l";
332+ spi-max-frequency = <48000000>;
333+ reg = <0>;
334+ spi-cpol;
335+ spi-cpha;
336+ spi-tx-bus-width = <1>;
337+ spi-rx-bus-width = <4>;
338+ #address-cells = <1>;
339+ #size-cells = <1>;
340+
341+ /*
342+ * MTD partition table. The ROM checks the first 512KiB for a
343+ * valid file to boot(XIP).
344+ */
345+ partition@0 {
346+ label = "QSPI.U_BOOT";
347+ reg = <0x00000000 0x000080000>;
348+ };
349+ partition@1 {
350+ label = "QSPI.U_BOOT.backup";
351+ reg = <0x00080000 0x00080000>;
352+ };
353+ partition@2 {
354+ label = "QSPI.U-BOOT-SPL_OS";
355+ reg = <0x00100000 0x00010000>;
356+ };
357+ partition@3 {
358+ label = "QSPI.U_BOOT_ENV";
359+ reg = <0x00110000 0x00010000>;
360+ };
361+ partition@4 {
362+ label = "QSPI.U-BOOT-ENV.backup";
363+ reg = <0x00120000 0x00010000>;
364+ };
365+ partition@5 {
366+ label = "QSPI.KERNEL";
367+ reg = <0x00130000 0x0800000>;
368+ };
369+ partition@6 {
370+ label = "QSPI.FILESYSTEM";
371+ reg = <0x00930000 0x36D0000>;
372+ };
373+ };
374+};
375+
376+&mac {
377+ pinctrl-names = "default", "sleep";
378+ pinctrl-0 = <&cpsw_default>;
379+ pinctrl-1 = <&cpsw_sleep>;
380+ status = "okay";
381+};
382+
383+&davinci_mdio {
384+ pinctrl-names = "default", "sleep";
385+ pinctrl-0 = <&davinci_mdio_default>;
386+ pinctrl-1 = <&davinci_mdio_sleep>;
387+ status = "okay";
388+};
389+
390+&cpsw_emac0 {
391+ phy_id = <&davinci_mdio>, <0>;
392+ phy-mode = "rgmii";
393+};
394+
395+&rtc {
396+ status = "okay";
397+};
398+
399+&wdt {
400+ status = "okay";
401+};
402+
403+&cpu {
404+ cpu0-supply = <&tps>;
405+};
arch/arm/boot/dts/am437x-sk-evm.dts+153−64
@@ -153,20 +153,26 @@ · 152 unmodified lines
153153
154154 i2c0_pins: i2c0_pins {
155155 pinctrl-single,pins = <
156− 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
157− 0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
156+ 0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
157+ 0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
158158 >;
159159 };
160160
161161 i2c1_pins: i2c1_pins {
162162 pinctrl-single,pins = <
163− 0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
164− 0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
163+ 0x15c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
164+ 0x158 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
165165 >;
166166 };
167167
168168 mmc1_pins: pinmux_mmc1_pins {
169169 pinctrl-single,pins = <
170+ 0x0f0 (PIN_INPUT | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
171+ 0x0f4 (PIN_INPUT | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
172+ 0x0f8 (PIN_INPUT | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
173+ 0x0fc (PIN_INPUT | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
174+ 0x100 (PIN_INPUT | MUX_MODE0) /* mmc0_clk.mmc0_clk */
175+ 0x104 (PIN_INPUT | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
170176 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
171177 >;
172178 };
@@ -184,35 +190,75 @@ · 11 unmodified lines
184190 >;
185191 };
186192
193+ vpfe0_pins_default: vpfe0_pins_default {
194+ pinctrl-single,pins = <
195+ 0x1b0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_hd mode 0*/
196+ 0x1b4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_vd mode 0*/
197+ 0x1b8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_field mode 0*/
198+ 0x1bc (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_wen mode 0*/
199+ 0x1c0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_pclk mode 0*/
200+ 0x1c4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data8 mode 0*/
201+ 0x1c8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data9 mode 0*/
202+ 0x208 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data0 mode 0*/
203+ 0x20c (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data1 mode 0*/
204+ 0x210 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data2 mode 0*/
205+ 0x214 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data3 mode 0*/
206+ 0x218 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data4 mode 0*/
207+ 0x21c (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data5 mode 0*/
208+ 0x220 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data6 mode 0*/
209+ 0x224 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam0_data7 mode 0*/
210+ >;
211+ };
212+
213+ vpfe0_pins_sleep: vpfe0_pins_sleep {
214+ pinctrl-single,pins = <
215+ 0x1b0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
216+ 0x1b4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
217+ 0x1b8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
218+ 0x1bc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
219+ 0x1c0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
220+ 0x1c4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
221+ 0x1c8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
222+ 0x208 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
223+ 0x20c (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
224+ 0x210 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
225+ 0x214 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
226+ 0x218 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
227+ 0x21c (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
228+ 0x220 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
229+ 0x224 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
230+ >;
231+ };
232+
187233 cpsw_default: cpsw_default {
188234 pinctrl-single,pins = <
189235 /* Slave 1 */
190− 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
191− 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
192− 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
193− 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
194− 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */
195− 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */
196− 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
197− 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
198− 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
199− 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
200− 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */
201− 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */
236+ 0x12c (PIN_OUTPUT | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
237+ 0x114 (PIN_OUTPUT | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
238+ 0x128 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
239+ 0x124 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
240+ 0x120 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */
241+ 0x11c (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */
242+ 0x130 (PIN_INPUT | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
243+ 0x118 (PIN_INPUT | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
244+ 0x140 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
245+ 0x13c (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
246+ 0x138 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */
247+ 0x134 (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */
202248
203249 /* Slave 2 */
204− 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
205− 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
206− 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
207− 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
208− 0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
209− 0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
210− 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
211− 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */
212− 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
213− 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
214− 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
215− 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
250+ 0x58 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
251+ 0x40 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
252+ 0x54 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
253+ 0x50 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
254+ 0x4c (PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
255+ 0x48 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
256+ 0x5c (PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
257+ 0x44 (PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */
258+ 0x6c (PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
259+ 0x68 (PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
260+ 0x64 (PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
261+ 0x60 (PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
216262 >;
217263 };
218264
@@ -251,8 +297,8 @@ · 32 unmodified lines
251297 davinci_mdio_default: davinci_mdio_default {
252298 pinctrl-single,pins = <
253299 /* MDIO */
254− 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
255− 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
300+ 0x148 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
301+ 0x14c (PIN_OUTPUT | MUX_MODE0) /* mdio_clk.mdio_clk */
256302 >;
257303 };
258304
@@ -266,46 +312,46 @@ · 7 unmodified lines
266312
267313 dss_pins: dss_pins {
268314 pinctrl-single,pins = <
269− 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /* gpmc ad 8 -> DSS DATA 23 */
270− 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)
271− 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)
272− 0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)
273− 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)
274− 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)
275− 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)
276− 0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1) /* gpmc ad 15 -> DSS DATA 16 */
277− 0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */
278− 0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
279− 0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
280− 0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)
281− 0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
282− 0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
283− 0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
284− 0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)
285− 0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
286− 0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
287− 0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
288− 0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)
289− 0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)
290− 0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)
291− 0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)
292− 0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */
293− 0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */
294− 0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */
295− 0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */
296− 0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */
315+ 0x020 (PIN_OUTPUT | MUX_MODE1) /* gpmc ad 8 -> DSS DATA 23 */
316+ 0x024 (PIN_OUTPUT | MUX_MODE1)
317+ 0x028 (PIN_OUTPUT | MUX_MODE1)
318+ 0x02c (PIN_OUTPUT | MUX_MODE1)
319+ 0x030 (PIN_OUTPUT | MUX_MODE1)
320+ 0x034 (PIN_OUTPUT | MUX_MODE1)
321+ 0x038 (PIN_OUTPUT | MUX_MODE1)
322+ 0x03c (PIN_OUTPUT | MUX_MODE1) /* gpmc ad 15 -> DSS DATA 16 */
323+ 0x0a0 (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 0 */
324+ 0x0a4 (PIN_OUTPUT | MUX_MODE0)
325+ 0x0a8 (PIN_OUTPUT | MUX_MODE0)
326+ 0x0ac (PIN_OUTPUT | MUX_MODE0)
327+ 0x0b0 (PIN_OUTPUT | MUX_MODE0)
328+ 0x0b4 (PIN_OUTPUT | MUX_MODE0)
329+ 0x0b8 (PIN_OUTPUT | MUX_MODE0)
330+ 0x0bc (PIN_OUTPUT | MUX_MODE0)
331+ 0x0c0 (PIN_OUTPUT | MUX_MODE0)
332+ 0x0c4 (PIN_OUTPUT | MUX_MODE0)
333+ 0x0c8 (PIN_OUTPUT | MUX_MODE0)
334+ 0x0cc (PIN_OUTPUT | MUX_MODE0)
335+ 0x0d0 (PIN_OUTPUT | MUX_MODE0)
336+ 0x0d4 (PIN_OUTPUT | MUX_MODE0)
337+ 0x0d8 (PIN_OUTPUT | MUX_MODE0)
338+ 0x0dc (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 15 */
339+ 0x0e0 (PIN_OUTPUT | MUX_MODE0) /* DSS VSYNC */
340+ 0x0e4 (PIN_OUTPUT | MUX_MODE0) /* DSS HSYNC */
341+ 0x0e8 (PIN_OUTPUT | MUX_MODE0) /* DSS PCLK */
342+ 0x0ec (PIN_OUTPUT | MUX_MODE0) /* DSS AC BIAS EN */
297343
298344 >;
299345 };
300346
301347 qspi_pins: qspi_pins {
302348 pinctrl-single,pins = <
303− 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_csn0.qspi_csn */
304− 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */
305− 0x90 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */
306− 0x94 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */
307− 0x98 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_wen.qspi_d2 */
308− 0x9c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */
349+ 0x7c (PIN_OUTPUT | MUX_MODE3) /* gpmc_csn0.qspi_csn */
350+ 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */
351+ 0x90 (PIN_INPUT | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */
352+ 0x94 (PIN_INPUT | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */
353+ 0x98 (PIN_INPUT | MUX_MODE3) /* gpmc_wen.qspi_d2 */
354+ 0x9c (PIN_INPUT | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */
309355 >;
310356 };
311357
@@ -323,6 +369,18 @@ · 11 unmodified lines
323369 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */
324370 >;
325371 };
372+
373+ usb1_pins: usb1_pins {
374+ pinctrl-single,pins = <
375+ 0x2c0 (PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
376+ >;
377+ };
378+
379+ usb2_pins: usb2_pins {
380+ pinctrl-single,pins = <
381+ 0x2c4 (PIN_OUTPUT | MUX_MODE0) /* usb0_drvvbus.usb0_drvvbus */
382+ >;
383+ };
326384 };
327385
328386 &i2c0 {
@@ -386,6 +444,11 @@ · 57 unmodified lines
386444 regulator-always-on;
387445 };
388446
447+ power-button {
448+ compatible = "ti,tps65218-pwrbutton";
449+ status = "okay";
450+ interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
451+ };
389452 };
390453
391454 at24@50 {
@@ -479,6 +542,8 @@ · 87 unmodified lines
479542 &usb1 {
480543 dr_mode = "peripheral";
481544 status = "okay";
545+ pinctrl-names = "default";
546+ pinctrl-0 = <&usb1_pins>;
482547 };
483548
484549 &usb2_phy2 {
@@ -488,6 +553,8 @@ · 3 unmodified lines
488553 &usb2 {
489554 dr_mode = "host";
490555 status = "okay";
556+ pinctrl-names = "default";
557+ pinctrl-0 = <&usb2_pins>;
491558 };
492559
493560 &qspi {
@@ -610,3 +677,25 @@ · 116 unmodified lines
610677 &wdt {
611678 status = "okay";
612679 };
680+
681+&cpu {
682+ cpu0-supply = <&dcdc2>;
683+};
684+
685+&vpfe0 {
686+ status = "okay";
687+ pinctrl-names = "default", "sleep";
688+ pinctrl-0 = <&vpfe0_pins_default>;
689+ pinctrl-1 = <&vpfe0_pins_sleep>;
690+
691+ /* Camera port */
692+ port {
693+ vpfe0_ep: endpoint {
694+ /* remote-endpoint = <&sensor>; add once we have it */
695+ ti,am437x-vpfe-interface = <0>;
696+ bus-width = <8>;
697+ hsync-active = <0>;
698+ vsync-active = <0>;
699+ };
700+ };
701+};
arch/arm/boot/dts/am43x-epos-evm.dts+53−0
@@ -243,6 +243,42 @@ · 242 unmodified lines
243243 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7)
244244 >;
245245 };
246+
247+ vpfe1_pins_default: vpfe1_pins_default {
248+ pinctrl-single,pins = <
249+ 0x1cc (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data9 mode 0 */
250+ 0x1d0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data8 mode 0 */
251+ 0x1d4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_hd mode 0 */
252+ 0x1d8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_vd mode 0 */
253+ 0x1dc (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_pclk mode 0 */
254+ 0x1e8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data0 mode 0 */
255+ 0x1ec (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data1 mode 0 */
256+ 0x1f0 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data2 mode 0 */
257+ 0x1f4 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data3 mode 0 */
258+ 0x1f8 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data4 mode 0 */
259+ 0x1fc (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data5 mode 0 */
260+ 0x200 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data6 mode 0 */
261+ 0x204 (PIN_INPUT_PULLUP | MUX_MODE0) /* cam1_data7 mode 0 */
262+ >;
263+ };
264+
265+ vpfe1_pins_sleep: vpfe1_pins_sleep {
266+ pinctrl-single,pins = <
267+ 0x1cc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
268+ 0x1d0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
269+ 0x1d4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
270+ 0x1d8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
271+ 0x1dc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
272+ 0x1e8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
273+ 0x1ec (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
274+ 0x1f0 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
275+ 0x1f4 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
276+ 0x1f8 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
277+ 0x1fc (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
278+ 0x200 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
279+ 0x204 (DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE7)
280+ >;
281+ };
246282 };
247283
248284 matrix_keypad: matrix_keypad@0 {
@@ -634,3 +670,20 @@ · 385 unmodified lines
634670 };
635671 };
636672 };
673+
674+&vpfe1 {
675+ status = "okay";
676+ pinctrl-names = "default", "sleep";
677+ pinctrl-0 = <&vpfe1_pins_default>;
678+ pinctrl-1 = <&vpfe1_pins_sleep>;
679+
680+ port {
681+ vpfe1_ep: endpoint {
682+ /* remote-endpoint = <&sensor>; add once we have it */
683+ ti,am437x-vpfe-interface = <0>;
684+ bus-width = <8>;
685+ hsync-active = <0>;
686+ vsync-active = <0>;
687+ };
688+ };
689+};
arch/arm/boot/dts/am57xx-beagle-x15.dts+157−0
@@ -80,6 +80,28 @@ · 79 unmodified lines
8080 default-state = "off";
8181 };
8282 };
83+
84+ gpio_fan: gpio_fan {
85+ /* Based on 5v 500mA AFB02505HHB */
86+ compatible = "gpio-fan";
87+ gpios = <&tps659038_gpio 1 GPIO_ACTIVE_HIGH>;
88+ gpio-fan,speed-map = <0 0>,
89+ <13000 1>;
90+ };
91+
92+ extcon_usb1: extcon_usb1 {
93+ compatible = "linux,extcon-usb-gpio";
94+ id-gpio = <&gpio7 25 GPIO_ACTIVE_HIGH>;
95+ pinctrl-names = "default";
96+ pinctrl-0 = <&extcon_usb1_pins>;
97+ };
98+
99+ extcon_usb2: extcon_usb2 {
100+ compatible = "linux,extcon-usb-gpio";
101+ id-gpio = <&gpio7 24 GPIO_ACTIVE_HIGH>;
102+ pinctrl-names = "default";
103+ pinctrl-0 = <&extcon_usb2_pins>;
104+ };
83105 };
84106
85107 &dra7_pmx_core {
@@ -140,6 +162,86 @@ · 54 unmodified lines
140162 >;
141163 };
142164
165+ cpsw_pins_default: cpsw_pins_default {
166+ pinctrl-single,pins = <
167+ /* Slave 1 */
168+ 0x250 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tclk */
169+ 0x254 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_tctl */
170+ 0x258 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td3 */
171+ 0x25c (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td2 */
172+ 0x260 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td1 */
173+ 0x264 (PIN_OUTPUT | MUX_MODE0) /* rgmii1_td0 */
174+ 0x268 (PIN_INPUT | MUX_MODE0) /* rgmii1_rclk */
175+ 0x26c (PIN_INPUT | MUX_MODE0) /* rgmii1_rctl */
176+ 0x270 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd3 */
177+ 0x274 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd2 */
178+ 0x278 (PIN_INPUT | MUX_MODE0) /* rgmii1_rd1 */
179+ 0x27c (PIN_INPUT | MUX_MODE0) /* rgmii1_rd0 */
180+
181+ /* Slave 2 */
182+ 0x198 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tclk */
183+ 0x19c (PIN_OUTPUT | MUX_MODE3) /* rgmii2_tctl */
184+ 0x1a0 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td3 */
185+ 0x1a4 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td2 */
186+ 0x1a8 (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td1 */
187+ 0x1ac (PIN_OUTPUT | MUX_MODE3) /* rgmii2_td0 */
188+ 0x1b0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rclk */
189+ 0x1b4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rctl */
190+ 0x1b8 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd3 */
191+ 0x1bc (PIN_INPUT | MUX_MODE3) /* rgmii2_rd2 */
192+ 0x1c0 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd1 */
193+ 0x1c4 (PIN_INPUT | MUX_MODE3) /* rgmii2_rd0 */
194+ >;
195+
196+ };
197+
198+ cpsw_pins_sleep: cpsw_pins_sleep {
199+ pinctrl-single,pins = <
200+ /* Slave 1 */
201+ 0x250 (PIN_INPUT | MUX_MODE15)
202+ 0x254 (PIN_INPUT | MUX_MODE15)
203+ 0x258 (PIN_INPUT | MUX_MODE15)
204+ 0x25c (PIN_INPUT | MUX_MODE15)
205+ 0x260 (PIN_INPUT | MUX_MODE15)
206+ 0x264 (PIN_INPUT | MUX_MODE15)
207+ 0x268 (PIN_INPUT | MUX_MODE15)
208+ 0x26c (PIN_INPUT | MUX_MODE15)
209+ 0x270 (PIN_INPUT | MUX_MODE15)
210+ 0x274 (PIN_INPUT | MUX_MODE15)
211+ 0x278 (PIN_INPUT | MUX_MODE15)
212+ 0x27c (PIN_INPUT | MUX_MODE15)
213+
214+ /* Slave 2 */
215+ 0x198 (PIN_INPUT | MUX_MODE15)
216+ 0x19c (PIN_INPUT | MUX_MODE15)
217+ 0x1a0 (PIN_INPUT | MUX_MODE15)
218+ 0x1a4 (PIN_INPUT | MUX_MODE15)
219+ 0x1a8 (PIN_INPUT | MUX_MODE15)
220+ 0x1ac (PIN_INPUT | MUX_MODE15)
221+ 0x1b0 (PIN_INPUT | MUX_MODE15)
222+ 0x1b4 (PIN_INPUT | MUX_MODE15)
223+ 0x1b8 (PIN_INPUT | MUX_MODE15)
224+ 0x1bc (PIN_INPUT | MUX_MODE15)
225+ 0x1c0 (PIN_INPUT | MUX_MODE15)
226+ 0x1c4 (PIN_INPUT | MUX_MODE15)
227+ >;
228+ };
229+
230+ davinci_mdio_pins_default: davinci_mdio_pins_default {
231+ pinctrl-single,pins = <
232+ /* MDIO */
233+ 0x23c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_mclk */
234+ 0x240 (PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_d */
235+ >;
236+ };
237+
238+ davinci_mdio_pins_sleep: davinci_mdio_pins_sleep {
239+ pinctrl-single,pins = <
240+ 0x23c (PIN_INPUT | MUX_MODE15)
241+ 0x240 (PIN_INPUT | MUX_MODE15)
242+ >;
243+ };
244+
143245 tps659038_pins_default: tps659038_pins_default {
144246 pinctrl-single,pins = <
145247 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
@@ -164,6 +266,17 @@ · 18 unmodified lines
164266 >;
165267 };
166268
269+ extcon_usb1_pins: extcon_usb1_pins {
270+ pinctrl-single,pins = <
271+ 0x3ec (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_rtsn.gpio7_25 */
272+ >;
273+ };
274+
275+ extcon_usb2_pins: extcon_usb2_pins {
276+ pinctrl-single,pins = <
277+ 0x3e8 (PIN_INPUT_PULLUP | MUX_MODE14) /* uart1_ctsn.gpio7_24 */
278+ >;
279+ };
167280 };
168281
169282 &i2c1 {
@@ -314,6 +427,12 @@ · 144 unmodified lines
314427 wakeup-source;
315428 ti,palmas-long-press-seconds = <12>;
316429 };
430+
431+ tps659038_gpio: tps659038_gpio {
432+ compatible = "ti,palmas-gpio";
433+ gpio-controller;
434+ #gpio-cells = <2>;
435+ };
317436 };
318437
319438 tmp102: tmp102@48 {
@@ -365,6 +484,32 @@ · 45 unmodified lines
365484 pinctrl-0 = <&uart3_pins_default>;
366485 };
367486
487+&mac {
488+ status = "okay";
489+ pinctrl-names = "default", "sleep";
490+ pinctrl-0 = <&cpsw_pins_default>;
491+ pinctrl-1 = <&cpsw_pins_sleep>;
492+ dual_emac;
493+};
494+
495+&cpsw_emac0 {
496+ phy_id = <&davinci_mdio>, <1>;
497+ phy-mode = "rgmii";
498+ dual_emac_res_vlan = <1>;
499+};
500+
501+&cpsw_emac1 {
502+ phy_id = <&davinci_mdio>, <2>;
503+ phy-mode = "rgmii";
504+ dual_emac_res_vlan = <2>;
505+};
506+
507+&davinci_mdio {
508+ pinctrl-names = "default", "sleep";
509+ pinctrl-0 = <&davinci_mdio_pins_default>;
510+ pinctrl-1 = <&davinci_mdio_pins_sleep>;
511+};
512+
368513 &mmc1 {
369514 status = "okay";
370515
@@ -403,3 +548,15 @@ · 32 unmodified lines
403548 pinctrl-names = "default";
404549 pinctrl-0 = <&usb1_pins>;
405550 };
551+
552+&omap_dwc3_1 {
553+ extcon = <&extcon_usb1>;
554+};
555+
556+&omap_dwc3_2 {
557+ extcon = <&extcon_usb2>;
558+};
559+
560+&usb2 {
561+ dr_mode = "peripheral";
562+};
arch/arm/boot/dts/armada-370-db.dts+37−3
@@ -8,9 +8,43 @@ · 7 unmodified lines
88 * Gregory CLEMENT <gregory.clement@free-electrons.com>
99 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
1010 *
11− * This file is licensed under the terms of the GNU General Public
12− * License version 2. This program is licensed "as is" without any
13− * warranty of any kind, whether express or implied.
11+ * This file is dual-licensed: you can use it either under the terms
12+ * of the GPL or the X11 license, at your option. Note that this dual
13+ * licensing only applies to this file, and not this project as a
14+ * whole.
15+ *
16+ * a) This file is free software; you can redistribute it and/or
17+ * modify it under the terms of the GNU General Public License as
18+ * published by the Free Software Foundation; either version 2 of the
19+ * License, or (at your option) any later version.
20+ *
21+ * This file is distributed in the hope that it will be useful
22+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
23+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24+ * GNU General Public License for more details.
25+ *
26+ * Or, alternatively
27+ *
28+ * b) Permission is hereby granted, free of charge, to any person
29+ * obtaining a copy of this software and associated documentation
30+ * files (the "Software"), to deal in the Software without
31+ * restriction, including without limitation the rights to use
32+ * copy, modify, merge, publish, distribute, sublicense, and/or
33+ * sell copies of the Software, and to permit persons to whom the
34+ * Software is furnished to do so, subject to the following
35+ * conditions:
36+ *
37+ * The above copyright notice and this permission notice shall be
38+ * included in all copies or substantial portions of the Software.
39+ *
40+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
41+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
45+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47+ * OTHER DEALINGS IN THE SOFTWARE.
1448 */
1549
1650 /dts-v1/;
arch/arm/boot/dts/armada-370-mirabox.dts+37−3
@@ -3,9 +3,43 @@ · 2 unmodified lines
33 *
44 * Gregory CLEMENT <gregory.clement@free-electrons.com>
55 *
6− * This file is licensed under the terms of the GNU General Public
7− * License version 2. This program is licensed "as is" without any
8− * warranty of any kind, whether express or implied.
6+ * This file is dual-licensed: you can use it either under the terms
7+ * of the GPL or the X11 license, at your option. Note that this dual
8+ * licensing only applies to this file, and not this project as a
9+ * whole.
10+ *
11+ * a) This file is free software; you can redistribute it and/or
12+ * modify it under the terms of the GNU General Public License as
13+ * published by the Free Software Foundation; either version 2 of the
14+ * License, or (at your option) any later version.
15+ *
16+ * This file is distributed in the hope that it will be useful
17+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+ * GNU General Public License for more details.
20+ *
21+ * Or, alternatively
22+ *
23+ * b) Permission is hereby granted, free of charge, to any person
24+ * obtaining a copy of this software and associated documentation
25+ * files (the "Software"), to deal in the Software without
26+ * restriction, including without limitation the rights to use
27+ * copy, modify, merge, publish, distribute, sublicense, and/or
28+ * sell copies of the Software, and to permit persons to whom the
29+ * Software is furnished to do so, subject to the following
30+ * conditions:
31+ *
32+ * The above copyright notice and this permission notice shall be
33+ * included in all copies or substantial portions of the Software.
34+ *
35+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
36+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
40+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42+ * OTHER DEALINGS IN THE SOFTWARE.
943 */
1044
1145 /dts-v1/;
arch/arm/boot/dts/armada-370-netgear-rn102.dts+38−4
@@ -3,10 +3,43 @@ · 2 unmodified lines
33 *
44 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
55 *
6− * This program is free software; you can redistribute it and/or
7− * modify it under the terms of the GNU General Public License
8− * as published by the Free Software Foundation; either version
9− * 2 of the License, or (at your option) any later version.
6+ * This file is dual-licensed: you can use it either under the terms
7+ * of the GPL or the X11 license, at your option. Note that this dual
8+ * licensing only applies to this file, and not this project as a
9+ * whole.
10+ *
11+ * a) This file is free software; you can redistribute it and/or
12+ * modify it under the terms of the GNU General Public License as
13+ * published by the Free Software Foundation; either version 2 of the
14+ * License, or (at your option) any later version.
15+ *
16+ * This file is distributed in the hope that it will be useful
17+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+ * GNU General Public License for more details.
20+ *
21+ * Or, alternatively
22+ *
23+ * b) Permission is hereby granted, free of charge, to any person
24+ * obtaining a copy of this software and associated documentation
25+ * files (the "Software"), to deal in the Software without
26+ * restriction, including without limitation the rights to use
27+ * copy, modify, merge, publish, distribute, sublicense, and/or
28+ * sell copies of the Software, and to permit persons to whom the
29+ * Software is furnished to do so, subject to the following
30+ * conditions:
31+ *
32+ * The above copyright notice and this permission notice shall be
33+ * included in all copies or substantial portions of the Software.
34+ *
35+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
36+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
40+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42+ * OTHER DEALINGS IN THE SOFTWARE.
1043 */
1144
1245 /dts-v1/;
@@ -87,6 +120,7 @@ · 74 unmodified lines
87120 isl12057: isl12057@68 {
88121 compatible = "isil,isl12057";
89122 reg = <0x68>;
123+ isil,irq2-can-wakeup-machine;
90124 };
91125
92126 g762: g762@3e {
arch/arm/boot/dts/armada-370-netgear-rn104.dts+38−4
@@ -3,10 +3,43 @@ · 2 unmodified lines
33 *
44 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
55 *
6− * This program is free software; you can redistribute it and/or
7− * modify it under the terms of the GNU General Public License
8− * as published by the Free Software Foundation; either version
9− * 2 of the License, or (at your option) any later version.
6+ * This file is dual-licensed: you can use it either under the terms
7+ * of the GPL or the X11 license, at your option. Note that this dual
8+ * licensing only applies to this file, and not this project as a
9+ * whole.
10+ *
11+ * a) This file is free software; you can redistribute it and/or
12+ * modify it under the terms of the GNU General Public License as
13+ * published by the Free Software Foundation; either version 2 of the
14+ * License, or (at your option) any later version.
15+ *
16+ * This file is distributed in the hope that it will be useful
17+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+ * GNU General Public License for more details.
20+ *
21+ * Or, alternatively
22+ *
23+ * b) Permission is hereby granted, free of charge, to any person
24+ * obtaining a copy of this software and associated documentation
25+ * files (the "Software"), to deal in the Software without
26+ * restriction, including without limitation the rights to use
27+ * copy, modify, merge, publish, distribute, sublicense, and/or
28+ * sell copies of the Software, and to permit persons to whom the
29+ * Software is furnished to do so, subject to the following
30+ * conditions:
31+ *
32+ * The above copyright notice and this permission notice shall be
33+ * included in all copies or substantial portions of the Software.
34+ *
35+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
36+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
40+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42+ * OTHER DEALINGS IN THE SOFTWARE.
1043 */
1144
1245 /dts-v1/;
@@ -93,6 +126,7 @@ · 80 unmodified lines
93126 isl12057: isl12057@68 {
94127 compatible = "isil,isl12057";
95128 reg = <0x68>;
129+ isil,irq2-can-wakeup-machine;
96130 };
97131
98132 g762: g762@3e {
arch/arm/boot/dts/armada-370-rd.dts+37−3
@@ -6,9 +6,43 @@ · 5 unmodified lines
66 *
77 * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org>
88 *
9− * This file is licensed under the terms of the GNU General Public
10− * License version 2. This program is licensed "as is" without any
11− * warranty of any kind, whether express or implied.
9+ * This file is dual-licensed: you can use it either under the terms
10+ * of the GPL or the X11 license, at your option. Note that this dual
11+ * licensing only applies to this file, and not this project as a
12+ * whole.
13+ *
14+ * a) This file is free software; you can redistribute it and/or
15+ * modify it under the terms of the GNU General Public License as
16+ * published by the Free Software Foundation; either version 2 of the
17+ * License, or (at your option) any later version.
18+ *
19+ * This file is distributed in the hope that it will be useful
20+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22+ * GNU General Public License for more details.
23+ *
24+ * Or, alternatively
25+ *
26+ * b) Permission is hereby granted, free of charge, to any person
27+ * obtaining a copy of this software and associated documentation
28+ * files (the "Software"), to deal in the Software without
29+ * restriction, including without limitation the rights to use
30+ * copy, modify, merge, publish, distribute, sublicense, and/or
31+ * sell copies of the Software, and to permit persons to whom the
32+ * Software is furnished to do so, subject to the following
33+ * conditions:
34+ *
35+ * The above copyright notice and this permission notice shall be
36+ * included in all copies or substantial portions of the Software.
37+ *
38+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
39+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
43+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45+ * OTHER DEALINGS IN THE SOFTWARE.
1246 *
1347 * Note: this Device Tree assumes that the bootloader has remapped the
1448 * internal registers to 0xf1000000 (instead of the default
arch/arm/boot/dts/armada-370-synology-ds213j.dts+37−4
@@ -3,10 +3,43 @@ · 2 unmodified lines
33 *
44 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
55 *
6− * This program is free software; you can redistribute it and/or
7− * modify it under the terms of the GNU General Public License
8− * as published by the Free Software Foundation; either version
9− * 2 of the License, or (at your option) any later version.
6+ * This file is dual-licensed: you can use it either under the terms
7+ * of the GPL or the X11 license, at your option. Note that this dual
8+ * licensing only applies to this file, and not this project as a
9+ * whole.
10+ *
11+ * a) This file is free software; you can redistribute it and/or
12+ * modify it under the terms of the GNU General Public License as
13+ * published by the Free Software Foundation; either version 2 of the
14+ * License, or (at your option) any later version.
15+ *
16+ * This file is distributed in the hope that it will be useful
17+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+ * GNU General Public License for more details.
20+ *
21+ * Or, alternatively
22+ *
23+ * b) Permission is hereby granted, free of charge, to any person
24+ * obtaining a copy of this software and associated documentation
25+ * files (the "Software"), to deal in the Software without
26+ * restriction, including without limitation the rights to use
27+ * copy, modify, merge, publish, distribute, sublicense, and/or
28+ * sell copies of the Software, and to permit persons to whom the
29+ * Software is furnished to do so, subject to the following
30+ * conditions:
31+ *
32+ * The above copyright notice and this permission notice shall be
33+ * included in all copies or substantial portions of the Software.
34+ *
35+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
36+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
37+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
38+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
39+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
40+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
41+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
42+ * OTHER DEALINGS IN THE SOFTWARE.
1043 *
1144 * Note: this Device Tree assumes that the bootloader has remapped the
1245 * internal registers to 0xf1000000 (instead of the old 0xd0000000).
arch/arm/boot/dts/armada-370-xp.dtsi+37−3
@@ -8,9 +8,43 @@ · 7 unmodified lines
88 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
99 * Ben Dooks <ben.dooks@codethink.co.uk>
1010 *
11− * This file is licensed under the terms of the GNU General Public
12− * License version 2. This program is licensed "as is" without any
13− * warranty of any kind, whether express or implied.
11+ * This file is dual-licensed: you can use it either under the terms
12+ * of the GPL or the X11 license, at your option. Note that this dual
13+ * licensing only applies to this file, and not this project as a
14+ * whole.
15+ *
16+ * a) This file is free software; you can redistribute it and/or
17+ * modify it under the terms of the GNU General Public License as
18+ * published by the Free Software Foundation; either version 2 of the
19+ * License, or (at your option) any later version.
20+ *
21+ * This file is distributed in the hope that it will be useful
22+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
23+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24+ * GNU General Public License for more details.
25+ *
26+ * Or, alternatively
27+ *
28+ * b) Permission is hereby granted, free of charge, to any person
29+ * obtaining a copy of this software and associated documentation
30+ * files (the "Software"), to deal in the Software without
31+ * restriction, including without limitation the rights to use
32+ * copy, modify, merge, publish, distribute, sublicense, and/or
33+ * sell copies of the Software, and to permit persons to whom the
34+ * Software is furnished to do so, subject to the following
35+ * conditions:
36+ *
37+ * The above copyright notice and this permission notice shall be
38+ * included in all copies or substantial portions of the Software.
39+ *
40+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
41+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
42+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
43+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
44+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
45+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
46+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
47+ * OTHER DEALINGS IN THE SOFTWARE.
1448 *
1549 * This file contains the definitions that are common to the Armada
1650 * 370 and Armada XP SoC.
arch/arm/boot/dts/armada-370.dtsi+37−3
@@ -7,9 +7,43 @@ · 6 unmodified lines
77 * Gregory CLEMENT <gregory.clement@free-electrons.com>
88 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
99 *
10− * This file is licensed under the terms of the GNU General Public
11− * License version 2. This program is licensed "as is" without any
12− * warranty of any kind, whether express or implied.
10+ * This file is dual-licensed: you can use it either under the terms
11+ * of the GPL or the X11 license, at your option. Note that this dual
12+ * licensing only applies to this file, and not this project as a
13+ * whole.
14+ *
15+ * a) This file is free software; you can redistribute it and/or
16+ * modify it under the terms of the GNU General Public License as
17+ * published by the Free Software Foundation; either version 2 of the
18+ * License, or (at your option) any later version.
19+ *
20+ * This file is distributed in the hope that it will be useful
21+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
22+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23+ * GNU General Public License for more details.
24+ *
25+ * Or, alternatively
26+ *
27+ * b) Permission is hereby granted, free of charge, to any person
28+ * obtaining a copy of this software and associated documentation
29+ * files (the "Software"), to deal in the Software without
30+ * restriction, including without limitation the rights to use
31+ * copy, modify, merge, publish, distribute, sublicense, and/or
32+ * sell copies of the Software, and to permit persons to whom the
33+ * Software is furnished to do so, subject to the following
34+ * conditions:
35+ *
36+ * The above copyright notice and this permission notice shall be
37+ * included in all copies or substantial portions of the Software.
38+ *
39+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
40+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
44+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46+ * OTHER DEALINGS IN THE SOFTWARE.
1347 *
1448 * Contains definitions specific to the Armada 370 SoC that are not
1549 * common to all Armada SoCs.
arch/arm/boot/dts/armada-375-db.dts+37−3
@@ -7,9 +7,43 @@ · 6 unmodified lines
77 * Gregory CLEMENT <gregory.clement@free-electrons.com>
88 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
99 *
10− * This file is licensed under the terms of the GNU General Public
11− * License version 2. This program is licensed "as is" without any
12− * warranty of any kind, whether express or implied.
10+ * This file is dual-licensed: you can use it either under the terms
11+ * of the GPL or the X11 license, at your option. Note that this dual
12+ * licensing only applies to this file, and not this project as a
13+ * whole.
14+ *
15+ * a) This file is free software; you can redistribute it and/or
16+ * modify it under the terms of the GNU General Public License as
17+ * published by the Free Software Foundation; either version 2 of the
18+ * License, or (at your option) any later version.
19+ *
20+ * This file is distributed in the hope that it will be useful
21+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
22+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23+ * GNU General Public License for more details.
24+ *
25+ * Or, alternatively
26+ *
27+ * b) Permission is hereby granted, free of charge, to any person
28+ * obtaining a copy of this software and associated documentation
29+ * files (the "Software"), to deal in the Software without
30+ * restriction, including without limitation the rights to use
31+ * copy, modify, merge, publish, distribute, sublicense, and/or
32+ * sell copies of the Software, and to permit persons to whom the
33+ * Software is furnished to do so, subject to the following
34+ * conditions:
35+ *
36+ * The above copyright notice and this permission notice shall be
37+ * included in all copies or substantial portions of the Software.
38+ *
39+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
40+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
41+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
42+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
43+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
44+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
45+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
46+ * OTHER DEALINGS IN THE SOFTWARE.
1347 */
1448
1549 /dts-v1/;
arch/arm/boot/dts/armada-375.dtsi+38−4
@@ -6,9 +6,43 @@ · 5 unmodified lines
66 * Gregory CLEMENT <gregory.clement@free-electrons.com>
77 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
88 *
9− * This file is licensed under the terms of the GNU General Public
10− * License version 2. This program is licensed "as is" without any
11− * warranty of any kind, whether express or implied.
9+ * This file is dual-licensed: you can use it either under the terms
10+ * of the GPL or the X11 license, at your option. Note that this dual
11+ * licensing only applies to this file, and not this project as a
12+ * whole.
13+ *
14+ * a) This file is free software; you can redistribute it and/or
15+ * modify it under the terms of the GNU General Public License as
16+ * published by the Free Software Foundation; either version 2 of the
17+ * License, or (at your option) any later version.
18+ *
19+ * This file is distributed in the hope that it will be useful
20+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
21+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22+ * GNU General Public License for more details.
23+ *
24+ * Or, alternatively
25+ *
26+ * b) Permission is hereby granted, free of charge, to any person
27+ * obtaining a copy of this software and associated documentation
28+ * files (the "Software"), to deal in the Software without
29+ * restriction, including without limitation the rights to use
30+ * copy, modify, merge, publish, distribute, sublicense, and/or
31+ * sell copies of the Software, and to permit persons to whom the
32+ * Software is furnished to do so, subject to the following
33+ * conditions:
34+ *
35+ * The above copyright notice and this permission notice shall be
36+ * included in all copies or substantial portions of the Software.
37+ *
38+ * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
39+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
40+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
41+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
42+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
43+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
44+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
45+ * OTHER DEALINGS IN THE SOFTWARE.
1246 */
1347
1448 #include "skeleton.dtsi"
@@ -63,7 +97,7 @@ · 48 unmodified lines
6397 };
6498
6599 soc {
66− compatible = "marvell,armada375-mbus", "marvell,armada370-mbus", "simple-bus";
100+ compatible = "marvell,armada375-mbus", "simple-bus";
67101 #address-cells = <2>;
68102 #size-cells = <1>;
69103 controller = <&mbusc>;
arch/arm/boot/dts/armada-380.dtsi+38−5
@@ -7,9 +7,43 @@ · 6 unmodified lines
77 * Gregory CLEMENT <gregory.clement@free-electrons.com>
88 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
99 *
10− * This file is licensed under the terms of the GNU General Public
11− * License version 2. This program is licensed "as is" without any
12− * warranty of any kind, whether express or implied.
10+ * This file is dual-licensed: you can use it either under the terms
11+ * of the GPL or the X11 license, at your option. Note that this dual
12+ * licensing only applies to this file, and not this project as a
13+ * whole.
14+ *
15+ * a) This file is free software; you can redistribute it and/or
16+ * modify it under the terms of the GNU General Public License as
17+ * published by the Free Software Foundation; either version 2 of the
18+ * License, or (at your option) any later version.
19+ *
20+ * This file is distributed in the hope that it will be useful
21+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
22+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

38 more lines aren’t shown here.

arch/arm/boot/dts/armada-385-db-ap.dts+178−0

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

arch/arm/boot/dts/armada-385-rd.dts+0−97

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

arch/arm/boot/dts/armada-385.dtsi+38−5

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

arch/arm/boot/dts/armada-388-db.dtsrenamed from arch/arm/boot/dts/armada-385-db.dts+42−7

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

arch/arm/boot/dts/armada-388-gp.dts+414−0

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

arch/arm/boot/dts/armada-388-rd.dts+132−0

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

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

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

arch/arm/boot/dts/armada-38x.dtsi+134−9

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

arch/arm/boot/dts/armada-xp-axpwifiap.dts+41−5

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

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

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

arch/arm/boot/dts/armada-xp-gp.dts+37−3

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

arch/arm/boot/dts/armada-xp-lenovo-ix4-300d.dts+37−4

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

arch/arm/boot/dts/armada-xp-matrix.dts+37−3

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

arch/arm/boot/dts/armada-xp-mv78230.dtsi+37−3

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

arch/arm/boot/dts/armada-xp-mv78260.dtsi+37−3

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

arch/arm/boot/dts/armada-xp-mv78460.dtsi+37−3

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

arch/arm/boot/dts/armada-xp-netgear-rn2120.dts+38−4

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

arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts+37−3

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

arch/arm/boot/dts/armada-xp-synology-ds414.dts+37−4

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

arch/arm/boot/dts/armada-xp.dtsi+37−3

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

arch/arm/boot/dts/at91rm9200.dtsi+12−0

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

arch/arm/boot/dts/at91rm9200ek.dts+4−0

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

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

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

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

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

arch/arm/boot/dts/at91sam9263.dtsi+32−1

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

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

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

arch/arm/boot/dts/at91sam9g45.dtsi+5−2

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

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

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

arch/arm/boot/dts/at91sam9n12ek.dts+1−1

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

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

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

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

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

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

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

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

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

arch/arm/boot/dts/atlas7-evb.dts+110−0

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

arch/arm/boot/dts/atlas7.dtsi+813−0

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

arch/arm/boot/dts/axp209.dtsi+97−0

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

arch/arm/boot/dts/bcm-cygnus.dtsi+20−0

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

arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts+67−1

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

arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts+60−0

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

arch/arm/boot/dts/bcm4708-netgear-r6250.dts+0−1

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

arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts+0−1

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

arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts+0−1

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

arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts+67−1

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

arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts+37−0

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

arch/arm/boot/dts/bcm63138.dtsi+3−2

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

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

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

arch/arm/boot/dts/berlin2cd.dtsi+6−1

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

arch/arm/boot/dts/berlin2q.dtsi+9−1

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

arch/arm/boot/dts/cx92755.dtsi+113−0

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

arch/arm/boot/dts/cx92755_equinox.dts+74−0

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

arch/arm/boot/dts/dm8168-evm.dts+129−0

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

arch/arm/boot/dts/dm816x-clocks.dtsi+250−0

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

arch/arm/boot/dts/dm816x.dtsi+392−0

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

arch/arm/boot/dts/dra7-evm.dts+31−0

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

arch/arm/boot/dts/dra7.dtsi+0−2

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

arch/arm/boot/dts/dra72-evm.dts+108−0

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

arch/arm/boot/dts/ethernut5.dts+1−1

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

arch/arm/boot/dts/exynos3250-monk.dts+60−3

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

arch/arm/boot/dts/exynos3250-rinato.dts+130−3

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

arch/arm/boot/dts/exynos3250.dtsi+103−3

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

arch/arm/boot/dts/exynos4.dtsi+136−11

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

arch/arm/boot/dts/exynos4210-origen.dts+1−0

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

arch/arm/boot/dts/exynos4210-smdkv310.dts+1−0

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

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

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

arch/arm/boot/dts/exynos4210-universal_c210.dts+2−0

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

arch/arm/boot/dts/exynos4210.dtsi+18−0

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

arch/arm/boot/dts/exynos4412-odroid-common.dtsi+27−5

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

arch/arm/boot/dts/exynos4412-odroidu3.dts+5−3

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

arch/arm/boot/dts/exynos4412-odroidx2.dts+6−2

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

arch/arm/boot/dts/exynos4412-origen.dts+1−0

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

arch/arm/boot/dts/exynos4412-smdk4412.dts+1−0

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

arch/arm/boot/dts/exynos4412-tiny4412.dts+4−0

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

arch/arm/boot/dts/exynos4412-trats2.dts+161−52

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

arch/arm/boot/dts/exynos4415.dtsi+34−0

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

arch/arm/boot/dts/exynos4x12.dtsi+19−4

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

arch/arm/boot/dts/exynos5250-snow.dts+16−0

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

arch/arm/boot/dts/exynos5250.dtsi+7−5

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

arch/arm/boot/dts/exynos5420-peach-pit.dts+99−1

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

arch/arm/boot/dts/exynos5420.dtsi+24−3

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

arch/arm/boot/dts/exynos5422-odroidxu3.dts+371−0

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

arch/arm/boot/dts/exynos5800-peach-pi.dts+100−1

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

arch/arm/boot/dts/hip01-ca9x2.dts+51−0

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

arch/arm/boot/dts/hip01.dtsi+110−0

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

arch/arm/boot/dts/imx27-apf27dev.dts+21−0

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

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

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

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

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

arch/arm/boot/dts/imx51-apf51dev.dts+14−0

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

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

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

arch/arm/boot/dts/imx6dl-udoo.dts+18−0

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

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

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

arch/arm/boot/dts/imx6q-udoo.dts+1−123

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

arch/arm/boot/dts/imx6q.dtsi+3−1

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

arch/arm/boot/dts/imx6qdl-sabrelite.dtsi+33−0

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

arch/arm/boot/dts/imx6qdl-udoo.dtsi+134−0

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

arch/arm/boot/dts/imx6qdl.dtsi+2−3

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

arch/arm/boot/dts/imx6sx-sabreauto.dts+146−0

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

arch/arm/boot/dts/imx6sx-sdb.dts+39−0

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

arch/arm/boot/dts/kirkwood-6192.dtsi+2−0

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

arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts+173−0

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

arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts+6−2

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

arch/arm/boot/dts/kirkwood-pogo_e02.dts+134−0

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

arch/arm/boot/dts/marco-evb.dts+0−54

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

arch/arm/boot/dts/marco.dtsi+0−757

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

arch/arm/boot/dts/mt6589-aquaris5.dts+11−1

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

arch/arm/boot/dts/mt6589.dtsi+50−2

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

arch/arm/boot/dts/mt6592.dtsi+48−3

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

arch/arm/boot/dts/mt8127-moose.dts+4−0

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

arch/arm/boot/dts/mt8127.dtsi+50−2

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

arch/arm/boot/dts/mt8135-evbp1.dts+4−0

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

arch/arm/boot/dts/mt8135.dtsi+52−2

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

arch/arm/boot/dts/omap3-cm-t3x.dtsi+58−0

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

arch/arm/boot/dts/omap3-cm-t3x30.dtsi+2−1

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

arch/arm/boot/dts/omap3-gta04.dtsi+84−15

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

arch/arm/boot/dts/omap3-n900.dts+1−2

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

arch/arm/boot/dts/omap3-n950-n9.dtsi+5−0

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

arch/arm/boot/dts/omap3-sbc-t3517.dts+4−0

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

arch/arm/boot/dts/omap3-sbc-t3530.dts+3−7

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

arch/arm/boot/dts/omap3-sbc-t3730.dts+3−2

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

arch/arm/boot/dts/qcom-apq8064-ifc6410.dts+12−0

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

arch/arm/boot/dts/qcom-ipq8064.dtsi+1−1

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

arch/arm/boot/dts/r7s72100-genmai.dts+1−1

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

arch/arm/boot/dts/r8a73a4-ape6evm-reference.dts+1−1

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

arch/arm/boot/dts/r8a73a4-ape6evm.dts+169−4

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

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

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

arch/arm/boot/dts/r8a7740-armadillo800eva.dts+2−2

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

arch/arm/boot/dts/r8a7740.dtsi+110−5

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

arch/arm/boot/dts/r8a7779.dtsi+24−15

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

arch/arm/boot/dts/r8a7790-lager.dts+12−9

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

arch/arm/boot/dts/r8a7790.dtsi+35−27

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

arch/arm/boot/dts/r8a7791-henninger.dts+2−2

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

arch/arm/boot/dts/r8a7791-koelsch.dts+13−10

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

arch/arm/boot/dts/r8a7791.dtsi+39−30

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

arch/arm/boot/dts/r8a7794-alt.dts+2−2

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

arch/arm/boot/dts/r8a7794.dtsi+64−18

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

arch/arm/boot/dts/rk3066a-rayeager.dts+468−0

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

arch/arm/boot/dts/rk3288-evb-act8846.dts+27−0

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

arch/arm/boot/dts/rk3288-evb-rk808.dts+75−2

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

arch/arm/boot/dts/rk3288-evb.dtsi+44−0

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

arch/arm/boot/dts/rk3288-firefly-beta.dts+71−0

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

arch/arm/boot/dts/rk3288-firefly.dts+71−0

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

arch/arm/boot/dts/rk3288-firefly.dtsi+490−0

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

arch/arm/boot/dts/rk3288.dtsi+165−0

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

arch/arm/boot/dts/s5pv210-aquila.dts+1−0

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

arch/arm/boot/dts/s5pv210-goni.dts+1−0

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

arch/arm/boot/dts/s5pv210-smdkv210.dts+1−0

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

arch/arm/boot/dts/sama5d3.dtsi+29−5

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

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

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

arch/arm/boot/dts/sama5d3xmb.dtsi+37−5

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

arch/arm/boot/dts/sama5d4.dtsi+24−1

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

arch/arm/boot/dts/sh73a0-kzm9g-reference.dts+5−1

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

arch/arm/boot/dts/sh73a0.dtsi+375−1

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

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

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

arch/arm/boot/dts/stih407-b2120.dts+1−2

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

arch/arm/boot/dts/stih407-family.dtsi+62−0

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

arch/arm/boot/dts/stih407.dtsi+151−0

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

arch/arm/boot/dts/stih410.dtsi+208−0

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

arch/arm/boot/dts/stih415.dtsi+6−6

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

arch/arm/boot/dts/stih416.dtsi+11−11

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

arch/arm/boot/dts/stih418-b2199.dts+78−0

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

arch/arm/boot/dts/stih418-clock.dtsi+348−0

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

arch/arm/boot/dts/stih418.dtsi+99−0

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

arch/arm/boot/dts/stihxxx-b2120.dtsi+12−1

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

arch/arm/boot/dts/sun4i-a10-a1000.dts+13−10

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

arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dts+6−4

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

arch/arm/boot/dts/sun4i-a10-chuwi-v7-cw0825.dts+100−0

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

arch/arm/boot/dts/sun4i-a10-cubieboard.dts+47−11

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

arch/arm/boot/dts/sun4i-a10-hackberry.dts+12−9

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

arch/arm/boot/dts/sun4i-a10-hyundai-a7hd.dts+105−0

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

arch/arm/boot/dts/sun4i-a10-inet97fv2.dts+5−3

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

arch/arm/boot/dts/sun4i-a10-marsboard.dts+183−0

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

arch/arm/boot/dts/sun4i-a10-mini-xplus.dts+7−4

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

arch/arm/boot/dts/sun4i-a10-mk802.dts+109−0

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

arch/arm/boot/dts/sun4i-a10-mk802ii.dts+113−0

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

arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts+12−9

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

arch/arm/boot/dts/sun4i-a10-pcduino.dts+65−3

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

arch/arm/boot/dts/sun4i-a10.dtsi+223−53

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

arch/arm/boot/dts/sun5i-a10s-mk802.dts+125−0

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

arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts+58−14

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

arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dts+14−11

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

arch/arm/boot/dts/sun5i-a10s.dtsi+84−38

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

arch/arm/boot/dts/sun5i-a13-hsg-h702.dts+46−13

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

arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts+14−11

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

arch/arm/boot/dts/sun5i-a13-olinuxino.dts+64−11

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

arch/arm/boot/dts/sun5i-a13.dtsi+126−30

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

arch/arm/boot/dts/sun6i-a31-app4-evb1.dts+8−5

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

arch/arm/boot/dts/sun6i-a31-colombus.dts+12−9

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

arch/arm/boot/dts/sun6i-a31-hummingbird.dts+93−92

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

arch/arm/boot/dts/sun6i-a31-m9.dts+20−11

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

arch/arm/boot/dts/sun6i-a31.dtsi+173−95

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

arch/arm/boot/dts/sun6i-a31s-cs908.dts+104−0

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

arch/arm/boot/dts/sun6i-a31s.dtsi+58−0

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

arch/arm/boot/dts/sun7i-a20-bananapi.dts+16−12

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

arch/arm/boot/dts/sun7i-a20-bananapro.dts+262−0

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

arch/arm/boot/dts/sun7i-a20-cubieboard2.dts+84−17

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

arch/arm/boot/dts/sun7i-a20-cubietruck.dts+96−29

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

arch/arm/boot/dts/sun7i-a20-hummingbird.dts+21−17

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

arch/arm/boot/dts/sun7i-a20-i12-tvbox.dts+22−18

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

arch/arm/boot/dts/sun7i-a20-m3.dts+11−7

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

arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts+14−10

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

arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts+14−10

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

arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts+69−10

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

arch/arm/boot/dts/sun7i-a20-pcduino3.dts+12−9

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

arch/arm/boot/dts/sun7i-a20.dtsi+282−137

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

arch/arm/boot/dts/sun8i-a23-ippo-q8h-v1.2.dts+59−0

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

arch/arm/boot/dts/sun8i-a23-ippo-q8h-v5.dts+28−5

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

arch/arm/boot/dts/sun8i-a23.dtsi+127−69

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

arch/arm/boot/dts/sun9i-a80-optimus.dts+70−42

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

arch/arm/boot/dts/sun9i-a80.dtsi+160−32

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

arch/arm/boot/dts/sunxi-common-regulators.dtsi+33−32

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

arch/arm/boot/dts/tegra124-jetson-tk1.dts+7−0

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

arch/arm/boot/dts/tegra124-nyan-big.dts+2−0

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

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

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

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

This diff is large: its 9 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/versatile-ab.dts+5−0

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

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

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

arch/arm/boot/dts/vf-colibri-eval-v3.dtsi+1−1

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

arch/arm/boot/dts/vf-colibri.dtsi+2−1

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

arch/arm/boot/dts/vf500.dtsi+18−5

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

arch/arm/boot/dts/vf610-twr.dts+1−1

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

arch/arm/boot/dts/vfxxx.dtsi+37−11

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

arch/arm/boot/dts/zynq-7000.dtsi+28−4

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

arch/arm/boot/dts/zynq-parallella.dts+1−1

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

arch/arm/boot/dts/zynq-zc702.dts+224−0

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

arch/arm/boot/dts/zynq-zc706.dts+194−0

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

arch/arm/boot/dts/zynq-zed.dts+15−0

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

arch/arm/configs/at91_dt_defconfig+1−9

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

arch/arm/configs/efm32_defconfig+3−2

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

arch/arm/configs/exynos_defconfig+11−0

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

arch/arm/configs/hisi_defconfig+1−0

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

arch/arm/configs/imx_v6_v7_defconfig+35−4

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

arch/arm/configs/iop32x_defconfig+1−0

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

arch/arm/configs/iop33x_defconfig+1−0

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

arch/arm/configs/ixp4xx_defconfig+1−0

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

arch/arm/configs/keystone_defconfig+1−0

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

arch/arm/configs/kzm9g_defconfig+1−1

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

arch/arm/configs/lager_defconfig+0−150

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

arch/arm/configs/lpc32xx_defconfig+1−0

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

arch/arm/configs/multi_v7_defconfig+22−0

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

arch/arm/configs/mv78xx0_defconfig+1−0

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

arch/arm/configs/mvebu_v7_defconfig+2−0

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

arch/arm/configs/omap2plus_defconfig+84−43

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

arch/arm/configs/orion5x_defconfig+1−0

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

arch/arm/configs/rpc_defconfig+1−0

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

arch/arm/configs/sama5_defconfig+6−2

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

arch/arm/configs/shmobile_defconfig+30−19

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

arch/arm/configs/sunxi_defconfig+9−1

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

arch/arm/configs/tegra_defconfig+0−2

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

arch/arm/include/asm/bitrev.h+20−0

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

arch/arm/include/asm/compiler.h+14−1

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

arch/arm/include/asm/insn.hrenamed from arch/arm/kernel/insn.h+0−0

File renamed without changes.

arch/arm/include/asm/kprobes.h+32−1

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

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

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

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

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

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

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

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

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

arch/arm/include/asm/kvm_mmu.h+21−0

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

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

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

arch/arm/include/asm/outercache.h+3−0

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

arch/arm/include/asm/patch.hrenamed from arch/arm/kernel/patch.h+0−0

File renamed without changes.

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

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

arch/arm/include/asm/pgtable-2level.h+2−1

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

arch/arm/include/asm/pgtable-3level.h+5−2

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

arch/arm/include/asm/pgtable-nommu.h+1−3

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

arch/arm/include/asm/pgtable.h+3−17

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

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

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

arch/arm/include/asm/thread_info.h+0−4

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

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

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

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

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

arch/arm/include/debug/at91.Srenamed from arch/arm/mach-at91/include/mach/debug-macro.S+11−8

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

arch/arm/include/debug/digicolor.S+35−0

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

arch/arm/include/debug/ks8695.Srenamed from arch/arm/mach-ks8695/include/mach/debug-macro.S+7−3

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

arch/arm/include/debug/msm.S+6−0

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

arch/arm/include/debug/netx.Srenamed from arch/arm/mach-netx/include/mach/debug-macro.S+11−11

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

arch/arm/include/debug/sirf.S+13−17

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

arch/arm/include/uapi/asm/kvm.h+2−0

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

arch/arm/kernel/Makefile+2−14

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

arch/arm/kernel/bios32.c+2−6

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

arch/arm/kernel/entry-armv.S+2−1

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

arch/arm/kernel/entry-v7m.S+2−0

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

arch/arm/kernel/ftrace.c+1−2

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

arch/arm/kernel/head.S+8−1

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

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

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

arch/arm/kernel/jump_label.c+2−3

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

arch/arm/kernel/kgdb.c+1−2

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

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

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

arch/arm/kernel/patch.c+1−2

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

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

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

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

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

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

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

arch/arm/kvm/Kconfig+3−0

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

arch/arm/kvm/Makefile+1−0

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

arch/arm/kvm/arm.c+54−4

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

arch/arm/kvm/handle_exit.c+5−3

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

arch/arm/kvm/interrupts.S+11−0

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

arch/arm/kvm/mmu.c+262−9

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

arch/arm/kvm/psci.c+5−12

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

arch/arm/kvm/trace.h+7−4

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

arch/arm/lib/Makefile+2−13

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

arch/arm/lib/uaccess.S+0−564

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

arch/arm/mach-at91/Kconfig+27−94

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

arch/arm/mach-at91/Makefile+3−17

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

arch/arm/mach-at91/at91rm9200.c+36−30

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

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

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

arch/arm/mach-at91/at91sam9.c+87−0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

arch/arm/mach-at91/board-dt-rm9200.c+0−43

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

arch/arm/mach-at91/board-dt-sam9.c+0−36

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

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

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

arch/arm/mach-at91/include/mach/at91_pio.h+0−80

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

arch/arm/mach-at91/include/mach/at91_rtt.h+0−35

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

arch/arm/mach-at91/include/mach/cpu.h+14−38

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

arch/arm/mach-at91/include/mach/system_rev.h+0−27

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

arch/arm/mach-at91/pm.c+134−26

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

arch/arm/mach-at91/pm_slowclock.S+0−9

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

arch/arm/mach-at91/sama5.crenamed from arch/arm/mach-at91/board-dt-sama5.c+40−6

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

arch/arm/mach-at91/sama5d3.c+0−41

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

arch/arm/mach-at91/sama5d4.c+0−64

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

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

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

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

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

arch/arm/mach-at91/sysirq_mask.c+0−75

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

arch/arm/mach-axxia/axxia.c+1−1

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

arch/arm/mach-bcm/Kconfig+2−2

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

arch/arm/mach-bcm/brcmstb.c+1−1

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

arch/arm/mach-bcm/platsmp-brcmstb.c+63−22

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

arch/arm/mach-cns3xxx/pcie.c+27−65

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

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

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

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

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

arch/arm/mach-davinci/board-dm646x-evm.c+0−31

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

arch/arm/mach-davinci/cdce949.c+0−295

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

arch/arm/mach-davinci/da8xx-dt.c+1−1

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

arch/arm/mach-davinci/include/mach/cdce949.h+0−19

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

arch/arm/mach-davinci/mux.c+2−2

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

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

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

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

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

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

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

arch/arm/mach-digicolor/digicolor.c+18−0

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

arch/arm/mach-exynos/common.h+4−0

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

arch/arm/mach-exynos/exynos.c+8−38

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

arch/arm/mach-exynos/firmware.c+50−0

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

arch/arm/mach-exynos/include/mach/dma.h+0−26

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

arch/arm/mach-exynos/include/mach/map.h+0−3

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

arch/arm/mach-exynos/platsmp.c+1−1

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

arch/arm/mach-exynos/pm.c+131−5

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

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

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

arch/arm/mach-exynos/regs-sys.h+0−22

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

arch/arm/mach-exynos/sleep.S+46−0

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

arch/arm/mach-exynos/suspend.c+82−8

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

arch/arm/mach-highbank/highbank.c+1−1

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

arch/arm/mach-hisi/Kconfig+8−0

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

arch/arm/mach-hisi/core.h+4−1

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

arch/arm/mach-hisi/headsmp.S+1−1

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

arch/arm/mach-hisi/hisilicon.c+13−3

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

arch/arm/mach-hisi/hotplug.c+31−0

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

arch/arm/mach-hisi/platsmp.c+53−3

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

arch/arm/mach-imx/Makefile+1−2

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

arch/arm/mach-imx/clk-gate2.c+19−4

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

arch/arm/mach-imx/clk-imx6q.c+1−1

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

arch/arm/mach-imx/clk-pllv3.c+7−3

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

arch/arm/mach-imx/clk-vf610.c+6−2

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

arch/arm/mach-imx/clk.h+1−0

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

arch/arm/mach-imx/common.h+4−0

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

arch/arm/mach-imx/cpuidle-imx6sx.c+105−0

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

arch/arm/mach-imx/cpuidle.h+5−0

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

arch/arm/mach-imx/gpc.c+23−2

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

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

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

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

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

arch/arm/mach-imx/mach-vf610.c+4−1

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

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

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

arch/arm/mach-imx/pm-imx6.c+3−4

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

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

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

arch/arm/mach-ixp4xx/include/mach/io.h+13−6

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

arch/arm/mach-keystone/keystone.c+1−1

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

arch/arm/mach-keystone/pm_domain.c+1−1

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

arch/arm/mach-ks8695/pci.c+6−71

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

arch/arm/mach-mediatek/Kconfig+21−1

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

arch/arm/mach-mmp/time.c+1−1

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

arch/arm/mach-mvebu/coherency.c+4−56

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

arch/arm/mach-mvebu/mvebu-soc-id.h+18−0

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

arch/arm/mach-mvebu/pmsu.c+1−1

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

arch/arm/mach-mvebu/system-controller.c+1−1

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

arch/arm/mach-nspire/nspire.c+1−1

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

arch/arm/mach-omap1/include/mach/debug-macro.S+0−101

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

arch/arm/mach-omap1/irq.c+0−5

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

arch/arm/mach-omap1/timer32k.c+0−5

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

arch/arm/mach-omap2/Kconfig+0−12

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

arch/arm/mach-omap2/Makefile+6−10

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

arch/arm/mach-omap2/am35xx-emac.c+0−114

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

arch/arm/mach-omap2/am35xx-emac.h+0−15

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

arch/arm/mach-omap2/am35xx.h+0−46

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

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

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

arch/arm/mach-omap2/board-am3517evm.c+0−373

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

arch/arm/mach-omap2/board-cm-t3517.c+0−335

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

arch/arm/mach-omap2/board-generic.c+42−0

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

arch/arm/mach-omap2/board-omap3pandora.c+8−6

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

arch/arm/mach-omap2/cclock3xxx_data.c+0−3692

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

arch/arm/mach-omap2/clkt2xxx_apll.c+0−142

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

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

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

arch/arm/mach-omap2/clock.h+8−7

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

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

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

arch/arm/mach-omap2/clock_common_data.c+0−11

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

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

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

arch/arm/mach-omap2/clockdomains81xx_data.c+194−0

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

arch/arm/mach-omap2/cm2xxx.c+0−10

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

arch/arm/mach-omap2/cm2xxx.h+0−2

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

arch/arm/mach-omap2/cm33xx.c+0−21

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

arch/arm/mach-omap2/cm81xx.h+61−0

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

arch/arm/mach-omap2/common.h+18−1

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

arch/arm/mach-omap2/control.h+4−0

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

arch/arm/mach-omap2/dpll3xxx.c+8−5

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

arch/arm/mach-omap2/dpll44xx.c+2−20

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

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

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

arch/arm/mach-omap2/io.c+63−29

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

arch/arm/mach-omap2/omap-pm-noop.c+0−196

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

arch/arm/mach-omap2/omap-pm.h+0−192

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

arch/arm/mach-omap2/omap4-common.c+2−16

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

arch/arm/mach-omap2/omap_hwmod.c+3−235

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

arch/arm/mach-omap2/omap_hwmod.h+1−16

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

arch/arm/mach-omap2/omap_hwmod_3xxx_data.c+2−31

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

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

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

arch/arm/mach-omap2/omap_hwmod_7xx_data.c+3−2

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

arch/arm/mach-omap2/omap_hwmod_81xx_data.c+1136−0

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

arch/arm/mach-omap2/omap_phy_internal.c+0−35

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

arch/arm/mach-omap2/pdata-quirks.c+0−1

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

arch/arm/mach-omap2/pmu.c+3−2

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

arch/arm/mach-omap2/powerdomain.c+0−82

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

arch/arm/mach-omap2/powerdomain.h+0−5

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

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

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

arch/arm/mach-omap2/prm.h+1−0

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

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

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

arch/arm/mach-omap2/prm3xxx.h+0−1

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

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

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

arch/arm/mach-omap2/prm44xx_54xx.h+0−1

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

arch/arm/mach-omap2/prm_common.c+15−0

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

arch/arm/mach-omap2/soc.h+2−2

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

arch/arm/mach-omap2/ti81xx-restart.c+34−0

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

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

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

arch/arm/mach-omap2/usb-musb.c+2−10

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

arch/arm/mach-omap2/usb.h+0−2

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

arch/arm/mach-omap2/voltage.c+0−110

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

arch/arm/mach-omap2/voltage.h+0−13

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

arch/arm/mach-prima2/Kconfig+11−10

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

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

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

arch/arm/mach-prima2/common.c+7−19

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

arch/arm/mach-prima2/common.h+0−15

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

arch/arm/mach-prima2/lluart.c+0−35

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

arch/arm/mach-prima2/platsmp.c+13−39

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

arch/arm/mach-prima2/rstc.c+12−29

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

arch/arm/mach-prima2/rtciobrg.c+0−1

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

arch/arm/mach-pxa/Kconfig+0−6

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

arch/arm/mach-pxa/corgi.c+3−0

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

arch/arm/mach-pxa/devices.c+1−1

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

arch/arm/mach-pxa/hx4700.c+2−0

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

arch/arm/mach-pxa/include/mach/irqs.h+3−7

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

arch/arm/mach-pxa/poodle.c+2−0

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

arch/arm/mach-pxa/spitz.c+2−0

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

arch/arm/mach-qcom/Kconfig+1−2

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

arch/arm/mach-qcom/platsmp.c+2−2

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

arch/arm/mach-qcom/scm-boot.c+5−5

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

arch/arm/mach-qcom/scm-boot.h+3−1

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

arch/arm/mach-qcom/scm.c+56−29

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

arch/arm/mach-realview/realview_eb.c+2−1

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

arch/arm/mach-realview/realview_pb1176.c+1−1

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

arch/arm/mach-realview/realview_pb11mp.c+1−1

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

arch/arm/mach-realview/realview_pba8.c+1−1

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

arch/arm/mach-realview/realview_pbx.c+1−1

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

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

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

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

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

arch/arm/mach-rockchip/pm.c+260−0

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

arch/arm/mach-rockchip/pm.h+105−0

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

arch/arm/mach-rockchip/rockchip.c+3−1

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

arch/arm/mach-rockchip/sleep.S+73−0

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

arch/arm/mach-s3c24xx/Kconfig+0−42

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

arch/arm/mach-s3c24xx/Makefile+0−7

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

arch/arm/mach-s3c24xx/dma-s3c2410.c+0−182

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

arch/arm/mach-s3c24xx/dma-s3c2412.c+0−150

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

arch/arm/mach-s3c24xx/dma-s3c2440.c+0−193

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

arch/arm/mach-s3c24xx/dma-s3c2443.c+0−179

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

arch/arm/mach-s3c24xx/dma.c+0−1465

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

arch/arm/mach-s3c24xx/include/mach/dma.h+0−159

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

arch/arm/mach-s3c64xx/include/mach/dma.h+0−15

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

arch/arm/mach-s5pv210/s5pv210.c+1−1

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

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

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

arch/arm/mach-sa1100/assabet.c+1−1

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

arch/arm/mach-sa1100/clock.c+12−0

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

arch/arm/mach-sa1100/collie.c+2−3

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

arch/arm/mach-sa1100/generic.c+6−0

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

arch/arm/mach-sa1100/h3100.c+1−1

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

arch/arm/mach-sa1100/h3600.c+1−1

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

arch/arm/mach-sa1100/include/mach/irqs.h+42−31

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

arch/arm/mach-sa1100/irq.c+4−199

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

arch/arm/mach-sa1100/pci-nanoengine.c+8−86

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

arch/arm/mach-sa1100/pm.c+1−0

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

arch/arm/mach-sa1100/time.c+0−139

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

arch/arm/mach-shmobile/Kconfig+7−21

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

arch/arm/mach-shmobile/Makefile+0−3

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

arch/arm/mach-shmobile/Makefile.boot+0−1

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

arch/arm/mach-shmobile/board-lager-reference.c+0−39

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

arch/arm/mach-shmobile/board-lager.c+0−840

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

arch/arm/mach-shmobile/clock-r8a7790.c+0−459

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

arch/arm/mach-shmobile/clock-sh73a0.c+10−0

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

arch/arm/mach-shmobile/pm-r8a7740.c+14−0

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

arch/arm/mach-shmobile/pm-rmobile.c+299−15

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

arch/arm/mach-shmobile/pm-rmobile.h+2−1

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

arch/arm/mach-shmobile/pm-sh7372.c+11−0

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

arch/arm/mach-shmobile/r8a7790.h+0−28

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

arch/arm/mach-shmobile/setup-emev2.c+1−1

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

arch/arm/mach-shmobile/setup-r8a7740.c+1−1

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

arch/arm/mach-shmobile/setup-r8a7790.c+1−283

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

arch/arm/mach-shmobile/setup-rcar-gen2.c+1−3

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

arch/arm/mach-shmobile/setup-sh73a0.c+5−2

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

arch/arm/mach-shmobile/smp-r8a7779.c+1−1

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

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

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

arch/arm/mach-sti/board-dt.c+1−0

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

arch/arm/mach-sunxi/platsmp.c+1−1

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

arch/arm/mach-sunxi/sunxi.c+11−0

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

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

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

arch/arm/mach-tegra/tegra.c+0−2

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

arch/arm/mach-ux500/pm_domains.c+1−1

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

arch/arm/mach-versatile/core.c+0−37

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

arch/arm/mach-versatile/versatile_dt.c+1−1

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

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

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

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

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

arch/arm/mach-zynq/common.c+0−2

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

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

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

arch/arm/mach-zynq/slcr.c+7−28

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

arch/arm/mm/Kconfig+1−7

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

arch/arm/mm/cache-l2x0.c+232−211

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

arch/arm/mm/context.c+11−15

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

arch/arm/mm/dma-mapping.c+4−1

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

arch/arm/mm/hugetlbpage.c+0−6

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

arch/arm/mm/init.c+1−4

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

arch/arm/mm/pgd.c+4−0

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

arch/arm/mm/proc-macros.S+1−1

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

arch/arm/plat-iop/pmu.c+1−1

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

arch/arm/plat-omap/dma.c+0−8

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

arch/arm/plat-samsung/Kconfig+0−15

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

arch/arm/plat-samsung/Makefile+0−6

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

arch/arm/plat-samsung/cpu.c+4−0

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

arch/arm/plat-samsung/dma-ops.c+0−146

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

arch/arm/plat-samsung/dma.c+0−84

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

arch/arm/plat-samsung/include/plat/dma-core.h+0−22

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

arch/arm/plat-samsung/include/plat/dma-ops.h+0−69

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

arch/arm/plat-samsung/include/plat/dma-pl330.h+0−121

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

arch/arm/plat-samsung/include/plat/dma-s3c24xx.h+0−73

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

arch/arm/plat-samsung/include/plat/dma.h+0−130

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

arch/arm/plat-samsung/include/plat/regs-dma.h+0−151

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

arch/arm/plat-samsung/s3c-dma-ops.c+0−146

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

arch/arm/probes/Makefile+7−0

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

arch/arm/probes/decode-arm.crenamed from arch/arm/kernel/probes-arm.c+10−8

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

arch/arm/probes/decode-arm.hrenamed from arch/arm/kernel/probes-arm.h+5−4

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

arch/arm/probes/decode-thumb.crenamed from arch/arm/kernel/probes-thumb.c+9−7

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

arch/arm/probes/decode-thumb.hrenamed from arch/arm/kernel/probes-thumb.h+7−3

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

arch/arm/probes/decode.crenamed from arch/arm/kernel/probes.c+73−8

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

arch/arm/probes/decode.hrenamed from arch/arm/kernel/probes.h+11−2

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

arch/arm/probes/kprobes/Makefile+12−0

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

arch/arm/probes/kprobes/actions-arm.crenamed from arch/arm/kernel/kprobes-arm.c+6−5

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

arch/arm/probes/kprobes/actions-common.crenamed from arch/arm/kernel/kprobes-common.c+2−2

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

arch/arm/probes/kprobes/actions-thumb.crenamed from arch/arm/kernel/kprobes-thumb.c+7−3

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

arch/arm/probes/kprobes/checkers-arm.c+192−0

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

arch/arm/probes/kprobes/checkers-common.c+101−0

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

arch/arm/probes/kprobes/checkers-thumb.c+110−0

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

arch/arm/probes/kprobes/checkers.h+55−0

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

arch/arm/probes/kprobes/core.crenamed from arch/arm/kernel/kprobes.c+37−12

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

arch/arm/probes/kprobes/core.hrenamed from arch/arm/kernel/kprobes.h+9−3

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

arch/arm/probes/kprobes/opt-arm.c+370−0

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

arch/arm/probes/kprobes/test-arm.crenamed from arch/arm/kernel/kprobes-test-arm.c+30−10

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

arch/arm/probes/kprobes/test-core.crenamed from arch/arm/kernel/kprobes-test.c+30−16

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

arch/arm/probes/kprobes/test-core.hrenamed from arch/arm/kernel/kprobes-test.h+29−6

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

arch/arm/probes/kprobes/test-thumb.crenamed from arch/arm/kernel/kprobes-test-thumb.c+16−4

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

arch/arm/probes/uprobes/Makefile+1−0

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

arch/arm/probes/uprobes/actions-arm.crenamed from arch/arm/kernel/uprobes-arm.c+3−5

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

arch/arm/probes/uprobes/core.crenamed from arch/arm/kernel/uprobes.c+4−4

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

arch/arm/probes/uprobes/core.hrenamed from arch/arm/kernel/uprobes.h+0−0

File renamed without changes.

arch/arm/xen/enlighten.c+2−2

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

arch/arm/xen/mm.c+1−1

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

arch/arm/xen/p2m.c+1−1

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

arch/arm64/Kconfig+70−4

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

arch/arm64/Kconfig.debug+23−0

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

arch/arm64/Makefile+0−3

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

arch/arm64/boot/dts/Makefile+3−0

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

arch/arm64/boot/dts/exynos/Makefile+5−0

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

arch/arm64/boot/dts/exynos/exynos7-espresso.dts+84−0

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

arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi+588−0

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

arch/arm64/boot/dts/exynos/exynos7.dtsi+530−0

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

arch/arm64/boot/dts/freescale/Makefile+5−0

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

arch/arm64/boot/dts/freescale/fsl-ls2085a-simu.dts+65−0

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

arch/arm64/boot/dts/freescale/fsl-ls2085a.dtsi+163−0

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

arch/arm64/boot/dts/mediatek/Makefile+5−0

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

arch/arm64/boot/dts/mediatek/mt8173-evb.dts+38−0

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

arch/arm64/boot/dts/mediatek/mt8173.dtsi+168−0

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

arch/arm64/configs/defconfig+5−0

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

arch/arm64/include/asm/bitrev.h+19−0

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

arch/arm64/include/asm/cacheflush.h+5−0

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

arch/arm64/include/asm/cachetype.h+23−6

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

arch/arm64/include/asm/compat.h+0−1

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

arch/arm64/include/asm/cpu_ops.h+4−4

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

arch/arm64/include/asm/cpufeature.h+2−0

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

arch/arm64/include/asm/cpuidle.h+6−0

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

arch/arm64/include/asm/cputype.h+17−0

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

arch/arm64/include/asm/dma-mapping.h+2−9

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

arch/arm64/include/asm/efi.h+26−4

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

arch/arm64/include/asm/esr.h+84−34

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

arch/arm64/include/asm/fixmap.h+1−0

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

arch/arm64/include/asm/fpsimdmacros.h+32−11

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

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

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

arch/arm64/include/asm/io.h+3−2

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

arch/arm64/include/asm/kvm_arm.h+4−69

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

arch/arm64/include/asm/kvm_asm.h+1−0

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

arch/arm64/include/asm/kvm_emulate.h+23−15

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

arch/arm64/include/asm/kvm_host.h+7−0

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

arch/arm64/include/asm/kvm_mmio.h+1−0

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

arch/arm64/include/asm/kvm_mmu.h+21−0

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

arch/arm64/include/asm/memory.h+9−1

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

arch/arm64/include/asm/mmu.h+3−2

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

arch/arm64/include/asm/pgtable-hwdef.h+1−0

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

arch/arm64/include/asm/pgtable.h+13−19

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

arch/arm64/include/asm/ptrace.h+7−0

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

arch/arm64/include/asm/suspend.h+0−2

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

arch/arm64/include/asm/syscalls.h+0−30

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

arch/arm64/include/asm/thread_info.h+0−4

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

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

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

arch/arm64/include/asm/unistd.h+3−0

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

arch/arm64/include/uapi/asm/Kbuild+1−0

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

arch/arm64/include/uapi/asm/kvm.h+9−0

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

arch/arm64/include/uapi/asm/ucontext.hrenamed from arch/arm64/include/asm/ucontext.h+5−3

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

arch/arm64/kernel/Makefile+3−3

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

arch/arm64/kernel/armv8_deprecated.c+157−48

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

arch/arm64/kernel/asm-offsets.c+2−1

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

arch/arm64/kernel/cacheinfo.c+128−0

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

arch/arm64/kernel/cpuidle.c+20−0

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

arch/arm64/kernel/cpuinfo.c+22−12

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

arch/arm64/kernel/efi-stub.c+7−7

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

arch/arm64/kernel/efi.c+113−243

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

arch/arm64/kernel/entry.S+33−33

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

arch/arm64/kernel/entry32.Srenamed from arch/arm64/kernel/sys32.S+12−22

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

arch/arm64/kernel/hw_breakpoint.c+1−1

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

arch/arm64/kernel/insn.c+46−1

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

arch/arm64/kernel/module.c+2−2

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

arch/arm64/kernel/pci.c+0−22

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

arch/arm64/kernel/psci.c+0−2

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

arch/arm64/kernel/setup.c+2−20

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

arch/arm64/kernel/signal.c+1−1

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

arch/arm64/kernel/signal32.c+7−4

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

arch/arm64/kernel/smp.c+1−9

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

arch/arm64/kernel/suspend.c+0−21

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

arch/arm64/kernel/sys.c+2−3

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

arch/arm64/kernel/sys32.c+51−0

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

arch/arm64/kernel/traps.c+48−2

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

arch/arm64/kernel/vmlinux.lds.S+15−2

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

arch/arm64/kvm/Kconfig+3−0

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

arch/arm64/kvm/Makefile+2−0

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

arch/arm64/kvm/emulate.c+3−2

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

arch/arm64/kvm/handle_exit.c+31−19

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

arch/arm64/kvm/hyp.S+31−8

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

arch/arm64/kvm/inject_fault.c+7−7

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

arch/arm64/kvm/sys_regs.c+51−12

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

arch/arm64/kvm/trace.h+55−0

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

arch/arm64/kvm/vgic-v3-switch.S+9−5

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

arch/arm64/mm/dma-mapping.c+52−64

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

arch/arm64/mm/dump.c+20−10

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

arch/arm64/mm/fault.c+1−1

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

arch/arm64/mm/hugetlbpage.c+0−6

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

arch/arm64/mm/init.c+23−2

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

arch/arm64/mm/ioremap.c+1−0

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

arch/arm64/mm/mm.h+2−0

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

arch/arm64/mm/mmu.c+213−129

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

arch/arm64/mm/proc.S+9−5

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

arch/avr32/configs/atngw100_defconfig+8−22

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

arch/avr32/configs/atngw100_evklcd100_defconfig+8−22

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

arch/avr32/configs/atngw100_evklcd101_defconfig+8−22

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

arch/avr32/configs/atngw100_mrmt_defconfig+4−19

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

arch/avr32/configs/atngw100mkii_defconfig+8−22

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

arch/avr32/configs/atngw100mkii_evklcd100_defconfig+8−22

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

arch/avr32/configs/atngw100mkii_evklcd101_defconfig+8−22

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

arch/avr32/configs/atstk1002_defconfig+7−23

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

arch/avr32/configs/atstk1003_defconfig+7−19

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

arch/avr32/configs/atstk1004_defconfig+7−20

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

arch/avr32/configs/atstk1006_defconfig+7−23

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

arch/avr32/configs/favr-32_defconfig+6−20

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

arch/avr32/configs/hammerhead_defconfig+4−18

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

arch/avr32/configs/merisc_defconfig+3−20

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

arch/avr32/configs/mimc200_defconfig+4−14

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

arch/avr32/include/asm/pgtable.h+1−26

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

arch/avr32/include/asm/thread_info.h+0−4

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

arch/avr32/include/asm/uaccess.h+12−12

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

arch/avr32/include/asm/unistd.h+1−1

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

arch/avr32/include/uapi/asm/unistd.h+37−4

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

arch/avr32/kernel/asm-offsets.c+0−1

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

arch/avr32/kernel/signal.c+1−1

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

arch/avr32/kernel/syscall-stubs.S+36−0

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

arch/avr32/kernel/syscall_table.S+37−0

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

arch/avr32/mach-at32ap/at32ap700x.c+1−1

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

arch/avr32/mach-at32ap/include/mach/cpu.h+1−25

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

arch/blackfin/include/asm/pgtable.h+0−5

This diff is large: its 12 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/asm/uaccess.h+16−16

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

arch/blackfin/kernel/signal.c+1−1

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

arch/blackfin/mach-bf527/boards/ad7160eval.c+14−1

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

arch/blackfin/mach-bf527/boards/ezkit.c+14−1

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

arch/blackfin/mach-bf548/boards/ezkit.c+6−1

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

arch/blackfin/mach-bf609/boards/ezkit.c+6−1

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

arch/blackfin/mach-common/ints-priority.c+0−8

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

arch/c6x/include/asm/pgtable.h+0−5

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

arch/c6x/include/asm/thread_info.h+0−4

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

arch/c6x/kernel/signal.c+1−1

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

arch/cris/Kconfig+4−0

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

arch/cris/arch-v10/kernel/signal.c+1−1

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

arch/cris/arch-v32/drivers/sync_serial.c+2−2

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

arch/cris/arch-v32/kernel/signal.c+1−1

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

arch/cris/arch-v32/kernel/time.c+4−0

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

arch/cris/include/arch-v10/arch/mmu.h+0−3

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

arch/cris/include/arch-v32/arch/mmu.h+0−3

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

arch/cris/include/asm/pgtable.h+1−5

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

arch/cris/include/asm/thread_info.h+0−4

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

arch/cris/include/asm/uaccess.h+97−73

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

arch/cris/kernel/crisksyms.c+1−0

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

arch/cris/mm/fault.c+3−1

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

arch/frv/include/asm/pgtable.h+6−23

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

arch/frv/include/asm/segment.h+1−1

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

arch/frv/include/asm/string.h+0−1

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

arch/frv/include/asm/thread_info.h+0−4

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

arch/frv/kernel/asm-offsets.c+0−1

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

arch/frv/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/frv/mb93090-mb00/pci-vdk.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/frv/mm/extable.c+0−23

This diff is large: its 30 lines aren’t shown here.

arch/hexagon/include/asm/pgtable.h+17−45

This diff is large: its 97 lines aren’t shown here.

arch/hexagon/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/hexagon/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/include/asm/pgtable.h+6−21

This diff is large: its 60 lines aren’t shown here.

arch/ia64/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/ia64/include/asm/uaccess.h+6−5

This diff is large: its 25 lines aren’t shown here.

arch/ia64/include/uapi/asm/Kbuild+0−1

This diff is large: its 8 lines aren’t shown here.

arch/ia64/kernel/acpi-ext.c+3−3

This diff is large: its 14 lines aren’t shown here.

arch/ia64/kernel/acpi.c+0−6

This diff is large: its 20 lines aren’t shown here.

arch/ia64/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/ia64/kernel/topology.c+2−4

This diff is large: its 17 lines aren’t shown here.

arch/ia64/mm/hugetlbpage.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/ia64/pci/pci.c+7−7

This diff is large: its 45 lines aren’t shown here.

arch/m32r/include/asm/pgtable-2level.h+0−4

This diff is large: its 10 lines aren’t shown here.

arch/m32r/include/asm/pgtable.h+1−12

This diff is large: its 41 lines aren’t shown here.

arch/m32r/include/asm/thread_info.h+0−5

This diff is large: its 26 lines aren’t shown here.

arch/m32r/include/asm/uaccess.h+44−44

This diff is large: its 242 lines aren’t shown here.

arch/m32r/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/68360/commproc.c+4−4

This diff is large: its 28 lines aren’t shown here.

arch/m68k/68360/config.c+0−13

This diff is large: its 20 lines aren’t shown here.

arch/m68k/atari/atakeyb.c+2−70

This diff is large: its 107 lines aren’t shown here.

arch/m68k/atari/stdma.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/atari/time.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/m68k/configs/amiga_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/apollo_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/atari_defconfig+67−11

This diff is large: its 227 lines aren’t shown here.

arch/m68k/configs/bvme6000_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/hp300_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/mac_defconfig+61−11

This diff is large: its 214 lines aren’t shown here.

arch/m68k/configs/multi_defconfig+66−12

This diff is large: its 234 lines aren’t shown here.

arch/m68k/configs/mvme147_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/mvme16x_defconfig+61−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/q40_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/configs/sun3_defconfig+61−11

This diff is large: its 210 lines aren’t shown here.

arch/m68k/configs/sun3x_defconfig+62−11

This diff is large: its 211 lines aren’t shown here.

arch/m68k/include/asm/Kbuild+1−0

This diff is large: its 8 lines aren’t shown here.

arch/m68k/include/asm/atariints.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/m68k/include/asm/commproc.h+1−23

This diff is large: its 38 lines aren’t shown here.

arch/m68k/include/asm/futex.h+0−94

This diff is large: its 95 lines aren’t shown here.

arch/m68k/include/asm/macintosh.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/mcf_pgtable.h+2−21

This diff is large: its 49 lines aren’t shown here.

arch/m68k/include/asm/motorola_pgtable.h+0−15

This diff is large: its 36 lines aren’t shown here.

arch/m68k/include/asm/pgtable_mm.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/pgtable_no.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/segment.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/m68k/include/asm/sun3_pgtable.h+0−15

This diff is large: its 36 lines aren’t shown here.

arch/m68k/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/m68k/include/asm/uaccess_mm.h+20−20

This diff is large: its 54 lines aren’t shown here.

arch/m68k/kernel/signal.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/m68k/mac/config.c+17−15

This diff is large: its 130 lines aren’t shown here.

arch/m68k/mvme147/config.c+0−46

This diff is large: its 50 lines aren’t shown here.

arch/m68k/mvme16x/rtc.c+1−1

This diff is large: its 6 lines aren’t shown here.

arch/metag/include/asm/pgtable.h+0−6

This diff is large: its 27 lines aren’t shown here.

arch/metag/include/asm/thread_info.h+1−5

This diff is large: its 21 lines aren’t shown here.

arch/metag/include/asm/uaccess.h+15−10

This diff is large: its 50 lines aren’t shown here.

arch/metag/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/metag/mm/hugetlbpage.c+0−6

This diff is large: its 13 lines aren’t shown here.

arch/microblaze/boot/Makefile+1−2

This diff is large: its 7 lines aren’t shown here.

arch/microblaze/boot/dts/Makefile+0−2

This diff is large: its 6 lines aren’t shown here.

arch/microblaze/include/asm/delay.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/microblaze/include/asm/kgdb.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/microblaze/include/asm/linkage.h+1−15

This diff is large: its 17 lines aren’t shown here.

arch/microblaze/include/asm/pgalloc.h+7−7

This diff is large: its 58 lines aren’t shown here.

arch/microblaze/include/asm/pgtable.h+3−12

This diff is large: its 57 lines aren’t shown here.

arch/microblaze/include/asm/syscall.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/microblaze/include/asm/uaccess.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/microblaze/include/asm/unistd.h+1−1

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/include/uapi/asm/unistd.h+1−0

This diff is large: its 7 lines aren’t shown here.

arch/microblaze/kernel/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/cache.c+3−3

This diff is large: its 14 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-pvr-full.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo-static.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/microblaze/kernel/cpu/cpuinfo.c+7−0

This diff is large: its 28 lines aren’t shown here.

arch/microblaze/kernel/intc.c+4−4

This diff is large: its 22 lines aren’t shown here.

arch/microblaze/kernel/kgdb.c+6−4

This diff is large: its 47 lines aren’t shown here.

arch/microblaze/kernel/prom_parse.c+0−35

This diff is large: its 36 lines aren’t shown here.

arch/microblaze/kernel/ptrace.c+2−2

This diff is large: its 12 lines aren’t shown here.

arch/microblaze/kernel/reset.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/signal.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/microblaze/kernel/syscall_table.S+1−0

This diff is large: its 5 lines aren’t shown here.

arch/microblaze/kernel/timer.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/microblaze/kernel/unwind.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/Kconfig+79−17

This diff is large: its 214 lines aren’t shown here.

arch/mips/Kconfig.debug+0−13

This diff is large: its 18 lines aren’t shown here.

arch/mips/Makefile+37−18

This diff is large: its 105 lines aren’t shown here.

arch/mips/alchemy/common/clock.c+28−5

This diff is large: its 88 lines aren’t shown here.

arch/mips/alchemy/common/setup.c+3−1

This diff is large: its 14 lines aren’t shown here.

arch/mips/bcm3384/irq.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/boot/Makefile+47−2

This diff is large: its 69 lines aren’t shown here.

arch/mips/boot/elf2ecoff.c+36−32

This diff is large: its 102 lines aren’t shown here.

arch/mips/cavium-octeon/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-crypto.c+66−0

This diff is large: its 67 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-crypto.h+75−0

This diff is large: its 76 lines aren’t shown here.

arch/mips/cavium-octeon/crypto/octeon-md5.c+216−0

This diff is large: its 217 lines aren’t shown here.

arch/mips/cavium-octeon/csrc-octeon.c+10−1

This diff is large: its 30 lines aren’t shown here.

arch/mips/cavium-octeon/dma-octeon.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/mips/cavium-octeon/executive/cvmx-helper-board.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/cavium-octeon/executive/octeon-model.c+6−0

This diff is large: its 20 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-irq.c+823−271

This diff is large: its 1754 lines aren’t shown here.

arch/mips/cavium-octeon/octeon-platform.c+63−89

This diff is large: its 254 lines aren’t shown here.

arch/mips/cavium-octeon/setup.c+49−7

This diff is large: its 109 lines aren’t shown here.

arch/mips/cavium-octeon/smp.c+0−2

This diff is large: its 10 lines aren’t shown here.

arch/mips/configs/malta_defconfig+4−12

This diff is large: its 68 lines aren’t shown here.

arch/mips/configs/malta_qemu_32r6_defconfig+193−0

This diff is large: its 194 lines aren’t shown here.

arch/mips/fw/arc/misc.c+16−10

This diff is large: its 74 lines aren’t shown here.

arch/mips/include/asm/Kbuild+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/include/asm/asmmacro.h+10−8

This diff is large: its 67 lines aren’t shown here.

arch/mips/include/asm/atomic.h+21−21

This diff is large: its 150 lines aren’t shown here.

arch/mips/include/asm/bitops.h+32−32

This diff is large: its 223 lines aren’t shown here.

arch/mips/include/asm/checksum.h+19−26

This diff is large: its 85 lines aren’t shown here.

arch/mips/include/asm/cmpxchg.h+17−17

This diff is large: its 91 lines aren’t shown here.

arch/mips/include/asm/compiler.h+21−3

This diff is large: its 34 lines aren’t shown here.

arch/mips/include/asm/cpu-features.h+23−5

This diff is large: its 68 lines aren’t shown here.

arch/mips/include/asm/cpu-info.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/cpu-type.h+7−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/cpu.h+9−2

This diff is large: its 42 lines aren’t shown here.

arch/mips/include/asm/edac.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/elf.h+6−4

This diff is large: its 20 lines aren’t shown here.

arch/mips/include/asm/fpu.h+28−18

This diff is large: its 73 lines aren’t shown here.

arch/mips/include/asm/futex.h+12−12

This diff is large: its 72 lines aren’t shown here.

arch/mips/include/asm/fw/arc/hinv.h+3−3

This diff is large: its 27 lines aren’t shown here.

arch/mips/include/asm/gio_device.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/hazards.h+5−4

This diff is large: its 44 lines aren’t shown here.

arch/mips/include/asm/irqflags.h+4−3

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/kvm_host.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/local.h+3−2

This diff is large: its 26 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h+41−23

This diff is large: its 90 lines aren’t shown here.

arch/mips/include/asm/mach-cavium-octeon/war.h+3−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/include/asm/mach-jz4740/jz4740_nand.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/mips/include/asm/mach-pmcs-msp71xx/msp_regops.h+12−12

This diff is large: its 65 lines aren’t shown here.

arch/mips/include/asm/mips-cm.h+2−2

This diff is large: its 12 lines aren’t shown here.

arch/mips/include/asm/mips-r2-to-r6-emul.h+96−0

This diff is large: its 97 lines aren’t shown here.

arch/mips/include/asm/mipsregs.h+19−0

This diff is large: its 53 lines aren’t shown here.

arch/mips/include/asm/mmu.h+3−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/mmu_context.h+8−1

This diff is large: its 65 lines aren’t shown here.

arch/mips/include/asm/module.h+4−0

This diff is large: its 15 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-rst-defs.h+306−0

This diff is large: its 307 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon-feature.h+15−2

This diff is large: its 31 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon-model.h+85−22

This diff is large: its 208 lines aren’t shown here.

arch/mips/include/asm/octeon/octeon.h+118−35

This diff is large: its 255 lines aren’t shown here.

arch/mips/include/asm/pci.h+2−0

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/pgtable-32.h+1−37

This diff is large: its 66 lines aren’t shown here.

arch/mips/include/asm/pgtable-64.h+0−9

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/pgtable-bits.h+32−60

This diff is large: its 180 lines aren’t shown here.

arch/mips/include/asm/pgtable.h+27−21

This diff is large: its 117 lines aren’t shown here.

arch/mips/include/asm/processor.h+13−6

This diff is large: its 47 lines aren’t shown here.

arch/mips/include/asm/prom.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/mips/include/asm/ptrace.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/include/asm/r4kcache.h+148−2

This diff is large: its 185 lines aren’t shown here.

arch/mips/include/asm/sgialib.h+6−2

This diff is large: its 22 lines aren’t shown here.

arch/mips/include/asm/siginfo.h+0−29

This diff is large: its 30 lines aren’t shown here.

arch/mips/include/asm/spinlock.h+26−29

This diff is large: its 162 lines aren’t shown here.

arch/mips/include/asm/spram.h+2−2

This diff is large: its 13 lines aren’t shown here.

arch/mips/include/asm/stackframe.h+4−4

This diff is large: its 36 lines aren’t shown here.

arch/mips/include/asm/switch_to.h+6−3

This diff is large: its 16 lines aren’t shown here.

arch/mips/include/asm/syscall.h+1−7

This diff is large: its 15 lines aren’t shown here.

arch/mips/include/asm/thread_info.h+2−5

This diff is large: its 27 lines aren’t shown here.

arch/mips/include/uapi/asm/inst.h+14−10

This diff is large: its 53 lines aren’t shown here.

arch/mips/include/uapi/asm/siginfo.h+3−8

This diff is large: its 32 lines aren’t shown here.

arch/mips/include/uapi/asm/unistd.h+9−6

This diff is large: its 59 lines aren’t shown here.

arch/mips/jz4740/board-qi_lb60.c+10−1

This diff is large: its 28 lines aren’t shown here.

arch/mips/jz4740/irq.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/Makefile+2−1

This diff is large: its 17 lines aren’t shown here.

arch/mips/kernel/asm-offsets.c+2−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/kernel/branch.c+250−38

This diff is large: its 411 lines aren’t shown here.

arch/mips/kernel/cevt-r4k.c+2−6

This diff is large: its 29 lines aren’t shown here.

arch/mips/kernel/cps-vec.S+8−8

This diff is large: its 64 lines aren’t shown here.

arch/mips/kernel/cpu-bugs64.c+7−4

This diff is large: its 27 lines aren’t shown here.

arch/mips/kernel/cpu-probe.c+27−6

This diff is large: its 104 lines aren’t shown here.

arch/mips/kernel/elf.c+188−115

This diff is large: its 363 lines aren’t shown here.

arch/mips/kernel/entry.S+21−2

This diff is large: its 48 lines aren’t shown here.

arch/mips/kernel/genex.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/idle.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/irq_cpu.c+4−0

This diff is large: its 18 lines aren’t shown here.

arch/mips/kernel/mips-r2-to-r6-emul.c+2378−0

This diff is large: its 2379 lines aren’t shown here.

arch/mips/kernel/mips_ksyms.c+12−0

This diff is large: its 38 lines aren’t shown here.

arch/mips/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/octeon_switch.S+138−80

This diff is large: its 353 lines aren’t shown here.

arch/mips/kernel/proc.c+7−1

This diff is large: its 26 lines aren’t shown here.

arch/mips/kernel/process.c+120−12

This diff is large: its 157 lines aren’t shown here.

arch/mips/kernel/ptrace.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/r4k_fpu.S+9−3

This diff is large: its 55 lines aren’t shown here.

arch/mips/kernel/r4k_switch.S+8−6

This diff is large: its 44 lines aren’t shown here.

arch/mips/kernel/scall32-o32.S+2−0

This diff is large: its 13 lines aren’t shown here.

arch/mips/kernel/scall64-64.S+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/kernel/scall64-n32.S+1−0

This diff is large: its 6 lines aren’t shown here.

arch/mips/kernel/scall64-o32.S+2−0

This diff is large: its 14 lines aren’t shown here.

arch/mips/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/signal32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/smp-cmp.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/kernel/smp-mt.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/mips/kernel/smp.c+1−1

This diff is large: its 12 lines aren’t shown here.

arch/mips/kernel/spram.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kernel/syscall.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kernel/traps.c+56−7

This diff is large: its 145 lines aren’t shown here.

arch/mips/kernel/unaligned.c+386−4

This diff is large: its 493 lines aren’t shown here.

arch/mips/kvm/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/kvm/locore.S+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/kvm/mips.c+18−5

This diff is large: its 85 lines aren’t shown here.

arch/mips/lib/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/mips/lib/memcpy.S+23−0

This diff is large: its 54 lines aren’t shown here.

arch/mips/lib/memset.S+47−0

This diff is large: its 82 lines aren’t shown here.

arch/mips/lib/mips-atomic.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/math-emu/cp1emu.c+158−11

This diff is large: its 288 lines aren’t shown here.

arch/mips/mm/c-r4k.c+4−2

This diff is large: its 27 lines aren’t shown here.

arch/mips/mm/fault.c+20−9

This diff is large: its 57 lines aren’t shown here.

arch/mips/mm/gup.c+3−5

This diff is large: its 15 lines aren’t shown here.

arch/mips/mm/hugetlbpage.c+0−18

This diff is large: its 29 lines aren’t shown here.

arch/mips/mm/page.c+26−4

This diff is large: its 65 lines aren’t shown here.

arch/mips/mm/sc-mips.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/mips/mm/tlb-r4k.c+3−3

This diff is large: its 15 lines aren’t shown here.

arch/mips/mm/tlbex.c+4−3

This diff is large: its 35 lines aren’t shown here.

arch/mips/mm/uasm-micromips.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/mips/mm/uasm-mips.c+31−7

This diff is large: its 86 lines aren’t shown here.

arch/mips/mm/uasm.c+13−2

This diff is large: its 43 lines aren’t shown here.

arch/mips/mti-sead3/sead3-time.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mips/netlogic/common/smp.c+5−8

This diff is large: its 41 lines aren’t shown here.

arch/mips/pci/pci-bcm1480.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/pci/pci-octeon.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/mips/pci/pcie-octeon.c+6−6

This diff is large: its 33 lines aren’t shown here.

arch/mips/pmcs-msp71xx/Kconfig+3−3

This diff is large: its 18 lines aren’t shown here.

arch/mips/sgi-ip22/ip22-gio.c+0−24

This diff is large: its 38 lines aren’t shown here.

arch/mips/sgi-ip27/ip27-reset.c+4−3

This diff is large: its 21 lines aren’t shown here.

arch/mips/sgi-ip32/ip32-reset.c+4−3

This diff is large: its 21 lines aren’t shown here.

arch/mn10300/include/asm/cacheflush.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/mn10300/include/asm/pgtable.h+4−15

This diff is large: its 49 lines aren’t shown here.

arch/mn10300/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/mn10300/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/mn10300/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/mn10300/unit-asb2305/pci-iomap.c+0−35

This diff is large: its 36 lines aren’t shown here.

arch/mn10300/unit-asb2305/pci.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/nios2/Kconfig+9−0

This diff is large: its 23 lines aren’t shown here.

arch/nios2/Kconfig.debug+11−0

This diff is large: its 16 lines aren’t shown here.

arch/nios2/boot/Makefile+7−0

This diff is large: its 14 lines aren’t shown here.

arch/nios2/boot/compressed/Makefile+19−0

This diff is large: its 20 lines aren’t shown here.

arch/nios2/boot/compressed/console.c+125−0

This diff is large: its 126 lines aren’t shown here.

arch/nios2/boot/compressed/head.S+117−0

This diff is large: its 118 lines aren’t shown here.

arch/nios2/boot/compressed/misc.c+187−0

This diff is large: its 188 lines aren’t shown here.

arch/nios2/boot/compressed/vmlinux.lds.S+58−0

This diff is large: its 59 lines aren’t shown here.

arch/nios2/boot/compressed/vmlinux.scrrenamed from arch/arm/mach-at91/include/mach/memory.h+13−11

This diff is large: its 35 lines aren’t shown here.

arch/nios2/configs/3c120_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/nios2/include/asm/kgdb.h+93−0

This diff is large: its 94 lines aren’t shown here.

arch/nios2/include/asm/pgtable-bits.h+0−1

This diff is large: its 7 lines aren’t shown here.

arch/nios2/include/asm/pgtable.h+2−10

This diff is large: its 40 lines aren’t shown here.

arch/nios2/include/asm/processor.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/nios2/include/asm/prom.h+22−0

This diff is large: its 23 lines aren’t shown here.

arch/nios2/kernel/Makefile+2−0

This diff is large: its 8 lines aren’t shown here.

arch/nios2/kernel/early_printk.c+118−0

This diff is large: its 119 lines aren’t shown here.

arch/nios2/kernel/entry.S+11−1

This diff is large: its 26 lines aren’t shown here.

arch/nios2/kernel/kgdb.c+171−0

This diff is large: its 172 lines aren’t shown here.

arch/nios2/kernel/prom.c+51−1

This diff is large: its 70 lines aren’t shown here.

arch/nios2/kernel/setup.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/nios2/mm/fault.c+37−8

This diff is large: its 80 lines aren’t shown here.

arch/openrisc/include/asm/pgtable.h+1−9

This diff is large: its 38 lines aren’t shown here.

arch/openrisc/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/openrisc/include/asm/uaccess.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/openrisc/kernel/head.S+0−5

This diff is large: its 12 lines aren’t shown here.

arch/openrisc/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/Kconfig+0−4

This diff is large: its 11 lines aren’t shown here.

arch/parisc/Makefile+1−2

This diff is large: its 17 lines aren’t shown here.

arch/parisc/hpux/Makefile+0−5

This diff is large: its 6 lines aren’t shown here.

arch/parisc/hpux/entry_hpux.S+0−546

This diff is large: its 547 lines aren’t shown here.

arch/parisc/hpux/fs.c+0−192

This diff is large: its 193 lines aren’t shown here.

arch/parisc/hpux/gate.S+0−107

This diff is large: its 108 lines aren’t shown here.

arch/parisc/hpux/ioctl.c+0−72

This diff is large: its 73 lines aren’t shown here.

arch/parisc/hpux/sys_hpux.c+0−963

This diff is large: its 964 lines aren’t shown here.

arch/parisc/hpux/wrappers.S+0−250

This diff is large: its 251 lines aren’t shown here.

arch/parisc/include/asm/pgtable.h+1−11

This diff is large: its 47 lines aren’t shown here.

arch/parisc/include/asm/processor.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/parisc/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/parisc/include/asm/uaccess.h+58−58

This diff is large: its 202 lines aren’t shown here.

arch/parisc/include/uapi/asm/unistd.h+2−479

This diff is large: its 509 lines aren’t shown here.

arch/parisc/kernel/entry.S+0−20

This diff is large: its 34 lines aren’t shown here.

arch/parisc/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/parisc/kernel/process.c+3−12

This diff is large: its 29 lines aren’t shown here.

arch/parisc/kernel/signal.c+17−17

This diff is large: its 65 lines aren’t shown here.

arch/parisc/kernel/smp.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/parisc/kernel/syscall_table.S+1−0

This diff is large: its 8 lines aren’t shown here.

arch/parisc/mm/init.c+0−72

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/Makefile+3−3

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/pq3-etsec2-0.dtsi+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/pq3-etsec2-1.dtsi+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/pq3-etsec2-2.dtsi+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/pq3-gpio-0.dtsi+3−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-bman1-portals.dtsi+90−0

This diff is large: its 91 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-bman1.dtsi+41−0

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-qman1-portals.dtsi+101−0

This diff is large: its 102 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-qman1.dtsi+41−0

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/boot/dts/fsl/qoriq-qman3.dtsi+41−0

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/boot/dts/mvme2500.dts+280−0

This diff is large: its 281 lines aren’t shown here.

arch/powerpc/boot/dts/t4240emu.dts+0−281

This diff is large: its 282 lines aren’t shown here.

arch/powerpc/configs/40x/acadia_defconfig+1−20

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/configs/40x/ep405_defconfig+1−17

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/configs/40x/kilauea_defconfig+3−24

This diff is large: its 77 lines aren’t shown here.

arch/powerpc/configs/40x/klondike_defconfig+0−4

This diff is large: its 23 lines aren’t shown here.

arch/powerpc/configs/40x/makalu_defconfig+1−19

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/40x/obs600_defconfig+3−10

This diff is large: its 51 lines aren’t shown here.

arch/powerpc/configs/40x/virtex_defconfig+4−17

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/40x/walnut_defconfig+1−17

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/44x/akebono_defconfig+0−7

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/configs/44x/arches_defconfig+3−20

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/configs/44x/bamboo_defconfig+1−14

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/configs/44x/bluestone_defconfig+3−13

This diff is large: its 57 lines aren’t shown here.

arch/powerpc/configs/44x/canyonlands_defconfig+3−23

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/configs/44x/currituck_defconfig+2−11

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/configs/44x/ebony_defconfig+1−16

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/44x/eiger_defconfig+3−23

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/configs/44x/icon_defconfig+0−20

This diff is large: its 84 lines aren’t shown here.

arch/powerpc/configs/44x/iss476-smp_defconfig+2−14

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/configs/44x/katmai_defconfig+0−15

This diff is large: its 61 lines aren’t shown here.

arch/powerpc/configs/44x/rainier_defconfig+1−14

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/44x/redwood_defconfig+3−23

This diff is large: its 91 lines aren’t shown here.

arch/powerpc/configs/44x/sam440ep_defconfig+2−17

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/configs/44x/sequoia_defconfig+3−18

This diff is large: its 70 lines aren’t shown here.

arch/powerpc/configs/44x/taishan_defconfig+1−15

This diff is large: its 61 lines aren’t shown here.

arch/powerpc/configs/44x/virtex5_defconfig+4−17

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/44x/warp_defconfig+2−21

This diff is large: its 100 lines aren’t shown here.

arch/powerpc/configs/52xx/cm5200_defconfig+2−17

This diff is large: its 82 lines aren’t shown here.

arch/powerpc/configs/52xx/lite5200b_defconfig+4−16

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/52xx/motionpro_defconfig+3−19

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/configs/52xx/pcm030_defconfig+3−18

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/configs/52xx/tqm5200_defconfig+4−18

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/configs/83xx/asp8347_defconfig+4−18

This diff is large: its 76 lines aren’t shown here.

arch/powerpc/configs/83xx/kmeter1_defconfig+0−4

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8313_rdb_defconfig+5−20

This diff is large: its 90 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc8315_rdb_defconfig+4−18

This diff is large: its 85 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc832x_mds_defconfig+5−16

This diff is large: its 69 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc832x_rdb_defconfig+6−17

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_itx_defconfig+5−15

This diff is large: its 76 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig+5−15

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc834x_mds_defconfig+6−17

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc836x_mds_defconfig+5−17

This diff is large: its 73 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc836x_rdk_defconfig+3−13

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc837x_mds_defconfig+2−13

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/83xx/mpc837x_rdb_defconfig+2−15

This diff is large: its 77 lines aren’t shown here.

arch/powerpc/configs/83xx/sbc834x_defconfig+1−15

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/configs/85xx/ge_imp3a_defconfig+1−15

This diff is large: its 101 lines aren’t shown here.

arch/powerpc/configs/85xx/kmp204x_defconfig+0−3

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/configs/85xx/ksi8560_defconfig+3−14

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8540_ads_defconfig+4−15

This diff is large: its 57 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc8560_ads_defconfig+5−14

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/configs/85xx/mpc85xx_cds_defconfig+5−16

This diff is large: its 63 lines aren’t shown here.

arch/powerpc/configs/85xx/ppa8548_defconfig+22−40

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/configs/85xx/sbc8548_defconfig+9−31

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/configs/85xx/socrates_defconfig+3−21

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/configs/85xx/stx_gp3_defconfig+1−14

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8540_defconfig+3−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8541_defconfig+3−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8548_defconfig+4−18

This diff is large: its 71 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8555_defconfig+3−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/configs/85xx/tqm8560_defconfig+3−14

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/configs/85xx/xes_mpc85xx_defconfig+4−30

This diff is large: its 144 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_ppc9a_defconfig+8−28

This diff is large: its 151 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc310_defconfig+8−27

This diff is large: its 143 lines aren’t shown here.

arch/powerpc/configs/86xx/gef_sbc610_defconfig+10−43

This diff is large: its 214 lines aren’t shown here.

arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig+9−23

This diff is large: its 106 lines aren’t shown here.

arch/powerpc/configs/86xx/mpc8641_hpcn_defconfig+7−26

This diff is large: its 126 lines aren’t shown here.

arch/powerpc/configs/86xx/sbc8641d_defconfig+11−43

This diff is large: its 184 lines aren’t shown here.

arch/powerpc/configs/adder875_defconfig+6−21

This diff is large: its 71 lines aren’t shown here.

arch/powerpc/configs/amigaone_defconfig+10−26

This diff is large: its 115 lines aren’t shown here.

arch/powerpc/configs/c2k_defconfig+20−62

This diff is large: its 247 lines aren’t shown here.

arch/powerpc/configs/cell_defconfig+7−23

This diff is large: its 136 lines aren’t shown here.

arch/powerpc/configs/celleb_defconfig+5−16

This diff is large: its 109 lines aren’t shown here.

arch/powerpc/configs/chrp32_defconfig+11−26

This diff is large: its 123 lines aren’t shown here.

arch/powerpc/configs/corenet32_smp_defconfig+8−14

This diff is large: its 104 lines aren’t shown here.

arch/powerpc/configs/corenet64_smp_defconfig+6−1

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/configs/ep8248e_defconfig+3−14

This diff is large: its 68 lines aren’t shown here.

arch/powerpc/configs/ep88xc_defconfig+7−22

This diff is large: its 74 lines aren’t shown here.

arch/powerpc/configs/g5_defconfig+18−45

This diff is large: its 196 lines aren’t shown here.

arch/powerpc/configs/gamecube_defconfig+1−14

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/configs/holly_defconfig+4−11

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/configs/linkstation_defconfig+3−25

This diff is large: its 113 lines aren’t shown here.

arch/powerpc/configs/maple_defconfig+7−19

This diff is large: its 106 lines aren’t shown here.

arch/powerpc/configs/mgcoge_defconfig+3−9

This diff is large: its 61 lines aren’t shown here.

arch/powerpc/configs/mpc512x_defconfig+0−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/configs/mpc5200_defconfig+3−15

This diff is large: its 84 lines aren’t shown here.

arch/powerpc/configs/mpc7448_hpc2_defconfig+4−14

This diff is large: its 64 lines aren’t shown here.

arch/powerpc/configs/mpc8272_ads_defconfig+6−18

This diff is large: its 85 lines aren’t shown here.

arch/powerpc/configs/mpc83xx_defconfig+0−7

This diff is large: its 51 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_defconfig+24−48

This diff is large: its 210 lines aren’t shown here.

arch/powerpc/configs/mpc85xx_smp_defconfig+14−49

This diff is large: its 188 lines aren’t shown here.

arch/powerpc/configs/mpc866_ads_defconfig+6−16

This diff is large: its 60 lines aren’t shown here.

arch/powerpc/configs/mpc86xx_defconfig+10−29

This diff is large: its 141 lines aren’t shown here.

arch/powerpc/configs/mpc885_ads_defconfig+7−22

This diff is large: its 76 lines aren’t shown here.

arch/powerpc/configs/mvme5100_defconfig+0−9

This diff is large: its 34 lines aren’t shown here.

arch/powerpc/configs/pasemi_defconfig+0−3

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/configs/pmac32_defconfig+14−51

This diff is large: its 203 lines aren’t shown here.

arch/powerpc/configs/ppc40x_defconfig+1−16

This diff is large: its 77 lines aren’t shown here.

arch/powerpc/configs/ppc44x_defconfig+0−14

This diff is large: its 72 lines aren’t shown here.

arch/powerpc/configs/ppc64_defconfig+5−11

This diff is large: its 89 lines aren’t shown here.

arch/powerpc/configs/ppc64e_defconfig+0−4

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/configs/ppc6xx_defconfig+128−220

This diff is large: its 784 lines aren’t shown here.

arch/powerpc/configs/pq2fads_defconfig+7−21

This diff is large: its 92 lines aren’t shown here.

arch/powerpc/configs/ps3_defconfig+6−12

This diff is large: its 77 lines aren’t shown here.

arch/powerpc/configs/pseries_defconfig+20−9

This diff is large: its 125 lines aren’t shown here.

arch/powerpc/configs/pseries_le_defconfig+20−11

This diff is large: its 129 lines aren’t shown here.

arch/powerpc/configs/storcenter_defconfig+1−11

This diff is large: its 67 lines aren’t shown here.

arch/powerpc/configs/tqm8xx_defconfig+7−25

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/configs/wii_defconfig+1−17

This diff is large: its 88 lines aren’t shown here.

arch/powerpc/include/asm/cacheflush.h+0−7

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/include/asm/cputable.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/eeh.h+5−8

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/include/asm/fsl_lbc.h+3−0

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/include/asm/fsl_pamu_stash.h+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/kprobes.h+44−19

This diff is large: its 79 lines aren’t shown here.

arch/powerpc/include/asm/kvm_host.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/opal.h+9−1

This diff is large: its 24 lines aren’t shown here.

arch/powerpc/include/asm/pci-bridge.h+4−0

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/include/asm/pgtable-ppc32.h+17−17

This diff is large: its 81 lines aren’t shown here.

arch/powerpc/include/asm/pgtable-ppc64.h+2−5

This diff is large: its 28 lines aren’t shown here.

arch/powerpc/include/asm/pgtable.h+14−48

This diff is large: its 100 lines aren’t shown here.

arch/powerpc/include/asm/pnv-pci.h+2−2

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/include/asm/pte-40x.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/pte-44x.h+0−5

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/include/asm/pte-8xx.h+4−6

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/include/asm/pte-book3e.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/pte-common.h+17−13

This diff is large: its 62 lines aren’t shown here.

arch/powerpc/include/asm/pte-fsl-booke.h+0−3

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/include/asm/pte-hash32.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/pte-hash64.h+0−7

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/include/asm/rtas.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/include/asm/smp.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/include/asm/thread_info.h+1−5

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/kernel/asm-offsets.c+13−2

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/kernel/cacheinfo.c+6−9

This diff is large: its 26 lines aren’t shown here.

arch/powerpc/kernel/cputable.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kernel/eeh.c+24−0

This diff is large: its 47 lines aren’t shown here.

arch/powerpc/kernel/eeh_driver.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/eeh_pe.c+13−7

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/kernel/entry_32.S+3−80

This diff is large: its 132 lines aren’t shown here.

arch/powerpc/kernel/entry_64.S+12−25

This diff is large: its 117 lines aren’t shown here.

arch/powerpc/kernel/head_8xx.S+43−80

This diff is large: its 215 lines aren’t shown here.

arch/powerpc/kernel/machine_kexec_64.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/paca.c+8−0

This diff is large: its 15 lines aren’t shown here.

arch/powerpc/kernel/pci_dn.c+1−3

This diff is large: its 12 lines aren’t shown here.

arch/powerpc/kernel/prom.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/kernel/rtas.c+15−7

This diff is large: its 61 lines aren’t shown here.

arch/powerpc/kernel/signal_32.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/signal_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kernel/smp.c+0−14

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/kernel/syscalls.c+0−14

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/kernel/time.c+37−0

This diff is large: its 58 lines aren’t shown here.

arch/powerpc/kernel/traps.c+0−15

This diff is large: its 22 lines aren’t shown here.

arch/powerpc/kvm/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_interrupts.S+13−13

This diff is large: its 42 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rm_mmu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rm_xics.c+4−4

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/kvm/book3s_hv_rmhandlers.S+14−14

This diff is large: its 50 lines aren’t shown here.

arch/powerpc/kvm/book3s_xics.c+8−8

This diff is large: its 72 lines aren’t shown here.

arch/powerpc/kvm/booke.c+1−0

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/kvm/powerpc.c+1−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/lib/Makefile+12−15

This diff is large: its 46 lines aren’t shown here.

arch/powerpc/lib/memcmp_64.S+233−0

This diff is large: its 234 lines aren’t shown here.

arch/powerpc/lib/string.S+2−0

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/mm/copro_fault.c+6−2

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/mm/fault.c+9−16

This diff is large: its 48 lines aren’t shown here.

arch/powerpc/mm/fsl_booke_mmu.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/mm/hugetlbpage.c+10−2

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/mm/mmu_context_nohash.c+42−1

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/mm/pgtable.c+8−3

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/mm/pgtable_32.c+15−4

This diff is large: its 53 lines aren’t shown here.

arch/powerpc/mm/pgtable_64.c+3−2

This diff is large: its 19 lines aren’t shown here.

arch/powerpc/mm/slice.c+0−29

This diff is large: its 36 lines aren’t shown here.

arch/powerpc/mm/subpage-prot.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/mm/tlb_nohash.c+8−1

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/perf/core-fsl-emb.c+8−2

This diff is large: its 33 lines aren’t shown here.

arch/powerpc/perf/hv-24x7-catalog.h+25−0

This diff is large: its 30 lines aren’t shown here.

arch/powerpc/perf/hv-24x7-domains.h+28−0

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/perf/hv-24x7.c+782−11

This diff is large: its 879 lines aren’t shown here.

arch/powerpc/perf/hv-24x7.h+6−6

This diff is large: its 21 lines aren’t shown here.

arch/powerpc/perf/hv-common.c+5−5

This diff is large: its 29 lines aren’t shown here.

arch/powerpc/perf/hv-common.h+10−0

This diff is large: its 17 lines aren’t shown here.

arch/powerpc/perf/hv-gpci-requests.h+261−0

This diff is large: its 262 lines aren’t shown here.

arch/powerpc/perf/hv-gpci.c+23−0

This diff is large: its 59 lines aren’t shown here.

arch/powerpc/perf/hv-gpci.h+12−25

This diff is large: its 45 lines aren’t shown here.

arch/powerpc/perf/req-gen/_begin.h+13−0

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/perf/req-gen/_clear.h+5−0

This diff is large: its 6 lines aren’t shown here.

arch/powerpc/perf/req-gen/_end.h+4−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/perf/req-gen/_request-begin.h+15−0

This diff is large: its 16 lines aren’t shown here.

arch/powerpc/perf/req-gen/_request-end.h+8−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/perf/req-gen/perf.h+155−0

This diff is large: its 156 lines aren’t shown here.

arch/powerpc/platforms/44x/Kconfig+0−1

This diff is large: its 8 lines aren’t shown here.

arch/powerpc/platforms/512x/clock-commonclk.c+5−6

This diff is large: its 25 lines aren’t shown here.

arch/powerpc/platforms/83xx/usb.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/powerpc/platforms/85xx/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/platforms/85xx/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/powerpc/platforms/85xx/mvme2500.c+74−0

This diff is large: its 75 lines aren’t shown here.

arch/powerpc/platforms/cell/celleb_scc_pciex.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/powerpc/platforms/cell/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c+0−11

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/powermac/pci.c+39−170

This diff is large: its 278 lines aren’t shown here.

arch/powerpc/platforms/powernv/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/powernv/eeh-powernv.c+11−0

This diff is large: its 18 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal-power.c+65−0

This diff is large: its 66 lines aren’t shown here.

arch/powerpc/platforms/powernv/opal.c+50−22

This diff is large: its 107 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci-ioda.c+34−7

This diff is large: its 86 lines aren’t shown here.

arch/powerpc/platforms/powernv/pci.c+0−30

This diff is large: its 44 lines aren’t shown here.

arch/powerpc/platforms/ps3/mm.c+45−32

This diff is large: its 98 lines aren’t shown here.

arch/powerpc/platforms/ps3/platform.h+13−0

This diff is large: its 27 lines aren’t shown here.

arch/powerpc/platforms/pseries/Kconfig+10−10

This diff is large: its 31 lines aren’t shown here.

arch/powerpc/platforms/pseries/hotplug-cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/platforms/pseries/mobility.c+6−16

This diff is large: its 41 lines aren’t shown here.

arch/powerpc/platforms/pseries/ras.c+2−0

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/axonram.c+5−14

This diff is large: its 32 lines aren’t shown here.

arch/powerpc/sysdev/fsl_pci.c+7−50

This diff is large: its 83 lines aren’t shown here.

arch/powerpc/sysdev/indirect_pci.c+17−8

This diff is large: its 56 lines aren’t shown here.

arch/powerpc/sysdev/mpic.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/ppc4xx_hsta_msi.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/sysdev/qe_lib/qe.c+3−3

This diff is large: its 20 lines aren’t shown here.

arch/powerpc/sysdev/xics/ics-opal.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/powerpc/sysdev/xics/ics-rtas.c+2−5

This diff is large: its 14 lines aren’t shown here.

arch/powerpc/sysdev/xics/xics-common.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/powerpc/xmon/xmon.c+2−12

This diff is large: its 42 lines aren’t shown here.

arch/s390/Kconfig+34−8

This diff is large: its 118 lines aren’t shown here.

arch/s390/Makefile+12−0

This diff is large: its 33 lines aren’t shown here.

arch/s390/boot/compressed/misc.c+1−2

This diff is large: its 17 lines aren’t shown here.

arch/s390/configs/default_defconfig+1−1

This diff is large: its 16 lines aren’t shown here.

arch/s390/configs/gcov_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/configs/performance_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/configs/zfcpdump_defconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/crypto/aes_s390.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/defconfig+1−6

This diff is large: its 22 lines aren’t shown here.

arch/s390/hypfs/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

arch/s390/hypfs/hypfs.h+4−3

This diff is large: its 28 lines aren’t shown here.

arch/s390/hypfs/hypfs_dbfs.c+12−37

This diff is large: its 83 lines aren’t shown here.

arch/s390/hypfs/hypfs_diag0c.c+139−0

This diff is large: its 140 lines aren’t shown here.

arch/s390/hypfs/inode.c+33−29

This diff is large: its 121 lines aren’t shown here.

arch/s390/include/asm/cacheflush.h+0−4

This diff is large: its 11 lines aren’t shown here.

arch/s390/include/asm/cpu_mf.h+14−0

This diff is large: its 21 lines aren’t shown here.

arch/s390/include/asm/elf.h+5−3

This diff is large: its 22 lines aren’t shown here.

arch/s390/include/asm/ftrace.h+15−0

This diff is large: its 42 lines aren’t shown here.

arch/s390/include/asm/jump_label.h+6−1

This diff is large: its 23 lines aren’t shown here.

arch/s390/include/asm/kvm_host.h+44−12

This diff is large: its 151 lines aren’t shown here.

arch/s390/include/asm/pci_io.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/pgtable.h+9−26

This diff is large: its 77 lines aren’t shown here.

arch/s390/include/asm/processor.h+1−4

This diff is large: its 12 lines aren’t shown here.

arch/s390/include/asm/reset.h+2−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/sclp.h+9−2

This diff is large: its 35 lines aren’t shown here.

arch/s390/include/asm/setup.h+3−0

This diff is large: its 24 lines aren’t shown here.

arch/s390/include/asm/sigp.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/smp.h+4−0

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/string.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/s390/include/asm/sysinfo.h+20−10

This diff is large: its 70 lines aren’t shown here.

arch/s390/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/s390/include/asm/topology.h+10−14

This diff is large: its 46 lines aren’t shown here.

arch/s390/include/uapi/asm/hypfs.h+32−3

This diff is large: its 54 lines aren’t shown here.

arch/s390/include/uapi/asm/kvm.h+37−0

This diff is large: its 55 lines aren’t shown here.

arch/s390/kernel/Makefile+2−2

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/base.S+2−1

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/cache.c+89−301

This diff is large: its 454 lines aren’t shown here.

arch/s390/kernel/compat_signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/dis.c+6−3

This diff is large: its 51 lines aren’t shown here.

arch/s390/kernel/early.c+20−0

This diff is large: its 27 lines aren’t shown here.

arch/s390/kernel/entry.h+3−1

This diff is large: its 13 lines aren’t shown here.

arch/s390/kernel/ftrace.c+62−46

This diff is large: its 132 lines aren’t shown here.

arch/s390/kernel/head.S+3−1

This diff is large: its 11 lines aren’t shown here.

arch/s390/kernel/ipl.c+8−3

This diff is large: its 24 lines aren’t shown here.

arch/s390/kernel/jump_label.c+49−14

This diff is large: its 89 lines aren’t shown here.

arch/s390/kernel/kprobes.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/machine_kexec.c+8−11

This diff is large: its 49 lines aren’t shown here.

arch/s390/kernel/mcount.S+2−0

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/process.c+8−10

This diff is large: its 29 lines aren’t shown here.

arch/s390/kernel/processor.c+9−1

This diff is large: its 26 lines aren’t shown here.

arch/s390/kernel/sclp.S+2−1

This diff is large: its 10 lines aren’t shown here.

arch/s390/kernel/setup.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/s390/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/s390/kernel/smp.c+232−83

This diff is large: its 528 lines aren’t shown here.

arch/s390/kernel/sysinfo.c+37−0

This diff is large: its 51 lines aren’t shown here.

arch/s390/kernel/topology.c+101−80

This diff is large: its 265 lines aren’t shown here.

arch/s390/kernel/vdso64/clock_gettime.S+2−4

This diff is large: its 20 lines aren’t shown here.

arch/s390/kernel/vtime.c+54−4

This diff is large: its 107 lines aren’t shown here.

arch/s390/kvm/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/s390/kvm/gaccess.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/s390/kvm/intercept.c+27−14

This diff is large: its 76 lines aren’t shown here.

arch/s390/kvm/interrupt.c+134−57

This diff is large: its 453 lines aren’t shown here.

arch/s390/kvm/kvm-s390.c+536−60

This diff is large: its 839 lines aren’t shown here.

arch/s390/kvm/kvm-s390.h+13−6

This diff is large: its 53 lines aren’t shown here.

arch/s390/kvm/priv.c+9−4

This diff is large: its 29 lines aren’t shown here.

arch/s390/kvm/sigp.c+93−67

This diff is large: its 267 lines aren’t shown here.

arch/s390/kvm/trace-s390.h+8−6

This diff is large: its 28 lines aren’t shown here.

arch/s390/lib/spinlock.c+45−7

This diff is large: its 127 lines aren’t shown here.

arch/s390/mm/fault.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/s390/mm/gup.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/s390/mm/hugetlbpage.c+0−20

This diff is large: its 31 lines aren’t shown here.

arch/s390/mm/init.c+6−3

This diff is large: its 20 lines aren’t shown here.

arch/s390/mm/mmap.c+143−2

This diff is large: its 173 lines aren’t shown here.

arch/s390/mm/pgtable.c+3−3

This diff is large: its 27 lines aren’t shown here.

arch/s390/pci/pci.c+27−7

This diff is large: its 59 lines aren’t shown here.

arch/s390/pci/pci_mmio.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/score/include/asm/pgtable-bits.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/score/include/asm/pgtable.h+3−17

This diff is large: its 48 lines aren’t shown here.

arch/score/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/score/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/score/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/boards/mach-se/7343/irq.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/sh/boards/mach-se/7722/irq.c+0−3

This diff is large: its 10 lines aren’t shown here.

arch/sh/include/asm/pgtable.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/pgtable_32.h+4−26

This diff is large: its 90 lines aren’t shown here.

arch/sh/include/asm/pgtable_64.h+1−8

This diff is large: its 37 lines aren’t shown here.

arch/sh/include/asm/segment.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sh/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/sh/include/asm/uaccess.h+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/include/asm/uaccess_64.h+4−4

This diff is large: its 24 lines aren’t shown here.

arch/sh/kernel/asm-offsets.c+0−1

This diff is large: its 8 lines aren’t shown here.

arch/sh/kernel/signal_32.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/kernel/signal_64.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sh/mm/gup.c+3−5

This diff is large: its 22 lines aren’t shown here.

arch/sh/mm/hugetlbpage.c+0−12

This diff is large: its 23 lines aren’t shown here.

arch/sparc/crypto/aes_glue.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/crypto/camellia_glue.c+1−1

This diff is large: its 8 lines aren’t shown here.

arch/sparc/crypto/des_glue.c+1−0

This diff is large: its 7 lines aren’t shown here.

arch/sparc/crypto/md5_glue.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/include/asm/cacheflush_64.h+0−5

This diff is large: its 12 lines aren’t shown here.

arch/sparc/include/asm/pgtable_32.h+3−26

This diff is large: its 57 lines aren’t shown here.

arch/sparc/include/asm/pgtable_64.h+1−41

This diff is large: its 84 lines aren’t shown here.

arch/sparc/include/asm/pgtsrmmu.h+5−9

This diff is large: its 30 lines aren’t shown here.

arch/sparc/include/asm/thread_info_32.h+0−6

This diff is large: its 27 lines aren’t shown here.

arch/sparc/include/asm/thread_info_64.h+3−9

This diff is large: its 33 lines aren’t shown here.

arch/sparc/include/asm/uaccess_32.h+201−138

This diff is large: its 377 lines aren’t shown here.

arch/sparc/include/asm/uaccess_64.h+118−104

This diff is large: its 252 lines aren’t shown here.

arch/sparc/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/signal32.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/sparc/kernel/signal_32.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/signal_64.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/sparc/kernel/traps_64.c+0−2

This diff is large: its 9 lines aren’t shown here.

arch/sparc/mm/gup.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/sparc/mm/hugetlbpage.c+0−12

This diff is large: its 23 lines aren’t shown here.

arch/tile/include/asm/pgtable.h+1−12

This diff is large: its 27 lines aren’t shown here.

arch/tile/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/tile/include/asm/uaccess.h+20−17

This diff is large: its 80 lines aren’t shown here.

arch/tile/include/uapi/asm/byteorder.h+1−3

This diff is large: its 10 lines aren’t shown here.

arch/tile/kernel/hardwall.c+1−4

This diff is large: its 13 lines aren’t shown here.

arch/tile/kernel/pci.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/tile/kernel/proc.c+2−3

This diff is large: its 13 lines aren’t shown here.

arch/tile/kernel/setup.c+5−8

This diff is large: its 30 lines aren’t shown here.

arch/tile/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/tile/kvm/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

arch/tile/mm/homecache.c+5−11

This diff is large: its 38 lines aren’t shown here.

arch/tile/mm/hugetlbpage.c+0−28

This diff is large: its 42 lines aren’t shown here.

arch/tile/mm/init.c+7−11

This diff is large: its 35 lines aren’t shown here.

arch/um/include/asm/pgtable-2level.h+1−10

This diff is large: its 23 lines aren’t shown here.

arch/um/include/asm/pgtable-3level.h+1−21

This diff is large: its 35 lines aren’t shown here.

arch/um/include/asm/pgtable.h+0−9

This diff is large: its 23 lines aren’t shown here.

arch/um/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/unicore32/include/asm/pgtable-hwdef.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/unicore32/include/asm/pgtable.h+0−14

This diff is large: its 21 lines aren’t shown here.

arch/unicore32/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/unicore32/kernel/module.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/unicore32/mm/pgd.c+3−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/Kconfig+36−0

This diff is large: its 85 lines aren’t shown here.

arch/x86/Kconfig.debug+13−0

This diff is large: its 20 lines aren’t shown here.

arch/x86/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/Makefile.um+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/boot/Makefile+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/boot/compressed/Makefile+3−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/boot/compressed/aslr.c+33−1

This diff is large: its 63 lines aren’t shown here.

arch/x86/boot/compressed/eboot.c+1−2

This diff is large: its 10 lines aren’t shown here.

arch/x86/boot/compressed/efi_stub_64.S+0−25

This diff is large: its 29 lines aren’t shown here.

arch/x86/boot/compressed/efi_thunk_64.S+196−0

This diff is large: its 197 lines aren’t shown here.

arch/x86/boot/compressed/misc.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/boot/compressed/misc.h+5−2

This diff is large: its 28 lines aren’t shown here.

arch/x86/boot/ctype.h+2−3

This diff is large: its 9 lines aren’t shown here.

arch/x86/boot/early_serial_console.c+2−4

This diff is large: its 20 lines aren’t shown here.

arch/x86/crypto/aesni-intel_asm.S+177−166

This diff is large: its 541 lines aren’t shown here.

arch/x86/crypto/aesni-intel_glue.c+28−6

This diff is large: its 111 lines aren’t shown here.

arch/x86/crypto/des3_ede_glue.c+0−2

This diff is large: its 7 lines aren’t shown here.

arch/x86/ia32/ia32_signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/apic.h+28−38

This diff is large: its 108 lines aren’t shown here.

arch/x86/include/asm/fpu-internal.h+6−4

This diff is large: its 24 lines aren’t shown here.

arch/x86/include/asm/i387.h+5−1

This diff is large: its 21 lines aren’t shown here.

arch/x86/include/asm/imr.h+60−0

This diff is large: its 61 lines aren’t shown here.

arch/x86/include/asm/intel-mid.h+0−3

This diff is large: its 10 lines aren’t shown here.

arch/x86/include/asm/io_apic.h+5−0

This diff is large: its 12 lines aren’t shown here.

arch/x86/include/asm/irq_remapping.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/kasan.h+31−0

This diff is large: its 32 lines aren’t shown here.

arch/x86/include/asm/kvm_emulate.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/kvm_host.h+52−7

This diff is large: its 108 lines aren’t shown here.

arch/x86/include/asm/lguest_hcall.h+0−1

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/asm/livepatch.h+46−0

This diff is large: its 47 lines aren’t shown here.

arch/x86/include/asm/page_64_types.h+9−3

This diff is large: its 27 lines aren’t shown here.

arch/x86/include/asm/page_types.h+2−0

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/pci_x86.h+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/pgtable-2level.h+1−37

This diff is large: its 46 lines aren’t shown here.

arch/x86/include/asm/pgtable-3level.h+0−12

This diff is large: its 19 lines aren’t shown here.

arch/x86/include/asm/pgtable.h+22−46

This diff is large: its 143 lines aren’t shown here.

arch/x86/include/asm/pgtable_64.h+1−10

This diff is large: its 26 lines aren’t shown here.

arch/x86/include/asm/pgtable_types.h+3−43

This diff is large: its 91 lines aren’t shown here.

arch/x86/include/asm/pmc_atom.h+22−0

This diff is large: its 29 lines aren’t shown here.

arch/x86/include/asm/smpboot_hooks.h+0−68

This diff is large: its 69 lines aren’t shown here.

arch/x86/include/asm/spinlock.h+46−48

This diff is large: its 173 lines aren’t shown here.

arch/x86/include/asm/string_64.h+17−1

This diff is large: its 46 lines aren’t shown here.

arch/x86/include/asm/thread_info.h+0−4

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/asm/uaccess.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/include/asm/vmx.h+4−0

This diff is large: its 25 lines aren’t shown here.

arch/x86/include/asm/xen/page.h+5−15

This diff is large: its 37 lines aren’t shown here.

arch/x86/include/uapi/asm/bootparam.h+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/include/uapi/asm/hyperv.h+11−0

This diff is large: its 18 lines aren’t shown here.

arch/x86/include/uapi/asm/msr-index.h+8−0

This diff is large: its 24 lines aren’t shown here.

arch/x86/include/uapi/asm/vmx.h+6−0

This diff is large: its 31 lines aren’t shown here.

arch/x86/kernel/Makefile+5−0

This diff is large: its 19 lines aren’t shown here.

arch/x86/kernel/acpi/boot.c+9−14

This diff is large: its 58 lines aren’t shown here.

arch/x86/kernel/apb_timer.c+0−8

This diff is large: its 15 lines aren’t shown here.

arch/x86/kernel/apic/apic.c+238−217

This diff is large: its 565 lines aren’t shown here.

arch/x86/kernel/apic/io_apic.c+8−5

This diff is large: its 34 lines aren’t shown here.

arch/x86/kernel/cpu/common.c+8−7

This diff is large: its 34 lines aren’t shown here.

arch/x86/kernel/cpu/intel.c+2−4

This diff is large: its 13 lines aren’t shown here.

arch/x86/kernel/cpu/intel_cacheinfo.c+12−14

This diff is large: its 33 lines aren’t shown here.

arch/x86/kernel/cpu/mcheck/mce.c+14−14

This diff is large: its 102 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/intel.c+5−0

This diff is large: its 12 lines aren’t shown here.

arch/x86/kernel/cpu/microcode/intel_early.c+5−1

This diff is large: its 13 lines aren’t shown here.

arch/x86/kernel/dumpstack.c+4−1

This diff is large: its 12 lines aren’t shown here.

arch/x86/kernel/e820.c+8−18

This diff is large: its 54 lines aren’t shown here.

arch/x86/kernel/early_printk.c+166−21

This diff is large: its 253 lines aren’t shown here.

arch/x86/kernel/head64.c+7−2

This diff is large: its 44 lines aren’t shown here.

arch/x86/kernel/head_64.S+30−0

This diff is large: its 39 lines aren’t shown here.

arch/x86/kernel/hpet.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/i387.c+26−13

This diff is large: its 71 lines aren’t shown here.

arch/x86/kernel/irq.c+3−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/kprobes/core.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/kprobes/opt.c+2−1

This diff is large: its 10 lines aren’t shown here.

arch/x86/kernel/kvm.c+9−4

This diff is large: its 45 lines aren’t shown here.

arch/x86/kernel/livepatch.c+90−0

This diff is large: its 91 lines aren’t shown here.

arch/x86/kernel/module.c+13−11

This diff is large: its 56 lines aren’t shown here.

arch/x86/kernel/pmc_atom.c+64−17

This diff is large: its 155 lines aren’t shown here.

arch/x86/kernel/rtc.c+3−3

This diff is large: its 23 lines aren’t shown here.

arch/x86/kernel/setup.c+24−9

This diff is large: its 86 lines aren’t shown here.

arch/x86/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kernel/smpboot.c+67−46

This diff is large: its 200 lines aren’t shown here.

arch/x86/kernel/traps.c+5−7

This diff is large: its 24 lines aren’t shown here.

arch/x86/kernel/uprobes.c+110−43

This diff is large: its 216 lines aren’t shown here.

arch/x86/kernel/x8664_ksyms_64.c+8−2

This diff is large: its 22 lines aren’t shown here.

arch/x86/kvm/Kconfig+2−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/kvm/emulate.c+156−74

This diff is large: its 601 lines aren’t shown here.

arch/x86/kvm/ioapic.h+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/kvm/iommu.c+3−1

This diff is large: its 18 lines aren’t shown here.

arch/x86/kvm/lapic.c+96−51

This diff is large: its 281 lines aren’t shown here.

arch/x86/kvm/lapic.h+4−2

This diff is large: its 26 lines aren’t shown here.

arch/x86/kvm/mmu.c+287−64

This diff is large: its 562 lines aren’t shown here.

arch/x86/kvm/mmu.h+2−15

This diff is large: its 31 lines aren’t shown here.

arch/x86/kvm/svm.c+2−2

This diff is large: its 11 lines aren’t shown here.

arch/x86/kvm/trace.h+38−0

This diff is large: its 52 lines aren’t shown here.

arch/x86/kvm/vmx.c+953−133

This diff is large: its 1692 lines aren’t shown here.

arch/x86/kvm/x86.c+127−82

This diff is large: its 393 lines aren’t shown here.

arch/x86/kvm/x86.h+3−0

This diff is large: its 16 lines aren’t shown here.

arch/x86/lguest/boot.c+153−20

This diff is large: its 222 lines aren’t shown here.

arch/x86/lib/memcpy_64.S+4−2

This diff is large: its 20 lines aren’t shown here.

arch/x86/lib/memmove_64.S+4−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/lib/memset_64.S+6−4

This diff is large: its 22 lines aren’t shown here.

arch/x86/mm/Makefile+3−0

This diff is large: its 10 lines aren’t shown here.

arch/x86/mm/gup.c+6−7

This diff is large: its 39 lines aren’t shown here.

arch/x86/mm/hugetlbpage.c+18−13

This diff is large: its 47 lines aren’t shown here.

arch/x86/mm/init.c+27−3

This diff is large: its 51 lines aren’t shown here.

arch/x86/mm/kasan_init_64.c+206−0

This diff is large: its 207 lines aren’t shown here.

arch/x86/mm/mmap.c+3−3

This diff is large: its 16 lines aren’t shown here.

arch/x86/mm/numa.c+2−4

This diff is large: its 21 lines aren’t shown here.

arch/x86/mm/pgtable.c+9−5

This diff is large: its 63 lines aren’t shown here.

arch/x86/pci/acpi.c+91−202

This diff is large: its 386 lines aren’t shown here.

arch/x86/pci/bus_numa.c+2−2

This diff is large: its 18 lines aren’t shown here.

arch/x86/pci/common.c+44−6

This diff is large: its 78 lines aren’t shown here.

arch/x86/pci/intel_mid_pci.c+2−3

This diff is large: its 21 lines aren’t shown here.

arch/x86/pci/irq.c+1−14

This diff is large: its 24 lines aren’t shown here.

arch/x86/pci/mmconfig-shared.c+31−3

This diff is large: its 58 lines aren’t shown here.

arch/x86/pci/xen.c+4−0

This diff is large: its 17 lines aren’t shown here.

arch/x86/platform/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/platform/efi/efi_stub_64.S+0−161

This diff is large: its 168 lines aren’t shown here.

arch/x86/platform/efi/efi_thunk_64.S+104−17

This diff is large: its 144 lines aren’t shown here.

arch/x86/platform/intel-mid/device_libs/Makefile+0−2

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/intel-mid/device_libs/platform_max3111.c+0−35

This diff is large: its 36 lines aren’t shown here.

arch/x86/platform/intel-mid/early_printk_intel_mid.c+4−216

This diff is large: its 245 lines aren’t shown here.

arch/x86/platform/intel-mid/intel_mid_vrtc.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/platform/intel-quark/Makefile+2−0

This diff is large: its 3 lines aren’t shown here.

arch/x86/platform/intel-quark/imr.c+661−0

This diff is large: its 662 lines aren’t shown here.

arch/x86/platform/intel-quark/imr_selftest.c+129−0

This diff is large: its 130 lines aren’t shown here.

arch/x86/platform/uv/uv_nmi.c+7−18

This diff is large: its 45 lines aren’t shown here.

arch/x86/realmode/Makefile+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/realmode/rm/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/um/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/vdso/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

arch/x86/xen/mmu.c+8−9

This diff is large: its 73 lines aren’t shown here.

arch/x86/xen/p2m.c+12−257

This diff is large: its 347 lines aren’t shown here.

arch/x86/xen/setup.c+14−23

This diff is large: its 104 lines aren’t shown here.

arch/x86/xen/smp.c+1−1

This diff is large: its 9 lines aren’t shown here.

arch/x86/xen/spinlock.c+9−4

This diff is large: its 45 lines aren’t shown here.

arch/x86/xen/time.c+4−0

This diff is large: its 11 lines aren’t shown here.

arch/x86/xen/xen-ops.h+6−0

This diff is large: its 13 lines aren’t shown here.

arch/xtensa/include/asm/pgtable.h+1−11

This diff is large: its 54 lines aren’t shown here.

arch/xtensa/include/asm/thread_info.h+0−5

This diff is large: its 26 lines aren’t shown here.

arch/xtensa/include/asm/uaccess.h+45−45

This diff is large: its 191 lines aren’t shown here.

arch/xtensa/kernel/setup.c+2−5

This diff is large: its 23 lines aren’t shown here.

arch/xtensa/kernel/signal.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/bio.c+191−235

This diff is large: its 641 lines aren’t shown here.

block/blk-core.c+9−4

This diff is large: its 41 lines aren’t shown here.

block/blk-lib.c+20−10

This diff is large: its 45 lines aren’t shown here.

block/blk-map.c+32−140

This diff is large: its 224 lines aren’t shown here.

block/blk-merge.c+12−29

This diff is large: its 62 lines aren’t shown here.

block/blk-mq-sysfs.c+2−23

This diff is large: its 51 lines aren’t shown here.

block/blk-mq-tag.c+50−31

This diff is large: its 206 lines aren’t shown here.

block/blk-mq-tag.h+3−1

This diff is large: its 14 lines aren’t shown here.

block/blk-mq.c+28−8

This diff is large: its 103 lines aren’t shown here.

block/blk-mq.h+2−0

This diff is large: its 9 lines aren’t shown here.

block/blk-sysfs.c+2−0

This diff is large: its 9 lines aren’t shown here.

block/blk-tag.c+25−8

This diff is large: its 88 lines aren’t shown here.

block/blk-throttle.c+3−0

This diff is large: its 10 lines aren’t shown here.

block/bsg.c+25−47

This diff is large: its 93 lines aren’t shown here.

block/cfq-iosched.c+13−3

This diff is large: its 41 lines aren’t shown here.

block/ioctl.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/partitions/check.c+6−6

This diff is large: its 19 lines aren’t shown here.

block/partitions/efi.c+1−1

This diff is large: its 9 lines aren’t shown here.

block/scsi_ioctl.c+4−13

This diff is large: its 33 lines aren’t shown here.

crypto/Kconfig+18−0

This diff is large: its 32 lines aren’t shown here.

crypto/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/ablkcipher.c+5−2

This diff is large: its 35 lines aren’t shown here.

crypto/aead.c+2−1

This diff is large: its 10 lines aren’t shown here.

crypto/af_alg.c+20−31

This diff is large: its 93 lines aren’t shown here.

crypto/ahash.c+2−1

This diff is large: its 17 lines aren’t shown here.

crypto/algapi.c+1−0

This diff is large: its 8 lines aren’t shown here.

crypto/algif_hash.c+17−28

This diff is large: its 64 lines aren’t shown here.

crypto/algif_rng.c+192−0

This diff is large: its 193 lines aren’t shown here.

crypto/algif_skcipher.c+40−41

This diff is large: its 129 lines aren’t shown here.

crypto/cts.c+3−2

This diff is large: its 19 lines aren’t shown here.

crypto/drbg.c+13−21

This diff is large: its 112 lines aren’t shown here.

crypto/scatterwalk.c+3−3

This diff is large: its 27 lines aren’t shown here.

crypto/seqiv.c+12−0

This diff is large: its 26 lines aren’t shown here.

crypto/tcrypt.c+20−17

This diff is large: its 94 lines aren’t shown here.

crypto/testmgr.c+27−31

This diff is large: its 129 lines aren’t shown here.

drivers/Kconfig+0−2

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/Kconfig+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/acpi/Makefile+3−1

This diff is large: its 25 lines aren’t shown here.

drivers/acpi/acpi_apd.c+150−0

This diff is large: its 151 lines aren’t shown here.

drivers/acpi/acpi_lpat.c+161−0

This diff is large: its 162 lines aren’t shown here.

drivers/acpi/acpi_lpss.c+30−34

This diff is large: its 172 lines aren’t shown here.

drivers/acpi/acpi_memhotplug.c+4−4

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/acpi_platform.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/acpica/acapps.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/acpica/accommon.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acdebug.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acdispat.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acevents.h+1−3

This diff is large: its 18 lines aren’t shown here.

drivers/acpi/acpica/acglobal.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/achware.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acinterp.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/aclocal.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acmacros.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acnamesp.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acobject.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acopcode.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acparser.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acpredef.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acresrc.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acstruct.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/actables.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/acutils.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/amlcode.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/amlresrc.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsargs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dscontrol.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsfield.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsinit.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsmethod.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsmthdat.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsobject.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsopcode.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dsutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswexec.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswload.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswload2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswscope.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/dswstate.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evevent.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evglock.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evgpe.c+83−81

This diff is large: its 268 lines aren’t shown here.

drivers/acpi/acpica/evgpeblk.c+6−4

This diff is large: its 25 lines aren’t shown here.

drivers/acpi/acpica/evgpeinit.c+6−4

This diff is large: its 30 lines aren’t shown here.

drivers/acpi/acpica/evgpeutil.c+7−54

This diff is large: its 89 lines aren’t shown here.

drivers/acpi/acpica/evhandler.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evmisc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evregion.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evrgnini.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evsci.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evxface.c+113−19

This diff is large: its 230 lines aren’t shown here.

drivers/acpi/acpica/evxfevnt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/evxfgpe.c+118−5

This diff is large: its 172 lines aren’t shown here.

drivers/acpi/acpica/evxfregn.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exconfig.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exconvrt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/excreate.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exdebug.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exdump.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exfield.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exfldio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exmisc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exmutex.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exnames.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exoparg1.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exoparg2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exoparg3.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exoparg6.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exprep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exregion.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exresnte.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exresolv.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exresop.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exstore.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exstoren.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exstorob.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exsystem.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/exutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwacpi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwesleep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwgpe.c+7−3

This diff is large: its 38 lines aren’t shown here.

drivers/acpi/acpica/hwpci.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwregs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwsleep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwtimer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwvalid.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwxface.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/hwxfsleep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsaccess.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsalloc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsarguments.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsconvert.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsdump.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsdumpdv.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nseval.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsinit.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsload.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsnames.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsobject.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsparse.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nspredef.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsprepkg.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsrepair.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsrepair2.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nssearch.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nswalk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsxfeval.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsxfname.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/nsxfobj.c+1−45

This diff is large: its 60 lines aren’t shown here.

drivers/acpi/acpica/psargs.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psloop.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psobject.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psopcode.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psopinfo.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psparse.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psscope.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/pstree.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/pswalk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/psxface.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsaddr.c+6−5

This diff is large: its 46 lines aren’t shown here.

drivers/acpi/acpica/rscalc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rscreate.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsdump.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsdumpinfo.c+31−30

This diff is large: its 103 lines aren’t shown here.

drivers/acpi/acpica/rsinfo.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsirq.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rslist.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsmemory.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsmisc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsserial.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/rsxface.c+6−6

This diff is large: its 26 lines aren’t shown here.

drivers/acpi/acpica/tbdata.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbfadt.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbfind.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbinstal.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbprint.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbutils.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbxface.c+1−40

This diff is large: its 55 lines aren’t shown here.

drivers/acpi/acpica/tbxfload.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/tbxfroot.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utaddress.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utalloc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utbuffer.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utcache.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utcopy.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utdebug.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/acpi/acpica/utdecode.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utdelete.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/uterror.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/uteval.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utexcep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utfileio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utglobal.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/uthex.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utids.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utinit.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utlock.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utmath.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utmisc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utmutex.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utobject.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utosi.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utownerid.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utpredef.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utprint.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utresrc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utstate.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utstring.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/uttrack.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utuuid.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utxface.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utxferror.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utxfinit.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/acpica/utxfmutex.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/apei/apei-base.c+26−6

This diff is large: its 69 lines aren’t shown here.

drivers/acpi/device_pm.c+0−2

This diff is large: its 16 lines aren’t shown here.

drivers/acpi/ec.c+325−128

This diff is large: its 768 lines aren’t shown here.

drivers/acpi/event.c+1−6

This diff is large: its 21 lines aren’t shown here.

drivers/acpi/internal.h+11−0

This diff is large: its 37 lines aren’t shown here.

drivers/acpi/ioapic.c+229−0

This diff is large: its 230 lines aren’t shown here.

drivers/acpi/numa.c+2−10

This diff is large: its 27 lines aren’t shown here.

drivers/acpi/pci_irq.c+1−8

This diff is large: its 22 lines aren’t shown here.

drivers/acpi/pci_root.c+6−3

This diff is large: its 31 lines aren’t shown here.

drivers/acpi/pmic/intel_pmic.c+18−115

This diff is large: its 202 lines aren’t shown here.

drivers/acpi/processor_core.c+114−9

This diff is large: its 150 lines aren’t shown here.

drivers/acpi/processor_idle.c+85−131

This diff is large: its 304 lines aren’t shown here.

drivers/acpi/resource.c+217−136

This diff is large: its 551 lines aren’t shown here.

drivers/acpi/scan.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/acpi/sleep.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/acpi/video.c+27−0

This diff is large: its 34 lines aren’t shown here.

drivers/amba/bus.c+47−0

This diff is large: its 75 lines aren’t shown here.

drivers/android/binder.c+26−0

This diff is large: its 68 lines aren’t shown here.

drivers/ata/ahci.h+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/ata/ahci_da850.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_imx.c+14−11

This diff is large: its 74 lines aren’t shown here.

drivers/ata/ahci_mvebu.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_platform.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_st.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_sunxi.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_tegra.c+9−2

This diff is large: its 39 lines aren’t shown here.

drivers/ata/ahci_xgene.c+193−10

This diff is large: its 288 lines aren’t shown here.

drivers/ata/libahci_platform.c+172−77

This diff is large: its 377 lines aren’t shown here.

drivers/ata/libata-core.c+18−79

This diff is large: its 139 lines aren’t shown here.

drivers/ata/libata-eh.c+9−12

This diff is large: its 42 lines aren’t shown here.

drivers/ata/libata-scsi.c+34−3

This diff is large: its 62 lines aren’t shown here.

drivers/ata/libata.h+3−2

This diff is large: its 26 lines aren’t shown here.

drivers/ata/pata_cs5530.c+2−4

This diff is large: its 13 lines aren’t shown here.

drivers/ata/pata_of_platform.c+8−2

This diff is large: its 31 lines aren’t shown here.

drivers/ata/pata_pdc2027x.c+5−5

This diff is large: its 44 lines aren’t shown here.

drivers/ata/pata_platform.c+5−3

This diff is large: its 36 lines aren’t shown here.

drivers/ata/sata_dwc_460ex.c+55−61

This diff is large: its 294 lines aren’t shown here.

drivers/ata/sata_mv.c+2−4

This diff is large: its 20 lines aren’t shown here.

drivers/ata/sata_rcar.c+23−2

This diff is large: its 42 lines aren’t shown here.

drivers/ata/sata_sil24.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/atm/eni.c+19−14

This diff is large: its 95 lines aren’t shown here.

drivers/atm/fore200e.c+14−8

This diff is large: its 71 lines aren’t shown here.

drivers/atm/he.c+64−61

This diff is large: its 315 lines aren’t shown here.

drivers/atm/he.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/atm/horizon.c+0−24

This diff is large: its 45 lines aren’t shown here.

drivers/atm/idt77252.c+57−50

This diff is large: its 265 lines aren’t shown here.

drivers/atm/iphase.c+28−26

This diff is large: its 136 lines aren’t shown here.

drivers/atm/lanai.c+5−18

This diff is large: its 51 lines aren’t shown here.

drivers/atm/nicstar.c+30−30

This diff is large: its 138 lines aren’t shown here.

drivers/atm/solos-pci.c+13−13

This diff is large: its 72 lines aren’t shown here.

drivers/atm/zatm.c+11−6

This diff is large: its 48 lines aren’t shown here.

drivers/base/core.c+11−18

This diff is large: its 66 lines aren’t shown here.

drivers/base/cpu.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/base/firmware_class.c+11−23

This diff is large: its 86 lines aren’t shown here.

drivers/base/node.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/base/power/clock_ops.c+1−3

This diff is large: its 12 lines aren’t shown here.

drivers/base/power/common.c+6−12

This diff is large: its 48 lines aren’t shown here.

drivers/base/power/domain.c+65−92

This diff is large: its 249 lines aren’t shown here.

drivers/base/power/opp.c+152−50

This diff is large: its 502 lines aren’t shown here.

drivers/base/power/qos.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/base/regmap/internal.h+8−2

This diff is large: its 25 lines aren’t shown here.

drivers/base/regmap/regmap-ac97.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/base/regmap/regmap-i2c.c+45−1

This diff is large: its 67 lines aren’t shown here.

drivers/base/regmap/regmap.c+4−3

This diff is large: its 21 lines aren’t shown here.

drivers/bcma/bcma_private.h+11−7

This diff is large: its 41 lines aren’t shown here.

drivers/bcma/driver_chipcommon.c+14−6

This diff is large: its 55 lines aren’t shown here.

drivers/bcma/driver_pci.c+44−24

This diff is large: its 98 lines aren’t shown here.

drivers/bcma/host_pci.c+4−2

This diff is large: its 15 lines aren’t shown here.

drivers/bcma/host_soc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/bcma/main.c+37−39

This diff is large: its 130 lines aren’t shown here.

drivers/bcma/scan.c+5−62

This diff is large: its 90 lines aren’t shown here.

drivers/bcma/sprom.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/block/Kconfig+7−6

This diff is large: its 22 lines aren’t shown here.

drivers/block/brd.c+61−76

This diff is large: its 279 lines aren’t shown here.

drivers/block/drbd/drbd_receiver.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/floppy.c+8−9

This diff is large: its 54 lines aren’t shown here.

drivers/block/loop.c+204−212

This diff is large: its 601 lines aren’t shown here.

drivers/block/loop.h+12−6

This diff is large: its 41 lines aren’t shown here.

drivers/block/null_blk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/nvme-core.c+420−204

This diff is large: its 1068 lines aren’t shown here.

drivers/block/nvme-scsi.c+54−42

This diff is large: its 128 lines aren’t shown here.

drivers/block/osdblk.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/block/rbd.c+83−110

This diff is large: its 347 lines aren’t shown here.

drivers/block/virtio_blk.c+8−4

This diff is large: its 33 lines aren’t shown here.

drivers/block/xen-blkback/blkback.c+123−54

This diff is large: its 261 lines aren’t shown here.

drivers/block/xen-blkback/common.h+12−0

This diff is large: its 26 lines aren’t shown here.

drivers/block/xen-blkback/xenbus.c+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/block/xen-blkfront.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/block/zram/zram_drv.c+121−106

This diff is large: its 436 lines aren’t shown here.

drivers/block/zram/zram_drv.h+11−10

This diff is large: its 36 lines aren’t shown here.

drivers/bluetooth/ath3k.c+10−0

This diff is large: its 45 lines aren’t shown here.

drivers/bluetooth/bfusb.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/bluetooth/btmrvl_drv.h+3−2

This diff is large: its 20 lines aren’t shown here.

drivers/bluetooth/btmrvl_main.c+25−7

This diff is large: its 77 lines aren’t shown here.

drivers/bluetooth/btmrvl_sdio.c+5−1

This diff is large: its 27 lines aren’t shown here.

drivers/bluetooth/btusb.c+696−14

This diff is large: its 876 lines aren’t shown here.

drivers/bluetooth/hci_ath.c+2−13

This diff is large: its 36 lines aren’t shown here.

drivers/bus/arm-cci.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/bus/mvebu-mbus.c+219−67

This diff is large: its 546 lines aren’t shown here.

drivers/char/Kconfig+9−0

This diff is large: its 16 lines aren’t shown here.

drivers/char/agp/agp.h+4−1

This diff is large: its 12 lines aren’t shown here.

drivers/char/agp/generic.c+0−11

This diff is large: its 18 lines aren’t shown here.

drivers/char/agp/intel-gtt.c+7−7

This diff is large: its 63 lines aren’t shown here.

drivers/char/hpet.c+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/char/hw_random/core.c+147−68

This diff is large: its 401 lines aren’t shown here.

drivers/char/hw_random/virtio-rng.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/char/i8k.c+217−99

This diff is large: its 520 lines aren’t shown here.

drivers/char/ipmi/ipmi_devintf.c+5−1

This diff is large: its 18 lines aren’t shown here.

drivers/char/ipmi/ipmi_msghandler.c+46−56

This diff is large: its 172 lines aren’t shown here.

drivers/char/ipmi/ipmi_si_intf.c+56−65

This diff is large: its 256 lines aren’t shown here.

drivers/char/ipmi/ipmi_ssif.c+3−3

This diff is large: its 20 lines aren’t shown here.

drivers/char/mem.c+40−46

This diff is large: its 218 lines aren’t shown here.

drivers/char/random.c+4−4

This diff is large: its 24 lines aren’t shown here.

drivers/char/raw.c+1−3

This diff is large: its 13 lines aren’t shown here.

drivers/char/tpm/Kconfig+12−3

This diff is large: its 33 lines aren’t shown here.

drivers/char/tpm/Makefile+3−2

This diff is large: its 17 lines aren’t shown here.

drivers/char/tpm/tpm-chip.c+256−0

This diff is large: its 257 lines aren’t shown here.

drivers/char/tpm/tpm-dev.c+6−36

This diff is large: its 85 lines aren’t shown here.

drivers/char/tpm/tpm-interface.c+88−177

This diff is large: its 514 lines aren’t shown here.

drivers/char/tpm/tpm-sysfs.c+5−24

This diff is large: its 57 lines aren’t shown here.

drivers/char/tpm/tpm.h+106−19

This diff is large: its 218 lines aren’t shown here.

drivers/char/tpm/tpm2-cmd.c+646−0

This diff is large: its 647 lines aren’t shown here.

drivers/char/tpm/tpm_atmel.c+15−10

This diff is large: its 90 lines aren’t shown here.

drivers/char/tpm/tpm_crb.c+344−0

This diff is large: its 345 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_atmel.c+19−33

This diff is large: its 137 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_infineon.c+10−33

This diff is large: its 94 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_nuvoton.c+27−42

This diff is large: its 185 lines aren’t shown here.

drivers/char/tpm/tpm_i2c_stm_st33.c+366−300

This diff is large: its 1094 lines aren’t shown here.

drivers/char/tpm/tpm_ibmvtpm.c+28−19

This diff is large: its 146 lines aren’t shown here.

drivers/char/tpm/tpm_ibmvtpm.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/tpm/tpm_infineon.c+28−23

This diff is large: its 127 lines aren’t shown here.

drivers/char/tpm/tpm_nsc.c+19−15

This diff is large: its 111 lines aren’t shown here.

drivers/char/tpm/tpm_of.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/char/tpm/tpm_ppi.c+87−54

This diff is large: its 266 lines aren’t shown here.

drivers/char/tpm/tpm_tis.c+185−84

This diff is large: its 486 lines aren’t shown here.

drivers/char/tpm/xen-tpmfront.c+8−6

This diff is large: its 47 lines aren’t shown here.

drivers/char/virtio_console.c+9−0

This diff is large: its 16 lines aren’t shown here.

drivers/clk/Kconfig+14−5

This diff is large: its 41 lines aren’t shown here.

drivers/clk/Makefile+3−1

This diff is large: its 21 lines aren’t shown here.

drivers/clk/at91/clk-programmable.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/at91/pmc.c+9−0

This diff is large: its 16 lines aren’t shown here.

drivers/clk/bcm/clk-kona.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/clk-asm9260.c+348−0

This diff is large: its 349 lines aren’t shown here.

drivers/clk/clk-cdce706.c+700−0

This diff is large: its 701 lines aren’t shown here.

drivers/clk/clk-composite.c+17−12

This diff is large: its 104 lines aren’t shown here.

drivers/clk/clk-divider.c+144−84

This diff is large: its 395 lines aren’t shown here.

drivers/clk/clk-gate.c+17−1

This diff is large: its 29 lines aren’t shown here.

drivers/clk/clk-mux.c+16−0

This diff is large: its 20 lines aren’t shown here.

drivers/clk/clk-qoriq.crenamed from drivers/clk/clk-ppc-corenet.c+117−61

This diff is large: its 298 lines aren’t shown here.

drivers/clk/clk.c+711−310

This diff is large: its 1921 lines aren’t shown here.

drivers/clk/clk.h+23−1

This diff is large: its 33 lines aren’t shown here.

drivers/clk/clkdev.c+76−34

This diff is large: its 188 lines aren’t shown here.

drivers/clk/hisilicon/clk-hi3620.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/mmp/clk-mix.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/pxa/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/clk/pxa/clk-pxa.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/pxa/clk-pxa3xx.c+364−0

This diff is large: its 365 lines aren’t shown here.

drivers/clk/qcom/Kconfig+18−0

This diff is large: its 32 lines aren’t shown here.

drivers/clk/qcom/Makefile+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/clk/qcom/clk-pll.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/qcom/clk-rcg.c+8−2

This diff is large: its 38 lines aren’t shown here.

drivers/clk/qcom/clk-rcg2.c+6−0

This diff is large: its 34 lines aren’t shown here.

drivers/clk/qcom/clk-regmap-divider.c+70−0

This diff is large: its 71 lines aren’t shown here.

drivers/clk/qcom/clk-regmap-divider.h+29−0

This diff is large: its 30 lines aren’t shown here.

drivers/clk/qcom/clk-regmap-mux.c+59−0

This diff is large: its 60 lines aren’t shown here.

drivers/clk/qcom/clk-regmap-mux.h+29−0

This diff is large: its 30 lines aren’t shown here.

drivers/clk/qcom/gcc-ipq806x.c+12−0

This diff is large: its 26 lines aren’t shown here.

drivers/clk/qcom/lcc-ipq806x.c+473−0

This diff is large: its 474 lines aren’t shown here.

drivers/clk/qcom/lcc-msm8960.c+585−0

This diff is large: its 586 lines aren’t shown here.

drivers/clk/rockchip/clk-rk3288.c+42−20

This diff is large: its 140 lines aren’t shown here.

drivers/clk/samsung/clk-exynos-audss.c+22−10

This diff is large: its 59 lines aren’t shown here.

drivers/clk/samsung/clk-exynos3250.c+47−170

This diff is large: its 278 lines aren’t shown here.

drivers/clk/samsung/clk-exynos4.c+5−5

This diff is large: its 37 lines aren’t shown here.

drivers/clk/samsung/clk-exynos4415.c+48−168

This diff is large: its 266 lines aren’t shown here.

drivers/clk/samsung/clk-exynos5420.c+12−11

This diff is large: its 65 lines aren’t shown here.

drivers/clk/samsung/clk-exynos7.c+406−2

This diff is large: its 623 lines aren’t shown here.

drivers/clk/samsung/clk.c+10−3

This diff is large: its 35 lines aren’t shown here.

drivers/clk/samsung/clk.h+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/clk/shmobile/Makefile+3−0

This diff is large: its 13 lines aren’t shown here.

drivers/clk/shmobile/clk-div6.c+14−4

This diff is large: its 34 lines aren’t shown here.

drivers/clk/shmobile/clk-r8a73a4.c+241−0

This diff is large: its 242 lines aren’t shown here.

drivers/clk/shmobile/clk-rcar-gen2.c+88−0

This diff is large: its 109 lines aren’t shown here.

drivers/clk/shmobile/clk-sh73a0.c+218−0

This diff is large: its 219 lines aren’t shown here.

drivers/clk/st/clk-flexgen.c+25−14

This diff is large: its 92 lines aren’t shown here.

drivers/clk/st/clkgen-mux.c+7−7

This diff is large: its 63 lines aren’t shown here.

drivers/clk/sunxi/Makefile+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clk/sunxi/clk-factors.c+6−6

This diff is large: its 35 lines aren’t shown here.

drivers/clk/sunxi/clk-factors.h+4−3

This diff is large: its 13 lines aren’t shown here.

drivers/clk/sunxi/clk-mod0.c+166−58

This diff is large: its 296 lines aren’t shown here.

drivers/clk/sunxi/clk-sun6i-ar100.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/clk/sunxi/clk-sun8i-mbus.c+11−2

This diff is large: its 20 lines aren’t shown here.

drivers/clk/sunxi/clk-sun9i-core.c+85−34

This diff is large: its 176 lines aren’t shown here.

drivers/clk/sunxi/clk-sun9i-mmc.c+219−0

This diff is large: its 220 lines aren’t shown here.

drivers/clk/sunxi/clk-sunxi.c+223−40

This diff is large: its 317 lines aren’t shown here.

drivers/clk/tegra/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/clk/tegra/clk-id.h+0−2

This diff is large: its 11 lines aren’t shown here.

drivers/clk/tegra/clk-periph.c+7−7

This diff is large: its 63 lines aren’t shown here.

drivers/clk/tegra/clk-pll.c+11−7

This diff is large: its 67 lines aren’t shown here.

drivers/clk/tegra/clk-tegra-periph.c+8−10

This diff is large: its 39 lines aren’t shown here.

drivers/clk/tegra/clk-tegra114.c+8−2

This diff is large: its 31 lines aren’t shown here.

drivers/clk/tegra/clk-tegra124.c+139−29

This diff is large: its 280 lines aren’t shown here.

drivers/clk/tegra/clk.c+5−2

This diff is large: its 16 lines aren’t shown here.

drivers/clk/ti/Makefile+6−2

This diff is large: its 20 lines aren’t shown here.

drivers/clk/ti/clk-3xxx-legacy.c+4653−0

This diff is large: its 4654 lines aren’t shown here.

drivers/clk/ti/clk-3xxx.c+1−7

This diff is large: its 26 lines aren’t shown here.

drivers/clk/ti/clk-44xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/ti/clk-54xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/ti/clk-7xx.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/clk/ti/clk-816x.c+53−0

This diff is large: its 54 lines aren’t shown here.

drivers/clk/ti/clk.c+127−0

This diff is large: its 138 lines aren’t shown here.

drivers/clk/ti/clock.h+172−0

This diff is large: its 173 lines aren’t shown here.

drivers/clk/ti/composite.c+44−4

This diff is large: its 76 lines aren’t shown here.

drivers/clk/ti/divider.c+131−1

This diff is large: its 153 lines aren’t shown here.

drivers/clk/ti/dpll.c+110−11

This diff is large: its 187 lines aren’t shown here.

drivers/clk/ti/fapll.c+410−0

This diff is large: its 411 lines aren’t shown here.

drivers/clk/ti/gate.c+133−30

This diff is large: its 204 lines aren’t shown here.

drivers/clk/ti/interface.c+74−24

This diff is large: its 135 lines aren’t shown here.

drivers/clk/ti/mux.c+68−2

This diff is large: its 98 lines aren’t shown here.

drivers/clk/ux500/clk-prcc.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/clk/ux500/clk-prcmu.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/clk/zynq/clkc.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clocksource/Kconfig+27−0

This diff is large: its 53 lines aren’t shown here.

drivers/clocksource/Makefile+6−3

This diff is large: its 35 lines aren’t shown here.

drivers/clocksource/arm_arch_timer.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/clocksource/asm9260_timer.c+220−0

This diff is large: its 221 lines aren’t shown here.

drivers/clocksource/rockchip_timer.c+180−0

This diff is large: its 181 lines aren’t shown here.

drivers/clocksource/timer-atlas7.crenamed from drivers/clocksource/timer-marco.c+7−8

This diff is large: its 56 lines aren’t shown here.

drivers/clocksource/timer-digicolor.c+199−0

This diff is large: its 200 lines aren’t shown here.

drivers/clocksource/versatile.c+3−1

This diff is large: its 9 lines aren’t shown here.

drivers/connector/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/coresight/coresight-etb10.c+2−12

This diff is large: its 28 lines aren’t shown here.

drivers/coresight/coresight-etm3x.c+14−10

This diff is large: its 60 lines aren’t shown here.

drivers/coresight/coresight-funnel.c+1−11

This diff is large: its 19 lines aren’t shown here.

drivers/coresight/coresight-priv.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/coresight/coresight-replicator.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/coresight/coresight-tmc.c+1−11

This diff is large: its 19 lines aren’t shown here.

drivers/coresight/coresight-tpiu.c+1−11

This diff is large: its 19 lines aren’t shown here.

drivers/coresight/coresight.c+6−5

This diff is large: its 24 lines aren’t shown here.

drivers/coresight/of_coresight.c+12−10

This diff is large: its 59 lines aren’t shown here.

drivers/cpufreq/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/Kconfig.arm+26−18

This diff is large: its 85 lines aren’t shown here.

drivers/cpufreq/Kconfig.powerpc+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/cpufreq/Kconfig.x86+10−0

This diff is large: its 17 lines aren’t shown here.

drivers/cpufreq/Makefile+6−4

This diff is large: its 24 lines aren’t shown here.

drivers/cpufreq/cpufreq-dt.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/cpufreq/cpufreq.c+71−103

This diff is large: its 514 lines aren’t shown here.

drivers/cpufreq/cpufreq_stats.c+97−122

This diff is large: its 371 lines aren’t shown here.

drivers/cpufreq/exynos-cpufreq.c+32−1

This diff is large: its 60 lines aren’t shown here.

drivers/cpufreq/intel_pstate.c+51−4

This diff is large: its 137 lines aren’t shown here.

drivers/cpufreq/ls1x-cpufreq.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/cpufreq/s3c2416-cpufreq.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/cpufreq/s3c24xx-cpufreq.c+1−9

This diff is large: its 31 lines aren’t shown here.

drivers/cpufreq/sfi-cpufreq.c+136−0

This diff is large: its 137 lines aren’t shown here.

drivers/cpufreq/speedstep-lib.c+3−0

This diff is large: its 17 lines aren’t shown here.

drivers/cpufreq/speedstep-smi.c+12−0

This diff is large: its 36 lines aren’t shown here.

drivers/cpuidle/Kconfig.arm+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/cpuidle/Kconfig.arm64+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/cpuidle/cpuidle-arm64.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/cpuidle/cpuidle-big_little.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/cpuidle/cpuidle-exynos.c+71−5

This diff is large: its 108 lines aren’t shown here.

drivers/cpuidle/cpuidle-powernv.c+49−35

This diff is large: its 127 lines aren’t shown here.

drivers/cpuidle/cpuidle.c+68−26

This diff is large: its 145 lines aren’t shown here.

drivers/crypto/amcc/crypto4xx_sa.c+0−23

This diff is large: its 30 lines aren’t shown here.

drivers/crypto/atmel-aes.c+1−1

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/atmel-sha.c+6−44

This diff is large: its 132 lines aren’t shown here.

drivers/crypto/atmel-tdes.c+1−1

This diff is large: its 11 lines aren’t shown here.

drivers/crypto/bfin_crc.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/crypto/caam/caamalg.c+7−7

This diff is large: its 44 lines aren’t shown here.

drivers/crypto/caam/ctrl.c+1−5

This diff is large: its 24 lines aren’t shown here.

drivers/crypto/caam/error.c+9−4

This diff is large: its 20 lines aren’t shown here.

drivers/crypto/caam/jr.c+25−12

This diff is large: its 72 lines aren’t shown here.

drivers/crypto/caam/sg_sw_sec4.h+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/ccp/ccp-dev.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/ixp4xx_crypto.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/crypto/nx/nx.c+3−3

This diff is large: its 21 lines aren’t shown here.

drivers/crypto/omap-aes.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/crypto/omap-des.c+4−4

This diff is large: its 30 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_accel_devices.h+5−1

This diff is large: its 20 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_aer.c+6−18

This diff is large: its 53 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_cfg.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_common_drv.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_ctl_drv.c+6−1

This diff is large: its 28 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_init.c+84−14

This diff is large: its 167 lines aren’t shown here.

drivers/crypto/qat/qat_common/adf_transport_internal.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/crypto/qat/qat_common/icp_qat_hw.h+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/crypto/qat/qat_common/qat_algs.c+477−165

This diff is large: its 1063 lines aren’t shown here.

drivers/crypto/qat/qat_common/qat_crypto.h+14−2

This diff is large: its 27 lines aren’t shown here.

drivers/crypto/qat/qat_dh895xcc/adf_dh895xcc_hw_data.c+19−0

This diff is large: its 40 lines aren’t shown here.

drivers/crypto/qat/qat_dh895xcc/adf_drv.c+11−31

This diff is large: its 91 lines aren’t shown here.

drivers/crypto/qce/dma.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/crypto/qce/sha.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/sahara.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/crypto/talitos.c+4−4

This diff is large: its 36 lines aren’t shown here.

drivers/crypto/ux500/cryp/cryp_core.c+7−7

This diff is large: its 51 lines aren’t shown here.

drivers/crypto/ux500/hash/hash_core.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/devfreq/Kconfig+13−0

This diff is large: its 24 lines aren’t shown here.

drivers/devfreq/Makefile+5−0

This diff is large: its 14 lines aren’t shown here.

drivers/devfreq/devfreq-event.c+494−0

This diff is large: its 495 lines aren’t shown here.

drivers/devfreq/event/Kconfig+25−0

This diff is large: its 26 lines aren’t shown here.

drivers/devfreq/event/Makefile+2−0

This diff is large: its 3 lines aren’t shown here.

drivers/devfreq/event/exynos-ppmu.c+374−0

This diff is large: its 375 lines aren’t shown here.

drivers/devfreq/event/exynos-ppmu.h+93−0

This diff is large: its 94 lines aren’t shown here.

drivers/devfreq/tegra-devfreq.c+718−0

This diff is large: its 719 lines aren’t shown here.

drivers/dma/Kconfig+10−1

This diff is large: its 25 lines aren’t shown here.

drivers/dma/Makefile+2−1

This diff is large: its 14 lines aren’t shown here.

drivers/dma/acpi-dma.c+5−5

This diff is large: its 24 lines aren’t shown here.

drivers/dma/amba-pl08x.c+90−66

This diff is large: its 203 lines aren’t shown here.

drivers/dma/at_hdmac.c+82−48

This diff is large: its 188 lines aren’t shown here.

drivers/dma/at_hdmac_regs.h+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/dma/at_xdmac.c+98−88

This diff is large: its 337 lines aren’t shown here.

drivers/dma/bcm2835-dma.c+11−35

This diff is large: its 84 lines aren’t shown here.

drivers/dma/coh901318.c+70−83

This diff is large: its 239 lines aren’t shown here.

drivers/dma/cppi41.c+1−29

This diff is large: its 51 lines aren’t shown here.

drivers/dma/dma-jz4740.c+3−17

This diff is large: its 41 lines aren’t shown here.

drivers/dma/dmaengine.c+62−22

This diff is large: its 131 lines aren’t shown here.

drivers/dma/dmatest.c+18−17

This diff is large: its 76 lines aren’t shown here.

drivers/dma/dw/core.c+61−40

This diff is large: its 170 lines aren’t shown here.

drivers/dma/dw/platform.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/dw/regs.h+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/dma/edma.c+23−50

This diff is large: its 141 lines aren’t shown here.

drivers/dma/ep93xx_dma.c+8−35

This diff is large: its 85 lines aren’t shown here.

drivers/dma/fsl-edma.c+62−61

This diff is large: its 154 lines aren’t shown here.

drivers/dma/fsldma.c+37−60

This diff is large: its 133 lines aren’t shown here.

drivers/dma/fsldma.h+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/dma/img-mdc-dma.c+1011−0

This diff is large: its 1012 lines aren’t shown here.

drivers/dma/imx-dma.c+51−57

This diff is large: its 141 lines aren’t shown here.

drivers/dma/imx-sdma.c+59−91

This diff is large: its 256 lines aren’t shown here.

drivers/dma/intel_mid_dma.c+6−19

This diff is large: its 54 lines aren’t shown here.

drivers/dma/ioat/dma_v3.c+22−3

This diff is large: its 67 lines aren’t shown here.

drivers/dma/ioat/hw.h+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/dma/ioat/pci.c+5−0

This diff is large: its 12 lines aren’t shown here.

drivers/dma/ipu/ipu_idmac.c+51−45

This diff is large: its 152 lines aren’t shown here.

drivers/dma/k3dma.c+110−93

This diff is large: its 263 lines aren’t shown here.

drivers/dma/mmp_pdma.c+56−53

This diff is large: its 133 lines aren’t shown here.

drivers/dma/mmp_tdma.c+46−39

This diff is large: its 139 lines aren’t shown here.

drivers/dma/moxart-dma.c+2−23

This diff is large: its 39 lines aren’t shown here.

drivers/dma/mpc512x_dma.c+51−60

This diff is large: its 139 lines aren’t shown here.

drivers/dma/mv_xor.c+0−9

This diff is large: its 23 lines aren’t shown here.

drivers/dma/mxs-dma.c+28−37

This diff is large: its 154 lines aren’t shown here.

drivers/dma/nbpfaxi.c+51−61

This diff is large: its 163 lines aren’t shown here.

drivers/dma/of-dma.c+4−0

This diff is large: its 11 lines aren’t shown here.

drivers/dma/omap-dma.c+19−50

This diff is large: its 122 lines aren’t shown here.

drivers/dma/pch_dma.c+2−6

This diff is large: its 27 lines aren’t shown here.

drivers/dma/pl330.c+155−75

This diff is large: its 339 lines aren’t shown here.

drivers/dma/qcom_bam_dma.c+43−42

This diff is large: its 137 lines aren’t shown here.

drivers/dma/s3c24xx-dma.c+36−37

This diff is large: its 123 lines aren’t shown here.

drivers/dma/sa11x0-dma.c+82−75

This diff is large: its 199 lines aren’t shown here.

drivers/dma/sh/Kconfig+13−1

This diff is large: its 32 lines aren’t shown here.

drivers/dma/sh/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/dma/sh/rcar-dmac.c+1770−0

This diff is large: its 1771 lines aren’t shown here.

drivers/dma/sh/rcar-hpbdma.c+6−0

This diff is large: its 20 lines aren’t shown here.

drivers/dma/sh/shdma-base.c+33−39

This diff is large: its 99 lines aren’t shown here.

drivers/dma/sh/shdmac.c+15−8

This diff is large: its 62 lines aren’t shown here.

drivers/dma/sirf-dma.c+16−43

This diff is large: its 115 lines aren’t shown here.

drivers/dma/ste_dma40.c+30−33

This diff is large: its 125 lines aren’t shown here.

drivers/dma/sun6i-dma.c+87−73

This diff is large: its 194 lines aren’t shown here.

drivers/dma/tegra20-apb-dma.c+20−22

This diff is large: its 77 lines aren’t shown here.

drivers/dma/timb_dma.c+2−6

This diff is large: its 29 lines aren’t shown here.

drivers/dma/txx9dmac.c+2−7

This diff is large: its 28 lines aren’t shown here.

drivers/dma/xilinx/xilinx_vdma.c+6−23

This diff is large: its 56 lines aren’t shown here.

drivers/edac/Kconfig+7−0

This diff is large: its 12 lines aren’t shown here.

drivers/edac/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/edac/amd64_edac.c+8−2

This diff is large: its 23 lines aren’t shown here.

drivers/edac/edac_mc_sysfs.c+27−24

This diff is large: its 131 lines aren’t shown here.

drivers/edac/i5100_edac.c+0−5

This diff is large: its 12 lines aren’t shown here.

drivers/edac/mce_amd_inj.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/edac/mpc85xx_edac.c+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/edac/mpc85xx_edac.h+1−1

This diff is large: its 7 lines aren’t shown here.

drivers/edac/mv64x60_edac.c+2−1

This diff is large: its 10 lines aren’t shown here.

drivers/edac/sb_edac.c+6−3

This diff is large: its 31 lines aren’t shown here.

drivers/edac/synopsys_edac.c+535−0

This diff is large: its 536 lines aren’t shown here.

drivers/extcon/extcon-adc-jack.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-class.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/extcon/extcon-max77693.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/firewire/core-transaction.c+2−2

This diff is large: its 17 lines aren’t shown here.

drivers/firewire/ohci.c+0−5

This diff is large: its 12 lines aren’t shown here.

drivers/firewire/sbp2.c+0−11

This diff is large: its 18 lines aren’t shown here.

drivers/firmware/efi/Kconfig+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/firmware/efi/efi.c+42−31

This diff is large: its 136 lines aren’t shown here.

drivers/firmware/efi/efivars.c+3−3

This diff is large: its 27 lines aren’t shown here.

drivers/firmware/efi/libstub/Makefile+15−0

This diff is large: its 24 lines aren’t shown here.

drivers/firmware/efi/libstub/arm-stub.c+63−4

This diff is large: its 86 lines aren’t shown here.

drivers/firmware/efi/libstub/efi-stub-helper.c+18−9

This diff is large: its 71 lines aren’t shown here.

drivers/firmware/efi/libstub/efistub.h+8−0

This diff is large: its 20 lines aren’t shown here.

drivers/firmware/efi/libstub/fdt.c+59−3

This diff is large: its 96 lines aren’t shown here.

drivers/firmware/efi/runtime-map.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/Kconfig+31−4

This diff is large: its 112 lines aren’t shown here.

drivers/gpio/Makefile+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpio/gpio-amd8111.c+6−0

This diff is large: its 13 lines aren’t shown here.

drivers/gpio/gpio-dln2.c+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-dwapb.c+14−39

This diff is large: its 113 lines aren’t shown here.

drivers/gpio/gpio-ge.c+41−57

This diff is large: its 128 lines aren’t shown here.

drivers/gpio/gpio-generic.c+76−0

This diff is large: its 95 lines aren’t shown here.

drivers/gpio/gpio-grgpio.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-max732x.c+161−64

This diff is large: its 432 lines aren’t shown here.

drivers/gpio/gpio-mb86s7x.c+232−0

This diff is large: its 233 lines aren’t shown here.

drivers/gpio/gpio-mcp23s08.c+10−7

This diff is large: its 31 lines aren’t shown here.

drivers/gpio/gpio-mm-lantiq.c+24−18

This diff is large: its 71 lines aren’t shown here.

drivers/gpio/gpio-moxart.c+31−70

This diff is large: its 144 lines aren’t shown here.

drivers/gpio/gpio-mpc5200.c+18−5

This diff is large: its 60 lines aren’t shown here.

drivers/gpio/gpio-mpc8xxx.c+42−28

This diff is large: its 122 lines aren’t shown here.

drivers/gpio/gpio-mvebu.c+59−41

This diff is large: its 261 lines aren’t shown here.

drivers/gpio/gpio-omap.c+33−6

This diff is large: its 77 lines aren’t shown here.

drivers/gpio/gpio-pxa.c+33−22

This diff is large: its 136 lines aren’t shown here.

drivers/gpio/gpio-rcar.c+25−50

This diff is large: its 172 lines aren’t shown here.

drivers/gpio/gpio-sa1100.c+198−1

This diff is large: its 221 lines aren’t shown here.

drivers/gpio/gpio-sch.c+35−54

This diff is large: its 159 lines aren’t shown here.

drivers/gpio/gpio-stmpe.c+3−20

This diff is large: its 71 lines aren’t shown here.

drivers/gpio/gpio-sx150x.c+150−101

This diff is large: its 412 lines aren’t shown here.

drivers/gpio/gpio-tc3589x.c+2−13

This diff is large: its 41 lines aren’t shown here.

drivers/gpio/gpio-tz1090-pdc.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-tz1090.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpio/gpio-vf610.c+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpio/gpio-vx855.c+6−38

This diff is large: its 87 lines aren’t shown here.

drivers/gpio/gpio-xgene-sb.c+160−0

This diff is large: its 161 lines aren’t shown here.

drivers/gpio/gpio-xilinx.c+162−122

This diff is large: its 429 lines aren’t shown here.

drivers/gpio/gpio-zevio.c+12−0

This diff is large: its 33 lines aren’t shown here.

drivers/gpio/gpiolib-of.c+17−0

This diff is large: its 24 lines aren’t shown here.

drivers/gpio/gpiolib-sysfs.c+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpio/gpiolib.c+5−3

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/Makefile+4−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/Kconfig+4−2

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/Makefile+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/Makefile+5−2

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/cik_regs.h+13−0

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_chardev.c+35−4

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device.c+234−9

This diff is large: its 316 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c+229−193

This diff is large: its 735 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h+45−8

This diff is large: its 101 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c+135−0

This diff is large: its 136 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c+64−0

This diff is large: its 65 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c+0−4

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_flat_memory.c+4−3

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c+47−64

This diff is large: its 206 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.h+36−4

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_cik.c+44−0

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue_vi.c+56−0

This diff is large: its 57 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_module.c+5−5

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c+6−315

This diff is large: its 333 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c+450−0

This diff is large: its 451 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c+33−0

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c+12−20

This diff is large: its 108 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_priv.h+53−12

This diff is large: its 141 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_process.c+24−16

This diff is large: its 69 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c+26−14

This diff is large: its 125 lines aren’t shown here.

drivers/gpu/drm/amd/amdkfd/kfd_topology.c+84−71

This diff is large: its 192 lines aren’t shown here.

drivers/gpu/drm/amd/include/cik_structs.h+293−0

This diff is large: its 294 lines aren’t shown here.

drivers/gpu/drm/amd/include/kgd_kfd_interface.h+26−23

This diff is large: its 103 lines aren’t shown here.

drivers/gpu/drm/armada/armada_crtc.c+0−5

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/ast/ast_fb.c+15−6

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/Kconfig+11−0

This diff is large: its 12 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/Makefile+7−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_crtc.c+406−0

This diff is large: its 407 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c+579−0

This diff is large: its 580 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h+213−0

This diff is large: its 214 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.c+667−0

This diff is large: its 668 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_layer.h+398−0

This diff is large: its 399 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c+319−0

This diff is large: its 320 lines aren’t shown here.

drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c+856−0

This diff is large: its 857 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_fbdev.c+12−2

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/bochs/bochs_kms.c+0−5

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/bridge/Kconfig+8−0

This diff is large: its 14 lines aren’t shown here.

drivers/gpu/drm/bridge/Makefile+1−0

This diff is large: its 5 lines aren’t shown here.

drivers/gpu/drm/bridge/dw_hdmi.crenamed from drivers/gpu/drm/imx/imx-hdmi.c+329−388

This diff is large: its 1359 lines aren’t shown here.

drivers/gpu/drm/bridge/dw_hdmi.hrenamed from drivers/gpu/drm/imx/imx-hdmi.h+3−1

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/bridge/ptn3460.c+192−118

This diff is large: its 472 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_drv.c+3−0

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_drv.h+3−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_fbdev.c+6−6

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_main.c+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/cirrus/cirrus_mode.c+7−2

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/drm_atomic.c+738−13

This diff is large: its 827 lines aren’t shown here.

drivers/gpu/drm/drm_atomic_helper.c+280−41

This diff is large: its 598 lines aren’t shown here.

drivers/gpu/drm/drm_bridge.c+91−0

This diff is large: its 92 lines aren’t shown here.

drivers/gpu/drm/drm_cache.c+4−9

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/drm_crtc.c+406−245

This diff is large: its 1189 lines aren’t shown here.

drivers/gpu/drm/drm_crtc_helper.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/drm_crtc_internal.h+6−0

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/drm_dp_helper.c+31−0

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/drm_drv.c+4−0

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/drm_fb_helper.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/drm_fops.c+42−47

This diff is large: its 107 lines aren’t shown here.

drivers/gpu/drm/drm_info.c+0−24

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/drm_internal.h+0−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/drm_ioctl.c+13−0

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/drm_irq.c+15−7

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/drm_mipi_dsi.c+3−3

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/drm_modes.c+159−24

This diff is large: its 236 lines aren’t shown here.

drivers/gpu/drm/drm_plane_helper.c+33−9

This diff is large: its 104 lines aren’t shown here.

drivers/gpu/drm/drm_probe_helper.c+73−24

This diff is large: its 161 lines aren’t shown here.

drivers/gpu/drm/drm_sysfs.c+67−65

This diff is large: its 185 lines aren’t shown here.

drivers/gpu/drm/drm_vma_manager.c+1−2

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/exynos/Kconfig+12−13

This diff is large: its 62 lines aren’t shown here.

drivers/gpu/drm/exynos/Makefile+2−2

This diff is large: its 14 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos7_drm_decon.c+990−0

This diff is large: its 991 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_dp_core.c+33−34

This diff is large: its 144 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_dp_core.h+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_buf.c+3−3

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_crtc.c+57−190

This diff is large: its 434 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_crtc.h+6−2

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_dmabuf.c+0−4

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_dmabuf.h+0−5

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.c+4−0

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_drv.h+45−33

This diff is large: its 150 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_encoder.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fbdev.c+9−20

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fimc.c+2−12

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_fimd.c+92−100

This diff is large: its 478 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gem.h+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_gsc.c+0−6

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_plane.c+66−86

This diff is large: its 252 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_plane.h+11−7

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_drm_vidi.c+54−78

This diff is large: its 302 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_hdmi.c+5−7

This diff is large: its 44 lines aren’t shown here.

drivers/gpu/drm/exynos/exynos_mixer.c+82−83

This diff is large: its 412 lines aren’t shown here.

drivers/gpu/drm/gma500/framebuffer.c+18−4

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/i2c/adv7511.c+0−3

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/i915/Kconfig+2−0

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/Makefile+4−1

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/i915/i915_cmd_parser.c+105−26

This diff is large: its 233 lines aren’t shown here.

drivers/gpu/drm/i915/i915_debugfs.c+303−139

This diff is large: its 860 lines aren’t shown here.

drivers/gpu/drm/i915/i915_dma.c+45−4

This diff is large: its 140 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.c+22−11

This diff is large: its 103 lines aren’t shown here.

drivers/gpu/drm/i915/i915_drv.h+359−81

This diff is large: its 771 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem.c+311−361

This diff is large: its 1447 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_batch_pool.c+137−0

This diff is large: its 138 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_context.c+99−15

This diff is large: its 154 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_evict.c+7−4

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_execbuffer.c+117−28

This diff is large: its 239 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.c+133−37

This diff is large: its 287 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_gtt.h+28−7

This diff is large: its 71 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_render_state.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_tiling.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gem_userptr.c+18−2

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/i915/i915_gpu_error.c+30−63

This diff is large: its 170 lines aren’t shown here.

drivers/gpu/drm/i915/i915_irq.c+79−82

This diff is large: its 423 lines aren’t shown here.

drivers/gpu/drm/i915/i915_params.c+12−2

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/i915/i915_reg.h+246−164

This diff is large: its 735 lines aren’t shown here.

drivers/gpu/drm/i915/i915_suspend.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/i915_sysfs.c+75−58

This diff is large: its 267 lines aren’t shown here.

drivers/gpu/drm/i915/i915_trace.h+43−26

This diff is large: its 152 lines aren’t shown here.

drivers/gpu/drm/i915/intel_atomic.c+237−0

This diff is large: its 238 lines aren’t shown here.

drivers/gpu/drm/i915/intel_atomic_plane.c+246−0

This diff is large: its 247 lines aren’t shown here.

drivers/gpu/drm/i915/intel_audio.c+111−1

This diff is large: its 130 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.c+45−0

This diff is large: its 59 lines aren’t shown here.

drivers/gpu/drm/i915/intel_bios.h+23−2

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/i915/intel_crt.c+11−8

This diff is large: its 73 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ddi.c+69−61

This diff is large: its 414 lines aren’t shown here.

drivers/gpu/drm/i915/intel_display.c+1127−1048

This diff is large: its 4618 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp.c+195−81

This diff is large: its 582 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dp_mst.c+12−7

This diff is large: its 79 lines aren’t shown here.

drivers/gpu/drm/i915/intel_drv.h+134−69

This diff is large: its 466 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi.c+576−259

This diff is large: its 1141 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi.h+32−43

This diff is large: its 112 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi_cmd.c+0−437

This diff is large: its 438 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi_cmd.h+2−76

This diff is large: its 84 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi_panel_vbt.c+189−133

This diff is large: its 470 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dsi_pll.c+9−3

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/i915/intel_dvo.c+13−10

This diff is large: its 89 lines aren’t shown here.

drivers/gpu/drm/i915/intel_fbc.c+701−0

This diff is large: its 702 lines aren’t shown here.

drivers/gpu/drm/i915/intel_fbdev.c+8−7

This diff is large: its 46 lines aren’t shown here.

drivers/gpu/drm/i915/intel_fifo_underrun.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/i915/intel_frontbuffer.c+2−0

This diff is large: its 16 lines aren’t shown here.

drivers/gpu/drm/i915/intel_hdmi.c+27−24

This diff is large: its 208 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lrc.c+185−200

This diff is large: its 927 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lrc.h+10−33

This diff is large: its 64 lines aren’t shown here.

drivers/gpu/drm/i915/intel_lvds.c+11−8

This diff is large: its 89 lines aren’t shown here.

drivers/gpu/drm/i915/intel_overlay.c+33−13

This diff is large: its 113 lines aren’t shown here.

drivers/gpu/drm/i915/intel_panel.c+8−8

This diff is large: its 60 lines aren’t shown here.

drivers/gpu/drm/i915/intel_pm.c+205−878

This diff is large: its 1538 lines aren’t shown here.

drivers/gpu/drm/i915/intel_psr.c+247−61

This diff is large: its 479 lines aren’t shown here.

drivers/gpu/drm/i915/intel_renderstate_gen6.c+25−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/i915/intel_renderstate_gen7.c+25−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/i915/intel_renderstate_gen8.c+25−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/i915/intel_renderstate_gen9.c+25−0

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.c+188−101

This diff is large: its 629 lines aren’t shown here.

drivers/gpu/drm/i915/intel_ringbuffer.h+15−22

This diff is large: its 101 lines aren’t shown here.

drivers/gpu/drm/i915/intel_runtime_pm.c+16−57

This diff is large: its 167 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sdvo.c+20−14

This diff is large: its 135 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sideband.c+15−15

This diff is large: its 123 lines aren’t shown here.

drivers/gpu/drm/i915/intel_sprite.c+94−300

This diff is large: its 687 lines aren’t shown here.

drivers/gpu/drm/i915/intel_tv.c+8−5

This diff is large: its 51 lines aren’t shown here.

drivers/gpu/drm/i915/intel_uncore.c+517−631

This diff is large: its 1502 lines aren’t shown here.

drivers/gpu/drm/imx/Kconfig+2−1

This diff is large: its 17 lines aren’t shown here.

drivers/gpu/drm/imx/Makefile+1−1

This diff is large: its 6 lines aren’t shown here.

drivers/gpu/drm/imx/dw_hdmi-imx.c+258−0

This diff is large: its 259 lines aren’t shown here.

drivers/gpu/drm/imx/imx-drm-core.c+20−67

This diff is large: its 145 lines aren’t shown here.

drivers/gpu/drm/imx/imx-drm.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/imx/imx-ldb.c+5−3

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/imx/imx-tve.c+18−10

This diff is large: its 72 lines aren’t shown here.

drivers/gpu/drm/imx/ipuv3-crtc.c+40−38

This diff is large: its 131 lines aren’t shown here.

drivers/gpu/drm/imx/parallel-display.c+5−2

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/mgag200/mgag200_fb.c+10−2

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/msm/Kconfig+1−0

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/msm/Makefile+6−3

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a2xx.xml.h+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a3xx.xml.h+142−106

This diff is large: its 301 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/a4xx.xml.h+288−132

This diff is large: its 624 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_common.xml.h+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/msm/adreno/adreno_pm4.xml.h+20−21

This diff is large: its 75 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/dsi.xml.h+6−5

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/mmss_cc.xml.h+6−5

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/msm/dsi/sfpb.xml.h+6−5

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp.c+208−0

This diff is large: its 209 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp.h+85−0

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp.xml.h+292−0

This diff is large: its 293 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp_aux.c+268−0

This diff is large: its 269 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp_bridge.c+120−0

This diff is large: its 121 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp_connector.c+161−0

This diff is large: its 162 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp_ctrl.c+1373−0

This diff is large: its 1374 lines aren’t shown here.

drivers/gpu/drm/msm/edp/edp_phy.c+106−0

This diff is large: its 107 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.c+97−48

This diff is large: its 229 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.h+5−4

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi.xml.h+94−12

This diff is large: its 169 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi_bridge.c+7−7

This diff is large: its 44 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/hdmi_connector.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/msm/hdmi/qfprom.xml.h+6−5

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4.xml.h+50−5

This diff is large: its 96 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_crtc.c+26−39

This diff is large: its 96 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_dtv_encoder.c+57−62

This diff is large: its 148 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.c+34−0

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h+15−4

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_lcdc_encoder.c+76−78

This diff is large: its 184 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_lvds_connector.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp4/mdp4_plane.c+95−9

This diff is large: its 170 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5.xml.h+229−16

This diff is large: its 333 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_crtc.c+191−39

This diff is large: its 326 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_ctl.h+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_encoder.c+79−48

This diff is large: its 183 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.c+45−11

This diff is large: its 86 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_kms.h+15−4

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c+194−22

This diff is large: its 288 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp5/mdp5_smp.c+3−2

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_common.xml.h+21−7

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_format.c+98−10

This diff is large: its 144 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_kms.c+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/msm/mdp/mdp_kms.h+23−1

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/msm/msm_atomic.c+43−7

This diff is large: its 124 lines aren’t shown here.

drivers/gpu/drm/msm/msm_drv.c+11−2

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/msm/msm_drv.h+14−0

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/msm/msm_fb.c+2−2

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/msm/msm_fbdev.c+8−5

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/msm/msm_kms.h+5−0

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/nouveau/Kbuild+66−0

This diff is large: its 67 lines aren’t shown here.

drivers/gpu/drm/nouveau/Kconfig+1−1

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/Makefile+0−400

This diff is large: its 401 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/core/gpuobj.c+0−323

This diff is large: its 324 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/copy/nvc0.c+0−172

This diff is large: its 173 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/copy/nve0.c+0−176

This diff is large: its 177 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/acpi.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nv50.c+0−475

This diff is large: its 476 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nvc0.c+0−357

This diff is large: its 358 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/nve0.c+0−324

This diff is large: its 325 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/device/priv.h+0−8

This diff is large: its 9 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/nv50.h+0−252

This diff is large: its 253 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/disp/priv.h+0−48

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/dmaobj/priv.h+0−30

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nv50.h+0−36

This diff is large: its 37 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/fifo/nve0.h+0−18

This diff is large: its 19 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/ctxnvc0.h+0−202

This diff is large: its 203 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nv20.h+0−31

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nv50.h+0−7

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/graph/nvc0.h+0−270

This diff is large: its 271 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nv40.h+0−26

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nv50.c+0−70

This diff is large: its 71 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nva3.c+0−96

This diff is large: its 97 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nvc0.h+0−17

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nve0.c+0−162

This diff is large: its 163 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/nvf0.c+0−71

This diff is large: its 72 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/perfmon/priv.h+0−91

This diff is large: its 92 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/engine/software/nv50.h+0−46

This diff is large: its 47 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/client.h+0−57

This diff is large: its 58 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/device.h+0−184

This diff is large: its 185 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/engctx.h+0−54

This diff is large: its 55 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/engine.h+0−57

This diff is large: its 58 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/enum.h+0−24

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/gpuobj.h+0−71

This diff is large: its 72 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/handle.h+0−34

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/ioctl.h+0−6

This diff is large: its 7 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/mm.h+0−40

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/namedb.h+0−56

This diff is large: its 57 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/option.h+0−20

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/parent.h+0−62

This diff is large: its 63 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/core/ramht.h+0−23

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/bsp.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/copy.h+0−13

This diff is large: its 14 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/crypt.h+0−7

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/disp.h+0−36

This diff is large: its 37 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/dmaobj.h+0−31

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/falcon.h+0−83

This diff is large: its 84 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/fifo.h+0−126

This diff is large: its 127 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/graph.h+0−86

This diff is large: its 87 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/mpeg.h+0−63

This diff is large: its 64 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/perfmon.h+0−38

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/ppp.h+0−7

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/software.h+0−51

This diff is large: its 52 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/vp.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/engine/xtensa.h+0−38

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/nvif/class.h+0−1

This diff is large: its 2 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/nvif/event.h+0−1

This diff is large: its 2 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/nvif/ioctl.h+0−1

This diff is large: its 2 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/nvif/unpack.h+0−1

This diff is large: its 2 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bar.h+0−37

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios.h+0−35

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/M0205.h+0−32

This diff is large: its 33 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/M0209.h+0−30

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/P0260.h+0−23

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/boost.h+0−29

This diff is large: its 30 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/cstep.h+0−28

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/disp.h+0−48

This diff is large: its 49 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/dp.h+0−35

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/mxm.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/npde.h+0−12

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/rammap.h+0−26

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/timing.h+0−14

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/vmap.h+0−25

This diff is large: its 26 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bios/volt.h+0−27

This diff is large: its 28 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/bus.h+0−53

This diff is large: its 54 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/clock.h+0−166

This diff is large: its 167 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/devinit.h+0−35

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/fb.h+0−159

This diff is large: its 160 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/fuse.h+0−30

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/gpio.h+0−47

This diff is large: its 48 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/i2c.h+0−136

This diff is large: its 137 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/ibus.h+0−35

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/instmem.h+0−52

This diff is large: its 53 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/ltc.h+0−35

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/mc.h+0−31

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/mxm.h+0−37

This diff is large: its 38 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/pwr.h+0−56

This diff is large: its 57 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/therm.h+0−83

This diff is large: its 84 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/timer.h+0−64

This diff is large: its 65 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/vm.h+0−135

This diff is large: its 136 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/include/subdev/volt.h+0−61

This diff is large: its 62 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/base.c+0−149

This diff is large: its 150 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/nvc0.c+0−220

This diff is large: its 221 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bar/priv.h+0−32

This diff is large: its 33 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/bus/nv04.h+0−23

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/nv50.h+0−31

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/nva3.h+0−20

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/clock/pll.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv04.h+0−23

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/nv50.h+0−23

This diff is large: its 24 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/devinit/priv.h+0−40

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/nv04.h+0−55

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/nv40.h+0−17

This diff is large: its 18 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/nv50.h+0−33

This diff is large: its 34 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/nvc0.h+0−31

This diff is large: its 32 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fb/priv.h+0−76

This diff is large: its 77 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/fuse/priv.h+0−9

This diff is large: its 10 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/gpio/priv.h+0−67

This diff is large: its 68 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/i2c/nv50.h+0−34

This diff is large: its 35 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/i2c/priv.h+0−89

This diff is large: its 90 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/instmem/nv04.h+0−40

This diff is large: its 41 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/instmem/priv.h+0−56

This diff is large: its 57 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/mc/nv04.h+0−22

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/mc/priv.h+0−38

This diff is large: its 39 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/mxm/mxms.h+0−22

This diff is large: its 23 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/pwr/base.c+0−272

This diff is large: its 273 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/pwr/memx.c+0−201

This diff is large: its 202 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/pwr/priv.h+0−44

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/therm/priv.h+0−159

This diff is large: its 160 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/vm/base.c+0−483

This diff is large: its 484 lines aren’t shown here.

drivers/gpu/drm/nouveau/core/subdev/vm/nv04.h+0−19

This diff is large: its 20 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/Kbuildrenamed from drivers/gpu/drm/nouveau/dispnv04/Makefile+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/dispnv04/crtc.c+4−4

This diff is large: its 25 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/dac.c+11−11

This diff is large: its 45 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/dfp.c+3−3

This diff is large: its 13 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/disp.c+1−19

This diff is large: its 31 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/disp.h+2−4

This diff is large: its 27 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/hw.c+12−12

This diff is large: its 84 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/hw.h+2−2

This diff is large: its 11 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/tvnv04.c+4−4

This diff is large: its 29 lines aren’t shown here.

drivers/gpu/drm/nouveau/dispnv04/tvnv17.c+5−5

This diff is large: its 36 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvif/class.hrenamed from drivers/gpu/drm/nouveau/nvif/class.h+13−10

This diff is large: its 42 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvif/client.hrenamed from drivers/gpu/drm/nouveau/nvif/client.h+3−3

This diff is large: its 21 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvif/device.h+61−0

This diff is large: its 62 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvif/driver.hrenamed from drivers/gpu/drm/nouveau/nvif/driver.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/event.hrenamed from drivers/gpu/drm/nouveau/nvif/event.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/ioctl.hrenamed from drivers/gpu/drm/nouveau/nvif/ioctl.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/list.hrenamed from drivers/gpu/drm/nouveau/nvif/list.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/notify.hrenamed from drivers/gpu/drm/nouveau/nvif/notify.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/object.hrenamed from drivers/gpu/drm/nouveau/nvif/object.h+1−1

This diff is large: its 8 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvif/os.hrenamed from drivers/gpu/drm/nouveau/core/os.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvif/unpack.hrenamed from drivers/gpu/drm/nouveau/nvif/unpack.h+0−0

File renamed without changes.

drivers/gpu/drm/nouveau/include/nvkm/core/client.h+55−0

This diff is large: its 56 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvkm/core/debug.hrenamed from drivers/gpu/drm/nouveau/core/include/core/debug.h+2−4

This diff is large: its 15 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvkm/core/device.h+101−0

This diff is large: its 102 lines aren’t shown here.

drivers/gpu/drm/nouveau/include/nvkm/core/devidx.h+62−0

This diff is large: its 63 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