aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-02-01 13:57:45 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-02-01 13:57:45 -0500
commit2bed26606b61a7b20fc1cc54df53c48c06cd9aa8 (patch)
tree262dba1440bfaa5b30d54d92075699e6732ad1f2
parenteea43ed86f38347979446905a20792a8be7bf5d1 (diff)
parent3a6fbcb2e2e4b263df1cc8647ce1858c57ddc805 (diff)
Merge tag 'devicetree-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree updates from Rob Herring: - Convert to use memblock_virt_alloc in DT code which supports bootmem arches. With this we can remove the arch specific early_init_dt_alloc_memory_arch() functions. - Enable running the DT unittests on UML - Use SPDX license tags on DT files - Fix early FDT kconfig ifdef logic - Clean-up unittest Makefile - Fix function comment for of_irq_parse_raw - Add missing documentation for linux,initrd-{start,end} properties - Clean-up of binding examples using uppercase hex - Add trivial devices W83773G and Infineon TLV493D-A1B6 - Add missing STM32 SoC bindings - Various small binding doc fixes * tag 'devicetree-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (23 commits) xtensa: remove arch specific early DT functions x86: remove arch specific early_init_dt_alloc_memory_arch nios2: remove arch specific early_init_dt_alloc_memory_arch mips: remove arch specific early_init_dt_alloc_memory_arch metag: remove arch specific early DT functions cris: remove arch specific early DT functions libfdt: remove unnecessary include directive from <linux/libfdt.h> of: unittest: refactor Makefile of/fdt: use memblock_virt_alloc for early alloc of: Use SPDX license tag for DT files of/fdt: Fix #ifdef dependency of early flattree declarations dt-bindings: h8300 clocksource: correct spelling of pulse dt-bindings: imx6q-pcie: Add required property for i.MX6SX mmc: Don't reference Linux-specific OF_GPIO_ACTIVE_LOW flag in DT binding dt-bindings: Use lower case hex in unit-addresses dt-bindings: display: panel: Fix compatible string for Toshiba LT089AC29000 dt-bindings: Add Infineon TLV493D-A1B6 dt-bindings: mailbox: ti,message-manager: Fix interrupt name error dt-bindings: chosen: Document linux,initrd-{start,end} dt-bindings: arm: document supported STM32 SoC family ...
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt6
-rw-r--r--Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/stm32.txt9
-rw-r--r--Documentation/devicetree/bindings/chosen.txt15
-rw-r--r--Documentation/devicetree/bindings/clock/exynos3250-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5260-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5410-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5433-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/crypto/atmel-crypto.txt2
-rw-r--r--Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt2
-rw-r--r--Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt2
-rw-r--r--Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt2
-rw-r--r--Documentation/devicetree/bindings/display/st,stih4xx.txt2
-rw-r--r--Documentation/devicetree/bindings/dma/ste-dma40.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt2
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio.txt2
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt2
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt2
-rw-r--r--Documentation/devicetree/bindings/input/samsung-keypad.txt2
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt2
-rw-r--r--Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt2
-rw-r--r--Documentation/devicetree/bindings/mailbox/omap-mailbox.txt2
-rw-r--r--Documentation/devicetree/bindings/mailbox/ti,message-manager.txt4
-rw-r--r--Documentation/devicetree/bindings/media/s5p-cec.txt2
-rw-r--r--Documentation/devicetree/bindings/media/samsung-s5c73m3.txt2
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt2
-rw-r--r--Documentation/devicetree/bindings/mfd/cros-ec.txt2
-rw-r--r--Documentation/devicetree/bindings/mmc/mmc.txt4
-rw-r--r--Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt2
-rw-r--r--Documentation/devicetree/bindings/net/cpsw.txt4
-rw-r--r--Documentation/devicetree/bindings/net/davinci-mdio.txt4
-rw-r--r--Documentation/devicetree/bindings/net/fsl-tsec-phy.txt2
-rw-r--r--Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt1
-rw-r--r--Documentation/devicetree/bindings/phy/ti-phy.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt6
-rw-r--r--Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt2
-rw-r--r--Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt12
-rw-r--r--Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt2
-rw-r--r--Documentation/devicetree/bindings/serial/lantiq_asc.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/img,i2s-out.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/img,parallel-out.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/img,spdif-in.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/img,spdif-out.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt8
-rw-r--r--Documentation/devicetree/bindings/spi/spi-davinci.txt2
-rw-r--r--Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt2
-rw-r--r--Documentation/devicetree/bindings/thermal/exynos-thermal.txt2
-rw-r--r--Documentation/devicetree/bindings/thermal/thermal.txt6
-rw-r--r--Documentation/devicetree/bindings/timer/renesas,tpu.txt2
-rw-r--r--Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt2
-rw-r--r--Documentation/devicetree/bindings/trivial-devices.txt2
-rw-r--r--Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt2
-rw-r--r--Documentation/devicetree/bindings/watchdog/samsung-wdt.txt2
-rw-r--r--arch/cris/kernel/Makefile19
-rw-r--r--arch/cris/kernel/devicetree.c15
-rw-r--r--arch/metag/kernel/devtree.c14
-rw-r--r--arch/mips/kernel/prom.c5
-rw-r--r--arch/nios2/kernel/prom.c5
-rw-r--r--arch/x86/kernel/devicetree.c6
-rw-r--r--arch/xtensa/kernel/setup.c12
-rw-r--r--drivers/of/Kconfig6
-rw-r--r--drivers/of/address.c2
-rw-r--r--drivers/of/base.c6
-rw-r--r--drivers/of/device.c1
-rw-r--r--drivers/of/dynamic.c1
-rw-r--r--drivers/of/fdt.c21
-rw-r--r--drivers/of/fdt_address.c6
-rw-r--r--drivers/of/irq.c9
-rw-r--r--drivers/of/kobj.c2
-rw-r--r--drivers/of/of_numa.c13
-rw-r--r--drivers/of/of_private.h6
-rw-r--r--drivers/of/of_reserved_mem.c6
-rw-r--r--drivers/of/overlay.c5
-rw-r--r--drivers/of/pdt.c6
-rw-r--r--drivers/of/platform.c7
-rw-r--r--drivers/of/property.c6
-rw-r--r--drivers/of/resolver.c5
-rw-r--r--drivers/of/unittest-data/Makefile19
-rw-r--r--drivers/of/unittest-data/overlay_bad_symbol.dts1
-rw-r--r--drivers/of/unittest.c11
-rw-r--r--include/linux/libfdt.h1
-rw-r--r--include/linux/of.h6
-rw-r--r--include/linux/of_dma.h5
-rw-r--r--include/linux/of_fdt.h18
-rw-r--r--include/linux/of_gpio.h6
-rw-r--r--include/linux/of_graph.h5
-rw-r--r--include/linux/of_pdt.h6
-rw-r--r--include/linux/of_platform.h7
91 files changed, 151 insertions, 285 deletions
diff --git a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
index ccaaec6014bd..6c49db7f8ad2 100644
--- a/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
@@ -55,7 +55,7 @@ Note: child nodes can be added for auto probing from device tree.
55 55
56Example: adding device info in dtsi file 56Example: adding device info in dtsi file
57 57
58adc: adc@12D10000 { 58adc: adc@12d10000 {
59 compatible = "samsung,exynos-adc-v1"; 59 compatible = "samsung,exynos-adc-v1";
60 reg = <0x12D10000 0x100>; 60 reg = <0x12D10000 0x100>;
61 interrupts = <0 106 0>; 61 interrupts = <0 106 0>;
@@ -71,7 +71,7 @@ adc: adc@12D10000 {
71 71
72Example: adding device info in dtsi file for Exynos3250 with additional sclk 72Example: adding device info in dtsi file for Exynos3250 with additional sclk
73 73
74adc: adc@126C0000 { 74adc: adc@126c0000 {
75 compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; 75 compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2;
76 reg = <0x126C0000 0x100>; 76 reg = <0x126C0000 0x100>;
77 interrupts = <0 137 0>; 77 interrupts = <0 137 0>;
@@ -87,7 +87,7 @@ adc: adc@126C0000 {
87 87
88Example: Adding child nodes in dts file 88Example: Adding child nodes in dts file
89 89
90adc@12D10000 { 90adc@12d10000 {
91 91
92 /* NTC thermistor is a hwmon device */ 92 /* NTC thermistor is a hwmon device */
93 ncp15wb473@0 { 93 ncp15wb473@0 {
diff --git a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
index e13459618581..469ac98ecf8f 100644
--- a/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
+++ b/Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
@@ -72,7 +72,7 @@ Optional nodes:
72 - compatible: only "samsung,secure-firmware" is currently supported 72 - compatible: only "samsung,secure-firmware" is currently supported
73 - reg: address of non-secure SYSRAM used for communication with firmware 73 - reg: address of non-secure SYSRAM used for communication with firmware
74 74
75 firmware@203F000 { 75 firmware@203f000 {
76 compatible = "samsung,secure-firmware"; 76 compatible = "samsung,secure-firmware";
77 reg = <0x0203F000 0x1000>; 77 reg = <0x0203F000 0x1000>;
78 }; 78 };
diff --git a/Documentation/devicetree/bindings/arm/stm32.txt b/Documentation/devicetree/bindings/arm/stm32.txt
new file mode 100644
index 000000000000..05762b08a7bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/stm32.txt
@@ -0,0 +1,9 @@
1STMicroelectronics STM32 Platforms Device Tree Bindings
2
3Each device tree must specify which STM32 SoC it uses,
4using one of the following compatible strings:
5
6 st,stm32f429
7 st,stm32f469
8 st,stm32f746
9 st,stm32h743
diff --git a/Documentation/devicetree/bindings/chosen.txt b/Documentation/devicetree/bindings/chosen.txt
index e3b13ea7d2ae..45e79172a646 100644
--- a/Documentation/devicetree/bindings/chosen.txt
+++ b/Documentation/devicetree/bindings/chosen.txt
@@ -120,3 +120,18 @@ e.g.
120While this property does not represent a real hardware, the address 120While this property does not represent a real hardware, the address
121and the size are expressed in #address-cells and #size-cells, 121and the size are expressed in #address-cells and #size-cells,
122respectively, of the root node. 122respectively, of the root node.
123
124linux,initrd-start and linux,initrd-end
125---------------------------------------
126
127These properties hold the physical start and end address of an initrd that's
128loaded by the bootloader. Note that linux,initrd-start is inclusive, but
129linux,initrd-end is exclusive.
130e.g.
131
132/ {
133 chosen {
134 linux,initrd-start = <0x82000000>;
135 linux,initrd-end = <0x82800000>;
136 };
137};
diff --git a/Documentation/devicetree/bindings/clock/exynos3250-clock.txt b/Documentation/devicetree/bindings/clock/exynos3250-clock.txt
index f1738b88c225..7441ed519f02 100644
--- a/Documentation/devicetree/bindings/clock/exynos3250-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos3250-clock.txt
@@ -32,7 +32,7 @@ Example 1: Examples of clock controller nodes are listed below.
32 #clock-cells = <1>; 32 #clock-cells = <1>;
33 }; 33 };
34 34
35 cmu_dmc: clock-controller@105C0000 { 35 cmu_dmc: clock-controller@105c0000 {
36 compatible = "samsung,exynos3250-cmu-dmc"; 36 compatible = "samsung,exynos3250-cmu-dmc";
37 reg = <0x105C0000 0x2000>; 37 reg = <0x105C0000 0x2000>;
38 #clock-cells = <1>; 38 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5260-clock.txt b/Documentation/devicetree/bindings/clock/exynos5260-clock.txt
index 5496b2fac483..c79d31f7f66e 100644
--- a/Documentation/devicetree/bindings/clock/exynos5260-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5260-clock.txt
@@ -180,7 +180,7 @@ Example 2: UART controller node that consumes the clock generated by the
180 peri clock controller. Refer to the standard clock bindings for 180 peri clock controller. Refer to the standard clock bindings for
181 information about 'clocks' and 'clock-names' property. 181 information about 'clocks' and 'clock-names' property.
182 182
183 serial@12C00000 { 183 serial@12c00000 {
184 compatible = "samsung,exynos4210-uart"; 184 compatible = "samsung,exynos4210-uart";
185 reg = <0x12C00000 0x100>; 185 reg = <0x12C00000 0x100>;
186 interrupts = <0 146 0>; 186 interrupts = <0 146 0>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5410-clock.txt b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
index c68b0d29b3d0..217beb27c30e 100644
--- a/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
@@ -41,7 +41,7 @@ Example 2: UART controller node that consumes the clock generated by the clock
41 controller. Refer to the standard clock bindings for information 41 controller. Refer to the standard clock bindings for information
42 about 'clocks' and 'clock-names' property. 42 about 'clocks' and 'clock-names' property.
43 43
44 serial@12C20000 { 44 serial@12c20000 {
45 compatible = "samsung,exynos4210-uart"; 45 compatible = "samsung,exynos4210-uart";
46 reg = <0x12C00000 0x100>; 46 reg = <0x12C00000 0x100>;
47 interrupts = <0 51 0>; 47 interrupts = <0 51 0>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5433-clock.txt b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
index c473dd38dd55..50d5897c9849 100644
--- a/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5433-clock.txt
@@ -472,7 +472,7 @@ Example 2: Examples of clock controller nodes are listed below.
472Example 3: UART controller node that consumes the clock generated by the clock 472Example 3: UART controller node that consumes the clock generated by the clock
473 controller. 473 controller.
474 474
475 serial_0: serial@14C10000 { 475 serial_0: serial@14c10000 {
476 compatible = "samsung,exynos5433-uart"; 476 compatible = "samsung,exynos5433-uart";
477 reg = <0x14C10000 0x100>; 477 reg = <0x14C10000 0x100>;
478 interrupts = <0 421 0>; 478 interrupts = <0 421 0>;
diff --git a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
index 7de1a9674c70..6b458bb2440d 100644
--- a/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
+++ b/Documentation/devicetree/bindings/crypto/atmel-crypto.txt
@@ -75,7 +75,7 @@ Required properties:
75- clock-frequency: must be present in the i2c controller node. 75- clock-frequency: must be present in the i2c controller node.
76 76
77Example: 77Example:
78atecc508a@C0 { 78atecc508a@c0 {
79 compatible = "atmel,atecc508a"; 79 compatible = "atmel,atecc508a";
80 reg = <0xC0>; 80 reg = <0xC0>;
81}; 81};
diff --git a/Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt b/Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt
index fd459f00aa5a..aeaebd425d1f 100644
--- a/Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt
+++ b/Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt
@@ -20,7 +20,7 @@ Optional properties:
20 20
21Example : NoC Probe nodes in Device Tree are listed below. 21Example : NoC Probe nodes in Device Tree are listed below.
22 22
23 nocp_mem0_0: nocp@10CA1000 { 23 nocp_mem0_0: nocp@10ca1000 {
24 compatible = "samsung,exynos5420-nocp"; 24 compatible = "samsung,exynos5420-nocp";
25 reg = <0x10CA1000 0x200>; 25 reg = <0x10CA1000 0x200>;
26 }; 26 };
diff --git a/Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt b/Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
index ca5204b3bc21..2fff8b406f4c 100644
--- a/Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
+++ b/Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
@@ -54,7 +54,7 @@ Video interfaces:
54 54
55Example: 55Example:
56 56
57 dsi@11C80000 { 57 dsi@11c80000 {
58 compatible = "samsung,exynos4210-mipi-dsi"; 58 compatible = "samsung,exynos4210-mipi-dsi";
59 reg = <0x11C80000 0x10000>; 59 reg = <0x11C80000 0x10000>;
60 interrupts = <0 79 0>; 60 interrupts = <0 79 0>;
diff --git a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
index 4c0caaf246c9..89826116628c 100644
--- a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
+++ b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
@@ -1,7 +1,7 @@
1Toshiba 8.9" WXGA (1280x768) TFT LCD panel 1Toshiba 8.9" WXGA (1280x768) TFT LCD panel
2 2
3Required properties: 3Required properties:
4- compatible: should be "toshiba,lt089ac29000.txt" 4- compatible: should be "toshiba,lt089ac29000"
5- power-supply: as specified in the base binding 5- power-supply: as specified in the base binding
6 6
7This binding is compatible with the simple-panel binding, which is specified 7This binding is compatible with the simple-panel binding, which is specified
diff --git a/Documentation/devicetree/bindings/display/st,stih4xx.txt b/Documentation/devicetree/bindings/display/st,stih4xx.txt
index a352ed30cd70..6778b3e7ad5b 100644
--- a/Documentation/devicetree/bindings/display/st,stih4xx.txt
+++ b/Documentation/devicetree/bindings/display/st,stih4xx.txt
@@ -119,7 +119,7 @@ Example:
119/ { 119/ {
120 ... 120 ...
121 121
122 vtg_main_slave: sti-vtg-main-slave@fe85A800 { 122 vtg_main_slave: sti-vtg-main-slave@fe85a800 {
123 compatible = "st,vtg"; 123 compatible = "st,vtg";
124 reg = <0xfe85A800 0x300>; 124 reg = <0xfe85A800 0x300>;
125 interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>; 125 interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>;
diff --git a/Documentation/devicetree/bindings/dma/ste-dma40.txt b/Documentation/devicetree/bindings/dma/ste-dma40.txt
index aa7dbd565ad0..99ab5c4d331e 100644
--- a/Documentation/devicetree/bindings/dma/ste-dma40.txt
+++ b/Documentation/devicetree/bindings/dma/ste-dma40.txt
@@ -15,7 +15,7 @@ Optional properties:
15 15
16Example: 16Example:
17 17
18 dma: dma-controller@801C0000 { 18 dma: dma-controller@801c0000 {
19 compatible = "stericsson,db8500-dma40", "stericsson,dma40"; 19 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
20 reg = <0x801C0000 0x1000 0x40010000 0x800>; 20 reg = <0x801C0000 0x1000 0x40010000 0x800>;
21 reg-names = "base", "lcpa"; 21 reg-names = "base", "lcpa";
diff --git a/Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt b/Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt
index 00611aceed3e..a25c87b650e5 100644
--- a/Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt
@@ -21,7 +21,7 @@ Documentation/devicetree/bindings/gpio/gpio.txt
21 21
22Example: 22Example:
23 23
24 gpioa: gpio@FF140000 { 24 gpioa: gpio@ff140000 {
25 compatible = "abilis,tb10x-gpio"; 25 compatible = "abilis,tb10x-gpio";
26 interrupt-controller; 26 interrupt-controller;
27 #interrupt-cells = <1>; 27 #interrupt-cells = <1>;
diff --git a/Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt b/Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt
index 854de130a971..78458adbf4b7 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt
@@ -27,7 +27,7 @@ Optional properties:
27 27
28Example: 28Example:
29 29
30gpio1: stp@E100BB0 { 30gpio1: stp@e100bb0 {
31 compatible = "lantiq,gpio-stp-xway"; 31 compatible = "lantiq,gpio-stp-xway";
32 reg = <0xE100BB0 0x40>; 32 reg = <0xE100BB0 0x40>;
33 #gpio-cells = <2>; 33 #gpio-cells = <2>;
diff --git a/Documentation/devicetree/bindings/gpio/gpio.txt b/Documentation/devicetree/bindings/gpio/gpio.txt
index 802402f6cc5d..b5de08e3b1a2 100644
--- a/Documentation/devicetree/bindings/gpio/gpio.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio.txt
@@ -290,7 +290,7 @@ pins 50..69.
290 290
291Example 2: 291Example 2:
292 292
293 gpio_pio_i: gpio-controller@14B0 { 293 gpio_pio_i: gpio-controller@14b0 {
294 #gpio-cells = <2>; 294 #gpio-cells = <2>;
295 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; 295 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank";
296 reg = <0x1480 0x18>; 296 reg = <0x1480 0x18>;
diff --git a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt
index 248a155414c2..548a73cde796 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt
@@ -54,7 +54,7 @@ Optional properties:
54 54
55 55
56Example: 56Example:
57 i2c@12CA0000 { 57 i2c@12ca0000 {
58 compatible = "acme,some-i2c-device"; 58 compatible = "acme,some-i2c-device";
59 #address-cells = <1>; 59 #address-cells = <1>;
60 #size-cells = <0>; 60 #size-cells = <0>;
diff --git a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
index 70c054a9a997..60fe90d69f4e 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
@@ -11,7 +11,7 @@ Required properties:
11 11
12Examples: 12Examples:
13 13
14lpi2c7: lpi2c7@40A50000 { 14lpi2c7: lpi2c7@40a50000 {
15 compatible = "fsl,imx8dv-lpi2c"; 15 compatible = "fsl,imx8dv-lpi2c";
16 reg = <0x40A50000 0x10000>; 16 reg = <0x40A50000 0x10000>;
17 interrupt-parent = <&intc>; 17 interrupt-parent = <&intc>;
diff --git a/Documentation/devicetree/bindings/input/samsung-keypad.txt b/Documentation/devicetree/bindings/input/samsung-keypad.txt
index 5305e74e5742..4c5c0a82586d 100644
--- a/Documentation/devicetree/bindings/input/samsung-keypad.txt
+++ b/Documentation/devicetree/bindings/input/samsung-keypad.txt
@@ -45,7 +45,7 @@ Optional Properties specific to linux:
45 45
46 46
47Example: 47Example:
48 keypad@100A0000 { 48 keypad@100a0000 {
49 compatible = "samsung,s5pv210-keypad"; 49 compatible = "samsung,s5pv210-keypad";
50 reg = <0x100A0000 0x100>; 50 reg = <0x100A0000 0x100>;
51 interrupts = <173>; 51 interrupts = <173>;
diff --git a/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
index ac5dff412e25..f127a2117072 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
@@ -66,7 +66,7 @@ Example: An example of touchscreen node
66 reg = <0x180a6000 0xc30>; 66 reg = <0x180a6000 0xc30>;
67 }; 67 };
68 68
69 touchscreen: touchscreen@180A6000 { 69 touchscreen: touchscreen@180a6000 {
70 compatible = "brcm,iproc-touchscreen"; 70 compatible = "brcm,iproc-touchscreen";
71 #address-cells = <1>; 71 #address-cells = <1>;
72 #size-cells = <1>; 72 #size-cells = <1>;
diff --git a/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt b/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
index 85f068805dd8..b1682c80b490 100644
--- a/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
+++ b/Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
@@ -56,7 +56,7 @@ Examples:
56 iommus = <&sysmmu_gsc0>; 56 iommus = <&sysmmu_gsc0>;
57 }; 57 };
58 58
59 sysmmu_gsc0: sysmmu@13E80000 { 59 sysmmu_gsc0: sysmmu@13e80000 {
60 compatible = "samsung,exynos-sysmmu"; 60 compatible = "samsung,exynos-sysmmu";
61 reg = <0x13E80000 0x1000>; 61 reg = <0x13E80000 0x1000>;
62 interrupt-parent = <&combiner>; 62 interrupt-parent = <&combiner>;
diff --git a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
index 9b40c4925aa9..0ef372656a3e 100644
--- a/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
+++ b/Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
@@ -124,7 +124,7 @@ dsp {
124}; 124};
125 125
126/* AM33xx */ 126/* AM33xx */
127mailbox: mailbox@480C8000 { 127mailbox: mailbox@480c8000 {
128 compatible = "ti,omap4-mailbox"; 128 compatible = "ti,omap4-mailbox";
129 reg = <0x480C8000 0x200>; 129 reg = <0x480C8000 0x200>;
130 interrupts = <77>; 130 interrupts = <77>;
diff --git a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
index c3b55b3ede8a..ebf0e3710cee 100644
--- a/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
+++ b/Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
@@ -20,9 +20,9 @@ Required properties:
20 order referring to the transfer path. 20 order referring to the transfer path.
21- interrupt-names: Contains interrupt names matching the rx transfer path 21- interrupt-names: Contains interrupt names matching the rx transfer path
22 for a given SoC. Receive interrupts shall be of the 22 for a given SoC. Receive interrupts shall be of the
23 format: "rx_<QID>_<PID>". 23 format: "rx_<QID>".
24 For ti,k2g-message-manager, this shall contain: 24 For ti,k2g-message-manager, this shall contain:
25 "rx_005_002", "rx_057_002" 25 "rx_005", "rx_057"
26- interrupts: Contains the interrupt information corresponding to 26- interrupts: Contains the interrupt information corresponding to
27 interrupt-names property. 27 interrupt-names property.
28 28
diff --git a/Documentation/devicetree/bindings/media/s5p-cec.txt b/Documentation/devicetree/bindings/media/s5p-cec.txt
index 6f3756da900f..e847291d4aff 100644
--- a/Documentation/devicetree/bindings/media/s5p-cec.txt
+++ b/Documentation/devicetree/bindings/media/s5p-cec.txt
@@ -23,7 +23,7 @@ Optional:
23 23
24Example: 24Example:
25 25
26hdmicec: cec@100B0000 { 26hdmicec: cec@100b0000 {
27 compatible = "samsung,s5p-cec"; 27 compatible = "samsung,s5p-cec";
28 reg = <0x100B0000 0x200>; 28 reg = <0x100B0000 0x200>;
29 interrupts = <0 114 0>; 29 interrupts = <0 114 0>;
diff --git a/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
index 2c85c4538a6d..21f31fdf5543 100644
--- a/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
+++ b/Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
@@ -62,7 +62,7 @@ For more details see description of the SPI busses bindings
62 62
63Example: 63Example:
64 64
65i2c@138A000000 { 65i2c@138a000000 {
66 ... 66 ...
67 s5c73m3@3c { 67 s5c73m3@3c {
68 compatible = "samsung,s5c73m3"; 68 compatible = "samsung,s5c73m3";
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
index 9592717f483f..190437a0c146 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
+++ b/Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
@@ -138,7 +138,7 @@ from the corresponding HW reg.
138 138
139Example for aemif, davinci nand and nor flash chip select shown below. 139Example for aemif, davinci nand and nor flash chip select shown below.
140 140
141memory-controller@21000A00 { 141memory-controller@21000a00 {
142 compatible = "ti,davinci-aemif"; 142 compatible = "ti,davinci-aemif";
143 #address-cells = <2>; 143 #address-cells = <2>;
144 #size-cells = <1>; 144 #size-cells = <1>;
diff --git a/Documentation/devicetree/bindings/mfd/cros-ec.txt b/Documentation/devicetree/bindings/mfd/cros-ec.txt
index 136e0c2da44d..6245c9b1a68b 100644
--- a/Documentation/devicetree/bindings/mfd/cros-ec.txt
+++ b/Documentation/devicetree/bindings/mfd/cros-ec.txt
@@ -41,7 +41,7 @@ Optional properties (all):
41 41
42Example for I2C: 42Example for I2C:
43 43
44i2c@12CA0000 { 44i2c@12ca0000 {
45 cros-ec@1e { 45 cros-ec@1e {
46 reg = <0x1e>; 46 reg = <0x1e>;
47 compatible = "google,cros-ec-i2c"; 47 compatible = "google,cros-ec-i2c";
diff --git a/Documentation/devicetree/bindings/mmc/mmc.txt b/Documentation/devicetree/bindings/mmc/mmc.txt
index fb11ae8b3b72..467cd7b147ce 100644
--- a/Documentation/devicetree/bindings/mmc/mmc.txt
+++ b/Documentation/devicetree/bindings/mmc/mmc.txt
@@ -67,10 +67,10 @@ logic applies to the "wp-inverted" property.
67CD and WP lines can be implemented on the hardware in one of two ways: as GPIOs, 67CD and WP lines can be implemented on the hardware in one of two ways: as GPIOs,
68specified in cd-gpios and wp-gpios properties, or as dedicated pins. Polarity of 68specified in cd-gpios and wp-gpios properties, or as dedicated pins. Polarity of
69dedicated pins can be specified, using *-inverted properties. GPIO polarity can 69dedicated pins can be specified, using *-inverted properties. GPIO polarity can
70also be specified using the OF_GPIO_ACTIVE_LOW flag. This creates an ambiguity 70also be specified using the GPIO_ACTIVE_LOW flag. This creates an ambiguity
71in the latter case. We choose to use the XOR logic for GPIO CD and WP lines. 71in the latter case. We choose to use the XOR logic for GPIO CD and WP lines.
72This means, the two properties are "superimposed," for example leaving the 72This means, the two properties are "superimposed," for example leaving the
73OF_GPIO_ACTIVE_LOW flag clear and specifying the respective *-inverted 73GPIO_ACTIVE_LOW flag clear and specifying the respective *-inverted property
74property results in a double-inversion and actually means the "normal" line 74property results in a double-inversion and actually means the "normal" line
75polarity is in effect. 75polarity is in effect.
76 76
diff --git a/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
index d0a37252eb22..6d60bc3063f5 100644
--- a/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
+++ b/Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
@@ -23,7 +23,7 @@ Optional subnodes:
23 23
24Example: 24Example:
25 25
26 mlc: flash@200A8000 { 26 mlc: flash@200a8000 {
27 compatible = "nxp,lpc3220-mlc"; 27 compatible = "nxp,lpc3220-mlc";
28 reg = <0x200A8000 0x11000>; 28 reg = <0x200A8000 0x11000>;
29 interrupts = <11 0>; 29 interrupts = <11 0>;
diff --git a/Documentation/devicetree/bindings/net/cpsw.txt b/Documentation/devicetree/bindings/net/cpsw.txt
index 7cc15c96ea95..4cb4925a28ab 100644
--- a/Documentation/devicetree/bindings/net/cpsw.txt
+++ b/Documentation/devicetree/bindings/net/cpsw.txt
@@ -61,7 +61,7 @@ file.
61 61
62Examples: 62Examples:
63 63
64 mac: ethernet@4A100000 { 64 mac: ethernet@4a100000 {
65 compatible = "ti,cpsw"; 65 compatible = "ti,cpsw";
66 reg = <0x4A100000 0x1000>; 66 reg = <0x4A100000 0x1000>;
67 interrupts = <55 0x4>; 67 interrupts = <55 0x4>;
@@ -91,7 +91,7 @@ Examples:
91 }; 91 };
92 92
93(or) 93(or)
94 mac: ethernet@4A100000 { 94 mac: ethernet@4a100000 {
95 compatible = "ti,cpsw"; 95 compatible = "ti,cpsw";
96 ti,hwmods = "cpgmac0"; 96 ti,hwmods = "cpgmac0";
97 cpdma_channels = <8>; 97 cpdma_channels = <8>;
diff --git a/Documentation/devicetree/bindings/net/davinci-mdio.txt b/Documentation/devicetree/bindings/net/davinci-mdio.txt
index 621156ca4ffd..e6527de80f10 100644
--- a/Documentation/devicetree/bindings/net/davinci-mdio.txt
+++ b/Documentation/devicetree/bindings/net/davinci-mdio.txt
@@ -21,7 +21,7 @@ file.
21 21
22Examples: 22Examples:
23 23
24 mdio: davinci_mdio@4A101000 { 24 mdio: davinci_mdio@4a101000 {
25 compatible = "ti,davinci_mdio"; 25 compatible = "ti,davinci_mdio";
26 reg = <0x4A101000 0x1000>; 26 reg = <0x4A101000 0x1000>;
27 bus_freq = <1000000>; 27 bus_freq = <1000000>;
@@ -29,7 +29,7 @@ Examples:
29 29
30(or) 30(or)
31 31
32 mdio: davinci_mdio@4A101000 { 32 mdio: davinci_mdio@4a101000 {
33 compatible = "ti,davinci_mdio"; 33 compatible = "ti,davinci_mdio";
34 ti,hwmods = "davinci_mdio"; 34 ti,hwmods = "davinci_mdio";
35 bus_freq = <1000000>; 35 bus_freq = <1000000>;
diff --git a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
index db74f0dc290c..594982c6b9f9 100644
--- a/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
+++ b/Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
@@ -136,7 +136,7 @@ Clock Properties:
136 136
137Example: 137Example:
138 138
139 ptp_clock@24E00 { 139 ptp_clock@24e00 {
140 compatible = "fsl,etsec-ptp"; 140 compatible = "fsl,etsec-ptp";
141 reg = <0x24E00 0xB0>; 141 reg = <0x24E00 0xB0>;
142 interrupts = <12 0x8 13 0x8>; 142 interrupts = <12 0x8 13 0x8>;
diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
index 149d8f7f86b0..cb33421184a0 100644
--- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
@@ -41,6 +41,7 @@ Optional properties:
41Additional required properties for imx6sx-pcie: 41Additional required properties for imx6sx-pcie:
42- clock names: Must include the following additional entries: 42- clock names: Must include the following additional entries:
43 - "pcie_inbound_axi" 43 - "pcie_inbound_axi"
44- power-domains: Must be set to a phandle pointing to the PCIE_PHY power domain
44 45
45Additional required properties for imx7d-pcie: 46Additional required properties for imx7d-pcie:
46- power-domains: Must be set to a phandle pointing to PCIE_PHY power domain 47- power-domains: Must be set to a phandle pointing to PCIE_PHY power domain
diff --git a/Documentation/devicetree/bindings/phy/ti-phy.txt b/Documentation/devicetree/bindings/phy/ti-phy.txt
index cd13e6157088..57dfda8a7a1d 100644
--- a/Documentation/devicetree/bindings/phy/ti-phy.txt
+++ b/Documentation/devicetree/bindings/phy/ti-phy.txt
@@ -120,7 +120,7 @@ usb3phy@4a084400 {
120 "refclk"; 120 "refclk";
121}; 121};
122 122
123sata_phy: phy@4A096000 { 123sata_phy: phy@4a096000 {
124 compatible = "ti,phy-pipe3-sata"; 124 compatible = "ti,phy-pipe3-sata";
125 reg = <0x4A096000 0x80>, /* phy_rx */ 125 reg = <0x4A096000 0x80>, /* phy_rx */
126 <0x4A096400 0x64>, /* phy_tx */ 126 <0x4A096400 0x64>, /* phy_tx */
diff --git a/Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt b/Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt
index 2c11866221c2..c591b9cb5ba0 100644
--- a/Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt
@@ -49,7 +49,7 @@ explained in Documentation/devicetree/bindings/gpio/gpio.txt.
49Example 49Example
50------- 50-------
51 51
52iomux: iomux@FF10601c { 52iomux: iomux@ff10601c {
53 compatible = "abilis,tb10x-iomux"; 53 compatible = "abilis,tb10x-iomux";
54 reg = <0xFF10601c 0x4>; 54 reg = <0xFF10601c 0x4>;
55 pctl_gpio_a: pctl-gpio-a { 55 pctl_gpio_a: pctl-gpio-a {
@@ -59,7 +59,7 @@ iomux: iomux@FF10601c {
59 abilis,function = "uart0"; 59 abilis,function = "uart0";
60 }; 60 };
61}; 61};
62uart@FF100000 { 62uart@ff100000 {
63 compatible = "snps,dw-apb-uart"; 63 compatible = "snps,dw-apb-uart";
64 reg = <0xFF100000 0x100>; 64 reg = <0xFF100000 0x100>;
65 clock-frequency = <166666666>; 65 clock-frequency = <166666666>;
@@ -69,7 +69,7 @@ uart@FF100000 {
69 pinctrl-names = "default"; 69 pinctrl-names = "default";
70 pinctrl-0 = <&pctl_uart0>; 70 pinctrl-0 = <&pctl_uart0>;
71}; 71};
72gpioa: gpio@FF140000 { 72gpioa: gpio@ff140000 {
73 compatible = "abilis,tb10x-gpio"; 73 compatible = "abilis,tb10x-gpio";
74 reg = <0xFF140000 0x1000>; 74 reg = <0xFF140000 0x1000>;
75 gpio-controller; 75 gpio-controller;
diff --git a/Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt
index 0326154c7925..a72dc3178179 100644
--- a/Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt
@@ -152,7 +152,7 @@ resetn
152 152
153Example: 153Example:
154-------- 154--------
155pinctrl@18101C00 { 155pinctrl@18101c00 {
156 compatible = "img,pistachio-system-pinctrl"; 156 compatible = "img,pistachio-system-pinctrl";
157 reg = <0x18101C00 0x400>; 157 reg = <0x18101C00 0x400>;
158 158
diff --git a/Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt b/Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt
index 8e5216bcd748..4658f105fa09 100644
--- a/Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt
+++ b/Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt
@@ -163,7 +163,7 @@ Valid values for xRX300 pin names:
163 io42-io43,io48-io61. 163 io42-io43,io48-io61.
164 164
165Example: 165Example:
166 gpio: pinmux@E100B10 { 166 gpio: pinmux@e100b10 {
167 compatible = "lantiq,danube-pinctrl"; 167 compatible = "lantiq,danube-pinctrl";
168 pinctrl-names = "default"; 168 pinctrl-names = "default";
169 pinctrl-0 = <&state_default>; 169 pinctrl-0 = <&state_default>;
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
index 231fa1db7c5e..afa8a18ea11a 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
@@ -81,7 +81,7 @@ Examples:
81 reg = <0 0x10005000 0 0x1000>; 81 reg = <0 0x10005000 0 0x1000>;
82 }; 82 };
83 83
84 syscfg_pctl_b: syscfg_pctl_b@1020C020 { 84 syscfg_pctl_b: syscfg_pctl_b@1020c020 {
85 compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon"; 85 compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon";
86 reg = <0 0x1020C020 0 0x1000>; 86 reg = <0 0x1020C020 0 0x1000>;
87 }; 87 };
diff --git a/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt b/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt
index 641bc13983e1..ed6a414b2e10 100644
--- a/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt
+++ b/Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt
@@ -223,37 +223,37 @@ lac-portals {
223 reg = <0x9000 0x1000>; 223 reg = <0x9000 0x1000>;
224 }; 224 };
225 225
226 lportal10: lac-portal@A000 { 226 lportal10: lac-portal@a000 {
227 compatible = "fsl,interlaken-lac-portal-v1.0"; 227 compatible = "fsl,interlaken-lac-portal-v1.0";
228 fsl,liodn = <0x20E>; 228 fsl,liodn = <0x20E>;
229 reg = <0xA000 0x1000>; 229 reg = <0xA000 0x1000>;
230 }; 230 };
231 231
232 lportal11: lac-portal@B000 { 232 lportal11: lac-portal@b000 {
233 compatible = "fsl,interlaken-lac-portal-v1.0"; 233 compatible = "fsl,interlaken-lac-portal-v1.0";
234 fsl,liodn = <0x20F>; 234 fsl,liodn = <0x20F>;
235 reg = <0xB000 0x1000>; 235 reg = <0xB000 0x1000>;
236 }; 236 };
237 237
238 lportal12: lac-portal@C000 { 238 lportal12: lac-portal@c000 {
239 compatible = "fsl,interlaken-lac-portal-v1.0"; 239 compatible = "fsl,interlaken-lac-portal-v1.0";
240 fsl,liodn = <0x210>; 240 fsl,liodn = <0x210>;
241 reg = <0xC000 0x1000>; 241 reg = <0xC000 0x1000>;
242 }; 242 };
243 243
244 lportal13: lac-portal@D000 { 244 lportal13: lac-portal@d000 {
245 compatible = "fsl,interlaken-lac-portal-v1.0"; 245 compatible = "fsl,interlaken-lac-portal-v1.0";
246 fsl,liodn = <0x211>; 246 fsl,liodn = <0x211>;
247 reg = <0xD000 0x1000>; 247 reg = <0xD000 0x1000>;
248 }; 248 };
249 249
250 lportal14: lac-portal@E000 { 250 lportal14: lac-portal@e000 {
251 compatible = "fsl,interlaken-lac-portal-v1.0"; 251 compatible = "fsl,interlaken-lac-portal-v1.0";
252 fsl,liodn = <0x212>; 252 fsl,liodn = <0x212>;
253 reg = <0xE000 0x1000>; 253 reg = <0xE000 0x1000>;
254 }; 254 };
255 255
256 lportal15: lac-portal@F000 { 256 lportal15: lac-portal@f000 {
257 compatible = "fsl,interlaken-lac-portal-v1.0"; 257 compatible = "fsl,interlaken-lac-portal-v1.0";
258 fsl,liodn = <0x213>; 258 fsl,liodn = <0x213>;
259 reg = <0xF000 0x1000>; 259 reg = <0xF000 0x1000>;
diff --git a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt
index 3944ee3e731e..5ddb8500a929 100644
--- a/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt
+++ b/Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt
@@ -10,7 +10,7 @@ Required properties:
10- clocks: Must contain an entry for peripheral clock. 10- clocks: Must contain an entry for peripheral clock.
11 11
12Example: 12Example:
13 vrefbuf: regulator@58003C00 { 13 vrefbuf: regulator@58003c00 {
14 compatible = "st,stm32-vrefbuf"; 14 compatible = "st,stm32-vrefbuf";
15 reg = <0x58003C00 0x8>; 15 reg = <0x58003C00 0x8>;
16 clocks = <&rcc VREF_CK>; 16 clocks = <&rcc VREF_CK>;
diff --git a/Documentation/devicetree/bindings/serial/lantiq_asc.txt b/Documentation/devicetree/bindings/serial/lantiq_asc.txt
index 5b78591aaa46..3acbd309ab9d 100644
--- a/Documentation/devicetree/bindings/serial/lantiq_asc.txt
+++ b/Documentation/devicetree/bindings/serial/lantiq_asc.txt
@@ -8,7 +8,7 @@ Required properties:
8 8
9Example: 9Example:
10 10
11asc1: serial@E100C00 { 11asc1: serial@e100c00 {
12 compatible = "lantiq,asc"; 12 compatible = "lantiq,asc";
13 reg = <0xE100C00 0x400>; 13 reg = <0xE100C00 0x400>;
14 interrupt-parent = <&icu0>; 14 interrupt-parent = <&icu0>;
diff --git a/Documentation/devicetree/bindings/sound/img,i2s-out.txt b/Documentation/devicetree/bindings/sound/img,i2s-out.txt
index 0159415b3338..6b0ee9b7e11b 100644
--- a/Documentation/devicetree/bindings/sound/img,i2s-out.txt
+++ b/Documentation/devicetree/bindings/sound/img,i2s-out.txt
@@ -35,7 +35,7 @@ Optional Properties:
35 35
36Example: 36Example:
37 37
38i2s_out: i2s-out@18100A00 { 38i2s_out: i2s-out@18100a00 {
39 compatible = "img,i2s-out"; 39 compatible = "img,i2s-out";
40 reg = <0x18100A00 0x200>; 40 reg = <0x18100A00 0x200>;
41 interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>; 41 interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/sound/img,parallel-out.txt b/Documentation/devicetree/bindings/sound/img,parallel-out.txt
index a3015d2a06e0..37a3f94cc126 100644
--- a/Documentation/devicetree/bindings/sound/img,parallel-out.txt
+++ b/Documentation/devicetree/bindings/sound/img,parallel-out.txt
@@ -29,7 +29,7 @@ Optional Properties:
29 29
30Example: 30Example:
31 31
32parallel_out: parallel-out@18100C00 { 32parallel_out: parallel-out@18100c00 {
33 compatible = "img,parallel-out"; 33 compatible = "img,parallel-out";
34 reg = <0x18100C00 0x100>; 34 reg = <0x18100C00 0x100>;
35 interrupts = <GIC_SHARED 19 IRQ_TYPE_LEVEL_HIGH>; 35 interrupts = <GIC_SHARED 19 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/sound/img,spdif-in.txt b/Documentation/devicetree/bindings/sound/img,spdif-in.txt
index aab9a81f7e13..f7ea8c87bf34 100644
--- a/Documentation/devicetree/bindings/sound/img,spdif-in.txt
+++ b/Documentation/devicetree/bindings/sound/img,spdif-in.txt
@@ -29,7 +29,7 @@ Optional Properties:
29 29
30Example: 30Example:
31 31
32spdif_in: spdif-in@18100E00 { 32spdif_in: spdif-in@18100e00 {
33 compatible = "img,spdif-in"; 33 compatible = "img,spdif-in";
34 reg = <0x18100E00 0x100>; 34 reg = <0x18100E00 0x100>;
35 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>; 35 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/sound/img,spdif-out.txt b/Documentation/devicetree/bindings/sound/img,spdif-out.txt
index 470a5191e101..413ed8b01870 100644
--- a/Documentation/devicetree/bindings/sound/img,spdif-out.txt
+++ b/Documentation/devicetree/bindings/sound/img,spdif-out.txt
@@ -29,7 +29,7 @@ Optional Properties:
29 29
30Example: 30Example:
31 31
32spdif_out: spdif-out@18100D00 { 32spdif_out: spdif-out@18100d00 {
33 compatible = "img,spdif-out"; 33 compatible = "img,spdif-out";
34 reg = <0x18100D00 0x100>; 34 reg = <0x18100D00 0x100>;
35 interrupts = <GIC_SHARED 21 IRQ_TYPE_LEVEL_HIGH>; 35 interrupts = <GIC_SHARED 21 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt b/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
index 9c1ee52fed5b..4d51f3f5ea98 100644
--- a/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
+++ b/Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
@@ -51,7 +51,7 @@ Optional properties:
51 51
52Example: 52Example:
53 53
54 sti_uni_player1: sti-uni-player@8D81000 { 54 sti_uni_player1: sti-uni-player@8d81000 {
55 compatible = "st,stih407-uni-player-hdmi"; 55 compatible = "st,stih407-uni-player-hdmi";
56 #sound-dai-cells = <0>; 56 #sound-dai-cells = <0>;
57 st,syscfg = <&syscfg_core>; 57 st,syscfg = <&syscfg_core>;
@@ -63,7 +63,7 @@ Example:
63 st,tdm-mode = <1>; 63 st,tdm-mode = <1>;
64 }; 64 };
65 65
66 sti_uni_player2: sti-uni-player@8D82000 { 66 sti_uni_player2: sti-uni-player@8d82000 {
67 compatible = "st,stih407-uni-player-pcm-out"; 67 compatible = "st,stih407-uni-player-pcm-out";
68 #sound-dai-cells = <0>; 68 #sound-dai-cells = <0>;
69 st,syscfg = <&syscfg_core>; 69 st,syscfg = <&syscfg_core>;
@@ -74,7 +74,7 @@ Example:
74 dma-names = "tx"; 74 dma-names = "tx";
75 }; 75 };
76 76
77 sti_uni_player3: sti-uni-player@8D85000 { 77 sti_uni_player3: sti-uni-player@8d85000 {
78 compatible = "st,stih407-uni-player-spdif"; 78 compatible = "st,stih407-uni-player-spdif";
79 #sound-dai-cells = <0>; 79 #sound-dai-cells = <0>;
80 st,syscfg = <&syscfg_core>; 80 st,syscfg = <&syscfg_core>;
@@ -85,7 +85,7 @@ Example:
85 dma-names = "tx"; 85 dma-names = "tx";
86 }; 86 };
87 87
88 sti_uni_reader1: sti-uni-reader@8D84000 { 88 sti_uni_reader1: sti-uni-reader@8d84000 {
89 compatible = "st,stih407-uni-reader-hdmi"; 89 compatible = "st,stih407-uni-reader-hdmi";
90 #sound-dai-cells = <0>; 90 #sound-dai-cells = <0>;
91 st,syscfg = <&syscfg_core>; 91 st,syscfg = <&syscfg_core>;
diff --git a/Documentation/devicetree/bindings/spi/spi-davinci.txt b/Documentation/devicetree/bindings/spi/spi-davinci.txt
index 1925277bfc1e..9f5b4c7c0c08 100644
--- a/Documentation/devicetree/bindings/spi/spi-davinci.txt
+++ b/Documentation/devicetree/bindings/spi/spi-davinci.txt
@@ -68,7 +68,7 @@ SPI_SOMI/SIMO+-----------------+ +-----------
68Example of a NOR flash slave device (n25q032) connected to DaVinci 68Example of a NOR flash slave device (n25q032) connected to DaVinci
69SPI controller device over the SPI bus. 69SPI controller device over the SPI bus.
70 70
71spi0:spi@20BF0000 { 71spi0:spi@20bf0000 {
72 #address-cells = <1>; 72 #address-cells = <1>;
73 #size-cells = <0>; 73 #size-cells = <0>;
74 compatible = "ti,dm6446-spi"; 74 compatible = "ti,dm6446-spi";
diff --git a/Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt b/Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt
index 6069b95a883d..ce3230c8e28d 100644
--- a/Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt
+++ b/Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt
@@ -16,7 +16,7 @@ Optional properties:
16Example: 16Example:
17 17
18 18
19spi: spi@E100800 { 19spi: spi@e100800 {
20 compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi"; 20 compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi";
21 reg = <0xE100800 0x100>; 21 reg = <0xE100800 0x100>;
22 interrupt-parent = <&icu0>; 22 interrupt-parent = <&icu0>;
diff --git a/Documentation/devicetree/bindings/thermal/exynos-thermal.txt b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
index 9b4c7b017495..1b596fd38dc4 100644
--- a/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/exynos-thermal.txt
@@ -70,7 +70,7 @@ Following properties are mandatory (depending on SoC):
70 70
71Example 1): 71Example 1):
72 72
73 tmu@100C0000 { 73 tmu@100c0000 {
74 compatible = "samsung,exynos4412-tmu"; 74 compatible = "samsung,exynos4412-tmu";
75 interrupt-parent = <&combiner>; 75 interrupt-parent = <&combiner>;
76 reg = <0x100C0000 0x100>; 76 reg = <0x100C0000 0x100>;
diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt b/Documentation/devicetree/bindings/thermal/thermal.txt
index 44d7cb2cb2c0..1719d47a5e2f 100644
--- a/Documentation/devicetree/bindings/thermal/thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/thermal.txt
@@ -252,7 +252,7 @@ ocp {
252 /* 252 /*
253 * A simple IC with a single bandgap temperature sensor. 253 * A simple IC with a single bandgap temperature sensor.
254 */ 254 */
255 bandgap0: bandgap@0000ED00 { 255 bandgap0: bandgap@0000ed00 {
256 ... 256 ...
257 #thermal-sensor-cells = <0>; 257 #thermal-sensor-cells = <0>;
258 }; 258 };
@@ -330,7 +330,7 @@ ocp {
330 /* 330 /*
331 * A simple IC with several bandgap temperature sensors. 331 * A simple IC with several bandgap temperature sensors.
332 */ 332 */
333 bandgap0: bandgap@0000ED00 { 333 bandgap0: bandgap@0000ed00 {
334 ... 334 ...
335 #thermal-sensor-cells = <1>; 335 #thermal-sensor-cells = <1>;
336 }; 336 };
@@ -458,7 +458,7 @@ ocp {
458 /* 458 /*
459 * A simple IC with a single bandgap temperature sensor. 459 * A simple IC with a single bandgap temperature sensor.
460 */ 460 */
461 bandgap0: bandgap@0000ED00 { 461 bandgap0: bandgap@0000ed00 {
462 ... 462 ...
463 #thermal-sensor-cells = <0>; 463 #thermal-sensor-cells = <0>;
464 }; 464 };
diff --git a/Documentation/devicetree/bindings/timer/renesas,tpu.txt b/Documentation/devicetree/bindings/timer/renesas,tpu.txt
index f8b25897fb31..1d46f9de4feb 100644
--- a/Documentation/devicetree/bindings/timer/renesas,tpu.txt
+++ b/Documentation/devicetree/bindings/timer/renesas,tpu.txt
@@ -1,4 +1,4 @@
1* Renesas H8/300 Timer Pluse Unit 1* Renesas H8/300 Timer Pulse Unit
2 2
3The TPU is a 16bit timer/counter with configurable clock inputs and 3The TPU is a 16bit timer/counter with configurable clock inputs and
4programmable compare match. 4programmable compare match.
diff --git a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt
index 167d5dab9f64..8f78640ad64c 100644
--- a/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt
+++ b/Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt
@@ -51,7 +51,7 @@ Example 2: In this example, the timer interrupts are connected to two separate
51 interrupt controllers. Hence, an interrupt-map is created to map 51 interrupt controllers. Hence, an interrupt-map is created to map
52 the interrupts to the respective interrupt controllers. 52 the interrupts to the respective interrupt controllers.
53 53
54 mct@101C0000 { 54 mct@101c0000 {
55 compatible = "samsung,exynos4210-mct"; 55 compatible = "samsung,exynos4210-mct";
56 reg = <0x101C0000 0x800>; 56 reg = <0x101C0000 0x800>;
57 interrupt-parent = <&mct_map>; 57 interrupt-parent = <&mct_map>;
diff --git a/Documentation/devicetree/bindings/trivial-devices.txt b/Documentation/devicetree/bindings/trivial-devices.txt
index 5f3143f97098..2e3740f98c41 100644
--- a/Documentation/devicetree/bindings/trivial-devices.txt
+++ b/Documentation/devicetree/bindings/trivial-devices.txt
@@ -63,6 +63,7 @@ fsl,sgtl5000 SGTL5000: Ultra Low-Power Audio Codec
63gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface 63gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface
64infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) 64infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz)
65infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) 65infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz)
66infineon,tlv493d-a1b6 Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor
66isil,isl1208 Intersil ISL1208 Low Power RTC with Battery Backed SRAM 67isil,isl1208 Intersil ISL1208 Low Power RTC with Battery Backed SRAM
67isil,isl1218 Intersil ISL1218 Low Power RTC with Battery Backed SRAM 68isil,isl1218 Intersil ISL1218 Low Power RTC with Battery Backed SRAM
68isil,isl12022 Intersil ISL12022 Real-time Clock 69isil,isl12022 Intersil ISL12022 Real-time Clock
@@ -151,6 +152,7 @@ national,lm85 Temperature sensor with integrated fan control
151national,lm92 ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface 152national,lm92 ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface
152nuvoton,npct501 i2c trusted platform module (TPM) 153nuvoton,npct501 i2c trusted platform module (TPM)
153nuvoton,npct601 i2c trusted platform module (TPM2) 154nuvoton,npct601 i2c trusted platform module (TPM2)
155nuvoton,w83773g Nuvoton Temperature Sensor
154nxp,pca9556 Octal SMBus and I2C registered interface 156nxp,pca9556 Octal SMBus and I2C registered interface
155nxp,pca9557 8-bit I2C-bus and SMBus I/O port with reset 157nxp,pca9557 8-bit I2C-bus and SMBus I/O port with reset
156nxp,pcf2127 Real-time clock 158nxp,pcf2127 Real-time clock
diff --git a/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt b/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
index 556d06c17c92..4b76bec62af9 100644
--- a/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
@@ -10,7 +10,7 @@ Optional properties:
10 10
11Example: 11Example:
12 12
13 watchdog@4003C000 { 13 watchdog@4003c000 {
14 compatible = "nxp,pnx4008-wdt"; 14 compatible = "nxp,pnx4008-wdt";
15 reg = <0x4003C000 0x1000>; 15 reg = <0x4003C000 0x1000>;
16 timeout-sec = <10>; 16 timeout-sec = <10>;
diff --git a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
index 1f6e101e299a..46dcb48e75b4 100644
--- a/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
@@ -25,7 +25,7 @@ Optional properties:
25 25
26Example: 26Example:
27 27
28watchdog@101D0000 { 28watchdog@101d0000 {
29 compatible = "samsung,exynos5250-wdt"; 29 compatible = "samsung,exynos5250-wdt";
30 reg = <0x101D0000 0x100>; 30 reg = <0x101D0000 0x100>;
31 interrupts = <0 42 0>; 31 interrupts = <0 42 0>;
diff --git a/arch/cris/kernel/Makefile b/arch/cris/kernel/Makefile
index af075a5fb9aa..e69de29bb2d1 100644
--- a/arch/cris/kernel/Makefile
+++ b/arch/cris/kernel/Makefile
@@ -1,19 +0,0 @@
1# SPDX-License-Identifier: GPL-2.0
2# $Id: Makefile,v 1.12 2004/10/19 13:07:43 starvik Exp $
3#
4# Makefile for the linux kernel.
5#
6
7CPPFLAGS_vmlinux.lds := -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
8extra-y := vmlinux.lds
9
10obj-y := process.o traps.o irq.o ptrace.o setup.o time.o sys_cris.o
11obj-y += devicetree.o
12obj-y += stacktrace.o
13
14obj-$(CONFIG_MODULES) += crisksyms.o
15obj-$(CONFIG_MODULES) += module.o
16obj-$(CONFIG_SYSTEM_PROFILER) += profile.o
17
18clean:
19
diff --git a/arch/cris/kernel/devicetree.c b/arch/cris/kernel/devicetree.c
deleted file mode 100644
index 36e1c658229f..000000000000
--- a/arch/cris/kernel/devicetree.c
+++ /dev/null
@@ -1,15 +0,0 @@
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/init.h>
3#include <linux/bootmem.h>
4#include <linux/printk.h>
5
6void __init early_init_dt_add_memory_arch(u64 base, u64 size)
7{
8 pr_err("%s(%llx, %llx)\n",
9 __func__, base, size);
10}
11
12void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
13{
14 return alloc_bootmem_align(size, align);
15}
diff --git a/arch/metag/kernel/devtree.c b/arch/metag/kernel/devtree.c
index 18dd7aea9fdc..6af749a64438 100644
--- a/arch/metag/kernel/devtree.c
+++ b/arch/metag/kernel/devtree.c
@@ -14,26 +14,12 @@
14#include <linux/init.h> 14#include <linux/init.h>
15#include <linux/export.h> 15#include <linux/export.h>
16#include <linux/types.h> 16#include <linux/types.h>
17#include <linux/bootmem.h>
18#include <linux/memblock.h>
19#include <linux/of.h>
20#include <linux/of_fdt.h> 17#include <linux/of_fdt.h>
21 18
22#include <asm/setup.h> 19#include <asm/setup.h>
23#include <asm/page.h> 20#include <asm/page.h>
24#include <asm/mach/arch.h> 21#include <asm/mach/arch.h>
25 22
26void __init early_init_dt_add_memory_arch(u64 base, u64 size)
27{
28 pr_err("%s(%llx, %llx)\n",
29 __func__, base, size);
30}
31
32void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
33{
34 return alloc_bootmem_align(size, align);
35}
36
37static const void * __init arch_get_next_mach(const char *const **match) 23static const void * __init arch_get_next_mach(const char *const **match)
38{ 24{
39 static const struct machine_desc *mdesc = __arch_info_begin; 25 static const struct machine_desc *mdesc = __arch_info_begin;
diff --git a/arch/mips/kernel/prom.c b/arch/mips/kernel/prom.c
index 0dbcd152a1a9..89950b7bf536 100644
--- a/arch/mips/kernel/prom.c
+++ b/arch/mips/kernel/prom.c
@@ -44,11 +44,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
44 return add_memory_region(base, size, BOOT_MEM_RAM); 44 return add_memory_region(base, size, BOOT_MEM_RAM);
45} 45}
46 46
47void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
48{
49 return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS));
50}
51
52int __init early_init_dt_reserve_memory_arch(phys_addr_t base, 47int __init early_init_dt_reserve_memory_arch(phys_addr_t base,
53 phys_addr_t size, bool nomap) 48 phys_addr_t size, bool nomap)
54{ 49{
diff --git a/arch/nios2/kernel/prom.c b/arch/nios2/kernel/prom.c
index 6688576b3a47..8d7446a4b475 100644
--- a/arch/nios2/kernel/prom.c
+++ b/arch/nios2/kernel/prom.c
@@ -42,11 +42,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
42 42
43} 43}
44 44
45void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
46{
47 return alloc_bootmem_align(size, align);
48}
49
50int __init early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, 45int __init early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size,
51 bool nomap) 46 bool nomap)
52{ 47{
diff --git a/arch/x86/kernel/devicetree.c b/arch/x86/kernel/devicetree.c
index 76e07698e6d1..25de5f6ca997 100644
--- a/arch/x86/kernel/devicetree.c
+++ b/arch/x86/kernel/devicetree.c
@@ -2,7 +2,6 @@
2/* 2/*
3 * Architecture specific OF callbacks. 3 * Architecture specific OF callbacks.
4 */ 4 */
5#include <linux/bootmem.h>
6#include <linux/export.h> 5#include <linux/export.h>
7#include <linux/io.h> 6#include <linux/io.h>
8#include <linux/interrupt.h> 7#include <linux/interrupt.h>
@@ -39,11 +38,6 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size)
39 BUG(); 38 BUG();
40} 39}
41 40
42void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
43{
44 return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS));
45}
46
47void __init add_dtb(u64 data) 41void __init add_dtb(u64 data)
48{ 42{
49 initial_dtb = data + offsetof(struct setup_data, data); 43 initial_dtb = data + offsetof(struct setup_data, data);
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index a931af9075f2..686a27444bba 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -20,7 +20,6 @@
20#include <linux/mm.h> 20#include <linux/mm.h>
21#include <linux/proc_fs.h> 21#include <linux/proc_fs.h>
22#include <linux/screen_info.h> 22#include <linux/screen_info.h>
23#include <linux/bootmem.h>
24#include <linux/kernel.h> 23#include <linux/kernel.h>
25#include <linux/percpu.h> 24#include <linux/percpu.h>
26#include <linux/cpu.h> 25#include <linux/cpu.h>
@@ -220,17 +219,6 @@ static int __init xtensa_dt_io_area(unsigned long node, const char *uname,
220} 219}
221#endif 220#endif
222 221
223void __init early_init_dt_add_memory_arch(u64 base, u64 size)
224{
225 size &= PAGE_MASK;
226 memblock_add(base, size);
227}
228
229void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
230{
231 return __alloc_bootmem(size, align, 0);
232}
233
234void __init early_init_devtree(void *params) 222void __init early_init_devtree(void *params)
235{ 223{
236 early_init_dt_scan(params); 224 early_init_dt_scan(params);
diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index ad9a9578f9c4..06898039d11e 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -1,3 +1,4 @@
1# SPDX-License-Identifier: GPL-2.0
1config DTC 2config DTC
2 bool 3 bool
3 4
@@ -13,7 +14,8 @@ if OF
13 14
14config OF_UNITTEST 15config OF_UNITTEST
15 bool "Device Tree runtime unit tests" 16 bool "Device Tree runtime unit tests"
16 depends on OF_IRQ 17 depends on !SPARC
18 select IRQ_DOMAIN
17 select OF_EARLY_FLATTREE 19 select OF_EARLY_FLATTREE
18 select OF_RESOLVE 20 select OF_RESOLVE
19 help 21 help
@@ -61,7 +63,7 @@ config OF_DYNAMIC
61 63
62config OF_ADDRESS 64config OF_ADDRESS
63 def_bool y 65 def_bool y
64 depends on !SPARC && HAS_IOMEM 66 depends on !SPARC && (HAS_IOMEM || UML)
65 select OF_ADDRESS_PCI if PCI 67 select OF_ADDRESS_PCI if PCI
66 68
67config OF_ADDRESS_PCI 69config OF_ADDRESS_PCI
diff --git a/drivers/of/address.c b/drivers/of/address.c
index fa6cabfc3cb9..6391604a6f8f 100644
--- a/drivers/of/address.c
+++ b/drivers/of/address.c
@@ -1,4 +1,4 @@
1 1// SPDX-License-Identifier: GPL-2.0
2#define pr_fmt(fmt) "OF: " fmt 2#define pr_fmt(fmt) "OF: " fmt
3 3
4#include <linux/device.h> 4#include <linux/device.h>
diff --git a/drivers/of/base.c b/drivers/of/base.c
index a9d6fe86585b..ad28de96e13f 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Procedures for creating, accessing and interpreting the device tree. 3 * Procedures for creating, accessing and interpreting the device tree.
3 * 4 *
@@ -11,11 +12,6 @@
11 * 12 *
12 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and 13 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and
13 * Grant Likely. 14 * Grant Likely.
14 *
15 * This program is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU General Public License
17 * as published by the Free Software Foundation; either version
18 * 2 of the License, or (at your option) any later version.
19 */ 15 */
20 16
21#define pr_fmt(fmt) "OF: " fmt 17#define pr_fmt(fmt) "OF: " fmt
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 25bddf9c9fe1..064c818105bd 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1#include <linux/string.h> 2#include <linux/string.h>
2#include <linux/kernel.h> 3#include <linux/kernel.h>
3#include <linux/of.h> 4#include <linux/of.h>
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c
index ab988d88704d..7bb33d22b4e2 100644
--- a/drivers/of/dynamic.c
+++ b/drivers/of/dynamic.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Support for dynamic device trees. 3 * Support for dynamic device trees.
3 * 4 *
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 4675e5ac4d11..84aa9d676375 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Functions for working with the Flattened Device Tree data format 3 * Functions for working with the Flattened Device Tree data format
3 * 4 *
4 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp 5 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp
5 * benh@kernel.crashing.org 6 * benh@kernel.crashing.org
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
10 */ 7 */
11 8
12#define pr_fmt(fmt) "OF: fdt: " fmt 9#define pr_fmt(fmt) "OF: fdt: " fmt
@@ -14,6 +11,7 @@
14#include <linux/crc32.h> 11#include <linux/crc32.h>
15#include <linux/kernel.h> 12#include <linux/kernel.h>
16#include <linux/initrd.h> 13#include <linux/initrd.h>
14#include <linux/bootmem.h>
17#include <linux/memblock.h> 15#include <linux/memblock.h>
18#include <linux/mutex.h> 16#include <linux/mutex.h>
19#include <linux/of.h> 17#include <linux/of.h>
@@ -1183,14 +1181,6 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
1183 return memblock_reserve(base, size); 1181 return memblock_reserve(base, size);
1184} 1182}
1185 1183
1186/*
1187 * called from unflatten_device_tree() to bootstrap devicetree itself
1188 * Architectures can override this definition if memblock isn't used
1189 */
1190void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align)
1191{
1192 return __va(memblock_alloc(size, align));
1193}
1194#else 1184#else
1195void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size) 1185void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size)
1196{ 1186{
@@ -1209,13 +1199,12 @@ int __init __weak early_init_dt_reserve_memory_arch(phys_addr_t base,
1209 &base, &size, nomap ? " (nomap)" : ""); 1199 &base, &size, nomap ? " (nomap)" : "");
1210 return -ENOSYS; 1200 return -ENOSYS;
1211} 1201}
1202#endif
1212 1203
1213void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align) 1204static void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
1214{ 1205{
1215 WARN_ON(1); 1206 return memblock_virt_alloc(size, align);
1216 return NULL;
1217} 1207}
1218#endif
1219 1208
1220bool __init early_init_dt_verify(void *params) 1209bool __init early_init_dt_verify(void *params)
1221{ 1210{
diff --git a/drivers/of/fdt_address.c b/drivers/of/fdt_address.c
index 843a542dac7d..1dc15ab78b10 100644
--- a/drivers/of/fdt_address.c
+++ b/drivers/of/fdt_address.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * FDT Address translation based on u-boot fdt_support.c which in turn was 3 * FDT Address translation based on u-boot fdt_support.c which in turn was
3 * based on the kernel unflattened DT address translation code. 4 * based on the kernel unflattened DT address translation code.
@@ -6,11 +7,6 @@
6 * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com 7 * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com
7 * 8 *
8 * Copyright 2010-2011 Freescale Semiconductor, Inc. 9 * Copyright 2010-2011 Freescale Semiconductor, Inc.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2, or (at your option)
13 * any later version.
14 */ 10 */
15 11
16#define pr_fmt(fmt) "OF: fdt: " fmt 12#define pr_fmt(fmt) "OF: fdt: " fmt
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index ec00ae7384c2..02ad93a304a4 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Derived from arch/i386/kernel/irq.c 3 * Derived from arch/i386/kernel/irq.c
3 * Copyright (C) 1992 Linus Torvalds 4 * Copyright (C) 1992 Linus Torvalds
@@ -8,11 +9,6 @@
8 * Adapted for Power Macintosh by Paul Mackerras 9 * Adapted for Power Macintosh by Paul Mackerras
9 * Copyright (C) 1996 Paul Mackerras (paulus@cs.anu.edu.au) 10 * Copyright (C) 1996 Paul Mackerras (paulus@cs.anu.edu.au)
10 * 11 *
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version
14 * 2 of the License, or (at your option) any later version.
15 *
16 * This file contains the code used to make IRQ descriptions in the 12 * This file contains the code used to make IRQ descriptions in the
17 * device tree to actual irq numbers on an interrupt controller 13 * device tree to actual irq numbers on an interrupt controller
18 * driver. 14 * driver.
@@ -83,9 +79,8 @@ EXPORT_SYMBOL_GPL(of_irq_find_parent);
83 79
84/** 80/**
85 * of_irq_parse_raw - Low level interrupt tree parsing 81 * of_irq_parse_raw - Low level interrupt tree parsing
86 * @parent: the device interrupt parent
87 * @addr: address specifier (start of "reg" property of the device) in be32 format 82 * @addr: address specifier (start of "reg" property of the device) in be32 format
88 * @out_irq: structure of_irq updated by this function 83 * @out_irq: structure of_phandle_args updated by this function
89 * 84 *
90 * Returns 0 on success and a negative number on error 85 * Returns 0 on success and a negative number on error
91 * 86 *
diff --git a/drivers/of/kobj.c b/drivers/of/kobj.c
index 250fc7bb550f..7a0a18980b98 100644
--- a/drivers/of/kobj.c
+++ b/drivers/of/kobj.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1#include <linux/of.h> 2#include <linux/of.h>
2#include <linux/slab.h> 3#include <linux/slab.h>
3 4
@@ -161,4 +162,3 @@ void __of_detach_node_sysfs(struct device_node *np)
161 /* finally remove the kobj_init ref */ 162 /* finally remove the kobj_init ref */
162 of_node_put(np); 163 of_node_put(np);
163} 164}
164
diff --git a/drivers/of/of_numa.c b/drivers/of/of_numa.c
index 2db1f7a04baf..f9d5480a4ae5 100644
--- a/drivers/of/of_numa.c
+++ b/drivers/of/of_numa.c
@@ -1,19 +1,8 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * OF NUMA Parsing support. 3 * OF NUMA Parsing support.
3 * 4 *
4 * Copyright (C) 2015 - 2016 Cavium Inc. 5 * Copyright (C) 2015 - 2016 Cavium Inc.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */ 6 */
18 7
19#define pr_fmt(fmt) "OF: NUMA: " fmt 8#define pr_fmt(fmt) "OF: NUMA: " fmt
diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h
index 92a9a3687446..0c609e7d0334 100644
--- a/drivers/of/of_private.h
+++ b/drivers/of/of_private.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0+ */
1#ifndef _LINUX_OF_PRIVATE_H 2#ifndef _LINUX_OF_PRIVATE_H
2#define _LINUX_OF_PRIVATE_H 3#define _LINUX_OF_PRIVATE_H
3/* 4/*
@@ -5,11 +6,6 @@
5 * 6 *
6 * Paul Mackerras August 1996. 7 * Paul Mackerras August 1996.
7 * Copyright (C) 1996-2005 Paul Mackerras. 8 * Copyright (C) 1996-2005 Paul Mackerras.
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * as published by the Free Software Foundation; either version
12 * 2 of the License, or (at your option) any later version.
13 */ 9 */
14 10
15/** 11/**
diff --git a/drivers/of/of_reserved_mem.c b/drivers/of/of_reserved_mem.c
index 22b75c82e377..9a4f4246231d 100644
--- a/drivers/of/of_reserved_mem.c
+++ b/drivers/of/of_reserved_mem.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Device tree based initialization code for reserved memory. 3 * Device tree based initialization code for reserved memory.
3 * 4 *
@@ -6,11 +7,6 @@
6 * http://www.samsung.com 7 * http://www.samsung.com
7 * Author: Marek Szyprowski <m.szyprowski@samsung.com> 8 * Author: Marek Szyprowski <m.szyprowski@samsung.com>
8 * Author: Josh Cartwright <joshc@codeaurora.org> 9 * Author: Josh Cartwright <joshc@codeaurora.org>
9 *
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License as
12 * published by the Free Software Foundation; either version 2 of the
13 * License or (at your optional) any later version of the license.
14 */ 10 */
15 11
16#define pr_fmt(fmt) "OF: reserved mem: " fmt 12#define pr_fmt(fmt) "OF: reserved mem: " fmt
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index 3981b7da4fa9..3397d7642958 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Functions for working with device tree overlays 3 * Functions for working with device tree overlays
3 * 4 *
4 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com> 5 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com>
5 * Copyright (C) 2012 Texas Instruments Inc. 6 * Copyright (C) 2012 Texas Instruments Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
10 */ 7 */
11 8
12#define pr_fmt(fmt) "OF: overlay: " fmt 9#define pr_fmt(fmt) "OF: overlay: " fmt
diff --git a/drivers/of/pdt.c b/drivers/of/pdt.c
index d2acae825af9..013e65de074a 100644
--- a/drivers/of/pdt.c
+++ b/drivers/of/pdt.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* pdt.c: OF PROM device tree support code. 2/* pdt.c: OF PROM device tree support code.
2 * 3 *
3 * Paul Mackerras August 1996. 4 * Paul Mackerras August 1996.
@@ -8,11 +9,6 @@
8 * 9 *
9 * Adapted for sparc by David S. Miller davem@davemloft.net 10 * Adapted for sparc by David S. Miller davem@davemloft.net
10 * Adapted for multiple architectures by Andres Salomon <dilinger@queued.net> 11 * Adapted for multiple architectures by Andres Salomon <dilinger@queued.net>
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version
15 * 2 of the License, or (at your option) any later version.
16 */ 12 */
17 13
18#include <linux/kernel.h> 14#include <linux/kernel.h>
diff --git a/drivers/of/platform.c b/drivers/of/platform.c
index b7cf84b29737..d67dbdab40d1 100644
--- a/drivers/of/platform.c
+++ b/drivers/of/platform.c
@@ -1,15 +1,10 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. 3 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp.
3 * <benh@kernel.crashing.org> 4 * <benh@kernel.crashing.org>
4 * and Arnd Bergmann, IBM Corp. 5 * and Arnd Bergmann, IBM Corp.
5 * Merged from powerpc/kernel/of_platform.c and 6 * Merged from powerpc/kernel/of_platform.c and
6 * sparc{,64}/kernel/of_device.c by Stephen Rothwell 7 * sparc{,64}/kernel/of_device.c by Stephen Rothwell
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation; either version
11 * 2 of the License, or (at your option) any later version.
12 *
13 */ 8 */
14 9
15#define pr_fmt(fmt) "OF: " fmt 10#define pr_fmt(fmt) "OF: " fmt
diff --git a/drivers/of/property.c b/drivers/of/property.c
index f25d36358187..36ed84e26d9c 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * drivers/of/property.c - Procedures for accessing and interpreting 3 * drivers/of/property.c - Procedures for accessing and interpreting
3 * Devicetree properties and graphs. 4 * Devicetree properties and graphs.
@@ -16,11 +17,6 @@
16 * 17 *
17 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and 18 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and
18 * Grant Likely. 19 * Grant Likely.
19 *
20 * This program is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU General Public License
22 * as published by the Free Software Foundation; either version
23 * 2 of the License, or (at your option) any later version.
24 */ 20 */
25 21
26#define pr_fmt(fmt) "OF: " fmt 22#define pr_fmt(fmt) "OF: " fmt
diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c
index cfaeef5f6cb1..740d19bde601 100644
--- a/drivers/of/resolver.c
+++ b/drivers/of/resolver.c
@@ -1,12 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0
1/* 2/*
2 * Functions for dealing with DT resolution 3 * Functions for dealing with DT resolution
3 * 4 *
4 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com> 5 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com>
5 * Copyright (C) 2012 Texas Instruments Inc. 6 * Copyright (C) 2012 Texas Instruments Inc.
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
10 */ 7 */
11 8
12#define pr_fmt(fmt) "OF: resolver: " fmt 9#define pr_fmt(fmt) "OF: resolver: " fmt
diff --git a/drivers/of/unittest-data/Makefile b/drivers/of/unittest-data/Makefile
index 32389acfa616..df697976740a 100644
--- a/drivers/of/unittest-data/Makefile
+++ b/drivers/of/unittest-data/Makefile
@@ -2,19 +2,12 @@
2DTC_FLAGS_testcases := -Wno-interrupts_property 2DTC_FLAGS_testcases := -Wno-interrupts_property
3obj-y += testcases.dtb.o 3obj-y += testcases.dtb.o
4 4
5targets += testcases.dtb testcases.dtb.S 5obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \
6 overlay_bad_phandle.dtb.o \
7 overlay_bad_symbol.dtb.o \
8 overlay_base.dtb.o
6 9
7ifdef CONFIG_OF_OVERLAY 10targets += $(foreach suffix, dtb dtb.S, $(patsubst %.dtb.o,%.$(suffix),$(obj-y)))
8
9obj-y += overlay.dtb.o
10obj-y += overlay_bad_phandle.dtb.o
11obj-y += overlay_bad_symbol.dtb.o
12obj-y += overlay_base.dtb.o
13
14targets += overlay.dtb overlay.dtb.S
15targets += overlay_bad_phandle.dtb overlay_bad_phandle.dtb.S
16targets += overlay_bad_symbol.dtb overlay_bad_symbol.dtb.S
17targets += overlay_base.dtb overlay_base.dtb.S
18 11
19# enable creation of __symbols__ node 12# enable creation of __symbols__ node
20DTC_FLAGS_overlay := -@ 13DTC_FLAGS_overlay := -@
@@ -22,8 +15,6 @@ DTC_FLAGS_overlay_bad_phandle := -@
22DTC_FLAGS_overlay_bad_symbol := -@ 15DTC_FLAGS_overlay_bad_symbol := -@
23DTC_FLAGS_overlay_base := -@ 16DTC_FLAGS_overlay_base := -@
24 17
25endif
26
27.PRECIOUS: \ 18.PRECIOUS: \
28 $(obj)/%.dtb.S \ 19 $(obj)/%.dtb.S \
29 $(obj)/%.dtb 20 $(obj)/%.dtb
diff --git a/drivers/of/unittest-data/overlay_bad_symbol.dts b/drivers/of/unittest-data/overlay_bad_symbol.dts
index 09261cb9a67e..135052ee1517 100644
--- a/drivers/of/unittest-data/overlay_bad_symbol.dts
+++ b/drivers/of/unittest-data/overlay_bad_symbol.dts
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0
1/dts-v1/; 2/dts-v1/;
2/plugin/; 3/plugin/;
3 4
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index 0f8052f1355c..7a9abaae874d 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -5,6 +5,7 @@
5 5
6#define pr_fmt(fmt) "### dt-test ### " fmt 6#define pr_fmt(fmt) "### dt-test ### " fmt
7 7
8#include <linux/bootmem.h>
8#include <linux/clk.h> 9#include <linux/clk.h>
9#include <linux/err.h> 10#include <linux/err.h>
10#include <linux/errno.h> 11#include <linux/errno.h>
@@ -2053,6 +2054,11 @@ static struct overlay_info overlays[] = {
2053 2054
2054static struct device_node *overlay_base_root; 2055static struct device_node *overlay_base_root;
2055 2056
2057static void * __init dt_alloc_memory(u64 size, u64 align)
2058{
2059 return memblock_virt_alloc(size, align);
2060}
2061
2056/* 2062/*
2057 * Create base device tree for the overlay unittest. 2063 * Create base device tree for the overlay unittest.
2058 * 2064 *
@@ -2092,8 +2098,7 @@ void __init unittest_unflatten_overlay_base(void)
2092 return; 2098 return;
2093 } 2099 }
2094 2100
2095 info->data = early_init_dt_alloc_memory_arch(size, 2101 info->data = dt_alloc_memory(size, roundup_pow_of_two(FDT_V17_SIZE));
2096 roundup_pow_of_two(FDT_V17_SIZE));
2097 if (!info->data) { 2102 if (!info->data) {
2098 pr_err("alloc for dtb 'overlay_base' failed"); 2103 pr_err("alloc for dtb 'overlay_base' failed");
2099 return; 2104 return;
@@ -2102,7 +2107,7 @@ void __init unittest_unflatten_overlay_base(void)
2102 memcpy(info->data, info->dtb_begin, size); 2107 memcpy(info->data, info->dtb_begin, size);
2103 2108
2104 __unflatten_device_tree(info->data, NULL, &info->np_overlay, 2109 __unflatten_device_tree(info->data, NULL, &info->np_overlay,
2105 early_init_dt_alloc_memory_arch, true); 2110 dt_alloc_memory, true);
2106 overlay_base_root = info->np_overlay; 2111 overlay_base_root = info->np_overlay;
2107} 2112}
2108 2113
diff --git a/include/linux/libfdt.h b/include/linux/libfdt.h
index 27ba06e5d117..90ed4ebfa692 100644
--- a/include/linux/libfdt.h
+++ b/include/linux/libfdt.h
@@ -3,7 +3,6 @@
3#define _INCLUDE_LIBFDT_H_ 3#define _INCLUDE_LIBFDT_H_
4 4
5#include <linux/libfdt_env.h> 5#include <linux/libfdt_env.h>
6#include "../../scripts/dtc/libfdt/fdt.h"
7#include "../../scripts/dtc/libfdt/libfdt.h" 6#include "../../scripts/dtc/libfdt/libfdt.h"
8 7
9#endif /* _INCLUDE_LIBFDT_H_ */ 8#endif /* _INCLUDE_LIBFDT_H_ */
diff --git a/include/linux/of.h b/include/linux/of.h
index 173102dafb07..da1ee95241c1 100644
--- a/include/linux/of.h
+++ b/include/linux/of.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0+ */
1#ifndef _LINUX_OF_H 2#ifndef _LINUX_OF_H
2#define _LINUX_OF_H 3#define _LINUX_OF_H
3/* 4/*
@@ -9,11 +10,6 @@
9 * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. 10 * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp.
10 * Updates for SPARC64 by David S. Miller 11 * Updates for SPARC64 by David S. Miller
11 * Derived from PowerPC and Sparc prom.h files by Stephen Rothwell, IBM Corp. 12 * Derived from PowerPC and Sparc prom.h files by Stephen Rothwell, IBM Corp.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version
16 * 2 of the License, or (at your option) any later version.
17 */ 13 */
18#include <linux/types.h> 14#include <linux/types.h>
19#include <linux/bitops.h> 15#include <linux/bitops.h>
diff --git a/include/linux/of_dma.h b/include/linux/of_dma.h
index b90d8ec57c1f..fd706cdf255c 100644
--- a/include/linux/of_dma.h
+++ b/include/linux/of_dma.h
@@ -1,13 +1,10 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * OF helpers for DMA request / controller 3 * OF helpers for DMA request / controller
3 * 4 *
4 * Based on of_gpio.h 5 * Based on of_gpio.h
5 * 6 *
6 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 7 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
11 */ 8 */
12 9
13#ifndef __LINUX_OF_DMA_H 10#ifndef __LINUX_OF_DMA_H
diff --git a/include/linux/of_fdt.h b/include/linux/of_fdt.h
index 013c5418aeec..b9cd9ebdf9b9 100644
--- a/include/linux/of_fdt.h
+++ b/include/linux/of_fdt.h
@@ -1,12 +1,9 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * Definitions for working with the Flattened Device Tree data format 3 * Definitions for working with the Flattened Device Tree data format
3 * 4 *
4 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp 5 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp
5 * benh@kernel.crashing.org 6 * benh@kernel.crashing.org
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * version 2 as published by the Free Software Foundation.
10 */ 7 */
11 8
12#ifndef _LINUX_OF_FDT_H 9#ifndef _LINUX_OF_FDT_H
@@ -47,6 +44,12 @@ extern void *initial_boot_params;
47extern char __dtb_start[]; 44extern char __dtb_start[];
48extern char __dtb_end[]; 45extern char __dtb_end[];
49 46
47/* Other Prototypes */
48extern u64 of_flat_dt_translate_address(unsigned long node);
49extern void of_fdt_limit_memory(int limit);
50#endif /* CONFIG_OF_FLATTREE */
51
52#ifdef CONFIG_OF_EARLY_FLATTREE
50/* For scanning the flat device-tree at boot time */ 53/* For scanning the flat device-tree at boot time */
51extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname, 54extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname,
52 int depth, void *data), 55 int depth, void *data),
@@ -77,7 +80,6 @@ extern void early_init_dt_add_memory_arch(u64 base, u64 size);
77extern int early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size); 80extern int early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size);
78extern int early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, 81extern int early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size,
79 bool no_map); 82 bool no_map);
80extern void * early_init_dt_alloc_memory_arch(u64 size, u64 align);
81extern u64 dt_mem_next_cell(int s, const __be32 **cellp); 83extern u64 dt_mem_next_cell(int s, const __be32 **cellp);
82 84
83/* Early flat tree scan hooks */ 85/* Early flat tree scan hooks */
@@ -97,16 +99,14 @@ extern void unflatten_device_tree(void);
97extern void unflatten_and_copy_device_tree(void); 99extern void unflatten_and_copy_device_tree(void);
98extern void early_init_devtree(void *); 100extern void early_init_devtree(void *);
99extern void early_get_first_memblock_info(void *, phys_addr_t *); 101extern void early_get_first_memblock_info(void *, phys_addr_t *);
100extern u64 of_flat_dt_translate_address(unsigned long node); 102#else /* CONFIG_OF_EARLY_FLATTREE */
101extern void of_fdt_limit_memory(int limit);
102#else /* CONFIG_OF_FLATTREE */
103static inline int early_init_dt_scan_chosen_stdout(void) { return -ENODEV; } 103static inline int early_init_dt_scan_chosen_stdout(void) { return -ENODEV; }
104static inline void early_init_fdt_scan_reserved_mem(void) {} 104static inline void early_init_fdt_scan_reserved_mem(void) {}
105static inline void early_init_fdt_reserve_self(void) {} 105static inline void early_init_fdt_reserve_self(void) {}
106static inline const char *of_flat_dt_get_machine_name(void) { return NULL; } 106static inline const char *of_flat_dt_get_machine_name(void) { return NULL; }
107static inline void unflatten_device_tree(void) {} 107static inline void unflatten_device_tree(void) {}
108static inline void unflatten_and_copy_device_tree(void) {} 108static inline void unflatten_and_copy_device_tree(void) {}
109#endif /* CONFIG_OF_FLATTREE */ 109#endif /* CONFIG_OF_EARLY_FLATTREE */
110 110
111#endif /* __ASSEMBLY__ */ 111#endif /* __ASSEMBLY__ */
112#endif /* _LINUX_OF_FDT_H */ 112#endif /* _LINUX_OF_FDT_H */
diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h
index 18a7f03e1182..163b79ecd01a 100644
--- a/include/linux/of_gpio.h
+++ b/include/linux/of_gpio.h
@@ -1,14 +1,10 @@
1/* SPDX-License-Identifier: GPL-2.0+ */
1/* 2/*
2 * OF helpers for the GPIO API 3 * OF helpers for the GPIO API
3 * 4 *
4 * Copyright (c) 2007-2008 MontaVista Software, Inc. 5 * Copyright (c) 2007-2008 MontaVista Software, Inc.
5 * 6 *
6 * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 7 * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 */ 8 */
13 9
14#ifndef __LINUX_OF_GPIO_H 10#ifndef __LINUX_OF_GPIO_H
diff --git a/include/linux/of_graph.h b/include/linux/of_graph.h
index 3e058f05ab04..01038a6aade0 100644
--- a/include/linux/of_graph.h
+++ b/include/linux/of_graph.h
@@ -1,3 +1,4 @@
1/* SPDX-License-Identifier: GPL-2.0 */
1/* 2/*
2 * OF graph binding parsing helpers 3 * OF graph binding parsing helpers
3 * 4 *
@@ -6,10 +7,6 @@
6 * 7 *
7 * Copyright (C) 2012 Renesas Electronics Corp. 8 * Copyright (C) 2012 Renesas Electronics Corp.
8 * Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de> 9 * Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of version 2 of the GNU General Public License as
12 * published by the Free Software Foundation.
13 */ 10 */
14#ifndef __LINUX_OF_GRAPH_H 11#ifndef __LINUX_OF_GRAPH_H
15#define __LINUX_OF_GRAPH_H 12#define __LINUX_OF_GRAPH_H
diff --git a/include/linux/of_pdt.h b/include/linux/of_pdt.h
index 7e09244bb679..d0b183ab65c6 100644
--- a/include/linux/of_pdt.h
+++ b/include/linux/of_pdt.h
@@ -1,13 +1,9 @@
1/* SPDX-License-Identifier: GPL-2.0+ */
1/* 2/*
2 * Definitions for building a device tree by calling into the 3 * Definitions for building a device tree by calling into the
3 * Open Firmware PROM. 4 * Open Firmware PROM.
4 * 5 *
5 * Copyright (C) 2010 Andres Salomon <dilinger@queued.net> 6 * Copyright (C) 2010 Andres Salomon <dilinger@queued.net>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 */ 7 */
12 8
13#ifndef _LINUX_OF_PDT_H 9#ifndef _LINUX_OF_PDT_H
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h
index fb908e598348..84a966623e78 100644
--- a/include/linux/of_platform.h
+++ b/include/linux/of_platform.h
@@ -1,14 +1,9 @@
1/* SPDX-License-Identifier: GPL-2.0+ */
1#ifndef _LINUX_OF_PLATFORM_H 2#ifndef _LINUX_OF_PLATFORM_H
2#define _LINUX_OF_PLATFORM_H 3#define _LINUX_OF_PLATFORM_H
3/* 4/*
4 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. 5 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp.
5 * <benh@kernel.crashing.org> 6 * <benh@kernel.crashing.org>
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version
10 * 2 of the License, or (at your option) any later version.
11 *
12 */ 7 */
13 8
14#include <linux/device.h> 9#include <linux/device.h>