diff options
39 files changed, 94 insertions, 57 deletions
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml index 670bbc0e163..c0f72a81136 100644 --- a/.azure-pipelines.yml +++ b/.azure-pipelines.yml @@ -2,14 +2,16 @@ variables: windows_vm: windows-2019 ubuntu_vm: ubuntu-18.04 macos_vm: macOS-10.15 - ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20211006-14Nov2021 + ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20220105-10Jan2022 # Add '-u 0' options for Azure pipelines, otherwise we get "permission # denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer", # since our $(ci_runner_image) user is not root. container_option: -u 0 work_dir: /u -jobs: +stages: +- stage: testsuites + jobs: - job: tools_only_windows displayName: 'Ensure host tools build for Windows' pool: @@ -199,6 +201,8 @@ jobs: export PATH=/opt/gcc-11.1.0-nolibc/arm-linux-gnueabi/bin:$PATH test/nokia_rx51_test.sh +- stage: test_py + jobs: - job: test_py displayName: 'test.py' pool: @@ -381,6 +385,8 @@ jobs: # Some tests using libguestfs-tools need the fuse device to run docker run "$@" --device /dev/fuse:/dev/fuse -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/test.sh +- stage: world_build + jobs: - job: build_the_world displayName: 'Build the World' pool: diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d06cca45fd0..4c44c01e7bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ # Grab our configured image. The source for this is found at: # https://source.denx.de/u-boot/gitlab-ci-runner -image: trini/u-boot-gitlab-ci-runner:focal-20211006-14Nov2021 +image: trini/u-boot-gitlab-ci-runner:focal-20220105-10Jan2022 # We run some tests in different order, to catch some failures quicker. stages: @@ -1129,6 +1129,10 @@ endif $(call deprecated,CONFIG_DM_ETH,Ethernet drivers,v2020.07,$(CONFIG_NET)) $(call deprecated,CONFIG_DM_I2C,I2C drivers,v2022.04,$(CONFIG_SYS_I2C_LEGACY)) $(call deprecated,CONFIG_DM_KEYBOARD,Keyboard drivers,v2022.10,$(CONFIG_KEYBOARD)) + @# CONFIG_SYS_TIMER_RATE has brackets in it for some boards which + @# confuses this rule. Use if() to send just a single character which + @# is enable to tell 'deprecated' that one of these symbols exists + $(call deprecated,CONFIG_TIMER,Timer drivers,v2023.01,$(if $(strip $(CONFIG_SYS_TIMER_RATE)$(CONFIG_SYS_TIMER_COUNTER)),x)) @# Check that this build does not use CONFIG options that we do not @# know about unless they are in Kconfig. All the existing CONFIG @# options are whitelisted, so new ones should not be added. @@ -2184,7 +2188,9 @@ CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h tools/version.h \ u-boot* MLO* SPL System.map fit-dtb.blob* \ u-boot-ivt.img.log u-boot-dtb.imx.log SPL.log u-boot.imx.log \ lpc32xx-* bl31.c bl31.elf bl31_*.bin image.map tispl.bin* \ - idbloader.img flash.bin flash.log defconfig keep-syms-lto.c + idbloader.img flash.bin flash.log defconfig keep-syms-lto.c \ + mkimage-out.spl.mkimage mkimage.spl.mkimage imx-boot.map \ + itb.fit.fit itb.fit.itb itb.map spl.map # Directories & files removed with 'make mrproper' MRPROPER_DIRS += include/config include/generated spl tpl \ @@ -2912,8 +2912,7 @@ details; basically, the header defines the following image properties: * Target Operating System (Provisions for OpenBSD, NetBSD, FreeBSD, 4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, INTEGRITY; - Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, LynxOS, - INTEGRITY). + Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, INTEGRITY). * Target CPU Architecture (Provisions for Alpha, ARM, Intel x86, IA64, MIPS, NDS32, Nios II, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit; Currently supported: ARM, Intel x86, MIPS, NDS32, Nios II, PowerPC). diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_serdes.c b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_serdes.c index 41c89b8904e..60769e139e4 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_serdes.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_serdes.c @@ -249,7 +249,7 @@ int setup_serdes_volt(u32 svdd) /* * If SVDD set failed, will not return directly, so that the - * serdes lanes can complete reseting. + * serdes lanes can complete resetting. */ ret = set_serdes_volt(svdd_tar); if (ret) diff --git a/arch/arm/mach-bcm283x/msg.c b/arch/arm/mach-bcm283x/msg.c index 01a8ed2a7b1..fe243e2dcae 100644 --- a/arch/arm/mach-bcm283x/msg.c +++ b/arch/arm/mach-bcm283x/msg.c @@ -194,7 +194,7 @@ int bcm2711_notify_vl805_reset(void) ret = bcm2835_mbox_call_prop(BCM2835_MBOX_PROP_CHAN, &msg_notify_vl805_reset->hdr); if (ret) { - printf("bcm2711: Faild to load vl805's firmware, %d\n", ret); + printf("bcm2711: Failed to load vl805's firmware, %d\n", ret); return -EIO; } diff --git a/arch/arm/mach-keystone/ddr3.c b/arch/arm/mach-keystone/ddr3.c index 9ee32841568..53117c2695c 100644 --- a/arch/arm/mach-keystone/ddr3.c +++ b/arch/arm/mach-keystone/ddr3.c @@ -344,7 +344,7 @@ void ddr3_check_ecc_int(u32 base) puts("DDR3 ECC 2-bit error interrupted\n"); if (!ecc_test) { - puts("Reseting the device ...\n"); + puts("Resetting the device ...\n"); reset_cpu(); } } diff --git a/boot/image.c b/boot/image.c index f792f2aa69a..c7ab034e08f 100644 --- a/boot/image.c +++ b/boot/image.c @@ -102,9 +102,6 @@ static const table_entry_t uimage_os[] = { { IH_OS_INVALID, "invalid", "Invalid OS", }, { IH_OS_ARM_TRUSTED_FIRMWARE, "arm-trusted-firmware", "ARM Trusted Firmware" }, { IH_OS_LINUX, "linux", "Linux", }, -#if defined(USE_HOSTCC) - { IH_OS_LYNXOS, "lynxos", "LynxOS", }, -#endif { IH_OS_NETBSD, "netbsd", "NetBSD", }, { IH_OS_OSE, "ose", "Enea OSE", }, { IH_OS_PLAN9, "plan9", "Plan 9", }, diff --git a/cmd/Kconfig b/cmd/Kconfig index d70dbd47880..dd7ab8df91a 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1012,7 +1012,7 @@ config CMD_IDE select IDE help Provides an 'ide' command which allows accessing the IDE drive, - reseting the IDE interface, printing the partition table and + resetting the IDE interface, printing the partition table and geting device info. It also enables the 'diskboot' command which permits booting from an IDE drive. diff --git a/common/fdt_support.c b/common/fdt_support.c index b2ba0825df3..c6b93e78890 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -1430,7 +1430,7 @@ int fdt_get_dma_range(const void *blob, int node, phys_addr_t *cpu, node = parent; parent = fdt_parent_offset(blob, node); if (parent < 0) { - printf("Found dma-ranges in root node, shoudln't happen\n"); + printf("Found dma-ranges in root node, shouldn't happen\n"); ret = -EINVAL; goto out; } diff --git a/doc/develop/driver-model/migration.rst b/doc/develop/driver-model/migration.rst index 3dbeea6537c..10f474e9cdf 100644 --- a/doc/develop/driver-model/migration.rst +++ b/doc/develop/driver-model/migration.rst @@ -106,3 +106,15 @@ Deadline: 2022.10 This is a legacy option which has been replaced by driver model. Maintainers should submit patches switching over to using CONFIG_DM_KEYBOARD and other base driver model options in time for inclusion in the 2022.10 release. + +CONFIG_SYS_TIMER_RATE and CONFIG_SYS_TIMER_COUNTER +-------------------------------------------------- +Deadline: 2023.01 + +These are legacy options which have been replaced by driver model. +Maintainers should submit patches switching over to using CONFIG_TIMER and +other base driver model options in time for inclusion in the 2022.10 release. + +There is only one method to implement, unless you want to support bootstage, +in which case you need an early timer also. For example drivers, see +sandbox_timer.c and rockchip_timer.c diff --git a/drivers/clk/clk-uclass.c b/drivers/clk/clk-uclass.c index 094b1abf13c..d245b672fae 100644 --- a/drivers/clk/clk-uclass.c +++ b/drivers/clk/clk-uclass.c @@ -57,7 +57,7 @@ static int clk_of_xlate_default(struct clk *clk, debug("%s(clk=%p)\n", __func__, clk); if (args->args_count > 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/clk_stm32f.c b/drivers/clk/clk_stm32f.c index e7c26db51c9..ed7660196ef 100644 --- a/drivers/clk/clk_stm32f.c +++ b/drivers/clk/clk_stm32f.c @@ -703,7 +703,7 @@ static int stm32_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args) dev_dbg(clk->dev, "clk=%p\n", clk); if (args->args_count != 2) { - dev_dbg(clk->dev, "Invaild args_count: %d\n", args->args_count); + dev_dbg(clk->dev, "Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/clk_stm32h7.c b/drivers/clk/clk_stm32h7.c index 20b36470994..d440c28eb48 100644 --- a/drivers/clk/clk_stm32h7.c +++ b/drivers/clk/clk_stm32h7.c @@ -835,7 +835,7 @@ static int stm32_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args) { if (args->args_count != 1) { - dev_dbg(clk->dev, "Invaild args_count: %d\n", args->args_count); + dev_dbg(clk->dev, "Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/clk_versaclock.c b/drivers/clk/clk_versaclock.c index 578668bcf83..89c8d02336a 100644 --- a/drivers/clk/clk_versaclock.c +++ b/drivers/clk/clk_versaclock.c @@ -627,7 +627,7 @@ static int vc5_clk_out_xlate(struct clk *hw, struct ofnode_phandle_args *args) unsigned int idx = args->args[0]; if (args->args_count != 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/renesas/clk-rcar-gen2.c b/drivers/clk/renesas/clk-rcar-gen2.c index d2d0169dd87..3a68c5ad0eb 100644 --- a/drivers/clk/renesas/clk-rcar-gen2.c +++ b/drivers/clk/renesas/clk-rcar-gen2.c @@ -256,7 +256,7 @@ static ulong gen2_clk_set_rate(struct clk *clk, ulong rate) static int gen2_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args) { if (args->args_count != 2) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/renesas/clk-rcar-gen3.c b/drivers/clk/renesas/clk-rcar-gen3.c index 6cf07fb4187..bcf5865222f 100644 --- a/drivers/clk/renesas/clk-rcar-gen3.c +++ b/drivers/clk/renesas/clk-rcar-gen3.c @@ -365,7 +365,7 @@ static ulong gen3_clk_set_rate(struct clk *clk, ulong rate) static int gen3_clk_of_xlate(struct clk *clk, struct ofnode_phandle_args *args) { if (args->args_count != 2) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/clk/ti/clk-ctrl.c b/drivers/clk/ti/clk-ctrl.c index 8ac085ee4f3..6cc02d2eeaa 100644 --- a/drivers/clk/ti/clk-ctrl.c +++ b/drivers/clk/ti/clk-ctrl.c @@ -83,7 +83,7 @@ static int clk_ti_ctrl_of_xlate(struct clk *clk, struct ofnode_phandle_args *args) { if (args->args_count != 2) { - dev_err(clk->dev, "invaild args_count: %d\n", args->args_count); + dev_err(clk->dev, "invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/core/of_addr.c b/drivers/core/of_addr.c index 3fbc0a7afa6..431dd4e565d 100644 --- a/drivers/core/of_addr.c +++ b/drivers/core/of_addr.c @@ -367,7 +367,7 @@ int of_get_dma_range(const struct device_node *dev, phys_addr_t *cpu, /* switch to that node */ parent = of_get_parent(dev); if (!parent) { - printf("Found dma-ranges in root node, shoudln't happen\n"); + printf("Found dma-ranges in root node, shouldn't happen\n"); ret = -EINVAL; goto out; } diff --git a/drivers/ddr/altera/sequencer.c b/drivers/ddr/altera/sequencer.c index 8a016f0628f..e402f2929ab 100644 --- a/drivers/ddr/altera/sequencer.c +++ b/drivers/ddr/altera/sequencer.c @@ -2770,7 +2770,7 @@ rw_mgr_mem_calibrate_dqs_enable_calibration(struct socfpga_sdrseq *seq, ret = rw_mgr_mem_calibrate_vfifo_find_dqs_en_phase(seq, rw_group); debug_cond(DLEVEL >= 1, - "%s:%d: g=%u found=%u; Reseting delay chain to zero\n", + "%s:%d: g=%u found=%u; Resetting delay chain to zero\n", __func__, __LINE__, rw_group, !ret); for (r = 0; r < seq->rwcfg->mem_number_of_ranks; diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c index 652ddbb62b8..012609bb537 100644 --- a/drivers/dma/dma-uclass.c +++ b/drivers/dma/dma-uclass.c @@ -35,7 +35,7 @@ static int dma_of_xlate_default(struct dma *dma, debug("%s(dma=%p)\n", __func__, dma); if (args->args_count > 1) { - pr_err("Invaild args_count: %d\n", args->args_count); + pr_err("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/hwspinlock/hwspinlock-uclass.c b/drivers/hwspinlock/hwspinlock-uclass.c index cbe72360117..e012d5a4c93 100644 --- a/drivers/hwspinlock/hwspinlock-uclass.c +++ b/drivers/hwspinlock/hwspinlock-uclass.c @@ -25,7 +25,7 @@ static int hwspinlock_of_xlate_default(struct hwspinlock *hws, struct ofnode_phandle_args *args) { if (args->args_count > 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/mailbox/k3-sec-proxy.c b/drivers/mailbox/k3-sec-proxy.c index 20fdb09f314..a862e55bc39 100644 --- a/drivers/mailbox/k3-sec-proxy.c +++ b/drivers/mailbox/k3-sec-proxy.c @@ -116,7 +116,7 @@ static int k3_sec_proxy_of_xlate(struct mbox_chan *chan, debug("%s(chan=%p)\n", __func__, chan); if (args->args_count != 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } ind = args->args[0]; diff --git a/drivers/mailbox/mailbox-uclass.c b/drivers/mailbox/mailbox-uclass.c index 01c9e75fa5b..85ba8c5fd99 100644 --- a/drivers/mailbox/mailbox-uclass.c +++ b/drivers/mailbox/mailbox-uclass.c @@ -24,7 +24,7 @@ static int mbox_of_xlate_default(struct mbox_chan *chan, debug("%s(chan=%p)\n", __func__, chan); if (args->args_count != 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index 1d66d95fe48..08c51c40f14 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -77,7 +77,7 @@ static int tegra_hsp_of_xlate(struct mbox_chan *chan, debug("%s(chan=%p)\n", __func__, chan); if (args->args_count != 2) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/misc/irq-uclass.c b/drivers/misc/irq-uclass.c index eb9f3b902f4..7b79ed2df46 100644 --- a/drivers/misc/irq-uclass.c +++ b/drivers/misc/irq-uclass.c @@ -89,7 +89,7 @@ static int irq_of_xlate_default(struct irq *irq, log_debug("(irq=%p)\n", irq); if (args->args_count > 1) { - log_debug("Invaild args_count: %d\n", args->args_count); + log_debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/mtd/ubispl/ubispl.c b/drivers/mtd/ubispl/ubispl.c index 03b31f002b9..b58d8e8d565 100644 --- a/drivers/mtd/ubispl/ubispl.c +++ b/drivers/mtd/ubispl/ubispl.c @@ -953,7 +953,7 @@ retry: * Check, if the total number of blocks is correct */ if (be32_to_cpu(vh->used_ebs) != last) { - ubi_dbg("Block count missmatch."); + ubi_dbg("Block count mismatch."); ubi_dbg("vh->used_ebs: %d nrblocks: %d", be32_to_cpu(vh->used_ebs), last); generic_set_bit(pnum, ubi->corrupt); diff --git a/drivers/mux/mux-uclass.c b/drivers/mux/mux-uclass.c index 91842c5539f..8870305313a 100644 --- a/drivers/mux/mux-uclass.c +++ b/drivers/mux/mux-uclass.c @@ -130,7 +130,7 @@ static int mux_of_xlate_default(struct mux_chip *mux_chip, log_debug("%s(muxp=%p)\n", __func__, muxp); if (args->args_count > 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 40a86a3e12f..811bc275c1c 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1465,7 +1465,7 @@ static int fecmxc_probe(struct udevice *dev) start = get_timer(0); while (readl(&priv->eth->ecntrl) & FEC_ECNTRL_RESET) { if (get_timer(start) > (CONFIG_SYS_HZ * 5)) { - printf("FEC MXC: Timeout reseting chip\n"); + printf("FEC MXC: Timeout resetting chip\n"); goto err_timeout; } udelay(10); diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c index 59683a080cd..706e9fdf3a1 100644 --- a/drivers/phy/phy-uclass.c +++ b/drivers/phy/phy-uclass.c @@ -23,7 +23,7 @@ static int generic_phy_xlate_offs_flags(struct phy *phy, debug("%s(phy=%p)\n", __func__, phy); if (args->args_count > 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/reset/reset-uclass.c b/drivers/reset/reset-uclass.c index c09c009130d..ca9f00a8f24 100644 --- a/drivers/reset/reset-uclass.c +++ b/drivers/reset/reset-uclass.c @@ -26,7 +26,7 @@ static int reset_of_xlate_default(struct reset_ctl *reset_ctl, debug("%s(reset_ctl=%p)\n", __func__, reset_ctl); if (args->args_count != 1) { - debug("Invaild args_count: %d\n", args->args_count); + debug("Invalid args_count: %d\n", args->args_count); return -EINVAL; } diff --git a/drivers/usb/gadget/dwc2_udc_otg.c b/drivers/usb/gadget/dwc2_udc_otg.c index fb10884755b..2748270ad6a 100644 --- a/drivers/usb/gadget/dwc2_udc_otg.c +++ b/drivers/usb/gadget/dwc2_udc_otg.c @@ -461,7 +461,7 @@ static void reconfig_usbd(struct dwc2_udc *dev) u32 max_hw_ep; int pdata_hw_ep; - debug("Reseting OTG controller\n"); + debug("Resetting OTG controller\n"); dflt_gusbcfg = 0<<15 /* PHY Low Power Clock sel*/ diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c index b9510e30459..2ffcb7caaad 100644 --- a/drivers/usb/musb/musb_udc.c +++ b/drivers/usb/musb/musb_udc.c @@ -269,7 +269,7 @@ static void musb_peri_ep0_set_address(void) __PRETTY_FUNCTION__, udc_device->address); } else { if (debug_level > 0) - serial_printf("ERROR : %s Address missmatch " + serial_printf("ERROR : %s Address mismatch " "sw %d vs hw %d\n", __PRETTY_FUNCTION__, udc_device->address, faddr); diff --git a/tools/binman/control.py b/tools/binman/control.py index 4b3ce23fb4c..f4c1fd01568 100644 --- a/tools/binman/control.py +++ b/tools/binman/control.py @@ -577,9 +577,11 @@ def ProcessImage(image, update_fdt, write_map, get_contents=True, faked_list = [] image.CheckFakedBlobs(faked_list) if faked_list: - tout.Warning("Image '%s:%s' has faked external blobs and is non-functional: %s" % - (image.name, image.image_name, - ' '.join([e.GetDefaultFilename() for e in faked_list]))) + tout.Warning( + "Image '%s:%s' has faked external blobs and is non-functional: %s" % + (image.name, image.image_name, + ' '.join([os.path.basename(e.GetDefaultFilename()) + for e in faked_list]))) return bool(missing_list) or bool(faked_list) diff --git a/tools/binman/entry.py b/tools/binman/entry.py index 54cc3726b9d..bac90bbbcde 100644 --- a/tools/binman/entry.py +++ b/tools/binman/entry.py @@ -7,6 +7,7 @@ from collections import namedtuple import importlib import os +import pathlib import sys from dtoc import fdt_util @@ -972,6 +973,25 @@ features to produce new behaviours. if self.missing: missing_list.append(self) + def check_fake_fname(self, fname): + """If the file is missing and the entry allows fake blobs, fake it + + Sets self.faked to True if faked + + Args: + fname (str): Filename to check + + Returns: + fname (str): Filename of faked file + """ + if self.allow_fake and not pathlib.Path(fname).is_file(): + outfname = tools.GetOutputFilename(os.path.basename(fname)) + with open(outfname, "wb") as out: + out.truncate(1024) + self.faked = True + return outfname + return fname + def CheckFakedBlobs(self, faked_blobs_list): """Check if any entries in this section have faked external blobs diff --git a/tools/binman/etype/blob.py b/tools/binman/etype/blob.py index 65ebb2ecf4d..59728f368ec 100644 --- a/tools/binman/etype/blob.py +++ b/tools/binman/etype/blob.py @@ -5,8 +5,6 @@ # Entry-type module for blobs, which are binary objects read from files # -import pathlib - from binman.entry import Entry from binman import state from dtoc import fdt_util @@ -38,16 +36,12 @@ class Entry_blob(Entry): self._filename = fdt_util.GetString(self._node, 'filename', self.etype) def ObtainContents(self): - if self.allow_fake and not pathlib.Path(self._filename).is_file(): - with open(self._filename, "wb") as out: - out.truncate(1024) - self.faked = True - self._filename = self.GetDefaultFilename() self._pathname = tools.GetInputFilename(self._filename, self.external and self.section.GetAllowMissing()) # Allow the file to be missing if not self._pathname: + self._pathname = self.check_fake_fname(self._filename) self.SetContents(b'') self.missing = True return True diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index a9b7880f362..f4ff7b65831 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -4667,16 +4667,6 @@ class TestFunctional(unittest.TestCase): str(e.exception), "Not enough space in '.*u_boot_binman_embed_sm' for data length.*") - def testFakeBlob(self): - """Test handling of faking an external blob""" - with test_util.capture_sys_output() as (stdout, stderr): - self._DoTestFile('203_fake_blob.dts', allow_missing=True, - allow_fake_blobs=True) - err = stderr.getvalue() - self.assertRegex(err, - "Image '.*' has faked external blobs and is non-functional: .*") - os.remove('binman_faking_test_blob') - def testVersion(self): """Test we can get the binman version""" version = '(unreleased)' @@ -4965,5 +4955,16 @@ fdt fdtmap Extract the devicetree blob from the fdtmap # There should be a U-Boot after the final FIP self.assertEqual(U_BOOT_DATA, data[-4:]) + def testFakeBlob(self): + """Test handling of faking an external blob""" + with test_util.capture_sys_output() as (stdout, stderr): + self._DoTestFile('217_fake_blob.dts', allow_missing=True, + allow_fake_blobs=True) + err = stderr.getvalue() + self.assertRegex( + err, + "Image '.*' has faked external blobs and is non-functional: .*") + + if __name__ == "__main__": unittest.main() diff --git a/tools/binman/test/203_fake_blob.dts b/tools/binman/test/217_fake_blob.dts index 22cf67f4f83..22cf67f4f83 100644 --- a/tools/binman/test/203_fake_blob.dts +++ b/tools/binman/test/217_fake_blob.dts diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index fb422e75881..f19e618ffba 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -2,7 +2,7 @@ # This Dockerfile is used to build an image containing basic stuff to be used # to build U-Boot and run our test suites. -FROM ubuntu:focal-20211006 +FROM ubuntu:focal-20220105 MAINTAINER Tom Rini <trini@konsulko.com> LABEL Description=" This image is for building U-Boot inside a container" |