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
43/TAGS43/TAGS
44/linux44/linux
45/vmlinux45/vmlinux
46/vmlinux-gdb.py
46/vmlinuz47/vmlinuz
47/System.map48/System.map
48/Module.markers49/Module.markers
@@ -52,6 +53,11 @@ Module.symvers · 3 unmodified lines
52#53#
53/debian/54/debian/
54 55
56#
57# tar directory (make tar*-pkg)
58#
59/tar-install/
60
55#61#
56# git files that we don't want to ignore even it they are dot-files62# git files that we don't want to ignore even it they are dot-files
57#63#
.mailmap+1−0
@@ -73,6 +73,7 @@ Juha Yrjola <juha.yrjola@nokia.com> · 72 unmodified lines
73Juha Yrjola <juha.yrjola@solidboot.com>73Juha Yrjola <juha.yrjola@solidboot.com>
74Kay Sievers <kay.sievers@vrfy.org>74Kay Sievers <kay.sievers@vrfy.org>
75Kenneth W Chen <kenneth.w.chen@intel.com>75Kenneth W Chen <kenneth.w.chen@intel.com>
76Konstantin Khlebnikov <koct9i@gmail.com> <k.khlebnikov@samsung.com>
76Koushik <raghavendra.koushik@neterion.com>77Koushik <raghavendra.koushik@neterion.com>
77Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>78Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
78Leonid I Ananiev <leonid.i.ananiev@intel.com>79Leonid I Ananiev <leonid.i.ananiev@intel.com>
Documentation/00-INDEX+10−18
@@ -29,8 +29,6 @@ DMA-ISA-LPC.txt · 28 unmodified lines
29 - How to do DMA with ISA (and LPC) devices.29 - How to do DMA with ISA (and LPC) devices.
30DMA-attributes.txt30DMA-attributes.txt
31 - listing of the various possible attributes a DMA region can have31 - listing of the various possible attributes a DMA region can have
32dmatest.txt
33 - how to compile, configure and use the dmatest system.
34DocBook/32DocBook/
35 - directory with DocBook templates etc. for kernel documentation.33 - directory with DocBook templates etc. for kernel documentation.
36EDID/34EDID/
@@ -163,8 +161,6 @@ digsig.txt · 126 unmodified lines
163 -info on the Digital Signature Verification API161 -info on the Digital Signature Verification API
164dma-buf-sharing.txt162dma-buf-sharing.txt
165 - the DMA Buffer Sharing API Guide163 - the DMA Buffer Sharing API Guide
166dmaengine.txt
167 -the DMA Engine API Guide
168dontdiff164dontdiff
169 - file containing a list of files that should never be diff'ed.165 - file containing a list of files that should never be diff'ed.
170driver-model/166driver-model/
@@ -209,6 +205,8 @@ hid/ · 38 unmodified lines
209 - directory with information on human interface devices205 - directory with information on human interface devices
210highuid.txt206highuid.txt
211 - notes on the change from 16 bit to 32 bit user/group IDs.207 - notes on the change from 16 bit to 32 bit user/group IDs.
208hsi.txt
209 - HSI subsystem overview.
212hwspinlock.txt210hwspinlock.txt
213 - hardware spinlock provides hardware assistance for synchronization211 - hardware spinlock provides hardware assistance for synchronization
214timers/212timers/
@@ -277,6 +275,8 @@ kprobes.txt · 62 unmodified lines
277 - documents the kernel probes debugging feature.275 - documents the kernel probes debugging feature.
278kref.txt276kref.txt
279 - docs on adding reference counters (krefs) to kernel objects.277 - docs on adding reference counters (krefs) to kernel objects.
278kselftest.txt
279 - small unittests for (some) individual codepaths in the kernel.
280laptops/280laptops/
281 - directory with laptop related info and laptop driver documentation.281 - directory with laptop related info and laptop driver documentation.
282ldm.txt282ldm.txt
@@ -285,22 +285,22 @@ leds/ · 2 unmodified lines
285 - directory with info about LED handling under Linux.285 - directory with info about LED handling under Linux.
286local_ops.txt286local_ops.txt
287 - semantics and behavior of local atomic operations.287 - semantics and behavior of local atomic operations.
288lockdep-design.txt
289 - documentation on the runtime locking correctness validator.
290locking/288locking/
291 - directory with info about kernel locking primitives289 - directory with info about kernel locking primitives
292lockstat.txt
293 - info on collecting statistics on locks (and contention).
294lockup-watchdogs.txt290lockup-watchdogs.txt
295 - info on soft and hard lockup detectors (aka nmi_watchdog).291 - info on soft and hard lockup detectors (aka nmi_watchdog).
296logo.gif292logo.gif
297 - full colour GIF image of Linux logo (penguin - Tux).293 - full colour GIF image of Linux logo (penguin - Tux).
298logo.txt294logo.txt
299 - info on creator of above logo & site to get additional images from.295 - info on creator of above logo & site to get additional images from.
296lzo.txt
297 - kernel LZO decompressor input formats
300m68k/298m68k/
301 - directory with info about Linux on Motorola 68k architecture.299 - directory with info about Linux on Motorola 68k architecture.
302magic-number.txt300magic-number.txt
303 - list of magic numbers used to mark/protect kernel data structures.301 - list of magic numbers used to mark/protect kernel data structures.
302mailbox.txt
303 - How to write drivers for the common mailbox framework (IPC).
304md.txt304md.txt
305 - info on boot arguments for the multiple devices driver.305 - info on boot arguments for the multiple devices driver.
306media-framework.txt306media-framework.txt
@@ -327,8 +327,6 @@ mtd/ · 20 unmodified lines
327 - directory with info about memory technology devices (flash)327 - directory with info about memory technology devices (flash)
328mono.txt328mono.txt
329 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.329 - how to execute Mono-based .NET binaries with the help of BINFMT_MISC.
330mutex-design.txt
331 - info on the generic mutex subsystem.
332namespaces/330namespaces/
333 - directory with various information about namespaces331 - directory with various information about namespaces
334netlabel/332netlabel/
@@ -395,10 +393,6 @@ robust-futexes.txt · 60 unmodified lines
395 - a description of what robust futexes are.393 - a description of what robust futexes are.
396rpmsg.txt394rpmsg.txt
397 - info on the Remote Processor Messaging (rpmsg) Framework395 - info on the Remote Processor Messaging (rpmsg) Framework
398rt-mutex-design.txt
399 - description of the RealTime mutex implementation design.
400rt-mutex.txt
401 - desc. of RT-mutex subsystem with PI (Priority Inheritance) support.
402rtc.txt396rtc.txt
403 - notes on how to use the Real Time Clock (aka CMOS clock) driver.397 - notes on how to use the Real Time Clock (aka CMOS clock) driver.
404s390/398s390/
@@ -425,8 +419,6 @@ sparse.txt · 20 unmodified lines
425 - info on how to obtain and use the sparse tool for typechecking.419 - info on how to obtain and use the sparse tool for typechecking.
426spi/420spi/
427 - overview of Linux kernel Serial Peripheral Interface (SPI) support.421 - overview of Linux kernel Serial Peripheral Interface (SPI) support.
428spinlocks.txt
429 - info on using spinlocks to provide exclusive access in kernel.
430stable_api_nonsense.txt422stable_api_nonsense.txt
431 - info on why the kernel does not have a stable in-kernel api or abi.423 - info on why the kernel does not have a stable in-kernel api or abi.
432stable_kernel_rules.txt424stable_kernel_rules.txt
@@ -483,10 +475,10 @@ wimax/ · 50 unmodified lines
483 - directory with info about Intel Wireless Wimax Connections475 - directory with info about Intel Wireless Wimax Connections
484workqueue.txt476workqueue.txt
485 - information on the Concurrency Managed Workqueue implementation477 - information on the Concurrency Managed Workqueue implementation
486ww-mutex-design.txt
487 - Intro to Mutex wait/would deadlock handling.s
488x86/x86_64/478x86/x86_64/
489 - directory with info on Linux support for AMD x86-64 (Hammer) machines.479 - directory with info on Linux support for AMD x86-64 (Hammer) machines.
480xillybus.txt
481 - Overview and basic ui of xillybus driver
490xtensa/482xtensa/
491 - directory with documents relating to arch/xtensa port/implementation483 - directory with documents relating to arch/xtensa port/implementation
492xz.txt484xz.txt
Documentation/ABI/stable/sysfs-class-tpm+11−11
@@ -1,4 +1,4 @@
1What: /sys/class/misc/tpmX/device/1What: /sys/class/tpm/tpmX/device/
2Date: April 20052Date: April 2005
3KernelVersion: 2.6.123KernelVersion: 2.6.12
4Contact: tpmdd-devel@lists.sf.net4Contact: tpmdd-devel@lists.sf.net
@@ -6,7 +6,7 @@ Description: The device/ directory under a specific TPM instance exposes · 1 unmodified line
6 the properties of that TPM chip6 the properties of that TPM chip
7 7
8 8
9What: /sys/class/misc/tpmX/device/active9What: /sys/class/tpm/tpmX/device/active
10Date: April 200610Date: April 2006
11KernelVersion: 2.6.1711KernelVersion: 2.6.17
12Contact: tpmdd-devel@lists.sf.net12Contact: 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
18 section 17 for more information on which commands are18 section 17 for more information on which commands are
19 available.19 available.
20 20
21What: /sys/class/misc/tpmX/device/cancel21What: /sys/class/tpm/tpmX/device/cancel
22Date: June 200522Date: June 2005
23KernelVersion: 2.6.1323KernelVersion: 2.6.13
24Contact: tpmdd-devel@lists.sf.net24Contact: tpmdd-devel@lists.sf.net
@@ -26,7 +26,7 @@ Description: The "cancel" property allows you to cancel the currently · 1 unmodified line
26 pending TPM command. Writing any value to cancel will call the26 pending TPM command. Writing any value to cancel will call the
27 TPM vendor specific cancel operation.27 TPM vendor specific cancel operation.
28 28
29What: /sys/class/misc/tpmX/device/caps29What: /sys/class/tpm/tpmX/device/caps
30Date: April 200530Date: April 2005
31KernelVersion: 2.6.1231KernelVersion: 2.6.12
32Contact: tpmdd-devel@lists.sf.net32Contact: tpmdd-devel@lists.sf.net
@@ -43,7 +43,7 @@ Description: The "caps" property contains TPM manufacturer and version info. · 10 unmodified lines
43 the chip supports. Firmware version is that of the chip and43 the chip supports. Firmware version is that of the chip and
44 is manufacturer specific.44 is manufacturer specific.
45 45
46What: /sys/class/misc/tpmX/device/durations46What: /sys/class/tpm/tpmX/device/durations
47Date: March 201147Date: March 2011
48KernelVersion: 3.148KernelVersion: 3.1
49Contact: tpmdd-devel@lists.sf.net49Contact: tpmdd-devel@lists.sf.net
@@ -66,7 +66,7 @@ Description: The "durations" property shows the 3 vendor-specific values · 16 unmodified lines
66 scaled to be displayed in usecs. In this case "[adjusted]"66 scaled to be displayed in usecs. In this case "[adjusted]"
67 will be displayed in place of "[original]".67 will be displayed in place of "[original]".
68 68
69What: /sys/class/misc/tpmX/device/enabled69What: /sys/class/tpm/tpmX/device/enabled
70Date: April 200670Date: April 2006
71KernelVersion: 2.6.1771KernelVersion: 2.6.17
72Contact: tpmdd-devel@lists.sf.net72Contact: 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
75 may be visible but produce a '0' after some operation that75 may be visible but produce a '0' after some operation that
76 disables the TPM.76 disables the TPM.
77 77
78What: /sys/class/misc/tpmX/device/owned78What: /sys/class/tpm/tpmX/device/owned
79Date: April 200679Date: April 2006
80KernelVersion: 2.6.1780KernelVersion: 2.6.17
81Contact: tpmdd-devel@lists.sf.net81Contact: tpmdd-devel@lists.sf.net
@@ -83,7 +83,7 @@ Description: The "owned" property produces a '1' if the TPM_TakeOwnership · 1 unmodified line
83 ordinal has been executed successfully in the chip. A '0'83 ordinal has been executed successfully in the chip. A '0'
84 indicates that ownership hasn't been taken.84 indicates that ownership hasn't been taken.
85 85
86What: /sys/class/misc/tpmX/device/pcrs86What: /sys/class/tpm/tpmX/device/pcrs
87Date: April 200587Date: April 2005
88KernelVersion: 2.6.1288KernelVersion: 2.6.12
89Contact: tpmdd-devel@lists.sf.net89Contact: tpmdd-devel@lists.sf.net
@@ -106,7 +106,7 @@ Description: The "pcrs" property will dump the current value of all Platform · 16 unmodified lines
106 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes106 1.2 chips, PCRs represent SHA-1 hashes, which are 20 bytes
107 long. Use the "caps" property to determine TPM version.107 long. Use the "caps" property to determine TPM version.
108 108
109What: /sys/class/misc/tpmX/device/pubek109What: /sys/class/tpm/tpmX/device/pubek
110Date: April 2005110Date: April 2005
111KernelVersion: 2.6.12111KernelVersion: 2.6.12
112Contact: tpmdd-devel@lists.sf.net112Contact: tpmdd-devel@lists.sf.net
@@ -158,7 +158,7 @@ Description: The "pubek" property will return the TPM's public endorsement · 45 unmodified lines
158 Modulus Length: 256 (bytes)158 Modulus Length: 256 (bytes)
159 Modulus: The 256 byte Endorsement Key modulus159 Modulus: The 256 byte Endorsement Key modulus
160 160
161What: /sys/class/misc/tpmX/device/temp_deactivated161What: /sys/class/tpm/tpmX/device/temp_deactivated
162Date: April 2006162Date: April 2006
163KernelVersion: 2.6.17163KernelVersion: 2.6.17
164Contact: tpmdd-devel@lists.sf.net164Contact: tpmdd-devel@lists.sf.net
@@ -167,7 +167,7 @@ Description: The "temp_deactivated" property returns a '1' if the chip has · 2 unmodified lines
167 cycle. Whether a warm boot (reboot) will clear a TPM chip167 cycle. Whether a warm boot (reboot) will clear a TPM chip
168 from a temp_deactivated state is platform specific.168 from a temp_deactivated state is platform specific.
169 169
170What: /sys/class/misc/tpmX/device/timeouts170What: /sys/class/tpm/tpmX/device/timeouts
171Date: March 2011171Date: March 2011
172KernelVersion: 3.1172KernelVersion: 3.1
173Contact: tpmdd-devel@lists.sf.net173Contact: tpmdd-devel@lists.sf.net
Documentation/ABI/testing/configfs-usb-gadget-uvc+265−0
@@ -0,0 +1,265 @@
1What: /config/usb-gadget/gadget/functions/uvc.name
2Date: Dec 2014
3KernelVersion: 3.20
4Description: 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
10What: /config/usb-gadget/gadget/functions/uvc.name/control
11Date: Dec 2014
12KernelVersion: 3.20
13Description: Control descriptors
14
15What: /config/usb-gadget/gadget/functions/uvc.name/control/class
16Date: Dec 2014
17KernelVersion: 3.20
18Description: Class descriptors
19
20What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss
21Date: Dec 2014
22KernelVersion: 3.20
23Description: Super speed control class descriptors
24
25What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs
26Date: Dec 2014
27KernelVersion: 3.20
28Description: Full speed control class descriptors
29
30What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal
31Date: Dec 2014
32KernelVersion: 3.20
33Description: Terminal descriptors
34
35What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
36Date: Dec 2014
37KernelVersion: 3.20
38Description: Output terminal descriptors
39
40What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
41Date: Dec 2014
42KernelVersion: 3.20
43Description: 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
54What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
55Date: Dec 2014
56KernelVersion: 3.20
57Description: Camera terminal descriptors
58
59What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
60Date: Dec 2014
61KernelVersion: 3.20
62Description: 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
76What: /config/usb-gadget/gadget/functions/uvc.name/control/processing
77Date: Dec 2014
78KernelVersion: 3.20
79Description: Processing unit descriptors
80
81What: /config/usb-gadget/gadget/functions/uvc.name/control/processing/default
82Date: Dec 2014
83KernelVersion: 3.20
84Description: 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
95What: /config/usb-gadget/gadget/functions/uvc.name/control/header
96Date: Dec 2014
97KernelVersion: 3.20
98Description: Control header descriptors
99
100What: /config/usb-gadget/gadget/functions/uvc.name/control/header/name
101Date: Dec 2014
102KernelVersion: 3.20
103Description: Specific control header descriptors
104
105dwClockFrequency
106bcdUVC
107What: /config/usb-gadget/gadget/functions/uvc.name/streaming
108Date: Dec 2014
109KernelVersion: 3.20
110Description: Streaming descriptors
111
112What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class
113Date: Dec 2014
114KernelVersion: 3.20
115Description: Streaming class descriptors
116
117What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
118Date: Dec 2014
119KernelVersion: 3.20
120Description: Super speed streaming class descriptors
121
122What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
123Date: Dec 2014
124KernelVersion: 3.20
125Description: High speed streaming class descriptors
126
127What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
128Date: Dec 2014
129KernelVersion: 3.20
130Description: Full speed streaming class descriptors
131
132What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
133Date: Dec 2014
134KernelVersion: 3.20
135Description: Color matching descriptors
136
137What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
138Date: Dec 2014
139KernelVersion: 3.20
140Description: 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
151What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
152Date: Dec 2014
153KernelVersion: 3.20
154Description: MJPEG format descriptors
155
156What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
157Date: Dec 2014
158KernelVersion: 3.20
159Description: 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
175What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
176Date: Dec 2014
177KernelVersion: 3.20
178Description: 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
197What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
198Date: Dec 2014
199KernelVersion: 3.20
200Description: Uncompressed format descriptors
201
202What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
203Date: Dec 2014
204KernelVersion: 3.20
205Description: 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
222What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
223Date: Dec 2014
224KernelVersion: 3.20
225Description: 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
244What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header
245Date: Dec 2014
246KernelVersion: 3.20
247Description: Streaming header descriptors
248
249What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
250Date: Dec 2014
251KernelVersion: 3.20
252Description: 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 @@
1What: /sys/bus/amba/devices/.../driver_override
2Date: September 2014
3Contact: Antonios Motakis <a.motakis@virtualopensystems.com>
4Description:
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
21Description:21Description:
22 Exposes the "version" field of the 24x7 catalog. This is also22 Exposes the "version" field of the 24x7 catalog. This is also
23 extractable from the provided binary "catalog" sysfs entry.23 extractable from the provided binary "catalog" sysfs entry.
24
25What: /sys/bus/event_source/devices/hv_24x7/event_descs/<event-name>
26Date: February 2014
27Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
28Description:
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
36What: /sys/bus/event_source/devices/hv_24x7/event_long_descs/<event-name>
37Date: February 2014
38Contact: Linux on PowerPC Developer List <linuxppc-dev@lists.ozlabs.org>
39Description:
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
92 is required is a consistent labeling. Units after application92 is required is a consistent labeling. Units after application
93 of scale and offset are millivolts.93 of scale and offset are millivolts.
94 94
95What: /sys/bus/iio/devices/iio:deviceX/in_currentY_raw
96What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_raw
97KernelVersion: 3.17
98Contact: linux-iio@vger.kernel.org
99Description:
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
95What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw107What: /sys/bus/iio/devices/iio:deviceX/in_capacitanceY_raw
96KernelVersion: 3.2108KernelVersion: 3.2
97Contact: linux-iio@vger.kernel.org109Contact: linux-iio@vger.kernel.org
@@ -234,6 +246,8 @@ What: /sys/bus/iio/devices/iio:deviceX/in_accel_y_offset · 136 unmodified lines
234What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_offset246What: /sys/bus/iio/devices/iio:deviceX/in_accel_z_offset
235What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_offset247What: /sys/bus/iio/devices/iio:deviceX/in_voltageY_offset
236What: /sys/bus/iio/devices/iio:deviceX/in_voltage_offset248What: /sys/bus/iio/devices/iio:deviceX/in_voltage_offset
249What: /sys/bus/iio/devices/iio:deviceX/in_currentY_offset
250What: /sys/bus/iio/devices/iio:deviceX/in_current_offset
237What: /sys/bus/iio/devices/iio:deviceX/in_tempY_offset251What: /sys/bus/iio/devices/iio:deviceX/in_tempY_offset
238What: /sys/bus/iio/devices/iio:deviceX/in_temp_offset252What: /sys/bus/iio/devices/iio:deviceX/in_temp_offset
239What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_offset253What: /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
262What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale276What: /sys/bus/iio/devices/iio:deviceX/in_voltage-voltage_scale
263What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_scale277What: /sys/bus/iio/devices/iio:deviceX/out_voltageY_scale
264What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale278What: /sys/bus/iio/devices/iio:deviceX/out_altvoltageY_scale
279What: /sys/bus/iio/devices/iio:deviceX/in_currentY_scale
280What: /sys/bus/iio/devices/iio:deviceX/in_currentY_supply_scale
281What: /sys/bus/iio/devices/iio:deviceX/in_current_scale
265What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale282What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale
266What: /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale283What: /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
267What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale284What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
285What: /sys/bus/iio/devices/iio:deviceX/in_energy_scale
286What: /sys/bus/iio/devices/iio:deviceX/in_distance_scale
268What: /sys/bus/iio/devices/iio:deviceX/in_magn_scale287What: /sys/bus/iio/devices/iio:deviceX/in_magn_scale
269What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale288What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
270What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale289What: /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
276What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_scale295What: /sys/bus/iio/devices/iio:deviceX/in_pressureY_scale
277What: /sys/bus/iio/devices/iio:deviceX/in_pressure_scale296What: /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
278What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale297What: /sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
298What: /sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
279KernelVersion: 2.6.35299KernelVersion: 2.6.35
280Contact: linux-iio@vger.kernel.org300Contact: linux-iio@vger.kernel.org
281Description:301Description:
@@ -323,6 +343,44 @@ Description: · 41 unmodified lines
323 production inaccuracies). If shared across all channels,343 production inaccuracies). If shared across all channels,
324 <type>_calibscale is used.344 <type>_calibscale is used.
325 345
346What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender
347What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender
348What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender
349What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender
350KernelVersion: 3.20
351Contact: linux-iio@vger.kernel.org
352Description:
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
357What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibgender_available
358What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibgender_available
359What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibgender_available
360What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibgender_available
361KernelVersion: 3.20
362Contact: linux-iio@vger.kernel.org
363Description:
364 Lists all available gender values (e.g.: male, female).
365
366What: /sys/bus/iio/devices/iio:deviceX/in_activity_calibheight
367What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibheight
368What: /sys/bus/iio/devices/iio:deviceX/in_distance_calibheight
369What: /sys/bus/iio/devices/iio:deviceX/in_velocity_calibheight
370KernelVersion: 3.19
371Contact: linux-iio@vger.kernel.org
372Description:
373 Height of the user (in meters) used by some pedometers
374 to compute the stride length, distance, speed and activity
375 type.
376
377What: /sys/bus/iio/devices/iio:deviceX/in_energy_calibweight
378KernelVersion: 3.20
379Contact: linux-iio@vger.kernel.org
380Description:
381 Weight of the user (in kg). It is needed by some pedometers
382 to compute the calories burnt by the user.
383
326What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale_available384What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale_available
327What: /sys/.../iio:deviceX/in_voltageX_scale_available385What: /sys/.../iio:deviceX/in_voltageX_scale_available
328What: /sys/.../iio:deviceX/in_voltage-voltage_scale_available386What: /sys/.../iio:deviceX/in_voltage-voltage_scale_available
@@ -783,6 +841,14 @@ What: /sys/.../events/in_tempY_roc_falling_period · 454 unmodified lines
783What: /sys/.../events/in_accel_x&y&z_mag_falling_period841What: /sys/.../events/in_accel_x&y&z_mag_falling_period
784What: /sys/.../events/in_intensity0_thresh_period842What: /sys/.../events/in_intensity0_thresh_period
785What: /sys/.../events/in_proximity0_thresh_period843What: /sys/.../events/in_proximity0_thresh_period
844What: /sys/.../events/in_activity_still_thresh_rising_period
845What: /sys/.../events/in_activity_still_thresh_falling_period
846What: /sys/.../events/in_activity_walking_thresh_rising_period
847What: /sys/.../events/in_activity_walking_thresh_falling_period
848What: /sys/.../events/in_activity_jogging_thresh_rising_period
849What: /sys/.../events/in_activity_jogging_thresh_falling_period
850What: /sys/.../events/in_activity_running_thresh_rising_period
851What: /sys/.../events/in_activity_running_thresh_falling_period
786KernelVersion: 2.6.37852KernelVersion: 2.6.37
787Contact: linux-iio@vger.kernel.org853Contact: linux-iio@vger.kernel.org
788Description:854Description:
@@ -790,6 +856,40 @@ Description: · 1 unmodified line
790 met before an event is generated. If direction is not856 met before an event is generated. If direction is not
791 specified then this period applies to both directions.857 specified then this period applies to both directions.
792 858
859What: /sys/.../events/in_activity_still_thresh_rising_en
860What: /sys/.../events/in_activity_still_thresh_falling_en
861What: /sys/.../events/in_activity_walking_thresh_rising_en
862What: /sys/.../events/in_activity_walking_thresh_falling_en
863What: /sys/.../events/in_activity_jogging_thresh_rising_en
864What: /sys/.../events/in_activity_jogging_thresh_falling_en
865What: /sys/.../events/in_activity_running_thresh_rising_en
866What: /sys/.../events/in_activity_running_thresh_falling_en
867KernelVersion: 3.19
868Contact: linux-iio@vger.kernel.org
869Description:
870 Enables or disables activitity events. Depending on direction
871 an event is generated when sensor ENTERS or LEAVES a given state.
872
873What: /sys/.../events/in_activity_still_thresh_rising_value
874What: /sys/.../events/in_activity_still_thresh_falling_value
875What: /sys/.../events/in_activity_walking_thresh_rising_value
876What: /sys/.../events/in_activity_walking_thresh_falling_value
877What: /sys/.../events/in_activity_jogging_thresh_rising_value
878What: /sys/.../events/in_activity_jogging_thresh_falling_value
879What: /sys/.../events/in_activity_running_thresh_rising_value
880What: /sys/.../events/in_activity_running_thresh_falling_value
881KernelVersion: 3.19
882Contact: linux-iio@vger.kernel.org
883Description:
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
793What: /sys/.../iio:deviceX/events/in_accel_mag_en893What: /sys/.../iio:deviceX/events/in_accel_mag_en
794What: /sys/.../iio:deviceX/events/in_accel_mag_rising_en894What: /sys/.../iio:deviceX/events/in_accel_mag_rising_en
795What: /sys/.../iio:deviceX/events/in_accel_mag_falling_en895What: /sys/.../iio:deviceX/events/in_accel_mag_falling_en
@@ -822,6 +922,25 @@ Description: · 26 unmodified lines
822 number or direction is not specified, applies to all channels of922 number or direction is not specified, applies to all channels of
823 this type.923 this type.
824 924
925What: /sys/.../events/in_steps_change_en
926KernelVersion: 3.20
927Contact: linux-iio@vger.kernel.org
928Description:
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
934What: /sys/.../events/in_steps_change_value
935KernelVersion: 3.20
936Contact: linux-iio@vger.kernel.org
937Description:
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
825What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger944What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
826KernelVersion: 2.6.35945KernelVersion: 2.6.35
827Contact: linux-iio@vger.kernel.org946Contact: linux-iio@vger.kernel.org
@@ -956,6 +1075,16 @@ Description: · 128 unmodified lines
956 and the relevant _type attributes to establish the data storage1075 and the relevant _type attributes to establish the data storage
957 format.1076 format.
958 1077
1078What: /sys/.../iio:deviceX/in_activity_still_input
1079What: /sys/.../iio:deviceX/in_activity_walking_input
1080What: /sys/.../iio:deviceX/in_activity_jogging_input
1081What: /sys/.../iio:deviceX/in_activity_running_input
1082KernelVersion: 3.19
1083Contact: linux-iio@vger.kernel.org
1084Description:
1085 This attribute is used to read the confidence for an activity
1086 expressed in units as percentage.
1087
959What: /sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw1088What: /sys/.../iio:deviceX/in_anglvel_z_quadrature_correction_raw
960KernelVersion: 2.6.381089KernelVersion: 2.6.38
961Contact: linux-iio@vger.kernel.org1090Contact: linux-iio@vger.kernel.org
@@ -973,6 +1102,24 @@ Description: · 11 unmodified lines
973 For a list of available output power modes read1102 For a list of available output power modes read
974 in_accel_power_mode_available.1103 in_accel_power_mode_available.
975 1104
1105What: /sys/.../iio:deviceX/in_energy_input
1106What: /sys/.../iio:deviceX/in_energy_raw
1107KernelVersion: 3.20
1108Contact: linux-iio@vger.kernel.org
1109Description:
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
1114What: /sys/.../iio:deviceX/in_distance_input
1115What: /sys/.../iio:deviceX/in_distance_raw
1116KernelVersion: 3.20
1117Contact: linux-iio@vger.kernel.org
1118Description:
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
976What: /sys/bus/iio/devices/iio:deviceX/store_eeprom1123What: /sys/bus/iio/devices/iio:deviceX/store_eeprom
977KernelVersion: 3.4.01124KernelVersion: 3.4.0
978Contact: linux-iio@vger.kernel.org1125Contact: linux-iio@vger.kernel.org
@@ -992,7 +1139,9 @@ Description: · 13 unmodified lines
992 reflectivity of infrared or ultrasound emitted.1139 reflectivity of infrared or ultrasound emitted.
993 Often these sensors are unit less and as such conversion1140 Often these sensors are unit less and as such conversion
994 to SI units is not possible. Where it is, the units should1141 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.
996 1145
997What: /sys/.../iio:deviceX/in_illuminanceY_input1146What: /sys/.../iio:deviceX/in_illuminanceY_input
998What: /sys/.../iio:deviceX/in_illuminanceY_raw1147What: /sys/.../iio:deviceX/in_illuminanceY_raw
@@ -1024,6 +1173,12 @@ Description: · 25 unmodified lines
1024 This attribute is used to get/set the integration time in1173 This attribute is used to get/set the integration time in
1025 seconds.1174 seconds.
1026 1175
1176What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_integration_time
1177KernelVersion: 3.20
1178Contact: linux-iio@vger.kernel.org
1179Description:
1180 Number of seconds in which to compute speed.
1181
1027What: /sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw1182What: /sys/bus/iio/devices/iio:deviceX/in_rot_quaternion_raw
1028KernelVersion: 3.151183KernelVersion: 3.15
1029Contact: linux-iio@vger.kernel.org1184Contact: linux-iio@vger.kernel.org
@@ -1051,3 +1206,46 @@ Description: · 21 unmodified lines
1051 after application of scale and offset. If no offset or scale is1206 after application of scale and offset. If no offset or scale is
1052 present, output should be considered as processed with the1207 present, output should be considered as processed with the
1053 unit in milliamps.1208 unit in milliamps.
1209
1210What: /sys/.../iio:deviceX/in_energy_en
1211What: /sys/.../iio:deviceX/in_distance_en
1212What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_en
1213What: /sys/.../iio:deviceX/in_steps_en
1214KernelVersion: 3.19
1215Contact: linux-iio@vger.kernel.org
1216Description:
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
1222What: /sys/.../iio:deviceX/in_steps_input
1223KernelVersion: 3.19
1224Contact: linux-iio@vger.kernel.org
1225Description:
1226 This attribute is used to read the number of steps taken by the user
1227 since the last reboot while activated.
1228
1229What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_input
1230What: /sys/.../iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_raw
1231KernelVersion: 3.19
1232Contact: linux-iio@vger.kernel.org
1233Description:
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
1238What: /sys/.../iio:deviceX/in_steps_debounce_count
1239KernelVersion: 3.20
1240Contact: linux-iio@vger.kernel.org
1241Description:
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
1246What: /sys/.../iio:deviceX/in_steps_debounce_time
1247KernelVersion: 3.20
1248Contact: linux-iio@vger.kernel.org
1249Description:
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 @@
1Note: Attributes that are shared between devices are stored in the directory
2pointed to by the symlink device/.
3Example: 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
1Slave contexts (eg. /sys/class/cxl/afu0.0s):7Slave contexts (eg. /sys/class/cxl/afu0.0s):
2 8
3What: /sys/class/cxl/<afu>/irqs_max9What: /sys/class/cxl/<afu>/irqs_max
@@ -67,7 +73,7 @@ Contact: linuxppc-dev@lists.ozlabs.org · 63 unmodified lines
67Description: read only73Description: read only
68 Decimal value of the current version of the kernel/user API.74 Decimal value of the current version of the kernel/user API.
69 75
70What: /sys/class/cxl/<afu>/api_version_com76What: /sys/class/cxl/<afu>/api_version_compatible
71Date: September 201477Date: September 2014
72Contact: linuxppc-dev@lists.ozlabs.org78Contact: linuxppc-dev@lists.ozlabs.org
73Description: read only79Description: read only
@@ -75,6 +81,42 @@ Description: read only · 1 unmodified line
75 this this kernel supports.81 this this kernel supports.
76 82
77 83
84AFU configuration records (eg. /sys/class/cxl/afu0.0/cr0):
85
86An AFU may optionally export one or more PCIe like configuration records, known
87as AFU configuration records, which will show up here (if present).
88
89What: /sys/class/cxl/<afu>/cr<config num>/vendor
90Date: February 2015
91Contact: linuxppc-dev@lists.ozlabs.org
92Description: read only
93 Hexadecimal value of the vendor ID found in this AFU
94 configuration record.
95
96What: /sys/class/cxl/<afu>/cr<config num>/device
97Date: February 2015
98Contact: linuxppc-dev@lists.ozlabs.org
99Description: read only
100 Hexadecimal value of the device ID found in this AFU
101 configuration record.
102
103What: /sys/class/cxl/<afu>/cr<config num>/vendor
104Date: February 2015
105Contact: linuxppc-dev@lists.ozlabs.org
106Description: read only
107 Hexadecimal value of the class code found in this AFU
108 configuration record.
109
110What: /sys/class/cxl/<afu>/cr<config num>/config
111Date: February 2015
112Contact: linuxppc-dev@lists.ozlabs.org
113Description: 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
78 120
79Master contexts (eg. /sys/class/cxl/afu0.0m)121Master contexts (eg. /sys/class/cxl/afu0.0m)
80 122
@@ -106,7 +148,7 @@ Contact: linuxppc-dev@lists.ozlabs.org · 25 unmodified lines
106Description: read only148Description: read only
107 Identifies the CAIA Version the card implements.149 Identifies the CAIA Version the card implements.
108 150
109What: /sys/class/cxl/<card>/psl_version151What: /sys/class/cxl/<card>/psl_revision
110Date: September 2014152Date: September 2014
111Contact: linuxppc-dev@lists.ozlabs.org153Contact: linuxppc-dev@lists.ozlabs.org
112Description: read only154Description: read only
@@ -127,3 +169,24 @@ Contact: linuxppc-dev@lists.ozlabs.org · 14 unmodified lines
127Description: read only169Description: read only
128 Will return "user" or "factory" depending on the image loaded170 Will return "user" or "factory" depending on the image loaded
129 onto the card.171 onto the card.
172
173What: /sys/class/cxl/<card>/load_image_on_perst
174Date: December 2014
175Contact: linuxppc-dev@lists.ozlabs.org
176Description: 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
187What: /sys/class/cxl/<card>/reset
188Date: October 2014
189Contact: linuxppc-dev@lists.ozlabs.org
190Description: 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
32 Valid values:32 Valid values:
33 - 5, 6 or 7 (hours),33 - 5, 6 or 7 (hours),
34 - 0: disabled.34 - 0: disabled.
35
36What: /sys/class/power_supply/max77693-charger/device/fast_charge_timer
37Date: January 2015
38KernelVersion: 3.19.0
39Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
40Description:
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
50What: /sys/class/power_supply/max77693-charger/device/top_off_threshold_current
51Date: January 2015
52KernelVersion: 3.19.0
53Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
54Description:
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
65What: /sys/class/power_supply/max77693-charger/device/top_off_timer
66Date: January 2015
67KernelVersion: 3.19.0
68Contact: Krzysztof Kozlowski <k.kozlowski@samsung.com>
69Description:
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 @@
1What: /sys/class/input/input(x)/device/startup
2Date: March 2014
3Contact: Carlo Caione <carlo@caione.org>
4Description: Startup time in us. Board is powered on if the button is pressed
5 for more than <startup_time>
6
7What: /sys/class/input/input(x)/device/shutdown
8Date: March 2014
9Contact: Carlo Caione <carlo@caione.org>
10Description: 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
35Description: Use your USB ports to charge devices, even35Description: Use your USB ports to charge devices, even
36 when your laptop is powered off.36 when your laptop is powered off.
37 1 means enabled, 0 means disabled.37 1 means enabled, 0 means disabled.
38
39What: /sys/devices/platform/samsung/lid_handling
40Date: December 11, 2014
41KernelVersion: 3.19
42Contact: Julijonas Kikutis <julijonas.kikutis@gmail.com>
43Description: 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 @@
1What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_mode
2Date: June 8, 2014
3KernelVersion: 3.15
4Contact: Azael Avalos <coproscefalo@gmail.com>
5Description: 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).
14Users: KToshiba
15
16What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_backlight_timeout
17Date: June 8, 2014
18KernelVersion: 3.15
19Contact: Azael Avalos <coproscefalo@gmail.com>
20Description: 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"
27Users: KToshiba
28
29What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/position
30Date: June 8, 2014
31KernelVersion: 3.15
32Contact: Azael Avalos <coproscefalo@gmail.com>
33Description: This file shows the absolute position of the built-in
34 accelereometer.
35
36What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/touchpad
37Date: June 8, 2014
38KernelVersion: 3.15
39Contact: Azael Avalos <coproscefalo@gmail.com>
40Description: This files controls the status of the touchpad and pointing
41 stick (if available), valid values are:
42 * 0 -> OFF
43 * 1 -> ON
44Users: KToshiba
45
46What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/available_kbd_modes
47Date: August 3, 2014
48KernelVersion: 3.16
49Contact: Azael Avalos <coproscefalo@gmail.com>
50Description: 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"
58Users: KToshiba
59
60What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_type
61Date: August 3, 2014
62KernelVersion: 3.16
63Contact: Azael Avalos <coproscefalo@gmail.com>
64Description: 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
68Users: KToshiba
69
70What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/version
71Date: February, 2015
72KernelVersion: 3.20
73Contact: Azael Avalos <coproscefalo@gmail.com>
74Description: This file shows the current version of the driver
75
76What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/fan
77Date: February, 2015
78KernelVersion: 3.20
79Contact: Azael Avalos <coproscefalo@gmail.com>
80Description: This file controls the state of the internal fan, valid
81 values are:
82 * 0 -> OFF
83 * 1 -> ON
84
85What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/kbd_function_keys
86Date: February, 2015
87KernelVersion: 3.20
88Contact: Azael Avalos <coproscefalo@gmail.com>
89Description: 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
98What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/panel_power_on
99Date: February, 2015
100KernelVersion: 3.20
101Contact: Azael Avalos <coproscefalo@gmail.com>
102Description: 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
107What: /sys/devices/LNXSYSTM:00/LNXSYBUS:00/TOS{1900,620{0,7,8}}:00/usb_three
108Date: February, 2015
109KernelVersion: 3.20
110Contact: Azael Avalos <coproscefalo@gmail.com>
111Description: 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
74Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>74Contact: "Jaegeuk Kim" <jaegeuk.kim@samsung.com>
75Description:75Description:
76 Controls the memory footprint used by f2fs.76 Controls the memory footprint used by f2fs.
77
78What: /sys/fs/f2fs/<disk>/trim_sections
79Date: February 2015
80Contact: "Jaegeuk Kim" <jaegeuk@kernel.org>
81Description:
82 Controls the trimming rate in batch mode.
Documentation/ABI/testing/sysfs-kernel-livepatch+44−0
@@ -0,0 +1,44 @@
1What: /sys/kernel/livepatch
2Date: Nov 2014
3KernelVersion: 3.19.0
4Contact: live-patching@vger.kernel.org
5Description:
6 Interface for kernel live patching
7
8 The /sys/kernel/livepatch directory contains subdirectories for
9 each loaded live patch module.
10
11What: /sys/kernel/livepatch/<patch>
12Date: Nov 2014
13KernelVersion: 3.19.0
14Contact: live-patching@vger.kernel.org
15Description:
16 The patch directory contains subdirectories for each kernel
17 object (vmlinux or a module) in which it patched functions.
18
19What: /sys/kernel/livepatch/<patch>/enabled
20Date: Nov 2014
21KernelVersion: 3.19.0
22Contact: live-patching@vger.kernel.org
23Description:
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
28What: /sys/kernel/livepatch/<patch>/<object>
29Date: Nov 2014
30KernelVersion: 3.19.0
31Contact: live-patching@vger.kernel.org
32Description:
33 The object directory contains subdirectories for each function
34 that is patched within the object.
35
36What: /sys/kernel/livepatch/<patch>/<object>/<function>
37Date: Nov 2014
38KernelVersion: 3.19.0
39Contact: live-patching@vger.kernel.org
40Description:
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
21systems; obviously, if you don't have any ISDN hardware, for example,21systems; obviously, if you don't have any ISDN hardware, for example,
22you probably needn't concern yourself with isdn4k-utils.22you probably needn't concern yourself with isdn4k-utils.
23 23
24o Gnu C 3.2 # gcc --version24o GNU C 3.2 # gcc --version
25o Gnu make 3.80 # make --version25o GNU make 3.80 # make --version
26o binutils 2.12 # ld -v26o binutils 2.12 # ld -v
27o util-linux 2.10o # fdformat --version27o util-linux 2.10o # fdformat --version
28o module-init-tools 0.9.10 # depmod -V28o module-init-tools 0.9.10 # depmod -V
@@ -57,7 +57,7 @@ computer. · 28 unmodified lines
57Make57Make
58----58----
59 59
60You will need Gnu make 3.80 or later to build the kernel.60You will need GNU make 3.80 or later to build the kernel.
61 61
62Binutils62Binutils
63--------63--------
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
527 (string-match (expand-file-name "~/src/linux-trees")527 (string-match (expand-file-name "~/src/linux-trees")
528 filename))528 filename))
529 (setq indent-tabs-mode t)529 (setq indent-tabs-mode t)
530 (setq show-trailing-whitespace t)
530 (c-set-style "linux-tabs-only")))))531 (c-set-style "linux-tabs-only")))))
531 532
532This will make emacs go better with the kernel coding style for C533This 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
113!Finclude/net/cfg80211.h cfg80211_beacon_data113!Finclude/net/cfg80211.h cfg80211_beacon_data
114!Finclude/net/cfg80211.h cfg80211_ap_settings114!Finclude/net/cfg80211.h cfg80211_ap_settings
115!Finclude/net/cfg80211.h station_parameters115!Finclude/net/cfg80211.h station_parameters
116!Finclude/net/cfg80211.h station_info_flags
117!Finclude/net/cfg80211.h rate_info_flags116!Finclude/net/cfg80211.h rate_info_flags
118!Finclude/net/cfg80211.h rate_info117!Finclude/net/cfg80211.h rate_info
119!Finclude/net/cfg80211.h station_info118!Finclude/net/cfg80211.h station_info
@@ -435,7 +434,6 @@ · 315 unmodified lines
435 <section id="ps-client">434 <section id="ps-client">
436 <title>support for powersaving clients</title>435 <title>support for powersaving clients</title>
437!Pinclude/net/mac80211.h AP support for powersaving clients436!Pinclude/net/mac80211.h AP support for powersaving clients
438 </section>
439!Finclude/net/mac80211.h ieee80211_get_buffered_bc437!Finclude/net/mac80211.h ieee80211_get_buffered_bc
440!Finclude/net/mac80211.h ieee80211_beacon_get438!Finclude/net/mac80211.h ieee80211_beacon_get
441!Finclude/net/mac80211.h ieee80211_sta_eosp439!Finclude/net/mac80211.h ieee80211_sta_eosp
@@ -444,6 +442,7 @@ · 2 unmodified lines
444!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni442!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni
445!Finclude/net/mac80211.h ieee80211_sta_set_buffered443!Finclude/net/mac80211.h ieee80211_sta_set_buffered
446!Finclude/net/mac80211.h ieee80211_sta_block_awake444!Finclude/net/mac80211.h ieee80211_sta_block_awake
445 </section>
447 </chapter>446 </chapter>
448 447
449 <chapter id="multi-iface">448 <chapter id="multi-iface">
@@ -488,8 +487,8 @@ · 38 unmodified lines
488 <title>RX A-MPDU aggregation</title>487 <title>RX A-MPDU aggregation</title>
489!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation488!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation
490!Cnet/mac80211/agg-rx.c489!Cnet/mac80211/agg-rx.c
491 </sect1>
492!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action490!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action
491 </sect1>
493 </chapter>492 </chapter>
494 493
495 <chapter id="smps">494 <chapter id="smps">
Documentation/DocBook/Makefile+1−1
@@ -56,7 +56,7 @@ htmldocs: $(HTML) · 55 unmodified lines
56 56
57MAN := $(patsubst %.xml, %.9, $(BOOKS))57MAN := $(patsubst %.xml, %.9, $(BOOKS))
58mandocs: $(MAN)58mandocs: $(MAN)
59 $(if $(wildcard $(obj)/man/*.9),gzip -f $(obj)/man/*.9)59 find $(obj)/man -name '*.9' | xargs gzip -f
60 60
61installmandocs: mandocs61installmandocs: mandocs
62 mkdir -p /usr/local/man/man9/62 mkdir -p /usr/local/man/man9/
Documentation/DocBook/crypto-API.tmpl+1−1
@@ -111,7 +111,7 @@ · 110 unmodified lines
111 <para>111 <para>
112 This specification is intended for consumers of the kernel crypto112 This specification is intended for consumers of the kernel crypto
113 API as well as for developers implementing ciphers. This API113 API as well as for developers implementing ciphers. This API
114 specification, however, does not discusses all API calls available114 specification, however, does not discuss all API calls available
115 to data transformation implementations (i.e. implementations of115 to data transformation implementations (i.e. implementations of
116 ciphers and other transformations (such as CRC or even compression116 ciphers and other transformations (such as CRC or even compression
117 algorithms) that can register with the kernel crypto API).117 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
190!Idrivers/message/fusion/mptfc.c190!Idrivers/message/fusion/mptfc.c
191!Idrivers/message/fusion/mptlan.c191!Idrivers/message/fusion/mptlan.c
192 </sect1>192 </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>
210 </chapter>193 </chapter>
211 194
212 <chapter id="snddev">195 <chapter id="snddev">
Documentation/DocBook/drm.tmpl+122−4
@@ -239,6 +239,14 @@ · 238 unmodified lines
239 Driver supports dedicated render nodes.239 Driver supports dedicated render nodes.
240 </para></listitem>240 </para></listitem>
241 </varlistentry>241 </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>
242 </variablelist>250 </variablelist>
243 </sect3>251 </sect3>
244 <sect3>252 <sect3>
@@ -1377,7 +1385,7 @@ int max_width, max_height;</synopsis> · 1132 unmodified lines
1377 <itemizedlist>1385 <itemizedlist>
1378 <listitem>1386 <listitem>
1379 DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary1387 DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC. Primary
1380 planes are the planes operated upon by by CRTC modesetting and flipping1388 planes are the planes operated upon by CRTC modesetting and flipping
1381 operations described in <xref linkend="drm-kms-crtcops"/>.1389 operations described in <xref linkend="drm-kms-crtcops"/>.
1382 </listitem>1390 </listitem>
1383 <listitem>1391 <listitem>
@@ -2362,6 +2370,7 @@ void intel_crt_init(struct drm_device *dev) · 978 unmodified lines
2362 </sect2>2370 </sect2>
2363 <sect2>2371 <sect2>
2364 <title>Modeset Helper Functions Reference</title>2372 <title>Modeset Helper Functions Reference</title>
2373!Iinclude/drm/drm_crtc_helper.h
2365!Edrivers/gpu/drm/drm_crtc_helper.c2374!Edrivers/gpu/drm/drm_crtc_helper.c
2366!Pdrivers/gpu/drm/drm_crtc_helper.c overview2375!Pdrivers/gpu/drm/drm_crtc_helper.c overview
2367 </sect2>2376 </sect2>
@@ -2564,8 +2573,8 @@ void intel_crt_init(struct drm_device *dev) · 196 unmodified lines
2564 <td valign="top" >Description/Restrictions</td>2573 <td valign="top" >Description/Restrictions</td>
2565 </tr>2574 </tr>
2566 <tr>2575 <tr>
2567 <td rowspan="25" valign="top" >DRM</td>2576 <td rowspan="36" valign="top" >DRM</td>
2568 <td rowspan="4" valign="top" >Generic</td>2577 <td rowspan="5" valign="top" >Connector</td>
2569 <td valign="top" >“EDID”</td>2578 <td valign="top" >“EDID”</td>
2570 <td valign="top" >BLOB | IMMUTABLE</td>2579 <td valign="top" >BLOB | IMMUTABLE</td>
2571 <td valign="top" >0</td>2580 <td valign="top" >0</td>
@@ -2594,7 +2603,14 @@ void intel_crt_init(struct drm_device *dev) · 22 unmodified lines
2594 <td valign="top" >Contains tiling information for a connector.</td>2603 <td valign="top" >Contains tiling information for a connector.</td>
2595 </tr>2604 </tr>
2596 <tr>2605 <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>
2598 <td valign="top" >“type”</td>2614 <td valign="top" >“type”</td>
2599 <td valign="top" >ENUM | IMMUTABLE</td>2615 <td valign="top" >ENUM | IMMUTABLE</td>
2600 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>2616 <td valign="top" >{ "Overlay", "Primary", "Cursor" }</td>
@@ -2602,6 +2618,76 @@ void intel_crt_init(struct drm_device *dev) · 1 unmodified line
2602 <td valign="top" >Plane type</td>2618 <td valign="top" >Plane type</td>
2603 </tr>2619 </tr>
2604 <tr>2620 <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>
2605 <td rowspan="2" valign="top" >DVI-I</td>2691 <td rowspan="2" valign="top" >DVI-I</td>
2606 <td valign="top" >“subconnector”</td>2692 <td valign="top" >“subconnector”</td>
2607 <td valign="top" >ENUM</td>2693 <td valign="top" >ENUM</td>
@@ -3883,6 +3969,7 @@ int num_ioctls;</synopsis> · 1275 unmodified lines
3883 <title>Runtime Power Management</title>3969 <title>Runtime Power Management</title>
3884!Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm3970!Pdrivers/gpu/drm/i915/intel_runtime_pm.c runtime pm
3885!Idrivers/gpu/drm/i915/intel_runtime_pm.c3971!Idrivers/gpu/drm/i915/intel_runtime_pm.c
3972!Idrivers/gpu/drm/i915/intel_uncore.c
3886 </sect2>3973 </sect2>
3887 <sect2>3974 <sect2>
3888 <title>Interrupt Handling</title>3975 <title>Interrupt Handling</title>
@@ -3931,6 +4018,11 @@ int num_ioctls;</synopsis> · 42 unmodified lines
3931 framebuffer compression and panel self refresh.4018 framebuffer compression and panel self refresh.
3932 </para>4019 </para>
3933 </sect2>4020 </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>
3934 <sect2>4026 <sect2>
3935 <title>Output Probing</title>4027 <title>Output Probing</title>
3936 <para>4028 <para>
@@ -3949,6 +4041,11 @@ int num_ioctls;</synopsis> · 12 unmodified lines
3949 <title>Panel Self Refresh PSR (PSR/SRD)</title>4041 <title>Panel Self Refresh PSR (PSR/SRD)</title>
3950!Pdrivers/gpu/drm/i915/intel_psr.c Panel Self Refresh (PSR/SRD)4042!Pdrivers/gpu/drm/i915/intel_psr.c Panel Self Refresh (PSR/SRD)
3951!Idrivers/gpu/drm/i915/intel_psr.c4043!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
3952 </sect2>4049 </sect2>
3953 <sect2>4050 <sect2>
3954 <title>DPIO</title>4051 <title>DPIO</title>
@@ -4052,12 +4149,33 @@ int num_ioctls;</synopsis> · 97 unmodified lines
4052 <title>Batchbuffer Parsing</title>4149 <title>Batchbuffer Parsing</title>
4053!Pdrivers/gpu/drm/i915/i915_cmd_parser.c batch buffer command parser4150!Pdrivers/gpu/drm/i915/i915_cmd_parser.c batch buffer command parser
4054!Idrivers/gpu/drm/i915/i915_cmd_parser.c4151!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
4055 </sect2>4157 </sect2>
4056 <sect2>4158 <sect2>
4057 <title>Logical Rings, Logical Ring Contexts and Execlists</title>4159 <title>Logical Rings, Logical Ring Contexts and Execlists</title>
4058!Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists4160!Pdrivers/gpu/drm/i915/intel_lrc.c Logical Rings, Logical Ring Contexts and Execlists
4059!Idrivers/gpu/drm/i915/intel_lrc.c4161!Idrivers/gpu/drm/i915/intel_lrc.c
4060 </sect2>4162 </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>
4061 </sect1>4179 </sect1>
4062 4180
4063 <sect1>4181 <sect1>
Documentation/DocBook/kgdb.tmpl+44−43
@@ -75,7 +75,7 @@ · 74 unmodified lines
75 a development machine and the other is the target machine. The75 a development machine and the other is the target machine. The
76 kernel to be debugged runs on the target machine. The development76 kernel to be debugged runs on the target machine. The development
77 machine runs an instance of gdb against the vmlinux file which77 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,
79 uImage...). In gdb the developer specifies the connection79 uImage...). In gdb the developer specifies the connection
80 parameters and connects to kgdb. The type of connection a80 parameters and connects to kgdb. The type of connection a
81 developer makes with gdb depends on the availability of kgdb I/O81 developer makes with gdb depends on the availability of kgdb I/O
@@ -95,7 +95,7 @@ · 13 unmodified lines
95 <title>Kernel config options for kgdb</title>95 <title>Kernel config options for kgdb</title>
96 <para>96 <para>
97 To enable <symbol>CONFIG_KGDB</symbol> you should look under97 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".
99 </para>99 </para>
100 <para>100 <para>
101 While it is not a hard requirement that you have symbols in your101 While it is not a hard requirement that you have symbols in your
@@ -105,7 +105,7 @@ · 3 unmodified lines
105 kernel with debug info" in the config menu.105 kernel with debug info" in the config menu.
106 </para>106 </para>
107 <para>107 <para>
108 It is advised, but not required that you turn on the108 It is advised, but not required, that you turn on the
109 <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the109 <symbol>CONFIG_FRAME_POINTER</symbol> kernel option which is called "Compile the
110 kernel with frame pointers" in the config menu. This option110 kernel with frame pointers" in the config menu. This option
111 inserts code to into the compiled executable which saves the frame111 inserts code to into the compiled executable which saves the frame
@@ -181,7 +181,7 @@ · 69 unmodified lines
181 <para>This section describes the various runtime kernel181 <para>This section describes the various runtime kernel
182 parameters that affect the configuration of the kernel debugger.182 parameters that affect the configuration of the kernel debugger.
183 The following chapter covers using kdb and kgdb as well as183 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>
185 <sect1 id="kgdboc">185 <sect1 id="kgdboc">
186 <title>Kernel parameter: kgdboc</title>186 <title>Kernel parameter: kgdboc</title>
187 <para>The kgdboc driver was originally an abbreviation meant to187 <para>The kgdboc driver was originally an abbreviation meant to
@@ -197,6 +197,7 @@ · 9 unmodified lines
197 may be configured as a kernel built-in or a kernel loadable module.197 may be configured as a kernel built-in or a kernel loadable module.
198 You can only make use of <constant>kgdbwait</constant> and early198 You can only make use of <constant>kgdbwait</constant> and early
199 debugging if you build kgdboc into the kernel as a built-in.199 debugging if you build kgdboc into the kernel as a built-in.
200 </para>
200 <para>Optionally you can elect to activate kms (Kernel Mode201 <para>Optionally you can elect to activate kms (Kernel Mode
201 Setting) integration. When you use kms with kgdboc and you have a202 Setting) integration. When you use kms with kgdboc and you have a
202 video driver that has atomic mode setting hooks, it is possible to203 video driver that has atomic mode setting hooks, it is possible to
@@ -206,7 +207,6 @@ · 3 unmodified lines
206 crashes or doing analysis of memory with kdb while allowing the207 crashes or doing analysis of memory with kdb while allowing the
207 full graphics console applications to run.208 full graphics console applications to run.
208 </para>209 </para>
209 </para>
210 <sect2 id="kgdbocArgs">210 <sect2 id="kgdbocArgs">
211 <title>kgdboc arguments</title>211 <title>kgdboc arguments</title>
212 <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para>212 <para>Usage: <constant>kgdboc=[kms][[,]kbd][[,]serial_device][,baud]</constant></para>
@@ -219,8 +219,8 @@ · 6 unmodified lines
219 <listitem><para>kbd = Keyboard</para></listitem>219 <listitem><para>kbd = Keyboard</para></listitem>
220 </itemizedlist>220 </itemizedlist>
221 </para>221 </para>
222 <para>You can configure kgdboc to use the keyboard, and or a serial222 <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 the223 device depending on if you are using kdb and/or kgdb, in one of the
224 following scenarios. The order listed above must be observed if224 following scenarios. The order listed above must be observed if
225 you use any of the optional configurations together. Using kms +225 you use any of the optional configurations together. Using kms +
226 only gdb is generally not a useful combination.</para>226 only gdb is generally not a useful combination.</para>
@@ -261,11 +261,8 @@ · 34 unmodified lines
261 </sect3>261 </sect3>
262 <sect3 id="kgdbocArgs3">262 <sect3 id="kgdbocArgs3">
263 <title>More examples</title>263 <title>More examples</title>
264 <para>You can configure kgdboc to use the keyboard, and or a serial264 <para>You can configure kgdboc to use the keyboard, and/or a serial device
265 device depending on if you are using kdb and or kgdb, in one of the265 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
269 following scenarios.266 following scenarios.
270 <orderedlist>267 <orderedlist>
271 <listitem><para>kdb and kgdb over only a serial port</para>268 <listitem><para>kdb and kgdb over only a serial port</para>
@@ -287,7 +284,6 @@ · 15 unmodified lines
287 </listitem>284 </listitem>
288 </orderedlist>285 </orderedlist>
289 </para>286 </para>
290 </sect3>
291 <para>NOTE: Kgdboc does not support interrupting the target via the287 <para>NOTE: Kgdboc does not support interrupting the target via the
292 gdb remote protocol. You must manually send a sysrq-g unless you288 gdb remote protocol. You must manually send a sysrq-g unless you
293 have a proxy that splits console output to a terminal program.289 have a proxy that splits console output to a terminal program.
@@ -308,6 +304,7 @@ · 14 unmodified lines
308 as well as on the initial connect, or to use a debugger proxy that304 as well as on the initial connect, or to use a debugger proxy that
309 allows an unmodified gdb to do the debugging.305 allows an unmodified gdb to do the debugging.
310 </para>306 </para>
307 </sect3>
311 </sect2>308 </sect2>
312 </sect1>309 </sect1>
313 <sect1 id="kgdbwait">310 <sect1 id="kgdbwait">
@@ -315,7 +312,7 @@ · 1 unmodified line
315 <para>312 <para>
316 The Kernel command line option <constant>kgdbwait</constant> makes313 The Kernel command line option <constant>kgdbwait</constant> makes
317 kgdb wait for a debugger connection during booting of a kernel. You314 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 the315 can only use this option if you compiled a kgdb I/O driver into the
319 kernel and you specified the I/O driver configuration as a kernel316 kernel and you specified the I/O driver configuration as a kernel
320 command line option. The kgdbwait parameter should always follow the317 command line option. The kgdbwait parameter should always follow the
321 configuration parameter for the kgdb I/O driver in the kernel318 configuration parameter for the kgdb I/O driver in the kernel
@@ -353,12 +350,12 @@ · 31 unmodified lines
353 </para>350 </para>
354 </listitem>351 </listitem>
355 </orderedlist>352 </orderedlist>
353 </para>
356 <para>IMPORTANT NOTE: You cannot use kgdboc + kgdbcon on a tty that is an354 <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>
358 </para>356 </para>
359 <para>It is possible to use this option with kgdboc on a tty that is not a system console.357 <para>It is possible to use this option with kgdboc on a tty that is not a system console.
360 </para>358 </para>
361 </para>
362 </sect1>359 </sect1>
363 <sect1 id="kgdbreboot">360 <sect1 id="kgdbreboot">
364 <title>Run time parameter: kgdbreboot</title>361 <title>Run time parameter: kgdbreboot</title>
@@ -386,12 +383,12 @@ · 21 unmodified lines
386 <title>Quick start for kdb on a serial port</title>383 <title>Quick start for kdb on a serial port</title>
387 <para>This is a quick example of how to use kdb.</para>384 <para>This is a quick example of how to use kdb.</para>
388 <para><orderedlist>385 <para><orderedlist>
389 <listitem><para>Boot kernel with arguments:386 <listitem><para>Configure kgdboc at boot using kernel parameters:
390 <itemizedlist>387 <itemizedlist>
391 <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem>388 <listitem><para><constant>console=ttyS0,115200 kgdboc=ttyS0,115200</constant></para></listitem>
392 </itemizedlist></para>389 </itemizedlist></para>
393 <para>OR</para>390 <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:
395 <itemizedlist>392 <itemizedlist>
396 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>393 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
397 </itemizedlist>394 </itemizedlist>
@@ -442,12 +439,12 @@ · 44 unmodified lines
442 <title>Quick start for kdb using a keyboard connected console</title>439 <title>Quick start for kdb using a keyboard connected console</title>
443 <para>This is a quick example of how to use kdb with a keyboard.</para>440 <para>This is a quick example of how to use kdb with a keyboard.</para>
444 <para><orderedlist>441 <para><orderedlist>
445 <listitem><para>Boot kernel with arguments:442 <listitem><para>Configure kgdboc at boot using kernel parameters:
446 <itemizedlist>443 <itemizedlist>
447 <listitem><para><constant>kgdboc=kbd</constant></para></listitem>444 <listitem><para><constant>kgdboc=kbd</constant></para></listitem>
448 </itemizedlist></para>445 </itemizedlist></para>
449 <para>OR</para>446 <para>OR</para>
450 <para>Configure kgdboc after the kernel booted:447 <para>Configure kgdboc after the kernel has booted:
451 <itemizedlist>448 <itemizedlist>
452 <listitem><para><constant>echo kbd &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>449 <listitem><para><constant>echo kbd &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
453 </itemizedlist>450 </itemizedlist>
@@ -501,12 +498,12 @@ · 47 unmodified lines
501 <title>Connecting with gdb to a serial port</title>498 <title>Connecting with gdb to a serial port</title>
502 <orderedlist>499 <orderedlist>
503 <listitem><para>Configure kgdboc</para>500 <listitem><para>Configure kgdboc</para>
504 <para>Boot kernel with arguments:501 <para>Configure kgdboc at boot using kernel parameters:
505 <itemizedlist>502 <itemizedlist>
506 <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem>503 <listitem><para><constant>kgdboc=ttyS0,115200</constant></para></listitem>
507 </itemizedlist></para>504 </itemizedlist></para>
508 <para>OR</para>505 <para>OR</para>
509 <para>Configure kgdboc after the kernel booted:506 <para>Configure kgdboc after the kernel has booted:
510 <itemizedlist>507 <itemizedlist>
511 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>508 <listitem><para><constant>echo ttyS0 &gt; /sys/module/kgdboc/parameters/kgdboc</constant></para></listitem>
512 </itemizedlist></para>509 </itemizedlist></para>
@@ -536,7 +533,7 @@ · 23 unmodified lines
536 </para>533 </para>
537 </listitem>534 </listitem>
538 <listitem>535 <listitem>
539 <para>Connect from from gdb</para>536 <para>Connect from gdb</para>
540 <para>537 <para>
541 Example (using a directly connected port):538 Example (using a directly connected port):
542 </para>539 </para>
@@ -584,7 +581,7 @@ · 41 unmodified lines
584 <para>581 <para>
585 There are two ways to switch from kgdb to kdb: you can use gdb to582 There are two ways to switch from kgdb to kdb: you can use gdb to
586 issue a maintenance packet, or you can blindly type the command $3#33.583 issue a maintenance packet, or you can blindly type the command $3#33.
587 Whenever kernel debugger stops in kgdb mode it will print the584 Whenever the kernel debugger stops in kgdb mode it will print the
588 message <constant>KGDB or $3#33 for KDB</constant>. It is important585 message <constant>KGDB or $3#33 for KDB</constant>. It is important
589 to note that you have to type the sequence correctly in one pass.586 to note that you have to type the sequence correctly in one pass.
590 You cannot type a backspace or delete because kgdb will interpret587 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
704 <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem>701 <listitem><para>Registration and unregistration of architecture specific trap hooks</para></listitem>
705 <listitem><para>Any special exception handling and cleanup</para></listitem>702 <listitem><para>Any special exception handling and cleanup</para></listitem>
706 <listitem><para>NMI exception handling and cleanup</para></listitem>703 <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>
708 </itemizedlist>705 </itemizedlist>
709 </para>706 </para>
710 </listitem>707 </listitem>
@@ -760,7 +757,7 @@ Task Addr Pid Parent [*] cpu State Thread Command · 49 unmodified lines
760 a kgdb I/O driver for characters when it needs input. The I/O757 a kgdb I/O driver for characters when it needs input. The I/O
761 driver is expected to return immediately if there is no data758 driver is expected to return immediately if there is no data
762 available. Doing so allows for the future possibility to touch759 available. Doing so allows for the future possibility to touch
763 watch dog hardware in such a way as to have a target system not760 watchdog hardware in such a way as to have a target system not
764 reset when these are enabled.761 reset when these are enabled.
765 </para>762 </para>
766 </listitem>763 </listitem>
@@ -779,21 +776,25 @@ Task Addr Pid Parent [*] cpu State Thread Command · 12 unmodified lines
779 their &lt;asm/kgdb.h&gt; file. These are:776 their &lt;asm/kgdb.h&gt; file. These are:
780 <itemizedlist>777 <itemizedlist>
781 <listitem>778 <listitem>
782 <para>779 <para>
783 NUMREGBYTES: The size in bytes of all of the registers, so780 NUMREGBYTES: The size in bytes of all of the registers, so
784 that we can ensure they will all fit into a packet.781 that we can ensure they will all fit into a packet.
785 </para>782 </para>
786 <para>783 </listitem>
787 BUFMAX: The size in bytes of the buffer GDB will read into.784 <listitem>
788 This must be larger than NUMREGBYTES.785 <para>
789 </para>786 BUFMAX: The size in bytes of the buffer GDB will read into.
790 <para>787 This must be larger than NUMREGBYTES.
791 CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call788 </para>
792 flush_cache_range or flush_icache_range. On some architectures,789 </listitem>
793 these functions may not be safe to call on SMP since we keep other790 <listitem>
794 CPUs in a holding pattern.791 <para>
795 </para>792 CACHE_FLUSH_IS_SAFE: Set to 1 if it is always safe to call
796 </listitem>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>
797 </itemizedlist>798 </itemizedlist>
798 </para>799 </para>
799 <para>800 <para>
@@ -812,8 +813,8 @@ Task Addr Pid Parent [*] cpu State Thread Command · 12 unmodified lines
812 <para>813 <para>
813 The kgdboc driver is actually a very thin driver that relies on the814 The kgdboc driver is actually a very thin driver that relies on the
814 underlying low level to the hardware driver having "polling hooks"815 underlying low level to the hardware driver having "polling hooks"
815 which the to which the tty driver is attached. In the initial816 to which the tty driver is attached. In the initial
816 implementation of kgdboc it the serial_core was changed to expose a817 implementation of kgdboc the serial_core was changed to expose a
817 low level UART hook for doing polled mode reading and writing of a818 low level UART hook for doing polled mode reading and writing of a
818 single character while in an atomic context. When kgdb makes an I/O819 single character while in an atomic context. When kgdb makes an I/O
819 request to the debugger, kgdboc invokes a callback in the serial820 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
2692 <row><entry></entry></row>2692 <row><entry></entry></row>
2693 <row>2693 <row>
2694 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>2694 <entry spanname="id"><constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE</constant>&nbsp;</entry>
2695 <entry>integer</entry>2695 <entry>boolean</entry>
2696 </row><row><entry spanname="descr">If the display delay is enabled then the decoder has to return a2696 </row><row><entry spanname="descr">If the display delay is enabled then the decoder is forced to return a
2697CAPTURE buffer after processing a certain number of OUTPUT buffers. If this number is low, then it may result in2697CAPTURE buffer (decoded frame) after processing a certain number of OUTPUT buffers. The delay can be set through
2698buffers not being dequeued in display order. In addition hardware may still use those buffers as reference, thus2698<constant>V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY</constant>. This feature can be used for example
2699application should not write to those buffers. This feature can be used for example for generating thumbnails of videos.2699for generating thumbnails of videos. Applicable to the H264 decoder.
2700Applicable to the H264 decoder.
2701 </entry>2700 </entry>
2702 </row>2701 </row>
2703 <row><entry></entry></row>2702 <row><entry></entry></row>
Documentation/DocBook/media/v4l/pixfmt-srggb10.xml+1−1
@@ -17,7 +17,7 @@ · 16 unmodified lines
17 <refsect1>17 <refsect1>
18 <title>Description</title>18 <title>Description</title>
19 19
20 <para>The following four pixel formats are raw sRGB / Bayer formats with20 <para>These four pixel formats are raw sRGB / Bayer formats with
2110 bits per colour. Each colour component is stored in a 16-bit word, with 62110 bits per colour. Each colour component is stored in a 16-bit word, with 6
22unused high bits filled with zeros. Each n-pixel row contains n/2 green samples22unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
23and n/2 blue or red samples, with alternating red and blue rows. Bytes are23and 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
25 </refnamediv>25 </refnamediv>
26 <refsect1>26 <refsect1>
27 <title>Description</title>27 <title>Description</title>
28 <para>The following four pixel formats are raw sRGB / Bayer28 <para>These four pixel formats are raw sRGB / Bayer
29 formats with 10 bits per color compressed to 8 bits each,29 formats with 10 bits per color compressed to 8 bits each,
30 using the A-LAW algorithm. Each color component consumes 830 using the A-LAW algorithm. Each color component consumes 8
31 bits of memory. In other respects this format is similar to31 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
18 <refsect1>18 <refsect1>
19 <title>Description</title>19 <title>Description</title>
20 20
21 <para>The following four pixel formats are raw sRGB / Bayer formats21 <para>These four pixel formats are raw sRGB / Bayer formats
22 with 10 bits per colour compressed to 8 bits each, using DPCM22 with 10 bits per colour compressed to 8 bits each, using DPCM
23 compression. DPCM, differential pulse-code modulation, is lossy.23 compression. DPCM, differential pulse-code modulation, is lossy.
24 Each colour component consumes 8 bits of memory. In other respects24 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
17 <refsect1>17 <refsect1>
18 <title>Description</title>18 <title>Description</title>
19 19
20 <para>The following four pixel formats are raw sRGB / Bayer formats with20 <para>These four pixel formats are raw sRGB / Bayer formats with
2112 bits per colour. Each colour component is stored in a 16-bit word, with 42112 bits per colour. Each colour component is stored in a 16-bit word, with 4
22unused high bits filled with zeros. Each n-pixel row contains n/2 green samples22unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
23and n/2 blue or red samples, with alternating red and blue rows. Bytes are23and 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
1405 &sub-srggb8;1405 &sub-srggb8;
1406 &sub-sbggr16;1406 &sub-sbggr16;
1407 &sub-srggb10;1407 &sub-srggb10;
1408 &sub-srggb10p;
1408 &sub-srggb10alaw8;1409 &sub-srggb10alaw8;
1409 &sub-srggb10dpcm8;1410 &sub-srggb10dpcm8;
1410 &sub-srggb12;1411 &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
212 &return-value;212 &return-value;
213 </refsect1>213 </refsect1>
214</refentry>214</refentry>
215
216<!--
217Local Variables:
218mode: sgml
219sgml-parent-document: "v4l2.sgml"
220indent-tabs-mode: nil
221End:
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
131 </variablelist>131 </variablelist>
132 </refsect1>132 </refsect1>
133</refentry>133</refentry>
134
135<!--
136Local Variables:
137mode: sgml
138sgml-parent-document: "v4l2.sgml"
139indent-tabs-mode: nil
140End:
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
719 </para>719 </para>
720</sect1>720</sect1>
721 721
722<sect1 id="using uio_dmem_genirq">722<sect1 id="using-uio_dmem_genirq">
723<title>Using uio_dmem_genirq for platform devices</title>723<title>Using uio_dmem_genirq for platform devices</title>
724 <para>724 <para>
725 In addition to statically allocated memory ranges, they may also be725 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
746 following elements:746 following elements:
747 </para>747 </para>
748 <itemizedlist>748 <itemizedlist>
749 <listitem><varname>struct uio_info uioinfo</varname>: The same749 <listitem><para><varname>struct uio_info uioinfo</varname>: The same
750 structure used as the <varname>uio_pdrv_genirq</varname> platform750 structure used as the <varname>uio_pdrv_genirq</varname> platform
751 data</listitem>751 data</para></listitem>
752 <listitem><varname>unsigned int *dynamic_region_sizes</varname>:752 <listitem><para><varname>unsigned int *dynamic_region_sizes</varname>:
753 Pointer to list of sizes of dynamic memory regions to be mapped into753 Pointer to list of sizes of dynamic memory regions to be mapped into
754 user space.754 user space.
755 </listitem>755 </para></listitem>
756 <listitem><varname>unsigned int num_dynamic_regions</varname>:756 <listitem><para><varname>unsigned int num_dynamic_regions</varname>:
757 Number of elements in <varname>dynamic_region_sizes</varname> array.757 Number of elements in <varname>dynamic_region_sizes</varname> array.
758 </listitem>758 </para></listitem>
759 </itemizedlist>759 </itemizedlist>
760 <para>760 <para>
761 The dynamic regions defined in the platform data will be appended to761 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
15 21 seconds.15 21 seconds.
16 16
17 This configuration parameter may be changed at runtime via the17 This configuration parameter may be changed at runtime via the
18 /sys/module/rcutree/parameters/rcu_cpu_stall_timeout, however18 /sys/module/rcupdate/parameters/rcu_cpu_stall_timeout, however
19 this parameter is checked only at the beginning of a cycle.19 this parameter is checked only at the beginning of a cycle.
20 So if you are 10 seconds into a 40-second stall, setting this20 So if you are 10 seconds into a 40-second stall, setting this
21 sysfs parameter to (say) five will shorten the timeout for the21 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
152"D" indicates that dyntick-idle processing is enabled ("." is printed152"D" indicates that dyntick-idle processing is enabled ("." is printed
153otherwise, for example, if disabled via the "nohz=" kernel boot parameter).153otherwise, for example, if disabled via the "nohz=" kernel boot parameter).
154 154
155If the relevant grace-period kthread has been unable to run prior to
156the stall warning, the following additional line is printed:
157
158 rcu_preempt kthread starved for 2023 jiffies!
159
160Starving the grace-period kthreads of CPU time can of course result in
161RCU CPU stall warnings even when all CPUs and tasks have passed through
162the required quiescent states.
163
155 164
156Multiple Warnings From One Stall165Multiple Warnings From One Stall
157 166
@@ -187,6 +196,11 @@ o For !CONFIG_PREEMPT kernels, a CPU looping anywhere in the · 29 unmodified lines
187 behavior, you might need to replace some of the cond_resched()196 behavior, you might need to replace some of the cond_resched()
188 calls with calls to cond_resched_rcu_qs().197 calls with calls to cond_resched_rcu_qs().
189 198
199o 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
190o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might204o A CPU-bound real-time task in a CONFIG_PREEMPT kernel, which might
191 happen to preempt a low-priority task in the middle of an RCU205 happen to preempt a low-priority task in the middle of an RCU
192 read-side critical section. This is especially damaging if206 read-side critical section. This is especially damaging if
Documentation/RCU/trace.txt+16−16
@@ -56,14 +56,14 @@ rcuboost: · 55 unmodified lines
56 56
57The output of "cat rcu/rcu_preempt/rcudata" looks as follows:57The output of "cat rcu/rcu_preempt/rcudata" looks as follows:
58 58
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=71659 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 qp=0 dt=132007/140000000000000/0 df=1874 of=10 ql=0/0 qs=N... b=10 ci=123209 nci=0 co=685 ca=98260 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 qp=1 dt=138537/140000000000000/0 df=1707 of=8 ql=0/0 qs=N... b=10 ci=80132 nci=0 co=1328 ca=145861 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 qp=0 dt=107255/140000000000000/0 df=1749 of=6 ql=0/450 qs=NRW. b=10 ci=151700 nci=0 co=509 ca=62262 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 qp=1 dt=83647/140000000000000/0 df=965 of=5 ql=0/0 qs=N... b=10 ci=65643 nci=0 co=1373 ca=152163 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 qp=1 dt=70422/0/0 df=535 of=7 ql=0/0 qs=.... b=10 ci=58500 nci=0 co=764 ca=69864 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 qp=1 dt=95363/140000000000000/0 df=780 of=5 ql=0/0 qs=N... b=10 ci=100607 nci=0 co=1414 ca=135365 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 qp=0 dt=91536/0/0 df=547 of=4 ql=0/0 qs=.... b=10 ci=109819 nci=0 co=1115 ca=96966 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
67 67
68This file has one line per CPU, or eight for this 8-CPU system.68This file has one line per CPU, or eight for this 8-CPU system.
69The fields are as follows:69The 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
188Kernels compiled with CONFIG_RCU_BOOST=y display the following from188Kernels compiled with CONFIG_RCU_BOOST=y display the following from
189/debug/rcu/rcu_preempt/rcudata:189/debug/rcu/rcu_preempt/rcudata:
190 190
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=871191 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 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=485192 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 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=490193 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 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=290194 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 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=114195 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 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=722196 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 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=811197 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 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=1042198 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
199 199
200This is similar to the output discussed above, but contains the following200This is similar to the output discussed above, but contains the following
201additional fields:201additional fields:
Documentation/SubmittingPatches+224−228
@@ -10,27 +10,49 @@ kernel, the process can sometimes be daunting if you're not familiar · 9 unmodified lines
10with "the system." This text is a collection of suggestions which10with "the system." This text is a collection of suggestions which
11can greatly increase the chances of your change being accepted.11can greatly increase the chances of your change being accepted.
12 12
13Read Documentation/SubmitChecklist for a list of items to check13This document contains a large number of suggestions in a relatively terse
14before submitting code. If you are submitting a driver, also read14format. For detailed information on how the kernel development process
15Documentation/SubmittingDrivers.15works, see Documentation/development-process. Also, read
16Documentation/SubmitChecklist for a list of items to check before
17submitting code. If you are submitting a driver, also read
18Documentation/SubmittingDrivers; for device tree binding patches, read
19Documentation/devicetree/bindings/submitting-patches.txt.
16 20
17Many of these steps describe the default behavior of the git version21Many of these steps describe the default behavior of the git version
18control system; if you use git to prepare your patches, you'll find much22control system; if you use git to prepare your patches, you'll find much
19of the mechanical work done for you, though you'll still need to prepare23of the mechanical work done for you, though you'll still need to prepare
20and document a sensible set of patches.24and document a sensible set of patches. In general, use of git will make
25your life as a kernel developer easier.
21 26
22--------------------------------------------27--------------------------------------------
23SECTION 1 - CREATING AND SENDING YOUR CHANGE28SECTION 1 - CREATING AND SENDING YOUR CHANGE
24--------------------------------------------29--------------------------------------------
25 30
26 31
320) Obtain a current source tree
33-------------------------------
34
35If you do not have a repository with the current kernel source handy, use
36git to obtain one. You'll want to start with the mainline repository,
37which can be grabbed with:
38
39 git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
40
41Note, however, that you may not want to develop against the mainline tree
42directly. Most subsystem maintainers run their own trees and want to see
43patches prepared against those trees. See the "T:" entry for the subsystem
44in the MAINTAINERS file to find that tree, or simply ask the maintainer if
45the tree is not listed there.
46
47It is still possible to download kernel releases via tarballs (as described
48in the next section), but that is the hard way to do kernel development.
27 49
281) "diff -up"501) "diff -up"
29------------51------------
30 52
31Use "diff -up" or "diff -uprN" to create patches. git generates patches53If you must generate your patches by hand, use "diff -up" or "diff -uprN"
32in this form by default; if you're using git, you can skip this section54to create patches. Git generates patches in this form by default; if
33entirely.55you're using git, you can skip this section entirely.
34 56
35All changes to the Linux kernel occur in the form of patches, as57All changes to the Linux kernel occur in the form of patches, as
36generated by diff(1). When creating your patch, make sure to create it58generated by diff(1). When creating your patch, make sure to create it
@@ -42,7 +64,7 @@ not in any lower subdirectory. · 5 unmodified lines
42 64
43To create a patch for a single file, it is often sufficient to do:65To create a patch for a single file, it is often sufficient to do:
44 66
45 SRCTREE= linux-2.667 SRCTREE= linux
46 MYFILE= drivers/net/mydriver.c68 MYFILE= drivers/net/mydriver.c
47 69
48 cd $SRCTREE70 cd $SRCTREE
@@ -55,17 +77,16 @@ To create a patch for multiple files, you should unpack a "vanilla", · 6 unmodified lines
55or unmodified kernel source tree, and generate a diff against your77or unmodified kernel source tree, and generate a diff against your
56own source tree. For example:78own source tree. For example:
57 79
58 MYSRC= /devel/linux-2.680 MYSRC= /devel/linux
59 81
60 tar xvfz linux-2.6.12.tar.gz82 tar xvfz linux-3.19.tar.gz
61 mv linux-2.6.12 linux-2.6.12-vanilla83 mv linux-3.19 linux-3.19-vanilla
62 diff -uprN -X linux-2.6.12-vanilla/Documentation/dontdiff \84 diff -uprN -X linux-3.19-vanilla/Documentation/dontdiff \
63 linux-2.6.12-vanilla $MYSRC > /tmp/patch85 linux-3.19-vanilla $MYSRC > /tmp/patch
64 86
65"dontdiff" is a list of files which are generated by the kernel during87"dontdiff" is a list of files which are generated by the kernel during
66the build process, and should be ignored in any diff(1)-generated88the build process, and should be ignored in any diff(1)-generated
67patch. The "dontdiff" file is included in the kernel tree in89patch.
682.6.12 and later.
69 90
70Make sure your patch does not include any extra files which do not91Make sure your patch does not include any extra files which do not
71belong in a patch submission. Make sure to review your patch -after-92belong in a patch submission. Make sure to review your patch -after-
@@ -83,6 +104,7 @@ is another popular alternative. · 11 unmodified lines
83 104
84 105
852) Describe your changes.1062) Describe your changes.
107-------------------------
86 108
87Describe your problem. Whether your patch is a one-line bug fix or109Describe your problem. Whether your patch is a one-line bug fix or
885000 lines of a new feature, there must be an underlying problem that1105000 lines of a new feature, there must be an underlying problem that
@@ -124,10 +146,10 @@ See #3, next. · 35 unmodified lines
124When you submit or resubmit a patch or patch series, include the146When you submit or resubmit a patch or patch series, include the
125complete patch description and justification for it. Don't just147complete patch description and justification for it. Don't just
126say that this is version N of the patch (series). Don't expect the148say that this is version N of the patch (series). Don't expect the
127patch merger to refer back to earlier patch versions or referenced149subsystem maintainer to refer back to earlier patch versions or referenced
128URLs to find the patch description and put that into the patch.150URLs to find the patch description and put that into the patch.
129I.e., the patch (series) and its description should be self-contained.151I.e., the patch (series) and its description should be self-contained.
130This benefits both the patch merger(s) and reviewers. Some reviewers152This benefits both the maintainers and reviewers. Some reviewers
131probably didn't even receive earlier versions of the patch.153probably didn't even receive earlier versions of the patch.
132 154
133Describe your changes in imperative mood, e.g. "make xyzzy do frotz"155Describe your changes in imperative mood, e.g. "make xyzzy do frotz"
@@ -156,10 +178,15 @@ Example: · 22 unmodified lines
156 platform_set_drvdata(), but left the variable "dev" unused,178 platform_set_drvdata(), but left the variable "dev" unused,
157 delete it.179 delete it.
158 180
181You should also be sure to use at least the first twelve characters of the
182SHA-1 ID. The kernel repository holds a *lot* of objects, making
183collisions with shorter IDs a real possibility. Bear in mind that, even if
184there is no collision with your six-character ID now, that condition may
185change five years from now.
186
159If your patch fixes a bug in a specific commit, e.g. you found an issue using187If your patch fixes a bug in a specific commit, e.g. you found an issue using
160git-bisect, please use the 'Fixes:' tag with the first 12 characters of the188git-bisect, please use the 'Fixes:' tag with the first 12 characters of the
161SHA-1 ID, and the one line summary.189SHA-1 ID, and the one line summary. For example:
162Example:
163 190
164 Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()")191 Fixes: e21d2170f366 ("video: remove unnecessary platform_set_drvdata()")
165 192
@@ -172,8 +199,9 @@ outputting the above style in the git log or git show commands · 6 unmodified lines
172 fixes = Fixes: %h (\"%s\")199 fixes = Fixes: %h (\"%s\")
173 200
1743) Separate your changes.2013) Separate your changes.
202-------------------------
175 203
176Separate _logical changes_ into a single patch file.204Separate each _logical change_ into a separate patch.
177 205
178For example, if your changes include both bug fixes and performance206For example, if your changes include both bug fixes and performance
179enhancements for a single driver, separate those changes into two207enhancements 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
184group those changes into a single patch. Thus a single logical change212group those changes into a single patch. Thus a single logical change
185is contained within a single patch.213is contained within a single patch.
186 214
215The point to remember is that each patch should make an easily understood
216change that can be verified by reviewers. Each patch should be justifiable
217on its own merits.
218
187If one patch depends on another patch in order for a change to be219If one patch depends on another patch in order for a change to be
188complete, that is OK. Simply note "this patch depends on patch X"220complete, that is OK. Simply note "this patch depends on patch X"
189in your patch description.221in your patch description.
190 222
223When dividing your change into a series of patches, take special care to
224ensure that the kernel builds and runs properly after each patch in the
225series. Developers using "git bisect" to track down a problem can end up
226splitting your patch series at any point; they will not thank you if you
227introduce bugs in the middle.
228
191If you cannot condense your patch set into a smaller set of patches,229If you cannot condense your patch set into a smaller set of patches,
192then only post say 15 or so at a time and wait for review and integration.230then only post say 15 or so at a time and wait for review and integration.
193 231
194 232
195 233
1964) Style check your changes.2344) Style-check your changes.
235----------------------------
197 236
198Check your patch for basic style violations, details of which can be237Check your patch for basic style violations, details of which can be
199found in Documentation/CodingStyle. Failure to do so simply wastes238found in Documentation/CodingStyle. Failure to do so simply wastes
200the reviewers time and will get your patch rejected, probably239the reviewers time and will get your patch rejected, probably
201without even being read.240without even being read.
202 241
203At a minimum you should check your patches with the patch style242One significant exception is when moving code from one file to
204checker prior to submission (scripts/checkpatch.pl). You should243another -- in this case you should not modify the moved code at all in
205be able to justify all violations that remain in your patch.244the same patch which moves it. This clearly delineates the act of
206 245moving the code and your changes. This greatly aids review of the
207 246actual differences and allows tools to better track the history of
247the code itself.
208 248
2095) Select e-mail destination.249Check your patches with the patch style checker prior to submission
250(scripts/checkpatch.pl). Note, though, that the style checker should be
251viewed as a guide, not as a replacement for human judgment. If your code
252looks better with a violation then its probably best left alone.
210 253
211Look through the MAINTAINERS file and the source code, and determine254The checker reports at three levels:
212if your change applies to a specific subsystem of the kernel, with255 - ERROR: things that are very likely to be wrong
213an assigned maintainer. If so, e-mail that person. The script256 - WARNING: things requiring careful review
214scripts/get_maintainer.pl can be very useful at this step.257 - CHECK: things requiring thought
215 258
216If no maintainer is listed, or the maintainer does not respond, send259You should be able to justify all violations that remain in your
217your patch to the primary Linux kernel developer's mailing list,260patch.
218linux-kernel@vger.kernel.org. Most kernel developers monitor this
219e-mail list, and can comment on your changes.
220 261
221 262
222Do not send more than 15 patches at once to the vger mailing lists!!!2635) Select the recipients for your patch.
264----------------------------------------
223 265
266You should always copy the appropriate subsystem maintainer(s) on any patch
267to code that they maintain; look through the MAINTAINERS file and the
268source code revision history to see who those maintainers are. The
269script scripts/get_maintainer.pl can be very useful at this step. If you
270cannot find a maintainer for the subsystem your are working on, Andrew
271Morton (akpm@linux-foundation.org) serves as a maintainer of last resort.
224 272
225Linus Torvalds is the final arbiter of all changes accepted into the273You should also normally choose at least one mailing list to receive a copy
226Linux kernel. His e-mail address is <torvalds@linux-foundation.org>. 274of your patch set. linux-kernel@vger.kernel.org functions as a list of
227He gets a lot of e-mail, so typically you should do your best to -avoid-275last resort, but the volume on that list has caused a number of developers
228sending him e-mail. 276to tune it out. Look in the MAINTAINERS file for a subsystem-specific
277list; your patch will probably get more attention there. Please do not
278spam unrelated lists, though.
229 279
230Patches which are bug fixes, are "obvious" changes, or similarly280Many kernel-related lists are hosted on vger.kernel.org; you can find a
231require little discussion should be sent or CC'd to Linus. Patches281list of them at http://vger.kernel.org/vger-lists.html. There are
232which require discussion or do not have a clear advantage should282kernel-related lists hosted elsewhere as well, though.
233usually be sent first to linux-kernel. Only after the patch is
234discussed should the patch then be submitted to Linus.
235 283
284Do not send more than 15 patches at once to the vger mailing lists!!!
236 285
286Linus Torvalds is the final arbiter of all changes accepted into the
287Linux kernel. His e-mail address is <torvalds@linux-foundation.org>.
288He gets a lot of e-mail, and, at this point, very few patches go through
289Linus directly, so typically you should do your best to -avoid-
290sending him e-mail.
237 291
2386) Select your CC (e-mail carbon copy) list.292If you have a patch that fixes an exploitable security bug, send that patch
293to security@kernel.org. For severe bugs, a short embargo may be considered
294to allow distrbutors to get the patch out to users; in such cases,
295obviously, the patch should not be sent to any public lists.
239 296
240Unless you have a reason NOT to do so, CC linux-kernel@vger.kernel.org.297Patches that fix a severe bug in a released kernel should be directed
298toward the stable maintainers by putting a line like this:
241 299
242Other kernel developers besides Linus need to be aware of your change,300 Cc: stable@vger.kernel.org
243so that they may comment on it and offer code review and suggestions.
244linux-kernel is the primary Linux kernel developer mailing list.
245Other mailing lists are available for specific subsystems, such as
246USB, framebuffer devices, the VFS, the SCSI subsystem, etc. See the
247MAINTAINERS file for a mailing list that relates specifically to
248your change.
249 301
250Majordomo lists of VGER.KERNEL.ORG at:302into your patch.
251 <http://vger.kernel.org/vger-lists.html>
252 303
253If changes affect userland-kernel interfaces, please send304Note, however, that some subsystem maintainers want to come to their own
254the MAN-PAGES maintainer (as listed in the MAINTAINERS file)305conclusions on which patches should go to the stable trees. The networking
255a man-pages patch, or at least a notification of the change,306maintainer, in particular, would rather not see individual developers
256so that some information makes its way into the manual pages.307adding lines like the above to their patches.
257 308
258Even if the maintainer did not respond in step #5, make sure to ALWAYS309If changes affect userland-kernel interfaces, please send the MAN-PAGES
259copy the maintainer when you change their code.310maintainer (as listed in the MAINTAINERS file) a man-pages patch, or at
311least a notification of the change, so that some information makes its way
312into the manual pages. User-space API changes should also be copied to
313linux-api@vger.kernel.org.
260 314
261For small patches you may want to CC the Trivial Patch Monkey315For small patches you may want to CC the Trivial Patch Monkey
262trivial@kernel.org which collects "trivial" patches. Have a look316trivial@kernel.org which collects "trivial" patches. Have a look
263into the MAINTAINERS file for its current manager.317into the MAINTAINERS file for its current manager.
264Trivial patches must qualify for one of the following rules:318Trivial patches must qualify for one of the following rules:
265 Spelling fixes in documentation319 Spelling fixes in documentation
266 Spelling fixes which could break grep(1)320 Spelling fixes for errors which could break grep(1)
267 Warning fixes (cluttering with useless warnings is bad)321 Warning fixes (cluttering with useless warnings is bad)
268 Compilation fixes (only if they are actually correct)322 Compilation fixes (only if they are actually correct)
269 Runtime fixes (only if they actually fix things)323 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
271 Contact detail and documentation fixes325 Contact detail and documentation fixes
272 Non-portable code replaced by portable code (even in arch-specific,326 Non-portable code replaced by portable code (even in arch-specific,
273 since people copy, as long as it's trivial)327 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
276 330
277 331
278 332
2797) No MIME, no links, no compression, no attachments. Just plain text.3336) No MIME, no links, no compression, no attachments. Just plain text.
334-----------------------------------------------------------------------
280 335
281Linus and other kernel developers need to be able to read and comment336Linus and other kernel developers need to be able to read and comment
282on the changes you are submitting. It is important for a kernel337on 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
299See Documentation/email-clients.txt for hints about configuring354See Documentation/email-clients.txt for hints about configuring
300your e-mail client so that it sends your patches untouched.355your e-mail client so that it sends your patches untouched.
301 356
3028) E-mail size.3577) E-mail size.
303 358---------------
304When sending patches to Linus, always follow step #7.
305 359
306Large changes are not appropriate for mailing lists, and some360Large changes are not appropriate for mailing lists, and some
307maintainers. If your patch, uncompressed, exceeds 300 kB in size,361maintainers. If your patch, uncompressed, exceeds 300 kB in size,
308it is preferred that you store your patch on an Internet-accessible362it is preferred that you store your patch on an Internet-accessible
309server, and provide instead a URL (link) pointing to your patch.363server, and provide instead a URL (link) pointing to your patch. But note
364that if your patch exceeds 300 kB, it almost certainly needs to be broken up
365anyway.
310 366
3678) Respond to review comments.
368------------------------------
311 369
370Your patch will almost certainly get comments from reviewers on ways in
371which the patch can be improved. You must respond to those comments;
372ignoring reviewers is a good way to get ignored in return. Review comments
373or questions that do not lead to a code change should almost certainly
374bring about a comment or changelog entry so that the next reviewer better
375understands what is going on.
312 376
3139) Name your kernel version.377Be sure to tell the reviewers what changes you are making and to thank them
378for their time. Code review is a tiring and time-consuming process, and
379reviewers sometimes get grumpy. Even in that case, though, respond
380politely and address the problems they have pointed out.
314 381
315It is important to note, either in the subject line or in the patch
316description, the kernel version to which this patch applies.
317 382
318If the patch does not apply cleanly to the latest kernel version,3839) Don't get discouraged - or impatient.
319Linus will not apply it.384----------------------------------------
320 385
386After you have submitted your change, be patient and wait. Reviewers are
387busy people and may not get to your patch right away.
321 388
389Once upon a time, patches used to disappear into the void without comment,
390but the development process works more smoothly than that now. You should
391receive comments within a week or so; if that does not happen, make sure
392that you have sent your patches to the right place. Wait for a minimum of
393one week before resubmitting or pinging reviewers - possibly longer during
394busy times like merge windows.
322 395
32310) Don't get discouraged. Re-submit.
324 396
325After you have submitted your change, be patient and wait. If Linus39710) Include PATCH in the subject
326likes your change and applies it, it will appear in the next version398--------------------------------
327of the kernel that he releases.
328
329However, if your change doesn't appear in the next version of the
330kernel, there could be any number of reasons. It's YOUR job to
331narrow down those reasons, correct what was wrong, and submit your
332updated change.
333
334It is quite common for Linus to "drop" your patch without comment.
335That's the nature of the system. If he drops your patch, it could be
336due 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
345When in doubt, solicit comments on linux-kernel mailing list.
346
347
348
34911) Include PATCH in the subject
350 399
351Due to high e-mail traffic to Linus, and to linux-kernel, it is common400Due to high e-mail traffic to Linus, and to linux-kernel, it is common
352convention to prefix your subject line with [PATCH]. This lets Linus401convention to prefix your subject line with [PATCH]. This lets Linus
@@ -355,7 +404,8 @@ e-mail discussions. · 2 unmodified lines
355 404
356 405
357 406
35812) Sign your work40711) Sign your work
408------------------
359 409
360To improve tracking of who did what, especially with patches that can410To improve tracking of who did what, especially with patches that can
361percolate to their final resting place in the kernel through several411percolate to their final resting place in the kernel through several
@@ -387,11 +437,11 @@ can certify the below: · 25 unmodified lines
387 person who certified (a), (b) or (c) and I have not modified437 person who certified (a), (b) or (c) and I have not modified
388 it.438 it.
389 439
390 (d) I understand and agree that this project and the contribution440 (d) I understand and agree that this project and the contribution
391 are public and that a record of the contribution (including all441 are public and that a record of the contribution (including all
392 personal information I submit with it, including my sign-off) is442 personal information I submit with it, including my sign-off) is
393 maintained indefinitely and may be redistributed consistent with443 maintained indefinitely and may be redistributed consistent with
394 this project or the open source license(s) involved.444 this project or the open source license(s) involved.
395 445
396then you just add a line saying446then you just add a line saying
397 447
@@ -401,7 +451,7 @@ using your real name (sorry, no pseudonyms or anonymous contributions.) · 3 unmodified lines
401 451
402Some people also put extra tags at the end. They'll just be ignored for452Some people also put extra tags at the end. They'll just be ignored for
403now, but you can do this to mark internal company procedures or just453now, but you can do this to mark internal company procedures or just
404point out some special detail about the sign-off. 454point out some special detail about the sign-off.
405 455
406If you are a subsystem or branch maintainer, sometimes you need to slightly456If you are a subsystem or branch maintainer, sometimes you need to slightly
407modify patches you receive in order to merge them, because the code is not457modify 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
429Special note to back-porters: It seems to be a common and useful practice479Special note to back-porters: It seems to be a common and useful practice
430to insert an indication of the origin of a patch at the top of the commit480to insert an indication of the origin of a patch at the top of the commit
431message (just after the subject line) to facilitate tracking. For instance,481message (just after the subject line) to facilitate tracking. For instance,
432here's what we see in 2.6-stable :482here's what we see in a 3.x-stable release:
433 483
434 Date: Tue May 13 19:10:30 2008 +0000484Date: Tue Oct 7 07:26:38 2014 -0400
435 485
436 SCSI: libiscsi regression in 2.6.25: fix nop timer handling486 libata: Un-break ATA blacklist
437 487
438 commit 4cf1043593db6a337f10e006c23c69e5fc93e722 upstream488 commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 upstream.
439 489
440And here's what appears in 2.4 :490And here's what might appear in an older kernel once a patch is backported:
441 491
442 Date: Tue May 13 22:12:27 2008 +0200492 Date: Tue May 13 22:12:27 2008 +0200
443 493
@@ -446,18 +496,19 @@ And here's what appears in 2.4 : · 2 unmodified lines
446 [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]496 [backport of 2.6 commit b7acbdfbd1f277c1eb23f344f899cfa4cd0bf36a]
447 497
448Whatever the format, this information provides a valuable help to people498Whatever the format, this information provides a valuable help to people
449tracking your trees, and to people trying to trouble-shoot bugs in your499tracking your trees, and to people trying to troubleshoot bugs in your
450tree.500tree.
451 501
452 502
45313) When to use Acked-by: and Cc:50312) When to use Acked-by: and Cc:
504---------------------------------
454 505
455The Signed-off-by: tag indicates that the signer was involved in the506The Signed-off-by: tag indicates that the signer was involved in the
456development of the patch, or that he/she was in the patch's delivery path.507development of the patch, or that he/she was in the patch's delivery path.
457 508
458If a person was not directly involved in the preparation or handling of a509If a person was not directly involved in the preparation or handling of a
459patch but wishes to signify and record their approval of it then they can510patch but wishes to signify and record their approval of it then they can
460arrange to have an Acked-by: line added to the patch's changelog.511ask to have an Acked-by: line added to the patch's changelog.
461 512
462Acked-by: is often used by the maintainer of the affected code when that513Acked-by: is often used by the maintainer of the affected code when that
463maintainer neither contributed to nor forwarded the patch.514maintainer neither contributed to nor forwarded the patch.
@@ -465,7 +516,8 @@ maintainer neither contributed to nor forwarded the patch. · 1 unmodified line
465Acked-by: is not as formal as Signed-off-by:. It is a record that the acker516Acked-by: is not as formal as Signed-off-by:. It is a record that the acker
466has at least reviewed the patch and has indicated acceptance. Hence patch517has at least reviewed the patch and has indicated acceptance. Hence patch
467mergers will sometimes manually convert an acker's "yep, looks good to me"518mergers will sometimes manually convert an acker's "yep, looks good to me"
468into an Acked-by:.519into an Acked-by: (but note that it is usually better to ask for an
520explicit ack).
469 521
470Acked-by: does not necessarily indicate acknowledgement of the entire patch.522Acked-by: does not necessarily indicate acknowledgement of the entire patch.
471For example, if a patch affects multiple subsystems and has an Acked-by: from523For example, if a patch affects multiple subsystems and has an Acked-by: from
@@ -477,11 +529,13 @@ list archives. · 5 unmodified lines
477If a person has had the opportunity to comment on a patch, but has not529If a person has had the opportunity to comment on a patch, but has not
478provided such comments, you may optionally add a "Cc:" tag to the patch.530provided such comments, you may optionally add a "Cc:" tag to the patch.
479This is the only tag which might be added without an explicit action by the531This is the only tag which might be added without an explicit action by the
480person it names. This tag documents that potentially interested parties532person it names - but it should indicate that this person was copied on the
481have been included in the discussion533patch. This tag documents that potentially interested parties
534have been included in the discussion.
482 535
483 536
48414) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:53713) Using Reported-by:, Tested-by:, Reviewed-by:, Suggested-by: and Fixes:
538--------------------------------------------------------------------------
485 539
486The Reported-by tag gives credit to people who find bugs and report them and it540The Reported-by tag gives credit to people who find bugs and report them and it
487hopefully inspires them to help us again in the future. Please note that if541hopefully 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
541method for indicating a bug fixed by the patch. See #2 above for more details.595method for indicating a bug fixed by the patch. See #2 above for more details.
542 596
543 597
54415) The canonical patch format59814) The canonical patch format
599------------------------------
600
601This section describes how the patch itself should be formatted. Note
602that, if you have your patches stored in a git repository, proper patch
603formatting can be had with "git format-patch". The tools cannot create
604the necessary text, though, so read the instructions below anyway.
545 605
546The canonical patch subject line is:606The canonical patch subject line is:
547 607
@@ -549,7 +609,8 @@ The canonical patch subject line is: · 1 unmodified line
549 609
550The canonical patch message body contains the following:610The canonical patch message body contains the following:
551 611
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).
553 614
554 - An empty line.615 - An empty line.
555 616
@@ -656,128 +717,63 @@ See more details on the proper patch format in the following · 100 unmodified lines
656references.717references.
657 718
658 719
65916) Sending "git pull" requests (from Linus emails)72015) Sending "git pull" requests
660 721-------------------------------
661Please write the git repo address and branch name alone on the same line
662so that I can't even by mistake pull from the wrong branch, and so
663that a triple-click just selects the whole thing.
664
665So 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
673so that I don't have to hunt-and-peck for the address and inevitably
674get it wrong (actually, I've only gotten it wrong a few times, and
675checking against the diffstat tells me when I get it wrong, but I'm
676just a lot more comfortable when I don't have to "look for" the right
677thing to pull, and double-check that I have the right branch-name).
678
679
680Please use "git diff -M --stat --summary" to generate the diffstat:
681the -M enables rename detection, and the summary enables a summary of
682new/deleted or renamed files.
683
684With rename detection, the statistics are rather different [...]
685because git will notice that a fair number of the changes are renames.
686
687-----------------------------------
688SECTION 2 - HINTS, TIPS, AND TRICKS
689-----------------------------------
690
691This section lists many of the common "rules" associated with code
692submitted to the kernel. There are always exceptions... but you must
693have a really good reason for doing so. You could probably call this
694section Linus Computer Science 101.
695
696
697
6981) Read Documentation/CodingStyle
699
700Nuff said. If your code deviates too much from this, it is likely
701to be rejected without further review, and without comment.
702
703One significant exception is when moving code from one file to
704another -- in this case you should not modify the moved code at all in
705the same patch which moves it. This clearly delineates the act of
706moving the code and your changes. This greatly aids review of the
707actual differences and allows tools to better track the history of
708the code itself.
709
710Check your patches with the patch style checker prior to submission
711(scripts/checkpatch.pl). The style checker should be viewed as
712a guide not as the final word. If your code looks better with
713a violation then its probably best left alone.
714
715The 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
720You should be able to justify all violations that remain in your
721patch.
722
723
724
7252) #ifdefs are ugly
726
727Code cluttered with ifdefs is difficult to read and maintain. Don't do
728it. Instead, put your ifdefs in a header, and conditionally define
729'static inline' functions, or macros, which are used in the code.
730Let the compiler optimize away the "no-op" case.
731
732Simple 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
741Cleaned-up example:
742
743(in header)
744 #ifndef CONFIG_NET_FUNKINESS
745 static inline void init_funky_net (struct net_device *d) {}
746 #endif
747 722
748(in the code itself)723If you have a series of patches, it may be most convenient to have the
749 dev = alloc_etherdev (sizeof(struct funky_private));724maintainer pull them directly into the subsystem repository with a
750 if (!dev)725"git pull" operation. Note, however, that pulling patches from a developer
751 return -ENODEV;726requires a higher degree of trust than taking patches from a mailing list.
752 init_funky_net(dev);727As a result, many subsystem maintainers are reluctant to take pull
728requests, especially from new, unknown developers. If in doubt you can use
729the pull request as the cover letter for a normal posting of the patch
730series, giving the maintainer the option of using either.
753 731
732A pull request should have [GIT] or [PULL] in the subject line. The
733request itself should include the repository name and the branch of
734interest on a single line; it should look something like:
754 735
736 Please pull from
755 737
7563) 'static inline' is better than a macro738 git://jdelvare.pck.nerim.net/jdelvare-2.6 i2c-for-linus
757 739
758Static inline functions are greatly preferred over macros.740 to get these changes:"
759They provide type safety, have no length limitations, no formatting
760limitations, and under gcc they are as cheap as macros.
761 741
762Macros should only be used for cases where a static inline is clearly742A pull request should also include an overall message saying what will be
763suboptimal [there are a few, isolated cases of this in fast paths],743included in the request, a "git shortlog" listing of the patches
764or where it is impossible to use a static inline function [such as744themselves, and a diffstat showing the overall effect of the patch series.
765string-izing].745The easiest way to get all this information together is, of course, to let
746git do it for you with the "git request-pull" command.
766 747
767'static inline' is preferred over 'static __inline__', 'extern inline',748Some maintainers (including Linus) want to see pull requests from signed
768and 'extern __inline__'.749commits; that increases their confidence that the request actually came
750from you. Linus, in particular, will not pull from public hosting sites
751like GitHub in the absence of a signed tag.
769 752
753The first step toward creating such tags is to make a GNUPG key and get it
754signed by one or more core kernel developers. This step can be hard for
755new developers, but there is no way around it. Attending conferences can
756be a good way to find developers who can sign your key.
770 757
758Once you have prepared a patch series in git that you wish to have somebody
759pull, create a signed tag with "git tag -s". This will create a new tag
760identifying the last commit in the series and containing a signature
761created with your private key. You will also have the opportunity to add a
762changelog-style message to the tag; this is an ideal place to describe the
763effects of the pull request as a whole.
771 764
7724) Don't over-design.765If the tree the maintainer will be pulling from is not the repository you
766are working from, don't forget to push the signed tag explicitly to the
767public tree.
773 768
774Don't try to anticipate nebulous future cases which may or may not769When generating your pull request, use the signed tag as the target. A
775be useful: "Make it as simple as you can, and no simpler."770command like this will do the trick:
776 771
772 git request-pull master git://my.public.tree/linux.git my-signed-tag
777 773
778 774
779----------------------775----------------------
780SECTION 3 - REFERENCES776SECTION 2 - REFERENCES
781----------------------777----------------------
782 778
783Andrew Morton, "The perfect patch" (tpp).779Andrew Morton, "The perfect patch" (tpp).
Documentation/acpi/enumeration.txt+1−1
@@ -243,7 +243,7 @@ input driver: · 242 unmodified lines
243 .owner = THIS_MODULE,243 .owner = THIS_MODULE,
244 .pm = &mpu3050_pm,244 .pm = &mpu3050_pm,
245 .of_match_table = mpu3050_of_match,245 .of_match_table = mpu3050_of_match,
246 .acpi_match_table ACPI_PTR(mpu3050_acpi_match),246 .acpi_match_table = ACPI_PTR(mpu3050_acpi_match),
247 },247 },
248 .probe = mpu3050_probe,248 .probe = mpu3050_probe,
249 .remove = mpu3050_remove,249 .remove = mpu3050_remove,
Documentation/arm/00-INDEX+7−5
@@ -2,11 +2,15 @@ · 1 unmodified line
2 - this file2 - this file
3Booting3Booting
4 - requirements for booting4 - requirements for booting
5CCN.txt
6 - Cache Coherent Network ring-bus and perf PMU driver.
5Interrupts7Interrupts
6 - ARM Interrupt subsystem documentation8 - ARM Interrupt subsystem documentation
7IXP4xx9IXP4xx
8 - Intel IXP4xx Network processor.10 - Intel IXP4xx Network processor.
9msm11Makefile
12 - Build sourcefiles as part of the Documentation-build for arm
13msm/
10 - MSM specific documentation14 - MSM specific documentation
11Netwinder15Netwinder
12 - Netwinder specific documentation16 - Netwinder specific documentation
@@ -18,11 +22,9 @@ README · 5 unmodified lines
18 - General ARM documentation22 - General ARM documentation
19SA1100/23SA1100/
20 - SA1100 documentation24 - SA1100 documentation
21Samsung-S3C24XX25Samsung-S3C24XX/
22 - S3C24XX ARM Linux Overview26 - S3C24XX ARM Linux Overview
23Sharp-LH27SPEAr/
24 - Linux on Sharp LH79524 and LH7A40X System On a Chip (SOC)
25SPEAr
26 - ST SPEAr platform Linux Overview28 - ST SPEAr platform Linux Overview
27VFP/29VFP/
28 - Release notes for Linux Kernel Vector Floating Point support code30 - Release notes for Linux Kernel Vector Floating Point support code
Documentation/arm/Atmel/README+124−0
@@ -0,0 +1,124 @@
1ARM Atmel SoCs (aka AT91)
2=========================
3
4
5Introduction
6------------
7This document gives useful information about the ARM Atmel SoCs that are
8currently supported in Linux Mainline (you know, the one on kernel.org).
9
10It is important to note that the Atmel | SMART ARM-based MPU product line is
11historically named "AT91" or "at91" throughout the Linux kernel development
12process even if this product prefix has completely disappeared from the
13official Atmel product name. Anyway, files, directories, git trees,
14git branches/tags and email subject always contain this "at91" sub-string.
15
16
17AT91 SoCs
18---------
19Documentation and detailled datasheet for each product are available on
20the 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
94Linux kernel information
95------------------------
96Linux kernel mach directory: arch/arm/mach-at91
97MAINTAINERS entry is: "ARM/ATMEL AT91RM9200 AND AT91SAM ARM ARCHITECTURES"
98
99
100Device Tree for AT91 SoCs and boards
101------------------------------------
102All AT91 SoCs are converted to Device Tree. Since Linux 3.19, these products
103must use this method to boot the Linux kernel.
104
105Work In Progress statement:
106Device Tree files and Device Tree bindings that apply to AT91 SoCs and boards are
107considered as "Unstable". To be completely clear, any at91 binding can change at
108any time. So, be sure to use a Device Tree Binary and a Kernel Image generated from
109the same source tree.
110Please refer to the Documentation/devicetree/bindings/ABI.txt file for a
111definition of a "Stable" binding/ABI.
112This statement will be removed by AT91 MAINTAINERS when appropriate.
113
114Naming 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
4Introduction
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
13DMA 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
41Authour
42-------
43
44Ben Dooks,
45Copyright (c) 2007 Ben Dooks, Simtec Electronics
46Licensed under the GPL v2
Documentation/arm/sti/stih418-overview.txt+20−0
@@ -0,0 +1,20 @@
1 STiH418 Overview
2 ================
3
4Introduction
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
50 http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf50 http://dl.linux-sunxi.org/A31/A3x_release_document/A31/IC/A31%20user%20manual%20V1.1%2020130630.pdf
51 51
52 - Allwinner A31s (sun6i)52 - Allwinner A31s (sun6i)
53 + Not Supported
54 + Datasheet53 + Datasheet
55 http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf54 http://dl.linux-sunxi.org/A31/A3x_release_document/A31s/IC/A31s%20datasheet%20V1.3%2020131106.pdf
56 + User Manual55 + 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
32architecture. Deprecated instructions should default to emulation32architecture. Deprecated instructions should default to emulation
33while obsolete instructions must be undefined by default.33while obsolete instructions must be undefined by default.
34 34
35Note: Instruction emulation may not be possible in all cases. See
36individual instruction notes for further information.
37
35Supported legacy instructions38Supported legacy instructions
36-----------------------------39-----------------------------
37* SWP{B}40* SWP{B}
@@ -43,3 +46,12 @@ Default: Undef (0) · 5 unmodified lines
43Node: /proc/sys/abi/cp15_barrier46Node: /proc/sys/abi/cp15_barrier
44Status: Deprecated47Status: Deprecated
45Default: Emulate (1)48Default: Emulate (1)
49
50* SETEND
51Node: /proc/sys/abi/setend
52Status: Deprecated
53Default: Emulate (1)*
54Note: All the cpus on the system must have mixed endian support at EL0
55for this feature to be enabled. If a new CPU - which doesn't support mixed
56endian - is hotplugged in after this feature has been enabled, there could
57be unexpected results in the application.
Documentation/blackfin/Makefile+2−0
@@ -1,3 +1,5 @@
1ifneq ($(CONFIG_BLACKFIN),)1ifneq ($(CONFIG_BLACKFIN),)
2ifneq ($(CONFIG_BFIN_GPTIMERS,)
2obj-m := gptimers-example.o3obj-m := gptimers-example.o
3endif4endif
5endif
Documentation/cachetlb.txt+4−4
@@ -317,10 +317,10 @@ maps this page at its virtual address. · 316 unmodified lines
317 about doing this.317 about doing this.
318 318
319 The idea is, first at flush_dcache_page() time, if319 The idea is, first at flush_dcache_page() time, if
320 page->mapping->i_mmap is an empty tree and ->i_mmap_nonlinear320 page->mapping->i_mmap is an empty tree, just mark the architecture
321 an empty list, just mark the architecture private page flag bit.321 private page flag bit. Later, in update_mmu_cache(), a check is
322 Later, in update_mmu_cache(), a check is made of this flag bit,322 made of this flag bit, and if set the flush is done and the flag
323 and if set the flush is done and the flag bit is cleared.323 bit is cleared.
324 324
325 IMPORTANT NOTE: It is often important, if you defer the flush,325 IMPORTANT NOTE: It is often important, if you defer the flush,
326 that the actual flush occurs on the same CPU326 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
24 - Network priority cgroups details and usages.24 - Network priority cgroups details and usages.
25resource_counter.txt25resource_counter.txt
26 - Resource Counter API.26 - Resource Counter API.
27unified-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
327- use_hierarchy is on by default and the cgroup file for the flag is327- use_hierarchy is on by default and the cgroup file for the flag is
328 not created.328 not created.
329 329
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.
330 409
3315. Planned Changes4105. Planned Changes
332 411
Documentation/clk.txt+2−0
@@ -73,6 +73,8 @@ the operations defined in clk.h: · 72 unmodified lines
73 unsigned long *parent_rate);73 unsigned long *parent_rate);
74 long (*determine_rate)(struct clk_hw *hw,74 long (*determine_rate)(struct clk_hw *hw,
75 unsigned long rate,75 unsigned long rate,
76 unsigned long min_rate,
77 unsigned long max_rate,
76 unsigned long *best_parent_rate,78 unsigned long *best_parent_rate,
77 struct clk_hw **best_parent_clk);79 struct clk_hw **best_parent_clk);
78 int (*set_parent)(struct clk_hw *hw, u8 index);80 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
37 no_turbo: limits the driver to selecting P states below the turbo37 no_turbo: limits the driver to selecting P states below the turbo
38 frequency range.38 frequency range.
39 39
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
40For contemporary Intel processors, the frequency is controlled by the48For contemporary Intel processors, the frequency is controlled by the
41processor itself and the P-states exposed to software are related to49processor itself and the P-states exposed to software are related to
42performance levels. The idea that frequency can be set to a single50performance 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
51 Otherwise #opt_params is the number of following arguments.51 Otherwise #opt_params is the number of following arguments.
52 52
53 Example of optional parameters section:53 Example of optional parameters section:
54 1 allow_discards54 3 allow_discards same_cpu_crypt submit_from_crypt_cpus
55 55
56allow_discards56allow_discards
57 Block discard requests (a.k.a. TRIM) are passed through the crypt device.57 Block discard requests (a.k.a. TRIM) are passed through the crypt device.
@@ -63,6 +63,19 @@ allow_discards · 5 unmodified lines
63 used space etc.) if the discarded blocks can be located easily on the63 used space etc.) if the discarded blocks can be located easily on the
64 device later.64 device later.
65 65
66same_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
71submit_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
66Example scripts79Example scripts
67===============80===============
68LUKS (Linux Unified Key Setup) is now the preferred way to set up disk81LUKS (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
15 15
16compatible: must contain "marvell,armada385"16compatible: must contain "marvell,armada385"
17 17
18In addition, boards using the Marvell Armada 388 SoC shall have the
19following property before the previous one:
20
21Required root node property:
22
23compatible: must contain "marvell,armada388"
24
18Example:25Example:
19 26
20compatible = "marvell,a385-rd", "marvell,armada385", "marvell,armada380";27compatible = "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
24 o "atmel,at91sam9g45"24 o "atmel,at91sam9g45"
25 o "atmel,at91sam9n12"25 o "atmel,at91sam9n12"
26 o "atmel,at91sam9rl"26 o "atmel,at91sam9rl"
27 o "atmel,at91sam9xe"
27 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific28 * "atmel,sama5" for SoCs using a Cortex-A5, shall be extended with the specific
28 SoC family:29 SoC family:
29 o "atmel,sama5d3" shall be extended with the specific SoC compatible:30 o "atmel,sama5d3" shall be extended with the specific SoC compatible:
@@ -136,3 +137,19 @@ Example: · 106 unmodified lines
136 compatible = "atmel,at91sam9260-rstc";137 compatible = "atmel,at91sam9260-rstc";
137 reg = <0xfffffd00 0x10>;138 reg = <0xfffffd00 0x10>;
138 };139 };
140
141Special Function Registers (SFR)
142
143Special Function Registers (SFR) manage specific aspects of the integrated
144memory, bridge implementations, processor and other functionality not controlled
145elsewhere.
146
147required 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
79Required properties79Required properties
80 80
81 - compatible81 - 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.
83 85
84 - syscon86 - syscon
85 A phandle / integer array that points to the syscon node which describes87 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
38 AMBA markee):38 AMBA markee):
39 - "arm,coresight-replicator"39 - "arm,coresight-replicator"
40 40
41 * id: a unique number that will identify this replicator.
42
43 * port or ports: same as above.41 * port or ports: same as above.
44 42
45* Optional properties for ETM/PTMs:43* Optional properties for ETM/PTMs:
@@ -94,8 +92,6 @@ Example: · 48 unmodified lines
94 * AMBA bus. As such no need to add "arm,primecell".92 * AMBA bus. As such no need to add "arm,primecell".
95 */93 */
96 compatible = "arm,coresight-replicator";94 compatible = "arm,coresight-replicator";
97 /* this will show up in debugfs as "0.replicator" */
98 id = <0>;
99 95
100 ports {96 ports {
101 #address-cells = <1>;97 #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
175 "marvell,pj4a"175 "marvell,pj4a"
176 "marvell,pj4b"176 "marvell,pj4b"
177 "marvell,sheeva-v5"177 "marvell,sheeva-v5"
178 "nvidia,tegra132-denver"
178 "qcom,krait"179 "qcom,krait"
179 "qcom,scorpion"180 "qcom,scorpion"
180 - enable-method181 - enable-method
Documentation/devicetree/bindings/arm/digicolor.txt+6−0
@@ -0,0 +1,6 @@
1Conexant Digicolor Platforms Device Tree Bindings
2
3Each device tree must specify which Conexant Digicolor SoC it uses.
4Must 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
23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3)23 devices in this power domain. Maximum of 4 pairs (N = 0 to 3)
24 are supported currently.24 are supported currently.
25 25
26Node of a device using power domains must have a samsung,power-domain property26Node of a device using power domains must have a power-domains property
27defined with a phandle to respective power domain.27defined with a phandle to respective power domain.
28 28
29Example:29Example:
Documentation/devicetree/bindings/arm/fsl.txt+20−0
@@ -75,6 +75,18 @@ i.MX6q generic board · 74 unmodified lines
75Required root node properties:75Required root node properties:
76 - compatible = "fsl,imx6q";76 - compatible = "fsl,imx6q";
77 77
78Freescale Vybrid Platform Device Tree Bindings
79----------------------------------------------
80
81For the Vybrid SoC familiy all variants with DDR controller are supported,
82which is the VF5xx and VF6xx series. Out of historical reasons, in most
83places the kernel uses vf610 to refer to the whole familiy.
84
85Required root node compatible property (one of them):
86 - compatible = "fsl,vf500";
87 - compatible = "fsl,vf510";
88 - compatible = "fsl,vf600";
89 - compatible = "fsl,vf610";
78 90
79Freescale LS1021A Platform Device Tree Bindings91Freescale LS1021A Platform Device Tree Bindings
80------------------------------------------------92------------------------------------------------
@@ -112,3 +124,11 @@ Example: · 31 unmodified lines
112 compatible = "fsl,ls1021a-dcfg";124 compatible = "fsl,ls1021a-dcfg";
113 reg = <0x0 0x1ee0000 0x0 0x10000>;125 reg = <0x0 0x1ee0000 0x0 0x10000>;
114 };126 };
127
128Freescale LS2085A SoC Device Tree Bindings
129------------------------------------------
130
131LS2085A ARMv8 based Simulator model
132Required 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
32 The 3rd cell is the flags, encoded as follows:32 The 3rd cell is the flags, encoded as follows:
33 bits[3:0] trigger type and level flags.33 bits[3:0] trigger type and level flags.
34 1 = low-to-high edge triggered34 1 = low-to-high edge triggered
35 2 = high-to-low edge triggered35 2 = high-to-low edge triggered (invalid for SPIs)
36 4 = active high level-sensitive36 4 = active high level-sensitive
37 8 = active low level-sensitive37 8 = active low level-sensitive (invalid for SPIs).
38 bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of38 bits[15:8] PPI interrupt cpu mask. Each bit corresponds to each of
39 the 8 possible cpus attached to the GIC. A bit set to '1' indicated39 the 8 possible cpus attached to the GIC. A bit set to '1' indicated
40 the interrupt is wired to that CPU. Only valid for PPI interrupts.40 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).
41 45
42- reg : Specifies base physical address(s) and size of the GIC registers. The46- reg : Specifies base physical address(s) and size of the GIC registers. The
43 first region is the GIC distributor register base and size. The 2nd region is47 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
9Required root node properties:9Required root node properties:
10 - compatible = "hisilicon,hip04-d01";10 - compatible = "hisilicon,hip04-d01";
11 11
12HiP01 ca9x2 Board
13Required root node properties:
14 - compatible = "hisilicon,hip01-ca9x2";
15
12 16
13Hisilicon system controller17Hisilicon system controller
14 18
@@ -36,6 +40,27 @@ Example: · 21 unmodified lines
36 reboot-offset = <0x4>;40 reboot-offset = <0x4>;
37 };41 };
38 42
43-----------------------------------------------------------------------
44Hisilicon HiP01 system controller
45
46Required properties:
47- compatible : "hisilicon,hip01-sysctrl"
48- reg : Register address and size
49
50The HiP01 system controller is mostly compatible with hisilicon
51system controller,but it has some specific control registers for
52HIP01 SoC family, such as slave core boot, and also some same
53registers located at different offset.
54
55Example:
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
39-----------------------------------------------------------------------64-----------------------------------------------------------------------
40Hisilicon CPU controller65Hisilicon CPU controller
41 66
Documentation/devicetree/bindings/arm/l2cc.txt+10−0
@@ -57,6 +57,16 @@ Optional properties: · 56 unmodified lines
57- cache-id-part: cache id part number to be used if it is not present57- cache-id-part: cache id part number to be used if it is not present
58 on hardware58 on hardware
59- wt-override: If present then L2 is forced to Write through mode59- 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.
60 70
61Example:71Example:
62 72
Documentation/devicetree/bindings/arm/mediatek.txt+4−0
@@ -9,6 +9,7 @@ compatible: Must contain one of · 8 unmodified lines
9 "mediatek,mt6592"9 "mediatek,mt6592"
10 "mediatek,mt8127"10 "mediatek,mt8127"
11 "mediatek,mt8135"11 "mediatek,mt8135"
12 "mediatek,mt8173"
12 13
13 14
14Supported boards:15Supported boards:
@@ -25,3 +26,6 @@ Supported boards: · 10 unmodified lines
25- MTK mt8135 tablet EVB:26- MTK mt8135 tablet EVB:
26 Required root node properties:27 Required root node properties:
27 - compatible = "mediatek,mt8135-evbp1", "mediatek,mt8135";28 - 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
5 5
6Required properties:6Required properties:
7- compatible: should be one of:7- compatible: should be one of:
8 "mediatek,mt8173-sysirq"
8 "mediatek,mt8135-sysirq"9 "mediatek,mt8135-sysirq"
9 "mediatek,mt8127-sysirq"10 "mediatek,mt8127-sysirq"
11 "mediatek,mt6592-sysirq"
10 "mediatek,mt6589-sysirq"12 "mediatek,mt6589-sysirq"
11 "mediatek,mt6582-sysirq"13 "mediatek,mt6582-sysirq"
12 "mediatek,mt6577-sysirq"14 "mediatek,mt6577-sysirq"
Documentation/devicetree/bindings/arm/msm/timer.txt+1−1
@@ -8,7 +8,7 @@ Properties: · 7 unmodified lines
8 "qcom,kpss-timer" - krait subsystem8 "qcom,kpss-timer" - krait subsystem
9 "qcom,scss-timer" - scorpion subsystem9 "qcom,scss-timer" - scorpion subsystem
10 10
11- interrupts : Interrupts for the the debug timer, the first general purpose11- interrupts : Interrupts for the debug timer, the first general purpose
12 timer, and optionally a second general purpose timer in that12 timer, and optionally a second general purpose timer in that
13 order.13 order.
14 14
Documentation/devicetree/bindings/arm/rockchip.txt+10−0
@@ -9,6 +9,16 @@ Rockchip platforms device tree bindings · 8 unmodified lines
9 Required root node properties:9 Required root node properties:
10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";10 - compatible = "mundoreader,bq-curie2", "rockchip,rk3066a";
11 11
12- ChipSPARK Rayeager PX2 board:
13 Required root node properties:
14 - compatible = "chipspark,rayeager-px2", "rockchip,rk3066a";
15
12- Radxa Rock board:16- Radxa Rock board:
13 Required root node properties:17 Required root node properties:
14 - compatible = "radxa,rock", "rockchip,rk3188";18 - 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 @@
1Rockchip SRAM for pmu:
2------------------------------
3
4The sram of pmu is used to store the function of resume from maskrom(the 1st
5level loader). This is a common use of the "pmu-sram" because it keeps power
6even in low power states in the system.
7
8Required node properties:
9- compatible : should be "rockchip,rk3288-pmu-sram"
10- reg : physical base address and the size of the registers window
11
12Example:
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 @@
1SAMSUNG Exynos SoCs Chipid driver.
2
3Required properties:
4- compatible : Should at least contain "samsung,exynos4210-chipid".
5
6- reg: offset and length of the register set
7
8Example:
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
10 - "samsung,exynos5260-pmu" - for Exynos5260 SoC.10 - "samsung,exynos5260-pmu" - for Exynos5260 SoC.
11 - "samsung,exynos5410-pmu" - for Exynos5410 SoC,11 - "samsung,exynos5410-pmu" - for Exynos5410 SoC,
12 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.12 - "samsung,exynos5420-pmu" - for Exynos5420 SoC.
13 - "samsung,exynos7-pmu" - for Exynos7 SoC.
13 second value must be always "syscon".14 second value must be always "syscon".
14 15
15 - reg : offset and length of the register set.16 - 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
3 3
4Required root node properties:4Required root node properties:
5 - compatible:5 - 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
6 - "sirf,prima2-cb" : prima2 "cb" evaluation board10 - "sirf,prima2-cb" : prima2 "cb" evaluation board
7 - "sirf,marco-cb" : marco "cb" evaluation board
8 - "sirf,prima2" : prima2 device based board11 - "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 @@
1Spreadtrum SoC Platforms Device Tree Bindings
2----------------------------------------------------
3
4Sharkl64 is a Spreadtrum's SoC Platform which is based
5on ARM 64-bit processor.
6
7SC9836 openphone board with SC9836 SoC based on the
8Sharkl64 Platform shall have the following properties.
9
10Required 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
13Required root node property:13Required root node property:
14compatible = "st,stih407";14compatible = "st,stih407";
15 15
16Boards with the ST STiH418 SoC shall have the following properties:
17Required root node property:
18compatible = "st,stih418";
19
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-ahb.txt+4−1
@@ -1,7 +1,10 @@
1NVIDIA Tegra AHB1NVIDIA Tegra AHB
2 2
3Required properties:3Required 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.
5- reg : Should contain 1 register ranges(address and length)8- reg : Should contain 1 register ranges(address and length)
6 9
7Example:10Example:
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
6 6
7Required properties:7Required properties:
8- name : Should be pmc8- 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.
10- reg : Offset and length of the register set for the device14- reg : Offset and length of the register set for the device
11- clocks : Must contain an entry for each entry in clock-names.15- clocks : Must contain an entry for each entry in clock-names.
12 See ../clocks/clock-bindings.txt for details.16 See ../clocks/clock-bindings.txt for details.
@@ -47,6 +51,23 @@ Required properties when nvidia,suspend-mode=<0>: · 34 unmodified lines
47 sleep mode, the warm boot code will restore some PLLs, clocks and then51 sleep mode, the warm boot code will restore some PLLs, clocks and then
48 bring up CPU0 for resuming the system.52 bring up CPU0 for resuming the system.
49 53
54Hardware-triggered thermal reset:
55On Tegra30, Tegra114 and Tegra124, if the 'i2c-thermtrip' subnode exists,
56hardware-triggered thermal reset will be enabled.
57
58Required 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
66Optional 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
50Example:71Example:
51 72
52/ SoC dts including file73/ SoC dts including file
@@ -68,6 +89,15 @@ pmc@7000f400 { · 15 unmodified lines
68 89
69/ Tegra board dts file90/ Tegra board dts file
70{91{
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 };
71 ...101 ...
72 clocks {102 clocks {
73 compatible = "simple-bus";103 compatible = "simple-bus";
Documentation/devicetree/bindings/arm/versatile-sysreg.txt+10−0
@@ -0,0 +1,10 @@
1ARM Versatile system registers
2--------------------------------------
3
4This is a system control registers block, providing multiple low level
5platform functions like board detection and identification, software
6interrupt generation, MMC and NOR Flash control etc.
7
8Required 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
37 37
38 38
39Sub-nodes required properties:39Sub-nodes required properties:
40- reg : the port number40- reg : the port number
41- phys : reference to the SATA PHY node41And at least one of the following properties:
42 42- phys : reference to the SATA PHY node
43- target-supply : regulator for SATA target power
43 44
44Examples:45Examples:
45 sata@ffe08000 {46 sata@ffe08000 {
@@ -68,10 +69,12 @@ With sub-nodes: · 22 unmodified lines
68 sata0: sata-port@0 {69 sata0: sata-port@0 {
69 reg = <0>;70 reg = <0>;
70 phys = <&sata_phy 0>;71 phys = <&sata_phy 0>;
72 target-supply = <&reg_sata0>;
71 };73 };
72 74
73 sata1: sata-port@1 {75 sata1: sata-port@1 {
74 reg = <1>;76 reg = <1>;
75 phys = <&sata_phy 1>;77 phys = <&sata_phy 1>;
78 target-supply = <&reg_sata1>;;
76 };79 };
77 };80 };
Documentation/devicetree/bindings/ata/cavium-compact-flash.txt+1−1
@@ -9,7 +9,7 @@ Properties: · 8 unmodified lines
9 9
10 Compatibility with many Cavium evaluation boards.10 Compatibility with many Cavium evaluation boards.
11 11
12- reg: The base address of the the CF chip select banks. Depending on12- reg: The base address of the CF chip select banks. Depending on
13 the device configuration, there may be one or two banks.13 the device configuration, there may be one or two banks.
14 14
15- cavium,bus-width: The width of the connection to the CF devices. Valid15- 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 @@
1Tegra124 SoC SATA AHCI controller1Tegra124 SoC SATA AHCI controller
2 2
3Required properties :3Required 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.
5- reg : Should contain 2 entries:7- reg : Should contain 2 entries:
6 - AHCI register set (SATA BAR5)8 - AHCI register set (SATA BAR5)
7 - SATA register set9 - SATA register set
Documentation/devicetree/bindings/bus/mvebu-mbus.txt+2−2
@@ -6,8 +6,8 @@ Required properties: · 5 unmodified lines
6- compatible: Should be set to one of the following:6- compatible: Should be set to one of the following:
7 marvell,armada370-mbus7 marvell,armada370-mbus
8 marvell,armadaxp-mbus8 marvell,armadaxp-mbus
9 marvell,armada370-mbus9 marvell,armada375-mbus
10 marvell,armadaxp-mbus10 marvell,armada380-mbus
11 marvell,kirkwood-mbus11 marvell,kirkwood-mbus
12 marvell,dove-mbus12 marvell,dove-mbus
13 marvell,orion5x-88f5281-mbus13 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
12enable (and disable in some cases) SoC pin drivers, select peripheral clock12enable (and disable in some cases) SoC pin drivers, select peripheral clock
13sources (internal or pin), etc. In some cases, a configuration register is13sources (internal or pin), etc. In some cases, a configuration register is
14write once or the individual bits are write once. In addition to device config,14write once or the individual bits are write once. In addition to device config,
15the DSCR block may provide registers which which are used to reset peripherals,15the DSCR block may provide registers which are used to reset peripherals,
16provide device ID information, provide ethernet MAC addresses, as well as other16provide device ID information, provide ethernet MAC addresses, as well as other
17miscellaneous functions.17miscellaneous functions.
18 18
Documentation/devicetree/bindings/clock/alphascale,acc.txt+115−0
@@ -0,0 +1,115 @@
1Alphascale Clock Controller
2
3The ACC (Alphascale Clock Controller) is responsible of choising proper
4clock source, setting deviders and clock gates.
5
6Required 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
11Simple one-cell clock specifier format is used, where the only cell is used
12as an index of the clock inside the provider.
13It is encouraged to use dt-binding for clock index definitions. SoC specific
14dt-binding should be included to the device tree descriptor. For example
15Alphascale ASM9260:
16#include <dt-bindings/clock/alphascale,asm9260.h>
17
18This binding contains two types of clock providers:
19 _AHB_ - AHB gate;
20 _SYS_ - adjustable clock source. Not all peripheral have _SYS_ clock provider.
21All clock specific details can be found in the SoC documentation.
22CLKID_AHB_ROM 0
23CLKID_AHB_RAM 1
24CLKID_AHB_GPIO 2
25CLKID_AHB_MAC 3
26CLKID_AHB_EMI 4
27CLKID_AHB_USB0 5
28CLKID_AHB_USB1 6
29CLKID_AHB_DMA0 7
30CLKID_AHB_DMA1 8
31CLKID_AHB_UART0 9
32CLKID_AHB_UART1 10
33CLKID_AHB_UART2 11
34CLKID_AHB_UART3 12
35CLKID_AHB_UART4 13
36CLKID_AHB_UART5 14
37CLKID_AHB_UART6 15
38CLKID_AHB_UART7 16
39CLKID_AHB_UART8 17
40CLKID_AHB_UART9 18
41CLKID_AHB_I2S0 19
42CLKID_AHB_I2C0 20
43CLKID_AHB_I2C1 21
44CLKID_AHB_SSP0 22
45CLKID_AHB_IOCONFIG 23
46CLKID_AHB_WDT 24
47CLKID_AHB_CAN0 25
48CLKID_AHB_CAN1 26
49CLKID_AHB_MPWM 27
50CLKID_AHB_SPI0 28
51CLKID_AHB_SPI1 29
52CLKID_AHB_QEI 30
53CLKID_AHB_QUADSPI0 31
54CLKID_AHB_CAMIF 32
55CLKID_AHB_LCDIF 33
56CLKID_AHB_TIMER0 34
57CLKID_AHB_TIMER1 35
58CLKID_AHB_TIMER2 36
59CLKID_AHB_TIMER3 37
60CLKID_AHB_IRQ 38
61CLKID_AHB_RTC 39
62CLKID_AHB_NAND 40
63CLKID_AHB_ADC0 41
64CLKID_AHB_LED 42
65CLKID_AHB_DAC0 43
66CLKID_AHB_LCD 44
67CLKID_AHB_I2S1 45
68CLKID_AHB_MAC1 46
69
70CLKID_SYS_CPU 47
71CLKID_SYS_AHB 48
72CLKID_SYS_I2S0M 49
73CLKID_SYS_I2S0S 50
74CLKID_SYS_I2S1M 51
75CLKID_SYS_I2S1S 52
76CLKID_SYS_UART0 53
77CLKID_SYS_UART1 54
78CLKID_SYS_UART2 55
79CLKID_SYS_UART3 56
80CLKID_SYS_UART4 56
81CLKID_SYS_UART5 57
82CLKID_SYS_UART6 58
83CLKID_SYS_UART7 59
84CLKID_SYS_UART8 60
85CLKID_SYS_UART9 61
86CLKID_SYS_SPI0 62
87CLKID_SYS_SPI1 63
88CLKID_SYS_QUADSPI 64
89CLKID_SYS_SSP0 65
90CLKID_SYS_NAND 66
91CLKID_SYS_TRACE 67
92CLKID_SYS_CAMM 68
93CLKID_SYS_WDT 69
94CLKID_SYS_CLKOUT 70
95CLKID_SYS_MAC 71
96CLKID_SYS_LCD 72
97CLKID_SYS_ADCANA 73
98
99Example of clock consumer with _SYS_ and _AHB_ sinks.
100uart4: 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
108Clock consumer with only one, _AHB_ sink.
109timer0: 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
34 - "samsung,exynos7-clock-peris"34 - "samsung,exynos7-clock-peris"
35 - "samsung,exynos7-clock-fsys0"35 - "samsung,exynos7-clock-fsys0"
36 - "samsung,exynos7-clock-fsys1"36 - "samsung,exynos7-clock-fsys1"
37 - "samsung,exynos7-clock-mscl"
38 - "samsung,exynos7-clock-aud"
37 39
38 - reg: physical base address of the controller and the length of40 - reg: physical base address of the controller and the length of
39 memory mapped region.41 memory mapped region.
@@ -53,6 +55,7 @@ Input clocks for top0 clock controller: · 13 unmodified lines
53 - dout_sclk_bus1_pll55 - dout_sclk_bus1_pll
54 - dout_sclk_cc_pll56 - dout_sclk_cc_pll
55 - dout_sclk_mfc_pll57 - dout_sclk_mfc_pll
58 - dout_sclk_aud_pll
56 59
57Input clocks for top1 clock controller:60Input clocks for top1 clock controller:
58 - fin_pll61 - fin_pll
@@ -76,6 +79,14 @@ Input clocks for peric1 clock controller: · 17 unmodified lines
76 - sclk_uart179 - sclk_uart1
77 - sclk_uart280 - sclk_uart2
78 - sclk_uart381 - 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
79 90
80Input clocks for peris clock controller:91Input clocks for peris clock controller:
81 - fin_pll92 - fin_pll
@@ -91,3 +102,7 @@ Input clocks for fsys1 clock controller: · 9 unmodified lines
91 - dout_aclk_fsys1_200102 - dout_aclk_fsys1_200
92 - dout_sclk_mmc0103 - dout_sclk_mmc0
93 - dout_sclk_mmc1104 - dout_sclk_mmc1
105
106Input 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 @@
1NVIDIA Tegra124 Clock And Reset Controller1NVIDIA Tegra124 and Tegra132 Clock And Reset Controller
2 2
3This binding uses the common clock binding:3This binding uses the common clock binding:
4Documentation/devicetree/bindings/clock/clock-bindings.txt4Documentation/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
7for muxing and gating Tegra's clocks, and setting their rates.7for muxing and gating Tegra's clocks, and setting their rates.
8 8
9Required properties :9Required properties :
10- compatible : Should be "nvidia,tegra124-car"10- compatible : Should be "nvidia,tegra124-car" or "nvidia,tegra132-car"
11- reg : Should contain CAR registers location and length11- reg : Should contain CAR registers location and length
12- clocks : Should contain phandle and clock specifiers for two clocks:12- clocks : Should contain phandle and clock specifiers for two clocks:
13 the 32 KHz "32k_in", and the board-specific oscillator "osc".13 the 32 KHz "32k_in", and the board-specific oscillator "osc".
14- #clock-cells : Should be 1.14- #clock-cells : Should be 1.
15 In clock consumers, this cell represents the clock ID exposed by the15 In clock consumers, this cell represents the clock ID exposed by the
16 CAR. The assignments may be found in header file16 CAR. The assignments may be found in the header files
17 <dt-bindings/clock/tegra124-car.h>.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).
18- #reset-cells : Should be 1.20- #reset-cells : Should be 1.
19 In clock consumers, this cell represents the bit number in the CAR's21 In clock consumers, this cell represents the bit number in the CAR's
20 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.22 array of CLK_RST_CONTROLLER_RST_DEVICES_* registers.
Documentation/devicetree/bindings/clock/qcom,lcc.txt+21−0
@@ -0,0 +1,21 @@
1Qualcomm LPASS Clock & Reset Controller Binding
2------------------------------------------------
3
4Required 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
15Example:
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 Platforms1* Clock Block on Freescale QorIQ Platforms
2 2
3Freescale CoreNet chips take primary clocking input from the external3Freescale qoriq chips take primary clocking input from the external
4SYSCLK signal. The SYSCLK input (frequency) is multiplied using4SYSCLK signal. The SYSCLK input (frequency) is multiplied using
5multiple phase locked loops (PLL) to create a variety of frequencies5multiple phase locked loops (PLL) to create a variety of frequencies
6which can then be passed to a variety of internal logic, including6which can then be passed to a variety of internal logic, including
@@ -29,6 +29,7 @@ Required properties: · 22 unmodified lines
29 * "fsl,t4240-clockgen"29 * "fsl,t4240-clockgen"
30 * "fsl,b4420-clockgen"30 * "fsl,b4420-clockgen"
31 * "fsl,b4860-clockgen"31 * "fsl,b4860-clockgen"
32 * "fsl,ls1021a-clockgen"
32 Chassis clock strings include:33 Chassis clock strings include:
33 * "fsl,qoriq-clockgen-1.0": for chassis 1.0 clocks34 * "fsl,qoriq-clockgen-1.0": for chassis 1.0 clocks
34 * "fsl,qoriq-clockgen-2.0": for chassis 2.0 clocks35 * "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
11 11
12 - compatible: Must be one of the following12 - compatible: Must be one of the following
13 - "renesas,r7s72100-mstp-clocks" for R7S72100 (RZ) MSTP gate clocks13 - "renesas,r7s72100-mstp-clocks" for R7S72100 (RZ) MSTP gate clocks
14 - "renesas,r8a73a4-mstp-clocks" for R8A73A4 (R-Mobile APE6) MSTP gate clocks
14 - "renesas,r8a7740-mstp-clocks" for R8A7740 (R-Mobile A1) MSTP gate clocks15 - "renesas,r8a7740-mstp-clocks" for R8A7740 (R-Mobile A1) MSTP gate clocks
15 - "renesas,r8a7779-mstp-clocks" for R8A7779 (R-Car H1) MSTP gate clocks16 - "renesas,r8a7779-mstp-clocks" for R8A7779 (R-Car H1) MSTP gate clocks
16 - "renesas,r8a7790-mstp-clocks" for R8A7790 (R-Car H2) MSTP gate clocks17 - "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
3The CPG generates core clocks for the R8A73A4 SoC. It includes five PLLs
4and several fixed ratio dividers.
5
6Required 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
21Example
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
8 - compatible: Must be one of8 - compatible: Must be one of
9 - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG9 - "renesas,r8a7790-cpg-clocks" for the r8a7790 CPG
10 - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG10 - "renesas,r8a7791-cpg-clocks" for the r8a7791 CPG
11 - "renesas,r8a7793-cpg-clocks" for the r8a7793 CPG
11 - "renesas,r8a7794-cpg-clocks" for the r8a7794 CPG12 - "renesas,r8a7794-cpg-clocks" for the r8a7794 CPG
12 - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG13 - "renesas,rcar-gen2-cpg-clocks" for the generic R-Car Gen2 CPG
13 14
14 - reg: Base address and length of the memory resource used by the CPG15 - reg: Base address and length of the memory resource used by the CPG
15 16
16 - clocks: Reference to the parent clock17 - clocks: References to the parent clocks: first to the EXTAL clock, second
18 to the USB_EXTAL clock
17 - #clock-cells: Must be 119 - #clock-cells: Must be 1
18 - clock-output-names: The names of the clocks. Supported clocks are "main",20 - 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"
20 23
21 24
22Example25Example
@@ -26,8 +29,9 @@ Example · 3 unmodified lines
26 compatible = "renesas,r8a7790-cpg-clocks",29 compatible = "renesas,r8a7790-cpg-clocks",
27 "renesas,rcar-gen2-cpg-clocks";30 "renesas,rcar-gen2-cpg-clocks";
28 reg = <0 0xe6150000 0 0x1000>;31 reg = <0 0xe6150000 0 0x1000>;
29 clocks = <&extal_clk>;32 clocks = <&extal_clk &usb_extal_clk>;
30 #clock-cells = <1>;33 #clock-cells = <1>;
31 clock-output-names = "main", "pll0, "pll1", "pll3",34 clock-output-names = "main", "pll0, "pll1", "pll3",
32 "lb", "qspi", "sdh", "sd0", "sd1", "z";35 "lb", "qspi", "sdh", "sd0", "sd1", "z",
36 "rcan", "adsp";
33 };37 };
Documentation/devicetree/bindings/clock/renesas,sh73a0-cpg-clocks.txt+35−0
@@ -0,0 +1,35 @@
1These bindings should be considered EXPERIMENTAL for now.
2
3* Renesas SH73A0 Clock Pulse Generator (CPG)
4
5The CPG generates core clocks for the SH73A0 SoC. It includes four PLLs
6and several fixed ratio dividers.
7
8Required 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
23Example
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
26 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s26 "allwinner,sun5i-a10s-ahb-gates-clk" - for the AHB gates on A10s
27 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A2027 "allwinner,sun7i-a20-ahb-gates-clk" - for the AHB gates on A20
28 "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A3128 "allwinner,sun6i-a31-ar100-clk" - for the AR100 on A31
29 "allwinner,sun6i-a31-ahb1-mux-clk" - for the AHB1 multiplexer on A3129 "allwinner,sun6i-a31-ahb1-clk" - for the AHB1 clock on A31
30 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A3130 "allwinner,sun6i-a31-ahb1-gates-clk" - for the AHB1 gates on A31
31 "allwinner,sun8i-a23-ahb1-gates-clk" - for the AHB1 gates on A2331 "allwinner,sun8i-a23-ahb1-gates-clk" - for the AHB1 gates on A23
32 "allwinner,sun9i-a80-ahb0-gates-clk" - for the AHB0 gates on A8032 "allwinner,sun9i-a80-ahb0-gates-clk" - for the AHB0 gates on A80
@@ -55,9 +55,11 @@ Required properties: · 22 unmodified lines
55 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A3155 "allwinner,sun6i-a31-apb2-gates-clk" - for the APB2 gates on A31
56 "allwinner,sun8i-a23-apb2-gates-clk" - for the APB2 gates on A2356 "allwinner,sun8i-a23-apb2-gates-clk" - for the APB2 gates on A23
57 "allwinner,sun5i-a13-mbus-clk" - for the MBUS clock on A1357 "allwinner,sun5i-a13-mbus-clk" - for the MBUS clock on A13
58 "allwinner,sun4i-a10-mmc-output-clk" - for the MMC output clock on A1058 "allwinner,sun4i-a10-mmc-clk" - for the MMC clock
59 "allwinner,sun4i-a10-mmc-sample-clk" - for the MMC sample clock on A1059 "allwinner,sun9i-a80-mmc-clk" - for mmc module clocks on A80
60 "allwinner,sun9i-a80-mmc-config-clk" - for mmc gates + resets on A80
60 "allwinner,sun4i-a10-mod0-clk" - for the module 0 family of clocks61 "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
61 "allwinner,sun8i-a23-mbus-clk" - for the MBUS clock on A2363 "allwinner,sun8i-a23-mbus-clk" - for the MBUS clock on A23
62 "allwinner,sun7i-a20-out-clk" - for the external output clocks64 "allwinner,sun7i-a20-out-clk" - for the external output clocks
63 "allwinner,sun7i-a20-gmac-clk" - for the GMAC clock module on A20/A3165 "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
73- #clock-cells : from common clock binding; shall be set to 0 except for75- #clock-cells : from common clock binding; shall be set to 0 except for
74 the following compatibles where it shall be set to 1:76 the following compatibles where it shall be set to 1:
75 "allwinner,*-gates-clk", "allwinner,sun4i-pll5-clk",77 "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"
77- clock-output-names : shall be the corresponding names of the outputs.81- clock-output-names : shall be the corresponding names of the outputs.
78 If the clock module only has one output, the name shall be the82 If the clock module only has one output, the name shall be the
79 module name.83 module name.
@@ -81,6 +85,10 @@ Required properties for all clocks: · 1 unmodified line
81And "allwinner,*-usb-clk" clocks also require:85And "allwinner,*-usb-clk" clocks also require:
82- reset-cells : shall be set to 186- reset-cells : shall be set to 1
83 87
88The "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
84For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate92For "allwinner,sun7i-a20-gmac-clk", the parent clocks shall be fixed rate
85dummy clocks at 25 MHz and 125 MHz, respectively. See example.93dummy clocks at 25 MHz and 125 MHz, respectively. See example.
86 94
@@ -95,6 +103,14 @@ For "allwinner,sun6i-a31-pll6-clk", there are 2 outputs. The first output · 8 unmodified lines
95is the normal PLL6 output, or "pll6". The second output is rate doubled103is the normal PLL6 output, or "pll6". The second output is rate doubled
96PLL6, or "pll6x2".104PLL6, or "pll6x2".
97 105
106The "allwinner,*-mmc-clk" clocks have three different outputs: the
107main clock, with the ID 0, and the output and sample clocks, with the
108IDs 1 and 2, respectively.
109
110The "allwinner,sun9i-a80-mmc-config-clk" clock has one clock/reset output
111per mmc controller. The number of outputs is determined by the size of
112the address block, which is related to the overall mmc block.
113
98For example:114For example:
99 115
100osc24M: clk@01c20050 {116osc24M: clk@01c20050 {
@@ -138,11 +154,11 @@ cpu: cpu@01c20054 { · 37 unmodified lines
138};154};
139 155
140mmc0_clk: clk@01c20088 {156mmc0_clk: clk@01c20088 {
141 #clock-cells = <0>;157 #clock-cells = <1>;
142 compatible = "allwinner,sun4i-mod0-clk";158 compatible = "allwinner,sun4i-a10-mmc-clk";
143 reg = <0x01c20088 0x4>;159 reg = <0x01c20088 0x4>;
144 clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;160 clocks = <&osc24M>, <&pll6 1>, <&pll5 1>;
145 clock-output-names = "mmc0";161 clock-output-names = "mmc0", "mmc0_output", "mmc0_sample";
146};162};
147 163
148mii_phy_tx_clk: clk@2 {164mii_phy_tx_clk: clk@2 {
@@ -170,3 +186,16 @@ gmac_clk: clk@01c20164 { · 21 unmodified lines
170 clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;186 clocks = <&mii_phy_tx_clk>, <&gmac_int_tx_clk>;
171 clock-output-names = "gmac";187 clock-output-names = "gmac";
172};188};
189
190mmc_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 @@
1Bindings for Texas Instruments CDCE706 programmable 3-PLL clock
2synthesizer/multiplier/divider.
3
4Reference: http://www.ti.com/lit/ds/symlink/cdce706.pdf
5
6I2C 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
18Example:
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 @@
1Binding for Texas Instruments FAPLL clock.
2
3Binding status: Unstable - ABI compatibility may be broken in the future
4
5This binding uses the common clock binding[1]. It assumes a
6register-mapped FAPLL with usually two selectable input clocks
7(reference clock and bypass clock), and one or more child
8syntesizers.
9
10[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
11
12Required 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
18Examples:
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
4The Samsung Exynos SoC has PPMU (Platform Performance Monitoring Unit) for
5each IP. PPMU provides the primitive values to get performance data. These
6PPMU events provide information of the SoC's behaviors so that you may
7use to analyze system performance, to make behaviors visible and to count
8usages of each IP (DMC, CPU, RIGHTBUS, LEFTBUS, CAM interface, LCD, G3D, MFC).
9The Exynos PPMU driver uses the devfreq-event class to provide event data
10to various devfreq devices. The devfreq devices would use the event data when
11derterming the current state of each IP.
12
13Required properties:
14- compatible: Should be "samsung,exynos-ppmu".
15- reg: physical base address of each PPMU and length of memory mapped region.
16
17Optional 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
22Example1 : 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
58Example2 : 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
3Required 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
22Optional 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
26Example:
27
28mdc: 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
52spi@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 @@
1* Renesas R-Car DMA Controller Device Tree bindings1* Renesas R-Car DMA Controller Device Tree bindings
2 2
3Renesas R-Car Generation 2 SoCs have have multiple multi-channel DMA3Renesas R-Car Generation 2 SoCs have multiple multi-channel DMA
4controller instances named DMAC capable of serving multiple clients. Channels4controller instances named DMAC capable of serving multiple clients. Channels
5can be dedicated to specific clients or shared between a large number of5can be dedicated to specific clients or shared between a large number of
6clients.6clients.
7 7
8DMA clients are connected to the DMAC ports referenced by an 8-bit identifier
9called MID/RID.
10
11Each DMA client is connected to one dedicated port of the DMAC, identified by8Each DMA client is connected to one dedicated port of the DMAC, identified by
12an 8-bit port number called the MID/RID. A DMA controller can thus serve up to9an 8-bit port number called the MID/RID. A DMA controller can thus serve up to
13256 clients in total. When the number of hardware channels is lower than the10256 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
38 chan_allocation_order = <1>;38 chan_allocation_order = <1>;
39 chan_priority = <1>;39 chan_priority = <1>;
40 block_size = <0xfff>;40 block_size = <0xfff>;
41 data_width = <3 3 0 0>;41 data_width = <3 3>;
42 };42 };
43 43
44DMA clients connected to the Designware DMA controller must use the format44DMA 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 @@
1Device-Tree bindings for Atmel's HLCDC (High LCD Controller) DRM driver
2
3The Atmel HLCDC Display Controller is subdevice of the HLCDC MFD device.
4See ../mfd/atmel-hlcdc.txt for more details.
5
6Required 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
13Required 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
18Example:
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 @@
1DesignWare HDMI bridge bindings
2
3Required 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
20Optional 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
25Example:
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
2 2
3Required properties:3Required properties:
4- compatible: one of the following4- compatible: one of the following
5 * "qcom,hdmi-tx-8084"
6 * "qcom,hdmi-tx-8074"
5 * "qcom,hdmi-tx-8660"7 * "qcom,hdmi-tx-8660"
6 * "qcom,hdmi-tx-8960"8 * "qcom,hdmi-tx-8960"
7- reg: Physical base address and length of the controller's registers9- 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 @@
1Altera SOCFPGA FPGA Manager
2
3Required 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
10Example:
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 @@
1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block.1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 fuse block.
2 2
3Required properties:3Required properties:
4- compatible : should be:4- compatible : For Tegra20, must contain "nvidia,tegra20-efuse". For Tegra30,
5 "nvidia,tegra20-efuse"5 must contain "nvidia,tegra30-efuse". For Tegra114, must contain
6 "nvidia,tegra30-efuse"6 "nvidia,tegra114-efuse". For Tegra124, must contain "nvidia,tegra124-efuse".
7 "nvidia,tegra114-efuse"7 Otherwise, must contain "nvidia,<chip>-efuse", plus one of the above, where
8 "nvidia,tegra124-efuse"8 <chip> is tegra132.
9 Details:9 Details:
10 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data10 nvidia,tegra20-efuse: Tegra20 requires using APB DMA to read the fuse data
11 due to a hardware bug. Tegra20 also lacks certain information which is11 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 @@
1Fujitsu MB86S7x GPIO Controller
2-------------------------------
3
4Required 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
13Examples:
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
3Required 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
21Optional 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
36Please refer to gpio.txt in this directory for details of the common GPIO
37bindings used by client devices.
38
39Example 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
52Example 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
39 - lines-initial-states: Bitmask that specifies the initial state of each39 - lines-initial-states: Bitmask that specifies the initial state of each
40 line. When a bit is set to zero, the corresponding line will be initialized to40 line. When a bit is set to zero, the corresponding line will be initialized to
41 the input (pulled-up) state. When the bit is set to one, the line will be41 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 specified42 initialized the low-level output state. If the property is not specified
43 all lines will be initialized to the input state.43 all lines will be initialized to the input state.
44 44
45 The I/O expander can detect input state changes, and thus optionally act as45 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 @@
1SEMTECH SX150x GPIO expander bindings
2
3
4Required 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
24The GPIO expander can optionally be used as an interrupt controller, in
25which case it uses the default two cell specifier as described in
26Documentation/devicetree/bindings/interrupt-controller/interrupts.txt.
27
28Example:
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 @@
1APM X-Gene Standby GPIO controller bindings
2
3This is a gpio controller in the standby domain.
4
5There are 20 GPIO pins from 0..21. There is no GPIO_DS14 or GPIO_DS15,
6only GPIO_DS8..GPIO_DS13 support interrupts. The IRQ mapping
7is currently 1-to-1 on interrupts 0x28 thru 0x2d.
8
9Required 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
20Example:
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
69----------------------------------69----------------------------------
70 70
71A gpio-specifier should contain a flag indicating the GPIO polarity; active-71A gpio-specifier should contain a flag indicating the GPIO polarity; active-
72high or active-low. If it does, the follow best practices should be followed:72high or active-low. If it does, the following best practices should be
73followed:
73 74
74The gpio-specifier's polarity flag should represent the physical level at the75The gpio-specifier's polarity flag should represent the physical level at the
75GPIO controller that achieves (or represents, for inputs) a logically asserted76GPIO controller that achieves (or represents, for inputs) a logically asserted
@@ -147,7 +148,7 @@ contains information structures as follows: · 71 unmodified lines
147 numeric-gpio-range ::=148 numeric-gpio-range ::=
148 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>149 <pinctrl-phandle> <gpio-base> <pinctrl-base> <count>
149 named-gpio-range ::= <pinctrl-phandle> <gpio-base> '<0 0>'150 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
151 gpio-base : Base GPIO ID in the GPIO controller152 gpio-base : Base GPIO ID in the GPIO controller
152 pinctrl-base : Base pinctrl pin ID in the pin controller153 pinctrl-base : Base pinctrl pin ID in the pin controller
153 count : The number of GPIOs/pins in this range154 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
3Required properties:3Required properties:
4- compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio",4- compatible : Should be "intel,pxa25x-gpio", "intel,pxa26x-gpio",
5 "intel,pxa27x-gpio", "intel,pxa3xx-gpio",5 "intel,pxa27x-gpio", "intel,pxa3xx-gpio",
6 "marvell,pxa93x-gpio", "marvell,mmp-gpio" or6 "marvell,pxa93x-gpio", "marvell,mmp-gpio",
7 "marvell,mmp2-gpio".7 "marvell,mmp2-gpio" or marvell,pxa1928-gpio.
8- reg : Address and length of the register set for the device8- reg : Address and length of the register set for the device
9- interrupts : Should be the port interrupt shared by all gpio pins.9- interrupts : Should be the port interrupt shared by all gpio pins.
10 There're three gpio interrupts in arch-pxa, and they're gpio0,10 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
197- sor: serial output resource197- sor: serial output resource
198 198
199 Required properties:199 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.
201 - reg: Physical base address and length of the controller's registers.203 - reg: Physical base address and length of the controller's registers.
202 - interrupts: The interrupt outputs from the controller.204 - interrupts: The interrupt outputs from the controller.
203 - clocks: Must contain an entry for each entry in clock-names.205 - clocks: Must contain an entry for each entry in clock-names.
@@ -222,7 +224,9 @@ of the following host1x client modules: · 18 unmodified lines
222 - nvidia,dpaux: phandle to a DispayPort AUX interface224 - nvidia,dpaux: phandle to a DispayPort AUX interface
223 225
224- dpaux: DisplayPort AUX interface226- 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.
226 - reg: Physical base address and length of the controller's registers.230 - reg: Physical base address and length of the controller's registers.
227 - interrupts: The interrupt outputs from the controller.231 - interrupts: The interrupt outputs from the controller.
228 - clocks: Must contain an entry for each entry in clock-names.232 - 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
83 - clock-names: names of the clocks listed in clocks property in the same83 - clock-names: names of the clocks listed in clocks property in the same
84 order.84 order.
85 85
86sti-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
86sti-hqvdp:102sti-hqvdp:
87 must be a child of sti-display-subsystem103 must be a child of sti-display-subsystem
88 Required properties:104 Required properties:
@@ -198,6 +214,19 @@ Example: · 109 unmodified lines
198 clock-names = "pix", "hddac";214 clock-names = "pix", "hddac";
199 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;215 clocks = <&clockgen_c_vcc CLK_S_PIX_HD>, <&clockgen_c_vcc CLK_S_HDDAC>;
200 };216 };
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 };
201 };230 };
202 231
203 sti-hqvdp@9c000000 {232 sti-hqvdp@9c000000 {
Documentation/devicetree/bindings/i2c/brcm,iproc-i2c.txt+37−0
@@ -0,0 +1,37 @@
1Broadcom iProc I2C controller
2
3Required 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
24Example:
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
16Optional Properties:16Optional Properties:
17 17
18 - reset-gpios: Reference to the GPIO connected to the reset input.18 - 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.
19 22
20 23
21Example:24Example:
Documentation/devicetree/bindings/i2c/i2c-ocores.txt+39−3
@@ -4,24 +4,60 @@ Required properties: · 3 unmodified lines
4- compatible : "opencores,i2c-ocores" or "aeroflexgaisler,i2cmst"4- compatible : "opencores,i2c-ocores" or "aeroflexgaisler,i2cmst"
5- reg : bus address start and address range size of device5- reg : bus address start and address range size of device
6- interrupts : interrupt number6- interrupts : interrupt number
7- clock-frequency : frequency of bus clock in Hz7- 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
8- #address-cells : should be <1>11- #address-cells : should be <1>
9- #size-cells : should be <0>12- #size-cells : should be <0>
10 13
11Optional properties:14Optional 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
12- reg-shift : device register offsets are shifted by this value17- reg-shift : device register offsets are shifted by this value
13- reg-io-width : io register width in bytes (1, 2 or 4)18- reg-io-width : io register width in bytes (1, 2 or 4)
14- regstep : deprecated, use reg-shift above19- regstep : deprecated, use reg-shift above
15 20
16Example:21Note
22clock-frequency property is meant to control the bus frequency for i2c bus
23drivers, but it was incorrectly used to specify i2c controller input clock
24frequency. 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.
17 33
34Examples:
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 };
52or
18 i2c0: ocores@a0000000 {53 i2c0: ocores@a0000000 {
19 #address-cells = <1>;54 #address-cells = <1>;
20 #size-cells = <0>;55 #size-cells = <0>;
21 compatible = "opencores,i2c-ocores";56 compatible = "opencores,i2c-ocores";
22 reg = <0xa0000000 0x8>;57 reg = <0xa0000000 0x8>;
23 interrupts = <10>;58 interrupts = <10>;
24 clock-frequency = <20000000>;59 clocks = <&osc>;
60 clock-frequency = <400000>; /* i2c bus frequency 400 KHz */
25 61
26 reg-shift = <0>; /* 8 bit registers */62 reg-shift = <0>; /* 8 bit registers */
27 reg-io-width = <1>; /* 8 bit read/write */63 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
21Optional properties :21Optional properties :
22 22
23 - clock-frequency : SCL frequency to use (in Hz). If omitted, 100kHz is used.23 - 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.
24 35
25Example:36Example:
26 37
@@ -39,4 +50,7 @@ i2c0: i2c@2002d000 { · 12 unmodified lines
39 50
40 clock-names = "i2c";51 clock-names = "i2c";
41 clocks = <&cru PCLK_I2C0>;52 clocks = <&cru PCLK_I2C0>;
53
54 i2c-scl-rising-time-ns = <800>;
55 i2c-scl-falling-time-ns = <100>;
42};56};
Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt+5−5
@@ -1,11 +1,11 @@
1NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver.1NVIDIA Tegra20/Tegra30/Tegra114 I2C controller driver.
2 2
3Required properties:3Required properties:
4- compatible : should be:4- compatible : For Tegra20, must be one of "nvidia,tegra20-i2c-dvc" or
5 "nvidia,tegra114-i2c"5 "nvidia,tegra20-i2c". For Tegra30, must be "nvidia,tegra30-i2c".
6 "nvidia,tegra30-i2c"6 For Tegra114, must be "nvidia,tegra114-i2c". Otherwise, must be
7 "nvidia,tegra20-i2c"7 "nvidia,<chip>-i2c", plus at least one of the above, where <chip> is
8 "nvidia,tegra20-i2c-dvc"8 tegra124, tegra132, or tegra210.
9 Details of compatible are as follows:9 Details of compatible are as follows:
10 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C10 nvidia,tegra20-i2c-dvc: Tegra20 has specific I2C controller called as DVC I2C
11 controller. This only support master mode of I2C communication. Register11 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
9 9
10Compatible Vendor / Chip10Compatible Vendor / Chip
11========== =============11========== =============
12abracon,abb5zes3 AB-RTCMC-32.768kHz-B5ZE-S3: Real Time Clock/Calendar Module with I2C Interface
12ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin13ad,ad7414 SMBus/I2C Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin
13ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems14ad,adm9240 ADM9240: Complete System Hardware Monitor for uProcessor-Based Systems
14adi,adt7461 +/-1C TDM Extended Temp Range I.C15adi,adt7461 +/-1C TDM Extended Temp Range I.C
@@ -34,6 +35,7 @@ atmel,24c512 i2c serial eeprom (24cxx) · 19 unmodified lines
34atmel,24c1024 i2c serial eeprom (24cxx)35atmel,24c1024 i2c serial eeprom (24cxx)
35atmel,at97sc3204t i2c trusted platform module (TPM)36atmel,at97sc3204t i2c trusted platform module (TPM)
36capella,cm32181 CM32181: Ambient Light Sensor37capella,cm32181 CM32181: Ambient Light Sensor
38capella,cm3232 CM3232: Ambient Light Sensor
37catalyst,24c32 i2c serial eeprom39catalyst,24c32 i2c serial eeprom
38cirrus,cs42l51 Cirrus Logic CS42L51 audio codec40cirrus,cs42l51 Cirrus Logic CS42L51 audio codec
39dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock41dallas,ds1307 64 x 8, Serial, I2C Real-Time Clock
@@ -59,9 +61,8 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec · 19 unmodified lines
59gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface61gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
60infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)62infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
61infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)63infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
62isl,isl12057 Intersil ISL12057 I2C RTC Chip64isil,isl12057 Intersil ISL12057 I2C RTC Chip
63isil,isl29028 (deprecated, use isl)65isil,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
64isl,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
65maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator66maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
66maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs67maxim,max1237 Low-Power, 4-/12-Channel, 2-Wire Serial, 12-Bit ADCs
67maxim,max6625 9-Bit/12-Bit Temperature Sensors with I²C-Compatible Serial Interface68maxim,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
3Required 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
10Optional properties:
11 - adc-reserved-channels: Bitmask of reserved channels,
12 i.e. channels that cannot be used by the OS.
13
14Example:
15adc: 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 @@
1Qualcomm's SPMI PMIC voltage ADC
2
3SPMI PMIC voltage ADC (VADC) provides interface to clients to read
4voltage. The VADC is a 15-bit sigma-delta ADC.
5
6VADC 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
40Channel 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
95NOTE:
96
97Following channels, also known as reference point channels, are used for
98result calibration and their channel configuration nodes should be defined:
99VADC_REF_625MV and/or VADC_SPARE1(based on PMIC version) VADC_REF_1250MV,
100VADC_GND_REF and VADC_VDD_VADC.
101
102Example:
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
59 Each child node represents one channel and has the following59 Each child node represents one channel and has the following
60 properties:60 properties:
61 Required properties:61 Required properties:
62 * reg: Pair of pins the the channel is connected to.62 * reg: Pair of pins the channel is connected to.
63 0: VP/VN63 0: VP/VN
64 1: VAUXP[0]/VAUXN[0]64 1: VAUXP[0]/VAUXN[0]
65 2: VAUXP[1]/VAUXN[1]65 2: VAUXP[1]/VAUXN[1]
Documentation/devicetree/bindings/iio/sensorhub.txt+25−0
@@ -0,0 +1,25 @@
1Samsung Sensorhub driver
2
3Sensorhub is a MCU which manages several sensors and also plays the role
4of a virtual sensor device.
5
6Required 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
15Example:
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 @@
1National Instruments Ettus Research USRP E3x0 button driver
2
3This module is part of the NI Ettus Research USRP E3x0 SDR.
4
5This module provides a simple power button event via two interrupts.
6
7Required 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
17Note: Interrupt numbers might vary depending on the FPGA configuration.
18
19Example:
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
3Required 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
14Example:
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 @@
1Allwinner sun4i low res adc attached tablet keys
2------------------------------------------------
3
4Required 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
10Each key is represented as a sub-node of "allwinner,sun4i-a10-lradc-keys":
11
12Required 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
18Example:
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
2--------------------------------------2--------------------------------------
3 3
4Required properties:4Required properties:
5 - compatible: "allwinner,sun4i-a10-ts"5 - compatible: "allwinner,sun4i-a10-ts" or "allwinner,sun6i-a31-ts"
6 - reg: mmio address range of the chip6 - reg: mmio address range of the chip
7 - interrupts: interrupt to which the chip is connected7 - interrupts: interrupt to which the chip is connected
8 - #thermal-sensor-cells: shall be 0
8 9
9Optional properties:10Optional properties:
10 - allwinner,ts-attached: boolean indicating that an actual touchscreen is11 - allwinner,ts-attached: boolean indicating that an actual touchscreen is
@@ -17,4 +18,5 @@ Example: · 6 unmodified lines
17 reg = <0x01c25000 0x100>;18 reg = <0x01c25000 0x100>;
18 interrupts = <29>;19 interrupts = <29>;
19 allwinner,ts-attached;20 allwinner,ts-attached;
21 #thermal-sensor-cells = <0>;
20 };22 };
Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt+15−0
@@ -28,6 +28,20 @@ Required properties: · 27 unmodified lines
28 ti,adc-channels: List of analog inputs available for ADC.28 ti,adc-channels: List of analog inputs available for ADC.
29 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.29 AIN0 = 0, AIN1 = 1 and so on till AIN7 = 7.
30 30
31Optional 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
31Example:45Example:
32 tscadc: tscadc@44e0d000 {46 tscadc: tscadc@44e0d000 {
33 compatible = "ti,am3359-tscadc";47 compatible = "ti,am3359-tscadc";
@@ -36,6 +50,7 @@ Example: · 2 unmodified lines
36 ti,x-plate-resistance = <200>;50 ti,x-plate-resistance = <200>;
37 ti,coordiante-readouts = <5>;51 ti,coordiante-readouts = <5>;
38 ti,wire-config = <0x00 0x11 0x22 0x33>;52 ti,wire-config = <0x00 0x11 0x22 0x33>;
53 ti,charge-delay = <0x400>;
39 };54 };
40 55
41 adc {56 adc {
Documentation/devicetree/bindings/input/tps65218-pwrbutton.txt+17−0
@@ -0,0 +1,17 @@
1Texas Instruments TPS65218 power button
2
3This driver provides a simple power button event via an Interrupt.
4
5Required 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
10Example:
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 @@
1Conexant Digicolor Interrupt Controller
2
3Required 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
13Example:
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
9 - "renesas,intc-irqpin-r8a7778" (R-Car M1A)9 - "renesas,intc-irqpin-r8a7778" (R-Car M1A)
10 - "renesas,intc-irqpin-r8a7779" (R-Car H1)10 - "renesas,intc-irqpin-r8a7779" (R-Car H1)
11 - "renesas,intc-irqpin-sh73a0" (SH-Mobile AG5)11 - "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
12- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in17- #interrupt-cells: has to be <2>: an interrupt index and flags, as defined in
13 interrupts.txt in this directory18 interrupts.txt in this directory
14 19
Documentation/devicetree/bindings/interrupt-controller/ti,omap-intc-irq.txt+28−0
@@ -0,0 +1,28 @@
1Omap2/3 intc controller
2
3On TI omap2 and 3 the intc interrupt controller can provide
496 or 128 IRQ signals to the ARM host depending on the SoC.
5
6Required 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
19Please refer to interrupts.txt in this directory for details of the common
20Interrupt Controllers bindings used by client devices.
21
22Example:
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
3The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
4It provides address translation for bus masters outside of the CPU, each
5connected to the IPMMU through a port called micro-TLB.
6
7
8Required 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
19Each bus master connected to an IPMMU must reference the IPMMU in its device
20node 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
27Example: 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
45 Exynos4 SoCs, there needs no "master" clock.45 Exynos4 SoCs, there needs no "master" clock.
46 Exynos5 SoCs, some System MMUs must have "master" clocks.46 Exynos5 SoCs, some System MMUs must have "master" clocks.
47- clocks: Required if the System MMU is needed to gate its clock.47- 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.
49 Please refer to the following document:49 Please refer to the following document:
50 Documentation/devicetree/bindings/arm/exynos/power_domain.txt50 Documentation/devicetree/bindings/arm/exynos/power_domain.txt
51 51
@@ -54,7 +54,7 @@ Examples: · 2 unmodified lines
54 compatible = "samsung,exynos5-gsc";54 compatible = "samsung,exynos5-gsc";
55 reg = <0x13e00000 0x1000>;55 reg = <0x13e00000 0x1000>;
56 interrupts = <0 85 0>;56 interrupts = <0 85 0>;
57 samsung,power-domain = <&pd_gsc>;57 power-domains = <&pd_gsc>;
58 clocks = <&clock CLK_GSCL0>;58 clocks = <&clock CLK_GSCL0>;
59 clock-names = "gscl";59 clock-names = "gscl";
60 };60 };
@@ -66,5 +66,5 @@ Examples: · 5 unmodified lines
66 interrupts = <2 0>;66 interrupts = <2 0>;
67 clock-names = "sysmmu", "master";67 clock-names = "sysmmu", "master";
68 clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;68 clocks = <&clock CLK_SMMU_GSCL0>, <&clock CLK_GSCL0>;
69 samsung,power-domain = <&pd_gsc>;69 power-domains = <&pd_gsc>;
70 };70 };
Documentation/devicetree/bindings/leds/common.txt+30−0
@@ -1,6 +1,19 @@
1Common leds properties.1Common leds properties.
2 2
3LED and flash LED devices provide the same basic functionality as current
4regulators, but extended with LED and flash LED specific features like
5blinking patterns, flash timeout, flash faults and external flash strobe mode.
6
7Many LED devices expose more than one current output that can be connected
8to one or more discrete LED component. Since the arrangement of connections
9can influence the way of the LED device initialization, the LED components
10have to be tightly coupled with the LED device binding. They are represented
11by child nodes of the parent LED device binding.
12
3Optional properties for child nodes:13Optional 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.
4- label : The label for this LED. If omitted, the label is17- label : The label for this LED. If omitted, the label is
5 taken from the node name (excluding the unit address).18 taken from the node name (excluding the unit address).
6 19
@@ -14,6 +27,15 @@ Optional properties for child nodes: · 7 unmodified lines
14 "ide-disk" - LED indicates disk activity27 "ide-disk" - LED indicates disk activity
15 "timer" - LED flashes at a fixed, configurable rate28 "timer" - LED flashes at a fixed, configurable rate
16 29
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
17Examples:39Examples:
18 40
19system-status {41system-status {
@@ -21,3 +43,11 @@ system-status { · 1 unmodified line
21 linux,default-trigger = "heartbeat";43 linux,default-trigger = "heartbeat";
22 ...44 ...
23};45};
46
47camera-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 @@
1Altera Mailbox Driver
2=====================
3
4Required 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
11Optional properties:
12- interrupt-parent : interrupt source phandle.
13- interrupts : interrupt number. The interrupt specifier format
14 depends on the interrupt controller parent.
15
16Example:
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
33Mailbox client
34===============
35"mboxes" and the optional "mbox-names" (please see
36Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
37of the mboxes property should contain a phandle to the mailbox controller
38device node and second argument is the channel index. It must be 0 (hardware
39support only one channel).The equivalent "mbox-names" property value can be
40used to give a name to the communication channel to be used by the client user.
41
42Example:
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
38 38
39 i2c1: i2c@f0018000 {39 i2c1: i2c@f0018000 {
40 ov2640: camera@0x30 {40 ov2640: camera@0x30 {
41 compatible = "omnivision,ov2640";41 compatible = "ovti,ov2640";
42 reg = <0x30>;42 reg = <0x30>;
43 43
44 port {44 port {
Documentation/devicetree/bindings/media/i2c/nokia,smia.txt+63−0
@@ -0,0 +1,63 @@
1SMIA/SMIA++ sensor
2
3SMIA (Standard Mobile Imaging Architecture) is an image sensor standard
4defined jointly by Nokia and ST. SMIA++, defined by Nokia, is an extension
5of that. These definitions are valid for both types of sensors.
6
7More detailed documentation can be found in
8Documentation/devicetree/bindings/media/video-interfaces.txt .
9
10
11Mandatory 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
24Optional 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
32Endpoint 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
40Example
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
28 for DMA contiguous memory allocation and its size.28 for DMA contiguous memory allocation and its size.
29 29
30Optional properties:30Optional properties:
31 - samsung,power-domain : power-domain property defined with a phandle31 - power-domains : power-domain property defined with a phandle
32 to respective power domain.32 to respective power domain.
33 33
34Example:34Example:
@@ -38,7 +38,7 @@ mfc: codec@13400000 { · 3 unmodified lines
38 compatible = "samsung,mfc-v5";38 compatible = "samsung,mfc-v5";
39 reg = <0x13400000 0x10000>;39 reg = <0x13400000 0x10000>;
40 interrupts = <0 94 0>;40 interrupts = <0 94 0>;
41 samsung,power-domain = <&pd_mfc>;41 power-domains = <&pd_mfc>;
42 clocks = <&clock 273>;42 clocks = <&clock 273>;
43 clock-names = "mfc";43 clock-names = "mfc";
44};44};
Documentation/devicetree/bindings/media/sunxi-ir.txt+3−1
@@ -1,7 +1,7 @@
1Device-Tree bindings for SUNXI IR controller found in sunXi SoC family1Device-Tree bindings for SUNXI IR controller found in sunXi SoC family
2 2
3Required properties:3Required properties:
4- compatible : should be "allwinner,sun4i-a10-ir";4- compatible : "allwinner,sun4i-a10-ir" or "allwinner,sun5i-a13-ir"
5- clocks : list of clock specifiers, corresponding to5- clocks : list of clock specifiers, corresponding to
6 entries in clock-names property;6 entries in clock-names property;
7- clock-names : should contain "apb" and "ir" entries;7- clock-names : should contain "apb" and "ir" entries;
@@ -10,6 +10,7 @@ Required properties: · 2 unmodified lines
10 10
11Optional properties:11Optional properties:
12- linux,rc-map-name : Remote control map name.12- linux,rc-map-name : Remote control map name.
13- resets : phandle + reset specifier pair
13 14
14Example:15Example:
15 16
@@ -17,6 +18,7 @@ ir0: ir@01c21800 { · 1 unmodified line
17 compatible = "allwinner,sun4i-a10-ir";18 compatible = "allwinner,sun4i-a10-ir";
18 clocks = <&apb0_gates 6>, <&ir0_clk>;19 clocks = <&apb0_gates 6>, <&ir0_clk>;
19 clock-names = "apb", "ir";20 clock-names = "apb", "ir";
21 resets = <&apb0_rst 1>;
20 interrupts = <0 5 1>;22 interrupts = <0 5 1>;
21 reg = <0x01C21800 0x40>;23 reg = <0x01C21800 0x40>;
22 linux,rc-map-name = "rc-rc6-mce";24 linux,rc-map-name = "rc-rc6-mce";
Documentation/devicetree/bindings/media/ti-am437x-vpfe.txt+61−0
@@ -0,0 +1,61 @@
1Texas Instruments AM437x CAMERA (VPFE)
2--------------------------------------
3
4The Video Processing Front End (VPFE) is a key component for image capture
5applications. The capture module provides the system interface and the
6processing capability to connect RAW image-sensor modules and video decoders
7to the AM437x device.
8
9Required 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
20VPFE 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
22defined in Documentation/devicetree/bindings/media/video-interfaces.txt.
23
24Example:
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
103 array contains only one entry.103 array contains only one entry.
104- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous104- clock-noncontinuous: a boolean property to allow MIPI CSI-2 non-continuous
105 clock mode.105 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.
106 109
107 110
108Example111Example
@@ -159,7 +162,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. · 50 unmodified lines
159 i2c0: i2c@0xfff20000 {162 i2c0: i2c@0xfff20000 {
160 ...163 ...
161 ov772x_1: camera@0x21 {164 ov772x_1: camera@0x21 {
162 compatible = "omnivision,ov772x";165 compatible = "ovti,ov772x";
163 reg = <0x21>;166 reg = <0x21>;
164 vddio-supply = <&regulator1>;167 vddio-supply = <&regulator1>;
165 vddcore-supply = <&regulator2>;168 vddcore-supply = <&regulator2>;
Documentation/devicetree/bindings/memory-controllers/renesas-memory-controllers.txt+44−0
@@ -0,0 +1,44 @@
1DT bindings for Renesas R-Mobile and SH-Mobile memory controllers
2=================================================================
3
4Renesas R-Mobile and SH-Mobile SoCs contain one or more memory controllers.
5These memory controllers differ from one SoC variant to another, and are called
6by different names ("DDR Bus Controller (DBSC)", "DDR3 Bus State Controller
7(DBSC3)", "SDRAM Bus State Controller (SBSC)").
8
9Currently memory controller device nodes are used only to reference PM
10domains, and prevent these PM domains from being powered down, which would
11crash the system.
12
13As there exist no actual drivers for these controllers yet, these bindings
14should be considered EXPERIMENTAL for now.
15
16Required 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
24Optional 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
35Example:
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
3The Bus Matrix registers are used to configure Atmel SoCs internal bus
4behavior (master/slave priorities, undefined burst length type, ...)
5
6Required 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
19Example:
20
21matrix: 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
3The SMC registers are used to configure Atmel EBI (External Bus Interface)
4to interface with standard memory devices (NAND, NOR, SRAM or specialized
5devices like FPGAs).
6
7Required 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
14Example:
15
16smc: 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
3DA9093 consists of a large and varied group of sub-devices (I2C Only):
4
5Device Supply Names Description
6------ ------------ -----------
7da9063-regulator : : LDOs & BUCKs
8da9063-rtc : : Real-Time Clock
9da9063-watchdog : : Watchdog
10
11======
12
13Required 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
23Sub-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
59Example:
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
39 -BUCKn : 1-4.39 -BUCKn : 1-4.
40 Use standard regulator bindings for it ('regulator-off-in-suspend').40 Use standard regulator bindings for it ('regulator-off-in-suspend').
41 41
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)
42 48
43Example:49Example:
44 50
@@ -65,4 +71,12 @@ Example: · 20 unmodified lines
65 regulator-always-on;71 regulator-always-on;
66 regulator-boot-on;72 regulator-boot-on;
67 };73 };
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 };
68 }82 }
Documentation/devicetree/bindings/mfd/max77693.txt+45−0
@@ -41,6 +41,41 @@ Optional properties: · 40 unmodified lines
41 To get more informations, please refer to documentaion.41 To get more informations, please refer to documentaion.
42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt42 [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
43 43
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
44Example:79Example:
45 max77693@66 {80 max77693@66 {
46 compatible = "maxim,max77693";81 compatible = "maxim,max77693";
@@ -73,4 +108,14 @@ Example: · 26 unmodified lines
73 pwms = <&pwm 0 40000 0>;108 pwms = <&pwm 0 40000 0>;
74 pwm-names = "haptic";109 pwm-names = "haptic";
75 };110 };
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 };
76 };121 };
Documentation/devicetree/bindings/mfd/qcom-rpm.txt+70−0
@@ -0,0 +1,70 @@
1Qualcomm Resource Power Manager (RPM)
2
3This driver is used to interface with the Resource Power Manager (RPM) found in
4various Qualcomm platforms. The RPM allows each component in the system to vote
5for state of the system resources, such as clocks, regulators and bus
6frequencies.
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
3Properties:
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
24Example:
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
3The Freescale Management Complex (fsl-mc) is a hardware resource
4manager that manages specialized hardware objects used in
5network-oriented packet processing applications. After the fsl-mc
6block is enabled, pools of hardware resources are available, such as
7queues, buffer pools, I/O interfaces. These resources are building
8blocks that can be used to create functional hardware objects/devices
9such as network interfaces, crypto accelerator instances, L2 switches,
10etc.
11
12Required 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
33Example:
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 @@
1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block1NVIDIA Tegra20/Tegra30/Tegr114/Tegra124 apbmisc block
2 2
3Required properties:3Required properties:
4- compatible : should be:4- compatible : For Tegra20, must be "nvidia,tegra20-apbmisc". For Tegra30,
5 "nvidia,tegra20-apbmisc"5 must be "nvidia,tegra30-apbmisc". Otherwise, must contain
6 "nvidia,tegra30-apbmisc"6 "nvidia,<chip>-apbmisc", plus one of the above, where <chip> is tegra114,
7 "nvidia,tegra114-apbmisc"7 tegra124, tegra132.
8 "nvidia,tegra124-apbmisc"
9- reg: Should contain 2 entries: the first entry gives the physical address8- reg: Should contain 2 entries: the first entry gives the physical address
10 and length of the registers which contain revision and debug features.9 and length of the registers which contain revision and debug features.
11 The second entry gives the physical address and length of the10 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
3The purpose of this driver is to perform standard eMMC hw reset
4procedure, as descibed by Jedec 4.4 specification. This procedure is
5performed just after MMC core enabled power to the given mmc host (to
6fix possible issues if bootloader has left eMMC card in initialized or
7unknown state), and before performing complete system reboot (also in
8case of emergency reboot call). The latter is needed on boards, which
9doesn't have hardware reset logic connected to emmc card and (limited or
10broken) ROM bootloaders are unable to read second stage from the emmc
11card if the card is left in unknown or already initialized state.
12
13Required 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
20Example:
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
3The purpose of the simple MMC power sequence provider is to supports a set of
4common properties between various SOC designs. It thus enables us to use the
5same provider for several SOC designs.
6
7Required properties:
8- compatible : contains "mmc-pwrseq-simple".
9
10Optional 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
20Example:
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
64- keep-power-in-suspend: Preserves card power during a suspend/resume cycle64- keep-power-in-suspend: Preserves card power during a suspend/resume cycle
65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion65- enable-sdio-wakeup: Enables wake up of host system on SDIO IRQ assertion
66 66
67Example:67
68MMC power sequences:
69--------------------
70
71System on chip designs may specify a specific MMC power sequence. To
72successfully detect an (e)MMC/SD/SDIO card, that power sequence must be
73maintained while initializing the card.
74
75Optional property:
76- mmc-pwrseq: phandle to the MMC power sequence node. See "mmc-pwrseq-*"
77 for documentation of MMC power sequence bindings.
78
79
80Use of Function subnodes
81------------------------
82
83On embedded systems the cards connected to a host may need additional
84properties. These can be specified in subnodes to the host controller node.
85The subnodes are identified by the standard 'reg' property.
86Which information exactly can be specified depends on the bindings for the
87SDIO function driver for the subnode, as specified by the compatible string.
88
89Required 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
93Required 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
100Examples
101--------
102
103Basic example:
68 104
69sdhci@ab000000 {105sdhci@ab000000 {
70 compatible = "sdhci";106 compatible = "sdhci";
@@ -77,4 +113,28 @@ sdhci@ab000000 { · 6 unmodified lines
77 max-frequency = <50000000>;113 max-frequency = <50000000>;
78 keep-power-in-suspend;114 keep-power-in-suspend;
79 enable-sdio-wakeup;115 enable-sdio-wakeup;
116 mmc-pwrseq = <&sdhci0_pwrseq>
80}117}
118
119Example with sdio function subnode:
120
121mmc3: 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
7by mmc.txt and the properties used by the sdhci-tegra driver.7by mmc.txt and the properties used by the sdhci-tegra driver.
8 8
9Required properties:9Required 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.
11- clocks : Must contain one entry, for the module clock.15- clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details.16 See ../clocks/clock-bindings.txt for details.
13- resets : Must contain an entry for each entry in reset-names.17- 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
3This file documents differences between the core properties in mmc.txt
4and the properties used by the sdhci_f_sdh30 driver.
5
6Required 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
15Optional 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
19Example:
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
9- reg:9- reg:
10 * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for10 * for "mrvl,pxav2-mmc" and "mrvl,pxav3-mmc", one register area for
11 the SDHCI registers.11 the SDHCI registers.
12 * for "marvell,armada-380-sdhci", two register areas. The first one12
13 for the SDHCI registers themselves, and the second one for the13 * for "marvell,armada-380-sdhci", three register areas. The first
14 AXI/Mbus bridge registers of the SDHCI unit.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"
15- clocks: Array of clocks required for SDHCI; requires at least one for19- clocks: Array of clocks required for SDHCI; requires at least one for
16 I/O clock.20 I/O clock.
17- clock-names: Array of names corresponding to clocks property; shall be21- clock-names: Array of names corresponding to clocks property; shall be
@@ -35,7 +39,10 @@ sdhci@d4280800 { · 17 unmodified lines
35 39
36sdhci@d8000 {40sdhci@d8000 {
37 compatible = "marvell,armada-380-sdhci";41 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>;
39 interrupts = <0 25 0x4>;46 interrupts = <0 25 0x4>;
40 clocks = <&gateclk 17>;47 clocks = <&gateclk 17>;
41 clock-names = "io";48 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
10Required properties:10Required properties:
11 - compatible : "allwinner,sun4i-a10-mmc" or "allwinner,sun5i-a13-mmc"11 - compatible : "allwinner,sun4i-a10-mmc" or "allwinner,sun5i-a13-mmc"
12 - reg : mmc controller base registers12 - reg : mmc controller base registers
13 - clocks : a list with 2 phandle + clock specifier pairs13 - clocks : a list with 4 phandle + clock specifier pairs
14 - clock-names : must contain "ahb" and "mmc"14 - clock-names : must contain "ahb", "mmc", "output" and "sample"
15 - interrupts : mmc controller interrupt15 - interrupts : mmc controller interrupt
16 16
17Optional properties:17Optional properties:
@@ -25,8 +25,8 @@ Examples: · 7 unmodified lines
25 mmc0: mmc@01c0f000 {25 mmc0: mmc@01c0f000 {
26 compatible = "allwinner,sun5i-a13-mmc";26 compatible = "allwinner,sun5i-a13-mmc";
27 reg = <0x01c0f000 0x1000>;27 reg = <0x01c0f000 0x1000>;
28 clocks = <&ahb_gates 8>, <&mmc0_clk>;28 clocks = <&ahb_gates 8>, <&mmc0_clk>, <&mmc0_output_clk>, <&mmc0_sample_clk>;
29 clock-names = "ahb", "mod";29 clock-names = "ahb", "mod", "output", "sample";
30 interrupts = <0 32 4>;30 interrupts = <0 32 4>;
31 status = "disabled";31 status = "disabled";
32 };32 };
Documentation/devicetree/bindings/mtd/atmel-nand.txt+1−1
@@ -1,7 +1,7 @@
1Atmel NAND flash1Atmel NAND flash
2 2
3Required properties:3Required properties:
4- compatible : "atmel,at91rm9200-nand".4- compatible : should be "atmel,at91rm9200-nand" or "atmel,sama5d4-nand".
5- reg : should specify localbus address and size used for the chip,5- reg : should specify localbus address and size used for the chip,
6 and hardware ECC controller if available.6 and hardware ECC controller if available.
7 If the hardware ECC is PMECC, it should contain address and size for7 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 @@
1* Freescale Quad Serial Peripheral Interface(QuadSPI)1* Freescale Quad Serial Peripheral Interface(QuadSPI)
2 2
3Required properties:3Required properties:
4 - compatible : Should be "fsl,vf610-qspi"4 - compatible : Should be "fsl,vf610-qspi" or "fsl,imx6sx-qspi"
5 - reg : the first contains the register location and length,5 - reg : the first contains the register location and length,
6 the second contains the memory mapping address and length6 the second contains the memory mapping address and length
7 - reg-names: Should contain the reg names "QuadSPI" and "QuadSPI-memory"7 - 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
9Optional properties:9Optional properties:
10- bank-width : Width (in bytes) of the device. If not present, the width10- bank-width : Width (in bytes) of the device. If not present, the width
11 defaults to 1 byte11 defaults to 1 byte
12- nand-skip-bbtscan: Indicates the the BBT scanning should be skipped12- nand-skip-bbtscan: Indicates the BBT scanning should be skipped
13- timings: array of 6 bytes for NAND timings. The meanings of these bytes13- timings: array of 6 bytes for NAND timings. The meanings of these bytes
14 are:14 are:
15 byte 0 TCLR : CLE to RE delay in number of AHB clock cycles, only 4 bits15 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 @@
1* Freescale General-Purpose Media Interface (GPMI)1* Freescale General-Purpose Media Interface (GPMI)
2 2
3The GPMI nand controller provides an interface to control the3The GPMI nand controller provides an interface to control the
4NAND flash chips. We support only one NAND chip now.4NAND flash chips.
5 5
6Required properties:6Required properties:
7 - compatible : should be "fsl,<chip>-gpmi-nand"7 - compatible : should be "fsl,<chip>-gpmi-nand"
Documentation/devicetree/bindings/mtd/hisi504-nand.txt+47−0
@@ -0,0 +1,47 @@
1Hisilicon Hip04 Soc NAND controller DT binding
2
3Required 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
15Optional 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
20The following ECC strength and step size are currently supported:
21
22 - nand-ecc-strength = <16>, nand-ecc-step-size = <1024>
23
24Flash chip may optionally contain additional sub-nodes describing partitions of
25the address space. See partition.txt for more detail.
26
27Example:
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
36 - vendor-id : Contains the flash chip's vendor id (1 byte).36 - vendor-id : Contains the flash chip's vendor id (1 byte).
37 - device-id : Contains the flash chip's device id (1 byte).37 - device-id : Contains the flash chip's device id (1 byte).
38 38
39For ROM compatible devices (and ROM fallback from cfi-flash), the following
40additional (optional) property is defined:
41
42 - erase-size : The chip's physical erase block size in bytes.
43
39The device tree may optionally contain sub-nodes describing partitions of the44The device tree may optionally contain sub-nodes describing partitions of the
40address space. See partition.txt for more detail.45address space. See partition.txt for more detail.
41 46
Documentation/devicetree/bindings/net/amd-xgbe-phy.txt+21−0
@@ -7,17 +7,38 @@ Required properties: · 6 unmodified lines
7 - SerDes Rx/Tx registers7 - SerDes Rx/Tx registers
8 - SerDes integration registers (1/2)8 - SerDes integration registers (1/2)
9 - SerDes integration registers (2/2)9 - 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.
10 13
11Optional properties:14Optional properties:
12- amd,speed-set: Speed capabilities of the device15- amd,speed-set: Speed capabilities of the device
13 0 - 1GbE and 10GbE (default)16 0 - 1GbE and 10GbE (default)
14 1 - 2.5GbE and 10GbE17 1 - 2.5GbE and 10GbE
15 18
19The following optional properties are represented by an array with each
20value corresponding to a particular speed. The first array value represents
21the setting for the 1GbE speed, the second value for the 2.5GbE speed and
22the third value for the 10GbE speed. All three values are required if the
23property 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
16Example:31Example:
17 xgbe_phy@e1240800 {32 xgbe_phy@e1240800 {
18 compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45";33 compatible = "amd,xgbe-phy-seattle-v1a", "ethernet-phy-ieee802.3-c45";
19 reg = <0 0xe1240800 0 0x00400>,34 reg = <0 0xe1240800 0 0x00400>,
20 <0 0xe1250000 0 0x00060>,35 <0 0xe1250000 0 0x00060>,
21 <0 0xe1250080 0 0x00004>;36 <0 0xe1250080 0 0x00004>;
37 interrupt-parent = <&gic>;
38 interrupts = <0 323 4>;
22 amd,speed-set = <0>;39 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>;
23 };44 };
Documentation/devicetree/bindings/net/broadcom-systemport.txt+1−1
@@ -3,7 +3,7 @@ · 2 unmodified lines
3Required properties:3Required properties:
4- compatible: should be one of "brcm,systemport-v1.00" or "brcm,systemport"4- compatible: should be one of "brcm,systemport-v1.00" or "brcm,systemport"
5- reg: address and length of the register set for the device.5- reg: address and length of the register set for the device.
6- interrupts: interrupts for the device, first cell must be for the the rx6- interrupts: interrupts for the device, first cell must be for the rx
7 interrupts, and the second cell should be for the transmit queues. An7 interrupts, and the second cell should be for the transmit queues. An
8 optional third interrupt cell for Wake-on-LAN can be specified8 optional third interrupt cell for Wake-on-LAN can be specified
9- local-mac-address: Ethernet MAC address (48 bits) of this adapter9- 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
11Optional properties:11Optional properties:
12- davicom,no-eeprom : Configuration EEPROM is not available12- davicom,no-eeprom : Configuration EEPROM is not available
13- davicom,ext-phy : Use external PHY13- 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
14 16
15Example:17Example:
16 18
@@ -21,4 +23,6 @@ Example: · 4 unmodified lines
21 interrupts = <7 4>;23 interrupts = <7 4>;
22 local-mac-address = [00 00 de ad be ef];24 local-mac-address = [00 00 de ad be ef];
23 davicom,no-eeprom;25 davicom,no-eeprom;
26 reset-gpios = <&gpf 12 GPIO_ACTIVE_LOW>;
27 vcc-supply = <&eth0_power>;
24 };28 };
Documentation/devicetree/bindings/net/fsl-fec.txt+2−0
@@ -22,6 +22,8 @@ Optional properties: · 21 unmodified lines
22- fsl,num-rx-queues : The property is valid for enet-avb IP, which supports22- fsl,num-rx-queues : The property is valid for enet-avb IP, which supports
23 hw multi queues. Should specify the rx queue number, otherwise set rx queue23 hw multi queues. Should specify the rx queue number, otherwise set rx queue
24 number to 1.24 number to 1.
25- fsl,magic-packet : If present, indicates that the hardware supports waking
26 up via magic packet.
25 27
26Optional subnodes:28Optional subnodes:
27- mdio : specifies the mdio bus in the FEC, used as a container for phy nodes29- 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
8Required properties:8Required properties:
9 - reg : Offset and length of the register set for the device9 - reg : Offset and length of the register set for the device
10 - compatible : Should define the compatible device type for the10 - 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"
12 21
13Example:22Example:
14 23
Documentation/devicetree/bindings/net/hisilicon-hip04-net.txt+88−0
@@ -0,0 +1,88 @@
1Hisilicon hip04 Ethernet Controller
2
3* Ethernet controller node
4
5Required 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
15Optional properties:
16- phy-handle: see ethernet.txt [1].
17
18[1] Documentation/devicetree/bindings/net/ethernet.txt
19
20
21* Ethernet ppe node:
22Control rx & tx fifos of all ethernet controllers.
23Have 2048 recv channels shared by all ethernet controllers, only if no overlap.
24Each controller's recv channel start from channel * number (RX_DESC_NUM).
25
26Required 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
33Required 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
39Example:
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 @@
1This document describes the device tree bindings associated with the
2keystone network coprocessor(NetCP) driver support.
3
4The network coprocessor (NetCP) is a hardware accelerator that processes
5Ethernet packets. NetCP has a gigabit Ethernet (GbE) subsytem with a ethernet
6switch sub-module to send and receive packets. NetCP also includes a packet
7accelerator (PA) module to perform packet classification operations such as
8header matching, and packet modification operations such as checksum
9generation. NetCP can also optionally include a Security Accelerator (SA)
10capable of performing IPSec operations on ingress/egress packets.
11
12Keystone II SoC's also have a 10 Gigabit Ethernet Subsystem (XGbE) which
13includes a 3-port Ethernet switch sub-module capable of 10Gb/s and 1Gb/s rates
14per Ethernet port.
15
16Keystone NetCP driver has a plug-in module architecture where each of the NetCP
17sub-modules exist as a loadable kernel module which plug in to the netcp core.
18These sub-modules are represented as "netcp-devices" in the dts bindings. It is
19mandatory to have the ethernet switch sub-module for the ethernet interface to
20be operational. Any other sub-module like the PA is optional.
21
22NetCP 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
47NetCP subsystem properties:
48Required 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
53Optional 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
63NetCP device properties: Device specification for NetCP sub-modules.
641Gb/10Gb (gbe/xgbe) ethernet switch sub-module specifications.
65Required 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
86Optional 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
95NetCP interface properties: Interface specification for NetCP sub-modules.
96Required 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
110Optional 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
121Example binding:
122
123netcp: 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 @@
1* STMicroelectronics SAS. ST21NFCA NFC Controller1* STMicroelectronics SAS. ST21NFCA NFC Controller
2 2
3Required properties:3Required properties:
4- compatible: Should be "st,st21nfca_i2c".4- compatible: Should be "st,st21nfca-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller7- interrupt-parent: phandle for the interrupt gpio controller
@@ -11,6 +11,10 @@ Required properties: · 3 unmodified lines
11Optional SoC Specific Properties:11Optional SoC Specific Properties:
12- pinctrl-names: Contains only one value - "default".12- pinctrl-names: Contains only one value - "default".
13- pintctrl-0: Specifies the pin control groups used for this controller.13- pintctrl-0: Specifies the pin control groups used for this controller.
14- ese-present: Specifies that an ese is physically connected to the nfc
15controller.
16- uicc-present: Specifies that the uicc swp signal can be physically
17connected to the nfc controller.
14 18
15Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):19Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2):
16 20
@@ -20,7 +24,7 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): · 3 unmodified lines
20 24
21 st21nfca: st21nfca@1 {25 st21nfca: st21nfca@1 {
22 26
23 compatible = "st,st21nfca_i2c";27 compatible = "st,st21nfca-i2c";
24 28
25 reg = <0x01>;29 reg = <0x01>;
26 clock-frequency = <400000>;30 clock-frequency = <400000>;
@@ -29,5 +33,8 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): · 2 unmodified lines
29 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;33 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
30 34
31 enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;35 enable-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>;
36
37 ese-present;
38 uicc-present;
32 };39 };
33};40};
Documentation/devicetree/bindings/net/nfc/st21nfcb.txt+2−2
@@ -1,7 +1,7 @@
1* STMicroelectronics SAS. ST21NFCB NFC Controller1* STMicroelectronics SAS. ST21NFCB NFC Controller
2 2
3Required properties:3Required properties:
4- compatible: Should be "st,st21nfcb_i2c".4- compatible: Should be "st,st21nfcb-i2c".
5- clock-frequency: I²C work frequency.5- clock-frequency: I²C work frequency.
6- reg: address on the bus6- reg: address on the bus
7- interrupt-parent: phandle for the interrupt gpio controller7- 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
20 20
21 st21nfcb: st21nfcb@8 {21 st21nfcb: st21nfcb@8 {
22 22
23 compatible = "st,st21nfcb_i2c";23 compatible = "st,st21nfcb-i2c";
24 24
25 reg = <0x08>;25 reg = <0x08>;
26 clock-frequency = <400000>;26 clock-frequency = <400000>;
Documentation/devicetree/bindings/net/rockchip-dwmac.txt+68−0
@@ -0,0 +1,68 @@
1Rockchip SoC RK3288 10/100/1000 Ethernet driver(GMAC)
2
3The device node has following properties.
4
5Required 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
33Optional 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
38Example:
39
40gmac: 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
9Required properties:9Required properties:
10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",10 - compatible : Can be "st,stih415-dwmac", "st,stih416-dwmac",
11 "st,stih407-dwmac", "st,stid127-dwmac".11 "st,stih407-dwmac", "st,stid127-dwmac".
12 - reg : Offset of the glue configuration register map in system12 - st,syscon : Should be phandle/offset pair. The phandle to the syscon node which
13 configuration regmap pointed by st,syscon property and size.13 encompases the glue register, and the offset of the control register.
14 - st,syscon : Should be phandle to system configuration node which
15 encompases this glue registers.
16 - st,gmac_en: this is to enable the gmac into a dedicated sysctl control14 - st,gmac_en: this is to enable the gmac into a dedicated sysctl control
17 register available on STiH407 SoC.15 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.
20 - pinctrl-0: pin-control for all the MII mode supported.16 - pinctrl-0: pin-control for all the MII mode supported.
21 17
22Optional properties:18Optional properties:
@@ -40,10 +36,10 @@ ethernet0: dwmac@9630000 { · 17 unmodified lines
40 device_type = "network";36 device_type = "network";
41 status = "disabled";37 status = "disabled";
42 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";38 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
43 reg = <0x9630000 0x8000>, <0x80 0x4>;39 reg = <0x9630000 0x8000>;
44 reg-names = "stmmaceth", "sti-ethconf";40 reg-names = "stmmaceth";
45 41
46 st,syscon = <&syscfg_sbc_reg>;42 st,syscon = <&syscfg_sbc_reg 0x80>;
47 st,gmac_en;43 st,gmac_en;
48 resets = <&softreset STIH407_ETH1_SOFTRESET>;44 resets = <&softreset STIH407_ETH1_SOFTRESET>;
49 reset-names = "stmmaceth";45 reset-names = "stmmaceth";
Documentation/devicetree/bindings/net/stmmac.txt+1−0
@@ -43,6 +43,7 @@ Optional properties: · 42 unmodified lines
43 available this clock is used for programming the Timestamp Addend Register.43 available this clock is used for programming the Timestamp Addend Register.
44 If not passed then the system clock will be used and this is fine on some44 If not passed then the system clock will be used and this is fine on some
45 platforms.45 platforms.
46- snps,burst_len: The AXI burst lenth value of the AXI BUS MODE register.
46 47
47Examples:48Examples:
48 49
Documentation/devicetree/bindings/net/wireless/qcom,ath10k.txt+30−0
@@ -0,0 +1,30 @@
1* Qualcomm Atheros ath10k wireless devices
2
3For ath10k devices the calibration data can be provided through Device
4Tree. The node is a child node of the PCI controller.
5
6Required properties:
7-compatible : Should be "qcom,ath10k"
8
9Optional properties:
10- qcom,ath10k-calibration-data : calibration data as an array, the
11 length can vary between hw versions
12
13
14Example:
15
16pci {
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 @@
1Shanghai AVIC Optoelectronics 7" 1024x600 color TFT-LCD panel
2
3Required properties:
4- compatible: should be "avic,tm070ddh03"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt+7−0
@@ -0,0 +1,7 @@
1GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
2
3Required properties:
4- compatible: should be "giantplus,gpg48273qs5"
5
6This binding is compatible with the simple-panel binding, which is specified
7in simple-panel.txt in this directory.
Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt+4−4
@@ -1,10 +1,10 @@
1NVIDIA Tegra PCIe controller1NVIDIA Tegra PCIe controller
2 2
3Required properties:3Required properties:
4- compatible: Must be one of:4- compatible: For Tegra20, must contain "nvidia,tegra20-pcie". For Tegra30,
5 - "nvidia,tegra20-pcie"5 "nvidia,tegra30-pcie". For Tegra124, must contain "nvidia,tegra124-pcie".
6 - "nvidia,tegra30-pcie"6 Otherwise, must contain "nvidia,<chip>-pcie", plus one of the above, where
7 - "nvidia,tegra124-pcie"7 <chip> is tegra132 or tegra210.
8- device_type: Must be "pci"8- device_type: Must be "pci"
9- reg: A list of physical base address and length for each set of controller9- reg: A list of physical base address and length for each set of controller
10 registers. Must contain an entry for each entry in the reg-names property.10 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
3PCI host controller found on the ARM Versatile PB board's FPGA.
4
5Required 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
22Example:
23
24pci-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
26 filled in "reg". It can also contain the offset of the system configuration26 filled in "reg". It can also contain the offset of the system configuration
27 registers used as glue-logic to setup the device for SATA/PCIe or USB327 registers used as glue-logic to setup the device for SATA/PCIe or USB3
28 devices.28 devices.
29- st,syscfg : Offset of the parent configuration register.
29- resets : phandle to the parent reset controller.30- resets : phandle to the parent reset controller.
30- reset-names : Associated name must be "miphy-sw-rst".31- reset-names : Associated name must be "miphy-sw-rst".
31 32
@@ -54,18 +55,12 @@ example: · 22 unmodified lines
54 phy_port0: port@9b22000 {55 phy_port0: port@9b22000 {
55 reg = <0x9b22000 0xff>,56 reg = <0x9b22000 0xff>,
56 <0x9b09000 0xff>,57 <0x9b09000 0xff>,
57 <0x9b04000 0xff>,58 <0x9b04000 0xff>;
58 <0x114 0x4>, /* sysctrl MiPHY cntrl */
59 <0x818 0x4>, /* sysctrl MiPHY status*/
60 <0xe0 0x4>, /* sysctrl PCIe */
61 <0xec 0x4>; /* sysctrl SATA */
62 reg-names = "sata-up",59 reg-names = "sata-up",
63 "pcie-up",60 "pcie-up",
64 "pipew",61 "pipew";
65 "miphy-ctrl-glue",62
66 "miphy-status-glue",63 st,syscfg = <0x114 0x818 0xe0 0xec>;
67 "pcie-glue",
68 "sata-glue";
69 #phy-cells = <1>;64 #phy-cells = <1>;
70 st,osc-rdy;65 st,osc-rdy;
71 reset-names = "miphy-sw-rst";66 reset-names = "miphy-sw-rst";
@@ -75,18 +70,13 @@ example: · 3 unmodified lines
75 phy_port1: port@9b2a000 {70 phy_port1: port@9b2a000 {
76 reg = <0x9b2a000 0xff>,71 reg = <0x9b2a000 0xff>,
77 <0x9b19000 0xff>,72 <0x9b19000 0xff>,
78 <0x9b14000 0xff>,73 <0x9b14000 0xff>;
79 <0x118 0x4>,
80 <0x81c 0x4>,
81 <0xe4 0x4>,
82 <0xf0 0x4>;
83 reg-names = "sata-up",74 reg-names = "sata-up",
84 "pcie-up",75 "pcie-up",
85 "pipew",76 "pipew";
86 "miphy-ctrl-glue",77
87 "miphy-status-glue",78 st,syscfg = <0x118 0x81c 0xe4 0xf0>;
88 "pcie-glue",79
89 "sata-glue";
90 #phy-cells = <1>;80 #phy-cells = <1>;
91 st,osc-force-ext;81 st,osc-force-ext;
92 reset-names = "miphy-sw-rst";82 reset-names = "miphy-sw-rst";
@@ -95,13 +85,12 @@ example: · 2 unmodified lines
95 85
96 phy_port2: port@8f95000 {86 phy_port2: port@8f95000 {
97 reg = <0x8f95000 0xff>,87 reg = <0x8f95000 0xff>,
98 <0x8f90000 0xff>,88 <0x8f90000 0xff>;
99 <0x11c 0x4>,
100 <0x820 0x4>;
101 reg-names = "pipew",89 reg-names = "pipew",
102 "usb3-up",90 "usb3-up";
103 "miphy-ctrl-glue",91
104 "miphy-status-glue";92 st,syscfg = <0x11c 0x820>;
93
105 #phy-cells = <1>;94 #phy-cells = <1>;
106 reset-names = "miphy-sw-rst";95 reset-names = "miphy-sw-rst";
107 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;96 resets = <&softreset STIH407_MIPHY2_SOFTRESET>;
@@ -125,4 +114,4 @@ example: · 17 unmodified lines
125 114
126Macro definitions for the supported miphy configuration can be found in:115Macro definitions for the supported miphy configuration can be found in:
127 116
128include/dt-bindings/phy/phy-miphy28lp.h117include/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
6 6
7Required properties (controller (parent) node):7Required properties (controller (parent) node):
8- compatible : Should be "st,miphy365x-phy"8- compatible : Should be "st,miphy365x-phy"
9- st,syscfg : Should be a phandle of the system configuration register group9- st,syscfg : Phandle / integer array property. Phandle of sysconfig group
10 which contain the SATA, PCIe mode setting bits10 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.
11 13
12Required nodes : A sub-node is required for each channel the controller14Required nodes : A sub-node is required for each channel the controller
13 provides. Address range information including the usual15 provides. Address range information including the usual
@@ -26,7 +28,6 @@ Required properties (port (child) node): · 12 unmodified lines
26 registers filled in "reg":28 registers filled in "reg":
27 - sata: For SATA devices29 - sata: For SATA devices
28 - pcie: For PCIe devices30 - pcie: For PCIe devices
29 - syscfg: To specify the syscfg based config register
30 31
31Optional properties (port (child) node):32Optional properties (port (child) node):
32- st,sata-gen : Generation of locally attached SATA IP. Expected values33- st,sata-gen : Generation of locally attached SATA IP. Expected values
@@ -39,20 +40,20 @@ Example: · 6 unmodified lines
39 40
40 miphy365x_phy: miphy365x@fe382000 {41 miphy365x_phy: miphy365x@fe382000 {
41 compatible = "st,miphy365x-phy";42 compatible = "st,miphy365x-phy";
42 st,syscfg = <&syscfg_rear>;43 st,syscfg = <&syscfg_rear 0x824 0x828>;
43 #address-cells = <1>;44 #address-cells = <1>;
44 #size-cells = <1>;45 #size-cells = <1>;
45 ranges;46 ranges;
46 47
47 phy_port0: port@fe382000 {48 phy_port0: port@fe382000 {
48 reg = <0xfe382000 0x100>, <0xfe394000 0x100>, <0x824 0x4>;49 reg = <0xfe382000 0x100>, <0xfe394000 0x100>;
49 reg-names = "sata", "pcie", "syscfg";50 reg-names = "sata", "pcie";
50 #phy-cells = <1>;51 #phy-cells = <1>;
51 st,sata-gen = <3>;52 st,sata-gen = <3>;
52 };53 };
53 54
54 phy_port1: port@fe38a000 {55 phy_port1: port@fe38a000 {
55 reg = <0xfe38a000 0x100>, <0xfe804000 0x100>, <0x828 0x4>;;56 reg = <0xfe38a000 0x100>, <0xfe804000 0x100>;;
56 reg-names = "sata", "pcie", "syscfg";57 reg-names = "sata", "pcie", "syscfg";
57 #phy-cells = <1>;58 #phy-cells = <1>;
58 st,pcie-tx-pol-inv;59 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
5 5
6Required properties:6Required properties:
7- compatible : should be "st,stih407-usb2-phy"7- compatible : should be "st,stih407-usb2-phy"
8- reg : contain the offset and length of the system configuration registers8- st,syscfg : phandle of sysconfig bank plus integer array containing phyparam and phyctrl register offsets
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
12- resets : list of phandle and reset specifier pairs. There should be two entries, one9- resets : list of phandle and reset specifier pairs. There should be two entries, one
13 for the whole phy and one for the port10 for the whole phy and one for the port
14- reset-names : list of reset signal names. Should be "global" and "port"11- reset-names : list of reset signal names. Should be "global" and "port"
@@ -19,11 +16,8 @@ Example: · 4 unmodified lines
19 16
20usb2_picophy0: usbpicophy@f8 {17usb2_picophy0: usbpicophy@f8 {
21 compatible = "st,stih407-usb2-phy";18 compatible = "st,stih407-usb2-phy";
22 reg = <0xf8 0x04>, /* syscfg 5062 */
23 <0xf4 0x04>; /* syscfg 5061 */
24 reg-names = "param", "ctrl";
25 #phy-cells = <0>;19 #phy-cells = <0>;
26 st,syscfg = <&syscfg_core>;20 st,syscfg = <&syscfg_core 0x100 0xf4>;
27 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,21 resets = <&softreset STIH407_PICOPHY_SOFTRESET>,
28 <&picophyreset STIH407_PICOPHY0_RESET>;22 <&picophyreset STIH407_PICOPHY0_RESET>;
29 reset-names = "global", "port";23 reset-names = "global", "port";
Documentation/devicetree/bindings/phy/rockchip-usb-phy.txt+37−0
@@ -0,0 +1,37 @@
1ROCKCHIP USB2 PHY
2
3Required 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
10Sub-nodes:
11Each PHY should be represented as a sub-node.
12
13Sub-nodes
14required 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
21Optional Properties:
22- clocks : phandle + clock specifier for the phy clocks
23- clock-names: string, clock name, must be "phyclk"
24
25Example:
26
27usbphy: 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
3 3
4Required properties:4Required properties:
5- compatible : should be "samsung,s5pv210-mipi-video-phy";5- compatible : should be "samsung,s5pv210-mipi-video-phy";
6- reg : offset and length of the MIPI DPHY register set;
7- #phy-cells : from the generic phy bindings, must be 1;6- #phy-cells : from the generic phy bindings, must be 1;
7- syscon - phandle to the PMU system controller;
8 8
9For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in9For "samsung,s5pv210-mipi-video-phy" compatible PHYs the second cell in
10the PHY specifier identifies the PHY and its meaning is as follows:10the 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
11 "allwinner,sun5i-a10s-pinctrl"11 "allwinner,sun5i-a10s-pinctrl"
12 "allwinner,sun5i-a13-pinctrl"12 "allwinner,sun5i-a13-pinctrl"
13 "allwinner,sun6i-a31-pinctrl"13 "allwinner,sun6i-a31-pinctrl"
14 "allwinner,sun6i-a31s-pinctrl"
14 "allwinner,sun6i-a31-r-pinctrl"15 "allwinner,sun6i-a31-r-pinctrl"
15 "allwinner,sun7i-a20-pinctrl"16 "allwinner,sun7i-a20-pinctrl"
16 "allwinner,sun8i-a23-pinctrl"17 "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
6a baseline, and only documents the differences between the two bindings.6a baseline, and only documents the differences between the two bindings.
7 7
8Required properties:8Required 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"'.
10- reg: Should contain a list of base address and size pairs for:11- reg: Should contain a list of base address and size pairs for:
11 -- first entry - the drive strength and pad control registers.12 -- first entry - the drive strength and pad control registers.
12 -- second entry - the pinmux registers13 -- 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
13 13
14Required properties:14Required properties:
15--------------------15--------------------
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.
17- reg: Physical base address and length of the controller's registers.19- reg: Physical base address and length of the controller's registers.
18- resets: Must contain an entry for each entry in reset-names.20- resets: Must contain an entry for each entry in reset-names.
19 See ../reset/reset.txt for details.21 See ../reset/reset.txt for details.
Documentation/devicetree/bindings/pinctrl/qcom,msm8916-pinctrl.txt+186−0
@@ -0,0 +1,186 @@
1Qualcomm MSM8916 TLMM block
2
3This binding describes the Top Level Mode Multiplexer block found in the
4MSM8916 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
43Please refer to ../gpio/gpio.txt and ../interrupt-controller/interrupts.txt for
44a general description of GPIO and interrupt bindings.
45
46Please refer to pinctrl-bindings.txt in this directory for details of the
47common pinctrl bindings used by client devices, including the meaning of the
48phrase "pin configuration node".
49
50The pin configuration nodes act as a container for an arbitrary number of
51subnodes. Each of these subnodes represents some desired configuration for a
52pin, a group, or a list of pins or groups. This configuration can include the
53mux function to select on those pin(s)/group(s), and various pin configuration
54parameters, such as pull-up, drive strength, etc.
55
56
57PIN CONFIGURATION NODES:
58
59The name of each subnode is not important; all subnodes should be enumerated
60and processed purely based on their content.
61
62Each subnode only affects those parameters that are explicitly listed. In
63other words, a subnode that lists a mux function but no pin configuration
64parameters implies no information about any pin configuration parameters.
65Similarly, a pin subnode that describes a pullup parameter implies no
66information about e.g. the mux function.
67
68
69The following generic properties as defined in pinctrl-bindings.txt are valid
70to 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
157Example:
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 @@
1* Renesas Pin Function Controller (GPIO and Pin Mux/Config)1* Renesas Pin Function Controller (GPIO and Pin Mux/Config)
2 2
3The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH7372,3The Pin Function Controller (PFC) is a Pin Mux/Config controller. On SH73A0,
4SH73A0, R8A73A4 and R8A7740 it also acts as a GPIO controller.4R8A73A4 and R8A7740 it also acts as a GPIO controller.
5 5
6 6
7Pin Control7Pin Control
@@ -10,13 +10,13 @@ Pin Control · 2 unmodified lines
10Required Properties:10Required Properties:
11 11
12 - compatible: should be one of the following.12 - compatible: should be one of the following.
13 - "renesas,pfc-emev2": for EMEV2 (EMMA Mobile EV2) compatible pin-controller.
13 - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller.14 - "renesas,pfc-r8a73a4": for R8A73A4 (R-Mobile APE6) compatible pin-controller.
14 - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller.15 - "renesas,pfc-r8a7740": for R8A7740 (R-Mobile A1) compatible pin-controller.
15 - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller.16 - "renesas,pfc-r8a7778": for R8A7778 (R-Mobile M1) compatible pin-controller.
16 - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.17 - "renesas,pfc-r8a7779": for R8A7779 (R-Car H1) compatible pin-controller.
17 - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.18 - "renesas,pfc-r8a7790": for R8A7790 (R-Car H2) compatible pin-controller.
18 - "renesas,pfc-r8a7791": for R8A7791 (R-Car M2) compatible pin-controller.19 - "renesas,pfc-r8a7791": for R8A7791 (R-Car M2) compatible pin-controller.
19 - "renesas,pfc-sh7372": for SH7372 (SH-Mobile AP4) compatible pin-controller.
20 - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller.20 - "renesas,pfc-sh73a0": for SH73A0 (SH-Mobile AG5) compatible pin-controller.
21 21
22 - reg: Base address and length of each memory resource used by the pin22 - 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
75GPIO75GPIO
76----76----
77 77
78On SH7372, SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller78On SH73A0, R8A73A4 and R8A7740 the PFC node is also a GPIO controller node.
79node.
80 79
81Required Properties:80Required Properties:
82 81
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt+12−0
@@ -171,6 +171,18 @@ Aliases: · 170 unmodified lines
171All the pin controller nodes should be represented in the aliases node using171All the pin controller nodes should be represented in the aliases node using
172the following format 'pinctrl{n}' where n is a unique number for the alias.172the following format 'pinctrl{n}' where n is a unique number for the alias.
173 173
174Aliases 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
174Example: A pin-controller node with pin banks:186Example: A pin-controller node with pin banks:
175 187
176 pinctrl_0: pinctrl@11400000 {188 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
16parameters, such as input, output, pull up, pull down...16parameters, such as input, output, pull up, pull down...
17 17
18The name of each subnode is not important; all subnodes should be enumerated18The name of each subnode is not important; all subnodes should be enumerated
19and processed purely based on their content.19and processed purely based on their content. The subnodes use the generic
20pin multiplexing node layout from the standard pin control bindings
21(see pinctrl-bindings.txt):
20 22
21Required subnode-properties:23Required pin multiplexing subnode properties:
22- ste,pins : An array of strings. Each string contains the name of a pin or24- function: A string containing the name of the function to mux to the
23 group.
24
25Optional subnode-properties:
26- ste,function: A string containing the name of the function to mux to the
27 pin or group.25 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.
28 29
29- ste,config: Handle of pin configuration node (e.g. ste,config = <&slpm_in_wkup_pdis>)30Required 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>)
30 35
31- ste,input : <0/1/2>36- ste,input : <0/1/2>
32 0: input with no pull37 0: input with no pull
@@ -97,32 +102,32 @@ Example board file extract: · 64 unmodified lines
97 uart0 {102 uart0 {
98 uart0_default_mux: uart0_mux {103 uart0_default_mux: uart0_mux {
99 u0_default_mux {104 u0_default_mux {
100 ste,function = "u0";105 function = "u0";
101 ste,pins = "u0_a_1";106 pins = "u0_a_1";
102 };107 };
103 };108 };
104 uart0_default_mode: uart0_default {109 uart0_default_mode: uart0_default {
105 uart0_default_cfg1 {110 uart0_default_cfg1 {
106 ste,pins = "GPIO0", "GPIO2";111 pins = "GPIO0", "GPIO2";
107 ste,input = <1>;112 ste,input = <1>;
108 };113 };
109 114
110 uart0_default_cfg2 {115 uart0_default_cfg2 {
111 ste,pins = "GPIO1", "GPIO3";116 pins = "GPIO1", "GPIO3";
112 ste,output = <1>;117 ste,output = <1>;
113 };118 };
114 };119 };
115 uart0_sleep_mode: uart0_sleep {120 uart0_sleep_mode: uart0_sleep {
116 uart0_sleep_cfg1 {121 uart0_sleep_cfg1 {
117 ste,pins = "GPIO0", "GPIO2";122 pins = "GPIO0", "GPIO2";
118 ste,config = <&slpm_in_wkup_pdis>;123 ste,config = <&slpm_in_wkup_pdis>;
119 };124 };
120 uart0_sleep_cfg2 {125 uart0_sleep_cfg2 {
121 ste,pins = "GPIO1";126 pins = "GPIO1";
122 ste,config = <&slpm_out_hi_wkup_pdis>;127 ste,config = <&slpm_out_hi_wkup_pdis>;
123 };128 };
124 uart0_sleep_cfg3 {129 uart0_sleep_cfg3 {
125 ste,pins = "GPIO3";130 pins = "GPIO3";
126 ste,config = <&slpm_out_wkup_pdis>;131 ste,config = <&slpm_out_wkup_pdis>;
127 };132 };
128 };133 };
Documentation/devicetree/bindings/pinctrl/xlnx,zynq-pinctrl.txt+104−0
@@ -0,0 +1,104 @@
1 Binding for Xilinx Zynq Pinctrl
2
3Required properties:
4- compatible: "xlnx,zynq-pinctrl"
5- syscon: phandle to SLCR
6- reg: Offset and length of pinctrl space in SLCR
7
8Please refer to pinctrl-bindings.txt in this directory for details of the
9common pinctrl bindings used by client devices, including the meaning of the
10phrase "pin configuration node".
11
12Zynq's pin configuration nodes act as a container for an arbitrary number of
13subnodes. Each of these subnodes represents some desired configuration for a
14pin, a group, or a list of pins or groups. This configuration can include the
15mux function to select on those pin(s)/group(s), and various pin configuration
16parameters, such as pull-up, slew rate, etc.
17
18Each configuration node can consist of multiple nodes describing the pinmux and
19pinconf options. Those nodes can be pinmux nodes or pinconf nodes.
20
21The name of each subnode is not important; all subnodes should be enumerated
22and processed purely based on their content.
23
24Required 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
29Required properties for configuration nodes:
30One of:
31 - pins: a list of pin names
32 - groups: A list of pinmux groups.
33
34The following generic properties as defined in pinctrl-bindings.txt are valid
35to specify in a pinmux subnode:
36 groups, function
37
38The following generic properties as defined in pinctrl-bindings.txt are valid
39to 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
67The following driver-specific properties as defined here are valid to specify in
68a 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
76Example:
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 @@
1binding for LTC2941 and LTC2943 battery gauges
2
3Both the LTC2941 and LTC2943 measure battery capacity.
4The LTC2943 is compatible with the LTC2941, it adds voltage and
5temperature monitoring, and uses a slightly different conversion
6formula for the charge counter.
7
8Required 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
20Example 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 @@
1DT bindings for the Renesas R-Mobile System Controller
2
3== System Controller Node ==
4
5The R-Mobile System Controller provides the following functions:
6 - Boot mode management,
7 - Reset generation,
8 - Power management.
9
10Required 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
21Optional 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
29Each of the PM domain nodes represents a PM domain, as documented by the
30generic PM domain bindings in
31Documentation/devicetree/bindings/power/power_domain.txt.
32
33The nodes should be named by the real power area names, and thus their names
34should be unique.
35
36Required properties:
37 - #power-domain-cells: Must be 0.
38
39Optional 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
49Example:
50
51This shows a subset of the r8a7740 PM domain hierarchy, containing the
52C5 "always-on" domain, 2 of its subdomains (A4S and A4SU), and the A3SP domain,
53which 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
88Hardware blocks belonging to a PM domain should contain a "power-domains"
89property that is a phandle pointing to the corresponding PM domain node.
90
91Example:
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 @@
1Binding for the LTC2952 PowerPath controller1Binding for the LTC2952 PowerPath controller
2 2
3This chip is used to externally trigger a system shut down. Once the trigger has3This chip is used to externally trigger a system shut down. Once the trigger has
4been sent, the chips' watchdog has to be reset to gracefully shut down.4been sent, the chip's watchdog has to be reset to gracefully shut down.
5If the Linux systems decides to shut down it powers off the platform via the5A full powerdown can be triggered via the kill signal.
6kill signal.
7 6
8Required properties:7Required properties:
9 8
10- compatible: Must contain: "lltc,ltc2952"9- compatible: Must contain: "lltc,ltc2952"
11- trigger-gpios: phandle + gpio-specifier for the GPIO connected to the
12 chip's trigger line
13- watchdog-gpios: phandle + gpio-specifier for the GPIO connected to the10- watchdog-gpios: phandle + gpio-specifier for the GPIO connected to the
14 chip's watchdog line11 chip's watchdog line
15- kill-gpios: phandle + gpio-specifier for the GPIO connected to the12- kill-gpios: phandle + gpio-specifier for the GPIO connected to the
16 chip's kill line13 chip's kill line
17 14
15Optional 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
18Example:21Example:
19 22
20ltc2952 {23ltc2952 {
Documentation/devicetree/bindings/power/rockchip-io-domain.txt+1−1
@@ -37,7 +37,7 @@ Required properties: · 36 unmodified lines
37 37
38 38
39You specify supplies using the standard regulator bindings by including39You specify supplies using the standard regulator bindings by including
40a phandle the the relevant regulator. All specified supplies must be able40a phandle the relevant regulator. All specified supplies must be able
41to report their voltage. The IO Voltage Domain for any non-specified41to report their voltage. The IO Voltage Domain for any non-specified
42supplies will be not be touched.42supplies will be not be touched.
43 43
Documentation/devicetree/bindings/powerpc/fsl/fman.txt+70−0
@@ -7,6 +7,7 @@ CONTENTS · 6 unmodified lines
7 - FMan MURAM Node7 - FMan MURAM Node
8 - FMan dTSEC/XGEC/mEMAC Node8 - FMan dTSEC/XGEC/mEMAC Node
9 - FMan IEEE 1588 Node9 - FMan IEEE 1588 Node
10 - FMan MDIO Node
10 - Example11 - Example
11 12
12=============================================================================13=============================================================================
@@ -356,6 +357,69 @@ ptp-timer@fe000 { · 343 unmodified lines
356 reg = <0xfe000 0x1000>;357 reg = <0xfe000 0x1000>;
357};358};
358 359
360=============================================================================
361FMan MDIO Node
362
363DESCRIPTION
364
365The MDIO is a bus to which the PHY devices are connected.
366
367PROPERTIES
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
405EXAMPLE
406
407Example for FMan v2 external MDIO:
408
409mdio@f1000 {
410 compatible = "fsl,fman-xmdio";
411 reg = <0xf1000 0x1000>;
412 interrupts = <101 2 0 0>;
413};
414
415Example for FMan v3 internal MDIO:
416
417mdio@f1000 {
418 compatible = "fsl,fman-memac-mdio";
419 reg = <0xf1000 0x1000>;
420 fsl,fman-internal-mdio;
421};
422
359=============================================================================423=============================================================================
360Example424Example
361 425
@@ -531,4 +595,10 @@ fman@400000 { · 169 unmodified lines
531 compatible = "fsl,fman-ptp-timer";595 compatible = "fsl,fman-ptp-timer";
532 reg = <0xfe000 0x1000>;596 reg = <0xfe000 0x1000>;
533 };597 };
598
599 mdio@f1000 {
600 compatible = "fsl,fman-xmdio";
601 reg = <0xf1000 0x1000>;
602 interrupts = <101 2 0 0>;
603 };
534};604};
Documentation/devicetree/bindings/powerpc/fsl/lbc.txt+13−5
@@ -16,20 +16,28 @@ Example: · 15 unmodified lines
16 "fsl,pq2-localbus";16 "fsl,pq2-localbus";
17 #address-cells = <2>;17 #address-cells = <2>;
18 #size-cells = <1>;18 #size-cells = <1>;
19 reg = <f0010100 40>;19 reg = <0xf0010100 0x40>;
20 20
21 ranges = <0 0 fe000000 0200000021 ranges = <0x0 0x0 0xfe000000 0x02000000
22 1 0 f4500000 00008000>;22 0x1 0x0 0xf4500000 0x00008000
23 0x2 0x0 0xfd810000 0x00010000>;
23 24
24 flash@0,0 {25 flash@0,0 {
25 compatible = "jedec-flash";26 compatible = "jedec-flash";
26 reg = <0 0 2000000>;27 reg = <0x0 0x0 0x2000000>;
27 bank-width = <4>;28 bank-width = <4>;
28 device-width = <1>;29 device-width = <1>;
29 };30 };
30 31
31 board-control@1,0 {32 board-control@1,0 {
32 reg = <1 0 20>;33 reg = <0x1 0x0 0x20>;
33 compatible = "fsl,mpc8272ads-bcsr";34 compatible = "fsl,mpc8272ads-bcsr";
34 };35 };
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 };
35 };43 };
Documentation/devicetree/bindings/pwm/img-pwm.txt+24−0
@@ -0,0 +1,24 @@
1*Imagination Technologies PWM DAC driver
2
3Required 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
16Example:
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 @@
1Tegra SoC PWFM controller1Tegra SoC PWFM controller
2 2
3Required properties:3Required properties:
4- compatible: should be one of:4- compatible: For Tegra20, must contain "nvidia,tegra20-pwm". For Tegra30,
5 - "nvidia,tegra20-pwm"5 must contain "nvidia,tegra30-pwm". Otherwise, must contain
6 - "nvidia,tegra30-pwm"6 "nvidia,<chip>-pwm", plus one of the above, where <chip> is tegra114,
7 tegra124, tegra132, or tegra210.
7- reg: physical base address and length of the controller's registers8- reg: physical base address and length of the controller's registers
8- #pwm-cells: should be 2. See pwm.txt in this directory for a description of9- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
9 the cells format.10 the cells format.
Documentation/devicetree/bindings/pwm/pwm-sun4i.txt+20−0
@@ -0,0 +1,20 @@
1Allwinner sun4i and sun7i SoC PWM controller
2
3Required 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
12Example:
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
11 BUCKA and BUCKB.11 BUCKA and BUCKB.
12 12
13Optional properties:13Optional properties:
14- enable-gpios: platform gpio for control of BUCKA/BUCKB.
14- Any optional property defined in regulator.txt15- Any optional property defined in regulator.txt
15 16
16Example 1) DA921117Example 1) DA9211
@@ -27,6 +28,7 @@ Example 1) DA9211 · 10 unmodified lines
27 regulator-max-microvolt = <1570000>;28 regulator-max-microvolt = <1570000>;
28 regulator-min-microamp = <2000000>;29 regulator-min-microamp = <2000000>;
29 regulator-max-microamp = <5000000>;30 regulator-max-microamp = <5000000>;
31 enable-gpios = <&gpio 27 0>;
30 };32 };
31 BUCKB {33 BUCKB {
32 regulator-name = "VBUCKB";34 regulator-name = "VBUCKB";
@@ -34,11 +36,12 @@ Example 1) DA9211 · 1 unmodified line
34 regulator-max-microvolt = <1570000>;36 regulator-max-microvolt = <1570000>;
35 regulator-min-microamp = <2000000>;37 regulator-min-microamp = <2000000>;
36 regulator-max-microamp = <5000000>;38 regulator-max-microamp = <5000000>;
39 enable-gpios = <&gpio 17 0>;
37 };40 };
38 };41 };
39 };42 };
40 43
41Example 2) DA9211344Example 2) DA9213
42 pmic: da9213@68 {45 pmic: da9213@68 {
43 compatible = "dlg,da9213";46 compatible = "dlg,da9213";
44 reg = <0x68>;47 reg = <0x68>;
@@ -51,6 +54,7 @@ Example 2) DA92113 · 6 unmodified lines
51 regulator-max-microvolt = <1570000>;54 regulator-max-microvolt = <1570000>;
52 regulator-min-microamp = <3000000>;55 regulator-min-microamp = <3000000>;
53 regulator-max-microamp = <6000000>;56 regulator-max-microamp = <6000000>;
57 enable-gpios = <&gpio 27 0>;
54 };58 };
55 BUCKB {59 BUCKB {
56 regulator-name = "VBUCKB";60 regulator-name = "VBUCKB";
@@ -58,6 +62,7 @@ Example 2) DA92113 · 1 unmodified line
58 regulator-max-microvolt = <1570000>;62 regulator-max-microvolt = <1570000>;
59 regulator-min-microamp = <3000000>;63 regulator-min-microamp = <3000000>;
60 regulator-max-microamp = <6000000>;64 regulator-max-microamp = <6000000>;
65 enable-gpios = <&gpio 17 0>;
61 };66 };
62 };67 };
63 };68 };
Documentation/devicetree/bindings/regulator/isl9305.txt+2−2
@@ -2,7 +2,7 @@ Intersil ISL9305/ISL9305H voltage regulator · 1 unmodified line
2 2
3Required properties:3Required properties:
4 4
5- compatible: "isl,isl9305" or "isl,isl9305h"5- compatible: "isil,isl9305" or "isil,isl9305h"
6- reg: I2C slave address, usually 0x68.6- reg: I2C slave address, usually 0x68.
7- regulators: A node that houses a sub-node for each regulator within the7- regulators: A node that houses a sub-node for each regulator within the
8 device. Each sub-node is identified using the node's name, with valid8 device. Each sub-node is identified using the node's name, with valid
@@ -19,7 +19,7 @@ Optional properties: · 10 unmodified lines
19Example19Example
20 20
21 pmic: isl9305@68 {21 pmic: isl9305@68 {
22 compatible = "isl,isl9305";22 compatible = "isil,isl9305";
23 reg = <0x68>;23 reg = <0x68>;
24 24
25 VINDCD1-supply = <&system_power>;25 VINDCD1-supply = <&system_power>;
Documentation/devicetree/bindings/regulator/mt6397-regulator.txt+217−0
@@ -0,0 +1,217 @@
1Mediatek MT6397 Regulator Driver
2
3Required 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
10The valid names for regulators are::
11BUCK:
12 buck_vpca15, buck_vpca7, buck_vsramca15, buck_vsramca7, buck_vcore, buck_vgpu,
13 buck_vdrm, buck_vio18
14LDO:
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
19Example:
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 @@
1PFUZE100 family of regulators1PFUZE100 family of regulators
2 2
3Required properties:3Required properties:
4- compatible: "fsl,pfuze100" or "fsl,pfuze200"4- compatible: "fsl,pfuze100", "fsl,pfuze200", "fsl,pfuze3000"
5- reg: I2C slave address5- reg: I2C slave address
6 6
7Required child node:7Required child node:
@@ -14,6 +14,8 @@ Required child node: · 6 unmodified lines
14 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen614 sw1ab,sw1c,sw2,sw3a,sw3b,sw4,swbst,vsnvs,vrefddr,vgen1~vgen6
15 --PFUZE20015 --PFUZE200
16 sw1ab,sw2,sw3a,sw3b,swbst,vsnvs,vrefddr,vgen1~vgen616 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
17 19
18Each regulator is defined using the standard binding for regulators.20Each regulator is defined using the standard binding for regulators.
19 21
@@ -205,3 +207,93 @@ Example 2: PFUZE200 · 185 unmodified lines
205 };207 };
206 };208 };
207 };209 };
210
211Example 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
3RTC controller for the Armada 38x SoCs
4
5Required 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
15Example:
16
17rtc@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 @@
1Intersil ISL12057 I2C RTC/Alarm chip
2
3ISL12057 is a trivial I2C device (it has simple device tree bindings,
4consisting of a compatible field, an address and possibly an interrupt
5line).
6
7Nonetheless, it also supports an option boolean property
8("isil,irq2-can-wakeup-machine") to handle the specific use-case found
9on at least three in-tree users of the chip (NETGEAR ReadyNAS 102, 104
10and 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
12to the SoC but to a PMIC. It allows the device to be powered up when
13RTC alarm rings. In order to mark the device has a wakeup source and
14get access to the 'wakealarm' sysfs entry, this specific property can
15be set when the IRQ#2 pin of the chip is not connected to the SoC but
16can wake up the device.
17
18Required properties supported by the device:
19
20 - "compatible": must be "isil,isl12057"
21 - "reg": I2C bus address of the device
22
23Optional 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
33Example 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
41Example isl12057 node with IRQ#2 pin connected to main SoC via MPP6 (note
42that the pinctrl-related properties below are given for completeness and
43may not be required or may be different depending on your system or
44SoC, 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
71Example isl12057 node without IRQ#2 pin connected to the SoC but to a
72PMIC, 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
6 6
7Required properties:7Required properties:
8 8
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.
10- reg : Specifies base physical address and size of the registers.12- reg : Specifies base physical address and size of the registers.
11- interrupts : A single interrupt specifier.13- interrupts : A single interrupt specifier.
12- clocks : Must contain one entry, for the module clock.14- clocks : Must contain one entry, for the module clock.
Documentation/devicetree/bindings/rtc/nxp,rtc-2123.txt+16−0
@@ -0,0 +1,16 @@
1NXP PCF2123 SPI Real Time Clock
2
3Required properties:
4- compatible: should be: "nxp,rtc-pcf2123"
5- reg: should be the SPI slave chipselect address
6
7Optional properties:
8- spi-cs-high: PCF2123 needs chipselect high
9
10Example:
11
12rtc: 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
3Required properties:
4- compatible: Should be "st,st33zp24-i2c".
5- clock-frequency: I²C work frequency.
6- reg: address on the bus
7
8Optional 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.
12If set, power must be present when the platform is going into sleep/hibernate mode.
13
14Optional SoC Specific Properties:
15- pinctrl-names: Contains only one value - "default".
16- pintctrl-0: Specifies the pin control groups used for this controller.
17
18Example (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 @@
1Binding for Conexant Digicolor USART
2
3Note: this binding is only applicable for using the USART peripheral as
4UART. USART also support synchronous serial protocols like SPI and I2S. Use
5the binding that matches the wiring of your system.
6
7Required 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
14Note: Each UART port should have an alias correctly numbered
15in "aliases" node.
16
17Example:
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
2 2
3Required properties:3Required properties:
4- compatible should contain:4- 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
5 * "mediatek,mt6589-uart" for MT6589 compatible UARTS8 * "mediatek,mt6589-uart" for MT6589 compatible UARTS
6 * "mediatek,mt6582-uart" for MT6582 compatible UARTS9 * "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)
8 12
9- reg: The base address of the UART register bank.13- reg: The base address of the UART register bank.
10 14
Documentation/devicetree/bindings/serial/of-serial.txt+16−1
@@ -8,7 +8,10 @@ Required properties: · 7 unmodified lines
8 - "ns16550"8 - "ns16550"
9 - "ns16750"9 - "ns16750"
10 - "ns16850"10 - "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.
12 - "nxp,lpc3220-uart"15 - "nxp,lpc3220-uart"
13 - "ralink,rt2880-uart"16 - "ralink,rt2880-uart"
14 - "ibm,qpace-nwp-serial"17 - "ibm,qpace-nwp-serial"
@@ -16,6 +19,7 @@ Required properties: · 1 unmodified line
16 - "altr,16550-FIFO64"19 - "altr,16550-FIFO64"
17 - "altr,16550-FIFO128"20 - "altr,16550-FIFO128"
18 - "fsl,16550-FIFO64"21 - "fsl,16550-FIFO64"
22 - "fsl,ns16550"
19 - "serial" if the port type is unknown.23 - "serial" if the port type is unknown.
20- reg : offset and length of the register set for the device.24- reg : offset and length of the register set for the device.
21- interrupts : should contain uart interrupt.25- interrupts : should contain uart interrupt.
@@ -40,6 +44,17 @@ Optional properties: · 18 unmodified lines
40 driver is allowed to detect support for the capability even without this44 driver is allowed to detect support for the capability even without this
41 property.45 property.
42 46
47Note:
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
43Example:58Example:
44 59
45 uart@80230000 {60 uart@80230000 {
Documentation/devicetree/bindings/serial/sirf-uart.txt+2−2
@@ -2,7 +2,7 @@ · 1 unmodified line
2 2
3Required properties:3Required properties:
4- compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart",4- compatible : Should be "sirf,prima2-uart", "sirf, prima2-usp-uart",
5 "sirf,marco-uart" or "sirf,marco-bt-uart" which means5 "sirf,atlas7-uart" or "sirf,atlas7-bt-uart" which means
6 uart located in BT module and used for BT.6 uart located in BT module and used for BT.
7- reg : Offset and length of the register set for the device7- reg : Offset and length of the register set for the device
8- interrupts : Should contain uart interrupt8- interrupts : Should contain uart interrupt
@@ -37,7 +37,7 @@ usp@b0090000 { · 28 unmodified lines
37for uart use in BT module,37for uart use in BT module,
38uart6: uart@11000000 {38uart6: uart@11000000 {
39 cell-index = <6>;39 cell-index = <6>;
40 compatible = "sirf,marco-bt-uart", "sirf,marco-uart";40 compatible = "sirf,atlas7-bt-uart", "sirf,atlas7-uart";
41 reg = <0x11000000 0x1000>;41 reg = <0x11000000 0x1000>;
42 interrupts = <0 100 0>;42 interrupts = <0 100 0>;
43 clocks = <&clks 138>, <&clks 140>, <&clks 141>;43 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
3Required 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
3A20 PS2 is dual role controller (PS2 host and PS2 device). These bindings are
4for PS2 A10/A20 host controller. IBM compliant IBM PS2 and AT-compatible keyboard
5and mouse can be connected.
6
7Required 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
16Example:
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
36 Value type: <prop-encoded-array>36 Value type: <prop-encoded-array>
37 Definition: Standard property. The error interrupt37 Definition: Standard property. The error interrupt
38 38
39- fsl,bman-portals
40 Usage: Required
41 Value type: <phandle>
42 Definition: Phandle to this BMan instance's portals
43
39- fsl,liodn44- fsl,liodn
40 Usage: See pamu.txt45 Usage: See pamu.txt
41 Value type: <prop-encoded-array>46 Value type: <prop-encoded-array>
@@ -96,7 +101,7 @@ The example below shows a BMan FBPR dynamic allocation memory node · 54 unmodified lines
96 101
97 bman_fbpr: bman-fbpr {102 bman_fbpr: bman-fbpr {
98 compatible = "fsl,bman-fbpr";103 compatible = "fsl,bman-fbpr";
99 alloc-ranges = <0 0 0xf 0xffffffff>;104 alloc-ranges = <0 0 0x10 0>;
100 size = <0 0x1000000>;105 size = <0 0x1000000>;
101 alignment = <0 0x1000000>;106 alignment = <0 0x1000000>;
102 };107 };
@@ -104,6 +109,10 @@ The example below shows a BMan FBPR dynamic allocation memory node · 1 unmodified line
104 109
105The example below shows a (P4080) BMan CCSR-space node110The example below shows a (P4080) BMan CCSR-space node
106 111
112 bportals: bman-portals@ff4000000 {
113 ...
114 };
115
107 crypto@300000 {116 crypto@300000 {
108 ...117 ...
109 fsl,bman = <&bman, 2>;118 fsl,bman = <&bman, 2>;
@@ -115,6 +124,7 @@ The example below shows a (P4080) BMan CCSR-space node · 5 unmodified lines
115 reg = <0x31a000 0x1000>;124 reg = <0x31a000 0x1000>;
116 interrupts = <16 2 1 2>;125 interrupts = <16 2 1 2>;
117 fsl,liodn = <0x17>;126 fsl,liodn = <0x17>;
127 fsl,bman-portals = <&bportals>;
118 memory-region = <&bman_fbpr>;128 memory-region = <&bman_fbpr>;
119 };129 };
120 130
Documentation/devicetree/bindings/soc/fsl/qman.txt+12−2
@@ -38,6 +38,11 @@ are located at offsets 0xbf8 and 0xbfc · 37 unmodified lines
38 Value type: <prop-encoded-array>38 Value type: <prop-encoded-array>
39 Definition: Standard property. The error interrupt39 Definition: Standard property. The error interrupt
40 40
41- fsl,qman-portals
42 Usage: Required
43 Value type: <phandle>
44 Definition: Phandle to this QMan instance's portals
45
41- fsl,liodn46- fsl,liodn
42 Usage: See pamu.txt47 Usage: See pamu.txt
43 Value type: <prop-encoded-array>48 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
113 118
114 qman_fqd: qman-fqd {119 qman_fqd: qman-fqd {
115 compatible = "fsl,qman-fqd";120 compatible = "fsl,qman-fqd";
116 alloc-ranges = <0 0 0xf 0xffffffff>;121 alloc-ranges = <0 0 0x10 0>;
117 size = <0 0x400000>;122 size = <0 0x400000>;
118 alignment = <0 0x400000>;123 alignment = <0 0x400000>;
119 };124 };
120 qman_pfdr: qman-pfdr {125 qman_pfdr: qman-pfdr {
121 compatible = "fsl,qman-pfdr";126 compatible = "fsl,qman-pfdr";
122 alloc-ranges = <0 0 0xf 0xffffffff>;127 alloc-ranges = <0 0 0x10 0>;
123 size = <0 0x2000000>;128 size = <0 0x2000000>;
124 alignment = <0 0x2000000>;129 alignment = <0 0x2000000>;
125 };130 };
@@ -127,6 +132,10 @@ The example below shows a QMan FQD and a PFDR dynamic allocation memory nodes · 1 unmodified line
127 132
128The example below shows a (P4080) QMan CCSR-space node133The example below shows a (P4080) QMan CCSR-space node
129 134
135 qportals: qman-portals@ff4200000 {
136 ...
137 };
138
130 clockgen: global-utilities@e1000 {139 clockgen: global-utilities@e1000 {
131 ...140 ...
132 sysclk: sysclk {141 sysclk: sysclk {
@@ -154,6 +163,7 @@ The example below shows a (P4080) QMan CCSR-space node · 21 unmodified lines
154 reg = <0x318000 0x1000>;163 reg = <0x318000 0x1000>;
155 interrupts = <16 2 1 3>164 interrupts = <16 2 1 3>
156 fsl,liodn = <0x16>;165 fsl,liodn = <0x16>;
166 fsl,qman-portals = <&qportals>;
157 memory-region = <&qman_fqd &qman_pfdr>;167 memory-region = <&qman_fqd &qman_pfdr>;
158 clocks = <&platform_pll 1>;168 clocks = <&platform_pll 1>;
159 };169 };
Documentation/devicetree/bindings/sound/atmel_ac97c.txt+20−0
@@ -0,0 +1,20 @@
1* Atmel AC97 controller
2
3Required 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
8Optional properties:
9 - pinctrl-names, pinctrl-0: Please refer to pinctrl-bindings.txt
10
11Example:
12sound@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 @@
1Bindings for I2S controller built into xtfpga Xtensa bitstreams.
2
3Required 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
10Examples:
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 @@
1DesignWare I2S controller
2
3Required 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
15For more details on the 'dma', 'dma-names', 'clock' and 'clock-names'
16properties please check:
17 * resource-names.txt
18 * clock/clock-bindings.txt
19 * dma/dma.txt
20
21Example:
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 @@
1Ingenic JZ4740 I2S controller
2
3Required 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
11Example:
12
13i2s: 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 @@
1Maxim MAX98357A audio DAC
2
3This node models the Maxim MAX98357A DAC.
4
5Required properties:
6- compatible : "maxim,max98357a"
7- sdmode-gpios : GPIO specifier for the GPIO -> DAC SDMODE pin
8
9Example:
10
11max98357a {
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 @@
1NVIDIA Tegra audio complex, with RT5677 CODEC
2
3Required 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
29Optional 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
35Example:
36
37sound {
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 @@
1NVIDIA Tegra30 AHUB (Audio Hub)1NVIDIA Tegra30 AHUB (Audio Hub)
2 2
3Required properties:3Required 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.
5- reg : Should contain the register physical address and length for each of8- reg : Should contain the register physical address and length for each of
6 the AHUB's register blocks.9 the AHUB's register blocks.
7 - Tegra30 requires 2 entries, for the APBIF and AHUB/AUDIO register blocks.10 - 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 @@
1NVIDIA Tegra30 HDA controller1NVIDIA Tegra30 HDA controller
2 2
3Required properties:3Required 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.
5- reg : Should contain the HDA registers location and length.7- reg : Should contain the HDA registers location and length.
6- interrupts : The interrupt from the HDA controller.8- interrupts : The interrupt from the HDA controller.
7- clocks : Must contain an entry for each required entry in clock-names.9- 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 @@
1NVIDIA Tegra30 I2S controller1NVIDIA Tegra30 I2S controller
2 2
3Required properties:3Required 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.
5- reg : Should contain I2S registers location and length8- reg : Should contain I2S registers location and length
6- clocks : Must contain one entry, for the module clock.9- clocks : Must contain one entry, for the module clock.
7 See ../clocks/clock-bindings.txt for details.10 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
5 5
6Required properties:6Required properties:
7 7
8 - compatible : One of "ti,pcm5121" or "ti,pcm5122"8 - compatible : One of "ti,pcm5121", "ti,pcm5122", "ti,pcm5141" or
9 "ti,pcm5142"
9 10
10 - reg : the I2C address of the device for I2C, the chip select11 - reg : the I2C address of the device for I2C, the chip select
11 number for SPI.12 number for SPI.
@@ -16,9 +17,16 @@ Required properties: · 4 unmodified lines
16Optional properties:17Optional properties:
17 18
18 - clocks : A clock specifier for the clock connected as SCLK. If this19 - 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.
20 23
21Example: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
29Examples:
22 30
23 pcm5122: pcm5122@4c {31 pcm5122: pcm5122@4c {
24 compatible = "ti,pcm5122";32 compatible = "ti,pcm5122";
@@ -28,3 +36,17 @@ Example: · 3 unmodified lines
28 DVDD-supply = <&reg_1v8>;36 DVDD-supply = <&reg_1v8>;
29 CPVDD-supply = <&reg_3v3>;37 CPVDD-supply = <&reg_3v3>;
30 };38 };
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
33 "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root33 "iis" is the i2s bus clock and i2s_opclk0, i2s_opclk1 are sources of the root
34 clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s234 clk. i2s0 has internal mux to select the source of root clk and i2s1 and i2s2
35 doesn't have any such mux.35 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
43There 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
50Refer to the SoC datasheet for availability of the above clocks.
51The CLK_I2S_RCLK_PSR and CLK_I2S_RCLK_SRC clocks are usually only available
52in the IIS Multi Audio Interface (I2S0).
53Note: Old DTs may not have the #clock-cells, clock-output-names properties
54and then not use the I2S node as a clock supplier.
36 55
37Optional SoC Specific Properties:56Optional SoC Specific Properties:
38 57
@@ -41,6 +60,7 @@ Optional SoC Specific Properties: · 2 unmodified lines
41- pinctrl-0: Should specify pin control groups used for this controller.60- pinctrl-0: Should specify pin control groups used for this controller.
42- pinctrl-names: Should contain only one value - "default".61- pinctrl-names: Should contain only one value - "default".
43 62
63
44Example:64Example:
45 65
46i2s0: i2s@03830000 {66i2s0: i2s@03830000 {
@@ -54,6 +74,8 @@ i2s0: i2s@03830000 { · 7 unmodified lines
54 <&clock_audss EXYNOS_I2S_BUS>,74 <&clock_audss EXYNOS_I2S_BUS>,
55 <&clock_audss EXYNOS_SCLK_I2S>;75 <&clock_audss EXYNOS_SCLK_I2S>;
56 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";76 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
77 #clock-cells;
78 clock-output-names = "i2s_cdclk0";
57 samsung,idma-addr = <0x03000000>;79 samsung,idma-addr = <0x03000000>;
58 pinctrl-names = "default";80 pinctrl-names = "default";
59 pinctrl-0 = <&i2s0_bus>;81 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
75 it can be specified via "clocks" if system has75 it can be specified via "clocks" if system has
76 clock node (= common clock), or "system-clock-frequency"76 clock node (= common clock), or "system-clock-frequency"
77 (if system doens't support common clock)77 (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().
78 83
79Example 1 - single DAI link:84Example 1 - single DAI link:
80 85
Documentation/devicetree/bindings/sound/st,sta32x.txt+92−0
@@ -0,0 +1,92 @@
1STA32X audio CODEC
2
3The driver for this device only supports I2C.
4
5Required 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
20Optional 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
74Example:
75
76codec: 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
9 "ti,tlv320aic33" - TLV320AIC339 "ti,tlv320aic33" - TLV320AIC33
10 "ti,tlv320aic3007" - TLV320AIC300710 "ti,tlv320aic3007" - TLV320AIC3007
11 "ti,tlv320aic3106" - TLV320AIC310611 "ti,tlv320aic3106" - TLV320AIC3106
12 "ti,tlv320aic3104" - TLV320AIC3104
12 13
13 14
14- reg - <int> - I2C slave address15- reg - <int> - I2C slave address
@@ -18,6 +19,7 @@ Optional properties: · 3 unmodified lines
18 19
19- gpio-reset - gpio pin number used for codec reset20- gpio-reset - gpio pin number used for codec reset
20- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality21- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
22 - Not supported on tlv320aic3104
21- ai3x-micbias-vg - MicBias Voltage required.23- ai3x-micbias-vg - MicBias Voltage required.
22 1 - MICBIAS output is powered to 2.0V,24 1 - MICBIAS output is powered to 2.0V,
23 2 - MICBIAS output is powered to 2.5V,25 2 - MICBIAS output is powered to 2.5V,
@@ -36,7 +38,13 @@ CODEC output pins: · 12 unmodified lines
36 * HPLCOM38 * HPLCOM
37 * HPRCOM39 * HPRCOM
38 40
39CODEC input pins:41CODEC input pins for TLV320AIC3104:
42 * MIC2L
43 * MIC2R
44 * LINE1L
45 * LINE1R
46
47CODEC input pins for other compatible codecs:
40 * MIC3L48 * MIC3L
41 * MIC3R49 * MIC3R
42 * LINE1L50 * LINE1L
Documentation/devicetree/bindings/sound/ts3a227e.txt+5−0
@@ -13,6 +13,11 @@ Required properties: · 12 unmodified lines
13 - interrupt-parent: The parent interrupt controller13 - interrupt-parent: The parent interrupt controller
14 - interrupts: Interrupt number for /INT pin from the 227e14 - interrupts: Interrupt number for /INT pin from the 227e
15 15
16Optional 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).
16 21
17Examples:22Examples:
18 23
Documentation/devicetree/bindings/sound/wm8904.txt+1−1
@@ -3,7 +3,7 @@ WM8904 audio CODEC · 2 unmodified lines
3This device supports I2C only.3This device supports I2C only.
4 4
5Required properties:5Required properties:
6 - compatible: "wlf,wm8904"6 - compatible: "wlf,wm8904" or "wlf,wm8912"
7 - reg: the I2C address of the device.7 - reg: the I2C address of the device.
8 - clock-names: "mclk"8 - clock-names: "mclk"
9 - clocks: reference to9 - clocks: reference to
Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt+3−1
@@ -1,7 +1,9 @@
1NVIDIA Tegra114 SPI controller.1NVIDIA Tegra114 SPI controller.
2 2
3Required properties:3Required 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.
5- reg: Should contain SPI registers location and length.7- reg: Should contain SPI registers location and length.
6- interrupts: Should contain SPI interrupts.8- interrupts: Should contain SPI interrupts.
7- clock-names : Must include the following entries:9- 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
30 specifiers, one for transmission, and one for30 specifiers, one for transmission, and one for
31 reception.31 reception.
32- dma-names : Must contain a list of two DMA names, "tx" and "rx".32- 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)
33 49
34Optional properties, deprecated for soctype-specific bindings:50Optional properties, deprecated for soctype-specific bindings:
35- renesas,tx-fifo-size : Overrides the default tx fifo size given in words51- 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
3Required 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
22Optional 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
28Example:
29
30spi0: 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 @@
1STMicroelectronics SSC (SPI) Controller
2---------------------------------------
3
4Required 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
14Optional properties:
15- cs-gpios : List of GPIO chip selects
16 See ../spi/spi-bus.txt
17
18Child nodes represent devices on the SPI bus
19 See ../spi/spi-bus.txt
20
21Example:
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
12 property is not present, then the touchscreen is12 property is not present, then the touchscreen is
13 disabled. 5 wires is valid for i.MX28 SoC only.13 disabled. 5 wires is valid for i.MX28 SoC only.
14- fsl,ave-ctrl: number of samples per direction to calculate an average value.14- fsl,ave-ctrl: number of samples per direction to calculate an average value.
15 Allowed value is 1 ... 31, default is 415 Allowed value is 1 ... 32, default is 4
16- fsl,ave-delay: delay between consecutive samples. Allowed value is16- fsl,ave-delay: delay between consecutive samples. Allowed value is
17 1 ... 2047. It is used if 'fsl,ave-ctrl' > 1, counts at17 2 ... 2048. It is used if 'fsl,ave-ctrl' > 1, counts at
18 2 kHz and its default is 2 (= 1 ms)18 2 kHz and its default is 2 (= 1 ms)
19- fsl,settling: delay between plate switch to next sample. Allowed value is19- fsl,settling: delay between plate switch to next sample. Allowed value is
20 1 ... 2047. It counts at 2 kHz and its default is20 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
15 3) The Documentation/ portion of the patch should come in the series before15 3) The Documentation/ portion of the patch should come in the series before
16 the code implementing the binding.16 the code implementing the binding.
17 17
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
18II. For kernel maintainers41II. For kernel maintainers
19 42
20 1) If you aren't comfortable reviewing a given binding, reply to it and ask43 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
12 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 412 "samsung,exynos5420-tmu-ext-triminfo" for TMU channels 2, 3 and 4
13 Exynos5420 (Must pass triminfo base and triminfo clock)13 Exynos5420 (Must pass triminfo base and triminfo clock)
14 "samsung,exynos5440-tmu"14 "samsung,exynos5440-tmu"
15 "samsung,exynos7-tmu"
15- interrupt-parent : The phandle for the interrupt controller16- interrupt-parent : The phandle for the interrupt controller
16- reg : Address range of the thermal registers. For soc's which has multiple17- reg : Address range of the thermal registers. For soc's which has multiple
17 instances of TMU and some registers are shared across all TMU's like18 instances of TMU and some registers are shared across all TMU's like
@@ -32,13 +33,28 @@ · 14 unmodified lines
32- clocks : The main clocks for TMU device33- clocks : The main clocks for TMU device
33 -- 1. operational clock for TMU channel34 -- 1. operational clock for TMU channel
34 -- 2. optional clock to access the shared registers of TMU channel35 -- 2. optional clock to access the shared registers of TMU channel
36 -- 3. optional special clock for functional operation
35- clock-names : Thermal system clock name37- clock-names : Thermal system clock name
36 -- "tmu_apbif" operational clock for current TMU channel38 -- "tmu_apbif" operational clock for current TMU channel
37 -- "tmu_triminfo_apbif" clock to access the shared triminfo register39 -- "tmu_triminfo_apbif" clock to access the shared triminfo register
38 for current TMU channel40 for current TMU channel
41 -- "tmu_sclk" clock for functional operation of the current TMU
42 channel
39- vtmu-supply: This entry is optional and provides the regulator node supplying43- vtmu-supply: This entry is optional and provides the regulator node supplying
40 voltage to TMU. If needed this entry can be placed inside44 voltage to TMU. If needed this entry can be placed inside
41 board/platform specific dts file.45 board/platform specific dts file.
46Following 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
42 58
43Example 1):59Example 1):
44 60
@@ -51,6 +67,7 @@ Example 1): · 6 unmodified lines
51 clock-names = "tmu_apbif";67 clock-names = "tmu_apbif";
52 status = "disabled";68 status = "disabled";
53 vtmu-supply = <&tmu_regulator_node>;69 vtmu-supply = <&tmu_regulator_node>;
70 #include "exynos4412-tmu-sensor-conf.dtsi"
54 };71 };
55 72
56Example 2):73Example 2):
@@ -61,6 +78,7 @@ Example 2): · 4 unmodified lines
61 interrupts = <0 58 0>;78 interrupts = <0 58 0>;
62 clocks = <&clock 21>;79 clocks = <&clock 21>;
63 clock-names = "tmu_apbif";80 clock-names = "tmu_apbif";
81 #include "exynos5440-tmu-sensor-conf.dtsi"
64 };82 };
65 83
66Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register")84Example 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
70 interrupts = <0 184 0>;88 interrupts = <0 184 0>;
71 clocks = <&clock 318>, <&clock 318>;89 clocks = <&clock 318>, <&clock 318>;
72 clock-names = "tmu_apbif", "tmu_triminfo_apbif";90 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
91 #include "exynos4412-tmu-sensor-conf.dtsi"
73 };92 };
74 93
75 tmu_cpu3: tmu@1006c000 {94 tmu_cpu3: tmu@1006c000 {
@@ -78,6 +97,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") · 2 unmodified lines
78 interrupts = <0 185 0>;97 interrupts = <0 185 0>;
79 clocks = <&clock 318>, <&clock 319>;98 clocks = <&clock 318>, <&clock 319>;
80 clock-names = "tmu_apbif", "tmu_triminfo_apbif";99 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
100 #include "exynos4412-tmu-sensor-conf.dtsi"
81 };101 };
82 102
83 tmu_gpu: tmu@100a0000 {103 tmu_gpu: tmu@100a0000 {
@@ -86,6 +106,7 @@ Example 3): (In case of Exynos5420 "with misplaced TRIMINFO register") · 2 unmodified lines
86 interrupts = <0 215 0>;106 interrupts = <0 215 0>;
87 clocks = <&clock 319>, <&clock 318>;107 clocks = <&clock 319>, <&clock 318>;
88 clock-names = "tmu_apbif", "tmu_triminfo_apbif";108 clock-names = "tmu_apbif", "tmu_triminfo_apbif";
109 #include "exynos4412-tmu-sensor-conf.dtsi"
89 };110 };
90 111
91Note: For multi-instance tmu each instance should have an alias correctly112Note: 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
7overheating situation.7overheating situation.
8 8
9Required properties :9Required 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".
11- reg : Should contain 1 entry:13- reg : Should contain 1 entry:
12 - SOCTHERM register set14 - SOCTHERM register set
13- interrupts : Defines the interrupt used by SOCTHERM15- interrupts : Defines the interrupt used by SOCTHERM
Documentation/devicetree/bindings/thermal/thermal.txt+37−37
@@ -251,24 +251,24 @@ ocp { · 250 unmodified lines
251};251};
252 252
253thermal-zones {253thermal-zones {
254 cpu-thermal: cpu-thermal {254 cpu_thermal: cpu-thermal {
255 polling-delay-passive = <250>; /* milliseconds */255 polling-delay-passive = <250>; /* milliseconds */
256 polling-delay = <1000>; /* milliseconds */256 polling-delay = <1000>; /* milliseconds */
257 257
258 thermal-sensors = <&bandgap0>;258 thermal-sensors = <&bandgap0>;
259 259
260 trips {260 trips {
261 cpu-alert0: cpu-alert {261 cpu_alert0: cpu-alert0 {
262 temperature = <90000>; /* millicelsius */262 temperature = <90000>; /* millicelsius */
263 hysteresis = <2000>; /* millicelsius */263 hysteresis = <2000>; /* millicelsius */
264 type = "active";264 type = "active";
265 };265 };
266 cpu-alert1: cpu-alert {266 cpu_alert1: cpu-alert1 {
267 temperature = <100000>; /* millicelsius */267 temperature = <100000>; /* millicelsius */
268 hysteresis = <2000>; /* millicelsius */268 hysteresis = <2000>; /* millicelsius */
269 type = "passive";269 type = "passive";
270 };270 };
271 cpu-crit: cpu-crit {271 cpu_crit: cpu-crit {
272 temperature = <125000>; /* millicelsius */272 temperature = <125000>; /* millicelsius */
273 hysteresis = <2000>; /* millicelsius */273 hysteresis = <2000>; /* millicelsius */
274 type = "critical";274 type = "critical";
@@ -277,17 +277,17 @@ thermal-zones { · 2 unmodified lines
277 277
278 cooling-maps {278 cooling-maps {
279 map0 {279 map0 {
280 trip = <&cpu-alert0>;280 trip = <&cpu_alert0>;
281 cooling-device = <&fan0 THERMAL_NO_LIMITS 4>;281 cooling-device = <&fan0 THERMAL_NO_LIMIT 4>;
282 };282 };
283 map1 {283 map1 {
284 trip = <&cpu-alert1>;284 trip = <&cpu_alert1>;
285 cooling-device = <&fan0 5 THERMAL_NO_LIMITS>;285 cooling-device = <&fan0 5 THERMAL_NO_LIMIT>;
286 };286 };
287 map2 {287 map2 {
288 trip = <&cpu-alert1>;288 trip = <&cpu_alert1>;
289 cooling-device =289 cooling-device =
290 <&cpu0 THERMAL_NO_LIMITS THERMAL_NO_LIMITS>;290 <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
291 };291 };
292 };292 };
293 };293 };
@@ -298,13 +298,13 @@ used to monitor the zone 'cpu-thermal' using its sole sensor. A fan · 4 unmodified lines
298device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten298device (fan0) is controlled via I2C bus 1, at address 0x48, and has ten
299different cooling states 0-9. It is used to remove the heat out of299different cooling states 0-9. It is used to remove the heat out of
300the thermal zone 'cpu-thermal' using its cooling states300the thermal zone 'cpu-thermal' using its cooling states
301from its minimum to 4, when it reaches trip point 'cpu-alert0'301from its minimum to 4, when it reaches trip point 'cpu_alert0'
302at 90C, as an example of active cooling. The same cooling device is used at302at 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 also303'cpu_alert1', but from 5 to its maximum state. The cpu@0 device is also
304linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,304linked to the same thermal zone, 'cpu-thermal', as a passive cooling device,
305using all its cooling states at trip point 'cpu-alert1',305using all its cooling states at trip point 'cpu_alert1',
306which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the306which is a trip point at 100C. On the thermal zone 'cpu-thermal', at the
307temperature of 125C, represented by the trip point 'cpu-crit', the silicon307temperature of 125C, represented by the trip point 'cpu_crit', the silicon
308is not reliable anymore.308is not reliable anymore.
309 309
310(b) - IC with several internal sensors310(b) - IC with several internal sensors
@@ -329,7 +329,7 @@ ocp { · 18 unmodified lines
329};329};
330 330
331thermal-zones {331thermal-zones {
332 cpu-thermal: cpu-thermal {332 cpu_thermal: cpu-thermal {
333 polling-delay-passive = <250>; /* milliseconds */333 polling-delay-passive = <250>; /* milliseconds */
334 polling-delay = <1000>; /* milliseconds */334 polling-delay = <1000>; /* milliseconds */
335 335
@@ -338,12 +338,12 @@ thermal-zones { · 2 unmodified lines
338 338
339 trips {339 trips {
340 /* each zone within the SoC may have its own trips */340 /* each zone within the SoC may have its own trips */
341 cpu-alert: cpu-alert {341 cpu_alert: cpu-alert {
342 temperature = <100000>; /* millicelsius */342 temperature = <100000>; /* millicelsius */
343 hysteresis = <2000>; /* millicelsius */343 hysteresis = <2000>; /* millicelsius */
344 type = "passive";344 type = "passive";
345 };345 };
346 cpu-crit: cpu-crit {346 cpu_crit: cpu-crit {
347 temperature = <125000>; /* millicelsius */347 temperature = <125000>; /* millicelsius */
348 hysteresis = <2000>; /* millicelsius */348 hysteresis = <2000>; /* millicelsius */
349 type = "critical";349 type = "critical";
@@ -356,7 +356,7 @@ thermal-zones { · 6 unmodified lines
356 };356 };
357 };357 };
358 358
359 gpu-thermal: gpu-thermal {359 gpu_thermal: gpu-thermal {
360 polling-delay-passive = <120>; /* milliseconds */360 polling-delay-passive = <120>; /* milliseconds */
361 polling-delay = <1000>; /* milliseconds */361 polling-delay = <1000>; /* milliseconds */
362 362
@@ -365,12 +365,12 @@ thermal-zones { · 2 unmodified lines
365 365
366 trips {366 trips {
367 /* each zone within the SoC may have its own trips */367 /* each zone within the SoC may have its own trips */
368 gpu-alert: gpu-alert {368 gpu_alert: gpu-alert {
369 temperature = <90000>; /* millicelsius */369 temperature = <90000>; /* millicelsius */
370 hysteresis = <2000>; /* millicelsius */370 hysteresis = <2000>; /* millicelsius */
371 type = "passive";371 type = "passive";
372 };372 };
373 gpu-crit: gpu-crit {373 gpu_crit: gpu-crit {
374 temperature = <105000>; /* millicelsius */374 temperature = <105000>; /* millicelsius */
375 hysteresis = <2000>; /* millicelsius */375 hysteresis = <2000>; /* millicelsius */
376 type = "critical";376 type = "critical";
@@ -383,7 +383,7 @@ thermal-zones { · 6 unmodified lines
383 };383 };
384 };384 };
385 385
386 dsp-thermal: dsp-thermal {386 dsp_thermal: dsp-thermal {
387 polling-delay-passive = <50>; /* milliseconds */387 polling-delay-passive = <50>; /* milliseconds */
388 polling-delay = <1000>; /* milliseconds */388 polling-delay = <1000>; /* milliseconds */
389 389
@@ -392,12 +392,12 @@ thermal-zones { · 2 unmodified lines
392 392
393 trips {393 trips {
394 /* each zone within the SoC may have its own trips */394 /* each zone within the SoC may have its own trips */
395 dsp-alert: gpu-alert {395 dsp_alert: dsp-alert {
396 temperature = <90000>; /* millicelsius */396 temperature = <90000>; /* millicelsius */
397 hysteresis = <2000>; /* millicelsius */397 hysteresis = <2000>; /* millicelsius */
398 type = "passive";398 type = "passive";
399 };399 };
400 dsp-crit: gpu-crit {400 dsp_crit: gpu-crit {
401 temperature = <135000>; /* millicelsius */401 temperature = <135000>; /* millicelsius */
402 hysteresis = <2000>; /* millicelsius */402 hysteresis = <2000>; /* millicelsius */
403 type = "critical";403 type = "critical";
@@ -457,7 +457,7 @@ ocp { · 53 unmodified lines
457};457};
458 458
459thermal-zones {459thermal-zones {
460 cpu-thermal: cpu-thermal {460 cpu_thermal: cpu-thermal {
461 polling-delay-passive = <250>; /* milliseconds */461 polling-delay-passive = <250>; /* milliseconds */
462 polling-delay = <1000>; /* milliseconds */462 polling-delay = <1000>; /* milliseconds */
463 463
@@ -508,7 +508,7 @@ with many sensors and many cooling devices. · 44 unmodified lines
508 /*508 /*
509 * An IC with several temperature sensor.509 * An IC with several temperature sensor.
510 */510 */
511 adc-dummy: sensor@0x50 {511 adc_dummy: sensor@0x50 {
512 ...512 ...
513 #thermal-sensor-cells = <1>; /* sensor internal ID */513 #thermal-sensor-cells = <1>; /* sensor internal ID */
514 };514 };
@@ -520,7 +520,7 @@ thermal-zones { · 5 unmodified lines
520 polling-delay = <2500>; /* milliseconds */520 polling-delay = <2500>; /* milliseconds */
521 521
522 /* sensor ID */522 /* sensor ID */
523 thermal-sensors = <&adc-dummy 4>;523 thermal-sensors = <&adc_dummy 4>;
524 524
525 trips {525 trips {
526 ...526 ...
@@ -531,14 +531,14 @@ thermal-zones { · 4 unmodified lines
531 };531 };
532 };532 };
533 533
534 board-thermal: board-thermal {534 board_thermal: board-thermal {
535 polling-delay-passive = <1000>; /* milliseconds */535 polling-delay-passive = <1000>; /* milliseconds */
536 polling-delay = <2500>; /* milliseconds */536 polling-delay = <2500>; /* milliseconds */
537 537
538 /* sensor ID */538 /* sensor ID */
539 thermal-sensors = <&adc-dummy 0>, /* pcb top edge */539 thermal-sensors = <&adc_dummy 0>, /* pcb top edge */
540 <&adc-dummy 1>, /* lcd */540 <&adc_dummy 1>, /* lcd */
541 <&adc-dymmy 2>; /* back cover */541 <&adc_dummy 2>; /* back cover */
542 /*542 /*
543 * An array of coefficients describing the sensor543 * An array of coefficients describing the sensor
544 * linear relation. E.g.:544 * linear relation. E.g.:
@@ -548,22 +548,22 @@ thermal-zones { · 3 unmodified lines
548 548
549 trips {549 trips {
550 /* Trips are based on resulting linear equation */550 /* Trips are based on resulting linear equation */
551 cpu-trip: cpu-trip {551 cpu_trip: cpu-trip {
552 temperature = <60000>; /* millicelsius */552 temperature = <60000>; /* millicelsius */
553 hysteresis = <2000>; /* millicelsius */553 hysteresis = <2000>; /* millicelsius */
554 type = "passive";554 type = "passive";
555 };555 };
556 gpu-trip: gpu-trip {556 gpu_trip: gpu-trip {
557 temperature = <55000>; /* millicelsius */557 temperature = <55000>; /* millicelsius */
558 hysteresis = <2000>; /* millicelsius */558 hysteresis = <2000>; /* millicelsius */
559 type = "passive";559 type = "passive";
560 }560 }
561 lcd-trip: lcp-trip {561 lcd_trip: lcp-trip {
562 temperature = <53000>; /* millicelsius */562 temperature = <53000>; /* millicelsius */
563 hysteresis = <2000>; /* millicelsius */563 hysteresis = <2000>; /* millicelsius */
564 type = "passive";564 type = "passive";
565 };565 };
566 crit-trip: crit-trip {566 crit_trip: crit-trip {
567 temperature = <68000>; /* millicelsius */567 temperature = <68000>; /* millicelsius */
568 hysteresis = <2000>; /* millicelsius */568 hysteresis = <2000>; /* millicelsius */
569 type = "critical";569 type = "critical";
@@ -572,17 +572,17 @@ thermal-zones { · 2 unmodified lines
572 572
573 cooling-maps {573 cooling-maps {
574 map0 {574 map0 {
575 trip = <&cpu-trip>;575 trip = <&cpu_trip>;
576 cooling-device = <&cpu0 0 2>;576 cooling-device = <&cpu0 0 2>;
577 contribution = <55>;577 contribution = <55>;
578 };578 };
579 map1 {579 map1 {
580 trip = <&gpu-trip>;580 trip = <&gpu_trip>;
581 cooling-device = <&gpu0 0 2>;581 cooling-device = <&gpu0 0 2>;
582 contribution = <20>;582 contribution = <20>;
583 };583 };
584 map2 {584 map2 {
585 trip = <&lcd-trip>;585 trip = <&lcd_trip>;
586 cooling-device = <&lcd0 5 10>;586 cooling-device = <&lcd0 5 10>;
587 contribution = <15>;587 contribution = <15>;
588 };588 };
Documentation/devicetree/bindings/timer/digicolor-timer.txt+18−0
@@ -0,0 +1,18 @@
1Conexant Digicolor SoCs Timer Controller
2
3Required 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
11Example:
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
6 6
7Required properties:7Required properties:
8 8
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.
10- reg : Specifies base physical address and size of the registers.12- reg : Specifies base physical address and size of the registers.
11- interrupts : A list of 6 interrupts; one per each of timer channels 113- interrupts : A list of 6 interrupts; one per each of timer channels 1
12 through 5, and one for the shared interrupt for the remaining channels.14 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 @@
1Rockchip rk3288 timer
2
3Required 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
11Example:
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 device11) OF selftest platform device
2 2
3** selftest3** selftest
4 4
@@ -12,3 +12,60 @@ Example: · 7 unmodified lines
12 compatible = "selftest";12 compatible = "selftest";
13 status = "okay";13 status = "okay";
14 };14 };
15
162) OF selftest i2c adapter platform device
17
18** platform device unittest adapter
19
20Required properties:
21- compatible: must be selftest-i2c-bus
22
23Children nodes contain selftest i2c devices.
24
25Example:
26 selftest-i2c-bus {
27 compatible = "selftest-i2c-bus";
28 status = "okay";
29 };
30
313) OF selftest i2c device
32
33** I2C selftest device
34
35Required properties:
36- compatible: must be selftest-i2c-dev
37
38All other properties are optional
39
40Example:
41 selftest-i2c-dev {
42 compatible = "selftest-i2c-dev";
43 status = "okay";
44 };
45
464) OF selftest i2c mux device
47
48** I2C selftest mux
49
50Required properties:
51- compatible: must be selftest-i2c-mux
52
53Children nodes contain selftest i2c bus nodes per channel.
54
55Example:
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
33AT91 USB device controller33AT91 USB device controller
34 34
35Required properties:35Required 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"
37 - reg: Address and length of the register set for the device41 - reg: Address and length of the register set for the device
38 - interrupts: Should contain macb interrupt42 - 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
39 47
40Optional properties:48Optional properties:
41 - atmel,vbus-gpio: If present, specifies a gpio that needs to be49 - atmel,vbus-gpio: If present, specifies a gpio that needs to be
@@ -51,7 +59,10 @@ usb1: gadget@fffa4000 { · 9 unmodified lines
51Atmel High-Speed USB device controller59Atmel High-Speed USB device controller
52 60
53Required properties:61Required 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"
55 - reg: Address and length of the register set for the device66 - reg: Address and length of the register set for the device
56 - interrupts: Should contain usba interrupt67 - interrupts: Should contain usba interrupt
57 - ep childnode: To specify the number of endpoints and their properties.68 - 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
20Refer to phy/phy-bindings.txt for generic phy consumer properties20Refer to phy/phy-bindings.txt for generic phy consumer properties
21- dr_mode: shall be one of "host", "peripheral" and "otg"21- dr_mode: shall be one of "host", "peripheral" and "otg"
22 Refer to usb/generic.txt22 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.
23 27
24Example:28Example:
25 29
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
6and additions :6and additions :
7 7
8Required properties :8Required 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.
10 - nvidia,phy : phandle of the PHY that the controller is connected to.13 - nvidia,phy : phandle of the PHY that the controller is connected to.
11 - clocks : Must contain one entry, for the module clock.14 - clocks : Must contain one entry, for the module clock.
12 See ../clocks/clock-bindings.txt for details.15 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
3The device node for Tegra SOC USB PHY:3The device node for Tegra SOC USB PHY:
4 4
5Required properties :5Required 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.
7 - reg : Defines the following set of registers, in the order listed:10 - reg : Defines the following set of registers, in the order listed:
8 - The PHY's own register set.11 - The PHY's own register set.
9 Always present.12 Always present.
Documentation/devicetree/bindings/usb/renesas_usbhs.txt+2−0
@@ -14,6 +14,8 @@ Optional properties: · 13 unmodified lines
14 function should be enabled14 function should be enabled
15 - phys: phandle + phy specifier pair15 - phys: phandle + phy specifier pair
16 - phy-names: must be "usb"16 - 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".
17 19
18Example:20Example:
19 usbhs: usb@e6590000 {21 usbhs: usb@e6590000 {
Documentation/devicetree/bindings/usb/usb-ehci.txt+1−0
@@ -12,6 +12,7 @@ Optional properties: · 11 unmodified lines
12 - big-endian-regs : boolean, set this for hcds with big-endian registers12 - big-endian-regs : boolean, set this for hcds with big-endian registers
13 - big-endian-desc : boolean, set this for hcds with big-endian descriptors13 - big-endian-desc : boolean, set this for hcds with big-endian descriptors
14 - big-endian : boolean, for hcds with big-endian-regs + big-endian-desc14 - 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
15 - clocks : a list of phandle + clock specifier pairs16 - clocks : a list of phandle + clock specifier pairs
16 - phys : phandle + phy specifier pair17 - phys : phandle + phy specifier pair
17 - phy-names : "usb"18 - phy-names : "usb"
Documentation/devicetree/bindings/usb/usb-nop-xceiv.txt+9−1
@@ -13,10 +13,15 @@ Optional properties: · 12 unmodified lines
13- clock-frequency: the clock frequency (in Hz) that the PHY clock must13- clock-frequency: the clock frequency (in Hz) that the PHY clock must
14 be configured to.14 be configured to.
15 15
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.
17 17
18- reset-gpios: Should specify the GPIO for reset.18- reset-gpios: Should specify the GPIO for reset.
19 19
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
20Example:25Example:
21 26
22 hsusb1_phy {27 hsusb1_phy {
@@ -26,8 +31,11 @@ Example: · 3 unmodified lines
26 clock-names = "main_clk";31 clock-names = "main_clk";
27 vcc-supply = <&hsusb1_vcc_regulator>;32 vcc-supply = <&hsusb1_vcc_regulator>;
28 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;33 reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
34 vbus-detect-gpio = <&gpio2 13 GPIO_ACTIVE_HIGH>;
35 vbus-regulator = <&vbus_regulator>;
29 };36 };
30 37
31hsusb1_phy is a NOP USB PHY device that gets its clock from an oscillator38hsusb1_phy is a NOP USB PHY device that gets its clock from an oscillator
32and expects that clock to be configured to 19.2MHz by the NOP PHY driver.39and expects that clock to be configured to 19.2MHz by the NOP PHY driver.
33hsusb1_vcc_regulator provides power to the PHY and GPIO 7 controls RESET.40hsusb1_vcc_regulator provides power to the PHY and GPIO 7 controls RESET.
41GPIO 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
4using them to avoid name-space collisions.4using them to avoid name-space collisions.
5 5
6abilis Abilis Systems6abilis Abilis Systems
7abcn Abracon Corporation
7active-semi Active-Semi International Inc8active-semi Active-Semi International Inc
8ad Avionic Design GmbH9ad Avionic Design GmbH
9adapteva Adapteva, Inc.10adapteva Adapteva, Inc.
11adh AD Holdings Plc.
10adi Analog Devices, Inc.12adi Analog Devices, Inc.
11aeroflexgaisler Aeroflex Gaisler AB13aeroflexgaisler Aeroflex Gaisler AB
12allwinner Allwinner Technology Co., Ltd.14allwinner Allwinner Technology Co., Ltd.
15alphascale AlphaScale Integrated Circuits Systems, Inc.
13altr Altera Corp.16altr Altera Corp.
14amcc Applied Micro Circuits Corporation (APM, formally AMCC)17amcc Applied Micro Circuits Corporation (APM, formally AMCC)
15amd Advanced Micro Devices (AMD), Inc.18amd Advanced Micro Devices (AMD), Inc.
@@ -23,6 +26,7 @@ asahi-kasei Asahi Kasei Corp. · 7 unmodified lines
23atmel Atmel Corporation26atmel Atmel Corporation
24auo AU Optronics Corporation27auo AU Optronics Corporation
25avago Avago Technologies28avago Avago Technologies
29avic Shanghai AVIC Optoelectronics Co., Ltd.
26bosch Bosch Sensortec GmbH30bosch Bosch Sensortec GmbH
27brcm Broadcom Corporation31brcm Broadcom Corporation
28buffalo Buffalo, Inc.32buffalo Buffalo, Inc.
@@ -31,11 +35,15 @@ capella Capella Microsystems, Inc · 2 unmodified lines
31cavium Cavium, Inc.35cavium Cavium, Inc.
32cdns Cadence Design Systems Inc.36cdns Cadence Design Systems Inc.
33chipidea Chipidea, Inc37chipidea Chipidea, Inc
38chipspark ChipSPARK
34chrp Common Hardware Reference Platform39chrp Common Hardware Reference Platform
35chunghwa Chunghwa Picture Tubes Ltd.40chunghwa Chunghwa Picture Tubes Ltd.
36cirrus Cirrus Logic, Inc.41cirrus Cirrus Logic, Inc.
42cloudengines Cloud Engines, Inc.
37cnm Chips&Media, Inc.43cnm Chips&Media, Inc.
44cnxt Conexant Systems, Inc.
38cortina Cortina Systems, Inc.45cortina Cortina Systems, Inc.
46cosmic Cosmic Circuits
39crystalfontz Crystalfontz America, Inc.47crystalfontz Crystalfontz America, Inc.
40dallas Maxim Integrated Products (formerly Dallas Semiconductor)48dallas Maxim Integrated Products (formerly Dallas Semiconductor)
41davicom DAVICOM Semiconductor, Inc.49davicom DAVICOM Semiconductor, Inc.
@@ -54,14 +62,18 @@ epcos EPCOS AG · 12 unmodified lines
54epfl Ecole Polytechnique Fédérale de Lausanne62epfl Ecole Polytechnique Fédérale de Lausanne
55epson Seiko Epson Corp.63epson Seiko Epson Corp.
56est ESTeem Wireless Modems64est ESTeem Wireless Modems
65ettus NI Ettus Research
57eukrea Eukréa Electromatique66eukrea Eukréa Electromatique
58everest Everest Semiconductor Co. Ltd.67everest Everest Semiconductor Co. Ltd.
68everspin Everspin Technologies, Inc.
59excito Excito69excito Excito
60fcs Fairchild Semiconductor70fcs Fairchild Semiconductor
71firefly Firefly
61fsl Freescale Semiconductor72fsl Freescale Semiconductor
62GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.73GEFanuc GE Fanuc Intelligent Platforms Embedded Systems, Inc.
63gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.74gef GE Fanuc Intelligent Platforms Embedded Systems, Inc.
64geniatech Geniatech, Inc.75geniatech Geniatech, Inc.
76giantplus Giantplus Technology Co., Ltd.
65globalscale Globalscale Technologies, Inc.77globalscale Globalscale Technologies, Inc.
66gmt Global Mixed-mode Technology, Inc.78gmt Global Mixed-mode Technology, Inc.
67google Google, Inc.79google Google, Inc.
@@ -69,6 +81,7 @@ gumstix Gumstix, Inc. · 1 unmodified line
69gw Gateworks Corporation81gw Gateworks Corporation
70hannstar HannStar Display Corporation82hannstar HannStar Display Corporation
71haoyu Haoyu Microelectronic Co. Ltd.83haoyu Haoyu Microelectronic Co. Ltd.
84himax Himax Technologies, Inc.
72hisilicon Hisilicon Limited.85hisilicon Hisilicon Limited.
73hit Hitachi Ltd.86hit Hitachi Ltd.
74honeywell Honeywell87honeywell Honeywell
@@ -82,8 +95,7 @@ innolux Innolux Corporation · 7 unmodified lines
82intel Intel Corporation95intel Intel Corporation
83intercontrol Inter Control Group96intercontrol Inter Control Group
84isee ISEE 2007 S.L.97isee ISEE 2007 S.L.
85isil Intersil (deprecated, use isl)98isil Intersil
86isl Intersil
87karo Ka-Ro electronics GmbH99karo Ka-Ro electronics GmbH
88keymile Keymile GmbH100keymile Keymile GmbH
89lacie LaCie101lacie LaCie
@@ -118,7 +130,9 @@ nvidia NVIDIA · 28 unmodified lines
118nxp NXP Semiconductors130nxp NXP Semiconductors
119onnn ON Semiconductor Corp.131onnn ON Semiconductor Corp.
120opencores OpenCores.org132opencores OpenCores.org
133ovti OmniVision Technologies
121panasonic Panasonic Corporation134panasonic Panasonic Corporation
135parade Parade Technologies Inc.
122pericom Pericom Technology Inc.136pericom Pericom Technology Inc.
123phytec PHYTEC Messtechnik GmbH137phytec PHYTEC Messtechnik GmbH
124picochip Picochip Ltd138picochip Picochip Ltd
@@ -142,8 +156,10 @@ sandisk Sandisk Corporation · 17 unmodified lines
142sbs Smart Battery System156sbs Smart Battery System
143schindler Schindler157schindler Schindler
144seagate Seagate Technology PLC158seagate Seagate Technology PLC
159semtech Semtech Corporation
145sil Silicon Image160sil Silicon Image
146silabs Silicon Laboratories161silabs Silicon Laboratories
162siliconmitus Silicon Mitus, Inc.
147simtek163simtek
148sii Seiko Instruments, Inc.164sii Seiko Instruments, Inc.
149silergy Silergy Corp.165silergy Silergy Corp.
@@ -154,6 +170,7 @@ snps Synopsys, Inc. · 4 unmodified lines
154solidrun SolidRun170solidrun SolidRun
155sony Sony Corporation171sony Sony Corporation
156spansion Spansion Inc.172spansion Spansion Inc.
173sprd Spreadtrum Communications Inc.
157st STMicroelectronics174st STMicroelectronics
158ste ST-Ericsson175ste ST-Ericsson
159stericsson ST-Ericsson176stericsson ST-Ericsson
@@ -165,6 +182,7 @@ tlm Trusted Logic Mobility · 5 unmodified lines
165toradex Toradex AG182toradex Toradex AG
166toshiba Toshiba Corporation183toshiba Toshiba Corporation
167toumaz Toumaz184toumaz Toumaz
185truly Truly Semiconductors Limited
168usi Universal Scientific Industrial Co., Ltd.186usi Universal Scientific Industrial Co., Ltd.
169v3 V3 Semiconductor187v3 V3 Semiconductor
170variscite Variscite Ltd.188variscite Variscite Ltd.
Documentation/devicetree/bindings/video/bridge/ps8622.txt+31−0
@@ -0,0 +1,31 @@
1ps8622-bridge bindings
2
3Required 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
9Optional 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
17Example:
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
3Required properties:3Required properties:
4 - compatible: "nxp,ptn3460"4 - compatible: "nxp,ptn3460"
5 - reg: i2c address of the bridge5 - reg: i2c address of the bridge
6 - powerdown-gpio: OF device-tree gpio specification6 - powerdown-gpio: OF device-tree gpio specification for PD_N pin.
7 - reset-gpio: OF device-tree gpio specification7 - reset-gpio: OF device-tree gpio specification for RST_N pin.
8 - edid-emulation: The EDID emulation entry to use8 - edid-emulation: The EDID emulation entry to use
9 +-------+------------+------------------+9 +-------+------------+------------------+
10 | Value | Resolution | Description |10 | Value | Resolution | Description |
@@ -17,6 +17,11 @@ Required properties: · 6 unmodified lines
17 | 6 | 1600x900 | ChiMei M215HGE |17 | 6 | 1600x900 | ChiMei M215HGE |
18 +-------+------------+------------------+18 +-------+------------+------------------+
19 19
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
20Example:25Example:
21 lvds-bridge@20 {26 lvds-bridge@20 {
22 compatible = "nxp,ptn3460";27 compatible = "nxp,ptn3460";
@@ -24,4 +29,11 @@ Example: · 1 unmodified line
24 powerdown-gpio = <&gpy2 5 1 0 0>;29 powerdown-gpio = <&gpy2 5 1 0 0>;
25 reset-gpio = <&gpx1 5 1 0 0>;30 reset-gpio = <&gpx1 5 1 0 0>;
26 edid-emulation = <5>;31 edid-emulation = <5>;
32 ports {
33 port@0 {
34 bridge_out: endpoint {
35 remote-endpoint = <&panel_in>;
36 };
37 };
38 };
27 };39 };
Documentation/devicetree/bindings/video/dw_hdmi-rockchip.txt+46−0
@@ -0,0 +1,46 @@
1Rockchip specific extensions to the Synopsys Designware HDMI
2================================
3
4Required 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
17Optional 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
21Example:
22hdmi: 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 @@
1Device-Tree bindings for Samsung Exynos7 SoC display controller (DECON)
2
3DECON (Display and Enhancement Controller) is the Display Controller for the
4Exynos7 series of SoCs which transfers the image data from a video memory
5buffer to an external LCD interface.
6
7Required 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
35Optional 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
43Example:
44
45SoC 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
62Board 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
66 Hotplug detect GPIO.66 Hotplug detect GPIO.
67 Indicates which GPIO should be used for hotplug67 Indicates which GPIO should be used for hotplug
68 detection68 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
69 73
70Example:74Example:
71 75
@@ -105,4 +109,12 @@ Board Specific portion: · 33 unmodified lines
105 vsync-len = <6>;109 vsync-len = <6>;
106 };110 };
107 };111 };
112
113 ports {
114 port@0 {
115 dp_out: endpoint {
116 remote-endpoint = <&bridge_in>;
117 };
118 };
119 };
108 };120 };
Documentation/devicetree/bindings/video/exynos_dsim.txt+2−2
@@ -21,7 +21,7 @@ Required properties: · 20 unmodified lines
21 according to DSI host bindings (see MIPI DSI bindings [1])21 according to DSI host bindings (see MIPI DSI bindings [1])
22 22
23Optional properties:23Optional properties:
24 - samsung,power-domain: a phandle to DSIM power domain node24 - power-domains: a phandle to DSIM power domain node
25 25
26Child nodes:26Child nodes:
27 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).27 Should contain DSI peripheral nodes (see MIPI DSI bindings [1]).
@@ -53,7 +53,7 @@ Example: · 25 unmodified lines
53 phy-names = "dsim";53 phy-names = "dsim";
54 vddcore-supply = <&vusb_reg>;54 vddcore-supply = <&vusb_reg>;
55 vddio-supply = <&vmipi_reg>;55 vddio-supply = <&vmipi_reg>;
56 samsung,power-domain = <&pd_lcd0>;56 power-domains = <&pd_lcd0>;
57 #address-cells = <1>;57 #address-cells = <1>;
58 #size-cells = <0>;58 #size-cells = <0>;
59 samsung,pll-clock-frequency = <24000000>;59 samsung,pll-clock-frequency = <24000000>;
Documentation/devicetree/bindings/video/exynos_mixer.txt+1−0
@@ -15,6 +15,7 @@ Required properties: · 14 unmodified lines
15 a) mixer: Gate of Mixer IP bus clock.15 a) mixer: Gate of Mixer IP bus clock.
16 b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of16 b) sclk_hdmi: HDMI Special clock, one of the two possible inputs of
17 mixer mux.17 mixer mux.
18 c) hdmi: Gate of HDMI IP bus clock, needed together with sclk_hdmi.
18 19
19Example:20Example:
20 21
Documentation/devicetree/bindings/video/renesas,du.txt+4−0
@@ -26,6 +26,10 @@ Required Properties: · 25 unmodified lines
26 per LVDS encoder. The functional clocks must be named "du.x" with "x"26 per LVDS encoder. The functional clocks must be named "du.x" with "x"
27 being the channel numerical index. The LVDS clocks must be named27 being the channel numerical index. The LVDS clocks must be named
28 "lvds.x" with "x" being the LVDS encoder numerical index.28 "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.
29 33
30Required nodes:34Required nodes:
31 35
Documentation/devicetree/bindings/video/samsung-fimd.txt+2−2
@@ -38,7 +38,7 @@ Required properties: · 37 unmodified lines
38 property. Must contain "sclk_fimd" and "fimd".38 property. Must contain "sclk_fimd" and "fimd".
39 39
40Optional Properties:40Optional Properties:
41- samsung,power-domain: a phandle to FIMD power domain node.41- power-domains: a phandle to FIMD power domain node.
42- samsung,invert-vden: video enable signal is inverted42- samsung,invert-vden: video enable signal is inverted
43- samsung,invert-vclk: video clock signal is inverted43- samsung,invert-vclk: video clock signal is inverted
44- display-timings: timing settings for FIMD, as described in document [1].44- display-timings: timing settings for FIMD, as described in document [1].
@@ -97,7 +97,7 @@ SoC specific DT entry: · 52 unmodified lines
97 interrupts = <11 0>, <11 1>, <11 2>;97 interrupts = <11 0>, <11 1>, <11 2>;
98 clocks = <&clock 140>, <&clock 283>;98 clocks = <&clock 140>, <&clock 283>;
99 clock-names = "sclk_fimd", "fimd";99 clock-names = "sclk_fimd", "fimd";
100 samsung,power-domain = <&pd_lcd0>;100 power-domains = <&pd_lcd0>;
101 status = "disabled";101 status = "disabled";
102 };102 };
103 103
Documentation/devicetree/bindings/video/ti,dra7-dss.txt+69−0
@@ -0,0 +1,69 @@
1Texas Instruments DRA7x Display Subsystem
2=========================================
3
4See Documentation/devicetree/bindings/video/ti,omap-dss.txt for generic
5description about OMAP Display Subsystem bindings.
6
7DSS Core
8--------
9
10Required 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
18Optional properties:
19
20Some DRA7xx SoCs have one dedicated video PLL, some have two. These properties
21can 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
28Required nodes:
29- DISPC
30
31Optional nodes:
32- DSS Submodules: HDMI
33- Video port for DPI output
34
35DPI Endpoint required properties:
36- data-lines: number of lines used
37
38
39DISPC
40-----
41
42Required 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
50HDMI
51----
52
53Required 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
64Optional nodes:
65- Video port for HDMI output
66
67HDMI 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 @@
1OPA362 analog video amplifier
2
3Required properties:
4- compatible: "ti,opa362"
5- enable-gpios: enable/disable output gpio
6
7Required node:
8- Video port 0 for opa362 input
9- Video port 1 for opa362 output
10
11Example:
12
13tv_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
13 by the GPIO flags.13 by the GPIO flags.
14- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).14- hw_margin_ms: Maximum time to reset watchdog circuit (milliseconds).
15 15
16Optional 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
16Example:21Example:
17 watchdog: watchdog {22 watchdog: watchdog {
18 /* ADM706 */23 /* ADM706 */
Documentation/devicetree/bindings/watchdog/imgpdc-wdt.txt+19−0
@@ -0,0 +1,19 @@
1*ImgTec PowerDown Controller (PDC) Watchdog Timer (WDT)
2
3Required 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
11Examples:
12
13watchdog@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 @@
1Ingenic Watchdog Timer (WDT) Controller for JZ4740
2
3Required properties:
4compatible: "ingenic,jz4740-watchdog"
5reg: Register address and length for watchdog registers
6
7Example:
8
9watchdog: 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 @@
1Mediatek SoCs Watchdog timer
2
3Required properties:
4
5- compatible : should be "mediatek,mt6589-wdt"
6- reg : Specifies base physical address and size of the registers.
7
8Example:
9
10wdt: 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
10-----------------10-----------------
11 11
12A Device Tree's overlay purpose is to modify the kernel's live tree, and12A Device Tree's overlay purpose is to modify the kernel's live tree, and
13have the modification affecting the state of the the kernel in a way that13have the modification affecting the state of the kernel in a way that
14is reflecting the changes.14is reflecting the changes.
15Since the kernel mainly deals with devices, any new device node that result15Since the kernel mainly deals with devices, any new device node that result
16in an active device should have it created while if the device node is either16in 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
80 };80 };
81---- foo+bar.dts -------------------------------------------------------------81---- foo+bar.dts -------------------------------------------------------------
82 82
83As a result of the the overlay, a new device node (bar) has been created83As a result of the overlay, a new device node (bar) has been created
84so a bar platform device will be registered and if a matching device driver84so a bar platform device will be registered and if a matching device driver
85is loaded the device will be created as expected.85is loaded the device will be created as expected.
86 86
Documentation/dmaengine/00-INDEX+8−0
@@ -0,0 +1,8 @@
100-INDEX
2 - this file.
3client.txt
4 -the DMA Engine API Guide.
5dmatest.txt
6 - how to compile, configure and use the dmatest system.
7provider.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
113 * channels: should be initialized as a list using the113 * channels: should be initialized as a list using the
114 INIT_LIST_HEAD macro for example114 INIT_LIST_HEAD macro for example
115 115
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
116 * dev: should hold the pointer to the struct device associated141 * dev: should hold the pointer to the struct device associated
117 to your current driver instance.142 to your current driver instance.
118 143
@@ -274,48 +299,36 @@ supported. · 155 unmodified lines
274 account the current period.299 account the current period.
275 - This function can be called in an interrupt context.300 - This function can be called in an interrupt context.
276 301
277 * device_control302 * device_config
278 - Used by client drivers to control and configure the channel it303 - Reconfigures the channel with the configuration given as
279 has a handle on.304 argument
280 - Called with a command and an argument305 - This command should NOT perform synchronously, or on any
281 + The command is one of the values listed by the enum306 currently queued transfers, but only on subsequent ones
282 dma_ctrl_cmd. The valid commands are:307 - In this case, the function will receive a dma_slave_config
283 + DMA_PAUSE308 structure pointer as an argument, that will detail which
284 + Pauses a transfer on the channel309 configuration to use.
285 + This command should operate synchronously on the channel,310 - Even though that structure contains a direction field, this
286 pausing right away the work of the given channel311 field is deprecated in favor of the direction argument given to
287 + DMA_RESUME312 the prep_* functions
288 + Restarts a transfer on the channel313 - This call is mandatory for slave operations only. This should NOT be
289 + This command should operate synchronously on the channel,314 set or expected to be set for memcpy operations.
290 resuming right away the work of the given channel315 If a driver support both, it should use this call for slave
291 + DMA_TERMINATE_ALL316 operations only and not for memcpy ones.
292 + Aborts all the pending and ongoing transfers on the317
293 channel318 * device_pause
294 + This command should operate synchronously on the channel,319 - Pauses a transfer on the channel
295 terminating right away all the channels320 - This command should operate synchronously on the channel,
296 + DMA_SLAVE_CONFIG321 pausing right away the work of the given channel
297 + Reconfigures the channel with passed configuration322
298 + This command should NOT perform synchronously, or on any323 * device_resume
299 currently queued transfers, but only on subsequent ones324 - Resumes a transfer on the channel
300 + In this case, the function will receive a325 - This command should operate synchronously on the channel,
301 dma_slave_config structure pointer as an argument, that326 pausing right away the work of the given channel
302 will detail which configuration to use.327
303 + Even though that structure contains a direction field,328 * device_terminate_all
304 this field is deprecated in favor of the direction329 - Aborts all the pending and ongoing transfers on the channel
305 argument given to the prep_* functions330 - This command should operate synchronously on the channel,
306 + FSLDMA_EXTERNAL_START331 terminating right away all the channels
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.
319 332
320Misc notes (stuff that should be documented, but don't really know333Misc notes (stuff that should be documented, but don't really know
321where to put them)334where 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
45of device IDs of devices they support that reside in a bus-specific45of device IDs of devices they support that reside in a bus-specific
46driver structure. 46driver structure.
47 47
48The purpose of the match callback is provide the bus an opportunity to48The purpose of the match callback is to give the bus an opportunity to
49determine if a particular driver supports a particular device by49determine if a particular driver supports a particular device by
50comparing the device IDs the driver supports with the device ID of a50comparing the device IDs the driver supports with the device ID of a
51particular device, without sacrificing bus-specific functionality or51particular device, without sacrificing bus-specific functionality or
Documentation/driver-model/devres.txt+2−0
@@ -258,6 +258,8 @@ IIO · 257 unmodified lines
258 devm_iio_device_free()258 devm_iio_device_free()
259 devm_iio_device_register()259 devm_iio_device_register()
260 devm_iio_device_unregister()260 devm_iio_device_unregister()
261 devm_iio_kfifo_allocate()
262 devm_iio_kfifo_free()
261 devm_iio_trigger_alloc()263 devm_iio_trigger_alloc()
262 devm_iio_trigger_free()264 devm_iio_trigger_free()
263 265
Documentation/filesystems/00-INDEX+3−2
@@ -34,6 +34,9 @@ configfs/ · 33 unmodified lines
34 - directory containing configfs documentation and example code.34 - directory containing configfs documentation and example code.
35cramfs.txt35cramfs.txt
36 - info on the cram filesystem for small storage (ROMs etc).36 - info on the cram filesystem for small storage (ROMs etc).
37dax.txt
38 - info on avoiding the page cache for files stored on CPU-addressable
39 storage devices.
37debugfs.txt40debugfs.txt
38 - info on the debugfs filesystem.41 - info on the debugfs filesystem.
39devpts.txt42devpts.txt
@@ -154,5 +157,3 @@ xfs-self-describing-metadata.txt · 114 unmodified lines
154 - info on XFS Self Describing Metadata.157 - info on XFS Self Describing Metadata.
155xfs.txt158xfs.txt
156 - info and mount options for the XFS filesystem.159 - info and mount options for the XFS filesystem.
157xip.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
164 164
165--------------------------- file_system_type ---------------------------165--------------------------- file_system_type ---------------------------
166prototypes:166prototypes:
167 int (*get_sb) (struct file_system_type *, int,
168 const char *, void *, struct vfsmount *);
169 struct dentry *(*mount) (struct file_system_type *, int,167 struct dentry *(*mount) (struct file_system_type *, int,
170 const char *, void *);168 const char *, void *);
171 void (*kill_sb) (struct super_block *);169 void (*kill_sb) (struct super_block *);
@@ -199,8 +197,6 @@ prototypes: · 27 unmodified lines
199 int (*releasepage) (struct page *, int);197 int (*releasepage) (struct page *, int);
200 void (*freepage)(struct page *);198 void (*freepage)(struct page *);
201 int (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset);199 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 *);
204 int (*migratepage)(struct address_space *, struct page *, struct page *);200 int (*migratepage)(struct address_space *, struct page *, struct page *);
205 int (*launder_page)(struct page *);201 int (*launder_page)(struct page *);
206 int (*is_partially_uptodate)(struct page *, unsigned long, unsigned long);202 int (*is_partially_uptodate)(struct page *, unsigned long, unsigned long);
@@ -225,7 +221,6 @@ invalidatepage: yes · 18 unmodified lines
225releasepage: yes221releasepage: yes
226freepage: yes222freepage: yes
227direct_IO:223direct_IO:
228get_xip_mem: maybe
229migratepage: yes (both)224migratepage: yes (both)
230launder_page: yes225launder_page: yes
231is_partially_uptodate: yes226is_partially_uptodate: yes
Documentation/filesystems/dax.txt+94−0
@@ -0,0 +1,94 @@
1Direct Access for files
2-----------------------
3
4Motivation
5----------
6
7The page cache is usually used to buffer reads and writes to files.
8It is also used to provide the pages which are mapped into userspace
9by a call to mmap.
10
11For block devices that are memory-like, the page cache pages would be
12unnecessary copies of the original storage. The DAX code removes the
13extra copy by performing reads and writes directly to the storage device.
14For file mappings, the storage device is mapped directly into userspace.
15
16
17Usage
18-----
19
20If you have a block device which supports DAX, you can make a filesystem
21on it as usual. When mounting it, use the -o dax option manually
22or add 'dax' to the options in /etc/fstab.
23
24
25Implementation Tips for Block Driver Writers
26--------------------------------------------
27
28To support DAX in your block driver, implement the 'direct_access'
29block device operation. It is used to translate the sector number
30(expressed in units of 512-byte sectors) to a page frame number (pfn)
31that identifies the physical page for the memory. It also returns a
32kernel virtual address that can be used to access the memory.
33
34The direct_access method takes a 'size' parameter that indicates the
35number of bytes being requested. The function should return the number
36of bytes that can be contiguously accessed at that offset. It may also
37return a negative errno if an error occurs.
38
39In order to support this method, the storage must be byte-accessible by
40the CPU at all times. If your device uses paging techniques to expose
41a large amount of memory through a smaller window, then you cannot
42implement direct_access. Equally, if your device can occasionally
43stall the CPU for an extended period, you should also not attempt to
44implement direct_access.
45
46These 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
52Implementation Tips for Filesystem Writers
53------------------------------------------
54
55Filesystem 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
69The get_block() callback passed to the DAX functions may return
70uninitialised extents. If it does, it must ensure that simultaneous
71calls to get_block() (for example by a page-fault racing with a read()
72or a write()) work correctly.
73
74These 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
79Shortcomings
80------------
81
82Even if the kernel or its modules are stored on a filesystem that supports
83DAX on a block device that supports DAX, they will still be copied into RAM.
84
85The DAX code does not work correctly on architectures which have virtually
86mapped caches such as ARM, MIPS and SPARC.
87
88Calling get_user_pages() on a range of user memory that has been mmaped
89from a DAX file will fail as there are no 'struct page' to describe
90those pages. This problem is being worked on. That means that O_DIRECT
91reads/writes to those memory ranges from a non-DAX file will fail (note
92that O_DIRECT reads/writes _of a DAX file_ do work, it is the memory
93that is being accessed that is key here). Other things that will not
94work include RDMA, sendfile() and splice().
Documentation/filesystems/ext2.txt+3−2
@@ -20,6 +20,9 @@ minixdf Makes `df' act like Minix. · 19 unmodified lines
20check=none, nocheck (*) Don't do extra checking of bitmaps on mount20check=none, nocheck (*) Don't do extra checking of bitmaps on mount
21 (check=normal and check=strict options removed)21 (check=normal and check=strict options removed)
22 22
23dax Use direct access (no page cache). See
24 Documentation/filesystems/dax.txt.
25
23debug Extra debugging information is sent to the26debug Extra debugging information is sent to the
24 kernel syslog. Useful for developers.27 kernel syslog. Useful for developers.
25 28
@@ -56,8 +59,6 @@ noacl Don't support POSIX ACLs. · 30 unmodified lines
56 59
57nobh Do not attach buffer_heads to file pagecache.60nobh Do not attach buffer_heads to file pagecache.
58 61
59xip Use execute in place (no caching) if possible
60
61grpquota,noquota,quota,usrquota Quota options are silently ignored by ext2.62grpquota,noquota,quota,usrquota Quota options are silently ignored by ext2.
62 63
63 64
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
386i_version Enable 64-bit inode version support. This option is386i_version Enable 64-bit inode version support. This option is
387 off by default.387 off by default.
388 388
389dax Use direct access (no page cache). See
390 Documentation/filesystems/dax.txt. Note that
391 this option is incompatible with data=journal.
392
389Data Mode393Data Mode
390=========394=========
391There are 3 different data modes:395There 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
106 Default value for this option is on. So garbage106 Default value for this option is on. So garbage
107 collection is on by default.107 collection is on by default.
108disable_roll_forward Disable the roll-forward recovery routine108disable_roll_forward Disable the roll-forward recovery routine
109norecovery Disable the roll-forward recovery routine, mounted read-
110 only (i.e., -o ro,disable_roll_forward)
109discard Issue discard/TRIM commands when a segment is cleaned.111discard Issue discard/TRIM commands when a segment is cleaned.
110no_heap Disable heap-style segment allocation which finds free112no_heap Disable heap-style segment allocation which finds free
111 segments for data from the beginning of main area, while113 segments for data from the beginning of main area, while
@@ -197,6 +199,10 @@ Files in /sys/fs/f2fs/<devname> · 85 unmodified lines
197 checkpoint is triggered, and issued during the199 checkpoint is triggered, and issued during the
198 checkpoint. By default, it is disabled with 0.200 checkpoint. By default, it is disabled with 0.
199 201
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
200 ipu_policy This parameter controls the policy of in-place206 ipu_policy This parameter controls the policy of in-place
201 updates in f2fs. There are five policies:207 updates in f2fs. There are five policies:
202 0x01: F2FS_IPU_FORCE, 0x02: F2FS_IPU_SSR,208 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
196};196};
197 197
198It is intended that the file system should not need to access any of this198It is intended that the file system should not need to access any of this
199structure directly.199structure directly. Filesystem handlers should be tolerant to signals and return
200EINTR once fatal signal received.
200 201
201 202
202Flag checking should be done at the beginning of the ->fiemap callback via the203Flag 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
4 4
5 5
6Document started 15 Mar 2005 by Robert Love <rml@novell.com>6Document started 15 Mar 2005 by Robert Love <rml@novell.com>
7Document updated 4 Jan 2015 by Zhang Zhen <zhenzhang.zhang@huawei.com>
8 --Deleted obsoleted interface, just refer to manpages for user interface.
7 9
8 10(i) Rationale
9(i) User Interface
10
11Inotify is controlled by a set of three system calls and normal file I/O on a
12returned file descriptor.
13
14First step in using inotify is to initialise an inotify instance:
15
16 int fd = inotify_init ();
17
18Each instance is associated with a unique, ordered queue.
19
20Change events are managed by "watches". A watch is an (object,mask) pair where
21the object is a file or directory and the mask is a bit mask of one or more
22inotify events that the application wishes to receive. See <linux/inotify.h>
23for valid events. A watch is referenced by a watch descriptor, or wd.
24
25Watches are added via a path to the file.
26
27Watches on a directory will return events on any files inside of the directory.
28
29Adding a watch is simple:
30
31 int wd = inotify_add_watch (fd, path, mask);
32
33Where "fd" is the return value from inotify_init(), path is the path to the
34object to watch, and mask is the watch mask (see <linux/inotify.h>).
35
36You can update an existing watch in the same manner, by passing in a new mask.
37
38An existing watch is removed via
39
40 int ret = inotify_rm_watch (fd, wd);
41
42Events are provided in the form of an inotify_event structure that is read(2)
43from a given inotify instance. The filename is of dynamic length and follows
44the struct. It is of size len. The filename is padded with null bytes to
45ensure proper alignment. This padding is reflected in len.
46
47You can slurp multiple events by passing a large buffer, for example
48
49 size_t len = read (fd, buf, BUF_LEN);
50
51Where "buf" is a pointer to an array of "inotify_event" structures at least
52BUF_LEN bytes in size. The above example will return as many events as are
53available and fit in BUF_LEN.
54
55Each inotify instance fd is also select()- and poll()-able.
56
57You can find the size of the current event queue via the standard FIONREAD
58ioctl on the fd returned by inotify_init().
59
60All watches are destroyed and cleaned up on close.
61
62
63(ii)
64
65Prototypes:
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
74Inotify's kernel API consists a set of functions for managing watches and an
75event callback.
76
77To use the kernel API, you must first initialize an inotify instance with a set
78of inotify_operations. You are given an opaque inotify_handle, which you use
79for any further calls to inotify.
80
81 struct inotify_handle *ih = inotify_init(my_event_handler);
82
83You must provide a function for processing events and a function for destroying
84the 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
98You may add watches by providing a pre-allocated and initialized inotify_watch
99structure and specifying the inode to watch along with an inotify event mask.
100You must pin the inode during the call. You will likely wish to embed the
101inotify_watch structure in a structure of your own which contains other
102information about the watch. Once you add an inotify watch, it is immediately
103subject to removal depending on filesystem events. You must grab a reference if
104you 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
111You may use the watch descriptor (wd) or the address of the inotify_watch for
112other inotify operations. You must not directly read or manipulate data in the
113inotify_watch. Additionally, you must not call inotify_add_watch() more than
114once for a given inotify_watch structure, unless you have first called either
115inotify_rm_watch() or inotify_rm_wd().
116
117To determine if you have already registered a watch for a given inode, you may
118call inotify_find_watch(), which gives you both the wd and the watch pointer for
119the inotify_watch, or an error if the watch does not exist.
120
121 wd = inotify_find_watch(ih, inode, &watchp);
122
123You may use container_of() on the watch pointer to access your own data
124associated with a given watch. When an existing watch is found,
125inotify_find_watch() bumps the refcount before releasing its locks. You must
126put that reference with:
127
128 put_inotify_watch(watchp);
129
130Call inotify_find_update_watch() to update the event mask for an existing watch.
131inotify_find_update_watch() returns the wd of the updated watch, or an error if
132the watch does not exist.
133
134 wd = inotify_find_update_watch(ih, inode, mask);
135
136An existing watch may be removed by calling either inotify_rm_watch() or
137inotify_rm_wd().
138
139 int ret = inotify_rm_watch(ih, &my_watch->iwatch);
140 int ret = inotify_rm_wd(ih, wd);
141
142A watch may be removed while executing your event handler with the following:
143
144 inotify_remove_watch_locked(ih, iwatch);
145
146Call inotify_destroy() to remove all watches from your inotify instance and
147release it. If there are no outstanding references, inotify_destroy() will call
148your destroy_watch op for each watch.
149
150 inotify_destroy(ih);
151
152When inotify removes a watch, it sends an IN_IGNORED event to your callback.
153You may use this event as an indication to free the watch memory. Note that
154inotify may remove a watch due to filesystem events, as well as by your request.
155If you use IN_ONESHOT, inotify will remove the watch after the first event, at
156which 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
190Each inotify instance is represented by an inotify_handle structure.
191Inotify's userspace consumers also have an inotify_device which is
192associated with the inotify_handle, and on which events are queued.
193
194Each watch is associated with an inotify_watch structure. Watches are chained
195off of each associated inotify_handle and each associated inode.
196
197See fs/notify/inotify/inotify_fsnotify.c and fs/notify/inotify/inotify_user.c
198for the locking and lifetime rules.
199
200
201(vi) Rationale
202 11
203Q: What is the design decision behind not tying the watch to the open fd of12Q: What is the design decision behind not tying the watch to the open fd of
204 the watched object?13 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
24"exactly once" semantics and better control and throttling of the24"exactly once" semantics and better control and throttling of the
25resources allocated for each client.25resources allocated for each client.
26 26
27Other NFSv4.1 features, Parallel NFS operations in particular,
28are still under development out of tree.
29See http://wiki.linux-nfs.org/wiki/index.php/PNFS_prototype_design
30for more information.
31
32The table below, taken from the NFSv4.1 document, lists27The table below, taken from the NFSv4.1 document, lists
33the operations that are mandatory to implement (REQ), optional28the operations that are mandatory to implement (REQ), optional
34(OPT), and NFSv4.0 operations that are required not to implement (MNI)29(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
43The following abbreviations indicate the linux server implementation status.38The following abbreviations indicate the linux server implementation status.
44 I Implemented NFSv4.1 operations.39 I Implemented NFSv4.1 operations.
45 NS Not Supported.40 NS Not Supported.
46 NS* unimplemented optional feature.41 NS* Unimplemented optional feature.
47 P pNFS features implemented out of tree.
48 PNS pNFS features that are not supported yet (out of tree).
49 42
50Operations43Operations
51 44
@@ -70,13 +63,13 @@ I | DESTROY_SESSION | REQ | | Section 18.37 | · 18 unmodified lines
70I | EXCHANGE_ID | REQ | | Section 18.35 |63I | EXCHANGE_ID | REQ | | Section 18.35 |
71I | FREE_STATEID | REQ | | Section 18.38 |64I | FREE_STATEID | REQ | | Section 18.38 |
72 | GETATTR | REQ | | Section 18.7 |65 | GETATTR | REQ | | Section 18.7 |
73P | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 |66I | GETDEVICEINFO | OPT | pNFS (REQ) | Section 18.40 |
74P | GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 |67NS*| GETDEVICELIST | OPT | pNFS (OPT) | Section 18.41 |
75 | GETFH | REQ | | Section 18.8 |68 | GETFH | REQ | | Section 18.8 |
76NS*| GET_DIR_DELEGATION | OPT | DDELG (REQ) | Section 18.39 |69NS*| GET_DIR_DELEGATION | OPT | DDELG (REQ) | Section 18.39 |
77P | LAYOUTCOMMIT | OPT | pNFS (REQ) | Section 18.42 |70I | LAYOUTCOMMIT | OPT | pNFS (REQ) | Section 18.42 |
78P | LAYOUTGET | OPT | pNFS (REQ) | Section 18.43 |71I | LAYOUTGET | OPT | pNFS (REQ) | Section 18.43 |
79P | LAYOUTRETURN | OPT | pNFS (REQ) | Section 18.44 |72I | LAYOUTRETURN | OPT | pNFS (REQ) | Section 18.44 |
80 | LINK | OPT | | Section 18.9 |73 | LINK | OPT | | Section 18.9 |
81 | LOCK | REQ | | Section 18.10 |74 | LOCK | REQ | | Section 18.10 |
82 | LOCKT | REQ | | Section 18.11 |75 | LOCKT | REQ | | Section 18.11 |
@@ -122,9 +115,9 @@ Callback Operations · 39 unmodified lines
122 | | MNI | or OPT) | |115 | | MNI | or OPT) | |
123 +-------------------------+-----------+-------------+---------------+116 +-------------------------+-----------+-------------+---------------+
124 | CB_GETATTR | OPT | FDELG (REQ) | Section 20.1 |117 | CB_GETATTR | OPT | FDELG (REQ) | Section 20.1 |
125P | CB_LAYOUTRECALL | OPT | pNFS (REQ) | Section 20.3 |118I | CB_LAYOUTRECALL | OPT | pNFS (REQ) | Section 20.3 |
126NS*| CB_NOTIFY | OPT | DDELG (REQ) | Section 20.4 |119NS*| CB_NOTIFY | OPT | DDELG (REQ) | Section 20.4 |
127P | CB_NOTIFY_DEVICEID | OPT | pNFS (OPT) | Section 20.12 |120NS*| CB_NOTIFY_DEVICEID | OPT | pNFS (OPT) | Section 20.12 |
128NS*| CB_NOTIFY_LOCK | OPT | | Section 20.11 |121NS*| CB_NOTIFY_LOCK | OPT | | Section 20.11 |
129NS*| CB_PUSH_DELEG | OPT | FDELG (OPT) | Section 20.5 |122NS*| CB_PUSH_DELEG | OPT | FDELG (OPT) | Section 20.5 |
130 | CB_RECALL | OPT | FDELG, | Section 20.2 |123 | CB_RECALL | OPT | FDELG, | Section 20.2 |
Documentation/filesystems/nfs/pnfs-block-server.txt+37−0
@@ -0,0 +1,37 @@
1pNFS block layout server user guide
2
3The Linux NFS server now supports the pNFS block layout extension. In this
4case the NFS server acts as Metadata Server (MDS) for pNFS, which in addition
5to handling all the metadata access to the NFS export also hands out layouts
6to the clients to directly access the underlying block devices that are
7shared with the client.
8
9To use pNFS block layouts with with the Linux NFS server the exported file
10system needs to support the pNFS block layouts (currently just XFS), and the
11file system must sit on shared storage (typically iSCSI) that is accessible
12to the clients in addition to the MDS. As of now the file system needs to
13sit directly on the exported volume, striping or concatenation of
14volumes on the MDS and clients is not supported yet.
15
16On the server, pNFS block volume support is automatically if the file system
17support it. On the client make sure the kernel has the CONFIG_PNFS_BLOCK
18option enabled, the blkmapd daemon from nfs-utils is running, and the
19file system is mounted using the NFSv4.1 protocol version (mount -o vers=4.1).
20
21If 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
23the client, and the second argument set to the device node without the /dev
24prefix for the file system to be fenced. Below is an example file that shows
25how to translate the device into a serial number from SCSI EVPD 0x80:
26
27cat > /sbin/nfsd-recall-failed << EOF
28#!/bin/sh
29
30CLIENT="$1"
31DEV="/dev/$2"
32EVPD=`sg_inq --page=0x80 ${DEV} | \
33 grep "Unit serial number:" | \
34 awk -F ': ' '{print $2}'`
35
36echo "fencing client ${CLIENT} serial ${EVPD}" >> /var/log/pnfsd-fence.log
37EOF
Documentation/filesystems/nfs/pnfs.txt+7−6
@@ -57,15 +57,16 @@ bit is set, preventing any new lsegs from being added. · 56 unmodified lines
57layout drivers57layout drivers
58--------------58--------------
59 59
60PNFS utilizes what is called layout drivers. The STD defines 3 basic60PNFS utilizes what is called layout drivers. The STD defines 4 basic
61layout types: "files" "objects" and "blocks". For each of these types61layout types: "files", "objects", "blocks", and "flexfiles". For each
62there is a layout-driver with a common function-vectors table which62of these types there is a layout-driver with a common function-vectors
63are called by the nfs-client pnfs-core to implement the different layout63table which are called by the nfs-client pnfs-core to implement the
64types.64different layout types.
65 65
66Files-layout-driver code is in: fs/nfs/nfs4filelayout.c && nfs4filelayoutdev.c66Files-layout-driver code is in: fs/nfs/filelayout/.. directory
67Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory67Objects-layout-deriver code is in: fs/nfs/objlayout/.. directory
68Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory68Blocks-layout-deriver code is in: fs/nfs/blocklayout/.. directory
69Flexfiles-layout-driver code is in: fs/nfs/flexfilelayout/.. directory
69 70
70objects-layout setup71objects-layout setup
71--------------------72--------------------
Documentation/filesystems/ocfs2.txt+4−0
@@ -100,3 +100,7 @@ coherency=full (*) Disallow concurrent O_DIRECT writes, cluster inode · 99 unmodified lines
100coherency=buffered Allow concurrent O_DIRECT writes without EX lock among100coherency=buffered Allow concurrent O_DIRECT writes without EX lock among
101 nodes, which gains high performance at risk of getting101 nodes, which gains high performance at risk of getting
102 stale data on other nodes.102 stale data on other nodes.
103journal_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
159rename or unlink will of course be noticed and handled).159rename or unlink will of course be noticed and handled).
160 160
161 161
162Multiple lower layers
163---------------------
164
165Multiple lower layers can now be given using the the colon (":") as a
166separator character between the directory names. For example:
167
168 mount -t overlay overlay -olowerdir=/lower1:/lower2:/lower3 /merged
169
170As the example shows, "upperdir=" and "workdir=" may be omitted. In
171that case the overlay will be read-only.
172
173The specified lower directories will be stacked beginning from the
174rightmost one and going left. In the above example lower1 will be the
175top, lower2 the middle and lower3 the bottom layer.
176
177
162Non-standard behavior178Non-standard behavior
163---------------------179---------------------
164 180
@@ -196,3 +212,15 @@ Changes to the underlying filesystems while part of a mounted overlay · 31 unmodified lines
196filesystem are not allowed. If the underlying filesystem is changed,212filesystem are not allowed. If the underlying filesystem is changed,
197the behavior of the overlay is undefined, though it will not result in213the behavior of the overlay is undefined, though it will not result in
198a crash or deadlock.214a crash or deadlock.
215
216Testsuite
217---------
218
219There's testsuite developed by David Howells at:
220
221 git://git.infradead.org/users/dhowells/unionmount-testsuite.git
222
223Run 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
28 1.6 Parallel port info in /proc/parport28 1.6 Parallel port info in /proc/parport
29 1.7 TTY info in /proc/tty29 1.7 TTY info in /proc/tty
30 1.8 Miscellaneous kernel statistics in /proc/stat30 1.8 Miscellaneous kernel statistics in /proc/stat
31 1.9 Ext4 file system parameters31 1.9 Ext4 file system parameters
32 32
33 2 Modifying System Parameters33 2 Modifying System Parameters
34 34
@@ -42,6 +42,7 @@ Table of Contents · 7 unmodified lines
42 3.6 /proc/<pid>/comm & /proc/<pid>/task/<tid>/comm42 3.6 /proc/<pid>/comm & /proc/<pid>/task/<tid>/comm
43 3.7 /proc/<pid>/task/<tid>/children - Information about task children43 3.7 /proc/<pid>/task/<tid>/children - Information about task children
44 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file44 3.8 /proc/<pid>/fdinfo/<fd> - Information about opened file
45 3.9 /proc/<pid>/map_files - Information about memory mapped files
45 46
46 4 Configuring procfs47 4 Configuring procfs
47 4.1 Mount options48 4.1 Mount options
@@ -144,6 +145,8 @@ Table 1-1: Process specific entries in /proc · 96 unmodified lines
144 stack Report full stack trace, enable via CONFIG_STACKTRACE145 stack Report full stack trace, enable via CONFIG_STACKTRACE
145 smaps a extension based on maps, showing the memory consumption of146 smaps a extension based on maps, showing the memory consumption of
146 each mapping and flags associated with it147 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.
147..............................................................................150..............................................................................
148 151
149For example, to get the status information of a process, all you have to do is152For 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
488To clear the soft-dirty bit491To clear the soft-dirty bit
489 > echo 4 > /proc/PID/clear_refs492 > echo 4 > /proc/PID/clear_refs
490 493
494To reset the peak resident set size ("high water mark") to the process's
495current value:
496 > echo 5 > /proc/PID/clear_refs
497
491Any other value written to /proc/PID/clear_refs will have no effect.498Any other value written to /proc/PID/clear_refs will have no effect.
492 499
493The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags500The /proc/pid/pagemap gives the PFN, which can be used to find the pageflags
494using /proc/kpageflags and number of times a page is mapped using501using /proc/kpageflags and number of times a page is mapped using
495/proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.txt.502/proc/kpagecount. For detailed explanation, see Documentation/vm/pagemap.txt.
496 503
504The /proc/pid/numa_maps is an extension based on maps, showing the memory
505locality and binding policy, as well as the memory usage (in pages) of
506each mapping. The output follows a general format where mapping details get
507summarized separated by blank spaces, one mapping per each file line:
508
509address policy mapping details
510
51100400000 default file=/usr/local/bin/app mapped=1 active=0 N3=1 kernelpagesize_kB=4
51200600000 default file=/usr/local/bin/app anon=1 dirty=1 N3=1 kernelpagesize_kB=4
5133206000000 default file=/lib64/ld-2.12.so mapped=26 mapmax=6 N0=24 N3=2 kernelpagesize_kB=4
514320621f000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
5153206220000 default file=/lib64/ld-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
5163206221000 default anon=1 dirty=1 N3=1 kernelpagesize_kB=4
5173206800000 default file=/lib64/libc-2.12.so mapped=59 mapmax=21 active=55 N0=41 N3=18 kernelpagesize_kB=4
518320698b000 default file=/lib64/libc-2.12.so
5193206b8a000 default file=/lib64/libc-2.12.so anon=2 dirty=2 N3=2 kernelpagesize_kB=4
5203206b8e000 default file=/lib64/libc-2.12.so anon=1 dirty=1 N3=1 kernelpagesize_kB=4
5213206b8f000 default anon=3 dirty=3 active=1 N3=3 kernelpagesize_kB=4
5227f4dc10a2000 default anon=3 dirty=3 N3=3 kernelpagesize_kB=4
5237f4dc10b4000 default anon=2 dirty=2 active=1 N3=2 kernelpagesize_kB=4
5247f4dc1200000 default file=/anon_hugepage\040(deleted) huge anon=1 dirty=1 N3=1 kernelpagesize_kB=2048
5257fff335f0000 default stack anon=3 dirty=3 N3=3 kernelpagesize_kB=4
5267fff3369d000 default mapped=1 mapmax=35 active=0 N3=1 kernelpagesize_kB=4
527
528Where:
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,
532node locality page counters (N0 == node0, N1 == node1, ...) and the kernel page
533size, in KB, that is backing the mapping up.
534
4971.2 Kernel data5351.2 Kernel data
498---------------536---------------
499 537
@@ -1763,6 +1801,28 @@ pair provide additional information particular to the objects they represent. · 1263 unmodified lines
1763 with TIMER_ABSTIME option which will be shown in 'settime flags', but 'it_value'1801 with TIMER_ABSTIME option which will be shown in 'settime flags', but 'it_value'
1764 still exhibits timer's remaining time.1802 still exhibits timer's remaining time.
1765 1803
18043.9 /proc/<pid>/map_files - Information about memory mapped files
1805---------------------------------------------------------------------
1806This directory contains symbolic links which represent memory mapped files
1807the 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
1816The name of a link represents the virtual memory bounds of a mapping, i.e.
1817vm_area_struct::vm_start-vm_area_struct::vm_end.
1818
1819The main purpose of the map_files is to retrieve a set of memory mapped
1820files 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
1822time one can open(2) mappings from the listings of two processes and
1823comparing their inode numbers to figure out which anonymous memory areas
1824are actually shared.
1825
1766------------------------------------------------------------------------------1826------------------------------------------------------------------------------
1767Configuring procfs1827Configuring procfs
1768------------------------------------------------------------------------------1828------------------------------------------------------------------------------
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
194 194
195There are also a pair of functions for printing filenames:195There are also a pair of functions for printing filenames:
196 196
197 int seq_path(struct seq_file *m, struct path *path, char *esc);197 int seq_path(struct seq_file *m, const struct path *path,
198 int seq_path_root(struct seq_file *m, struct path *path,198 const char *esc);
199 struct path *root, char *esc)199 int seq_path_root(struct seq_file *m, const struct path *path,
200 const struct path *root, const char *esc)
200 201
201Here, path indicates the file of interest, and esc is a set of characters202Here, path indicates the file of interest, and esc is a set of characters
202which should be escaped in the output. A call to seq_path() will output203which should be escaped in the output. A call to seq_path() will output
203the path relative to the current process's filesystem root. If a different204the path relative to the current process's filesystem root. If a different
204root is desired, it can be used with seq_path_root(). Note that, if it205root is desired, it can be used with seq_path_root(). If it turns out that
205turns out that path cannot be reached from root, the value of root will be206path cannot be reached from root, seq_path_root() returns SEQ_SKIP.
206changed in seq_file_root() to a root which *does* work.
207 207
208A function producing complicated output may want to check208A function producing complicated output may want to check
209 bool seq_has_overflowed(struct seq_file *m);209 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
591 int (*releasepage) (struct page *, int);591 int (*releasepage) (struct page *, int);
592 void (*freepage)(struct page *);592 void (*freepage)(struct page *);
593 ssize_t (*direct_IO)(int, struct kiocb *, struct iov_iter *iter, loff_t offset);593 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);
596 /* migrate the contents of a page to the specified target */594 /* migrate the contents of a page to the specified target */
597 int (*migratepage) (struct page *, struct page *);595 int (*migratepage) (struct page *, struct page *);
598 int (*launder_page) (struct page *);596 int (*launder_page) (struct page *);
@@ -748,11 +746,6 @@ struct address_space_operations { · 149 unmodified lines
748 and transfer data directly between the storage and the746 and transfer data directly between the storage and the
749 application's address space.747 application's address space.
750 748
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
756 migrate_page: This is used to compact the physical memory usage.749 migrate_page: This is used to compact the physical memory usage.
757 If the VM wants to relocate a page (maybe off a memory card750 If the VM wants to relocate a page (maybe off a memory card
758 that is signalling imminent failure) it will pass a new page751 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
287 XFS_ERRLEVEL_LOW: 1287 XFS_ERRLEVEL_LOW: 1
288 XFS_ERRLEVEL_HIGH: 5288 XFS_ERRLEVEL_HIGH: 5
289 289
290 fs.xfs.panic_mask (Min: 0 Default: 0 Max: 127)290 fs.xfs.panic_mask (Min: 0 Default: 0 Max: 255)
291 Causes certain error conditions to call BUG(). Value is a bitmask;291 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:
293 293
294 XFS_NO_PTAG 0294 XFS_NO_PTAG 0
295 XFS_PTAG_IFLUSH 0x00000001295 XFS_PTAG_IFLUSH 0x00000001
@@ -299,6 +299,7 @@ The following sysctls are available for the XFS filesystem: · 3 unmodified lines
299 XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010299 XFS_PTAG_SHUTDOWN_CORRUPT 0x00000010
300 XFS_PTAG_SHUTDOWN_IOERROR 0x00000020300 XFS_PTAG_SHUTDOWN_IOERROR 0x00000020
301 XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040301 XFS_PTAG_SHUTDOWN_LOGERROR 0x00000040
302 XFS_PTAG_FSBLOCK_ZERO 0x00000080
302 303
303 This option is intended for debugging only.304 This option is intended for debugging only.
304 305
@@ -348,16 +349,13 @@ The following sysctls are available for the XFS filesystem: · 43 unmodified lines
348Deprecated Sysctls349Deprecated Sysctls
349==================350==================
350 351
351 fs.xfs.xfsbufd_centisecs (Min: 50 Default: 100 Max: 3000)352None at present.
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.
355 353
356 Due for removal in 3.14.
357 354
358 fs.xfs.age_buffer_centisecs (Min: 100 Default: 1500 Max: 720000)355Removed Sysctls
359 Dirty metadata is now tracked by the log subsystem and356===============
360 flushing is driven by log space and idling demands. The
361 xfsbufd no longer exists, so this syctl does nothing.
362 357
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 @@
1Execute-in-place for file mappings
2----------------------------------
3
4Motivation
5----------
6File mappings are performed by mapping page cache pages to userspace. In
7addition, read&write type file operations also transfer data from/to the page
8cache.
9
10For memory backed storage devices that use the block device interface, the page
11cache pages are in fact copies of the original storage. Various approaches
12exist to work around the need for an extra copy. The ramdisk driver for example
13does read the data into the page cache, keeps a reference, and discards the
14original data behind later on.
15
16Execute-in-place solves this issue the other way around: instead of keeping
17data in the page cache, the need to have a page cache copy is eliminated
18completely. With execute-in-place, read&write type operations are performed
19directly from/to the memory backed storage device. For file mappings, the
20storage device itself is mapped directly into userspace.
21
22This implementation was initially written for shared memory segments between
23different virtual machines on s390 hardware to allow multiple machines to
24share the same binaries and libraries.
25
26Implementation
27--------------
28Execute-in-place is implemented in three steps: block device operation,
29address space operation, and file operations.
30
31A block device operation named direct_access is used to retrieve a
32reference (pointer) to a block on-disk. The reference is supposed to be
33cpu-addressable, physical address and remain valid until the release operation
34is performed. A struct block_device reference is used to address the device,
35and a sector_t argument is used to identify the individual block. As an
36alternative, memory technology devices can be used for this.
37
38The block device operation is optional, these block devices support it as of
39today:
40- dcssblk: s390 dcss block device driver
41
42An address space operation named get_xip_mem is used to retrieve references
43to a page frame number and a kernel address. To obtain these values a reference
44to an address_space is provided. This function assigns values to the kmem and
45pfn parameters. The third argument indicates whether the function should allocate
46blocks if needed.
47
48This address space operation is mutually exclusive with readpage&writepage that
49do page cache read/write operations.
50The following filesystems support it as of today:
51- ext2: the second extended filesystem, see Documentation/filesystems/ext2.txt
52
53A set of file operations that do utilize get_xip_page can be found in
54mm/filemap_xip.c . The following file operation implementations are provided:
55- aio_read/aio_write
56- readv/writev
57- sendfile
58
59The generic file operations do_sync_read/do_sync_write can be used to implement
60classic synchronous IO calls.
61
62Shortcomings
63------------
64This implementation is limited to storage devices that are cpu addressable at
65all times (no highmem or such). It works well on rom/ram, but enhancements are
66needed to make it work with flash in read+write mode.
67Putting the Linux kernel and/or its modules on a xip filesystem does not mean
68they 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
98allow the requeue code to acquire an uncontended rt_mutex on behalf98allow the requeue code to acquire an uncontended rt_mutex on behalf
99of the waiter and to enqueue the waiter on a contended rt_mutex.99of the waiter and to enqueue the waiter on a contended rt_mutex.
100Two new system calls provide the kernel<->user interface to100Two new system calls provide the kernel<->user interface to
101requeue_pi: FUTEX_WAIT_REQUEUE_PI and FUTEX_REQUEUE_CMP_PI.101requeue_pi: FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI.
102 102
103FUTEX_WAIT_REQUEUE_PI is called by the waiter (pthread_cond_wait()103FUTEX_WAIT_REQUEUE_PI is called by the waiter (pthread_cond_wait()
104and pthread_cond_timedwait()) to block on the initial futex and wait104and 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
107futex_lock_pi(), with some extra logic to check for the additional107futex_lock_pi(), with some extra logic to check for the additional
108wake-up scenarios.108wake-up scenarios.
109 109
110FUTEX_REQUEUE_CMP_PI is called by the waker110FUTEX_CMP_REQUEUE_PI is called by the waker
111(pthread_cond_broadcast() and pthread_cond_signal()) to requeue and111(pthread_cond_broadcast() and pthread_cond_signal()) to requeue and
112possibly wake the waiting tasks. Internally, this system call is112possibly wake the waiting tasks. Internally, this system call is
113still handled by futex_requeue (by passing requeue_pi=1). Before113still 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
120the lock can be acquired at this stage as well, if so, the next120the lock can be acquired at this stage as well, if so, the next
121waiter is woken to finish the acquisition of the lock.121waiter is woken to finish the acquisition of the lock.
122 122
123FUTEX_REQUEUE_PI accepts nr_wake and nr_requeue as arguments, but123FUTEX_CMP_REQUEUE_PI accepts nr_wake and nr_requeue as arguments, but
124their sum is all that really matters. futex_requeue() will wake or124their sum is all that really matters. futex_requeue() will wake or
125requeue up to nr_wake + nr_requeue tasks. It will wake only as many125requeue up to nr_wake + nr_requeue tasks. It will wake only as many
126tasks as it can acquire the lock for, which in the majority of cases126tasks as it can acquire the lock for, which in the majority of cases
127should be 0 as good programming practice dictates that the caller of127should be 0 as good programming practice dictates that the caller of
128either pthread_cond_broadcast() or pthread_cond_signal() acquire the128either pthread_cond_broadcast() or pthread_cond_signal() acquire the
129mutex prior to making the call. FUTEX_REQUEUE_PI requires that129mutex prior to making the call. FUTEX_CMP_REQUEUE_PI requires that
130nr_wake=1. nr_requeue should be INT_MAX for broadcast and 0 for130nr_wake=1. nr_requeue should be INT_MAX for broadcast and 0 for
131signal.131signal.
Documentation/gdb-kernel-debugging.txt+160−0
@@ -0,0 +1,160 @@
1Debugging kernel and modules via gdb
2====================================
3
4The kernel debugger kgdb, hypervisors like QEMU or JTAG-based hardware
5interfaces allow to debug the Linux kernel and its modules during runtime
6using gdb. Gdb comes with a powerful scripting interface for python. The
7kernel provides a collection of helper scripts that can simplify typical
8kernel debugging steps. This is a short tutorial about how to enable and use
9them. It focuses on QEMU/KVM virtual machines as target, but the examples can
10be transferred to the other gdb stubs as well.
11
12
13Requirements
14------------
15
16 o gdb 7.2+ (recommended: 7.4+) with python support enabled (typically true
17 for distributions)
18
19
20Setup
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
60Examples 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
143List of commands and functions
144------------------------------
145
146The number of commands and convenience functions may evolve over the time,
147this 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
159Detailed help can be obtained via "help <command-name>" for commands and "help
160function <function-name>" for convenience functions.
Documentation/gpio/board.txt+1−1
@@ -31,7 +31,7 @@ through gpiod_get(). For example: · 30 unmodified lines
31 <&gpio 16 GPIO_ACTIVE_HIGH>, /* green */31 <&gpio 16 GPIO_ACTIVE_HIGH>, /* green */
32 <&gpio 17 GPIO_ACTIVE_HIGH>; /* blue */32 <&gpio 17 GPIO_ACTIVE_HIGH>; /* blue */
33 33
34 power-gpio = <&gpio 1 GPIO_ACTIVE_LOW>;34 power-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;
35 };35 };
36 36
37This property will make GPIOs 15, 16 and 17 available to the driver under the37This 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
26 Datasheet: Publicly available at the Texas Instruments website26 Datasheet: Publicly available at the Texas Instruments website
27 http://www.ti.com/27 http://www.ti.com/
28 28
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
29Author: Lothar Felten <l-felten@ti.com>35Author: Lothar Felten <l-felten@ti.com>
30 36
31Description37Description
@@ -41,9 +47,18 @@ interface. The INA220 monitors both shunt drop and supply voltage. · 9 unmodified lines
41The INA226 is a current shunt and power monitor with an I2C interface.47The INA226 is a current shunt and power monitor with an I2C interface.
42The INA226 monitors both a shunt voltage drop and bus supply voltage.48The INA226 monitors both a shunt voltage drop and bus supply voltage.
43 49
44The INA230 is a high or low side current shunt and power monitor with an I2C50INA230 and INA231 are high or low side current shunt and power monitors
45interface. The INA230 monitors both a shunt voltage drop and bus supply voltage.51with an I2C interface. The chips monitor both a shunt voltage drop and
52bus supply voltage.
46 53
47The shunt value in micro-ohms can be set via platform data or device tree.54The shunt value in micro-ohms can be set via platform data or device tree at
48Please refer to the Documentation/devicetree/bindings/i2c/ina2xx.txt for bindings55compile-time or via the shunt_resistor attribute in sysfs at run-time. Please
56refer to the Documentation/devicetree/bindings/i2c/ina2xx.txt for bindings
49if the device tree is used.57if the device tree is used.
58
59Additionally ina226 supports update_interval attribute as described in
60Documentation/hwmon/sysfs-interface. Internally the interval is the sum of
61bus and shunt voltage conversion times multiplied by the averaging rate. We
62don't touch the conversion times and only modify the number of averages. The
63lower limit of the update_interval is 2 ms, the upper limit is 2253 ms.
64The actual programmed interval may vary from the desired value.
Documentation/i2c/functionality+1−1
@@ -12,7 +12,7 @@ FUNCTIONALITY CONSTANTS · 11 unmodified lines
12-----------------------12-----------------------
13 13
14For the most up-to-date list of functionality constants, please check14For the most up-to-date list of functionality constants, please check
15<linux/i2c.h>!15<uapi/linux/i2c.h>!
16 16
17 I2C_FUNC_I2C Plain i2c-level commands (Pure SMBus17 I2C_FUNC_I2C Plain i2c-level commands (Pure SMBus
18 adapters typically can not do these)18 adapters typically can not do these)
Documentation/ia64/paravirt_ops.txt+0−137
@@ -1,137 +0,0 @@
1Paravirt_ops on IA64
2====================
3 21 May 2008, Isaku Yamahata <yamahata@valinux.co.jp>
4
5
6Introduction
7------------
8The aim of this documentation is to help with maintainability and/or to
9encourage people to use paravirt_ops/IA64.
10
11paravirt_ops (pv_ops in short) is a way for virtualization support of
12Linux kernel on x86. Several ways for virtualization support were
13proposed, paravirt_ops is the winner.
14On the other hand, now there are also several IA64 virtualization
15technologies like kvm/IA64, xen/IA64 and many other academic IA64
16hypervisors so that it is good to add generic virtualization
17infrastructure on Linux/IA64.
18
19
20What is paravirt_ops?
21---------------------
22It has been developed on x86 as virtualization support via API, not ABI.
23It allows each hypervisor to override operations which are important for
24hypervisors at API level. And it allows a single kernel binary to run on
25all supported execution environments including native machine.
26Essentially paravirt_ops is a set of function pointers which represent
27operations corresponding to low level sensitive instructions and high
28level functionalities in various area. But one significant difference
29from usual function pointer table is that it allows optimization with
30binary patch. It is because some of these operations are very
31performance sensitive and indirect call overhead is not negligible.
32With binary patch, indirect C function call can be transformed into
33direct C function call or in-place execution to eliminate the overhead.
34
35Thus, 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
51The relation to the IA64 machine vector
52---------------------------------------
53Linux/IA64 has the IA64 machine vector functionality which allows the
54kernel to switch implementations (e.g. initialization, ipi, dma api...)
55depending on executing platform.
56We can replace some implementations very easily defining a new machine
57vector. Thus another approach for virtualization support would be
58enhancing the machine vector functionality.
59But 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
78Possibly it might be better to move some function pointers from
79paravirt_ops to machine vector. In fact, Xen domU case utilizes both
80pv_ops and machine vector.
81
82
83IA64 paravirt_ops
84-----------------
85In this section, the concrete paravirt_ops will be discussed.
86Because of the architecture difference between ia64 and x86, the
87resulting set of functions is very different from x86 pv_ops.
88
89- C function pointer tables
90They are not very performance critical so that simple C indirect
91function call is acceptable. The following structures are defined at
92this 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
105Currently this class of functions correspond to a subset of IA64
106intrinsics. At this moment the optimization with binary patch isn't
107implemented yet.
108struct pv_cpu_op is defined. For details see
109linux/include/asm-ia64/paravirt_privop.h
110Mostly they correspond to ia64 intrinsics 1-to-1.
111Caveat: Now they are defined as C indirect function pointers, but in
112order to support binary patch optimization, they will be changed
113using GCC extended inline assembly code.
114
115- a set of macros for hand written assembly code (.S files)
116For maintenance purpose, the taken approach for .S files is single
117source code and compile multiple times with different macros definitions.
118Each pv_ops instance must define those macros to compile.
119The important thing here is that sensitive, but non-privileged
120instructions must be paravirtualized and that some privileged
121instructions also need paravirtualization for reasonable performance.
122Developers who modify .S files must be aware of that. At this moment
123an easy checker is implemented to detect paravirtualization breakage.
124But it doesn't cover all the cases.
125
126Sometimes this set of macros is called pv_cpu_asm_op. But there is no
127corresponding structure in the source code.
128Those macros mostly 1:1 correspond to a subset of privileged
129instructions. See linux/include/asm-ia64/native/inst.h.
130And some functions written in assembly also need to be overrided so
131that each pv_ops instance have to define some macros. Again see
132linux/include/asm-ia64/native/inst.h.
133
134
135Those structures must be initialized very early before start_kernel.
136Probably initialized in head.S using multi entry point or some other trick.
137For 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
3 3
4Introduction4Introduction
5------------5------------
6Currently the ALPS touchpad driver supports five protocol versions in use by6Currently the ALPS touchpad driver supports seven protocol versions in use by
7ALPS touchpads, called versions 1, 2, 3, 4 and 5.7ALPS touchpads, called versions 1, 2, 3, 4, 5, 6 and 7.
8 8
9Since roughly mid-2010 several new ALPS touchpads have been released and9Since roughly mid-2010 several new ALPS touchpads have been released and
10integrated into a variety of laptops and netbooks. These new touchpads10integrated into a variety of laptops and netbooks. These new touchpads
@@ -240,3 +240,67 @@ For mt, the format is: · 229 unmodified lines
240 byte 3: 0 x23 x22 x21 x20 x19 x18 x17240 byte 3: 0 x23 x22 x21 x20 x19 x18 x17
241 byte 4: 0 x9 x8 x7 x6 x5 x4 x3241 byte 4: 0 x9 x8 x7 x6 x5 x4 x3
242 byte 5: 0 x16 x15 x14 x13 x12 x11 x10242 byte 5: 0 x16 x15 x14 x13 x12 x11 x10
243
244ALPS Absolute Mode - Protocol Version 6
245---------------------------------------
246
247For 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
256For 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
267ALPS Absolute Mode - Protocol Version 7
268---------------------------------------
269
270For 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
279For 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 @@
1Kernel address sanitizer
2================
3
40. Overview
5===========
6
7Kernel Address sanitizer (KASan) is a dynamic memory error detector. It provides
8a fast and comprehensive solution for finding use-after-free and out-of-bounds
9bugs.
10
11KASan uses compile-time instrumentation for checking every memory access,
12therefore you will need a certain version of GCC > 4.9.2
13
14Currently KASan is supported only for x86_64 architecture and requires that the
15kernel be built with the SLUB allocator.
16
171. Usage
18=========
19
20To enable KASAN configure kernel with:
21
22 CONFIG_KASAN = y
23
24and choose between CONFIG_KASAN_OUTLINE and CONFIG_KASAN_INLINE. Outline/inline
25is compiler instrumentation types. The former produces smaller binary the
26latter is 1.1 - 2 times faster. Inline instrumentation requires GCC 5.0 or
27latter.
28
29Currently KASAN works only with the SLUB memory allocator.
30For better bug detection and nicer report, enable CONFIG_STACKTRACE and put
31at least 'slub_debug=U' in the boot cmdline.
32
33To disable instrumentation for specific files or directories, add a line
34similar 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
421.1 Error reports
43==========
44
45A typical out of bounds access report looks like this:
46
47==================================================================
48BUG: AddressSanitizer: out of bounds access in kmalloc_oob_right+0x65/0x75 [test_kasan] at addr ffff8800693bc5d3
49Write of size 1 by task modprobe/1689
50=============================================================================
51BUG kmalloc-128 (Not tainted): kasan error
52-----------------------------------------------------------------------------
53
54Disabling lock debugging due to kernel taint
55INFO: 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
64INFO: Slab 0xffffea0001a4ef00 objects=17 used=7 fp=0xffff8800693bd728 flags=0x100000000004080
65INFO: Object 0xffff8800693bc558 @offset=1368 fp=0xffff8800693bc720
66
67Bytes b4 ffff8800693bc548: 00 00 00 00 00 00 00 00 5a 5a 5a 5a 5a 5a 5a 5a ........ZZZZZZZZ
68Object ffff8800693bc558: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
69Object ffff8800693bc568: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
70Object ffff8800693bc578: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
71Object ffff8800693bc588: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
72Object ffff8800693bc598: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
73Object ffff8800693bc5a8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
74Object ffff8800693bc5b8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b kkkkkkkkkkkkkkkk
75Object ffff8800693bc5c8: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5 kkkkkkkkkkkkkkk.
76Redzone ffff8800693bc5d8: cc cc cc cc cc cc cc cc ........
77Padding ffff8800693bc718: 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZ
78CPU: 0 PID: 1689 Comm: modprobe Tainted: G B 3.18.0-rc1-mm1+ #98
79Hardware 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
83Call 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
105Memory 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
120First sections describe slub object where bad access happened.
121See 'SLUB Debug output' section in Documentation/vm/slub.txt for details.
122
123In the last section the report shows memory state around the accessed address.
124Reading this part requires some more understanding of how KASAN works.
125
126Each 8 bytes of memory are encoded in one shadow byte as accessible,
127partially accessible, freed or they can be part of a redzone.
128We use the following encoding for each shadow byte: 0 means that all 8 bytes
129of the corresponding memory region are accessible; number N (1 <= N <= 7) means
130that the first N bytes are accessible, and other (8 - N) bytes are not;
131any negative value indicates that the entire 8-byte word is inaccessible.
132We use different negative values to distinguish between different kinds of
133inaccessible memory like redzones or freed memory (see mm/kasan/kasan.h).
134
135In the report above the arrows point to the shadow byte 03, which means that
136the accessed address is partially accessible.
137
138
1392. Implementation details
140========================
141
142From a high level, our approach to memory error detection is similar to that
143of kmemcheck: use shadow memory to record whether each byte of memory is safe
144to access, and use compile-time instrumentation to check shadow memory on each
145memory access.
146
147AddressSanitizer 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
149offset to translate a memory address to its corresponding shadow address.
150
151Here is the function witch translate an address to its corresponding shadow
152address:
153
154static 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
160where KASAN_SHADOW_SCALE_SHIFT = 3.
161
162Compile-time instrumentation used for checking memory accesses. Compiler inserts
163function calls (__asan_load*(addr), __asan_store*(addr)) before each memory
164access of size 1, 2, 4, 8 or 16. These functions check whether memory access is
165valid or not by checking corresponding shadow memory.
166
167GCC 5.0 has possibility to perform inline instrumentation. Instead of making
168function calls GCC directly inserts the code to check the shadow memory.
169This option significantly enlarges kernel but it gives x1.1-x2 performance
170boost over outline instrumented kernel.
Documentation/kbuild/makefiles.txt+10−10
@@ -524,15 +524,16 @@ more details, with real examples. · 523 unmodified lines
524 Example:524 Example:
525 #arch/x86/Makefile525 #arch/x86/Makefile
526 cflags-y += $(shell \526 cflags-y += $(shell \
527 if [ $(call cc-version) -ge 0300 ] ; then \527 if [ $(cc-version) -ge 0300 ] ; then \
528 echo "-mregparm=3"; fi ;)528 echo "-mregparm=3"; fi ;)
529 529
530 In the above example, -mregparm=3 is only used for gcc version greater530 In the above example, -mregparm=3 is only used for gcc version greater
531 than or equal to gcc 3.0.531 than or equal to gcc 3.0.
532 532
533 cc-ifversion533 cc-ifversion
534 cc-ifversion tests the version of $(CC) and equals last argument if534 cc-ifversion tests the version of $(CC) and equals the fourth parameter
535 version expression is true.535 if version expression is true, or the fifth (if given) if the version
536 expression is false.
536 537
537 Example:538 Example:
538 #fs/reiserfs/Makefile539 #fs/reiserfs/Makefile
@@ -552,7 +553,7 @@ more details, with real examples. · 13 unmodified lines
552 553
553 Example:554 Example:
554 #arch/powerpc/Makefile555 #arch/powerpc/Makefile
555 $(Q)if test "$(call cc-fullversion)" = "040200" ; then \556 $(Q)if test "$(cc-fullversion)" = "040200" ; then \
556 echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \557 echo -n '*** GCC-4.2.0 cannot compile the 64-bit powerpc ' ; \
557 false ; \558 false ; \
558 fi559 fi
@@ -751,12 +752,12 @@ generated by kbuild are deleted all over the kernel src tree when · 192 unmodified lines
751Additional files can be specified in kbuild makefiles by use of $(clean-files).752Additional files can be specified in kbuild makefiles by use of $(clean-files).
752 753
753 Example:754 Example:
754 #drivers/pci/Makefile755 #lib/Makefile
755 clean-files := devlist.h classlist.h756 clean-files := crc32table.h
756 757
757When executing "make clean", the two files "devlist.h classlist.h" will be758When executing "make clean", the two files "devlist.h classlist.h" will be
758deleted. Kbuild will assume files to be in the same relative directory as the759deleted. Kbuild will assume files to be in the same relative directory as the
759Makefile except if an absolute path is specified (path starting with '/').760Makefile, except if prefixed with $(objtree).
760 761
761To delete a directory hierarchy use:762To delete a directory hierarchy use:
762 763
@@ -764,9 +765,8 @@ To delete a directory hierarchy use: · 1 unmodified line
764 #scripts/package/Makefile765 #scripts/package/Makefile
765 clean-dirs := $(objtree)/debian/766 clean-dirs := $(objtree)/debian/
766 767
767This will delete the directory debian, including all subdirectories.768This will delete the directory debian in the toplevel directory, including all
768Kbuild will assume the directories to be in the same relative path as the769subdirectories.
769Makefile if no absolute path is specified (path does not start with '/').
770 770
771To exclude certain files from make clean, use the $(no-clean-files) variable.771To exclude certain files from make clean, use the $(no-clean-files) variable.
772This is only a special case used in the top level Kbuild file:772This 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
970 970
971 smh Use ARM semihosting calls for early console.971 smh Use ARM semihosting calls for early console.
972 972
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
973 earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]985 earlyprintk= [X86,SH,BLACKFIN,ARM,M68k]
974 earlyprintk=vga986 earlyprintk=vga
975 earlyprintk=efi987 earlyprintk=efi
@@ -1470,6 +1482,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 494 unmodified lines
1470 no_hwp1482 no_hwp
1471 Do not enable hardware P state control (HWP)1483 Do not enable hardware P state control (HWP)
1472 if available.1484 if available.
1485 hwp_only
1486 Only load intel_pstate on systems which support
1487 hardware P state control (HWP) if available.
1473 1488
1474 intremap= [X86-64, Intel-IOMMU]1489 intremap= [X86-64, Intel-IOMMU]
1475 on enable Interrupt Remapping (default)1490 on enable Interrupt Remapping (default)
@@ -1494,6 +1509,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted. · 18 unmodified lines
1494 forcesac1509 forcesac
1495 soft1510 soft
1496 pt [x86, IA-64]1511 pt [x86, IA-64]
1512 nobypass [PPC/POWERNV]
1513 Disable IOMMU bypass, using IOMMU for PCI devices.
1497 1514
1498 1515
1499 io7= [HW] IO7 for Marvel based alpha systems1516 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
3207 3224
3208 retain_initrd [RAM] Keep initrd memory after extraction3225 retain_initrd [RAM] Keep initrd memory after extraction
3209 3226
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
3210 rhash_entries= [KNL,NET]3239 rhash_entries= [KNL,NET]
3211 Set number of hash buckets for route cache3240 Set number of hash buckets for route cache
3212 3241
Documentation/kprobes.txt+2−1
@@ -702,7 +702,8 @@ a virtual address that is no longer valid (module init sections, module · 701 unmodified lines
702virtual addresses that correspond to modules that've been unloaded),702virtual addresses that correspond to modules that've been unloaded),
703such probes are marked with [GONE]. If the probe is temporarily disabled,703such probes are marked with [GONE]. If the probe is temporarily disabled,
704such probes are marked with [DISABLED]. If the probe is optimized, it is704such probes are marked with [DISABLED]. If the probe is optimized, it is
705marked with [OPTIMIZED].705marked with [OPTIMIZED]. If the probe is ftrace-based, it is marked with
706[FTRACE].
706 707
707/sys/kernel/debug/kprobes/enabled: Turn kprobes ON/OFF forcibly.708/sys/kernel/debug/kprobes/enabled: Turn kprobes ON/OFF forcibly.
708 709
Documentation/locking/00-INDEX+16−0
@@ -0,0 +1,16 @@
100-INDEX
2 - this file.
3lockdep-design.txt
4 - documentation on the runtime locking correctness validator.
5lockstat.txt
6 - info on collecting statistics on locks (and contention).
7mutex-design.txt
8 - info on the generic mutex subsystem.
9rt-mutex-design.txt
10 - description of the RealTime mutex implementation design.
11rt-mutex.txt
12 - desc. of RT-mutex subsystem with PI (Priority Inheritance) support.
13spinlocks.txt
14 - info on using spinlocks to provide exclusive access in kernel.
15ww-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
34- 'ever held with STATE enabled'34- 'ever held with STATE enabled'
35- 'ever held as readlock with STATE enabled'35- 'ever held as readlock with STATE enabled'
36 36
37Where STATE can be either one of (kernel/lockdep_states.h)37Where STATE can be either one of (kernel/locking/lockdep_states.h)
38 - hardirq38 - hardirq
39 - softirq39 - softirq
40 - reclaim_fs40 - 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
121statistics. These statistics come in two parts; the actual stats separated by a121statistics. These statistics come in two parts; the actual stats separated by a
122short separator (line 08, 13) from the contention points.122short separator (line 08, 13) from the contention points.
123 123
124Lines 09-12 show the first 4 recorded contention points (the code
125which tries to get the lock) and lines 14-17 show the first 4 recorded
126contended points (the lock holder). It is possible that the max
127con-bounces point is missing in the statistics.
128
124The first lock (05-18) is a read/write lock, and shows two lines above the129The first lock (05-18) is a read/write lock, and shows two lines above the
125short separator. The contention points don't match the column descriptors,130short separator. The contention points don't match the column descriptors,
126they have two: contentions and [<IP>] symbol. The second set of contention131they 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
269 STORE *(A + 4) = Y; STORE *A = X;269 STORE *(A + 4) = Y; STORE *A = X;
270 STORE {*A, *(A + 4) } = {X, Y};270 STORE {*A, *(A + 4) } = {X, Y};
271 271
272And 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
272 316
273=========================317=========================
274WHAT ARE MEMORY BARRIERS?318WHAT ARE MEMORY BARRIERS?
@@ -750,7 +794,7 @@ In summary: · 475 unmodified lines
750 However, they do -not- guarantee any other sort of ordering:794 However, they do -not- guarantee any other sort of ordering:
751 Not prior loads against later loads, nor prior stores against795 Not prior loads against later loads, nor prior stores against
752 later anything. If you need these other forms of ordering,796 later anything. If you need these other forms of ordering,
753 use smb_rmb(), smp_wmb(), or, in the case of prior stores and797 use smp_rmb(), smp_wmb(), or, in the case of prior stores and
754 later loads, smp_mb().798 later loads, smp_mb().
755 799
756 (*) If both legs of the "if" statement begin with identical stores800 (*) 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 @@
1Intel(R) Management Engine (ME) Client bus API1Intel(R) Management Engine (ME) Client bus API
2===============================================2==============================================
3 3
4 4
5Rationale5Rationale
6=========6=========
7
7MEI misc character device is useful for dedicated applications to send and receive8MEI misc character device is useful for dedicated applications to send and receive
8data to the many FW appliance found in Intel's ME from the user space.9data to the many FW appliance found in Intel's ME from the user space.
9However for some of the ME functionalities it make sense to leverage existing software10However for some of the ME functionalities it make sense to leverage existing software
@@ -17,7 +18,8 @@ the existing code. · 7 unmodified lines
17 18
18 19
19MEI CL bus API20MEI CL bus API
20===========21==============
22
21A driver implementation for an MEI Client is very similar to existing bus23A driver implementation for an MEI Client is very similar to existing bus
22based device drivers. The driver registers itself as an MEI CL bus driver through24based device drivers. The driver registers itself as an MEI CL bus driver through
23the mei_cl_driver structure:25the mei_cl_driver structure:
@@ -55,6 +57,7 @@ received buffers. · 31 unmodified lines
55 57
56Example58Example
57=======59=======
60
58As a theoretical example let's pretend the ME comes with a "contact" NFC IP.61As a theoretical example let's pretend the ME comes with a "contact" NFC IP.
59The driver init and exit routines for this device would look like:62The driver init and exit routines for this device would look like:
60 63
@@ -69,11 +72,11 @@ static struct mei_cl_device_id contact_mei_cl_tbl[] = { · 8 unmodified lines
69MODULE_DEVICE_TABLE(mei_cl, contact_mei_cl_tbl);72MODULE_DEVICE_TABLE(mei_cl, contact_mei_cl_tbl);
70 73
71static struct mei_cl_driver contact_driver = {74static struct mei_cl_driver contact_driver = {
72 .id_table = contact_mei_tbl,75 .id_table = contact_mei_tbl,
73 .name = CONTACT_DRIVER_NAME,76 .name = CONTACT_DRIVER_NAME,
74 77
75 .probe = contact_probe,78 .probe = contact_probe,
76 .remove = contact_remove,79 .remove = contact_remove,
77};80};
78 81
79static int contact_init(void)82static 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
109 mei_cl_register_event_cb(dev, contact_event_cb, contact);112 mei_cl_register_event_cb(dev, contact_event_cb, contact);
110 113
111 return 0;114 return 0;
112 }115}
113 116
114In the probe routine the driver first enable the MEI device and then registers117In the probe routine the driver first enable the MEI device and then registers
115an ME bus event handler which is as close as it can get to registering a118an 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 @@
1Intel(R) Management Engine Interface (Intel(R) MEI)1Intel(R) Management Engine Interface (Intel(R) MEI)
2=======================2===================================================
3 3
4Introduction4Introduction
5=======================5============
6 6
7The Intel Management Engine (Intel ME) is an isolated and protected computing7The Intel Management Engine (Intel ME) is an isolated and protected computing
8resource (Co-processor) residing inside certain Intel chipsets. The Intel ME8resource (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
19header and payload up to 512 bytes.19header and payload up to 512 bytes.
20 20
21Prominent usage of the Intel ME Interface is to communicate with Intel(R)21Prominent usage of the Intel ME Interface is to communicate with Intel(R)
22Active Management Technology (Intel AMT)implemented in firmware running on22Active Management Technology (Intel AMT) implemented in firmware running on
23the Intel ME.23the Intel ME.
24 24
25Intel AMT provides the ability to manage a host remotely out-of-band (OOB)25Intel 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
44For more information about Intel AMT:44For more information about Intel AMT:
45http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide45http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
46 46
47
47Intel MEI Driver48Intel MEI Driver
48=======================49================
49 50
50The driver exposes a misc device called /dev/mei.51The driver exposes a misc device called /dev/mei.
51 52
@@ -91,8 +92,10 @@ A code snippet for an application communicating with Intel AMTHI client: · 39 unmodified lines
91 [...]92 [...]
92 close(fd);93 close(fd);
93 94
94IOCTL:95
95======96IOCTL
97=====
98
96The Intel MEI Driver supports the following IOCTL command:99The Intel MEI Driver supports the following IOCTL command:
97 IOCTL_MEI_CONNECT_CLIENT Connect to firmware Feature (client).100 IOCTL_MEI_CONNECT_CLIENT Connect to firmware Feature (client).
98 101
@@ -122,58 +125,61 @@ The Intel MEI Driver supports the following IOCTL command: · 23 unmodified lines
122 data that can be sent or received. (e.g. if MTU=2K, can send125 data that can be sent or received. (e.g. if MTU=2K, can send
123 requests up to bytes 2k and received responses up to 2k bytes).126 requests up to bytes 2k and received responses up to 2k bytes).
124 127
125Intel ME Applications:128
126==============129Intel ME Applications
127 130=====================
1281) Intel Local Management Service (Intel LMS)131
129 132 1) Intel Local Management Service (Intel LMS)
130 Applications running locally on the platform communicate with Intel AMT Release133
131 2.0 and later releases in the same way that network applications do via SOAP134 Applications running locally on the platform communicate with Intel AMT Release
132 over HTTP (deprecated starting with Release 6.0) or with WS-Management over135 2.0 and later releases in the same way that network applications do via SOAP
133 SOAP over HTTP. This means that some Intel AMT features can be accessed from a136 over HTTP (deprecated starting with Release 6.0) or with WS-Management over
134 local application using the same network interface as a remote application137 SOAP over HTTP. This means that some Intel AMT features can be accessed from a
135 communicating with Intel AMT over the network.138 local application using the same network interface as a remote application
136 139 communicating with Intel AMT over the network.
137 When a local application sends a message addressed to the local Intel AMT host140
138 name, the Intel LMS, which listens for traffic directed to the host name,141 When a local application sends a message addressed to the local Intel AMT host
139 intercepts the message and routes it to the Intel MEI.142 name, the Intel LMS, which listens for traffic directed to the host name,
140 For more information:143 intercepts the message and routes it to the Intel MEI.
141 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide144 For more information:
142 Under "About Intel AMT" => "Local Access"145 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
143 146 Under "About Intel AMT" => "Local Access"
144 For downloading Intel LMS:147
145 http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/148 For downloading Intel LMS:
146 149 http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
147 The Intel LMS opens a connection using the Intel MEI driver to the Intel LMS150
148 firmware feature using a defined UUID and then communicates with the feature151 The Intel LMS opens a connection using the Intel MEI driver to the Intel LMS
149 using a protocol called Intel AMT Port Forwarding Protocol(Intel APF protocol).152 firmware feature using a defined UUID and then communicates with the feature
150 The protocol is used to maintain multiple sessions with Intel AMT from a153 using a protocol called Intel AMT Port Forwarding Protocol (Intel APF protocol).
151 single application.154 The protocol is used to maintain multiple sessions with Intel AMT from a
152 155 single application.
153 See the protocol specification in the Intel AMT Software Development Kit(SDK)156
154 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide157 See the protocol specification in the Intel AMT Software Development Kit (SDK)
155 Under "SDK Resources" => "Intel(R) vPro(TM) Gateway(MPS)"158 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
156 => "Information for Intel(R) vPro(TM) Gateway Developers"159 Under "SDK Resources" => "Intel(R) vPro(TM) Gateway (MPS)"
157 => "Description of the Intel AMT Port Forwarding (APF)Protocol"160 => "Information for Intel(R) vPro(TM) Gateway Developers"
158 161 => "Description of the Intel AMT Port Forwarding (APF) Protocol"
159 2) Intel AMT Remote configuration using a Local Agent162
160 A Local Agent enables IT personnel to configure Intel AMT out-of-the-box163 2) Intel AMT Remote configuration using a Local Agent
161 without requiring installing additional data to enable setup. The remote164
162 configuration process may involve an ISV-developed remote configuration165 A Local Agent enables IT personnel to configure Intel AMT out-of-the-box
163 agent that runs on the host.166 without requiring installing additional data to enable setup. The remote
164 For more information:167 configuration process may involve an ISV-developed remote configuration
165 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide168 agent that runs on the host.
166 Under "Setup and Configuration of Intel AMT" =>169 For more information:
167 "SDK Tools Supporting Setup and Configuration" =>170 http://software.intel.com/sites/manageability/AMT_Implementation_and_Reference_Guide
168 "Using the Local Agent Sample"171 Under "Setup and Configuration of Intel AMT" =>
169 172 "SDK Tools Supporting Setup and Configuration" =>
170 An open source Intel AMT configuration utility, implementing a local agent173 "Using the Local Agent Sample"
171 that accesses the Intel MEI driver, can be found here:174
172 http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/175 An open source Intel AMT configuration utility, implementing a local agent
173 176 that accesses the Intel MEI driver, can be found here:
174 177 http://software.intel.com/en-us/articles/download-the-latest-intel-amt-open-source-drivers/
175Intel AMT OS Health Watchdog:178
176=============================179
180Intel AMT OS Health Watchdog
181============================
182
177The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.183The Intel AMT Watchdog is an OS Health (Hang/Crash) watchdog.
178Whenever the OS hangs or crashes, Intel AMT will send an event184Whenever the OS hangs or crashes, Intel AMT will send an event
179to any subscriber to this event. This mechanism means that185to any subscriber to this event. This mechanism means that
@@ -192,8 +198,10 @@ watchdog is 120 seconds. · 12 unmodified lines
192If the Intel AMT Watchdog feature does not exist (i.e. the connection failed),198If the Intel AMT Watchdog feature does not exist (i.e. the connection failed),
193the Intel MEI driver will disable the sending of heartbeats.199the Intel MEI driver will disable the sending of heartbeats.
194 200
195Supported Chipsets:201
202Supported Chipsets
196==================203==================
204
1977 Series Chipset Family2057 Series Chipset Family
1986 Series Chipset Family2066 Series Chipset Family
1995 Series Chipset Family2075 Series Chipset Family
Documentation/networking/00-INDEX+6−2
@@ -1,7 +1,5 @@
100-INDEX100-INDEX
2 - this file2 - this file
33c505.txt
4 - information on the 3Com EtherLink Plus (3c505) driver.
53c509.txt33c509.txt
6 - information on the 3Com Etherlink III Series Ethernet cards.4 - information on the 3Com Etherlink III Series Ethernet cards.
76pack.txt56pack.txt
@@ -24,6 +22,8 @@ README.sb1000 · 16 unmodified lines
24 - info on General Instrument/NextLevel SURFboard1000 cable modem.22 - info on General Instrument/NextLevel SURFboard1000 cable modem.
25alias.txt23alias.txt
26 - info on using alias network devices.24 - info on using alias network devices.
25altera_tse.txt
26 - Altera Triple-Speed Ethernet controller.
27arcnet-hardware.txt27arcnet-hardware.txt
28 - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc.28 - tons of info on ARCnet, hubs, jumper settings for ARCnet cards, etc.
29arcnet.txt29arcnet.txt
@@ -42,6 +42,8 @@ bridge.txt · 12 unmodified lines
42 - where to get user space programs for ethernet bridging with Linux.42 - where to get user space programs for ethernet bridging with Linux.
43can.txt43can.txt
44 - documentation on CAN protocol family.44 - documentation on CAN protocol family.
45cdc_mbim.txt
46 - 3G/LTE USB modem (Mobile Broadband Interface Model)
45cops.txt47cops.txt
46 - info on the COPS LocalTalk Linux driver48 - info on the COPS LocalTalk Linux driver
47cs89x0.txt49cs89x0.txt
@@ -54,6 +56,8 @@ cxgb.txt · 6 unmodified lines
54 - Release Notes for the Chelsio N210 Linux device driver.56 - Release Notes for the Chelsio N210 Linux device driver.
55dccp.txt57dccp.txt
56 - the Datagram Congestion Control Protocol (DCCP) (RFC 4340..42).58 - the Datagram Congestion Control Protocol (DCCP) (RFC 4340..42).
59dctcp.txt
60 - DataCenter TCP congestion control
57de4x5.txt61de4x5.txt
58 - the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver62 - the Digital EtherWORKS DE4?? and DE5?? PCI Ethernet driver
59decnet.txt63decnet.txt
Documentation/networking/can.txt+1−1
@@ -234,7 +234,7 @@ solution for a couple of reasons: · 233 unmodified lines
234 mechanisms. Inside this filter definition the (interested) type of234 mechanisms. Inside this filter definition the (interested) type of
235 errors may be selected. The reception of error messages is disabled235 errors may be selected. The reception of error messages is disabled
236 by default. The format of the CAN error message frame is briefly236 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".
238 238
2394. How to use SocketCAN2394. How to use SocketCAN
240------------------------240------------------------
Documentation/networking/filter.txt+2−2
@@ -279,8 +279,8 @@ Possible BPF extensions are shown in the following table: · 278 unmodified lines
279 hatype skb->dev->type279 hatype skb->dev->type
280 rxhash skb->hash280 rxhash skb->hash
281 cpu raw_smp_processor_id()281 cpu raw_smp_processor_id()
282 vlan_tci vlan_tx_tag_get(skb)282 vlan_tci skb_vlan_tag_get(skb)
283 vlan_pr vlan_tx_tag_present(skb)283 vlan_pr skb_vlan_tag_present(skb)
284 rand prandom_u32()284 rand prandom_u32()
285 285
286These extensions can also be prefixed with '#'.286These extensions can also be prefixed with '#'.
Documentation/networking/ip-sysctl.txt+29−0
@@ -290,6 +290,28 @@ tcp_frto - INTEGER · 289 unmodified lines
290 290
291 By default it's enabled with a non-zero value. 0 disables F-RTO.291 By default it's enabled with a non-zero value. 0 disables F-RTO.
292 292
293tcp_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
293tcp_keepalive_time - INTEGER315tcp_keepalive_time - INTEGER
294 How often TCP sends out keepalive messages when keepalive is enabled.316 How often TCP sends out keepalive messages when keepalive is enabled.
295 Default: 2hours.317 Default: 2hours.
@@ -1287,6 +1309,13 @@ accept_ra_rtr_pref - BOOLEAN · 991 unmodified lines
1287 Functional default: enabled if accept_ra is enabled.1309 Functional default: enabled if accept_ra is enabled.
1288 disabled if accept_ra is disabled.1310 disabled if accept_ra is disabled.
1289 1311
1312accept_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
1290accept_redirects - BOOLEAN1319accept_redirects - BOOLEAN
1291 Accept Redirects.1320 Accept Redirects.
1292 1321
Documentation/networking/netlink_mmap.txt+3−10
@@ -199,16 +199,9 @@ frame header. · 198 unmodified lines
199TX limitations199TX limitations
200--------------200--------------
201 201
202Kernel processing usually involves validation of the message received by202As of Jan 2015 the message is always copied from the ring frame to an
203user-space, then processing its contents. The kernel must assure that203allocated buffer due to unresolved security concerns.
204userspace is not able to modify the message contents after they have been204See commit 4682a0358639b29cf ("netlink: Always copy on mmap TX.").
205validated. In order to do so, the message is copied from the ring frame
206to 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
211This means that for threaded programs, the kernel will fall back to copying.
212 205
213Example206Example
214-------207-------
Documentation/networking/nf_conntrack-sysctl.txt+2−1
@@ -11,7 +11,8 @@ nf_conntrack_buckets - INTEGER (read-only) · 10 unmodified lines
11 Size of hash table. If not specified as parameter during module11 Size of hash table. If not specified as parameter during module
12 loading, the default size is calculated by dividing total memory12 loading, the default size is calculated by dividing total memory
13 by 16384 to determine the number of buckets but the hash table will13 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.
15 16
16nf_conntrack_checksum - BOOLEAN17nf_conntrack_checksum - BOOLEAN
17 0 - disabled18 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
131some but not all of them. However, this behavior may change in future versions.131some but not all of them. However, this behavior may change in future versions.
132 132
133 133
134Unique flow identifiers
135-----------------------
136
137An alternative to using the original match portion of a key as the handle for
138flow identification is a unique flow identifier, or "UFID". UFIDs are optional
139for both the kernel and user space program.
140
141User space programs that support UFID are expected to provide it during flow
142setup in addition to the flow, then refer to the flow using the UFID for all
143future operations. The kernel is not required to index flows by the original
144flow key if a UFID is specified.
145
146
134Basic rule for evolving flow keys147Basic rule for evolving flow keys
135---------------------------------148---------------------------------
136 149
Documentation/networking/timestamping.txt+21−0
@@ -162,6 +162,27 @@ SOF_TIMESTAMPING_OPT_CMSG: · 161 unmodified lines
162 option IP_PKTINFO simultaneously.162 option IP_PKTINFO simultaneously.
163 163
164 164
165SOF_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
175New applications are encouraged to pass SOF_TIMESTAMPING_OPT_ID to
176disambiguate timestamps and SOF_TIMESTAMPING_OPT_TSONLY to operate
177regardless of the setting of sysctl net.core.tstamp_allow_data.
178
179An exception is when a process needs additional cmsg data, for
180instance SOL_IP/IP_PKTINFO to detect the egress network interface.
181Then pass option SOF_TIMESTAMPING_OPT_CMSG. This option depends on
182having access to the contents of the original packet, so cannot be
183combined with SOF_TIMESTAMPING_OPT_TSONLY.
184
185
1651.4 Bytestream Timestamps1861.4 Bytestream Timestamps
166 187
167The SO_TIMESTAMPING interface supports timestamping of bytes in a188The SO_TIMESTAMPING interface supports timestamping of bytes in a
Documentation/networking/timestamping/txtimestamp.c+26−12
@@ -30,6 +30,8 @@ · 29 unmodified lines
30 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.30 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
31 */31 */
32 32
33#define _GNU_SOURCE
34
33#include <arpa/inet.h>35#include <arpa/inet.h>
34#include <asm/types.h>36#include <asm/types.h>
35#include <error.h>37#include <error.h>
@@ -59,14 +61,6 @@ · 23 unmodified lines
59#include <time.h>61#include <time.h>
60#include <unistd.h>62#include <unistd.h>
61 63
62/* ugly hack to work around netinet/in.h and linux/ipv6.h conflicts */
63#ifndef in6_pktinfo
64struct in6_pktinfo {
65 struct in6_addr ipi6_addr;
66 int ipi6_ifindex;
67};
68#endif
69
70/* command line parameters */64/* command line parameters */
71static int cfg_proto = SOCK_STREAM;65static int cfg_proto = SOCK_STREAM;
72static int cfg_ipproto = IPPROTO_TCP;66static int cfg_ipproto = IPPROTO_TCP;
@@ -76,6 +70,7 @@ static int do_ipv6 = 1; · 3 unmodified lines
76static int cfg_payload_len = 10;70static int cfg_payload_len = 10;
77static bool cfg_show_payload;71static bool cfg_show_payload;
78static bool cfg_do_pktinfo;72static bool cfg_do_pktinfo;
73static bool cfg_loop_nodata;
79static uint16_t dest_port = 9000;74static uint16_t dest_port = 9000;
80 75
81static struct sockaddr_in daddr;76static struct sockaddr_in daddr;
@@ -147,6 +142,9 @@ static void print_payload(char *data, int len) · 65 unmodified lines
147{142{
148 int i;143 int i;
149 144
145 if (!len)
146 return;
147
150 if (len > 70)148 if (len > 70)
151 len = 70;149 len = 70;
152 150
@@ -183,6 +181,7 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len) · 30 unmodified lines
183 struct sock_extended_err *serr = NULL;181 struct sock_extended_err *serr = NULL;
184 struct scm_timestamping *tss = NULL;182 struct scm_timestamping *tss = NULL;
185 struct cmsghdr *cm;183 struct cmsghdr *cm;
184 int batch = 0;
186 185
187 for (cm = CMSG_FIRSTHDR(msg);186 for (cm = CMSG_FIRSTHDR(msg);
188 cm && cm->cmsg_len;187 cm && cm->cmsg_len;
@@ -215,10 +214,18 @@ static void __recv_errmsg_cmsg(struct msghdr *msg, int payload_len) · 26 unmodified lines
215 } else214 } else
216 fprintf(stderr, "unknown cmsg %d,%d\n",215 fprintf(stderr, "unknown cmsg %d,%d\n",
217 cm->cmsg_level, cm->cmsg_type);216 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 }
218 }225 }
219 226
220 if (serr && tss)227 if (batch > 1)
221 print_timestamp(tss, serr->ee_info, serr->ee_data, payload_len);228 fprintf(stderr, "batched %d timestamps\n", batch);
222}229}
223 230
224static int recv_errmsg(int fd)231static int recv_errmsg(int fd)
@@ -250,7 +257,7 @@ static int recv_errmsg(int fd) · 25 unmodified lines
250 if (ret == -1 && errno != EAGAIN)257 if (ret == -1 && errno != EAGAIN)
251 error(1, errno, "recvmsg");258 error(1, errno, "recvmsg");
252 259
253 if (ret > 0) {260 if (ret >= 0) {
254 __recv_errmsg_cmsg(&msg, ret);261 __recv_errmsg_cmsg(&msg, ret);
255 if (cfg_show_payload)262 if (cfg_show_payload)
256 print_payload(data, cfg_payload_len);263 print_payload(data, cfg_payload_len);
@@ -315,6 +322,9 @@ static void do_test(int family, unsigned int opt) · 58 unmodified lines
315 opt |= SOF_TIMESTAMPING_SOFTWARE |322 opt |= SOF_TIMESTAMPING_SOFTWARE |
316 SOF_TIMESTAMPING_OPT_CMSG |323 SOF_TIMESTAMPING_OPT_CMSG |
317 SOF_TIMESTAMPING_OPT_ID;324 SOF_TIMESTAMPING_OPT_ID;
325 if (cfg_loop_nodata)
326 opt |= SOF_TIMESTAMPING_OPT_TSONLY;
327
318 if (setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING,328 if (setsockopt(fd, SOL_SOCKET, SO_TIMESTAMPING,
319 (char *) &opt, sizeof(opt)))329 (char *) &opt, sizeof(opt)))
320 error(1, 0, "setsockopt timestamping");330 error(1, 0, "setsockopt timestamping");
@@ -384,6 +394,7 @@ static void __attribute__((noreturn)) usage(const char *filepath) · 63 unmodified lines
384 " -h: show this message\n"394 " -h: show this message\n"
385 " -I: request PKTINFO\n"395 " -I: request PKTINFO\n"
386 " -l N: send N bytes at a time\n"396 " -l N: send N bytes at a time\n"
397 " -n: set no-payload option\n"
387 " -r: use raw\n"398 " -r: use raw\n"
388 " -R: use raw (IP_HDRINCL)\n"399 " -R: use raw (IP_HDRINCL)\n"
389 " -p N: connect to port N\n"400 " -p N: connect to port N\n"
@@ -398,7 +409,7 @@ static void parse_opt(int argc, char **argv) · 8 unmodified lines
398 int proto_count = 0;409 int proto_count = 0;
399 char c;410 char c;
400 411
401 while ((c = getopt(argc, argv, "46hIl:p:rRux")) != -1) {412 while ((c = getopt(argc, argv, "46hIl:np:rRux")) != -1) {
402 switch (c) {413 switch (c) {
403 case '4':414 case '4':
404 do_ipv6 = 0;415 do_ipv6 = 0;
@@ -409,6 +420,9 @@ static void parse_opt(int argc, char **argv) · 4 unmodified lines
409 case 'I':420 case 'I':
410 cfg_do_pktinfo = true;421 cfg_do_pktinfo = true;
411 break;422 break;
423 case 'n':
424 cfg_loop_nodata = true;
425 break;
412 case 'r':426 case 'r':
413 proto_count++;427 proto_count++;
414 cfg_proto = SOCK_RAW;428 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
43 even if this was created by another process.43 even if this was created by another process.
44 44
45 - If possible, the file mapping will be directly on the backing device45 - If possible, the file mapping will be directly on the backing device
46 if the backing device has the BDI_CAP_MAP_DIRECT capability and46 if the backing device has the NOMMU_MAP_DIRECT capability and
47 appropriate mapping protection capabilities. Ramfs, romfs, cramfs47 appropriate mapping protection capabilities. Ramfs, romfs, cramfs
48 and mtd might all permit this.48 and mtd might all permit this.
49 49
50 - If the backing device device can't or won't permit direct sharing,50 - 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 the51 but does have the NOMMU_MAP_COPY capability, then a copy of the
52 appropriate bit of the file will be read into a contiguous bit of52 appropriate bit of the file will be read into a contiguous bit of
53 memory and any extraneous space beyond the EOF will be cleared53 memory and any extraneous space beyond the EOF will be cleared
54 54
@@ -220,7 +220,7 @@ directly (can't be copied). · 165 unmodified lines
220 220
221The file->f_op->mmap() operation will be called to actually inaugurate the221The file->f_op->mmap() operation will be called to actually inaugurate the
222mapping. It can be rejected at that point. Returning the ENOSYS error will222mapping. It can be rejected at that point. Returning the ENOSYS error will
223cause the mapping to be copied instead if BDI_CAP_MAP_COPY is specified.223cause the mapping to be copied instead if NOMMU_MAP_COPY is specified.
224 224
225The vm_ops->close() routine will be invoked when the last mapping on a chardev225The vm_ops->close() routine will be invoked when the last mapping on a chardev
226is removed. An existing mapping will be shared, partially or not, if possible226is 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
232might try directing the call to a secondary driver which turns out not to232might try directing the call to a secondary driver which turns out not to
233implement it. Such is the case for the framebuffer driver which attempts to233implement it. Such is the case for the framebuffer driver which attempts to
234direct the call to the device-specific driver. Under such circumstances, the234direct the call to the device-specific driver. Under such circumstances, the
235mapping request will be rejected if BDI_CAP_MAP_COPY is not specified, and a235mapping request will be rejected if NOMMU_MAP_COPY is not specified, and a
236copy mapped otherwise.236copy mapped otherwise.
237 237
238IMPORTANT NOTE:238IMPORTANT NOTE:
Documentation/oops-tracing.txt+2−0
@@ -270,6 +270,8 @@ characters, each representing a particular tainted value. · 269 unmodified lines
270 270
271 15: 'L' if a soft lockup has previously occurred on the system.271 15: 'L' if a soft lockup has previously occurred on the system.
272 272
273 16: 'K' if the kernel has been live patched.
274
273The primary reason for the 'Tainted: ' string is to tell kernel275The primary reason for the 'Tainted: ' string is to tell kernel
274debuggers if this is a clean kernel or if anything unusual has276debuggers if this is a clean kernel or if anything unusual has
275occurred. Tainting is permanent: even if an offending module is277occurred. 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
69hardware during resume operations where a value can be set that will69hardware during resume operations where a value can be set that will
70survive a reboot.70survive a reboot.
71 71
72pm_trace is not compatible with asynchronous suspend, so it turns
73asynchronous suspend off (which may work around timing or
74ordering-sensitive bugs).
75
72Consequence is that after a resume (even if it is successful) your system76Consequence is that after a resume (even if it is successful) your system
73clock will have a value corresponding to the magic number instead of the77clock will have a value corresponding to the magic number instead of the
74correct date/time! It is therefore advisable to use a program like ntp-date78correct 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
25 - soft block: writable radio block (need not be readable) that is set by25 - soft block: writable radio block (need not be readable) that is set by
26 the system software.26 the system software.
27 27
28The rfkill subsystem has two parameters, rfkill.default_state and
29rfkill.master_switch_mode, which are documented in kernel-parameters.txt.
30
28 31
292. Implementation details322. Implementation details
30 33
Documentation/s390/Debugging390.txt+237−256
@@ -1,14 +1,14 @@
1 1
2 Debugging on Linux for s/390 & z/Architecture2 Debugging on Linux for s/390 & z/Architecture
3 by3 by
4 Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)4 Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
5 Copyright (C) 2000-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation5 Copyright (C) 2000-2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 Best viewed with fixed width fonts 6 Best viewed with fixed width fonts
7 7
8Overview of Document:8Overview of Document:
9=====================9=====================
10This document is intended to give a good overview of how to debug10This document is intended to give a good overview of how to debug Linux for
11Linux for s/390 & z/Architecture. It isn't intended as a complete reference & not a11s/390 and z/Architecture. It is not intended as a complete reference and not a
12tutorial on the fundamentals of C & assembly. It doesn't go into12tutorial on the fundamentals of C & assembly. It doesn't go into
13390 IO in any detail. It is intended to complement the documents in the13390 IO in any detail. It is intended to complement the documents in the
14reference section below & any other worthwhile references you get.14reference section below & any other worthwhile references you get.
@@ -35,7 +35,6 @@ Examining core dumps · 20 unmodified lines
35ldd35ldd
36Debugging modules36Debugging modules
37The proc file system37The proc file system
38Starting points for debugging scripting languages etc.
39SysRq38SysRq
40References39References
41Special Thanks40Special Thanks
@@ -44,18 +43,20 @@ Register Set · 2 unmodified lines
44============43============
45The current architectures have the following registers.44The current architectures have the following registers.
46 45
4716 General propose registers, 32 bit on s/390 64 bit on z/Architecture, r0-r15 or gpr0-gpr15 used for arithmetic & addressing. 4616 General propose registers, 32 bit on s/390 and 64 bit on z/Architecture,
48 47r0-r15 (or gpr0-gpr15), used for arithmetic and addressing.
4916 Control registers, 32 bit on s/390 64 bit on z/Architecture, ( cr0-cr15 kernel usage only ) used for memory management,48
50interrupt control,debugging control etc.4916 Control registers, 32 bit on s/390 and 64 bit on z/Architecture, cr0-cr15,
51 50kernel usage only, used for memory management, interrupt control, debugging
5216 Access registers ( ar0-ar15 ) 32 bit on s/390 & z/Architecture51control etc.
53not used by normal programs but potentially could 52
54be used as temporary storage. Their main purpose is their 1 to 15316 Access registers (ar0-ar15), 32 bit on both s/390 and z/Architecture,
55association with general purpose registers and are used in54normally not used by normal programs but potentially could be used as
56the kernel for copying data between kernel & user address spaces.55temporary storage. These registers have a 1:1 association with general
57Access register 0 ( & access register 1 on z/Architecture ( needs 64 bit 56purpose registers and are designed to be used in the so-called access
58pointer ) ) is currently used by the pthread library as a pointer to57register mode to select different address spaces.
58Access register 0 (and access register 1 on z/Architecture, which needs a
5964 bit pointer) is currently used by the pthread library as a pointer to
59the current running threads private area.60the current running threads private area.
60 61
6116 64 bit floating point registers (fp0-fp15 ) IEEE & HFP floating 6216 64 bit floating point registers (fp0-fp15 ) IEEE & HFP floating
@@ -90,18 +91,19 @@ s/390 z/Architecture · 28 unmodified lines
90 91
916 6 Input/Output interrupt Mask926 6 Input/Output interrupt Mask
92 93
937 7 External interrupt Mask used primarily for interprocessor signalling & 947 7 External interrupt Mask used primarily for interprocessor
94 clock interrupts.95 signalling and clock interrupts.
95 96
968-11 8-11 PSW Key used for complex memory protection mechanism not used under linux978-11 8-11 PSW Key used for complex memory protection mechanism
98 (not used under linux)
97 99
9812 12 1 on s/390 0 on z/Architecture10012 12 1 on s/390 0 on z/Architecture
99 101
10013 13 Machine Check Mask 1=enable machine check interrupts10213 13 Machine Check Mask 1=enable machine check interrupts
101 103
10214 14 Wait State set this to 1 to stop the processor except for interrupts & give 10414 14 Wait State. Set this to 1 to stop the processor except for
103 time to other LPARS used in CPU idle in the kernel to increase overall 105 interrupts and give time to other LPARS. Used in CPU idle in
104 usage of processor resources.106 the kernel to increase overall usage of processor resources.
105 107
10615 15 Problem state ( if set to 1 certain instructions are disabled )10815 15 Problem state ( if set to 1 certain instructions are disabled )
107 all linux user programs run with this bit 1 109 all linux user programs run with this bit 1
@@ -165,21 +167,23 @@ s/390 z/Architecture · 57 unmodified lines
165 when loading the address with LPSWE otherwise a 167 when loading the address with LPSWE otherwise a
166 specification exception occurs, LPSW is fully backward168 specification exception occurs, LPSW is fully backward
167 compatible.169 compatible.
168 170
169 171
170Prefix Page(s)172Prefix Page(s)
171-------------- 173--------------
172This per cpu memory area is too intimately tied to the processor not to mention.174This per cpu memory area is too intimately tied to the processor not to mention.
173It exists between the real addresses 0-4096 on s/390 & 0-8192 z/Architecture & is exchanged 175It exists between the real addresses 0-4096 on s/390 and between 0-8192 on
174with a 1 page on s/390 or 2 pages on z/Architecture in absolute storage by the set 176z/Architecture and is exchanged with one page on s/390 or two pages on
175prefix instruction in linux'es startup. 177z/Architecture in absolute storage by the set prefix instruction during Linux
176This page is mapped to a different prefix for each processor in an SMP configuration178startup.
177( assuming the os designer is sane of course :-) ).179This page is mapped to a different prefix for each processor in an SMP
178Bytes 0-512 ( 200 hex ) on s/390 & 0-512,4096-4544,4604-5119 currently on z/Architecture 180configuration (assuming the OS designer is sane of course).
179are used by the processor itself for holding such information as exception indications & 181Bytes 0-512 (200 hex) on s/390 and 0-512, 4096-4544, 4604-5119 currently on
180entry points for exceptions.182z/Architecture are used by the processor itself for holding such information
181Bytes after 0xc00 hex are used by linux for per processor globals on s/390 & z/Architecture 183as exception indications and entry points for exceptions.
182( there is a gap on z/Architecture too currently between 0xc00 & 1000 which linux uses ).184Bytes after 0xc00 hex are used by linux for per processor globals on s/390 and
185z/Architecture (there is a gap on z/Architecture currently between 0xc00 and
1860x1000, too, which is used by Linux).
183The closest thing to this on traditional architectures is the interrupt187The closest thing to this on traditional architectures is the interrupt
184vector table. This is a good thing & does simplify some of the kernel coding188vector table. This is a good thing & does simplify some of the kernel coding
185however it means that we now cannot catch stray NULL pointers in the189however it means that we now cannot catch stray NULL pointers in the
@@ -192,26 +196,26 @@ Address Spaces on Intel Linux · 6 unmodified lines
192 196
193The traditional Intel Linux is approximately mapped as follows forgive197The traditional Intel Linux is approximately mapped as follows forgive
194the ascii art.198the ascii art.
1950xFFFFFFFF 4GB Himem *****************1990xFFFFFFFF 4GB Himem *****************
196 * *200 * *
197 * Kernel Space *201 * Kernel Space *
198 * *202 * *
199 ***************** ****************203 ***************** ****************
200User Space Himem (typically 0xC0000000 3GB )* User Stack * * *204User Space Himem * User Stack * * *
201 ***************** * *205(typically 0xC0000000 3GB ) ***************** * *
202 * Shared Libs * * Next Process * 206 * Shared Libs * * Next Process *
203 ***************** * to * 207 ***************** * to *
204 * * <== * Run * <==208 * * <== * Run * <==
205 * User Program * * *209 * User Program * * *
206 * Data BSS * * *210 * Data BSS * * *
207 * Text * * *211 * Text * * *
208 * Sections * * *212 * Sections * * *
2090x00000000 ***************** ****************2130x00000000 ***************** ****************
210 214
211Now it is easy to see that on Intel it is quite easy to recognise a kernel address 215Now it is easy to see that on Intel it is quite easy to recognise a kernel
212as being one greater than user space himem ( in this case 0xC0000000).216address 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 this217and addresses of less than this are the ones in the current running program on
214processor ( if an smp box ).218this processor (if an smp box).
215If using the virtual machine ( VM ) as a debugger it is quite difficult to219If using the virtual machine ( VM ) as a debugger it is quite difficult to
216know which user process is running as the address space you are looking at220know which user process is running as the address space you are looking at
217could be from any process in the run queue.221could be from any process in the run queue.
@@ -247,8 +251,8 @@ Our addressing scheme is basically as follows: · 29 unmodified lines
247Himem 0x7fffffff 2GB on s/390 ***************** ****************251Himem 0x7fffffff 2GB on s/390 ***************** ****************
248currently 0x3ffffffffff (2^42)-1 * User Stack * * *252currently 0x3ffffffffff (2^42)-1 * User Stack * * *
249on z/Architecture. ***************** * *253on z/Architecture. ***************** * *
250 * Shared Libs * * * 254 * Shared Libs * * *
251 ***************** * * 255 ***************** * *
252 * * * Kernel * 256 * * * Kernel *
253 * User Program * * *257 * User Program * * *
254 * Data BSS * * *258 * Data BSS * * *
@@ -301,10 +305,10 @@ Virtual Addresses on s/390 & z/Architecture · 46 unmodified lines
301===========================================305===========================================
302 306
303A virtual address on s/390 is made up of 3 parts307A virtual address on s/390 is made up of 3 parts
304The SX ( segment index, roughly corresponding to the PGD & PMD in linux terminology ) 308The SX (segment index, roughly corresponding to the PGD & PMD in Linux
305being bits 1-11.309terminology) being bits 1-11.
306The PX ( page index, corresponding to the page table entry (pte) in linux terminology )310The PX (page index, corresponding to the page table entry (pte) in Linux
307being bits 12-19. 311terminology) being bits 12-19.
308The remaining bits BX (the byte index are the offset in the page )312The remaining bits BX (the byte index are the offset in the page )
309i.e. bits 20 to 31.313i.e. bits 20 to 31.
310 314
@@ -368,9 +372,9 @@ each processor as follows. · 57 unmodified lines
368 * ( 8K ) *372 * ( 8K ) *
36916K aligned ************************ 37316K aligned ************************
370 374
371What this means is that we don't need to dedicate any register or global variable375What this means is that we don't need to dedicate any register or global
372to point to the current running process & can retrieve it with the following376variable to point to the current running process & can retrieve it with the
373very simple construct for s/390 & one very similar for z/Architecture.377following very simple construct for s/390 & one very similar for z/Architecture.
374 378
375static inline struct task_struct * get_current(void)379static inline struct task_struct * get_current(void)
376{380{
@@ -403,8 +407,8 @@ Note: To follow stackframes requires a knowledge of C or Pascal & · 26 unmodified lines
403limited knowledge of one assembly language.407limited knowledge of one assembly language.
404 408
405It should be noted that there are some differences between the409It should be noted that there are some differences between the
406s/390 & z/Architecture stack layouts as the z/Architecture stack layout didn't have410s/390 and z/Architecture stack layouts as the z/Architecture stack layout
407to maintain compatibility with older linkage formats.411didn't have to maintain compatibility with older linkage formats.
408 412
409Glossary:413Glossary:
410---------414---------
@@ -440,7 +444,7 @@ The code generated by the compiler to return to the caller. · 29 unmodified lines
440 444
441frameless-function445frameless-function
442A frameless function in Linux for s390 & z/Architecture is one which doesn't 446A frameless function in Linux for s390 & z/Architecture is one which doesn't
443need more than the register save area ( 96 bytes on s/390, 160 on z/Architecture )447need more than the register save area (96 bytes on s/390, 160 on z/Architecture)
444given to it by the caller.448given to it by the caller.
445A frameless function never:449A frameless function never:
4461) Sets up a back chain.4501) Sets up a back chain.
@@ -588,8 +592,8 @@ A sample program with comments. · 141 unmodified lines
588 592
589Comments on the function test593Comments on the function test
590-----------------------------594-----------------------------
5911) It didn't need to set up a pointer to the constant pool gpr13 as it isn't used5951) It didn't need to set up a pointer to the constant pool gpr13 as it is not
592( :-( ).596used ( :-( ).
5932) This is a frameless function & no stack is bought.5972) This is a frameless function & no stack is bought.
5943) The compiler was clever enough to recognise that it could return the5983) The compiler was clever enough to recognise that it could return the
595value in r2 as well as use it for the passed in parameter ( :-) ).599value in r2 as well as use it for the passed in parameter ( :-) ).
@@ -743,35 +747,34 @@ Debugging under VM · 147 unmodified lines
743Notes747Notes
744-----748-----
745Addresses & values in the VM debugger are always hex never decimal749Addresses & values in the VM debugger are always hex never decimal
746Address ranges are of the format <HexValue1>-<HexValue2> or <HexValue1>.<HexValue2> 750Address ranges are of the format <HexValue1>-<HexValue2> or
747e.g. The address range 0x2000 to 0x3000 can be described as 2000-3000 or 2000.1000751<HexValue1>.<HexValue2>
752For example, the address range 0x2000 to 0x3000 can be described as 2000-3000
753or 2000.1000
748 754
749The VM Debugger is case insensitive.755The VM Debugger is case insensitive.
750 756
751VM's strengths are usually other debuggers weaknesses you can get at any resource757VM's strengths are usually other debuggers weaknesses you can get at any
752no matter how sensitive e.g. memory management resources,change address translation758resource no matter how sensitive e.g. memory management resources, change
753in the PSW. For kernel hacking you will reap dividends if you get good at it.759address translation in the PSW. For kernel hacking you will reap dividends if
754 760you get good at it.
755The VM Debugger displays operators but not operands, probably because some761
756of it was written when memory was expensive & the programmer was probably proud that762The VM Debugger displays operators but not operands, and also the debugger
757it fitted into 2k of memory & the programmers & didn't want to shock hardcore VM'ers by763displays useful information on the same line as the author of the code probably
758changing the interface :-), also the debugger displays useful information on the same line & 764felt that it was a good idea not to go over the 80 columns on the screen.
759the author of the code probably felt that it was a good idea not to go over 765This isn't as unintuitive as it may seem as the s/390 instructions are easy to
760the 80 columns on the screen. 766decode mentally and you can make a good guess at a lot of them as all the
761 767operands are nibble (half byte aligned).
762As some of you are probably in a panic now this isn't as unintuitive as it may seem768So if you have an objdump listing by hand, it is quite easy to follow, and if
763as the 390 instructions are easy to decode mentally & you can make a good guess at a lot 769you don't have an objdump listing keep a copy of the s/390 Reference Summary
764of them as all the operands are nibble ( half byte aligned ) & if you have an objdump listing770or alternatively the s/390 principles of operation next to you.
765also it is quite easy to follow, if you don't have an objdump listing keep a copy of
766the s/390 Reference Summary & look at between pages 2 & 7 or alternatively the
767s/390 principles of operation.
768e.g. even I can guess that 771e.g. even I can guess that
7690001AFF8' LR 180F CC 07720001AFF8' LR 180F CC 0
770is a ( load register ) lr r0,r15 773is a ( load register ) lr r0,r15
771 774
772Also it is very easy to tell the length of a 390 instruction from the 2 most significant775Also it is very easy to tell the length of a 390 instruction from the 2 most
773bits in the instruction ( not that this info is really useful except if you are trying to776significant bits in the instruction (not that this info is really useful except
774make sense of a hexdump of code ).777if you are trying to make sense of a hexdump of code).
775Here is a table778Here is a table
776Bits Instruction Length779Bits Instruction Length
777------------------------------------------780------------------------------------------
@@ -780,9 +783,6 @@ Bits Instruction Length · 2 unmodified lines
78010 4 Bytes78310 4 Bytes
78111 6 Bytes78411 6 Bytes
782 785
783
784
785
786The debugger also displays other useful info on the same line such as the786The debugger also displays other useful info on the same line such as the
787addresses being operated on destination addresses of branches & condition codes.787addresses being operated on destination addresses of branches & condition codes.
788e.g. 788e.g.
@@ -853,8 +853,8 @@ Displaying & modifying Registers · 64 unmodified lines
853--------------------------------853--------------------------------
854D G will display all the gprs854D G will display all the gprs
855Adding a extra G to all the commands is necessary to access the full 64 bit 855Adding a extra G to all the commands is necessary to access the full 64 bit
856content in VM on z/Architecture obviously this isn't required for access registers856content in VM on z/Architecture. Obviously this isn't required for access
857as these are still 32 bit.857registers as these are still 32 bit.
858e.g. DGG instead of DG 858e.g. DGG instead of DG
859D X will display all the control registers859D X will display all the control registers
860D AR will display all the access registers860D AR will display all the access registers
@@ -870,10 +870,11 @@ Displaying Memory · 9 unmodified lines
870-----------------870-----------------
871To display memory mapped using the current PSW's mapping try871To display memory mapped using the current PSW's mapping try
872D <range>872D <range>
873To make VM display a message each time it hits a particular address & continue try873To make VM display a message each time it hits a particular address and
874continue try
874D I<range> will disassemble/display a range of instructions.875D I<range> will disassemble/display a range of instructions.
875ST addr 32 bit word will store a 32 bit aligned address876ST addr 32 bit word will store a 32 bit aligned address
876D T<range> will display the EBCDIC in an address ( if you are that way inclined )877D T<range> will display the EBCDIC in an address (if you are that way inclined)
877D R<range> will display real addresses ( without DAT ) but with prefixing.878D R<range> will display real addresses ( without DAT ) but with prefixing.
878There are other complex options to display if you need to get at say home space879There are other complex options to display if you need to get at say home space
879but are in primary space the easiest thing to do is to temporarily880but are in primary space the easiest thing to do is to temporarily
@@ -884,8 +885,8 @@ restore it. · 4 unmodified lines
884 885
885Hints886Hints
886-----887-----
887If you want to issue a debugger command without halting your virtual machine with the888If you want to issue a debugger command without halting your virtual machine
888PA1 key try prefixing the command with #CP e.g.889with the PA1 key try prefixing the command with #CP e.g.
889#cp tr i pswa 2000890#cp tr i pswa 2000
890also suffixing most debugger commands with RUN will cause them not891also suffixing most debugger commands with RUN will cause them not
891to stop just display the mnemonic at the current instruction on the console.892to 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
903script with breakpoints on every kernel procedure, this isn't a good idea904script with breakpoints on every kernel procedure, this isn't a good idea
904because there are thousands of these routines & VM can only set 255 breakpoints905because there are thousands of these routines & VM can only set 255 breakpoints
905at a time so you nearly had to spend as long pruning the file down as you would 906at a time so you nearly had to spend as long pruning the file down as you would
906entering the msg's by hand ),however, the trick might be useful for a single object file.907entering the msgs by hand), however, the trick might be useful for a single
907On linux'es 3270 emulator x3270 there is a very useful option under the file ment908object file. In the 3270 terminal emulator x3270 there is a very useful option
908Save Screens In File this is very good of keeping a copy of traces. 909in the file menu called "Save Screen In File" - this is very good for keeping a
910copy of traces.
909 911
910From CMS help <command name> will give you online help on a particular command. 912From CMS help <command name> will give you online help on a particular command.
911e.g. 913e.g.
@@ -920,7 +922,8 @@ SET PF9 IMM B · 8 unmodified lines
920This does a single step in VM on pressing F8. 922This does a single step in VM on pressing F8.
921SET PF10 ^923SET PF10 ^
922This sets up the ^ key.924This sets up the ^ key.
923which can be used for ^c (ctrl-c),^z (ctrl-z) which can't be typed directly into some 3270 consoles.925which can be used for ^c (ctrl-c),^z (ctrl-z) which can't be typed directly
926into some 3270 consoles.
924SET PF11 ^-927SET PF11 ^-
925This types the starting keystrokes for a sysrq see SysRq below.928This types the starting keystrokes for a sysrq see SysRq below.
926SET PF12 RETRIEVE929SET PF12 RETRIEVE
@@ -1014,8 +1017,8 @@ Tracing Program Exceptions · 87 unmodified lines
1014--------------------------1017--------------------------
1015If you get a crash which says something like1018If you get a crash which says something like
1016illegal operation or specification exception followed by a register dump1019illegal operation or specification exception followed by a register dump
1017You can restart linux & trace these using the tr prog <range or value> trace option.1020You can restart linux & trace these using the tr prog <range or value> trace
1018 1021option.
1019 1022
1020 1023
1021The most common ones you will normally be tracing for is1024The most common ones you will normally be tracing for is
@@ -1057,9 +1060,10 @@ TR GOTO INITIAL · 35 unmodified lines
1057 1060
1058Tracing linux syscalls under VM1061Tracing linux syscalls under VM
1059-------------------------------1062-------------------------------
1060Syscalls are implemented on Linux for S390 by the Supervisor call instruction (SVC) there 256 1063Syscalls are implemented on Linux for S390 by the Supervisor call instruction
1061possibilities of these as the instruction is made up of a 0xA opcode & the second byte being1064(SVC). There 256 possibilities of these as the instruction is made up of a 0xA
1062the syscall number. They are traced using the simple command.1065opcode and the second byte being the syscall number. They are traced using the
1066simple command:
1063TR SVC <Optional value or range>1067TR SVC <Optional value or range>
1064the syscalls are defined in linux/arch/s390/include/asm/unistd.h1068the syscalls are defined in linux/arch/s390/include/asm/unistd.h
1065e.g. to trace all file opens just do1069e.g. to trace all file opens just do
@@ -1070,12 +1074,12 @@ SMP Specific commands · 4 unmodified lines
1070---------------------1074---------------------
1071To find out how many cpus you have1075To find out how many cpus you have
1072Q CPUS displays all the CPU's available to your virtual machine1076Q CPUS displays all the CPU's available to your virtual machine
1073To find the cpu that the current cpu VM debugger commands are being directed at do1077To find the cpu that the current cpu VM debugger commands are being directed at
1074Q CPU to change the current cpu VM debugger commands are being directed at do1078do Q CPU to change the current cpu VM debugger commands are being directed at do
1075CPU <desired cpu no>1079CPU <desired cpu no>
1076 1080
1077On a SMP guest issue a command to all CPUs try prefixing the command with cpu all.1081On a SMP guest issue a command to all CPUs try prefixing the command with cpu
1078To issue a command to a particular cpu try cpu <cpu number> e.g.1082all. To issue a command to a particular cpu try cpu <cpu number> e.g.
1079CPU 01 TR I R 2000.30001083CPU 01 TR I R 2000.3000
1080If you are running on a guest with several cpus & you have a IO related problem1084If you are running on a guest with several cpus & you have a IO related problem
1081& cannot follow the flow of code but you know it isn't smp related.1085& cannot follow the flow of code but you know it isn't smp related.
@@ -1101,10 +1105,10 @@ D TX0.100 · 19 unmodified lines
1101 1105
1102Alternatively1106Alternatively
1103=============1107=============
1104Under older VM debuggers ( I love EBDIC too ) you can use this little program I wrote which1108Under older VM debuggers (I love EBDIC too) you can use following little
1105will convert a command line of hex digits to ascii text which can be compiled under linux & 1109program which converts a command line of hex digits to ascii text. It can be
1106you can copy the hex digits from your x3270 terminal to your xterm if you are debugging1110compiled under linux and you can copy the hex digits from your x3270 terminal
1107from a linuxbox.1111to your xterm if you are debugging from a linuxbox.
1108 1112
1109This is quite useful when looking at a parameter passed in as a text string1113This is quite useful when looking at a parameter passed in as a text string
1110under VM ( unless you are good at decoding ASCII in your head ).1114under VM ( unless you are good at decoding ASCII in your head ).
@@ -1114,14 +1118,14 @@ TR SVC 5 · 3 unmodified lines
1114We have stopped at a breakpoint1118We have stopped at a breakpoint
1115000151B0' SVC 0A05 -> 0001909A' CC 01119000151B0' SVC 0A05 -> 0001909A' CC 0
1116 1120
1117D 20.8 to check the SVC old psw in the prefix area & see was it from userspace1121D 20.8 to check the SVC old psw in the prefix area and see was it from userspace
1118( for the layout of the prefix area consult P18 of the s/390 390 Reference Summary 1122(for the layout of the prefix area consult the "Fixed Storage Locations"
1119if you have it available ).1123chapter of the s/390 Reference Summary if you have it available).
1120V00000020 070C2000 800151B21124V00000020 070C2000 800151B2
1121The problem state bit wasn't set & it's also too early in the boot sequence1125The problem state bit wasn't set & it's also too early in the boot sequence
1122for it to be a userspace SVC if it was we would have to temporarily switch the 1126for it to be a userspace SVC if it was we would have to temporarily switch the
1123psw to user space addressing so we could get at the first parameter of the open in1127psw to user space addressing so we could get at the first parameter of the open
1124gpr2.1128in gpr2.
1125Next do a 1129Next do a
1126D G21130D G2
1127GPR 2 = 00014CB41131GPR 2 = 00014CB4
@@ -1208,9 +1212,9 @@ Here are the tricks I use 9 out of 10 times it works pretty well, · 80 unmodified lines
1208 1212
1209When your backchain reaches a dead end1213When your backchain reaches a dead end
1210--------------------------------------1214--------------------------------------
1211This can happen when an exception happens in the kernel & the kernel is entered twice1215This can happen when an exception happens in the kernel and the kernel is
1212if you reach the NULL pointer at the end of the back chain you should be1216entered twice. If you reach the NULL pointer at the end of the back chain you
1213able to sniff further back if you follow the following tricks.1217should be able to sniff further back if you follow the following tricks.
12141) A kernel address should be easy to recognise since it is in12181) A kernel address should be easy to recognise since it is in
1215primary space & the problem state bit isn't set & also1219primary space & the problem state bit isn't set & also
1216The Hi bit of the address is set.1220The Hi bit of the address is set.
@@ -1260,8 +1264,8 @@ V000FFFD0 00010400 80010802 8001085A 000FFFA0 · 43 unmodified lines
1260 1264
1261our 3rd return address is 8001085A1265our 3rd return address is 8001085A
1262 1266
1263as the 04B52002 looks suspiciously like rubbish it is fair to assume that the kernel entry routines1267as the 04B52002 looks suspiciously like rubbish it is fair to assume that the
1264for the sake of optimisation don't set up a backchain.1268kernel entry routines for the sake of optimisation don't set up a backchain.
1265 1269
1266now look at System.map to see if the addresses make any sense.1270now look at System.map to see if the addresses make any sense.
1267 1271
@@ -1289,67 +1293,75 @@ Congrats you've done your first backchain. · 21 unmodified lines
1289s/390 & z/Architecture IO Overview1293s/390 & z/Architecture IO Overview
1290==================================1294==================================
1291 1295
1292I am not going to give a course in 390 IO architecture as this would take me quite a1296I am not going to give a course in 390 IO architecture as this would take me
1293while & I'm no expert. Instead I'll give a 390 IO architecture summary for Dummies if you have 1297quite a while and I'm no expert. Instead I'll give a 390 IO architecture
1294the s/390 principles of operation available read this instead. If nothing else you may find a few 1298summary for Dummies. If you have the s/390 principles of operation available
1295useful keywords in here & be able to use them on a web search engine like altavista to find 1299read this instead. If nothing else you may find a few useful keywords in here
1296more useful information.1300and be able to use them on a web search engine to find more useful information.
1297 1301
1298Unlike other bus architectures modern 390 systems do their IO using mostly1302Unlike other bus architectures modern 390 systems do their IO using mostly
1299fibre optics & devices such as tapes & disks can be shared between several mainframes,1303fibre optics and devices such as tapes and disks can be shared between several
1300also S390 can support up to 65536 devices while a high end PC based system might be choking1304mainframes. Also S390 can support up to 65536 devices while a high end PC based
1301with around 64. Here is some of the common IO terminology1305system might be choking with around 64.
1302 1306
1303Subchannel:1307Here is some of the common IO terminology:
1304This is the logical number most IO commands use to talk to an IO device there can be up to
13050x10000 (65536) of these in a configuration typically there is a few hundred. Under VM
1306for simplicity they are allocated contiguously, however on the native hardware they are not
1307they typically stay consistent between boots provided no new hardware is inserted or removed.
1308Under Linux for 390 we use these as IRQ's & also when issuing an IO command (CLEAR SUBCHANNEL,
1309HALT SUBCHANNEL,MODIFY SUBCHANNEL,RESUME SUBCHANNEL,START SUBCHANNEL,STORE SUBCHANNEL &
1310TEST SUBCHANNEL ) we use this as the ID of the device we wish to talk to, the most
1311important of these instructions are START SUBCHANNEL ( to start IO ), TEST SUBCHANNEL ( to check
1312whether the IO completed successfully ), & HALT SUBCHANNEL ( to kill IO ), a subchannel
1313can have up to 8 channel paths to a device this offers redundancy if one is not available.
1314 1308
1309Subchannel:
1310This is the logical number most IO commands use to talk to an IO device. There
1311can be up to 0x10000 (65536) of these in a configuration, typically there are a
1312few hundred. Under VM for simplicity they are allocated contiguously, however
1313on the native hardware they are not. They typically stay consistent between
1314boots provided no new hardware is inserted or removed.
1315Under 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,
1317START SUBCHANNEL, STORE SUBCHANNEL and TEST SUBCHANNEL). We use this as the ID
1318of the device we wish to talk to. The most important of these instructions are
1319START SUBCHANNEL (to start IO), TEST SUBCHANNEL (to check whether the IO
1320completed successfully) and HALT SUBCHANNEL (to kill IO). A subchannel can have
1321up to 8 channel paths to a device, this offers redundancy if one is not
1322available.
1315 1323
1316Device Number:1324Device Number:
1317This number remains static & Is closely tied to the hardware, there are 65536 of these1325This number remains static and is closely tied to the hardware. There are 65536
1318also they are made up of a CHPID ( Channel Path ID, the most significant 8 bits ) 1326of these, made up of a CHPID (Channel Path ID, the most significant 8 bits) and
1319& another lsb 8 bits. These remain static even if more devices are inserted or removed1327another lsb 8 bits. These remain static even if more devices are inserted or
1320from the hardware, there is a 1 to 1 mapping between Subchannels & Device Numbers provided1328removed from the hardware. There is a 1 to 1 mapping between subchannels and
1321devices aren't inserted or removed.1329device numbers, provided devices aren't inserted or removed.
1322 1330
1323Channel Control Words:1331Channel Control Words:
1324CCWS are linked lists of instructions initially pointed to by an operation request block (ORB),1332CCWs are linked lists of instructions initially pointed to by an operation
1325which is initially given to Start Subchannel (SSCH) command along with the subchannel number1333request block (ORB), which is initially given to Start Subchannel (SSCH)
1326for the IO subsystem to process while the CPU continues executing normal code.1334command along with the subchannel number for the IO subsystem to process
1327These come in two flavours, Format 0 ( 24 bit for backward )1335while the CPU continues executing normal code.
1328compatibility & Format 1 ( 31 bit ). These are typically used to issue read & write 1336CCWs come in two flavours, Format 0 (24 bit for backward compatibility) and
1329( & many other instructions ) they consist of a length field & an absolute address field.1337Format 1 (31 bit). These are typically used to issue read and write (and many
1330For each IO typically get 1 or 2 interrupts one for channel end ( primary status ) when the1338other) instructions. They consist of a length field and an absolute address
1331channel is idle & the second for device end ( secondary status ) sometimes you get both1339field.
1332concurrently, you check how the IO went on by issuing a TEST SUBCHANNEL at each interrupt,1340Each IO typically gets 1 or 2 interrupts, one for channel end (primary status)
1333from which you receive an Interruption response block (IRB). If you get channel & device end 1341when the channel is idle, and the second for device end (secondary status).
1334status in the IRB without channel checks etc. your IO probably went okay. If you didn't you1342Sometimes you get both concurrently. You check how the IO went on by issuing a
1335probably need a doctor to examine the IRB & extended status word etc.1343TEST SUBCHANNEL at each interrupt, from which you receive an Interruption
1344response block (IRB). If you get channel and device end status in the IRB
1345without channel checks etc. your IO probably went okay. If you didn't you
1346probably need to examine the IRB, extended status word etc.
1336If an error occurs, more sophisticated control units have a facility known as1347If an error occurs, more sophisticated control units have a facility known as
1337concurrent sense this means that if an error occurs Extended sense information will1348concurrent sense. This means that if an error occurs Extended sense information
1338be presented in the Extended status word in the IRB if not you have to issue a1349will be presented in the Extended status word in the IRB. If not you have to
1339subsequent SENSE CCW command after the test subchannel. 1350issue a subsequent SENSE CCW command after the test subchannel.
1340 1351
1341 1352
1342TPI( Test pending interrupt) can also be used for polled IO but in multitasking multiprocessor1353TPI (Test pending interrupt) can also be used for polled IO, but in
1343systems it isn't recommended except for checking special cases ( i.e. non looping checks for1354multitasking multiprocessor systems it isn't recommended except for
1344pending IO etc. ).1355checking special cases (i.e. non looping checks for pending IO etc.).
1345 1356
1346Store Subchannel & Modify Subchannel can be used to examine & modify operating characteristics1357Store Subchannel and Modify Subchannel can be used to examine and modify
1347of a subchannel ( e.g. channel paths ).1358operating characteristics of a subchannel (e.g. channel paths).
1348 1359
1349Other IO related Terms:1360Other IO related Terms:
1350Sysplex: S390's Clustering Technology1361Sysplex: S390's Clustering Technology
1351QDIO: S390's new high speed IO architecture to support devices such as gigabit ethernet,1362QDIO: S390's new high speed IO architecture to support devices such as gigabit
1352this architecture is also designed to be forward compatible with up & coming 64 bit machines.1363ethernet, this architecture is also designed to be forward compatible with
1364upcoming 64 bit machines.
1353 1365
1354 1366
1355General Concepts 1367General Concepts
@@ -1406,37 +1418,40 @@ sometimes called Bus-and Tag & sometimes Original Equipment Manufacturers · 50 unmodified lines
1406Interface (OEMI).1418Interface (OEMI).
1407 1419
1408This byte wide Parallel channel path/bus has parity & data on the "Bus" cable 1420This 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 for1421and control lines on the "Tag" cable. These can operate in byte multiplex mode
1410sharing between several slow devices or burst mode & monopolize the channel for the1422for sharing between several slow devices or burst mode and monopolize the
1411whole burst. Up to 256 devices can be addressed on one of these cables. These cables are1423channel for the whole burst. Up to 256 devices can be addressed on one of these
1412about one inch in diameter. The maximum unextended length supported by these cables is1424cables. These cables are about one inch in diameter. The maximum unextended
1413125 Meters but this can be extended up to 2km with a fibre optic channel extended 1425length supported by these cables is 125 Meters but this can be extended up to
1414such as a 3044. The maximum burst speed supported is 4.5 megabytes per second however14262km with a fibre optic channel extended such as a 3044. The maximum burst speed
1415some really old processors support only transfer rates of 3.0, 2.0 & 1.0 MB/sec.1427supported is 4.5 megabytes per second. However, some really old processors
1428support only transfer rates of 3.0, 2.0 & 1.0 MB/sec.
1416One of these paths can be daisy chained to up to 8 control units.1429One of these paths can be daisy chained to up to 8 control units.
1417 1430
1418 1431
1419ESCON if fibre optic it is also called FICON 1432ESCON if fibre optic it is also called FICON
1420Was introduced by IBM in 1990. Has 2 fibre optic cables & uses either leds or lasers1433Was introduced by IBM in 1990. Has 2 fibre optic cables and uses either leds or
1421for communication at a signaling rate of up to 200 megabits/sec. As 10bits are transferred1434lasers for communication at a signaling rate of up to 200 megabits/sec. As
1422for every 8 bits info this drops to 160 megabits/sec & to 18.6 Megabytes/sec once143510bits are transferred for every 8 bits info this drops to 160 megabits/sec
1423control info & CRC are added. ESCON only operates in burst mode.1436and to 18.6 Megabytes/sec once control info and CRC are added. ESCON only
1437operates in burst mode.
1424 1438
1425ESCONs typical max cable length is 3km for the led version & 20km for the laser version1439ESCONs typical max cable length is 3km for the led version and 20km for the
1426known as XDF ( extended distance facility ). This can be further extended by using an1440laser version known as XDF (extended distance facility). This can be further
1427ESCON director which triples the above mentioned ranges. Unlike Bus & Tag as ESCON is1441extended by using an ESCON director which triples the above mentioned ranges.
1428serial it uses a packet switching architecture the standard Bus & Tag control protocol1442Unlike Bus & Tag as ESCON is serial it uses a packet switching architecture,
1429is however present within the packets. Up to 256 devices can be attached to each control1443the standard Bus & Tag control protocol is however present within the packets.
1430unit that uses one of these interfaces.1444Up to 256 devices can be attached to each control unit that uses one of these
1445interfaces.
1431 1446
1432Common 390 Devices include:1447Common 390 Devices include:
1433Network adapters typically OSA2,3172's,2116's & OSA-E gigabit ethernet adapters,1448Network adapters typically OSA2,3172's,2116's & OSA-E gigabit ethernet adapters,
1434Consoles 3270 & 3215 ( a teletype emulated under linux for a line mode console ).1449Consoles 3270 & 3215 (a teletype emulated under linux for a line mode console).
1435DASD's direct access storage devices ( otherwise known as hard disks ).1450DASD's direct access storage devices ( otherwise known as hard disks ).
1436Tape Drives.1451Tape Drives.
1437CTC ( Channel to Channel Adapters ),1452CTC ( Channel to Channel Adapters ),
1438ESCON or Parallel Cables used as a very high speed serial link1453ESCON or Parallel Cables used as a very high speed serial link
1439between 2 machines. We use 2 cables under linux to do a bi-directional serial link.1454between 2 machines.
1440 1455
1441 1456
1442Debugging IO on s/390 & z/Architecture under VM1457Debugging IO on s/390 & z/Architecture under VM
@@ -1475,9 +1490,9 @@ or the halt subchannels · 32 unmodified lines
1475or TR HSCH 7C08-7C091490or TR HSCH 7C08-7C09
1476MSCH's ,STSCH's I think you can guess the rest1491MSCH's ,STSCH's I think you can guess the rest
1477 1492
1478Ingo's favourite trick is tracing all the IO's & CCWS & spooling them into the reader of another1493A good trick is tracing all the IO's and CCWS and spooling them into the reader
1479VM guest so he can ftp the logfile back to his own machine.I'll do a small bit of this & give you1494of another VM guest so he can ftp the logfile back to his own machine. I'll do
1480 a look at the output.1495a small bit of this and give you a look at the output.
1481 1496
14821) Spool stdout to VM reader14971) Spool stdout to VM reader
1483SP PRT TO (another vm guest ) or * for the local vm guest1498SP PRT TO (another vm guest ) or * for the local vm guest
@@ -1593,8 +1608,8 @@ undisplay : undo's display's · 109 unmodified lines
1593 1608
1594info breakpoints: shows all current breakpoints1609info breakpoints: shows all current breakpoints
1595 1610
1596info stack: shows stack back trace ( if this doesn't work too well, I'll show you the1611info stack: shows stack back trace (if this doesn't work too well, I'll show
1597stacktrace by hand below ).1612you the stacktrace by hand below).
1598 1613
1599info locals: displays local variables.1614info locals: displays local variables.
1600 1615
@@ -1619,7 +1634,8 @@ next: like step except this will not step into subroutines · 18 unmodified lines
1619stepi: steps a single machine code instruction.1634stepi: steps a single machine code instruction.
1620e.g. stepi 1001635e.g. stepi 100
1621 1636
1622nexti: steps a single machine code instruction but will not step into subroutines.1637nexti: steps a single machine code instruction but will not step into
1638subroutines.
1623 1639
1624finish: will run until exit of the current routine1640finish: will run until exit of the current routine
1625 1641
@@ -1721,7 +1737,8 @@ e.g. · 95 unmodified lines
1721outputs:1737outputs:
1722$1 = 11 1738$1 = 11
1723 1739
1724You might now be thinking that the line above didn't work, something extra had to be done.1740You might now be thinking that the line above didn't work, something extra had
1741to be done.
1725(gdb) call fflush(stdout)1742(gdb) call fflush(stdout)
1726hello world$2 = 01743hello world$2 = 0
1727As an aside the debugger also calls malloc & free under the hood 1744As an aside the debugger also calls malloc & free under the hood
@@ -1804,26 +1821,17 @@ man gdb or info gdb. · 76 unmodified lines
1804core dumps1821core dumps
1805----------1822----------
1806What a core dump ?,1823What a core dump ?,
1807A core dump is a file generated by the kernel ( if allowed ) which contains the registers,1824A core dump is a file generated by the kernel (if allowed) which contains the
1808& all active pages of the program which has crashed.1825registers and all active pages of the program which has crashed.
1809From this file gdb will allow you to look at the registers & stack trace & memory of the1826From this file gdb will allow you to look at the registers, stack trace and
1810program as if it just crashed on your system, it is usually called core & created in the1827memory of the program as if it just crashed on your system. It is usually
1811current working directory.1828called core and created in the current working directory.
1812This is very useful in that a customer can mail a core dump to a technical support department1829This is very useful in that a customer can mail a core dump to a technical
1813& the technical support department can reconstruct what happened.1830support department and the technical support department can reconstruct what
1814Provided they have an identical copy of this program with debugging symbols compiled in &1831happened. Provided they have an identical copy of this program with debugging
1815the source base of this build is available.1832symbols compiled in and the source base of this build is available.
1816In short it is far more useful than something like a crash log could ever hope to be.1833In short it is far more useful than something like a crash log could ever hope
1817 1834to be.
1818In theory all that is missing to restart a core dumped program is a kernel patch which
1819will do the following.
18201) Make a new kernel task structure
18212) Reload all the dumped pages back into the kernel's memory management structures.
18223) Do the required clock fixups
18234) Get all files & network connections for the process back into an identical state ( really difficult ).
18245) A few more difficult things I haven't thought of.
1825
1826
1827 1835
1828Why have I never seen one ?.1836Why have I never seen one ?.
1829Probably because you haven't used the command 1837Probably because you haven't used the command
@@ -1868,7 +1876,7 @@ Breakpoint 2 at 0x4d87a4: file top.c, line 2609. · 38 unmodified lines
1868#3 0x5167e6 in readline_internal_char () at readline.c:4541876#3 0x5167e6 in readline_internal_char () at readline.c:454
1869#4 0x5168ee in readline_internal_charloop () at readline.c:5071877#4 0x5168ee in readline_internal_charloop () at readline.c:507
1870#5 0x51692c in readline_internal () at readline.c:5211878#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)
1872 at readline.c:3491880 at readline.c:349
1873#7 0x4d7a8a in command_line_input (prompt=0x564420 "(gdb) ", repeat=1,1881#7 0x4d7a8a in command_line_input (prompt=0x564420 "(gdb) ", repeat=1,
1874 annotation_suffix=0x4d6b44 "prompt") at top.c:20911882 annotation_suffix=0x4d6b44 "prompt") at top.c:2091
@@ -1929,8 +1937,8 @@ cat /proc/sys/net/ipv4/ip_forward · 54 unmodified lines
1929On my machine now outputs1937On my machine now outputs
1930119381
1931IP forwarding is on.1939IP forwarding is on.
1932There is a lot of useful info in here best found by going in & having a look around,1940There is a lot of useful info in here best found by going in and having a look
1933so I'll take you through some entries I consider important.1941around, so I'll take you through some entries I consider important.
1934 1942
1935All the processes running on the machine have their own entry defined by1943All the processes running on the machine have their own entry defined by
1936/proc/<pid>1944/proc/<pid>
@@ -2060,7 +2068,8 @@ if the device doesn't say up · 123 unmodified lines
2060try2068try
2061/etc/rc.d/init.d/network start 2069/etc/rc.d/init.d/network start
2062( this starts the network stack & hopefully calls ifconfig tr0 up ).2070( this starts the network stack & hopefully calls ifconfig tr0 up ).
2063ifconfig looks at the output of /proc/net/dev & presents it in a more presentable form2071ifconfig looks at the output of /proc/net/dev and presents it in a more
2072presentable form.
2064Now ping the device from a machine in the same subnet.2073Now ping the device from a machine in the same subnet.
2065if the RX packets count & TX packets counts don't increment you probably2074if the RX packets count & TX packets counts don't increment you probably
2066have problems.2075have problems.
@@ -2086,34 +2095,6 @@ of the device. · 19 unmodified lines
2086See the manpage chandev.8 &type cat /proc/chandev for more info.2095See the manpage chandev.8 &type cat /proc/chandev for more info.
2087 2096
2088 2097
2089
2090Starting points for debugging scripting languages etc.
2091======================================================
2092
2093bash/sh
2094
2095bash -x <scriptname>
2096e.g. bash -x /usr/bin/bashbug
2097displays 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
2107perl -d <scriptname> runs the perlscript in a fully interactive debugger
2108<like gdb>.
2109Type 'h' in the debugger for help.
2110
2111for debugging java type
2112jdb <filename> another fully interactive gdb style debugger.
2113& type ? in the debugger for help.
2114
2115
2116
2117SysRq2098SysRq
2118=====2099=====
2119This is now supported by linux for s/390 & z/Architecture.2100This is now supported by linux for s/390 & z/Architecture.
Documentation/scheduler/completion.txt+236−0
@@ -0,0 +1,236 @@
1completions - wait for completion handling
2==========================================
3
4This document was originally written based on 3.18.0 (linux-next)
5
6Introduction:
7-------------
8
9If you have one or more threads of execution that must wait for some process
10to have reached a point or a specific state, completions can provide a race
11free solution to this problem. Semantically they are somewhat like a
12pthread_barriers and have similar use-cases.
13
14Completions are a code synchronization mechanism that is preferable to any
15misuse of locks. Any time you think of using yield() or some quirky
16msleep(1); loop to allow something else to proceed, you probably want to
17look into using one of the wait_for_completion*() calls instead. The
18advantage of using completions is clear intent of the code but also more
19efficient code as both threads can continue until the result is actually
20needed.
21
22Completions are built on top of the generic event infrastructure in Linux,
23with the event reduced to a simple flag appropriately called "done" in
24struct completion, that tells the waiting threads of execution if they
25can continue safely.
26
27As completions are scheduling related the code is found in
28kernel/sched/completion.c - for details on completion design and
29implementation see completions-design.txt
30
31
32Usage:
33------
34
35There are three parts to the using completions, the initialization of the
36struct completion, the waiting part through a call to one of the variants of
37wait_for_completion() and the signaling side through a call to complete(),
38or complete_all(). Further there are some helper functions for checking the
39state of completions.
40
41To use completions one needs to include <linux/completion.h> and
42create a variable of type struct completion. The structure used for
43handling of completions is:
44
45 struct completion {
46 unsigned int done;
47 wait_queue_head_t wait;
48 };
49
50providing the wait queue to place tasks on for waiting and the flag for
51indicating the state of affairs.
52
53Completions should be named to convey the intent of the waiter. A good
54example is:
55
56 wait_for_completion(&early_console_added);
57
58 complete(&early_console_added);
59
60Good naming (as always) helps code readability.
61
62
63Initializing completions:
64-------------------------
65
66Initialization of dynamically allocated completions, often embedded in
67other structures, is done with:
68
69 void init_completion(&done);
70
71Initialization is accomplished by initializing the wait queue and setting
72the default state to "not available", that is, "done" is set to 0.
73
74The re-initialization function, reinit_completion(), simply resets the
75done element to "not available", thus again to 0, without touching the
76wait queue. Calling init_completion() on the same completions object is
77most likely a bug as it re-initializes the queue to an empty queue and
78enqueued tasks could get "lost" - use reinit_completion() in that case.
79
80For static declaration and initialization, macros are available. These are:
81
82 static DECLARE_COMPLETION(setup_done)
83
84used for static declarations in file scope. Within functions the static
85initialization should always use:
86
87 DECLARE_COMPLETION_ONSTACK(setup_done)
88
89suitable for automatic/local variables on the stack and will make lockdep
90happy. Note also that one needs to making *sure* the completion passt to
91work threads remains in-scope, and no references remain to on-stack data
92when the initiating function returns.
93
94
95Waiting for completions:
96------------------------
97
98For a thread of execution to wait for some concurrent work to finish, it
99calls wait_for_completion() on the initialized completion structure.
100A 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
110This is not implying any temporal order of wait_for_completion() and the
111call to complete() - if the call to complete() happened before the call
112to wait_for_completion() then the waiting side simply will continue
113immediately as all dependencies are satisfied.
114
115Note that wait_for_completion() is calling spin_lock_irq/spin_unlock_irq
116so it can only be called safely when you know that interrupts are enabled.
117Calling it from hard-irq context will result in hard to detect spurious
118enabling of interrupts.
119
120wait_for_completion():
121
122 void wait_for_completion(struct completion *done):
123
124The default behavior is to wait without a timeout and mark the task as
125uninterruptible. wait_for_completion() and its variants are only safe
126in soft-interrupt or process context but not in hard-irq context.
127As all variants of wait_for_completion() can (obviously) block for a long
128time, you probably don't want to call this with held locks - see also
129try_wait_for_completion() below.
130
131
132Variants available:
133-------------------
134
135The below variants all return status and this status should be checked in
136most(/all) cases - in cases where the status is deliberately not checked you
137probably want to make a note explaining this (e.g. see
138arch/arm/kernel/smp.c:__cpu_up()).
139
140A common problem that occurs is to have unclean assignment of return types,
141so care should be taken with assigning return-values to variables of proper
142type. Checking for the specific meaning of return values also has been found
143to be quite inaccurate e.g. constructs like
144if(!wait_for_completion_interruptible_timeout(...)) would execute the same
145code path for successful completion and for the interrupted case - which is
146probably not what you want.
147
148 int wait_for_completion_interruptible(struct completion *done)
149
150marking the task TASK_INTERRUPTIBLE. If a signal was received while waiting.
151It will return -ERESTARTSYS and 0 otherwise.
152
153 unsigned long wait_for_completion_timeout(struct completion *done,
154 unsigned long timeout)
155
156The 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
158jiffies (but at least 1). Timeouts are preferably passed by msecs_to_jiffies()
159or usecs_to_jiffies(). If the returned timeout value is deliberately ignored
160a comment should probably explain why (e.g. see drivers/mfd/wm8350-core.c
161wm8350_read_auxadc())
162
163 long wait_for_completion_interruptible_timeout(
164 struct completion *done, unsigned long timeout)
165
166passing a timeout in jiffies and marking the task as TASK_INTERRUPTIBLE. If a
167signal was received it will return -ERESTARTSYS, 0 if completion timed-out and
168the remaining time in jiffies if completion occurred.
169
170Further variants include _killable which passes TASK_KILLABLE as the
171designated tasks state and will return a -ERESTARTSYS if interrupted or
172else 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
178The _io variants wait_for_completion_io behave the same as the non-_io
179variants, except for accounting waiting time as waiting on IO, which has
180an 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
187Signaling completions:
188----------------------
189
190A thread of execution that wants to signal that the conditions for
191continuation have been achieved calls complete() to signal exactly one
192of the waiters that it can continue.
193
194 void complete(struct completion *done)
195
196or calls complete_all to signal all current and future waiters.
197
198 void complete_all(struct completion *done)
199
200The signaling will work as expected even if completions are signaled before
201a thread starts waiting. This is achieved by the waiter "consuming"
202(decrementing) the done element of struct completion. Waiting threads
203wakeup order is the same in which they were enqueued (FIFO order).
204
205If complete() is called multiple times then this will allow for that number
206of waiters to continue - each call to complete() will simply increment the
207done element. Calling complete_all() multiple times is a bug though. Both
208complete() and complete_all() can be called in hard-irq context safely.
209
210There only can be one thread calling complete() or complete_all() on a
211particular struct completions at any time - serialized through the wait
212queue spinlock. Any such concurrent calls to complete() or complete_all()
213probably are a design bug.
214
215Signaling completion from hard-irq context is fine as it will appropriately
216lock with spin_lock_irqsave/spin_unlock_irqrestore.
217
218
219try_wait_for_completion()/completion_done():
220--------------------------------------------
221
222The try_wait_for_completion will not put the thread on the wait queue but
223rather returns false if it would need to enqueue (block) the thread, else it
224consumes any posted completions and returns true.
225
226 bool try_wait_for_completion(struct completion *done)
227
228Finally to check state of a completions without changing it in any way is
229provided by completion_done() returning false if there are any posted
230completion that was not yet consumed by waiters implying that there are
231waiters and true otherwise;
232
233 bool completion_done(struct completion *done)
234
235Both try_wait_for_completion() and completion_done() are safe to be called in
236hard-irq context.
Documentation/security/keys.txt+0−2
@@ -323,8 +323,6 @@ about the status of the key service: · 322 unmodified lines
323 U Under construction by callback to userspace323 U Under construction by callback to userspace
324 N Negative key324 N Negative key
325 325
326 This file must be enabled at kernel configuration time as it allows anyone
327 to list the keys database.
328 326
329 (*) /proc/key-users327 (*) /proc/key-users
330 328
Documentation/stable_kernel_rules.txt+34−10
@@ -32,18 +32,42 @@ Procedure for submitting patches to the -stable tree: · 31 unmodified lines
32 - If the patch covers files in net/ or drivers/net please follow netdev stable32 - If the patch covers files in net/ or drivers/net please follow netdev stable
33 submission guidelines as described in33 submission guidelines as described in
34 Documentation/networking/netdev-FAQ.txt34 Documentation/networking/netdev-FAQ.txt
35 - Send the patch, after verifying that it follows the above rules, to35 - Security patches should not be handled (solely) by the -stable review
36 stable@vger.kernel.org. You must note the upstream commit ID in the36 process but should follow the procedures in Documentation/SecurityBugs.
37 changelog of your submission, as well as the kernel version you wish37
38 it to be applied to.38For all other submissions, choose one of the following procedures:
39 - To have the patch automatically included in the stable tree, add the tag39
40 --- Option 1 ---
41
42 To have the patch automatically included in the stable tree, add the tag
40 Cc: stable@vger.kernel.org43 Cc: stable@vger.kernel.org
41 in the sign-off area. Once the patch is merged it will be applied to44 in the sign-off area. Once the patch is merged it will be applied to
42 the stable tree without anything else needing to be done by the author45 the stable tree without anything else needing to be done by the author
43 or subsystem maintainer.46 or subsystem maintainer.
44 - If the patch requires other patches as prerequisites which can be47
45 cherry-picked, then this can be specified in the following format in48 --- Option 2 ---
46 the sign-off area: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
62Option 1 is probably the easiest and most common. Options 2 and 3 are more
63useful if the patch isn't deemed worthy at the time it is applied to a public
64git tree (for instance, because it deserves more regression testing first).
65Option 3 is especially useful if the patch needs some special handling to apply
66to an older kernel (e.g., if API's have changed in the meantime).
67
68Additionally, some patches submitted via Option 1 may have additional patch
69prerequisites which can be cherry-picked. This can be specified in the following
70format in the sign-off area:
47 71
48 Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle72 Cc: <stable@vger.kernel.org> # 3.3.x: a1f84a3: sched: Check for idle
49 Cc: <stable@vger.kernel.org> # 3.3.x: 1b9508f: sched: Rate-limit newidle73 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
57 git cherry-pick fd2107381 git cherry-pick fd21073
58 git cherry-pick <this commit>82 git cherry-pick <this commit>
59 83
84Following the submission:
85
60 - The sender will receive an ACK when the patch has been accepted into the86 - The sender will receive an ACK when the patch has been accepted into the
61 queue, or a NAK if the patch is rejected. This response might take a few87 queue, or a NAK if the patch is rejected. This response might take a few
62 days, according to the developer's schedules.88 days, according to the developer's schedules.
63 - If accepted, the patch will be added to the -stable queue, for review by89 - If accepted, the patch will be added to the -stable queue, for review by
64 other developers and by the relevant subsystem maintainer.90 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.
67 91
68 92
69Review cycle:93Review cycle:
Documentation/sysctl/kernel.txt+1−0
@@ -843,6 +843,7 @@ can be ORed together: · 842 unmodified lines
8438192 - An unsigned module has been loaded in a kernel supporting module8438192 - An unsigned module has been loaded in a kernel supporting module
844 signature.844 signature.
84516384 - A soft lockup has previously occurred on the system.84516384 - A soft lockup has previously occurred on the system.
84632768 - The kernel has been live patched.
846 847
847==============================================================848==============================================================
848 849
Documentation/sysctl/net.txt+8−0
@@ -97,6 +97,14 @@ rmem_max · 96 unmodified lines
97 97
98The maximum receive socket buffer size in bytes.98The maximum receive socket buffer size in bytes.
99 99
100tstamp_allow_data
101-----------------
102Allow processes to receive tx timestamps looped together with the original
103packet contents. If disabled, transmit timestamp requests from unprivileged
104processes are dropped unless socket option SOF_TIMESTAMPING_OPT_TSONLY is set.
105Default: 1 (on)
106
107
100wmem_default108wmem_default
101------------109------------
102 110
Documentation/sysctl/vm.txt+7−7
@@ -555,12 +555,12 @@ this is causing problems for your system/application. · 554 unmodified lines
555 555
556oom_dump_tasks556oom_dump_tasks
557 557
558Enables a system-wide task dump (excluding kernel threads) to be558Enables a system-wide task dump (excluding kernel threads) to be produced
559produced when the kernel performs an OOM-killing and includes such559when the kernel performs an OOM-killing and includes such information as
560information as pid, uid, tgid, vm size, rss, nr_ptes, swapents,560pid, uid, tgid, vm size, rss, nr_ptes, nr_pmds, swapents, oom_score_adj
561oom_score_adj score, and name. This is helpful to determine why the561score, and name. This is helpful to determine why the OOM killer was
562OOM killer was invoked, to identify the rogue task that caused it,562invoked, to identify the rogue task that caused it, and to determine why
563and to determine why the OOM killer chose the task it did to kill.563the OOM killer chose the task it did to kill.
564 564
565If this is set to zero, this information is suppressed. On very565If this is set to zero, this information is suppressed. On very
566large systems with thousands of tasks it may not be feasible to dump566large systems with thousands of tasks it may not be feasible to dump
@@ -728,7 +728,7 @@ The default value is 60. · 161 unmodified lines
728 728
729- user_reserve_kbytes729- user_reserve_kbytes
730 730
731When overcommit_memory is set to 2, "never overommit" mode, reserve731When overcommit_memory is set to 2, "never overcommit" mode, reserve
732min(3% of current process size, user_reserve_kbytes) of free memory.732min(3% of current process size, user_reserve_kbytes) of free memory.
733This is intended to prevent a user from starting a single memory hogging733This is intended to prevent a user from starting a single memory hogging
734process, such that they cannot recover (kill the hog).734process, 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
46 | | . | ! | | . | ! | ! . | | SWD/46 | | . | ! | | . | ! | ! . | | SWD/
47 | | . | ! | | . | ! | ! . | | JTAG47 | | . | ! | | . | ! | ! . | | JTAG
48 *****************************************************************<-|48 *****************************************************************<-|
49 *************************** AMBA Debug ABP ************************49 *************************** AMBA Debug APB ************************
50 *****************************************************************50 *****************************************************************
51 | . ! . ! ! . |51 | . ! . ! ! . |
52 | . * . * * . |52 | . * . * * . |
@@ -79,7 +79,7 @@ At typical coresight system would look like this: · 26 unmodified lines
79 To trace port TPIU= Trace Port Interface Unit79 To trace port TPIU= Trace Port Interface Unit
80 SWD = Serial Wire Debug80 SWD = Serial Wire Debug
81 81
82While on target configuration of the components is done via the ABP bus,82While on target configuration of the components is done via the APB bus,
83all trace data are carried out-of-band on the ATB bus. The CTM provides83all trace data are carried out-of-band on the ATB bus. The CTM provides
84a way to aggregate and distribute signals between CoreSight components.84a way to aggregate and distribute signals between CoreSight components.
85 85
Documentation/trace/ftrace.txt+1−1
@@ -1740,7 +1740,7 @@ no pid · 1739 unmodified lines
1740 yum-updatesd-3111 [003] 1637.254683: lock_hrtimer_base <-hrtimer_try_to_cancel1740 yum-updatesd-3111 [003] 1637.254683: lock_hrtimer_base <-hrtimer_try_to_cancel
1741 yum-updatesd-3111 [003] 1637.254685: fget_light <-do_sys_poll1741 yum-updatesd-3111 [003] 1637.254685: fget_light <-do_sys_poll
1742 yum-updatesd-3111 [003] 1637.254686: pipe_poll <-do_sys_poll1742 yum-updatesd-3111 [003] 1637.254686: pipe_poll <-do_sys_poll
1743# echo -1 > set_ftrace_pid1743# echo > set_ftrace_pid
1744# cat trace |head1744# cat trace |head
1745 # tracer: function1745 # tracer: function
1746 #1746 #
Documentation/usb/gadget-testing.txt+728−0
@@ -0,0 +1,728 @@
1This file summarizes information on basic testing of USB functions
2provided by gadgets.
3
41. ACM function
52. ECM function
63. ECM subset function
74. EEM function
85. FFS function
96. HID function
107. LOOPBACK function
118. MASS STORAGE function
129. MIDI function
1310. NCM function
1411. OBEX function
1512. PHONET function
1613. RNDIS function
1714. SERIAL function
1815. SOURCESINK function
1916. UAC1 function
2017. UAC2 function
2118. UVC function
22
23
241. ACM function
25===============
26
27The function is provided by usb_f_acm.ko module.
28
29Function-specific configfs interface
30------------------------------------
31
32The function name to use when creating the function directory is "acm".
33The ACM function provides just one attribute in its function directory:
34
35 port_num
36
37The attribute is read-only.
38
39There can be at most 4 ACM/generic serial/OBEX ports in the system.
40
41
42Testing the ACM function
43------------------------
44
45On the host: cat > /dev/ttyACM<X>
46On the device : cat /dev/ttyGS<Y>
47
48then the other way round
49
50On the device: cat > /dev/ttyGS<Y>
51On the host: cat /dev/ttyACM<X>
52
532. ECM function
54===============
55
56The function is provided by usb_f_ecm.ko module.
57
58Function-specific configfs interface
59------------------------------------
60
61The function name to use when creating the function directory is "ecm".
62The 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
72and after creating the functions/ecm.<instance name> they contain default
73values: qmult is 5, dev_addr and host_addr are randomly selected.
74Except for ifname they can be written to until the function is linked to a
75configuration. The ifname is read-only and contains the name of the interface
76which was assigned by the net core, e. g. usb0.
77
78Testing the ECM function
79------------------------
80
81Configure IP addresses of the device and the host. Then:
82
83On the device: ping <host's IP>
84On the host: ping <device's IP>
85
863. ECM subset function
87======================
88
89The function is provided by usb_f_ecm_subset.ko module.
90
91Function-specific configfs interface
92------------------------------------
93
94The function name to use when creating the function directory is "geth".
95The 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
105and after creating the functions/ecm.<instance name> they contain default
106values: qmult is 5, dev_addr and host_addr are randomly selected.
107Except for ifname they can be written to until the function is linked to a
108configuration. The ifname is read-only and contains the name of the interface
109which was assigned by the net core, e. g. usb0.
110
111Testing the ECM subset function
112-------------------------------
113
114Configure IP addresses of the device and the host. Then:
115
116On the device: ping <host's IP>
117On the host: ping <device's IP>
118
1194. EEM function
120===============
121
122The function is provided by usb_f_eem.ko module.
123
124Function-specific configfs interface
125------------------------------------
126
127The function name to use when creating the function directory is "eem".
128The 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
138and after creating the functions/eem.<instance name> they contain default
139values: qmult is 5, dev_addr and host_addr are randomly selected.
140Except for ifname they can be written to until the function is linked to a
141configuration. The ifname is read-only and contains the name of the interface
142which was assigned by the net core, e. g. usb0.
143
144Testing the EEM function
145------------------------
146
147Configure IP addresses of the device and the host. Then:
148
149On the device: ping <host's IP>
150On the host: ping <device's IP>
151
1525. FFS function
153===============
154
155The function is provided by usb_f_fs.ko module.
156
157Function-specific configfs interface
158------------------------------------
159
160The function name to use when creating the function directory is "ffs".
161The function directory is intentionally empty and not modifiable.
162
163After creating the directory there is a new instance (a "device") of FunctionFS
164available in the system. Once a "device" is available, the user should follow
165the standard procedure for using FunctionFS (mount it, run the userspace
166process which implements the function proper). The gadget should be enabled
167by writing a suitable string to usb_gadget/<gadget>/UDC.
168
169Testing the FFS function
170------------------------
171
172On the device: start the function's userspace daemon, enable the gadget
173On the host: use the USB function provided by the device
174
1756. HID function
176===============
177
178The function is provided by usb_f_hid.ko module.
179
180Function-specific configfs interface
181------------------------------------
182
183The function name to use when creating the function directory is "hid".
184The 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
192For a keyboard the protocol and the subclass are 1, the report_length is 8,
193while the report_desc is:
194
195$ hd my_report_desc
19600000000 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 |..........)...%.|
19700000010 75 01 95 08 81 02 95 01 75 08 81 03 95 05 75 01 |u.......u.....u.|
19800000020 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 |....).....u.....|
19900000030 75 08 15 00 25 65 05 07 19 00 29 65 81 00 c0 |u...%e....)e...|
2000000003f
201
202Such a sequence of bytes can be stored to the attribute with echo:
203
204$ echo -ne \\x05\\x01\\x09\\x06\\xa1.....
205
206Testing the HID function
207------------------------
208
209Device:
210- create the gadget
211- connect the gadget to a host, preferably not the one used
212to control the gadget
213- run a program which writes to /dev/hidg<N>, e.g.
214a userspace program found in Documentation/usb/gadget_hid.txt:
215
216$ ./hid_gadget_test /dev/hidg0 keyboard
217
218Host:
219- observe the keystrokes from the gadget
220
2217. LOOPBACK function
222====================
223
224The function is provided by usb_f_ss_lb.ko module.
225
226Function-specific configfs interface
227------------------------------------
228
229The function name to use when creating the function directory is "Loopback".
230The LOOPBACK function provides these attributes in its function directory:
231
232 qlen - depth of loopback queue
233 bulk_buflen - buffer length
234
235Testing the LOOPBACK function
236-----------------------------
237
238device: run the gadget
239host: test-usb
240
241http://www.linux-usb.org/usbtest/testusb.c
242
2438. MASS STORAGE function
244========================
245
246The function is provided by usb_f_mass_storage.ko module.
247
248Function-specific configfs interface
249------------------------------------
250
251The function name to use when creating the function directory is "mass_storage".
252The MASS STORAGE function provides these attributes in its directory:
253files:
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
262and a default lun.0 directory corresponding to SCSI LUN #0.
263
264A new lun can be added with mkdir:
265
266$ mkdir functions/mass_storage.0/partition.5
267
268Lun numbering does not have to be continuous, except for lun #0 which is
269created by default. A maximum of 8 luns can be specified and they all must be
270named following the <name>.<number> scheme. The numbers can be 0..8.
271Probably a good convention is to name the luns "lun.<number>",
272although it is not mandatory.
273
274In 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
289Testing the MASS STORAGE function
290---------------------------------
291
292device: connect the gadget, enable it
293host: dmesg, see the USB drives appear (if system configured to automatically
294mount)
295
2969. MIDI function
297================
298
299The function is provided by usb_f_midi.ko module.
300
301Function-specific configfs interface
302------------------------------------
303
304The function name to use when creating the function directory is "midi".
305The 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
314Testing the MIDI function
315-------------------------
316
317There are two cases: playing a mid from the gadget to
318the host and playing a mid from the host to the gadget.
319
3201) Playing a mid from the gadget to the host
321host)
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
329gadget)
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
3372) Playing a mid from the host to the gadget
338gadget)
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
346host)
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
355The from_gadget.mid should sound identical to the to_host.mid.
356The from_host.id should sound identical to the to_gadget.mid.
357
358MIDI 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
364128:0 TiMidity TiMidity port 0
365128:1 TiMidity TiMidity port 1
366128:2 TiMidity TiMidity port 2
367128:3 TiMidity TiMidity port 3
368
369$ aplaymidi -p 128:0 file.mid
370
371MIDI ports can be logically connected using the aconnect utility, e.g.:
372
373$ aconnect 24:0 128:0 # try it on the host
374
375After the gadget's MIDI port is connected to timidity's MIDI port,
376whatever is played at the gadget side with aplaymidi -l is audible
377in host's speakers/headphones.
378
37910. NCM function
380================
381
382The function is provided by usb_f_ncm.ko module.
383
384Function-specific configfs interface
385------------------------------------
386
387The function name to use when creating the function directory is "ncm".
388The 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
398and after creating the functions/ncm.<instance name> they contain default
399values: qmult is 5, dev_addr and host_addr are randomly selected.
400Except for ifname they can be written to until the function is linked to a
401configuration. The ifname is read-only and contains the name of the interface
402which was assigned by the net core, e. g. usb0.
403
404Testing the NCM function
405------------------------
406
407Configure IP addresses of the device and the host. Then:
408
409On the device: ping <host's IP>
410On the host: ping <device's IP>
411
41211. OBEX function
413=================
414
415The function is provided by usb_f_obex.ko module.
416
417Function-specific configfs interface
418------------------------------------
419
420The function name to use when creating the function directory is "obex".
421The OBEX function provides just one attribute in its function directory:
422
423 port_num
424
425The attribute is read-only.
426
427There can be at most 4 ACM/generic serial/OBEX ports in the system.
428
429Testing the OBEX function
430-------------------------
431
432On device: seriald -f /dev/ttyGS<Y> -s 1024
433On host: serialc -v <vendorID> -p <productID> -i<interface#> -a1 -s1024 \
434 -t<out endpoint addr> -r<in endpoint addr>
435
436where seriald and serialc are Felipe's utilities found here:
437
438https://git.gitorious.org/usb/usb-tools.git master
439
44012. PHONET function
441===================
442
443The function is provided by usb_f_phonet.ko module.
444
445Function-specific configfs interface
446------------------------------------
447
448The function name to use when creating the function directory is "phonet".
449The PHONET function provides just one attribute in its function directory:
450
451 ifname - network device interface name associated with this
452 function instance
453
454Testing the PHONET function
455---------------------------
456
457It is not possible to test the SOCK_STREAM protocol without a specific piece
458of hardware, so only SOCK_DGRAM has been tested. For the latter to work,
459in the past I had to apply the patch mentioned here:
460
461http://www.spinics.net/lists/linux-usb/msg85689.html
462
463These tools are required:
464
465git://git.gitorious.org/meego-cellular/phonet-utils.git
466
467On the host:
468
469$ ./phonet -a 0x10 -i usbpn0
470$ ./pnroute add 0x6c usbpn0
471$./pnroute add 0x10 usbpn0
472$ ifconfig usbpn0 up
473
474On the device:
475
476$ ./phonet -a 0x6c -i upnlink0
477$ ./pnroute add 0x10 upnlink0
478$ ifconfig upnlink0 up
479
480Then a test program can be used:
481
482http://www.spinics.net/lists/linux-usb/msg85690.html
483
484On the device:
485
486$ ./pnxmit -a 0x6c -r
487
488On the host:
489
490$ ./pnxmit -a 0x10 -s 0x6c
491
492As a result some data should be sent from host to device.
493Then the other way round:
494
495On the host:
496
497$ ./pnxmit -a 0x10 -r
498
499On the device:
500
501$ ./pnxmit -a 0x6c -s 0x10
502
50313. RNDIS function
504==================
505
506The function is provided by usb_f_rndis.ko module.
507
508Function-specific configfs interface
509------------------------------------
510
511The function name to use when creating the function directory is "rndis".
512The 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
522and after creating the functions/rndis.<instance name> they contain default
523values: qmult is 5, dev_addr and host_addr are randomly selected.
524Except for ifname they can be written to until the function is linked to a
525configuration. The ifname is read-only and contains the name of the interface
526which was assigned by the net core, e. g. usb0.
527
528By default there can be only 1 RNDIS interface in the system.
529
530Testing the RNDIS function
531--------------------------
532
533Configure IP addresses of the device and the host. Then:
534
535On the device: ping <host's IP>
536On the host: ping <device's IP>
537
53814. SERIAL function
539===================
540
541The function is provided by usb_f_gser.ko module.
542
543Function-specific configfs interface
544------------------------------------
545
546The function name to use when creating the function directory is "gser".
547The SERIAL function provides just one attribute in its function directory:
548
549 port_num
550
551The attribute is read-only.
552
553There can be at most 4 ACM/generic serial/OBEX ports in the system.
554
555Testing the SERIAL function
556---------------------------
557
558On host: insmod usbserial
559 echo VID PID >/sys/bus/usb-serial/drivers/generic/new_id
560On host: cat > /dev/ttyUSB<X>
561On target: cat /dev/ttyGS<Y>
562
563then the other way round
564
565On target: cat > /dev/ttyGS<Y>
566On host: cat /dev/ttyUSB<X>
567
56815. SOURCESINK function
569=======================
570
571The function is provided by usb_f_ss_lb.ko module.
572
573Function-specific configfs interface
574------------------------------------
575
576The function name to use when creating the function directory is "SourceSink".
577The 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
586Testing the SOURCESINK function
587-------------------------------
588
589device: run the gadget
590host: test-usb
591
592http://www.linux-usb.org/usbtest/testusb.c
593
59416. UAC1 function
595=================
596
597The function is provided by usb_f_uac1.ko module.
598
599Function-specific configfs interface
600------------------------------------
601
602The function name to use when creating the function directory is "uac1".
603The 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
612The attributes have sane default values.
613
614Testing the UAC1 function
615-------------------------
616
617device: run the gadget
618host: aplay -l # should list our USB Audio Gadget
619
62017. UAC2 function
621=================
622
623The function is provided by usb_f_uac2.ko module.
624
625Function-specific configfs interface
626------------------------------------
627
628The function name to use when creating the function directory is "uac2".
629The 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
638The attributes have sane default values.
639
640Testing the UAC2 function
641-------------------------
642
643device: run the gadget
644host: aplay -l # should list our USB Audio Gadget
645
646This function does not require real hardware support, it just
647sends a stream of audio data to/from the host. In order to
648actually hear something at the device side, a command similar
649to 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
653e.g.:
654
655$ arecord -f dat -t wav -D hw:CARD=UAC2Gadget,DEV=0 | \
656aplay -D default:CARD=OdroidU3
657
65818. UVC function
659================
660
661The function is provided by usb_f_uvc.ko module.
662
663Function-specific configfs interface
664------------------------------------
665
666The function name to use when creating the function directory is "uvc".
667The 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
675There are also "control" and "streaming" subdirectories, each of which contain
676a number of their subdirectories. There are some sane defaults provided, but
677the 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
689Each frame description contains frame interval specification, and each
690such specification consists of a number of lines with an inverval value
691in 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
699666666
7001000000
7015000000
702EOF
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
715Testing the UVC function
716------------------------
717
718device: run the gadget, modprobe vivid
719
720# uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>
721
722where uvc-gadget is this program:
723http://git.ideasonboard.org/uvc-gadget.git
724
725with these patches:
726http://www.spinics.net/lists/linux-usb/msg99220.html
727
728host: 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
236E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms236E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
237E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms237E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
238 238
239You must explicitly load the usbserial driver with parameters to239You must load the usbserial driver and explicitly set its parameters
240configure it to recognize the gadget serial device, like this:240to configure it to recognize the gadget serial device, like this:
241
242 echo 0x0525 0xA4A6 >/sys/bus/usb-serial/drivers/generic/new_id
243
244The legacy way is to use module parameters:
241 245
242 modprobe usbserial vendor=0x0525 product=0xA4A6246 modprobe usbserial vendor=0x0525 product=0xA4A6
243 247
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
72 72
73# cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out73# cat /sys/kernel/debug/usb/usbmon/0u > /tmp/1.mon.out
74 74
75This process will be reading until killed. Naturally, the output can be75This process will read until it is killed. Naturally, the output can be
76redirected to a desirable location. This is preferred, because it is going76redirected to a desirable location. This is preferred, because it is going
77to be quite long.77to be quite long.
78 78
@@ -231,7 +231,7 @@ number. Number zero (/dev/usbmon0) is special and means "all buses". · 152 unmodified lines
231Note that specific naming policy is set by your Linux distribution.231Note that specific naming policy is set by your Linux distribution.
232 232
233If you create /dev/usbmon0 by hand, make sure that it is owned by root233If you create /dev/usbmon0 by hand, make sure that it is owned by root
234and has mode 0600. Otherwise, unpriviledged users will be able to snoop234and has mode 0600. Otherwise, unprivileged users will be able to snoop
235keyboard traffic.235keyboard traffic.
236 236
237The following ioctl calls are available, with MON_IOC_MAGIC 0x92:237The following ioctl calls are available, with MON_IOC_MAGIC 0x92:
Documentation/video4linux/CQcam.txt+0−205
@@ -1,205 +0,0 @@
1c-qcam - Connectix Color QuickCam video4linux kernel driver
2
3Copyright (C) 1999 Dave Forrest <drf5n@virginia.edu>
4 released under GNU GPL.
5
61999-12-08 Dave Forrest, written with kernel version 2.2.12 in mind
7
8
9Table of Contents
10
111.0 Introduction
122.0 Compilation, Installation, and Configuration
133.0 Troubleshooting
144.0 Future Work / current work arounds
159.0 Sample Program, v4lgrab
1610.0 Other Information
17
18
191.0 Introduction
20
21 The file ../../drivers/media/parport/c-qcam.c is a device driver for
22the Logitech (nee Connectix) parallel port interface color CCD camera.
23This is a fairly inexpensive device for capturing images. Logitech
24does not currently provide information for developers, but many people
25have engineered several solutions for non-Microsoft use of the Color
26Quickcam.
27
281.1 Motivation
29
30 I spent a number of hours trying to get my camera to work, and I
31hope this document saves you some time. My camera will not work with
32the 2.2.13 kernel as distributed, but with a few patches to the
33module, I was able to grab some frames. See 4.0, Future Work.
34
35
36
372.0 Compilation, Installation, and Configuration
38
39 The c-qcam depends on parallel port support, video4linux, and the
40Color Quickcam. It is also nice to have the parallel port readback
41support enabled. I enabled these as modules during the kernel
42configuration. 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.
51To 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
59But that is my personal preference.
60
612.2 Configuration
62
63 The configuration requires module configuration and device
64configuration. The following sections detail these procedures.
65
66
672.1 Module Configuration
68
69 Using modules requires a bit of work to install and pass the
70parameters. 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
772.2 Device Configuration
78
79 At this point, we need to ensure that the device files exist.
80Video4linux used the /dev/video* files, and we want to attach the
81Quickcam to one of these.
82
83 ls -lad /dev/video* # should produce a list of the video devices
84
85If 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
96your 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
102special character files with the right major and minor numbers. All
103of the special device files are listed in ../devices.txt. If you
104would like the c-qcam readable by non-root users, you will need to
105change the permissions.
106
1073.0 Troubleshooting
108
109 If the sample program below, v4lgrab, gives you output then
110everything 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
117system (CONFIG_PROC_FS), the parallel printer support
118(CONFIG_PRINTER), the IEEE 1284 system,(CONFIG_PRINTER_READBACK), you
119should 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
124Returns:
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
130and well. A common problem is that the current driver does not
131reliably detect a c-qcam, even though one is attached. In this case,
132
133 modprobe -v c-qcam
134or
135 insmod -v c-qcam
136
137 Returns a message saying "Device or resource busy" Development is
138currently underway, but a workaround is to patch the module to skip
139the detection code and attach to a defined port. Check the
140video4linux mailing list and archive for more current information.
141
1423.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
1614.0 Future Work / current workarounds
162
163 It is hoped that this section will soon become obsolete, but if it
164isn't, you might try patching the c-qcam module to add a parport=xxx
165option as in the bw-qcam module so you can specify the parallel port:
166
167 insmod -v c-qcam parport=0
168
169And bypass the detection code, see ../../drivers/char/c-qcam.c and
170look for the 'qc_detect' code and call.
171
172 Note that there is work in progress to change the video4linux API,
173this work is documented at the video4linux2 site listed below.
174
175
1769.0 --- A sample program using v4lgrabber,
177
178v4lgrab is a simple image grabber that will copy a frame from the
179first video device, /dev/video0 to standard output in portable pixmap
180format (.ppm) To produce .jpg output, you can use it like this:
181'v4lgrab | convert - c-qcam.jpg'
182
183
18410.0 --- Other Information
185
186Use the ../../Maintainers file, particularly the VIDEO FOR LINUX and PARALLEL
187PORT SUPPORT sections
188
189The video4linux page:
190 http://linuxtv.org
191
192The V4L2 API spec:
193 http://v4l2spec.bytesex.org/
194
195Some 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 @@
1tlg2300 release notes
2====================
3
4This is a v4l2/dvb device driver for the tlg2300 chip.
5
6
7current status
8==============
9
10video
11 - support mmap and read().(no overlay)
12
13audio
14 - The driver will register a ALSA card for the audio input.
15
16vbi
17 - Works for almost TV norms.
18
19dvb-t
20 - works for DVB-T
21
22FM
23 - Works for radio.
24
25---------------------------------------------------------------------------
26TESTED 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---------------------------------------------------------------------------
39KNOWN PROBLEMS:
40about 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
793 793
794Whenever a device node is created some attributes are also created for you.794Whenever a device node is created some attributes are also created for you.
795If you look in /sys/class/video4linux you see the devices. Go into e.g.795If you look in /sys/class/video4linux you see the devices. Go into e.g.
796video0 and you will see 'name' and 'index' attributes. The 'name' attribute796video0 and you will see 'name', 'debug' and 'index' attributes. The 'name'
797is the 'name' field of the video_device struct.797attribute is the 'name' field of the video_device struct. The 'debug' attribute
798can be used to enable core debugging. See the next section for more detailed
799information on this.
798 800
799The 'index' attribute is the index of the device node: for each call to801The 'index' attribute is the index of the device node: for each call to
800video_register_device() the index is just increased by 1. The first video802video_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
816be called if the registration failed, nor should you ever attempt to818be called if the registration failed, nor should you ever attempt to
817unregister the device if the registration failed.819unregister the device if the registration failed.
818 820
821video device debugging
822----------------------
823
824The 'debug' attribute that is created for each video, vbi, radio or swradio
825device in /sys/class/video4linux/<devX>/ allows you to enable logging of
826file operations.
827
828It is a bitmask and the following bits can be set:
829
8300x01: Log the ioctl name and error code. VIDIOC_(D)QBUF ioctls are only logged
831 if bit 0x08 is also set.
8320x02: Log the ioctl name arguments and error code. VIDIOC_(D)QBUF ioctls are
833 only logged if bit 0x08 is also set.
8340x04: 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.
8370x08: Log the read and write file operations and the VIDIOC_QBUF and
838 VIDIOC_DQBUF ioctls.
8390x10: Log the poll file operation.
819 840
820video_device cleanup841video_device cleanup
821--------------------842--------------------
Documentation/video4linux/v4l2-pci-skeleton.c+1−1
@@ -42,7 +42,6 @@ · 41 unmodified lines
42MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver");42MODULE_DESCRIPTION("V4L2 PCI Skeleton Driver");
43MODULE_AUTHOR("Hans Verkuil");43MODULE_AUTHOR("Hans Verkuil");
44MODULE_LICENSE("GPL v2");44MODULE_LICENSE("GPL v2");
45MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
46 45
47/**46/**
48 * struct skeleton - All internal data for one instance of device47 * 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
95 /* { PCI_DEVICE(PCI_VENDOR_ID_, PCI_DEVICE_ID_) }, */94 /* { PCI_DEVICE(PCI_VENDOR_ID_, PCI_DEVICE_ID_) }, */
96 { 0, }95 { 0, }
97};96};
97MODULE_DEVICE_TABLE(pci, skeleton_pci_tbl);
98 98
99/*99/*
100 * HDTV: this structure has the capabilities of the HDTV receiver.100 * HDTV: this structure has the capabilities of the HDTV receiver.
Documentation/video4linux/w9966.txt+0−33
@@ -1,33 +0,0 @@
1W9966 Camera driver, written by Jakob Kemi (jakob.kemi@telia.com)
2
3After a lot of work in softice & wdasm, reading .pdf-files and tiresome
4trial-and-error work I've finally got everything to work. I needed vision for a
5robotics project so I borrowed this camera from a friend and started hacking.
6Anyway I've converted my original code from the AVR 8bit RISC C/ASM code into
7a working Linux driver.
8
9To get it working simply configure your kernel to support
10parport, ieee1284, video4linux and w9966
11
12If w9966 is statically linked it will always perform aggressive probing for
13the camera. If built as a module you'll have more configuration options.
14
15Options:
16 modprobe w9966.o pardev=parport0(or whatever) parmode=0 (0=auto, 1=ecp, 2=epp)
17voila!
18
19you can also type 'modinfo -p w9966.o' for option usage
20(or checkout w9966.c)
21
22The only thing to keep in mind is that the image format is in Y-U-Y-V format
23where every two pixels take 4 bytes. In SDL (www.libsdl.org) this format
24is called VIDEO_PALETTE_YUV422 (16 bpp).
25
26A minimal test application (with source) is available from:
27 http://www.slackwaresupport.com/howtos/Webcam-HOWTO
28
29The slow framerate is due to missing DMA ECP read support in the
30parport drivers. I might add working EPP support later.
31
32Good luck!
33 /Jakob Kemi
Documentation/virtual/00-INDEX+3−0
@@ -2,6 +2,9 @@ Virtualization support in the Linux kernel. · 1 unmodified line
2 2
300-INDEX300-INDEX
4 - this file.4 - this file.
5
6paravirt_ops.txt
7 - Describes the Linux kernel pv_ops to support different hypervisors
5kvm/8kvm/
6 - Kernel Virtual Machine. See also http://linux-kvm.org9 - Kernel Virtual Machine. See also http://linux-kvm.org
7uml/10uml/
Documentation/virtual/kvm/api.txt+29−6
@@ -612,11 +612,14 @@ Type: vm ioctl · 611 unmodified lines
612Parameters: none612Parameters: none
613Returns: 0 on success, -1 on error613Returns: 0 on success, -1 on error
614 614
615Creates an interrupt controller model in the kernel. On x86, creates a virtual615Creates an interrupt controller model in the kernel.
616ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a616On x86, creates a virtual ioapic, a virtual PIC (two PICs, nested), and sets up
617local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23617future vcpus to have a local APIC. IRQ routing for GSIs 0-15 is set to both
618only go to the IOAPIC. On ARM/arm64, a GIC is618PIC and IOAPIC; GSI 16-23 only go to the IOAPIC.
619created. On s390, a dummy irq routing table is created.619On ARM/arm64, a GICv2 is created. Any other GIC versions require the usage of
620KVM_CREATE_DEVICE, which also supports creating a GICv2. Using
621KVM_CREATE_DEVICE is preferred over KVM_CREATE_IRQCHIP for GICv2.
622On s390, a dummy irq routing table is created.
620 623
621Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled624Note that on s390 the KVM_CAP_S390_IRQCHIP vm capability needs to be enabled
622before KVM_CREATE_IRQCHIP can be used.625before KVM_CREATE_IRQCHIP can be used.
@@ -2312,7 +2315,7 @@ struct kvm_s390_interrupt { · 1689 unmodified lines
2312 2315
2313type can be one of the following:2316type can be one of the following:
2314 2317
2315KVM_S390_SIGP_STOP (vcpu) - sigp restart2318KVM_S390_SIGP_STOP (vcpu) - sigp stop; optional flags in parm
2316KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm2319KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm
2317KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm2320KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm
2318KVM_S390_RESTART (vcpu) - restart2321KVM_S390_RESTART (vcpu) - restart
@@ -3225,3 +3228,23 @@ userspace from doing that. · 906 unmodified lines
3225If the hcall number specified is not one that has an in-kernel3228If the hcall number specified is not one that has an in-kernel
3226implementation, the KVM_ENABLE_CAP ioctl will fail with an EINVAL3229implementation, the KVM_ENABLE_CAP ioctl will fail with an EINVAL
3227error.3230error.
3231
32327.2 KVM_CAP_S390_USER_SIGP
3233
3234Architectures: s390
3235Parameters: none
3236
3237This capability controls which SIGP orders will be handled completely in user
3238space. With this capability enabled, all fast orders will be handled completely
3239in the kernel:
3240- SENSE
3241- SENSE RUNNING
3242- EXTERNAL CALL
3243- EMERGENCY SIGNAL
3244- CONDITIONAL EMERGENCY SIGNAL
3245
3246All other orders will be handled completely in user space.
3247
3248Only privileged operation exceptions will be checked for in the kernel (or even
3249in the hardware prior to interception). If this capability is not enabled, the
3250old 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
3 3
4Device types supported:4Device types supported:
5 KVM_DEV_TYPE_ARM_VGIC_V2 ARM Generic Interrupt Controller v2.05 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
6 7
7Only one VGIC instance may be instantiated through either this API or the8Only one VGIC instance may be instantiated through either this API or the
8legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt9legacy KVM_CREATE_IRQCHIP api. The created VGIC will act as the VM interrupt
9controller, requiring emulated user-space devices to inject interrupts to the10controller, requiring emulated user-space devices to inject interrupts to the
10VGIC instead of directly to CPUs.11VGIC instead of directly to CPUs.
11 12
13Creating a guest GICv3 device requires a host GICv3 as well.
14GICv3 implementations with hardware compatibility support allow a guest GICv2
15as well.
16
12Groups:17Groups:
13 KVM_DEV_ARM_VGIC_GRP_ADDR18 KVM_DEV_ARM_VGIC_GRP_ADDR
14 Attributes:19 Attributes:
15 KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit)20 KVM_VGIC_V2_ADDR_TYPE_DIST (rw, 64-bit)
16 Base address in the guest physical address space of the GIC distributor21 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.
18 24
19 KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit)25 KVM_VGIC_V2_ADDR_TYPE_CPU (rw, 64-bit)
20 Base address in the guest physical address space of the GIC virtual cpu26 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
22 42
23 KVM_DEV_ARM_VGIC_GRP_DIST_REGS43 KVM_DEV_ARM_VGIC_GRP_DIST_REGS
24 Attributes:44 Attributes:
@@ -36,6 +56,7 @@ Groups: · 11 unmodified lines
36 the register.56 the register.
37 Limitations:57 Limitations:
38 - Priorities are not implemented, and registers are RAZ/WI58 - Priorities are not implemented, and registers are RAZ/WI
59 - Currently only implemented for KVM_DEV_TYPE_ARM_VGIC_V2.
39 Errors:60 Errors:
40 -ENODEV: Getting or setting this register is not yet supported61 -ENODEV: Getting or setting this register is not yet supported
41 -EBUSY: One or more VCPUs are running62 -EBUSY: One or more VCPUs are running
@@ -68,6 +89,7 @@ Groups: · 26 unmodified lines
68 89
69 Limitations:90 Limitations:
70 - Priorities are not implemented, and registers are RAZ/WI91 - Priorities are not implemented, and registers are RAZ/WI
92 - Currently only implemented for KVM_DEV_TYPE_ARM_VGIC_V2.
71 Errors:93 Errors:
72 -ENODEV: Getting or setting this register is not yet supported94 -ENODEV: Getting or setting this register is not yet supported
73 -EBUSY: One or more VCPUs are running95 -EBUSY: One or more VCPUs are running
@@ -81,3 +103,14 @@ Groups: · 7 unmodified lines
81 -EINVAL: Value set is out of the expected range103 -EINVAL: Value set is out of the expected range
82 -EBUSY: Value has already be set, or GIC has already been initialized104 -EBUSY: Value has already be set, or GIC has already been initialized
83 with default values.105 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
24 24
25Clear the CMMA status for all guest pages, so any pages the guest marked25Clear the CMMA status for all guest pages, so any pages the guest marked
26as unused are again used any may not be reclaimed by the host.26as unused are again used any may not be reclaimed by the host.
27
281.3. ATTRIBUTE KVM_S390_VM_MEM_LIMIT_SIZE
29Parameters: in attr->addr the address for the new limit of guest memory
30Returns: -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
37Allows userspace to query the actual limit and set a new limit for
38the maximum guest memory size. The limit will be rounded up to
392048 MB, 4096 GB, 8192 TB respectively, as this limit is governed by
40the number of page table levels.
41
422. GROUP: KVM_S390_VM_CPU_MODEL
43Architectures: s390
44
452.1. ATTRIBUTE: KVM_S390_VM_CPU_MACHINE (r/o)
46
47Allows user space to retrieve machine and kvm specific cpu related information:
48
49struct 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
57Parameters: address of buffer to store the machine related cpu data
58 of type struct kvm_s390_vm_cpu_machine*
59Returns: -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
632.2. ATTRIBUTE: KVM_S390_VM_CPU_PROCESSOR (r/w)
64
65Allows user space to retrieve or request to change cpu related information for a vcpu:
66
67struct 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
75KVM does not enforce or limit the cpu model data in any form. Take the information
76retrieved by means of KVM_S390_VM_CPU_MACHINE as hint for reasonable configuration
77setups. Instruction interceptions triggered by additionally set facilitiy bits that
78are not handled by KVM need to by imlemented in the VM driver code.
79
80Parameters: address of buffer to store/set the processor related cpu
81 data of type struct kvm_s390_vm_cpu_processor*.
82Returns: -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 @@
1Paravirt_ops
2============
3
4Linux provides support for different hypervisor virtualization technologies.
5Historically different binary kernels would be required in order to support
6different hypervisors, this restriction was removed with pv_ops.
7Linux pv_ops is a virtualization API which enables support for different
8hypervisors. It allows each hypervisor to override critical operations and
9allows a single kernel binary to run on all supported execution environments
10including native machine -- without any hypervisors.
11
12pv_ops provides a set of function pointers which represent operations
13corresponding to low level critical instructions and high level
14functionalities in various areas. pv-ops allows for optimizations at run
15time by enabling binary patching of the low-ops critical operations
16at boot time.
17
18pv_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
85CLEANCACHE PERFORMANCE METRICS85CLEANCACHE PERFORMANCE METRICS
86 86
87If properly configured, monitoring of cleancache is done via debugfs in87If properly configured, monitoring of cleancache is done via debugfs in
88the /sys/kernel/debug/mm/cleancache directory. The effectiveness of cleancache88the /sys/kernel/debug/cleancache directory. The effectiveness of cleancache
89can be measured (across all filesystems) with:89can be measured (across all filesystems) with:
90 90
91succ_gets - number of gets that were successful91succ_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
62 20. NOPAGE62 20. NOPAGE
63 21. KSM63 21. KSM
64 22. THP64 22. THP
65 23. BALLOON
66 24. ZERO_PAGE
65 67
66Short descriptions to the page flags:68Short descriptions to the page flags:
67 69
@@ -102,6 +104,12 @@ Short descriptions to the page flags: · 34 unmodified lines
10222. THP10422. THP
103 contiguous pages which construct transparent hugepages105 contiguous pages which construct transparent hugepages
104 106
10723. BALLOON
108 balloon compaction page
109
11024. ZERO_PAGE
111 zero page for pfn_zero or huge_zero page
112
105 [IO related page flags]113 [IO related page flags]
106 1. ERROR IO error occurred114 1. ERROR IO error occurred
107 3. UPTODATE page has up-to-date data115 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
18virtual address space. This use-case is not critical anymore since 64-bit18virtual address space. This use-case is not critical anymore since 64-bit
19systems are widely available.19systems are widely available.
20 20
21The plan is to deprecate the syscall and replace it with an emulation.21The syscall is deprecated and replaced it with an emulation now. The
22The emulation will create new VMAs instead of nonlinear mappings. It's22emulation creates new VMAs instead of nonlinear mappings. It's going to
23going to work slower for rare users of remap_file_pages() but ABI is23work slower for rare users of remap_file_pages() but ABI is preserved.
24preserved.
25 24
26One side effect of emulation (apart from performance) is that user can hit25One side effect of emulation (apart from performance) is that user can hit
27vm.max_map_count limit more easily due to additional VMAs. See comment for26vm.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
12ffffe90000000000 - ffffe9ffffffffff (=40 bits) hole12ffffe90000000000 - ffffe9ffffffffff (=40 bits) hole
13ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)13ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB)
14... unused hole ...14... unused hole ...
15ffffec0000000000 - fffffc0000000000 (=44 bits) kasan shadow memory (16TB)
16... unused hole ...
15ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks17ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
16... unused hole ...18... unused hole ...
17ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 019ffffffff80000000 - 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
3real-mode setup code of the kernel. References/settings to it mainly3real-mode setup code of the kernel. References/settings to it mainly
4are in:4are in:
5 5
6 arch/x86/include/asm/bootparam.h6 arch/x86/include/uapi/asm/bootparam.h
7 7
8 8
9Offset Proto Name Meaning9Offset Proto Name Meaning
Kbuild+21−40
@@ -5,24 +5,23 @@ · 4 unmodified lines
5# 2) Generate asm-offsets.h (may need bounds.h)5# 2) Generate asm-offsets.h (may need bounds.h)
6# 3) Check for missing system calls6# 3) Check for missing system calls
7 7
8#####8# Default sed regexp - multiline due to syntax constraints
9# 1) Generate bounds.h9define sed-y
10 10 "/^->/{s:->#\(.*\):/* \1 */:; \
11bounds-file := include/generated/bounds.h11 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
12 12 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
13always := $(bounds-file)13 s:->::; p;}"
14targets := $(bounds-file) kernel/bounds.s14endef
15 15
16quiet_cmd_bounds = GEN $@16quiet_cmd_offsets = GEN $@
17define cmd_bounds17define cmd_offsets
18 (set -e; \18 (set -e; \
19 echo "#ifndef __LINUX_BOUNDS_H__"; \19 echo "#ifndef $2"; \
20 echo "#define __LINUX_BOUNDS_H__"; \20 echo "#define $2"; \
21 echo "/*"; \21 echo "/*"; \
22 echo " * DO NOT MODIFY."; \22 echo " * DO NOT MODIFY."; \
23 echo " *"; \23 echo " *"; \
24 echo " * This file was generated by Kbuild"; \24 echo " * This file was generated by Kbuild"; \
25 echo " *"; \
26 echo " */"; \25 echo " */"; \
27 echo ""; \26 echo ""; \
28 sed -ne $(sed-y) $<; \27 sed -ne $(sed-y) $<; \
@@ -30,6 +29,14 @@ define cmd_bounds · 1 unmodified line
30 echo "#endif" ) > $@29 echo "#endif" ) > $@
31endef30endef
32 31
32#####
33# 1) Generate bounds.h
34
35bounds-file := include/generated/bounds.h
36
37always := $(bounds-file)
38targets := $(bounds-file) kernel/bounds.s
39
33# We use internal kbuild rules to avoid the "is up to date" message from make40# We use internal kbuild rules to avoid the "is up to date" message from make
34kernel/bounds.s: kernel/bounds.c FORCE41kernel/bounds.s: kernel/bounds.c FORCE
35 $(Q)mkdir -p $(dir $@)42 $(Q)mkdir -p $(dir $@)
@@ -37,7 +44,7 @@ kernel/bounds.s: kernel/bounds.c FORCE · 1 unmodified line
37 44
38$(obj)/$(bounds-file): kernel/bounds.s Kbuild45$(obj)/$(bounds-file): kernel/bounds.s Kbuild
39 $(Q)mkdir -p $(dir $@)46 $(Q)mkdir -p $(dir $@)
40 $(call cmd,bounds)47 $(call cmd,offsets,__LINUX_BOUNDS_H__)
41 48
42#####49#####
43# 2) Generate asm-offsets.h50# 2) Generate asm-offsets.h
@@ -49,32 +56,6 @@ always += $(offsets-file) · 5 unmodified lines
49targets += $(offsets-file)56targets += $(offsets-file)
50targets += arch/$(SRCARCH)/kernel/asm-offsets.s57targets += arch/$(SRCARCH)/kernel/asm-offsets.s
51 58
52
53# Default sed regexp - multiline due to syntax constraints
54define sed-y
55 "/^->/{s:->#\(.*\):/* \1 */:; \
56 s:^->\([^ ]*\) [\$$#]*\([-0-9]*\) \(.*\):#define \1 \2 /* \3 */:; \
57 s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
58 s:->::; p;}"
59endef
60
61quiet_cmd_offsets = GEN $@
62define 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" ) > $@
76endef
77
78# We use internal kbuild rules to avoid the "is up to date" message from make59# We use internal kbuild rules to avoid the "is up to date" message from make
79arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \60arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \
80 $(obj)/$(bounds-file) FORCE61 $(obj)/$(bounds-file) FORCE
@@ -82,7 +63,7 @@ arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \ · 1 unmodified line
82 $(call if_changed_dep,cc_s_c)63 $(call if_changed_dep,cc_s_c)
83 64
84$(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild65$(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild
85 $(call cmd,offsets)66 $(call cmd,offsets,__ASM_OFFSETS_H__)
86 67
87#####68#####
88# 3) Check for missing system calls69# 3) Check for missing system calls
MAINTAINERS+221−51
@@ -34,7 +34,7 @@ trivial patch so apply some common sense. · 33 unmodified lines
34 generalized kernel feature ready for next time.34 generalized kernel feature ready for next time.
35 35
36 PLEASE check your patch with the automated style checker36 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.
38 See Documentation/CodingStyle for guidance here.38 See Documentation/CodingStyle for guidance here.
39 39
40 PLEASE CC: the maintainers and mailing lists that are generated40 PLEASE CC: the maintainers and mailing lists that are generated
@@ -270,12 +270,12 @@ F: drivers/acpi/ · 229 unmodified lines
270F: drivers/pnp/pnpacpi/270F: drivers/pnp/pnpacpi/
271F: include/linux/acpi.h271F: include/linux/acpi.h
272F: include/acpi/272F: include/acpi/
273F: Documentation/acpi273F: Documentation/acpi/
274F: Documentation/ABI/testing/sysfs-bus-acpi274F: Documentation/ABI/testing/sysfs-bus-acpi
275F: drivers/pci/*acpi*275F: drivers/pci/*acpi*
276F: drivers/pci/*/*acpi*276F: drivers/pci/*/*acpi*
277F: drivers/pci/*/*/*acpi*277F: drivers/pci/*/*/*acpi*
278F: tools/power/acpi278F: tools/power/acpi/
279 279
280ACPI COMPONENT ARCHITECTURE (ACPICA)280ACPI COMPONENT ARCHITECTURE (ACPICA)
281M: Robert Moore <robert.moore@intel.com>281M: Robert Moore <robert.moore@intel.com>
@@ -563,6 +563,12 @@ S: Odd Fixes · 281 unmodified lines
563L: linux-alpha@vger.kernel.org563L: linux-alpha@vger.kernel.org
564F: arch/alpha/564F: arch/alpha/
565 565
566ALTERA MAILBOX DRIVER
567M: Ley Foon Tan <lftan@altera.com>
568L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
569S: Maintained
570F: drivers/mailbox/mailbox-altera.c
571
566ALTERA TRIPLE SPEED ETHERNET DRIVER572ALTERA TRIPLE SPEED ETHERNET DRIVER
567M: Vince Bridgers <vbridger@opensource.altera.com>573M: Vince Bridgers <vbridger@opensource.altera.com>
568L: netdev@vger.kernel.org574L: netdev@vger.kernel.org
@@ -624,6 +630,8 @@ L: dri-devel@lists.freedesktop.org · 55 unmodified lines
624T: git git://people.freedesktop.org/~gabbayo/linux.git630T: git git://people.freedesktop.org/~gabbayo/linux.git
625S: Supported631S: Supported
626F: drivers/gpu/drm/amd/amdkfd/632F: drivers/gpu/drm/amd/amdkfd/
633F: drivers/gpu/drm/amd/include/cik_structs.h
634F: drivers/gpu/drm/amd/include/kgd_kfd_interface.h
627F: drivers/gpu/drm/radeon/radeon_kfd.c635F: drivers/gpu/drm/radeon/radeon_kfd.c
628F: drivers/gpu/drm/radeon/radeon_kfd.h636F: drivers/gpu/drm/radeon/radeon_kfd.h
629F: include/uapi/linux/kfd_ioctl.h637F: include/uapi/linux/kfd_ioctl.h
@@ -659,6 +667,13 @@ L: linux-media@vger.kernel.org · 29 unmodified lines
659S: Maintained667S: Maintained
660F: drivers/media/i2c/ad9389b*668F: drivers/media/i2c/ad9389b*
661 669
670ANALOG DEVICES INC ADV7180 DRIVER
671M: Lars-Peter Clausen <lars@metafoo.de>
672L: linux-media@vger.kernel.org
673W: http://ez.analog.com/community/linux-device-drivers
674S: Supported
675F: drivers/media/i2c/adv7180.c
676
662ANALOG DEVICES INC ADV7511 DRIVER677ANALOG DEVICES INC ADV7511 DRIVER
663M: Hans Verkuil <hans.verkuil@cisco.com>678M: Hans Verkuil <hans.verkuil@cisco.com>
664L: linux-media@vger.kernel.org679L: linux-media@vger.kernel.org
@@ -880,6 +895,7 @@ F: arch/arm/boot/dts/at91*.dts · 215 unmodified lines
880F: arch/arm/boot/dts/at91*.dtsi895F: arch/arm/boot/dts/at91*.dtsi
881F: arch/arm/boot/dts/sama*.dts896F: arch/arm/boot/dts/sama*.dts
882F: arch/arm/boot/dts/sama*.dtsi897F: arch/arm/boot/dts/sama*.dtsi
898F: arch/arm/include/debug/at91.S
883 899
884ARM/ATMEL AT91 Clock Support900ARM/ATMEL AT91 Clock Support
885M: Boris Brezillon <boris.brezillon@free-electrons.com>901M: Boris Brezillon <boris.brezillon@free-electrons.com>
@@ -961,7 +977,7 @@ S: Maintained · 75 unmodified lines
961F: arch/arm/mach-prima2/977F: arch/arm/mach-prima2/
962F: drivers/clk/sirf/978F: drivers/clk/sirf/
963F: drivers/clocksource/timer-prima2.c979F: drivers/clocksource/timer-prima2.c
964F: drivers/clocksource/timer-marco.c980F: drivers/clocksource/timer-atlas7.c
965N: [^a-z]sirf981N: [^a-z]sirf
966 982
967ARM/EBSA110 MACHINE SUPPORT983ARM/EBSA110 MACHINE SUPPORT
@@ -1160,6 +1176,7 @@ M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> · 192 unmodified lines
1160L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1176L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1161S: Maintained1177S: Maintained
1162F: arch/arm/mach-mvebu/1178F: arch/arm/mach-mvebu/
1179F: drivers/rtc/armada38x-rtc
1163 1180
1164ARM/Marvell Berlin SoC support1181ARM/Marvell Berlin SoC support
1165M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>1182M: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
@@ -1293,10 +1310,13 @@ S: Maintained · 127 unmodified lines
1293 1310
1294ARM/QUALCOMM SUPPORT1311ARM/QUALCOMM SUPPORT
1295M: Kumar Gala <galak@codeaurora.org>1312M: Kumar Gala <galak@codeaurora.org>
1313M: Andy Gross <agross@codeaurora.org>
1296M: David Brown <davidb@codeaurora.org>1314M: David Brown <davidb@codeaurora.org>
1297L: linux-arm-msm@vger.kernel.org1315L: linux-arm-msm@vger.kernel.org
1316L: linux-soc@vger.kernel.org
1298S: Maintained1317S: Maintained
1299F: arch/arm/mach-qcom/1318F: arch/arm/mach-qcom/
1319F: drivers/soc/qcom/
1300T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git1320T: git git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom.git
1301 1321
1302ARM/RADISYS ENP2611 MACHINE SUPPORT1322ARM/RADISYS ENP2611 MACHINE SUPPORT
@@ -1398,7 +1418,6 @@ F: arch/arm/configs/ape6evm_defconfig · 95 unmodified lines
1398F: arch/arm/configs/armadillo800eva_defconfig1418F: arch/arm/configs/armadillo800eva_defconfig
1399F: arch/arm/configs/bockw_defconfig1419F: arch/arm/configs/bockw_defconfig
1400F: arch/arm/configs/kzm9g_defconfig1420F: arch/arm/configs/kzm9g_defconfig
1401F: arch/arm/configs/lager_defconfig
1402F: arch/arm/configs/mackerel_defconfig1421F: arch/arm/configs/mackerel_defconfig
1403F: arch/arm/configs/marzen_defconfig1422F: arch/arm/configs/marzen_defconfig
1404F: arch/arm/configs/shmobile_defconfig1423F: arch/arm/configs/shmobile_defconfig
@@ -1586,12 +1605,14 @@ N: xilinx · 181 unmodified lines
1586F: drivers/clocksource/cadence_ttc_timer.c1605F: drivers/clocksource/cadence_ttc_timer.c
1587F: drivers/i2c/busses/i2c-cadence.c1606F: drivers/i2c/busses/i2c-cadence.c
1588F: drivers/mmc/host/sdhci-of-arasan.c1607F: drivers/mmc/host/sdhci-of-arasan.c
1608F: drivers/edac/synopsys_edac.c
1589 1609
1590ARM SMMU DRIVER1610ARM SMMU DRIVER
1591M: Will Deacon <will.deacon@arm.com>1611M: Will Deacon <will.deacon@arm.com>
1592L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)1612L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1593S: Maintained1613S: Maintained
1594F: drivers/iommu/arm-smmu.c1614F: drivers/iommu/arm-smmu.c
1615F: drivers/iommu/io-pgtable-arm.c
1595 1616
1596ARM64 PORT (AARCH64 ARCHITECTURE)1617ARM64 PORT (AARCH64 ARCHITECTURE)
1597M: Catalin Marinas <catalin.marinas@arm.com>1618M: Catalin Marinas <catalin.marinas@arm.com>
@@ -1660,7 +1681,6 @@ M: Jiri Slaby <jirislaby@gmail.com> · 62 unmodified lines
1660M: Nick Kossifidis <mickflemm@gmail.com>1681M: Nick Kossifidis <mickflemm@gmail.com>
1661M: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>1682M: "Luis R. Rodriguez" <mcgrof@do-not-panic.com>
1662L: linux-wireless@vger.kernel.org1683L: linux-wireless@vger.kernel.org
1663L: ath5k-devel@lists.ath5k.org
1664W: http://wireless.kernel.org/en/users/Drivers/ath5k1684W: http://wireless.kernel.org/en/users/Drivers/ath5k
1665S: Maintained1685S: Maintained
1666F: drivers/net/wireless/ath/ath5k/1686F: drivers/net/wireless/ath/ath5k/
@@ -2127,7 +2147,7 @@ F: arch/arm/boot/dts/bcm470* · 460 unmodified lines
2127BROADCOM BCM63XX ARM ARCHITECTURE2147BROADCOM BCM63XX ARM ARCHITECTURE
2128M: Florian Fainelli <f.fainelli@gmail.com>2148M: Florian Fainelli <f.fainelli@gmail.com>
2129L: linux-arm-kernel@lists.infradead.org2149L: linux-arm-kernel@lists.infradead.org
2130T: git git://git.github.com/brcm/linux.git2150T: git git://github.com/broadcom/arm-bcm63xx.git
2131S: Maintained2151S: Maintained
2132F: arch/arm/mach-bcm/bcm63xx.c2152F: arch/arm/mach-bcm/bcm63xx.c
2133F: arch/arm/include/debug/bcm63xx.S2153F: arch/arm/include/debug/bcm63xx.S
@@ -2144,6 +2164,7 @@ M: Brian Norris <computersforpeace@gmail.com> · 10 unmodified lines
2144M: Gregory Fong <gregory.0xf0@gmail.com>2164M: Gregory Fong <gregory.0xf0@gmail.com>
2145M: Florian Fainelli <f.fainelli@gmail.com>2165M: Florian Fainelli <f.fainelli@gmail.com>
2146L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)2166L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2167T: git git://github.com/broadcom/stblinux.git
2147S: Maintained2168S: Maintained
2148F: arch/arm/mach-bcm/*brcmstb*2169F: arch/arm/mach-bcm/*brcmstb*
2149F: arch/arm/boot/dts/bcm7*.dts*2170F: arch/arm/boot/dts/bcm7*.dts*
@@ -2153,6 +2174,7 @@ BROADCOM BMIPS MIPS ARCHITECTURE · 3 unmodified lines
2153M: Kevin Cernekee <cernekee@gmail.com>2174M: Kevin Cernekee <cernekee@gmail.com>
2154M: Florian Fainelli <f.fainelli@gmail.com>2175M: Florian Fainelli <f.fainelli@gmail.com>
2155L: linux-mips@linux-mips.org2176L: linux-mips@linux-mips.org
2177T: git git://github.com/broadcom/stblinux.git
2156S: Maintained2178S: Maintained
2157F: arch/mips/bmips/*2179F: arch/mips/bmips/*
2158F: arch/mips/include/asm/mach-bmips/*2180F: arch/mips/include/asm/mach-bmips/*
@@ -2195,7 +2217,7 @@ M: Ray Jui <rjui@broadcom.com> · 36 unmodified lines
2195M: Scott Branden <sbranden@broadcom.com>2217M: Scott Branden <sbranden@broadcom.com>
2196L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)2218L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
2197L: bcm-kernel-feedback-list@broadcom.com2219L: bcm-kernel-feedback-list@broadcom.com
2198T: git git://git.github.com/brcm/linux.git2220T: git git://github.com/broadcom/cygnus-linux.git
2199S: Maintained2221S: Maintained
2200N: iproc2222N: iproc
2201N: cygnus2223N: cygnus
@@ -2384,6 +2406,12 @@ F: security/capability.c · 182 unmodified lines
2384F: security/commoncap.c2406F: security/commoncap.c
2385F: kernel/capability.c2407F: kernel/capability.c
2386 2408
2409CAPELLA MICROSYSTEMS LIGHT SENSOR DRIVER
2410M: Kevin Tsai <ktsai@capellamicro.com>
2411S: Maintained
2412F: drivers/iio/light/cm*
2413F: Documentation/devicetree/bindings/i2c/trivial-devices.txt
2414
2387CC2520 IEEE-802.15.4 RADIO DRIVER2415CC2520 IEEE-802.15.4 RADIO DRIVER
2388M: Varka Bhadram <varkabhadram@gmail.com>2416M: Varka Bhadram <varkabhadram@gmail.com>
2389L: linux-wpan@vger.kernel.org2417L: linux-wpan@vger.kernel.org
@@ -2405,7 +2433,8 @@ F: arch/powerpc/oprofile/*cell* · 15 unmodified lines
2405F: arch/powerpc/platforms/cell/2433F: arch/powerpc/platforms/cell/
2406 2434
2407CEPH DISTRIBUTED FILE SYSTEM CLIENT2435CEPH DISTRIBUTED FILE SYSTEM CLIENT
2408M: Sage Weil <sage@inktank.com>2436M: Yan, Zheng <zyan@redhat.com>
2437M: Sage Weil <sage@redhat.com>
2409L: ceph-devel@vger.kernel.org2438L: ceph-devel@vger.kernel.org
2410W: http://ceph.com/2439W: http://ceph.com/
2411T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git2440T: git git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client.git
@@ -2942,6 +2971,12 @@ S: Supported · 530 unmodified lines
2942F: drivers/input/touchscreen/cyttsp*2971F: drivers/input/touchscreen/cyttsp*
2943F: include/linux/input/cyttsp.h2972F: include/linux/input/cyttsp.h
2944 2973
2974DALLAS/MAXIM DS1685-FAMILY REAL TIME CLOCK
2975M: Joshua Kinard <kumba@gentoo.org>
2976S: Maintained
2977F: drivers/rtc/rtc-ds1685.c
2978F: include/linux/rtc/ds1685.h
2979
2945DAMA SLAVE for AX.252980DAMA SLAVE for AX.25
2946M: Joerg Reuter <jreuter@yaina.de>2981M: Joerg Reuter <jreuter@yaina.de>
2947W: http://yaina.de/jreuter/2982W: http://yaina.de/jreuter/
@@ -3018,6 +3053,7 @@ F: drivers/platform/x86/dell-laptop.c · 70 unmodified lines
3018 3053
3019DELL LAPTOP SMM DRIVER3054DELL LAPTOP SMM DRIVER
3020M: Guenter Roeck <linux@roeck-us.net>3055M: Guenter Roeck <linux@roeck-us.net>
3056S: Maintained
3021F: drivers/char/i8k.c3057F: drivers/char/i8k.c
3022F: include/uapi/linux/i8k.h3058F: include/uapi/linux/i8k.h
3023 3059
@@ -3033,7 +3069,7 @@ S: Maintained · 9 unmodified lines
3033F: drivers/platform/x86/dell-wmi.c3069F: drivers/platform/x86/dell-wmi.c
3034 3070
3035DESIGNWARE USB2 DRD IP DRIVER3071DESIGNWARE USB2 DRD IP DRIVER
3036M: Paul Zimmerman <paulz@synopsys.com>3072M: John Youn <johnyoun@synopsys.com>
3037L: linux-usb@vger.kernel.org3073L: linux-usb@vger.kernel.org
3038T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git3074T: git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
3039S: Maintained3075S: Maintained
@@ -3129,6 +3165,12 @@ L: linux-i2c@vger.kernel.org · 89 unmodified lines
3129S: Maintained3165S: Maintained
3130F: drivers/i2c/busses/i2c-diolan-u2c.c3166F: drivers/i2c/busses/i2c-diolan-u2c.c
3131 3167
3168DIRECT ACCESS (DAX)
3169M: Matthew Wilcox <willy@linux.intel.com>
3170L: linux-fsdevel@vger.kernel.org
3171S: Supported
3172F: fs/dax.c
3173
3132DIRECTORY NOTIFICATION (DNOTIFY)3174DIRECTORY NOTIFICATION (DNOTIFY)
3133M: Eric Paris <eparis@parisplace.org>3175M: Eric Paris <eparis@parisplace.org>
3134S: Maintained3176S: Maintained
@@ -3213,6 +3255,7 @@ F: Documentation/ · 78 unmodified lines
3213X: Documentation/ABI/3255X: Documentation/ABI/
3214X: Documentation/devicetree/3256X: Documentation/devicetree/
3215X: Documentation/[a-z][a-z]_[A-Z][A-Z]/3257X: Documentation/[a-z][a-z]_[A-Z][A-Z]/
3258T: git git://git.lwn.net/linux-2.6.git docs-next
3216 3259
3217DOUBLETALK DRIVER3260DOUBLETALK DRIVER
3218M: "James R. Van Zandt" <jrv@vanzandt.mv.com>3261M: "James R. Van Zandt" <jrv@vanzandt.mv.com>
@@ -3472,6 +3515,14 @@ M: "Maciej W. Rozycki" <macro@linux-mips.org> · 253 unmodified lines
3472S: Maintained3515S: Maintained
3473F: drivers/tty/serial/dz.*3516F: drivers/tty/serial/dz.*
3474 3517
3518E3X0 POWER BUTTON DRIVER
3519M: Moritz Fischer <moritz.fischer@ettus.com>
3520L: usrp-users@lists.ettus.com
3521W: http://www.ettus.com
3522S: Supported
3523F: drivers/input/misc/e3x0-button.c
3524F: Documentation/devicetree/bindings/input/e3x0-button.txt
3525
3475E4000 MEDIA DRIVER3526E4000 MEDIA DRIVER
3476M: Antti Palosaari <crope@iki.fi>3527M: Antti Palosaari <crope@iki.fi>
3477L: linux-media@vger.kernel.org3528L: linux-media@vger.kernel.org
@@ -3513,6 +3564,8 @@ M: Borislav Petkov <bp@alien8.de> · 35 unmodified lines
3513M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>3564M: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
3514L: linux-edac@vger.kernel.org3565L: linux-edac@vger.kernel.org
3515W: bluesmoke.sourceforge.net3566W: bluesmoke.sourceforge.net
3567T: git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git#for-next
3568T: git://git.kernel.org/pub/linux/kernel/git/mchehab/linux-edac.git#linux_next
3516S: Supported3569S: Supported
3517F: Documentation/edac.txt3570F: Documentation/edac.txt
3518F: drivers/edac/3571F: drivers/edac/
@@ -3877,8 +3930,14 @@ S: Supported · 358 unmodified lines
3877F: Documentation/fault-injection/3930F: Documentation/fault-injection/
3878F: lib/fault-inject.c3931F: lib/fault-inject.c
3879 3932
3933FBTFT Framebuffer drivers
3934M: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
3935M: Noralf Trønnes <noralf@tronnes.org>
3936S: Maintained
3937F: drivers/staging/fbtft/
3938
3880FCOE SUBSYSTEM (libfc, libfcoe, fcoe)3939FCOE SUBSYSTEM (libfc, libfcoe, fcoe)
3881M: Robert Love <robert.w.love@intel.com>3940M: Vasu Dev <vasu.dev@intel.com>
3882L: fcoe-devel@open-fcoe.org3941L: fcoe-devel@open-fcoe.org
3883W: www.Open-FCoE.org3942W: www.Open-FCoE.org
3884S: Supported3943S: Supported
@@ -4034,6 +4093,12 @@ S: Maintained · 149 unmodified lines
4034F: include/linux/platform_data/video-imxfb.h4093F: include/linux/platform_data/video-imxfb.h
4035F: drivers/video/fbdev/imxfb.c4094F: drivers/video/fbdev/imxfb.c
4036 4095
4096FREESCALE QUAD SPI DRIVER
4097M: Han Xu <han.xu@freescale.com>
4098L: linux-mtd@lists.infradead.org
4099S: Maintained
4100F: drivers/mtd/spi-nor/fsl-quadspi.c
4101
4037FREESCALE SOC FS_ENET DRIVER4102FREESCALE SOC FS_ENET DRIVER
4038M: Pantelis Antoniou <pantelis.antoniou@gmail.com>4103M: Pantelis Antoniou <pantelis.antoniou@gmail.com>
4039M: Vitaly Bordug <vbordug@ru.mvista.com>4104M: Vitaly Bordug <vbordug@ru.mvista.com>
@@ -4174,6 +4239,11 @@ W: http://www.icp-vortex.com/ · 134 unmodified lines
4174S: Supported4239S: Supported
4175F: drivers/scsi/gdt*4240F: drivers/scsi/gdt*
4176 4241
4242GDB KERNEL DEBUGGING HELPER SCRIPTS
4243M: Jan Kiszka <jan.kiszka@siemens.com>
4244S: Supported
4245F: scripts/gdb/
4246
4177GEMTEK FM RADIO RECEIVER DRIVER4247GEMTEK FM RADIO RECEIVER DRIVER
4178M: Hans Verkuil <hverkuil@xs4all.nl>4248M: Hans Verkuil <hverkuil@xs4all.nl>
4179L: linux-media@vger.kernel.org4249L: linux-media@vger.kernel.org
@@ -4408,6 +4478,7 @@ F: include/linux/hwmon*.h · 228 unmodified lines
4408HARDWARE RANDOM NUMBER GENERATOR CORE4478HARDWARE RANDOM NUMBER GENERATOR CORE
4409M: Matt Mackall <mpm@selenic.com>4479M: Matt Mackall <mpm@selenic.com>
4410M: Herbert Xu <herbert@gondor.apana.org.au>4480M: Herbert Xu <herbert@gondor.apana.org.au>
4481L: linux-crypto@vger.kernel.org
4411S: Odd fixes4482S: Odd fixes
4412F: Documentation/hw_random.txt4483F: Documentation/hw_random.txt
4413F: drivers/char/hw_random/4484F: drivers/char/hw_random/
@@ -4893,7 +4964,7 @@ F: drivers/ipack/ · 479 unmodified lines
4893 4964
4894INTEGRITY MEASUREMENT ARCHITECTURE (IMA)4965INTEGRITY MEASUREMENT ARCHITECTURE (IMA)
4895M: Mimi Zohar <zohar@linux.vnet.ibm.com>4966M: Mimi Zohar <zohar@linux.vnet.ibm.com>
4896M: Dmitry Kasatkin <d.kasatkin@samsung.com>4967M: Dmitry Kasatkin <dmitry.kasatkin@gmail.com>
4897L: linux-ima-devel@lists.sourceforge.net4968L: linux-ima-devel@lists.sourceforge.net
4898L: linux-ima-user@lists.sourceforge.net4969L: linux-ima-user@lists.sourceforge.net
4899L: linux-security-module@vger.kernel.org4970L: linux-security-module@vger.kernel.org
@@ -4953,6 +5024,16 @@ F: Documentation/input/multi-touch-protocol.txt · 53 unmodified lines
4953F: drivers/input/input-mt.c5024F: drivers/input/input-mt.c
4954K: \b(ABS|SYN)_MT_5025K: \b(ABS|SYN)_MT_
4955 5026
5027INTEL ASoC BDW/HSW DRIVERS
5028M: Jie Yang <yang.jie@linux.intel.com>
5029L: alsa-devel@alsa-project.org
5030S: Supported
5031F: sound/soc/intel/sst-haswell*
5032F: sound/soc/intel/sst-dsp*
5033F: sound/soc/intel/sst-firmware.c
5034F: sound/soc/intel/broadwell.c
5035F: sound/soc/intel/haswell.c
5036
4956INTEL C600 SERIES SAS CONTROLLER DRIVER5037INTEL C600 SERIES SAS CONTROLLER DRIVER
4957M: Intel SCU Linux support <intel-linux-scu@intel.com>5038M: Intel SCU Linux support <intel-linux-scu@intel.com>
4958M: Artur Paszkiewicz <artur.paszkiewicz@intel.com>5039M: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
@@ -5840,6 +5921,21 @@ F: Documentation/misc-devices/lis3lv02d · 881 unmodified lines
5840F: drivers/misc/lis3lv02d/5921F: drivers/misc/lis3lv02d/
5841F: drivers/platform/x86/hp_accel.c5922F: drivers/platform/x86/hp_accel.c
5842 5923
5924LIVE PATCHING
5925M: Josh Poimboeuf <jpoimboe@redhat.com>
5926M: Seth Jennings <sjenning@redhat.com>
5927M: Jiri Kosina <jkosina@suse.cz>
5928M: Vojtech Pavlik <vojtech@suse.cz>
5929S: Maintained
5930F: kernel/livepatch/
5931F: include/linux/livepatch.h
5932F: arch/x86/include/asm/livepatch.h
5933F: arch/x86/kernel/livepatch.c
5934F: Documentation/ABI/testing/sysfs-kernel-livepatch
5935F: samples/livepatch/
5936L: live-patching@vger.kernel.org
5937T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git
5938
5843LLC (802.2)5939LLC (802.2)
5844M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>5940M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
5845S: Maintained5941S: Maintained
@@ -6138,6 +6234,33 @@ F: Documentation/devicetree/bindings/i2c/max6697.txt · 292 unmodified lines
6138F: drivers/hwmon/max6697.c6234F: drivers/hwmon/max6697.c
6139F: include/linux/platform_data/max6697.h6235F: include/linux/platform_data/max6697.h
6140 6236
6237MAXIM MUIC CHARGER DRIVERS FOR EXYNOS BASED BOARDS
6238M: Krzysztof Kozlowski <k.kozlowski@samsung.com>
6239L: linux-pm@vger.kernel.org
6240S: Supported
6241F: drivers/power/max14577_charger.c
6242F: drivers/power/max77693_charger.c
6243
6244MAXIM PMIC AND MUIC DRIVERS FOR EXYNOS BASED BOARDS
6245M: Chanwoo Choi <cw00.choi@samsung.com>
6246M: Krzysztof Kozlowski <k.kozlowski@samsung.com>
6247L: linux-kernel@vger.kernel.org
6248S: Supported
6249F: drivers/*/max14577.c
6250F: drivers/*/max77686.c
6251F: drivers/*/max77693.c
6252F: drivers/extcon/extcon-max14577.c
6253F: drivers/extcon/extcon-max77693.c
6254F: drivers/rtc/rtc-max77686.c
6255F: drivers/clk/clk-max77686.c
6256F: Documentation/devicetree/bindings/mfd/max14577.txt
6257F: Documentation/devicetree/bindings/mfd/max77686.txt
6258F: Documentation/devicetree/bindings/mfd/max77693.txt
6259F: Documentation/devicetree/bindings/clock/maxim,max77686.txt
6260F: include/linux/mfd/max14577*.h
6261F: include/linux/mfd/max77686*.h
6262F: include/linux/mfd/max77693*.h
6263
6141MAXIRADIO FM RADIO RECEIVER DRIVER6264MAXIRADIO FM RADIO RECEIVER DRIVER
6142M: Hans Verkuil <hverkuil@xs4all.nl>6265M: Hans Verkuil <hverkuil@xs4all.nl>
6143L: linux-media@vger.kernel.org6266L: linux-media@vger.kernel.org
@@ -6168,14 +6291,6 @@ F: include/uapi/linux/meye.h · 24 unmodified lines
6168F: include/uapi/linux/ivtv*6291F: include/uapi/linux/ivtv*
6169F: include/uapi/linux/uvcvideo.h6292F: include/uapi/linux/uvcvideo.h
6170 6293
6171MEDIAVISION PRO MOVIE STUDIO DRIVER
6172M: Hans Verkuil <hverkuil@xs4all.nl>
6173L: linux-media@vger.kernel.org
6174T: git git://linuxtv.org/media_tree.git
6175W: http://linuxtv.org
6176S: Odd Fixes
6177F: drivers/media/parport/pms*
6178
6179MEGARAID SCSI/SAS DRIVERS6294MEGARAID SCSI/SAS DRIVERS
6180M: Kashyap Desai <kashyap.desai@avagotech.com>6295M: Kashyap Desai <kashyap.desai@avagotech.com>
6181M: Sumit Saxena <sumit.saxena@avagotech.com>6296M: Sumit Saxena <sumit.saxena@avagotech.com>
@@ -6593,9 +6708,10 @@ F: include/uapi/linux/netrom.h · 411 unmodified lines
6593F: net/netrom/6708F: net/netrom/
6594 6709
6595NETWORK BLOCK DEVICE (NBD)6710NETWORK BLOCK DEVICE (NBD)
6596M: Paul Clements <Paul.Clements@steeleye.com>6711M: Markus Pargmann <mpa@pengutronix.de>
6597S: Maintained6712S: Maintained
6598L: nbd-general@lists.sourceforge.net6713L: nbd-general@lists.sourceforge.net
6714T: git git://git.pengutronix.de/git/mpa/linux-nbd.git
6599F: Documentation/blockdev/nbd.txt6715F: Documentation/blockdev/nbd.txt
6600F: drivers/block/nbd.c6716F: drivers/block/nbd.c
6601F: include/linux/nbd.h6717F: include/linux/nbd.h
@@ -6624,6 +6740,7 @@ F: include/linux/netdevice.h · 22 unmodified lines
6624F: include/uapi/linux/in.h6740F: include/uapi/linux/in.h
6625F: include/uapi/linux/net.h6741F: include/uapi/linux/net.h
6626F: include/uapi/linux/netdevice.h6742F: include/uapi/linux/netdevice.h
6743F: include/uapi/linux/net_namespace.h
6627F: tools/net/6744F: tools/net/
6628F: tools/testing/selftests/net/6745F: tools/testing/selftests/net/
6629F: lib/random32.c6746F: lib/random32.c
@@ -6728,6 +6845,7 @@ F: Documentation/devicetree/bindings/net/nfc/ · 98 unmodified lines
6728 6845
6729NFS, SUNRPC, AND LOCKD CLIENTS6846NFS, SUNRPC, AND LOCKD CLIENTS
6730M: Trond Myklebust <trond.myklebust@primarydata.com>6847M: Trond Myklebust <trond.myklebust@primarydata.com>
6848M: Anna Schumaker <anna.schumaker@netapp.com>
6731L: linux-nfs@vger.kernel.org6849L: linux-nfs@vger.kernel.org
6732W: http://client.linux-nfs.org6850W: http://client.linux-nfs.org
6733T: git git://git.linux-nfs.org/projects/trondmy/linux-nfs.git6851T: git git://git.linux-nfs.org/projects/trondmy/linux-nfs.git
@@ -6770,7 +6888,7 @@ F: drivers/scsi/nsp32* · 36 unmodified lines
6770NIOS2 ARCHITECTURE6888NIOS2 ARCHITECTURE
6771M: Ley Foon Tan <lftan@altera.com>6889M: Ley Foon Tan <lftan@altera.com>
6772L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)6890L: nios2-dev@lists.rocketboards.org (moderated for non-subscribers)
6773T: git git://git.rocketboards.org/linux-socfpga.git6891T: git git://git.rocketboards.org/linux-socfpga-next.git
6774S: Maintained6892S: Maintained
6775F: arch/nios2/6893F: arch/nios2/
6776 6894
@@ -6943,6 +7061,12 @@ L: linux-omap@vger.kernel.org · 166 unmodified lines
6943S: Maintained7061S: Maintained
6944F: arch/arm/mach-omap2/omap_hwmod.*7062F: arch/arm/mach-omap2/omap_hwmod.*
6945 7063
7064OMAP HWMOD DATA
7065M: Paul Walmsley <paul@pwsan.com>
7066L: linux-omap@vger.kernel.org
7067S: Maintained
7068F: arch/arm/mach-omap2/omap_hwmod*data*
7069
6946OMAP HWMOD DATA FOR OMAP4-BASED DEVICES7070OMAP HWMOD DATA FOR OMAP4-BASED DEVICES
6947M: Benoît Cousson <bcousson@baylibre.com>7071M: Benoît Cousson <bcousson@baylibre.com>
6948L: linux-omap@vger.kernel.org7072L: linux-omap@vger.kernel.org
@@ -7062,11 +7186,12 @@ F: arch/openrisc/ · 113 unmodified lines
7062 7186
7063OPENVSWITCH7187OPENVSWITCH
7064M: Pravin Shelar <pshelar@nicira.com>7188M: Pravin Shelar <pshelar@nicira.com>
7189L: netdev@vger.kernel.org
7065L: dev@openvswitch.org7190L: dev@openvswitch.org
7066W: http://openvswitch.org7191W: http://openvswitch.org
7067T: git git://git.kernel.org/pub/scm/linux/kernel/git/pshelar/openvswitch.git
7068S: Maintained7192S: Maintained
7069F: net/openvswitch/7193F: net/openvswitch/
7194F: include/uapi/linux/openvswitch.h
7070 7195
7071OPL4 DRIVER7196OPL4 DRIVER
7072M: Clemens Ladisch <clemens@ladisch.de>7197M: Clemens Ladisch <clemens@ladisch.de>
@@ -7178,7 +7303,7 @@ M: Alok Kataria <akataria@vmware.com> · 105 unmodified lines
7178M: Rusty Russell <rusty@rustcorp.com.au>7303M: Rusty Russell <rusty@rustcorp.com.au>
7179L: virtualization@lists.linux-foundation.org7304L: virtualization@lists.linux-foundation.org
7180S: Supported7305S: Supported
7181F: Documentation/ia64/paravirt_ops.txt7306F: Documentation/virtual/paravirt_ops.txt
7182F: arch/*/kernel/paravirt*7307F: arch/*/kernel/paravirt*
7183F: arch/*/include/asm/paravirt.h7308F: arch/*/include/asm/paravirt.h
7184 7309
@@ -7264,6 +7389,14 @@ F: include/linux/pci* · 79 unmodified lines
7264F: arch/x86/pci/7389F: arch/x86/pci/
7265F: arch/x86/kernel/quirks.c7390F: arch/x86/kernel/quirks.c
7266 7391
7392PCI DRIVER FOR ARM VERSATILE PLATFORM
7393M: Rob Herring <robh@kernel.org>
7394L: linux-pci@vger.kernel.org
7395L: linux-arm-kernel@lists.infradead.org
7396S: Maintained
7397F: Documentation/devicetree/bindings/pci/versatile.txt
7398F: drivers/pci/host/pci-versatile.c
7399
7267PCI DRIVER FOR APPLIEDMICRO XGENE7400PCI DRIVER FOR APPLIEDMICRO XGENE
7268M: Tanmay Inamdar <tinamdar@apm.com>7401M: Tanmay Inamdar <tinamdar@apm.com>
7269L: linux-pci@vger.kernel.org7402L: linux-pci@vger.kernel.org
@@ -7865,17 +7998,9 @@ T: git git://github.com/KrasnikovEugene/wcn36xx.git · 595 unmodified lines
7865S: Supported7998S: Supported
7866F: drivers/net/wireless/ath/wcn36xx/7999F: drivers/net/wireless/ath/wcn36xx/
7867 8000
7868QUICKCAM PARALLEL PORT WEBCAMS
7869M: Hans Verkuil <hverkuil@xs4all.nl>
7870L: linux-media@vger.kernel.org
7871T: git git://linuxtv.org/media_tree.git
7872W: http://linuxtv.org
7873S: Odd Fixes
7874F: drivers/media/parport/*-qcam*
7875
7876RADOS BLOCK DEVICE (RBD)8001RADOS BLOCK DEVICE (RBD)
7877M: Yehuda Sadeh <yehuda@inktank.com>8002M: Ilya Dryomov <idryomov@gmail.com>
7878M: Sage Weil <sage@inktank.com>8003M: Sage Weil <sage@redhat.com>
7879M: Alex Elder <elder@kernel.org>8004M: Alex Elder <elder@kernel.org>
7880M: ceph-devel@vger.kernel.org8005M: ceph-devel@vger.kernel.org
7881W: http://ceph.com/8006W: http://ceph.com/
@@ -8061,6 +8186,13 @@ S: Maintained · 179 unmodified lines
8061F: Documentation/rfkill.txt8186F: Documentation/rfkill.txt
8062F: net/rfkill/8187F: net/rfkill/
8063 8188
8189RHASHTABLE
8190M: Thomas Graf <tgraf@suug.ch>
8191L: netdev@vger.kernel.org
8192S: Maintained
8193F: lib/rhashtable.c
8194F: include/linux/rhashtable.h
8195
8064RICOH SMARTMEDIA/XD DRIVER8196RICOH SMARTMEDIA/XD DRIVER
8065M: Maxim Levitsky <maximlevitsky@gmail.com>8197M: Maxim Levitsky <maximlevitsky@gmail.com>
8066S: Maintained8198S: Maintained
@@ -8372,6 +8504,7 @@ SYNOPSYS DESIGNWARE DMAC DRIVER · 305 unmodified lines
8372M: Viresh Kumar <viresh.linux@gmail.com>8504M: Viresh Kumar <viresh.linux@gmail.com>
8373M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>8505M: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
8374S: Maintained8506S: Maintained
8507F: include/linux/dma/dw.h
8375F: include/linux/platform_data/dma-dw.h8508F: include/linux/platform_data/dma-dw.h
8376F: drivers/dma/dw/8509F: drivers/dma/dw/
8377 8510
@@ -8403,12 +8536,6 @@ F: kernel/time/clocksource.c · 25 unmodified lines
8403F: kernel/time/time*.c8536F: kernel/time/time*.c
8404F: kernel/time/ntp.c8537F: kernel/time/ntp.c
8405 8538
8406TLG2300 VIDEO4LINUX-2 DRIVER
8407M: Huang Shijie <shijie8@gmail.com>
8408M: Hans Verkuil <hverkuil@xs4all.nl>
8409S: Odd Fixes
8410F: drivers/media/usb/tlg2300/
8411
8412SC1200 WDT DRIVER8539SC1200 WDT DRIVER
8413M: Zwane Mwaikambo <zwanem@gmail.com>8540M: Zwane Mwaikambo <zwanem@gmail.com>
8414S: Maintained8541S: Maintained
@@ -8440,7 +8567,7 @@ S: Maintained · 25 unmodified lines
8440F: drivers/scsi/sr*8567F: drivers/scsi/sr*
8441 8568
8442SCSI RDMA PROTOCOL (SRP) INITIATOR8569SCSI RDMA PROTOCOL (SRP) INITIATOR
8443M: Bart Van Assche <bvanassche@acm.org>8570M: Bart Van Assche <bart.vanassche@sandisk.com>
8444L: linux-rdma@vger.kernel.org8571L: linux-rdma@vger.kernel.org
8445S: Supported8572S: Supported
8446W: http://www.openfabrics.org8573W: http://www.openfabrics.org
@@ -8774,6 +8901,15 @@ S: Maintained · 327 unmodified lines
8774F: drivers/media/platform/davinci/8901F: drivers/media/platform/davinci/
8775F: include/media/davinci/8902F: include/media/davinci/
8776 8903
8904TI AM437X VPFE DRIVER
8905M: Lad, Prabhakar <prabhakar.csengg@gmail.com>
8906L: linux-media@vger.kernel.org
8907W: http://linuxtv.org/
8908Q: http://patchwork.linuxtv.org/project/linux-media/list/
8909T: git git://linuxtv.org/mhadli/v4l-dvb-davinci_devices.git
8910S: Maintained
8911F: drivers/media/platform/am437x/
8912
8777SIS 190 ETHERNET DRIVER8913SIS 190 ETHERNET DRIVER
8778M: Francois Romieu <romieu@fr.zoreil.com>8914M: Francois Romieu <romieu@fr.zoreil.com>
8779L: netdev@vger.kernel.org8915L: netdev@vger.kernel.org
@@ -8855,6 +8991,8 @@ F: drivers/media/i2c/smiapp/ · 75 unmodified lines
8855F: include/media/smiapp.h8991F: include/media/smiapp.h
8856F: drivers/media/i2c/smiapp-pll.c8992F: drivers/media/i2c/smiapp-pll.c
8857F: drivers/media/i2c/smiapp-pll.h8993F: drivers/media/i2c/smiapp-pll.h
8994F: include/uapi/linux/smiapp.h
8995F: Documentation/devicetree/bindings/media/i2c/nokia,smia.txt
8858 8996
8859SMM665 HARDWARE MONITOR DRIVER8997SMM665 HARDWARE MONITOR DRIVER
8860M: Guenter Roeck <linux@roeck-us.net>8998M: Guenter Roeck <linux@roeck-us.net>
@@ -8921,6 +9059,7 @@ SOFTLOGIC 6x10 MPEG CODEC · 60 unmodified lines
8921M: Bluecherry Maintainers <maintainers@bluecherrydvr.com>9059M: Bluecherry Maintainers <maintainers@bluecherrydvr.com>
8922M: Andrey Utkin <andrey.utkin@corp.bluecherry.net>9060M: Andrey Utkin <andrey.utkin@corp.bluecherry.net>
8923M: Andrey Utkin <andrey.krieger.utkin@gmail.com>9061M: Andrey Utkin <andrey.krieger.utkin@gmail.com>
9062M: Ismael Luceno <ismael@iodev.co.uk>
8924L: linux-media@vger.kernel.org9063L: linux-media@vger.kernel.org
8925S: Supported9064S: Supported
8926F: drivers/media/pci/solo6x10/9065F: drivers/media/pci/solo6x10/
@@ -9193,6 +9332,14 @@ L: linux-wireless@vger.kernel.org · 266 unmodified lines
9193S: Maintained9332S: Maintained
9194F: drivers/staging/rtl8723au/9333F: drivers/staging/rtl8723au/
9195 9334
9335STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
9336M: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
9337M: Teddy Wang <teddy.wang@siliconmotion.com>
9338M: Sudip Mukherjee <sudip@vectorindia.org>
9339L: linux-fbdev@vger.kernel.org
9340S: Maintained
9341F: drivers/staging/sm7xxfb/
9342
9196STAGING - SLICOSS9343STAGING - SLICOSS
9197M: Lior Dotan <liodot@gmail.com>9344M: Lior Dotan <liodot@gmail.com>
9198M: Christopher Harrer <charrer@alacritech.com>9345M: Christopher Harrer <charrer@alacritech.com>
@@ -9233,6 +9380,13 @@ F: arch/m68k/sun3*/ · 34 unmodified lines
9233F: arch/m68k/include/asm/sun3*9380F: arch/m68k/include/asm/sun3*
9234F: drivers/net/ethernet/i825xx/sun3*9381F: drivers/net/ethernet/i825xx/sun3*
9235 9382
9383SUN4I LOW RES ADC ATTACHED TABLET KEYS DRIVER
9384M: Hans de Goede <hdegoede@redhat.com>
9385L: linux-input@vger.kernel.org
9386S: Maintained
9387F: Documentation/devicetree/bindings/input/sun4i-lradc-keys.txt
9388F: drivers/input/keyboard/sun4i-lradc-keys.c
9389
9236SUNDANCE NETWORK DRIVER9390SUNDANCE NETWORK DRIVER
9237M: Denis Kirjanov <kda@linux-powerpc.org>9391M: Denis Kirjanov <kda@linux-powerpc.org>
9238L: netdev@vger.kernel.org9392L: netdev@vger.kernel.org
@@ -9241,7 +9395,6 @@ F: drivers/net/ethernet/dlink/sundance.c · 2 unmodified lines
9241 9395
9242SUPERH9396SUPERH
9243L: linux-sh@vger.kernel.org9397L: linux-sh@vger.kernel.org
9244W: http://www.linux-sh.org
9245Q: http://patchwork.kernel.org/project/linux-sh/list/9398Q: http://patchwork.kernel.org/project/linux-sh/list/
9246S: Orphan9399S: Orphan
9247F: Documentation/sh/9400F: Documentation/sh/
@@ -9566,6 +9719,11 @@ L: linux-omap@vger.kernel.org · 318 unmodified lines
9566S: Maintained9719S: Maintained
9567F: drivers/thermal/ti-soc-thermal/9720F: drivers/thermal/ti-soc-thermal/
9568 9721
9722TI CDCE706 CLOCK DRIVER
9723M: Max Filippov <jcmvbkbc@gmail.com>
9724S: Maintained
9725F: drivers/clk/clk-cdce706.c
9726
9569TI CLOCK DRIVER9727TI CLOCK DRIVER
9570M: Tero Kristo <t-kristo@ti.com>9728M: Tero Kristo <t-kristo@ti.com>
9571L: linux-omap@vger.kernel.org9729L: linux-omap@vger.kernel.org
@@ -9620,6 +9778,13 @@ F: drivers/power/lp8788-charger.c · 48 unmodified lines
9620F: drivers/regulator/lp8788-*.c9778F: drivers/regulator/lp8788-*.c
9621F: include/linux/mfd/lp8788*.h9779F: include/linux/mfd/lp8788*.h
9622 9780
9781TI NETCP ETHERNET DRIVER
9782M: Wingman Kwok <w-kwok2@ti.com>
9783M: Murali Karicheri <m-karicheri2@ti.com>
9784L: netdev@vger.kernel.org
9785S: Maintained
9786F: drivers/net/ethernet/ti/netcp*
9787
9623TI TWL4030 SERIES SOC CODEC DRIVER9788TI TWL4030 SERIES SOC CODEC DRIVER
9624M: Peter Ujfalusi <peter.ujfalusi@ti.com>9789M: Peter Ujfalusi <peter.ujfalusi@ti.com>
9625L: alsa-devel@alsa-project.org (moderated for non-subscribers)9790L: alsa-devel@alsa-project.org (moderated for non-subscribers)
@@ -9647,7 +9812,7 @@ F: net/tipc/ · 21 unmodified lines
9647 9812
9648TILE ARCHITECTURE9813TILE ARCHITECTURE
9649M: Chris Metcalf <cmetcalf@ezchip.com>9814M: Chris Metcalf <cmetcalf@ezchip.com>
9650W: http://www.tilera.com/scm/9815W: http://www.ezchip.com/scm/
9651S: Supported9816S: Supported
9652F: arch/tile/9817F: arch/tile/
9653F: drivers/char/tile-srom.c9818F: drivers/char/tile-srom.c
@@ -9740,13 +9905,21 @@ F: drivers/media/pci/tw68/ · 86 unmodified lines
9740 9905
9741TPM DEVICE DRIVER9906TPM DEVICE DRIVER
9742M: Peter Huewe <peterhuewe@gmx.de>9907M: Peter Huewe <peterhuewe@gmx.de>
9743M: Ashley Lai <ashley@ashleylai.com>
9744M: Marcel Selhorst <tpmdd@selhorst.net>9908M: Marcel Selhorst <tpmdd@selhorst.net>
9745W: http://tpmdd.sourceforge.net9909W: http://tpmdd.sourceforge.net
9746L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)9910L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
9911Q: git git://github.com/PeterHuewe/linux-tpmdd.git
9912T: https://github.com/PeterHuewe/linux-tpmdd
9747S: Maintained9913S: Maintained
9748F: drivers/char/tpm/9914F: drivers/char/tpm/
9749 9915
9916TPM IBM_VTPM DEVICE DRIVER
9917M: Ashley Lai <ashleydlai@gmail.com>
9918W: http://tpmdd.sourceforge.net
9919L: tpmdd-devel@lists.sourceforge.net (moderated for non-subscribers)
9920S: Maintained
9921F: drivers/char/tpm/tpm_ibmvtpm*
9922
9750TRACING9923TRACING
9751M: Steven Rostedt <rostedt@goodmis.org>9924M: Steven Rostedt <rostedt@goodmis.org>
9752M: Ingo Molnar <mingo@redhat.com>9925M: Ingo Molnar <mingo@redhat.com>
@@ -9901,20 +10074,15 @@ F: drivers/scsi/ufs/ · 148 unmodified lines
9901 10074
9902UNSORTED BLOCK IMAGES (UBI)10075UNSORTED BLOCK IMAGES (UBI)
9903M: Artem Bityutskiy <dedekind1@gmail.com>10076M: Artem Bityutskiy <dedekind1@gmail.com>
10077M: Richard Weinberger <richard@nod.at>
9904W: http://www.linux-mtd.infradead.org/10078W: http://www.linux-mtd.infradead.org/
9905L: linux-mtd@lists.infradead.org10079L: linux-mtd@lists.infradead.org
9906T: git git://git.infradead.org/ubifs-2.6.git10080T: git git://git.infradead.org/ubifs-2.6.git
9907S: Maintained10081S: Supported
9908F: drivers/mtd/ubi/10082F: drivers/mtd/ubi/
9909F: include/linux/mtd/ubi.h10083F: include/linux/mtd/ubi.h
9910F: include/uapi/mtd/ubi-user.h10084F: include/uapi/mtd/ubi-user.h
9911 10085
9912UNSORTED BLOCK IMAGES (UBI) Fastmap
9913M: Richard Weinberger <richard@nod.at>
9914L: linux-mtd@lists.infradead.org
9915S: Maintained
9916F: drivers/mtd/ubi/fastmap.c
9917
9918USB ACM DRIVER10086USB ACM DRIVER
9919M: Oliver Neukum <oliver@neukum.org>10087M: Oliver Neukum <oliver@neukum.org>
9920L: linux-usb@vger.kernel.org10088L: linux-usb@vger.kernel.org
@@ -10604,6 +10772,7 @@ F: drivers/pci/*xen* · 683 unmodified lines
10604 10772
10605XEN BLOCK SUBSYSTEM10773XEN BLOCK SUBSYSTEM
10606M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>10774M: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
10775M: Roger Pau Monné <roger.pau@citrix.com>
10607L: xen-devel@lists.xenproject.org (moderated for non-subscribers)10776L: xen-devel@lists.xenproject.org (moderated for non-subscribers)
10608S: Supported10777S: Supported
10609F: drivers/block/xen-blkback/*10778F: drivers/block/xen-blkback/*
@@ -10659,6 +10828,7 @@ M: Max Filippov <jcmvbkbc@gmail.com> · 49 unmodified lines
10659L: linux-xtensa@linux-xtensa.org10828L: linux-xtensa@linux-xtensa.org
10660S: Maintained10829S: Maintained
10661F: drivers/spi/spi-xtensa-xtfpga.c10830F: drivers/spi/spi-xtensa-xtfpga.c
10831F: sound/soc/xtensa/xtfpga-i2s.c
10662 10832
10663YAM DRIVER FOR AX.2510833YAM DRIVER FOR AX.25
10664M: Jean-Paul Roubelat <jpr@f6fbb.org>10834M: Jean-Paul Roubelat <jpr@f6fbb.org>
Makefile+17−9
@@ -1,8 +1,8 @@
1VERSION = 31VERSION = 4
2PATCHLEVEL = 192PATCHLEVEL = 0
3SUBLEVEL = 03SUBLEVEL = 0
4EXTRAVERSION = -rc74EXTRAVERSION = -rc1
5NAME = Diseased Newt5NAME = Hurr durr I'ma sheep
6 6
7# *DOCUMENTATION*7# *DOCUMENTATION*
8# To see a list of typical targets execute "make help"8# 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
423export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS423export HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
424 424
425export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS425export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS
426export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV426export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE CFLAGS_GCOV CFLAGS_KASAN
427export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE427export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
428export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE428export KBUILD_AFLAGS_MODULE KBUILD_CFLAGS_MODULE KBUILD_LDFLAGS_MODULE
429export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL429export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
@@ -502,7 +502,7 @@ endif · 72 unmodified lines
502ifeq ($(KBUILD_EXTMOD),)502ifeq ($(KBUILD_EXTMOD),)
503 ifneq ($(filter config %config,$(MAKECMDGOALS)),)503 ifneq ($(filter config %config,$(MAKECMDGOALS)),)
504 config-targets := 1504 config-targets := 1
505 ifneq ($(filter-out config %config,$(MAKECMDGOALS)),)505 ifneq ($(words $(MAKECMDGOALS)),1)
506 mixed-targets := 1506 mixed-targets := 1
507 endif507 endif
508 endif508 endif
@@ -726,10 +726,14 @@ KBUILD_CFLAGS += $(call cc-option, -femit-struct-debug-baseonly) \ · 217 unmodified lines
726endif726endif
727 727
728ifdef CONFIG_FUNCTION_TRACER728ifdef CONFIG_FUNCTION_TRACER
729ifndef CC_FLAGS_FTRACE
730CC_FLAGS_FTRACE := -pg
731endif
732export CC_FLAGS_FTRACE
729ifdef CONFIG_HAVE_FENTRY733ifdef CONFIG_HAVE_FENTRY
730CC_USING_FENTRY := $(call cc-option, -mfentry -DCC_USING_FENTRY)734CC_USING_FENTRY := $(call cc-option, -mfentry -DCC_USING_FENTRY)
731endif735endif
732KBUILD_CFLAGS += -pg $(CC_USING_FENTRY)736KBUILD_CFLAGS += $(CC_FLAGS_FTRACE) $(CC_USING_FENTRY)
733KBUILD_AFLAGS += $(CC_USING_FENTRY)737KBUILD_AFLAGS += $(CC_USING_FENTRY)
734ifdef CONFIG_DYNAMIC_FTRACE738ifdef CONFIG_DYNAMIC_FTRACE
735 ifdef CONFIG_HAVE_C_RECORDMCOUNT739 ifdef CONFIG_HAVE_C_RECORDMCOUNT
@@ -777,6 +781,7 @@ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)), y) · 41 unmodified lines
777 KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO781 KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
778endif782endif
779 783
784include $(srctree)/scripts/Makefile.kasan
780include $(srctree)/scripts/Makefile.extrawarn785include $(srctree)/scripts/Makefile.extrawarn
781 786
782# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments787# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
@@ -921,6 +926,9 @@ ifdef CONFIG_SAMPLES · 138 unmodified lines
921endif926endif
922ifdef CONFIG_BUILD_DOCSRC927ifdef CONFIG_BUILD_DOCSRC
923 $(Q)$(MAKE) $(build)=Documentation928 $(Q)$(MAKE) $(build)=Documentation
929endif
930ifdef CONFIG_GDB_SCRIPTS
931 $(Q)ln -fsn `cd $(srctree) && /bin/pwd`/scripts/gdb/vmlinux-gdb.py
924endif932endif
925 +$(call if_changed,link-vmlinux)933 +$(call if_changed,link-vmlinux)
926 934
@@ -1172,11 +1180,11 @@ CLEAN_DIRS += $(MODVERDIR) · 245 unmodified lines
1172# Directories & files removed with 'make mrproper'1180# Directories & files removed with 'make mrproper'
1173MRPROPER_DIRS += include/config usr/include include/generated \1181MRPROPER_DIRS += include/config usr/include include/generated \
1174 arch/*/include/generated .tmp_objdiff1182 arch/*/include/generated .tmp_objdiff
1175MRPROPER_FILES += .config .config.old .version .old_version $(version_h) \1183MRPROPER_FILES += .config .config.old .version .old_version \
1176 Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \1184 Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS \
1177 signing_key.priv signing_key.x509 x509.genkey \1185 signing_key.priv signing_key.x509 x509.genkey \
1178 extra_certificates signing_key.x509.keyid \1186 extra_certificates signing_key.x509.keyid \
1179 signing_key.x509.signer1187 signing_key.x509.signer vmlinux-gdb.py
1180 1188
1181# clean - Delete most, but leave enough to build external modules1189# clean - Delete most, but leave enough to build external modules
1182#1190#
arch/alpha/include/asm/pgtable.h+1−8
@@ -45,7 +45,7 @@ struct vm_area_struct; · 44 unmodified lines
45#define PTRS_PER_PMD (1UL << (PAGE_SHIFT-3))45#define PTRS_PER_PMD (1UL << (PAGE_SHIFT-3))
46#define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3))46#define PTRS_PER_PGD (1UL << (PAGE_SHIFT-3))
47#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)47#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
48#define FIRST_USER_ADDRESS 048#define FIRST_USER_ADDRESS 0UL
49 49
50/* Number of pointers that fit on a page: this will go away. */50/* Number of pointers that fit on a page: this will go away. */
51#define PTRS_PER_PAGE (1UL << (PAGE_SHIFT-3))51#define PTRS_PER_PAGE (1UL << (PAGE_SHIFT-3))
@@ -73,7 +73,6 @@ struct vm_area_struct; · 21 unmodified lines
73/* .. and these are ours ... */73/* .. and these are ours ... */
74#define _PAGE_DIRTY 0x2000074#define _PAGE_DIRTY 0x20000
75#define _PAGE_ACCESSED 0x4000075#define _PAGE_ACCESSED 0x40000
76#define _PAGE_FILE 0x80000 /* set:pagecache, unset:swap */
77 76
78/*77/*
79 * NOTE! The "accessed" bit isn't necessarily exact: it can be kept exactly78 * 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
268extern inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_FOW); }267extern inline int pte_write(pte_t pte) { return !(pte_val(pte) & _PAGE_FOW); }
269extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }268extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
270extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }269extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
271extern inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
272extern inline int pte_special(pte_t pte) { return 0; }270extern inline int pte_special(pte_t pte) { return 0; }
273 271
274extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) |= _PAGE_FOW; return pte; }272extern 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
345#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })343#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
346#define __swp_entry_to_pte(x) ((pte_t) { (x).val })344#define __swp_entry_to_pte(x) ((pte_t) { (x).val })
347 345
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
353#ifndef CONFIG_DISCONTIGMEM346#ifndef CONFIG_DISCONTIGMEM
354#define kern_addr_valid(addr) (1)347#define kern_addr_valid(addr) (1)
355#endif348#endif
arch/alpha/include/asm/thread_info.h+0−5
@@ -27,8 +27,6 @@ struct thread_info { · 26 unmodified lines
27 int bpt_nsaved;27 int bpt_nsaved;
28 unsigned long bpt_addr[2]; /* breakpoint handling */28 unsigned long bpt_addr[2]; /* breakpoint handling */
29 unsigned int bpt_insn[2];29 unsigned int bpt_insn[2];
30
31 struct restart_block restart_block;
32};30};
33 31
34/*32/*
@@ -40,9 +38,6 @@ struct thread_info { · 5 unmodified lines
40 .exec_domain = &default_exec_domain, \38 .exec_domain = &default_exec_domain, \
41 .addr_limit = KERNEL_DS, \39 .addr_limit = KERNEL_DS, \
42 .preempt_count = INIT_PREEMPT_COUNT, \40 .preempt_count = INIT_PREEMPT_COUNT, \
43 .restart_block = { \
44 .fn = do_no_restart_syscall, \
45 }, \
46}41}
47 42
48#define init_thread_info (init_thread_union.thread_info)43#define init_thread_info (init_thread_union.thread_info)
arch/alpha/include/asm/uaccess.h+43−43
@@ -27,7 +27,7 @@ · 26 unmodified lines
27#define get_ds() (KERNEL_DS)27#define get_ds() (KERNEL_DS)
28#define set_fs(x) (current_thread_info()->addr_limit = (x))28#define set_fs(x) (current_thread_info()->addr_limit = (x))
29 29
30#define segment_eq(a,b) ((a).seg == (b).seg)30#define segment_eq(a, b) ((a).seg == (b).seg)
31 31
32/*32/*
33 * Is a address valid? This does a straightforward calculation rather33 * Is a address valid? This does a straightforward calculation rather
@@ -39,13 +39,13 @@ · 5 unmodified lines
39 * - AND "addr+size" doesn't have any high-bits set39 * - AND "addr+size" doesn't have any high-bits set
40 * - OR we are in kernel mode.40 * - OR we are in kernel mode.
41 */41 */
42#define __access_ok(addr,size,segment) \42#define __access_ok(addr, size, segment) \
43 (((segment).seg & (addr | size | (addr+size))) == 0)43 (((segment).seg & (addr | size | (addr+size))) == 0)
44 44
45#define access_ok(type,addr,size) \45#define access_ok(type, addr, size) \
46({ \46({ \
47 __chk_user_ptr(addr); \47 __chk_user_ptr(addr); \
48 __access_ok(((unsigned long)(addr)),(size),get_fs()); \48 __access_ok(((unsigned long)(addr)), (size), get_fs()); \
49})49})
50 50
51/*51/*
@@ -60,20 +60,20 @@ · 8 unmodified lines
60 * (a) re-use the arguments for side effects (sizeof/typeof is ok)60 * (a) re-use the arguments for side effects (sizeof/typeof is ok)
61 * (b) require any knowledge of processes at this stage61 * (b) require any knowledge of processes at this stage
62 */62 */
63#define put_user(x,ptr) \63#define put_user(x, ptr) \
64 __put_user_check((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)),get_fs())64 __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)), get_fs())
65#define get_user(x,ptr) \65#define get_user(x, ptr) \
66 __get_user_check((x),(ptr),sizeof(*(ptr)),get_fs())66 __get_user_check((x), (ptr), sizeof(*(ptr)), get_fs())
67 67
68/*68/*
69 * The "__xxx" versions do not do address space checking, useful when69 * The "__xxx" versions do not do address space checking, useful when
70 * doing multiple accesses to the same area (the programmer has to do the70 * doing multiple accesses to the same area (the programmer has to do the
71 * checks by hand with "access_ok()")71 * checks by hand with "access_ok()")
72 */72 */
73#define __put_user(x,ptr) \73#define __put_user(x, ptr) \
74 __put_user_nocheck((__typeof__(*(ptr)))(x),(ptr),sizeof(*(ptr)))74 __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
75#define __get_user(x,ptr) \75#define __get_user(x, ptr) \
76 __get_user_nocheck((x),(ptr),sizeof(*(ptr)))76 __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
77 77
78/*78/*
79 * The "lda %1, 2b-1b(%0)" bits are magic to get the assembler to79 * The "lda %1, 2b-1b(%0)" bits are magic to get the assembler to
@@ -84,7 +84,7 @@ · 4 unmodified lines
84 84
85extern void __get_user_unknown(void);85extern void __get_user_unknown(void);
86 86
87#define __get_user_nocheck(x,ptr,size) \87#define __get_user_nocheck(x, ptr, size) \
88({ \88({ \
89 long __gu_err = 0; \89 long __gu_err = 0; \
90 unsigned long __gu_val; \90 unsigned long __gu_val; \
@@ -96,16 +96,16 @@ extern void __get_user_unknown(void); · 5 unmodified lines
96 case 8: __get_user_64(ptr); break; \96 case 8: __get_user_64(ptr); break; \
97 default: __get_user_unknown(); break; \97 default: __get_user_unknown(); break; \
98 } \98 } \
99 (x) = (__typeof__(*(ptr))) __gu_val; \99 (x) = (__force __typeof__(*(ptr))) __gu_val; \
100 __gu_err; \100 __gu_err; \
101})101})
102 102
103#define __get_user_check(x,ptr,size,segment) \103#define __get_user_check(x, ptr, size, segment) \
104({ \104({ \
105 long __gu_err = -EFAULT; \105 long __gu_err = -EFAULT; \
106 unsigned long __gu_val = 0; \106 unsigned long __gu_val = 0; \
107 const __typeof__(*(ptr)) __user *__gu_addr = (ptr); \107 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)) { \
109 __gu_err = 0; \109 __gu_err = 0; \
110 switch (size) { \110 switch (size) { \
111 case 1: __get_user_8(__gu_addr); break; \111 case 1: __get_user_8(__gu_addr); break; \
@@ -115,7 +115,7 @@ extern void __get_user_unknown(void); · 3 unmodified lines
115 default: __get_user_unknown(); break; \115 default: __get_user_unknown(); break; \
116 } \116 } \
117 } \117 } \
118 (x) = (__typeof__(*(ptr))) __gu_val; \118 (x) = (__force __typeof__(*(ptr))) __gu_val; \
119 __gu_err; \119 __gu_err; \
120})120})
121 121
@@ -201,31 +201,31 @@ struct __large_struct { unsigned long buf[100]; }; · 79 unmodified lines
201 201
202extern void __put_user_unknown(void);202extern void __put_user_unknown(void);
203 203
204#define __put_user_nocheck(x,ptr,size) \204#define __put_user_nocheck(x, ptr, size) \
205({ \205({ \
206 long __pu_err = 0; \206 long __pu_err = 0; \
207 __chk_user_ptr(ptr); \207 __chk_user_ptr(ptr); \
208 switch (size) { \208 switch (size) { \
209 case 1: __put_user_8(x,ptr); break; \209 case 1: __put_user_8(x, ptr); break; \
210 case 2: __put_user_16(x,ptr); break; \210 case 2: __put_user_16(x, ptr); break; \
211 case 4: __put_user_32(x,ptr); break; \211 case 4: __put_user_32(x, ptr); break; \
212 case 8: __put_user_64(x,ptr); break; \212 case 8: __put_user_64(x, ptr); break; \
213 default: __put_user_unknown(); break; \213 default: __put_user_unknown(); break; \
214 } \214 } \
215 __pu_err; \215 __pu_err; \
216})216})
217 217
218#define __put_user_check(x,ptr,size,segment) \218#define __put_user_check(x, ptr, size, segment) \
219({ \219({ \
220 long __pu_err = -EFAULT; \220 long __pu_err = -EFAULT; \
221 __typeof__(*(ptr)) __user *__pu_addr = (ptr); \221 __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)) { \
223 __pu_err = 0; \223 __pu_err = 0; \
224 switch (size) { \224 switch (size) { \
225 case 1: __put_user_8(x,__pu_addr); break; \225 case 1: __put_user_8(x, __pu_addr); break; \
226 case 2: __put_user_16(x,__pu_addr); break; \226 case 2: __put_user_16(x, __pu_addr); break; \
227 case 4: __put_user_32(x,__pu_addr); break; \227 case 4: __put_user_32(x, __pu_addr); break; \
228 case 8: __put_user_64(x,__pu_addr); break; \228 case 8: __put_user_64(x, __pu_addr); break; \
229 default: __put_user_unknown(); break; \229 default: __put_user_unknown(); break; \
230 } \230 } \
231 } \231 } \
@@ -237,7 +237,7 @@ extern void __put_user_unknown(void); · 5 unmodified lines
237 * instead of writing: this is because they do not write to237 * instead of writing: this is because they do not write to
238 * any memory gcc knows about, so there are no aliasing issues238 * any memory gcc knows about, so there are no aliasing issues
239 */239 */
240#define __put_user_64(x,addr) \240#define __put_user_64(x, addr) \
241__asm__ __volatile__("1: stq %r2,%1\n" \241__asm__ __volatile__("1: stq %r2,%1\n" \
242 "2:\n" \242 "2:\n" \
243 ".section __ex_table,\"a\"\n" \243 ".section __ex_table,\"a\"\n" \
@@ -247,7 +247,7 @@ __asm__ __volatile__("1: stq %r2,%1\n" \ · 3 unmodified lines
247 : "=r"(__pu_err) \247 : "=r"(__pu_err) \
248 : "m" (__m(addr)), "rJ" (x), "0"(__pu_err))248 : "m" (__m(addr)), "rJ" (x), "0"(__pu_err))
249 249
250#define __put_user_32(x,addr) \250#define __put_user_32(x, addr) \
251__asm__ __volatile__("1: stl %r2,%1\n" \251__asm__ __volatile__("1: stl %r2,%1\n" \
252 "2:\n" \252 "2:\n" \
253 ".section __ex_table,\"a\"\n" \253 ".section __ex_table,\"a\"\n" \
@@ -260,7 +260,7 @@ __asm__ __volatile__("1: stl %r2,%1\n" \ · 6 unmodified lines
260#ifdef __alpha_bwx__260#ifdef __alpha_bwx__
261/* Those lucky bastards with ev56 and later CPUs can do byte/word moves. */261/* Those lucky bastards with ev56 and later CPUs can do byte/word moves. */
262 262
263#define __put_user_16(x,addr) \263#define __put_user_16(x, addr) \
264__asm__ __volatile__("1: stw %r2,%1\n" \264__asm__ __volatile__("1: stw %r2,%1\n" \
265 "2:\n" \265 "2:\n" \
266 ".section __ex_table,\"a\"\n" \266 ".section __ex_table,\"a\"\n" \
@@ -270,7 +270,7 @@ __asm__ __volatile__("1: stw %r2,%1\n" \ · 3 unmodified lines
270 : "=r"(__pu_err) \270 : "=r"(__pu_err) \
271 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))271 : "m"(__m(addr)), "rJ"(x), "0"(__pu_err))
272 272
273#define __put_user_8(x,addr) \273#define __put_user_8(x, addr) \
274__asm__ __volatile__("1: stb %r2,%1\n" \274__asm__ __volatile__("1: stb %r2,%1\n" \
275 "2:\n" \275 "2:\n" \
276 ".section __ex_table,\"a\"\n" \276 ".section __ex_table,\"a\"\n" \
@@ -283,7 +283,7 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 6 unmodified lines
283/* Unfortunately, we can't get an unaligned access trap for the sub-word283/* Unfortunately, we can't get an unaligned access trap for the sub-word
284 write, so we have to do a general unaligned operation. */284 write, so we have to do a general unaligned operation. */
285 285
286#define __put_user_16(x,addr) \286#define __put_user_16(x, addr) \
287{ \287{ \
288 long __pu_tmp1, __pu_tmp2, __pu_tmp3, __pu_tmp4; \288 long __pu_tmp1, __pu_tmp2, __pu_tmp3, __pu_tmp4; \
289 __asm__ __volatile__( \289 __asm__ __volatile__( \
@@ -308,13 +308,13 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 18 unmodified lines
308 " .long 4b - .\n" \308 " .long 4b - .\n" \
309 " lda $31, 5b-4b(%0)\n" \309 " lda $31, 5b-4b(%0)\n" \
310 ".previous" \310 ".previous" \
311 : "=r"(__pu_err), "=&r"(__pu_tmp1), \311 : "=r"(__pu_err), "=&r"(__pu_tmp1), \
312 "=&r"(__pu_tmp2), "=&r"(__pu_tmp3), \312 "=&r"(__pu_tmp2), "=&r"(__pu_tmp3), \
313 "=&r"(__pu_tmp4) \313 "=&r"(__pu_tmp4) \
314 : "r"(addr), "r"((unsigned long)(x)), "0"(__pu_err)); \314 : "r"(addr), "r"((unsigned long)(x)), "0"(__pu_err)); \
315}315}
316 316
317#define __put_user_8(x,addr) \317#define __put_user_8(x, addr) \
318{ \318{ \
319 long __pu_tmp1, __pu_tmp2; \319 long __pu_tmp1, __pu_tmp2; \
320 __asm__ __volatile__( \320 __asm__ __volatile__( \
@@ -330,7 +330,7 @@ __asm__ __volatile__("1: stb %r2,%1\n" \ · 9 unmodified lines
330 " .long 2b - .\n" \330 " .long 2b - .\n" \
331 " lda $31, 3b-2b(%0)\n" \331 " lda $31, 3b-2b(%0)\n" \
332 ".previous" \332 ".previous" \
333 : "=r"(__pu_err), \333 : "=r"(__pu_err), \
334 "=&r"(__pu_tmp1), "=&r"(__pu_tmp2) \334 "=&r"(__pu_tmp1), "=&r"(__pu_tmp2) \
335 : "r"((unsigned long)(x)), "r"(addr), "0"(__pu_err)); \335 : "r"((unsigned long)(x)), "r"(addr), "0"(__pu_err)); \
336}336}
@@ -366,7 +366,7 @@ __copy_tofrom_user_nocheck(void *to, const void *from, long len) · 29 unmodified lines
366 : "=r" (__cu_len), "=r" (__cu_from), "=r" (__cu_to)366 : "=r" (__cu_len), "=r" (__cu_from), "=r" (__cu_to)
367 : __module_address(__copy_user)367 : __module_address(__copy_user)
368 "0" (__cu_len), "1" (__cu_from), "2" (__cu_to)368 "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");
370 370
371 return __cu_len;371 return __cu_len;
372}372}
@@ -379,15 +379,15 @@ __copy_tofrom_user(void *to, const void *from, long len, const void __user *vali · 6 unmodified lines
379 return len;379 return len;
380}380}
381 381
382#define __copy_to_user(to,from,n) \382#define __copy_to_user(to, from, n) \
383({ \383({ \
384 __chk_user_ptr(to); \384 __chk_user_ptr(to); \
385 __copy_tofrom_user_nocheck((__force void *)(to),(from),(n)); \385 __copy_tofrom_user_nocheck((__force void *)(to), (from), (n)); \
386})386})
387#define __copy_from_user(to,from,n) \387#define __copy_from_user(to, from, n) \
388({ \388({ \
389 __chk_user_ptr(from); \389 __chk_user_ptr(from); \
390 __copy_tofrom_user_nocheck((to),(__force void *)(from),(n)); \390 __copy_tofrom_user_nocheck((to), (__force void *)(from), (n)); \
391})391})
392 392
393#define __copy_to_user_inatomic __copy_to_user393#define __copy_to_user_inatomic __copy_to_user
@@ -418,7 +418,7 @@ __clear_user(void __user *to, long len) · 24 unmodified lines
418 : "=r"(__cl_len), "=r"(__cl_to)418 : "=r"(__cl_len), "=r"(__cl_to)
419 : __module_address(__do_clear_user)419 : __module_address(__do_clear_user)
420 "0"(__cl_len), "1"(__cl_to)420 "0"(__cl_len), "1"(__cl_to)
421 : "$1","$2","$3","$4","$5","$28","memory");421 : "$1", "$2", "$3", "$4", "$5", "$28", "memory");
422 return __cl_len;422 return __cl_len;
423}423}
424 424
arch/alpha/kernel/signal.c+1−1
@@ -150,7 +150,7 @@ restore_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs) · 149 unmodified lines
150 struct switch_stack *sw = (struct switch_stack *)regs - 1;150 struct switch_stack *sw = (struct switch_stack *)regs - 1;
151 long i, err = __get_user(regs->pc, &sc->sc_pc);151 long i, err = __get_user(regs->pc, &sc->sc_pc);
152 152
153 current_thread_info()->restart_block.fn = do_no_restart_syscall;153 current->restart_block.fn = do_no_restart_syscall;
154 154
155 sw->r26 = (unsigned long) ret_from_sys_call;155 sw->r26 = (unsigned long) ret_from_sys_call;
156 156
arch/arc/boot/dts/abilis_tb10x.dtsi+1−1
@@ -112,7 +112,7 @@ · 111 unmodified lines
112 chan_allocation_order = <0>;112 chan_allocation_order = <0>;
113 chan_priority = <1>;113 chan_priority = <1>;
114 block_size = <0x7ff>;114 block_size = <0x7ff>;
115 data_width = <2 0 0 0>;115 data_width = <2>;
116 clocks = <&ahb_clk>;116 clocks = <&ahb_clk>;
117 clock-names = "hclk";117 clock-names = "hclk";
118 };118 };
arch/arc/include/asm/pgtable.h+4−14
@@ -61,7 +61,6 @@ · 60 unmodified lines
61#define _PAGE_WRITE (1<<4) /* Page has user write perm (H) */61#define _PAGE_WRITE (1<<4) /* Page has user write perm (H) */
62#define _PAGE_READ (1<<5) /* Page has user read perm (H) */62#define _PAGE_READ (1<<5) /* Page has user read perm (H) */
63#define _PAGE_MODIFIED (1<<6) /* Page modified (dirty) (S) */63#define _PAGE_MODIFIED (1<<6) /* Page modified (dirty) (S) */
64#define _PAGE_FILE (1<<7) /* page cache/ swap (S) */
65#define _PAGE_GLOBAL (1<<8) /* Page is global (H) */64#define _PAGE_GLOBAL (1<<8) /* Page is global (H) */
66#define _PAGE_PRESENT (1<<10) /* TLB entry is valid (H) */65#define _PAGE_PRESENT (1<<10) /* TLB entry is valid (H) */
67 66
@@ -73,7 +72,6 @@ · 5 unmodified lines
73#define _PAGE_READ (1<<3) /* Page has user read perm (H) */72#define _PAGE_READ (1<<3) /* Page has user read perm (H) */
74#define _PAGE_ACCESSED (1<<4) /* Page is accessed (S) */73#define _PAGE_ACCESSED (1<<4) /* Page is accessed (S) */
75#define _PAGE_MODIFIED (1<<5) /* Page modified (dirty) (S) */74#define _PAGE_MODIFIED (1<<5) /* Page modified (dirty) (S) */
76#define _PAGE_FILE (1<<6) /* page cache/ swap (S) */
77#define _PAGE_GLOBAL (1<<8) /* Page is global (H) */75#define _PAGE_GLOBAL (1<<8) /* Page is global (H) */
78#define _PAGE_PRESENT (1<<9) /* TLB entry is valid (H) */76#define _PAGE_PRESENT (1<<9) /* TLB entry is valid (H) */
79#define _PAGE_SHARED_CODE (1<<11) /* Shared Code page with cmn vaddr77#define _PAGE_SHARED_CODE (1<<11) /* Shared Code page with cmn vaddr
@@ -213,7 +211,7 @@ · 133 unmodified lines
213 * No special requirements for lowest virtual address we permit any user space211 * No special requirements for lowest virtual address we permit any user space
214 * mapping to be mapped at.212 * mapping to be mapped at.
215 */213 */
216#define FIRST_USER_ADDRESS 0214#define FIRST_USER_ADDRESS 0UL
217 215
218 216
219/****************************************************************217/****************************************************************
@@ -259,7 +257,8 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep) · 39 unmodified lines
259#define pmd_clear(xp) do { pmd_val(*(xp)) = 0; } while (0)257#define pmd_clear(xp) do { pmd_val(*(xp)) = 0; } while (0)
260 258
261#define pte_page(x) (mem_map + \259#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)))
263 262
264#define mk_pte(page, pgprot) \263#define mk_pte(page, pgprot) \
265({ \264({ \
@@ -268,15 +267,6 @@ static inline void pmd_set(pmd_t *pmdp, pte_t *ptep) · 2 unmodified lines
268 pte; \267 pte; \
269})268})
270 269
271/* TBD: Non linear mapping stuff */
272static 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)
280#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)270#define pte_pfn(pte) (pte_val(pte) >> PAGE_SHIFT)
281#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))271#define pfn_pte(pfn, prot) (__pte(((pfn) << PAGE_SHIFT) | pgprot_val(prot)))
282#define __pte_index(addr) (((addr) >> PAGE_SHIFT) & (PTRS_PER_PTE - 1))272#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
364 354
365/* Encode swap {type,off} tuple into PTE355/* Encode swap {type,off} tuple into PTE
366 * We reserve 13 bits for 5-bit @type, keeping bits 12-5 zero, ensuring that356 * 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"
368 */358 */
369#define __swp_entry(type, off) ((swp_entry_t) { \359#define __swp_entry(type, off) ((swp_entry_t) { \
370 ((type) & 0x1f) | ((off) << 13) })360 ((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
56/* Free all resources held by a thread */56/* Free all resources held by a thread */
57#define release_thread(thread) do { } while (0)57#define release_thread(thread) do { } while (0)
58 58
59/* Prepare to copy thread state - unlazy all lazy status */
60#define prepare_to_copy(tsk) do { } while (0)
61
62/*59/*
63 * A lot of busy-wait loops in SMP are based off of non-volatile data otherwise60 * A lot of busy-wait loops in SMP are based off of non-volatile data otherwise
64 * get optimised away by gcc61 * get optimised away by gcc
arch/arc/include/asm/serial.h+5−18
@@ -10,26 +10,13 @@ · 9 unmodified lines
10#define _ASM_ARC_SERIAL_H10#define _ASM_ARC_SERIAL_H
11 11
12/*12/*
13 * early-8250 requires BASE_BAUD to be defined and includes this header.13 * early 8250 (now earlycon) requires BASE_BAUD to be defined in this header.
14 * We put in a typical value:14 * However to still determine it dynamically (for multi-platform images)
15 * (core clk / 16) - i.e. UART samples 16 times per sec.15 * we do this in a helper by parsing the FDT early
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.
19 */16 */
20 17
21#include <asm/clk.h>18extern unsigned int __init arc_early_base_baud(void);
22 19
23#define BASE_BAUD (arc_get_core_freq() / 16)20#define BASE_BAUD arc_early_base_baud()
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
34 21
35#endif /* _ASM_ARC_SERIAL_H */22#endif /* _ASM_ARC_SERIAL_H */
arch/arc/include/asm/thread_info.h+0−4
@@ -46,7 +46,6 @@ struct thread_info { · 45 unmodified lines
46 struct exec_domain *exec_domain;/* execution domain */46 struct exec_domain *exec_domain;/* execution domain */
47 __u32 cpu; /* current CPU */47 __u32 cpu; /* current CPU */
48 unsigned long thr_ptr; /* TLS ptr */48 unsigned long thr_ptr; /* TLS ptr */
49 struct restart_block restart_block;
50};49};
51 50
52/*51/*
@@ -62,9 +61,6 @@ struct thread_info { · 9 unmodified lines
62 .cpu = 0, \61 .cpu = 0, \
63 .preempt_count = INIT_PREEMPT_COUNT, \62 .preempt_count = INIT_PREEMPT_COUNT, \
64 .addr_limit = KERNEL_DS, \63 .addr_limit = KERNEL_DS, \
65 .restart_block = { \
66 .fn = do_no_restart_syscall, \
67 }, \
68}64}
69 65
70#define init_thread_info (init_thread_union.thread_info)66#define init_thread_info (init_thread_union.thread_info)
arch/arc/kernel/devtree.c+24−0
@@ -17,6 +17,28 @@ · 16 unmodified lines
17#include <asm/clk.h>17#include <asm/clk.h>
18#include <asm/mach_desc.h>18#include <asm/mach_desc.h>
19 19
20#ifdef CONFIG_SERIAL_EARLYCON
21
22static unsigned int __initdata arc_base_baud;
23
24unsigned int __init arc_early_base_baud(void)
25{
26 return arc_base_baud/16;
27}
28
29static 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
20static const void * __init arch_get_next_mach(const char *const **match)42static const void * __init arch_get_next_mach(const char *const **match)
21{43{
22 static const struct machine_desc *mdesc = __arch_info_begin;44 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
56 if (clk)78 if (clk)
57 arc_set_core_freq(of_read_ulong(clk, len/4));79 arc_set_core_freq(of_read_ulong(clk, len/4));
58 80
81 arc_set_early_base_baud(dt_root);
82
59 return mdesc;83 return mdesc;
60}84}
arch/arc/kernel/entry.S+9−5
@@ -736,16 +736,20 @@ ENTRY(ret_from_fork) · 735 unmodified lines
736 ; put last task in scheduler queue736 ; put last task in scheduler queue
737 bl @schedule_tail737 bl @schedule_tail
738 738
739 ; If kernel thread, jump to its entry-point
740 ld r9, [sp, PT_status32]739 ld r9, [sp, PT_status32]
741 brne r9, 0, 1f740 brne r9, 0, 1f
742 741
743 jl.d [r14]742 jl.d [r14] ; kernel thread entry point
744 mov r0, r13 ; arg to payload743 mov r0, r13 ; (see PF_KTHREAD block in copy_thread)
745 744
7461:7451:
747 ; special case of kernel_thread entry point returning back due to746 ; Return to user space
748 ; kernel_execve() - pretend return from syscall to ret to userland747 ; 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
749 b ret_from_exception753 b ret_from_exception
750END(ret_from_fork)754END(ret_from_fork)
751 755
arch/arc/kernel/setup.c+6−1
@@ -412,6 +412,11 @@ static int show_cpuinfo(struct seq_file *m, void *v) · 411 unmodified lines
412 char *str;412 char *str;
413 int cpu_id = ptr_to_cpu(v);413 int cpu_id = ptr_to_cpu(v);
414 414
415 if (!cpu_online(cpu_id)) {
416 seq_printf(m, "processor [%d]\t: Offline\n", cpu_id);
417 goto done;
418 }
419
415 str = (char *)__get_free_page(GFP_TEMPORARY);420 str = (char *)__get_free_page(GFP_TEMPORARY);
416 if (!str)421 if (!str)
417 goto done;422 goto done;
@@ -429,7 +434,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) · 11 unmodified lines
429 434
430 free_page((unsigned long)str);435 free_page((unsigned long)str);
431done:436done:
432 seq_printf(m, "\n\n");437 seq_printf(m, "\n");
433 438
434 return 0;439 return 0;
435}440}
arch/arc/kernel/signal.c+1−1
@@ -104,7 +104,7 @@ SYSCALL_DEFINE0(rt_sigreturn) · 103 unmodified lines
104 struct pt_regs *regs = current_pt_regs();104 struct pt_regs *regs = current_pt_regs();
105 105
106 /* Always make any pending restarted system calls return -EINTR */106 /* 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;
108 108
109 /* Since we stacked the signal on a word boundary,109 /* Since we stacked the signal on a word boundary,
110 * then 'sp' should be word aligned here. If it's110 * 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
221 * and read back old value221 * and read back old value
222 */222 */
223 do {223 do {
224 new = old = *ipi_data_ptr;224 new = old = ACCESS_ONCE(*ipi_data_ptr);
225 new |= 1U << msg;225 new |= 1U << msg;
226 } while (cmpxchg(ipi_data_ptr, old, new) != old);226 } while (cmpxchg(ipi_data_ptr, old, new) != old);
227 227
arch/arm/Kconfig+8−1
@@ -29,6 +29,7 @@ config ARM · 28 unmodified lines
29 select HANDLE_DOMAIN_IRQ29 select HANDLE_DOMAIN_IRQ
30 select HARDIRQS_SW_RESEND30 select HARDIRQS_SW_RESEND
31 select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)31 select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
32 select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
32 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL33 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL
33 select HAVE_ARCH_KGDB34 select HAVE_ARCH_KGDB
34 select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)35 select HAVE_ARCH_SECCOMP_FILTER if (AEABI && !OABI_COMPAT)
@@ -60,6 +61,7 @@ config ARM · 25 unmodified lines
60 select HAVE_MEMBLOCK61 select HAVE_MEMBLOCK
61 select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND62 select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND
62 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)63 select HAVE_OPROFILE if (HAVE_PERF_EVENTS)
64 select HAVE_OPTPROBES if !THUMB2_KERNEL
63 select HAVE_PERF_EVENTS65 select HAVE_PERF_EVENTS
64 select HAVE_PERF_REGS66 select HAVE_PERF_REGS
65 select HAVE_PERF_USER_STACK_DUMP67 select HAVE_PERF_USER_STACK_DUMP
@@ -858,6 +860,8 @@ source "arch/arm/mach-cns3xxx/Kconfig" · 792 unmodified lines
858 860
859source "arch/arm/mach-davinci/Kconfig"861source "arch/arm/mach-davinci/Kconfig"
860 862
863source "arch/arm/mach-digicolor/Kconfig"
864
861source "arch/arm/mach-dove/Kconfig"865source "arch/arm/mach-dove/Kconfig"
862 866
863source "arch/arm/mach-ep93xx/Kconfig"867source "arch/arm/mach-ep93xx/Kconfig"
@@ -1279,6 +1283,9 @@ config PCI_DOMAINS · 415 unmodified lines
1279 bool1283 bool
1280 depends on PCI1284 depends on PCI
1281 1285
1286config PCI_DOMAINS_GENERIC
1287 def_bool PCI_DOMAINS
1288
1282config PCI_NANOENGINE1289config PCI_NANOENGINE
1283 bool "BSE nanoEngine PCI support"1290 bool "BSE nanoEngine PCI support"
1284 depends on SA1100_NANOENGINE1291 depends on SA1100_NANOENGINE
@@ -1488,7 +1495,7 @@ config ARM_PSCI · 203 unmodified lines
1488# selected platforms.1495# selected platforms.
1489config ARCH_NR_GPIO1496config ARCH_NR_GPIO
1490 int1497 int
1491 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA1498 default 1024 if ARCH_SHMOBILE || ARCH_TEGRA || ARCH_ZYNQ
1492 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \1499 default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
1493 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV2101500 SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
1494 default 416 if ARCH_SUNXI1501 default 416 if ARCH_SUNXI
arch/arm/Kconfig.debug+176−44
@@ -115,16 +115,22 @@ choice · 114 unmodified lines
115 0x80024000 | 0xf0024000 | UART9115 0x80024000 | 0xf0024000 | UART9
116 116
117 config AT91_DEBUG_LL_DBGU0117 config AT91_DEBUG_LL_DBGU0
118 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl"118 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12"
119 depends on HAVE_AT91_DBGU0119 select DEBUG_AT91_UART
120 depends on ARCH_AT91
121 depends on SOC_AT91RM9200 || SOC_AT91SAM9
120 122
121 config AT91_DEBUG_LL_DBGU1123 config AT91_DEBUG_LL_DBGU1
122 bool "Kernel low-level debugging on 9263 and 9g45"124 bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
123 depends on HAVE_AT91_DBGU1125 select DEBUG_AT91_UART
126 depends on ARCH_AT91
127 depends on SOC_AT91SAM9 || SOC_SAMA5
124 128
125 config AT91_DEBUG_LL_DBGU2129 config AT91_DEBUG_LL_DBGU2
126 bool "Kernel low-level debugging on sama5d4"130 bool "Kernel low-level debugging on sama5d4"
127 depends on HAVE_AT91_DBGU2131 select DEBUG_AT91_UART
132 depends on ARCH_AT91
133 depends on SOC_SAMA5
128 134
129 config DEBUG_BCM2835135 config DEBUG_BCM2835
130 bool "Kernel low-level debugging on BCM2835 PL011 UART"136 bool "Kernel low-level debugging on BCM2835 PL011 UART"
@@ -241,6 +247,13 @@ choice · 110 unmodified lines
241 Say Y here if you want the debug print routines to direct247 Say Y here if you want the debug print routines to direct
242 their output to the serial port in the DC21285 (Footbridge).248 their output to the serial port in the DC21285 (Footbridge).
243 249
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
244 config DEBUG_FOOTBRIDGE_COM1257 config DEBUG_FOOTBRIDGE_COM1
245 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"258 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
246 depends on FOOTBRIDGE259 depends on FOOTBRIDGE
@@ -272,6 +285,14 @@ choice · 25 unmodified lines
272 Say Y here if you want the debug print routines to direct285 Say Y here if you want the debug print routines to direct
273 their output to the UART on Highbank based devices.286 their output to the UART on Highbank based devices.
274 287
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
275 config DEBUG_HIP04_UART296 config DEBUG_HIP04_UART
276 bool "Hisilicon HiP04 Debug UART"297 bool "Hisilicon HiP04 Debug UART"
277 depends on ARCH_HIP04298 depends on ARCH_HIP04
@@ -397,6 +418,13 @@ choice · 119 unmodified lines
397 Say Y here if you want the debug print routines to direct418 Say Y here if you want the debug print routines to direct
398 their output to UART1 serial port on KEYSTONE2 devices.419 their output to UART1 serial port on KEYSTONE2 devices.
399 420
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
400 config DEBUG_MESON_UARTAO428 config DEBUG_MESON_UARTAO
401 bool "Kernel low-level debugging via Meson6 UARTAO"429 bool "Kernel low-level debugging via Meson6 UARTAO"
402 depends on ARCH_MESON430 depends on ARCH_MESON
@@ -427,7 +455,7 @@ choice · 24 unmodified lines
427 Say Y here if you want the debug print routines to direct455 Say Y here if you want the debug print routines to direct
428 their output to the serial port on MSM devices.456 their output to the serial port on MSM devices.
429 457
430 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #458 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT #
431 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1459 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
432 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2460 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
433 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3461 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
@@ -446,7 +474,8 @@ choice · 12 unmodified lines
446 Say Y here if you want the debug print routines to direct474 Say Y here if you want the debug print routines to direct
447 their output to the serial port on Qualcomm devices.475 their output to the serial port on Qualcomm devices.
448 476
449 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE477 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
478 APQ8064 0x16640000 0xf0040000
450 APQ8084 0xf995e000 0xfa75e000479 APQ8084 0xf995e000 0xfa75e000
451 MSM8X60 0x19c40000 0xf0040000480 MSM8X60 0x19c40000 0xf0040000
452 MSM8960 0x16440000 0xf0040000481 MSM8960 0x16440000 0xf0040000
@@ -455,13 +484,13 @@ choice · 2 unmodified lines
455 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration484 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
456 options based on your needs.485 options based on your needs.
457 486
458 config DEBUG_MVEBU_UART487 config DEBUG_MVEBU_UART0
459 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"488 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
460 depends on ARCH_MVEBU489 depends on ARCH_MVEBU
461 select DEBUG_UART_8250490 select DEBUG_UART_8250
462 help491 help
463 Say Y here if you want kernel low-level debugging support492 Say Y here if you want kernel low-level debugging support
464 on MVEBU based platforms.493 on MVEBU based platforms on UART0.
465 494
466 This option should be used with the old bootloaders495 This option should be used with the old bootloaders
467 that left the internal registers mapped at496 that left the internal registers mapped at
@@ -474,13 +503,28 @@ choice · 6 unmodified lines
474 when u-boot hands over to the kernel, the system503 when u-boot hands over to the kernel, the system
475 silently crashes, with no serial output at all.504 silently crashes, with no serial output at all.
476 505
477 config DEBUG_MVEBU_UART_ALTERNATE506 config DEBUG_MVEBU_UART0_ALTERNATE
478 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"507 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
479 depends on ARCH_MVEBU508 depends on ARCH_MVEBU
480 select DEBUG_UART_8250509 select DEBUG_UART_8250
481 help510 help
482 Say Y here if you want kernel low-level debugging support511 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.
484 528
485 This option should be used with the new bootloaders529 This option should be used with the new bootloaders
486 that remap the internal registers at 0xf1000000.530 that remap the internal registers at 0xf1000000.
@@ -496,6 +540,13 @@ choice · 9 unmodified lines
496 Say Y here if you want kernel low-level debugging support540 Say Y here if you want kernel low-level debugging support
497 on Vybrid based platforms.541 on Vybrid based platforms.
498 542
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
499 config DEBUG_NOMADIK_UART550 config DEBUG_NOMADIK_UART
500 bool "Kernel low-level debugging messages via NOMADIK UART"551 bool "Kernel low-level debugging messages via NOMADIK UART"
501 depends on ARCH_NOMADIK552 depends on ARCH_NOMADIK
@@ -520,6 +571,30 @@ choice · 18 unmodified lines
520 Say Y here if you want kernel low-level debugging support571 Say Y here if you want kernel low-level debugging support
521 on TI-NSPIRE CX models.572 on TI-NSPIRE CX models.
522 573
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
523 config DEBUG_OMAP2UART1598 config DEBUG_OMAP2UART1
524 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"599 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
525 depends on ARCH_OMAP2PLUS600 depends on ARCH_OMAP2PLUS
@@ -562,6 +637,30 @@ choice · 36 unmodified lines
562 depends on ARCH_OMAP2PLUS637 depends on ARCH_OMAP2PLUS
563 select DEBUG_OMAP2PLUS_UART638 select DEBUG_OMAP2PLUS_UART
564 639
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
565 config DEBUG_TI81XXUART1664 config DEBUG_TI81XXUART1
566 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"665 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
567 depends on ARCH_OMAP2PLUS666 depends on ARCH_OMAP2PLUS
@@ -916,16 +1015,28 @@ choice · 348 unmodified lines
916 config DEBUG_SIRFPRIMA2_UART11015 config DEBUG_SIRFPRIMA2_UART1
917 bool "Kernel low-level debugging messages via SiRFprimaII UART1"1016 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
918 depends on ARCH_PRIMA21017 depends on ARCH_PRIMA2
1018 select DEBUG_SIRFSOC_UART
919 help1019 help
920 Say Y here if you want the debug print routines to direct1020 Say Y here if you want the debug print routines to direct
921 their output to the uart1 port on SiRFprimaII devices.1021 their output to the uart1 port on SiRFprimaII devices.
922 1022
923 config DEBUG_SIRFMARCO_UART11023 config DEBUG_SIRFATLAS7_UART0
924 bool "Kernel low-level debugging messages via SiRFmarco UART1"1024 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
925 depends on ARCH_MARCO1025 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
926 help1037 help
927 Say Y here if you want the debug print routines to direct1038 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.
929 1040
930 config STIH41X_DEBUG_ASC21041 config STIH41X_DEBUG_ASC2
931 bool "Use StiH415/416 ASC2 UART for low-level debug"1042 bool "Use StiH415/416 ASC2 UART for low-level debug"
@@ -973,7 +1084,7 @@ choice · 41 unmodified lines
973 for Mediatek mt6589 based platforms on UART0.1084 for Mediatek mt6589 based platforms on UART0.
974 1085
975 config DEBUG_MT8127_UART01086 config DEBUG_MT8127_UART0
976 bool "Mediatek mt8127 UART0"1087 bool "Mediatek mt8127/mt6592 UART0"
977 depends on ARCH_MEDIATEK1088 depends on ARCH_MEDIATEK
978 select DEBUG_UART_82501089 select DEBUG_UART_8250
979 help1090 help
@@ -1031,15 +1142,6 @@ choice · 51 unmodified lines
1031 This option selects UART0 on VIA/Wondermedia System-on-a-chip1142 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1032 devices, including VT8500, WM8505, WM8650 and WM8850.1143 devices, including VT8500, WM8505, WM8650 and WM8850.
1033 1144
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
1043 config DEBUG_ICEDCC1145 config DEBUG_ICEDCC
1044 bool "Kernel low-level debugging via EmbeddedICE DCC channel"1146 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1045 help1147 help
@@ -1109,6 +1211,10 @@ choice · 63 unmodified lines
1109 1211
1110endchoice1212endchoice
1111 1213
1214config DEBUG_AT91_UART
1215 bool
1216 depends on ARCH_AT91
1217
1112config DEBUG_EXYNOS_UART1218config DEBUG_EXYNOS_UART
1113 bool1219 bool
1114 1220
@@ -1161,10 +1267,15 @@ config DEBUG_STI_UART · 46 unmodified lines
1161 bool1267 bool
1162 depends on ARCH_STI1268 depends on ARCH_STI
1163 1269
1270config DEBUG_SIRFSOC_UART
1271 bool
1272 depends on ARCH_SIRF
1273
1164config DEBUG_LL_INCLUDE1274config DEBUG_LL_INCLUDE
1165 string1275 string
1166 default "debug/sa1100.S" if DEBUG_SA11001276 default "debug/sa1100.S" if DEBUG_SA1100
1167 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_82501277 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1278 default "debug/at91.S" if DEBUG_AT91_UART
1168 default "debug/asm9260.S" if DEBUG_ASM9260_UART1279 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1169 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART21280 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1170 default "debug/meson.S" if DEBUG_MESON_UARTAO1281 default "debug/meson.S" if DEBUG_MESON_UARTAO
@@ -1183,7 +1294,9 @@ config DEBUG_LL_INCLUDE · 12 unmodified lines
1183 DEBUG_IMX6Q_UART || \1294 DEBUG_IMX6Q_UART || \
1184 DEBUG_IMX6SL_UART || \1295 DEBUG_IMX6SL_UART || \
1185 DEBUG_IMX6SX_UART1296 DEBUG_IMX6SX_UART
1297 default "debug/ks8695.S" if DEBUG_KS8695_UART
1186 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM1298 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1299 default "debug/netx.S" if DEBUG_NETX_UART
1187 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART1300 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1188 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF21301 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1189 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF01302 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
@@ -1195,7 +1308,7 @@ config DEBUG_LL_INCLUDE · 5 unmodified lines
1195 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA41308 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1196 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART1309 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1197 default "debug/s5pv210.S" if DEBUG_S5PV210_UART1310 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1198 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART11311 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1199 default "debug/sti.S" if DEBUG_STI_UART1312 default "debug/sti.S" if DEBUG_STI_UART
1200 default "debug/tegra.S" if DEBUG_TEGRA_UART1313 default "debug/tegra.S" if DEBUG_TEGRA_UART
1201 default "debug/ux500.S" if DEBUG_UX500_UART1314 default "debug/ux500.S" if DEBUG_UX500_UART
@@ -1204,16 +1317,12 @@ config DEBUG_LL_INCLUDE · 2 unmodified lines
1204 default "debug/vt8500.S" if DEBUG_VT8500_UART01317 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1205 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART11318 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1206 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX1319 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1320 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1207 default "mach/debug-macro.S"1321 default "mach/debug-macro.S"
1208 1322
1209# Compatibility options for PL01x1323# Compatibility options for PL01x
1210config DEBUG_UART_PL01X1324config DEBUG_UART_PL01X
1211 def_bool ARCH_EP93XX || \1325 bool
1212 ARCH_INTEGRATOR || \
1213 ARCH_SPEAR3XX || \
1214 ARCH_SPEAR6XX || \
1215 ARCH_SPEAR13XX || \
1216 ARCH_VERSATILE
1217 1326
1218# Compatibility options for 82501327# Compatibility options for 8250
1219config DEBUG_UART_82501328config DEBUG_UART_8250
@@ -1229,6 +1338,7 @@ config DEBUG_UART_BCM63XX · 9 unmodified lines
1229 1338
1230config DEBUG_UART_PHYS1339config DEBUG_UART_PHYS
1231 hex "Physical base address of debug UART"1340 hex "Physical base address of debug UART"
1341 default 0x00100a00 if DEBUG_NETX_UART
1232 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART01342 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1233 default 0x01c28000 if DEBUG_SUNXI_UART01343 default 0x01c28000 if DEBUG_SUNXI_UART0
1234 default 0x01c28400 if DEBUG_SUNXI_UART11344 default 0x01c28400 if DEBUG_SUNXI_UART1
@@ -1251,7 +1361,10 @@ config DEBUG_UART_PHYS · 16 unmodified lines
1251 default 0x11009000 if DEBUG_MT8135_UART31361 default 0x11009000 if DEBUG_MT8135_UART3
1252 default 0x16000000 if ARCH_INTEGRATOR1362 default 0x16000000 if ARCH_INTEGRATOR
1253 default 0x18000300 if DEBUG_BCM_5301X1363 default 0x18000300 if DEBUG_BCM_5301X
1364 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1365 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1254 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS11366 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1367 default 0x20001000 if DEBUG_HIP01_UART
1255 default 0x20060000 if DEBUG_RK29_UART01368 default 0x20060000 if DEBUG_RK29_UART0
1256 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART21369 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1257 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART31370 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
@@ -1269,7 +1382,6 @@ config DEBUG_UART_PHYS · 11 unmodified lines
1269 DEBUG_S3C2410_UART2)1382 DEBUG_S3C2410_UART2)
1270 default 0x78000000 if DEBUG_CNS3XXX1383 default 0x78000000 if DEBUG_CNS3XXX
1271 default 0x7c0003f8 if FOOTBRIDGE1384 default 0x7c0003f8 if FOOTBRIDGE
1272 default 0x78000000 if DEBUG_CNS3XXX
1273 default 0x80010000 if DEBUG_ASM9260_UART1385 default 0x80010000 if DEBUG_ASM9260_UART
1274 default 0x80070000 if DEBUG_IMX23_UART1386 default 0x80070000 if DEBUG_IMX23_UART
1275 default 0x80074000 if DEBUG_IMX28_UART1387 default 0x80074000 if DEBUG_IMX28_UART
@@ -1277,12 +1389,13 @@ config DEBUG_UART_PHYS · 1 unmodified line
1277 default 0x808c0000 if ARCH_EP93XX1389 default 0x808c0000 if ARCH_EP93XX
1278 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART1390 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1279 default 0xa9a00000 if DEBUG_MSM_UART1391 default 0xa9a00000 if DEBUG_MSM_UART
1392 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1280 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX1393 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1281 default 0xc0013000 if DEBUG_U300_UART1394 default 0xc0013000 if DEBUG_U300_UART
1282 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN1395 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1283 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN1396 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1284 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX1397 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1285 default 0xd0012000 if DEBUG_MVEBU_UART1398 default 0xd0012000 if DEBUG_MVEBU_UART0
1286 default 0xc81004c0 if DEBUG_MESON_UARTAO1399 default 0xc81004c0 if DEBUG_MESON_UARTAO
1287 default 0xd4017000 if DEBUG_MMP_UART21400 default 0xd4017000 if DEBUG_MMP_UART2
1288 default 0xd4018000 if DEBUG_MMP_UART31401 default 0xd4018000 if DEBUG_MMP_UART3
@@ -1296,7 +1409,8 @@ config DEBUG_UART_PHYS · 7 unmodified lines
1296 default 0xe8008000 if DEBUG_R7S72100_SCIF21409 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1297 default 0xf0000be0 if ARCH_EBSA1101410 default 0xf0000be0 if ARCH_EBSA110
1298 default 0xf040ab00 if DEBUG_BRCMSTB_UART1411 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1299 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE1412 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1413 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1300 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \1414 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1301 ARCH_ORION5X1415 ARCH_ORION5X
1302 default 0xf7fc9000 if DEBUG_BERLIN_UART1416 default 0xf7fc9000 if DEBUG_BERLIN_UART
@@ -1310,20 +1424,27 @@ config DEBUG_UART_PHYS · 7 unmodified lines
1310 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF01424 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1311 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF21425 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1312 default 0xfff36000 if DEBUG_HIGHBANK_UART1426 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
1313 default 0xfffe8600 if DEBUG_UART_BCM63XX1430 default 0xfffe8600 if DEBUG_UART_BCM63XX
1314 default 0xfffff700 if ARCH_IOP33X1431 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 || \
1316 DEBUG_LL_UART_EFM32 || \1434 DEBUG_LL_UART_EFM32 || \
1317 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \1435 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 || \
1319 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \1438 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1320 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \1439 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1321 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \1440 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1322 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \1441 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1323 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART1442 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1443 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1324 1444
1325config DEBUG_UART_VIRT1445config DEBUG_UART_VIRT
1326 hex "Virtual base address of debug UART"1446 hex "Virtual base address of debug UART"
1447 default 0xe0000a00 if DEBUG_NETX_UART
1327 default 0xe0010fe0 if ARCH_RPC1448 default 0xe0010fe0 if ARCH_RPC
1328 default 0xe1000000 if DEBUG_MSM_UART1449 default 0xe1000000 if DEBUG_MSM_UART
1329 default 0xf0000be0 if ARCH_EBSA1101450 default 0xf0000be0 if ARCH_EBSA110
@@ -1377,8 +1498,12 @@ config DEBUG_UART_VIRT · 47 unmodified lines
1377 default 0xfeb30c00 if DEBUG_KEYSTONE_UART01498 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1378 default 0xfeb31000 if DEBUG_KEYSTONE_UART11499 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1379 default 0xfec02000 if DEBUG_SOCFPGA_UART1500 default 0xfec02000 if DEBUG_SOCFPGA_UART
1380 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE1501 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
1381 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART01504 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1505 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1506 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1382 default 0xfec90000 if DEBUG_RK32_UART21507 default 0xfec90000 if DEBUG_RK32_UART2
1383 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART11508 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1384 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART21509 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
@@ -1392,18 +1517,25 @@ config DEBUG_UART_VIRT · 7 unmodified lines
1392 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN1517 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1393 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN1518 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1394 default 0xfef36000 if DEBUG_HIGHBANK_UART1519 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
1395 default 0xfefff700 if ARCH_IOP33X1523 default 0xfefff700 if ARCH_IOP33X
1396 default 0xff003000 if DEBUG_U300_UART1524 default 0xff003000 if DEBUG_U300_UART
1525 default 0xffd01000 if DEBUG_HIP01_UART
1397 default DEBUG_UART_PHYS if !MMU1526 default DEBUG_UART_PHYS if !MMU
1398 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \1527 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1399 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \1528 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1400 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \1529 DEBUG_MSM_UART || DEBUG_NETX_UART || \
1401 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART1530 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1531 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1532 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1402 1533
1403config DEBUG_UART_8250_SHIFT1534config DEBUG_UART_8250_SHIFT
1404 int "Register offset shift for the 8250 debug UART"1535 int "Register offset shift for the 8250 debug UART"
1405 depends on DEBUG_LL_UART_8250 || DEBUG_UART_82501536 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1406 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X1537 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \
1538 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1407 default 21539 default 2
1408 1540
1409config DEBUG_UART_8250_WORD1541config DEBUG_UART_8250_WORD
arch/arm/Makefile+1−0
@@ -266,6 +266,7 @@ core-$(CONFIG_KVM_ARM_HOST) += arch/arm/kvm/ · 265 unmodified lines
266 266
267# If we have a machine-specific directory, then include it in the build.267# If we have a machine-specific directory, then include it in the build.
268core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/268core-y += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
269core-y += arch/arm/probes/
269core-y += arch/arm/net/270core-y += arch/arm/net/
270core-y += arch/arm/crypto/271core-y += arch/arm/crypto/
271core-y += arch/arm/firmware/272core-y += arch/arm/firmware/
arch/arm/boot/compressed/head.S+31−10
@@ -178,7 +178,7 @@ not_angel: · 177 unmodified lines
178 178
179 /*179 /*
180 * Set up a page table only if it won't overwrite ourself.180 * 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.
182 * Given that r4 > &_end is most unfrequent, we add a rough182 * Given that r4 > &_end is most unfrequent, we add a rough
183 * additional 1MB of room for a possible appended DTB.183 * additional 1MB of room for a possible appended DTB.
184 */184 */
@@ -263,16 +263,37 @@ restart: adr r0, LC0 · 78 unmodified lines
263 * OK... Let's do some funky business here.263 * OK... Let's do some funky business here.
264 * If we do have a DTB appended to zImage, and we do have264 * If we do have a DTB appended to zImage, and we do have
265 * an ATAG list around, we want the later to be translated265 * an ATAG list around, we want the later to be translated
266 * and folded into the former here. To be on the safe side,266 * and folded into the former here. No GOT fixup has occurred
267 * let's temporarily move the stack away into the malloc267 * yet, but none of the code we're about to call uses any
268 * area. No GOT fixup has occurred yet, but none of the268 * global variable.
269 * code we're about to call uses any global variable.
270 */269 */
271 add sp, sp, #0x10000270
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
272 stmfd sp!, {r0-r3, ip, lr}293 stmfd sp!, {r0-r3, ip, lr}
273 mov r0, r8294 mov r0, r8
274 mov r1, r6295 mov r1, r6
275 sub r2, sp, r6296 mov r2, r5
276 bl atags_to_fdt297 bl atags_to_fdt
277 298
278 /*299 /*
@@ -285,11 +306,11 @@ restart: adr r0, LC0 · 6 unmodified lines
285 bic r0, r0, #1306 bic r0, r0, #1
286 add r0, r0, #0x100307 add r0, r0, #0x100
287 mov r1, r6308 mov r1, r6
288 sub r2, sp, r6309 mov r2, r5
289 bleq atags_to_fdt310 bleq atags_to_fdt
290 311
291 ldmfd sp!, {r0-r3, ip, lr}312 ldmfd sp!, {r0-r3, ip, lr}
292 sub sp, sp, #0x10000313 sub sp, sp, r5
293#endif314#endif
294 315
295 mov r8, r6 @ use the appended device tree316 mov r8, r6 @ use the appended device tree
@@ -306,7 +327,7 @@ restart: adr r0, LC0 · 10 unmodified lines
306 subs r1, r5, r1327 subs r1, r5, r1
307 addhi r9, r9, r1328 addhi r9, r9, r1
308 329
309 /* Get the dtb's size */330 /* Get the current DTB size */
310 ldr r5, [r6, #4]331 ldr r5, [r6, #4]
311#ifndef __ARMEB__332#ifndef __ARMEB__
312 /* convert r5 (dtb size) to little endian */333 /* convert r5 (dtb size) to little endian */
arch/arm/boot/dts/Makefile+223−134
@@ -1,83 +1,91 @@
1ifeq ($(CONFIG_OF),y)1ifeq ($(CONFIG_OF),y)
2 2
3dtb-$(CONFIG_MACH_ASM9260) += \
4 alphascale-asm9260-devkit.dtb
3# Keep at91 dtb files sorted alphabetically for each SoC5# Keep at91 dtb files sorted alphabetically for each SoC
4# rm92006dtb-$(CONFIG_SOC_SAM_V4_V5) += \
5dtb-$(CONFIG_ARCH_AT91) += at91rm9200ek.dtb7 at91rm9200ek.dtb \
6dtb-$(CONFIG_ARCH_AT91) += mpa1600.dtb8 mpa1600.dtb \
7# sam92609 animeo_ip.dtb \
8dtb-$(CONFIG_ARCH_AT91) += animeo_ip.dtb10 at91-qil_a9260.dtb \
9dtb-$(CONFIG_ARCH_AT91) += at91-qil_a9260.dtb11 aks-cdu.dtb \
10dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb12 ethernut5.dtb \
11dtb-$(CONFIG_ARCH_AT91) += ethernut5.dtb13 evk-pro3.dtb \
12dtb-$(CONFIG_ARCH_AT91) += evk-pro3.dtb14 tny_a9260.dtb \
13dtb-$(CONFIG_ARCH_AT91) += tny_a9260.dtb15 usb_a9260.dtb \
14dtb-$(CONFIG_ARCH_AT91) += usb_a9260.dtb16 at91sam9261ek.dtb \
15# sam926117 at91sam9263ek.dtb \
16dtb-$(CONFIG_ARCH_AT91) += at91sam9261ek.dtb18 tny_a9263.dtb \
17# sam926319 usb_a9263.dtb \
18dtb-$(CONFIG_ARCH_AT91) += at91sam9263ek.dtb20 at91-foxg20.dtb \
19dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb21 at91sam9g20ek.dtb \
20dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb22 at91sam9g20ek_2mmc.dtb \
21# sam9g2023 kizbox.dtb \
22dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb24 tny_a9g20.dtb \
23dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb25 usb_a9g20.dtb \
24dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb26 usb_a9g20_lpw.dtb \
25dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb27 at91sam9m10g45ek.dtb \
26dtb-$(CONFIG_ARCH_AT91) += tny_a9g20.dtb28 pm9g45.dtb \
27dtb-$(CONFIG_ARCH_AT91) += usb_a9g20.dtb29 at91sam9n12ek.dtb \
28dtb-$(CONFIG_ARCH_AT91) += usb_a9g20_lpw.dtb30 at91sam9rlek.dtb \
29# sam9g4531 at91-ariag25.dtb \
30dtb-$(CONFIG_ARCH_AT91) += at91sam9m10g45ek.dtb32 at91-cosino_mega2560.dtb \
31dtb-$(CONFIG_ARCH_AT91) += pm9g45.dtb33 at91sam9g15ek.dtb \
32# sam9n1234 at91sam9g25ek.dtb \
33dtb-$(CONFIG_ARCH_AT91) += at91sam9n12ek.dtb35 at91sam9g35ek.dtb \
34# sam9rl36 at91sam9x25ek.dtb \
35dtb-$(CONFIG_ARCH_AT91) += at91sam9rlek.dtb37 at91sam9x35ek.dtb
36# sam9x538dtb-$(CONFIG_SOC_SAM_V7) += \
37dtb-$(CONFIG_ARCH_AT91) += at91-ariag25.dtb39 at91-sama5d3_xplained.dtb \
38dtb-$(CONFIG_ARCH_AT91) += at91-cosino_mega2560.dtb40 sama5d31ek.dtb \
39dtb-$(CONFIG_ARCH_AT91) += at91sam9g15ek.dtb41 sama5d33ek.dtb \
40dtb-$(CONFIG_ARCH_AT91) += at91sam9g25ek.dtb42 sama5d34ek.dtb \
41dtb-$(CONFIG_ARCH_AT91) += at91sam9g35ek.dtb43 sama5d35ek.dtb \
42dtb-$(CONFIG_ARCH_AT91) += at91sam9x25ek.dtb44 sama5d36ek.dtb \
43dtb-$(CONFIG_ARCH_AT91) += at91sam9x35ek.dtb45 at91-sama5d4ek.dtb
44# sama5d346dtb-$(CONFIG_ARCH_ATLAS6) += \
45dtb-$(CONFIG_ARCH_AT91) += at91-sama5d3_xplained.dtb47 atlas6-evb.dtb
46dtb-$(CONFIG_ARCH_AT91) += sama5d31ek.dtb48dtb-$(CONFIG_ARCH_ATLAS7) += \
47dtb-$(CONFIG_ARCH_AT91) += sama5d33ek.dtb49 atlas7-evb.dtb
48dtb-$(CONFIG_ARCH_AT91) += sama5d34ek.dtb50dtb-$(CONFIG_ARCH_AXXIA) += \
49dtb-$(CONFIG_ARCH_AT91) += sama5d35ek.dtb51 axm5516-amarillo.dtb
50dtb-$(CONFIG_ARCH_AT91) += sama5d36ek.dtb52dtb-$(CONFIG_ARCH_BCM2835) += \
51# sama5d453 bcm2835-rpi-b.dtb \
52dtb-$(CONFIG_ARCH_AT91) += at91-sama5d4ek.dtb54 bcm2835-rpi-b-plus.dtb
53
54dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.dtb
55dtb-$(CONFIG_ARCH_AXXIA) += axm5516-amarillo.dtb
56dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
57dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b-plus.dtb
58dtb-$(CONFIG_ARCH_BCM_5301X) += \55dtb-$(CONFIG_ARCH_BCM_5301X) += \
59 bcm4708-buffalo-wzr-1750dhp.dtb \56 bcm4708-buffalo-wzr-1750dhp.dtb \
57 bcm4708-luxul-xwc-1000.dtb \
60 bcm4708-netgear-r6250.dtb \58 bcm4708-netgear-r6250.dtb \
61 bcm4708-netgear-r6300-v2.dtb \59 bcm4708-netgear-r6300-v2.dtb \
62 bcm47081-asus-rt-n18u.dtb \60 bcm47081-asus-rt-n18u.dtb \
63 bcm47081-buffalo-wzr-600dhp2.dtb61 bcm47081-buffalo-wzr-600dhp2.dtb \
64dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb62 bcm47081-buffalo-wzr-900dhp.dtb
65dtb-$(CONFIG_ARCH_BCM_CYGNUS) += bcm911360_entphn.dtb \63dtb-$(CONFIG_ARCH_BCM_63XX) += \
64 bcm963138dvt.dtb
65dtb-$(CONFIG_ARCH_BCM_CYGNUS) += \
66 bcm911360_entphn.dtb \
66 bcm911360k.dtb \67 bcm911360k.dtb \
67 bcm958300k.dtb68 bcm958300k.dtb
68dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \69dtb-$(CONFIG_ARCH_BCM_MOBILE) += \
70 bcm28155-ap.dtb \
69 bcm21664-garnet.dtb71 bcm21664-garnet.dtb
70dtb-$(CONFIG_ARCH_BERLIN) += \72dtb-$(CONFIG_ARCH_BERLIN) += \
71 berlin2-sony-nsz-gs7.dtb \73 berlin2-sony-nsz-gs7.dtb \
72 berlin2cd-google-chromecast.dtb \74 berlin2cd-google-chromecast.dtb \
73 berlin2q-marvell-dmp.dtb75 berlin2q-marvell-dmp.dtb
74dtb-$(CONFIG_ARCH_BRCMSTB) += \76dtb-$(CONFIG_ARCH_BRCMSTB) += \
75 bcm7445-bcm97445svmb.dtb77 bcm7445-bcm97445svmb.dtb
76dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \78dtb-$(CONFIG_ARCH_DAVINCI) += \
79 da850-enbw-cmc.dtb \
77 da850-evm.dtb80 da850-evm.dtb
78dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb81dtb-$(CONFIG_ARCH_DIGICOLOR) += \
79dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \82 cx92755_equinox.dtb
80 exynos3250-rinato.dtb \83dtb-$(CONFIG_ARCH_EFM32) += \
84 efm32gg-dk3750.dtb
85dtb-$(CONFIG_ARCH_EXYNOS3) += \
86 exynos3250-monk.dtb \
87 exynos3250-rinato.dtb
88dtb-$(CONFIG_ARCH_EXYNOS4) += \
81 exynos4210-origen.dtb \89 exynos4210-origen.dtb \
82 exynos4210-smdkv310.dtb \90 exynos4210-smdkv310.dtb \
83 exynos4210-trats.dtb \91 exynos4210-trats.dtb \
@@ -88,7 +96,8 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ · 4 unmodified lines
88 exynos4412-origen.dtb \96 exynos4412-origen.dtb \
89 exynos4412-smdk4412.dtb \97 exynos4412-smdk4412.dtb \
90 exynos4412-tiny4412.dtb \98 exynos4412-tiny4412.dtb \
91 exynos4412-trats2.dtb \99 exynos4412-trats2.dtb
100dtb-$(CONFIG_ARCH_EXYNOS5) += \
92 exynos5250-arndale.dtb \101 exynos5250-arndale.dtb \
93 exynos5250-smdk5250.dtb \102 exynos5250-smdk5250.dtb \
94 exynos5250-snow.dtb \103 exynos5250-snow.dtb \
@@ -98,20 +107,31 @@ dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-monk.dtb \ · 3 unmodified lines
98 exynos5420-arndale-octa.dtb \107 exynos5420-arndale-octa.dtb \
99 exynos5420-peach-pit.dtb \108 exynos5420-peach-pit.dtb \
100 exynos5420-smdk5420.dtb \109 exynos5420-smdk5420.dtb \
110 exynos5422-odroidxu3.dtb \
101 exynos5440-sd5v1.dtb \111 exynos5440-sd5v1.dtb \
102 exynos5440-ssdk5440.dtb \112 exynos5440-ssdk5440.dtb \
103 exynos5800-peach-pi.dtb113 exynos5800-peach-pi.dtb
104dtb-$(CONFIG_ARCH_HI3xxx) += hi3620-hi4511.dtb114dtb-$(CONFIG_ARCH_HI3xxx) += \
105dtb-$(CONFIG_ARCH_HIX5HD2) += hisi-x5hd2-dkb.dtb115 hi3620-hi4511.dtb
106dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb \116dtb-$(CONFIG_ARCH_HIX5HD2) += \
117 hisi-x5hd2-dkb.dtb
118dtb-$(CONFIG_ARCH_HIGHBANK) += \
119 highbank.dtb \
107 ecx-2000.dtb120 ecx-2000.dtb
108dtb-$(CONFIG_ARCH_HIP04) += hip04-d01.dtb121dtb-$(CONFIG_ARCH_HIP01) += \
109dtb-$(CONFIG_ARCH_INTEGRATOR) += integratorap.dtb \122 hip01-ca9x2.dtb
123dtb-$(CONFIG_ARCH_HIP04) += \
124 hip04-d01.dtb
125dtb-$(CONFIG_ARCH_INTEGRATOR) += \
126 integratorap.dtb \
110 integratorcp.dtb127 integratorcp.dtb
111dtb-$(CONFIG_ARCH_KEYSTONE) += k2hk-evm.dtb \128dtb-$(CONFIG_ARCH_KEYSTONE) += \
129 k2hk-evm.dtb \
112 k2l-evm.dtb \130 k2l-evm.dtb \
113 k2e-evm.dtb131 k2e-evm.dtb
114dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \132dtb-$(CONFIG_MACH_KIRKWOOD) += \
133 kirkwood-b3.dtb \
134 kirkwood-blackarmor-nas220.dtb \
115 kirkwood-cloudbox.dtb \135 kirkwood-cloudbox.dtb \
116 kirkwood-d2net.dtb \136 kirkwood-d2net.dtb \
117 kirkwood-db-88f6281.dtb \137 kirkwood-db-88f6281.dtb \
@@ -160,6 +180,7 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ · 42 unmodified lines
160 kirkwood-openrd-base.dtb \180 kirkwood-openrd-base.dtb \
161 kirkwood-openrd-client.dtb \181 kirkwood-openrd-client.dtb \
162 kirkwood-openrd-ultimate.dtb \182 kirkwood-openrd-ultimate.dtb \
183 kirkwood-pogo_e02.dtb \
163 kirkwood-rd88f6192.dtb \184 kirkwood-rd88f6192.dtb \
164 kirkwood-rd88f6281-z0.dtb \185 kirkwood-rd88f6281-z0.dtb \
165 kirkwood-rd88f6281-a.dtb \186 kirkwood-rd88f6281-a.dtb \
@@ -174,37 +195,47 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += kirkwood-b3.dtb \ · 8 unmodified lines
174 kirkwood-ts219-6282.dtb \195 kirkwood-ts219-6282.dtb \
175 kirkwood-ts419-6281.dtb \196 kirkwood-ts419-6281.dtb \
176 kirkwood-ts419-6282.dtb197 kirkwood-ts419-6282.dtb
177dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb198dtb-$(CONFIG_ARCH_LPC32XX) += \
178dtb-$(CONFIG_ARCH_MARCO) += marco-evb.dtb199 ea3250.dtb phy3250.dtb
179dtb-$(CONFIG_MACH_MESON6) += meson6-atv1200.dtb200dtb-$(CONFIG_MACH_MESON6) += \
180dtb-$(CONFIG_ARCH_MMP) += pxa168-aspenite.dtb \201 meson6-atv1200.dtb
202dtb-$(CONFIG_ARCH_MMP) += \
203 pxa168-aspenite.dtb \
181 pxa910-dkb.dtb \204 pxa910-dkb.dtb \
182 mmp2-brownstone.dtb205 mmp2-brownstone.dtb
183dtb-$(CONFIG_ARCH_MOXART) += moxart-uc7112lx.dtb206dtb-$(CONFIG_ARCH_MOXART) += \
184dtb-$(CONFIG_ARCH_MXC) += \207 moxart-uc7112lx.dtb
208dtb-$(CONFIG_SOC_IMX1) += \
185 imx1-ads.dtb \209 imx1-ads.dtb \
186 imx1-apf9328.dtb \210 imx1-apf9328.dtb
211dtb-$(CONFIG_SOC_IMX25) += \
187 imx25-eukrea-mbimxsd25-baseboard.dtb \212 imx25-eukrea-mbimxsd25-baseboard.dtb \
188 imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \213 imx25-eukrea-mbimxsd25-baseboard-cmo-qvga.dtb \
189 imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \214 imx25-eukrea-mbimxsd25-baseboard-dvi-svga.dtb \
190 imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtb \215 imx25-eukrea-mbimxsd25-baseboard-dvi-vga.dtb \
191 imx25-karo-tx25.dtb \216 imx25-karo-tx25.dtb \
192 imx25-pdk.dtb \217 imx25-pdk.dtb
218dtb-$(CONFIG_SOC_IMX31) += \
193 imx27-apf27.dtb \219 imx27-apf27.dtb \
194 imx27-apf27dev.dtb \220 imx27-apf27dev.dtb \
195 imx27-eukrea-mbimxsd27-baseboard.dtb \221 imx27-eukrea-mbimxsd27-baseboard.dtb \
196 imx27-pdk.dtb \222 imx27-pdk.dtb \
197 imx27-phytec-phycore-rdk.dtb \223 imx27-phytec-phycore-rdk.dtb \
198 imx27-phytec-phycard-s-rdk.dtb \224 imx27-phytec-phycard-s-rdk.dtb
199 imx31-bug.dtb \225dtb-$(CONFIG_SOC_IMX31) += \
226 imx31-bug.dtb
227dtb-$(CONFIG_SOC_IMX35) += \
200 imx35-eukrea-mbimxsd35-baseboard.dtb \228 imx35-eukrea-mbimxsd35-baseboard.dtb \
201 imx35-pdk.dtb \229 imx35-pdk.dtb
202 imx50-evk.dtb \230dtb-$(CONFIG_SOC_IMX50) += \
231 imx50-evk.dtb
232dtb-$(CONFIG_SOC_IMX51) += \
203 imx51-apf51.dtb \233 imx51-apf51.dtb \
204 imx51-apf51dev.dtb \234 imx51-apf51dev.dtb \
205 imx51-babbage.dtb \235 imx51-babbage.dtb \
206 imx51-digi-connectcore-jsk.dtb \236 imx51-digi-connectcore-jsk.dtb \
207 imx51-eukrea-mbimxsd51-baseboard.dtb \237 imx51-eukrea-mbimxsd51-baseboard.dtb
238dtb-$(CONFIG_SOC_IMX53) += \
208 imx53-ard.dtb \239 imx53-ard.dtb \
209 imx53-m53evk.dtb \240 imx53-m53evk.dtb \
210 imx53-mba53.dtb \241 imx53-mba53.dtb \
@@ -213,7 +244,8 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 2 unmodified lines
213 imx53-smd.dtb \244 imx53-smd.dtb \
214 imx53-tx53-x03x.dtb \245 imx53-tx53-x03x.dtb \
215 imx53-tx53-x13x.dtb \246 imx53-tx53-x13x.dtb \
216 imx53-voipac-bsb.dtb \247 imx53-voipac-bsb.dtb
248dtb-$(CONFIG_SOC_IMX6Q) += \
217 imx6dl-aristainetos_4.dtb \249 imx6dl-aristainetos_4.dtb \
218 imx6dl-aristainetos_7.dtb \250 imx6dl-aristainetos_7.dtb \
219 imx6dl-cubox-i.dtb \251 imx6dl-cubox-i.dtb \
@@ -234,6 +266,7 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 14 unmodified lines
234 imx6dl-tx6dl-comtft.dtb \266 imx6dl-tx6dl-comtft.dtb \
235 imx6dl-tx6u-801x.dtb \267 imx6dl-tx6u-801x.dtb \
236 imx6dl-tx6u-811x.dtb \268 imx6dl-tx6u-811x.dtb \
269 imx6dl-udoo.dtb \
237 imx6dl-wandboard.dtb \270 imx6dl-wandboard.dtb \
238 imx6dl-wandboard-revb1.dtb \271 imx6dl-wandboard-revb1.dtb \
239 imx6q-arm2.dtb \272 imx6q-arm2.dtb \
@@ -257,23 +290,29 @@ dtb-$(CONFIG_ARCH_MXC) += \ · 17 unmodified lines
257 imx6q-sabresd.dtb \290 imx6q-sabresd.dtb \
258 imx6q-sbc6x.dtb \291 imx6q-sbc6x.dtb \
259 imx6q-tbs2910.dtb \292 imx6q-tbs2910.dtb \
260 imx6q-udoo.dtb \
261 imx6q-wandboard.dtb \
262 imx6q-wandboard-revb1.dtb \
263 imx6q-tx6q-1010.dtb \293 imx6q-tx6q-1010.dtb \
264 imx6q-tx6q-1010-comtft.dtb \294 imx6q-tx6q-1010-comtft.dtb \
265 imx6q-tx6q-1020.dtb \295 imx6q-tx6q-1020.dtb \
266 imx6q-tx6q-1020-comtft.dtb \296 imx6q-tx6q-1020-comtft.dtb \
267 imx6q-tx6q-1110.dtb \297 imx6q-tx6q-1110.dtb \
268 imx6sl-evk.dtb \298 imx6q-udoo.dtb \
269 imx6sx-sdb.dtb \299 imx6q-wandboard.dtb \
300 imx6q-wandboard-revb1.dtb
301dtb-$(CONFIG_SOC_IMX6SL) += \
302 imx6sl-evk.dtb
303dtb-$(CONFIG_SOC_IMX6SX) += \
304 imx6sx-sabreauto.dtb \
305 imx6sx-sdb.dtb
306dtb-$(CONFIG_SOC_LS1021A) += \
270 ls1021a-qds.dtb \307 ls1021a-qds.dtb \
271 ls1021a-twr.dtb \308 ls1021a-twr.dtb
309dtb-$(CONFIG_SOC_VF610) += \
272 vf500-colibri-eval-v3.dtb \310 vf500-colibri-eval-v3.dtb \
273 vf610-colibri-eval-v3.dtb \311 vf610-colibri-eval-v3.dtb \
274 vf610-cosmic.dtb \312 vf610-cosmic.dtb \
275 vf610-twr.dtb313 vf610-twr.dtb
276dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \314dtb-$(CONFIG_ARCH_MXS) += \
315 imx23-evk.dtb \
277 imx23-olinuxino.dtb \316 imx23-olinuxino.dtb \
278 imx23-stmp378x_devb.dtb \317 imx23-stmp378x_devb.dtb \
279 imx28-apf28.dtb \318 imx28-apf28.dtb \
@@ -294,17 +333,21 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \ · 14 unmodified lines
294 imx28-m28evk.dtb \333 imx28-m28evk.dtb \
295 imx28-sps1.dtb \334 imx28-sps1.dtb \
296 imx28-tx28.dtb335 imx28-tx28.dtb
297dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb \336dtb-$(CONFIG_ARCH_NOMADIK) += \
337 ste-nomadik-s8815.dtb \
298 ste-nomadik-nhk15.dtb338 ste-nomadik-nhk15.dtb
299dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \339dtb-$(CONFIG_ARCH_NSPIRE) += \
340 nspire-cx.dtb \
300 nspire-tp.dtb \341 nspire-tp.dtb \
301 nspire-clp.dtb342 nspire-clp.dtb
302dtb-$(CONFIG_ARCH_OMAP2) += omap2420-h4.dtb \343dtb-$(CONFIG_ARCH_OMAP2) += \
344 omap2420-h4.dtb \
303 omap2420-n800.dtb \345 omap2420-n800.dtb \
304 omap2420-n810.dtb \346 omap2420-n810.dtb \
305 omap2420-n810-wimax.dtb \347 omap2420-n810-wimax.dtb \
306 omap2430-sdp.dtb348 omap2430-sdp.dtb
307dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \349dtb-$(CONFIG_ARCH_OMAP3) += \
350 am3517-craneboard.dtb \
308 am3517-evm.dtb \351 am3517-evm.dtb \
309 am3517_mt_ventoux.dtb \352 am3517_mt_ventoux.dtb \
310 omap3430-sdp.dtb \353 omap3430-sdp.dtb \
@@ -348,7 +391,10 @@ dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \ · 37 unmodified lines
348 omap3-sbc-t3730.dtb \391 omap3-sbc-t3730.dtb \
349 omap3-thunder.dtb \392 omap3-thunder.dtb \
350 omap3-zoom3.dtb393 omap3-zoom3.dtb
351dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \394dtb-$(CONFIG_SOC_TI81XX) += \
395 dm8168-evm.dtb
396dtb-$(CONFIG_SOC_AM33XX) += \
397 am335x-base0033.dtb \
352 am335x-bone.dtb \398 am335x-bone.dtb \
353 am335x-boneblack.dtb \399 am335x-boneblack.dtb \
354 am335x-evm.dtb \400 am335x-evm.dtb \
@@ -356,7 +402,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \ · 1 unmodified line
356 am335x-nano.dtb \402 am335x-nano.dtb \
357 am335x-pepper.dtb \403 am335x-pepper.dtb \
358 am335x-lxm.dtb404 am335x-lxm.dtb
359dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \405dtb-$(CONFIG_ARCH_OMAP4) += \
406 omap4-duovero-parlor.dtb \
360 omap4-panda.dtb \407 omap4-panda.dtb \
361 omap4-panda-a4.dtb \408 omap4-panda-a4.dtb \
362 omap4-panda-es.dtb \409 omap4-panda-es.dtb \
@@ -364,20 +411,26 @@ dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ · 1 unmodified line
364 omap4-sdp-es23plus.dtb \411 omap4-sdp-es23plus.dtb \
365 omap4-var-dvk-om44.dtb \412 omap4-var-dvk-om44.dtb \
366 omap4-var-stk-om44.dtb413 omap4-var-stk-om44.dtb
367dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \414dtb-$(CONFIG_SOC_AM43XX) += \
415 am43x-epos-evm.dtb \
368 am437x-sk-evm.dtb \416 am437x-sk-evm.dtb \
417 am437x-idk-evm.dtb \
369 am437x-gp-evm.dtb418 am437x-gp-evm.dtb
370dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \419dtb-$(CONFIG_SOC_OMAP5) += \
420 omap5-cm-t54.dtb \
371 omap5-sbc-t54.dtb \421 omap5-sbc-t54.dtb \
372 omap5-uevm.dtb422 omap5-uevm.dtb
373dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \423dtb-$(CONFIG_SOC_DRA7XX) += \
424 dra7-evm.dtb \
374 am57xx-beagle-x15.dtb \425 am57xx-beagle-x15.dtb \
375 dra72-evm.dtb426 dra72-evm.dtb
376dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \427dtb-$(CONFIG_ARCH_ORION5X) += \
428 orion5x-lacie-d2-network.dtb \
377 orion5x-lacie-ethernet-disk-mini-v2.dtb \429 orion5x-lacie-ethernet-disk-mini-v2.dtb \
378 orion5x-maxtor-shared-storage-2.dtb \430 orion5x-maxtor-shared-storage-2.dtb \
379 orion5x-rd88f5182-nas.dtb431 orion5x-rd88f5182-nas.dtb
380dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb432dtb-$(CONFIG_ARCH_PRIMA2) += \
433 prima2-evb.dtb
381dtb-$(CONFIG_ARCH_QCOM) += \434dtb-$(CONFIG_ARCH_QCOM) += \
382 qcom-apq8064-cm-qs600.dtb \435 qcom-apq8064-cm-qs600.dtb \
383 qcom-apq8064-ifc6410.dtb \436 qcom-apq8064-ifc6410.dtb \
@@ -388,17 +441,24 @@ dtb-$(CONFIG_ARCH_QCOM) += \ · 4 unmodified lines
388 qcom-msm8660-surf.dtb \441 qcom-msm8660-surf.dtb \
389 qcom-msm8960-cdp.dtb \442 qcom-msm8960-cdp.dtb \
390 qcom-msm8974-sony-xperia-honami.dtb443 qcom-msm8974-sony-xperia-honami.dtb
391dtb-$(CONFIG_ARCH_REALVIEW) += arm-realview-pb1176.dtb444dtb-$(CONFIG_ARCH_REALVIEW) += \
445 arm-realview-pb1176.dtb
392dtb-$(CONFIG_ARCH_ROCKCHIP) += \446dtb-$(CONFIG_ARCH_ROCKCHIP) += \
393 rk3066a-bqcurie2.dtb \447 rk3066a-bqcurie2.dtb \
394 rk3066a-marsboard.dtb \448 rk3066a-marsboard.dtb \
449 rk3066a-rayeager.dtb \
395 rk3188-radxarock.dtb \450 rk3188-radxarock.dtb \
396 rk3288-evb-act8846.dtb \451 rk3288-evb-act8846.dtb \
397 rk3288-evb-rk808.dtb452 rk3288-evb-rk808.dtb \
398dtb-$(CONFIG_ARCH_S3C24XX) += s3c2416-smdk2416.dtb453 rk3288-firefly-beta.dtb \
399dtb-$(CONFIG_ARCH_S3C64XX) += s3c6410-mini6410.dtb \454 rk3288-firefly.dtb
455dtb-$(CONFIG_ARCH_S3C24XX) += \
456 s3c2416-smdk2416.dtb
457dtb-$(CONFIG_ARCH_S3C64XX) += \
458 s3c6410-mini6410.dtb \
400 s3c6410-smdk6410.dtb459 s3c6410-smdk6410.dtb
401dtb-$(CONFIG_ARCH_S5PV210) += s5pv210-aquila.dtb \460dtb-$(CONFIG_ARCH_S5PV210) += \
461 s5pv210-aquila.dtb \
402 s5pv210-goni.dtb \462 s5pv210-goni.dtb \
403 s5pv210-smdkc110.dtb \463 s5pv210-smdkc110.dtb \
404 s5pv210-smdkv210.dtb \464 s5pv210-smdkv210.dtb \
@@ -410,48 +470,61 @@ dtb-$(CONFIG_ARCH_SHMOBILE_LEGACY) += \ · 5 unmodified lines
410 r8a7778-bockw.dtb \470 r8a7778-bockw.dtb \
411 r8a7778-bockw-reference.dtb \471 r8a7778-bockw-reference.dtb \
412 r8a7779-marzen.dtb \472 r8a7779-marzen.dtb \
413 r8a7790-lager.dtb \
414 sh7372-mackerel.dtb \473 sh7372-mackerel.dtb \
415 sh73a0-kzm9g.dtb \474 sh73a0-kzm9g.dtb \
416 sh73a0-kzm9g-reference.dtb475 sh73a0-kzm9g-reference.dtb
417dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += emev2-kzm9d.dtb \476dtb-$(CONFIG_ARCH_SHMOBILE_MULTI) += \
477 emev2-kzm9d.dtb \
418 r7s72100-genmai.dtb \478 r7s72100-genmai.dtb \
479 r8a73a4-ape6evm.dtb \
419 r8a7740-armadillo800eva.dtb \480 r8a7740-armadillo800eva.dtb \
420 r8a7779-marzen.dtb \481 r8a7779-marzen.dtb \
421 r8a7790-lager.dtb \482 r8a7790-lager.dtb \
422 r8a7791-henninger.dtb \483 r8a7791-henninger.dtb \
423 r8a7791-koelsch.dtb \484 r8a7791-koelsch.dtb \
424 r8a7794-alt.dtb485 r8a7794-alt.dtb
425dtb-$(CONFIG_ARCH_SOCFPGA) += socfpga_arria5_socdk.dtb \486dtb-$(CONFIG_ARCH_SOCFPGA) += \
487 socfpga_arria5_socdk.dtb \
426 socfpga_arria10_socdk.dtb \488 socfpga_arria10_socdk.dtb \
427 socfpga_cyclone5_socdk.dtb \489 socfpga_cyclone5_socdk.dtb \
428 socfpga_cyclone5_sockit.dtb \490 socfpga_cyclone5_sockit.dtb \
429 socfpga_cyclone5_socrates.dtb \491 socfpga_cyclone5_socrates.dtb \
430 socfpga_vt.dtb492 socfpga_vt.dtb
431dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \493dtb-$(CONFIG_ARCH_SPEAR13XX) += \
494 spear1310-evb.dtb \
432 spear1340-evb.dtb495 spear1340-evb.dtb
433dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \496dtb-$(CONFIG_ARCH_SPEAR3XX) += \
497 spear300-evb.dtb \
434 spear310-evb.dtb \498 spear310-evb.dtb \
435 spear320-evb.dtb \499 spear320-evb.dtb \
436 spear320-hmi.dtb500 spear320-hmi.dtb
437dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb501dtb-$(CONFIG_ARCH_SPEAR6XX) += \
438dtb-$(CONFIG_ARCH_STI)+= stih407-b2120.dtb \502 spear600-evb.dtb
503dtb-$(CONFIG_ARCH_STI) += \
504 stih407-b2120.dtb \
439 stih410-b2120.dtb \505 stih410-b2120.dtb \
440 stih415-b2000.dtb \506 stih415-b2000.dtb \
441 stih415-b2020.dtb \507 stih415-b2020.dtb \
442 stih416-b2000.dtb \508 stih416-b2000.dtb \
443 stih416-b2020.dtb \509 stih416-b2020.dtb \
444 stih416-b2020e.dtb510 stih416-b2020e.dtb \
511 stih418-b2199.dtb
445dtb-$(CONFIG_MACH_SUN4I) += \512dtb-$(CONFIG_MACH_SUN4I) += \
446 sun4i-a10-a1000.dtb \513 sun4i-a10-a1000.dtb \
447 sun4i-a10-ba10-tvbox.dtb \514 sun4i-a10-ba10-tvbox.dtb \
515 sun4i-a10-chuwi-v7-cw0825.dtb \
448 sun4i-a10-cubieboard.dtb \516 sun4i-a10-cubieboard.dtb \
517 sun4i-a10-marsboard.dtb \
449 sun4i-a10-mini-xplus.dtb \518 sun4i-a10-mini-xplus.dtb \
519 sun4i-a10-mk802.dtb \
520 sun4i-a10-mk802ii.dtb \
450 sun4i-a10-hackberry.dtb \521 sun4i-a10-hackberry.dtb \
522 sun4i-a10-hyundai-a7hd.dtb \
451 sun4i-a10-inet97fv2.dtb \523 sun4i-a10-inet97fv2.dtb \
452 sun4i-a10-olinuxino-lime.dtb \524 sun4i-a10-olinuxino-lime.dtb \
453 sun4i-a10-pcduino.dtb525 sun4i-a10-pcduino.dtb
454dtb-$(CONFIG_MACH_SUN5I) += \526dtb-$(CONFIG_MACH_SUN5I) += \
527 sun5i-a10s-mk802.dtb \
455 sun5i-a10s-olinuxino-micro.dtb \528 sun5i-a10s-olinuxino-micro.dtb \
456 sun5i-a10s-r7-tv-dongle.dtb \529 sun5i-a10s-r7-tv-dongle.dtb \
457 sun5i-a13-hsg-h702.dtb \530 sun5i-a13-hsg-h702.dtb \
@@ -461,9 +534,11 @@ dtb-$(CONFIG_MACH_SUN6I) += \ · 3 unmodified lines
461 sun6i-a31-app4-evb1.dtb \534 sun6i-a31-app4-evb1.dtb \
462 sun6i-a31-colombus.dtb \535 sun6i-a31-colombus.dtb \
463 sun6i-a31-hummingbird.dtb \536 sun6i-a31-hummingbird.dtb \
464 sun6i-a31-m9.dtb537 sun6i-a31-m9.dtb \
538 sun6i-a31s-cs908.dtb
465dtb-$(CONFIG_MACH_SUN7I) += \539dtb-$(CONFIG_MACH_SUN7I) += \
466 sun7i-a20-bananapi.dtb \540 sun7i-a20-bananapi.dtb \
541 sun7i-a20-bananapro.dtb \
467 sun7i-a20-cubieboard2.dtb \542 sun7i-a20-cubieboard2.dtb \
468 sun7i-a20-cubietruck.dtb \543 sun7i-a20-cubietruck.dtb \
469 sun7i-a20-hummingbird.dtb \544 sun7i-a20-hummingbird.dtb \
@@ -474,10 +549,12 @@ dtb-$(CONFIG_MACH_SUN7I) += \ · 4 unmodified lines
474 sun7i-a20-olinuxino-micro.dtb \549 sun7i-a20-olinuxino-micro.dtb \
475 sun7i-a20-pcduino3.dtb550 sun7i-a20-pcduino3.dtb
476dtb-$(CONFIG_MACH_SUN8I) += \551dtb-$(CONFIG_MACH_SUN8I) += \
477 sun8i-a23-ippo-q8h-v5.dtb552 sun8i-a23-ippo-q8h-v5.dtb \
553 sun8i-a23-ippo-q8h-v1.2.dtb
478dtb-$(CONFIG_MACH_SUN9I) += \554dtb-$(CONFIG_MACH_SUN9I) += \
479 sun9i-a80-optimus.dtb555 sun9i-a80-optimus.dtb
480dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \556dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) += \
557 tegra20-harmony.dtb \
481 tegra20-iris-512.dtb \558 tegra20-iris-512.dtb \
482 tegra20-medcom-wide.dtb \559 tegra20-medcom-wide.dtb \
483 tegra20-paz00.dtb \560 tegra20-paz00.dtb \
@@ -486,34 +563,43 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \ · 2 unmodified lines
486 tegra20-tec.dtb \563 tegra20-tec.dtb \
487 tegra20-trimslice.dtb \564 tegra20-trimslice.dtb \
488 tegra20-ventana.dtb \565 tegra20-ventana.dtb \
489 tegra20-whistler.dtb \566 tegra20-whistler.dtb
567dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \
490 tegra30-apalis-eval.dtb \568 tegra30-apalis-eval.dtb \
491 tegra30-beaver.dtb \569 tegra30-beaver.dtb \
492 tegra30-cardhu-a02.dtb \570 tegra30-cardhu-a02.dtb \
493 tegra30-cardhu-a04.dtb \571 tegra30-cardhu-a04.dtb \
494 tegra30-colibri-eval-v3.dtb \572 tegra30-colibri-eval-v3.dtb
573dtb-$(CONFIG_ARCH_TEGRA_114_SOC) += \
495 tegra114-dalmore.dtb \574 tegra114-dalmore.dtb \
496 tegra114-roth.dtb \575 tegra114-roth.dtb \
497 tegra114-tn7.dtb \576 tegra114-tn7.dtb
577dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \
498 tegra124-jetson-tk1.dtb \578 tegra124-jetson-tk1.dtb \
499 tegra124-nyan-big.dtb \579 tegra124-nyan-big.dtb \
500 tegra124-venice2.dtb580 tegra124-venice2.dtb
501dtb-$(CONFIG_ARCH_U300) += ste-u300.dtb581dtb-$(CONFIG_ARCH_U300) += \
502dtb-$(CONFIG_ARCH_U8500) += ste-snowball.dtb \582 ste-u300.dtb
583dtb-$(CONFIG_ARCH_U8500) += \
584 ste-snowball.dtb \
503 ste-hrefprev60-stuib.dtb \585 ste-hrefprev60-stuib.dtb \
504 ste-hrefprev60-tvk.dtb \586 ste-hrefprev60-tvk.dtb \
505 ste-hrefv60plus-stuib.dtb \587 ste-hrefv60plus-stuib.dtb \
506 ste-hrefv60plus-tvk.dtb \588 ste-hrefv60plus-tvk.dtb \
507 ste-ccu8540.dtb \589 ste-ccu8540.dtb \
508 ste-ccu9540.dtb590 ste-ccu9540.dtb
509dtb-$(CONFIG_ARCH_VERSATILE) += versatile-ab.dtb \591dtb-$(CONFIG_ARCH_VERSATILE) += \
592 versatile-ab.dtb \
510 versatile-pb.dtb593 versatile-pb.dtb
511dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \594dtb-$(CONFIG_ARCH_VEXPRESS) += \
595 vexpress-v2p-ca5s.dtb \
512 vexpress-v2p-ca9.dtb \596 vexpress-v2p-ca9.dtb \
513 vexpress-v2p-ca15-tc1.dtb \597 vexpress-v2p-ca15-tc1.dtb \
514 vexpress-v2p-ca15_a7.dtb598 vexpress-v2p-ca15_a7.dtb
515dtb-$(CONFIG_ARCH_VIRT) += xenvm-4.2.dtb599dtb-$(CONFIG_ARCH_VIRT) += \
516dtb-$(CONFIG_ARCH_VT8500) += vt8500-bv07.dtb \600 xenvm-4.2.dtb
601dtb-$(CONFIG_ARCH_VT8500) += \
602 vt8500-bv07.dtb \
517 wm8505-ref.dtb \603 wm8505-ref.dtb \
518 wm8650-mid.dtb \604 wm8650-mid.dtb \
519 wm8750-apc8750.dtb \605 wm8750-apc8750.dtb \
@@ -534,8 +620,10 @@ dtb-$(CONFIG_MACH_ARMADA_370) += \ · 14 unmodified lines
534dtb-$(CONFIG_MACH_ARMADA_375) += \620dtb-$(CONFIG_MACH_ARMADA_375) += \
535 armada-375-db.dtb621 armada-375-db.dtb
536dtb-$(CONFIG_MACH_ARMADA_38X) += \622dtb-$(CONFIG_MACH_ARMADA_38X) += \
537 armada-385-db.dtb \623 armada-385-db-ap.dtb \
538 armada-385-rd.dtb624 armada-388-db.dtb \
625 armada-388-gp.dtb \
626 armada-388-rd.dtb
539dtb-$(CONFIG_MACH_ARMADA_XP) += \627dtb-$(CONFIG_MACH_ARMADA_XP) += \
540 armada-xp-axpwifiap.dtb \628 armada-xp-axpwifiap.dtb \
541 armada-xp-db.dtb \629 armada-xp-db.dtb \
@@ -545,17 +633,18 @@ dtb-$(CONFIG_MACH_ARMADA_XP) += \ · 3 unmodified lines
545 armada-xp-netgear-rn2120.dtb \633 armada-xp-netgear-rn2120.dtb \
546 armada-xp-openblocks-ax3-4.dtb \634 armada-xp-openblocks-ax3-4.dtb \
547 armada-xp-synology-ds414.dtb635 armada-xp-synology-ds414.dtb
548dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \636dtb-$(CONFIG_MACH_DOVE) += \
637 dove-cm-a510.dtb \
549 dove-cubox.dtb \638 dove-cubox.dtb \
550 dove-cubox-es.dtb \639 dove-cubox-es.dtb \
551 dove-d2plug.dtb \640 dove-d2plug.dtb \
552 dove-d3plug.dtb \641 dove-d3plug.dtb \
553 dove-dove-db.dtb642 dove-dove-db.dtb
554dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb \643dtb-$(CONFIG_ARCH_MEDIATEK) += \
644 mt6589-aquaris5.dtb \
555 mt6592-evb.dtb \645 mt6592-evb.dtb \
556 mt8127-moose.dtb \646 mt8127-moose.dtb \
557 mt8135-evbp1.dtb647 mt8135-evbp1.dtb
558
559endif648endif
560 649
561always := $(dtb-y)650always := $(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
648 ti,x-plate-resistance = <200>;648 ti,x-plate-resistance = <200>;
649 ti,coordinate-readouts = <5>;649 ti,coordinate-readouts = <5>;
650 ti,wire-config = <0x00 0x11 0x22 0x33>;650 ti,wire-config = <0x00 0x11 0x22 0x33>;
651 ti,charge-delay = <0x400>;
651 };652 };
652 653
653 adc {654 adc {
arch/arm/boot/dts/am3517.dtsi+1−0
@@ -31,6 +31,7 @@ · 30 unmodified lines
31 status = "disabled";31 status = "disabled";
32 reg = <0x5c000000 0x30000>;32 reg = <0x5c000000 0x30000>;
33 interrupts = <67 68 69 70>;33 interrupts = <67 68 69 70>;
34 syscon = <&omap3_scm_general>;
34 ti,davinci-ctrl-reg-offset = <0x10000>;35 ti,davinci-ctrl-reg-offset = <0x10000>;
35 ti,davinci-ctrl-mod-reg-offset = <0>;36 ti,davinci-ctrl-mod-reg-offset = <0>;
36 ti,davinci-ctrl-ram-offset = <0x20000>;37 ti,davinci-ctrl-ram-offset = <0x20000>;
arch/arm/boot/dts/am4372.dtsi+16−0
@@ -948,6 +948,22 @@ · 947 unmodified lines
948 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;948 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
949 status = "disabled";949 status = "disabled";
950 };950 };
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 };
951 };967 };
952};968};
953 969
arch/arm/boot/dts/am437x-gp-evm.dts+106−0
@@ -268,6 +268,78 @@ · 267 unmodified lines
268 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.d_can1_rx */268 0x184 (PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.d_can1_rx */
269 >;269 >;
270 };270 };
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 };
271};343};
272 344
273&i2c0 {345&i2c0 {
@@ -545,3 +617,37 @@ · 271 unmodified lines
545 pinctrl-0 = <&dcan1_default>;617 pinctrl-0 = <&dcan1_default>;
546 status = "okay";618 status = "okay";
547};619};
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
153 153
154 i2c0_pins: i2c0_pins {154 i2c0_pins: i2c0_pins {
155 pinctrl-single,pins = <155 pinctrl-single,pins = <
156 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */156 0x188 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
157 0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */157 0x18c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
158 >;158 >;
159 };159 };
160 160
161 i2c1_pins: i2c1_pins {161 i2c1_pins: i2c1_pins {
162 pinctrl-single,pins = <162 pinctrl-single,pins = <
163 0x15c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */163 0x15c (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_cs0.i2c1_scl */
164 0x158 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */164 0x158 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE2) /* spi0_d1.i2c1_sda */
165 >;165 >;
166 };166 };
167 167
168 mmc1_pins: pinmux_mmc1_pins {168 mmc1_pins: pinmux_mmc1_pins {
169 pinctrl-single,pins = <169 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 */
170 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */176 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
171 >;177 >;
172 };178 };
@@ -184,35 +190,75 @@ · 11 unmodified lines
184 >;190 >;
185 };191 };
186 192
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
187 cpsw_default: cpsw_default {233 cpsw_default: cpsw_default {
188 pinctrl-single,pins = <234 pinctrl-single,pins = <
189 /* Slave 1 */235 /* Slave 1 */
190 0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rmii1_tclk */236 0x12c (PIN_OUTPUT | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
191 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */237 0x114 (PIN_OUTPUT | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
192 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */238 0x128 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
193 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */239 0x124 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
194 0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */240 0x120 (PIN_OUTPUT | MUX_MODE2) /* mii1_txd0.rgmii1_td2 */
195 0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */241 0x11c (PIN_OUTPUT | MUX_MODE2) /* mii1_txd1.rgmii1_td3 */
196 0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */242 0x130 (PIN_INPUT | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
197 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */243 0x118 (PIN_INPUT | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
198 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */244 0x140 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */
199 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */245 0x13c (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
200 0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */246 0x138 (PIN_INPUT | MUX_MODE2) /* mii1_rxd0.rgmii1_rd2 */
201 0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */247 0x134 (PIN_INPUT | MUX_MODE2) /* mii1_rxd1.rgmii1_rd3 */
202 248
203 /* Slave 2 */249 /* Slave 2 */
204 0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */250 0x58 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
205 0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */251 0x40 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
206 0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */252 0x54 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
207 0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */253 0x50 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
208 0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */254 0x4c (PIN_OUTPUT | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
209 0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */255 0x48 (PIN_OUTPUT | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
210 0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */256 0x5c (PIN_INPUT | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
211 0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */257 0x44 (PIN_INPUT | MUX_MODE2) /* gpmc_a1.rgmii2_rtcl */
212 0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */258 0x6c (PIN_INPUT | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
213 0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */259 0x68 (PIN_INPUT | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
214 0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */260 0x64 (PIN_INPUT | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
215 0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */261 0x60 (PIN_INPUT | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
216 >;262 >;
217 };263 };
218 264
@@ -251,8 +297,8 @@ · 32 unmodified lines
251 davinci_mdio_default: davinci_mdio_default {297 davinci_mdio_default: davinci_mdio_default {
252 pinctrl-single,pins = <298 pinctrl-single,pins = <
253 /* MDIO */299 /* MDIO */
254 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */300 0x148 (PIN_INPUT | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
255 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */301 0x14c (PIN_OUTPUT | MUX_MODE0) /* mdio_clk.mdio_clk */
256 >;302 >;
257 };303 };
258 304
@@ -266,46 +312,46 @@ · 7 unmodified lines
266 312
267 dss_pins: dss_pins {313 dss_pins: dss_pins {
268 pinctrl-single,pins = <314 pinctrl-single,pins = <
269 0x020 (PIN_OUTPUT_PULLUP | MUX_MODE1) /* gpmc ad 8 -> DSS DATA 23 */315 0x020 (PIN_OUTPUT | MUX_MODE1) /* gpmc ad 8 -> DSS DATA 23 */
270 0x024 (PIN_OUTPUT_PULLUP | MUX_MODE1)316 0x024 (PIN_OUTPUT | MUX_MODE1)
271 0x028 (PIN_OUTPUT_PULLUP | MUX_MODE1)317 0x028 (PIN_OUTPUT | MUX_MODE1)
272 0x02c (PIN_OUTPUT_PULLUP | MUX_MODE1)318 0x02c (PIN_OUTPUT | MUX_MODE1)
273 0x030 (PIN_OUTPUT_PULLUP | MUX_MODE1)319 0x030 (PIN_OUTPUT | MUX_MODE1)
274 0x034 (PIN_OUTPUT_PULLUP | MUX_MODE1)320 0x034 (PIN_OUTPUT | MUX_MODE1)
275 0x038 (PIN_OUTPUT_PULLUP | MUX_MODE1)321 0x038 (PIN_OUTPUT | MUX_MODE1)
276 0x03c (PIN_OUTPUT_PULLUP | MUX_MODE1) /* gpmc ad 15 -> DSS DATA 16 */322 0x03c (PIN_OUTPUT | MUX_MODE1) /* gpmc ad 15 -> DSS DATA 16 */
277 0x0a0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */323 0x0a0 (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 0 */
278 0x0a4 (PIN_OUTPUT_PULLUP | MUX_MODE0)324 0x0a4 (PIN_OUTPUT | MUX_MODE0)
279 0x0a8 (PIN_OUTPUT_PULLUP | MUX_MODE0)325 0x0a8 (PIN_OUTPUT | MUX_MODE0)
280 0x0ac (PIN_OUTPUT_PULLUP | MUX_MODE0)326 0x0ac (PIN_OUTPUT | MUX_MODE0)
281 0x0b0 (PIN_OUTPUT_PULLUP | MUX_MODE0)327 0x0b0 (PIN_OUTPUT | MUX_MODE0)
282 0x0b4 (PIN_OUTPUT_PULLUP | MUX_MODE0)328 0x0b4 (PIN_OUTPUT | MUX_MODE0)
283 0x0b8 (PIN_OUTPUT_PULLUP | MUX_MODE0)329 0x0b8 (PIN_OUTPUT | MUX_MODE0)
284 0x0bc (PIN_OUTPUT_PULLUP | MUX_MODE0)330 0x0bc (PIN_OUTPUT | MUX_MODE0)
285 0x0c0 (PIN_OUTPUT_PULLUP | MUX_MODE0)331 0x0c0 (PIN_OUTPUT | MUX_MODE0)
286 0x0c4 (PIN_OUTPUT_PULLUP | MUX_MODE0)332 0x0c4 (PIN_OUTPUT | MUX_MODE0)
287 0x0c8 (PIN_OUTPUT_PULLUP | MUX_MODE0)333 0x0c8 (PIN_OUTPUT | MUX_MODE0)
288 0x0cc (PIN_OUTPUT_PULLUP | MUX_MODE0)334 0x0cc (PIN_OUTPUT | MUX_MODE0)
289 0x0d0 (PIN_OUTPUT_PULLUP | MUX_MODE0)335 0x0d0 (PIN_OUTPUT | MUX_MODE0)
290 0x0d4 (PIN_OUTPUT_PULLUP | MUX_MODE0)336 0x0d4 (PIN_OUTPUT | MUX_MODE0)
291 0x0d8 (PIN_OUTPUT_PULLUP | MUX_MODE0)337 0x0d8 (PIN_OUTPUT | MUX_MODE0)
292 0x0dc (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */338 0x0dc (PIN_OUTPUT | MUX_MODE0) /* DSS DATA 15 */
293 0x0e0 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */339 0x0e0 (PIN_OUTPUT | MUX_MODE0) /* DSS VSYNC */
294 0x0e4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */340 0x0e4 (PIN_OUTPUT | MUX_MODE0) /* DSS HSYNC */
295 0x0e8 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */341 0x0e8 (PIN_OUTPUT | MUX_MODE0) /* DSS PCLK */
296 0x0ec (PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */342 0x0ec (PIN_OUTPUT | MUX_MODE0) /* DSS AC BIAS EN */
297 343
298 >;344 >;
299 };345 };
300 346
301 qspi_pins: qspi_pins {347 qspi_pins: qspi_pins {
302 pinctrl-single,pins = <348 pinctrl-single,pins = <
303 0x7c (PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_csn0.qspi_csn */349 0x7c (PIN_OUTPUT | MUX_MODE3) /* gpmc_csn0.qspi_csn */
304 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */350 0x88 (PIN_OUTPUT | MUX_MODE2) /* gpmc_csn3.qspi_clk */
305 0x90 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */351 0x90 (PIN_INPUT | MUX_MODE3) /* gpmc_advn_ale.qspi_d0 */
306 0x94 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */352 0x94 (PIN_INPUT | MUX_MODE3) /* gpmc_oen_ren.qspi_d1 */
307 0x98 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_wen.qspi_d2 */353 0x98 (PIN_INPUT | MUX_MODE3) /* gpmc_wen.qspi_d2 */
308 0x9c (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */354 0x9c (PIN_INPUT | MUX_MODE3) /* gpmc_be0n_cle.qspi_d3 */
309 >;355 >;
310 };356 };
311 357
@@ -323,6 +369,18 @@ · 11 unmodified lines
323 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */369 0x1c (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpcm_ad7.gpio1_7 */
324 >;370 >;
325 };371 };
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 };
326};384};
327 385
328&i2c0 {386&i2c0 {
@@ -386,6 +444,11 @@ · 57 unmodified lines
386 regulator-always-on;444 regulator-always-on;
387 };445 };
388 446
447 power-button {
448 compatible = "ti,tps65218-pwrbutton";
449 status = "okay";
450 interrupts = <3 IRQ_TYPE_EDGE_BOTH>;
451 };
389 };452 };
390 453
391 at24@50 {454 at24@50 {
@@ -479,6 +542,8 @@ · 87 unmodified lines
479&usb1 {542&usb1 {
480 dr_mode = "peripheral";543 dr_mode = "peripheral";
481 status = "okay";544 status = "okay";
545 pinctrl-names = "default";
546 pinctrl-0 = <&usb1_pins>;
482};547};
483 548
484&usb2_phy2 {549&usb2_phy2 {
@@ -488,6 +553,8 @@ · 3 unmodified lines
488&usb2 {553&usb2 {
489 dr_mode = "host";554 dr_mode = "host";
490 status = "okay";555 status = "okay";
556 pinctrl-names = "default";
557 pinctrl-0 = <&usb2_pins>;
491};558};
492 559
493&qspi {560&qspi {
@@ -610,3 +677,25 @@ · 116 unmodified lines
610&wdt {677&wdt {
611 status = "okay";678 status = "okay";
612};679};
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
243 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7)243 0x08C (PIN_OUTPUT_PULLUP | MUX_MODE7)
244 >;244 >;
245 };245 };
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 };
246 };282 };
247 283
248 matrix_keypad: matrix_keypad@0 {284 matrix_keypad: matrix_keypad@0 {
@@ -634,3 +670,20 @@ · 385 unmodified lines
634 };670 };
635 };671 };
636};672};
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
80 default-state = "off";80 default-state = "off";
81 };81 };
82 };82 };
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 };
83};105};
84 106
85&dra7_pmx_core {107&dra7_pmx_core {
@@ -140,6 +162,86 @@ · 54 unmodified lines
140 >;162 >;
141 };163 };
142 164
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
143 tps659038_pins_default: tps659038_pins_default {245 tps659038_pins_default: tps659038_pins_default {
144 pinctrl-single,pins = <246 pinctrl-single,pins = <
145 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */247 0x418 (PIN_INPUT_PULLUP | MUX_MODE14) /* wakeup0.gpio1_0 */
@@ -164,6 +266,17 @@ · 18 unmodified lines
164 >;266 >;
165 };267 };
166 268
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 };
167};280};
168 281
169&i2c1 {282&i2c1 {
@@ -314,6 +427,12 @@ · 144 unmodified lines
314 wakeup-source;427 wakeup-source;
315 ti,palmas-long-press-seconds = <12>;428 ti,palmas-long-press-seconds = <12>;
316 };429 };
430
431 tps659038_gpio: tps659038_gpio {
432 compatible = "ti,palmas-gpio";
433 gpio-controller;
434 #gpio-cells = <2>;
435 };
317 };436 };
318 437
319 tmp102: tmp102@48 {438 tmp102: tmp102@48 {
@@ -365,6 +484,32 @@ · 45 unmodified lines
365 pinctrl-0 = <&uart3_pins_default>;484 pinctrl-0 = <&uart3_pins_default>;
366};485};
367 486
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
368&mmc1 {513&mmc1 {
369 status = "okay";514 status = "okay";
370 515
@@ -403,3 +548,15 @@ · 32 unmodified lines
403 pinctrl-names = "default";548 pinctrl-names = "default";
404 pinctrl-0 = <&usb1_pins>;549 pinctrl-0 = <&usb1_pins>;
405};550};
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
8 * Gregory CLEMENT <gregory.clement@free-electrons.com>8 * Gregory CLEMENT <gregory.clement@free-electrons.com>
9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>9 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
10 *10 *
11 * This file is licensed under the terms of the GNU General Public11 * This file is dual-licensed: you can use it either under the terms
12 * License version 2. This program is licensed "as is" without any12 * of the GPL or the X11 license, at your option. Note that this dual
13 * warranty of any kind, whether express or implied.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.
14 */48 */
15 49
16/dts-v1/;50/dts-v1/;
arch/arm/boot/dts/armada-370-mirabox.dts+37−3
@@ -3,9 +3,43 @@ · 2 unmodified lines
3 *3 *
4 * Gregory CLEMENT <gregory.clement@free-electrons.com>4 * Gregory CLEMENT <gregory.clement@free-electrons.com>
5 *5 *
6 * This file is licensed under the terms of the GNU General Public6 * This file is dual-licensed: you can use it either under the terms
7 * License version 2. This program is licensed "as is" without any7 * of the GPL or the X11 license, at your option. Note that this dual
8 * warranty of any kind, whether express or implied.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.
9 */43 */
10 44
11/dts-v1/;45/dts-v1/;
arch/arm/boot/dts/armada-370-netgear-rn102.dts+38−4
@@ -3,10 +3,43 @@ · 2 unmodified lines
3 *3 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *5 *
6 * This program is free software; you can redistribute it and/or6 * This file is dual-licensed: you can use it either under the terms
7 * modify it under the terms of the GNU General Public License7 * of the GPL or the X11 license, at your option. Note that this dual
8 * as published by the Free Software Foundation; either version8 * licensing only applies to this file, and not this project as a
9 * 2 of the License, or (at your option) any later version.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.
10 */43 */
11 44
12/dts-v1/;45/dts-v1/;
@@ -87,6 +120,7 @@ · 74 unmodified lines
87 isl12057: isl12057@68 {120 isl12057: isl12057@68 {
88 compatible = "isil,isl12057";121 compatible = "isil,isl12057";
89 reg = <0x68>;122 reg = <0x68>;
123 isil,irq2-can-wakeup-machine;
90 };124 };
91 125
92 g762: g762@3e {126 g762: g762@3e {
arch/arm/boot/dts/armada-370-netgear-rn104.dts+38−4
@@ -3,10 +3,43 @@ · 2 unmodified lines
3 *3 *
4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>4 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
5 *5 *
6 * This program is free software; you can redistribute it and/or6 * This file is dual-licensed: you can use it either under the terms
7 * modify it under the terms of the GNU General Public License7 * of the GPL or the X11 license, at your option. Note that this dual
8 * as published by the Free Software Foundation; either version8 * licensing only applies to this file, and not this project as a
9 * 2 of the License, or (at your option) any later version.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.
10 */43 */
11 44
12/dts-v1/;45/dts-v1/;
@@ -93,6 +126,7 @@ · 80 unmodified lines
93 isl12057: isl12057@68 {126 isl12057: isl12057@68 {
94 compatible = "isil,isl12057";127 compatible = "isil,isl12057";
95 reg = <0x68>;128 reg = <0x68>;
129 isil,irq2-can-wakeup-machine;
96 };130 };
97 131
98 g762: g762@3e {132 g762: g762@3e {
arch/arm/boot/dts/armada-370-rd.dts+37−3
@@ -6,9 +6,43 @@ · 5 unmodified lines
6 *6 *
7 * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org>7 * Copyright (C) 2013 Florian Fainelli <florian@openwrt.org>
8 *8 *
9 * This file is licensed under the terms of the GNU General Public9 * This file is dual-licensed: you can use it either under the terms
10 * License version 2. This program is licensed "as is" without any10 * of the GPL or the X11 license, at your option. Note that this dual
11 * warranty of any kind, whether express or implied.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.
12 *46 *
13 * Note: this Device Tree assumes that the bootloader has remapped the47 * Note: this Device Tree assumes that the bootloader has remapped the
14 * internal registers to 0xf1000000 (instead of the default48 * 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
3 *3 *
4 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>4 * Copyright (C) 2014, Arnaud EBALARD <arno@natisbad.org>
5 *5 *
6 * This program is free software; you can redistribute it and/or6 * This file is dual-licensed: you can use it either under the terms
7 * modify it under the terms of the GNU General Public License7 * of the GPL or the X11 license, at your option. Note that this dual
8 * as published by the Free Software Foundation; either version8 * licensing only applies to this file, and not this project as a
9 * 2 of the License, or (at your option) any later version.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.
10 *43 *
11 * Note: this Device Tree assumes that the bootloader has remapped the44 * Note: this Device Tree assumes that the bootloader has remapped the
12 * internal registers to 0xf1000000 (instead of the old 0xd0000000).45 * 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
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 * Ben Dooks <ben.dooks@codethink.co.uk>9 * Ben Dooks <ben.dooks@codethink.co.uk>
10 *10 *
11 * This file is licensed under the terms of the GNU General Public11 * This file is dual-licensed: you can use it either under the terms
12 * License version 2. This program is licensed "as is" without any12 * of the GPL or the X11 license, at your option. Note that this dual
13 * warranty of any kind, whether express or implied.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.
14 *48 *
15 * This file contains the definitions that are common to the Armada49 * This file contains the definitions that are common to the Armada
16 * 370 and Armada XP SoC.50 * 370 and Armada XP SoC.
arch/arm/boot/dts/armada-370.dtsi+37−3
@@ -7,9 +7,43 @@ · 6 unmodified lines
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *9 *
10 * This file is licensed under the terms of the GNU General Public10 * This file is dual-licensed: you can use it either under the terms
11 * License version 2. This program is licensed "as is" without any11 * of the GPL or the X11 license, at your option. Note that this dual
12 * warranty of any kind, whether express or implied.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.
13 *47 *
14 * Contains definitions specific to the Armada 370 SoC that are not48 * Contains definitions specific to the Armada 370 SoC that are not
15 * common to all Armada SoCs.49 * common to all Armada SoCs.
arch/arm/boot/dts/armada-375-db.dts+37−3
@@ -7,9 +7,43 @@ · 6 unmodified lines
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *9 *
10 * This file is licensed under the terms of the GNU General Public10 * This file is dual-licensed: you can use it either under the terms
11 * License version 2. This program is licensed "as is" without any11 * of the GPL or the X11 license, at your option. Note that this dual
12 * warranty of any kind, whether express or implied.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.
13 */47 */
14 48
15/dts-v1/;49/dts-v1/;
arch/arm/boot/dts/armada-375.dtsi+38−4
@@ -6,9 +6,43 @@ · 5 unmodified lines
6 * Gregory CLEMENT <gregory.clement@free-electrons.com>6 * Gregory CLEMENT <gregory.clement@free-electrons.com>
7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>7 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
8 *8 *
9 * This file is licensed under the terms of the GNU General Public9 * This file is dual-licensed: you can use it either under the terms
10 * License version 2. This program is licensed "as is" without any10 * of the GPL or the X11 license, at your option. Note that this dual
11 * warranty of any kind, whether express or implied.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.
12 */46 */
13 47
14#include "skeleton.dtsi"48#include "skeleton.dtsi"
@@ -63,7 +97,7 @@ · 48 unmodified lines
63 };97 };
64 98
65 soc {99 soc {
66 compatible = "marvell,armada375-mbus", "marvell,armada370-mbus", "simple-bus";100 compatible = "marvell,armada375-mbus", "simple-bus";
67 #address-cells = <2>;101 #address-cells = <2>;
68 #size-cells = <1>;102 #size-cells = <1>;
69 controller = <&mbusc>;103 controller = <&mbusc>;
arch/arm/boot/dts/armada-380.dtsi+38−5
@@ -7,9 +7,43 @@ · 6 unmodified lines
7 * Gregory CLEMENT <gregory.clement@free-electrons.com>7 * Gregory CLEMENT <gregory.clement@free-electrons.com>
8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>8 * Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9 *9 *
10 * This file is licensed under the terms of the GNU General Public10 * This file is dual-licensed: you can use it either under the terms
11 * License version 2. This program is licensed "as is" without any11 * of the GPL or the X11 license, at your option. Note that this dual
12 * warranty of any kind, whether express or implied.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