FYI: Please pull u-boot-dm

Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
---------------------------------------------------------------- sandbox conversion to SDL2 TPM TEE driver Various minor sandbox video enhancements New driver model core utility functions
---------------------------------------------------------------- Fabio Estevam (1): doc: dm: debugging: Fix the steps for activating debug
Matthias Brugger (1): buildman: Enable buildman on aarch64 hosts
Maxime Ripard (1): dtc: add ability to make nodes conditional on them being referenced
Philippe Reynes (2): tpm: add a helper to iterate on all tpm devices cmd: tpm: add a subcommand device
Sean Anderson (2): cli: Make the sandbox board_run_command the default cmd: Add command to dump drivers and compatible strings
Simon Glass (53): dm: core: Use const where possible in device.h dm: pci: Update the PCI read_config() method to const dev * dm: pci: Update a few more interfaces for const udevice * dm: core: Use const device for the devfdt...() interface dm: core: Use const device for the dev_read_...() interface test: Add underscore prefix to macro parameters dm: core: Update comment for ofnode_get_chosen_node() dm: core: Rename ofnode_get_chosen_prop() dm: core: Add ofnode_read_prop() dm: core: Reimplement ofnode_read_size() dm: core: Add ofnode_get_chosen_prop() dm: core: Add a way to read platdata for all child devices dm: core: Add a way to iterate through children, probing each dm: core: Drop uclass_find_next_free_req_seq() conditions bloblist: Add a new function to add or check size bloblist: Tidy up a few comments and code-style nits bloblist: Zero records when adding sandbox: pmic: Correct i2c pmic emulator platdata method console: Add a function to read a line of the output / eof test: Enable console recording in tests test: Add a way to check each line of console output sandbox: Sort the help options video: Support truetype fonts on a 32-bit display video: sandbox: Enable all colour depths mailbox: Rename free() to rfree() power-domain: Rename free() to rfree() reset: Rename free() to rfree() gpio: Rename free() to rfree() clk: Rename free() to rfree() dma: Rename free() to rfree() mtd: Rename free() to rfree() sandbox: Rename 'free' variable sandbox: Use a prefix for all allocation functions exports: Add the malloc.h header string: Allow arch override of strndup() also sandbox: Rename strdup() functions sandbox: Drop use of special os_malloc() where possible sandbox: Drop os_realloc() sandbox: Ensure that long-options array is terminated sandbox: Add a new header for the system malloc() sound: Add a new stop_play() method sandbox: sound: Handle errors better in sound_beep() sandbox: Add comments to the sdl struct sandbox: sdl: Improve error handling sandbox: sdl: Support waiting for audio to complete gitlab: Disable SDL when building sandbox sandbox: sdl: Move to use SDL2 sandbox: sdl: Add an option to double the screen size sandbox: Support changing the LCD colour depth dm: core: Require users of devres to include the header dm: core: Create a new header file for 'compat' features dm: core: Drop the inclusion of linux/compat.h in dm.h sandbox: Complete migration away from os_malloc()
Thirupathaiah Annapureddy (2): image: fdt: check "status" of "/reserved-memory" subnodes tpm2: ftpm: A driver for firmware TPM running inside TEE
.gitlab-ci.yml | 5 +- .travis.yml | 2 +- arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 1 + arch/arm/mach-imx/cmd_nandbcb.c | 2 + arch/arm/mach-imx/imx8/image.c | 1 + arch/arm/mach-meson/board-info.c | 1 + arch/arm/mach-meson/sm.c | 1 + arch/arm/mach-mvebu/mbus.c | 1 + arch/arm/mach-rockchip/px30/clk_px30.c | 1 + arch/arm/mach-rockchip/rk3036/clk_rk3036.c | 1 + arch/arm/mach-rockchip/rk3128/clk_rk3128.c | 1 + arch/arm/mach-rockchip/rk3188/clk_rk3188.c | 1 + arch/arm/mach-rockchip/rk3188/rk3188.c | 1 + arch/arm/mach-rockchip/rk322x/clk_rk322x.c | 1 + arch/arm/mach-rockchip/rk3288/clk_rk3288.c | 1 + arch/arm/mach-rockchip/rk3288/rk3288.c | 2 + arch/arm/mach-rockchip/rk3308/clk_rk3308.c | 1 + arch/arm/mach-rockchip/rk3308/rk3308.c | 1 + arch/arm/mach-rockchip/rk3328/clk_rk3328.c | 1 + arch/arm/mach-rockchip/rk3368/clk_rk3368.c | 1 + arch/arm/mach-rockchip/rk3399/clk_rk3399.c | 1 + arch/arm/mach-rockchip/rv1108/clk_rv1108.c | 1 + arch/arm/mach-socfpga/clock_manager_agilex.c | 1 + arch/arm/mach-socfpga/clock_manager_arria10.c | 1 + arch/arm/mach-stm32mp/pwr_regulator.c | 2 + arch/arm/mach-tegra/cboot.c | 1 + arch/arm/mach-zynq/clk.c | 1 + arch/arm/mach-zynq/timer.c | 1 + arch/mips/mach-mtmips/cpu.c | 1 + arch/mips/mach-pic32/cpu.c | 1 + arch/riscv/lib/andes_plic.c | 1 + arch/riscv/lib/andes_plmt.c | 1 + arch/riscv/lib/sifive_clint.c | 1 + arch/sandbox/config.mk | 2 +- arch/sandbox/cpu/cpu.c | 1 + arch/sandbox/cpu/eth-raw-os.c | 6 +- arch/sandbox/cpu/os.c | 48 +++----- arch/sandbox/cpu/sdl.c | 338 +++++++++++++++++++++++++++++++++--------------------- arch/sandbox/cpu/start.c | 69 +++++++++-- arch/sandbox/cpu/state.c | 23 ++-- arch/sandbox/dts/sandbox.dtsi | 1 + arch/sandbox/dts/test.dts | 3 + arch/sandbox/include/asm/malloc.h | 26 +++++ arch/sandbox/include/asm/sdl.h | 9 +- arch/sandbox/include/asm/state.h | 1 + arch/sandbox/include/asm/test.h | 7 ++ arch/x86/cpu/apollolake/fsp_s.c | 1 + arch/x86/cpu/apollolake/spl.c | 1 + arch/x86/cpu/apollolake/uart.c | 1 + arch/x86/cpu/intel_common/itss.c | 1 + arch/x86/cpu/qemu/e820.c | 1 + arch/x86/cpu/qfw_cpu.c | 1 + arch/x86/lib/coreboot_table.c | 1 + arch/x86/lib/fsp1/fsp_common.c | 1 + arch/x86/lib/mrccache.c | 1 + arch/x86/lib/tables.c | 1 + board/compulab/common/common.c | 1 + board/corscience/tricorder/tricorder.c | 1 + board/gardena/smart-gateway-mt7688/board.c | 1 + board/ge/common/vpd_reader.c | 1 + board/google/veyron/veyron.c | 1 + board/hisilicon/poplar/poplar.c | 2 +- board/isee/igep003x/board.c | 1 + board/isee/igep00x0/igep00x0.c | 1 + board/menlo/m53menlo/m53menlo.c | 1 + board/microchip/pic32mzda/pic32mzda.c | 1 + board/overo/overo.c | 1 + board/siemens/common/board.c | 1 + board/siemens/pxm2/board.c | 1 + board/siemens/rut/board.c | 1 + board/st/stm32mp1/stm32mp1.c | 2 + board/synopsys/hsdk/clk-lib.c | 1 + board/technexion/tao3530/tao3530.c | 1 + board/theobroma-systems/puma_rk3399/puma-rk3399.c | 2 +- board/ti/am335x/board.c | 1 + board/ti/am57xx/board.c | 1 + board/timll/devkit8000/devkit8000.c | 1 + board/xilinx/common/board.c | 2 +- cmd/bootefi.c | 1 + cmd/dm.c | 12 +- cmd/gpio.c | 2 + cmd/gpt.c | 1 + cmd/host.c | 1 + cmd/mtd.c | 2 + cmd/rng.c | 1 + cmd/tpm-common.c | 78 ++++++++++++- cmd/tpm-user-utils.h | 1 + cmd/tpm-v1.c | 3 + cmd/tpm-v2.c | 3 + cmd/ubi.c | 2 + cmd/usb_mass_storage.c | 1 + cmd/ximg.c | 1 + common/android_ab.c | 1 + common/autoboot.c | 1 + common/bloblist.c | 27 ++++- common/cli.c | 7 ++ common/console.c | 11 ++ common/exports.c | 1 + common/image-fdt.c | 3 +- common/image.c | 1 + common/usb.c | 1 + common/usb_hub.c | 1 + configs/sandbox64_defconfig | 1 - configs/sandbox_defconfig | 1 - configs/sandbox_flattree_defconfig | 1 - configs/sandbox_spl_defconfig | 1 - doc/README.bloblist | 4 +- doc/arch/sandbox.rst | 2 +- doc/device-tree-bindings/video/sandbox-fb.txt | 6 +- doc/driver-model/debugging.rst | 4 +- drivers/adc/rockchip-saradc.c | 1 + drivers/adc/stm32-adc-core.c | 1 + drivers/adc/stm32-adc.c | 1 + drivers/axi/sandbox_store.c | 1 + drivers/block/blk-uclass.c | 2 + drivers/block/sandbox.c | 1 + drivers/clk/altera/clk-arria10.c | 3 + drivers/clk/aspeed/clk_ast2500.c | 1 + drivers/clk/at91/clk-generated.c | 2 + drivers/clk/at91/clk-h32mx.c | 1 + drivers/clk/at91/clk-peripheral.c | 1 + drivers/clk/at91/clk-usb.c | 1 + drivers/clk/clk-cdce9xx.c | 1 + drivers/clk/clk-composite.c | 2 + drivers/clk/clk-divider.c | 2 + drivers/clk/clk-fixed-factor.c | 2 + drivers/clk/clk-gate.c | 2 + drivers/clk/clk-mux.c | 2 + drivers/clk/clk-ti-sci.c | 5 +- drivers/clk/clk-uclass.c | 9 +- drivers/clk/clk_fixed_factor.c | 1 + drivers/clk/clk_sandbox.c | 3 +- drivers/clk/clk_sandbox_ccf.c | 3 + drivers/clk/clk_sandbox_test.c | 3 + drivers/clk/clk_versal.c | 2 + drivers/clk/clk_vexpress_osc.c | 1 + drivers/clk/clk_zynq.c | 1 + drivers/clk/clk_zynqmp.c | 3 + drivers/clk/imx/clk-composite-8m.c | 2 + drivers/clk/imx/clk-gate2.c | 2 + drivers/clk/imx/clk-imx8.c | 1 + drivers/clk/imx/clk-pfd.c | 2 + drivers/clk/imx/clk-pll14xx.c | 2 + drivers/clk/imx/clk-pllv3.c | 2 + drivers/clk/meson/axg.c | 1 + drivers/clk/meson/g12a.c | 1 + drivers/clk/meson/gxbb.c | 1 + drivers/clk/mvebu/armada-37xx-periph.c | 1 + drivers/clk/mvebu/armada-37xx-tbg.c | 1 + drivers/clk/rockchip/clk_px30.c | 1 + drivers/clk/rockchip/clk_rk3036.c | 1 + drivers/clk/rockchip/clk_rk3128.c | 1 + drivers/clk/rockchip/clk_rk3188.c | 2 + drivers/clk/rockchip/clk_rk322x.c | 1 + drivers/clk/rockchip/clk_rk3288.c | 2 + drivers/clk/rockchip/clk_rk3308.c | 1 + drivers/clk/rockchip/clk_rk3328.c | 1 + drivers/clk/rockchip/clk_rk3368.c | 1 + drivers/clk/rockchip/clk_rk3399.c | 1 + drivers/clk/rockchip/clk_rv1108.c | 1 + drivers/clk/sifive/fu540-prci.c | 1 + drivers/clk/tegra/tegra-car-clk.c | 3 +- drivers/clk/uniphier/clk-uniphier-core.c | 1 + drivers/core/device.c | 85 +++++++++++--- drivers/core/devres.c | 2 + drivers/core/dump.c | 19 +++ drivers/core/fdtaddr.c | 26 ++--- drivers/core/of_access.c | 1 + drivers/core/ofnode.c | 72 +++++++----- drivers/core/read.c | 97 ++++++++-------- drivers/core/syscon-uclass.c | 1 + drivers/core/uclass.c | 4 - drivers/ddr/altera/sdram_gen5.c | 1 + drivers/ddr/altera/sdram_soc64.c | 1 + drivers/dfu/dfu_mtd.c | 1 + drivers/dma/bcm6348-iudma.c | 1 + drivers/dma/dma-uclass.c | 5 +- drivers/dma/sandbox-dma-test.c | 5 +- drivers/dma/ti/k3-udma.c | 8 +- drivers/firmware/ti_sci.c | 3 + drivers/fpga/fpga.c | 1 + drivers/gpio/74x164_gpio.c | 1 + drivers/gpio/adi_gpio2.c | 1 + drivers/gpio/at91_gpio.c | 1 + drivers/gpio/atmel_pio4.c | 1 + drivers/gpio/da8xx_gpio.c | 1 + drivers/gpio/dwapb_gpio.c | 2 + drivers/gpio/gpio-rcar.c | 4 +- drivers/gpio/gpio-uclass.c | 8 +- drivers/gpio/kona_gpio.c | 1 + drivers/gpio/mpc83xx_gpio.c | 1 + drivers/gpio/mscc_sgpio.c | 2 + drivers/gpio/mvgpio.c | 1 + drivers/gpio/mxs_gpio.c | 1 + drivers/gpio/pca953x_gpio.c | 1 + drivers/gpio/pca9698.c | 1 + drivers/gpio/sh_pfc.c | 1 + drivers/gpio/spear_gpio.c | 1 + drivers/gpio/stm32_gpio.c | 1 + drivers/hwspinlock/hwspinlock-uclass.c | 2 + drivers/hwspinlock/stm32_hwspinlock.c | 1 + drivers/i2c/ast_i2c.c | 1 + drivers/i2c/at91_i2c.c | 1 + drivers/i2c/designware_i2c.c | 3 + drivers/i2c/i2c-uniphier-f.c | 1 + drivers/i2c/i2c-uniphier.c | 1 + drivers/i2c/imx_lpi2c.c | 1 + drivers/i2c/meson_i2c.c | 1 + drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 1 + drivers/i2c/muxes/i2c-mux-gpio.c | 2 + drivers/i2c/muxes/i2c-mux-uclass.c | 1 + drivers/i2c/muxes/pca954x.c | 1 + drivers/i2c/mxc_i2c.c | 1 + drivers/i2c/rcar_i2c.c | 1 + drivers/i2c/stm32f7_i2c.c | 1 + drivers/i2c/tegra_i2c.c | 1 + drivers/i2c/xilinx_xiic.c | 1 + drivers/led/led_gpio.c | 1 + drivers/mailbox/k3-sec-proxy.c | 4 +- drivers/mailbox/mailbox-uclass.c | 5 +- drivers/mailbox/sandbox-mbox-test.c | 1 + drivers/mailbox/sandbox-mbox.c | 3 +- drivers/mailbox/stm32-ipcc.c | 4 +- drivers/mailbox/tegra-hsp.c | 3 +- drivers/mailbox/zynqmp-ipi.c | 1 + drivers/misc/cros_ec_sandbox.c | 8 +- drivers/misc/imx8/scu_api.c | 1 + drivers/misc/k3_avs.c | 1 + drivers/misc/microchip_flexcom.c | 1 + drivers/misc/p2sb-uclass.c | 1 + drivers/misc/p2sb_emul.c | 5 +- drivers/misc/stm32_rcc.c | 1 + drivers/misc/swap_case.c | 9 +- drivers/misc/tegra186_bpmp.c | 2 + drivers/misc/vexpress_config.c | 1 + drivers/mmc/am654_sdhci.c | 2 + drivers/mmc/arm_pl180_mmci.c | 1 + drivers/mmc/aspeed_sdhci.c | 1 + drivers/mmc/bcm2835_sdhost.c | 1 + drivers/mmc/fsl_esdhc.c | 1 + drivers/mmc/fsl_esdhc_imx.c | 2 + drivers/mmc/jz_mmc.c | 1 + drivers/mmc/mmc-uclass.c | 2 + drivers/mmc/msm_sdhci.c | 1 + drivers/mmc/mtk-sd.c | 1 + drivers/mmc/omap_hsmmc.c | 2 + drivers/mmc/renesas-sdhi.c | 2 + drivers/mmc/rockchip_sdhci.c | 1 + drivers/mmc/sdhci-cadence.c | 1 + drivers/mmc/sh_mmcif.c | 1 + drivers/mmc/sh_sdhi.c | 1 + drivers/mmc/snps_dw_mmc.c | 1 + drivers/mmc/socfpga_dw_mmc.c | 1 + drivers/mmc/stm32_sdmmc2.c | 1 + drivers/mmc/tegra_mmc.c | 1 + drivers/mmc/tmio-common.c | 1 + drivers/mmc/uniphier-sd.c | 2 + drivers/mmc/zynq_sdhci.c | 2 + drivers/mtd/hbmc-am654.c | 1 + drivers/mtd/mtd_uboot.c | 2 + drivers/mtd/mtdconcat.c | 1 + drivers/mtd/mtdcore.c | 5 +- drivers/mtd/mtdpart.c | 1 + drivers/mtd/nand/bbt.c | 1 + drivers/mtd/nand/core.c | 1 + drivers/mtd/nand/raw/atmel_nand.c | 2 + drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/brcmnand.c | 3 + drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c | 2 + drivers/mtd/nand/raw/denali.c | 6 +- drivers/mtd/nand/raw/denali_dt.c | 1 + drivers/mtd/nand/raw/fsl_elbc_nand.c | 1 + drivers/mtd/nand/raw/fsl_ifc_nand.c | 1 + drivers/mtd/nand/raw/mxs_nand_spl.c | 1 + drivers/mtd/nand/raw/nand_base.c | 1 + drivers/mtd/nand/raw/nand_bbt.c | 1 + drivers/mtd/nand/raw/nand_bch.c | 1 + drivers/mtd/nand/raw/nand_timings.c | 1 + drivers/mtd/nand/raw/nand_util.c | 1 + drivers/mtd/nand/raw/pxa3xx_nand.c | 3 + drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1 + drivers/mtd/nand/raw/sunxi_nand.c | 4 + drivers/mtd/nand/raw/tegra_nand.c | 1 + drivers/mtd/nand/raw/vf610_nfc.c | 1 + drivers/mtd/nand/spi/core.c | 4 +- drivers/mtd/nand/spi/gigadevice.c | 3 +- drivers/mtd/nand/spi/macronix.c | 3 +- drivers/mtd/nand/spi/micron.c | 3 +- drivers/mtd/nand/spi/winbond.c | 3 +- drivers/mtd/onenand/onenand_base.c | 1 + drivers/mtd/renesas_rpc_hf.c | 2 + drivers/mtd/spi/sf-uclass.c | 1 + drivers/mtd/spi/spi-nor-core.c | 2 + drivers/mtd/spi/spi-nor-tiny.c | 1 + drivers/mtd/ubi/attach.c | 1 + drivers/mtd/ubi/build.c | 1 + drivers/mtd/ubi/debug.c | 2 + drivers/mtd/ubi/eba.c | 1 + drivers/mtd/ubi/fastmap.c | 2 + drivers/mtd/ubi/io.c | 1 + drivers/mtd/ubi/kapi.c | 1 + drivers/mtd/ubi/misc.c | 1 + drivers/mtd/ubi/upd.c | 1 + drivers/mtd/ubi/vmt.c | 1 + drivers/mtd/ubi/vtbl.c | 1 + drivers/mtd/ubi/wl.c | 1 + drivers/net/bcm6348-eth.c | 1 + drivers/net/bcm6368-eth.c | 2 + drivers/net/designware.c | 2 + drivers/net/dwc_eth_qos.c | 1 + drivers/net/dwmac_socfpga.c | 2 + drivers/net/e1000.c | 1 + drivers/net/e1000_spi.c | 1 + drivers/net/fsl-mc/dpio/qbman_portal.c | 1 + drivers/net/fsl-mc/mc.c | 1 + drivers/net/fsl_enetc.c | 1 + drivers/net/ftgmac100.c | 2 + drivers/net/higmacv300.c | 1 + drivers/net/mscc_eswitch/jr2_switch.c | 1 + drivers/net/mscc_eswitch/luton_switch.c | 1 + drivers/net/mscc_eswitch/ocelot_switch.c | 1 + drivers/net/mscc_eswitch/serval_switch.c | 1 + drivers/net/mscc_eswitch/servalt_switch.c | 1 + drivers/net/mtk_eth.c | 1 + drivers/net/mvneta.c | 2 + drivers/net/mvpp2.c | 3 + drivers/net/pch_gbe.c | 1 + drivers/net/pfe_eth/pfe_driver.c | 1 + drivers/net/pfe_eth/pfe_eth.c | 1 + drivers/net/pfe_eth/pfe_firmware.c | 1 + drivers/net/pfe_eth/pfe_mdio.c | 1 + drivers/net/phy/dp83867.c | 1 + drivers/net/phy/fixed.c | 1 + drivers/net/pic32_eth.c | 1 + drivers/net/sandbox-raw-bus.c | 1 + drivers/net/sni_ave.c | 7 +- drivers/net/sun8i_emac.c | 1 + drivers/net/sunxi_emac.c | 1 + drivers/net/ti/am65-cpsw-nuss.c | 2 + drivers/net/ti/cpsw-common.c | 1 + drivers/net/ti/cpsw.c | 1 + drivers/net/ti/cpsw_mdio.c | 1 + drivers/net/zynq_gem.c | 2 + drivers/nvme/nvme.c | 2 + drivers/pci/pci-aardvark.c | 3 +- drivers/pci/pci-emul-uclass.c | 2 +- drivers/pci/pci-rcar-gen2.c | 4 +- drivers/pci/pci-rcar-gen3.c | 6 +- drivers/pci/pci-uclass.c | 33 +++--- drivers/pci/pci_mpc85xx.c | 2 +- drivers/pci/pci_mvebu.c | 3 +- drivers/pci/pci_sandbox.c | 2 +- drivers/pci/pci_sh7751.c | 4 +- drivers/pci/pci_tegra.c | 2 +- drivers/pci/pci_x86.c | 5 +- drivers/pci/pcie_dw_mvebu.c | 2 +- drivers/pci/pcie_dw_ti.c | 4 +- drivers/pci/pcie_ecam_generic.c | 11 +- drivers/pci/pcie_fsl.c | 3 +- drivers/pci/pcie_imx.c | 3 +- drivers/pci/pcie_intel_fpga.c | 5 +- drivers/pci/pcie_layerscape.c | 4 +- drivers/pci/pcie_layerscape_gen4.c | 2 +- drivers/pci/pcie_mediatek.c | 6 +- drivers/pci/pcie_phytium.c | 7 +- drivers/pci/pcie_xilinx.c | 4 +- drivers/phy/allwinner/phy-sun4i-usb.c | 2 + drivers/phy/bcm6318-usbh-phy.c | 1 + drivers/phy/bcm6348-usbh-phy.c | 1 + drivers/phy/bcm6358-usbh-phy.c | 1 + drivers/phy/bcm6368-usbh-phy.c | 1 + drivers/phy/marvell/comphy_core.c | 2 + drivers/phy/meson-g12a-usb2.c | 1 + drivers/phy/meson-g12a-usb3-pcie.c | 1 + drivers/phy/meson-gxl-usb2.c | 1 + drivers/phy/meson-gxl-usb3.c | 1 + drivers/phy/omap-usb2-phy.c | 1 + drivers/phy/phy-mtk-tphy.c | 3 + drivers/phy/phy-rcar-gen2.c | 2 + drivers/phy/phy-rcar-gen3.c | 1 + drivers/phy/phy-stm32-usbphyc.c | 1 + drivers/phy/phy-ti-am654.c | 2 + drivers/phy/ti-pipe3-phy.c | 1 + drivers/pinctrl/broadcom/pinctrl-bcm6838.c | 1 + drivers/pinctrl/intel/pinctrl.c | 2 + drivers/pinctrl/meson/pinctrl-meson.c | 2 + drivers/pinctrl/mscc/mscc-common.c | 2 + drivers/pinctrl/mtmips/pinctrl-mtmips-common.c | 1 + drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 3 + drivers/pinctrl/nxp/pinctrl-imx.c | 3 + drivers/pinctrl/nxp/pinctrl-mxs.c | 2 + drivers/pinctrl/pinctrl-generic.c | 1 + drivers/pinctrl/pinctrl-single.c | 1 + drivers/pinctrl/pinctrl-stmfx.c | 1 + drivers/pinctrl/pinctrl-uclass.c | 2 + drivers/pinctrl/pinctrl_stm32.c | 3 + drivers/pinctrl/renesas/pfc.c | 2 + drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 1 + drivers/power/acpi_pmc/pmc_emul.c | 2 +- drivers/power/domain/bcm6328-power-domain.c | 3 +- drivers/power/domain/imx8-power-domain-legacy.c | 3 +- drivers/power/domain/imx8-power-domain.c | 3 +- drivers/power/domain/imx8m-power-domain.c | 3 +- drivers/power/domain/meson-ee-pwrc.c | 4 +- drivers/power/domain/meson-gx-pwrc-vpu.c | 4 +- drivers/power/domain/mtk-power-domain.c | 4 +- drivers/power/domain/power-domain-uclass.c | 3 +- drivers/power/domain/sandbox-power-domain-test.c | 1 + drivers/power/domain/sandbox-power-domain.c | 3 +- drivers/power/domain/tegra186-power-domain.c | 3 +- drivers/power/domain/ti-sci-power-domain.c | 5 +- drivers/power/pmic/fan53555.c | 1 + drivers/power/pmic/i2c_pmic_emul.c | 17 ++- drivers/power/pmic/stpmic1.c | 1 + drivers/power/regulator/pbias_regulator.c | 1 + drivers/power/regulator/pwm_regulator.c | 1 + drivers/power/regulator/stm32-vrefbuf.c | 1 + drivers/power/regulator/tps62360_regulator.c | 1 + drivers/ram/imxrt_sdram.c | 1 + drivers/ram/k3-am654-ddrss.c | 1 + drivers/ram/k3-j721e/k3-j721e-ddrss.c | 1 + drivers/ram/rockchip/dmc-rk3368.c | 1 + drivers/ram/stm32_sdram.c | 1 + drivers/remoteproc/k3_system_controller.c | 1 + drivers/remoteproc/rproc-elf-loader.c | 2 + drivers/remoteproc/stm32_copro.c | 2 + drivers/remoteproc/ti_k3_arm64_rproc.c | 2 + drivers/remoteproc/ti_k3_dsp_rproc.c | 3 + drivers/remoteproc/ti_k3_r5f_rproc.c | 3 + drivers/reset/reset-bcm6345.c | 3 +- drivers/reset/reset-hisilicon.c | 3 +- drivers/reset/reset-hsdk.c | 2 +- drivers/reset/reset-imx7.c | 3 +- drivers/reset/reset-mediatek.c | 4 +- drivers/reset/reset-meson.c | 3 +- drivers/reset/reset-mtmips.c | 3 +- drivers/reset/reset-rockchip.c | 3 +- drivers/reset/reset-socfpga.c | 3 +- drivers/reset/reset-sunxi.c | 3 +- drivers/reset/reset-ti-sci.c | 5 +- drivers/reset/reset-uclass.c | 4 +- drivers/reset/reset-uniphier.c | 4 +- drivers/reset/sandbox-reset-test.c | 1 + drivers/reset/sandbox-reset.c | 3 +- drivers/reset/sti-reset.c | 3 +- drivers/reset/stm32-reset.c | 3 +- drivers/reset/tegra-car-reset.c | 3 +- drivers/reset/tegra186-reset.c | 3 +- drivers/rtc/ds3232.c | 1 + drivers/rtc/rv3029.c | 1 + drivers/rtc/stm32_rtc.c | 2 + drivers/serial/atmel_usart.c | 1 + drivers/serial/ns16550.c | 1 + drivers/serial/serial-uclass.c | 1 + drivers/serial/serial_bcm6345.c | 1 + drivers/serial/serial_lpuart.c | 1 + drivers/serial/serial_msm.c | 1 + drivers/serial/serial_mtk.c | 3 +- drivers/serial/serial_omap.c | 1 + drivers/serial/serial_pic32.c | 1 + drivers/serial/serial_sifive.c | 1 + drivers/serial/serial_stm32.c | 1 + drivers/serial/serial_zynq.c | 2 + drivers/smem/msm_smem.c | 3 + drivers/soc/ti/k3-navss-ringacc.c | 3 + drivers/sound/sandbox.c | 21 +++- drivers/sound/sound-uclass.c | 17 ++- drivers/spi/atmel-quadspi.c | 3 + drivers/spi/bcm63xx_hsspi.c | 1 + drivers/spi/bcm63xx_spi.c | 1 + drivers/spi/cadence_qspi.c | 2 + drivers/spi/designware_spi.c | 1 + drivers/spi/mvebu_a3700_spi.c | 1 + drivers/spi/mxc_spi.c | 1 + drivers/spi/nxp_fspi.c | 1 + drivers/spi/spi-mem-nodm.c | 1 + drivers/spi/spi-mem.c | 2 + drivers/spi/spi-sunxi.c | 1 + drivers/spi/stm32_qspi.c | 1 + drivers/spi/stm32_spi.c | 2 + drivers/spi/ti_qspi.c | 1 + drivers/spi/uniphier_spi.c | 1 + drivers/spi/zynqmp_gqspi.c | 2 + drivers/spmi/spmi-msm.c | 1 + drivers/sysreset/sysreset-ti-sci.c | 2 + drivers/sysreset/sysreset_syscon.c | 1 + drivers/tee/optee/core.c | 2 + drivers/tee/optee/rpmb.c | 1 + drivers/tee/optee/supplicant.c | 1 + drivers/tee/tee-uclass.c | 3 +- drivers/timer/ast_timer.c | 1 + drivers/timer/cadence-ttc.c | 1 + drivers/timer/dw-apb-timer.c | 2 + drivers/timer/ostm_timer.c | 1 + drivers/timer/stm32_timer.c | 1 + drivers/timer/timer-uclass.c | 1 + drivers/tpm/Kconfig | 6 + drivers/tpm/Makefile | 1 + drivers/tpm/tpm2_ftpm_tee.c | 250 ++++++++++++++++++++++++++++++++++++++++ drivers/tpm/tpm2_ftpm_tee.h | 35 ++++++ drivers/ufs/cdns-platform.c | 2 + drivers/ufs/ti-j721e-ufs.c | 2 + drivers/ufs/ufs.c | 2 + drivers/usb/cdns3/cdns3-ti.c | 1 + drivers/usb/cdns3/core.c | 2 + drivers/usb/cdns3/drd.c | 1 + drivers/usb/cdns3/ep0.c | 1 + drivers/usb/cdns3/gadget.c | 3 + drivers/usb/cdns3/host.c | 1 + drivers/usb/dwc3/core.c | 3 + drivers/usb/dwc3/dwc3-omap.c | 2 + drivers/usb/dwc3/dwc3-uniphier.c | 1 + drivers/usb/dwc3/ep0.c | 1 + drivers/usb/dwc3/gadget.c | 2 + drivers/usb/dwc3/ti_usb_phy.c | 2 + drivers/usb/gadget/at91_udc.c | 2 + drivers/usb/gadget/composite.c | 1 + drivers/usb/gadget/dwc2_udc_otg.c | 2 + drivers/usb/gadget/f_mass_storage.c | 1 + drivers/usb/gadget/pxa25x_udc.c | 1 + drivers/usb/gadget/storage_common.c | 1 + drivers/usb/gadget/udc/udc-core.c | 2 + drivers/usb/host/dwc2.c | 1 + drivers/usb/host/ehci-atmel.c | 1 + drivers/usb/host/ehci-generic.c | 2 + drivers/usb/host/ehci-hcd.c | 1 + drivers/usb/host/ohci-da8xx.c | 3 + drivers/usb/host/ohci-generic.c | 2 + drivers/usb/host/r8a66597-hcd.c | 1 + drivers/usb/host/xhci-rcar.c | 2 + drivers/usb/musb-new/am35x.c | 2 + drivers/usb/musb-new/da8xx.c | 1 + drivers/usb/musb-new/musb_core.c | 2 + drivers/usb/musb-new/musb_dsps.c | 2 + drivers/usb/musb-new/musb_gadget.c | 2 + drivers/usb/musb-new/musb_gadget_ep0.c | 1 + drivers/usb/musb-new/musb_host.c | 2 + drivers/usb/musb-new/musb_uboot.c | 2 + drivers/usb/musb-new/omap2430.c | 2 + drivers/usb/musb-new/pic32.c | 1 + drivers/usb/musb-new/sunxi.c | 2 + drivers/usb/musb-new/ti-musb.c | 1 + drivers/usb/phy/omap_usb_phy.c | 1 + drivers/video/Kconfig | 4 +- drivers/video/atmel_hlcdfb.c | 1 + drivers/video/console_truetype.c | 22 ++++ drivers/video/da8xx-fb.c | 1 + drivers/video/dw_mipi_dsi.c | 1 + drivers/video/exynos/exynos_mipi_dsi.c | 1 + drivers/video/hitachi_tx18d42vm_lcd.c | 1 + drivers/video/mali_dp.c | 2 + drivers/video/mipi_dsi.c | 1 + drivers/video/mvebu_lcd.c | 1 + drivers/video/mxsfb.c | 1 + drivers/video/orisetech_otm8009a.c | 1 + drivers/video/pwm_backlight.c | 1 + drivers/video/raydium-rm68200.c | 1 + drivers/video/rockchip/rk3288_hdmi.c | 1 + drivers/video/rockchip/rk3288_mipi.c | 1 + drivers/video/rockchip/rk3399_mipi.c | 1 + drivers/video/rockchip/rk_edp.c | 1 + drivers/video/rockchip/rk_vop.c | 1 + drivers/video/sandbox_osd.c | 1 + drivers/video/sandbox_sdl.c | 13 ++- drivers/video/scf0403_lcd.c | 1 + drivers/video/ssd2828.c | 1 + drivers/video/stm32/stm32_dsi.c | 1 + drivers/video/stm32/stm32_ltdc.c | 1 + drivers/video/tegra124/sor.c | 1 + drivers/video/video-uclass.c | 1 + drivers/virtio/virtio-uclass.c | 1 + drivers/virtio/virtio_mmio.c | 1 + drivers/virtio/virtio_pci_legacy.c | 1 + drivers/virtio/virtio_pci_modern.c | 1 + drivers/virtio/virtio_ring.c | 1 + drivers/virtio/virtio_sandbox.c | 1 + drivers/w1-eeprom/ds2502.c | 1 + drivers/w1/mxc_w1.c | 1 + drivers/watchdog/armada-37xx-wdt.c | 1 + drivers/watchdog/ast_wdt.c | 1 + drivers/watchdog/cdns_wdt.c | 2 + drivers/watchdog/sp805_wdt.c | 1 + drivers/watchdog/xilinx_tb_wdt.c | 1 + fs/ext4/ext4_write.c | 1 + fs/ext4/ext4fs.c | 1 + fs/fat/fat_write.c | 1 + fs/sandbox/sandboxfs.c | 1 + fs/ubifs/debug.c | 1 + fs/ubifs/gc.c | 1 + fs/ubifs/io.c | 1 + fs/ubifs/log.c | 1 + fs/ubifs/lprops.c | 1 + fs/ubifs/lpt.c | 1 + fs/ubifs/lpt_commit.c | 1 + fs/ubifs/master.c | 1 + fs/ubifs/orphan.c | 1 + fs/ubifs/recovery.c | 1 + fs/ubifs/replay.c | 1 + fs/ubifs/sb.c | 1 + fs/ubifs/scan.c | 1 + fs/ubifs/super.c | 1 + fs/ubifs/tnc.c | 1 + fs/ubifs/tnc_misc.c | 1 + fs/ubifs/ubifs.c | 2 + fs/yaffs2/yaffs_allocator.c | 1 + fs/yaffs2/yaffs_checkptrw.c | 1 + fs/yaffs2/yaffs_guts.c | 1 + fs/yaffs2/yaffs_nandif.c | 1 + fs/yaffs2/yaffs_summary.c | 1 + fs/yaffs2/yaffs_uboot_glue.c | 1 + fs/yaffs2/yaffs_yaffs1.c | 1 + fs/yaffs2/yaffs_yaffs2.c | 1 + fs/yaffs2/yaffsfs.c | 1 + include/asm-generic/gpio.h | 2 +- include/bloblist.h | 16 ++- include/clk-uclass.h | 4 +- include/console.h | 19 +++ include/dm/device.h | 185 ++++++++++++++++-------------- include/dm/device_compat.h | 86 ++++++++++++++ include/dm/devres.h | 4 + include/dm/fdtaddr.h | 26 ++--- include/dm/ofnode.h | 39 ++++++- include/dm/read.h | 212 ++++++++++++++++++---------------- include/dm/util.h | 3 + include/dma-uclass.h | 4 +- include/fdtdec.h | 2 +- include/linux/clk-provider.h | 1 + include/linux/compat.h | 3 + include/linux/mtd/mtd.h | 4 +- include/linux/string.h | 7 +- include/mailbox-uclass.h | 4 +- include/malloc.h | 24 +++- include/os.h | 22 +--- include/pci.h | 38 +++--- include/phy.h | 1 + include/power-domain-uclass.h | 4 +- include/reset-uclass.h | 4 +- include/sound.h | 12 ++ include/test/test.h | 4 + include/test/ut.h | 109 ++++++++++++++---- include/tpm-common.h | 3 + lib/bch.c | 2 + lib/binman.c | 1 + lib/bzip2/bzlib.c | 1 + lib/crypto/asymmetric_type.c | 2 + lib/crypto/pkcs7_parser.c | 1 + lib/crypto/public_key.c | 2 + lib/crypto/rsa_helper.c | 1 + lib/crypto/x509_cert_parser.c | 1 + lib/crypto/x509_public_key.c | 2 + lib/efi/efi.c | 1 + lib/efi/efi_app.c | 1 + lib/efi/efi_stub.c | 1 + lib/efi_driver/efi_block_device.c | 1 + lib/efi_driver/efi_uclass.c | 1 + lib/efi_loader/efi_console.c | 1 + lib/efi_loader/efi_runtime.c | 1 + lib/fdtdec.c | 3 +- lib/libavb/avb_cmdline.c | 1 + lib/libavb/avb_descriptor.c | 1 + lib/libavb/avb_rsa.c | 1 + lib/libavb/avb_slot_verify.c | 1 + lib/libavb/avb_sysdeps_posix.c | 1 + lib/libavb/avb_util.c | 1 + lib/linux_compat.c | 1 + lib/list_sort.c | 1 + lib/lmb.c | 1 + lib/rsa/rsa-sign.c | 1 + lib/rsa/rsa-verify.c | 1 + lib/string.c | 2 +- lib/zstd/decompress.c | 1 + lib/zstd/zstd_common.c | 1 + net/mdio-uclass.c | 3 + post/post.c | 1 + scripts/dtc/checks.c | 13 +++ scripts/dtc/dtc-lexer.l | 7 ++ scripts/dtc/dtc-parser.y | 17 +++ scripts/dtc/dtc.h | 4 + scripts/dtc/livetree.c | 14 +++ test/bloblist.c | 61 +++++++++- test/dm/clk.c | 1 + test/dm/devres.c | 1 + test/dm/dma.c | 1 + test/dm/gpio.c | 1 + test/dm/mailbox.c | 1 + test/dm/ofnode.c | 55 +++++++++ test/dm/power-domain.c | 1 + test/dm/regmap.c | 1 + test/dm/reset.c | 1 + test/dm/sound.c | 1 + test/dm/spmi.c | 1 + test/dm/syscon.c | 1 + test/dm/tee.c | 1 + test/dm/test-fdt.c | 39 +++++++ test/dm/test-main.c | 4 +- test/dm/video.c | 1 + test/lib/lmb.c | 1 + test/unicode_ut.c | 1 + test/ut.c | 46 ++++++++ tools/buildman/toolchain.py | 2 + 702 files changed, 2775 insertions(+), 759 deletions(-) create mode 100644 arch/sandbox/include/asm/malloc.h create mode 100644 drivers/tpm/tpm2_ftpm_tee.c create mode 100644 drivers/tpm/tpm2_ftpm_tee.h create mode 100644 include/dm/device_compat.h
Regards, Simon

On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
I'll push those changes shortly then, thanks.
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Looks like something is unhappy with your runner?
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
I'll take a look soon, thanks.
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
sandbox conversion to SDL2 TPM TEE driver Various minor sandbox video enhancements New driver model core utility functions
Fabio Estevam (1): doc: dm: debugging: Fix the steps for activating debug
Matthias Brugger (1): buildman: Enable buildman on aarch64 hosts
Maxime Ripard (1): dtc: add ability to make nodes conditional on them being referenced
Philippe Reynes (2): tpm: add a helper to iterate on all tpm devices cmd: tpm: add a subcommand device
Sean Anderson (2): cli: Make the sandbox board_run_command the default cmd: Add command to dump drivers and compatible strings
Simon Glass (53): dm: core: Use const where possible in device.h dm: pci: Update the PCI read_config() method to const dev * dm: pci: Update a few more interfaces for const udevice * dm: core: Use const device for the devfdt...() interface dm: core: Use const device for the dev_read_...() interface test: Add underscore prefix to macro parameters dm: core: Update comment for ofnode_get_chosen_node() dm: core: Rename ofnode_get_chosen_prop() dm: core: Add ofnode_read_prop() dm: core: Reimplement ofnode_read_size() dm: core: Add ofnode_get_chosen_prop() dm: core: Add a way to read platdata for all child devices dm: core: Add a way to iterate through children, probing each dm: core: Drop uclass_find_next_free_req_seq() conditions bloblist: Add a new function to add or check size bloblist: Tidy up a few comments and code-style nits bloblist: Zero records when adding sandbox: pmic: Correct i2c pmic emulator platdata method console: Add a function to read a line of the output / eof test: Enable console recording in tests test: Add a way to check each line of console output sandbox: Sort the help options video: Support truetype fonts on a 32-bit display video: sandbox: Enable all colour depths mailbox: Rename free() to rfree() power-domain: Rename free() to rfree() reset: Rename free() to rfree() gpio: Rename free() to rfree() clk: Rename free() to rfree() dma: Rename free() to rfree() mtd: Rename free() to rfree() sandbox: Rename 'free' variable sandbox: Use a prefix for all allocation functions exports: Add the malloc.h header string: Allow arch override of strndup() also sandbox: Rename strdup() functions sandbox: Drop use of special os_malloc() where possible sandbox: Drop os_realloc() sandbox: Ensure that long-options array is terminated sandbox: Add a new header for the system malloc() sound: Add a new stop_play() method sandbox: sound: Handle errors better in sound_beep() sandbox: Add comments to the sdl struct sandbox: sdl: Improve error handling sandbox: sdl: Support waiting for audio to complete gitlab: Disable SDL when building sandbox sandbox: sdl: Move to use SDL2 sandbox: sdl: Add an option to double the screen size sandbox: Support changing the LCD colour depth dm: core: Require users of devres to include the header dm: core: Create a new header file for 'compat' features dm: core: Drop the inclusion of linux/compat.h in dm.h sandbox: Complete migration away from os_malloc()
Thirupathaiah Annapureddy (2): image: fdt: check "status" of "/reserved-memory" subnodes tpm2: ftpm: A driver for firmware TPM running inside TEE
.gitlab-ci.yml | 5 +- .travis.yml | 2 +- arch/arm/mach-aspeed/ast2500/clk_ast2500.c | 1 + arch/arm/mach-imx/cmd_nandbcb.c | 2 + arch/arm/mach-imx/imx8/image.c | 1 + arch/arm/mach-meson/board-info.c | 1 + arch/arm/mach-meson/sm.c | 1 + arch/arm/mach-mvebu/mbus.c | 1 + arch/arm/mach-rockchip/px30/clk_px30.c | 1 + arch/arm/mach-rockchip/rk3036/clk_rk3036.c | 1 + arch/arm/mach-rockchip/rk3128/clk_rk3128.c | 1 + arch/arm/mach-rockchip/rk3188/clk_rk3188.c | 1 + arch/arm/mach-rockchip/rk3188/rk3188.c | 1 + arch/arm/mach-rockchip/rk322x/clk_rk322x.c | 1 + arch/arm/mach-rockchip/rk3288/clk_rk3288.c | 1 + arch/arm/mach-rockchip/rk3288/rk3288.c | 2 + arch/arm/mach-rockchip/rk3308/clk_rk3308.c | 1 + arch/arm/mach-rockchip/rk3308/rk3308.c | 1 + arch/arm/mach-rockchip/rk3328/clk_rk3328.c | 1 + arch/arm/mach-rockchip/rk3368/clk_rk3368.c | 1 + arch/arm/mach-rockchip/rk3399/clk_rk3399.c | 1 + arch/arm/mach-rockchip/rv1108/clk_rv1108.c | 1 + arch/arm/mach-socfpga/clock_manager_agilex.c | 1 + arch/arm/mach-socfpga/clock_manager_arria10.c | 1 + arch/arm/mach-stm32mp/pwr_regulator.c | 2 + arch/arm/mach-tegra/cboot.c | 1 + arch/arm/mach-zynq/clk.c | 1 + arch/arm/mach-zynq/timer.c | 1 + arch/mips/mach-mtmips/cpu.c | 1 + arch/mips/mach-pic32/cpu.c | 1 + arch/riscv/lib/andes_plic.c | 1 + arch/riscv/lib/andes_plmt.c | 1 + arch/riscv/lib/sifive_clint.c | 1 + arch/sandbox/config.mk | 2 +- arch/sandbox/cpu/cpu.c | 1 + arch/sandbox/cpu/eth-raw-os.c | 6 +- arch/sandbox/cpu/os.c | 48 +++----- arch/sandbox/cpu/sdl.c | 338 +++++++++++++++++++++++++++++++++--------------------- arch/sandbox/cpu/start.c | 69 +++++++++-- arch/sandbox/cpu/state.c | 23 ++-- arch/sandbox/dts/sandbox.dtsi | 1 + arch/sandbox/dts/test.dts | 3 + arch/sandbox/include/asm/malloc.h | 26 +++++ arch/sandbox/include/asm/sdl.h | 9 +- arch/sandbox/include/asm/state.h | 1 + arch/sandbox/include/asm/test.h | 7 ++ arch/x86/cpu/apollolake/fsp_s.c | 1 + arch/x86/cpu/apollolake/spl.c | 1 + arch/x86/cpu/apollolake/uart.c | 1 + arch/x86/cpu/intel_common/itss.c | 1 + arch/x86/cpu/qemu/e820.c | 1 + arch/x86/cpu/qfw_cpu.c | 1 + arch/x86/lib/coreboot_table.c | 1 + arch/x86/lib/fsp1/fsp_common.c | 1 + arch/x86/lib/mrccache.c | 1 + arch/x86/lib/tables.c | 1 + board/compulab/common/common.c | 1 + board/corscience/tricorder/tricorder.c | 1 + board/gardena/smart-gateway-mt7688/board.c | 1 + board/ge/common/vpd_reader.c | 1 + board/google/veyron/veyron.c | 1 + board/hisilicon/poplar/poplar.c | 2 +- board/isee/igep003x/board.c | 1 + board/isee/igep00x0/igep00x0.c | 1 + board/menlo/m53menlo/m53menlo.c | 1 + board/microchip/pic32mzda/pic32mzda.c | 1 + board/overo/overo.c | 1 + board/siemens/common/board.c | 1 + board/siemens/pxm2/board.c | 1 + board/siemens/rut/board.c | 1 + board/st/stm32mp1/stm32mp1.c | 2 + board/synopsys/hsdk/clk-lib.c | 1 + board/technexion/tao3530/tao3530.c | 1 + board/theobroma-systems/puma_rk3399/puma-rk3399.c | 2 +- board/ti/am335x/board.c | 1 + board/ti/am57xx/board.c | 1 + board/timll/devkit8000/devkit8000.c | 1 + board/xilinx/common/board.c | 2 +- cmd/bootefi.c | 1 + cmd/dm.c | 12 +- cmd/gpio.c | 2 + cmd/gpt.c | 1 + cmd/host.c | 1 + cmd/mtd.c | 2 + cmd/rng.c | 1 + cmd/tpm-common.c | 78 ++++++++++++- cmd/tpm-user-utils.h | 1 + cmd/tpm-v1.c | 3 + cmd/tpm-v2.c | 3 + cmd/ubi.c | 2 + cmd/usb_mass_storage.c | 1 + cmd/ximg.c | 1 + common/android_ab.c | 1 + common/autoboot.c | 1 + common/bloblist.c | 27 ++++- common/cli.c | 7 ++ common/console.c | 11 ++ common/exports.c | 1 + common/image-fdt.c | 3 +- common/image.c | 1 + common/usb.c | 1 + common/usb_hub.c | 1 + configs/sandbox64_defconfig | 1 - configs/sandbox_defconfig | 1 - configs/sandbox_flattree_defconfig | 1 - configs/sandbox_spl_defconfig | 1 - doc/README.bloblist | 4 +- doc/arch/sandbox.rst | 2 +- doc/device-tree-bindings/video/sandbox-fb.txt | 6 +- doc/driver-model/debugging.rst | 4 +- drivers/adc/rockchip-saradc.c | 1 + drivers/adc/stm32-adc-core.c | 1 + drivers/adc/stm32-adc.c | 1 + drivers/axi/sandbox_store.c | 1 + drivers/block/blk-uclass.c | 2 + drivers/block/sandbox.c | 1 + drivers/clk/altera/clk-arria10.c | 3 + drivers/clk/aspeed/clk_ast2500.c | 1 + drivers/clk/at91/clk-generated.c | 2 + drivers/clk/at91/clk-h32mx.c | 1 + drivers/clk/at91/clk-peripheral.c | 1 + drivers/clk/at91/clk-usb.c | 1 + drivers/clk/clk-cdce9xx.c | 1 + drivers/clk/clk-composite.c | 2 + drivers/clk/clk-divider.c | 2 + drivers/clk/clk-fixed-factor.c | 2 + drivers/clk/clk-gate.c | 2 + drivers/clk/clk-mux.c | 2 + drivers/clk/clk-ti-sci.c | 5 +- drivers/clk/clk-uclass.c | 9 +- drivers/clk/clk_fixed_factor.c | 1 + drivers/clk/clk_sandbox.c | 3 +- drivers/clk/clk_sandbox_ccf.c | 3 + drivers/clk/clk_sandbox_test.c | 3 + drivers/clk/clk_versal.c | 2 + drivers/clk/clk_vexpress_osc.c | 1 + drivers/clk/clk_zynq.c | 1 + drivers/clk/clk_zynqmp.c | 3 + drivers/clk/imx/clk-composite-8m.c | 2 + drivers/clk/imx/clk-gate2.c | 2 + drivers/clk/imx/clk-imx8.c | 1 + drivers/clk/imx/clk-pfd.c | 2 + drivers/clk/imx/clk-pll14xx.c | 2 + drivers/clk/imx/clk-pllv3.c | 2 + drivers/clk/meson/axg.c | 1 + drivers/clk/meson/g12a.c | 1 + drivers/clk/meson/gxbb.c | 1 + drivers/clk/mvebu/armada-37xx-periph.c | 1 + drivers/clk/mvebu/armada-37xx-tbg.c | 1 + drivers/clk/rockchip/clk_px30.c | 1 + drivers/clk/rockchip/clk_rk3036.c | 1 + drivers/clk/rockchip/clk_rk3128.c | 1 + drivers/clk/rockchip/clk_rk3188.c | 2 + drivers/clk/rockchip/clk_rk322x.c | 1 + drivers/clk/rockchip/clk_rk3288.c | 2 + drivers/clk/rockchip/clk_rk3308.c | 1 + drivers/clk/rockchip/clk_rk3328.c | 1 + drivers/clk/rockchip/clk_rk3368.c | 1 + drivers/clk/rockchip/clk_rk3399.c | 1 + drivers/clk/rockchip/clk_rv1108.c | 1 + drivers/clk/sifive/fu540-prci.c | 1 + drivers/clk/tegra/tegra-car-clk.c | 3 +- drivers/clk/uniphier/clk-uniphier-core.c | 1 + drivers/core/device.c | 85 +++++++++++--- drivers/core/devres.c | 2 + drivers/core/dump.c | 19 +++ drivers/core/fdtaddr.c | 26 ++--- drivers/core/of_access.c | 1 + drivers/core/ofnode.c | 72 +++++++----- drivers/core/read.c | 97 ++++++++-------- drivers/core/syscon-uclass.c | 1 + drivers/core/uclass.c | 4 - drivers/ddr/altera/sdram_gen5.c | 1 + drivers/ddr/altera/sdram_soc64.c | 1 + drivers/dfu/dfu_mtd.c | 1 + drivers/dma/bcm6348-iudma.c | 1 + drivers/dma/dma-uclass.c | 5 +- drivers/dma/sandbox-dma-test.c | 5 +- drivers/dma/ti/k3-udma.c | 8 +- drivers/firmware/ti_sci.c | 3 + drivers/fpga/fpga.c | 1 + drivers/gpio/74x164_gpio.c | 1 + drivers/gpio/adi_gpio2.c | 1 + drivers/gpio/at91_gpio.c | 1 + drivers/gpio/atmel_pio4.c | 1 + drivers/gpio/da8xx_gpio.c | 1 + drivers/gpio/dwapb_gpio.c | 2 + drivers/gpio/gpio-rcar.c | 4 +- drivers/gpio/gpio-uclass.c | 8 +- drivers/gpio/kona_gpio.c | 1 + drivers/gpio/mpc83xx_gpio.c | 1 + drivers/gpio/mscc_sgpio.c | 2 + drivers/gpio/mvgpio.c | 1 + drivers/gpio/mxs_gpio.c | 1 + drivers/gpio/pca953x_gpio.c | 1 + drivers/gpio/pca9698.c | 1 + drivers/gpio/sh_pfc.c | 1 + drivers/gpio/spear_gpio.c | 1 + drivers/gpio/stm32_gpio.c | 1 + drivers/hwspinlock/hwspinlock-uclass.c | 2 + drivers/hwspinlock/stm32_hwspinlock.c | 1 + drivers/i2c/ast_i2c.c | 1 + drivers/i2c/at91_i2c.c | 1 + drivers/i2c/designware_i2c.c | 3 + drivers/i2c/i2c-uniphier-f.c | 1 + drivers/i2c/i2c-uniphier.c | 1 + drivers/i2c/imx_lpi2c.c | 1 + drivers/i2c/meson_i2c.c | 1 + drivers/i2c/muxes/i2c-arb-gpio-challenge.c | 1 + drivers/i2c/muxes/i2c-mux-gpio.c | 2 + drivers/i2c/muxes/i2c-mux-uclass.c | 1 + drivers/i2c/muxes/pca954x.c | 1 + drivers/i2c/mxc_i2c.c | 1 + drivers/i2c/rcar_i2c.c | 1 + drivers/i2c/stm32f7_i2c.c | 1 + drivers/i2c/tegra_i2c.c | 1 + drivers/i2c/xilinx_xiic.c | 1 + drivers/led/led_gpio.c | 1 + drivers/mailbox/k3-sec-proxy.c | 4 +- drivers/mailbox/mailbox-uclass.c | 5 +- drivers/mailbox/sandbox-mbox-test.c | 1 + drivers/mailbox/sandbox-mbox.c | 3 +- drivers/mailbox/stm32-ipcc.c | 4 +- drivers/mailbox/tegra-hsp.c | 3 +- drivers/mailbox/zynqmp-ipi.c | 1 + drivers/misc/cros_ec_sandbox.c | 8 +- drivers/misc/imx8/scu_api.c | 1 + drivers/misc/k3_avs.c | 1 + drivers/misc/microchip_flexcom.c | 1 + drivers/misc/p2sb-uclass.c | 1 + drivers/misc/p2sb_emul.c | 5 +- drivers/misc/stm32_rcc.c | 1 + drivers/misc/swap_case.c | 9 +- drivers/misc/tegra186_bpmp.c | 2 + drivers/misc/vexpress_config.c | 1 + drivers/mmc/am654_sdhci.c | 2 + drivers/mmc/arm_pl180_mmci.c | 1 + drivers/mmc/aspeed_sdhci.c | 1 + drivers/mmc/bcm2835_sdhost.c | 1 + drivers/mmc/fsl_esdhc.c | 1 + drivers/mmc/fsl_esdhc_imx.c | 2 + drivers/mmc/jz_mmc.c | 1 + drivers/mmc/mmc-uclass.c | 2 + drivers/mmc/msm_sdhci.c | 1 + drivers/mmc/mtk-sd.c | 1 + drivers/mmc/omap_hsmmc.c | 2 + drivers/mmc/renesas-sdhi.c | 2 + drivers/mmc/rockchip_sdhci.c | 1 + drivers/mmc/sdhci-cadence.c | 1 + drivers/mmc/sh_mmcif.c | 1 + drivers/mmc/sh_sdhi.c | 1 + drivers/mmc/snps_dw_mmc.c | 1 + drivers/mmc/socfpga_dw_mmc.c | 1 + drivers/mmc/stm32_sdmmc2.c | 1 + drivers/mmc/tegra_mmc.c | 1 + drivers/mmc/tmio-common.c | 1 + drivers/mmc/uniphier-sd.c | 2 + drivers/mmc/zynq_sdhci.c | 2 + drivers/mtd/hbmc-am654.c | 1 + drivers/mtd/mtd_uboot.c | 2 + drivers/mtd/mtdconcat.c | 1 + drivers/mtd/mtdcore.c | 5 +- drivers/mtd/mtdpart.c | 1 + drivers/mtd/nand/bbt.c | 1 + drivers/mtd/nand/core.c | 1 + drivers/mtd/nand/raw/atmel_nand.c | 2 + drivers/mtd/nand/raw/brcmnand/bcm63158_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6838_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/bcm6858_nand.c | 1 + drivers/mtd/nand/raw/brcmnand/brcmnand.c | 3 + drivers/mtd/nand/raw/brcmnand/brcmnand_compat.c | 2 + drivers/mtd/nand/raw/denali.c | 6 +- drivers/mtd/nand/raw/denali_dt.c | 1 + drivers/mtd/nand/raw/fsl_elbc_nand.c | 1 + drivers/mtd/nand/raw/fsl_ifc_nand.c | 1 + drivers/mtd/nand/raw/mxs_nand_spl.c | 1 + drivers/mtd/nand/raw/nand_base.c | 1 + drivers/mtd/nand/raw/nand_bbt.c | 1 + drivers/mtd/nand/raw/nand_bch.c | 1 + drivers/mtd/nand/raw/nand_timings.c | 1 + drivers/mtd/nand/raw/nand_util.c | 1 + drivers/mtd/nand/raw/pxa3xx_nand.c | 3 + drivers/mtd/nand/raw/stm32_fmc2_nand.c | 1 + drivers/mtd/nand/raw/sunxi_nand.c | 4 + drivers/mtd/nand/raw/tegra_nand.c | 1 + drivers/mtd/nand/raw/vf610_nfc.c | 1 + drivers/mtd/nand/spi/core.c | 4 +- drivers/mtd/nand/spi/gigadevice.c | 3 +- drivers/mtd/nand/spi/macronix.c | 3 +- drivers/mtd/nand/spi/micron.c | 3 +- drivers/mtd/nand/spi/winbond.c | 3 +- drivers/mtd/onenand/onenand_base.c | 1 + drivers/mtd/renesas_rpc_hf.c | 2 + drivers/mtd/spi/sf-uclass.c | 1 + drivers/mtd/spi/spi-nor-core.c | 2 + drivers/mtd/spi/spi-nor-tiny.c | 1 + drivers/mtd/ubi/attach.c | 1 + drivers/mtd/ubi/build.c | 1 + drivers/mtd/ubi/debug.c | 2 + drivers/mtd/ubi/eba.c | 1 + drivers/mtd/ubi/fastmap.c | 2 + drivers/mtd/ubi/io.c | 1 + drivers/mtd/ubi/kapi.c | 1 + drivers/mtd/ubi/misc.c | 1 + drivers/mtd/ubi/upd.c | 1 + drivers/mtd/ubi/vmt.c | 1 + drivers/mtd/ubi/vtbl.c | 1 + drivers/mtd/ubi/wl.c | 1 + drivers/net/bcm6348-eth.c | 1 + drivers/net/bcm6368-eth.c | 2 + drivers/net/designware.c | 2 + drivers/net/dwc_eth_qos.c | 1 + drivers/net/dwmac_socfpga.c | 2 + drivers/net/e1000.c | 1 + drivers/net/e1000_spi.c | 1 + drivers/net/fsl-mc/dpio/qbman_portal.c | 1 + drivers/net/fsl-mc/mc.c | 1 + drivers/net/fsl_enetc.c | 1 + drivers/net/ftgmac100.c | 2 + drivers/net/higmacv300.c | 1 + drivers/net/mscc_eswitch/jr2_switch.c | 1 + drivers/net/mscc_eswitch/luton_switch.c | 1 + drivers/net/mscc_eswitch/ocelot_switch.c | 1 + drivers/net/mscc_eswitch/serval_switch.c | 1 + drivers/net/mscc_eswitch/servalt_switch.c | 1 + drivers/net/mtk_eth.c | 1 + drivers/net/mvneta.c | 2 + drivers/net/mvpp2.c | 3 + drivers/net/pch_gbe.c | 1 + drivers/net/pfe_eth/pfe_driver.c | 1 + drivers/net/pfe_eth/pfe_eth.c | 1 + drivers/net/pfe_eth/pfe_firmware.c | 1 + drivers/net/pfe_eth/pfe_mdio.c | 1 + drivers/net/phy/dp83867.c | 1 + drivers/net/phy/fixed.c | 1 + drivers/net/pic32_eth.c | 1 + drivers/net/sandbox-raw-bus.c | 1 + drivers/net/sni_ave.c | 7 +- drivers/net/sun8i_emac.c | 1 + drivers/net/sunxi_emac.c | 1 + drivers/net/ti/am65-cpsw-nuss.c | 2 + drivers/net/ti/cpsw-common.c | 1 + drivers/net/ti/cpsw.c | 1 + drivers/net/ti/cpsw_mdio.c | 1 + drivers/net/zynq_gem.c | 2 + drivers/nvme/nvme.c | 2 + drivers/pci/pci-aardvark.c | 3 +- drivers/pci/pci-emul-uclass.c | 2 +- drivers/pci/pci-rcar-gen2.c | 4 +- drivers/pci/pci-rcar-gen3.c | 6 +- drivers/pci/pci-uclass.c | 33 +++--- drivers/pci/pci_mpc85xx.c | 2 +- drivers/pci/pci_mvebu.c | 3 +- drivers/pci/pci_sandbox.c | 2 +- drivers/pci/pci_sh7751.c | 4 +- drivers/pci/pci_tegra.c | 2 +- drivers/pci/pci_x86.c | 5 +- drivers/pci/pcie_dw_mvebu.c | 2 +- drivers/pci/pcie_dw_ti.c | 4 +- drivers/pci/pcie_ecam_generic.c | 11 +- drivers/pci/pcie_fsl.c | 3 +- drivers/pci/pcie_imx.c | 3 +- drivers/pci/pcie_intel_fpga.c | 5 +- drivers/pci/pcie_layerscape.c | 4 +- drivers/pci/pcie_layerscape_gen4.c | 2 +- drivers/pci/pcie_mediatek.c | 6 +- drivers/pci/pcie_phytium.c | 7 +- drivers/pci/pcie_xilinx.c | 4 +- drivers/phy/allwinner/phy-sun4i-usb.c | 2 + drivers/phy/bcm6318-usbh-phy.c | 1 + drivers/phy/bcm6348-usbh-phy.c | 1 + drivers/phy/bcm6358-usbh-phy.c | 1 + drivers/phy/bcm6368-usbh-phy.c | 1 + drivers/phy/marvell/comphy_core.c | 2 + drivers/phy/meson-g12a-usb2.c | 1 + drivers/phy/meson-g12a-usb3-pcie.c | 1 + drivers/phy/meson-gxl-usb2.c | 1 + drivers/phy/meson-gxl-usb3.c | 1 + drivers/phy/omap-usb2-phy.c | 1 + drivers/phy/phy-mtk-tphy.c | 3 + drivers/phy/phy-rcar-gen2.c | 2 + drivers/phy/phy-rcar-gen3.c | 1 + drivers/phy/phy-stm32-usbphyc.c | 1 + drivers/phy/phy-ti-am654.c | 2 + drivers/phy/ti-pipe3-phy.c | 1 + drivers/pinctrl/broadcom/pinctrl-bcm6838.c | 1 + drivers/pinctrl/intel/pinctrl.c | 2 + drivers/pinctrl/meson/pinctrl-meson.c | 2 + drivers/pinctrl/mscc/mscc-common.c | 2 + drivers/pinctrl/mtmips/pinctrl-mtmips-common.c | 1 + drivers/pinctrl/mvebu/pinctrl-armada-37xx.c | 3 + drivers/pinctrl/nxp/pinctrl-imx.c | 3 + drivers/pinctrl/nxp/pinctrl-mxs.c | 2 + drivers/pinctrl/pinctrl-generic.c | 1 + drivers/pinctrl/pinctrl-single.c | 1 + drivers/pinctrl/pinctrl-stmfx.c | 1 + drivers/pinctrl/pinctrl-uclass.c | 2 + drivers/pinctrl/pinctrl_stm32.c | 3 + drivers/pinctrl/renesas/pfc.c | 2 + drivers/pinctrl/uniphier/pinctrl-uniphier-core.c | 1 + drivers/power/acpi_pmc/pmc_emul.c | 2 +- drivers/power/domain/bcm6328-power-domain.c | 3 +- drivers/power/domain/imx8-power-domain-legacy.c | 3 +- drivers/power/domain/imx8-power-domain.c | 3 +- drivers/power/domain/imx8m-power-domain.c | 3 +- drivers/power/domain/meson-ee-pwrc.c | 4 +- drivers/power/domain/meson-gx-pwrc-vpu.c | 4 +- drivers/power/domain/mtk-power-domain.c | 4 +- drivers/power/domain/power-domain-uclass.c | 3 +- drivers/power/domain/sandbox-power-domain-test.c | 1 + drivers/power/domain/sandbox-power-domain.c | 3 +- drivers/power/domain/tegra186-power-domain.c | 3 +- drivers/power/domain/ti-sci-power-domain.c | 5 +- drivers/power/pmic/fan53555.c | 1 + drivers/power/pmic/i2c_pmic_emul.c | 17 ++- drivers/power/pmic/stpmic1.c | 1 + drivers/power/regulator/pbias_regulator.c | 1 + drivers/power/regulator/pwm_regulator.c | 1 + drivers/power/regulator/stm32-vrefbuf.c | 1 + drivers/power/regulator/tps62360_regulator.c | 1 + drivers/ram/imxrt_sdram.c | 1 + drivers/ram/k3-am654-ddrss.c | 1 + drivers/ram/k3-j721e/k3-j721e-ddrss.c | 1 + drivers/ram/rockchip/dmc-rk3368.c | 1 + drivers/ram/stm32_sdram.c | 1 + drivers/remoteproc/k3_system_controller.c | 1 + drivers/remoteproc/rproc-elf-loader.c | 2 + drivers/remoteproc/stm32_copro.c | 2 + drivers/remoteproc/ti_k3_arm64_rproc.c | 2 + drivers/remoteproc/ti_k3_dsp_rproc.c | 3 + drivers/remoteproc/ti_k3_r5f_rproc.c | 3 + drivers/reset/reset-bcm6345.c | 3 +- drivers/reset/reset-hisilicon.c | 3 +- drivers/reset/reset-hsdk.c | 2 +- drivers/reset/reset-imx7.c | 3 +- drivers/reset/reset-mediatek.c | 4 +- drivers/reset/reset-meson.c | 3 +- drivers/reset/reset-mtmips.c | 3 +- drivers/reset/reset-rockchip.c | 3 +- drivers/reset/reset-socfpga.c | 3 +- drivers/reset/reset-sunxi.c | 3 +- drivers/reset/reset-ti-sci.c | 5 +- drivers/reset/reset-uclass.c | 4 +- drivers/reset/reset-uniphier.c | 4 +- drivers/reset/sandbox-reset-test.c | 1 + drivers/reset/sandbox-reset.c | 3 +- drivers/reset/sti-reset.c | 3 +- drivers/reset/stm32-reset.c | 3 +- drivers/reset/tegra-car-reset.c | 3 +- drivers/reset/tegra186-reset.c | 3 +- drivers/rtc/ds3232.c | 1 + drivers/rtc/rv3029.c | 1 + drivers/rtc/stm32_rtc.c | 2 + drivers/serial/atmel_usart.c | 1 + drivers/serial/ns16550.c | 1 + drivers/serial/serial-uclass.c | 1 + drivers/serial/serial_bcm6345.c | 1 + drivers/serial/serial_lpuart.c | 1 + drivers/serial/serial_msm.c | 1 + drivers/serial/serial_mtk.c | 3 +- drivers/serial/serial_omap.c | 1 + drivers/serial/serial_pic32.c | 1 + drivers/serial/serial_sifive.c | 1 + drivers/serial/serial_stm32.c | 1 + drivers/serial/serial_zynq.c | 2 + drivers/smem/msm_smem.c | 3 + drivers/soc/ti/k3-navss-ringacc.c | 3 + drivers/sound/sandbox.c | 21 +++- drivers/sound/sound-uclass.c | 17 ++- drivers/spi/atmel-quadspi.c | 3 + drivers/spi/bcm63xx_hsspi.c | 1 + drivers/spi/bcm63xx_spi.c | 1 + drivers/spi/cadence_qspi.c | 2 + drivers/spi/designware_spi.c | 1 + drivers/spi/mvebu_a3700_spi.c | 1 + drivers/spi/mxc_spi.c | 1 + drivers/spi/nxp_fspi.c | 1 + drivers/spi/spi-mem-nodm.c | 1 + drivers/spi/spi-mem.c | 2 + drivers/spi/spi-sunxi.c | 1 + drivers/spi/stm32_qspi.c | 1 + drivers/spi/stm32_spi.c | 2 + drivers/spi/ti_qspi.c | 1 + drivers/spi/uniphier_spi.c | 1 + drivers/spi/zynqmp_gqspi.c | 2 + drivers/spmi/spmi-msm.c | 1 + drivers/sysreset/sysreset-ti-sci.c | 2 + drivers/sysreset/sysreset_syscon.c | 1 + drivers/tee/optee/core.c | 2 + drivers/tee/optee/rpmb.c | 1 + drivers/tee/optee/supplicant.c | 1 + drivers/tee/tee-uclass.c | 3 +- drivers/timer/ast_timer.c | 1 + drivers/timer/cadence-ttc.c | 1 + drivers/timer/dw-apb-timer.c | 2 + drivers/timer/ostm_timer.c | 1 + drivers/timer/stm32_timer.c | 1 + drivers/timer/timer-uclass.c | 1 + drivers/tpm/Kconfig | 6 + drivers/tpm/Makefile | 1 + drivers/tpm/tpm2_ftpm_tee.c | 250 ++++++++++++++++++++++++++++++++++++++++ drivers/tpm/tpm2_ftpm_tee.h | 35 ++++++ drivers/ufs/cdns-platform.c | 2 + drivers/ufs/ti-j721e-ufs.c | 2 + drivers/ufs/ufs.c | 2 + drivers/usb/cdns3/cdns3-ti.c | 1 + drivers/usb/cdns3/core.c | 2 + drivers/usb/cdns3/drd.c | 1 + drivers/usb/cdns3/ep0.c | 1 + drivers/usb/cdns3/gadget.c | 3 + drivers/usb/cdns3/host.c | 1 + drivers/usb/dwc3/core.c | 3 + drivers/usb/dwc3/dwc3-omap.c | 2 + drivers/usb/dwc3/dwc3-uniphier.c | 1 + drivers/usb/dwc3/ep0.c | 1 + drivers/usb/dwc3/gadget.c | 2 + drivers/usb/dwc3/ti_usb_phy.c | 2 + drivers/usb/gadget/at91_udc.c | 2 + drivers/usb/gadget/composite.c | 1 + drivers/usb/gadget/dwc2_udc_otg.c | 2 + drivers/usb/gadget/f_mass_storage.c | 1 + drivers/usb/gadget/pxa25x_udc.c | 1 + drivers/usb/gadget/storage_common.c | 1 + drivers/usb/gadget/udc/udc-core.c | 2 + drivers/usb/host/dwc2.c | 1 + drivers/usb/host/ehci-atmel.c | 1 + drivers/usb/host/ehci-generic.c | 2 + drivers/usb/host/ehci-hcd.c | 1 + drivers/usb/host/ohci-da8xx.c | 3 + drivers/usb/host/ohci-generic.c | 2 + drivers/usb/host/r8a66597-hcd.c | 1 + drivers/usb/host/xhci-rcar.c | 2 + drivers/usb/musb-new/am35x.c | 2 + drivers/usb/musb-new/da8xx.c | 1 + drivers/usb/musb-new/musb_core.c | 2 + drivers/usb/musb-new/musb_dsps.c | 2 + drivers/usb/musb-new/musb_gadget.c | 2 + drivers/usb/musb-new/musb_gadget_ep0.c | 1 + drivers/usb/musb-new/musb_host.c | 2 + drivers/usb/musb-new/musb_uboot.c | 2 + drivers/usb/musb-new/omap2430.c | 2 + drivers/usb/musb-new/pic32.c | 1 + drivers/usb/musb-new/sunxi.c | 2 + drivers/usb/musb-new/ti-musb.c | 1 + drivers/usb/phy/omap_usb_phy.c | 1 + drivers/video/Kconfig | 4 +- drivers/video/atmel_hlcdfb.c | 1 + drivers/video/console_truetype.c | 22 ++++ drivers/video/da8xx-fb.c | 1 + drivers/video/dw_mipi_dsi.c | 1 + drivers/video/exynos/exynos_mipi_dsi.c | 1 + drivers/video/hitachi_tx18d42vm_lcd.c | 1 + drivers/video/mali_dp.c | 2 + drivers/video/mipi_dsi.c | 1 + drivers/video/mvebu_lcd.c | 1 + drivers/video/mxsfb.c | 1 + drivers/video/orisetech_otm8009a.c | 1 + drivers/video/pwm_backlight.c | 1 + drivers/video/raydium-rm68200.c | 1 + drivers/video/rockchip/rk3288_hdmi.c | 1 + drivers/video/rockchip/rk3288_mipi.c | 1 + drivers/video/rockchip/rk3399_mipi.c | 1 + drivers/video/rockchip/rk_edp.c | 1 + drivers/video/rockchip/rk_vop.c | 1 + drivers/video/sandbox_osd.c | 1 + drivers/video/sandbox_sdl.c | 13 ++- drivers/video/scf0403_lcd.c | 1 + drivers/video/ssd2828.c | 1 + drivers/video/stm32/stm32_dsi.c | 1 + drivers/video/stm32/stm32_ltdc.c | 1 + drivers/video/tegra124/sor.c | 1 + drivers/video/video-uclass.c | 1 + drivers/virtio/virtio-uclass.c | 1 + drivers/virtio/virtio_mmio.c | 1 + drivers/virtio/virtio_pci_legacy.c | 1 + drivers/virtio/virtio_pci_modern.c | 1 + drivers/virtio/virtio_ring.c | 1 + drivers/virtio/virtio_sandbox.c | 1 + drivers/w1-eeprom/ds2502.c | 1 + drivers/w1/mxc_w1.c | 1 + drivers/watchdog/armada-37xx-wdt.c | 1 + drivers/watchdog/ast_wdt.c | 1 + drivers/watchdog/cdns_wdt.c | 2 + drivers/watchdog/sp805_wdt.c | 1 + drivers/watchdog/xilinx_tb_wdt.c | 1 + fs/ext4/ext4_write.c | 1 + fs/ext4/ext4fs.c | 1 + fs/fat/fat_write.c | 1 + fs/sandbox/sandboxfs.c | 1 + fs/ubifs/debug.c | 1 + fs/ubifs/gc.c | 1 + fs/ubifs/io.c | 1 + fs/ubifs/log.c | 1 + fs/ubifs/lprops.c | 1 + fs/ubifs/lpt.c | 1 + fs/ubifs/lpt_commit.c | 1 + fs/ubifs/master.c | 1 + fs/ubifs/orphan.c | 1 + fs/ubifs/recovery.c | 1 + fs/ubifs/replay.c | 1 + fs/ubifs/sb.c | 1 + fs/ubifs/scan.c | 1 + fs/ubifs/super.c | 1 + fs/ubifs/tnc.c | 1 + fs/ubifs/tnc_misc.c | 1 + fs/ubifs/ubifs.c | 2 + fs/yaffs2/yaffs_allocator.c | 1 + fs/yaffs2/yaffs_checkptrw.c | 1 + fs/yaffs2/yaffs_guts.c | 1 + fs/yaffs2/yaffs_nandif.c | 1 + fs/yaffs2/yaffs_summary.c | 1 + fs/yaffs2/yaffs_uboot_glue.c | 1 + fs/yaffs2/yaffs_yaffs1.c | 1 + fs/yaffs2/yaffs_yaffs2.c | 1 + fs/yaffs2/yaffsfs.c | 1 + include/asm-generic/gpio.h | 2 +- include/bloblist.h | 16 ++- include/clk-uclass.h | 4 +- include/console.h | 19 +++ include/dm/device.h | 185 ++++++++++++++++-------------- include/dm/device_compat.h | 86 ++++++++++++++ include/dm/devres.h | 4 + include/dm/fdtaddr.h | 26 ++--- include/dm/ofnode.h | 39 ++++++- include/dm/read.h | 212 ++++++++++++++++++---------------- include/dm/util.h | 3 + include/dma-uclass.h | 4 +- include/fdtdec.h | 2 +- include/linux/clk-provider.h | 1 + include/linux/compat.h | 3 + include/linux/mtd/mtd.h | 4 +- include/linux/string.h | 7 +- include/mailbox-uclass.h | 4 +- include/malloc.h | 24 +++- include/os.h | 22 +--- include/pci.h | 38 +++--- include/phy.h | 1 + include/power-domain-uclass.h | 4 +- include/reset-uclass.h | 4 +- include/sound.h | 12 ++ include/test/test.h | 4 + include/test/ut.h | 109 ++++++++++++++---- include/tpm-common.h | 3 + lib/bch.c | 2 + lib/binman.c | 1 + lib/bzip2/bzlib.c | 1 + lib/crypto/asymmetric_type.c | 2 + lib/crypto/pkcs7_parser.c | 1 + lib/crypto/public_key.c | 2 + lib/crypto/rsa_helper.c | 1 + lib/crypto/x509_cert_parser.c | 1 + lib/crypto/x509_public_key.c | 2 + lib/efi/efi.c | 1 + lib/efi/efi_app.c | 1 + lib/efi/efi_stub.c | 1 + lib/efi_driver/efi_block_device.c | 1 + lib/efi_driver/efi_uclass.c | 1 + lib/efi_loader/efi_console.c | 1 + lib/efi_loader/efi_runtime.c | 1 + lib/fdtdec.c | 3 +- lib/libavb/avb_cmdline.c | 1 + lib/libavb/avb_descriptor.c | 1 + lib/libavb/avb_rsa.c | 1 + lib/libavb/avb_slot_verify.c | 1 + lib/libavb/avb_sysdeps_posix.c | 1 + lib/libavb/avb_util.c | 1 + lib/linux_compat.c | 1 + lib/list_sort.c | 1 + lib/lmb.c | 1 + lib/rsa/rsa-sign.c | 1 + lib/rsa/rsa-verify.c | 1 + lib/string.c | 2 +- lib/zstd/decompress.c | 1 + lib/zstd/zstd_common.c | 1 + net/mdio-uclass.c | 3 + post/post.c | 1 + scripts/dtc/checks.c | 13 +++ scripts/dtc/dtc-lexer.l | 7 ++ scripts/dtc/dtc-parser.y | 17 +++ scripts/dtc/dtc.h | 4 + scripts/dtc/livetree.c | 14 +++ test/bloblist.c | 61 +++++++++- test/dm/clk.c | 1 + test/dm/devres.c | 1 + test/dm/dma.c | 1 + test/dm/gpio.c | 1 + test/dm/mailbox.c | 1 + test/dm/ofnode.c | 55 +++++++++ test/dm/power-domain.c | 1 + test/dm/regmap.c | 1 + test/dm/reset.c | 1 + test/dm/sound.c | 1 + test/dm/spmi.c | 1 + test/dm/syscon.c | 1 + test/dm/tee.c | 1 + test/dm/test-fdt.c | 39 +++++++ test/dm/test-main.c | 4 +- test/dm/video.c | 1 + test/lib/lmb.c | 1 + test/unicode_ut.c | 1 + test/ut.c | 46 ++++++++ tools/buildman/toolchain.py | 2 + 702 files changed, 2775 insertions(+), 759 deletions(-) create mode 100644 arch/sandbox/include/asm/malloc.h create mode 100644 drivers/tpm/tpm2_ftpm_tee.c create mode 100644 drivers/tpm/tpm2_ftpm_tee.h create mode 100644 include/dm/device_compat.h
Regards, Simon

Hi Tom,
On Thu, 6 Feb 2020 at 14:58, Tom Rini trini@konsulko.com wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
I'll push those changes shortly then, thanks.
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Looks like something is unhappy with your runner?
Ah I see, thank you. Well I'll wait for your thoughts on the other thread.
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
I'll take a look soon, thanks.
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
sandbox conversion to SDL2 TPM TEE driver Various minor sandbox video enhancements New driver model core utility functions
Regards, Simon

On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common

Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
Regards, Simon

Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
Regards, Simon

Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Regards, Simon

On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.

On 2/11/20 11:27 AM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); ^ CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.
Now that this has been merged, the build break has come along with it. Is there any chance of picking up the fix from the x86 tree quickly?

On Tue, Feb 11, 2020 at 03:02:12PM -0700, Stephen Warren wrote:
On 2/11/20 11:27 AM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote:
On 2/6/20 2:55 PM, Simon Glass wrote: > Hi Tom, > > This cannot be pulled yet since we need to update gitlab's docker > image to include SDL2. But gitlab seems to be having various problems > this week and today i won't work at all: ...
I see the following build error in u-boot-dm/master via Jenkins:
> drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: > drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] > ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); > ^ > CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.
Now that this has been merged, the build break has come along with it. Is there any chance of picking up the fix from the x86 tree quickly?
I thought we agreed that it seemed like a compiler problem for throwing up a false-positive? But are you unable to move up to something a bit newer? Thanks!

On 2/11/20 3:06 PM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 03:02:12PM -0700, Stephen Warren wrote:
On 2/11/20 11:27 AM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote: > > On 2/6/20 2:55 PM, Simon Glass wrote: >> Hi Tom, >> >> This cannot be pulled yet since we need to update gitlab's docker >> image to include SDL2. But gitlab seems to be having various problems >> this week and today i won't work at all: ... > > I see the following build error in u-boot-dm/master via Jenkins: > >> drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: >> drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] >> ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); >> ^ >> CC common
Hmmm that's odd. I don't see that, but there are so many device-tree and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.
Now that this has been merged, the build break has come along with it. Is there any chance of picking up the fix from the x86 tree quickly?
I thought we agreed that it seemed like a compiler problem for throwing up a false-positive? But are you unable to move up to something a bit newer? Thanks!
It might be possible to upgrade the compiler yet again. I'd rather not keep changing compilers all the time, which entails extra disk space etc. It's trivial to solve this issue (a patch has already been posted). I don't think forcing everyone to change compilers just because some easily-fixable warning appears is a good idea.
The code structure in question legitimately warns; it's only by analysis of additional possibly-inlined functions that happen to be in the same source file that the compiler could tell if the warning is false. If those called functions just happened to be implemented in a different source file, the same warning would be 100% legitimately emitted and probably is even with newer compilers, and the same fix would need to be applied. I'm not sure I'd go so far as to call this a compiler bug.

On Tue, Feb 11, 2020 at 05:15:39PM -0700, Stephen Warren wrote:
On 2/11/20 3:06 PM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 03:02:12PM -0700, Stephen Warren wrote:
On 2/11/20 11:27 AM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote:
Hi Stephen,
On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote: > > Hi Stephen, > > On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote: > > > > On 2/6/20 2:55 PM, Simon Glass wrote: > > > Hi Tom, > > > > > > This cannot be pulled yet since we need to update gitlab's docker > > > image to include SDL2. But gitlab seems to be having various problems > > > this week and today i won't work at all: ... > > > > I see the following build error in u-boot-dm/master via Jenkins: > > > > > drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: > > > drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] > > > ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); > > > ^ > > > CC common > > Hmmm that's odd. I don't see that, but there are so many device-tree > and libfdt warnings at present I may have missed it. Will take a look.
That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to set child to NULL at the start, but a look at the code shows that it is correct.
Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.
Now that this has been merged, the build break has come along with it. Is there any chance of picking up the fix from the x86 tree quickly?
I thought we agreed that it seemed like a compiler problem for throwing up a false-positive? But are you unable to move up to something a bit newer? Thanks!
It might be possible to upgrade the compiler yet again. I'd rather not keep changing compilers all the time, which entails extra disk space etc. It's trivial to solve this issue (a patch has already been posted). I don't think forcing everyone to change compilers just because some easily-fixable warning appears is a good idea.
The code structure in question legitimately warns; it's only by analysis of additional possibly-inlined functions that happen to be in the same source file that the compiler could tell if the warning is false. If those called functions just happened to be implemented in a different source file, the same warning would be 100% legitimately emitted and probably is even with newer compilers, and the same fix would need to be applied. I'm not sure I'd go so far as to call this a compiler bug.
So, we enforce using gcc-6.0 or newer (in reality 6.1, there is no 6.0 release). That's 4 years old this April. In CI, we use gcc 7.3 (which is 2 years old now) and have accepted that if you aren't using at least that version some platforms may not optimize-for-size sufficiently. The flip side of all of this is the problems we keep getting reported and fixes for using gcc-9.x which we can't easily globally switch to, unfortunately.
For a one compiler to use everywhere I would suggest the 7.3 that buildman fetches from kernel.org and has for a long while.
That said, since Bin is the one who was unhappy with the warning-fix to start with but has since taken a patch for it, I'm not going to overrule him. I expect a PR shortly.

On 2/11/20 5:29 PM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 05:15:39PM -0700, Stephen Warren wrote:
On 2/11/20 3:06 PM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 03:02:12PM -0700, Stephen Warren wrote:
On 2/11/20 11:27 AM, Tom Rini wrote:
On Tue, Feb 11, 2020 at 11:20:36AM -0700, Simon Glass wrote:
Hi Tom,
On Sat, 8 Feb 2020 at 07:51, Simon Glass sjg@google.com wrote: > > Hi Stephen, > > On Thu, 6 Feb 2020 at 15:38, Simon Glass sjg@google.com wrote: >> >> Hi Stephen, >> >> On Thu, 6 Feb 2020 at 15:32, Stephen Warren swarren@wwwdotorg.org wrote: >>> >>> On 2/6/20 2:55 PM, Simon Glass wrote: >>>> Hi Tom, >>>> >>>> This cannot be pulled yet since we need to update gitlab's docker >>>> image to include SDL2. But gitlab seems to be having various problems >>>> this week and today i won't work at all: ... >>> >>> I see the following build error in u-boot-dm/master via Jenkins: >>> >>>> drivers/misc/p2sb_emul.c: In function ‘sandbox_p2sb_emul_map_physmem’: >>>> drivers/misc/p2sb_emul.c:237:6: warning: ‘child’ may be used uninitialized in this function [-Wmaybe-uninitialized] >>>> ret = axi_read(child, offset, priv->regs, AXI_SIZE_32); >>>> ^ >>>> CC common >> >> Hmmm that's odd. I don't see that, but there are so many device-tree >> and libfdt warnings at present I may have missed it. Will take a look. > > That doesn't happen with my gcc 7.3 toolchain. I'll send a patch to > set child to NULL at the start, but a look at the code shows that it > is correct. > > Also this is in master and was not introduced by this series.
A fix for this is going in via the x86 tree.
Tom, is there anything else you need from me for this pull request?
Testing it now, thanks.
Now that this has been merged, the build break has come along with it. Is there any chance of picking up the fix from the x86 tree quickly?
I thought we agreed that it seemed like a compiler problem for throwing up a false-positive? But are you unable to move up to something a bit newer? Thanks!
It might be possible to upgrade the compiler yet again. I'd rather not keep changing compilers all the time, which entails extra disk space etc. It's trivial to solve this issue (a patch has already been posted). I don't think forcing everyone to change compilers just because some easily-fixable warning appears is a good idea.
The code structure in question legitimately warns; it's only by analysis of additional possibly-inlined functions that happen to be in the same source file that the compiler could tell if the warning is false. If those called functions just happened to be implemented in a different source file, the same warning would be 100% legitimately emitted and probably is even with newer compilers, and the same fix would need to be applied. I'm not sure I'd go so far as to call this a compiler bug.
So, we enforce using gcc-6.0 or newer (in reality 6.1, there is no 6.0 release). That's 4 years old this April. In CI, we use gcc 7.3 (which is 2 years old now) and have accepted that if you aren't using at least that version some platforms may not optimize-for-size sufficiently. The flip side of all of this is the problems we keep getting reported and fixes for using gcc-9.x which we can't easily globally switch to, unfortunately.
For a one compiler to use everywhere I would suggest the 7.3 that buildman fetches from kernel.org and has for a long while.
That said, since Bin is the one who was unhappy with the warning-fix to start with but has since taken a patch for it, I'm not going to overrule him. I expect a PR shortly.
Great!
I apologize; I'd actually mis-diagnosed the compile failure I was seeing, so the warning fix isn't strictly necessary to make compilation work; it's just a warning, not a warning-treated-as-error like I thought it was.
What happened was that I started seeing U-Boot compilation failures, and looked back from the end of the log to find the error. I found this warning first, and assumed the failure was due to a warnings-are-errors setting and didn't look any further. The actual issue turned out to be that U-Boot sandbox build has a new dependency on libsdl2, and I didn't have that installed on my Jenkins system. I've now installed it, and the builds pass even with this warning still present.
Fixing the warning is probably a good thing to do in order to reduce noise back to 0, but wasn't my issue.

On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!

On Tue, Feb 11, 2020 at 03:26:10PM -0500, Tom Rini wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!
So I've pushed this but I think it was premature: https://gitlab.denx.de/u-boot/u-boot/-/jobs/57084 is a kind of failure I'm seeing reliably. I'm going to bisect down to which commit does this, but I suspect it's the whole of the SDL2 switch.

Hi Tom,
On Tue, 11 Feb 2020 at 14:30, Tom Rini trini@konsulko.com wrote:
On Tue, Feb 11, 2020 at 03:26:10PM -0500, Tom Rini wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!
So I've pushed this but I think it was premature: https://gitlab.denx.de/u-boot/u-boot/-/jobs/57084 is a kind of failure I'm seeing reliably. I'm going to bisect down to which commit does this, but I suspect it's the whole of the SDL2 switch.
Oh dear, I will take a look. But at least gitlab it builds with SDL2 now.
Regards, SImon

Hi Simon,
On Tue, 11 Feb 2020 16:03:14 -0700 Simon Glass sjg@google.com wrote:
Hi Tom,
On Tue, 11 Feb 2020 at 14:30, Tom Rini trini@konsulko.com wrote:
On Tue, Feb 11, 2020 at 03:26:10PM -0500, Tom Rini wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!
So I've pushed this but I think it was premature: https://gitlab.denx.de/u-boot/u-boot/-/jobs/57084 is a kind of failure I'm seeing reliably. I'm going to bisect down to which commit does this, but I suspect it's the whole of the SDL2 switch.
Oh dear, I will take a look. But at least gitlab it builds with SDL2 now.
Reverting commit af800722eb71 ("gitlab: Disable SDL when building sandbox") fixes this, it seems.
-- Anatolij

On Wed, Feb 12, 2020 at 12:10:41AM +0100, Anatolij Gustschin wrote:
Hi Simon,
On Tue, 11 Feb 2020 16:03:14 -0700 Simon Glass sjg@google.com wrote:
Hi Tom,
On Tue, 11 Feb 2020 at 14:30, Tom Rini trini@konsulko.com wrote:
On Tue, Feb 11, 2020 at 03:26:10PM -0500, Tom Rini wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!
So I've pushed this but I think it was premature: https://gitlab.denx.de/u-boot/u-boot/-/jobs/57084 is a kind of failure I'm seeing reliably. I'm going to bisect down to which commit does this, but I suspect it's the whole of the SDL2 switch.
Oh dear, I will take a look. But at least gitlab it builds with SDL2 now.
Reverting commit af800722eb71 ("gitlab: Disable SDL when building sandbox") fixes this, it seems.
Quicker than me, thanks!

Hi Anaolij,
On Tue, 11 Feb 2020 at 16:16, Tom Rini trini@konsulko.com wrote:
On Wed, Feb 12, 2020 at 12:10:41AM +0100, Anatolij Gustschin wrote:
Hi Simon,
On Tue, 11 Feb 2020 16:03:14 -0700 Simon Glass sjg@google.com wrote:
Hi Tom,
On Tue, 11 Feb 2020 at 14:30, Tom Rini trini@konsulko.com wrote:
On Tue, Feb 11, 2020 at 03:26:10PM -0500, Tom Rini wrote:
On Thu, Feb 06, 2020 at 02:55:49PM -0700, Simon Glass wrote:
Hi Tom,
This cannot be pulled yet since we need to update gitlab's docker image to include SDL2. But gitlab seems to be having various problems this week and today i won't work at all:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm/pipelines/2108
Travis is happy.
So I am sending this just FYI for now. Once things settle down I can do a new version if needed.
The following changes since commit f5cc89a82a9990ba9805ff5800c0872b891533ce:
Merge https://gitlab.denx.de/u-boot/custodians/u-boot-fsl-qoriq (2020-02-05 07:19:52 -0500)
are available in the Git repository at:
https://gitlab.denx.de/u-boot/custodians/u-boot-dm.git tags/dm-pull-6feb20
for you to fetch changes up to 21d651fb29cf268b1a5f64d080e3d352ee32c87f:
sandbox: Complete migration away from os_malloc() (2020-02-05 21:48:23 -0700)
Applied to u-boot/master, thanks!
So I've pushed this but I think it was premature: https://gitlab.denx.de/u-boot/u-boot/-/jobs/57084 is a kind of failure I'm seeing reliably. I'm going to bisect down to which commit does this, but I suspect it's the whole of the SDL2 switch.
Oh dear, I will take a look. But at least gitlab it builds with SDL2 now.
Reverting commit af800722eb71 ("gitlab: Disable SDL when building sandbox") fixes this, it seems.
Quicker than me, thanks!
Ah yes of course, thank you.
Will send a revert.
Regards, Simon
participants (4)
-
Anatolij Gustschin
-
Simon Glass
-
Stephen Warren
-
Tom Rini