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

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

Pull DeviceTree updates from Rob Herring:

- Convert to use memblock_virt_alloc in DT code which supports
bootmem arches. With this we can remove the arch specific
early_init_dt_alloc_memory_arch() functions.

- Enable running the DT unittests on UML

- Use SPDX license tags on DT files

- Fix early FDT kconfig ifdef logic

- Clean-up unittest Makefile

- Fix function comment for of_irq_parse_raw

- Add missing documentation for linux,initrd-{start,end} properties

- Clean-up of binding examples using uppercase hex

- Add trivial devices W83773G and Infineon TLV493D-A1B6

- Add missing STM32 SoC bindings

- Various small binding doc fixes

* tag 'devicetree-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (23 commits)
xtensa: remove arch specific early DT functions
x86: remove arch specific early_init_dt_alloc_memory_arch
nios2: remove arch specific early_init_dt_alloc_memory_arch
mips: remove arch specific early_init_dt_alloc_memory_arch
metag: remove arch specific early DT functions
cris: remove arch specific early DT functions
libfdt: remove unnecessary include directive from <linux/libfdt.h>
of: unittest: refactor Makefile
of/fdt: use memblock_virt_alloc for early alloc
of: Use SPDX license tag for DT files
of/fdt: Fix #ifdef dependency of early flattree declarations
dt-bindings: h8300 clocksource: correct spelling of pulse
dt-bindings: imx6q-pcie: Add required property for i.MX6SX
mmc: Don't reference Linux-specific OF_GPIO_ACTIVE_LOW flag in DT binding
dt-bindings: Use lower case hex in unit-addresses
dt-bindings: display: panel: Fix compatible string for Toshiba LT089AC29000
dt-bindings: Add Infineon TLV493D-A1B6
dt-bindings: mailbox: ti,message-manager: Fix interrupt name error
dt-bindings: chosen: Document linux,initrd-{start,end}
dt-bindings: arm: document supported STM32 SoC family
...

+153 -287
+3 -3
Documentation/devicetree/bindings/arm/samsung/exynos-adc.txt
··· 55 55 56 56 Example: adding device info in dtsi file 57 57 58 - adc: adc@12D10000 { 58 + adc: adc@12d10000 { 59 59 compatible = "samsung,exynos-adc-v1"; 60 60 reg = <0x12D10000 0x100>; 61 61 interrupts = <0 106 0>; ··· 71 71 72 72 Example: adding device info in dtsi file for Exynos3250 with additional sclk 73 73 74 - adc: adc@126C0000 { 74 + adc: adc@126c0000 { 75 75 compatible = "samsung,exynos3250-adc", "samsung,exynos-adc-v2; 76 76 reg = <0x126C0000 0x100>; 77 77 interrupts = <0 137 0>; ··· 87 87 88 88 Example: Adding child nodes in dts file 89 89 90 - adc@12D10000 { 90 + adc@12d10000 { 91 91 92 92 /* NTC thermistor is a hwmon device */ 93 93 ncp15wb473@0 {
+1 -1
Documentation/devicetree/bindings/arm/samsung/samsung-boards.txt
··· 72 72 - compatible: only "samsung,secure-firmware" is currently supported 73 73 - reg: address of non-secure SYSRAM used for communication with firmware 74 74 75 - firmware@203F000 { 75 + firmware@203f000 { 76 76 compatible = "samsung,secure-firmware"; 77 77 reg = <0x0203F000 0x1000>; 78 78 };
+9
Documentation/devicetree/bindings/arm/stm32.txt
··· 1 + STMicroelectronics STM32 Platforms Device Tree Bindings 2 + 3 + Each device tree must specify which STM32 SoC it uses, 4 + using one of the following compatible strings: 5 + 6 + st,stm32f429 7 + st,stm32f469 8 + st,stm32f746 9 + st,stm32h743
+15
Documentation/devicetree/bindings/chosen.txt
··· 120 120 While this property does not represent a real hardware, the address 121 121 and the size are expressed in #address-cells and #size-cells, 122 122 respectively, of the root node. 123 + 124 + linux,initrd-start and linux,initrd-end 125 + --------------------------------------- 126 + 127 + These properties hold the physical start and end address of an initrd that's 128 + loaded by the bootloader. Note that linux,initrd-start is inclusive, but 129 + linux,initrd-end is exclusive. 130 + e.g. 131 + 132 + / { 133 + chosen { 134 + linux,initrd-start = <0x82000000>; 135 + linux,initrd-end = <0x82800000>; 136 + }; 137 + };
+1 -1
Documentation/devicetree/bindings/clock/exynos3250-clock.txt
··· 32 32 #clock-cells = <1>; 33 33 }; 34 34 35 - cmu_dmc: clock-controller@105C0000 { 35 + cmu_dmc: clock-controller@105c0000 { 36 36 compatible = "samsung,exynos3250-cmu-dmc"; 37 37 reg = <0x105C0000 0x2000>; 38 38 #clock-cells = <1>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5260-clock.txt
··· 180 180 peri clock controller. Refer to the standard clock bindings for 181 181 information about 'clocks' and 'clock-names' property. 182 182 183 - serial@12C00000 { 183 + serial@12c00000 { 184 184 compatible = "samsung,exynos4210-uart"; 185 185 reg = <0x12C00000 0x100>; 186 186 interrupts = <0 146 0>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5410-clock.txt
··· 41 41 controller. Refer to the standard clock bindings for information 42 42 about 'clocks' and 'clock-names' property. 43 43 44 - serial@12C20000 { 44 + serial@12c20000 { 45 45 compatible = "samsung,exynos4210-uart"; 46 46 reg = <0x12C00000 0x100>; 47 47 interrupts = <0 51 0>;
+1 -1
Documentation/devicetree/bindings/clock/exynos5433-clock.txt
··· 472 472 Example 3: UART controller node that consumes the clock generated by the clock 473 473 controller. 474 474 475 - serial_0: serial@14C10000 { 475 + serial_0: serial@14c10000 { 476 476 compatible = "samsung,exynos5433-uart"; 477 477 reg = <0x14C10000 0x100>; 478 478 interrupts = <0 421 0>;
+1 -1
Documentation/devicetree/bindings/crypto/atmel-crypto.txt
··· 75 75 - clock-frequency: must be present in the i2c controller node. 76 76 77 77 Example: 78 - atecc508a@C0 { 78 + atecc508a@c0 { 79 79 compatible = "atmel,atecc508a"; 80 80 reg = <0xC0>; 81 81 };
+1 -1
Documentation/devicetree/bindings/devfreq/event/exynos-nocp.txt
··· 20 20 21 21 Example : NoC Probe nodes in Device Tree are listed below. 22 22 23 - nocp_mem0_0: nocp@10CA1000 { 23 + nocp_mem0_0: nocp@10ca1000 { 24 24 compatible = "samsung,exynos5420-nocp"; 25 25 reg = <0x10CA1000 0x200>; 26 26 };
+1 -1
Documentation/devicetree/bindings/display/exynos/exynos_dsim.txt
··· 54 54 55 55 Example: 56 56 57 - dsi@11C80000 { 57 + dsi@11c80000 { 58 58 compatible = "samsung,exynos4210-mipi-dsi"; 59 59 reg = <0x11C80000 0x10000>; 60 60 interrupts = <0 79 0>;
+1 -1
Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
··· 1 1 Toshiba 8.9" WXGA (1280x768) TFT LCD panel 2 2 3 3 Required properties: 4 - - compatible: should be "toshiba,lt089ac29000.txt" 4 + - compatible: should be "toshiba,lt089ac29000" 5 5 - power-supply: as specified in the base binding 6 6 7 7 This binding is compatible with the simple-panel binding, which is specified
+1 -1
Documentation/devicetree/bindings/display/st,stih4xx.txt
··· 119 119 / { 120 120 ... 121 121 122 - vtg_main_slave: sti-vtg-main-slave@fe85A800 { 122 + vtg_main_slave: sti-vtg-main-slave@fe85a800 { 123 123 compatible = "st,vtg"; 124 124 reg = <0xfe85A800 0x300>; 125 125 interrupts = <GIC_SPI 175 IRQ_TYPE_NONE>;
+1 -1
Documentation/devicetree/bindings/dma/ste-dma40.txt
··· 15 15 16 16 Example: 17 17 18 - dma: dma-controller@801C0000 { 18 + dma: dma-controller@801c0000 { 19 19 compatible = "stericsson,db8500-dma40", "stericsson,dma40"; 20 20 reg = <0x801C0000 0x1000 0x40010000 0x800>; 21 21 reg-names = "base", "lcpa";
+1 -1
Documentation/devicetree/bindings/gpio/abilis,tb10x-gpio.txt
··· 21 21 22 22 Example: 23 23 24 - gpioa: gpio@FF140000 { 24 + gpioa: gpio@ff140000 { 25 25 compatible = "abilis,tb10x-gpio"; 26 26 interrupt-controller; 27 27 #interrupt-cells = <1>;
+1 -1
Documentation/devicetree/bindings/gpio/gpio-stp-xway.txt
··· 27 27 28 28 Example: 29 29 30 - gpio1: stp@E100BB0 { 30 + gpio1: stp@e100bb0 { 31 31 compatible = "lantiq,gpio-stp-xway"; 32 32 reg = <0xE100BB0 0x40>; 33 33 #gpio-cells = <2>;
+1 -1
Documentation/devicetree/bindings/gpio/gpio.txt
··· 290 290 291 291 Example 2: 292 292 293 - gpio_pio_i: gpio-controller@14B0 { 293 + gpio_pio_i: gpio-controller@14b0 { 294 294 #gpio-cells = <2>; 295 295 compatible = "fsl,qe-pario-bank-e", "fsl,qe-pario-bank"; 296 296 reg = <0x1480 0x18>;
+1 -1
Documentation/devicetree/bindings/i2c/i2c-arb-gpio-challenge.txt
··· 54 54 55 55 56 56 Example: 57 - i2c@12CA0000 { 57 + i2c@12ca0000 { 58 58 compatible = "acme,some-i2c-device"; 59 59 #address-cells = <1>; 60 60 #size-cells = <0>;
+1 -1
Documentation/devicetree/bindings/i2c/i2c-imx-lpi2c.txt
··· 11 11 12 12 Examples: 13 13 14 - lpi2c7: lpi2c7@40A50000 { 14 + lpi2c7: lpi2c7@40a50000 { 15 15 compatible = "fsl,imx8dv-lpi2c"; 16 16 reg = <0x40A50000 0x10000>; 17 17 interrupt-parent = <&intc>;
+1 -1
Documentation/devicetree/bindings/input/samsung-keypad.txt
··· 45 45 46 46 47 47 Example: 48 - keypad@100A0000 { 48 + keypad@100a0000 { 49 49 compatible = "samsung,s5pv210-keypad"; 50 50 reg = <0x100A0000 0x100>; 51 51 interrupts = <173>;
+1 -1
Documentation/devicetree/bindings/input/touchscreen/brcm,iproc-touchscreen.txt
··· 66 66 reg = <0x180a6000 0xc30>; 67 67 }; 68 68 69 - touchscreen: touchscreen@180A6000 { 69 + touchscreen: touchscreen@180a6000 { 70 70 compatible = "brcm,iproc-touchscreen"; 71 71 #address-cells = <1>; 72 72 #size-cells = <1>;
+1 -1
Documentation/devicetree/bindings/iommu/samsung,sysmmu.txt
··· 56 56 iommus = <&sysmmu_gsc0>; 57 57 }; 58 58 59 - sysmmu_gsc0: sysmmu@13E80000 { 59 + sysmmu_gsc0: sysmmu@13e80000 { 60 60 compatible = "samsung,exynos-sysmmu"; 61 61 reg = <0x13E80000 0x1000>; 62 62 interrupt-parent = <&combiner>;
+1 -1
Documentation/devicetree/bindings/mailbox/omap-mailbox.txt
··· 124 124 }; 125 125 126 126 /* AM33xx */ 127 - mailbox: mailbox@480C8000 { 127 + mailbox: mailbox@480c8000 { 128 128 compatible = "ti,omap4-mailbox"; 129 129 reg = <0x480C8000 0x200>; 130 130 interrupts = <77>;
+2 -2
Documentation/devicetree/bindings/mailbox/ti,message-manager.txt
··· 20 20 order referring to the transfer path. 21 21 - interrupt-names: Contains interrupt names matching the rx transfer path 22 22 for a given SoC. Receive interrupts shall be of the 23 - format: "rx_<QID>_<PID>". 23 + format: "rx_<QID>". 24 24 For ti,k2g-message-manager, this shall contain: 25 - "rx_005_002", "rx_057_002" 25 + "rx_005", "rx_057" 26 26 - interrupts: Contains the interrupt information corresponding to 27 27 interrupt-names property. 28 28
+1 -1
Documentation/devicetree/bindings/media/s5p-cec.txt
··· 23 23 24 24 Example: 25 25 26 - hdmicec: cec@100B0000 { 26 + hdmicec: cec@100b0000 { 27 27 compatible = "samsung,s5p-cec"; 28 28 reg = <0x100B0000 0x200>; 29 29 interrupts = <0 114 0>;
+1 -1
Documentation/devicetree/bindings/media/samsung-s5c73m3.txt
··· 62 62 63 63 Example: 64 64 65 - i2c@138A000000 { 65 + i2c@138a000000 { 66 66 ... 67 67 s5c73m3@3c { 68 68 compatible = "samsung,s5c73m3";
+1 -1
Documentation/devicetree/bindings/memory-controllers/ti-aemif.txt
··· 138 138 139 139 Example for aemif, davinci nand and nor flash chip select shown below. 140 140 141 - memory-controller@21000A00 { 141 + memory-controller@21000a00 { 142 142 compatible = "ti,davinci-aemif"; 143 143 #address-cells = <2>; 144 144 #size-cells = <1>;
+1 -1
Documentation/devicetree/bindings/mfd/cros-ec.txt
··· 41 41 42 42 Example for I2C: 43 43 44 - i2c@12CA0000 { 44 + i2c@12ca0000 { 45 45 cros-ec@1e { 46 46 reg = <0x1e>; 47 47 compatible = "google,cros-ec-i2c";
+2 -2
Documentation/devicetree/bindings/mmc/mmc.txt
··· 67 67 CD and WP lines can be implemented on the hardware in one of two ways: as GPIOs, 68 68 specified in cd-gpios and wp-gpios properties, or as dedicated pins. Polarity of 69 69 dedicated pins can be specified, using *-inverted properties. GPIO polarity can 70 - also be specified using the OF_GPIO_ACTIVE_LOW flag. This creates an ambiguity 70 + also be specified using the GPIO_ACTIVE_LOW flag. This creates an ambiguity 71 71 in the latter case. We choose to use the XOR logic for GPIO CD and WP lines. 72 72 This means, the two properties are "superimposed," for example leaving the 73 - OF_GPIO_ACTIVE_LOW flag clear and specifying the respective *-inverted 73 + GPIO_ACTIVE_LOW flag clear and specifying the respective *-inverted property 74 74 property results in a double-inversion and actually means the "normal" line 75 75 polarity is in effect. 76 76
+1 -1
Documentation/devicetree/bindings/mtd/lpc32xx-mlc.txt
··· 23 23 24 24 Example: 25 25 26 - mlc: flash@200A8000 { 26 + mlc: flash@200a8000 { 27 27 compatible = "nxp,lpc3220-mlc"; 28 28 reg = <0x200A8000 0x11000>; 29 29 interrupts = <11 0>;
+2 -2
Documentation/devicetree/bindings/net/cpsw.txt
··· 61 61 62 62 Examples: 63 63 64 - mac: ethernet@4A100000 { 64 + mac: ethernet@4a100000 { 65 65 compatible = "ti,cpsw"; 66 66 reg = <0x4A100000 0x1000>; 67 67 interrupts = <55 0x4>; ··· 91 91 }; 92 92 93 93 (or) 94 - mac: ethernet@4A100000 { 94 + mac: ethernet@4a100000 { 95 95 compatible = "ti,cpsw"; 96 96 ti,hwmods = "cpgmac0"; 97 97 cpdma_channels = <8>;
+2 -2
Documentation/devicetree/bindings/net/davinci-mdio.txt
··· 21 21 22 22 Examples: 23 23 24 - mdio: davinci_mdio@4A101000 { 24 + mdio: davinci_mdio@4a101000 { 25 25 compatible = "ti,davinci_mdio"; 26 26 reg = <0x4A101000 0x1000>; 27 27 bus_freq = <1000000>; ··· 29 29 30 30 (or) 31 31 32 - mdio: davinci_mdio@4A101000 { 32 + mdio: davinci_mdio@4a101000 { 33 33 compatible = "ti,davinci_mdio"; 34 34 ti,hwmods = "davinci_mdio"; 35 35 bus_freq = <1000000>;
+1 -1
Documentation/devicetree/bindings/net/fsl-tsec-phy.txt
··· 136 136 137 137 Example: 138 138 139 - ptp_clock@24E00 { 139 + ptp_clock@24e00 { 140 140 compatible = "fsl,etsec-ptp"; 141 141 reg = <0x24E00 0xB0>; 142 142 interrupts = <12 0x8 13 0x8>;
+1
Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.txt
··· 41 41 Additional required properties for imx6sx-pcie: 42 42 - clock names: Must include the following additional entries: 43 43 - "pcie_inbound_axi" 44 + - power-domains: Must be set to a phandle pointing to the PCIE_PHY power domain 44 45 45 46 Additional required properties for imx7d-pcie: 46 47 - power-domains: Must be set to a phandle pointing to PCIE_PHY power domain
+1 -1
Documentation/devicetree/bindings/phy/ti-phy.txt
··· 120 120 "refclk"; 121 121 }; 122 122 123 - sata_phy: phy@4A096000 { 123 + sata_phy: phy@4a096000 { 124 124 compatible = "ti,phy-pipe3-sata"; 125 125 reg = <0x4A096000 0x80>, /* phy_rx */ 126 126 <0x4A096400 0x64>, /* phy_tx */
+3 -3
Documentation/devicetree/bindings/pinctrl/abilis,tb10x-iomux.txt
··· 49 49 Example 50 50 ------- 51 51 52 - iomux: iomux@FF10601c { 52 + iomux: iomux@ff10601c { 53 53 compatible = "abilis,tb10x-iomux"; 54 54 reg = <0xFF10601c 0x4>; 55 55 pctl_gpio_a: pctl-gpio-a { ··· 59 59 abilis,function = "uart0"; 60 60 }; 61 61 }; 62 - uart@FF100000 { 62 + uart@ff100000 { 63 63 compatible = "snps,dw-apb-uart"; 64 64 reg = <0xFF100000 0x100>; 65 65 clock-frequency = <166666666>; ··· 69 69 pinctrl-names = "default"; 70 70 pinctrl-0 = <&pctl_uart0>; 71 71 }; 72 - gpioa: gpio@FF140000 { 72 + gpioa: gpio@ff140000 { 73 73 compatible = "abilis,tb10x-gpio"; 74 74 reg = <0xFF140000 0x1000>; 75 75 gpio-controller;
+1 -1
Documentation/devicetree/bindings/pinctrl/img,pistachio-pinctrl.txt
··· 152 152 153 153 Example: 154 154 -------- 155 - pinctrl@18101C00 { 155 + pinctrl@18101c00 { 156 156 compatible = "img,pistachio-system-pinctrl"; 157 157 reg = <0x18101C00 0x400>; 158 158
+1 -1
Documentation/devicetree/bindings/pinctrl/lantiq,pinctrl-xway.txt
··· 163 163 io42-io43,io48-io61. 164 164 165 165 Example: 166 - gpio: pinmux@E100B10 { 166 + gpio: pinmux@e100b10 { 167 167 compatible = "lantiq,danube-pinctrl"; 168 168 pinctrl-names = "default"; 169 169 pinctrl-0 = <&state_default>;
+1 -1
Documentation/devicetree/bindings/pinctrl/pinctrl-mt65xx.txt
··· 81 81 reg = <0 0x10005000 0 0x1000>; 82 82 }; 83 83 84 - syscfg_pctl_b: syscfg_pctl_b@1020C020 { 84 + syscfg_pctl_b: syscfg_pctl_b@1020c020 { 85 85 compatible = "mediatek,mt8135-pctl-b-syscfg", "syscon"; 86 86 reg = <0 0x1020C020 0 0x1000>; 87 87 };
+6 -6
Documentation/devicetree/bindings/powerpc/fsl/interlaken-lac.txt
··· 223 223 reg = <0x9000 0x1000>; 224 224 }; 225 225 226 - lportal10: lac-portal@A000 { 226 + lportal10: lac-portal@a000 { 227 227 compatible = "fsl,interlaken-lac-portal-v1.0"; 228 228 fsl,liodn = <0x20E>; 229 229 reg = <0xA000 0x1000>; 230 230 }; 231 231 232 - lportal11: lac-portal@B000 { 232 + lportal11: lac-portal@b000 { 233 233 compatible = "fsl,interlaken-lac-portal-v1.0"; 234 234 fsl,liodn = <0x20F>; 235 235 reg = <0xB000 0x1000>; 236 236 }; 237 237 238 - lportal12: lac-portal@C000 { 238 + lportal12: lac-portal@c000 { 239 239 compatible = "fsl,interlaken-lac-portal-v1.0"; 240 240 fsl,liodn = <0x210>; 241 241 reg = <0xC000 0x1000>; 242 242 }; 243 243 244 - lportal13: lac-portal@D000 { 244 + lportal13: lac-portal@d000 { 245 245 compatible = "fsl,interlaken-lac-portal-v1.0"; 246 246 fsl,liodn = <0x211>; 247 247 reg = <0xD000 0x1000>; 248 248 }; 249 249 250 - lportal14: lac-portal@E000 { 250 + lportal14: lac-portal@e000 { 251 251 compatible = "fsl,interlaken-lac-portal-v1.0"; 252 252 fsl,liodn = <0x212>; 253 253 reg = <0xE000 0x1000>; 254 254 }; 255 255 256 - lportal15: lac-portal@F000 { 256 + lportal15: lac-portal@f000 { 257 257 compatible = "fsl,interlaken-lac-portal-v1.0"; 258 258 fsl,liodn = <0x213>; 259 259 reg = <0xF000 0x1000>;
+1 -1
Documentation/devicetree/bindings/regulator/st,stm32-vrefbuf.txt
··· 10 10 - clocks: Must contain an entry for peripheral clock. 11 11 12 12 Example: 13 - vrefbuf: regulator@58003C00 { 13 + vrefbuf: regulator@58003c00 { 14 14 compatible = "st,stm32-vrefbuf"; 15 15 reg = <0x58003C00 0x8>; 16 16 clocks = <&rcc VREF_CK>;
+1 -1
Documentation/devicetree/bindings/serial/lantiq_asc.txt
··· 8 8 9 9 Example: 10 10 11 - asc1: serial@E100C00 { 11 + asc1: serial@e100c00 { 12 12 compatible = "lantiq,asc"; 13 13 reg = <0xE100C00 0x400>; 14 14 interrupt-parent = <&icu0>;
+1 -1
Documentation/devicetree/bindings/sound/img,i2s-out.txt
··· 35 35 36 36 Example: 37 37 38 - i2s_out: i2s-out@18100A00 { 38 + i2s_out: i2s-out@18100a00 { 39 39 compatible = "img,i2s-out"; 40 40 reg = <0x18100A00 0x200>; 41 41 interrupts = <GIC_SHARED 13 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
Documentation/devicetree/bindings/sound/img,parallel-out.txt
··· 29 29 30 30 Example: 31 31 32 - parallel_out: parallel-out@18100C00 { 32 + parallel_out: parallel-out@18100c00 { 33 33 compatible = "img,parallel-out"; 34 34 reg = <0x18100C00 0x100>; 35 35 interrupts = <GIC_SHARED 19 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
Documentation/devicetree/bindings/sound/img,spdif-in.txt
··· 29 29 30 30 Example: 31 31 32 - spdif_in: spdif-in@18100E00 { 32 + spdif_in: spdif-in@18100e00 { 33 33 compatible = "img,spdif-in"; 34 34 reg = <0x18100E00 0x100>; 35 35 interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
+1 -1
Documentation/devicetree/bindings/sound/img,spdif-out.txt
··· 29 29 30 30 Example: 31 31 32 - spdif_out: spdif-out@18100D00 { 32 + spdif_out: spdif-out@18100d00 { 33 33 compatible = "img,spdif-out"; 34 34 reg = <0x18100D00 0x100>; 35 35 interrupts = <GIC_SHARED 21 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@8D81000 { 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@8D82000 { 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@8D85000 { 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@8D84000 { 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/spi-davinci.txt
··· 68 68 Example of a NOR flash slave device (n25q032) connected to DaVinci 69 69 SPI controller device over the SPI bus. 70 70 71 - spi0:spi@20BF0000 { 71 + spi0:spi@20bf0000 { 72 72 #address-cells = <1>; 73 73 #size-cells = <0>; 74 74 compatible = "ti,dm6446-spi";
+1 -1
Documentation/devicetree/bindings/spi/spi-lantiq-ssc.txt
··· 16 16 Example: 17 17 18 18 19 - spi: spi@E100800 { 19 + spi: spi@e100800 { 20 20 compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi"; 21 21 reg = <0xE100800 0x100>; 22 22 interrupt-parent = <&icu0>;
+1 -1
Documentation/devicetree/bindings/thermal/exynos-thermal.txt
··· 70 70 71 71 Example 1): 72 72 73 - tmu@100C0000 { 73 + tmu@100c0000 { 74 74 compatible = "samsung,exynos4412-tmu"; 75 75 interrupt-parent = <&combiner>; 76 76 reg = <0x100C0000 0x100>;
+3 -3
Documentation/devicetree/bindings/thermal/thermal.txt
··· 252 252 /* 253 253 * A simple IC with a single bandgap temperature sensor. 254 254 */ 255 - bandgap0: bandgap@0000ED00 { 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@0000ED00 { 333 + bandgap0: bandgap@0000ed00 { 334 334 ... 335 335 #thermal-sensor-cells = <1>; 336 336 }; ··· 458 458 /* 459 459 * A simple IC with a single bandgap temperature sensor. 460 460 */ 461 - bandgap0: bandgap@0000ED00 { 461 + bandgap0: bandgap@0000ed00 { 462 462 ... 463 463 #thermal-sensor-cells = <0>; 464 464 };
+1 -1
Documentation/devicetree/bindings/timer/renesas,tpu.txt
··· 1 - * Renesas H8/300 Timer Pluse Unit 1 + * Renesas H8/300 Timer Pulse Unit 2 2 3 3 The TPU is a 16bit timer/counter with configurable clock inputs and 4 4 programmable compare match.
+1 -1
Documentation/devicetree/bindings/timer/samsung,exynos4210-mct.txt
··· 51 51 interrupt controllers. Hence, an interrupt-map is created to map 52 52 the interrupts to the respective interrupt controllers. 53 53 54 - mct@101C0000 { 54 + mct@101c0000 { 55 55 compatible = "samsung,exynos4210-mct"; 56 56 reg = <0x101C0000 0x800>; 57 57 interrupt-parent = <&mct_map>;
+2
Documentation/devicetree/bindings/trivial-devices.txt
··· 63 63 gmt,g751 G751: Digital Temperature Sensor and Thermal Watchdog with Two-Wire Interface 64 64 infineon,slb9635tt Infineon SLB9635 (Soft-) I2C TPM (old protocol, max 100khz) 65 65 infineon,slb9645tt Infineon SLB9645 I2C TPM (new protocol, max 400khz) 66 + infineon,tlv493d-a1b6 Infineon TLV493D-A1B6 I2C 3D Magnetic Sensor 66 67 isil,isl1208 Intersil ISL1208 Low Power RTC with Battery Backed SRAM 67 68 isil,isl1218 Intersil ISL1218 Low Power RTC with Battery Backed SRAM 68 69 isil,isl12022 Intersil ISL12022 Real-time Clock ··· 152 151 national,lm92 ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal Window Comparator with Two-Wire Interface 153 152 nuvoton,npct501 i2c trusted platform module (TPM) 154 153 nuvoton,npct601 i2c trusted platform module (TPM2) 154 + nuvoton,w83773g Nuvoton Temperature Sensor 155 155 nxp,pca9556 Octal SMBus and I2C registered interface 156 156 nxp,pca9557 8-bit I2C-bus and SMBus I/O port with reset 157 157 nxp,pcf2127 Real-time clock
+1 -1
Documentation/devicetree/bindings/watchdog/pnx4008-wdt.txt
··· 10 10 11 11 Example: 12 12 13 - watchdog@4003C000 { 13 + watchdog@4003c000 { 14 14 compatible = "nxp,pnx4008-wdt"; 15 15 reg = <0x4003C000 0x1000>; 16 16 timeout-sec = <10>;
+1 -1
Documentation/devicetree/bindings/watchdog/samsung-wdt.txt
··· 25 25 26 26 Example: 27 27 28 - watchdog@101D0000 { 28 + watchdog@101d0000 { 29 29 compatible = "samsung,exynos5250-wdt"; 30 30 reg = <0x101D0000 0x100>; 31 31 interrupts = <0 42 0>;
-19
arch/cris/kernel/Makefile
··· 1 - # SPDX-License-Identifier: GPL-2.0 2 - # $Id: Makefile,v 1.12 2004/10/19 13:07:43 starvik Exp $ 3 - # 4 - # Makefile for the linux kernel. 5 - # 6 - 7 - CPPFLAGS_vmlinux.lds := -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE) 8 - extra-y := vmlinux.lds 9 - 10 - obj-y := process.o traps.o irq.o ptrace.o setup.o time.o sys_cris.o 11 - obj-y += devicetree.o 12 - obj-y += stacktrace.o 13 - 14 - obj-$(CONFIG_MODULES) += crisksyms.o 15 - obj-$(CONFIG_MODULES) += module.o 16 - obj-$(CONFIG_SYSTEM_PROFILER) += profile.o 17 - 18 - clean: 19 -
-15
arch/cris/kernel/devicetree.c
··· 1 - // SPDX-License-Identifier: GPL-2.0 2 - #include <linux/init.h> 3 - #include <linux/bootmem.h> 4 - #include <linux/printk.h> 5 - 6 - void __init early_init_dt_add_memory_arch(u64 base, u64 size) 7 - { 8 - pr_err("%s(%llx, %llx)\n", 9 - __func__, base, size); 10 - } 11 - 12 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 13 - { 14 - return alloc_bootmem_align(size, align); 15 - }
-14
arch/metag/kernel/devtree.c
··· 14 14 #include <linux/init.h> 15 15 #include <linux/export.h> 16 16 #include <linux/types.h> 17 - #include <linux/bootmem.h> 18 - #include <linux/memblock.h> 19 - #include <linux/of.h> 20 17 #include <linux/of_fdt.h> 21 18 22 19 #include <asm/setup.h> 23 20 #include <asm/page.h> 24 21 #include <asm/mach/arch.h> 25 - 26 - void __init early_init_dt_add_memory_arch(u64 base, u64 size) 27 - { 28 - pr_err("%s(%llx, %llx)\n", 29 - __func__, base, size); 30 - } 31 - 32 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 33 - { 34 - return alloc_bootmem_align(size, align); 35 - } 36 22 37 23 static const void * __init arch_get_next_mach(const char *const **match) 38 24 {
-5
arch/mips/kernel/prom.c
··· 44 44 return add_memory_region(base, size, BOOT_MEM_RAM); 45 45 } 46 46 47 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 48 - { 49 - return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS)); 50 - } 51 - 52 47 int __init early_init_dt_reserve_memory_arch(phys_addr_t base, 53 48 phys_addr_t size, bool nomap) 54 49 {
-5
arch/nios2/kernel/prom.c
··· 42 42 43 43 } 44 44 45 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 46 - { 47 - return alloc_bootmem_align(size, align); 48 - } 49 - 50 45 int __init early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, 51 46 bool nomap) 52 47 {
-6
arch/x86/kernel/devicetree.c
··· 2 2 /* 3 3 * Architecture specific OF callbacks. 4 4 */ 5 - #include <linux/bootmem.h> 6 5 #include <linux/export.h> 7 6 #include <linux/io.h> 8 7 #include <linux/interrupt.h> ··· 36 37 void __init early_init_dt_add_memory_arch(u64 base, u64 size) 37 38 { 38 39 BUG(); 39 - } 40 - 41 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 42 - { 43 - return __alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS)); 44 40 } 45 41 46 42 void __init add_dtb(u64 data)
-12
arch/xtensa/kernel/setup.c
··· 20 20 #include <linux/mm.h> 21 21 #include <linux/proc_fs.h> 22 22 #include <linux/screen_info.h> 23 - #include <linux/bootmem.h> 24 23 #include <linux/kernel.h> 25 24 #include <linux/percpu.h> 26 25 #include <linux/cpu.h> ··· 218 219 return 1; 219 220 } 220 221 #endif 221 - 222 - void __init early_init_dt_add_memory_arch(u64 base, u64 size) 223 - { 224 - size &= PAGE_MASK; 225 - memblock_add(base, size); 226 - } 227 - 228 - void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 229 - { 230 - return __alloc_bootmem(size, align, 0); 231 - } 232 222 233 223 void __init early_init_devtree(void *params) 234 224 {
+4 -2
drivers/of/Kconfig
··· 1 + # SPDX-License-Identifier: GPL-2.0 1 2 config DTC 2 3 bool 3 4 ··· 14 13 15 14 config OF_UNITTEST 16 15 bool "Device Tree runtime unit tests" 17 - depends on OF_IRQ 16 + depends on !SPARC 17 + select IRQ_DOMAIN 18 18 select OF_EARLY_FLATTREE 19 19 select OF_RESOLVE 20 20 help ··· 63 61 64 62 config OF_ADDRESS 65 63 def_bool y 66 - depends on !SPARC && HAS_IOMEM 64 + depends on !SPARC && (HAS_IOMEM || UML) 67 65 select OF_ADDRESS_PCI if PCI 68 66 69 67 config OF_ADDRESS_PCI
+1 -1
drivers/of/address.c
··· 1 - 1 + // SPDX-License-Identifier: GPL-2.0 2 2 #define pr_fmt(fmt) "OF: " fmt 3 3 4 4 #include <linux/device.h>
+1 -5
drivers/of/base.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * Procedures for creating, accessing and interpreting the device tree. 3 4 * ··· 12 11 * 13 12 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and 14 13 * Grant Likely. 15 - * 16 - * This program is free software; you can redistribute it and/or 17 - * modify it under the terms of the GNU General Public License 18 - * as published by the Free Software Foundation; either version 19 - * 2 of the License, or (at your option) any later version. 20 14 */ 21 15 22 16 #define pr_fmt(fmt) "OF: " fmt
+1
drivers/of/device.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 #include <linux/string.h> 2 3 #include <linux/kernel.h> 3 4 #include <linux/of.h>
+1
drivers/of/dynamic.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * Support for dynamic device trees. 3 4 *
+7 -18
drivers/of/fdt.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * Functions for working with the Flattened Device Tree data format 3 4 * 4 5 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp 5 6 * benh@kernel.crashing.org 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * version 2 as published by the Free Software Foundation. 10 7 */ 11 8 12 9 #define pr_fmt(fmt) "OF: fdt: " fmt ··· 11 14 #include <linux/crc32.h> 12 15 #include <linux/kernel.h> 13 16 #include <linux/initrd.h> 17 + #include <linux/bootmem.h> 14 18 #include <linux/memblock.h> 15 19 #include <linux/mutex.h> 16 20 #include <linux/of.h> ··· 1181 1183 return memblock_reserve(base, size); 1182 1184 } 1183 1185 1184 - /* 1185 - * called from unflatten_device_tree() to bootstrap devicetree itself 1186 - * Architectures can override this definition if memblock isn't used 1187 - */ 1188 - void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align) 1189 - { 1190 - return __va(memblock_alloc(size, align)); 1191 - } 1192 1186 #else 1193 1187 void __init __weak early_init_dt_add_memory_arch(u64 base, u64 size) 1194 1188 { ··· 1199 1209 &base, &size, nomap ? " (nomap)" : ""); 1200 1210 return -ENOSYS; 1201 1211 } 1202 - 1203 - void * __init __weak early_init_dt_alloc_memory_arch(u64 size, u64 align) 1204 - { 1205 - WARN_ON(1); 1206 - return NULL; 1207 - } 1208 1212 #endif 1213 + 1214 + static void * __init early_init_dt_alloc_memory_arch(u64 size, u64 align) 1215 + { 1216 + return memblock_virt_alloc(size, align); 1217 + } 1209 1218 1210 1219 bool __init early_init_dt_verify(void *params) 1211 1220 {
+1 -5
drivers/of/fdt_address.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * FDT Address translation based on u-boot fdt_support.c which in turn was 3 4 * based on the kernel unflattened DT address translation code. ··· 7 6 * Gerald Van Baren, Custom IDEAS, vanbaren@cideas.com 8 7 * 9 8 * Copyright 2010-2011 Freescale Semiconductor, Inc. 10 - * 11 - * This program is free software; you can redistribute it and/or modify 12 - * it under the terms of the GNU General Public License as published by 13 - * the Free Software Foundation; either version 2, or (at your option) 14 - * any later version. 15 9 */ 16 10 17 11 #define pr_fmt(fmt) "OF: fdt: " fmt
+2 -7
drivers/of/irq.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * Derived from arch/i386/kernel/irq.c 3 4 * Copyright (C) 1992 Linus Torvalds ··· 8 7 * Copyright (C) 1996-2001 Cort Dougan 9 8 * Adapted for Power Macintosh by Paul Mackerras 10 9 * Copyright (C) 1996 Paul Mackerras (paulus@cs.anu.edu.au) 11 - * 12 - * This program is free software; you can redistribute it and/or 13 - * modify it under the terms of the GNU General Public License 14 - * as published by the Free Software Foundation; either version 15 - * 2 of the License, or (at your option) any later version. 16 10 * 17 11 * This file contains the code used to make IRQ descriptions in the 18 12 * device tree to actual irq numbers on an interrupt controller ··· 79 83 80 84 /** 81 85 * of_irq_parse_raw - Low level interrupt tree parsing 82 - * @parent: the device interrupt parent 83 86 * @addr: address specifier (start of "reg" property of the device) in be32 format 84 - * @out_irq: structure of_irq updated by this function 87 + * @out_irq: structure of_phandle_args updated by this function 85 88 * 86 89 * Returns 0 on success and a negative number on error 87 90 *
+1 -1
drivers/of/kobj.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 #include <linux/of.h> 2 3 #include <linux/slab.h> 3 4 ··· 162 161 /* finally remove the kobj_init ref */ 163 162 of_node_put(np); 164 163 } 165 -
+1 -12
drivers/of/of_numa.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * OF NUMA Parsing support. 3 4 * 4 5 * Copyright (C) 2015 - 2016 Cavium Inc. 5 - * 6 - * This program is free software; you can redistribute it and/or modify 7 - * it under the terms of the GNU General Public License version 2 as 8 - * published by the Free Software Foundation. 9 - * 10 - * This program is distributed in the hope that it will be useful, 11 - * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 - * GNU General Public License for more details. 14 - * 15 - * You should have received a copy of the GNU General Public License 16 - * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 6 */ 18 7 19 8 #define pr_fmt(fmt) "OF: NUMA: " fmt
+1 -5
drivers/of/of_private.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 #ifndef _LINUX_OF_PRIVATE_H 2 3 #define _LINUX_OF_PRIVATE_H 3 4 /* ··· 6 5 * 7 6 * Paul Mackerras August 1996. 8 7 * Copyright (C) 1996-2005 Paul Mackerras. 9 - * 10 - * This program is free software; you can redistribute it and/or 11 - * modify it under the terms of the GNU General Public License 12 - * as published by the Free Software Foundation; either version 13 - * 2 of the License, or (at your option) any later version. 14 8 */ 15 9 16 10 /**
+1 -5
drivers/of/of_reserved_mem.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * Device tree based initialization code for reserved memory. 3 4 * ··· 7 6 * http://www.samsung.com 8 7 * Author: Marek Szyprowski <m.szyprowski@samsung.com> 9 8 * Author: Josh Cartwright <joshc@codeaurora.org> 10 - * 11 - * This program is free software; you can redistribute it and/or 12 - * modify it under the terms of the GNU General Public License as 13 - * published by the Free Software Foundation; either version 2 of the 14 - * License or (at your optional) any later version of the license. 15 9 */ 16 10 17 11 #define pr_fmt(fmt) "OF: reserved mem: " fmt
+1 -4
drivers/of/overlay.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * Functions for working with device tree overlays 3 4 * 4 5 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com> 5 6 * Copyright (C) 2012 Texas Instruments Inc. 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * version 2 as published by the Free Software Foundation. 10 7 */ 11 8 12 9 #define pr_fmt(fmt) "OF: overlay: " fmt
+1 -5
drivers/of/pdt.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* pdt.c: OF PROM device tree support code. 2 3 * 3 4 * Paul Mackerras August 1996. ··· 9 8 * 10 9 * Adapted for sparc by David S. Miller davem@davemloft.net 11 10 * Adapted for multiple architectures by Andres Salomon <dilinger@queued.net> 12 - * 13 - * This program is free software; you can redistribute it and/or 14 - * modify it under the terms of the GNU General Public License 15 - * as published by the Free Software Foundation; either version 16 - * 2 of the License, or (at your option) any later version. 17 11 */ 18 12 19 13 #include <linux/kernel.h>
+1 -6
drivers/of/platform.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. 3 4 * <benh@kernel.crashing.org> 4 5 * and Arnd Bergmann, IBM Corp. 5 6 * Merged from powerpc/kernel/of_platform.c and 6 7 * sparc{,64}/kernel/of_device.c by Stephen Rothwell 7 - * 8 - * This program is free software; you can redistribute it and/or 9 - * modify it under the terms of the GNU General Public License 10 - * as published by the Free Software Foundation; either version 11 - * 2 of the License, or (at your option) any later version. 12 - * 13 8 */ 14 9 15 10 #define pr_fmt(fmt) "OF: " fmt
+1 -5
drivers/of/property.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 2 3 * drivers/of/property.c - Procedures for accessing and interpreting 3 4 * Devicetree properties and graphs. ··· 17 16 * 18 17 * Reconsolidated from arch/x/kernel/prom.c by Stephen Rothwell and 19 18 * Grant Likely. 20 - * 21 - * This program is free software; you can redistribute it and/or 22 - * modify it under the terms of the GNU General Public License 23 - * as published by the Free Software Foundation; either version 24 - * 2 of the License, or (at your option) any later version. 25 19 */ 26 20 27 21 #define pr_fmt(fmt) "OF: " fmt
+1 -4
drivers/of/resolver.c
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /* 2 3 * Functions for dealing with DT resolution 3 4 * 4 5 * Copyright (C) 2012 Pantelis Antoniou <panto@antoniou-consulting.com> 5 6 * Copyright (C) 2012 Texas Instruments Inc. 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * version 2 as published by the Free Software Foundation. 10 7 */ 11 8 12 9 #define pr_fmt(fmt) "OF: resolver: " fmt
+5 -14
drivers/of/unittest-data/Makefile
··· 2 2 DTC_FLAGS_testcases := -Wno-interrupts_property 3 3 obj-y += testcases.dtb.o 4 4 5 - targets += testcases.dtb testcases.dtb.S 5 + obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \ 6 + overlay_bad_phandle.dtb.o \ 7 + overlay_bad_symbol.dtb.o \ 8 + overlay_base.dtb.o 6 9 7 - ifdef CONFIG_OF_OVERLAY 8 - 9 - obj-y += overlay.dtb.o 10 - obj-y += overlay_bad_phandle.dtb.o 11 - obj-y += overlay_bad_symbol.dtb.o 12 - obj-y += overlay_base.dtb.o 13 - 14 - targets += overlay.dtb overlay.dtb.S 15 - targets += overlay_bad_phandle.dtb overlay_bad_phandle.dtb.S 16 - targets += overlay_bad_symbol.dtb overlay_bad_symbol.dtb.S 17 - targets += overlay_base.dtb overlay_base.dtb.S 10 + targets += $(foreach suffix, dtb dtb.S, $(patsubst %.dtb.o,%.$(suffix),$(obj-y))) 18 11 19 12 # enable creation of __symbols__ node 20 13 DTC_FLAGS_overlay := -@ 21 14 DTC_FLAGS_overlay_bad_phandle := -@ 22 15 DTC_FLAGS_overlay_bad_symbol := -@ 23 16 DTC_FLAGS_overlay_base := -@ 24 - 25 - endif 26 17 27 18 .PRECIOUS: \ 28 19 $(obj)/%.dtb.S \
+1
drivers/of/unittest-data/overlay_bad_symbol.dts
··· 1 + // SPDX-License-Identifier: GPL-2.0 1 2 /dts-v1/; 2 3 /plugin/; 3 4
+8 -3
drivers/of/unittest.c
··· 5 5 6 6 #define pr_fmt(fmt) "### dt-test ### " fmt 7 7 8 + #include <linux/bootmem.h> 8 9 #include <linux/clk.h> 9 10 #include <linux/err.h> 10 11 #include <linux/errno.h> ··· 2054 2053 2055 2054 static struct device_node *overlay_base_root; 2056 2055 2056 + static void * __init dt_alloc_memory(u64 size, u64 align) 2057 + { 2058 + return memblock_virt_alloc(size, align); 2059 + } 2060 + 2057 2061 /* 2058 2062 * Create base device tree for the overlay unittest. 2059 2063 * ··· 2098 2092 return; 2099 2093 } 2100 2094 2101 - info->data = early_init_dt_alloc_memory_arch(size, 2102 - roundup_pow_of_two(FDT_V17_SIZE)); 2095 + info->data = dt_alloc_memory(size, roundup_pow_of_two(FDT_V17_SIZE)); 2103 2096 if (!info->data) { 2104 2097 pr_err("alloc for dtb 'overlay_base' failed"); 2105 2098 return; ··· 2107 2102 memcpy(info->data, info->dtb_begin, size); 2108 2103 2109 2104 __unflatten_device_tree(info->data, NULL, &info->np_overlay, 2110 - early_init_dt_alloc_memory_arch, true); 2105 + dt_alloc_memory, true); 2111 2106 overlay_base_root = info->np_overlay; 2112 2107 } 2113 2108
-1
include/linux/libfdt.h
··· 3 3 #define _INCLUDE_LIBFDT_H_ 4 4 5 5 #include <linux/libfdt_env.h> 6 - #include "../../scripts/dtc/libfdt/fdt.h" 7 6 #include "../../scripts/dtc/libfdt/libfdt.h" 8 7 9 8 #endif /* _INCLUDE_LIBFDT_H_ */
+1 -5
include/linux/of.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 #ifndef _LINUX_OF_H 2 3 #define _LINUX_OF_H 3 4 /* ··· 10 9 * Updates for PPC64 by Peter Bergner & David Engebretsen, IBM Corp. 11 10 * Updates for SPARC64 by David S. Miller 12 11 * Derived from PowerPC and Sparc prom.h files by Stephen Rothwell, IBM Corp. 13 - * 14 - * This program is free software; you can redistribute it and/or 15 - * modify it under the terms of the GNU General Public License 16 - * as published by the Free Software Foundation; either version 17 - * 2 of the License, or (at your option) any later version. 18 12 */ 19 13 #include <linux/types.h> 20 14 #include <linux/bitops.h>
+1 -4
include/linux/of_dma.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * OF helpers for DMA request / controller 3 4 * 4 5 * Based on of_gpio.h 5 6 * 6 7 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 7 - * 8 - * This program is free software; you can redistribute it and/or modify 9 - * it under the terms of the GNU General Public License version 2 as 10 - * published by the Free Software Foundation. 11 8 */ 12 9 13 10 #ifndef __LINUX_OF_DMA_H
+9 -9
include/linux/of_fdt.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * Definitions for working with the Flattened Device Tree data format 3 4 * 4 5 * Copyright 2009 Benjamin Herrenschmidt, IBM Corp 5 6 * benh@kernel.crashing.org 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * version 2 as published by the Free Software Foundation. 10 7 */ 11 8 12 9 #ifndef _LINUX_OF_FDT_H ··· 44 47 extern char __dtb_start[]; 45 48 extern char __dtb_end[]; 46 49 50 + /* Other Prototypes */ 51 + extern u64 of_flat_dt_translate_address(unsigned long node); 52 + extern void of_fdt_limit_memory(int limit); 53 + #endif /* CONFIG_OF_FLATTREE */ 54 + 55 + #ifdef CONFIG_OF_EARLY_FLATTREE 47 56 /* For scanning the flat device-tree at boot time */ 48 57 extern int of_scan_flat_dt(int (*it)(unsigned long node, const char *uname, 49 58 int depth, void *data), ··· 80 77 extern int early_init_dt_mark_hotplug_memory_arch(u64 base, u64 size); 81 78 extern int early_init_dt_reserve_memory_arch(phys_addr_t base, phys_addr_t size, 82 79 bool no_map); 83 - extern void * early_init_dt_alloc_memory_arch(u64 size, u64 align); 84 80 extern u64 dt_mem_next_cell(int s, const __be32 **cellp); 85 81 86 82 /* Early flat tree scan hooks */ ··· 99 97 extern void unflatten_and_copy_device_tree(void); 100 98 extern void early_init_devtree(void *); 101 99 extern void early_get_first_memblock_info(void *, phys_addr_t *); 102 - extern u64 of_flat_dt_translate_address(unsigned long node); 103 - extern void of_fdt_limit_memory(int limit); 104 - #else /* CONFIG_OF_FLATTREE */ 100 + #else /* CONFIG_OF_EARLY_FLATTREE */ 105 101 static inline int early_init_dt_scan_chosen_stdout(void) { return -ENODEV; } 106 102 static inline void early_init_fdt_scan_reserved_mem(void) {} 107 103 static inline void early_init_fdt_reserve_self(void) {} 108 104 static inline const char *of_flat_dt_get_machine_name(void) { return NULL; } 109 105 static inline void unflatten_device_tree(void) {} 110 106 static inline void unflatten_and_copy_device_tree(void) {} 111 - #endif /* CONFIG_OF_FLATTREE */ 107 + #endif /* CONFIG_OF_EARLY_FLATTREE */ 112 108 113 109 #endif /* __ASSEMBLY__ */ 114 110 #endif /* _LINUX_OF_FDT_H */
+1 -5
include/linux/of_gpio.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 /* 2 3 * OF helpers for the GPIO API 3 4 * 4 5 * Copyright (c) 2007-2008 MontaVista Software, Inc. 5 6 * 6 7 * Author: Anton Vorontsov <avorontsov@ru.mvista.com> 7 - * 8 - * This program is free software; you can redistribute it and/or modify 9 - * it under the terms of the GNU General Public License as published by 10 - * the Free Software Foundation; either version 2 of the License, or 11 - * (at your option) any later version. 12 8 */ 13 9 14 10 #ifndef __LINUX_OF_GPIO_H
+1 -4
include/linux/of_graph.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 1 2 /* 2 3 * OF graph binding parsing helpers 3 4 * ··· 7 6 * 8 7 * Copyright (C) 2012 Renesas Electronics Corp. 9 8 * Author: Guennadi Liakhovetski <g.liakhovetski@gmx.de> 10 - * 11 - * This program is free software; you can redistribute it and/or modify 12 - * it under the terms of version 2 of the GNU General Public License as 13 - * published by the Free Software Foundation. 14 9 */ 15 10 #ifndef __LINUX_OF_GRAPH_H 16 11 #define __LINUX_OF_GRAPH_H
+1 -5
include/linux/of_pdt.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 /* 2 3 * Definitions for building a device tree by calling into the 3 4 * Open Firmware PROM. 4 5 * 5 6 * Copyright (C) 2010 Andres Salomon <dilinger@queued.net> 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * as published by the Free Software Foundation; either version 10 - * 2 of the License, or (at your option) any later version. 11 7 */ 12 8 13 9 #ifndef _LINUX_OF_PDT_H
+1 -6
include/linux/of_platform.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0+ */ 1 2 #ifndef _LINUX_OF_PLATFORM_H 2 3 #define _LINUX_OF_PLATFORM_H 3 4 /* 4 5 * Copyright (C) 2006 Benjamin Herrenschmidt, IBM Corp. 5 6 * <benh@kernel.crashing.org> 6 - * 7 - * This program is free software; you can redistribute it and/or 8 - * modify it under the terms of the GNU General Public License 9 - * as published by the Free Software Foundation; either version 10 - * 2 of the License, or (at your option) any later version. 11 - * 12 7 */ 13 8 14 9 #include <linux/device.h>