Hi Tom, This is for u-boot/next
Build here: https://gitlab.denx.de/u-boot/custodians/u-boot-dm/-/pipelines/5761 The following changes since commit c86b18074c9d40bfa63cda1068b6dfb810d4377d: Merge tag 'efi-next' of https://gitlab.denx.de/u-boot/custodians/u-boot-efi into next (2020-12-31 22:28:09 -0500) are available in the Git repository at: git://git.denx.de/u-boot-dm.git tags/dm-pull-5jan21 for you to fetch changes up to 970349a96dac3ad46c33851b1a773bfe3f1d4b33: dtoc: Tidy up src_scan tests (2021-01-05 12:26:35 -0700) ---------------------------------------------------------------- Driver model: make some udevice fields private Driver model: Rename U_BOOT_DEVICE et al. dtoc: Tidy up and add more tests ns16550 code clean-up x86 and sandbox minor fixes for of-platdata dtoc prepration for adding build-time instantiation ---------------------------------------------------------------- Patrick Delaunay (1): sandbox: remove ram buffer file when U-Boot is loaded by SPL Simon Glass (84): Makefile: Build a separate .dtb for TPL Makefile: Build SPL dtbs in the spl/ directory Makefile: Tidy up SPL dtb production Makefile: Use common args for dtoc serial: Update NS16550_t and struct NS16550 serial: Rename ns16550 functions to lower case sandbox: Drop unnecessary test node spl: Drop bd_info in the data section dm: core: Support dm_dump_all() in SPL dm: core: Use 'uclass_driver' for the uclass linker_list dm: core: Only include simple-bus devicetree id when needed x86: apl: Drop support for !OF_PLATDATA_PARENT dm: core: Add function to access uclass priv dm: core: Add functions to set priv/plat dm: Use access methods for dev/uclass private data dm: core: Use access methods for dev/uclass private data dm: core: Rename the priv/plat members pinctrl: Drop post_bind() method when not needed sysreset: Use a shorter error with SPL arc: m68k: nds32: nios2: sh: xtensa: Add empty spl.h header timer: Use a shorter error in TPL test: Use a simple variable to record removed device test: Move some test drivers into their own file dtoc: Fix a few pylint warnings in dtb_platdata dtoc: Make _output_list a top-level function dtoc: Output the device in a separate function dtoc: Output the struct values in a separate function dtoc: Convert _drivers to a dict x86: apl: Use const for driver operations x86: Move call64 into its own section x86: coral: Move fsp-m settings to a subnode x86: apl: Update hostbridge to remove unwanted TPL code x86: apl: Reduce size for TPL x86: pinctrl: Drop unlikely error messages from TPL x86: tpl: Remove unwanted devicetree string x86: Fix header guard in asm/pmu.h sandbox: serial: Move priv into a header file sandbox: i2c: Move priv into a header file sandbox: Add a compatible string for spltest sandbox: Update dts files to reduce SPL size x86: apl: Move priv/plat structs to headers x86: Move priv/plat structs for intel_common to headers x86: spl: Move priv/plat structs to headers spi: Tidy up get/set of device node spi: Tweak a few strange SPI NOR features for of-platdata x86: apl: Use struct spi_nor instead of struct spi_flash dm: core: Move priv/plat structs for simple_bus to headers x86: sysreset: Move priv/plat structs to headers x86: apl: Adjust how the UART gets its platform data x86: coral: Remove unwanted nodes from SPL/TPL x86: Drop rtc from SPL dm: core: Split out alloc code into a new function dm: core: Rename sqq to seq_ dm: core: Access device flags through functions dm: core: Rename device flags to indicate it is private dm: core: Rename dev_has_of_node() to dev_has_ofnode() dm: core: Use dev_has_ofnode() instead of dev_of_valid() dm: core: Access device ofnode through functions dm: core: Rename device node to indicate it is private dm: core: Split out scanning code to dm_scan() dm: core: Allow the uclass list to move dm: core: Add logging when lists_bind_fdt() fails dtoc: Tidy up pylint warnings in test dtoc: Use None to mean stdout dtoc: Test the stdout output dtoc: Allow providing a directory to write files to dtoc: Allow outputing to multiple files dtoc: Add an 'all' command Makefile: Invoke dtoc only once dm: Rename U_BOOT_DEVICE() to U_BOOT_DRVINFO() dm: Rename DM_GET_DEVICE() to DM_DRVINFO_GET() dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET() dm: Rename U_BOOT_DRIVER_ALIAS to DM_DRIVER_ALIAS concurrencytest: Fix Python3 warning dtoc: Run tests using test_util dtoc: Add a header comment to each generated file dtoc: Rename dt-platdata.c to dt-plat.c dtoc: Add the method for each command to OutputFile dtoc: Allow specifying the base directory for tests dtoc: Output nodes in order dtoc: Drop dm_populate_phandle_data() dtoc: Split source-code scanning to a separate file dtoc: Move src_scan tests to a separate file dtoc: Tidy up src_scan tests arch/arc/include/asm/spl.h | 0 arch/arm/cpu/armv7/ls102xa/fdt.c | 4 + arch/arm/cpu/armv8/fsl-layerscape/spl.c | 5 +- arch/arm/lib/gic-v3-its.c | 10 +- arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 2 +- arch/arm/mach-at91/arm926ejs/at91sam9260_devices.c | 2 +- arch/arm/mach-at91/arm926ejs/at91sam9m10g45_devices.c | 2 +- arch/arm/mach-davinci/da850_lowlevel.c | 4 +- arch/arm/mach-davinci/spl.c | 4 +- arch/arm/mach-imx/mx6/soc.c | 2 +- arch/arm/mach-imx/mx7/soc.c | 2 +- arch/arm/mach-k3/am6_init.c | 2 +- arch/arm/mach-k3/common.c | 2 +- arch/arm/mach-k3/j721e_init.c | 2 +- arch/arm/mach-keystone/init.c | 2 +- arch/arm/mach-lpc32xx/devices.c | 4 +- arch/arm/mach-mediatek/mt7629/init.c | 4 +- arch/arm/mach-mediatek/mt8516/init.c | 2 +- arch/arm/mach-omap2/am33xx/board.c | 10 +- arch/arm/mach-omap2/omap3/board.c | 2 +- arch/arm/mach-rockchip/misc.c | 4 +- arch/arm/mach-rockchip/px30/clk_px30.c | 2 +- arch/arm/mach-rockchip/rk3036/clk_rk3036.c | 2 +- arch/arm/mach-rockchip/rk3128/clk_rk3128.c | 2 +- arch/arm/mach-rockchip/rk3188/clk_rk3188.c | 2 +- arch/arm/mach-rockchip/rk322x/clk_rk322x.c | 2 +- arch/arm/mach-rockchip/rk3288/clk_rk3288.c | 2 +- arch/arm/mach-rockchip/rk3308/clk_rk3308.c | 2 +- arch/arm/mach-rockchip/rk3328/clk_rk3328.c | 2 +- arch/arm/mach-rockchip/rk3368/clk_rk3368.c | 2 +- arch/arm/mach-rockchip/rk3399/clk_rk3399.c | 4 +- arch/arm/mach-rockchip/rv1108/clk_rv1108.c | 2 +- arch/arm/mach-socfpga/clock_manager_agilex.c | 2 +- arch/arm/mach-stm32mp/bsec.c | 2 +- arch/arm/mach-stm32mp/cmd_stm32key.c | 2 +- arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c | 6 +- arch/arm/mach-stm32mp/cpu.c | 6 +- arch/arm/mach-stm32mp/pwr_regulator.c | 5 +- arch/arm/mach-tegra/board.c | 2 +- arch/arm/mach-tegra/board2.c | 2 +- arch/arm/mach-uniphier/micro-support-card.c | 2 +- arch/arm/mach-zynq/clk.c | 4 +- arch/arm/mach-zynq/timer.c | 2 +- arch/m68k/include/asm/spl.h | 0 arch/mips/mach-mtmips/mt7628/init.c | 2 +- arch/nds32/include/asm/spl.h | 0 arch/nios2/include/asm/spl.h | 0 arch/riscv/lib/sifive_clint.c | 2 +- arch/sandbox/cpu/os.c | 5 + arch/sandbox/cpu/start.c | 7 + arch/sandbox/cpu/state.c | 4 - arch/sandbox/dts/sandbox.dts | 4 +- arch/sandbox/dts/sandbox.dtsi | 16 +- arch/sandbox/include/asm/i2c.h | 14 ++ arch/sandbox/include/asm/serial.h | 30 +++ arch/sh/include/asm/spl.h | 0 arch/x86/cpu/apollolake/Kconfig | 1 + arch/x86/cpu/apollolake/fsp_m.c | 5 +- arch/x86/cpu/apollolake/hostbridge.c | 34 +-- arch/x86/cpu/apollolake/lpc.c | 13 +- arch/x86/cpu/apollolake/pch.c | 4 +- arch/x86/cpu/apollolake/pmc.c | 14 +- arch/x86/cpu/apollolake/spl.c | 30 +-- arch/x86/cpu/apollolake/uart.c | 50 +++-- arch/x86/cpu/i386/call64.S | 1 + arch/x86/cpu/intel_common/Makefile | 2 +- arch/x86/cpu/intel_common/itss.c | 23 +- arch/x86/cpu/intel_common/p2sb.c | 15 +- arch/x86/cpu/slimbootloader/serial.c | 4 +- arch/x86/cpu/turbo.c | 5 + arch/x86/dts/chromebook_coral.dts | 22 +- arch/x86/dts/rtc.dtsi | 2 +- arch/x86/include/asm/arch-apollolake/gpio.h | 18 ++ arch/x86/include/asm/arch-apollolake/hostbridge.h | 28 +++ arch/x86/include/asm/arch-apollolake/pmc.h | 16 ++ arch/x86/include/asm/arch-apollolake/uart.h | 19 +- arch/x86/include/asm/itss.h | 21 ++ arch/x86/include/asm/p2sb.h | 18 ++ arch/x86/include/asm/pmu.h | 6 +- arch/x86/include/asm/sysreset.h | 18 ++ arch/x86/lib/tpl.c | 4 +- arch/xtensa/include/asm/spl.h | 0 board/Arcturus/ucp1020/spl.c | 2 +- board/Arcturus/ucp1020/spl_minimal.c | 6 +- board/Synology/ds109/ds109.c | 9 +- board/armltd/integrator/integrator.c | 2 +- board/armltd/total_compute/total_compute.c | 2 +- board/armltd/vexpress64/vexpress64.c | 2 +- board/bluewater/gurnard/gurnard.c | 2 +- board/bluewater/snapper9260/snapper9260.c | 2 +- board/cadence/xtfpga/xtfpga.c | 4 +- board/cavium/thunderx/thunderx.c | 4 +- board/compulab/cm_fx6/cm_fx6.c | 2 +- board/davinci/da8xxevm/omapl138_lcdk.c | 4 +- board/dhelectronics/dh_stm32mp1/board.c | 6 +- board/freescale/ls1012afrdm/eth.c | 4 +- board/freescale/ls1012aqds/eth.c | 4 +- board/freescale/ls1012ardb/eth.c | 4 +- board/freescale/lx2160a/lx2160a.c | 4 +- board/freescale/mpc8313erdb/mpc8313erdb.c | 6 +- board/freescale/mpc8315erdb/mpc8315erdb.c | 6 +- board/freescale/p1010rdb/spl.c | 2 +- board/freescale/p1010rdb/spl_minimal.c | 8 +- board/freescale/p1_p2_rdb_pc/spl.c | 2 +- board/freescale/p1_p2_rdb_pc/spl_minimal.c | 8 +- board/freescale/t102xrdb/spl.c | 2 +- board/freescale/t104xrdb/spl.c | 2 +- board/freescale/t208xqds/spl.c | 2 +- board/freescale/t208xrdb/spl.c | 2 +- board/freescale/t4rdb/spl.c | 2 +- board/gateworks/gw_ventana/gw_ventana.c | 2 +- board/google/chromebook_coral/coral.c | 4 +- board/google/gru/gru.c | 2 +- board/hisilicon/hikey/hikey.c | 4 +- board/hisilicon/hikey960/hikey960.c | 2 +- board/hisilicon/poplar/poplar.c | 2 +- board/isee/igep00x0/igep00x0.c | 2 +- board/lg/sniper/sniper.c | 2 +- board/nokia/rx51/rx51.c | 2 +- board/nvidia/jetson-tk1/jetson-tk1.c | 2 +- board/nvidia/nyan-big/nyan-big.c | 2 +- board/renesas/ulcb/cpld.c | 2 +- board/sandbox/sandbox.c | 2 +- board/siemens/corvus/board.c | 2 +- board/sifive/fu540/fu540.c | 2 +- board/st/common/cmd_stboard.c | 2 +- board/st/common/stm32mp_dfu.c | 4 +- board/st/common/stpmic1.c | 4 +- board/st/common/stusb160x.c | 2 +- board/st/stm32mp1/stm32mp1.c | 12 +- board/st/stv0991/stv0991.c | 2 +- board/synopsys/hsdk/clk-lib.c | 2 +- board/sysam/amcore/amcore.c | 2 +- board/ti/am335x/board.c | 6 +- board/ti/j721e/evm.c | 4 +- board/timll/devkit8000/devkit8000.c | 2 +- board/toradex/apalis-tk1/apalis-tk1.c | 4 +- board/toradex/apalis_imx6/apalis_imx6.c | 2 +- board/toradex/colibri-imx6ull/colibri-imx6ull.c | 2 +- board/toradex/colibri_imx6/colibri_imx6.c | 2 +- board/toradex/colibri_pxa270/colibri_pxa270.c | 4 +- cmd/remoteproc.c | 2 +- common/spl/Kconfig | 9 + common/spl/spl.c | 20 +- doc/driver-model/design.rst | 18 +- doc/driver-model/of-plat.rst | 32 ++- doc/driver-model/remoteproc-framework.rst | 2 +- doc/driver-model/spi-howto.rst | 4 +- drivers/ata/mtk_ahci.c | 3 +- drivers/clk/clk-uclass.c | 2 +- drivers/clk/clk.c | 6 +- drivers/clk/clk_fixed_rate.c | 4 +- drivers/clk/clk_stm32mp1.c | 2 +- drivers/clk/clk_zynqmp.c | 2 +- drivers/clk/imx/clk-imx8.c | 2 +- drivers/clk/mediatek/clk-mtk.c | 6 +- drivers/clk/meson/axg.c | 2 +- drivers/clk/meson/g12a.c | 2 +- drivers/clk/meson/gxbb.c | 2 +- drivers/clk/rockchip/clk_px30.c | 3 +- drivers/clk/rockchip/clk_rk3036.c | 3 +- drivers/clk/rockchip/clk_rk3128.c | 3 +- drivers/clk/rockchip/clk_rk3188.c | 2 +- drivers/clk/rockchip/clk_rk322x.c | 3 +- drivers/clk/rockchip/clk_rk3288.c | 2 +- drivers/clk/rockchip/clk_rk3308.c | 3 +- drivers/clk/rockchip/clk_rk3328.c | 3 +- drivers/clk/rockchip/clk_rk3368.c | 3 +- drivers/clk/rockchip/clk_rk3399.c | 3 +- drivers/clk/rockchip/clk_rv1108.c | 3 +- drivers/clk/sifive/fu540-prci.c | 2 +- drivers/core/device-remove.c | 42 ++-- drivers/core/device.c | 214 +++++++++++-------- drivers/core/devres.c | 4 +- drivers/core/dump.c | 10 +- drivers/core/lists.c | 6 +- drivers/core/root.c | 59 ++++-- drivers/core/simple-bus.c | 11 +- drivers/core/uclass.c | 35 +++- drivers/crypto/fsl/fsl_rsa.c | 2 +- drivers/crypto/rsa_mod_exp/mod_exp_sw.c | 2 +- drivers/ddr/altera/sdram_agilex.c | 2 +- drivers/ddr/altera/sdram_gen5.c | 4 +- drivers/ddr/altera/sdram_s10.c | 2 +- drivers/ddr/altera/sdram_soc64.c | 2 +- drivers/demo/demo-pdata.c | 10 +- drivers/firmware/scmi/scmi_agent-uclass.c | 4 +- drivers/gpio/dwapb_gpio.c | 2 +- drivers/gpio/gpio-uclass.c | 4 +- drivers/gpio/hi6220_gpio.c | 2 +- drivers/gpio/imx_rgpio2p.c | 9 +- drivers/gpio/intel_gpio.c | 4 +- drivers/gpio/lpc32xx_gpio.c | 2 +- drivers/gpio/mpc8xxx_gpio.c | 4 +- drivers/gpio/mt7621_gpio.c | 2 +- drivers/gpio/mxc_gpio.c | 4 +- drivers/gpio/mxs_gpio.c | 4 +- drivers/gpio/octeon_gpio.c | 2 +- drivers/gpio/omap_gpio.c | 3 +- drivers/gpio/s5p_gpio.c | 6 +- drivers/gpio/sandbox.c | 10 +- drivers/gpio/sunxi_gpio.c | 2 +- drivers/gpio/tegra186_gpio.c | 6 +- drivers/gpio/tegra_gpio.c | 6 +- drivers/i2c/designware_i2c_pci.c | 4 +- drivers/i2c/i2c-uclass.c | 2 +- drivers/i2c/rk_i2c.c | 2 +- drivers/i2c/sandbox_i2c.c | 5 +- drivers/misc/Kconfig | 9 + drivers/misc/Makefile | 1 + drivers/misc/altera_sysid.c | 2 +- drivers/misc/cros_ec_sandbox.c | 4 +- drivers/misc/fs_loader.c | 6 +- drivers/misc/i2c_eeprom.c | 2 +- drivers/misc/p2sb-uclass.c | 15 -- drivers/misc/rockchip-efuse.c | 2 +- drivers/misc/spltest_sandbox.c | 6 + drivers/misc/stm32mp_fuse.c | 16 +- drivers/misc/swap_case.c | 2 +- drivers/misc/test_drv.c | 222 ++++++++++++++++++++ drivers/misc/vexpress_config.c | 2 +- drivers/mmc/arm_pl180_mmci.c | 6 +- drivers/mmc/fsl_esdhc_imx.c | 2 +- drivers/mmc/mxsmmc.c | 4 +- drivers/mmc/octeontx_hsmmc.c | 42 ++-- drivers/mmc/pci_mmc.c | 2 +- drivers/mmc/rockchip_dw_mmc.c | 4 +- drivers/mtd/nand/raw/arasan_nfc.c | 2 +- drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 2 +- drivers/mtd/nand/raw/brcmnand/bcm6368_nand.c | 2 +- drivers/mtd/nand/raw/brcmnand/bcm68360_nand.c | 2 +- drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 2 +- drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 2 +- drivers/mtd/nand/raw/davinci_nand.c | 2 +- drivers/mtd/nand/raw/denali_dt.c | 2 +- drivers/mtd/nand/raw/mxs_nand_dt.c | 2 +- drivers/mtd/nand/raw/octeontx_nand.c | 10 +- drivers/mtd/nand/raw/pxa3xx_nand.c | 2 +- drivers/mtd/nand/raw/stm32_fmc2_nand.c | 2 +- drivers/mtd/nand/raw/tegra_nand.c | 2 +- drivers/mtd/nand/raw/vf610_nfc.c | 2 +- drivers/mtd/nand/raw/zynq_nand.c | 2 +- drivers/mtd/nand/spi/core.c | 2 +- drivers/mtd/spi/sf-uclass.c | 2 +- drivers/mtd/spi/sf_probe.c | 4 +- drivers/mux/mmio.c | 3 +- drivers/net/eth-phy-uclass.c | 4 +- drivers/net/fm/eth.c | 26 ++- drivers/net/fsl_enetc.c | 8 +- drivers/net/fsl_enetc_mdio.c | 2 +- drivers/net/fsl_mcdmafec.c | 10 +- drivers/net/mcffec.c | 12 +- drivers/net/mcfmii.c | 8 + drivers/net/mdio-ipq4019.c | 4 +- drivers/net/mdio_mux_i2creg.c | 2 +- drivers/net/mvmdio.c | 4 +- drivers/net/octeontx/smi.c | 2 +- drivers/net/pfe_eth/pfe_eth.c | 2 +- drivers/net/sunxi_emac.c | 2 +- drivers/net/tsec.c | 49 +++-- drivers/net/xilinx_emaclite.c | 2 +- drivers/pci/pci-emul-uclass.c | 4 +- drivers/pci/pci-uclass.c | 16 +- drivers/phy/phy-ti-am654.c | 2 +- drivers/pinctrl/intel/pinctrl.c | 11 +- drivers/pinctrl/intel/pinctrl_apl.c | 18 +- drivers/pinctrl/nxp/pinctrl-imx6.c | 2 +- drivers/pinctrl/nxp/pinctrl-mxs.c | 2 +- drivers/pinctrl/pinctrl-at91.c | 2 +- drivers/pinctrl/pinctrl-qe-io.c | 4 +- drivers/pinctrl/pinctrl-single.c | 6 +- drivers/pinctrl/pinctrl-uclass.c | 6 +- drivers/power/acpi_pmc/acpi-pmc-uclass.c | 4 +- drivers/power/domain/meson-ee-pwrc.c | 4 +- drivers/power/domain/meson-gx-pwrc-vpu.c | 4 +- drivers/power/pmic/rk8xx.c | 2 +- drivers/power/regulator/da9063.c | 24 +-- drivers/power/regulator/pbias_regulator.c | 6 +- drivers/pwm/pwm-meson.c | 9 +- drivers/remoteproc/rproc-uclass.c | 6 +- drivers/remoteproc/sandbox_testproc.c | 2 +- drivers/reset/reset-ast2500.c | 2 +- drivers/reset/reset-mediatek.c | 3 +- drivers/reset/reset-rockchip.c | 3 +- drivers/reset/reset-sifive.c | 3 +- drivers/reset/reset-socfpga.c | 2 +- drivers/reset/reset-sunxi.c | 3 +- drivers/rtc/emul_rtc.c | 2 +- drivers/serial/altera_jtag_uart.c | 8 +- drivers/serial/altera_uart.c | 8 +- drivers/serial/atmel_usart.c | 2 +- drivers/serial/ns16550.c | 68 +++--- drivers/serial/sandbox.c | 24 +-- drivers/serial/serial-uclass.c | 2 +- drivers/serial/serial_arc.c | 8 +- drivers/serial/serial_coreboot.c | 2 +- drivers/serial/serial_intel_mid.c | 2 +- drivers/serial/serial_linflexuart.c | 2 +- drivers/serial/serial_lpuart.c | 10 +- drivers/serial/serial_mcf.c | 10 +- drivers/serial/serial_meson.c | 12 +- drivers/serial/serial_mxc.c | 12 +- drivers/serial/serial_ns16550.c | 26 +-- drivers/serial/serial_omap.c | 8 +- drivers/serial/serial_pxa.c | 10 +- drivers/serial/serial_rockchip.c | 7 +- drivers/serial/serial_s5p.c | 12 +- drivers/spi/cadence_qspi.c | 12 +- drivers/spi/cf_spi.c | 2 +- drivers/spi/davinci_spi.c | 4 +- drivers/spi/designware_spi.c | 4 +- drivers/spi/exynos_spi.c | 4 +- drivers/spi/fsl_dspi.c | 10 +- drivers/spi/fsl_espi.c | 2 +- drivers/spi/fsl_qspi.c | 2 +- drivers/spi/ich.c | 11 - drivers/spi/ich.h | 11 + drivers/spi/mxs_spi.c | 4 +- drivers/spi/pl022_spi.c | 2 +- drivers/spi/rk_spi.c | 8 +- drivers/spi/soft_spi.c | 4 +- drivers/spi/spi-uclass.c | 2 +- drivers/spi/tegra114_spi.c | 4 +- drivers/spi/tegra20_sflash.c | 4 +- drivers/spi/tegra20_slink.c | 4 +- drivers/spi/tegra210_qspi.c | 4 +- drivers/spi/uniphier_spi.c | 8 +- drivers/spi/zynq_qspi.c | 4 +- drivers/spi/zynq_spi.c | 8 +- drivers/spi/zynqmp_gqspi.c | 6 +- drivers/sysreset/sysreset-uclass.c | 12 +- drivers/sysreset/sysreset_sandbox.c | 6 +- drivers/sysreset/sysreset_x86.c | 5 +- drivers/tee/optee/core.c | 2 +- drivers/timer/ag101p_timer.c | 4 +- drivers/timer/altera_timer.c | 4 +- drivers/timer/andes_plmt_timer.c | 7 +- drivers/timer/mpc83xx_timer.c | 2 +- drivers/timer/sandbox_timer.c | 2 +- drivers/timer/sifive_clint_timer.c | 7 +- drivers/timer/timer-uclass.c | 4 +- drivers/timer/tsc_timer.c | 4 +- drivers/usb/cdns3/core.c | 4 +- drivers/usb/dwc3/core.c | 2 +- drivers/usb/dwc3/dwc3-generic.c | 6 +- drivers/usb/dwc3/dwc3-meson-g12a.c | 2 +- drivers/usb/dwc3/dwc3-meson-gxl.c | 2 +- drivers/usb/gadget/dwc2_udc_otg.c | 4 +- drivers/usb/gadget/ether.c | 16 +- drivers/usb/host/dwc3-octeon-glue.c | 2 +- drivers/usb/host/dwc3-sti-glue.c | 5 +- drivers/usb/host/ehci-mx6.c | 2 +- drivers/usb/host/usb-uclass.c | 10 +- drivers/usb/host/xhci-dwc3.c | 2 +- drivers/usb/mtu3/mtu3_core.c | 2 +- drivers/usb/mtu3/mtu3_plat.c | 4 +- drivers/usb/musb-new/ti-musb.c | 2 +- drivers/video/lg4573.c | 2 +- drivers/video/nexell_display.c | 2 +- drivers/video/rockchip/rk_mipi.c | 2 +- drivers/video/sunxi/sunxi_de2.c | 2 +- drivers/video/sunxi/sunxi_dw_hdmi.c | 2 +- drivers/video/sunxi/sunxi_lcd.c | 2 +- drivers/video/video-uclass.c | 2 +- dts/Kconfig | 8 +- dts/Makefile | 14 +- include/asm-generic/global_data.h | 8 +- include/dm/device-internal.h | 85 ++++++++ include/dm/device.h | 111 +++++++--- include/dm/lists.h | 2 +- include/dm/platdata.h | 28 +-- include/dm/platform_data/spi_pl022.h | 2 +- include/dm/read.h | 18 +- include/dm/simple_bus.h | 15 ++ include/dm/test.h | 20 +- include/dm/uclass-internal.h | 14 ++ include/dm/uclass.h | 16 +- include/linux/mtd/mtd.h | 9 +- include/linux/mtd/nand.h | 14 ++ include/linux/mtd/spi-nor.h | 6 +- include/linux/mtd/spinand.h | 15 ++ include/ns16550.h | 21 +- include/spl.h | 10 +- include/test/test.h | 9 + include/virtio.h | 2 +- lib/efi/efi_stub.c | 2 +- lib/efi_loader/efi_device_path.c | 2 +- lib/time.c | 10 +- net/eth-uclass.c | 22 +- net/mdio-mux-uclass.c | 2 +- net/mdio-uclass.c | 8 +- scripts/Makefile.spl | 35 ++-- test/dm/bus.c | 117 +---------- test/dm/core.c | 58 +++--- test/dm/cpu.c | 2 +- test/dm/pci.c | 6 +- test/dm/test-driver.c | 7 +- test/dm/test-fdt.c | 148 ++----------- test/dm/test-uclass.c | 4 +- test/dm/virtio.c | 2 +- test/py/tests/test_ofplatdata.py | 1 - tools/concurrencytest/concurrencytest.py | 4 +- tools/dtoc/dtb_platdata.py | 518 ++++++++++++++++++++++------------------------ tools/dtoc/dtoc_test_scan_drivers.cxx | 2 +- tools/dtoc/dtoc_test_simple.dts | 5 - tools/dtoc/main.py | 49 ++--- tools/dtoc/src_scan.py | 185 +++++++++++++++++ tools/dtoc/test_dtoc.py | 413 ++++++++++++++++++------------------ tools/dtoc/test_src_scan.py | 107 ++++++++++ tools/patman/tools.py | 8 + 410 files changed, 2799 insertions(+), 1956 deletions(-) create mode 100644 arch/arc/include/asm/spl.h create mode 100644 arch/m68k/include/asm/spl.h create mode 100644 arch/nds32/include/asm/spl.h create mode 100644 arch/nios2/include/asm/spl.h create mode 100644 arch/sandbox/include/asm/i2c.h create mode 100644 arch/sandbox/include/asm/serial.h create mode 100644 arch/sh/include/asm/spl.h create mode 100644 arch/x86/include/asm/arch-apollolake/hostbridge.h create mode 100644 arch/x86/include/asm/arch-apollolake/pmc.h create mode 100644 arch/x86/include/asm/p2sb.h create mode 100644 arch/x86/include/asm/sysreset.h create mode 100644 arch/xtensa/include/asm/spl.h create mode 100644 drivers/misc/test_drv.c create mode 100644 include/dm/simple_bus.h create mode 100644 tools/dtoc/src_scan.py create mode 100644 tools/dtoc/test_src_scan.py Regards, Simon