Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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()

+149 -151
+1 -1
Documentation/devicetree/bindings/arm/ccn.txt
··· 15 15 16 16 Example: 17 17 18 - ccn@0x2000000000 { 18 + ccn@2000000000 { 19 19 compatible = "arm,ccn-504"; 20 20 reg = <0x20 0x00000000 0 0x1000000>; 21 21 interrupts = <0 181 4>;
+1 -1
Documentation/devicetree/bindings/arm/omap/crossbar.txt
··· 49 49 interrupts = <GIC_SPI request_number interrupt_level> 50 50 51 51 Example: 52 - device_x@0x4a023000 { 52 + device_x@4a023000 { 53 53 /* Crossbar 8 used */ 54 54 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>; 55 55 ...
+1 -1
Documentation/devicetree/bindings/arm/tegra/nvidia,tegra20-mc.txt
··· 8 8 - interrupts : Should contain MC General interrupt. 9 9 10 10 Example: 11 - memory-controller@0x7000f000 { 11 + memory-controller@7000f000 { 12 12 compatible = "nvidia,tegra20-mc"; 13 13 reg = <0x7000f000 0x024 14 14 0x7000f03c 0x3c4>;
+1 -1
Documentation/devicetree/bindings/clock/axi-clkgen.txt
··· 17 17 - clock-output-names : From common clock binding. 18 18 19 19 Example: 20 - clock@0xff000000 { 20 + clock@ff000000 { 21 21 compatible = "adi,axi-clkgen"; 22 22 #clock-cells = <0>; 23 23 reg = <0xff000000 0x1000>;
+1 -1
Documentation/devicetree/bindings/clock/brcm,bcm2835-aux-clock.txt
··· 23 23 clocks = <&clk_osc>; 24 24 }; 25 25 26 - aux: aux@0x7e215004 { 26 + aux: aux@7e215004 { 27 27 compatible = "brcm,bcm2835-aux"; 28 28 #clock-cells = <1>; 29 29 reg = <0x7e215000 0x8>;
+1 -1
Documentation/devicetree/bindings/clock/exynos4-clock.txt
··· 24 24 25 25 Example 1: An example of a clock controller node is listed below. 26 26 27 - clock: clock-controller@0x10030000 { 27 + clock: clock-controller@10030000 { 28 28 compatible = "samsung,exynos4210-clock"; 29 29 reg = <0x10030000 0x20000>; 30 30 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5250-clock.txt
··· 22 22 23 23 Example 1: An example of a clock controller node is listed below. 24 24 25 - clock: clock-controller@0x10010000 { 25 + clock: clock-controller@10010000 { 26 26 compatible = "samsung,exynos5250-clock"; 27 27 reg = <0x10010000 0x30000>; 28 28 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5410-clock.txt
··· 30 30 #clock-cells = <0>; 31 31 }; 32 32 33 - clock: clock-controller@0x10010000 { 33 + clock: clock-controller@10010000 { 34 34 compatible = "samsung,exynos5410-clock"; 35 35 reg = <0x10010000 0x30000>; 36 36 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5420-clock.txt
··· 23 23 24 24 Example 1: An example of a clock controller node is listed below. 25 25 26 - clock: clock-controller@0x10010000 { 26 + clock: clock-controller@10010000 { 27 27 compatible = "samsung,exynos5420-clock"; 28 28 reg = <0x10010000 0x30000>; 29 29 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5440-clock.txt
··· 21 21 22 22 Example: An example of a clock controller node is listed below. 23 23 24 - clock: clock-controller@0x10010000 { 24 + clock: clock-controller@10010000 { 25 25 compatible = "samsung,exynos5440-clock"; 26 26 reg = <0x160000 0x10000>; 27 27 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/ti-keystone-pllctrl.txt
··· 14 14 15 15 Example: 16 16 17 - pllctrl: pll-controller@0x02310000 { 17 + pllctrl: pll-controller@02310000 { 18 18 compatible = "ti,keystone-pllctrl", "syscon"; 19 19 reg = <0x02310000 0x200>; 20 20 };
+2 -2
Documentation/devicetree/bindings/clock/zx296702-clk.txt
··· 20 20 for the full list of zx296702 clock IDs. 21 21 22 22 23 - topclk: topcrm@0x09800000 { 23 + topclk: topcrm@09800000 { 24 24 compatible = "zte,zx296702-topcrm-clk"; 25 25 reg = <0x09800000 0x1000>; 26 26 #clock-cells = <1>; 27 27 }; 28 28 29 - uart0: serial@0x09405000 { 29 + uart0: serial@09405000 { 30 30 compatible = "zte,zx296702-uart"; 31 31 reg = <0x09405000 0x1000>; 32 32 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
+2 -2
Documentation/devicetree/bindings/crypto/fsl-sec4.txt
··· 456 456 Definition: this is phandle to the register map node. 457 457 458 458 EXAMPLE: 459 - snvs-pwrkey@0x020cc000 { 459 + snvs-pwrkey@020cc000 { 460 460 compatible = "fsl,sec-v4.0-pwrkey"; 461 461 regmap = <&snvs>; 462 462 interrupts = <0 4 0x4> ··· 545 545 interrupts = <93 2>; 546 546 }; 547 547 548 - snvs-pwrkey@0x020cc000 { 548 + snvs-pwrkey@020cc000 { 549 549 compatible = "fsl,sec-v4.0-pwrkey"; 550 550 regmap = <&sec_mon>; 551 551 interrupts = <0 4 0x4>;
+1 -1
Documentation/devicetree/bindings/devfreq/event/rockchip-dfi.txt
··· 9 9 - clock-names : the name of clock used by the DFI, must be "pclk_ddr_mon"; 10 10 11 11 Example: 12 - dfi: dfi@0xff630000 { 12 + dfi: dfi@ff630000 { 13 13 compatible = "rockchip,rk3399-dfi"; 14 14 reg = <0x00 0xff630000 0x00 0x4000>; 15 15 rockchip,pmu = <&pmugrf>;
+2 -2
Documentation/devicetree/bindings/display/atmel,lcdc.txt
··· 27 27 28 28 Example: 29 29 30 - fb0: fb@0x00500000 { 30 + fb0: fb@00500000 { 31 31 compatible = "atmel,at91sam9g45-lcdc"; 32 32 reg = <0x00500000 0x1000>; 33 33 interrupts = <23 3 0>; ··· 41 41 42 42 Example for fixed framebuffer memory: 43 43 44 - fb0: fb@0x00500000 { 44 + fb0: fb@00500000 { 45 45 compatible = "atmel,at91sam9263-lcdc"; 46 46 reg = <0x00700000 0x1000 0x70000000 0x200000>; 47 47 [...]
+2 -2
Documentation/devicetree/bindings/dma/qcom_hidma_mgmt.txt
··· 73 73 max-read-transactions = <31>; 74 74 channel-reset-timeout-cycles = <0x500>; 75 75 76 - hidma_24: dma-controller@0x5c050000 { 76 + hidma_24: dma-controller@5c050000 { 77 77 compatible = "qcom,hidma-1.0"; 78 78 reg = <0 0x5c050000 0x0 0x1000>, 79 79 <0 0x5c0b0000 0x0 0x1000>; ··· 85 85 86 86 Guest OS configuration: 87 87 88 - hidma_24: dma-controller@0x5c050000 { 88 + hidma_24: dma-controller@5c050000 { 89 89 compatible = "qcom,hidma-1.0"; 90 90 reg = <0 0x5c050000 0x0 0x1000>, 91 91 <0 0x5c0b0000 0x0 0x1000>;
+1 -1
Documentation/devicetree/bindings/dma/zxdma.txt
··· 13 13 Example: 14 14 15 15 Controller: 16 - dma: dma-controller@0x09c00000{ 16 + dma: dma-controller@09c00000{ 17 17 compatible = "zte,zx296702-dma"; 18 18 reg = <0x09c00000 0x1000>; 19 19 clocks = <&topclk ZX296702_DMA_ACLK>;
+9 -4
Documentation/devicetree/bindings/eeprom/at25.txt
··· 1 1 EEPROMs (SPI) compatible with Atmel at25. 2 2 3 3 Required 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 10 - reg : chip select number 6 11 - spi-max-frequency : max spi frequency to use 7 12 - pagesize : size of the eeprom page ··· 18 13 - spi-cpol : SPI inverse clock polarity, as per spi-bus bindings. 19 14 - read-only : this parameter-less property disables writes to the eeprom 20 15 21 - Obsolete legacy properties are can be used in place of "size", "pagesize", 16 + Obsolete legacy properties can be used in place of "size", "pagesize", 22 17 "address-width", and "read-only": 23 18 - at25,byte-len : total eeprom size in bytes 24 19 - at25,addr-mode : addr-mode flags, as defined in include/linux/spi/eeprom.h ··· 27 22 Additional compatible properties are also allowed. 28 23 29 24 Example: 30 - at25@0 { 31 - compatible = "atmel,at25", "st,m95256"; 25 + eeprom@0 { 26 + compatible = "st,m95256", "atmel,at25"; 32 27 reg = <0> 33 28 spi-max-frequency = <5000000>; 34 29 spi-cpha;
+1 -1
Documentation/devicetree/bindings/gpio/gpio-altera.txt
··· 30 30 31 31 Example: 32 32 33 - gpio_altr: gpio@0xff200000 { 33 + gpio_altr: gpio@ff200000 { 34 34 compatible = "altr,pio-1.0"; 35 35 reg = <0xff200000 0x10>; 36 36 interrupts = <0 45 4>;
+1 -1
Documentation/devicetree/bindings/i2c/i2c-jz4780.txt
··· 18 18 Example 19 19 20 20 / { 21 - i2c4: i2c4@0x10054000 { 21 + i2c4: i2c4@10054000 { 22 22 compatible = "ingenic,jz4780-i2c"; 23 23 reg = <0x10054000 0x1000>; 24 24
+1 -1
Documentation/devicetree/bindings/iio/pressure/hp03.txt
··· 10 10 11 11 Example: 12 12 13 - hp03@0x77 { 13 + hp03@77 { 14 14 compatible = "hoperf,hp03"; 15 15 reg = <0x77>; 16 16 xclr-gpio = <&portc 0 0x0>;
+1 -1
Documentation/devicetree/bindings/input/touchscreen/bu21013.txt
··· 15 15 Example: 16 16 17 17 i2c@80110000 { 18 - bu21013_tp@0x5c { 18 + bu21013_tp@5c { 19 19 compatible = "rohm,bu21013_tp"; 20 20 reg = <0x5c>; 21 21 touch-gpio = <&gpio2 20 0x4>;
+2 -2
Documentation/devicetree/bindings/interrupt-controller/arm,gic.txt
··· 155 155 <0x0 0xe112f000 0 0x02000>, 156 156 <0x0 0xe1140000 0 0x10000>, 157 157 <0x0 0xe1160000 0 0x10000>; 158 - v2m0: v2m@0x8000 { 158 + v2m0: v2m@8000 { 159 159 compatible = "arm,gic-v2m-frame"; 160 160 msi-controller; 161 161 reg = <0x0 0x80000 0 0x1000>; ··· 163 163 164 164 .... 165 165 166 - v2mN: v2m@0x9000 { 166 + v2mN: v2m@9000 { 167 167 compatible = "arm,gic-v2m-frame"; 168 168 msi-controller; 169 169 reg = <0x0 0x90000 0 0x1000>;
+1 -1
Documentation/devicetree/bindings/interrupt-controller/img,meta-intc.txt
··· 71 71 * An interrupt generating device that is wired to a Meta external 72 72 * trigger block. 73 73 */ 74 - uart1: uart@0x02004c00 { 74 + uart1: uart@02004c00 { 75 75 // Interrupt source '5' that is level-sensitive. 76 76 // Note that there are only two cells as specified in the 77 77 // interrupt parent's '#interrupt-cells' property.
+1 -1
Documentation/devicetree/bindings/interrupt-controller/img,pdc-intc.txt
··· 51 51 /* 52 52 * TZ1090 PDC block 53 53 */ 54 - pdc: pdc@0x02006000 { 54 + pdc: pdc@02006000 { 55 55 // This is an interrupt controller node. 56 56 interrupt-controller; 57 57
+1 -1
Documentation/devicetree/bindings/interrupt-controller/st,spear3xx-shirq.txt
··· 39 39 40 40 The following is an example from the SPEAr320 SoC dtsi file. 41 41 42 - shirq: interrupt-controller@0xb3000000 { 42 + shirq: interrupt-controller@b3000000 { 43 43 compatible = "st,spear320-shirq"; 44 44 reg = <0xb3000000 0x1000>; 45 45 interrupts = <28 29 30 1>;
+3 -3
Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
··· 14 14 depends on the interrupt controller parent. 15 15 16 16 Example: 17 - mbox_tx: mailbox@0x100 { 17 + mbox_tx: mailbox@100 { 18 18 compatible = "altr,mailbox-1.0"; 19 19 reg = <0x100 0x8>; 20 20 interrupt-parent = < &gic_0 >; ··· 22 22 #mbox-cells = <1>; 23 23 }; 24 24 25 - mbox_rx: mailbox@0x200 { 25 + mbox_rx: mailbox@200 { 26 26 compatible = "altr,mailbox-1.0"; 27 27 reg = <0x200 0x8>; 28 28 interrupt-parent = < &gic_0 >; ··· 40 40 used to give a name to the communication channel to be used by the client user. 41 41 42 42 Example: 43 - mclient0: mclient0@0x400 { 43 + mclient0: mclient0@400 { 44 44 compatible = "client-1.0"; 45 45 reg = <0x400 0x10>; 46 46 mbox-names = "mbox-tx", "mbox-rx";
+1 -1
Documentation/devicetree/bindings/mailbox/brcm,iproc-pdc-mbox.txt
··· 15 15 - brcm,use-bcm-hdr: present if a BCM header precedes each frame. 16 16 17 17 Example: 18 - pdc0: iproc-pdc0@0x612c0000 { 18 + pdc0: iproc-pdc0@612c0000 { 19 19 compatible = "brcm,iproc-pdc-mbox"; 20 20 reg = <0 0x612c0000 0 0x445>; /* PDC FS0 regs */ 21 21 interrupts = <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
Documentation/devicetree/bindings/media/exynos5-gsc.txt
··· 17 17 18 18 Example: 19 19 20 - gsc_0: gsc@0x13e00000 { 20 + gsc_0: gsc@13e00000 { 21 21 compatible = "samsung,exynos5250-gsc"; 22 22 reg = <0x13e00000 0x1000>; 23 23 interrupts = <0 85 0>;
+1 -1
Documentation/devicetree/bindings/media/mediatek-vcodec.txt
··· 68 68 "vdec_bus_clk_src"; 69 69 }; 70 70 71 - vcodec_enc: vcodec@0x18002000 { 71 + vcodec_enc: vcodec@18002000 { 72 72 compatible = "mediatek,mt8173-vcodec-enc"; 73 73 reg = <0 0x18002000 0 0x1000>, /*VENC_SYS*/ 74 74 <0 0x19002000 0 0x1000>; /*VENC_LT_SYS*/
+1 -1
Documentation/devicetree/bindings/media/rcar_vin.txt
··· 44 44 vin0 = &vin0; 45 45 }; 46 46 47 - vin0: vin@0xe6ef0000 { 47 + vin0: vin@e6ef0000 { 48 48 compatible = "renesas,vin-r8a7790", "renesas,rcar-gen2-vin"; 49 49 clocks = <&mstp8_clks R8A7790_CLK_VIN0>; 50 50 reg = <0 0xe6ef0000 0 0x1000>;
+1 -1
Documentation/devicetree/bindings/media/samsung-fimc.txt
··· 138 138 }; 139 139 140 140 /* MIPI CSI-2 bus IF sensor */ 141 - s5c73m3: sensor@0x1a { 141 + s5c73m3: sensor@1a { 142 142 compatible = "samsung,s5c73m3"; 143 143 reg = <0x1a>; 144 144 vddio-supply = <...>;
+1 -1
Documentation/devicetree/bindings/media/sh_mobile_ceu.txt
··· 8 8 9 9 Example: 10 10 11 - ceu0: ceu@0xfe910000 { 11 + ceu0: ceu@fe910000 { 12 12 compatible = "renesas,sh-mobile-ceu"; 13 13 reg = <0xfe910000 0xa0>; 14 14 interrupt-parent = <&intcs>;
+5 -5
Documentation/devicetree/bindings/media/video-interfaces.txt
··· 154 154 'port' node which may indicate that at any time only one of the following data 155 155 pipelines can be active: ov772x -> ceu0 or imx074 -> csi2 -> ceu0. 156 156 157 - ceu0: ceu@0xfe910000 { 157 + ceu0: ceu@fe910000 { 158 158 compatible = "renesas,sh-mobile-ceu"; 159 159 reg = <0xfe910000 0xa0>; 160 160 interrupts = <0x880>; ··· 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 199 compatible = "ovti,ov772x"; 200 200 reg = <0x21>; 201 201 vddio-supply = <&regulator1>; ··· 219 219 }; 220 220 }; 221 221 222 - imx074: camera@0x1a { 222 + imx074: camera@1a { 223 223 compatible = "sony,imx074"; 224 224 reg = <0x1a>; 225 225 vddio-supply = <&regulator1>; ··· 239 239 }; 240 240 }; 241 241 242 - csi2: csi2@0xffc90000 { 242 + csi2: csi2@ffc90000 { 243 243 compatible = "renesas,sh-mobile-csi2"; 244 244 reg = <0xffc90000 0x1000>; 245 245 interrupts = <0x17a0>;
+1 -1
Documentation/devicetree/bindings/memory-controllers/ti/emif.txt
··· 46 46 47 47 Example: 48 48 49 - emif1: emif@0x4c000000 { 49 + emif1: emif@4c000000 { 50 50 compatible = "ti,emif-4d"; 51 51 ti,hwmods = "emif2"; 52 52 phy-type = <1>;
+1 -1
Documentation/devicetree/bindings/mfd/ti-keystone-devctrl.txt
··· 13 13 14 14 Example: 15 15 16 - devctrl: device-state-control@0x02620000 { 16 + devctrl: device-state-control@02620000 { 17 17 compatible = "ti,keystone-devctrl", "syscon"; 18 18 reg = <0x02620000 0x1000>; 19 19 };
+1 -1
Documentation/devicetree/bindings/misc/brcm,kona-smc.txt
··· 9 9 - reg : Location and size of bounce buffer 10 10 11 11 Example: 12 - smc@0x3404c000 { 12 + smc@3404c000 { 13 13 compatible = "brcm,bcm11351-smc", "brcm,kona-smc"; 14 14 reg = <0x3404c000 0x400>; //1 KiB in SRAM 15 15 };
+1 -1
Documentation/devicetree/bindings/mmc/brcm,kona-sdhci.txt
··· 12 12 13 13 Example: 14 14 15 - sdio2: sdio@0x3f1a0000 { 15 + sdio2: sdio@3f1a0000 { 16 16 compatible = "brcm,kona-sdhci"; 17 17 reg = <0x3f1a0000 0x10000>; 18 18 clocks = <&sdio3_clk>;
+1 -1
Documentation/devicetree/bindings/mmc/brcm,sdhci-iproc.txt
··· 24 24 25 25 Example: 26 26 27 - sdhci0: sdhci@0x18041000 { 27 + sdhci0: sdhci@18041000 { 28 28 compatible = "brcm,sdhci-iproc-cygnus"; 29 29 reg = <0x18041000 0x100>; 30 30 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+2 -2
Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
··· 55 55 56 56 [hwmod populated DMA resources] 57 57 58 - mmc1: mmc@0x4809c000 { 58 + mmc1: mmc@4809c000 { 59 59 compatible = "ti,omap4-hsmmc"; 60 60 reg = <0x4809c000 0x400>; 61 61 ti,hwmods = "mmc1"; ··· 67 67 68 68 [generic DMA request binding] 69 69 70 - mmc1: mmc@0x4809c000 { 70 + mmc1: mmc@4809c000 { 71 71 compatible = "ti,omap4-hsmmc"; 72 72 reg = <0x4809c000 0x400>; 73 73 ti,hwmods = "mmc1";
+3 -3
Documentation/devicetree/bindings/mtd/gpmc-nor.txt
··· 82 82 label = "bootloader-nor"; 83 83 reg = <0 0x40000>; 84 84 }; 85 - partition@0x40000 { 85 + partition@40000 { 86 86 label = "params-nor"; 87 87 reg = <0x40000 0x40000>; 88 88 }; 89 - partition@0x80000 { 89 + partition@80000 { 90 90 label = "kernel-nor"; 91 91 reg = <0x80000 0x200000>; 92 92 }; 93 - partition@0x280000 { 93 + partition@280000 { 94 94 label = "filesystem-nor"; 95 95 reg = <0x240000 0x7d80000>; 96 96 };
+1 -1
Documentation/devicetree/bindings/mtd/mtk-nand.txt
··· 131 131 read-only; 132 132 reg = <0x00000000 0x00400000>; 133 133 }; 134 - android@0x00400000 { 134 + android@00400000 { 135 135 label = "android"; 136 136 reg = <0x00400000 0x12c00000>; 137 137 };
+2 -2
Documentation/devicetree/bindings/net/altera_tse.txt
··· 52 52 53 53 Example: 54 54 55 - tse_sub_0_eth_tse_0: ethernet@0x1,00000000 { 55 + tse_sub_0_eth_tse_0: ethernet@1,00000000 { 56 56 compatible = "altr,tse-msgdma-1.0"; 57 57 reg = <0x00000001 0x00000000 0x00000400>, 58 58 <0x00000001 0x00000460 0x00000020>, ··· 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 94 compatible = "altr,tse-msgdma-1.0"; 95 95 reg = <0x00000001 0x00001000 0x00000400>, 96 96 <0x00000001 0x00001460 0x00000020>,
+1 -1
Documentation/devicetree/bindings/net/mdio.txt
··· 18 18 This example shows these optional properties, plus other properties 19 19 required for the TI Davinci MDIO driver. 20 20 21 - davinci_mdio: ethernet@0x5c030000 { 21 + davinci_mdio: ethernet@5c030000 { 22 22 compatible = "ti,davinci_mdio"; 23 23 reg = <0x5c030000 0x1000>; 24 24 #address-cells = <1>;
+1 -1
Documentation/devicetree/bindings/net/socfpga-dwmac.txt
··· 28 28 29 29 Example: 30 30 31 - gmii_to_sgmii_converter: phy@0x100000240 { 31 + gmii_to_sgmii_converter: phy@100000240 { 32 32 compatible = "altr,gmii-to-sgmii-2.0"; 33 33 reg = <0x00000001 0x00000240 0x00000008>, 34 34 <0x00000001 0x00000200 0x00000040>;
+1 -1
Documentation/devicetree/bindings/nios2/nios2.txt
··· 36 36 37 37 Example: 38 38 39 - cpu@0x0 { 39 + cpu@0 { 40 40 device_type = "cpu"; 41 41 compatible = "altr,nios2-1.0"; 42 42 reg = <0>;
+1 -1
Documentation/devicetree/bindings/pci/altera-pcie.txt
··· 25 25 - bus-range: PCI bus numbers covered 26 26 27 27 Example 28 - pcie_0: pcie@0xc00000000 { 28 + pcie_0: pcie@c00000000 { 29 29 compatible = "altr,pcie-root-port-1.0"; 30 30 reg = <0xc0000000 0x20000000>, 31 31 <0xff220000 0x00004000>;
+1 -1
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
··· 52 52 53 53 Example: 54 54 55 - pcie@0x01000000 { 55 + pcie@01000000 { 56 56 compatible = "fsl,imx6q-pcie", "snps,dw-pcie"; 57 57 reg = <0x01ffc000 0x04000>, 58 58 <0x01f00000 0x80000>;
+1 -1
Documentation/devicetree/bindings/pci/hisilicon-pcie.txt
··· 21 21 - dma-coherent: Present if DMA operations are coherent. 22 22 23 23 Hip05 Example (note that Hip06 is the same except compatible): 24 - pcie@0xb0080000 { 24 + pcie@b0080000 { 25 25 compatible = "hisilicon,hip05-pcie", "snps,dw-pcie"; 26 26 reg = <0 0xb0080000 0 0x10000>, <0x220 0x00000000 0 0x2000>; 27 27 reg-names = "rc_dbi", "config";
+1 -1
Documentation/devicetree/bindings/phy/sun4i-usb-phy.txt
··· 45 45 - usb3_vbus-supply : regulator phandle for controller usb3 vbus 46 46 47 47 Example: 48 - usbphy: phy@0x01c13400 { 48 + usbphy: phy@01c13400 { 49 49 #phy-cells = <1>; 50 50 compatible = "allwinner,sun4i-a10-usb-phy"; 51 51 /* phy base regs, phy1 pmu reg, phy2 pmu reg */
+1 -1
Documentation/devicetree/bindings/pinctrl/brcm,cygnus-pinmux.txt
··· 25 25 26 26 For example: 27 27 28 - pinmux: pinmux@0x0301d0c8 { 28 + pinmux: pinmux@0301d0c8 { 29 29 compatible = "brcm,cygnus-pinmux"; 30 30 reg = <0x0301d0c8 0x1b0>; 31 31
+2 -2
Documentation/devicetree/bindings/pinctrl/pinctrl-atlas7.txt
··· 96 96 97 97 For a specific board, if it wants to use sd1, 98 98 it can add the following to its board-specific .dts file. 99 - sd1: sd@0x12340000 { 99 + sd1: sd@12340000 { 100 100 pinctrl-names = "default"; 101 101 pinctrl-0 = <&sd1_pmx0>; 102 102 } 103 103 104 104 or 105 105 106 - sd1: sd@0x12340000 { 106 + sd1: sd@12340000 { 107 107 pinctrl-names = "default"; 108 108 pinctrl-0 = <&sd1_pmx1>; 109 109 }
+1 -1
Documentation/devicetree/bindings/pinctrl/pinctrl-sirf.txt
··· 41 41 42 42 For a specific board, if it wants to use uart2 without hardware flow control, 43 43 it can add the following to its board-specific .dts file. 44 - uart2: uart@0xb0070000 { 44 + uart2: uart@b0070000 { 45 45 pinctrl-names = "default"; 46 46 pinctrl-0 = <&uart2_noflow_pins_a>; 47 47 }
+2 -2
Documentation/devicetree/bindings/pinctrl/rockchip,pinctrl.txt
··· 136 136 #size-cells = <1>; 137 137 ranges; 138 138 139 - gpio0: gpio0@0x2000a000 { 139 + gpio0: gpio0@2000a000 { 140 140 compatible = "rockchip,rk3188-gpio-bank0"; 141 141 reg = <0x2000a000 0x100>; 142 142 interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>; ··· 149 149 #interrupt-cells = <2>; 150 150 }; 151 151 152 - gpio1: gpio1@0x2003c000 { 152 + gpio1: gpio1@2003c000 { 153 153 compatible = "rockchip,gpio-bank"; 154 154 reg = <0x2003c000 0x100>; 155 155 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
Documentation/devicetree/bindings/regulator/regulator.txt
··· 107 107 ... 108 108 }; 109 109 110 - mmc: mmc@0x0 { 110 + mmc: mmc@0 { 111 111 ... 112 112 ... 113 113 vmmc-supply = <&twl_reg1>;
+1 -1
Documentation/devicetree/bindings/serial/efm32-uart.txt
··· 12 12 13 13 Example: 14 14 15 - uart@0x4000c400 { 15 + uart@4000c400 { 16 16 compatible = "energymicro,efm32-uart"; 17 17 reg = <0x4000c400 0x400>; 18 18 interrupts = <15>;
+1 -1
Documentation/devicetree/bindings/serio/allwinner,sun4i-ps2.txt
··· 14 14 15 15 16 16 Example: 17 - ps20: ps2@0x01c2a000 { 17 + ps20: ps2@01c2a000 { 18 18 compatible = "allwinner,sun4i-a10-ps2"; 19 19 reg = <0x01c2a000 0x400>; 20 20 interrupts = <0 62 4>;
+1 -1
Documentation/devicetree/bindings/soc/ti/keystone-navigator-qmss.txt
··· 220 220 #address-cells = <1>; 221 221 #size-cells = <1>; 222 222 ranges; 223 - pdsp0@0x2a10000 { 223 + pdsp0@2a10000 { 224 224 reg = <0x2a10000 0x1000>, 225 225 <0x2a0f000 0x100>, 226 226 <0x2a0c000 0x3c8>,
+1 -1
Documentation/devicetree/bindings/sound/adi,axi-i2s.txt
··· 21 21 22 22 Example: 23 23 24 - i2s: i2s@0x77600000 { 24 + i2s: i2s@77600000 { 25 25 compatible = "adi,axi-i2s-1.00.a"; 26 26 reg = <0x77600000 0x1000>; 27 27 clocks = <&clk 15>, <&audio_clock>;
+1 -1
Documentation/devicetree/bindings/sound/adi,axi-spdif-tx.txt
··· 20 20 21 21 Example: 22 22 23 - spdif: spdif@0x77400000 { 23 + spdif: spdif@77400000 { 24 24 compatible = "adi,axi-spdif-tx-1.00.a"; 25 25 reg = <0x77600000 0x1000>; 26 26 clocks = <&clk 15>, <&audio_clock>;
+1 -1
Documentation/devicetree/bindings/sound/ak4613.txt
··· 20 20 Example: 21 21 22 22 &i2c { 23 - ak4613: ak4613@0x10 { 23 + ak4613: ak4613@10 { 24 24 compatible = "asahi-kasei,ak4613"; 25 25 reg = <0x10>; 26 26 };
+1 -1
Documentation/devicetree/bindings/sound/ak4642.txt
··· 17 17 Example 1: 18 18 19 19 &i2c { 20 - ak4648: ak4648@0x12 { 20 + ak4648: ak4648@12 { 21 21 compatible = "asahi-kasei,ak4642"; 22 22 reg = <0x12>; 23 23 };
+1 -1
Documentation/devicetree/bindings/sound/max98371.txt
··· 10 10 Example: 11 11 12 12 &i2c { 13 - max98371: max98371@0x31 { 13 + max98371: max98371@31 { 14 14 compatible = "maxim,max98371"; 15 15 reg = <0x31>; 16 16 };
+1 -1
Documentation/devicetree/bindings/sound/max9867.txt
··· 10 10 Example: 11 11 12 12 &i2c { 13 - max9867: max9867@0x18 { 13 + max9867: max9867@18 { 14 14 compatible = "maxim,max9867"; 15 15 reg = <0x18>; 16 16 };
+1 -1
Documentation/devicetree/bindings/sound/renesas,fsi.txt
··· 20 20 21 21 Example: 22 22 23 - sh_fsi2: sh_fsi2@0xec230000 { 23 + sh_fsi2: sh_fsi2@ec230000 { 24 24 compatible = "renesas,sh_fsi2"; 25 25 reg = <0xec230000 0x400>; 26 26 interrupts = <0 146 0x4>;
+1 -1
Documentation/devicetree/bindings/sound/rockchip-spdif.txt
··· 33 33 34 34 Example for the rk3188 SPDIF controller: 35 35 36 - spdif: spdif@0x1011e000 { 36 + spdif: spdif@1011e000 { 37 37 compatible = "rockchip,rk3188-spdif", "rockchip,rk3066-spdif"; 38 38 reg = <0x1011e000 0x2000>; 39 39 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+4 -4
Documentation/devicetree/bindings/sound/st,sti-asoc-card.txt
··· 51 51 52 52 Example: 53 53 54 - sti_uni_player1: sti-uni-player@0x8D81000 { 54 + sti_uni_player1: sti-uni-player@8D81000 { 55 55 compatible = "st,stih407-uni-player-hdmi"; 56 56 #sound-dai-cells = <0>; 57 57 st,syscfg = <&syscfg_core>; ··· 63 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 67 compatible = "st,stih407-uni-player-pcm-out"; 68 68 #sound-dai-cells = <0>; 69 69 st,syscfg = <&syscfg_core>; ··· 74 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 78 compatible = "st,stih407-uni-player-spdif"; 79 79 #sound-dai-cells = <0>; 80 80 st,syscfg = <&syscfg_core>; ··· 85 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 89 compatible = "st,stih407-uni-reader-hdmi"; 90 90 #sound-dai-cells = <0>; 91 91 st,syscfg = <&syscfg_core>;
+1 -1
Documentation/devicetree/bindings/spi/efm32-spi.txt
··· 19 19 20 20 Example: 21 21 22 - spi1: spi@0x4000c400 { /* USART1 */ 22 + spi1: spi@4000c400 { /* USART1 */ 23 23 #address-cells = <1>; 24 24 #size-cells = <0>; 25 25 compatible = "energymicro,efm32-spi";
+6 -6
Documentation/devicetree/bindings/thermal/thermal.txt
··· 239 239 * A simple fan controller which supports 10 speeds of operation 240 240 * (represented as 0-9). 241 241 */ 242 - fan0: fan@0x48 { 242 + fan0: fan@48 { 243 243 ... 244 244 cooling-min-level = <0>; 245 245 cooling-max-level = <9>; ··· 252 252 /* 253 253 * A simple IC with a single bandgap temperature sensor. 254 254 */ 255 - bandgap0: bandgap@0x0000ED00 { 255 + bandgap0: bandgap@0000ED00 { 256 256 ... 257 257 #thermal-sensor-cells = <0>; 258 258 }; ··· 330 330 /* 331 331 * A simple IC with several bandgap temperature sensors. 332 332 */ 333 - bandgap0: bandgap@0x0000ED00 { 333 + bandgap0: bandgap@0000ED00 { 334 334 ... 335 335 #thermal-sensor-cells = <1>; 336 336 }; ··· 447 447 /* 448 448 * A simple IC with a single temperature sensor. 449 449 */ 450 - adc: sensor@0x49 { 450 + adc: sensor@49 { 451 451 ... 452 452 #thermal-sensor-cells = <0>; 453 453 }; ··· 458 458 /* 459 459 * A simple IC with a single bandgap temperature sensor. 460 460 */ 461 - bandgap0: bandgap@0x0000ED00 { 461 + bandgap0: bandgap@0000ED00 { 462 462 ... 463 463 #thermal-sensor-cells = <0>; 464 464 }; ··· 516 516 /* 517 517 * An IC with several temperature sensor. 518 518 */ 519 - adc_dummy: sensor@0x50 { 519 + adc_dummy: sensor@50 { 520 520 ... 521 521 #thermal-sensor-cells = <1>; /* sensor internal ID */ 522 522 };
+2 -2
Documentation/devicetree/bindings/ufs/ufs-qcom.txt
··· 32 32 33 33 Example: 34 34 35 - ufsphy1: ufsphy@0xfc597000 { 35 + ufsphy1: ufsphy@fc597000 { 36 36 compatible = "qcom,ufs-phy-qmp-20nm"; 37 37 reg = <0xfc597000 0x800>; 38 38 reg-names = "phy_mem"; ··· 53 53 <&clock_gcc clk_gcc_ufs_rx_cfg_clk>; 54 54 }; 55 55 56 - ufshc@0xfc598000 { 56 + ufshc@fc598000 { 57 57 ... 58 58 phys = <&ufsphy1>; 59 59 phy-names = "ufsphy";
+1 -1
Documentation/devicetree/bindings/ufs/ufshcd-pltfrm.txt
··· 46 46 regulators or clocks are always on. 47 47 48 48 Example: 49 - ufshc@0xfc598000 { 49 + ufshc@fc598000 { 50 50 compatible = "jedec,ufs-1.1"; 51 51 reg = <0xfc598000 0x800>; 52 52 interrupts = <0 28 0>;
+1 -1
Documentation/devicetree/bindings/usb/ehci-st.txt
··· 22 22 23 23 Example: 24 24 25 - ehci1: usb@0xfe203e00 { 25 + ehci1: usb@fe203e00 { 26 26 compatible = "st,st-ehci-300x"; 27 27 reg = <0xfe203e00 0x100>; 28 28 interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
+1 -1
Documentation/devicetree/bindings/usb/ohci-st.txt
··· 20 20 21 21 Example: 22 22 23 - ohci0: usb@0xfe1ffc00 { 23 + ohci0: usb@fe1ffc00 { 24 24 compatible = "st,st-ohci-300x"; 25 25 reg = <0xfe1ffc00 0x100>; 26 26 interrupts = <GIC_SPI 149 IRQ_TYPE_NONE>;
+1 -1
Documentation/devicetree/bindings/watchdog/ingenic,jz4740-wdt.txt
··· 6 6 7 7 Example: 8 8 9 - watchdog: jz4740-watchdog@0x10002000 { 9 + watchdog: jz4740-watchdog@10002000 { 10 10 compatible = "ingenic,jz4740-watchdog"; 11 11 reg = <0x10002000 0x100>; 12 12 };
+2 -2
drivers/of/dynamic.c
··· 695 695 /* 696 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 699 * final notification error is reported. 700 700 */ 701 701 int __of_changeset_apply_notify(struct of_changeset *ocs) ··· 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 799 * final notification error is reported. 800 800 */ 801 801 int __of_changeset_revert_notify(struct of_changeset *ocs)
+39 -45
drivers/of/overlay.c
··· 522 522 struct device_node *node, *overlay_node; 523 523 struct fragment *fragment; 524 524 struct fragment *fragments; 525 - int cnt, ret; 525 + int cnt, id, ret; 526 526 527 527 /* 528 528 * Warn for some issues. Can not return -EINVAL for these until ··· 543 543 544 544 of_changeset_init(&ovcs->cset); 545 545 546 - ovcs->id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL); 547 - if (ovcs->id <= 0) 548 - return ovcs->id; 546 + id = idr_alloc(&ovcs_idr, ovcs, 1, 0, GFP_KERNEL); 547 + if (id <= 0) 548 + return id; 549 549 550 550 cnt = 0; 551 551 ··· 572 572 573 573 cnt = 0; 574 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 579 fragment = &fragments[cnt]; 576 - fragment->overlay = of_get_child_by_name(node, "__overlay__"); 577 - if (fragment->overlay) { 578 - fragment->target = find_target_node(node); 579 - if (!fragment->target) { 580 - of_node_put(fragment->overlay); 581 - ret = -EINVAL; 582 - goto err_free_fragments; 583 - } else { 584 - cnt++; 585 - } 580 + fragment->overlay = overlay_node; 581 + fragment->target = find_target_node(node); 582 + if (!fragment->target) { 583 + of_node_put(fragment->overlay); 584 + ret = -EINVAL; 585 + goto err_free_fragments; 586 586 } 587 + 588 + cnt++; 587 589 } 588 590 589 591 /* ··· 613 611 goto err_free_fragments; 614 612 } 615 613 614 + ovcs->id = id; 616 615 ovcs->count = cnt; 617 616 ovcs->fragments = fragments; 618 617 ··· 622 619 err_free_fragments: 623 620 kfree(fragments); 624 621 err_free_idr: 625 - idr_remove(&ovcs_idr, ovcs->id); 622 + idr_remove(&ovcs_idr, id); 626 623 627 624 pr_err("%s() failed, ret = %d\n", __func__, ret); 628 625 ··· 633 630 { 634 631 int i; 635 632 636 - if (!ovcs->cset.entries.next) 637 - return; 638 - of_changeset_destroy(&ovcs->cset); 633 + if (ovcs->cset.entries.next) 634 + of_changeset_destroy(&ovcs->cset); 639 635 640 636 if (ovcs->id) 641 637 idr_remove(&ovcs_idr, ovcs->id); ··· 662 660 * A non-zero return value will not have created the changeset if error is from: 663 661 * - parameter checks 664 662 * - building the changeset 665 - * - overlay changset pre-apply notifier 663 + * - overlay changeset pre-apply notifier 666 664 * 667 665 * If an error is returned by an overlay changeset pre-apply notifier 668 666 * then no further overlay changeset pre-apply notifier will be called. 669 667 * 670 668 * A non-zero return value will have created the changeset if error is from: 671 669 * - overlay changeset entry notifier 672 - * - overlay changset post-apply notifier 670 + * - overlay changeset post-apply notifier 673 671 * 674 672 * If an error is returned by an overlay changeset post-apply notifier 675 673 * then no further overlay changeset post-apply notifier will be called. ··· 708 706 } 709 707 710 708 of_overlay_mutex_lock(); 709 + mutex_lock(&of_mutex); 711 710 712 711 ret = of_resolve_phandles(tree); 713 712 if (ret) 714 - goto err_overlay_unlock; 715 - 716 - mutex_lock(&of_mutex); 713 + goto err_free_overlay_changeset; 717 714 718 715 ret = init_overlay_changeset(ovcs, tree); 719 716 if (ret) ··· 737 736 devicetree_state_flags |= DTSF_APPLY_FAIL; 738 737 } 739 738 goto err_free_overlay_changeset; 740 - } else { 741 - ret = __of_changeset_apply_notify(&ovcs->cset); 742 - if (ret) 743 - pr_err("overlay changeset entry notify error %d\n", 744 - ret); 745 - /* fall through */ 746 739 } 740 + 741 + ret = __of_changeset_apply_notify(&ovcs->cset); 742 + if (ret) 743 + pr_err("overlay changeset entry notify error %d\n", ret); 744 + /* notify failure is not fatal, continue */ 747 745 748 746 list_add_tail(&ovcs->ovcs_list, &ovcs_list); 749 747 *ovcs_id = ovcs->id; ··· 755 755 ret = ret_tmp; 756 756 } 757 757 758 - mutex_unlock(&of_mutex); 759 - of_overlay_mutex_unlock(); 760 - 761 - goto out; 762 - 763 - err_overlay_unlock: 764 - of_overlay_mutex_unlock(); 758 + goto out_unlock; 765 759 766 760 err_free_overlay_changeset: 767 761 free_overlay_changeset(ovcs); 768 762 763 + out_unlock: 769 764 mutex_unlock(&of_mutex); 765 + of_overlay_mutex_unlock(); 770 766 771 767 out: 772 768 pr_debug("%s() err=%d\n", __func__, ret); ··· 867 871 * 868 872 * A non-zero return value will not revert the changeset if error is from: 869 873 * - parameter checks 870 - * - overlay changset pre-remove notifier 874 + * - overlay changeset pre-remove notifier 871 875 * - overlay changeset entry revert 872 876 * 873 877 * If an error is returned by an overlay changeset pre-remove notifier ··· 878 882 * 879 883 * A non-zero return value will revert the changeset if error is from: 880 884 * - overlay changeset entry notifier 881 - * - overlay changset post-remove notifier 885 + * - overlay changeset post-remove notifier 882 886 * 883 887 * If an error is returned by an overlay changeset post-remove notifier 884 888 * then no further overlay changeset post-remove notifier will be called. ··· 927 931 if (ret_apply) 928 932 devicetree_state_flags |= DTSF_REVERT_FAIL; 929 933 goto out_unlock; 930 - } else { 931 - ret = __of_changeset_revert_notify(&ovcs->cset); 932 - if (ret) { 933 - pr_err("overlay changeset entry notify error %d\n", 934 - ret); 935 - /* fall through - changeset was reverted */ 936 - } 937 934 } 935 + 936 + ret = __of_changeset_revert_notify(&ovcs->cset); 937 + if (ret) 938 + pr_err("overlay changeset entry notify error %d\n", ret); 939 + /* notify failure is not fatal, continue */ 938 940 939 941 *ovcs_id = 0; 940 942
-1
drivers/of/unittest.c
··· 2165 2165 ret = of_overlay_apply(info->np_overlay, &info->overlay_id); 2166 2166 if (ret < 0) { 2167 2167 pr_err("of_overlay_apply() (ret=%d), %d\n", ret, onum); 2168 - of_overlay_mutex_unlock(); 2169 2168 goto out_free_np_overlay; 2170 2169 } 2171 2170