History

Merge tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull DeviceTree updates from Rob Herring: "There's a few orphans in the conversion to %pOF printf specifiers included here that no one else picked up. Summary: - Convert more DT code to use of_property_read_* API. - Improve DT overlay support when adding multiple overlays - Convert printk's to %pOF format specifiers. Most went via subsystem trees, but picked up the remaining orphans - Correct unittests to use preferred "okay" for "status" property value - Add a KASLR seed property - Vendor prefixes for Mellanox, Theobroma System, Adaptrum, Moxa - Fix modalias buffer handling - Clean-up of include paths for building dtbs - Add bindings for amc6821, isl1208, tsl2x7x, srf02, and srf10 devices - Add nvmem bindings for MediaTek MT7623 and MT7622 SoC - Add compatible string for Allwinner H5 Mali-450 GPU - Fix links to old OpenFirmware docs with new mirror on devicetree.org - Remove status property from binding doc examples" * tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits) devicetree: Adjust status "ok" -> "okay" under drivers/of/ dt-bindings: Remove "status" from examples dt-bindings: pinctrl: sh-pfc: Use generic node name dt-bindings: Add vendor Mellanox dt-binding: net/phy: fix interrupts description virt: Convert to using %pOF instead of full_name macintosh: Convert to using %pOF instead of full_name ide: pmac: Convert to using %pOF instead of full_name microblaze: Convert to using %pOF instead of full_name dt-bindings: usb: musb: Grammar s/the/to/, s/is/are/ of: Use PLATFORM_DEVID_NONE definition of/device: Fix of_device_get_modalias() buffer handling of/device: Prevent buffer overflow in of_device_modalias() dt-bindings: add amc6821, isl1208 trivial bindings dt-bindings: add vendor prefix for Theobroma Systems of: search scripts/dtc/include-prefixes path for both CPP and DTC of: remove arch/$(SRCARCH)/boot/dts from include search path for CPP of: remove drivers/of/testcase-data from include search path for CPP of: return of_get_cpu_node from of_cpu_device_node_get if CPUs are not registered iio: srf08: add device tree binding for srf02 and srf10 ...

Linus Torvalds committed 9 years ago

Commit 74fee4e2 parents 7d95565 8402446273 files · +508 −626Browse files

Unified · Split

273 files
  1. Documentation/devicetree/bindings/arm/arch_timer.txt +0 −1
  2. Documentation/devicetree/bindings/arm/marvell/cp110-system-controller0.txt +0 −1
  3. Documentation/devicetree/bindings/ata/apm-xgene.txt +0 −2
  4. Documentation/devicetree/bindings/ata/imx-pata.txt +0 −1
  5. Documentation/devicetree/bindings/bus/mvebu-mbus.txt +0 −3
  6. Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt +0 −2
  7. Documentation/devicetree/bindings/bus/nvidia,tegra210-aconnect.txt +0 −1
  8. Documentation/devicetree/bindings/chosen.txt +24 −2
  9. Documentation/devicetree/bindings/clock/alphascale,acc.txt +0 −1
  10. Documentation/devicetree/bindings/clock/amlogic,gxbb-aoclkc.txt +0 −1
  11. Documentation/devicetree/bindings/clock/amlogic,gxbb-clkc.txt +0 −1
  12. Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt +0 −1
  13. Documentation/devicetree/bindings/clock/brcm,kona-ccu.txt +0 −1
  14. Documentation/devicetree/bindings/clock/exynos5433-clock.txt +0 −1
  15. Documentation/devicetree/bindings/clock/hi3660-clock.txt +0 −1
  16. Documentation/devicetree/bindings/clock/hix5hd2-clock.txt +0 −1
  17. Documentation/devicetree/bindings/clock/imx21-clock.txt +0 −1
  18. Documentation/devicetree/bindings/clock/imx23-clock.txt +0 −1
  19. Documentation/devicetree/bindings/clock/imx25-clock.txt +0 −1
  20. Documentation/devicetree/bindings/clock/imx27-clock.txt +0 −1
  21. Documentation/devicetree/bindings/clock/imx28-clock.txt +0 −1
  22. Documentation/devicetree/bindings/clock/imx31-clock.txt +0 −1
  23. Documentation/devicetree/bindings/clock/imx5-clock.txt +0 −1
  24. Documentation/devicetree/bindings/clock/imx6q-clock.txt +0 −1
  25. Documentation/devicetree/bindings/clock/nvidia,tegra124-dfll.txt +0 −1
  26. Documentation/devicetree/bindings/clock/pxa-clock.txt +0 −1
  27. Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt +0 −1
  28. Documentation/devicetree/bindings/clock/renesas,r8a7778-cpg-clocks.txt +0 −1
  29. Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt +0 −1
  30. Documentation/devicetree/bindings/clock/samsung,s3c2410-clock.txt +0 −1
  31. Documentation/devicetree/bindings/clock/samsung,s3c2412-clock.txt +0 −1
  32. Documentation/devicetree/bindings/clock/samsung,s3c2443-clock.txt +0 −1
  33. Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt +0 −1
  34. Documentation/devicetree/bindings/clock/samsung,s5pv210-clock.txt +0 −1
  35. Documentation/devicetree/bindings/clock/silabs,si5351.txt +5 −1
  36. Documentation/devicetree/bindings/clock/ti,sci-clk.txt +3 −4
  37. Documentation/devicetree/bindings/clock/ti/dra7-atl.txt +0 −2
  38. Documentation/devicetree/bindings/clock/zx296702-clk.txt +0 −1
  39. Documentation/devicetree/bindings/clock/zx296718-clk.txt +0 −1
  40. Documentation/devicetree/bindings/crypto/fsl-dcp.txt +0 −1
  41. Documentation/devicetree/bindings/crypto/inside-secure-safexcel.txt +0 −1
  42. Documentation/devicetree/bindings/crypto/marvell-cesa.txt +0 −1
  43. Documentation/devicetree/bindings/crypto/mv_cesa.txt +0 −1
  44. Documentation/devicetree/bindings/crypto/rockchip-crypto.txt +0 −1
  45. Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt +0 −1
  46. Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt +0 −1
  47. Documentation/devicetree/bindings/display/atmel,lcdc.txt +0 −1
  48. Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt +0 −1
  49. Documentation/devicetree/bindings/display/bridge/megachips-stdpxxxx-ge-b850v3-fw.txt +0 −1
  50. Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt +0 −1
  51. Documentation/devicetree/bindings/display/fsl,tcon.txt +0 −1
  52. Documentation/devicetree/bindings/display/imx/fsl-imx-drm.txt +1 −1
  53. Documentation/devicetree/bindings/display/marvell,pxa2xx-lcdc.txt +0 −1
  54. Documentation/devicetree/bindings/display/panel/innolux,p079zca.txt +0 −1
  55. Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt +0 −1
  56. Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt +0 −1
  57. Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt +0 −2
  58. Documentation/devicetree/bindings/display/rockchip/inno_hdmi-rockchip.txt +0 −1
  59. Documentation/devicetree/bindings/display/simple-framebuffer-sunxi.txt +0 −1
  60. Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt +0 −1
  61. Documentation/devicetree/bindings/dma/fsl-edma.txt +0 −1
  62. Documentation/devicetree/bindings/dma/mv-xor.txt +0 −1
  63. Documentation/devicetree/bindings/dma/qcom_adm.txt +0 −1
  64. Documentation/devicetree/bindings/dma/snps-dma.txt +0 −1
  65. Documentation/devicetree/bindings/dma/st_fdma.txt +0 −1
  66. Documentation/devicetree/bindings/dma/ste-dma40.txt +0 −1
  67. Documentation/devicetree/bindings/dma/sun4i-dma.txt +0 −1
  68. Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt +0 −1
  69. Documentation/devicetree/bindings/dma/ti-edma.txt +0 −1
  70. Documentation/devicetree/bindings/fpga/xilinx-slave-serial.txt +0 −1
  71. Documentation/devicetree/bindings/gpio/gpio-mpc8xxx.txt +0 −1
  72. Documentation/devicetree/bindings/gpio/spear_spics.txt +0 −1
  73. Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt +5 −0
  74. Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt +0 −3
  75. Documentation/devicetree/bindings/gpu/samsung-g2d.txt +0 −1
  76. Documentation/devicetree/bindings/hsi/omap-ssi.txt +0 −1
  77. Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.txt +0 −1
  78. Documentation/devicetree/bindings/i2c/i2c-efm32.txt +0 −1
  79. Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt +0 −1
  80. Documentation/devicetree/bindings/iio/adc/brcm,iproc-static-adc.txt +0 −1
  81. Documentation/devicetree/bindings/iio/adc/lpc1850-adc.txt +0 −1
  82. Documentation/devicetree/bindings/iio/dac/lpc1850-dac.txt +0 −1
  83. Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt +0 −1
  84. Documentation/devicetree/bindings/input/ti,drv260x.txt +1 −1
  85. Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt +0 −1
  86. Documentation/devicetree/bindings/input/touchscreen/imx6ul_tsc.txt +0 −1
  87. Documentation/devicetree/bindings/media/pxa-camera.txt +0 −1
  88. Documentation/devicetree/bindings/media/s5p-cec.txt +0 −1
  89. Documentation/devicetree/bindings/media/samsung-fimc.txt +0 −2
  90. Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt +0 −1
  91. Documentation/devicetree/bindings/media/ti,da850-vpif.txt +0 −1
  92. Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt +0 −1
  93. Documentation/devicetree/bindings/mfd/act8945a.txt +0 −2
  94. Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt +0 −1
  95. Documentation/devicetree/bindings/mfd/da9052-i2c.txt +0 −1
  96. Documentation/devicetree/bindings/mfd/mc13xxx.txt +0 −1
  97. Documentation/devicetree/bindings/mfd/mxs-lradc.txt +0 −2
  98. Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt +0 −2
  99. Documentation/devicetree/bindings/misc/atmel-ssc.txt +0 −1
  100. Documentation/devicetree/bindings/mmc/arasan,sdhci.txt +0 −1
  101. Documentation/devicetree/bindings/mmc/davinci_mmc.txt +0 −1
  102. Documentation/devicetree/bindings/mmc/fsl-imx-mmc.txt +0 −1
  103. Documentation/devicetree/bindings/mmc/mmc-card.txt +0 −1
  104. Documentation/devicetree/bindings/mmc/mmc.txt +0 −1
  105. Documentation/devicetree/bindings/mmc/orion-sdio.txt +0 −1
  106. Documentation/devicetree/bindings/mmc/sdhci-st.txt +0 −3
  107. Documentation/devicetree/bindings/mmc/zx-dw-mshc.txt +0 −1
  108. Documentation/devicetree/bindings/mtd/atmel-quadspi.txt +0 −1
  109. Documentation/devicetree/bindings/mtd/mtk-quadspi.txt +0 −1
  110. Documentation/devicetree/bindings/mtd/st-fsm.txt +0 −1
  111. Documentation/devicetree/bindings/mtd/sunxi-nand.txt +0 −1
  112. Documentation/devicetree/bindings/net/brcm,amac.txt +0 −1
  113. Documentation/devicetree/bindings/net/btusb.txt +0 −1
  114. Documentation/devicetree/bindings/net/can/m_can.txt +0 −1
  115. Documentation/devicetree/bindings/net/dsa/ksz.txt +0 −2
  116. Documentation/devicetree/bindings/net/dsa/lan9303.txt +0 −3
  117. Documentation/devicetree/bindings/net/ftgmac100.txt +0 −1
  118. Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt +0 −1
  119. Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt +0 −2
  120. Documentation/devicetree/bindings/net/marvell-neta-bm.txt +0 −2
  121. Documentation/devicetree/bindings/net/marvell-pp2.txt +0 −3
  122. Documentation/devicetree/bindings/net/meson-dwmac.txt +0 −1
  123. Documentation/devicetree/bindings/net/micrel-ksz90x1.txt +0 −1
  124. Documentation/devicetree/bindings/net/microchip,enc28j60.txt +0 −1
  125. Documentation/devicetree/bindings/net/nfc/nfcmrvl.txt +0 −2
  126. Documentation/devicetree/bindings/net/nfc/nxp-nci.txt +0 −1
  127. Documentation/devicetree/bindings/net/nfc/pn533-i2c.txt +0 −1
  128. Documentation/devicetree/bindings/net/nfc/pn544.txt +0 −1
  129. Documentation/devicetree/bindings/net/nfc/s3fwrn5.txt +0 −1
  130. Documentation/devicetree/bindings/net/nfc/st-nci-i2c.txt +0 −1
  131. Documentation/devicetree/bindings/net/nfc/st-nci-spi.txt +0 −1
  132. Documentation/devicetree/bindings/net/nfc/st21nfca.txt +0 −1
  133. Documentation/devicetree/bindings/net/nfc/st95hf.txt +0 −2
  134. Documentation/devicetree/bindings/net/nfc/trf7970a.txt +0 −2
  135. Documentation/devicetree/bindings/net/oxnas-dwmac.txt +0 −1
  136. Documentation/devicetree/bindings/net/phy.txt +3 −7
  137. Documentation/devicetree/bindings/net/qca,qca7000.txt +0 −2
  138. Documentation/devicetree/bindings/net/rockchip-dwmac.txt +0 −1
  139. Documentation/devicetree/bindings/net/smsc-lan87xx.txt +0 −1
  140. Documentation/devicetree/bindings/net/socfpga-dwmac.txt +0 −1
  141. Documentation/devicetree/bindings/net/sti-dwmac.txt +0 −1
  142. Documentation/devicetree/bindings/net/stm32-dwmac.txt +0 −1
  143. Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt +0 −1
  144. Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt +0 −1
  145. Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt +0 −1
  146. Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt +0 −1
  147. Documentation/devicetree/bindings/nvmem/mtk-efuse.txt +4 −1
  148. Documentation/devicetree/bindings/nvmem/mxs-ocotp.txt +0 −1
  149. Documentation/devicetree/bindings/opp/opp.txt +0 −1
  150. Documentation/devicetree/bindings/pci/aardvark-pci.txt +0 −1
  151. Documentation/devicetree/bindings/pci/hisilicon-pcie.txt +0 −2
  152. Documentation/devicetree/bindings/pci/mvebu-pci.txt +0 −11
  153. Documentation/devicetree/bindings/pci/pci-armada8k.txt +0 −1
  154. Documentation/devicetree/bindings/pci/pci.txt +2 −2
  155. Documentation/devicetree/bindings/pci/rcar-pci.txt +0 −1
  156. Documentation/devicetree/bindings/pci/xgene-pci-msi.txt +0 −1
  157. Documentation/devicetree/bindings/phy/apm-xgene-phy.txt +0 −3
  158. Documentation/devicetree/bindings/phy/keystone-usb-phy.txt +0 −1
  159. Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt +0 −4
  160. Documentation/devicetree/bindings/phy/phy-mvebu.txt +0 −1
  161. Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt +0 −2
  162. Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt +0 −2
  163. Documentation/devicetree/bindings/phy/samsung-phy.txt +0 −1
  164. Documentation/devicetree/bindings/phy/sun9i-usb-phy.txt +0 −1
  165. Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt +0 −1
  166. Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt +0 −1
  167. Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt +0 −1
  168. Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt +0 −1
  169. Documentation/devicetree/bindings/pinctrl/oxnas,pinctrl.txt +0 −1
  170. Documentation/devicetree/bindings/pinctrl/pinctrl-zx.txt +0 −1
  171. Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt +1 −2
  172. Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt +0 −1
  173. Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt +0 −1
  174. Documentation/devicetree/bindings/power/power-controller.txt +0 −1
  175. Documentation/devicetree/bindings/power/reset/st-reset.txt +0 −1
  176. Documentation/devicetree/bindings/power/supply/act8945a-charger.txt +0 −2
  177. Documentation/devicetree/bindings/power/supply/max8903-charger.txt +0 −1
  178. Documentation/devicetree/bindings/power/supply/maxim,max14656.txt +0 −1
  179. Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt +0 −1
  180. Documentation/devicetree/bindings/pwm/pwm-meson.txt +0 −1
  181. Documentation/devicetree/bindings/pwm/pwm-sun4i.txt +0 −1
  182. Documentation/devicetree/bindings/pwm/pwm-tipwmss.txt +0 −2
  183. Documentation/devicetree/bindings/regulator/act8865-regulator.txt +0 −1
  184. Documentation/devicetree/bindings/regulator/act8945a-regulator.txt +0 −1
  185. Documentation/devicetree/bindings/reset/nxp,lpc1850-rgu.txt +0 −1
  186. Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt +0 −1
  187. Documentation/devicetree/bindings/scsi/hisilicon-sas.txt +0 −1
  188. Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt +0 −1
  189. Documentation/devicetree/bindings/security/tpm/st33zp24-spi.txt +0 −1
  190. Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt +0 −1
  191. Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt +0 −1
  192. Documentation/devicetree/bindings/serial/arc-uart.txt +0 −1
  193. Documentation/devicetree/bindings/serial/axis,etraxfs-uart.txt +0 −1
  194. Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.txt +0 −1
  195. Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt +0 −3
  196. Documentation/devicetree/bindings/serial/serial.txt +0 −2
  197. Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt +0 −1
  198. Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt +0 −1
  199. Documentation/devicetree/bindings/sound/armada-370db-audio.txt +0 −1
  200. Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt +0 −1
  201. Documentation/devicetree/bindings/sound/brcm,cygnus-audio.txt +0 −4
  202. Documentation/devicetree/bindings/sound/davinci-mcbsp.txt +0 −1
  203. Documentation/devicetree/bindings/sound/fsl,asrc.txt +0 −1
  204. Documentation/devicetree/bindings/sound/fsl,esai.txt +0 −1
  205. Documentation/devicetree/bindings/sound/fsl,spdif.txt +0 −1
  206. Documentation/devicetree/bindings/sound/hdmi.txt +0 −1
  207. Documentation/devicetree/bindings/sound/renesas,rsnd.txt +0 −2
  208. Documentation/devicetree/bindings/sound/rockchip,pdm.txt +0 −1
  209. Documentation/devicetree/bindings/sound/rockchip-spdif.txt +0 −1
  210. Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt +0 −5
  211. Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt +0 −1
  212. Documentation/devicetree/bindings/sound/tas5720.txt +0 −1
  213. Documentation/devicetree/bindings/sound/zte,zx-i2s.txt +0 −1
  214. Documentation/devicetree/bindings/sound/zte,zx-spdif.txt +0 −1
  215. Documentation/devicetree/bindings/spi/efm32-spi.txt +0 −2
  216. Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt +0 −1
  217. Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt +0 −1
  218. Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt +0 −1
  219. Documentation/devicetree/bindings/spi/sh-hspi.txt +0 −1
  220. Documentation/devicetree/bindings/spi/sh-msiof.txt +0 −1
  221. Documentation/devicetree/bindings/spi/spi-clps711x.txt +0 −1
  222. Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt +0 −1
  223. Documentation/devicetree/bindings/spi/spi-mt65xx.txt +0 −1
  224. Documentation/devicetree/bindings/spi/spi-orion.txt +0 −2
  225. Documentation/devicetree/bindings/spi/spi-sun4i.txt +0 −1
  226. Documentation/devicetree/bindings/spi/spi-sun6i.txt +0 −1
  227. Documentation/devicetree/bindings/spi/spi_atmel.txt +0 −1
  228. Documentation/devicetree/bindings/sram/sunxi-sram.txt +0 −1
  229. Documentation/devicetree/bindings/thermal/armada-thermal.txt +0 −1
  230. Documentation/devicetree/bindings/thermal/exynos-thermal.txt +0 −1
  231. Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt +0 −1
  232. Documentation/devicetree/bindings/trivial-devices.txt +14 −0
  233. Documentation/devicetree/bindings/unittest.txt +0 −5
  234. Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.txt +0 −1
  235. Documentation/devicetree/bindings/usb/am33xx-usb.txt +2 −2
  236. Documentation/devicetree/bindings/usb/da8xx-usb.txt +0 −2
  237. Documentation/devicetree/bindings/usb/dwc3-st.txt +0 −1
  238. Documentation/devicetree/bindings/usb/dwc3-xilinx.txt +0 −1
  239. Documentation/devicetree/bindings/usb/ehci-st.txt +0 −1
  240. Documentation/devicetree/bindings/usb/exynos-usb.txt +0 −2
  241. Documentation/devicetree/bindings/usb/isp1301.txt +0 −1
  242. Documentation/devicetree/bindings/usb/keystone-usb.txt +0 −1
  243. Documentation/devicetree/bindings/usb/mediatek,mtu3.txt +0 −2
  244. Documentation/devicetree/bindings/usb/ohci-st.txt +0 −1
  245. Documentation/devicetree/bindings/usb/qcom,dwc3.txt +0 −3
  246. Documentation/devicetree/bindings/usb/rockchip,dwc3.txt +0 −4
  247. Documentation/devicetree/bindings/usb/usb-device.txt +1 −2
  248. Documentation/devicetree/bindings/vendor-prefixes.txt +4 −1
  249. Documentation/devicetree/bindings/w1/fsl-imx-owire.txt +0 −1
  250. Documentation/devicetree/bindings/watchdog/atmel-sama5d4-wdt.txt +0 −1
  251. Documentation/devicetree/bindings/watchdog/atmel-wdt.txt +0 −1
  252. Documentation/devicetree/bindings/watchdog/marvel.txt +0 −1
  253. Documentation/devicetree/booting-without-of.txt +1 −1
  254. arch/microblaze/kernel/timer.c +1 −1
  255. arch/microblaze/pci/pci-common.c +7 −7
  256. drivers/of/address.c +11 −13
  257. drivers/of/base.c +23 −23
  258. drivers/of/device.c +31 −44
  259. drivers/of/dynamic.c +16 −17
  260. drivers/of/irq.c +31 −46
  261. drivers/of/of_mdio.c +2 −2
  262. drivers/of/of_pci.c +34 −38
  263. drivers/of/overlay.c +121 −21
  264. drivers/of/platform.c +17 −17
  265. drivers/of/property.c +11 −12
  266. drivers/of/unittest-data/Makefile +14 −5
  267. drivers/of/unittest-data/overlay.dts +27 −4
  268. drivers/of/unittest-data/overlay_bad_symbol.dts +22 −0
  269. drivers/of/unittest-data/overlay_base.dts +11 −0
  270. drivers/of/unittest.c +47 −30
  271. drivers/virt/fsl_hypervisor.c +6 −6
  272. include/linux/of_device.h +1 −1
  273. scripts/Makefile.lib +4 −4
Documentation/devicetree/bindings/arm/arch_timer.txt+0−1
@@ -108,6 +108,5 @@ Example: · 107 unmodified lines
108 frame-number = <1>108 frame-number = <1>
109 interrupts = <0 15 0x8>;109 interrupts = <0 15 0x8>;
110 reg = <0xf0003000 0x1000>;110 reg = <0xf0003000 0x1000>;
111 status = "disabled";
112 };111 };
113 };112 };
Documentation/devicetree/bindings/arm/marvell/cp110-system-controller0.txt+0−1
@@ -183,7 +183,6 @@ cpm_syscon0: system-controller@440000 { · 182 unmodified lines
183 gpio-controller;183 gpio-controller;
184 #gpio-cells = <2>;184 #gpio-cells = <2>;
185 gpio-ranges = <&cpm_pinctrl 0 0 32>;185 gpio-ranges = <&cpm_pinctrl 0 0 32>;
186 status = "disabled";
187 };186 };
188 187
189};188};
Documentation/devicetree/bindings/ata/apm-xgene.txt+0−2
@@ -57,7 +57,6 @@ Example: · 56 unmodified lines
57 <0x0 0x1f227000 0x0 0x1000>;57 <0x0 0x1f227000 0x0 0x1000>;
58 interrupts = <0x0 0x87 0x4>;58 interrupts = <0x0 0x87 0x4>;
59 dma-coherent;59 dma-coherent;
60 status = "ok";
61 clocks = <&sataclk 0>;60 clocks = <&sataclk 0>;
62 phys = <&phy2 0>;61 phys = <&phy2 0>;
63 phy-names = "sata-phy";62 phy-names = "sata-phy";
@@ -72,7 +71,6 @@ Example: · 8 unmodified lines
72 <0x0 0x1f237000 0x0 0x1000>;71 <0x0 0x1f237000 0x0 0x1000>;
73 interrupts = <0x0 0x88 0x4>;72 interrupts = <0x0 0x88 0x4>;
74 dma-coherent;73 dma-coherent;
75 status = "ok";
76 clocks = <&sataclk 0>;74 clocks = <&sataclk 0>;
77 phys = <&phy3 0>;75 phys = <&phy3 0>;
78 phy-names = "sata-phy";76 phy-names = "sata-phy";
Documentation/devicetree/bindings/ata/imx-pata.txt+0−1
@@ -13,5 +13,4 @@ Example: · 12 unmodified lines
13 reg = <0x83fe0000 0x4000>;13 reg = <0x83fe0000 0x4000>;
14 interrupts = <70>;14 interrupts = <70>;
15 clocks = <&clks 161>;15 clocks = <&clks 161>;
16 status = "disabled";
17 };16 };
Documentation/devicetree/bindings/bus/mvebu-mbus.txt+0−3
@@ -227,7 +227,6 @@ See the example below, where a more complete device tree is shown: · 226 unmodified lines
227 };227 };
228 228
229 devbus-bootcs {229 devbus-bootcs {
230 status = "okay";
231 ranges = <0 MBUS_ID(0x01, 0x2f) 0 0x8000000>;230 ranges = <0 MBUS_ID(0x01, 0x2f) 0 0x8000000>;
232 231
233 /* NOR */232 /* NOR */
@@ -240,7 +239,6 @@ See the example below, where a more complete device tree is shown: · 6 unmodified lines
240 239
241 pcie-controller {240 pcie-controller {
242 compatible = "marvell,armada-xp-pcie";241 compatible = "marvell,armada-xp-pcie";
243 status = "okay";
244 device_type = "pci";242 device_type = "pci";
245 243
246 #address-cells = <3>;244 #address-cells = <3>;
@@ -258,7 +256,6 @@ See the example below, where a more complete device tree is shown: · 11 unmodified lines
258 256
259 pcie@1,0 {257 pcie@1,0 {
260 /* Port 0, Lane 0 */258 /* Port 0, Lane 0 */
261 status = "okay";
262 };259 };
263 };260 };
264 261
Documentation/devicetree/bindings/bus/nvidia,tegra20-gmi.txt+0−2
@@ -84,7 +84,6 @@ gmi@70090000 { · 83 unmodified lines
84 reset-names = "gmi";84 reset-names = "gmi";
85 ranges = <4 0 0xd0000000 0xfffffff>;85 ranges = <4 0 0xd0000000 0xfffffff>;
86 86
87 status = "okay";
88 87
89 bus@4,0 {88 bus@4,0 {
90 compatible = "simple-bus";89 compatible = "simple-bus";
@@ -121,7 +120,6 @@ gmi@70090000 { · 30 unmodified lines
121 reset-names = "gmi";120 reset-names = "gmi";
122 ranges = <4 0 0xd0000000 0xfffffff>;121 ranges = <4 0 0xd0000000 0xfffffff>;
123 122
124 status = "okay";
125 123
126 can@4,0 {124 can@4,0 {
127 reg = <4 0 0x100>;125 reg = <4 0 0x100>;
Documentation/devicetree/bindings/bus/nvidia,tegra210-aconnect.txt+0−1
@@ -33,7 +33,6 @@ Example: · 32 unmodified lines
33 #size-cells = <1>;33 #size-cells = <1>;
34 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;34 ranges = <0x702c0000 0x0 0x702c0000 0x00040000>;
35 35
36 status = "disabled";
37 36
38 child1 {37 child1 {
39 ...38 ...
Documentation/devicetree/bindings/chosen.txt+24−2
@@ -5,9 +5,31 @@ The chosen node does not represent a real device, but serves as a place · 4 unmodified lines
5for passing data between firmware and the operating system, like boot5for passing data between firmware and the operating system, like boot
6arguments. Data in the chosen node does not represent the hardware.6arguments. Data in the chosen node does not represent the hardware.
7 7
8The following properties are recognized:
8 9
9stdout-path property10
10--------------------11kaslr-seed
12-----------
13
14This property is used when booting with CONFIG_RANDOMIZE_BASE as the
15entropy used to randomize the kernel image base address location. Since
16it is used directly, this value is intended only for KASLR, and should
17not be used for other purposes (as it may leak information about KASLR
18offsets). It is parsed as a u64 value, e.g.
19
20/ {
21 chosen {
22 kaslr-seed = <0xfeedbeef 0xc0def00d>;
23 };
24};
25
26Note that if this property is set from UEFI (or a bootloader in EFI
27mode) when EFI_RNG_PROTOCOL is supported, it will be overwritten by
28the Linux EFI stub (which will populate the property itself, using
29EFI_RNG_PROTOCOL).
30
31stdout-path
32-----------
11 33
12Device trees may specify the device to be used for boot console output34Device trees may specify the device to be used for boot console output
13with a stdout-path property under /chosen, as described in the Devicetree35with a stdout-path property under /chosen, as described in the Devicetree
Documentation/devicetree/bindings/clock/alphascale,acc.txt+0−1
@@ -102,7 +102,6 @@ uart4: serial@80010000 { · 101 unmodified lines
102 reg = <0x80010000 0x4000>;102 reg = <0x80010000 0x4000>;
103 clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;103 clocks = <&acc CLKID_SYS_UART4>, <&acc CLKID_AHB_UART4>;
104 interrupts = <19>;104 interrupts = <19>;
105 status = "disabled";
106};105};
107 106
108Clock consumer with only one, _AHB_ sink.107Clock consumer with only one, _AHB_ sink.
Documentation/devicetree/bindings/clock/amlogic,gxbb-aoclkc.txt+0−1
@@ -41,5 +41,4 @@ Example: UART controller node that consumes the clock and reset generated · 40 unmodified lines
41 interrupts = <0 90 1>;41 interrupts = <0 90 1>;
42 clocks = <&clkc_AO CLKID_AO_UART1>;42 clocks = <&clkc_AO CLKID_AO_UART1>;
43 resets = <&clkc_AO RESET_AO_UART1>;43 resets = <&clkc_AO RESET_AO_UART1>;
44 status = "disabled";
45 };44 };
Documentation/devicetree/bindings/clock/amlogic,gxbb-clkc.txt+0−1
@@ -33,5 +33,4 @@ Example: UART controller node that consumes the clock generated by the clock · 32 unmodified lines
33 reg = <0xc81004c0 0x14>;33 reg = <0xc81004c0 0x14>;
34 interrupts = <0 90 1>;34 interrupts = <0 90 1>;
35 clocks = <&clkc CLKID_CLK81>;35 clocks = <&clkc CLKID_CLK81>;
36 status = "disabled";
37 };36 };
Documentation/devicetree/bindings/clock/amlogic,meson8b-clkc.txt+0−1
@@ -39,5 +39,4 @@ Example: UART controller node that consumes the clock generated by the clock · 38 unmodified lines
39 reg = <0xc81004c0 0x14>;39 reg = <0xc81004c0 0x14>;
40 interrupts = <0 90 1>;40 interrupts = <0 90 1>;
41 clocks = <&clkc CLKID_CLK81>;41 clocks = <&clkc CLKID_CLK81>;
42 status = "disabled";
43 };42 };
Documentation/devicetree/bindings/clock/brcm,kona-ccu.txt+0−1
@@ -46,7 +46,6 @@ Device tree example: · 45 unmodified lines
46 46
47 uart@3e002000 {47 uart@3e002000 {
48 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";48 compatible = "brcm,bcm11351-dw-apb-uart", "snps,dw-apb-uart";
49 status = "disabled";
50 reg = <0x3e002000 0x1000>;49 reg = <0x3e002000 0x1000>;
51 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;50 clocks = <&slave_ccu BCM281XX_SLAVE_CCU_UARTB3>;
52 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;51 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
Documentation/devicetree/bindings/clock/exynos5433-clock.txt+0−1
@@ -465,5 +465,4 @@ Example 3: UART controller node that consumes the clock generated by the clock · 464 unmodified lines
465 clock-names = "uart", "clk_uart_baud0";465 clock-names = "uart", "clk_uart_baud0";
466 pinctrl-names = "default";466 pinctrl-names = "default";
467 pinctrl-0 = <&uart0_bus>;467 pinctrl-0 = <&uart0_bus>;
468 status = "disabled";
469 };468 };
Documentation/devicetree/bindings/clock/hi3660-clock.txt+0−1
@@ -38,5 +38,4 @@ Examples: · 37 unmodified lines
38 clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,38 clocks = <&crg_ctrl HI3660_CLK_MUX_UART0>,
39 <&crg_ctrl HI3660_PCLK>;39 <&crg_ctrl HI3660_PCLK>;
40 clock-names = "uartclk", "apb_pclk";40 clock-names = "uartclk", "apb_pclk";
41 status = "disabled";
42 };41 };
Documentation/devicetree/bindings/clock/hix5hd2-clock.txt+0−1
@@ -27,5 +27,4 @@ Examples: · 26 unmodified lines
27 interrupts = <0 49 4>;27 interrupts = <0 49 4>;
28 clocks = <&clock HIX5HD2_FIXED_83M>;28 clocks = <&clock HIX5HD2_FIXED_83M>;
29 clock-names = "apb_pclk";29 clock-names = "apb_pclk";
30 status = "disabled";
31 };30 };
Documentation/devicetree/bindings/clock/imx21-clock.txt+0−1
@@ -24,5 +24,4 @@ Examples: · 23 unmodified lines
24 clocks = <&clks IMX21_CLK_UART1_IPG_GATE>,24 clocks = <&clks IMX21_CLK_UART1_IPG_GATE>,
25 <&clks IMX21_CLK_PER1>;25 <&clks IMX21_CLK_PER1>;
26 clock-names = "ipg", "per";26 clock-names = "ipg", "per";
27 status = "disabled";
28 };27 };
Documentation/devicetree/bindings/clock/imx23-clock.txt+0−1
@@ -67,5 +67,4 @@ auart0: serial@8006c000 { · 66 unmodified lines
67 reg = <0x8006c000 0x2000>;67 reg = <0x8006c000 0x2000>;
68 interrupts = <24 25 23>;68 interrupts = <24 25 23>;
69 clocks = <&clks 32>;69 clocks = <&clks 32>;
70 status = "disabled";
71};70};
Documentation/devicetree/bindings/clock/imx25-clock.txt+0−1
@@ -157,5 +157,4 @@ uart1: serial@43f90000 { · 156 unmodified lines
157 interrupts = <45>;157 interrupts = <45>;
158 clocks = <&clks 79>, <&clks 50>;158 clocks = <&clks 79>, <&clks 50>;
159 clock-names = "ipg", "per";159 clock-names = "ipg", "per";
160 status = "disabled";
161};160};
Documentation/devicetree/bindings/clock/imx27-clock.txt+0−1
@@ -24,5 +24,4 @@ Examples: · 23 unmodified lines
24 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,24 clocks = <&clks IMX27_CLK_UART1_IPG_GATE>,
25 <&clks IMX27_CLK_PER1_GATE>;25 <&clks IMX27_CLK_PER1_GATE>;
26 clock-names = "ipg", "per";26 clock-names = "ipg", "per";
27 status = "disabled";
28 };27 };
Documentation/devicetree/bindings/clock/imx28-clock.txt+0−1
@@ -90,5 +90,4 @@ auart0: serial@8006a000 { · 89 unmodified lines
90 reg = <0x8006a000 0x2000>;90 reg = <0x8006a000 0x2000>;
91 interrupts = <112 70 71>;91 interrupts = <112 70 71>;
92 clocks = <&clks 45>;92 clocks = <&clks 45>;
93 status = "disabled";
94};93};
Documentation/devicetree/bindings/clock/imx31-clock.txt+0−1
@@ -87,5 +87,4 @@ uart1: serial@43f90000 { · 86 unmodified lines
87 interrupts = <45>;87 interrupts = <45>;
88 clocks = <&clks 10>, <&clks 30>;88 clocks = <&clks 10>, <&clks 30>;
89 clock-names = "ipg", "per";89 clock-names = "ipg", "per";
90 status = "disabled";
91};90};
Documentation/devicetree/bindings/clock/imx5-clock.txt+0−1
@@ -25,5 +25,4 @@ can1: can@53fc8000 { · 24 unmodified lines
25 interrupts = <82>;25 interrupts = <82>;
26 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>;26 clocks = <&clks IMX5_CLK_CAN1_IPG_GATE>, <&clks IMX5_CLK_CAN1_SERIAL_GATE>;
27 clock-names = "ipg", "per";27 clock-names = "ipg", "per";
28 status = "disabled";
29};28};
Documentation/devicetree/bindings/clock/imx6q-clock.txt+0−1
@@ -27,5 +27,4 @@ uart1: serial@02020000 { · 26 unmodified lines
27 interrupts = <0 26 0x04>;27 interrupts = <0 26 0x04>;
28 clocks = <&clks IMX6QDL_CLK_UART_IPG>, <&clks IMX6QDL_CLK_UART_SERIAL>;28 clocks = <&clks IMX6QDL_CLK_UART_IPG>, <&clks IMX6QDL_CLK_UART_SERIAL>;
29 clock-names = "ipg", "per";29 clock-names = "ipg", "per";
30 status = "disabled";
31};30};
Documentation/devicetree/bindings/clock/nvidia,tegra124-dfll.txt+0−1
@@ -66,7 +66,6 @@ clock@70110000 { · 65 unmodified lines
66 #clock-cells = <0>;66 #clock-cells = <0>;
67 clock-output-names = "dfllCPU_out";67 clock-output-names = "dfllCPU_out";
68 vdd-cpu-supply = <&vdd_cpu>;68 vdd-cpu-supply = <&vdd_cpu>;
69 status = "okay";
70 69
71 nvidia,sample-rate = <12500>;70 nvidia,sample-rate = <12500>;
72 nvidia,droop-ctrl = <0x00000f00>;71 nvidia,droop-ctrl = <0x00000f00>;
Documentation/devicetree/bindings/clock/pxa-clock.txt+0−1
@@ -12,5 +12,4 @@ Examples: · 11 unmodified lines
12pxa2xx_clks: pxa2xx_clks@41300004 {12pxa2xx_clks: pxa2xx_clks@41300004 {
13 compatible = "marvell,pxa-clocks";13 compatible = "marvell,pxa-clocks";
14 #clock-cells = <1>;14 #clock-cells = <1>;
15 status = "okay";
16};15};
Documentation/devicetree/bindings/clock/renesas,cpg-mssr.txt+0−1
@@ -81,5 +81,4 @@ Examples · 80 unmodified lines
81 dma-names = "tx", "rx";81 dma-names = "tx", "rx";
82 power-domains = <&cpg>;82 power-domains = <&cpg>;
83 resets = <&cpg 310>;83 resets = <&cpg 310>;
84 status = "disabled";
85 };84 };
Documentation/devicetree/bindings/clock/renesas,r8a7778-cpg-clocks.txt+0−1
@@ -44,5 +44,4 @@ Examples · 43 unmodified lines
44 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>;44 interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>;
45 clocks = <&mstp3_clks R8A7778_CLK_SDHI0>;45 clocks = <&mstp3_clks R8A7778_CLK_SDHI0>;
46 power-domains = <&cpg_clocks>;46 power-domains = <&cpg_clocks>;
47 status = "disabled";
48 };47 };
Documentation/devicetree/bindings/clock/renesas,rz-cpg-clocks.txt+0−1
@@ -50,5 +50,4 @@ Examples · 49 unmodified lines
50 clocks = <&mstp3_clks R7S72100_CLK_MTU2>;50 clocks = <&mstp3_clks R7S72100_CLK_MTU2>;
51 clock-names = "fck";51 clock-names = "fck";
52 power-domains = <&cpg_clocks>;52 power-domains = <&cpg_clocks>;
53 status = "disabled";
54 };53 };
Documentation/devicetree/bindings/clock/samsung,s3c2410-clock.txt+0−1
@@ -46,5 +46,4 @@ Example: UART controller node that consumes the clock generated by the clock · 45 unmodified lines
46 interrupts = <1 23 3 4>, <1 23 4 4>;46 interrupts = <1 23 3 4>, <1 23 4 4>;
47 clock-names = "uart", "clk_uart_baud2";47 clock-names = "uart", "clk_uart_baud2";
48 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>;48 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>;
49 status = "disabled";
50 };49 };
Documentation/devicetree/bindings/clock/samsung,s3c2412-clock.txt+0−1
@@ -46,5 +46,4 @@ Example: UART controller node that consumes the clock generated by the clock · 45 unmodified lines
46 clock-names = "uart", "clk_uart_baud2", "clk_uart_baud3";46 clock-names = "uart", "clk_uart_baud2", "clk_uart_baud3";
47 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,47 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
48 <&clocks SCLK_UART>;48 <&clocks SCLK_UART>;
49 status = "disabled";
50 };49 };
Documentation/devicetree/bindings/clock/samsung,s3c2443-clock.txt+0−1
@@ -52,5 +52,4 @@ Example: UART controller node that consumes the clock generated by the clock · 51 unmodified lines
52 "clk_uart_baud3";52 "clk_uart_baud3";
53 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,53 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
54 <&clocks SCLK_UART>;54 <&clocks SCLK_UART>;
55 status = "disabled";
56 };55 };
Documentation/devicetree/bindings/clock/samsung,s3c64xx-clock.txt+0−1
@@ -73,5 +73,4 @@ Example: UART controller node that consumes the clock generated by the clock · 72 unmodified lines
73 "clk_uart_baud3";73 "clk_uart_baud3";
74 clocks = <&clock PCLK_UART0>, <&clocks PCLK_UART0>,74 clocks = <&clock PCLK_UART0>, <&clocks PCLK_UART0>,
75 <&clock SCLK_UART>;75 <&clock SCLK_UART>;
76 status = "disabled";
77 };76 };
Documentation/devicetree/bindings/clock/samsung,s5pv210-clock.txt+0−1
@@ -74,5 +74,4 @@ Example: UART controller node that consumes the clock generated by the clock · 73 unmodified lines
74 "clk_uart_baud1";74 "clk_uart_baud1";
75 clocks = <&clocks UART0>, <&clocks UART0>,75 clocks = <&clocks UART0>, <&clocks UART0>,
76 <&clocks SCLK_UART0>;76 <&clocks SCLK_UART0>;
77 status = "disabled";
78 };77 };
Documentation/devicetree/bindings/clock/silabs,si5351.txt+5−1
@@ -12,7 +12,11 @@ generators can be found in [1]. · 11 unmodified lines
12==I2C device node==12==I2C device node==
13 13
14Required properties:14Required properties:
15- compatible: shall be one of "silabs,si5351{a,a-msop,b,c}".15- compatible: shall be one of the following:
16 "silabs,si5351a" - Si5351a, QFN20 package
17 "silabs,si5351a-msop" - Si5351a, MSOP10 package
18 "silabs,si5351b" - Si5351b, QFN20 package
19 "silabs,si5351c" - Si5351c, QFN20 package
16- reg: i2c device address, shall be 0x60 or 0x61.20- reg: i2c device address, shall be 0x60 or 0x61.
17- #clock-cells: from common clock binding; shall be set to 1.21- #clock-cells: from common clock binding; shall be set to 1.
18- clocks: from common clock binding; list of parent clock22- clocks: from common clock binding; list of parent clock
Documentation/devicetree/bindings/clock/ti,sci-clk.txt+3−4
@@ -14,10 +14,9 @@ Required properties: · 13 unmodified lines
14- compatible: Must be "ti,k2g-sci-clk"14- compatible: Must be "ti,k2g-sci-clk"
15- #clock-cells: Shall be 2.15- #clock-cells: Shall be 2.
16 In clock consumers, this cell represents the device ID and clock ID16 In clock consumers, this cell represents the device ID and clock ID
17 exposed by the PM firmware. The assignments can be found in the header17 exposed by the PM firmware. The list of valid values for the device IDs
18 files <dt-bindings/genpd/<soc>.h> (which covers the device IDs) and18 and clocks IDs for 66AK2G SoC are documented at
19 <dt-bindings/clock/<soc>.h> (which covers the clock IDs), where <soc>19 http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data
20 is the SoC involved, for example 'k2g'.
21 20
22Examples:21Examples:
23--------22--------
Documentation/devicetree/bindings/clock/ti/dra7-atl.txt+0−2
@@ -81,13 +81,11 @@ atl: atl@4843c000 { · 80 unmodified lines
81 <&atl_clkin2_ck>, <&atl_clkin3_ck>;81 <&atl_clkin2_ck>, <&atl_clkin3_ck>;
82 clocks = <&atl_gfclk_mux>;82 clocks = <&atl_gfclk_mux>;
83 clock-names = "fck";83 clock-names = "fck";
84 status = "disabled";
85};84};
86 85
87#include <dt-bindings/clk/ti-dra7-atl.h>86#include <dt-bindings/clk/ti-dra7-atl.h>
88 87
89&atl {88&atl {
90 status = "okay";
91 89
92 atl2 {90 atl2 {
93 bws = <DRA7_ATL_WS_MCASP2_FSX>;91 bws = <DRA7_ATL_WS_MCASP2_FSX>;
Documentation/devicetree/bindings/clock/zx296702-clk.txt+0−1
@@ -31,5 +31,4 @@ uart0: serial@0x09405000 { · 30 unmodified lines
31 reg = <0x09405000 0x1000>;31 reg = <0x09405000 0x1000>;
32 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;32 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
33 clocks = <&lsp1clk ZX296702_UART0_PCLK>;33 clocks = <&lsp1clk ZX296702_UART0_PCLK>;
34 status = "disabled";
35};34};
Documentation/devicetree/bindings/clock/zx296718-clk.txt+0−1
@@ -34,5 +34,4 @@ usbphy0:usb-phy0 { · 33 unmodified lines
34 #phy-cells = <0>;34 #phy-cells = <0>;
35 clocks = <&topclk USB20_PHY_CLK>;35 clocks = <&topclk USB20_PHY_CLK>;
36 clock-names = "phyclk";36 clock-names = "phyclk";
37 status = "okay";
38};37};
Documentation/devicetree/bindings/crypto/fsl-dcp.txt+0−1
@@ -13,5 +13,4 @@ dcp@80028000 { · 12 unmodified lines
13 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp";13 compatible = "fsl,imx28-dcp", "fsl,imx23-dcp";
14 reg = <0x80028000 0x2000>;14 reg = <0x80028000 0x2000>;
15 interrupts = <52 53>;15 interrupts = <52 53>;
16 status = "okay";
17};16};
Documentation/devicetree/bindings/crypto/inside-secure-safexcel.txt+0−1
@@ -23,5 +23,4 @@ Example: · 22 unmodified lines
23 interrupt-names = "mem", "ring0", "ring1", "ring2", "ring3",23 interrupt-names = "mem", "ring0", "ring1", "ring2", "ring3",
24 "eip";24 "eip";
25 clocks = <&cpm_syscon0 1 26>;25 clocks = <&cpm_syscon0 1 26>;
26 status = "disabled";
27 };26 };
Documentation/devicetree/bindings/crypto/marvell-cesa.txt+0−1
@@ -41,5 +41,4 @@ Examples: · 40 unmodified lines
41 clock-names = "cesa0", "cesa1";41 clock-names = "cesa0", "cesa1";
42 marvell,crypto-srams = <&crypto_sram0>, <&crypto_sram1>;42 marvell,crypto-srams = <&crypto_sram0>, <&crypto_sram1>;
43 marvell,crypto-sram-size = <0x600>;43 marvell,crypto-sram-size = <0x600>;
44 status = "okay";
45 };44 };
Documentation/devicetree/bindings/crypto/mv_cesa.txt+0−1
@@ -29,5 +29,4 @@ Examples: · 28 unmodified lines
29 interrupts = <22>;29 interrupts = <22>;
30 marvell,crypto-srams = <&crypto_sram>;30 marvell,crypto-srams = <&crypto_sram>;
31 marvell,crypto-sram-size = <0x600>;31 marvell,crypto-sram-size = <0x600>;
32 status = "okay";
33 };32 };
Documentation/devicetree/bindings/crypto/rockchip-crypto.txt+0−1
@@ -25,5 +25,4 @@ Examples: · 24 unmodified lines
25 clock-names = "aclk", "hclk", "sclk", "apb_pclk";25 clock-names = "aclk", "hclk", "sclk", "apb_pclk";
26 resets = <&cru SRST_CRYPTO>;26 resets = <&cru SRST_CRYPTO>;
27 reset-names = "crypto-rst";27 reset-names = "crypto-rst";
28 status = "okay";
29 };28 };
Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt+0−1
@@ -15,5 +15,4 @@ Example: · 14 unmodified lines
15 rockchip,pmu = <&pmugrf>;15 rockchip,pmu = <&pmugrf>;
16 clocks = <&cru PCLK_DDR_MON>;16 clocks = <&cru PCLK_DDR_MON>;
17 clock-names = "pclk_ddr_mon";17 clock-names = "pclk_ddr_mon";
18 status = "disabled";
19 };18 };
Documentation/devicetree/bindings/devfreq/rk3399_dmc.txt+0−1
@@ -205,5 +205,4 @@ Example: · 204 unmodified lines
205 rockchip,phy_lpddr4_ck_cs_drv = <PHY_DRV_ODT_80>;205 rockchip,phy_lpddr4_ck_cs_drv = <PHY_DRV_ODT_80>;
206 rockchip,phy_lpddr4_dq_drv = <PHY_DRV_ODT_80>;206 rockchip,phy_lpddr4_dq_drv = <PHY_DRV_ODT_80>;
207 rockchip,phy_lpddr4_odt = <PHY_DRV_ODT_60>;207 rockchip,phy_lpddr4_odt = <PHY_DRV_ODT_60>;
208 status = "disabled";
209 };208 };
Documentation/devicetree/bindings/display/atmel,lcdc.txt+0−1
@@ -34,7 +34,6 @@ Example: · 33 unmodified lines
34 pinctrl-names = "default";34 pinctrl-names = "default";
35 pinctrl-0 = <&pinctrl_fb>;35 pinctrl-0 = <&pinctrl_fb>;
36 display = <&display0>;36 display = <&display0>;
37 status = "okay";
38 #address-cells = <1>;37 #address-cells = <1>;
39 #size-cells = <1>;38 #size-cells = <1>;
40 39
Documentation/devicetree/bindings/display/atmel/hlcdc-dc.txt+0−1
@@ -23,7 +23,6 @@ Example: · 22 unmodified lines
23 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;23 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
24 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;24 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
25 clock-names = "periph_clk","sys_clk", "slow_clk";25 clock-names = "periph_clk","sys_clk", "slow_clk";
26 status = "disabled";
27 26
28 hlcdc-display-controller {27 hlcdc-display-controller {
29 compatible = "atmel,hlcdc-display-controller";28 compatible = "atmel,hlcdc-display-controller";
Documentation/devicetree/bindings/display/bridge/megachips-stdpxxxx-ge-b850v3-fw.txt+0−1
@@ -33,7 +33,6 @@ stdp2690-ge-b850v3-fw required properties: · 32 unmodified lines
33Example:33Example:
34 34
35&mux2_i2c2 {35&mux2_i2c2 {
36 status = "okay";
37 clock-frequency = <100000>;36 clock-frequency = <100000>;
38 37
39 stdp4028@73 {38 stdp4028@73 {
Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt+0−1
@@ -43,7 +43,6 @@ Example: · 42 unmodified lines
43 clocks = <&cpg CPG_CORE R8A7795_CLK_S0D4>, <&cpg CPG_MOD 729>;43 clocks = <&cpg CPG_CORE R8A7795_CLK_S0D4>, <&cpg CPG_MOD 729>;
44 clock-names = "iahb", "isfr";44 clock-names = "iahb", "isfr";
45 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;45 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
46 status = "disabled";
47 46
48 ports {47 ports {
49 #address-cells = <1>;48 #address-cells = <1>;
Documentation/devicetree/bindings/display/fsl,tcon.txt+0−1
@@ -14,5 +14,4 @@ timing-controller@4003d000 { · 13 unmodified lines
14 reg = <0x4003d000 0x1000>;14 reg = <0x4003d000 0x1000>;
15 clocks = <&clks VF610_CLK_TCON0>;15 clocks = <&clks VF610_CLK_TCON0>;
16 clock-names = "ipg";16 clock-names = "ipg";
17 status = "okay";
18};17};
Documentation/devicetree/bindings/display/imx/fsl-imx-drm.txt+1−1
@@ -116,7 +116,7 @@ Parallel display support · 115 unmodified lines
116Required properties:116Required properties:
117- compatible: Should be "fsl,imx-parallel-display"117- compatible: Should be "fsl,imx-parallel-display"
118Optional properties:118Optional properties:
119- interface_pix_fmt: How this display is connected to the119- interface-pix-fmt: How this display is connected to the
120 display interface. Currently supported types: "rgb24", "rgb565", "bgr666"120 display interface. Currently supported types: "rgb24", "rgb565", "bgr666"
121 and "lvds666".121 and "lvds666".
122- edid: verbatim EDID data block describing attached display.122- edid: verbatim EDID data block describing attached display.
Documentation/devicetree/bindings/display/marvell,pxa2xx-lcdc.txt+0−1
@@ -23,7 +23,6 @@ Example: · 22 unmodified lines
23 reg = <0x44000000 0x10000>;23 reg = <0x44000000 0x10000>;
24 interrupts = <17>;24 interrupts = <17>;
25 clocks = <&clks CLK_LCD>;25 clocks = <&clks CLK_LCD>;
26 status = "okay";
27 26
28 port {27 port {
29 lcdc_out: endpoint {28 lcdc_out: endpoint {
Documentation/devicetree/bindings/display/panel/innolux,p079zca.txt+0−1
@@ -18,6 +18,5 @@ Example: · 17 unmodified lines
18 power-supply = <...>;18 power-supply = <...>;
19 backlight = <&backlight>;19 backlight = <&backlight>;
20 enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;20 enable-gpios = <&gpio1 13 GPIO_ACTIVE_HIGH>;
21 status = "okay";
22 };21 };
23 };22 };
Documentation/devicetree/bindings/display/rockchip/analogix_dp-rockchip.txt+0−1
@@ -59,7 +59,6 @@ Example: · 58 unmodified lines
59 pinctrl-names = "default";59 pinctrl-names = "default";
60 pinctrl-0 = <&edp_hpd>;60 pinctrl-0 = <&edp_hpd>;
61 61
62 status = "disabled";
63 62
64 ports {63 ports {
65 #address-cells = <1>;64 #address-cells = <1>;
Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt+0−1
@@ -46,7 +46,6 @@ hdmi: hdmi@ff980000 { · 45 unmodified lines
46 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;46 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
47 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;47 clocks = <&cru PCLK_HDMI_CTRL>, <&cru SCLK_HDMI_HDCP>;
48 clock-names = "iahb", "isfr";48 clock-names = "iahb", "isfr";
49 status = "disabled";
50 ports {49 ports {
51 hdmi_in: port {50 hdmi_in: port {
52 #address-cells = <1>;51 #address-cells = <1>;
Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt+0−2
@@ -36,7 +36,6 @@ Example: · 35 unmodified lines
36 resets = <&cru SRST_MIPIDSI0>;36 resets = <&cru SRST_MIPIDSI0>;
37 reset-names = "apb";37 reset-names = "apb";
38 rockchip,grf = <&grf>;38 rockchip,grf = <&grf>;
39 status = "okay";
40 39
41 ports {40 ports {
42 #address-cells = <1>;41 #address-cells = <1>;
@@ -65,6 +64,5 @@ Example: · 22 unmodified lines
65 pinctrl-names = "default";64 pinctrl-names = "default";
66 pinctrl-0 = <&lcd_en>;65 pinctrl-0 = <&lcd_en>;
67 backlight = <&backlight>;66 backlight = <&backlight>;
68 status = "okay";
69 };67 };
70 };68 };
Documentation/devicetree/bindings/display/rockchip/inno_hdmi-rockchip.txt+0−1
@@ -25,7 +25,6 @@ hdmi: hdmi@20034000 { · 24 unmodified lines
25 clock-names = "pclk";25 clock-names = "pclk";
26 pinctrl-names = "default";26 pinctrl-names = "default";
27 pinctrl-0 = <&hdmi_ctl>;27 pinctrl-0 = <&hdmi_ctl>;
28 status = "disabled";
29 28
30 hdmi_in: port {29 hdmi_in: port {
31 #address-cells = <1>;30 #address-cells = <1>;
Documentation/devicetree/bindings/display/simple-framebuffer-sunxi.txt+0−1
@@ -28,6 +28,5 @@ chosen { · 27 unmodified lines
28 allwinner,pipeline = "de_be0-lcd0-hdmi";28 allwinner,pipeline = "de_be0-lcd0-hdmi";
29 clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>,29 clocks = <&pll5 1>, <&ahb_gates 36>, <&ahb_gates 43>,
30 <&ahb_gates 44>;30 <&ahb_gates 44>;
31 status = "disabled";
32 };31 };
33};32};
Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt+0−1
@@ -278,7 +278,6 @@ hdmi: hdmi@01c16000 { · 277 unmodified lines
278 <&dma SUN4I_DMA_NORMAL 16>,278 <&dma SUN4I_DMA_NORMAL 16>,
279 <&dma SUN4I_DMA_DEDICATED 24>;279 <&dma SUN4I_DMA_DEDICATED 24>;
280 dma-names = "ddc-tx", "ddc-rx", "audio-tx";280 dma-names = "ddc-tx", "ddc-rx", "audio-tx";
281 status = "disabled";
282 281
283 ports {282 ports {
284 #address-cells = <1>;283 #address-cells = <1>;
Documentation/devicetree/bindings/dma/fsl-edma.txt+0−1
@@ -72,5 +72,4 @@ sai2: sai@40031000 { · 71 unmodified lines
72 dma-names = "tx", "rx";72 dma-names = "tx", "rx";
73 dmas = <&edma0 0 21>,73 dmas = <&edma0 0 21>,
74 <&edma0 0 20>;74 <&edma0 0 20>;
75 status = "disabled";
76};75};
Documentation/devicetree/bindings/dma/mv-xor.txt+0−1
@@ -30,7 +30,6 @@ xor@d0060900 { · 29 unmodified lines
30 reg = <0xd0060900 0x10030 reg = <0xd0060900 0x100
31 0xd0060b00 0x100>;31 0xd0060b00 0x100>;
32 clocks = <&coreclk 0>;32 clocks = <&coreclk 0>;
33 status = "okay";
34 33
35 xor00 {34 xor00 {
36 interrupts = <51>;35 interrupts = <51>;
Documentation/devicetree/bindings/dma/qcom_adm.txt+0−1
@@ -48,7 +48,6 @@ Each dmas request consists of 3 cells: · 47 unmodified lines
48Example:48Example:
49 49
50 spi4: spi@1a280000 {50 spi4: spi@1a280000 {
51 status = "ok";
52 spi-max-frequency = <50000000>;51 spi-max-frequency = <50000000>;
53 52
54 pinctrl-0 = <&spi_pins>;53 pinctrl-0 = <&spi_pins>;
Documentation/devicetree/bindings/dma/snps-dma.txt+0−1
@@ -63,7 +63,6 @@ Example: · 62 unmodified lines
63 compatible = "arm,pl011", "arm,primecell";63 compatible = "arm,pl011", "arm,primecell";
64 reg = <0xe0000000 0x1000>;64 reg = <0xe0000000 0x1000>;
65 interrupts = <0 35 0x4>;65 interrupts = <0 35 0x4>;
66 status = "disabled";
67 dmas = <&dmahost 12 0 1>,66 dmas = <&dmahost 12 0 1>,
68 <&dmahost 13 0 1 0>;67 <&dmahost 13 0 1 0>;
69 dma-names = "rx", "rx";68 dma-names = "rx", "rx";
Documentation/devicetree/bindings/dma/st_fdma.txt+0−1
@@ -69,7 +69,6 @@ Example: · 68 unmodified lines
69 69
70 sti_uni_player2: sti-uni-player@2 {70 sti_uni_player2: sti-uni-player@2 {
71 compatible = "st,sti-uni-player";71 compatible = "st,sti-uni-player";
72 status = "disabled";
73 #sound-dai-cells = <0>;72 #sound-dai-cells = <0>;
74 st,syscfg = <&syscfg_core>;73 st,syscfg = <&syscfg_core>;
75 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;74 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
Documentation/devicetree/bindings/dma/ste-dma40.txt+0−1
@@ -135,5 +135,4 @@ Example: · 134 unmodified lines
135 <&dma 13 0 0x0>; /* Logical - MemToDev */135 <&dma 13 0 0x0>; /* Logical - MemToDev */
136 dma-names = "rx", "rx";136 dma-names = "rx", "rx";
137 137
138 status = "disabled";
139 };138 };
Documentation/devicetree/bindings/dma/sun4i-dma.txt+0−1
@@ -40,7 +40,6 @@ Example: · 39 unmodified lines
40 clock-names = "ahb", "mod";40 clock-names = "ahb", "mod";
41 dmas = <&dma 1 29>, <&dma 1 28>;41 dmas = <&dma 1 29>, <&dma 1 28>;
42 dma-names = "rx", "tx";42 dma-names = "rx", "tx";
43 status = "disabled";
44 #address-cells = <1>;43 #address-cells = <1>;
45 #size-cells = <0>;44 #size-cells = <0>;
46 };45 };
Documentation/devicetree/bindings/dma/ti-dma-crossbar.txt+0−1
@@ -62,7 +62,6 @@ uart1: serial@4806a000 { · 61 unmodified lines
62 interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;62 interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
63 ti,hwmods = "uart1";63 ti,hwmods = "uart1";
64 clock-frequency = <48000000>;64 clock-frequency = <48000000>;
65 status = "disabled";
66 /* Requesting crossbar input 49 and 50 */65 /* Requesting crossbar input 49 and 50 */
67 dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;66 dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
68 dma-names = "tx", "rx";67 dma-names = "tx", "rx";
Documentation/devicetree/bindings/dma/ti-edma.txt+0−1
@@ -102,7 +102,6 @@ mcasp0: mcasp@48038000 { · 101 unmodified lines
102 reg-names = "mpu", "dat";102 reg-names = "mpu", "dat";
103 interrupts = <80>, <81>;103 interrupts = <80>, <81>;
104 interrupt-names = "tx", "rx";104 interrupt-names = "tx", "rx";
105 status = "disabled";
106 /* DMA channels 8 and 9 executed on eDMA TC2 - high priority queue */105 /* DMA channels 8 and 9 executed on eDMA TC2 - high priority queue */
107 dmas = <&edma 8 2>,106 dmas = <&edma 8 2>,
108 <&edma 9 2>;107 <&edma 9 2>;
Documentation/devicetree/bindings/fpga/xilinx-slave-serial.txt+0−1
@@ -31,7 +31,6 @@ Example for full FPGA configuration: · 30 unmodified lines
31 cell-index = <1>;31 cell-index = <1>;
32 interrupts = <92>;32 interrupts = <92>;
33 clocks = <&coreclk 0>;33 clocks = <&coreclk 0>;
34 status = "okay";
35 34
36 fpga_mgr_spi: fpga-mgr@0 {35 fpga_mgr_spi: fpga-mgr@0 {
37 compatible = "xlnx,fpga-slave-serial";36 compatible = "xlnx,fpga-slave-serial";
Documentation/devicetree/bindings/gpio/gpio-mpc8xxx.txt+0−1
@@ -23,7 +23,6 @@ gpio0: gpio@1100 { · 22 unmodified lines
23 #gpio-cells = <2>;23 #gpio-cells = <2>;
24 reg = <0x1100 0x080>;24 reg = <0x1100 0x080>;
25 interrupts = <78 0x8>;25 interrupts = <78 0x8>;
26 status = "okay";
27};26};
28 27
29Example of gpio-controller node for a ls2080a SoC:28Example of gpio-controller node for a ls2080a SoC:
Documentation/devicetree/bindings/gpio/spear_spics.txt+0−1
@@ -42,7 +42,6 @@ spics: spics@e0700000{ · 41 unmodified lines
42 42
43 43
44spi0: spi@e0100000 {44spi0: spi@e0100000 {
45 status = "okay";
46 num-cs = <3>;45 num-cs = <3>;
47 cs-gpios = <&gpio1 7 0>, <&spics 0>,46 cs-gpios = <&gpio1 7 0>, <&spics 0>,
48 <&spics 1>;47 <&spics 1>;
Documentation/devicetree/bindings/gpu/arm,mali-utgard.txt+5−0
@@ -10,6 +10,7 @@ Required properties: · 9 unmodified lines
10 * And, optionally, one of the vendor specific compatible:10 * And, optionally, one of the vendor specific compatible:
11 + allwinner,sun4i-a10-mali11 + allwinner,sun4i-a10-mali
12 + allwinner,sun7i-a20-mali12 + allwinner,sun7i-a20-mali
13 + allwinner,sun50i-h5-mali
13 + amlogic,meson-gxbb-mali14 + amlogic,meson-gxbb-mali
14 + amlogic,meson-gxl-mali15 + amlogic,meson-gxl-mali
15 + stericsson,db8500-mali16 + stericsson,db8500-mali
@@ -58,6 +59,10 @@ to specify one more vendor-specific compatible, among: · 42 unmodified lines
58 Required properties:59 Required properties:
59 * resets: phandle to the reset line for the GPU60 * resets: phandle to the reset line for the GPU
60 61
62 - allwinner,sun50i-h5-mali
63 Required properties:
64 * resets: phandle to the reset line for the GPU
65
61 - stericsson,db8500-mali66 - stericsson,db8500-mali
62 Required properties:67 Required properties:
63 * interrupt-names and interrupts:68 * interrupt-names and interrupts:
Documentation/devicetree/bindings/gpu/nvidia,gk20a.txt+0−3
@@ -51,7 +51,6 @@ Example for GK20A: · 50 unmodified lines
51 resets = <&tegra_car 184>;51 resets = <&tegra_car 184>;
52 reset-names = "gpu";52 reset-names = "gpu";
53 iommus = <&mc TEGRA_SWGROUP_GPU>;53 iommus = <&mc TEGRA_SWGROUP_GPU>;
54 status = "disabled";
55 };54 };
56 55
57Example for GM20B:56Example for GM20B:
@@ -70,7 +69,6 @@ Example for GM20B: · 12 unmodified lines
70 resets = <&tegra_car 184>;69 resets = <&tegra_car 184>;
71 reset-names = "gpu";70 reset-names = "gpu";
72 iommus = <&mc TEGRA_SWGROUP_GPU>;71 iommus = <&mc TEGRA_SWGROUP_GPU>;
73 status = "disabled";
74 };72 };
75 73
76Example for GP10B:74Example for GP10B:
@@ -89,5 +87,4 @@ Example for GP10B: · 12 unmodified lines
89 reset-names = "gpu";87 reset-names = "gpu";
90 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;88 power-domains = <&bpmp TEGRA186_POWER_DOMAIN_GPU>;
91 iommus = <&smmu TEGRA186_SID_GPU>;89 iommus = <&smmu TEGRA186_SID_GPU>;
92 status = "disabled";
93 };90 };
Documentation/devicetree/bindings/gpu/samsung-g2d.txt+0−1
@@ -24,5 +24,4 @@ Example: · 23 unmodified lines
24 interrupts = <0 89 0>;24 interrupts = <0 89 0>;
25 clocks = <&clock 177>, <&clock 277>;25 clocks = <&clock 177>, <&clock 277>;
26 clock-names = "sclk_fimg2d", "fimg2d";26 clock-names = "sclk_fimg2d", "fimg2d";
27 status = "disabled";
28 };27 };
Documentation/devicetree/bindings/hsi/omap-ssi.txt+0−1
@@ -92,6 +92,5 @@ ssi-controller@48058000 { · 91 unmodified lines
92 interrupts = <69>,92 interrupts = <69>,
93 <70>;93 <70>;
94 94
95 status = "disabled"; /* second port is not used on N900 */
96 }95 }
97}96}
Documentation/devicetree/bindings/i2c/i2c-demux-pinctrl.txt+0−1
@@ -102,7 +102,6 @@ And for clarification, here are the snipplets for the i2c-parents: · 101 unmodified lines
102 #address-cells = <1>;102 #address-cells = <1>;
103 #size-cells = <0>;103 #size-cells = <0>;
104 compatible = "i2c-gpio";104 compatible = "i2c-gpio";
105 status = "disabled";
106 gpios = <&gpio5 6 GPIO_ACTIVE_HIGH /* sda */105 gpios = <&gpio5 6 GPIO_ACTIVE_HIGH /* sda */
107 &gpio5 5 GPIO_ACTIVE_HIGH /* scl */106 &gpio5 5 GPIO_ACTIVE_HIGH /* scl */
108 >;107 >;
Documentation/devicetree/bindings/i2c/i2c-efm32.txt+0−1
@@ -22,7 +22,6 @@ Example: · 21 unmodified lines
22 interrupts = <9>;22 interrupts = <9>;
23 clocks = <&cmu clk_HFPERCLKI2C0>;23 clocks = <&cmu clk_HFPERCLKI2C0>;
24 clock-frequency = <100000>;24 clock-frequency = <100000>;
25 status = "ok";
26 energymicro,location = <3>;25 energymicro,location = <3>;
27 26
28 eeprom@50 {27 eeprom@50 {
Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.txt+0−1
@@ -71,5 +71,4 @@ Example: · 70 unmodified lines
71 reset-names = "i2c";71 reset-names = "i2c";
72 dmas = <&apbdma 16>, <&apbdma 16>;72 dmas = <&apbdma 16>, <&apbdma 16>;
73 dma-names = "rx", "tx";73 dma-names = "rx", "tx";
74 status = "disabled";
75 };74 };
Documentation/devicetree/bindings/iio/adc/brcm,iproc-static-adc.txt+0−1
@@ -37,5 +37,4 @@ For example: · 36 unmodified lines
37 clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>;37 clocks = <&asiu_clks BCM_CYGNUS_ASIU_ADC_CLK>;
38 clock-names = "tsc_clk";38 clock-names = "tsc_clk";
39 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;39 interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_HIGH>;
40 status = "disabled";
41 };40 };
Documentation/devicetree/bindings/iio/adc/lpc1850-adc.txt+0−1
@@ -17,5 +17,4 @@ adc0: adc@400e3000 { · 16 unmodified lines
17 clocks = <&ccu1 CLK_APB3_ADC0>;17 clocks = <&ccu1 CLK_APB3_ADC0>;
18 vref-supply = <&reg_vdda>;18 vref-supply = <&reg_vdda>;
19 resets = <&rgu 40>;19 resets = <&rgu 40>;
20 status = "disabled";
21};20};
Documentation/devicetree/bindings/iio/dac/lpc1850-dac.txt+0−1
@@ -16,5 +16,4 @@ dac: dac@400e1000 { · 15 unmodified lines
16 clocks = <&ccu1 CLK_APB3_DAC>;16 clocks = <&ccu1 CLK_APB3_DAC>;
17 vref-supply = <&reg_vdda>;17 vref-supply = <&reg_vdda>;
18 resets = <&rgu 42>;18 resets = <&rgu 42>;
19 status = "disabled";
20};19};
Documentation/devicetree/bindings/input/brcm,bcm-keypad.txt+0−1
@@ -72,7 +72,6 @@ Example: · 71 unmodified lines
72 /* Required Board specific properties */72 /* Required Board specific properties */
73 keypad,num-rows = <5>;73 keypad,num-rows = <5>;
74 keypad,num-columns = <5>;74 keypad,num-columns = <5>;
75 status = "okay";
76 75
77 linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_F) /* key_forward */76 linux,keymap = <MATRIX_KEY(0x00, 0x02, KEY_F) /* key_forward */
78 MATRIX_KEY(0x00, 0x03, KEY_HOME) /* key_home */77 MATRIX_KEY(0x00, 0x03, KEY_HOME) /* key_home */
Documentation/devicetree/bindings/input/ti,drv260x.txt+1−1
@@ -43,7 +43,7 @@ haptics: haptics@5a { · 42 unmodified lines
43 mode = <DRV260X_LRA_MODE>;43 mode = <DRV260X_LRA_MODE>;
44 library-sel = <DRV260X_LIB_LRA>;44 library-sel = <DRV260X_LIB_LRA>;
45 vib-rated-mv = <3200>;45 vib-rated-mv = <3200>;
46 vib-overdriver-mv = <3200>;46 vib-overdrive-mv = <3200>;
47}47}
48 48
49For more product information please see the link below:49For more product information please see the link below:
Documentation/devicetree/bindings/input/touchscreen/colibri-vf50-ts.txt+0−1
@@ -32,5 +32,4 @@ Example: · 31 unmodified lines
32 pinctrl-1 = <&pinctrl_touchctrl_default>;32 pinctrl-1 = <&pinctrl_touchctrl_default>;
33 pinctrl-2 = <&pinctrl_touchctrl_gpios>;33 pinctrl-2 = <&pinctrl_touchctrl_gpios>;
34 vf50-ts-min-pressure = <200>;34 vf50-ts-min-pressure = <200>;
35 status = "disabled";
36 };35 };
Documentation/devicetree/bindings/input/touchscreen/imx6ul_tsc.txt+0−1
@@ -35,5 +35,4 @@ Example: · 34 unmodified lines
35 measure-delay-time = <0xfff>;35 measure-delay-time = <0xfff>;
36 pre-charge-time = <0xffff>;36 pre-charge-time = <0xffff>;
37 touchscreen-average-samples = <32>;37 touchscreen-average-samples = <32>;
38 status = "okay";
39 };38 };
Documentation/devicetree/bindings/media/pxa-camera.txt+0−1
@@ -24,7 +24,6 @@ Example: · 23 unmodified lines
24 clock-frequency = <50000000>;24 clock-frequency = <50000000>;
25 clock-output-names = "qci_mclk";25 clock-output-names = "qci_mclk";
26 26
27 status = "okay";
28 27
29 port {28 port {
30 #address-cells = <1>;29 #address-cells = <1>;
Documentation/devicetree/bindings/media/s5p-cec.txt+0−1
@@ -33,5 +33,4 @@ hdmicec: cec@100B0000 { · 32 unmodified lines
33 hdmi-phandle = <&hdmi>;33 hdmi-phandle = <&hdmi>;
34 pinctrl-names = "default";34 pinctrl-names = "default";
35 pinctrl-0 = <&hdmi_cec>;35 pinctrl-0 = <&hdmi_cec>;
36 status = "okay";
37};36};
Documentation/devicetree/bindings/media/samsung-fimc.txt+0−2
@@ -166,7 +166,6 @@ Example: · 165 unmodified lines
166 clock-output-names = "cam_a_clkout", "cam_b_clkout";166 clock-output-names = "cam_a_clkout", "cam_b_clkout";
167 pinctrl-names = "default";167 pinctrl-names = "default";
168 pinctrl-0 = <&cam_port_a_clk_active>;168 pinctrl-0 = <&cam_port_a_clk_active>;
169 status = "okay";
170 #address-cells = <1>;169 #address-cells = <1>;
171 #size-cells = <1>;170 #size-cells = <1>;
172 171
@@ -189,7 +188,6 @@ Example: · 16 unmodified lines
189 compatible = "samsung,exynos4210-fimc";188 compatible = "samsung,exynos4210-fimc";
190 reg = <0x11800000 0x1000>;189 reg = <0x11800000 0x1000>;
191 interrupts = <0 85 0>;190 interrupts = <0 85 0>;
192 status = "okay";
193 };191 };
194 192
195 csis_0: csis@11880000 {193 csis_0: csis@11880000 {
Documentation/devicetree/bindings/media/stih407-c8sectpfe.txt+0−1
@@ -52,7 +52,6 @@ Example: · 51 unmodified lines
52 52
53 c8sectpfe@08a20000 {53 c8sectpfe@08a20000 {
54 compatible = "st,stih407-c8sectpfe";54 compatible = "st,stih407-c8sectpfe";
55 status = "okay";
56 reg = <0x08a20000 0x10000>, <0x08a00000 0x4000>;55 reg = <0x08a20000 0x10000>, <0x08a00000 0x4000>;
57 reg-names = "stfe", "stfe-ram";56 reg-names = "stfe", "stfe-ram";
58 interrupts = <GIC_SPI 34 IRQ_TYPE_NONE>, <GIC_SPI 35 IRQ_TYPE_NONE>;57 interrupts = <GIC_SPI 34 IRQ_TYPE_NONE>, <GIC_SPI 35 IRQ_TYPE_NONE>;
Documentation/devicetree/bindings/media/ti,da850-vpif.txt+0−1
@@ -59,7 +59,6 @@ I2C-connected TVP5147 decoder: · 58 unmodified lines
59 tvp5147@5d {59 tvp5147@5d {
60 compatible = "ti,tvp5147";60 compatible = "ti,tvp5147";
61 reg = <0x5d>;61 reg = <0x5d>;
62 status = "okay";
63 62
64 port {63 port {
65 composite_in: endpoint {64 composite_in: endpoint {
Documentation/devicetree/bindings/memory-controllers/mvebu-devbus.txt+0−1
@@ -130,7 +130,6 @@ The reg property implicitly specifies the chip select as this: · 129 unmodified lines
130Example:130Example:
131 131
132 devbus-bootcs@d0010400 {132 devbus-bootcs@d0010400 {
133 status = "okay";
134 ranges = <0 0xf0000000 0x1000000>; /* @addr 0xf0000000, size 0x1000000 */133 ranges = <0 0xf0000000 0x1000000>; /* @addr 0xf0000000, size 0x1000000 */
135 #address-cells = <1>;134 #address-cells = <1>;
136 #size-cells = <1>;135 #size-cells = <1>;
Documentation/devicetree/bindings/mfd/act8945a.txt+0−2
@@ -12,7 +12,6 @@ Example: · 11 unmodified lines
12 pmic@5b {12 pmic@5b {
13 compatible = "active-semi,act8945a";13 compatible = "active-semi,act8945a";
14 reg = <0x5b>;14 reg = <0x5b>;
15 status = "okay";
16 15
17 active-semi,vsel-high;16 active-semi,vsel-high;
18 17
@@ -79,6 +78,5 @@ Example: · 60 unmodified lines
79 active-semi,input-voltage-threshold-microvolt = <6600>;78 active-semi,input-voltage-threshold-microvolt = <6600>;
80 active-semi,precondition-timeout = <40>;79 active-semi,precondition-timeout = <40>;
81 active-semi,total-timeout = <3>;80 active-semi,total-timeout = <3>;
82 status = "okay";
83 };81 };
84 };82 };
Documentation/devicetree/bindings/mfd/atmel-hlcdc.txt+0−1
@@ -25,7 +25,6 @@ Example: · 24 unmodified lines
25 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;25 clocks = <&lcdc_clk>, <&lcdck>, <&clk32k>;
26 clock-names = "periph_clk","sys_clk", "slow_clk";26 clock-names = "periph_clk","sys_clk", "slow_clk";
27 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;27 interrupts = <36 IRQ_TYPE_LEVEL_HIGH 0>;
28 status = "disabled";
29 28
30 hlcdc-display-controller {29 hlcdc-display-controller {
31 compatible = "atmel,hlcdc-display-controller";30 compatible = "atmel,hlcdc-display-controller";
Documentation/devicetree/bindings/mfd/da9052-i2c.txt+0−1
@@ -37,7 +37,6 @@ Sub-nodes: · 36 unmodified lines
37Examples:37Examples:
38 38
39i2c@63fc8000 { /* I2C1 */39i2c@63fc8000 { /* I2C1 */
40 status = "okay";
41 40
42 pmic: dialog@48 {41 pmic: dialog@48 {
43 compatible = "dlg,da9053-aa";42 compatible = "dlg,da9053-aa";
Documentation/devicetree/bindings/mfd/mc13xxx.txt+0−1
@@ -116,7 +116,6 @@ ecspi@70010000 { /* ECSPI1 */ · 115 unmodified lines
116 fsl,spi-num-chipselects = <2>;116 fsl,spi-num-chipselects = <2>;
117 cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */117 cs-gpios = <&gpio4 24 0>, /* GPIO4_24 */
118 <&gpio4 25 0>; /* GPIO4_25 */118 <&gpio4 25 0>; /* GPIO4_25 */
119 status = "okay";
120 119
121 pmic: mc13892@0 {120 pmic: mc13892@0 {
122 #address-cells = <1>;121 #address-cells = <1>;
Documentation/devicetree/bindings/mfd/mxs-lradc.txt+0−2
@@ -26,7 +26,6 @@ Example for i.MX23 SoC: · 25 unmodified lines
26 compatible = "fsl,imx23-lradc";26 compatible = "fsl,imx23-lradc";
27 reg = <0x80050000 0x2000>;27 reg = <0x80050000 0x2000>;
28 interrupts = <36 37 38 39 40 41 42 43 44>;28 interrupts = <36 37 38 39 40 41 42 43 44>;
29 status = "okay";
30 fsl,lradc-touchscreen-wires = <4>;29 fsl,lradc-touchscreen-wires = <4>;
31 fsl,ave-ctrl = <4>;30 fsl,ave-ctrl = <4>;
32 fsl,ave-delay = <2>;31 fsl,ave-delay = <2>;
@@ -39,7 +38,6 @@ Example for i.MX28 SoC: · 6 unmodified lines
39 compatible = "fsl,imx28-lradc";38 compatible = "fsl,imx28-lradc";
40 reg = <0x80050000 0x2000>;39 reg = <0x80050000 0x2000>;
41 interrupts = <10 14 15 16 17 18 19 20 21 22 23 24 25>;40 interrupts = <10 14 15 16 17 18 19 20 21 22 23 24 25>;
42 status = "okay";
43 fsl,lradc-touchscreen-wires = <5>;41 fsl,lradc-touchscreen-wires = <5>;
44 fsl,ave-ctrl = <4>;42 fsl,ave-ctrl = <4>;
45 fsl,ave-delay = <2>;43 fsl,ave-delay = <2>;
Documentation/devicetree/bindings/mfd/samsung,exynos5433-lpass.txt+0−2
@@ -57,7 +57,6 @@ audio-subsystem { · 56 unmodified lines
57 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";57 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
58 pinctrl-names = "default";58 pinctrl-names = "default";
59 pinctrl-0 = <&i2s0_bus>;59 pinctrl-0 = <&i2s0_bus>;
60 status = "disabled";
61 };60 };
62 61
63 serial_3: serial@11460000 {62 serial_3: serial@11460000 {
@@ -69,6 +68,5 @@ audio-subsystem { · 5 unmodified lines
69 clock-names = "uart", "clk_uart_baud0";68 clock-names = "uart", "clk_uart_baud0";
70 pinctrl-names = "default";69 pinctrl-names = "default";
71 pinctrl-0 = <&uart_aud_bus>;70 pinctrl-0 = <&uart_aud_bus>;
72 status = "disabled";
73 };71 };
74 };72 };
Documentation/devicetree/bindings/misc/atmel-ssc.txt+0−1
@@ -47,5 +47,4 @@ ssc0: ssc@f0010000 { · 46 unmodified lines
47 dma-names = "tx", "rx";47 dma-names = "tx", "rx";
48 pinctrl-names = "default";48 pinctrl-names = "default";
49 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;49 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
50 status = "disabled";
51};50};
Documentation/devicetree/bindings/mmc/arasan,sdhci.txt+0−1
@@ -74,5 +74,4 @@ Example: · 73 unmodified lines
74 phys = <&emmc_phy>;74 phys = <&emmc_phy>;
75 phy-names = "phy_arasan";75 phy-names = "phy_arasan";
76 #clock-cells = <0>;76 #clock-cells = <0>;
77 status = "disabled";
78 };77 };
Documentation/devicetree/bindings/mmc/davinci_mmc.txt+0−1
@@ -24,7 +24,6 @@ mmc0: mmc@1c40000 { · 23 unmodified lines
24 compatible = "ti,da830-mmc",24 compatible = "ti,da830-mmc",
25 reg = <0x40000 0x1000>;25 reg = <0x40000 0x1000>;
26 interrupts = <16>;26 interrupts = <16>;
27 status = "okay";
28 bus-width = <4>;27 bus-width = <4>;
29 max-frequency = <50000000>;28 max-frequency = <50000000>;
30 dmas = <&edma 1629 dmas = <&edma 16
Documentation/devicetree/bindings/mmc/fsl-imx-mmc.txt+0−1
@@ -20,5 +20,4 @@ sdhci1: sdhci@10014000 { · 19 unmodified lines
20 dma-names = "rx-tx";20 dma-names = "rx-tx";
21 bus-width = <4>;21 bus-width = <4>;
22 cd-gpios = <&gpio3 29>;22 cd-gpios = <&gpio3 29>;
23 status = "okay";
24};23};
Documentation/devicetree/bindings/mmc/mmc-card.txt+0−1
@@ -21,7 +21,6 @@ Example: · 20 unmodified lines
21 vmmc-supply = <&reg_vcc3v3>;21 vmmc-supply = <&reg_vcc3v3>;
22 bus-width = <8>;22 bus-width = <8>;
23 non-removable;23 non-removable;
24 status = "okay";
25 24
26 mmccard: mmccard@0 {25 mmccard: mmccard@0 {
27 reg = <0>;26 reg = <0>;
Documentation/devicetree/bindings/mmc/mmc.txt+0−1
@@ -153,7 +153,6 @@ mmc3: mmc@01c12000 { · 152 unmodified lines
153 bus-width = <4>;153 bus-width = <4>;
154 non-removable;154 non-removable;
155 mmc-pwrseq = <&sdhci0_pwrseq>155 mmc-pwrseq = <&sdhci0_pwrseq>
156 status = "okay";
157 156
158 brcmf: bcrmf@1 {157 brcmf: bcrmf@1 {
159 reg = <1>;158 reg = <1>;
Documentation/devicetree/bindings/mmc/orion-sdio.txt+0−1
@@ -13,5 +13,4 @@ Example: · 12 unmodified lines
13 reg = <0xd00d4000 0x200>;13 reg = <0xd00d4000 0x200>;
14 interrupts = <54>;14 interrupts = <54>;
15 clocks = <&gateclk 17>;15 clocks = <&gateclk 17>;
16 status = "disabled";
17 };16 };
Documentation/devicetree/bindings/mmc/sdhci-st.txt+0−3
@@ -63,7 +63,6 @@ Example: · 62 unmodified lines
63 63
64mmc0: sdhci@fe81e000 {64mmc0: sdhci@fe81e000 {
65 compatible = "st,sdhci";65 compatible = "st,sdhci";
66 status = "disabled";
67 reg = <0xfe81e000 0x1000>;66 reg = <0xfe81e000 0x1000>;
68 interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>;67 interrupts = <GIC_SPI 127 IRQ_TYPE_NONE>;
69 interrupt-names = "mmcirq";68 interrupt-names = "mmcirq";
@@ -77,7 +76,6 @@ mmc0: sdhci@fe81e000 { · 7 unmodified lines
77 76
78mmc1: sdhci@09080000 {77mmc1: sdhci@09080000 {
79 compatible = "st,sdhci-stih407", "st,sdhci";78 compatible = "st,sdhci-stih407", "st,sdhci";
80 status = "disabled";
81 reg = <0x09080000 0x7ff>;79 reg = <0x09080000 0x7ff>;
82 reg-names = "mmc";80 reg-names = "mmc";
83 interrupts = <GIC_SPI 90 IRQ_TYPE_NONE>;81 interrupts = <GIC_SPI 90 IRQ_TYPE_NONE>;
@@ -94,7 +92,6 @@ mmc1: sdhci@09080000 { · 10 unmodified lines
94 92
95mmc0: sdhci@09060000 {93mmc0: sdhci@09060000 {
96 compatible = "st,sdhci-stih407", "st,sdhci";94 compatible = "st,sdhci-stih407", "st,sdhci";
97 status = "disabled";
98 reg = <0x09060000 0x7ff>, <0x9061008 0x20>;95 reg = <0x09060000 0x7ff>, <0x9061008 0x20>;
99 reg-names = "mmc", "top-mmc-delay";96 reg-names = "mmc", "top-mmc-delay";
100 interrupts = <GIC_SPI 92 IRQ_TYPE_NONE>;97 interrupts = <GIC_SPI 92 IRQ_TYPE_NONE>;
Documentation/devicetree/bindings/mmc/zx-dw-mshc.txt+0−1
@@ -28,5 +28,4 @@ Example: · 27 unmodified lines
28 max-frequency = <50000000>;28 max-frequency = <50000000>;
29 cap-sdio-irq;29 cap-sdio-irq;
30 cap-sd-highspeed;30 cap-sd-highspeed;
31 status = "disabled";
32 };31 };
Documentation/devicetree/bindings/mtd/atmel-quadspi.txt+0−1
@@ -24,7 +24,6 @@ spi@f0020000 { · 23 unmodified lines
24 #size-cells = <0>;24 #size-cells = <0>;
25 pinctrl-names = "default";25 pinctrl-names = "default";
26 pinctrl-0 = <&pinctrl_spi0_default>;26 pinctrl-0 = <&pinctrl_spi0_default>;
27 status = "okay";
28 27
29 m25p80@0 {28 m25p80@0 {
30 ...29 ...
Documentation/devicetree/bindings/mtd/mtk-quadspi.txt+0−1
@@ -37,7 +37,6 @@ nor_flash: spi@1100d000 { · 36 unmodified lines
37 clock-names = "spi", "sf";37 clock-names = "spi", "sf";
38 #address-cells = <1>;38 #address-cells = <1>;
39 #size-cells = <0>;39 #size-cells = <0>;
40 status = "disabled";
41 40
42 flash@0 {41 flash@0 {
43 compatible = "jedec,spi-nor";42 compatible = "jedec,spi-nor";
Documentation/devicetree/bindings/mtd/st-fsm.txt+0−1
@@ -21,6 +21,5 @@ Example: · 20 unmodified lines
21 st,syscfg = <&syscfg_rear>;21 st,syscfg = <&syscfg_rear>;
22 st,boot-device-reg = <0x958>;22 st,boot-device-reg = <0x958>;
23 st,boot-device-spi = <0x1a>;23 st,boot-device-spi = <0x1a>;
24 status = "okay";
25 };24 };
26 25
Documentation/devicetree/bindings/mtd/sunxi-nand.txt+0−1
@@ -41,7 +41,6 @@ nfc: nand@01c03000 { · 40 unmodified lines
41 #size-cells = <0>;41 #size-cells = <0>;
42 pinctrl-names = "default";42 pinctrl-names = "default";
43 pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>;43 pinctrl-0 = <&nand_pins_a &nand_cs0_pins_a &nand_rb0_pins_a>;
44 status = "okay";
45 44
46 nand@0 {45 nand@0 {
47 reg = <0>;46 reg = <0>;
Documentation/devicetree/bindings/net/brcm,amac.txt+0−1
@@ -27,5 +27,4 @@ amac0: ethernet@18022000 { · 26 unmodified lines
27 <0x18110000 0x1000>;27 <0x18110000 0x1000>;
28 reg-names = "amac_base", "idm_base";28 reg-names = "amac_base", "idm_base";
29 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;29 interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
30 status = "disabled";
31};30};
Documentation/devicetree/bindings/net/btusb.txt+0−1
@@ -29,7 +29,6 @@ Example: · 28 unmodified lines
29Following example uses irq pin number 3 of gpio0 for out of band wake-on-bt:29Following example uses irq pin number 3 of gpio0 for out of band wake-on-bt:
30 30
31&usb_host1_ehci {31&usb_host1_ehci {
32 status = "okay";
33 #address-cells = <1>;32 #address-cells = <1>;
34 #size-cells = <0>;33 #size-cells = <0>;
35 34
Documentation/devicetree/bindings/net/can/m_can.txt+0−1
@@ -56,7 +56,6 @@ m_can1: can@020e8000 { · 55 unmodified lines
56 <&clks IMX6SX_CLK_CANFD>;56 <&clks IMX6SX_CLK_CANFD>;
57 clock-names = "hclk", "cclk";57 clock-names = "hclk", "cclk";
58 bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;58 bosch,mram-cfg = <0x0 0 0 32 0 0 0 1>;
59 status = "disabled";
60};59};
61 60
62Board dts:61Board dts:
Documentation/devicetree/bindings/net/dsa/ksz.txt+0−2
@@ -24,7 +24,6 @@ Ethernet switch connected via SPI to the host, CPU port wired to eth0: · 23 unmodified lines
24 pinctrl-0 = <&pinctrl_spi_ksz>;24 pinctrl-0 = <&pinctrl_spi_ksz>;
25 cs-gpios = <&pioC 25 0>;25 cs-gpios = <&pioC 25 0>;
26 id = <1>;26 id = <1>;
27 status = "okay";
28 27
29 ksz9477: ksz9477@0 {28 ksz9477: ksz9477@0 {
30 compatible = "microchip,ksz9477";29 compatible = "microchip,ksz9477";
@@ -34,7 +33,6 @@ Ethernet switch connected via SPI to the host, CPU port wired to eth0: · 3 unmodified lines
34 spi-cpha;33 spi-cpha;
35 spi-cpol;34 spi-cpol;
36 35
37 status = "okay";
38 ports {36 ports {
39 #address-cells = <1>;37 #address-cells = <1>;
40 #size-cells = <0>;38 #size-cells = <0>;
Documentation/devicetree/bindings/net/dsa/lan9303.txt+0−3
@@ -27,7 +27,6 @@ Example: · 26 unmodified lines
27I2C managed mode:27I2C managed mode:
28 28
29 master: masterdevice@X {29 master: masterdevice@X {
30 status = "okay";
31 30
32 fixed-link { /* RMII fixed link to LAN9303 */31 fixed-link { /* RMII fixed link to LAN9303 */
33 speed = <100>;32 speed = <100>;
@@ -38,7 +37,6 @@ I2C managed mode: · 4 unmodified lines
38 switch: switch@a {37 switch: switch@a {
39 compatible = "smsc,lan9303-i2c";38 compatible = "smsc,lan9303-i2c";
40 reg = <0xa>;39 reg = <0xa>;
41 status = "okay";
42 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;40 reset-gpios = <&gpio7 6 GPIO_ACTIVE_LOW>;
43 reset-duration = <200>;41 reset-duration = <200>;
44 42
@@ -67,7 +65,6 @@ I2C managed mode: · 22 unmodified lines
67MDIO managed mode:65MDIO managed mode:
68 66
69 master: masterdevice@X {67 master: masterdevice@X {
70 status = "okay";
71 phy-handle = <&switch>;68 phy-handle = <&switch>;
72 69
73 mdio {70 mdio {
Documentation/devicetree/bindings/net/ftgmac100.txt+0−1
@@ -30,6 +30,5 @@ Example: · 29 unmodified lines
30 compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";30 compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
31 reg = <0x1e660000 0x180>;31 reg = <0x1e660000 0x180>;
32 interrupts = <2>;32 interrupts = <2>;
33 status = "okay";
34 use-ncsi;33 use-ncsi;
35 };34 };
Documentation/devicetree/bindings/net/marvell-armada-370-neta.txt+0−1
@@ -41,7 +41,6 @@ ethernet@70000 { · 40 unmodified lines
41 interrupts = <8>;41 interrupts = <8>;
42 clocks = <&gate_clk 4>;42 clocks = <&gate_clk 4>;
43 tx-csum-limit = <9800>43 tx-csum-limit = <9800>
44 status = "okay";
45 phy = <&phy0>;44 phy = <&phy0>;
46 phy-mode = "rgmii-id";45 phy-mode = "rgmii-id";
47 buffer-manager = <&bm>;46 buffer-manager = <&bm>;
Documentation/devicetree/bindings/net/marvell-bt-8xxx.txt+0−2
@@ -44,7 +44,6 @@ Example for SDIO device follows (calibration data is also available in · 43 unmodified lines
44below example).44below example).
45 45
46&mmc3 {46&mmc3 {
47 status = "okay";
48 vmmc-supply = <&wlan_en_reg>;47 vmmc-supply = <&wlan_en_reg>;
49 bus-width = <4>;48 bus-width = <4>;
50 cap-power-off-card;49 cap-power-off-card;
@@ -70,7 +69,6 @@ below example). · 19 unmodified lines
70Example for USB device:69Example for USB device:
71 70
72&usb_host1_ohci {71&usb_host1_ohci {
73 status = "okay";
74 #address-cells = <1>;72 #address-cells = <1>;
75 #size-cells = <0>;73 #size-cells = <0>;
76 74
Documentation/devicetree/bindings/net/marvell-neta-bm.txt+0−2
@@ -31,7 +31,6 @@ bm: bm@c8000 { · 30 unmodified lines
31 reg = <0xc8000 0xac>;31 reg = <0xc8000 0xac>;
32 clocks = <&gateclk 13>;32 clocks = <&gateclk 13>;
33 internal-mem = <&bm_bppi>;33 internal-mem = <&bm_bppi>;
34 status = "okay";
35 pool2,capacity = <4096>;34 pool2,capacity = <4096>;
36 pool1,pkt-size = <512>;35 pool1,pkt-size = <512>;
37};36};
@@ -45,5 +44,4 @@ bm_bppi: bm-bppi { · 7 unmodified lines
45 #address-cells = <1>;44 #address-cells = <1>;
46 #size-cells = <1>;45 #size-cells = <1>;
47 clocks = <&gateclk 13>;46 clocks = <&gateclk 13>;
48 status = "okay";
49};47};
Documentation/devicetree/bindings/net/marvell-pp2.txt+0−3
@@ -57,12 +57,10 @@ ethernet@f0000 { · 56 unmodified lines
57 <0xc5000 0x100>;57 <0xc5000 0x100>;
58 clocks = <&gateclk 3>, <&gateclk 19>;58 clocks = <&gateclk 3>, <&gateclk 19>;
59 clock-names = "pp_clk", "gop_clk";59 clock-names = "pp_clk", "gop_clk";
60 status = "okay";
61 60
62 eth0: eth0@c4000 {61 eth0: eth0@c4000 {
63 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;62 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
64 port-id = <0>;63 port-id = <0>;
65 status = "okay";
66 phy = <&phy0>;64 phy = <&phy0>;
67 phy-mode = "gmii";65 phy-mode = "gmii";
68 };66 };
@@ -70,7 +68,6 @@ ethernet@f0000 { · 1 unmodified line
70 eth1: eth1@c5000 {68 eth1: eth1@c5000 {
71 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;69 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
72 port-id = <1>;70 port-id = <1>;
73 status = "okay";
74 phy = <&phy3>;71 phy = <&phy3>;
75 phy-mode = "gmii";72 phy-mode = "gmii";
76 };73 };
Documentation/devicetree/bindings/net/meson-dwmac.txt+0−1
@@ -66,5 +66,4 @@ Example for GXBB: · 65 unmodified lines
66 <&clkc CLKID_MPLL2>;66 <&clkc CLKID_MPLL2>;
67 clock-names = "stmmaceth", "clkin0", "clkin1";67 clock-names = "stmmaceth", "clkin0", "clkin1";
68 phy-mode = "rgmii";68 phy-mode = "rgmii";
69 status = "disabled";
70 };69 };
Documentation/devicetree/bindings/net/micrel-ksz90x1.txt+0−1
@@ -69,7 +69,6 @@ Examples: · 68 unmodified lines
69 };69 };
70 };70 };
71 ethernet@70000 {71 ethernet@70000 {
72 status = "okay";
73 phy = <&phy0>;72 phy = <&phy0>;
74 phy-mode = "rgmii-id";73 phy-mode = "rgmii-id";
75 };74 };
Documentation/devicetree/bindings/net/microchip,enc28j60.txt+0−1
@@ -33,7 +33,6 @@ Example (for NXP i.MX28 with pin control stuff for GPIO irq): · 32 unmodified lines
33 compatible = "fsl,imx28-spi";33 compatible = "fsl,imx28-spi";
34 pinctrl-names = "default";34 pinctrl-names = "default";
35 pinctrl-0 = <&spi2_pins_b &spi2_sck_cfg>;35 pinctrl-0 = <&spi2_pins_b &spi2_sck_cfg>;
36 status = "okay";
37 36
38 enc28j60: ethernet@0 {37 enc28j60: ethernet@0 {
39 compatible = "microchip,enc28j60";38 compatible = "microchip,enc28j60";
Documentation/devicetree/bindings/net/nfc/nfcmrvl.txt+0−2
@@ -25,7 +25,6 @@ Optional I2C-based chip specific properties: · 24 unmodified lines
25Example (for ARM-based BeagleBoard Black with 88W8887 on UART5):25Example (for ARM-based BeagleBoard Black with 88W8887 on UART5):
26 26
27&uart5 {27&uart5 {
28 status = "okay";
29 28
30 nfcmrvluart: nfcmrvluart@5 {29 nfcmrvluart: nfcmrvluart@5 {
31 compatible = "marvell,nfc-uart";30 compatible = "marvell,nfc-uart";
@@ -41,7 +40,6 @@ Example (for ARM-based BeagleBoard Black with 88W8887 on UART5): · 9 unmodified lines
41Example (for ARM-based BeagleBoard Black with 88W8887 on I2C1):40Example (for ARM-based BeagleBoard Black with 88W8887 on I2C1):
42 41
43&i2c1 {42&i2c1 {
44 status = "okay";
45 clock-frequency = <400000>;43 clock-frequency = <400000>;
46 44
47 nfcmrvli2c0: i2c@1 {45 nfcmrvli2c0: i2c@1 {
Documentation/devicetree/bindings/net/nfc/nxp-nci.txt+0−1
@@ -17,7 +17,6 @@ Example (for ARM-based BeagleBone with NPC100 NFC controller on I2C2): · 16 unmodified lines
17 17
18&i2c2 {18&i2c2 {
19 19
20 status = "okay";
21 20
22 npc100: npc100@29 {21 npc100: npc100@29 {
23 22
Documentation/devicetree/bindings/net/nfc/pn533-i2c.txt+0−1
@@ -15,7 +15,6 @@ Example (for ARM-based BeagleBone with PN532 on I2C2): · 14 unmodified lines
15 15
16&i2c2 {16&i2c2 {
17 17
18 status = "okay";
19 18
20 pn532: pn532@24 {19 pn532: pn532@24 {
21 20
Documentation/devicetree/bindings/net/nfc/pn544.txt+0−1
@@ -17,7 +17,6 @@ Example (for ARM-based BeagleBone with PN544 on I2C2): · 16 unmodified lines
17 17
18&i2c2 {18&i2c2 {
19 19
20 status = "okay";
21 20
22 pn544: pn544@28 {21 pn544: pn544@28 {
23 22
Documentation/devicetree/bindings/net/nfc/s3fwrn5.txt+0−1
@@ -12,7 +12,6 @@ Required properties: · 11 unmodified lines
12Example:12Example:
13 13
14&hsi2c_4 {14&hsi2c_4 {
15 status = "okay";
16 s3fwrn5@27 {15 s3fwrn5@27 {
17 compatible = "samsung,s3fwrn5-i2c";16 compatible = "samsung,s3fwrn5-i2c";
18 17
Documentation/devicetree/bindings/net/nfc/st-nci-i2c.txt+0−1
@@ -20,7 +20,6 @@ Example (for ARM-based BeagleBoard xM with ST21NFCB on I2C2): · 19 unmodified lines
20 20
21&i2c2 {21&i2c2 {
22 22
23 status = "okay";
24 23
25 st21nfcb: st21nfcb@8 {24 st21nfcb: st21nfcb@8 {
26 25
Documentation/devicetree/bindings/net/nfc/st-nci-spi.txt+0−1
@@ -19,7 +19,6 @@ Example (for ARM-based BeagleBoard xM with ST21NFCB on SPI4): · 18 unmodified lines
19 19
20&mcspi4 {20&mcspi4 {
21 21
22 status = "okay";
23 22
24 st21nfcb: st21nfcb@0 {23 st21nfcb: st21nfcb@0 {
25 24
Documentation/devicetree/bindings/net/nfc/st21nfca.txt+0−1
@@ -20,7 +20,6 @@ Example (for ARM-based BeagleBoard xM with ST21NFCA on I2C2): · 19 unmodified lines
20 20
21&i2c2 {21&i2c2 {
22 22
23 status = "okay";
24 23
25 st21nfca: st21nfca@1 {24 st21nfca: st21nfca@1 {
26 25
Documentation/devicetree/bindings/net/nfc/st95hf.txt+0−2
@@ -35,12 +35,10 @@ spi@9840000 { · 34 unmodified lines
35 #address-cells = <1>;35 #address-cells = <1>;
36 #size-cells = <0>;36 #size-cells = <0>;
37 cs-gpios = <&pio0 4>;37 cs-gpios = <&pio0 4>;
38 status = "okay";
39 38
40 st95hf@0{39 st95hf@0{
41 reg = <0>;40 reg = <0>;
42 compatible = "st,st95hf";41 compatible = "st,st95hf";
43 status = "okay";
44 spi-max-frequency = <1000000>;42 spi-max-frequency = <1000000>;
45 enable-gpio = <&pio4 0>;43 enable-gpio = <&pio4 0>;
46 interrupt-parent = <&pio0>;44 interrupt-parent = <&pio0>;
Documentation/devicetree/bindings/net/nfc/trf7970a.txt+0−2
@@ -23,7 +23,6 @@ Optional SoC Specific Properties: · 22 unmodified lines
23Example (for ARM-based BeagleBone with TRF7970A on SPI1):23Example (for ARM-based BeagleBone with TRF7970A on SPI1):
24 24
25&spi1 {25&spi1 {
26 status = "okay";
27 26
28 nfc@0 {27 nfc@0 {
29 compatible = "ti,trf7970a";28 compatible = "ti,trf7970a";
@@ -41,6 +40,5 @@ Example (for ARM-based BeagleBone with TRF7970A on SPI1): · 11 unmodified lines
41 irq-status-read-quirk;40 irq-status-read-quirk;
42 en2-rf-quirk;41 en2-rf-quirk;
43 clock-frequency = <27120000>;42 clock-frequency = <27120000>;
44 status = "okay";
45 };43 };
46};44};
Documentation/devicetree/bindings/net/oxnas-dwmac.txt+0−1
@@ -35,5 +35,4 @@ etha: ethernet@40400000 { · 34 unmodified lines
35 /* Regmap for sys registers */35 /* Regmap for sys registers */
36 oxsemi,sys-ctrl = <&sys>;36 oxsemi,sys-ctrl = <&sys>;
37 37
38 status = "disabled";
39};38};
Documentation/devicetree/bindings/net/phy.txt+3−7
@@ -2,11 +2,7 @@ PHY nodes · 1 unmodified line
2 2
3Required properties:3Required properties:
4 4
5 - interrupts : <a b> where a is the interrupt number and b is a5 - interrupts : interrupt specifier for the sole interrupt.
6 field that represents an encoding of the sense and level
7 information for the interrupt. This should be encoded based on
8 the information in section 2) depending on the type of interrupt
9 controller you have.
10 - interrupt-parent : the phandle for the interrupt controller that6 - interrupt-parent : the phandle for the interrupt controller that
11 services interrupts for this device.7 services interrupts for this device.
12 - reg : The ID number for the phy, usually a small integer8 - reg : The ID number for the phy, usually a small integer
@@ -61,7 +57,7 @@ Example: · 48 unmodified lines
61 57
62ethernet-phy@0 {58ethernet-phy@0 {
63 compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22";59 compatible = "ethernet-phy-id0141.0e90", "ethernet-phy-ieee802.3-c22";
64 interrupt-parent = <40000>;60 interrupt-parent = <&PIC>;
65 interrupts = <35 1>;61 interrupts = <35 IRQ_TYPE_EDGE_RISING>;
66 reg = <0>;62 reg = <0>;
67};63};
Documentation/devicetree/bindings/net/qca,qca7000.txt+0−2
@@ -41,7 +41,6 @@ ssp2: spi@80014000 { · 40 unmodified lines
41 compatible = "fsl,imx28-spi";41 compatible = "fsl,imx28-spi";
42 pinctrl-names = "default";42 pinctrl-names = "default";
43 pinctrl-0 = <&spi2_pins_a>;43 pinctrl-0 = <&spi2_pins_a>;
44 status = "okay";
45 44
46 qca7000: ethernet@0 {45 qca7000: ethernet@0 {
47 compatible = "qca,qca7000";46 compatible = "qca,qca7000";
@@ -78,7 +77,6 @@ auart0: serial@8006a000 { · 30 unmodified lines
78 reg = <0x8006a000 0x2000>;77 reg = <0x8006a000 0x2000>;
79 pinctrl-names = "default";78 pinctrl-names = "default";
80 pinctrl-0 = <&auart0_2pins_a>;79 pinctrl-0 = <&auart0_2pins_a>;
81 status = "okay";
82 80
83 qca7000: ethernet {81 qca7000: ethernet {
84 compatible = "qca,qca7000";82 compatible = "qca,qca7000";
Documentation/devicetree/bindings/net/rockchip-dwmac.txt+0−1
@@ -71,5 +71,4 @@ gmac: ethernet@ff290000 { · 70 unmodified lines
71 tx_delay = <0x30>;71 tx_delay = <0x30>;
72 rx_delay = <0x10>;72 rx_delay = <0x10>;
73 73
74 status = "ok";
75};74};
Documentation/devicetree/bindings/net/smsc-lan87xx.txt+0−1
@@ -15,7 +15,6 @@ smsc phy with disabled energy detect mode on an am335x based board. · 14 unmodified lines
15 pinctrl-names = "default", "sleep";15 pinctrl-names = "default", "sleep";
16 pinctrl-0 = <&davinci_mdio_default>;16 pinctrl-0 = <&davinci_mdio_default>;
17 pinctrl-1 = <&davinci_mdio_sleep>;17 pinctrl-1 = <&davinci_mdio_sleep>;
18 status = "okay";
19 18
20 ethernetphy0: ethernet-phy@0 {19 ethernetphy0: ethernet-phy@0 {
21 reg = <0>;20 reg = <0>;
Documentation/devicetree/bindings/net/socfpga-dwmac.txt+0−1
@@ -40,7 +40,6 @@ gmii_to_sgmii_converter: phy@0x100000240 { · 39 unmodified lines
40gmac0: ethernet@ff700000 {40gmac0: ethernet@ff700000 {
41 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";41 compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
42 altr,sysmgr-syscon = <&sysmgr 0x60 0>;42 altr,sysmgr-syscon = <&sysmgr 0x60 0>;
43 status = "disabled";
44 reg = <0xff700000 0x2000>;43 reg = <0xff700000 0x2000>;
45 interrupts = <0 115 4>;44 interrupts = <0 115 4>;
46 interrupt-names = "macirq";45 interrupt-names = "macirq";
Documentation/devicetree/bindings/net/sti-dwmac.txt+0−1
@@ -34,7 +34,6 @@ Example: · 33 unmodified lines
34 34
35ethernet0: dwmac@9630000 {35ethernet0: dwmac@9630000 {
36 device_type = "network";36 device_type = "network";
37 status = "disabled";
38 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";37 compatible = "st,stih407-dwmac", "snps,dwmac", "snps,dwmac-3.710";
39 reg = <0x9630000 0x8000>;38 reg = <0x9630000 0x8000>;
40 reg-names = "stmmaceth";39 reg-names = "stmmaceth";
Documentation/devicetree/bindings/net/stm32-dwmac.txt+0−1
@@ -18,7 +18,6 @@ Example: · 17 unmodified lines
18 18
19 ethernet@40028000 {19 ethernet@40028000 {
20 compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";20 compatible = "st,stm32-dwmac", "snps,dwmac-3.50a";
21 status = "disabled";
22 reg = <0x40028000 0x8000>;21 reg = <0x40028000 0x8000>;
23 reg-names = "stmmaceth";22 reg-names = "stmmaceth";
24 interrupts = <0 61 0>, <0 62 0>;23 interrupts = <0 61 0>, <0 62 0>;
Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt+0−1
@@ -29,7 +29,6 @@ mmc3: mmc@01c12000 { · 28 unmodified lines
29 vmmc-supply = <&reg_vmmc3>;29 vmmc-supply = <&reg_vmmc3>;
30 bus-width = <4>;30 bus-width = <4>;
31 non-removable;31 non-removable;
32 status = "okay";
33 32
34 brcmf: wifi@1 {33 brcmf: wifi@1 {
35 reg = <1>;34 reg = <1>;
Documentation/devicetree/bindings/net/wireless/esp,esp8089.txt+0−1
@@ -21,7 +21,6 @@ Example: · 20 unmodified lines
21 mmc-pwrseq = <&wifi_pwrseq>;21 mmc-pwrseq = <&wifi_pwrseq>;
22 bus-width = <4>;22 bus-width = <4>;
23 non-removable;23 non-removable;
24 status = "okay";
25 24
26 esp8089: sdio_wifi@1 {25 esp8089: sdio_wifi@1 {
27 compatible = "esp,esp8089";26 compatible = "esp,esp8089";
Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt+0−1
@@ -48,7 +48,6 @@ IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is configured · 47 unmodified lines
48so that firmware can wakeup host using this device side pin.48so that firmware can wakeup host using this device side pin.
49 49
50&mmc3 {50&mmc3 {
51 status = "okay";
52 vmmc-supply = <&wlan_en_reg>;51 vmmc-supply = <&wlan_en_reg>;
53 mmc-pwrseq = <&wifi_pwrseq>;52 mmc-pwrseq = <&wifi_pwrseq>;
54 bus-width = <4>;53 bus-width = <4>;
Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt+0−1
@@ -31,7 +31,6 @@ clock, new bindings (for parsing the clock nodes) have to be added. · 30 unmodified lines
31Example:31Example:
32 32
33&mmc3 {33&mmc3 {
34 status = "okay";
35 vmmc-supply = <&wlan_en_reg>;34 vmmc-supply = <&wlan_en_reg>;
36 bus-width = <4>;35 bus-width = <4>;
37 cap-power-off-card;36 cap-power-off-card;
Documentation/devicetree/bindings/nvmem/mtk-efuse.txt+4−1
@@ -3,7 +3,10 @@ · 2 unmodified lines
3This binding is intended to represent MTK-EFUSE which is found in most Mediatek SOCs.3This binding is intended to represent MTK-EFUSE which is found in most Mediatek SOCs.
4 4
5Required properties:5Required properties:
6- compatible: should be "mediatek,mt8173-efuse" or "mediatek,efuse"6- compatible: should be
7 "mediatek,mt7622-efuse", "mediatek,efuse": for MT7622
8 "mediatek,mt7623-efuse", "mediatek,efuse": for MT7623
9 "mediatek,mt8173-efuse" or "mediatek,efuse": for MT8173
7- reg: Should contain registers location and length10- reg: Should contain registers location and length
8 11
9= Data cells =12= Data cells =
Documentation/devicetree/bindings/nvmem/mxs-ocotp.txt+0−1
@@ -21,5 +21,4 @@ Example for i.MX28: · 20 unmodified lines
21 #size-cells = <1>;21 #size-cells = <1>;
22 reg = <0x8002c000 0x2000>;22 reg = <0x8002c000 0x2000>;
23 clocks = <&clks 25>;23 clocks = <&clks 25>;
24 status = "okay";
25 };24 };
Documentation/devicetree/bindings/opp/opp.txt+0−1
@@ -464,7 +464,6 @@ Example 5: opp-supported-hw · 463 unmodified lines
464 464
465 opp_table {465 opp_table {
466 compatible = "operating-points-v2";466 compatible = "operating-points-v2";
467 status = "okay";
468 opp-shared;467 opp-shared;
469 468
470 opp-600000000 {469 opp-600000000 {
Documentation/devicetree/bindings/pci/aardvark-pci.txt+0−1
@@ -33,7 +33,6 @@ Example: · 32 unmodified lines
33 pcie0: pcie@d0070000 {33 pcie0: pcie@d0070000 {
34 compatible = "marvell,armada-3700-pcie";34 compatible = "marvell,armada-3700-pcie";
35 device_type = "pci";35 device_type = "pci";
36 status = "disabled";
37 reg = <0 0xd0070000 0 0x20000>;36 reg = <0 0xd0070000 0 0x20000>;
38 #address-cells = <3>;37 #address-cells = <3>;
39 #size-cells = <2>;38 #size-cells = <2>;
Documentation/devicetree/bindings/pci/hisilicon-pcie.txt+0−2
@@ -40,7 +40,6 @@ Hip05 Example (note that Hip06 is the same except compatible): · 39 unmodified lines
40 0x0 0 0 2 &mbigen_pcie 2 1140 0x0 0 0 2 &mbigen_pcie 2 11
41 0x0 0 0 3 &mbigen_pcie 3 1241 0x0 0 0 3 &mbigen_pcie 3 12
42 0x0 0 0 4 &mbigen_pcie 4 13>;42 0x0 0 0 4 &mbigen_pcie 4 13>;
43 status = "ok";
44 };43 };
45 44
46HiSilicon Hip06/Hip07 PCIe host bridge DT (almost-ECAM) description.45HiSilicon Hip06/Hip07 PCIe host bridge DT (almost-ECAM) description.
@@ -83,5 +82,4 @@ Example: · 36 unmodified lines
83 0x0 0 0 2 &mbigen_pcie0 650 482 0x0 0 0 2 &mbigen_pcie0 650 4
84 0x0 0 0 3 &mbigen_pcie0 650 483 0x0 0 0 3 &mbigen_pcie0 650 4
85 0x0 0 0 4 &mbigen_pcie0 650 4>;84 0x0 0 0 4 &mbigen_pcie0 650 4>;
86 status = "ok";
87 };85 };
Documentation/devicetree/bindings/pci/mvebu-pci.txt+0−11
@@ -85,7 +85,6 @@ Example: · 84 unmodified lines
85 85
86pcie-controller {86pcie-controller {
87 compatible = "marvell,armada-xp-pcie";87 compatible = "marvell,armada-xp-pcie";
88 status = "disabled";
89 device_type = "pci";88 device_type = "pci";
90 89
91 #address-cells = <3>;90 #address-cells = <3>;
@@ -147,7 +146,6 @@ pcie-controller { · 55 unmodified lines
147 /* wait 20ms for device settle after reset deassertion */146 /* wait 20ms for device settle after reset deassertion */
148 reset-delay-us = <20000>;147 reset-delay-us = <20000>;
149 clocks = <&gateclk 5>;148 clocks = <&gateclk 5>;
150 status = "disabled";
151 };149 };
152 150
153 pcie@2,0 {151 pcie@2,0 {
@@ -164,7 +162,6 @@ pcie-controller { · 10 unmodified lines
164 marvell,pcie-port = <0>;162 marvell,pcie-port = <0>;
165 marvell,pcie-lane = <1>;163 marvell,pcie-lane = <1>;
166 clocks = <&gateclk 6>;164 clocks = <&gateclk 6>;
167 status = "disabled";
168 };165 };
169 166
170 pcie@3,0 {167 pcie@3,0 {
@@ -181,7 +178,6 @@ pcie-controller { · 10 unmodified lines
181 marvell,pcie-port = <0>;178 marvell,pcie-port = <0>;
182 marvell,pcie-lane = <2>;179 marvell,pcie-lane = <2>;
183 clocks = <&gateclk 7>;180 clocks = <&gateclk 7>;
184 status = "disabled";
185 };181 };
186 182
187 pcie@4,0 {183 pcie@4,0 {
@@ -198,7 +194,6 @@ pcie-controller { · 10 unmodified lines
198 marvell,pcie-port = <0>;194 marvell,pcie-port = <0>;
199 marvell,pcie-lane = <3>;195 marvell,pcie-lane = <3>;
200 clocks = <&gateclk 8>;196 clocks = <&gateclk 8>;
201 status = "disabled";
202 };197 };
203 198
204 pcie@5,0 {199 pcie@5,0 {
@@ -215,7 +210,6 @@ pcie-controller { · 10 unmodified lines
215 marvell,pcie-port = <1>;210 marvell,pcie-port = <1>;
216 marvell,pcie-lane = <0>;211 marvell,pcie-lane = <0>;
217 clocks = <&gateclk 9>;212 clocks = <&gateclk 9>;
218 status = "disabled";
219 };213 };
220 214
221 pcie@6,0 {215 pcie@6,0 {
@@ -232,7 +226,6 @@ pcie-controller { · 10 unmodified lines
232 marvell,pcie-port = <1>;226 marvell,pcie-port = <1>;
233 marvell,pcie-lane = <1>;227 marvell,pcie-lane = <1>;
234 clocks = <&gateclk 10>;228 clocks = <&gateclk 10>;
235 status = "disabled";
236 };229 };
237 230
238 pcie@7,0 {231 pcie@7,0 {
@@ -249,7 +242,6 @@ pcie-controller { · 10 unmodified lines
249 marvell,pcie-port = <1>;242 marvell,pcie-port = <1>;
250 marvell,pcie-lane = <2>;243 marvell,pcie-lane = <2>;
251 clocks = <&gateclk 11>;244 clocks = <&gateclk 11>;
252 status = "disabled";
253 };245 };
254 246
255 pcie@8,0 {247 pcie@8,0 {
@@ -266,7 +258,6 @@ pcie-controller { · 10 unmodified lines
266 marvell,pcie-port = <1>;258 marvell,pcie-port = <1>;
267 marvell,pcie-lane = <3>;259 marvell,pcie-lane = <3>;
268 clocks = <&gateclk 12>;260 clocks = <&gateclk 12>;
269 status = "disabled";
270 };261 };
271 262
272 pcie@9,0 {263 pcie@9,0 {
@@ -283,7 +274,6 @@ pcie-controller { · 10 unmodified lines
283 marvell,pcie-port = <2>;274 marvell,pcie-port = <2>;
284 marvell,pcie-lane = <0>;275 marvell,pcie-lane = <0>;
285 clocks = <&gateclk 26>;276 clocks = <&gateclk 26>;
286 status = "disabled";
287 };277 };
288 278
289 pcie@10,0 {279 pcie@10,0 {
@@ -300,6 +290,5 @@ pcie-controller { · 10 unmodified lines
300 marvell,pcie-port = <3>;290 marvell,pcie-port = <3>;
301 marvell,pcie-lane = <0>;291 marvell,pcie-lane = <0>;
302 clocks = <&gateclk 27>;292 clocks = <&gateclk 27>;
303 status = "disabled";
304 };293 };
305};294};
Documentation/devicetree/bindings/pci/pci-armada8k.txt+0−1
@@ -34,5 +34,4 @@ Example: · 33 unmodified lines
34 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;34 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
35 num-lanes = <1>;35 num-lanes = <1>;
36 clocks = <&cpm_syscon0 1 13>;36 clocks = <&cpm_syscon0 1 13>;
37 status = "disabled";
38 };37 };
Documentation/devicetree/bindings/pci/pci.txt+2−2
@@ -1,12 +1,12 @@
1PCI bus bridges have standardized Device Tree bindings:1PCI bus bridges have standardized Device Tree bindings:
2 2
3PCI Bus Binding to: IEEE Std 1275-19943PCI Bus Binding to: IEEE Std 1275-1994
4http://www.firmware.org/1275/bindings/pci/pci2_1.pdf4http://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf
5 5
6And for the interrupt mapping part:6And for the interrupt mapping part:
7 7
8Open Firmware Recommended Practice: Interrupt Mapping8Open Firmware Recommended Practice: Interrupt Mapping
9http://www.firmware.org/1275/practice/imap/imap0_9d.pdf9http://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf
10 10
11Additionally to the properties specified in the above standards a host bridge11Additionally to the properties specified in the above standards a host bridge
12driver implementation may support the following properties:12driver implementation may support the following properties:
Documentation/devicetree/bindings/pci/rcar-pci.txt+0−1
@@ -54,5 +54,4 @@ SoC specific DT Entry: · 53 unmodified lines
54 interrupt-map = <0 0 0 0 &gic 0 116 4>;54 interrupt-map = <0 0 0 0 &gic 0 116 4>;
55 clocks = <&mstp3_clks R8A7791_CLK_PCIE>, <&pcie_bus_clk>;55 clocks = <&mstp3_clks R8A7791_CLK_PCIE>, <&pcie_bus_clk>;
56 clock-names = "pcie", "pcie_bus";56 clock-names = "pcie", "pcie_bus";
57 status = "disabled";
58 };57 };
Documentation/devicetree/bindings/pci/xgene-pci-msi.txt+0−1
@@ -44,7 +44,6 @@ SoC DTSI: · 43 unmodified lines
44 44
45 + PCIe controller node with msi-parent property pointing to MSI node:45 + PCIe controller node with msi-parent property pointing to MSI node:
46 pcie0: pcie@1f2b0000 {46 pcie0: pcie@1f2b0000 {
47 status = "disabled";
48 device_type = "pci";47 device_type = "pci";
49 compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";48 compatible = "apm,xgene-storm-pcie", "apm,xgene-pcie";
50 #interrupt-cells = <1>;49 #interrupt-cells = <1>;
Documentation/devicetree/bindings/phy/apm-xgene-phy.txt+0−3
@@ -61,19 +61,16 @@ Example: · 60 unmodified lines
61 compatible = "apm,xgene-phy";61 compatible = "apm,xgene-phy";
62 reg = <0x0 0x1f21a000 0x0 0x100>;62 reg = <0x0 0x1f21a000 0x0 0x100>;
63 #phy-cells = <1>;63 #phy-cells = <1>;
64 status = "disabled";
65 };64 };
66 65
67 phy2: phy@1f22a000 {66 phy2: phy@1f22a000 {
68 compatible = "apm,xgene-phy";67 compatible = "apm,xgene-phy";
69 reg = <0x0 0x1f22a000 0x0 0x100>;68 reg = <0x0 0x1f22a000 0x0 0x100>;
70 #phy-cells = <1>;69 #phy-cells = <1>;
71 status = "ok";
72 };70 };
73 71
74 phy3: phy@1f23a000 {72 phy3: phy@1f23a000 {
75 compatible = "apm,xgene-phy";73 compatible = "apm,xgene-phy";
76 reg = <0x0 0x1f23a000 0x0 0x100>;74 reg = <0x0 0x1f23a000 0x0 0x100>;
77 #phy-cells = <1>;75 #phy-cells = <1>;
78 status = "ok";
79 };76 };
Documentation/devicetree/bindings/phy/keystone-usb-phy.txt+0−1
@@ -16,5 +16,4 @@ usb_phy: usb_phy@2620738 { · 15 unmodified lines
16 #address-cells = <1>;16 #address-cells = <1>;
17 #size-cells = <1>;17 #size-cells = <1>;
18 reg = <0x2620738 32>;18 reg = <0x2620738 32>;
19 status = "disabled";
20};19};
Documentation/devicetree/bindings/phy/phy-mtk-tphy.txt+0−4
@@ -51,14 +51,12 @@ u3phy: usb-phy@11290000 { · 50 unmodified lines
51 #address-cells = <2>;51 #address-cells = <2>;
52 #size-cells = <2>;52 #size-cells = <2>;
53 ranges;53 ranges;
54 status = "okay";
55 54
56 u2port0: usb-phy@11290800 {55 u2port0: usb-phy@11290800 {
57 reg = <0 0x11290800 0 0x100>;56 reg = <0 0x11290800 0 0x100>;
58 clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>;57 clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>;
59 clock-names = "ref";58 clock-names = "ref";
60 #phy-cells = <1>;59 #phy-cells = <1>;
61 status = "okay";
62 };60 };
63 61
64 u3port0: usb-phy@11290900 {62 u3port0: usb-phy@11290900 {
@@ -66,7 +64,6 @@ u3phy: usb-phy@11290000 { · 1 unmodified line
66 clocks = <&clk26m>;64 clocks = <&clk26m>;
67 clock-names = "ref";65 clock-names = "ref";
68 #phy-cells = <1>;66 #phy-cells = <1>;
69 status = "okay";
70 };67 };
71 68
72 u2port1: usb-phy@11291000 {69 u2port1: usb-phy@11291000 {
@@ -74,7 +71,6 @@ u3phy: usb-phy@11290000 { · 1 unmodified line
74 clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>;71 clocks = <&apmixedsys CLK_APMIXED_REF2USB_TX>;
75 clock-names = "ref";72 clock-names = "ref";
76 #phy-cells = <1>;73 #phy-cells = <1>;
77 status = "okay";
78 };74 };
79};75};
80 76
Documentation/devicetree/bindings/phy/phy-mvebu.txt+0−1
@@ -18,7 +18,6 @@ Example: · 17 unmodified lines
18 clocks = <&gate_clk 15>;18 clocks = <&gate_clk 15>;
19 clock-names = "sata";19 clock-names = "sata";
20 #phy-cells = <0>;20 #phy-cells = <0>;
21 status = "ok";
22 };21 };
23 22
24Armada 375 USB cluster23Armada 375 USB cluster
Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt+0−2
@@ -67,14 +67,12 @@ grf: syscon@ff770000 { · 66 unmodified lines
67 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,67 <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>,
68 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;68 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
69 interrupt-names = "otg-id", "otg-bvalid", "linestate";69 interrupt-names = "otg-id", "otg-bvalid", "linestate";
70 status = "okay";
71 };70 };
72 71
73 u2phy_host: host-port {72 u2phy_host: host-port {
74 #phy-cells = <0>;73 #phy-cells = <0>;
75 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;74 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
76 interrupt-names = "linestate";75 interrupt-names = "linestate";
77 status = "okay";
78 };76 };
79 };77 };
80};78};
Documentation/devicetree/bindings/phy/qcom-dwc3-usb-phy.txt+0−2
@@ -25,7 +25,6 @@ Example: · 24 unmodified lines
25 clock-names = "ref";25 clock-names = "ref";
26 #phy-cells = <0>;26 #phy-cells = <0>;
27 27
28 status = "ok";
29 };28 };
30 29
31 phy@100f8830 {30 phy@100f8830 {
@@ -35,5 +34,4 @@ Example: · 3 unmodified lines
35 clock-names = "ref";34 clock-names = "ref";
36 #phy-cells = <0>;35 #phy-cells = <0>;
37 36
38 status = "ok";
39 };37 };
Documentation/devicetree/bindings/phy/samsung-phy.txt+0−1
@@ -82,7 +82,6 @@ usbphy: phy@125b0000 { · 81 unmodified lines
82 reg = <0x125b0000 0x100>;82 reg = <0x125b0000 0x100>;
83 clocks = <&clock 305>, <&clock 2>;83 clocks = <&clock 305>, <&clock 2>;
84 clock-names = "phy", "ref";84 clock-names = "phy", "ref";
85 status = "okay";
86 #phy-cells = <1>;85 #phy-cells = <1>;
87 samsung,sysreg-phandle = <&sys_reg>;86 samsung,sysreg-phandle = <&sys_reg>;
88 samsung,pmureg-phandle = <&pmu_reg>;87 samsung,pmureg-phandle = <&pmu_reg>;
Documentation/devicetree/bindings/phy/sun9i-usb-phy.txt+0−1
@@ -33,6 +33,5 @@ Example: · 32 unmodified lines
33 clock-names = "hsic_480M", "hsic_12M", "phy";33 clock-names = "hsic_480M", "hsic_12M", "phy";
34 resets = <&usb_phy_clk 18>, <&usb_phy_clk 19>;34 resets = <&usb_phy_clk 18>, <&usb_phy_clk 19>;
35 reset-names = "hsic", "phy";35 reset-names = "hsic", "phy";
36 status = "disabled";
37 #phy-cells = <0>;36 #phy-cells = <0>;
38 };37 };
Documentation/devicetree/bindings/pinctrl/atmel,at91-pinctrl.txt+0−1
@@ -148,5 +148,4 @@ dbgu: serial@fffff200 { · 147 unmodified lines
148 interrupts = <1 4 7>;148 interrupts = <1 4 7>;
149 pinctrl-names = "default";149 pinctrl-names = "default";
150 pinctrl-0 = <&pinctrl_dbgu>;150 pinctrl-0 = <&pinctrl_dbgu>;
151 status = "disabled";
152};151};
Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt+0−1
@@ -61,7 +61,6 @@ Examples: · 60 unmodified lines
61usdhc@0219c000 { /* uSDHC4 */61usdhc@0219c000 { /* uSDHC4 */
62 non-removable;62 non-removable;
63 vmmc-supply = <&reg_3p3v>;63 vmmc-supply = <&reg_3p3v>;
64 status = "okay";
65 pinctrl-names = "default";64 pinctrl-names = "default";
66 pinctrl-0 = <&pinctrl_usdhc4_1>;65 pinctrl-0 = <&pinctrl_usdhc4_1>;
67};66};
Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.txt+0−1
@@ -61,7 +61,6 @@ iomuxc-lpsr controller and SDA pad from iomuxc controller as: · 60 unmodified lines
61i2c1: i2c@30a20000 {61i2c1: i2c@30a20000 {
62 pinctrl-names = "default";62 pinctrl-names = "default";
63 pinctrl-0 = <&pinctrl_i2c1_1 &pinctrl_i2c1_2>;63 pinctrl-0 = <&pinctrl_i2c1_1 &pinctrl_i2c1_2>;
64 status = "okay";
65};64};
66 65
67iomuxc-lpsr@302c0000 {66iomuxc-lpsr@302c0000 {
Documentation/devicetree/bindings/pinctrl/nvidia,tegra124-dpaux-padctl.txt+0−1
@@ -56,5 +56,4 @@ Example: · 55 unmodified lines
56 pinctrl-0 = <&state_dpaux_i2c>;56 pinctrl-0 = <&state_dpaux_i2c>;
57 pinctrl-1 = <&state_dpaux_off>;57 pinctrl-1 = <&state_dpaux_off>;
58 pinctrl-names = "default", "idle";58 pinctrl-names = "default", "idle";
59 status = "disabled";
60 };59 };
Documentation/devicetree/bindings/pinctrl/oxnas,pinctrl.txt+0−1
@@ -50,7 +50,6 @@ uart2: serial@900000 { · 49 unmodified lines
50 reg-io-width = <1>;50 reg-io-width = <1>;
51 current-speed = <115200>;51 current-speed = <115200>;
52 no-loopback-test;52 no-loopback-test;
53 status = "disabled";
54 resets = <&reset 22>;53 resets = <&reset 22>;
55 pinctrl-names = "default";54 pinctrl-names = "default";
56 pinctrl-0 = <&pinctrl_uart2>;55 pinctrl-0 = <&pinctrl_uart2>;
Documentation/devicetree/bindings/pinctrl/pinctrl-zx.txt+0−1
@@ -81,5 +81,4 @@ pmm: pin-controller@1462000 { · 80 unmodified lines
81&vga {81&vga {
82 pinctrl-names = "default";82 pinctrl-names = "default";
83 pinctrl-0 = <&vga_pins>;83 pinctrl-0 = <&vga_pins>;
84 status = "okay";
85};84};
Documentation/devicetree/bindings/pinctrl/renesas,pfc-pinctrl.txt+1−2
@@ -112,7 +112,7 @@ Examples · 111 unmodified lines
112 112
113Example 1: SH73A0 (SH-Mobile AG5) pin controller node113Example 1: SH73A0 (SH-Mobile AG5) pin controller node
114 114
115 pfc: pfc@e6050000 {115 pfc: pin-controller@e6050000 {
116 compatible = "renesas,pfc-sh73a0";116 compatible = "renesas,pfc-sh73a0";
117 reg = <0xe6050000 0x8000>,117 reg = <0xe6050000 0x8000>,
118 <0xe605801c 0x1c>;118 <0xe605801c 0x1c>;
@@ -173,5 +173,4 @@ Example 4: KZM-A9-GT (SH-Mobile AG5) default pin state for the MMCIF device · 54 unmodified lines
173 173
174 bus-width = <8>;174 bus-width = <8>;
175 vmmc-supply = <&reg_1p8v>;175 vmmc-supply = <&reg_1p8v>;
176 status = "okay";
177 };176 };
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt+0−1
@@ -121,7 +121,6 @@ uart2: serial@20064000 { · 120 unmodified lines
121 reg-shift = <2>;121 reg-shift = <2>;
122 reg-io-width = <1>;122 reg-io-width = <1>;
123 clocks = <&mux_uart2>;123 clocks = <&mux_uart2>;
124 status = "okay";
125 124
126 pinctrl-names = "default";125 pinctrl-names = "default";
127 pinctrl-0 = <&uart2_xfer>;126 pinctrl-0 = <&uart2_xfer>;
Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.txt+0−1
@@ -180,5 +180,4 @@ pin-controller { · 179 unmodified lines
180&usart1 {180&usart1 {
181 pinctrl-0 = <&usart1_pins_a>;181 pinctrl-0 = <&usart1_pins_a>;
182 pinctrl-names = "default";182 pinctrl-names = "default";
183 status = "okay";
184};183};
Documentation/devicetree/bindings/power/power-controller.txt+0−1
@@ -13,6 +13,5 @@ Example: · 12 unmodified lines
13 13
14act8846: act8846@5 {14act8846: act8846@5 {
15 compatible = "active-semi,act8846";15 compatible = "active-semi,act8846";
16 status = "okay";
17 system-power-controller;16 system-power-controller;
18}17}
Documentation/devicetree/bindings/power/reset/st-reset.txt+0−1
@@ -8,5 +8,4 @@ Example node: · 7 unmodified lines
8 restart {8 restart {
9 compatible = "st,stih407-restart";9 compatible = "st,stih407-restart";
10 st,syscfg = <&syscfg_sbc_reg>;10 st,syscfg = <&syscfg_sbc_reg>;
11 status = "okay";
12 };11 };
Documentation/devicetree/bindings/power/supply/act8945a-charger.txt+0−2
@@ -29,7 +29,6 @@ Example: · 28 unmodified lines
29 pmic@5b {29 pmic@5b {
30 compatible = "active-semi,act8945a";30 compatible = "active-semi,act8945a";
31 reg = <0x5b>;31 reg = <0x5b>;
32 status = "okay";
33 32
34 charger {33 charger {
35 compatible = "active-semi,act8945a-charger";34 compatible = "active-semi,act8945a-charger";
@@ -43,6 +42,5 @@ Example: · 7 unmodified lines
43 active-semi,input-voltage-threshold-microvolt = <6600>;42 active-semi,input-voltage-threshold-microvolt = <6600>;
44 active-semi,precondition-timeout = <40>;43 active-semi,precondition-timeout = <40>;
45 active-semi,total-timeout = <3>;44 active-semi,total-timeout = <3>;
46 status = "okay";
47 };45 };
48 };46 };
Documentation/devicetree/bindings/power/supply/max8903-charger.txt+0−1
@@ -21,5 +21,4 @@ Example: · 20 unmodified lines
21 flt-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;21 flt-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
22 chg-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;22 chg-gpios = <&gpio3 15 GPIO_ACTIVE_LOW>;
23 cen-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;23 cen-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>;
24 status = "okay";
25 };24 };
Documentation/devicetree/bindings/power/supply/maxim,max14656.txt+0−1
@@ -12,7 +12,6 @@ Example: · 11 unmodified lines
12 clock-frequency = <50000>;12 clock-frequency = <50000>;
13 pinctrl-names = "default";13 pinctrl-names = "default";
14 pinctrl-0 = <&pinctrl_i2c2>;14 pinctrl-0 = <&pinctrl_i2c2>;
15 status = "okay";
16 15
17 max14656@35 {16 max14656@35 {
18 compatible = "maxim,max14656";17 compatible = "maxim,max14656";
Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt+0−1
@@ -16,5 +16,4 @@ Example: · 15 unmodified lines
16ptp: ptp-dte@180af650 {16ptp: ptp-dte@180af650 {
17 compatible = "brcm,iproc-ptp-dte", "brcm,ptp-dte";17 compatible = "brcm,iproc-ptp-dte", "brcm,ptp-dte";
18 reg = <0x180af650 0x10>;18 reg = <0x180af650 0x10>;
19 status = "okay";
20};19};
Documentation/devicetree/bindings/pwm/pwm-meson.txt+0−1
@@ -19,7 +19,6 @@ Example: · 18 unmodified lines
19 compatible = "amlogic,meson-gxbb-pwm";19 compatible = "amlogic,meson-gxbb-pwm";
20 reg = <0x0 0x08550 0x0 0x10>;20 reg = <0x0 0x08550 0x0 0x10>;
21 #pwm-cells = <3>;21 #pwm-cells = <3>;
22 status = "disabled";
23 clocks = <&xtal>, <&xtal>;22 clocks = <&xtal>, <&xtal>;
24 clock-names = "clkin0", "clkin1";23 clock-names = "clkin0", "clkin1";
25 }24 }
Documentation/devicetree/bindings/pwm/pwm-sun4i.txt+0−1
@@ -19,5 +19,4 @@ Example: · 18 unmodified lines
19 reg = <0x01c20e00 0xc>;19 reg = <0x01c20e00 0xc>;
20 clocks = <&osc24M>;20 clocks = <&osc24M>;
21 #pwm-cells = <3>;21 #pwm-cells = <3>;
22 status = "disabled";
23 };22 };
Documentation/devicetree/bindings/pwm/pwm-tipwmss.txt+0−2
@@ -26,7 +26,6 @@ epwmss0: epwmss@48300000 { /* PWMSS for am33xx */ · 25 unmodified lines
26 ti,hwmods = "epwmss0";26 ti,hwmods = "epwmss0";
27 #address-cells = <1>;27 #address-cells = <1>;
28 #size-cells = <1>;28 #size-cells = <1>;
29 status = "disabled";
30 ranges = <0x48300100 0x48300100 0x80 /* ECAP */29 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
31 0x48300180 0x48300180 0x80 /* EQEP */30 0x48300180 0x48300180 0x80 /* EQEP */
32 0x48300200 0x48300200 0x80>; /* EHRPWM */31 0x48300200 0x48300200 0x80>; /* EHRPWM */
@@ -40,7 +39,6 @@ epwmss0: epwmss@48300000 { /* PWMSS for am4372 */ · 7 unmodified lines
40 ti,hwmods = "epwmss0";39 ti,hwmods = "epwmss0";
41 #address-cells = <1>;40 #address-cells = <1>;
42 #size-cells = <1>;41 #size-cells = <1>;
43 status = "disabled";
44 ranges = <0x48300100 0x48300100 0x80 /* ECAP */42 ranges = <0x48300100 0x48300100 0x80 /* ECAP */
45 0x48300180 0x48300180 0x80 /* EQEP */43 0x48300180 0x48300180 0x80 /* EQEP */
46 0x48300200 0x48300200 0x80>; /* EHRPWM */44 0x48300200 0x48300200 0x80>; /* EHRPWM */
Documentation/devicetree/bindings/regulator/act8865-regulator.txt+0−1
@@ -52,7 +52,6 @@ Example: · 51 unmodified lines
52 compatible = "active-semi,act8865";52 compatible = "active-semi,act8865";
53 reg = <0x5b>;53 reg = <0x5b>;
54 active-semi,vsel-high;54 active-semi,vsel-high;
55 status = "disabled";
56 55
57 regulators {56 regulators {
58 vcc_1v8_reg: DCDC_REG1 {57 vcc_1v8_reg: DCDC_REG1 {
Documentation/devicetree/bindings/regulator/act8945a-regulator.txt+0−1
@@ -23,7 +23,6 @@ Example: · 22 unmodified lines
23 pmic@5b {23 pmic@5b {
24 compatible = "active-semi,act8945a";24 compatible = "active-semi,act8945a";
25 reg = <0x5b>;25 reg = <0x5b>;
26 status = "okay";
27 26
28 active-semi,vsel-high;27 active-semi,vsel-high;
29 28
Documentation/devicetree/bindings/reset/nxp,lpc1850-rgu.txt+0−1
@@ -80,5 +80,4 @@ mac: ethernet@40010000 { · 79 unmodified lines
80 clock-names = "stmmaceth";80 clock-names = "stmmaceth";
81 resets = <&rgu 22>;81 resets = <&rgu 22>;
82 reset-names = "stmmaceth";82 reset-names = "stmmaceth";
83 status = "disabled";
84};83};
Documentation/devicetree/bindings/rtc/st,stm32-rtc.txt+0−1
@@ -45,5 +45,4 @@ Example: · 44 unmodified lines
45 interrupts = <17 1>;45 interrupts = <17 1>;
46 interrupt-names = "alarm";46 interrupt-names = "alarm";
47 st,syscfg = <&pwrcfg>;47 st,syscfg = <&pwrcfg>;
48 status = "disabled";
49 };48 };
Documentation/devicetree/bindings/scsi/hisilicon-sas.txt+0−1
@@ -85,5 +85,4 @@ Example: · 84 unmodified lines
85 <366 1>,<367 1>/* cq30-31 */85 <366 1>,<367 1>/* cq30-31 */
86 <376 4>,/* fatal ecc */86 <376 4>,/* fatal ecc */
87 <381 4>;/* fatal axi */87 <381 4>;/* fatal axi */
88 status = "disabled";
89 };88 };
Documentation/devicetree/bindings/security/tpm/st33zp24-i2c.txt+0−1
@@ -19,7 +19,6 @@ Example (for ARM-based BeagleBoard xM with ST33ZP24 on I2C2): · 18 unmodified lines
19 19
20&i2c2 {20&i2c2 {
21 21
22 status = "okay";
23 22
24 st33zp24: st33zp24@13 {23 st33zp24: st33zp24@13 {
25 24
Documentation/devicetree/bindings/security/tpm/st33zp24-spi.txt+0−1
@@ -18,7 +18,6 @@ Example (for ARM-based BeagleBoard xM with ST33ZP24 on SPI4): · 17 unmodified lines
18 18
19&mcspi4 {19&mcspi4 {
20 20
21 status = "okay";
22 21
23 st33zp24@0 {22 st33zp24@0 {
24 23
Documentation/devicetree/bindings/security/tpm/tpm-i2c.txt+0−1
@@ -17,5 +17,4 @@ tpm@57 { · 16 unmodified lines
17 compatible = "nuvoton,npct650", "nuvoton,npct601";17 compatible = "nuvoton,npct650", "nuvoton,npct601";
18 linux,sml-base = <0x7f 0xfd450000>;18 linux,sml-base = <0x7f 0xfd450000>;
19 linux,sml-size = <0x10000>;19 linux,sml-size = <0x10000>;
20 status = "okay";
21};20};
Documentation/devicetree/bindings/security/tpm/tpm_tis_spi.txt+0−1
@@ -13,7 +13,6 @@ Example (for ARM-based BeagleBoard xM with TPM_TIS on SPI4): · 12 unmodified lines
13 13
14&mcspi4 {14&mcspi4 {
15 15
16 status = "okay";
17 16
18 tpm_tis@0 {17 tpm_tis@0 {
19 18
Documentation/devicetree/bindings/serial/arc-uart.txt+0−1
@@ -15,7 +15,6 @@ arcuart0: serial@c0fc1000 { · 14 unmodified lines
15 interrupts = <5>;15 interrupts = <5>;
16 clock-frequency = <80000000>;16 clock-frequency = <80000000>;
17 current-speed = <115200>;17 current-speed = <115200>;
18 status = "okay";
19};18};
20 19
21Note: Each port should have an alias correctly numbered in "aliases" node.20Note: Each port should have an alias correctly numbered in "aliases" node.
Documentation/devicetree/bindings/serial/axis,etraxfs-uart.txt+0−1
@@ -15,7 +15,6 @@ serial@b00260000 { · 14 unmodified lines
15 compatible = "axis,etraxfs-uart";15 compatible = "axis,etraxfs-uart";
16 reg = <0xb0026000 0x1000>;16 reg = <0xb0026000 0x1000>;
17 interrupts = <68>;17 interrupts = <68>;
18 status = "disabled";
19 dtr-gpios = <&sysgpio 0 GPIO_ACTIVE_LOW>;18 dtr-gpios = <&sysgpio 0 GPIO_ACTIVE_LOW>;
20 dsr-gpios = <&sysgpio 1 GPIO_ACTIVE_LOW>;19 dsr-gpios = <&sysgpio 1 GPIO_ACTIVE_LOW>;
21 rng-gpios = <&sysgpio 2 GPIO_ACTIVE_LOW>;20 rng-gpios = <&sysgpio 2 GPIO_ACTIVE_LOW>;
Documentation/devicetree/bindings/serial/nvidia,tegra20-hsuart.txt+0−1
@@ -33,5 +33,4 @@ serial@70006000 { · 32 unmodified lines
33 reset-names = "serial";33 reset-names = "serial";
34 dmas = <&apbdma 8>, <&apbdma 8>;34 dmas = <&apbdma 8>, <&apbdma 8>;
35 dma-names = "rx", "tx";35 dma-names = "rx", "tx";
36 status = "disabled";
37};36};
Documentation/devicetree/bindings/serial/qcom,msm-uartdm.txt+0−3
@@ -72,13 +72,10 @@ Examples: · 71 unmodified lines
72 };72 };
73 73
74 uarta: serial@12490000 {74 uarta: serial@12490000 {
75 status = "ok";
76 };75 };
77 76
78 uartb: serial@16340000 {77 uartb: serial@16340000 {
79 status = "ok";
80 };78 };
81 79
82 uartc: serial@1a240000 {80 uartc: serial@1a240000 {
83 status = "ok";
84 };81 };
Documentation/devicetree/bindings/serial/serial.txt+0−2
@@ -43,7 +43,6 @@ Examples: · 42 unmodified lines
43 rng-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;43 rng-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
44 cts-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;44 cts-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
45 rts-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;45 rts-gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
46 status = "okay";
47 };46 };
48 47
49 scifa4: serial@e6c80000 {48 scifa4: serial@e6c80000 {
@@ -54,5 +53,4 @@ Examples: · 4 unmodified lines
54 clock-names = "fck";53 clock-names = "fck";
55 power-domains = <&pd_a3sp>;54 power-domains = <&pd_a3sp>;
56 uart-has-rtscts;55 uart-has-rtscts;
57 status = "okay";
58 };56 };
Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt+0−1
@@ -19,5 +19,4 @@ Example: · 18 unmodified lines
19 reg = <0x01c2a000 0x400>;19 reg = <0x01c2a000 0x400>;
20 interrupts = <0 62 4>;20 interrupts = <0 62 4>;
21 clocks = <&apb1_gates 6>;21 clocks = <&apb1_gates 6>;
22 status = "disabled";
23 };22 };
Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt+0−1
@@ -78,7 +78,6 @@ Example for APQ8064: · 77 unmodified lines
78 interrupts = <0 152 0x0>;78 interrupts = <0 152 0x0>;
79 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;79 clocks = <&gcc GSBI4_UART_CLK>, <&gcc GSBI4_H_CLK>;
80 clock-names = "core", "iface";80 clock-names = "core", "iface";
81 status = "ok";
82 };81 };
83 };82 };
84 83
Documentation/devicetree/bindings/sound/armada-370db-audio.txt+0−1
@@ -23,5 +23,4 @@ Example: · 22 unmodified lines
23 compatible = "marvell,a370db-audio";23 compatible = "marvell,a370db-audio";
24 marvell,audio-controller = <&audio_controller>;24 marvell,audio-controller = <&audio_controller>;
25 marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;25 marvell,audio-codec = <&audio_codec &spdif_out &spdif_in>;
26 status = "okay";
27 };26 };
Documentation/devicetree/bindings/sound/axentia,tse850-pcm5142.txt+0−1
@@ -45,7 +45,6 @@ Example: · 44 unmodified lines
45 &ssc0 {45 &ssc0 {
46 #sound-dai-cells = <0>;46 #sound-dai-cells = <0>;
47 47
48 status = "okay";
49 };48 };
50 49
51 &i2c {50 &i2c {
Documentation/devicetree/bindings/sound/brcm,cygnus-audio.txt+0−4
@@ -47,21 +47,17 @@ Example: · 46 unmodified lines
47 47
48 ssp0: ssp_port@0 {48 ssp0: ssp_port@0 {
49 reg = <0>;49 reg = <0>;
50 status = "okay";
51 };50 };
52 51
53 ssp1: ssp_port@1 {52 ssp1: ssp_port@1 {
54 reg = <1>;53 reg = <1>;
55 status = "disabled";
56 };54 };
57 55
58 ssp2: ssp_port@2 {56 ssp2: ssp_port@2 {
59 reg = <2>;57 reg = <2>;
60 status = "disabled";
61 };58 };
62 59
63 spdif: spdif_port@3 {60 spdif: spdif_port@3 {
64 reg = <3>;61 reg = <3>;
65 status = "disabled";
66 };62 };
67 };63 };
Documentation/devicetree/bindings/sound/davinci-mcbsp.txt+0−1
@@ -47,5 +47,4 @@ mcbsp0: mcbsp@1d10000 { · 46 unmodified lines
47 dmas = <&edma0 3 147 dmas = <&edma0 3 1
48 &edma0 2 1>;48 &edma0 2 1>;
49 dma-names = "tx", "rx";49 dma-names = "tx", "rx";
50 status = "okay";
51};50};
Documentation/devicetree/bindings/sound/fsl,asrc.txt+0−1
@@ -61,5 +61,4 @@ asrc: asrc@02034000 { · 60 unmodified lines
61 "txa", "txb", "txc";61 "txa", "txb", "txc";
62 fsl,asrc-rate = <48000>;62 fsl,asrc-rate = <48000>;
63 fsl,asrc-width = <16>;63 fsl,asrc-width = <16>;
64 status = "okay";
65};64};
Documentation/devicetree/bindings/sound/fsl,esai.txt+0−1
@@ -59,5 +59,4 @@ esai: esai@02024000 { · 58 unmodified lines
59 fsl,fifo-depth = <128>;59 fsl,fifo-depth = <128>;
60 fsl,esai-synchronous;60 fsl,esai-synchronous;
61 big-endian;61 big-endian;
62 status = "disabled";
63};62};
Documentation/devicetree/bindings/sound/fsl,spdif.txt+0−1
@@ -59,5 +59,4 @@ spdif: spdif@02004000 { · 58 unmodified lines
59 "rxtx7";59 "rxtx7";
60 60
61 big-endian;61 big-endian;
62 status = "okay";
63};62};
Documentation/devicetree/bindings/sound/hdmi.txt+0−1
@@ -13,5 +13,4 @@ Example node: · 12 unmodified lines
13 13
14 hdmi_audio: hdmi_audio@0 {14 hdmi_audio: hdmi_audio@0 {
15 compatible = "linux,hdmi-audio";15 compatible = "linux,hdmi-audio";
16 status = "okay";
17 };16 };
Documentation/devicetree/bindings/sound/renesas,rsnd.txt+0−2
@@ -621,7 +621,6 @@ Example: simple sound card · 620 unmodified lines
621 /* Single DAI */621 /* Single DAI */
622 #sound-dai-cells = <0>;622 #sound-dai-cells = <0>;
623 623
624 status = "okay";
625 624
626 rcar_sound,dai {625 rcar_sound,dai {
627 dai0 {626 dai0 {
@@ -667,7 +666,6 @@ Example: simple sound card for Multi channel · 39 unmodified lines
667 /* Single DAI */666 /* Single DAI */
668 #sound-dai-cells = <0>;667 #sound-dai-cells = <0>;
669 668
670 status = "okay";
671 669
672 rcar_sound,dai {670 rcar_sound,dai {
673 dai0 {671 dai0 {
Documentation/devicetree/bindings/sound/rockchip,pdm.txt+0−1
@@ -38,5 +38,4 @@ pdm: pdm@ff040000 { · 37 unmodified lines
38 &pdmm0_sdi1_sleep38 &pdmm0_sdi1_sleep
39 &pdmm0_sdi2_sleep39 &pdmm0_sdi2_sleep
40 &pdmm0_sdi3_sleep>;40 &pdmm0_sdi3_sleep>;
41 status = "disabled";
42};41};
Documentation/devicetree/bindings/sound/rockchip-spdif.txt+0−1
@@ -41,6 +41,5 @@ spdif: spdif@0x1011e000 { · 40 unmodified lines
41 dma-names = "tx";41 dma-names = "tx";
42 clock-names = "hclk", "mclk";42 clock-names = "hclk", "mclk";
43 clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>;43 clocks = <&cru HCLK_SPDIF>, <&cru SCLK_SPDIF>;
44 status = "disabled";
45 #sound-dai-cells = <0>;44 #sound-dai-cells = <0>;
46};45};
Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt+0−5
@@ -53,7 +53,6 @@ Example: · 52 unmodified lines
53 53
54 sti_uni_player1: sti-uni-player@0x8D81000 {54 sti_uni_player1: sti-uni-player@0x8D81000 {
55 compatible = "st,stih407-uni-player-hdmi";55 compatible = "st,stih407-uni-player-hdmi";
56 status = "okay";
57 #sound-dai-cells = <0>;56 #sound-dai-cells = <0>;
58 st,syscfg = <&syscfg_core>;57 st,syscfg = <&syscfg_core>;
59 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;58 clocks = <&clk_s_d0_flexgen CLK_PCM_1>;
@@ -66,7 +65,6 @@ Example: · 6 unmodified lines
66 65
67 sti_uni_player2: sti-uni-player@0x8D82000 {66 sti_uni_player2: sti-uni-player@0x8D82000 {
68 compatible = "st,stih407-uni-player-pcm-out";67 compatible = "st,stih407-uni-player-pcm-out";
69 status = "okay";
70 #sound-dai-cells = <0>;68 #sound-dai-cells = <0>;
71 st,syscfg = <&syscfg_core>;69 st,syscfg = <&syscfg_core>;
72 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;70 clocks = <&clk_s_d0_flexgen CLK_PCM_2>;
@@ -78,7 +76,6 @@ Example: · 5 unmodified lines
78 76
79 sti_uni_player3: sti-uni-player@0x8D85000 {77 sti_uni_player3: sti-uni-player@0x8D85000 {
80 compatible = "st,stih407-uni-player-spdif";78 compatible = "st,stih407-uni-player-spdif";
81 status = "okay";
82 #sound-dai-cells = <0>;79 #sound-dai-cells = <0>;
83 st,syscfg = <&syscfg_core>;80 st,syscfg = <&syscfg_core>;
84 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;81 clocks = <&clk_s_d0_flexgen CLK_SPDIFF>;
@@ -90,7 +87,6 @@ Example: · 5 unmodified lines
90 87
91 sti_uni_reader1: sti-uni-reader@0x8D84000 {88 sti_uni_reader1: sti-uni-reader@0x8D84000 {
92 compatible = "st,stih407-uni-reader-hdmi";89 compatible = "st,stih407-uni-reader-hdmi";
93 status = "disabled";
94 #sound-dai-cells = <0>;90 #sound-dai-cells = <0>;
95 st,syscfg = <&syscfg_core>;91 st,syscfg = <&syscfg_core>;
96 reg = <0x8D84000 0x158>;92 reg = <0x8D84000 0x158>;
@@ -125,7 +121,6 @@ Example of audio card declaration: · 28 unmodified lines
125 sound {121 sound {
126 compatible = "simple-audio-card";122 compatible = "simple-audio-card";
127 simple-audio-card,name = "sti audio card";123 simple-audio-card,name = "sti audio card";
128 status = "okay";
129 124
130 simple-audio-card,dai-link@0 {125 simple-audio-card,dai-link@0 {
131 /* DAC */126 /* DAC */
Documentation/devicetree/bindings/sound/sunxi,sun4i-spdif.txt+0−1
@@ -39,5 +39,4 @@ spdif: spdif@01c21000 { · 38 unmodified lines
39 clock-names = "apb", "spdif";39 clock-names = "apb", "spdif";
40 dmas = <&dma 0 2>, <&dma 0 2>;40 dmas = <&dma 0 2>, <&dma 0 2>;
41 dma-names = "rx", "tx";41 dma-names = "rx", "tx";
42 status = "okay";
43};42};
Documentation/devicetree/bindings/sound/tas5720.txt+0−1
@@ -17,7 +17,6 @@ Required properties: · 16 unmodified lines
17Example:17Example:
18 18
19tas5720: tas5720@6c {19tas5720: tas5720@6c {
20 status = "okay";
21 compatible = "ti,tas5720";20 compatible = "ti,tas5720";
22 reg = <0x6c>;21 reg = <0x6c>;
23 dvdd-supply = <&vdd_3v3_reg>;22 dvdd-supply = <&vdd_3v3_reg>;
Documentation/devicetree/bindings/sound/zte,zx-i2s.txt+0−1
@@ -27,7 +27,6 @@ Example: · 26 unmodified lines
27 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;27 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
28 dmas = <&dma 5>, <&dma 6>;28 dmas = <&dma 5>, <&dma 6>;
29 dma-names = "tx", "rx";29 dma-names = "tx", "rx";
30 status = "okay";
31 };30 };
32 31
33 sound {32 sound {
Documentation/devicetree/bindings/sound/zte,zx-spdif.txt+0−1
@@ -24,5 +24,4 @@ Example: · 23 unmodified lines
24 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;24 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
25 dmas = <&dma 4>;25 dmas = <&dma 4>;
26 dma-names = "tx";26 dma-names = "tx";
27 status = "okay";
28 };27 };
Documentation/devicetree/bindings/spi/efm32-spi.txt+0−2
@@ -28,7 +28,6 @@ spi1: spi@0x4000c400 { /* USART1 */ · 27 unmodified lines
28 clocks = <&cmu 20>;28 clocks = <&cmu 20>;
29 cs-gpios = <&gpio 51 1>; // D329 cs-gpios = <&gpio 51 1>; // D3
30 energymicro,location = <1>;30 energymicro,location = <1>;
31 status = "ok";
32 31
33 ks8851@0 {32 ks8851@0 {
34 compatible = "ks8851";33 compatible = "ks8851";
@@ -36,6 +35,5 @@ spi1: spi@0x4000c400 { /* USART1 */ · 1 unmodified line
36 reg = <0>;35 reg = <0>;
37 interrupt-parent = <&boardfpga>;36 interrupt-parent = <&boardfpga>;
38 interrupts = <4>;37 interrupts = <4>;
39 status = "ok";
40 };38 };
41};39};
Documentation/devicetree/bindings/spi/nvidia,tegra114-spi.txt+0−1
@@ -38,5 +38,4 @@ spi@7000d600 { · 37 unmodified lines
38 reset-names = "spi";38 reset-names = "spi";
39 dmas = <&apbdma 16>, <&apbdma 16>;39 dmas = <&apbdma 16>, <&apbdma 16>;
40 dma-names = "rx", "tx";40 dma-names = "rx", "tx";
41 status = "disabled";
42};41};
Documentation/devicetree/bindings/spi/nvidia,tegra20-sflash.txt+0−1
@@ -34,5 +34,4 @@ spi@7000c380 { · 33 unmodified lines
34 reset-names = "spi";34 reset-names = "spi";
35 dmas = <&apbdma 11>, <&apbdma 11>;35 dmas = <&apbdma 11>, <&apbdma 11>;
36 dma-names = "rx", "tx";36 dma-names = "rx", "tx";
37 status = "disabled";
38};37};
Documentation/devicetree/bindings/spi/nvidia,tegra20-slink.txt+0−1
@@ -34,5 +34,4 @@ spi@7000d600 { · 33 unmodified lines
34 reset-names = "spi";34 reset-names = "spi";
35 dmas = <&apbdma 16>, <&apbdma 16>;35 dmas = <&apbdma 16>, <&apbdma 16>;
36 dma-names = "rx", "tx";36 dma-names = "rx", "tx";
37 status = "disabled";
38};37};
Documentation/devicetree/bindings/spi/sh-hspi.txt+0−1
@@ -24,6 +24,5 @@ Example: · 23 unmodified lines
24 interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;24 interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
25 #address-cells = <1>;25 #address-cells = <1>;
26 #size-cells = <0>;26 #size-cells = <0>;
27 status = "disabled";
28 };27 };
29 28
Documentation/devicetree/bindings/spi/sh-msiof.txt+0−1
@@ -79,5 +79,4 @@ Example: · 78 unmodified lines
79 dma-names = "tx", "rx";79 dma-names = "tx", "rx";
80 #address-cells = <1>;80 #address-cells = <1>;
81 #size-cells = <0>;81 #size-cells = <0>;
82 status = "disabled";
83 };82 };
Documentation/devicetree/bindings/spi/spi-clps711x.txt+0−1
@@ -23,7 +23,6 @@ spi@80000500 { · 22 unmodified lines
23 reg = <0x80000500 0x4>;23 reg = <0x80000500 0x4>;
24 interrupts = <15>;24 interrupts = <15>;
25 clocks = <&clks CLPS711X_CLK_SPI>;25 clocks = <&clks CLPS711X_CLK_SPI>;
26 status = "disabled";
27};26};
28 27
29syscon3: syscon@80002200 {28syscon3: syscon@80002200 {
Documentation/devicetree/bindings/spi/spi-fsl-dspi.txt+0−1
@@ -39,7 +39,6 @@ dspi0@4002c000 { · 38 unmodified lines
39 pinctrl-names = "default";39 pinctrl-names = "default";
40 pinctrl-0 = <&pinctrl_dspi0_1>;40 pinctrl-0 = <&pinctrl_dspi0_1>;
41 big-endian;41 big-endian;
42 status = "okay";
43 42
44 sflash: at26df081a@0 {43 sflash: at26df081a@0 {
45 #address-cells = <1>;44 #address-cells = <1>;
Documentation/devicetree/bindings/spi/spi-mt65xx.txt+0−1
@@ -57,5 +57,4 @@ spi: spi@1100a000 { · 56 unmodified lines
57 clock-names = "parent-clk", "sel-clk", "spi-clk";57 clock-names = "parent-clk", "sel-clk", "spi-clk";
58 cs-gpios = <&pio 105 GPIO_ACTIVE_LOW>, <&pio 72 GPIO_ACTIVE_LOW>;58 cs-gpios = <&pio 105 GPIO_ACTIVE_LOW>, <&pio 72 GPIO_ACTIVE_LOW>;
59 mediatek,pad-select = <1>, <0>;59 mediatek,pad-select = <1>, <0>;
60 status = "disabled";
61};60};
Documentation/devicetree/bindings/spi/spi-orion.txt+0−2
@@ -29,7 +29,6 @@ Example: · 28 unmodified lines
29 cell-index = <0>;29 cell-index = <0>;
30 reg = <0x10600 0x28>;30 reg = <0x10600 0x28>;
31 interrupts = <23>;31 interrupts = <23>;
32 status = "disabled";
33 };32 };
34 33
35Example with SPI direct mode support (optionally):34Example with SPI direct mode support (optionally):
@@ -48,7 +47,6 @@ Example with SPI direct mode support (optionally): · 12 unmodified lines
48 <MBUS_ID(0x01, 0x9f) 0 0xffffffff>, /* CS6 */47 <MBUS_ID(0x01, 0x9f) 0 0xffffffff>, /* CS6 */
49 <MBUS_ID(0x01, 0xdf) 0 0xffffffff>; /* CS7 */48 <MBUS_ID(0x01, 0xdf) 0 0xffffffff>; /* CS7 */
50 interrupts = <23>;49 interrupts = <23>;
51 status = "disabled";
52 };50 };
53 51
54To enable the direct mode, the board specific 'ranges' property in the52To enable the direct mode, the board specific 'ranges' property in the
Documentation/devicetree/bindings/spi/spi-sun4i.txt+0−1
@@ -18,7 +18,6 @@ spi1: spi@01c06000 { · 17 unmodified lines
18 interrupts = <11>;18 interrupts = <11>;
19 clocks = <&ahb_gates 21>, <&spi1_clk>;19 clocks = <&ahb_gates 21>, <&spi1_clk>;
20 clock-names = "ahb", "mod";20 clock-names = "ahb", "mod";
21 status = "disabled";
22 #address-cells = <1>;21 #address-cells = <1>;
23 #size-cells = <0>;22 #size-cells = <0>;
24};23};
Documentation/devicetree/bindings/spi/spi-sun6i.txt+0−1
@@ -39,7 +39,6 @@ spi0: spi@01c68000 { · 38 unmodified lines
39 pinctrl-names = "default";39 pinctrl-names = "default";
40 pinctrl-0 = <&spi0_pins>;40 pinctrl-0 = <&spi0_pins>;
41 resets = <&ccu RST_BUS_SPI0>;41 resets = <&ccu RST_BUS_SPI0>;
42 status = "disabled";
43 #address-cells = <1>;42 #address-cells = <1>;
44 #size-cells = <0>;43 #size-cells = <0>;
45};44};
Documentation/devicetree/bindings/spi/spi_atmel.txt+0−1
@@ -26,7 +26,6 @@ spi1: spi@fffcc000 { · 25 unmodified lines
26 clock-names = "spi_clk";26 clock-names = "spi_clk";
27 cs-gpios = <&pioB 3 0>;27 cs-gpios = <&pioB 3 0>;
28 atmel,fifo-size = <32>;28 atmel,fifo-size = <32>;
29 status = "okay";
30 29
31 mmc-slot@0 {30 mmc-slot@0 {
32 compatible = "mmc-spi-slot";31 compatible = "mmc-spi-slot";
Documentation/devicetree/bindings/sram/sunxi-sram.txt+0−1
@@ -59,7 +59,6 @@ sram-controller@01c00000 { · 58 unmodified lines
59 emac_sram: sram-section@8000 {59 emac_sram: sram-section@8000 {
60 compatible = "allwinner,sun4i-a10-sram-a3-a4";60 compatible = "allwinner,sun4i-a10-sram-a3-a4";
61 reg = <0x8000 0x4000>;61 reg = <0x8000 0x4000>;
62 status = "disabled";
63 };62 };
64 };63 };
65};64};
Documentation/devicetree/bindings/thermal/armada-thermal.txt+0−1
@@ -20,5 +20,4 @@ Example: · 19 unmodified lines
20 compatible = "marvell,armada370-thermal";20 compatible = "marvell,armada370-thermal";
21 reg = <0xd0018300 0x421 reg = <0xd0018300 0x4
22 0xd0018304 0x4>;22 0xd0018304 0x4>;
23 status = "okay";
24 };23 };
Documentation/devicetree/bindings/thermal/exynos-thermal.txt+0−1
@@ -77,7 +77,6 @@ Example 1): · 76 unmodified lines
77 interrupts = <2 4>;77 interrupts = <2 4>;
78 clocks = <&clock 383>;78 clocks = <&clock 383>;
79 clock-names = "tmu_apbif";79 clock-names = "tmu_apbif";
80 status = "disabled";
81 vtmu-supply = <&tmu_regulator_node>;80 vtmu-supply = <&tmu_regulator_node>;
82 #include "exynos4412-tmu-sensor-conf.dtsi"81 #include "exynos4412-tmu-sensor-conf.dtsi"
83 };82 };
Documentation/devicetree/bindings/thermal/rcar-gen3-thermal.txt+0−1
@@ -36,7 +36,6 @@ Example: · 35 unmodified lines
36 clocks = <&cpg CPG_MOD 522>;36 clocks = <&cpg CPG_MOD 522>;
37 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;37 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
38 #thermal-sensor-cells = <1>;38 #thermal-sensor-cells = <1>;
39 status = "okay";
40 };39 };
41 40
42 thermal-zones {41 thermal-zones {
Documentation/devicetree/bindings/trivial-devices.txt+14−0
@@ -21,6 +21,16 @@ adi,adt7490 +/-1C TDM Extended Temp Range I.C · 20 unmodified lines
21adi,adxl345 Three-Axis Digital Accelerometer21adi,adxl345 Three-Axis Digital Accelerometer
22adi,adxl346 Three-Axis Digital Accelerometer (backward-compatibility value "adi,adxl345" must be listed too)22adi,adxl346 Three-Axis Digital Accelerometer (backward-compatibility value "adi,adxl345" must be listed too)
23ams,iaq-core AMS iAQ-Core VOC Sensor23ams,iaq-core AMS iAQ-Core VOC Sensor
24amstaos,tsl2571 AMS/TAOS ALS and proximity sensor
25amstaos,tsl2671 AMS/TAOS ALS and proximity sensor
26amstaos,tmd2671 AMS/TAOS ALS and proximity sensor
27amstaos,tsl2771 AMS/TAOS ALS and proximity sensor
28amstaos,tmd2771 AMS/TAOS ALS and proximity sensor
29amstaos,tsl2572 AMS/TAOS ALS and proximity sensor
30amstaos,tsl2672 AMS/TAOS ALS and proximity sensor
31amstaos,tmd2672 AMS/TAOS ALS and proximity sensor
32amstaos,tsl2772 AMS/TAOS ALS and proximity sensor
33amstaos,tmd2772 AMS/TAOS ALS and proximity sensor
24at,24c08 i2c serial eeprom (24cxx)34at,24c08 i2c serial eeprom (24cxx)
25atmel,at97sc3204t i2c trusted platform module (TPM)35atmel,at97sc3204t i2c trusted platform module (TPM)
26capella,cm32181 CM32181: Ambient Light Sensor36capella,cm32181 CM32181: Ambient Light Sensor
@@ -36,7 +46,9 @@ dallas,ds1775 Tiny Digital Thermometer and Thermostat · 9 unmodified lines
36dallas,ds3232 Extremely Accurate I²C RTC with Integrated Crystal and SRAM46dallas,ds3232 Extremely Accurate I²C RTC with Integrated Crystal and SRAM
37dallas,ds4510 CPU Supervisor with Nonvolatile Memory and Programmable I/O47dallas,ds4510 CPU Supervisor with Nonvolatile Memory and Programmable I/O
38dallas,ds75 Digital Thermometer and Thermostat48dallas,ds75 Digital Thermometer and Thermostat
49devantech,srf02 Devantech SRF02 ultrasonic ranger in I2C mode
39devantech,srf08 Devantech SRF08 ultrasonic ranger50devantech,srf08 Devantech SRF08 ultrasonic ranger
51devantech,srf10 Devantech SRF10 ultrasonic ranger
40dlg,da9053 DA9053: flexible system level PMIC with multicore support52dlg,da9053 DA9053: flexible system level PMIC with multicore support
41dlg,da9063 DA9063: system PMIC for quad-core application processors53dlg,da9063 DA9063: system PMIC for quad-core application processors
42domintech,dmard09 DMARD09: 3-axis Accelerometer54domintech,dmard09 DMARD09: 3-axis Accelerometer
@@ -54,6 +66,7 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec · 11 unmodified lines
54gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface66gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
55infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)67infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
56infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)68infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
69isil,isl1208 Intersil ISL1208 Low Power RTC with Battery Backed SRAM
57isil,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor70isil,isl29028 Intersil ISL29028 Ambient Light and Proximity Sensor
58isil,isl29030 Intersil ISL29030 Ambient Light and Proximity Sensor71isil,isl29030 Intersil ISL29030 Ambient Light and Proximity Sensor
59maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator72maxim,ds1050 5 Bit Programmable, Pulse-Width Modulator
@@ -168,6 +181,7 @@ st,m41t80 M41T80 - SERIAL ACCESS RTC WITH ALARMS · 108 unmodified lines
168taos,tsl2550 Ambient Light Sensor with SMBUS/Two Wire Serial Interface181taos,tsl2550 Ambient Light Sensor with SMBUS/Two Wire Serial Interface
169ti,ads7828 8-Channels, 12-bit ADC182ti,ads7828 8-Channels, 12-bit ADC
170ti,ads7830 8-Channels, 8-bit ADC183ti,ads7830 8-Channels, 8-bit ADC
184ti,amc6821 Temperature Monitoring and Fan Control
171ti,tsc2003 I2C Touch-Screen Controller185ti,tsc2003 I2C Touch-Screen Controller
172ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface186ti,tmp102 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface
173ti,tmp103 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface187ti,tmp103 Low Power Digital Temperature Sensor with SMBUS/Two Wire Serial Interface
Documentation/devicetree/bindings/unittest.txt+0−5
@@ -10,7 +10,6 @@ All other properties are optional. · 9 unmodified lines
10Example:10Example:
11 unittest {11 unittest {
12 compatible = "unittest";12 compatible = "unittest";
13 status = "okay";
14 };13 };
15 14
162) OF unittest i2c adapter platform device152) OF unittest i2c adapter platform device
@@ -25,7 +24,6 @@ Children nodes contain unittest i2c devices. · 8 unmodified lines
25Example:24Example:
26 unittest-i2c-bus {25 unittest-i2c-bus {
27 compatible = "unittest-i2c-bus";26 compatible = "unittest-i2c-bus";
28 status = "okay";
29 };27 };
30 28
313) OF unittest i2c device293) OF unittest i2c device
@@ -40,7 +38,6 @@ All other properties are optional · 8 unmodified lines
40Example:38Example:
41 unittest-i2c-dev {39 unittest-i2c-dev {
42 compatible = "unittest-i2c-dev";40 compatible = "unittest-i2c-dev";
43 status = "okay";
44 };41 };
45 42
464) OF unittest i2c mux device434) OF unittest i2c mux device
@@ -55,7 +52,6 @@ Children nodes contain unittest i2c bus nodes per channel. · 8 unmodified lines
55Example:52Example:
56 unittest-i2c-mux {53 unittest-i2c-mux {
57 compatible = "unittest-i2c-mux";54 compatible = "unittest-i2c-mux";
58 status = "okay";
59 #address-cells = <1>;55 #address-cells = <1>;
60 #size-cells = <0>;56 #size-cells = <0>;
61 channel-0 {57 channel-0 {
@@ -65,7 +61,6 @@ Example: · 3 unmodified lines
65 i2c-dev {61 i2c-dev {
66 reg = <8>;62 reg = <8>;
67 compatible = "unittest-i2c-dev";63 compatible = "unittest-i2c-dev";
68 status = "okay";
69 };64 };
70 };65 };
71 };66 };
Documentation/devicetree/bindings/usb/allwinner,sun4i-a10-musb.txt+0−1
@@ -25,5 +25,4 @@ Example: · 24 unmodified lines
25 phys = <&usbphy 0>;25 phys = <&usbphy 0>;
26 phy-names = "usb";26 phy-names = "usb";
27 extcon = <&usbphy 0>;27 extcon = <&usbphy 0>;
28 status = "disabled";
29 };28 };
Documentation/devicetree/bindings/usb/am33xx-usb.txt+2−2
@@ -4,9 +4,9 @@ · 3 unmodified lines
4- reg: offset and length of the usbss register sets4- reg: offset and length of the usbss register sets
5- ti,hwmods : must be "usb_otg_hs"5- ti,hwmods : must be "usb_otg_hs"
6 6
7The glue layer contains multiple child nodes. It is required the have7The glue layer contains multiple child nodes. It is required to have
8at least a control module node, USB node and a PHY node. The second USB8at least a control module node, USB node and a PHY node. The second USB
9node and its PHY node is optional. The DMA node is also optional.9node and its PHY node are optional. The DMA node is also optional.
10 10
11Reset module11Reset module
12~~~~~~~~~~~~12~~~~~~~~~~~~
Documentation/devicetree/bindings/usb/da8xx-usb.txt+0−2
@@ -42,7 +42,6 @@ Example: · 41 unmodified lines
42 usb_phy: usb-phy {42 usb_phy: usb-phy {
43 compatible = "ti,da830-usb-phy";43 compatible = "ti,da830-usb-phy";
44 #phy-cells = <0>;44 #phy-cells = <0>;
45 status = "okay";
46 };45 };
47 usb0: usb@200000 {46 usb0: usb@200000 {
48 compatible = "ti,da830-musb";47 compatible = "ti,da830-musb";
@@ -66,7 +65,6 @@ Example: · 17 unmodified lines
66 "rx1", "rx2", "rx3", "rx4",65 "rx1", "rx2", "rx3", "rx4",
67 "tx1", "tx2", "tx3", "tx4";66 "tx1", "tx2", "tx3", "tx4";
68 67
69 status = "okay";
70 68
71 cppi41dma: dma-controller@201000 {69 cppi41dma: dma-controller@201000 {
72 compatible = "ti,da830-cppi41";70 compatible = "ti,da830-cppi41";
Documentation/devicetree/bindings/usb/dwc3-st.txt+0−1
@@ -42,7 +42,6 @@ or "device". · 41 unmodified lines
42Example:42Example:
43 43
44st_dwc3: dwc3@8f94000 {44st_dwc3: dwc3@8f94000 {
45 status = "disabled";
46 compatible = "st,stih407-dwc3";45 compatible = "st,stih407-dwc3";
47 reg = <0x08f94000 0x1000>, <0x110 0x4>;46 reg = <0x08f94000 0x1000>, <0x110 0x4>;
48 reg-names = "reg-glue", "syscfg-reg";47 reg-names = "reg-glue", "syscfg-reg";
Documentation/devicetree/bindings/usb/dwc3-xilinx.txt+0−1
@@ -18,7 +18,6 @@ Example device node: · 17 unmodified lines
18 usb@0 {18 usb@0 {
19 #address-cells = <0x2>;19 #address-cells = <0x2>;
20 #size-cells = <0x1>;20 #size-cells = <0x1>;
21 status = "okay";
22 compatible = "xlnx,zynqmp-dwc3";21 compatible = "xlnx,zynqmp-dwc3";
23 clock-names = "bus_clk" "ref_clk";22 clock-names = "bus_clk" "ref_clk";
24 clocks = <&clk125>, <&clk125>;23 clocks = <&clk125>, <&clk125>;
Documentation/devicetree/bindings/usb/ehci-st.txt+0−1
@@ -31,7 +31,6 @@ Example: · 30 unmodified lines
31 clocks = <&clk_s_a1_ls 0>;31 clocks = <&clk_s_a1_ls 0>;
32 phys = <&usb2_phy>;32 phys = <&usb2_phy>;
33 phy-names = "usb";33 phy-names = "usb";
34 status = "okay";
35 34
36 resets = <&powerdown STIH416_USB1_POWERDOWN>,35 resets = <&powerdown STIH416_USB1_POWERDOWN>,
37 <&softreset STIH416_USB1_SOFTRESET>;36 <&softreset STIH416_USB1_SOFTRESET>;
Documentation/devicetree/bindings/usb/exynos-usb.txt+0−2
@@ -40,7 +40,6 @@ Example: · 39 unmodified lines
40 port@0 {40 port@0 {
41 reg = <0>;41 reg = <0>;
42 phys = <&usb2phy 1>;42 phys = <&usb2phy 1>;
43 status = "disabled";
44 };43 };
45 };44 };
46 45
@@ -75,7 +74,6 @@ Example: · 28 unmodified lines
75 port@0 {74 port@0 {
76 reg = <0>;75 reg = <0>;
77 phys = <&usb2phy 1>;76 phys = <&usb2phy 1>;
78 status = "disabled";
79 };77 };
80 78
81 };79 };
Documentation/devicetree/bindings/usb/isp1301.txt+0−1
@@ -21,5 +21,4 @@ Example: · 20 unmodified lines
21 interrupt-parent = <&mic>;21 interrupt-parent = <&mic>;
22 interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;22 interrupts = <0x3d 0>, <0x3e 0>, <0x3c 0>, <0x3a 0>;
23 transceiver = <&isp1301>;23 transceiver = <&isp1301>;
24 status = "okay";
25 };24 };
Documentation/devicetree/bindings/usb/keystone-usb.txt+0−1
@@ -44,7 +44,6 @@ Example: · 43 unmodified lines
44 clock-names = "usb";44 clock-names = "usb";
45 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;45 interrupts = <GIC_SPI 393 IRQ_TYPE_EDGE_RISING>;
46 ranges;46 ranges;
47 status = "disabled";
48 47
49 dwc3@2690000 {48 dwc3@2690000 {
50 compatible = "synopsys,dwc3";49 compatible = "synopsys,dwc3";
Documentation/devicetree/bindings/usb/mediatek,mtu3.txt+0−2
@@ -75,7 +75,6 @@ ssusb: usb@11271000 { · 74 unmodified lines
75 #address-cells = <2>;75 #address-cells = <2>;
76 #size-cells = <2>;76 #size-cells = <2>;
77 ranges;77 ranges;
78 status = "disabled";
79 78
80 usb_host: xhci@11270000 {79 usb_host: xhci@11270000 {
81 compatible = "mediatek,mt8173-xhci";80 compatible = "mediatek,mt8173-xhci";
@@ -86,6 +85,5 @@ ssusb: usb@11271000 { · 4 unmodified lines
86 clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;85 clocks = <&topckgen CLK_TOP_USB30_SEL>, <&clk26m>;
87 clock-names = "sys_ck", "ref_ck";86 clock-names = "sys_ck", "ref_ck";
88 vusb33-supply = <&mt6397_vusb_reg>;87 vusb33-supply = <&mt6397_vusb_reg>;
89 status = "disabled";
90 };88 };
91};89};
Documentation/devicetree/bindings/usb/ohci-st.txt+0−1
@@ -29,7 +29,6 @@ Example: · 28 unmodified lines
29 clock-names = "ic", "clk48";29 clock-names = "ic", "clk48";
30 phys = <&usb2_phy>;30 phys = <&usb2_phy>;
31 phy-names = "usb";31 phy-names = "usb";
32 status = "okay";
33 32
34 resets = <&powerdown STIH416_USB0_POWERDOWN>,33 resets = <&powerdown STIH416_USB0_POWERDOWN>,
35 <&softreset STIH416_USB0_SOFTRESET>;34 <&softreset STIH416_USB0_SOFTRESET>;
Documentation/devicetree/bindings/usb/qcom,dwc3.txt+0−3
@@ -29,7 +29,6 @@ Example device nodes: · 28 unmodified lines
29 clock-names = "ref";29 clock-names = "ref";
30 #phy-cells = <0>;30 #phy-cells = <0>;
31 31
32 status = "ok";
33 };32 };
34 33
35 ss_phy: phy@100f8830 {34 ss_phy: phy@100f8830 {
@@ -39,7 +38,6 @@ Example device nodes: · 3 unmodified lines
39 clock-names = "ref";38 clock-names = "ref";
40 #phy-cells = <0>;39 #phy-cells = <0>;
41 40
42 status = "ok";
43 };41 };
44 42
45 usb3_0: usb30@0 {43 usb3_0: usb30@0 {
@@ -51,7 +49,6 @@ Example device nodes: · 5 unmodified lines
51 49
52 ranges;50 ranges;
53 51
54 status = "ok";
55 52
56 dwc3@10000000 {53 dwc3@10000000 {
57 compatible = "snps,dwc3";54 compatible = "snps,dwc3";
Documentation/devicetree/bindings/usb/rockchip,dwc3.txt+0−4
@@ -29,13 +29,11 @@ Example device nodes: · 28 unmodified lines
29 #address-cells = <2>;29 #address-cells = <2>;
30 #size-cells = <2>;30 #size-cells = <2>;
31 ranges;31 ranges;
32 status = "disabled";
33 usbdrd_dwc3_0: dwc3@fe800000 {32 usbdrd_dwc3_0: dwc3@fe800000 {
34 compatible = "snps,dwc3";33 compatible = "snps,dwc3";
35 reg = <0x0 0xfe800000 0x0 0x100000>;34 reg = <0x0 0xfe800000 0x0 0x100000>;
36 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;35 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
37 dr_mode = "otg";36 dr_mode = "otg";
38 status = "disabled";
39 };37 };
40 };38 };
41 39
@@ -48,12 +46,10 @@ Example device nodes: · 6 unmodified lines
48 #address-cells = <2>;46 #address-cells = <2>;
49 #size-cells = <2>;47 #size-cells = <2>;
50 ranges;48 ranges;
51 status = "disabled";
52 usbdrd_dwc3_1: dwc3@fe900000 {49 usbdrd_dwc3_1: dwc3@fe900000 {
53 compatible = "snps,dwc3";50 compatible = "snps,dwc3";
54 reg = <0x0 0xfe900000 0x0 0x100000>;51 reg = <0x0 0xfe900000 0x0 0x100000>;
55 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;52 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
56 dr_mode = "otg";53 dr_mode = "otg";
57 status = "disabled";
58 };54 };
59 };55 };
Documentation/devicetree/bindings/usb/usb-device.txt+1−2
@@ -2,7 +2,7 @@ Generic USB Device Properties · 1 unmodified line
2 2
3Usually, we only use device tree for hard wired USB device.3Usually, we only use device tree for hard wired USB device.
4The reference binding doc is from:4The reference binding doc is from:
5http://www.firmware.org/1275/bindings/usb/usb-1_0.ps5http://www.devicetree.org/open-firmware/bindings/usb/usb-1_0.ps
6 6
7Required properties:7Required properties:
8- compatible: usbVID,PID. The textual representation of VID, PID shall8- compatible: usbVID,PID. The textual representation of VID, PID shall
@@ -16,7 +16,6 @@ Required properties: · 7 unmodified lines
16Example:16Example:
17 17
18&usb1 {18&usb1 {
19 status = "okay";
20 19
21 #address-cells = <1>;20 #address-cells = <1>;
22 #size-cells = <0>;21 #size-cells = <0>;
Documentation/devicetree/bindings/vendor-prefixes.txt+4−1
@@ -9,6 +9,7 @@ actions Actions Semiconductor Co., Ltd. · 8 unmodified lines
9active-semi Active-Semi International Inc9active-semi Active-Semi International Inc
10ad Avionic Design GmbH10ad Avionic Design GmbH
11adapteva Adapteva, Inc.11adapteva Adapteva, Inc.
12adaptrum Adaptrum, Inc.
12adh AD Holdings Plc.13adh AD Holdings Plc.
13adi Analog Devices, Inc.14adi Analog Devices, Inc.
14advantech Advantech Corporation15advantech Advantech Corporation
@@ -197,6 +198,7 @@ mediatek MediaTek Inc. · 182 unmodified lines
197megachips MegaChips198megachips MegaChips
198melexis Melexis N.V.199melexis Melexis N.V.
199melfas MELFAS Inc.200melfas MELFAS Inc.
201mellanox Mellanox Technologies
200memsic MEMSIC Inc.202memsic MEMSIC Inc.
201merrii Merrii Technology Co., Ltd.203merrii Merrii Technology Co., Ltd.
202micrel Micrel Inc.204micrel Micrel Inc.
@@ -208,7 +210,7 @@ miramems MiraMEMS Sensing Technology Co., Ltd. · 5 unmodified lines
208mitsubishi Mitsubishi Electric Corporation210mitsubishi Mitsubishi Electric Corporation
209mosaixtech Mosaix Technologies, Inc.211mosaixtech Mosaix Technologies, Inc.
210motorola Motorola, Inc.212motorola Motorola, Inc.
211moxa Moxa213moxa Moxa Inc.
212mpl MPL AG214mpl MPL AG
213mqmaker mqmaker Inc.215mqmaker mqmaker Inc.
214msi Micro-Star International Co. Ltd.216msi Micro-Star International Co. Ltd.
@@ -344,6 +346,7 @@ tpo TPO · 129 unmodified lines
344tronfy Tronfy346tronfy Tronfy
345tronsmart Tronsmart347tronsmart Tronsmart
346truly Truly Semiconductors Limited348truly Truly Semiconductors Limited
349tsd Theobroma Systems Design und Consulting GmbH
347tyan Tyan Computer Corporation350tyan Tyan Computer Corporation
348ucrobotics uCRobotics351ucrobotics uCRobotics
349udoo Udoo352udoo Udoo
Documentation/devicetree/bindings/w1/fsl-imx-owire.txt+0−1
@@ -15,5 +15,4 @@ owire: owire@63fa4000 { · 14 unmodified lines
15 compatible = "fsl,imx53-owire", "fsl,imx21-owire";15 compatible = "fsl,imx53-owire", "fsl,imx21-owire";
16 reg = <0x63fa4000 0x4000>;16 reg = <0x63fa4000 0x4000>;
17 clocks = <&clks 159>;17 clocks = <&clks 159>;
18 status = "disabled";
19};18};
Documentation/devicetree/bindings/watchdog/atmel-sama5d4-wdt.txt+0−1
@@ -31,5 +31,4 @@ Example: · 30 unmodified lines
31 atmel,watchdog-type = "hardware";31 atmel,watchdog-type = "hardware";
32 atmel,dbg-halt;32 atmel,dbg-halt;
33 atmel,idle-halt;33 atmel,idle-halt;
34 status = "okay";
35 };34 };
Documentation/devicetree/bindings/watchdog/atmel-wdt.txt+0−1
@@ -48,5 +48,4 @@ Example: · 47 unmodified lines
48 atmel,idle-halt;48 atmel,idle-halt;
49 atmel,max-heartbeat-sec = <16>;49 atmel,max-heartbeat-sec = <16>;
50 atmel,min-heartbeat-sec = <0>;50 atmel,min-heartbeat-sec = <0>;
51 status = "okay";
52 };51 };
Documentation/devicetree/bindings/watchdog/marvel.txt+0−1
@@ -41,6 +41,5 @@ Example: · 40 unmodified lines
41 reg = <0x20300 0x28>, <0x20108 0x4>;41 reg = <0x20300 0x28>, <0x20108 0x4>;
42 interrupts = <3>;42 interrupts = <3>;
43 timeout-sec = <10>;43 timeout-sec = <10>;
44 status = "okay";
45 clocks = <&gate_clk 7>;44 clocks = <&gate_clk 7>;
46 };45 };
Documentation/devicetree/booting-without-of.txt+1−1
@@ -1282,7 +1282,7 @@ hierarchy and routing of interrupts in the hardware. · 1281 unmodified lines
1282The interrupt tree model is fully described in the1282The interrupt tree model is fully described in the
1283document "Open Firmware Recommended Practice: Interrupt1283document "Open Firmware Recommended Practice: Interrupt
1284Mapping Version 0.9". The document is available at:1284Mapping Version 0.9". The document is available at:
1285<http://www.openfirmware.org/ofwg/practice/>1285<http://www.devicetree.org/open-firmware/practice/>
1286 1286
12871) interrupts property12871) interrupts property
1288----------------------1288----------------------
arch/microblaze/kernel/timer.c+1−1
@@ -293,7 +293,7 @@ static int __init xilinx_timer_init(struct device_node *timer) · 292 unmodified lines
293 return -EINVAL;293 return -EINVAL;
294 }294 }
295 295
296 pr_info("%s: irq=%d\n", timer->full_name, irq);296 pr_info("%pOF: irq=%d\n", timer, irq);
297 297
298 clk = of_clk_get(timer, 0);298 clk = of_clk_get(timer, 0);
299 if (IS_ERR(clk)) {299 if (IS_ERR(clk)) {
arch/microblaze/pci/pci-common.c+7−7
@@ -508,8 +508,8 @@ void pci_process_bridge_OF_ranges(struct pci_controller *hose, · 507 unmodified lines
508 struct of_pci_range range;508 struct of_pci_range range;
509 struct of_pci_range_parser parser;509 struct of_pci_range_parser parser;
510 510
511 pr_info("PCI host bridge %s %s ranges:\n",511 pr_info("PCI host bridge %pOF %s ranges:\n",
512 dev->full_name, primary ? "(primary)" : "");512 dev, primary ? "(primary)" : "");
513 513
514 /* Check for ranges property */514 /* Check for ranges property */
515 if (of_pci_range_parser_init(&parser, dev))515 if (of_pci_range_parser_init(&parser, dev))
@@ -1219,8 +1219,8 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose, · 703 unmodified lines
1219 1219
1220 if (!res->flags) {1220 if (!res->flags) {
1221 pr_warn("PCI: I/O resource not set for host ");1221 pr_warn("PCI: I/O resource not set for host ");
1222 pr_cont("bridge %s (domain %d)\n",1222 pr_cont("bridge %pOF (domain %d)\n",
1223 hose->dn->full_name, hose->global_number);1223 hose->dn, hose->global_number);
1224 /* Workaround for lack of IO resource only on 32-bit */1224 /* Workaround for lack of IO resource only on 32-bit */
1225 res->start = (unsigned long)hose->io_base_virt - isa_io_base;1225 res->start = (unsigned long)hose->io_base_virt - isa_io_base;
1226 res->end = res->start + IO_SPACE_LIMIT;1226 res->end = res->start + IO_SPACE_LIMIT;
@@ -1241,8 +1241,8 @@ static void pcibios_setup_phb_resources(struct pci_controller *hose, · 14 unmodified lines
1241 if (i > 0)1241 if (i > 0)
1242 continue;1242 continue;
1243 pr_err("PCI: Memory resource 0 not set for ");1243 pr_err("PCI: Memory resource 0 not set for ");
1244 pr_cont("host bridge %s (domain %d)\n",1244 pr_cont("host bridge %pOF (domain %d)\n",
1245 hose->dn->full_name, hose->global_number);1245 hose->dn, hose->global_number);
1246 1246
1247 /* Workaround for lack of MEM resource only on 32-bit */1247 /* Workaround for lack of MEM resource only on 32-bit */
1248 res->start = hose->pci_mem_offset;1248 res->start = hose->pci_mem_offset;
@@ -1270,7 +1270,7 @@ static void pcibios_scan_phb(struct pci_controller *hose) · 21 unmodified lines
1270 struct pci_bus *bus;1270 struct pci_bus *bus;
1271 struct device_node *node = hose->dn;1271 struct device_node *node = hose->dn;
1272 1272
1273 pr_debug("PCI: Scanning PHB %s\n", of_node_full_name(node));1273 pr_debug("PCI: Scanning PHB %pOF\n", node);
1274 1274
1275 pcibios_setup_phb_resources(hose, &resources);1275 pcibios_setup_phb_resources(hose, &resources);
1276 1276
drivers/of/address.c+11−13
@@ -274,10 +274,9 @@ struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser, · 273 unmodified lines
274 274
275 /* Now consume following elements while they are contiguous */275 /* Now consume following elements while they are contiguous */
276 while (parser->range + parser->np <= parser->end) {276 while (parser->range + parser->np <= parser->end) {
277 u32 flags, pci_space;277 u32 flags;
278 u64 pci_addr, cpu_addr, size;278 u64 pci_addr, cpu_addr, size;
279 279
280 pci_space = be32_to_cpup(parser->range);
281 flags = of_bus_pci_get_flags(parser->range);280 flags = of_bus_pci_get_flags(parser->range);
282 pci_addr = of_read_number(parser->range + 1, ns);281 pci_addr = of_read_number(parser->range + 1, ns);
283 cpu_addr = of_translate_address(parser->node,282 cpu_addr = of_translate_address(parser->node,
@@ -559,7 +558,7 @@ static u64 __of_translate_address(struct device_node *dev, · 275 unmodified lines
559 int na, ns, pna, pns;558 int na, ns, pna, pns;
560 u64 result = OF_BAD_ADDR;559 u64 result = OF_BAD_ADDR;
561 560
562 pr_debug("** translation for device %s **\n", of_node_full_name(dev));561 pr_debug("** translation for device %pOF **\n", dev);
563 562
564 /* Increase refcount at current level */563 /* Increase refcount at current level */
565 of_node_get(dev);564 of_node_get(dev);
@@ -573,13 +572,13 @@ static u64 __of_translate_address(struct device_node *dev, · 7 unmodified lines
573 /* Count address cells & copy address locally */572 /* Count address cells & copy address locally */
574 bus->count_cells(dev, &na, &ns);573 bus->count_cells(dev, &na, &ns);
575 if (!OF_CHECK_COUNTS(na, ns)) {574 if (!OF_CHECK_COUNTS(na, ns)) {
576 pr_debug("Bad cell count for %s\n", of_node_full_name(dev));575 pr_debug("Bad cell count for %pOF\n", dev);
577 goto bail;576 goto bail;
578 }577 }
579 memcpy(addr, in_addr, na * 4);578 memcpy(addr, in_addr, na * 4);
580 579
581 pr_debug("bus is %s (na=%d, ns=%d) on %s\n",580 pr_debug("bus is %s (na=%d, ns=%d) on %pOF\n",
582 bus->name, na, ns, of_node_full_name(parent));581 bus->name, na, ns, parent);
583 of_dump_addr("translating address:", addr, na);582 of_dump_addr("translating address:", addr, na);
584 583
585 /* Translate */584 /* Translate */
@@ -600,13 +599,12 @@ static u64 __of_translate_address(struct device_node *dev, · 14 unmodified lines
600 pbus = of_match_bus(parent);599 pbus = of_match_bus(parent);
601 pbus->count_cells(dev, &pna, &pns);600 pbus->count_cells(dev, &pna, &pns);
602 if (!OF_CHECK_COUNTS(pna, pns)) {601 if (!OF_CHECK_COUNTS(pna, pns)) {
603 pr_err("Bad cell count for %s\n",602 pr_err("Bad cell count for %pOF\n", dev);
604 of_node_full_name(dev));
605 break;603 break;
606 }604 }
607 605
608 pr_debug("parent bus is %s (na=%d, ns=%d) on %s\n",606 pr_debug("parent bus is %s (na=%d, ns=%d) on %pOF\n",
609 pbus->name, pna, pns, of_node_full_name(parent));607 pbus->name, pna, pns, parent);
610 608
611 /* Apply bus translation */609 /* Apply bus translation */
612 if (of_translate_one(dev, bus, pbus, addr, na, ns, pna, rprop))610 if (of_translate_one(dev, bus, pbus, addr, na, ns, pna, rprop))
@@ -855,7 +853,7 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz · 242 unmodified lines
855 }853 }
856 854
857 if (!ranges) {855 if (!ranges) {
858 pr_debug("no dma-ranges found for node(%s)\n", np->full_name);856 pr_debug("no dma-ranges found for node(%pOF)\n", np);
859 ret = -ENODEV;857 ret = -ENODEV;
860 goto out;858 goto out;
861 }859 }
@@ -872,8 +870,8 @@ int of_dma_get_range(struct device_node *np, u64 *dma_addr, u64 *paddr, u64 *siz · 10 unmodified lines
872 dmaaddr = of_read_number(ranges, naddr);870 dmaaddr = of_read_number(ranges, naddr);
873 *paddr = of_translate_dma_address(np, ranges);871 *paddr = of_translate_dma_address(np, ranges);
874 if (*paddr == OF_BAD_ADDR) {872 if (*paddr == OF_BAD_ADDR) {
875 pr_err("translation of DMA address(%pad) to CPU address failed node(%s)\n",873 pr_err("translation of DMA address(%pad) to CPU address failed node(%pOF)\n",
876 dma_addr, np->full_name);874 dma_addr, np);
877 ret = -EINVAL;875 ret = -EINVAL;
878 goto out;876 goto out;
879 }877 }
drivers/of/base.c+23−23
@@ -60,14 +60,13 @@ DEFINE_RAW_SPINLOCK(devtree_lock); · 59 unmodified lines
60 60
61int of_n_addr_cells(struct device_node *np)61int of_n_addr_cells(struct device_node *np)
62{62{
63 const __be32 *ip;63 u32 cells;
64 64
65 do {65 do {
66 if (np->parent)66 if (np->parent)
67 np = np->parent;67 np = np->parent;
68 ip = of_get_property(np, "#address-cells", NULL);68 if (!of_property_read_u32(np, "#address-cells", &cells))
69 if (ip)69 return cells;
70 return be32_to_cpup(ip);
71 } while (np->parent);70 } while (np->parent);
72 /* No #address-cells property for the root node */71 /* No #address-cells property for the root node */
73 return OF_ROOT_NODE_ADDR_CELLS_DEFAULT;72 return OF_ROOT_NODE_ADDR_CELLS_DEFAULT;
@@ -76,14 +75,13 @@ EXPORT_SYMBOL(of_n_addr_cells); · 2 unmodified lines
76 75
77int of_n_size_cells(struct device_node *np)76int of_n_size_cells(struct device_node *np)
78{77{
79 const __be32 *ip;78 u32 cells;
80 79
81 do {80 do {
82 if (np->parent)81 if (np->parent)
83 np = np->parent;82 np = np->parent;
84 ip = of_get_property(np, "#size-cells", NULL);83 if (!of_property_read_u32(np, "#size-cells", &cells))
85 if (ip)84 return cells;
86 return be32_to_cpup(ip);
87 } while (np->parent);85 } while (np->parent);
88 /* No #size-cells property for the root node */86 /* No #size-cells property for the root node */
89 return OF_ROOT_NODE_SIZE_CELLS_DEFAULT;87 return OF_ROOT_NODE_SIZE_CELLS_DEFAULT;
@@ -160,7 +158,7 @@ int __of_add_property_sysfs(struct device_node *np, struct property *pp) · 70 unmodified lines
160 pp->attr.read = of_node_property_read;158 pp->attr.read = of_node_property_read;
161 159
162 rc = sysfs_create_bin_file(&np->kobj, &pp->attr);160 rc = sysfs_create_bin_file(&np->kobj, &pp->attr);
163 WARN(rc, "error adding attribute %s to node %s\n", pp->name, np->full_name);161 WARN(rc, "error adding attribute %s to node %pOF\n", pp->name, np);
164 return rc;162 return rc;
165}163}
166 164
@@ -1122,7 +1120,7 @@ EXPORT_SYMBOL(of_find_node_by_phandle); · 955 unmodified lines
1122void of_print_phandle_args(const char *msg, const struct of_phandle_args *args)1120void of_print_phandle_args(const char *msg, const struct of_phandle_args *args)
1123{1121{
1124 int i;1122 int i;
1125 printk("%s %s", msg, of_node_full_name(args->np));1123 printk("%s %pOF", msg, args->np);
1126 for (i = 0; i < args->args_count; i++) {1124 for (i = 0; i < args->args_count; i++) {
1127 const char delim = i ? ',' : ':';1125 const char delim = i ? ',' : ':';
1128 1126
@@ -1184,17 +1182,17 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it) · 55 unmodified lines
1184 1182
1185 if (it->cells_name) {1183 if (it->cells_name) {
1186 if (!it->node) {1184 if (!it->node) {
1187 pr_err("%s: could not find phandle\n",1185 pr_err("%pOF: could not find phandle\n",
1188 it->parent->full_name);1186 it->parent);
1189 goto err;1187 goto err;
1190 }1188 }
1191 1189
1192 if (of_property_read_u32(it->node, it->cells_name,1190 if (of_property_read_u32(it->node, it->cells_name,
1193 &count)) {1191 &count)) {
1194 pr_err("%s: could not get %s for %s\n",1192 pr_err("%pOF: could not get %s for %pOF\n",
1195 it->parent->full_name,1193 it->parent,
1196 it->cells_name,1194 it->cells_name,
1197 it->node->full_name);1195 it->node);
1198 goto err;1196 goto err;
1199 }1197 }
1200 } else {1198 } else {
@@ -1206,8 +1204,8 @@ int of_phandle_iterator_next(struct of_phandle_iterator *it) · 5 unmodified lines
1206 * property data length1204 * property data length
1207 */1205 */
1208 if (it->cur + count > it->list_end) {1206 if (it->cur + count > it->list_end) {
1209 pr_err("%s: arguments longer than property\n",1207 pr_err("%pOF: arguments longer than property\n",
1210 it->parent->full_name);1208 it->parent);
1211 goto err;1209 goto err;
1212 }1210 }
1213 }1211 }
@@ -1639,8 +1637,8 @@ static void of_alias_add(struct alias_prop *ap, struct device_node *np, · 425 unmodified lines
1639 strncpy(ap->stem, stem, stem_len);1637 strncpy(ap->stem, stem, stem_len);
1640 ap->stem[stem_len] = 0;1638 ap->stem[stem_len] = 0;
1641 list_add_tail(&ap->link, &aliases_lookup);1639 list_add_tail(&ap->link, &aliases_lookup);
1642 pr_debug("adding DT alias:%s: stem=%s id=%i node=%s\n",1640 pr_debug("adding DT alias:%s: stem=%s id=%i node=%pOF\n",
1643 ap->alias, ap->stem, ap->id, of_node_full_name(np));1641 ap->alias, ap->stem, ap->id, np);
1644}1642}
1645 1643
1646/**1644/**
@@ -1664,11 +1662,13 @@ void of_alias_scan(void * (*dt_alloc)(u64 size, u64 align)) · 17 unmodified lines
1664 1662
1665 if (of_chosen) {1663 if (of_chosen) {
1666 /* linux,stdout-path and /aliases/stdout are for legacy compatibility */1664 /* linux,stdout-path and /aliases/stdout are for legacy compatibility */
1667 const char *name = of_get_property(of_chosen, "stdout-path", NULL);1665 const char *name = NULL;
1668 if (!name)1666
1669 name = of_get_property(of_chosen, "linux,stdout-path", NULL);1667 if (of_property_read_string(of_chosen, "stdout-path", &name))
1668 of_property_read_string(of_chosen, "linux,stdout-path",
1669 &name);
1670 if (IS_ENABLED(CONFIG_PPC) && !name)1670 if (IS_ENABLED(CONFIG_PPC) && !name)
1671 name = of_get_property(of_aliases, "stdout", NULL);1671 of_property_read_string(of_aliases, "stdout", &name);
1672 if (name)1672 if (name)
1673 of_stdout = of_find_node_opts_by_path(name, &of_stdout_options);1673 of_stdout = of_find_node_opts_by_path(name, &of_stdout_options);
1674 }1674 }
drivers/of/device.c+31−44
@@ -58,7 +58,7 @@ int of_device_add(struct platform_device *ofdev) · 57 unmodified lines
58 /* name and id have to be set so that the platform bus doesn't get58 /* name and id have to be set so that the platform bus doesn't get
59 * confused on matching */59 * confused on matching */
60 ofdev->name = dev_name(&ofdev->dev);60 ofdev->name = dev_name(&ofdev->dev);
61 ofdev->id = -1;61 ofdev->id = PLATFORM_DEVID_NONE;
62 62
63 /*63 /*
64 * If this device has not binding numa node in devicetree, that is64 * If this device has not binding numa node in devicetree, that is
@@ -196,8 +196,10 @@ EXPORT_SYMBOL(of_device_get_match_data); · 131 unmodified lines
196static ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)196static ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len)
197{197{
198 const char *compat;198 const char *compat;
199 int cplen, i;199 char *c;
200 ssize_t tsize, csize, repend;200 struct property *p;
201 ssize_t csize;
202 ssize_t tsize;
201 203
202 if ((!dev) || (!dev->of_node))204 if ((!dev) || (!dev->of_node))
203 return -ENODEV;205 return -ENODEV;
@@ -205,42 +207,28 @@ static ssize_t of_device_get_modalias(struct device *dev, char *str, ssize_t len · 1 unmodified line
205 /* Name & Type */207 /* Name & Type */
206 csize = snprintf(str, len, "of:N%sT%s", dev->of_node->name,208 csize = snprintf(str, len, "of:N%sT%s", dev->of_node->name,
207 dev->of_node->type);209 dev->of_node->type);
208 210 tsize = csize;
209 /* Get compatible property if any */211 len -= csize;
210 compat = of_get_property(dev->of_node, "compatible", &cplen);212 if (str)
211 if (!compat)213 str += csize;
212 return csize;214
213 215 of_property_for_each_string(dev->of_node, "compatible", p, compat) {
214 /* Find true end (we tolerate multiple \0 at the end */216 csize = strlen(compat) + 1;
215 for (i = (cplen - 1); i >= 0 && !compat[i]; i--)217 tsize += csize;
216 cplen--;218 if (csize > len)
217 if (!cplen)219 continue;
218 return csize;220
219 cplen++;221 csize = snprintf(str, len, "C%s", compat);
220 222 for (c = str; c; ) {
221 /* Check space (need cplen+1 chars including final \0) */223 c = strchr(c, ' ');
222 tsize = csize + cplen;224 if (c)
223 repend = tsize;225 *c++ = '_';
224 226 }
225 if (csize >= len) /* @ the limit, all is already filled */227 len -= csize;
226 return tsize;228 str += csize;
227
228 if (tsize >= len) { /* limit compat list */
229 cplen = len - csize - 1;
230 repend = len;
231 }
232
233 /* Copy and do char replacement */
234 memcpy(&str[csize + 1], compat, cplen);
235 for (i = csize; i < repend; i++) {
236 char c = str[i];
237 if (c == '\0')
238 str[i] = 'C';
239 else if (c == ' ')
240 str[i] = '_';
241 }229 }
242 230
243 return repend;231 return tsize;
244}232}
245 233
246int of_device_request_module(struct device *dev)234int of_device_request_module(struct device *dev)
@@ -274,6 +262,8 @@ ssize_t of_device_modalias(struct device *dev, char *str, ssize_t len) · 27 unmodified lines
274 ssize_t sl = of_device_get_modalias(dev, str, len - 2);262 ssize_t sl = of_device_get_modalias(dev, str, len - 2);
275 if (sl < 0)263 if (sl < 0)
276 return sl;264 return sl;
265 if (sl > len - 2)
266 return -ENOMEM;
277 267
278 str[sl++] = '\n';268 str[sl++] = '\n';
279 str[sl] = 0;269 str[sl] = 0;
@@ -288,25 +278,22 @@ void of_device_uevent(struct device *dev, struct kobj_uevent_env *env) · 8 unmodified lines
288{278{
289 const char *compat;279 const char *compat;
290 struct alias_prop *app;280 struct alias_prop *app;
291 int seen = 0, cplen, sl;281 struct property *p;
282 int seen = 0;
292 283
293 if ((!dev) || (!dev->of_node))284 if ((!dev) || (!dev->of_node))
294 return;285 return;
295 286
296 add_uevent_var(env, "OF_NAME=%s", dev->of_node->name);287 add_uevent_var(env, "OF_NAME=%s", dev->of_node->name);
297 add_uevent_var(env, "OF_FULLNAME=%s", dev->of_node->full_name);288 add_uevent_var(env, "OF_FULLNAME=%pOF", dev->of_node);
298 if (dev->of_node->type && strcmp("<NULL>", dev->of_node->type) != 0)289 if (dev->of_node->type && strcmp("<NULL>", dev->of_node->type) != 0)
299 add_uevent_var(env, "OF_TYPE=%s", dev->of_node->type);290 add_uevent_var(env, "OF_TYPE=%s", dev->of_node->type);
300 291
301 /* Since the compatible field can contain pretty much anything292 /* Since the compatible field can contain pretty much anything
302 * it's not really legal to split it out with commas. We split it293 * it's not really legal to split it out with commas. We split it
303 * up using a number of environment variables instead. */294 * up using a number of environment variables instead. */
304 compat = of_get_property(dev->of_node, "compatible", &cplen);295 of_property_for_each_string(dev->of_node, "compatible", p, compat) {
305 while (compat && *compat && cplen > 0) {
306 add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat);296 add_uevent_var(env, "OF_COMPATIBLE_%d=%s", seen, compat);
307 sl = strlen(compat) + 1;
308 compat += sl;
309 cplen -= sl;
310 seen++;297 seen++;
311 }298 }
312 add_uevent_var(env, "OF_COMPATIBLE_N=%d", seen);299 add_uevent_var(env, "OF_COMPATIBLE_N=%d", seen);
drivers/of/dynamic.c+16−17
@@ -98,14 +98,14 @@ int of_reconfig_notify(unsigned long action, struct of_reconfig_data *p) · 97 unmodified lines
98 switch (action) {98 switch (action) {
99 case OF_RECONFIG_ATTACH_NODE:99 case OF_RECONFIG_ATTACH_NODE:
100 case OF_RECONFIG_DETACH_NODE:100 case OF_RECONFIG_DETACH_NODE:
101 pr_debug("notify %-15s %s\n", action_names[action],101 pr_debug("notify %-15s %pOF\n", action_names[action],
102 pr->dn->full_name);102 pr->dn);
103 break;103 break;
104 case OF_RECONFIG_ADD_PROPERTY:104 case OF_RECONFIG_ADD_PROPERTY:
105 case OF_RECONFIG_REMOVE_PROPERTY:105 case OF_RECONFIG_REMOVE_PROPERTY:
106 case OF_RECONFIG_UPDATE_PROPERTY:106 case OF_RECONFIG_UPDATE_PROPERTY:
107 pr_debug("notify %-15s %s:%s\n", action_names[action],107 pr_debug("notify %-15s %pOF:%s\n", action_names[action],
108 pr->dn->full_name, pr->prop->name);108 pr->dn, pr->prop->name);
109 break;109 break;
110 110
111 }111 }
@@ -328,11 +328,10 @@ void of_node_release(struct kobject *kobj) · 216 unmodified lines
328 328
329 /* We should never be releasing nodes that haven't been detached. */329 /* We should never be releasing nodes that haven't been detached. */
330 if (!of_node_check_flag(node, OF_DETACHED)) {330 if (!of_node_check_flag(node, OF_DETACHED)) {
331 pr_err("ERROR: Bad of_node_put() on %s\n", node->full_name);331 pr_err("ERROR: Bad of_node_put() on %pOF\n", node);
332 dump_stack();332 dump_stack();
333 return;333 return;
334 }334 }
335
336 if (!of_node_check_flag(node, OF_DYNAMIC))335 if (!of_node_check_flag(node, OF_DYNAMIC))
337 return;336 return;
338 337
@@ -462,13 +461,13 @@ static void __of_changeset_entry_dump(struct of_changeset_entry *ce) · 123 unmodified lines
462 case OF_RECONFIG_ADD_PROPERTY:461 case OF_RECONFIG_ADD_PROPERTY:
463 case OF_RECONFIG_REMOVE_PROPERTY:462 case OF_RECONFIG_REMOVE_PROPERTY:
464 case OF_RECONFIG_UPDATE_PROPERTY:463 case OF_RECONFIG_UPDATE_PROPERTY:
465 pr_debug("cset<%p> %-15s %s/%s\n", ce, action_names[ce->action],464 pr_debug("cset<%p> %-15s %pOF/%s\n", ce, action_names[ce->action],
466 ce->np->full_name, ce->prop->name);465 ce->np, ce->prop->name);
467 break;466 break;
468 case OF_RECONFIG_ATTACH_NODE:467 case OF_RECONFIG_ATTACH_NODE:
469 case OF_RECONFIG_DETACH_NODE:468 case OF_RECONFIG_DETACH_NODE:
470 pr_debug("cset<%p> %-15s %s\n", ce, action_names[ce->action],469 pr_debug("cset<%p> %-15s %pOF\n", ce, action_names[ce->action],
471 ce->np->full_name);470 ce->np);
472 break;471 break;
473 }472 }
474}473}
@@ -539,7 +538,7 @@ static void __of_changeset_entry_notify(struct of_changeset_entry *ce, bool reve · 64 unmodified lines
539 }538 }
540 539
541 if (ret)540 if (ret)
542 pr_err("changeset notifier error @%s\n", ce->np->full_name);541 pr_err("changeset notifier error @%pOF\n", ce->np);
543}542}
544 543
545static int __of_changeset_entry_apply(struct of_changeset_entry *ce)544static int __of_changeset_entry_apply(struct of_changeset_entry *ce)
@@ -570,8 +569,8 @@ static int __of_changeset_entry_apply(struct of_changeset_entry *ce) · 24 unmodified lines
570 569
571 ret = __of_add_property(ce->np, ce->prop);570 ret = __of_add_property(ce->np, ce->prop);
572 if (ret) {571 if (ret) {
573 pr_err("changeset: add_property failed @%s/%s\n",572 pr_err("changeset: add_property failed @%pOF/%s\n",
574 ce->np->full_name,573 ce->np,
575 ce->prop->name);574 ce->prop->name);
576 break;575 break;
577 }576 }
@@ -579,8 +578,8 @@ static int __of_changeset_entry_apply(struct of_changeset_entry *ce) · 1 unmodified line
579 case OF_RECONFIG_REMOVE_PROPERTY:578 case OF_RECONFIG_REMOVE_PROPERTY:
580 ret = __of_remove_property(ce->np, ce->prop);579 ret = __of_remove_property(ce->np, ce->prop);
581 if (ret) {580 if (ret) {
582 pr_err("changeset: remove_property failed @%s/%s\n",581 pr_err("changeset: remove_property failed @%pOF/%s\n",
583 ce->np->full_name,582 ce->np,
584 ce->prop->name);583 ce->prop->name);
585 break;584 break;
586 }585 }
@@ -598,8 +597,8 @@ static int __of_changeset_entry_apply(struct of_changeset_entry *ce) · 11 unmodified lines
598 597
599 ret = __of_update_property(ce->np, ce->prop, &old_prop);598 ret = __of_update_property(ce->np, ce->prop, &old_prop);
600 if (ret) {599 if (ret) {
601 pr_err("changeset: update_property failed @%s/%s\n",600 pr_err("changeset: update_property failed @%pOF/%s\n",
602 ce->np->full_name,601 ce->np,
603 ce->prop->name);602 ce->prop->name);
604 break;603 break;
605 }604 }
drivers/of/irq.c+31−46
@@ -59,20 +59,19 @@ EXPORT_SYMBOL_GPL(irq_of_parse_and_map); · 58 unmodified lines
59struct device_node *of_irq_find_parent(struct device_node *child)59struct device_node *of_irq_find_parent(struct device_node *child)
60{60{
61 struct device_node *p;61 struct device_node *p;
62 const __be32 *parp;62 phandle parent;
63 63
64 if (!of_node_get(child))64 if (!of_node_get(child))
65 return NULL;65 return NULL;
66 66
67 do {67 do {
68 parp = of_get_property(child, "interrupt-parent", NULL);68 if (of_property_read_u32(child, "interrupt-parent", &parent)) {
69 if (parp == NULL)
70 p = of_get_parent(child);69 p = of_get_parent(child);
71 else {70 } else {
72 if (of_irq_workarounds & OF_IMAP_NO_PHANDLE)71 if (of_irq_workarounds & OF_IMAP_NO_PHANDLE)
73 p = of_node_get(of_irq_dflt_pic);72 p = of_node_get(of_irq_dflt_pic);
74 else73 else
75 p = of_find_node_by_phandle(be32_to_cpup(parp));74 p = of_find_node_by_phandle(parent);
76 }75 }
77 of_node_put(child);76 of_node_put(child);
78 child = p;77 child = p;
@@ -117,11 +116,8 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) · 38 unmodified lines
117 * is none, we are nice and just walk up the tree116 * is none, we are nice and just walk up the tree
118 */117 */
119 do {118 do {
120 tmp = of_get_property(ipar, "#interrupt-cells", NULL);119 if (!of_property_read_u32(ipar, "#interrupt-cells", &intsize))
121 if (tmp != NULL) {
122 intsize = be32_to_cpu(*tmp);
123 break;120 break;
124 }
125 tnode = ipar;121 tnode = ipar;
126 ipar = of_irq_find_parent(ipar);122 ipar = of_irq_find_parent(ipar);
127 of_node_put(tnode);123 of_node_put(tnode);
@@ -131,7 +127,7 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) · 3 unmodified lines
131 goto fail;127 goto fail;
132 }128 }
133 129
134 pr_debug("of_irq_parse_raw: ipar=%s, size=%d\n", of_node_full_name(ipar), intsize);130 pr_debug("of_irq_parse_raw: ipar=%pOF, size=%d\n", ipar, intsize);
135 131
136 if (out_irq->args_count != intsize)132 if (out_irq->args_count != intsize)
137 goto fail;133 goto fail;
@@ -169,8 +165,7 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) · 31 unmodified lines
169 /* Now check if cursor is an interrupt-controller and if it is165 /* Now check if cursor is an interrupt-controller and if it is
170 * then we are done166 * then we are done
171 */167 */
172 if (of_get_property(ipar, "interrupt-controller", NULL) !=168 if (of_property_read_bool(ipar, "interrupt-controller")) {
173 NULL) {
174 pr_debug(" -> got it !\n");169 pr_debug(" -> got it !\n");
175 return 0;170 return 0;
176 }171 }
@@ -229,14 +224,14 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) · 52 unmodified lines
229 /* Get #interrupt-cells and #address-cells of new224 /* Get #interrupt-cells and #address-cells of new
230 * parent225 * parent
231 */226 */
232 tmp = of_get_property(newpar, "#interrupt-cells", NULL);227 if (of_property_read_u32(newpar, "#interrupt-cells",
233 if (tmp == NULL) {228 &newintsize)) {
234 pr_debug(" -> parent lacks #interrupt-cells!\n");229 pr_debug(" -> parent lacks #interrupt-cells!\n");
235 goto fail;230 goto fail;
236 }231 }
237 newintsize = be32_to_cpu(*tmp);232 if (of_property_read_u32(newpar, "#address-cells",
238 tmp = of_get_property(newpar, "#address-cells", NULL);233 &newaddrsize))
239 newaddrsize = (tmp == NULL) ? 0 : be32_to_cpu(*tmp);234 newaddrsize = 0;
240 235
241 pr_debug(" -> newintsize=%d, newaddrsize=%d\n",236 pr_debug(" -> newintsize=%d, newaddrsize=%d\n",
242 newintsize, newaddrsize);237 newintsize, newaddrsize);
@@ -269,7 +264,7 @@ int of_irq_parse_raw(const __be32 *addr, struct of_phandle_args *out_irq) · 26 unmodified lines
269 skiplevel:264 skiplevel:
270 /* Iterate again with new parent */265 /* Iterate again with new parent */
271 out_irq->np = newpar;266 out_irq->np = newpar;
272 pr_debug(" -> new parent: %s\n", of_node_full_name(newpar));267 pr_debug(" -> new parent: %pOF\n", newpar);
273 of_node_put(ipar);268 of_node_put(ipar);
274 ipar = newpar;269 ipar = newpar;
275 newpar = NULL;270 newpar = NULL;
@@ -297,11 +292,11 @@ EXPORT_SYMBOL_GPL(of_irq_parse_raw); · 21 unmodified lines
297int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_args *out_irq)292int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_args *out_irq)
298{293{
299 struct device_node *p;294 struct device_node *p;
300 const __be32 *intspec, *tmp, *addr;295 const __be32 *addr;
301 u32 intsize, intlen;296 u32 intsize;
302 int i, res;297 int i, res;
303 298
304 pr_debug("of_irq_parse_one: dev=%s, index=%d\n", of_node_full_name(device), index);299 pr_debug("of_irq_parse_one: dev=%pOF, index=%d\n", device, index);
305 300
306 /* OldWorld mac stuff is "special", handle out of line */301 /* OldWorld mac stuff is "special", handle out of line */
307 if (of_irq_workarounds & OF_IMAP_OLDWORLD_MAC)302 if (of_irq_workarounds & OF_IMAP_OLDWORLD_MAC)
@@ -316,42 +311,32 @@ int of_irq_parse_one(struct device_node *device, int index, struct of_phandle_ar · 8 unmodified lines
316 if (!res)311 if (!res)
317 return of_irq_parse_raw(addr, out_irq);312 return of_irq_parse_raw(addr, out_irq);
318 313
319 /* Get the interrupts property */
320 intspec = of_get_property(device, "interrupts", &intlen);
321 if (intspec == NULL)
322 return -EINVAL;
323
324 intlen /= sizeof(*intspec);
325
326 pr_debug(" intspec=%d intlen=%d\n", be32_to_cpup(intspec), intlen);
327
328 /* Look for the interrupt parent. */314 /* Look for the interrupt parent. */
329 p = of_irq_find_parent(device);315 p = of_irq_find_parent(device);
330 if (p == NULL)316 if (p == NULL)
331 return -EINVAL;317 return -EINVAL;
332 318
333 /* Get size of interrupt specifier */319 /* Get size of interrupt specifier */
334 tmp = of_get_property(p, "#interrupt-cells", NULL);320 if (of_property_read_u32(p, "#interrupt-cells", &intsize)) {
335 if (tmp == NULL) {
336 res = -EINVAL;321 res = -EINVAL;
337 goto out;322 goto out;
338 }323 }
339 intsize = be32_to_cpu(*tmp);
340 324
341 pr_debug(" intsize=%d intlen=%d\n", intsize, intlen);325 pr_debug(" parent=%pOF, intsize=%d\n", p, intsize);
342
343 /* Check index */
344 if ((index + 1) * intsize > intlen) {
345 res = -EINVAL;
346 goto out;
347 }
348 326
349 /* Copy intspec into irq structure */327 /* Copy intspec into irq structure */
350 intspec += index * intsize;
351 out_irq->np = p;328 out_irq->np = p;
352 out_irq->args_count = intsize;329 out_irq->args_count = intsize;
353 for (i = 0; i < intsize; i++)330 for (i = 0; i < intsize; i++) {
354 out_irq->args[i] = be32_to_cpup(intspec++);331 res = of_property_read_u32_index(device, "interrupts",
332 (index * intsize) + i,
333 out_irq->args + i);
334 if (res)
335 goto out;
336 }
337
338 pr_debug(" intspec=%d\n", *out_irq->args);
339
355 340
356 /* Check if there are any interrupt-map translations to process */341 /* Check if there are any interrupt-map translations to process */
357 res = of_irq_parse_raw(addr, out_irq);342 res = of_irq_parse_raw(addr, out_irq);
@@ -508,7 +493,7 @@ void __init of_irq_init(const struct of_device_id *matches) · 150 unmodified lines
508 INIT_LIST_HEAD(&intc_parent_list);493 INIT_LIST_HEAD(&intc_parent_list);
509 494
510 for_each_matching_node_and_match(np, matches, &match) {495 for_each_matching_node_and_match(np, matches, &match) {
511 if (!of_find_property(np, "interrupt-controller", NULL) ||496 if (!of_property_read_bool(np, "interrupt-controller") ||
512 !of_device_is_available(np))497 !of_device_is_available(np))
513 continue;498 continue;
514 499
@@ -555,8 +540,8 @@ void __init of_irq_init(const struct of_device_id *matches) · 40 unmodified lines
555 540
556 of_node_set_flag(desc->dev, OF_POPULATED);541 of_node_set_flag(desc->dev, OF_POPULATED);
557 542
558 pr_debug("of_irq_init: init %s (%p), parent %p\n",543 pr_debug("of_irq_init: init %pOF (%p), parent %p\n",
559 desc->dev->full_name,544 desc->dev,
560 desc->dev, desc->interrupt_parent);545 desc->dev, desc->interrupt_parent);
561 ret = desc->irq_init_cb(desc->dev,546 ret = desc->irq_init_cb(desc->dev,
562 desc->interrupt_parent);547 desc->interrupt_parent);
drivers/of/of_mdio.c+2−2
@@ -166,8 +166,8 @@ static bool of_mdiobus_child_is_phy(struct device_node *child) · 165 unmodified lines
166 166
167 if (of_match_node(whitelist_phys, child)) {167 if (of_match_node(whitelist_phys, child)) {
168 pr_warn(FW_WARN168 pr_warn(FW_WARN
169 "%s: Whitelisted compatible string. Please remove\n",169 "%pOF: Whitelisted compatible string. Please remove\n",
170 child->full_name);170 child);
171 return true;171 return true;
172 }172 }
173 173
drivers/of/of_pci.c+34−38
@@ -57,15 +57,14 @@ EXPORT_SYMBOL_GPL(of_pci_find_child_device); · 56 unmodified lines
57 */57 */
58int of_pci_get_devfn(struct device_node *np)58int of_pci_get_devfn(struct device_node *np)
59{59{
60 unsigned int size;60 u32 reg[5];
61 const __be32 *reg;61 int error;
62 62
63 reg = of_get_property(np, "reg", &size);63 error = of_property_read_u32_array(np, "reg", reg, ARRAY_SIZE(reg));
64 if (error)
65 return error;
64 66
65 if (!reg || size < 5 * sizeof(__be32))67 return (reg[0] >> 8) & 0xff;
66 return -EINVAL;
67
68 return (be32_to_cpup(reg) >> 8) & 0xff;
69}68}
70EXPORT_SYMBOL_GPL(of_pci_get_devfn);69EXPORT_SYMBOL_GPL(of_pci_get_devfn);
71 70
@@ -78,16 +77,17 @@ EXPORT_SYMBOL_GPL(of_pci_get_devfn); · 6 unmodified lines
78 */77 */
79int of_pci_parse_bus_range(struct device_node *node, struct resource *res)78int of_pci_parse_bus_range(struct device_node *node, struct resource *res)
80{79{
81 const __be32 *values;80 u32 bus_range[2];
82 int len;81 int error;
83 82
84 values = of_get_property(node, "bus-range", &len);83 error = of_property_read_u32_array(node, "bus-range", bus_range,
85 if (!values || len < sizeof(*values) * 2)84 ARRAY_SIZE(bus_range));
86 return -EINVAL;85 if (error)
86 return error;
87 87
88 res->name = node->name;88 res->name = node->name;
89 res->start = be32_to_cpup(values++);89 res->start = bus_range[0];
90 res->end = be32_to_cpup(values);90 res->end = bus_range[1];
91 res->flags = IORESOURCE_BUS;91 res->flags = IORESOURCE_BUS;
92 92
93 return 0;93 return 0;
@@ -105,17 +105,14 @@ EXPORT_SYMBOL_GPL(of_pci_parse_bus_range); · 11 unmodified lines
105 */105 */
106int of_get_pci_domain_nr(struct device_node *node)106int of_get_pci_domain_nr(struct device_node *node)
107{107{
108 const __be32 *value;108 u32 domain;
109 int len;109 int error;
110 u16 domain;
111
112 value = of_get_property(node, "linux,pci-domain", &len);
113 if (!value || len < sizeof(*value))
114 return -EINVAL;
115 110
116 domain = (u16)be32_to_cpup(value);111 error = of_property_read_u32(node, "linux,pci-domain", &domain);
112 if (error)
113 return error;
117 114
118 return domain;115 return (u16)domain;
119}116}
120EXPORT_SYMBOL_GPL(of_get_pci_domain_nr);117EXPORT_SYMBOL_GPL(of_get_pci_domain_nr);
121 118
@@ -204,15 +201,15 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, · 82 unmodified lines
204 if (!bus_range)201 if (!bus_range)
205 return -ENOMEM;202 return -ENOMEM;
206 203
207 pr_info("host bridge %s ranges:\n", dev->full_name);204 pr_info("host bridge %pOF ranges:\n", dev);
208 205
209 err = of_pci_parse_bus_range(dev, bus_range);206 err = of_pci_parse_bus_range(dev, bus_range);
210 if (err) {207 if (err) {
211 bus_range->start = busno;208 bus_range->start = busno;
212 bus_range->end = bus_max;209 bus_range->end = bus_max;
213 bus_range->flags = IORESOURCE_BUS;210 bus_range->flags = IORESOURCE_BUS;
214 pr_info(" No bus range found for %s, using %pR\n",211 pr_info(" No bus range found for %pOF, using %pR\n",
215 dev->full_name, bus_range);212 dev, bus_range);
216 } else {213 } else {
217 if (bus_range->end > bus_range->start + bus_max)214 if (bus_range->end > bus_range->start + bus_max)
218 bus_range->end = bus_range->start + bus_max;215 bus_range->end = bus_range->start + bus_max;
@@ -258,14 +255,14 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, · 39 unmodified lines
258 255
259 if (resource_type(res) == IORESOURCE_IO) {256 if (resource_type(res) == IORESOURCE_IO) {
260 if (!io_base) {257 if (!io_base) {
261 pr_err("I/O range found for %s. Please provide an io_base pointer to save CPU base address\n",258 pr_err("I/O range found for %pOF. Please provide an io_base pointer to save CPU base address\n",
262 dev->full_name);259 dev);
263 err = -EINVAL;260 err = -EINVAL;
264 goto conversion_failed;261 goto conversion_failed;
265 }262 }
266 if (*io_base != (resource_size_t)OF_BAD_ADDR)263 if (*io_base != (resource_size_t)OF_BAD_ADDR)
267 pr_warn("More than one I/O resource converted for %s. CPU base address for old range lost!\n",264 pr_warn("More than one I/O resource converted for %pOF. CPU base address for old range lost!\n",
268 dev->full_name);265 dev);
269 *io_base = range.cpu_addr;266 *io_base = range.cpu_addr;
270 }267 }
271 268
@@ -325,7 +322,7 @@ int of_pci_map_rid(struct device_node *np, u32 rid, · 53 unmodified lines
325 }322 }
326 323
327 if (!map_len || map_len % (4 * sizeof(*map))) {324 if (!map_len || map_len % (4 * sizeof(*map))) {
328 pr_err("%s: Error: Bad %s length: %d\n", np->full_name,325 pr_err("%pOF: Error: Bad %s length: %d\n", np,
329 map_name, map_len);326 map_name, map_len);
330 return -EINVAL;327 return -EINVAL;
331 }328 }
@@ -349,8 +346,8 @@ int of_pci_map_rid(struct device_node *np, u32 rid, · 17 unmodified lines
349 u32 rid_len = be32_to_cpup(map + 3);346 u32 rid_len = be32_to_cpup(map + 3);
350 347
351 if (rid_base & ~map_mask) {348 if (rid_base & ~map_mask) {
352 pr_err("%s: Invalid %s translation - %s-mask (0x%x) ignores rid-base (0x%x)\n",349 pr_err("%pOF: Invalid %s translation - %s-mask (0x%x) ignores rid-base (0x%x)\n",
353 np->full_name, map_name, map_name,350 np, map_name, map_name,
354 map_mask, rid_base);351 map_mask, rid_base);
355 return -EFAULT;352 return -EFAULT;
356 }353 }
@@ -375,14 +372,13 @@ int of_pci_map_rid(struct device_node *np, u32 rid, · 18 unmodified lines
375 if (id_out)372 if (id_out)
376 *id_out = masked_rid - rid_base + out_base;373 *id_out = masked_rid - rid_base + out_base;
377 374
378 pr_debug("%s: %s, using mask %08x, rid-base: %08x, out-base: %08x, length: %08x, rid: %08x -> %08x\n",375 pr_debug("%pOF: %s, using mask %08x, rid-base: %08x, out-base: %08x, length: %08x, rid: %08x -> %08x\n",
379 np->full_name, map_name, map_mask, rid_base, out_base,376 np, map_name, map_mask, rid_base, out_base,
380 rid_len, rid, *id_out);377 rid_len, rid, *id_out);
381 return 0;378 return 0;
382 }379 }
383 380
384 pr_err("%s: Invalid %s translation - no match for rid 0x%x on %s\n",381 pr_err("%pOF: Invalid %s translation - no match for rid 0x%x on %pOF\n",
385 np->full_name, map_name, rid,382 np, map_name, rid, target && *target ? *target : NULL);
386 target && *target ? (*target)->full_name : "any target");
387 return -EFAULT;383 return -EFAULT;
388}384}
drivers/of/overlay.c+121−21
@@ -35,6 +35,7 @@ · 34 unmodified lines
35struct of_overlay_info {35struct of_overlay_info {
36 struct device_node *target;36 struct device_node *target;
37 struct device_node *overlay;37 struct device_node *overlay;
38 bool is_symbols_node;
38};39};
39 40
40/**41/**
@@ -55,7 +56,8 @@ struct of_overlay { · 14 unmodified lines
55};56};
56 57
57static int of_overlay_apply_one(struct of_overlay *ov,58static int of_overlay_apply_one(struct of_overlay *ov,
58 struct device_node *target, const struct device_node *overlay);59 struct device_node *target, const struct device_node *overlay,
60 bool is_symbols_node);
59 61
60static BLOCKING_NOTIFIER_HEAD(of_overlay_chain);62static BLOCKING_NOTIFIER_HEAD(of_overlay_chain);
61 63
@@ -92,10 +94,74 @@ static int of_overlay_notify(struct of_overlay *ov, · 30 unmodified lines
92 return 0;94 return 0;
93}95}
94 96
97static struct property *dup_and_fixup_symbol_prop(struct of_overlay *ov,
98 const struct property *prop)
99{
100 struct of_overlay_info *ovinfo;
101 struct property *new;
102 const char *overlay_name;
103 char *label_path;
104 char *symbol_path;
105 const char *target_path;
106 int k;
107 int label_path_len;
108 int overlay_name_len;
109 int target_path_len;
110
111 if (!prop->value)
112 return NULL;
113 symbol_path = prop->value;
114
115 new = kzalloc(sizeof(*new), GFP_KERNEL);
116 if (!new)
117 return NULL;
118
119 for (k = 0; k < ov->count; k++) {
120 ovinfo = &ov->ovinfo_tab[k];
121 overlay_name = ovinfo->overlay->full_name;
122 overlay_name_len = strlen(overlay_name);
123 if (!strncasecmp(symbol_path, overlay_name, overlay_name_len))
124 break;
125 }
126
127 if (k >= ov->count)
128 goto err_free;
129
130 target_path = ovinfo->target->full_name;
131 target_path_len = strlen(target_path);
132
133 label_path = symbol_path + overlay_name_len;
134 label_path_len = strlen(label_path);
135
136 new->name = kstrdup(prop->name, GFP_KERNEL);
137 new->length = target_path_len + label_path_len + 1;
138 new->value = kzalloc(new->length, GFP_KERNEL);
139
140 if (!new->name || !new->value)
141 goto err_free;
142
143 strcpy(new->value, target_path);
144 strcpy(new->value + target_path_len, label_path);
145
146 /* mark the property as dynamic */
147 of_property_set_flag(new, OF_DYNAMIC);
148
149 return new;
150
151 err_free:
152 kfree(new->name);
153 kfree(new->value);
154 kfree(new);
155 return NULL;
156
157
158}
159
95static int of_overlay_apply_single_property(struct of_overlay *ov,160static int of_overlay_apply_single_property(struct of_overlay *ov,
96 struct device_node *target, struct property *prop)161 struct device_node *target, struct property *prop,
162 bool is_symbols_node)
97{163{
98 struct property *propn, *tprop;164 struct property *propn = NULL, *tprop;
99 165
100 /* NOTE: Multiple changes of single properties not supported */166 /* NOTE: Multiple changes of single properties not supported */
101 tprop = of_find_property(target, prop->name, NULL);167 tprop = of_find_property(target, prop->name, NULL);
@@ -106,7 +172,15 @@ static int of_overlay_apply_single_property(struct of_overlay *ov, · 4 unmodified lines
106 of_prop_cmp(prop->name, "linux,phandle") == 0)172 of_prop_cmp(prop->name, "linux,phandle") == 0)
107 return 0;173 return 0;
108 174
109 propn = __of_prop_dup(prop, GFP_KERNEL);175 if (is_symbols_node) {
176 /* changing a property in __symbols__ node not allowed */
177 if (tprop)
178 return -EINVAL;
179 propn = dup_and_fixup_symbol_prop(ov, prop);
180 } else {
181 propn = __of_prop_dup(prop, GFP_KERNEL);
182 }
183
110 if (propn == NULL)184 if (propn == NULL)
111 return -ENOMEM;185 return -ENOMEM;
112 186
@@ -130,18 +204,21 @@ static int of_overlay_apply_single_device_node(struct of_overlay *ov, · 17 unmodified lines
130 return -ENOMEM;204 return -ENOMEM;
131 205
132 /* NOTE: Multiple mods of created nodes not supported */206 /* NOTE: Multiple mods of created nodes not supported */
133 tchild = of_get_child_by_name(target, cname);207 for_each_child_of_node(target, tchild)
208 if (!of_node_cmp(cname, kbasename(tchild->full_name)))
209 break;
210
134 if (tchild != NULL) {211 if (tchild != NULL) {
135 /* new overlay phandle value conflicts with existing value */212 /* new overlay phandle value conflicts with existing value */
136 if (child->phandle)213 if (child->phandle)
137 return -EINVAL;214 return -EINVAL;
138 215
139 /* apply overlay recursively */216 /* apply overlay recursively */
140 ret = of_overlay_apply_one(ov, tchild, child);217 ret = of_overlay_apply_one(ov, tchild, child, 0);
141 of_node_put(tchild);218 of_node_put(tchild);
142 } else {219 } else {
143 /* create empty tree as a target */220 /* create empty tree as a target */
144 tchild = __of_node_dup(child, "%s/%s", target->full_name, cname);221 tchild = __of_node_dup(child, "%pOF/%s", target, cname);
145 if (!tchild)222 if (!tchild)
146 return -ENOMEM;223 return -ENOMEM;
147 224
@@ -152,7 +229,7 @@ static int of_overlay_apply_single_device_node(struct of_overlay *ov, · 4 unmodified lines
152 if (ret)229 if (ret)
153 return ret;230 return ret;
154 231
155 ret = of_overlay_apply_one(ov, tchild, child);232 ret = of_overlay_apply_one(ov, tchild, child, 0);
156 if (ret)233 if (ret)
157 return ret;234 return ret;
158 }235 }
@@ -168,26 +245,32 @@ static int of_overlay_apply_single_device_node(struct of_overlay *ov, · 9 unmodified lines
168 * by using the changeset.245 * by using the changeset.
169 */246 */
170static int of_overlay_apply_one(struct of_overlay *ov,247static int of_overlay_apply_one(struct of_overlay *ov,
171 struct device_node *target, const struct device_node *overlay)248 struct device_node *target, const struct device_node *overlay,
249 bool is_symbols_node)
172{250{
173 struct device_node *child;251 struct device_node *child;
174 struct property *prop;252 struct property *prop;
175 int ret;253 int ret;
176 254
177 for_each_property_of_node(overlay, prop) {255 for_each_property_of_node(overlay, prop) {
178 ret = of_overlay_apply_single_property(ov, target, prop);256 ret = of_overlay_apply_single_property(ov, target, prop,
257 is_symbols_node);
179 if (ret) {258 if (ret) {
180 pr_err("Failed to apply prop @%s/%s\n",259 pr_err("Failed to apply prop @%pOF/%s\n",
181 target->full_name, prop->name);260 target, prop->name);
182 return ret;261 return ret;
183 }262 }
184 }263 }
185 264
265 /* do not allow symbols node to have any children */
266 if (is_symbols_node)
267 return 0;
268
186 for_each_child_of_node(overlay, child) {269 for_each_child_of_node(overlay, child) {
187 ret = of_overlay_apply_single_device_node(ov, target, child);270 ret = of_overlay_apply_single_device_node(ov, target, child);
188 if (ret != 0) {271 if (ret != 0) {
189 pr_err("Failed to apply single node @%s/%s\n",272 pr_err("Failed to apply single node @%pOF/%s\n",
190 target->full_name, child->name);273 target, child->name);
191 of_node_put(child);274 of_node_put(child);
192 return ret;275 return ret;
193 }276 }
@@ -213,9 +296,10 @@ static int of_overlay_apply(struct of_overlay *ov) · 19 unmodified lines
213 for (i = 0; i < ov->count; i++) {296 for (i = 0; i < ov->count; i++) {
214 struct of_overlay_info *ovinfo = &ov->ovinfo_tab[i];297 struct of_overlay_info *ovinfo = &ov->ovinfo_tab[i];
215 298
216 err = of_overlay_apply_one(ov, ovinfo->target, ovinfo->overlay);299 err = of_overlay_apply_one(ov, ovinfo->target, ovinfo->overlay,
300 ovinfo->is_symbols_node);
217 if (err != 0) {301 if (err != 0) {
218 pr_err("apply failed '%s'\n", ovinfo->target->full_name);302 pr_err("apply failed '%pOF'\n", ovinfo->target);
219 return err;303 return err;
220 }304 }
221 }305 }
@@ -311,6 +395,9 @@ static int of_build_overlay_info(struct of_overlay *ov, · 89 unmodified lines
311 for_each_child_of_node(tree, node)395 for_each_child_of_node(tree, node)
312 cnt++;396 cnt++;
313 397
398 if (of_get_child_by_name(tree, "__symbols__"))
399 cnt++;
400
314 ovinfo = kcalloc(cnt, sizeof(*ovinfo), GFP_KERNEL);401 ovinfo = kcalloc(cnt, sizeof(*ovinfo), GFP_KERNEL);
315 if (ovinfo == NULL)402 if (ovinfo == NULL)
316 return -ENOMEM;403 return -ENOMEM;
@@ -322,6 +409,20 @@ static int of_build_overlay_info(struct of_overlay *ov, · 5 unmodified lines
322 cnt++;409 cnt++;
323 }410 }
324 411
412 node = of_get_child_by_name(tree, "__symbols__");
413 if (node) {
414 ovinfo[cnt].overlay = node;
415 ovinfo[cnt].target = of_find_node_by_path("/__symbols__");
416 ovinfo[cnt].is_symbols_node = 1;
417
418 if (!ovinfo[cnt].target) {
419 pr_err("no symbols in root of device tree.\n");
420 return -EINVAL;
421 }
422
423 cnt++;
424 }
425
325 /* if nothing filled, return error */426 /* if nothing filled, return error */
326 if (cnt == 0) {427 if (cnt == 0) {
327 kfree(ovinfo);428 kfree(ovinfo);
@@ -400,8 +501,8 @@ int of_overlay_create(struct device_node *tree) · 72 unmodified lines
400 /* build the overlay info structures */501 /* build the overlay info structures */
401 err = of_build_overlay_info(ov, tree);502 err = of_build_overlay_info(ov, tree);
402 if (err) {503 if (err) {
403 pr_err("of_build_overlay_info() failed for tree@%s\n",504 pr_err("of_build_overlay_info() failed for tree@%pOF\n",
404 tree->full_name);505 tree);
405 goto err_free_idr;506 goto err_free_idr;
406 }507 }
407 508
@@ -480,9 +581,8 @@ static int overlay_is_topmost(struct of_overlay *ov, struct device_node *dn) · 72 unmodified lines
480 /* check against each subtree affected by this overlay */581 /* check against each subtree affected by this overlay */
481 list_for_each_entry(ce, &ovt->cset.entries, node) {582 list_for_each_entry(ce, &ovt->cset.entries, node) {
482 if (overlay_subtree_check(ce->np, dn)) {583 if (overlay_subtree_check(ce->np, dn)) {
483 pr_err("%s: #%d clashes #%d @%s\n",584 pr_err("%s: #%d clashes #%d @%pOF\n",
484 __func__, ov->id, ovt->id,585 __func__, ov->id, ovt->id, dn);
485 dn->full_name);
486 return 0;586 return 0;
487 }587 }
488 }588 }
drivers/of/platform.c+17−17
@@ -118,7 +118,7 @@ struct platform_device *of_device_alloc(struct device_node *np, · 117 unmodified lines
118 int rc, i, num_reg = 0, num_irq;118 int rc, i, num_reg = 0, num_irq;
119 struct resource *res, temp_res;119 struct resource *res, temp_res;
120 120
121 dev = platform_device_alloc("", -1);121 dev = platform_device_alloc("", PLATFORM_DEVID_NONE);
122 if (!dev)122 if (!dev)
123 return NULL;123 return NULL;
124 124
@@ -228,7 +228,7 @@ static struct amba_device *of_amba_device_create(struct device_node *node, · 103 unmodified lines
228 const void *prop;228 const void *prop;
229 int i, ret;229 int i, ret;
230 230
231 pr_debug("Creating amba device %s\n", node->full_name);231 pr_debug("Creating amba device %pOF\n", node);
232 232
233 if (!of_device_is_available(node) ||233 if (!of_device_is_available(node) ||
234 of_node_test_and_set_flag(node, OF_POPULATED))234 of_node_test_and_set_flag(node, OF_POPULATED))
@@ -259,15 +259,15 @@ static struct amba_device *of_amba_device_create(struct device_node *node, · 24 unmodified lines
259 259
260 ret = of_address_to_resource(node, 0, &dev->res);260 ret = of_address_to_resource(node, 0, &dev->res);
261 if (ret) {261 if (ret) {
262 pr_err("amba: of_address_to_resource() failed (%d) for %s\n",262 pr_err("amba: of_address_to_resource() failed (%d) for %pOF\n",
263 ret, node->full_name);263 ret, node);
264 goto err_free;264 goto err_free;
265 }265 }
266 266
267 ret = amba_device_add(dev, &iomem_resource);267 ret = amba_device_add(dev, &iomem_resource);
268 if (ret) {268 if (ret) {
269 pr_err("amba_device_add() failed (%d) for %s\n",269 pr_err("amba_device_add() failed (%d) for %pOF\n",
270 ret, node->full_name);270 ret, node);
271 goto err_free;271 goto err_free;
272 }272 }
273 273
@@ -310,7 +310,7 @@ static const struct of_dev_auxdata *of_dev_lookup(const struct of_dev_auxdata *l · 36 unmodified lines
310 if (!of_address_to_resource(np, 0, &res))310 if (!of_address_to_resource(np, 0, &res))
311 if (res.start != auxdata->phys_addr)311 if (res.start != auxdata->phys_addr)
312 continue;312 continue;
313 pr_debug("%s: devname=%s\n", np->full_name, auxdata->name);313 pr_debug("%pOF: devname=%s\n", np, auxdata->name);
314 return auxdata;314 return auxdata;
315 }315 }
316 316
@@ -323,7 +323,7 @@ static const struct of_dev_auxdata *of_dev_lookup(const struct of_dev_auxdata *l · 6 unmodified lines
323 if (!of_device_is_compatible(np, auxdata->compatible))323 if (!of_device_is_compatible(np, auxdata->compatible))
324 continue;324 continue;
325 if (!auxdata->phys_addr && !auxdata->name) {325 if (!auxdata->phys_addr && !auxdata->name) {
326 pr_debug("%s: compatible match\n", np->full_name);326 pr_debug("%pOF: compatible match\n", np);
327 return auxdata;327 return auxdata;
328 }328 }
329 }329 }
@@ -356,14 +356,14 @@ static int of_platform_bus_create(struct device_node *bus, · 26 unmodified lines
356 356
357 /* Make sure it has a compatible property */357 /* Make sure it has a compatible property */
358 if (strict && (!of_get_property(bus, "compatible", NULL))) {358 if (strict && (!of_get_property(bus, "compatible", NULL))) {
359 pr_debug("%s() - skipping %s, no compatible prop\n",359 pr_debug("%s() - skipping %pOF, no compatible prop\n",
360 __func__, bus->full_name);360 __func__, bus);
361 return 0;361 return 0;
362 }362 }
363 363
364 if (of_node_check_flag(bus, OF_POPULATED_BUS)) {364 if (of_node_check_flag(bus, OF_POPULATED_BUS)) {
365 pr_debug("%s() - skipping %s, already populated\n",365 pr_debug("%s() - skipping %pOF, already populated\n",
366 __func__, bus->full_name);366 __func__, bus);
367 return 0;367 return 0;
368 }368 }
369 369
@@ -387,7 +387,7 @@ static int of_platform_bus_create(struct device_node *bus, · 17 unmodified lines
387 return 0;387 return 0;
388 388
389 for_each_child_of_node(bus, child) {389 for_each_child_of_node(bus, child) {
390 pr_debug(" create child: %s\n", child->full_name);390 pr_debug(" create child: %pOF\n", child);
391 rc = of_platform_bus_create(child, matches, lookup, &dev->dev, strict);391 rc = of_platform_bus_create(child, matches, lookup, &dev->dev, strict);
392 if (rc) {392 if (rc) {
393 of_node_put(child);393 of_node_put(child);
@@ -419,7 +419,7 @@ int of_platform_bus_probe(struct device_node *root, · 25 unmodified lines
419 return -EINVAL;419 return -EINVAL;
420 420
421 pr_debug("%s()\n", __func__);421 pr_debug("%s()\n", __func__);
422 pr_debug(" starting at: %s\n", root->full_name);422 pr_debug(" starting at: %pOF\n", root);
423 423
424 /* Do a self check of bus type, if there's a match, create children */424 /* Do a self check of bus type, if there's a match, create children */
425 if (of_match_node(matches, root)) {425 if (of_match_node(matches, root)) {
@@ -471,7 +471,7 @@ int of_platform_populate(struct device_node *root, · 45 unmodified lines
471 return -EINVAL;471 return -EINVAL;
472 472
473 pr_debug("%s()\n", __func__);473 pr_debug("%s()\n", __func__);
474 pr_debug(" starting at: %s\n", root->full_name);474 pr_debug(" starting at: %pOF\n", root);
475 475
476 for_each_child_of_node(root, child) {476 for_each_child_of_node(root, child) {
477 rc = of_platform_bus_create(child, matches, lookup, parent, true);477 rc = of_platform_bus_create(child, matches, lookup, parent, true);
@@ -660,8 +660,8 @@ static int of_platform_notify(struct notifier_block *nb, · 182 unmodified lines
660 of_dev_put(pdev_parent);660 of_dev_put(pdev_parent);
661 661
662 if (pdev == NULL) {662 if (pdev == NULL) {
663 pr_err("%s: failed to create for '%s'\n",663 pr_err("%s: failed to create for '%pOF'\n",
664 __func__, rd->dn->full_name);664 __func__, rd->dn);
665 /* of_platform_device_create tosses the error code */665 /* of_platform_device_create tosses the error code */
666 return notifier_from_errno(-EINVAL);666 return notifier_from_errno(-EINVAL);
667 }667 }
drivers/of/property.c+11−12
@@ -55,8 +55,8 @@ int of_property_count_elems_of_size(const struct device_node *np, · 54 unmodified lines
55 return -ENODATA;55 return -ENODATA;
56 56
57 if (prop->length % elem_size != 0) {57 if (prop->length % elem_size != 0) {
58 pr_err("size of %s in node %s is not a multiple of %d\n",58 pr_err("size of %s in node %pOF is not a multiple of %d\n",
59 propname, np->full_name, elem_size);59 propname, np, elem_size);
60 return -EINVAL;60 return -EINVAL;
61 }61 }
62 62
@@ -537,8 +537,8 @@ int of_graph_parse_endpoint(const struct device_node *node, · 474 unmodified lines
537{537{
538 struct device_node *port_node = of_get_parent(node);538 struct device_node *port_node = of_get_parent(node);
539 539
540 WARN_ONCE(!port_node, "%s(): endpoint %s has no parent node\n",540 WARN_ONCE(!port_node, "%s(): endpoint %pOF has no parent node\n",
541 __func__, node->full_name);541 __func__, node);
542 542
543 memset(endpoint, 0, sizeof(*endpoint));543 memset(endpoint, 0, sizeof(*endpoint));
544 544
@@ -621,14 +621,13 @@ struct device_node *of_graph_get_next_endpoint(const struct device_node *parent, · 76 unmodified lines
621 of_node_put(node);621 of_node_put(node);
622 622
623 if (!port) {623 if (!port) {
624 pr_err("graph: no port node found in %s\n",624 pr_err("graph: no port node found in %pOF\n", parent);
625 parent->full_name);
626 return NULL;625 return NULL;
627 }626 }
628 } else {627 } else {
629 port = of_get_parent(prev);628 port = of_get_parent(prev);
630 if (WARN_ONCE(!port, "%s(): endpoint %s has no parent node\n",629 if (WARN_ONCE(!port, "%s(): endpoint %pOF has no parent node\n",
631 __func__, prev->full_name))630 __func__, prev))
632 return NULL;631 return NULL;
633 }632 }
634 633
@@ -797,8 +796,8 @@ struct device_node *of_graph_get_remote_node(const struct device_node *node, · 162 unmodified lines
797 796
798 endpoint_node = of_graph_get_endpoint_by_regs(node, port, endpoint);797 endpoint_node = of_graph_get_endpoint_by_regs(node, port, endpoint);
799 if (!endpoint_node) {798 if (!endpoint_node) {
800 pr_debug("no valid endpoint (%d, %d) for node %s\n",799 pr_debug("no valid endpoint (%d, %d) for node %pOF\n",
801 port, endpoint, node->full_name);800 port, endpoint, node);
802 return NULL;801 return NULL;
803 }802 }
804 803
@@ -945,8 +944,8 @@ of_fwnode_graph_get_next_endpoint(const struct fwnode_handle *fwnode, · 140 unmodified lines
945static struct fwnode_handle *944static struct fwnode_handle *
946of_fwnode_graph_get_remote_endpoint(const struct fwnode_handle *fwnode)945of_fwnode_graph_get_remote_endpoint(const struct fwnode_handle *fwnode)
947{946{
948 return of_fwnode_handle(of_parse_phandle(to_of_node(fwnode),947 return of_fwnode_handle(
949 "remote-endpoint", 0));948 of_graph_get_remote_endpoint(to_of_node(fwnode)));
950}949}
951 950
952static struct fwnode_handle *951static struct fwnode_handle *
drivers/of/unittest-data/Makefile+14−5
@@ -1,18 +1,27 @@
1obj-y += testcases.dtb.o1obj-y += testcases.dtb.o
2
3targets += testcases.dtb testcases.dtb.S
4
5ifdef CONFIG_OF_OVERLAY
6
2obj-y += overlay.dtb.o7obj-y += overlay.dtb.o
3obj-y += overlay_bad_phandle.dtb.o8obj-y += overlay_bad_phandle.dtb.o
9obj-y += overlay_bad_symbol.dtb.o
4obj-y += overlay_base.dtb.o10obj-y += overlay_base.dtb.o
5 11
6targets += testcases.dtb testcases.dtb.S
7targets += overlay.dtb overlay.dtb.S12targets += overlay.dtb overlay.dtb.S
8targets += overlay_bad_phandle.dtb overlay_bad_phandle.dtb.S13targets += overlay_bad_phandle.dtb overlay_bad_phandle.dtb.S
14targets += overlay_bad_symbol.dtb overlay_bad_symbol.dtb.S
9targets += overlay_base.dtb overlay_base.dtb.S15targets += overlay_base.dtb overlay_base.dtb.S
10 16
11.PRECIOUS: \
12 $(obj)/%.dtb.S \
13 $(obj)/%.dtb
14
15# enable creation of __symbols__ node17# enable creation of __symbols__ node
16DTC_FLAGS_overlay := -@18DTC_FLAGS_overlay := -@
17DTC_FLAGS_overlay_bad_phandle := -@19DTC_FLAGS_overlay_bad_phandle := -@
20DTC_FLAGS_overlay_bad_symbol := -@
18DTC_FLAGS_overlay_base := -@21DTC_FLAGS_overlay_base := -@
22
23endif
24
25.PRECIOUS: \
26 $(obj)/%.dtb.S \
27 $(obj)/%.dtb
drivers/of/unittest-data/overlay.dts+27−4
@@ -7,7 +7,7 @@ · 6 unmodified lines
7 target = <&electric_1>;7 target = <&electric_1>;
8 8
9 __overlay__ {9 __overlay__ {
10 status = "ok";10 status = "okay";
11 11
12 hvac_2: hvac-large-1 {12 hvac_2: hvac-large-1 {
13 compatible = "ot,hvac-large";13 compatible = "ot,hvac-large";
@@ -23,9 +23,24 @@ · 9 unmodified lines
23 __overlay__ {23 __overlay__ {
24 #address-cells = <1>;24 #address-cells = <1>;
25 #size-cells = <1>;25 #size-cells = <1>;
26 status = "ok";26 status = "okay";
27 27
28 ride@200 {28 ride@100 {
29 #address-cells = <1>;
30 #size-cells = <1>;
31
32 track@30 {
33 incline-up = < 48 32 16 >;
34 };
35
36 track@40 {
37 incline-up = < 47 31 15 >;
38 };
39 };
40
41 ride_200: ride@200 {
42 #address-cells = <1>;
43 #size-cells = <1>;
29 compatible = "ot,ferris-wheel";44 compatible = "ot,ferris-wheel";
30 reg = < 0x00000200 0x100 >;45 reg = < 0x00000200 0x100 >;
31 hvac-provider = < &hvac_2 >;46 hvac-provider = < &hvac_2 >;
@@ -36,6 +51,14 @@ · 4 unmodified lines
36 spin-rph = < 30 >;51 spin-rph = < 30 >;
37 gondolas = < 16 >;52 gondolas = < 16 >;
38 gondola-capacity = < 6 >;53 gondola-capacity = < 6 >;
54
55 ride_200_left: track@10 {
56 reg = < 0x00000010 0x10 >;
57 };
58
59 ride_200_right: track@20 {
60 reg = < 0x00000020 0x10 >;
61 };
39 };62 };
40 };63 };
41 };64 };
@@ -44,7 +67,7 @@ · 2 unmodified lines
44 target = <&lights_2>;67 target = <&lights_2>;
45 68
46 __overlay__ {69 __overlay__ {
47 status = "ok";70 status = "okay";
48 color = "purple", "white", "red", "green";71 color = "purple", "white", "red", "green";
49 rate = < 3 256 >;72 rate = < 3 256 >;
50 };73 };
drivers/of/unittest-data/overlay_bad_symbol.dts+22−0
@@ -0,0 +1,22 @@
1/dts-v1/;
2/plugin/;
3
4/ {
5
6 fragment@0 {
7 target = <&electric_1>;
8
9 __overlay__ {
10
11 // This label should cause an error when the overlay
12 // is applied. There is already a symbol hvac_1
13 // in the base tree
14 hvac_1: hvac-medium-2 {
15 compatible = "ot,hvac-medium";
16 heat-range = < 50 75 >;
17 cool-range = < 60 80 >;
18 };
19
20 };
21 };
22};
drivers/of/unittest-data/overlay_base.dts+11−0
@@ -44,6 +44,8 @@ · 43 unmodified lines
44 orientation = < 127 >;44 orientation = < 127 >;
45 45
46 ride@100 {46 ride@100 {
47 #address-cells = <1>;
48 #size-cells = <1>;
47 compatible = "ot,roller-coaster";49 compatible = "ot,roller-coaster";
48 reg = < 0x00000100 0x100 >;50 reg = < 0x00000100 0x100 >;
49 hvac-provider = < &hvac_1 >;51 hvac-provider = < &hvac_1 >;
@@ -53,6 +55,15 @@ · 3 unmodified lines
53 spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >;55 spin-controller = < &spin_ctrl_2 5 &spin_ctrl_2 7 >;
54 spin-controller-names = "track_1", "track_2";56 spin-controller-names = "track_1", "track_2";
55 queues = < 2 >;57 queues = < 2 >;
58
59 track@30 {
60 reg = < 0x00000030 0x10 >;
61 };
62
63 track@40 {
64 reg = < 0x00000040 0x10 >;
65 };
66
56 };67 };
57 };68 };
58 69
drivers/of/unittest.c+47−30
@@ -46,46 +46,54 @@ static struct unittest_results { · 45 unmodified lines
46static void __init of_unittest_find_node_by_name(void)46static void __init of_unittest_find_node_by_name(void)
47{47{
48 struct device_node *np;48 struct device_node *np;
49 const char *options;49 const char *options, *name;
50 50
51 np = of_find_node_by_path("/testcase-data");51 np = of_find_node_by_path("/testcase-data");
52 unittest(np && !strcmp("/testcase-data", np->full_name),52 name = kasprintf(GFP_KERNEL, "%pOF", np);
53 unittest(np && !strcmp("/testcase-data", name),
53 "find /testcase-data failed\n");54 "find /testcase-data failed\n");
54 of_node_put(np);55 of_node_put(np);
56 kfree(name);
55 57
56 /* Test if trailing '/' works */58 /* Test if trailing '/' works */
57 np = of_find_node_by_path("/testcase-data/");59 np = of_find_node_by_path("/testcase-data/");
58 unittest(!np, "trailing '/' on /testcase-data/ should fail\n");60 unittest(!np, "trailing '/' on /testcase-data/ should fail\n");
59 61
60 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a");62 np = of_find_node_by_path("/testcase-data/phandle-tests/consumer-a");
61 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", np->full_name),63 name = kasprintf(GFP_KERNEL, "%pOF", np);
64 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", name),
62 "find /testcase-data/phandle-tests/consumer-a failed\n");65 "find /testcase-data/phandle-tests/consumer-a failed\n");
63 of_node_put(np);66 of_node_put(np);
67 kfree(name);
64 68
65 np = of_find_node_by_path("testcase-alias");69 np = of_find_node_by_path("testcase-alias");
66 unittest(np && !strcmp("/testcase-data", np->full_name),70 name = kasprintf(GFP_KERNEL, "%pOF", np);
71 unittest(np && !strcmp("/testcase-data", name),
67 "find testcase-alias failed\n");72 "find testcase-alias failed\n");
68 of_node_put(np);73 of_node_put(np);
74 kfree(name);
69 75
70 /* Test if trailing '/' works on aliases */76 /* Test if trailing '/' works on aliases */
71 np = of_find_node_by_path("testcase-alias/");77 np = of_find_node_by_path("testcase-alias/");
72 unittest(!np, "trailing '/' on testcase-alias/ should fail\n");78 unittest(!np, "trailing '/' on testcase-alias/ should fail\n");
73 79
74 np = of_find_node_by_path("testcase-alias/phandle-tests/consumer-a");80 np = of_find_node_by_path("testcase-alias/phandle-tests/consumer-a");
75 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", np->full_name),81 name = kasprintf(GFP_KERNEL, "%pOF", np);
82 unittest(np && !strcmp("/testcase-data/phandle-tests/consumer-a", name),
76 "find testcase-alias/phandle-tests/consumer-a failed\n");83 "find testcase-alias/phandle-tests/consumer-a failed\n");
77 of_node_put(np);84 of_node_put(np);
85 kfree(name);
78 86
79 np = of_find_node_by_path("/testcase-data/missing-path");87 np = of_find_node_by_path("/testcase-data/missing-path");
80 unittest(!np, "non-existent path returned node %s\n", np->full_name);88 unittest(!np, "non-existent path returned node %pOF\n", np);
81 of_node_put(np);89 of_node_put(np);
82 90
83 np = of_find_node_by_path("missing-alias");91 np = of_find_node_by_path("missing-alias");
84 unittest(!np, "non-existent alias returned node %s\n", np->full_name);92 unittest(!np, "non-existent alias returned node %pOF\n", np);
85 of_node_put(np);93 of_node_put(np);
86 94
87 np = of_find_node_by_path("testcase-alias/missing-path");95 np = of_find_node_by_path("testcase-alias/missing-path");
88 unittest(!np, "non-existent alias with relative path returned node %s\n", np->full_name);96 unittest(!np, "non-existent alias with relative path returned node %pOF\n", np);
89 of_node_put(np);97 of_node_put(np);
90 98
91 np = of_find_node_opts_by_path("/testcase-data:testoption", &options);99 np = of_find_node_opts_by_path("/testcase-data:testoption", &options);
@@ -315,8 +323,8 @@ static void __init of_unittest_check_phandles(void) · 223 unmodified lines
315 323
316 hash_for_each_possible(phandle_ht, nh, node, np->phandle) {324 hash_for_each_possible(phandle_ht, nh, node, np->phandle) {
317 if (nh->np->phandle == np->phandle) {325 if (nh->np->phandle == np->phandle) {
318 pr_info("Duplicate phandle! %i used by %s and %s\n",326 pr_info("Duplicate phandle! %i used by %pOF and %pOF\n",
319 np->phandle, nh->np->full_name, np->full_name);327 np->phandle, nh->np, np);
320 dup_count++;328 dup_count++;
321 break;329 break;
322 }330 }
@@ -406,8 +414,8 @@ static void __init of_unittest_parse_phandle_with_args(void) · 83 unmodified lines
406 passed = false;414 passed = false;
407 }415 }
408 416
409 unittest(passed, "index %i - data error on node %s rc=%i\n",417 unittest(passed, "index %i - data error on node %pOF rc=%i\n",
410 i, args.np->full_name, rc);418 i, args.np, rc);
411 }419 }
412 420
413 /* Check for missing list property */421 /* Check for missing list property */
@@ -590,7 +598,7 @@ static void __init of_unittest_changeset(void) · 176 unmodified lines
590 598
591 /* Make sure node names are constructed correctly */599 /* Make sure node names are constructed correctly */
592 unittest((np = of_find_node_by_path("/testcase-data/changeset/n2/n21")),600 unittest((np = of_find_node_by_path("/testcase-data/changeset/n2/n21")),
593 "'%s' not added\n", n21->full_name);601 "'%pOF' not added\n", n21);
594 of_node_put(np);602 of_node_put(np);
595 603
596 unittest(!of_changeset_revert(&chgset), "revert failed\n");604 unittest(!of_changeset_revert(&chgset), "revert failed\n");
@@ -621,8 +629,8 @@ static void __init of_unittest_parse_interrupts(void) · 24 unmodified lines
621 passed &= (args.args_count == 1);629 passed &= (args.args_count == 1);
622 passed &= (args.args[0] == (i + 1));630 passed &= (args.args[0] == (i + 1));
623 631
624 unittest(passed, "index %i - data error on node %s rc=%i\n",632 unittest(passed, "index %i - data error on node %pOF rc=%i\n",
625 i, args.np->full_name, rc);633 i, args.np, rc);
626 }634 }
627 of_node_put(np);635 of_node_put(np);
628 636
@@ -667,8 +675,8 @@ static void __init of_unittest_parse_interrupts(void) · 38 unmodified lines
667 default:675 default:
668 passed = false;676 passed = false;
669 }677 }
670 unittest(passed, "index %i - data error on node %s rc=%i\n",678 unittest(passed, "index %i - data error on node %pOF rc=%i\n",
671 i, args.np->full_name, rc);679 i, args.np, rc);
672 }680 }
673 of_node_put(np);681 of_node_put(np);
674}682}
@@ -737,8 +745,8 @@ static void __init of_unittest_parse_interrupts_extended(void) · 62 unmodified lines
737 passed = false;745 passed = false;
738 }746 }
739 747
740 unittest(passed, "index %i - data error on node %s rc=%i\n",748 unittest(passed, "index %i - data error on node %pOF rc=%i\n",
741 i, args.np->full_name, rc);749 i, args.np, rc);
742 }750 }
743 of_node_put(np);751 of_node_put(np);
744}752}
@@ -917,8 +925,11 @@ static int attach_node_and_children(struct device_node *np) · 172 unmodified lines
917{925{
918 struct device_node *next, *dup, *child;926 struct device_node *next, *dup, *child;
919 unsigned long flags;927 unsigned long flags;
928 const char *full_name;
920 929
921 dup = of_find_node_by_path(np->full_name);930 full_name = kasprintf(GFP_KERNEL, "%pOF", np);
931 dup = of_find_node_by_path(full_name);
932 kfree(full_name);
922 if (dup) {933 if (dup) {
923 update_node_properties(np, dup);934 update_node_properties(np, dup);
924 return 0;935 return 0;
@@ -1023,7 +1034,7 @@ static int unittest_probe(struct platform_device *pdev) · 98 unmodified lines
1023 1034
1024 }1035 }
1025 1036
1026 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1037 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1027 1038
1028 of_platform_populate(np, NULL, NULL, &pdev->dev);1039 of_platform_populate(np, NULL, NULL, &pdev->dev);
1029 1040
@@ -1035,7 +1046,7 @@ static int unittest_remove(struct platform_device *pdev) · 5 unmodified lines
1035 struct device *dev = &pdev->dev;1046 struct device *dev = &pdev->dev;
1036 struct device_node *np = dev->of_node;1047 struct device_node *np = dev->of_node;
1037 1048
1038 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1049 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1039 return 0;1050 return 0;
1040}1051}
1041 1052
@@ -1649,7 +1660,7 @@ static int unittest_i2c_bus_probe(struct platform_device *pdev) · 607 unmodified lines
1649 1660
1650 }1661 }
1651 1662
1652 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1663 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1653 1664
1654 std = devm_kzalloc(dev, sizeof(*std), GFP_KERNEL);1665 std = devm_kzalloc(dev, sizeof(*std), GFP_KERNEL);
1655 if (!std) {1666 if (!std) {
@@ -1687,7 +1698,7 @@ static int unittest_i2c_bus_remove(struct platform_device *pdev) · 31 unmodified lines
1687 struct device_node *np = dev->of_node;1698 struct device_node *np = dev->of_node;
1688 struct unittest_i2c_bus_data *std = platform_get_drvdata(pdev);1699 struct unittest_i2c_bus_data *std = platform_get_drvdata(pdev);
1689 1700
1690 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1701 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1691 i2c_del_adapter(&std->adap);1702 i2c_del_adapter(&std->adap);
1692 1703
1693 return 0;1704 return 0;
@@ -1718,7 +1729,7 @@ static int unittest_i2c_dev_probe(struct i2c_client *client, · 24 unmodified lines
1718 return -EINVAL;1729 return -EINVAL;
1719 }1730 }
1720 1731
1721 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1732 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1722 1733
1723 return 0;1734 return 0;
1724};1735};
@@ -1728,7 +1739,7 @@ static int unittest_i2c_dev_remove(struct i2c_client *client) · 3 unmodified lines
1728 struct device *dev = &client->dev;1739 struct device *dev = &client->dev;
1729 struct device_node *np = client->dev.of_node;1740 struct device_node *np = client->dev.of_node;
1730 1741
1731 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1742 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1732 return 0;1743 return 0;
1733}1744}
1734 1745
@@ -1763,7 +1774,7 @@ static int unittest_i2c_mux_probe(struct i2c_client *client, · 28 unmodified lines
1763 struct i2c_mux_core *muxc;1774 struct i2c_mux_core *muxc;
1764 u32 reg, max_reg;1775 u32 reg, max_reg;
1765 1776
1766 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1777 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1767 1778
1768 if (!np) {1779 if (!np) {
1769 dev_err(dev, "No OF node\n");1780 dev_err(dev, "No OF node\n");
@@ -1808,7 +1819,7 @@ static int unittest_i2c_mux_remove(struct i2c_client *client) · 38 unmodified lines
1808 struct device_node *np = client->dev.of_node;1819 struct device_node *np = client->dev.of_node;
1809 struct i2c_mux_core *muxc = i2c_get_clientdata(client);1820 struct i2c_mux_core *muxc = i2c_get_clientdata(client);
1810 1821
1811 dev_dbg(dev, "%s for node @%s\n", __func__, np->full_name);1822 dev_dbg(dev, "%s for node @%pOF\n", __func__, np);
1812 i2c_mux_del_adapters(muxc);1823 i2c_mux_del_adapters(muxc);
1813 return 0;1824 return 0;
1814}1825}
@@ -1983,6 +1994,8 @@ out: · 168 unmodified lines
1983static inline void __init of_unittest_overlay(void) { }1994static inline void __init of_unittest_overlay(void) { }
1984#endif1995#endif
1985 1996
1997#ifdef CONFIG_OF_OVERLAY
1998
1986/*1999/*
1987 * __dtb_ot_begin[] and __dtb_ot_end[] are created by cmd_dt_S_dtb2000 * __dtb_ot_begin[] and __dtb_ot_end[] are created by cmd_dt_S_dtb
1988 * in scripts/Makefile.lib2001 * in scripts/Makefile.lib
@@ -2010,14 +2023,14 @@ struct overlay_info { · 21 unmodified lines
2010OVERLAY_INFO_EXTERN(overlay_base);2023OVERLAY_INFO_EXTERN(overlay_base);
2011OVERLAY_INFO_EXTERN(overlay);2024OVERLAY_INFO_EXTERN(overlay);
2012OVERLAY_INFO_EXTERN(overlay_bad_phandle);2025OVERLAY_INFO_EXTERN(overlay_bad_phandle);
2013 2026OVERLAY_INFO_EXTERN(overlay_bad_symbol);
2014#ifdef CONFIG_OF_OVERLAY
2015 2027
2016/* order of entries is hard-coded into users of overlays[] */2028/* order of entries is hard-coded into users of overlays[] */
2017static struct overlay_info overlays[] = {2029static struct overlay_info overlays[] = {
2018 OVERLAY_INFO(overlay_base, -9999),2030 OVERLAY_INFO(overlay_base, -9999),
2019 OVERLAY_INFO(overlay, 0),2031 OVERLAY_INFO(overlay, 0),
2020 OVERLAY_INFO(overlay_bad_phandle, -EINVAL),2032 OVERLAY_INFO(overlay_bad_phandle, -EINVAL),
2033 OVERLAY_INFO(overlay_bad_symbol, -EINVAL),
2021 {}2034 {}
2022};2035};
2023 2036
@@ -2289,6 +2302,10 @@ static __init void of_unittest_overlay_high_level(void) · 265 unmodified lines
2289 2302
2290 unittest(overlay_data_add(2),2303 unittest(overlay_data_add(2),
2291 "Adding overlay 'overlay_bad_phandle' failed\n");2304 "Adding overlay 'overlay_bad_phandle' failed\n");
2305
2306 unittest(overlay_data_add(3),
2307 "Adding overlay 'overlay_bad_symbol' failed\n");
2308
2292 return;2309 return;
2293 2310
2294err_unlock:2311err_unlock:
drivers/virt/fsl_hypervisor.c+6−6
@@ -841,8 +841,8 @@ static int __init fsl_hypervisor_init(void) · 840 unmodified lines
841 handle = of_get_property(np, "interrupts", NULL);841 handle = of_get_property(np, "interrupts", NULL);
842 irq = irq_of_parse_and_map(np, 0);842 irq = irq_of_parse_and_map(np, 0);
843 if (!handle || (irq == NO_IRQ)) {843 if (!handle || (irq == NO_IRQ)) {
844 pr_err("fsl-hv: no 'interrupts' property in %s node\n",844 pr_err("fsl-hv: no 'interrupts' property in %pOF node\n",
845 np->full_name);845 np);
846 continue;846 continue;
847 }847 }
848 848
@@ -869,8 +869,8 @@ static int __init fsl_hypervisor_init(void) · 20 unmodified lines
869 */869 */
870 dbisr->partition = ret = get_parent_handle(np);870 dbisr->partition = ret = get_parent_handle(np);
871 if (ret < 0) {871 if (ret < 0) {
872 pr_err("fsl-hv: node %s has missing or "872 pr_err("fsl-hv: node %pOF has missing or "
873 "malformed parent\n", np->full_name);873 "malformed parent\n", np);
874 kfree(dbisr);874 kfree(dbisr);
875 continue;875 continue;
876 }876 }
@@ -881,8 +881,8 @@ static int __init fsl_hypervisor_init(void) · 4 unmodified lines
881 ret = request_irq(irq, fsl_hv_isr, 0, np->name, dbisr);881 ret = request_irq(irq, fsl_hv_isr, 0, np->name, dbisr);
882 882
883 if (ret < 0) {883 if (ret < 0) {
884 pr_err("fsl-hv: could not request irq %u for node %s\n",884 pr_err("fsl-hv: could not request irq %u for node %pOF\n",
885 irq, np->full_name);885 irq, np);
886 kfree(dbisr);886 kfree(dbisr);
887 continue;887 continue;
888 }888 }
include/linux/of_device.h+1−1
@@ -50,7 +50,7 @@ static inline struct device_node *of_cpu_device_node_get(int cpu) · 49 unmodified lines
50 struct device *cpu_dev;50 struct device *cpu_dev;
51 cpu_dev = get_cpu_device(cpu);51 cpu_dev = get_cpu_device(cpu);
52 if (!cpu_dev)52 if (!cpu_dev)
53 return NULL;53 return of_get_cpu_node(cpu, NULL);
54 return of_node_get(cpu_dev->of_node);54 return of_node_get(cpu_dev->of_node);
55}55}
56 56
scripts/Makefile.lib+4−4
@@ -173,10 +173,10 @@ cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ · 172 unmodified lines
173 173
174ld_flags = $(LDFLAGS) $(ldflags-y)174ld_flags = $(LDFLAGS) $(ldflags-y)
175 175
176DTC_INCLUDE := $(srctree)/scripts/dtc/include-prefixes
177
176dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \178dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \
177 -I$(srctree)/arch/$(SRCARCH)/boot/dts \179 $(addprefix -I,$(DTC_INCLUDE)) \
178 -I$(srctree)/scripts/dtc/include-prefixes \
179 -I$(srctree)/drivers/of/testcase-data \
180 -undef -D__DTS__180 -undef -D__DTS__
181 181
182# Finds the multi-part object the current object will be linked into182# Finds the multi-part object the current object will be linked into
@@ -317,7 +317,7 @@ quiet_cmd_dtc = DTC $@ · 134 unmodified lines
317cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \317cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
318 $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \318 $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
319 $(DTC) -O dtb -o $@ -b 0 \319 $(DTC) -O dtb -o $@ -b 0 \
320 -i $(dir $<) $(DTC_FLAGS) \320 $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
321 -d $(depfile).dtc.tmp $(dtc-tmp) ; \321 -d $(depfile).dtc.tmp $(dtc-tmp) ; \
322 cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)322 cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
323 323