aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-12-08 16:00:51 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-12-08 16:00:51 -0500
commit78d9b048446c3c0a83313444fb706f8f3bccdae7 (patch)
treec16762f759b518b923e068c8c59fb9f431d43218
parent900add27f55660158e7cac07674882befec49297 (diff)
parent589b754df3f37ca0a1f96fccde7f91c59266f38a (diff)
Merge tag 'devicetree-fixes-for-4.15-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree fixes from Rob Herring: "Another set of DT fixes: - Fixes from overlay code rework. A trifecta of fixes to the locking, an out of bounds access, and a memory leak in of_overlay_apply() - Clean-up at25 eeprom binding document - Remove leading '0x' in unit-addresses from binding docs" * tag 'devicetree-fixes-for-4.15-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: of: overlay: Make node skipping in init_overlay_changeset() clearer of: overlay: Fix out-of-bounds write in init_overlay_changeset() of: overlay: Fix (un)locking in of_overlay_apply() of: overlay: Fix memory leak in of_overlay_apply() error path dt-bindings: eeprom: at25: Document device-specific compatible values dt-bindings: eeprom: at25: Grammar s/are can/can/ dt-bindings: Remove leading 0x from bindings notation of: overlay: Remove else after goto of: Spelling s/changset/changeset/ of: unittest: Remove bogus overlay mutex release from overlay_data_add()
-rw-r--r--Documentation/devicetree/bindings/arm/ccn.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/omap/crossbar.txt2
-rw-r--r--Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/axi-clkgen.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos4-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5250-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5410-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5420-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/exynos5440-clock.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/clock/zx296702-clk.txt4
-rw-r--r--Documentation/devicetree/bindings/crypto/fsl-sec4.txt4
-rw-r--r--Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt2
-rw-r--r--Documentation/devicetree/bindings/display/atmel,lcdc.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt4
-rw-r--r--Documentation/devicetree/bindings/dma/zxdma.txt2
-rw-r--r--Documentation/devicetree/bindings/eeprom/at25.txt13
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-altera.txt2
-rw-r--r--Documentation/devicetree/bindings/i2c/i2c-jz4780.txt2
-rw-r--r--Documentation/devicetree/bindings/iio/pressure/hp03.txt2
-rw-r--r--Documentation/devicetree/bindings/input/touchscreen/bu21013.txt2
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt4
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt2
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt2
-rw-r--r--Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt2
-rw-r--r--Documentation/devicetree/bindings/mailbox/altera-mailbox.txt6
-rw-r--r--Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt2
-rw-r--r--Documentation/devicetree/bindings/media/exynos5-gsc.txt2
-rw-r--r--Documentation/devicetree/bindings/media/mediatek-vcodec.txt2
-rw-r--r--Documentation/devicetree/bindings/media/rcar_vin.txt2
-rw-r--r--Documentation/devicetree/bindings/media/samsung-fimc.txt2
-rw-r--r--Documentation/devicetree/bindings/media/sh_mobile_ceu.txt2
-rw-r--r--Documentation/devicetree/bindings/media/video-interfaces.txt10
-rw-r--r--Documentation/devicetree/bindings/memory-controllers/ti/emif.txt2
-rw-r--r--Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt2
-rw-r--r--Documentation/devicetree/bindings/misc/brcm,kona-smc.txt2
-rw-r--r--Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt2
-rw-r--r--Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt2
-rw-r--r--Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt4
-rw-r--r--Documentation/devicetree/bindings/mtd/gpmc-nor.txt6
-rw-r--r--Documentation/devicetree/bindings/mtd/mtk-nand.txt2
-rw-r--r--Documentation/devicetree/bindings/net/altera_tse.txt4
-rw-r--r--Documentation/devicetree/bindings/net/mdio.txt2
-rw-r--r--Documentation/devicetree/bindings/net/socfpga-dwmac.txt2
-rw-r--r--Documentation/devicetree/bindings/nios2/nios2.txt2
-rw-r--r--Documentation/devicetree/bindings/pci/altera-pcie.txt2
-rw-r--r--Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt2
-rw-r--r--Documentation/devicetree/bindings/pci/hisilicon-pcie.txt2
-rw-r--r--Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt4
-rw-r--r--Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt2
-rw-r--r--Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt4
-rw-r--r--Documentation/devicetree/bindings/regulator/regulator.txt2
-rw-r--r--Documentation/devicetree/bindings/serial/efm32-uart.txt2
-rw-r--r--Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt2
-rw-r--r--Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/adi,axi-i2s.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/ak4613.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/ak4642.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/max98371.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/max9867.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/renesas,fsi.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/rockchip-spdif.txt2
-rw-r--r--Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt8
-rw-r--r--Documentation/devicetree/bindings/spi/efm32-spi.txt2
-rw-r--r--Documentation/devicetree/bindings/thermal/thermal.txt12
-rw-r--r--Documentation/devicetree/bindings/ufs/ufs-qcom.txt4
-rw-r--r--Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/ehci-st.txt2
-rw-r--r--Documentation/devicetree/bindings/usb/ohci-st.txt2
-rw-r--r--Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt2
-rw-r--r--drivers/of/dynamic.c4
-rw-r--r--drivers/of/overlay.c84
-rw-r--r--drivers/of/unittest.c1
77 files changed, 149 insertions, 151 deletions
diff --git a/Documentation/devicetree/bindings/arm/ccn.txt b/Documentation/devicetree/bindings/arm/ccn.txt
index 29801456c9ee..43b5a71a5a9d 100644
--- a/Documentation/devicetree/bindings/arm/ccn.txt
+++ b/Documentation/devicetree/bindings/arm/ccn.txt
@@ -15,7 +15,7 @@ Required properties:
15 15
16Example: 16Example:
17 17
18 ccn@0x2000000000 { 18 ccn@2000000000 {
19 compatible = "arm,ccn-504"; 19 compatible = "arm,ccn-504";
20 reg = <0x20 0x00000000 0 0x1000000>; 20 reg = <0x20 0x00000000 0 0x1000000>;
21 interrupts = <0 181 4>; 21 interrupts = <0 181 4>;
diff --git a/Documentation/devicetree/bindings/arm/omap/crossbar.txt b/Documentation/devicetree/bindings/arm/omap/crossbar.txt
index bb5727ae004a..ecb360ed0e33 100644
--- a/Documentation/devicetree/bindings/arm/omap/crossbar.txt
+++ b/Documentation/devicetree/bindings/arm/omap/crossbar.txt
@@ -49,7 +49,7 @@ An interrupt consumer on an SoC using crossbar will use:
49 interrupts = <GIC_SPI request_number interrupt_level> 49 interrupts = <GIC_SPI request_number interrupt_level>
50 50
51Example: 51Example:
52 device_x@0x4a023000 { 52 device_x@4a023000 {
53 /* Crossbar 8 used */ 53 /* Crossbar 8 used */
54 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 54 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
55 ... 55 ...
diff --git a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt
index 866d93421eba..f9632bacbd04 100644
--- a/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt
+++ b/Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt
@@ -8,7 +8,7 @@ Required properties:
8- interrupts : Should contain MC General interrupt. 8- interrupts : Should contain MC General interrupt.
9 9
10Example: 10Example:
11 memory-controller@0x7000f000 { 11 memory-controller@7000f000 {
12 compatible = "nvidia,tegra20-mc"; 12 compatible = "nvidia,tegra20-mc";
13 reg = <0x7000f000 0x024 13 reg = <0x7000f000 0x024
14 0x7000f03c 0x3c4>; 14 0x7000f03c 0x3c4>;
diff --git a/Documentation/devicetree/bindings/clock/axi-clkgen.txt b/Documentation/devicetree/bindings/clock/axi-clkgen.txt
index fb40da303d25..aca94fe9416f 100644
--- a/Documentation/devicetree/bindings/clock/axi-clkgen.txt
+++ b/Documentation/devicetree/bindings/clock/axi-clkgen.txt
@@ -17,7 +17,7 @@ Optional properties:
17- clock-output-names : From common clock binding. 17- clock-output-names : From common clock binding.
18 18
19Example: 19Example:
20 clock@0xff000000 { 20 clock@ff000000 {
21 compatible = "adi,axi-clkgen"; 21 compatible = "adi,axi-clkgen";
22 #clock-cells = <0>; 22 #clock-cells = <0>;
23 reg = <0xff000000 0x1000>; 23 reg = <0xff000000 0x1000>;
diff --git a/Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt b/Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt
index 7a837d2182ac..4acfc8f641b6 100644
--- a/Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt
+++ b/Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt
@@ -23,7 +23,7 @@ Example:
23 clocks = <&clk_osc>; 23 clocks = <&clk_osc>;
24 }; 24 };
25 25
26 aux: aux@0x7e215004 { 26 aux: aux@7e215004 {
27 compatible = "brcm,bcm2835-aux"; 27 compatible = "brcm,bcm2835-aux";
28 #clock-cells = <1>; 28 #clock-cells = <1>;
29 reg = <0x7e215000 0x8>; 29 reg = <0x7e215000 0x8>;
diff --git a/Documentation/devicetree/bindings/clock/exynos4-clock.txt b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
index bc61c952cb0b..17bb11365354 100644
--- a/Documentation/devicetree/bindings/clock/exynos4-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos4-clock.txt
@@ -24,7 +24,7 @@ tree sources.
24 24
25Example 1: An example of a clock controller node is listed below. 25Example 1: An example of a clock controller node is listed below.
26 26
27 clock: clock-controller@0x10030000 { 27 clock: clock-controller@10030000 {
28 compatible = "samsung,exynos4210-clock"; 28 compatible = "samsung,exynos4210-clock";
29 reg = <0x10030000 0x20000>; 29 reg = <0x10030000 0x20000>;
30 #clock-cells = <1>; 30 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
index 536eacd1063f..aff266a12eeb 100644
--- a/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5250-clock.txt
@@ -22,7 +22,7 @@ tree sources.
22 22
23Example 1: An example of a clock controller node is listed below. 23Example 1: An example of a clock controller node is listed below.
24 24
25 clock: clock-controller@0x10010000 { 25 clock: clock-controller@10010000 {
26 compatible = "samsung,exynos5250-clock"; 26 compatible = "samsung,exynos5250-clock";
27 reg = <0x10010000 0x30000>; 27 reg = <0x10010000 0x30000>;
28 #clock-cells = <1>; 28 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5410-clock.txt b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
index 4527de3ea205..c68b0d29b3d0 100644
--- a/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5410-clock.txt
@@ -30,7 +30,7 @@ Example 1: An example of a clock controller node is listed below.
30 #clock-cells = <0>; 30 #clock-cells = <0>;
31 }; 31 };
32 32
33 clock: clock-controller@0x10010000 { 33 clock: clock-controller@10010000 {
34 compatible = "samsung,exynos5410-clock"; 34 compatible = "samsung,exynos5410-clock";
35 reg = <0x10010000 0x30000>; 35 reg = <0x10010000 0x30000>;
36 #clock-cells = <1>; 36 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
index d54f42cf0440..717a7b1531c7 100644
--- a/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5420-clock.txt
@@ -23,7 +23,7 @@ tree sources.
23 23
24Example 1: An example of a clock controller node is listed below. 24Example 1: An example of a clock controller node is listed below.
25 25
26 clock: clock-controller@0x10010000 { 26 clock: clock-controller@10010000 {
27 compatible = "samsung,exynos5420-clock"; 27 compatible = "samsung,exynos5420-clock";
28 reg = <0x10010000 0x30000>; 28 reg = <0x10010000 0x30000>;
29 #clock-cells = <1>; 29 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
index 5f7005f73058..c7d227c31e95 100644
--- a/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
+++ b/Documentation/devicetree/bindings/clock/exynos5440-clock.txt
@@ -21,7 +21,7 @@ tree sources.
21 21
22Example: An example of a clock controller node is listed below. 22Example: An example of a clock controller node is listed below.
23 23
24 clock: clock-controller@0x10010000 { 24 clock: clock-controller@10010000 {
25 compatible = "samsung,exynos5440-clock"; 25 compatible = "samsung,exynos5440-clock";
26 reg = <0x160000 0x10000>; 26 reg = <0x160000 0x10000>;
27 #clock-cells = <1>; 27 #clock-cells = <1>;
diff --git a/Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt b/Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt
index 3e6a81e99804..c35cb6c4af4d 100644
--- a/Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt
+++ b/Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt
@@ -14,7 +14,7 @@ Required properties:
14 14
15Example: 15Example:
16 16
17pllctrl: pll-controller@0x02310000 { 17pllctrl: pll-controller@02310000 {
18 compatible = "ti,keystone-pllctrl", "syscon"; 18 compatible = "ti,keystone-pllctrl", "syscon";
19 reg = <0x02310000 0x200>; 19 reg = <0x02310000 0x200>;
20}; 20};
diff --git a/Documentation/devicetree/bindings/clock/zx296702-clk.txt b/Documentation/devicetree/bindings/clock/zx296702-clk.txt
index e85ecb510d56..5c91c9e4f1be 100644
--- a/Documentation/devicetree/bindings/clock/zx296702-clk.txt
+++ b/Documentation/devicetree/bindings/clock/zx296702-clk.txt
@@ -20,13 +20,13 @@ ID in its "clocks" phandle cell. See include/dt-bindings/clock/zx296702-clock.h
20for the full list of zx296702 clock IDs. 20for the full list of zx296702 clock IDs.
21 21
22 22
23topclk: topcrm@0x09800000 { 23topclk: topcrm@09800000 {
24 compatible = "zte,zx296702-topcrm-clk"; 24 compatible = "zte,zx296702-topcrm-clk";
25 reg = <0x09800000 0x1000>; 25 reg = <0x09800000 0x1000>;
26 #clock-cells = <1>; 26 #clock-cells = <1>;
27}; 27};
28 28
29uart0: serial@0x09405000 { 29uart0: serial@09405000 {
30 compatible = "zte,zx296702-uart"; 30 compatible = "zte,zx296702-uart";
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>;
diff --git a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
index 7aef0eae58d4..76aec8a3724d 100644
--- a/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
+++ b/Documentation/devicetree/bindings/crypto/fsl-sec4.txt
@@ -456,7 +456,7 @@ System ON/OFF key driver
456 Definition: this is phandle to the register map node. 456 Definition: this is phandle to the register map node.
457 457
458EXAMPLE: 458EXAMPLE:
459 snvs-pwrkey@0x020cc000 { 459 snvs-pwrkey@020cc000 {
460 compatible = "fsl,sec-v4.0-pwrkey"; 460 compatible = "fsl,sec-v4.0-pwrkey";
461 regmap = <&snvs>; 461 regmap = <&snvs>;
462 interrupts = <0 4 0x4> 462 interrupts = <0 4 0x4>
@@ -545,7 +545,7 @@ FULL EXAMPLE
545 interrupts = <93 2>; 545 interrupts = <93 2>;
546 }; 546 };
547 547
548 snvs-pwrkey@0x020cc000 { 548 snvs-pwrkey@020cc000 {
549 compatible = "fsl,sec-v4.0-pwrkey"; 549 compatible = "fsl,sec-v4.0-pwrkey";
550 regmap = <&sec_mon>; 550 regmap = <&sec_mon>;
551 interrupts = <0 4 0x4>; 551 interrupts = <0 4 0x4>;
diff --git a/Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt b/Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt
index 001dd63979a9..148191b0fc15 100644
--- a/Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt
+++ b/Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt
@@ -9,7 +9,7 @@ Required properties:
9- clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon"; 9- clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon";
10 10
11Example: 11Example:
12 dfi: dfi@0xff630000 { 12 dfi: dfi@ff630000 {
13 compatible = "rockchip,rk3399-dfi"; 13 compatible = "rockchip,rk3399-dfi";
14 reg = <0x00 0xff630000 0x00 0x4000>; 14 reg = <0x00 0xff630000 0x00 0x4000>;
15 rockchip,pmu = <&pmugrf>; 15 rockchip,pmu = <&pmugrf>;
diff --git a/Documentation/devicetree/bindings/display/atmel,lcdc.txt b/Documentation/devicetree/bindings/display/atmel,lcdc.txt
index 1a21202778ee..acb5a0132127 100644
--- a/Documentation/devicetree/bindings/display/atmel,lcdc.txt
+++ b/Documentation/devicetree/bindings/display/atmel,lcdc.txt
@@ -27,7 +27,7 @@ Optional properties:
27 27
28Example: 28Example:
29 29
30 fb0: fb@0x00500000 { 30 fb0: fb@00500000 {
31 compatible = "atmel,at91sam9g45-lcdc"; 31 compatible = "atmel,at91sam9g45-lcdc";
32 reg = <0x00500000 0x1000>; 32 reg = <0x00500000 0x1000>;
33 interrupts = <23 3 0>; 33 interrupts = <23 3 0>;
@@ -41,7 +41,7 @@ Example:
41 41
42Example for fixed framebuffer memory: 42Example for fixed framebuffer memory:
43 43
44 fb0: fb@0x00500000 { 44 fb0: fb@00500000 {
45 compatible = "atmel,at91sam9263-lcdc"; 45 compatible = "atmel,at91sam9263-lcdc";
46 reg = <0x00700000 0x1000 0x70000000 0x200000>; 46 reg = <0x00700000 0x1000 0x70000000 0x200000>;
47 [...] 47 [...]
diff --git a/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt b/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
index 55492c264d17..b3408cc57be6 100644
--- a/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
+++ b/Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
@@ -73,7 +73,7 @@ Hypervisor OS configuration:
73 max-read-transactions = <31>; 73 max-read-transactions = <31>;
74 channel-reset-timeout-cycles = <0x500>; 74 channel-reset-timeout-cycles = <0x500>;
75 75
76 hidma_24: dma-controller@0x5c050000 { 76 hidma_24: dma-controller@5c050000 {
77 compatible = "qcom,hidma-1.0"; 77 compatible = "qcom,hidma-1.0";
78 reg = <0 0x5c050000 0x0 0x1000>, 78 reg = <0 0x5c050000 0x0 0x1000>,
79 <0 0x5c0b0000 0x0 0x1000>; 79 <0 0x5c0b0000 0x0 0x1000>;
@@ -85,7 +85,7 @@ Hypervisor OS configuration:
85 85
86Guest OS configuration: 86Guest OS configuration:
87 87
88 hidma_24: dma-controller@0x5c050000 { 88 hidma_24: dma-controller@5c050000 {
89 compatible = "qcom,hidma-1.0"; 89 compatible = "qcom,hidma-1.0";
90 reg = <0 0x5c050000 0x0 0x1000>, 90 reg = <0 0x5c050000 0x0 0x1000>,
91 <0 0x5c0b0000 0x0 0x1000>; 91 <0 0x5c0b0000 0x0 0x1000>;
diff --git a/Documentation/devicetree/bindings/dma/zxdma.txt b/Documentation/devicetree/bindings/dma/zxdma.txt
index abec59f35fde..0ab80f69e566 100644
--- a/Documentation/devicetree/bindings/dma/zxdma.txt
+++ b/Documentation/devicetree/bindings/dma/zxdma.txt
@@ -13,7 +13,7 @@ Required properties:
13Example: 13Example:
14 14
15Controller: 15Controller:
16 dma: dma-controller@0x09c00000{ 16 dma: dma-controller@09c00000{
17 compatible = "zte,zx296702-dma"; 17 compatible = "zte,zx296702-dma";
18 reg = <0x09c00000 0x1000>; 18 reg = <0x09c00000 0x1000>;
19 clocks = <&topclk ZX296702_DMA_ACLK>; 19 clocks = <&topclk ZX296702_DMA_ACLK>;
diff --git a/Documentation/devicetree/bindings/eeprom/at25.txt b/Documentation/devicetree/bindings/eeprom/at25.txt
index 1d3447165c37..e823d90b802f 100644
--- a/Documentation/devicetree/bindings/eeprom/at25.txt
+++ b/Documentation/devicetree/bindings/eeprom/at25.txt
@@ -1,7 +1,12 @@
1EEPROMs (SPI) compatible with Atmel at25. 1EEPROMs (SPI) compatible with Atmel at25.
2 2
3Required properties: 3Required properties:
4- compatible : "atmel,at25". 4- compatible : Should be "<vendor>,<type>", and generic value "atmel,at25".
5 Example "<vendor>,<type>" values:
6 "microchip,25lc040"
7 "st,m95m02"
8 "st,m95256"
9
5- reg : chip select number 10- reg : chip select number
6- spi-max-frequency : max spi frequency to use 11- spi-max-frequency : max spi frequency to use
7- pagesize : size of the eeprom page 12- pagesize : size of the eeprom page
@@ -13,7 +18,7 @@ Optional properties:
13- spi-cpol : SPI inverse clock polarity, as per spi-bus bindings. 18- spi-cpol : SPI inverse clock polarity, as per spi-bus bindings.
14- read-only : this parameter-less property disables writes to the eeprom 19- read-only : this parameter-less property disables writes to the eeprom
15 20
16Obsolete legacy properties are can be used in place of "size", "pagesize", 21Obsolete legacy properties can be used in place of "size", "pagesize",
17"address-width", and "read-only": 22"address-width", and "read-only":
18- at25,byte-len : total eeprom size in bytes 23- at25,byte-len : total eeprom size in bytes
19- at25,addr-mode : addr-mode flags, as defined in include/linux/spi/eeprom.h 24- at25,addr-mode : addr-mode flags, as defined in include/linux/spi/eeprom.h
@@ -22,8 +27,8 @@ Obsolete legacy properties are can be used in place of "size", "pagesize",
22Additional compatible properties are also allowed. 27Additional compatible properties are also allowed.
23 28
24Example: 29Example:
25 at25@0 { 30 eeprom@0 {
26 compatible = "atmel,at25", "st,m95256"; 31 compatible = "st,m95256", "atmel,at25";
27 reg = <0> 32 reg = <0>
28 spi-max-frequency = <5000000>; 33 spi-max-frequency = <5000000>;
29 spi-cpha; 34 spi-cpha;
diff --git a/Documentation/devicetree/bindings/gpio/gpio-altera.txt b/Documentation/devicetree/bindings/gpio/gpio-altera.txt
index 826a7208ca93..146e554b3c67 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-altera.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-altera.txt
@@ -30,7 +30,7 @@ Optional properties:
30 30
31Example: 31Example:
32 32
33gpio_altr: gpio@0xff200000 { 33gpio_altr: gpio@ff200000 {
34 compatible = "altr,pio-1.0"; 34 compatible = "altr,pio-1.0";
35 reg = <0xff200000 0x10>; 35 reg = <0xff200000 0x10>;
36 interrupts = <0 45 4>; 36 interrupts = <0 45 4>;
diff --git a/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt b/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt
index 231e4cc4008c..d4a082acf92f 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-jz4780.txt
@@ -18,7 +18,7 @@ Optional properties:
18Example 18Example
19 19
20/ { 20/ {
21 i2c4: i2c4@0x10054000 { 21 i2c4: i2c4@10054000 {
22 compatible = "ingenic,jz4780-i2c"; 22 compatible = "ingenic,jz4780-i2c";
23 reg = <0x10054000 0x1000>; 23 reg = <0x10054000 0x1000>;
24 24
diff --git a/Documentation/devicetree/bindings/iio/pressure/hp03.txt b/Documentation/devicetree/bindings/iio/pressure/hp03.txt
index 54e7e70bcea5..831dbee7a5c3 100644
--- a/Documentation/devicetree/bindings/iio/pressure/hp03.txt
+++ b/Documentation/devicetree/bindings/iio/pressure/hp03.txt
@@ -10,7 +10,7 @@ Required properties:
10 10
11Example: 11Example:
12 12
13hp03@0x77 { 13hp03@77 {
14 compatible = "hoperf,hp03"; 14 compatible = "hoperf,hp03";
15 reg = <0x77>; 15 reg = <0x77>;
16 xclr-gpio = <&portc 0 0x0>; 16 xclr-gpio = <&portc 0 0x0>;
diff --git a/Documentation/devicetree/bindings/input/touchscreen/bu21013.txt b/Documentation/devicetree/bindings/input/touchscreen/bu21013.txt
index ca5a2c86480c..56d835242af2 100644
--- a/Documentation/devicetree/bindings/input/touchscreen/bu21013.txt
+++ b/Documentation/devicetree/bindings/input/touchscreen/bu21013.txt
@@ -15,7 +15,7 @@ Optional properties:
15Example: 15Example:
16 16
17 i2c@80110000 { 17 i2c@80110000 {
18 bu21013_tp@0x5c { 18 bu21013_tp@5c {
19 compatible = "rohm,bu21013_tp"; 19 compatible = "rohm,bu21013_tp";
20 reg = <0x5c>; 20 reg = <0x5c>;
21 touch-gpio = <&gpio2 20 0x4>; 21 touch-gpio = <&gpio2 20 0x4>;
diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt b/Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
index 560d8a727b8f..2f3244648646 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
@@ -155,7 +155,7 @@ Example:
155 <0x0 0xe112f000 0 0x02000>, 155 <0x0 0xe112f000 0 0x02000>,
156 <0x0 0xe1140000 0 0x10000>, 156 <0x0 0xe1140000 0 0x10000>,
157 <0x0 0xe1160000 0 0x10000>; 157 <0x0 0xe1160000 0 0x10000>;
158 v2m0: v2m@0x8000 { 158 v2m0: v2m@8000 {
159 compatible = "arm,gic-v2m-frame"; 159 compatible = "arm,gic-v2m-frame";
160 msi-controller; 160 msi-controller;
161 reg = <0x0 0x80000 0 0x1000>; 161 reg = <0x0 0x80000 0 0x1000>;
@@ -163,7 +163,7 @@ Example:
163 163
164 .... 164 ....
165 165
166 v2mN: v2m@0x9000 { 166 v2mN: v2m@9000 {
167 compatible = "arm,gic-v2m-frame"; 167 compatible = "arm,gic-v2m-frame";
168 msi-controller; 168 msi-controller;
169 reg = <0x0 0x90000 0 0x1000>; 169 reg = <0x0 0x90000 0 0x1000>;
diff --git a/Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt
index 80994adab392..42431f44697f 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt
@@ -71,7 +71,7 @@ Example 2:
71 * An interrupt generating device that is wired to a Meta external 71 * An interrupt generating device that is wired to a Meta external
72 * trigger block. 72 * trigger block.
73 */ 73 */
74 uart1: uart@0x02004c00 { 74 uart1: uart@02004c00 {
75 // Interrupt source '5' that is level-sensitive. 75 // Interrupt source '5' that is level-sensitive.
76 // Note that there are only two cells as specified in the 76 // Note that there are only two cells as specified in the
77 // interrupt parent's '#interrupt-cells' property. 77 // interrupt parent's '#interrupt-cells' property.
diff --git a/Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt b/Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt
index a69118550344..5dc2a55ad811 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt
@@ -51,7 +51,7 @@ Example 1:
51 /* 51 /*
52 * TZ1090 PDC block 52 * TZ1090 PDC block
53 */ 53 */
54 pdc: pdc@0x02006000 { 54 pdc: pdc@02006000 {
55 // This is an interrupt controller node. 55 // This is an interrupt controller node.
56 interrupt-controller; 56 interrupt-controller;
57 57
diff --git a/Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt b/Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt
index 715a013ed4bd..2ab0ea39867b 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt
+++ b/Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt
@@ -39,7 +39,7 @@ Example:
39 39
40The following is an example from the SPEAr320 SoC dtsi file. 40The following is an example from the SPEAr320 SoC dtsi file.
41 41
42shirq: interrupt-controller@0xb3000000 { 42shirq: interrupt-controller@b3000000 {
43 compatible = "st,spear320-shirq"; 43 compatible = "st,spear320-shirq";
44 reg = <0xb3000000 0x1000>; 44 reg = <0xb3000000 0x1000>;
45 interrupts = <28 29 30 1>; 45 interrupts = <28 29 30 1>;
diff --git a/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt b/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
index c2619797ce0c..49cfc8c337c4 100644
--- a/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
+++ b/Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
@@ -14,7 +14,7 @@ Optional properties:
14 depends on the interrupt controller parent. 14 depends on the interrupt controller parent.
15 15
16Example: 16Example:
17 mbox_tx: mailbox@0x100 { 17 mbox_tx: mailbox@100 {
18 compatible = "altr,mailbox-1.0"; 18 compatible = "altr,mailbox-1.0";
19 reg = <0x100 0x8>; 19 reg = <0x100 0x8>;
20 interrupt-parent = < &gic_0 >; 20 interrupt-parent = < &gic_0 >;
@@ -22,7 +22,7 @@ Example:
22 #mbox-cells = <1>; 22 #mbox-cells = <1>;
23 }; 23 };
24 24
25 mbox_rx: mailbox@0x200 { 25 mbox_rx: mailbox@200 {
26 compatible = "altr,mailbox-1.0"; 26 compatible = "altr,mailbox-1.0";
27 reg = <0x200 0x8>; 27 reg = <0x200 0x8>;
28 interrupt-parent = < &gic_0 >; 28 interrupt-parent = < &gic_0 >;
@@ -40,7 +40,7 @@ support only one channel).The equivalent "mbox-names" property value can be
40used to give a name to the communication channel to be used by the client user. 40used to give a name to the communication channel to be used by the client user.
41 41
42Example: 42Example:
43 mclient0: mclient0@0x400 { 43 mclient0: mclient0@400 {
44 compatible = "client-1.0"; 44 compatible = "client-1.0";
45 reg = <0x400 0x10>; 45 reg = <0x400 0x10>;
46 mbox-names = "mbox-tx", "mbox-rx"; 46 mbox-names = "mbox-tx", "mbox-rx";
diff --git a/Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt b/Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt
index 0f3ee81d92c2..9bcdf2087625 100644
--- a/Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt
+++ b/Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt
@@ -15,7 +15,7 @@ Optional properties:
15- brcm,use-bcm-hdr: present if a BCM header precedes each frame. 15- brcm,use-bcm-hdr: present if a BCM header precedes each frame.
16 16
17Example: 17Example:
18 pdc0: iproc-pdc0@0x612c0000 { 18 pdc0: iproc-pdc0@612c0000 {
19 compatible = "brcm,iproc-pdc-mbox"; 19 compatible = "brcm,iproc-pdc-mbox";
20 reg = <0 0x612c0000 0 0x445>; /* PDC FS0 regs */ 20 reg = <0 0x612c0000 0 0x445>; /* PDC FS0 regs */
21 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>; 21 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/media/exynos5-gsc.txt b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
index 0d4fdaedc6f1..bc963a6d305a 100644
--- a/Documentation/devicetree/bindings/media/exynos5-gsc.txt
+++ b/Documentation/devicetree/bindings/media/exynos5-gsc.txt
@@ -17,7 +17,7 @@ Optional properties:
17 17
18Example: 18Example:
19 19
20gsc_0: gsc@0x13e00000 { 20gsc_0: gsc@13e00000 {
21 compatible = "samsung,exynos5250-gsc"; 21 compatible = "samsung,exynos5250-gsc";
22 reg = <0x13e00000 0x1000>; 22 reg = <0x13e00000 0x1000>;
23 interrupts = <0 85 0>; 23 interrupts = <0 85 0>;
diff --git a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
index 46c15c54175d..2a615d84a682 100644
--- a/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
+++ b/Documentation/devicetree/bindings/media/mediatek-vcodec.txt
@@ -68,7 +68,7 @@ vcodec_dec: vcodec@16000000 {
68 "vdec_bus_clk_src"; 68 "vdec_bus_clk_src";
69 }; 69 };
70 70
71 vcodec_enc: vcodec@0x18002000 { 71 vcodec_enc: vcodec@18002000 {
72 compatible = "mediatek,mt8173-vcodec-enc"; 72 compatible = "mediatek,mt8173-vcodec-enc";
73 reg = <0 0x18002000 0 0x1000>, /*VENC_SYS*/ 73 reg = <0 0x18002000 0 0x1000>, /*VENC_SYS*/
74 <0 0x19002000 0 0x1000>; /*VENC_LT_SYS*/ 74 <0 0x19002000 0 0x1000>; /*VENC_LT_SYS*/
diff --git a/Documentation/devicetree/bindings/media/rcar_vin.txt b/Documentation/devicetree/bindings/media/rcar_vin.txt
index 6e4ef8caf759..19357d0bbe65 100644
--- a/Documentation/devicetree/bindings/media/rcar_vin.txt
+++ b/Documentation/devicetree/bindings/media/rcar_vin.txt
@@ -44,7 +44,7 @@ Device node example
44 vin0 = &vin0; 44 vin0 = &vin0;
45 }; 45 };
46 46
47 vin0: vin@0xe6ef0000 { 47 vin0: vin@e6ef0000 {
48 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 48 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin";
49 clocks = <&mstp8_clks R8A7790_CLK_VIN0>; 49 clocks = <&mstp8_clks R8A7790_CLK_VIN0>;
50 reg = <0 0xe6ef0000 0 0x1000>; 50 reg = <0 0xe6ef0000 0 0x1000>;
diff --git a/Documentation/devicetree/bindings/media/samsung-fimc.txt b/Documentation/devicetree/bindings/media/samsung-fimc.txt
index e4e15d8d7521..48c599dacbdf 100644
--- a/Documentation/devicetree/bindings/media/samsung-fimc.txt
+++ b/Documentation/devicetree/bindings/media/samsung-fimc.txt
@@ -138,7 +138,7 @@ Example:
138 }; 138 };
139 139
140 /* MIPI CSI-2 bus IF sensor */ 140 /* MIPI CSI-2 bus IF sensor */
141 s5c73m3: sensor@0x1a { 141 s5c73m3: sensor@1a {
142 compatible = "samsung,s5c73m3"; 142 compatible = "samsung,s5c73m3";
143 reg = <0x1a>; 143 reg = <0x1a>;
144 vddio-supply = <...>; 144 vddio-supply = <...>;
diff --git a/Documentation/devicetree/bindings/media/sh_mobile_ceu.txt b/Documentation/devicetree/bindings/media/sh_mobile_ceu.txt
index 1ce4e46bcbb7..17a8e81ca0cc 100644
--- a/Documentation/devicetree/bindings/media/sh_mobile_ceu.txt
+++ b/Documentation/devicetree/bindings/media/sh_mobile_ceu.txt
@@ -8,7 +8,7 @@ Bindings, specific for the sh_mobile_ceu_camera.c driver:
8 8
9Example: 9Example:
10 10
11ceu0: ceu@0xfe910000 { 11ceu0: ceu@fe910000 {
12 compatible = "renesas,sh-mobile-ceu"; 12 compatible = "renesas,sh-mobile-ceu";
13 reg = <0xfe910000 0xa0>; 13 reg = <0xfe910000 0xa0>;
14 interrupt-parent = <&intcs>; 14 interrupt-parent = <&intcs>;
diff --git a/Documentation/devicetree/bindings/media/video-interfaces.txt b/Documentation/devicetree/bindings/media/video-interfaces.txt
index 3994b0143dd1..258b8dfddf48 100644
--- a/Documentation/devicetree/bindings/media/video-interfaces.txt
+++ b/Documentation/devicetree/bindings/media/video-interfaces.txt
@@ -154,7 +154,7 @@ imx074 is linked to ceu0 through the MIPI CSI-2 receiver (csi2). ceu0 has a
154'port' node which may indicate that at any time only one of the following data 154'port' node which may indicate that at any time only one of the following data
155pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. 155pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
156 156
157 ceu0: ceu@0xfe910000 { 157 ceu0: ceu@fe910000 {
158 compatible = "renesas,sh-mobile-ceu"; 158 compatible = "renesas,sh-mobile-ceu";
159 reg = <0xfe910000 0xa0>; 159 reg = <0xfe910000 0xa0>;
160 interrupts = <0x880>; 160 interrupts = <0x880>;
@@ -193,9 +193,9 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
193 }; 193 };
194 }; 194 };
195 195
196 i2c0: i2c@0xfff20000 { 196 i2c0: i2c@fff20000 {
197 ... 197 ...
198 ov772x_1: camera@0x21 { 198 ov772x_1: camera@21 {
199 compatible = "ovti,ov772x"; 199 compatible = "ovti,ov772x";
200 reg = <0x21>; 200 reg = <0x21>;
201 vddio-supply = <&regulator1>; 201 vddio-supply = <&regulator1>;
@@ -219,7 +219,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
219 }; 219 };
220 }; 220 };
221 221
222 imx074: camera@0x1a { 222 imx074: camera@1a {
223 compatible = "sony,imx074"; 223 compatible = "sony,imx074";
224 reg = <0x1a>; 224 reg = <0x1a>;
225 vddio-supply = <&regulator1>; 225 vddio-supply = <&regulator1>;
@@ -239,7 +239,7 @@ pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0.
239 }; 239 };
240 }; 240 };
241 241
242 csi2: csi2@0xffc90000 { 242 csi2: csi2@ffc90000 {
243 compatible = "renesas,sh-mobile-csi2"; 243 compatible = "renesas,sh-mobile-csi2";
244 reg = <0xffc90000 0x1000>; 244 reg = <0xffc90000 0x1000>;
245 interrupts = <0x17a0>; 245 interrupts = <0x17a0>;
diff --git a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
index fd823d6091b2..152eeccbde1c 100644
--- a/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
+++ b/Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
@@ -46,7 +46,7 @@ Optional properties:
46 46
47Example: 47Example:
48 48
49emif1: emif@0x4c000000 { 49emif1: emif@4c000000 {
50 compatible = "ti,emif-4d"; 50 compatible = "ti,emif-4d";
51 ti,hwmods = "emif2"; 51 ti,hwmods = "emif2";
52 phy-type = <1>; 52 phy-type = <1>;
diff --git a/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt b/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
index 20963c76b4bc..71a1f5963936 100644
--- a/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
+++ b/Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
@@ -13,7 +13,7 @@ Required properties:
13 13
14Example: 14Example:
15 15
16devctrl: device-state-control@0x02620000 { 16devctrl: device-state-control@02620000 {
17 compatible = "ti,keystone-devctrl", "syscon"; 17 compatible = "ti,keystone-devctrl", "syscon";
18 reg = <0x02620000 0x1000>; 18 reg = <0x02620000 0x1000>;
19}; 19};
diff --git a/Documentation/devicetree/bindings/misc/brcm,kona-smc.txt b/Documentation/devicetree/bindings/misc/brcm,kona-smc.txt
index 6c9f176f3571..05b47232ed9e 100644
--- a/Documentation/devicetree/bindings/misc/brcm,kona-smc.txt
+++ b/Documentation/devicetree/bindings/misc/brcm,kona-smc.txt
@@ -9,7 +9,7 @@ Required properties:
9- reg : Location and size of bounce buffer 9- reg : Location and size of bounce buffer
10 10
11Example: 11Example:
12 smc@0x3404c000 { 12 smc@3404c000 {
13 compatible = "brcm,bcm11351-smc", "brcm,kona-smc"; 13 compatible = "brcm,bcm11351-smc", "brcm,kona-smc";
14 reg = <0x3404c000 0x400>; //1 KiB in SRAM 14 reg = <0x3404c000 0x400>; //1 KiB in SRAM
15 }; 15 };
diff --git a/Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt b/Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt
index aaba2483b4ff..7f5dd83f5bd9 100644
--- a/Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt
+++ b/Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt
@@ -12,7 +12,7 @@ Refer to clocks/clock-bindings.txt for generic clock consumer properties.
12 12
13Example: 13Example:
14 14
15sdio2: sdio@0x3f1a0000 { 15sdio2: sdio@3f1a0000 {
16 compatible = "brcm,kona-sdhci"; 16 compatible = "brcm,kona-sdhci";
17 reg = <0x3f1a0000 0x10000>; 17 reg = <0x3f1a0000 0x10000>;
18 clocks = <&sdio3_clk>; 18 clocks = <&sdio3_clk>;
diff --git a/Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt b/Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt
index 954561d09a8e..fa90d253dc7e 100644
--- a/Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt
+++ b/Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt
@@ -24,7 +24,7 @@ Optional properties:
24 24
25Example: 25Example:
26 26
27sdhci0: sdhci@0x18041000 { 27sdhci0: sdhci@18041000 {
28 compatible = "brcm,sdhci-iproc-cygnus"; 28 compatible = "brcm,sdhci-iproc-cygnus";
29 reg = <0x18041000 0x100>; 29 reg = <0x18041000 0x100>;
30 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>; 30 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
index 3a4ac401e6f9..19f5508a7569 100644
--- a/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
+++ b/Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
@@ -55,7 +55,7 @@ Examples:
55 55
56[hwmod populated DMA resources] 56[hwmod populated DMA resources]
57 57
58 mmc1: mmc@0x4809c000 { 58 mmc1: mmc@4809c000 {
59 compatible = "ti,omap4-hsmmc"; 59 compatible = "ti,omap4-hsmmc";
60 reg = <0x4809c000 0x400>; 60 reg = <0x4809c000 0x400>;
61 ti,hwmods = "mmc1"; 61 ti,hwmods = "mmc1";
@@ -67,7 +67,7 @@ Examples:
67 67
68[generic DMA request binding] 68[generic DMA request binding]
69 69
70 mmc1: mmc@0x4809c000 { 70 mmc1: mmc@4809c000 {
71 compatible = "ti,omap4-hsmmc"; 71 compatible = "ti,omap4-hsmmc";
72 reg = <0x4809c000 0x400>; 72 reg = <0x4809c000 0x400>;
73 ti,hwmods = "mmc1"; 73 ti,hwmods = "mmc1";
diff --git a/Documentation/devicetree/bindings/mtd/gpmc-nor.txt b/Documentation/devicetree/bindings/mtd/gpmc-nor.txt
index 131d3a74d0bd..c8567b40fe13 100644
--- a/Documentation/devicetree/bindings/mtd/gpmc-nor.txt
+++ b/Documentation/devicetree/bindings/mtd/gpmc-nor.txt
@@ -82,15 +82,15 @@ gpmc: gpmc@6e000000 {
82 label = "bootloader-nor"; 82 label = "bootloader-nor";
83 reg = <0 0x40000>; 83 reg = <0 0x40000>;
84 }; 84 };
85 partition@0x40000 { 85 partition@40000 {
86 label = "params-nor"; 86 label = "params-nor";
87 reg = <0x40000 0x40000>; 87 reg = <0x40000 0x40000>;
88 }; 88 };
89 partition@0x80000 { 89 partition@80000 {
90 label = "kernel-nor"; 90 label = "kernel-nor";
91 reg = <0x80000 0x200000>; 91 reg = <0x80000 0x200000>;
92 }; 92 };
93 partition@0x280000 { 93 partition@280000 {
94 label = "filesystem-nor"; 94 label = "filesystem-nor";
95 reg = <0x240000 0x7d80000>; 95 reg = <0x240000 0x7d80000>;
96 }; 96 };
diff --git a/Documentation/devicetree/bindings/mtd/mtk-nand.txt b/Documentation/devicetree/bindings/mtd/mtk-nand.txt
index dbf9e054c11c..0431841de781 100644
--- a/Documentation/devicetree/bindings/mtd/mtk-nand.txt
+++ b/Documentation/devicetree/bindings/mtd/mtk-nand.txt
@@ -131,7 +131,7 @@ Example:
131 read-only; 131 read-only;
132 reg = <0x00000000 0x00400000>; 132 reg = <0x00000000 0x00400000>;
133 }; 133 };
134 android@0x00400000 { 134 android@00400000 {
135 label = "android"; 135 label = "android";
136 reg = <0x00400000 0x12c00000>; 136 reg = <0x00400000 0x12c00000>;
137 }; 137 };
diff --git a/Documentation/devicetree/bindings/net/altera_tse.txt b/Documentation/devicetree/bindings/net/altera_tse.txt
index a706297998e9..0e21df94a53f 100644
--- a/Documentation/devicetree/bindings/net/altera_tse.txt
+++ b/Documentation/devicetree/bindings/net/altera_tse.txt
@@ -52,7 +52,7 @@ Optional properties:
52 52
53Example: 53Example:
54 54
55 tse_sub_0_eth_tse_0: ethernet@0x1,00000000 { 55 tse_sub_0_eth_tse_0: ethernet@1,00000000 {
56 compatible = "altr,tse-msgdma-1.0"; 56 compatible = "altr,tse-msgdma-1.0";
57 reg = <0x00000001 0x00000000 0x00000400>, 57 reg = <0x00000001 0x00000000 0x00000400>,
58 <0x00000001 0x00000460 0x00000020>, 58 <0x00000001 0x00000460 0x00000020>,
@@ -90,7 +90,7 @@ Example:
90 }; 90 };
91 }; 91 };
92 92
93 tse_sub_1_eth_tse_0: ethernet@0x1,00001000 { 93 tse_sub_1_eth_tse_0: ethernet@1,00001000 {
94 compatible = "altr,tse-msgdma-1.0"; 94 compatible = "altr,tse-msgdma-1.0";
95 reg = <0x00000001 0x00001000 0x00000400>, 95 reg = <0x00000001 0x00001000 0x00000400>,
96 <0x00000001 0x00001460 0x00000020>, 96 <0x00000001 0x00001460 0x00000020>,
diff --git a/Documentation/devicetree/bindings/net/mdio.txt b/Documentation/devicetree/bindings/net/mdio.txt
index 96a53f89aa6e..e3e1603f256c 100644
--- a/Documentation/devicetree/bindings/net/mdio.txt
+++ b/Documentation/devicetree/bindings/net/mdio.txt
@@ -18,7 +18,7 @@ Example :
18This example shows these optional properties, plus other properties 18This example shows these optional properties, plus other properties
19required for the TI Davinci MDIO driver. 19required for the TI Davinci MDIO driver.
20 20
21 davinci_mdio: ethernet@0x5c030000 { 21 davinci_mdio: ethernet@5c030000 {
22 compatible = "ti,davinci_mdio"; 22 compatible = "ti,davinci_mdio";
23 reg = <0x5c030000 0x1000>; 23 reg = <0x5c030000 0x1000>;
24 #address-cells = <1>; 24 #address-cells = <1>;
diff --git a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
index b30d04b54ee9..17d6819669c8 100644
--- a/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
+++ b/Documentation/devicetree/bindings/net/socfpga-dwmac.txt
@@ -28,7 +28,7 @@ Required properties:
28 28
29Example: 29Example:
30 30
31gmii_to_sgmii_converter: phy@0x100000240 { 31gmii_to_sgmii_converter: phy@100000240 {
32 compatible = "altr,gmii-to-sgmii-2.0"; 32 compatible = "altr,gmii-to-sgmii-2.0";
33 reg = <0x00000001 0x00000240 0x00000008>, 33 reg = <0x00000001 0x00000240 0x00000008>,
34 <0x00000001 0x00000200 0x00000040>; 34 <0x00000001 0x00000200 0x00000040>;
diff --git a/Documentation/devicetree/bindings/nios2/nios2.txt b/Documentation/devicetree/bindings/nios2/nios2.txt
index d6d0a94cb3bb..b95e831bcba3 100644
--- a/Documentation/devicetree/bindings/nios2/nios2.txt
+++ b/Documentation/devicetree/bindings/nios2/nios2.txt
@@ -36,7 +36,7 @@ Optional properties:
36 36
37Example: 37Example:
38 38
39cpu@0x0 { 39cpu@0 {
40 device_type = "cpu"; 40 device_type = "cpu";
41 compatible = "altr,nios2-1.0"; 41 compatible = "altr,nios2-1.0";
42 reg = <0>; 42 reg = <0>;
diff --git a/Documentation/devicetree/bindings/pci/altera-pcie.txt b/Documentation/devicetree/bindings/pci/altera-pcie.txt
index 495880193adc..a1dc9366a8fc 100644
--- a/Documentation/devicetree/bindings/pci/altera-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/altera-pcie.txt
@@ -25,7 +25,7 @@ Optional properties:
25- bus-range: PCI bus numbers covered 25- bus-range: PCI bus numbers covered
26 26
27Example 27Example
28 pcie_0: pcie@0xc00000000 { 28 pcie_0: pcie@c00000000 {
29 compatible = "altr,pcie-root-port-1.0"; 29 compatible = "altr,pcie-root-port-1.0";
30 reg = <0xc0000000 0x20000000>, 30 reg = <0xc0000000 0x20000000>,
31 <0xff220000 0x00004000>; 31 <0xff220000 0x00004000>;
diff --git a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
index 7b1e48bf172b..149d8f7f86b0 100644
--- a/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
@@ -52,7 +52,7 @@ Additional required properties for imx7d-pcie:
52 52
53Example: 53Example:
54 54
55 pcie@0x01000000 { 55 pcie@01000000 {
56 compatible = "fsl,imx6q-pcie", "snps,dw-pcie"; 56 compatible = "fsl,imx6q-pcie", "snps,dw-pcie";
57 reg = <0x01ffc000 0x04000>, 57 reg = <0x01ffc000 0x04000>,
58 <0x01f00000 0x80000>; 58 <0x01f00000 0x80000>;
diff --git a/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt b/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
index bdb7ab39d2d7..7bf9df047a1e 100644
--- a/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
+++ b/Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
@@ -21,7 +21,7 @@ Optional properties:
21- dma-coherent: Present if DMA operations are coherent. 21- dma-coherent: Present if DMA operations are coherent.
22 22
23Hip05 Example (note that Hip06 is the same except compatible): 23Hip05 Example (note that Hip06 is the same except compatible):
24 pcie@0xb0080000 { 24 pcie@b0080000 {
25 compatible = "hisilicon,hip05-pcie", "snps,dw-pcie"; 25 compatible = "hisilicon,hip05-pcie", "snps,dw-pcie";
26 reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>; 26 reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>;
27 reg-names = "rc_dbi", "config"; 27 reg-names = "rc_dbi", "config";
diff --git a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
index cbc7847dbf6c..c1ce5a0a652e 100644
--- a/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
+++ b/Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
@@ -45,7 +45,7 @@ Optional properties:
45- usb3_vbus-supply : regulator phandle for controller usb3 vbus 45- usb3_vbus-supply : regulator phandle for controller usb3 vbus
46 46
47Example: 47Example:
48 usbphy: phy@0x01c13400 { 48 usbphy: phy@01c13400 {
49 #phy-cells = <1>; 49 #phy-cells = <1>;
50 compatible = "allwinner,sun4i-a10-usb-phy"; 50 compatible = "allwinner,sun4i-a10-usb-phy";
51 /* phy base regs, phy1 pmu reg, phy2 pmu reg */ 51 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
diff --git a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt
index 3600d5c6c4d7..3914529a3214 100644
--- a/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt
+++ b/Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt
@@ -25,7 +25,7 @@ Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt
25 25
26For example: 26For example:
27 27
28 pinmux: pinmux@0x0301d0c8 { 28 pinmux: pinmux@0301d0c8 {
29 compatible = "brcm,cygnus-pinmux"; 29 compatible = "brcm,cygnus-pinmux";
30 reg = <0x0301d0c8 0x1b0>; 30 reg = <0x0301d0c8 0x1b0>;
31 31
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt
index eecf028ff485..bf9b07016c87 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt
@@ -96,14 +96,14 @@ For example, pinctrl might have subnodes like the following:
96 96
97For a specific board, if it wants to use sd1, 97For a specific board, if it wants to use sd1,
98it can add the following to its board-specific .dts file. 98it can add the following to its board-specific .dts file.
99sd1: sd@0x12340000 { 99sd1: sd@12340000 {
100 pinctrl-names = "default"; 100 pinctrl-names = "default";
101 pinctrl-0 = <&sd1_pmx0>; 101 pinctrl-0 = <&sd1_pmx0>;
102} 102}
103 103
104or 104or
105 105
106sd1: sd@0x12340000 { 106sd1: sd@12340000 {
107 pinctrl-names = "default"; 107 pinctrl-names = "default";
108 pinctrl-0 = <&sd1_pmx1>; 108 pinctrl-0 = <&sd1_pmx1>;
109} 109}
diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
index 5f55be59d914..f8420520e14b 100644
--- a/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
+++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
@@ -41,7 +41,7 @@ For example, pinctrl might have subnodes like the following:
41 41
42For a specific board, if it wants to use uart2 without hardware flow control, 42For a specific board, if it wants to use uart2 without hardware flow control,
43it can add the following to its board-specific .dts file. 43it can add the following to its board-specific .dts file.
44uart2: uart@0xb0070000 { 44uart2: uart@b0070000 {
45 pinctrl-names = "default"; 45 pinctrl-names = "default";
46 pinctrl-0 = <&uart2_noflow_pins_a>; 46 pinctrl-0 = <&uart2_noflow_pins_a>;
47} 47}
diff --git a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt
index 4864e3a74de3..a01a3b8a2363 100644
--- a/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt
@@ -136,7 +136,7 @@ Example for rk3188:
136 #size-cells = <1>; 136 #size-cells = <1>;
137 ranges; 137 ranges;
138 138
139 gpio0: gpio0@0x2000a000 { 139 gpio0: gpio0@2000a000 {
140 compatible = "rockchip,rk3188-gpio-bank0"; 140 compatible = "rockchip,rk3188-gpio-bank0";
141 reg = <0x2000a000 0x100>; 141 reg = <0x2000a000 0x100>;
142 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; 142 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
@@ -149,7 +149,7 @@ Example for rk3188:
149 #interrupt-cells = <2>; 149 #interrupt-cells = <2>;
150 }; 150 };
151 151
152 gpio1: gpio1@0x2003c000 { 152 gpio1: gpio1@2003c000 {
153 compatible = "rockchip,gpio-bank"; 153 compatible = "rockchip,gpio-bank";
154 reg = <0x2003c000 0x100>; 154 reg = <0x2003c000 0x100>;
155 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>; 155 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index 378f6dc8b8bd..3cbf56ce66ea 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -107,7 +107,7 @@ regulators (twl_reg1 and twl_reg2),
107 ... 107 ...
108 }; 108 };
109 109
110 mmc: mmc@0x0 { 110 mmc: mmc@0 {
111 ... 111 ...
112 ... 112 ...
113 vmmc-supply = <&twl_reg1>; 113 vmmc-supply = <&twl_reg1>;
diff --git a/Documentation/devicetree/bindings/serial/efm32-uart.txt b/Documentation/devicetree/bindings/serial/efm32-uart.txt
index 8adbab268ca3..4f8d8fde0c1c 100644
--- a/Documentation/devicetree/bindings/serial/efm32-uart.txt
+++ b/Documentation/devicetree/bindings/serial/efm32-uart.txt
@@ -12,7 +12,7 @@ Optional properties:
12 12
13Example: 13Example:
14 14
15uart@0x4000c400 { 15uart@4000c400 {
16 compatible = "energymicro,efm32-uart"; 16 compatible = "energymicro,efm32-uart";
17 reg = <0x4000c400 0x400>; 17 reg = <0x4000c400 0x400>;
18 interrupts = <15>; 18 interrupts = <15>;
diff --git a/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt b/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
index f311472990a7..75996b6111bb 100644
--- a/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
+++ b/Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
@@ -14,7 +14,7 @@ Required properties:
14 14
15 15
16Example: 16Example:
17 ps20: ps2@0x01c2a000 { 17 ps20: ps2@01c2a000 {
18 compatible = "allwinner,sun4i-a10-ps2"; 18 compatible = "allwinner,sun4i-a10-ps2";
19 reg = <0x01c2a000 0x400>; 19 reg = <0x01c2a000 0x400>;
20 interrupts = <0 62 4>; 20 interrupts = <0 62 4>;
diff --git a/Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt b/Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
index 64c66a5644e7..77cd42cc5f54 100644
--- a/Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
+++ b/Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
@@ -220,7 +220,7 @@ qmss: qmss@2a40000 {
220 #address-cells = <1>; 220 #address-cells = <1>;
221 #size-cells = <1>; 221 #size-cells = <1>;
222 ranges; 222 ranges;
223 pdsp0@0x2a10000 { 223 pdsp0@2a10000 {
224 reg = <0x2a10000 0x1000>, 224 reg = <0x2a10000 0x1000>,
225 <0x2a0f000 0x100>, 225 <0x2a0f000 0x100>,
226 <0x2a0c000 0x3c8>, 226 <0x2a0c000 0x3c8>,
diff --git a/Documentation/devicetree/bindings/sound/adi,axi-i2s.txt b/Documentation/devicetree/bindings/sound/adi,axi-i2s.txt
index 5875ca459ed1..4248b662deff 100644
--- a/Documentation/devicetree/bindings/sound/adi,axi-i2s.txt
+++ b/Documentation/devicetree/bindings/sound/adi,axi-i2s.txt
@@ -21,7 +21,7 @@ please check:
21 21
22Example: 22Example:
23 23
24 i2s: i2s@0x77600000 { 24 i2s: i2s@77600000 {
25 compatible = "adi,axi-i2s-1.00.a"; 25 compatible = "adi,axi-i2s-1.00.a";
26 reg = <0x77600000 0x1000>; 26 reg = <0x77600000 0x1000>;
27 clocks = <&clk 15>, <&audio_clock>; 27 clocks = <&clk 15>, <&audio_clock>;
diff --git a/Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt b/Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt
index 4eb7997674a0..7b664e7cb4ae 100644
--- a/Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt
+++ b/Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt
@@ -20,7 +20,7 @@ please check:
20 20
21Example: 21Example:
22 22
23 spdif: spdif@0x77400000 { 23 spdif: spdif@77400000 {
24 compatible = "adi,axi-spdif-tx-1.00.a"; 24 compatible = "adi,axi-spdif-tx-1.00.a";
25 reg = <0x77600000 0x1000>; 25 reg = <0x77600000 0x1000>;
26 clocks = <&clk 15>, <&audio_clock>; 26 clocks = <&clk 15>, <&audio_clock>;
diff --git a/Documentation/devicetree/bindings/sound/ak4613.txt b/Documentation/devicetree/bindings/sound/ak4613.txt
index 1783f9ef0930..49a2e74fd9cb 100644
--- a/Documentation/devicetree/bindings/sound/ak4613.txt
+++ b/Documentation/devicetree/bindings/sound/ak4613.txt
@@ -20,7 +20,7 @@ Optional properties:
20Example: 20Example:
21 21
22&i2c { 22&i2c {
23 ak4613: ak4613@0x10 { 23 ak4613: ak4613@10 {
24 compatible = "asahi-kasei,ak4613"; 24 compatible = "asahi-kasei,ak4613";
25 reg = <0x10>; 25 reg = <0x10>;
26 }; 26 };
diff --git a/Documentation/devicetree/bindings/sound/ak4642.txt b/Documentation/devicetree/bindings/sound/ak4642.txt
index 340784db6808..58e48ee97175 100644
--- a/Documentation/devicetree/bindings/sound/ak4642.txt
+++ b/Documentation/devicetree/bindings/sound/ak4642.txt
@@ -17,7 +17,7 @@ Optional properties:
17Example 1: 17Example 1:
18 18
19&i2c { 19&i2c {
20 ak4648: ak4648@0x12 { 20 ak4648: ak4648@12 {
21 compatible = "asahi-kasei,ak4642"; 21 compatible = "asahi-kasei,ak4642";
22 reg = <0x12>; 22 reg = <0x12>;
23 }; 23 };
diff --git a/Documentation/devicetree/bindings/sound/max98371.txt b/Documentation/devicetree/bindings/sound/max98371.txt
index 6c285235e64b..8b2b2704b574 100644
--- a/Documentation/devicetree/bindings/sound/max98371.txt
+++ b/Documentation/devicetree/bindings/sound/max98371.txt
@@ -10,7 +10,7 @@ Required properties:
10Example: 10Example:
11 11
12&i2c { 12&i2c {
13 max98371: max98371@0x31 { 13 max98371: max98371@31 {
14 compatible = "maxim,max98371"; 14 compatible = "maxim,max98371";
15 reg = <0x31>; 15 reg = <0x31>;
16 }; 16 };
diff --git a/Documentation/devicetree/bindings/sound/max9867.txt b/Documentation/devicetree/bindings/sound/max9867.txt
index 394cd4eb17ec..b8bd914ee697 100644
--- a/Documentation/devicetree/bindings/sound/max9867.txt
+++ b/Documentation/devicetree/bindings/sound/max9867.txt
@@ -10,7 +10,7 @@ Required properties:
10Example: 10Example:
11 11
12&i2c { 12&i2c {
13 max9867: max9867@0x18 { 13 max9867: max9867@18 {
14 compatible = "maxim,max9867"; 14 compatible = "maxim,max9867";
15 reg = <0x18>; 15 reg = <0x18>;
16 }; 16 };
diff --git a/Documentation/devicetree/bindings/sound/renesas,fsi.txt b/Documentation/devicetree/bindings/sound/renesas,fsi.txt
index 0d0ab51105b0..0cf0f819b823 100644
--- a/Documentation/devicetree/bindings/sound/renesas,fsi.txt
+++ b/Documentation/devicetree/bindings/sound/renesas,fsi.txt
@@ -20,7 +20,7 @@ Required properties:
20 20
21Example: 21Example:
22 22
23sh_fsi2: sh_fsi2@0xec230000 { 23sh_fsi2: sh_fsi2@ec230000 {
24 compatible = "renesas,sh_fsi2"; 24 compatible = "renesas,sh_fsi2";
25 reg = <0xec230000 0x400>; 25 reg = <0xec230000 0x400>;
26 interrupts = <0 146 0x4>; 26 interrupts = <0 146 0x4>;
diff --git a/Documentation/devicetree/bindings/sound/rockchip-spdif.txt b/Documentation/devicetree/bindings/sound/rockchip-spdif.txt
index 0a1dc4e1815c..ec20c1271e92 100644
--- a/Documentation/devicetree/bindings/sound/rockchip-spdif.txt
+++ b/Documentation/devicetree/bindings/sound/rockchip-spdif.txt
@@ -33,7 +33,7 @@ Required properties on RK3288:
33 33
34Example for the rk3188 SPDIF controller: 34Example for the rk3188 SPDIF controller:
35 35
36spdif: spdif@0x1011e000 { 36spdif: spdif@1011e000 {
37 compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; 37 compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif";
38 reg = <0x1011e000 0x2000>; 38 reg = <0x1011e000 0x2000>;
39 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>; 39 interrupts = <GIC_SPI 32 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 40068ec0e9a5..9c1ee52fed5b 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@0x8D81000 { 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@0x8D82000 { 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@0x8D85000 { 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@0x8D84000 { 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/efm32-spi.txt b/Documentation/devicetree/bindings/spi/efm32-spi.txt
index 2c1e6a43930b..e0fa61a1be0c 100644
--- a/Documentation/devicetree/bindings/spi/efm32-spi.txt
+++ b/Documentation/devicetree/bindings/spi/efm32-spi.txt
@@ -19,7 +19,7 @@ Recommended properties :
19 19
20Example: 20Example:
21 21
22spi1: spi@0x4000c400 { /* USART1 */ 22spi1: spi@4000c400 { /* USART1 */
23 #address-cells = <1>; 23 #address-cells = <1>;
24 #size-cells = <0>; 24 #size-cells = <0>;
25 compatible = "energymicro,efm32-spi"; 25 compatible = "energymicro,efm32-spi";
diff --git a/Documentation/devicetree/bindings/thermal/thermal.txt b/Documentation/devicetree/bindings/thermal/thermal.txt
index 88b6ea1ad290..44d7cb2cb2c0 100644
--- a/Documentation/devicetree/bindings/thermal/thermal.txt
+++ b/Documentation/devicetree/bindings/thermal/thermal.txt
@@ -239,7 +239,7 @@ cpus {
239 * A simple fan controller which supports 10 speeds of operation 239 * A simple fan controller which supports 10 speeds of operation
240 * (represented as 0-9). 240 * (represented as 0-9).
241 */ 241 */
242 fan0: fan@0x48 { 242 fan0: fan@48 {
243 ... 243 ...
244 cooling-min-level = <0>; 244 cooling-min-level = <0>;
245 cooling-max-level = <9>; 245 cooling-max-level = <9>;
@@ -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@0x0000ED00 { 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@0x0000ED00 { 333 bandgap0: bandgap@0000ED00 {
334 ... 334 ...
335 #thermal-sensor-cells = <1>; 335 #thermal-sensor-cells = <1>;
336 }; 336 };
@@ -447,7 +447,7 @@ one thermal zone.
447 /* 447 /*
448 * A simple IC with a single temperature sensor. 448 * A simple IC with a single temperature sensor.
449 */ 449 */
450 adc: sensor@0x49 { 450 adc: sensor@49 {
451 ... 451 ...
452 #thermal-sensor-cells = <0>; 452 #thermal-sensor-cells = <0>;
453 }; 453 };
@@ -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@0x0000ED00 { 461 bandgap0: bandgap@0000ED00 {
462 ... 462 ...
463 #thermal-sensor-cells = <0>; 463 #thermal-sensor-cells = <0>;
464 }; 464 };
@@ -516,7 +516,7 @@ with many sensors and many cooling devices.
516 /* 516 /*
517 * An IC with several temperature sensor. 517 * An IC with several temperature sensor.
518 */ 518 */
519 adc_dummy: sensor@0x50 { 519 adc_dummy: sensor@50 {
520 ... 520 ...
521 #thermal-sensor-cells = <1>; /* sensor internal ID */ 521 #thermal-sensor-cells = <1>; /* sensor internal ID */
522 }; 522 };
diff --git a/Documentation/devicetree/bindings/ufs/ufs-qcom.txt b/Documentation/devicetree/bindings/ufs/ufs-qcom.txt
index 1f69ee1a61ea..21d9a93db2e9 100644
--- a/Documentation/devicetree/bindings/ufs/ufs-qcom.txt
+++ b/Documentation/devicetree/bindings/ufs/ufs-qcom.txt
@@ -32,7 +32,7 @@ Optional properties:
32 32
33Example: 33Example:
34 34
35 ufsphy1: ufsphy@0xfc597000 { 35 ufsphy1: ufsphy@fc597000 {
36 compatible = "qcom,ufs-phy-qmp-20nm"; 36 compatible = "qcom,ufs-phy-qmp-20nm";
37 reg = <0xfc597000 0x800>; 37 reg = <0xfc597000 0x800>;
38 reg-names = "phy_mem"; 38 reg-names = "phy_mem";
@@ -53,7 +53,7 @@ Example:
53 <&clock_gcc clk_gcc_ufs_rx_cfg_clk>; 53 <&clock_gcc clk_gcc_ufs_rx_cfg_clk>;
54 }; 54 };
55 55
56 ufshc@0xfc598000 { 56 ufshc@fc598000 {
57 ... 57 ...
58 phys = <&ufsphy1>; 58 phys = <&ufsphy1>;
59 phy-names = "ufsphy"; 59 phy-names = "ufsphy";
diff --git a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
index a99ed5565b26..c39dfef76a18 100644
--- a/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
+++ b/Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
@@ -46,7 +46,7 @@ Note: If above properties are not defined it can be assumed that the supply
46regulators or clocks are always on. 46regulators or clocks are always on.
47 47
48Example: 48Example:
49 ufshc@0xfc598000 { 49 ufshc@fc598000 {
50 compatible = "jedec,ufs-1.1"; 50 compatible = "jedec,ufs-1.1";
51 reg = <0xfc598000 0x800>; 51 reg = <0xfc598000 0x800>;
52 interrupts = <0 28 0>; 52 interrupts = <0 28 0>;
diff --git a/Documentation/devicetree/bindings/usb/ehci-st.txt b/Documentation/devicetree/bindings/usb/ehci-st.txt
index 9feea6c3e4d9..065c91d955ad 100644
--- a/Documentation/devicetree/bindings/usb/ehci-st.txt
+++ b/Documentation/devicetree/bindings/usb/ehci-st.txt
@@ -22,7 +22,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt
22 22
23Example: 23Example:
24 24
25 ehci1: usb@0xfe203e00 { 25 ehci1: usb@fe203e00 {
26 compatible = "st,st-ehci-300x"; 26 compatible = "st,st-ehci-300x";
27 reg = <0xfe203e00 0x100>; 27 reg = <0xfe203e00 0x100>;
28 interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>; 28 interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
diff --git a/Documentation/devicetree/bindings/usb/ohci-st.txt b/Documentation/devicetree/bindings/usb/ohci-st.txt
index d893ec9131c3..44c998c16f85 100644
--- a/Documentation/devicetree/bindings/usb/ohci-st.txt
+++ b/Documentation/devicetree/bindings/usb/ohci-st.txt
@@ -20,7 +20,7 @@ See: Documentation/devicetree/bindings/reset/reset.txt
20 20
21Example: 21Example:
22 22
23 ohci0: usb@0xfe1ffc00 { 23 ohci0: usb@fe1ffc00 {
24 compatible = "st,st-ohci-300x"; 24 compatible = "st,st-ohci-300x";
25 reg = <0xfe1ffc00 0x100>; 25 reg = <0xfe1ffc00 0x100>;
26 interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>; 26 interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>;
diff --git a/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt b/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
index e27763ef0049..3c7a1cd13b10 100644
--- a/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
+++ b/Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
@@ -6,7 +6,7 @@ reg: Register address and length for watchdog registers
6 6
7Example: 7Example:
8 8
9watchdog: jz4740-watchdog@0x10002000 { 9watchdog: jz4740-watchdog@10002000 {
10 compatible = "ingenic,jz4740-watchdog"; 10 compatible = "ingenic,jz4740-watchdog";
11 reg = <0x10002000 0x100>; 11 reg = <0x10002000 0x100>;
12}; 12};
diff --git a/drivers/of/dynamic.c b/drivers/of/dynamic.c
index c454941b34ec..ab988d88704d 100644
--- a/drivers/of/dynamic.c
+++ b/drivers/of/dynamic.c
@@ -695,7 +695,7 @@ int __of_changeset_apply_entries(struct of_changeset *ocs, int *ret_revert)
695/* 695/*
696 * Returns 0 on success, a negative error value in case of an error. 696 * Returns 0 on success, a negative error value in case of an error.
697 * 697 *
698 * If multiple changset entry notification errors occur then only the 698 * If multiple changeset entry notification errors occur then only the
699 * final notification error is reported. 699 * final notification error is reported.
700 */ 700 */
701int __of_changeset_apply_notify(struct of_changeset *ocs) 701int __of_changeset_apply_notify(struct of_changeset *ocs)
@@ -795,7 +795,7 @@ int __of_changeset_revert_entries(struct of_changeset *ocs, int *ret_apply)
795} 795}
796 796
797/* 797/*
798 * If multiple changset entry notification errors occur then only the 798 * If multiple changeset entry notification errors occur then only the
799 * final notification error is reported. 799 * final notification error is reported.
800 */ 800 */
801int __of_changeset_revert_notify(struct of_changeset *ocs) 801int __of_changeset_revert_notify(struct of_changeset *ocs)
diff --git a/drivers/of/overlay.c b/drivers/of/overlay.c
index c150abb9049d..3981b7da4fa9 100644
--- a/drivers/of/overlay.c
+++ b/drivers/of/overlay.c
@@ -522,7 +522,7 @@ static int init_overlay_changeset(struct overlay_changeset *ovcs,
522 struct device_node *node, *overlay_node; 522 struct device_node *node, *overlay_node;
523 struct fragment *fragment; 523 struct fragment *fragment;
524 struct fragment *fragments; 524 struct fragment *fragments;
525 int cnt, ret; 525 int cnt, id, ret;
526 526
527 /* 527 /*
528 * Warn for some issues. Can not return -EINVAL for these until 528 * Warn for some issues. Can not return -EINVAL for these until
@@ -543,9 +543,9 @@ static int init_overlay_changeset(struct overlay_changeset *ovcs,
543 543
544 of_changeset_init(&ovcs->cset); 544 of_changeset_init(&ovcs->cset);
545 545
546 ovcs->id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL); 546 id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL);
547 if (ovcs->id <= 0) 547 if (id <= 0)
548 return ovcs->id; 548 return id;
549 549
550 cnt = 0; 550 cnt = 0;
551 551
@@ -572,18 +572,20 @@ static int init_overlay_changeset(struct overlay_changeset *ovcs,
572 572
573 cnt = 0; 573 cnt = 0;
574 for_each_child_of_node(tree, node) { 574 for_each_child_of_node(tree, node) {
575 overlay_node = of_get_child_by_name(node, "__overlay__");
576 if (!overlay_node)
577 continue;
578
575 fragment = &fragments[cnt]; 579 fragment = &fragments[cnt];
576 fragment->overlay = of_get_child_by_name(node, "__overlay__"); 580 fragment->overlay = overlay_node;
577 if (fragment->overlay) { 581 fragment->target = find_target_node(node);
578 fragment->target = find_target_node(node); 582 if (!fragment->target) {
579 if (!fragment->target) { 583 of_node_put(fragment->overlay);
580 of_node_put(fragment->overlay); 584 ret = -EINVAL;
581 ret = -EINVAL; 585 goto err_free_fragments;
582 goto err_free_fragments;
583 } else {
584 cnt++;
585 }
586 } 586 }
587
588 cnt++;
587 } 589 }
588 590
589 /* 591 /*
@@ -611,6 +613,7 @@ static int init_overlay_changeset(struct overlay_changeset *ovcs,
611 goto err_free_fragments; 613 goto err_free_fragments;
612 } 614 }
613 615
616 ovcs->id = id;
614 ovcs->count = cnt; 617 ovcs->count = cnt;
615 ovcs->fragments = fragments; 618 ovcs->fragments = fragments;
616 619
@@ -619,7 +622,7 @@ static int init_overlay_changeset(struct overlay_changeset *ovcs,
619err_free_fragments: 622err_free_fragments:
620 kfree(fragments); 623 kfree(fragments);
621err_free_idr: 624err_free_idr:
622 idr_remove(&ovcs_idr, ovcs->id); 625 idr_remove(&ovcs_idr, id);
623 626
624 pr_err("%s() failed, ret = %d\n", __func__, ret); 627 pr_err("%s() failed, ret = %d\n", __func__, ret);
625 628
@@ -630,9 +633,8 @@ static void free_overlay_changeset(struct overlay_changeset *ovcs)
630{ 633{
631 int i; 634 int i;
632 635
633 if (!ovcs->cset.entries.next) 636 if (ovcs->cset.entries.next)
634 return; 637 of_changeset_destroy(&ovcs->cset);
635 of_changeset_destroy(&ovcs->cset);
636 638
637 if (ovcs->id) 639 if (ovcs->id)
638 idr_remove(&ovcs_idr, ovcs->id); 640 idr_remove(&ovcs_idr, ovcs->id);
@@ -660,14 +662,14 @@ static void free_overlay_changeset(struct overlay_changeset *ovcs)
660 * A non-zero return value will not have created the changeset if error is from: 662 * A non-zero return value will not have created the changeset if error is from:
661 * - parameter checks 663 * - parameter checks
662 * - building the changeset 664 * - building the changeset
663 * - overlay changset pre-apply notifier 665 * - overlay changeset pre-apply notifier
664 * 666 *
665 * If an error is returned by an overlay changeset pre-apply notifier 667 * If an error is returned by an overlay changeset pre-apply notifier
666 * then no further overlay changeset pre-apply notifier will be called. 668 * then no further overlay changeset pre-apply notifier will be called.
667 * 669 *
668 * A non-zero return value will have created the changeset if error is from: 670 * A non-zero return value will have created the changeset if error is from:
669 * - overlay changeset entry notifier 671 * - overlay changeset entry notifier
670 * - overlay changset post-apply notifier 672 * - overlay changeset post-apply notifier
671 * 673 *
672 * If an error is returned by an overlay changeset post-apply notifier 674 * If an error is returned by an overlay changeset post-apply notifier
673 * then no further overlay changeset post-apply notifier will be called. 675 * then no further overlay changeset post-apply notifier will be called.
@@ -706,12 +708,11 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
706 } 708 }
707 709
708 of_overlay_mutex_lock(); 710 of_overlay_mutex_lock();
711 mutex_lock(&of_mutex);
709 712
710 ret = of_resolve_phandles(tree); 713 ret = of_resolve_phandles(tree);
711 if (ret) 714 if (ret)
712 goto err_overlay_unlock; 715 goto err_free_overlay_changeset;
713
714 mutex_lock(&of_mutex);
715 716
716 ret = init_overlay_changeset(ovcs, tree); 717 ret = init_overlay_changeset(ovcs, tree);
717 if (ret) 718 if (ret)
@@ -736,14 +737,13 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
736 devicetree_state_flags |= DTSF_APPLY_FAIL; 737 devicetree_state_flags |= DTSF_APPLY_FAIL;
737 } 738 }
738 goto err_free_overlay_changeset; 739 goto err_free_overlay_changeset;
739 } else {
740 ret = __of_changeset_apply_notify(&ovcs->cset);
741 if (ret)
742 pr_err("overlay changeset entry notify error %d\n",
743 ret);
744 /* fall through */
745 } 740 }
746 741
742 ret = __of_changeset_apply_notify(&ovcs->cset);
743 if (ret)
744 pr_err("overlay changeset entry notify error %d\n", ret);
745 /* notify failure is not fatal, continue */
746
747 list_add_tail(&ovcs->ovcs_list, &ovcs_list); 747 list_add_tail(&ovcs->ovcs_list, &ovcs_list);
748 *ovcs_id = ovcs->id; 748 *ovcs_id = ovcs->id;
749 749
@@ -755,18 +755,14 @@ int of_overlay_apply(struct device_node *tree, int *ovcs_id)
755 ret = ret_tmp; 755 ret = ret_tmp;
756 } 756 }
757 757
758 mutex_unlock(&of_mutex); 758 goto out_unlock;
759 of_overlay_mutex_unlock();
760
761 goto out;
762
763err_overlay_unlock:
764 of_overlay_mutex_unlock();
765 759
766err_free_overlay_changeset: 760err_free_overlay_changeset:
767 free_overlay_changeset(ovcs); 761 free_overlay_changeset(ovcs);
768 762
763out_unlock:
769 mutex_unlock(&of_mutex); 764 mutex_unlock(&of_mutex);
765 of_overlay_mutex_unlock();
770 766
771out: 767out:
772 pr_debug("%s() err=%d\n", __func__, ret); 768 pr_debug("%s() err=%d\n", __func__, ret);
@@ -871,7 +867,7 @@ static int overlay_removal_is_ok(struct overlay_changeset *remove_ovcs)
871 * 867 *
872 * A non-zero return value will not revert the changeset if error is from: 868 * A non-zero return value will not revert the changeset if error is from:
873 * - parameter checks 869 * - parameter checks
874 * - overlay changset pre-remove notifier 870 * - overlay changeset pre-remove notifier
875 * - overlay changeset entry revert 871 * - overlay changeset entry revert
876 * 872 *
877 * If an error is returned by an overlay changeset pre-remove notifier 873 * If an error is returned by an overlay changeset pre-remove notifier
@@ -882,7 +878,7 @@ static int overlay_removal_is_ok(struct overlay_changeset *remove_ovcs)
882 * 878 *
883 * A non-zero return value will revert the changeset if error is from: 879 * A non-zero return value will revert the changeset if error is from:
884 * - overlay changeset entry notifier 880 * - overlay changeset entry notifier
885 * - overlay changset post-remove notifier 881 * - overlay changeset post-remove notifier
886 * 882 *
887 * If an error is returned by an overlay changeset post-remove notifier 883 * If an error is returned by an overlay changeset post-remove notifier
888 * then no further overlay changeset post-remove notifier will be called. 884 * then no further overlay changeset post-remove notifier will be called.
@@ -931,15 +927,13 @@ int of_overlay_remove(int *ovcs_id)
931 if (ret_apply) 927 if (ret_apply)
932 devicetree_state_flags |= DTSF_REVERT_FAIL; 928 devicetree_state_flags |= DTSF_REVERT_FAIL;
933 goto out_unlock; 929 goto out_unlock;
934 } else {
935 ret = __of_changeset_revert_notify(&ovcs->cset);
936 if (ret) {
937 pr_err("overlay changeset entry notify error %d\n",
938 ret);
939 /* fall through - changeset was reverted */
940 }
941 } 930 }
942 931
932 ret = __of_changeset_revert_notify(&ovcs->cset);
933 if (ret)
934 pr_err("overlay changeset entry notify error %d\n", ret);
935 /* notify failure is not fatal, continue */
936
943 *ovcs_id = 0; 937 *ovcs_id = 0;
944 938
945 ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_REMOVE); 939 ret_tmp = overlay_notify(ovcs, OF_OVERLAY_POST_REMOVE);
diff --git a/drivers/of/unittest.c b/drivers/of/unittest.c
index e568b1e82501..0f8052f1355c 100644
--- a/drivers/of/unittest.c
+++ b/drivers/of/unittest.c
@@ -2165,7 +2165,6 @@ static int __init overlay_data_add(int onum)
2165 ret = of_overlay_apply(info->np_overlay, &info->overlay_id); 2165 ret = of_overlay_apply(info->np_overlay, &info->overlay_id);
2166 if (ret < 0) { 2166 if (ret < 0) {
2167 pr_err("of_overlay_apply() (ret=%d), %d\n", ret, onum); 2167 pr_err("of_overlay_apply() (ret=%d), %d\n", ret, onum);
2168 of_overlay_mutex_unlock();
2169 goto out_free_np_overlay; 2168 goto out_free_np_overlay;
2170 } 2169 }
2171 2170