diff options
-rw-r--r-- | arch/arm/Kconfig | 3 | ||||
-rw-r--r-- | boot/bootdev-uclass.c | 37 | ||||
-rw-r--r-- | boot/bootmeth_efi.c | 49 | ||||
-rw-r--r-- | cmd/bootflow.c | 3 | ||||
-rw-r--r-- | drivers/virtio/virtio-uclass.c | 6 | ||||
-rw-r--r-- | include/bootdev.h | 2 | ||||
-rw-r--r-- | include/configs/px30_common.h | 3 | ||||
-rw-r--r-- | include/configs/rk3036_common.h | 4 | ||||
-rw-r--r-- | include/configs/rk3066_common.h | 4 | ||||
-rw-r--r-- | include/configs/rk3128_common.h | 3 | ||||
-rw-r--r-- | include/configs/rk3188_common.h | 4 | ||||
-rw-r--r-- | include/configs/rk322x_common.h | 4 | ||||
-rw-r--r-- | include/configs/rk3288_common.h | 4 | ||||
-rw-r--r-- | include/configs/rk3308_common.h | 3 | ||||
-rw-r--r-- | include/configs/rk3328_common.h | 3 | ||||
-rw-r--r-- | include/configs/rk3368_common.h | 6 | ||||
-rw-r--r-- | include/configs/rk3568_common.h | 5 | ||||
-rw-r--r-- | include/configs/rk3588_common.h | 5 | ||||
-rw-r--r-- | include/configs/rockchip-common.h | 62 | ||||
-rw-r--r-- | include/configs/rv1108_common.h | 2 | ||||
-rw-r--r-- | test/boot/bootdev.c | 12 |
21 files changed, 91 insertions, 133 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index ab22c0e657d..b84c494989a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1956,8 +1956,7 @@ config ARCH_ROCKCHIP imply ADC imply CMD_DM imply DEBUG_UART_BOARD_INIT - imply DISTRO_DEFAULTS if !ROCKCHIP_RK3399 - imply BOOTSTD_DEFAULTS if !DISTRO_DEFAULTS + imply BOOTSTD_DEFAULTS imply FAT_WRITE imply SARADC_ROCKCHIP imply SPL_SYSRESET diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index d34b7e37cf7..57d29446476 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -174,6 +174,8 @@ int bootdev_find_in_blk(struct udevice *dev, struct udevice *blk, } else { ret = fs_set_blk_dev_with_part(desc, bflow->part); bflow->state = BOOTFLOWST_PART; + if (ret) + return log_msg_ret("fs", ret); /* Use an #ifdef due to info.sys_ind */ #ifdef CONFIG_DOS_PARTITION @@ -181,8 +183,7 @@ int bootdev_find_in_blk(struct udevice *dev, struct udevice *blk, blk->name, bflow->part, info.sys_ind, ret ? -1 : fs_get_type()); #endif - if (ret) - return log_msg_ret("fs", ret); + bflow->blk = blk; bflow->state = BOOTFLOWST_FS; } @@ -364,7 +365,8 @@ int bootdev_unbind_dev(struct udevice *parent) * @seqp: Returns the sequence number, or -1 if none * @method_flagsp: If non-NULL, returns any flags implied by the label * (enum bootflow_meth_flags_t), 0 if none - * Returns: sequence number on success, else -ve error code + * Returns: sequence number on success, -EPFNOSUPPORT is the uclass is not + * known, other -ve error code on other error */ static int label_to_uclass(const char *label, int *seqp, int *method_flagsp) { @@ -394,8 +396,7 @@ static int label_to_uclass(const char *label, int *seqp, int *method_flagsp) id = UCLASS_ETH; method_flags |= BOOTFLOW_METHF_DHCP_ONLY; } else { - log_warning("Unknown uclass '%s' in label\n", label); - return -EINVAL; + return -EPFNOSUPPORT; } } if (id == UCLASS_USB) @@ -458,7 +459,6 @@ int bootdev_find_by_label(const char *label, struct udevice **devp, } log_debug("- no device in %s\n", media->name); } - log_warning("Unknown seq %d for label '%s'\n", seq, label); return -ENOENT; } @@ -577,9 +577,28 @@ int bootdev_next_label(struct bootflow_iter *iter, struct udevice **devp, log_debug("next\n"); for (dev = NULL; !dev && iter->labels[++iter->cur_label];) { - log_debug("Scanning: %s\n", iter->labels[iter->cur_label]); - bootdev_hunt_and_find_by_label(iter->labels[iter->cur_label], - &dev, method_flagsp); + const char *label = iter->labels[iter->cur_label]; + int ret; + + log_debug("Scanning: %s\n", label); + ret = bootdev_hunt_and_find_by_label(label, &dev, + method_flagsp); + if (iter->flags & BOOTFLOWIF_SHOW) { + if (ret == -EPFNOSUPPORT) { + log_warning("Unknown uclass '%s' in label\n", + label); + } else if (ret == -ENOENT) { + /* + * looking for, e.g. 'scsi0' should find + * something if SCSI is present + */ + if (!trailing_strtol(label)) { + log_warning("No bootdevs for '%s'\n", + label); + } + } + } + } if (!dev) diff --git a/boot/bootmeth_efi.c b/boot/bootmeth_efi.c index 6a97ac02ff5..6f70f2229b9 100644 --- a/boot/bootmeth_efi.c +++ b/boot/bootmeth_efi.c @@ -94,7 +94,7 @@ static int get_efi_pxe_vci(char *str, int max_len) return 0; } -static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) +static void set_efi_bootdev(struct blk_desc *desc, struct bootflow *bflow) { const struct udevice *media_dev; int size = bflow->size; @@ -102,11 +102,6 @@ static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) char devnum_str[9]; char dirname[200]; char *last_slash; - int ret; - - ret = bootmeth_alloc_file(bflow, 0x2000000, 0x10000); - if (ret) - return log_msg_ret("read", ret); /* * This is a horrible hack to tell EFI about this boot device. Once we @@ -117,7 +112,9 @@ static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) * this can go away. */ media_dev = dev_get_parent(bflow->dev); - snprintf(devnum_str, sizeof(devnum_str), "%x", dev_seq(media_dev)); + snprintf(devnum_str, sizeof(devnum_str), "%x:%x", + desc ? desc->devnum : dev_seq(media_dev), + bflow->part); strlcpy(dirname, bflow->fname, sizeof(dirname)); last_slash = strrchr(dirname, '/'); @@ -130,6 +127,15 @@ static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) dev_name = device_get_uclass_id(media_dev) == UCLASS_MASS_STORAGE ? "usb" : dev_get_uclass_name(media_dev); efi_set_bootdev(dev_name, devnum_str, bflow->fname, bflow->buf, size); +} + +static int efiload_read_file(struct blk_desc *desc, struct bootflow *bflow) +{ + int ret; + + ret = bootmeth_alloc_file(bflow, 0x2000000, 0x10000); + if (ret) + return log_msg_ret("read", ret); return 0; } @@ -235,21 +241,21 @@ static int distro_efi_read_bootflow_file(struct udevice *dev, /* try the various available names */ ret = -ENOENT; - for (seq = 0; ret; seq++) { + *fname = '\0'; + for (seq = 0; ret == -ENOENT; seq++) { ret = distro_efi_get_fdt_name(fname, sizeof(fname), seq); - if (ret == -EALREADY) { + if (ret == -EALREADY) bflow->flags = BOOTFLOWF_USE_PRIOR_FDT; - break; - } - if (ret) - return log_msg_ret("nam", ret); - ret = bootmeth_common_read_file(dev, bflow, fname, fdt_addr, - &size); + if (!ret) + ret = bootmeth_common_read_file(dev, bflow, fname, + fdt_addr, &size); } - bflow->fdt_fname = strdup(fname); - if (!bflow->fdt_fname) - return log_msg_ret("fil", -ENOMEM); + if (*fname) { + bflow->fdt_fname = strdup(fname); + if (!bflow->fdt_fname) + return log_msg_ret("fil", -ENOMEM); + } if (!ret) { bflow->fdt_size = size; @@ -373,6 +379,13 @@ int distro_efi_boot(struct udevice *dev, struct bootflow *bflow) /* A non-zero buffer indicates the kernel is there */ if (bflow->buf) { + /* Set the EFI bootdev again, since reading an FDT loses it! */ + if (bflow->blk) { + struct blk_desc *desc = dev_get_uclass_plat(bflow->blk); + + set_efi_bootdev(desc, bflow); + } + kernel = (ulong)map_to_sysmem(bflow->buf); /* diff --git a/cmd/bootflow.c b/cmd/bootflow.c index 42f6e14a437..aa06999e3db 100644 --- a/cmd/bootflow.c +++ b/cmd/bootflow.c @@ -181,6 +181,9 @@ static int do_bootflow_scan(struct cmd_tbl *cmdtp, int flag, int argc, if (list) show_footer(i, num_valid); + if (IS_ENABLED(CONFIG_CMD_BOOTFLOW_FULL) && !num_valid && !list) + printf("No bootflows found; try again with -l\n"); + return 0; } diff --git a/drivers/virtio/virtio-uclass.c b/drivers/virtio/virtio-uclass.c index b3fb3dbfad2..31bb21c534e 100644 --- a/drivers/virtio/virtio-uclass.c +++ b/drivers/virtio/virtio-uclass.c @@ -373,6 +373,12 @@ static int virtio_bootdev_hunt(struct bootdev_hunter *info, bool show) { int ret; + if (IS_ENABLED(CONFIG_PCI)) { + ret = uclass_probe_all(UCLASS_PCI); + if (ret && ret != -ENOENT) + return log_msg_ret("pci", ret); + } + ret = uclass_probe_all(UCLASS_VIRTIO); if (ret && ret != -ENOENT) return log_msg_ret("vir", ret); diff --git a/include/bootdev.h b/include/bootdev.h index b92ff4d4f15..e72ef3650f7 100644 --- a/include/bootdev.h +++ b/include/bootdev.h @@ -258,7 +258,7 @@ int bootdev_find_by_label(const char *label, struct udevice **devp, * @devp: returns the device found, on success * @method_flagsp: If non-NULL, returns any flags implied by the label * (enum bootflow_meth_flags_t), 0 if none. Unset if function fails - * Return: 0 if OK, -EINVAL if the uclass is not supported by this board, + * Return: 0 if OK, -EPFNOSUPPORT if the uclass is not supported by this board, * -ENOENT if there is no device with that number */ int bootdev_find_by_any(const char *name, struct udevice **devp, diff --git a/include/configs/px30_common.h b/include/configs/px30_common.h index 8df481b0978..6fbd2679f09 100644 --- a/include/configs/px30_common.h +++ b/include/configs/px30_common.h @@ -24,12 +24,11 @@ "kernel_addr_c=0x03e80000\0" \ "ramdisk_addr_r=0x0a200000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3036_common.h b/include/configs/rk3036_common.h index ea6073f2944..c2abd14e114 100644 --- a/include/configs/rk3036_common.h +++ b/include/configs/rk3036_common.h @@ -21,8 +21,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#include <config_distro_bootcmd.h> - /* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board, * so limit the fdt reallocation to that */ #define CFG_EXTRA_ENV_SETTINGS \ @@ -30,6 +28,6 @@ "fdt_high=0x7fffffff\0" \ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3066_common.h b/include/configs/rk3066_common.h index 1a6d3678df3..d70c8f77d48 100644 --- a/include/configs/rk3066_common.h +++ b/include/configs/rk3066_common.h @@ -22,14 +22,12 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#include <config_distro_bootcmd.h> - #define CFG_EXTRA_ENV_SETTINGS \ "fdt_high=0x6fffffff\0" \ "initrd_high=0x6fffffff\0" \ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3128_common.h b/include/configs/rk3128_common.h index 8736b14d101..d8269b0ec96 100644 --- a/include/configs/rk3128_common.h +++ b/include/configs/rk3128_common.h @@ -22,11 +22,10 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3188_common.h b/include/configs/rk3188_common.h index fcb274565e9..a8cee1e44d4 100644 --- a/include/configs/rk3188_common.h +++ b/include/configs/rk3188_common.h @@ -21,8 +21,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#include <config_distro_bootcmd.h> - /* Linux fails to load the fdt if it's loaded above 256M on a Rock board, * so limit the fdt reallocation to that */ #define CFG_EXTRA_ENV_SETTINGS \ @@ -32,6 +30,6 @@ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk322x_common.h b/include/configs/rk322x_common.h index 39a40f4e2d1..15f77df3e17 100644 --- a/include/configs/rk322x_common.h +++ b/include/configs/rk322x_common.h @@ -22,8 +22,6 @@ "kernel_addr_r=0x62000000\0" \ "ramdisk_addr_r=0x64000000\0" -#include <config_distro_bootcmd.h> - /* Linux fails to load the fdt if it's loaded above 512M on a evb-rk3036 board, * so limit the fdt reallocation to that */ #define CFG_EXTRA_ENV_SETTINGS \ @@ -31,6 +29,6 @@ "fdt_high=0x7fffffff\0" \ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h index 71d2426d72a..3063076a97a 100644 --- a/include/configs/rk3288_common.h +++ b/include/configs/rk3288_common.h @@ -23,8 +23,6 @@ "kernel_addr_r=0x02000000\0" \ "ramdisk_addr_r=0x04000000\0" -#include <config_distro_bootcmd.h> - /* Linux fails to load the fdt if it's loaded above 256M on a Rock 2 board, so * limit the fdt reallocation to that */ #define CFG_EXTRA_ENV_SETTINGS \ @@ -34,6 +32,6 @@ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3308_common.h b/include/configs/rk3308_common.h index ba9ee112e2d..7d55fcd975c 100644 --- a/include/configs/rk3308_common.h +++ b/include/configs/rk3308_common.h @@ -20,11 +20,10 @@ "kernel_addr_r=0x00680000\0" \ "ramdisk_addr_r=0x04000000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ "partitions=" PARTS_DEFAULT \ ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3328_common.h b/include/configs/rk3328_common.h index e565ccff897..e920ec7e5dd 100644 --- a/include/configs/rk3328_common.h +++ b/include/configs/rk3328_common.h @@ -22,11 +22,10 @@ "kernel_comp_addr_r=0x08000000\0" \ "kernel_comp_size=0x2000000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3368_common.h b/include/configs/rk3368_common.h index 9aa256b5959..ccb5369b901 100644 --- a/include/configs/rk3368_common.h +++ b/include/configs/rk3368_common.h @@ -23,11 +23,9 @@ "kernel_addr_r=0x280000\0" \ "ramdisk_addr_r=0x5bf0000\0" -#include <config_distro_bootcmd.h> - #define CFG_EXTRA_ENV_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_DEVICE_TREE ".dtb\0" \ - ENV_MEM_LAYOUT_SETTINGS \ - BOOTENV + ENV_MEM_LAYOUT_SETTINGS \ + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3568_common.h b/include/configs/rk3568_common.h index d6b5e7d8902..1b7d3437b1a 100644 --- a/include/configs/rk3568_common.h +++ b/include/configs/rk3568_common.h @@ -27,12 +27,11 @@ "kernel_comp_addr_r=0x08000000\0" \ "kernel_comp_size=0x2000000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ ENV_MEM_LAYOUT_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ - ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + ROCKCHIP_DEVICE_SETTINGS \ + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/include/configs/rk3588_common.h b/include/configs/rk3588_common.h index b9f42717b75..46389d087d2 100644 --- a/include/configs/rk3588_common.h +++ b/include/configs/rk3588_common.h @@ -26,12 +26,11 @@ "kernel_comp_addr_r=0x08000000\0" \ "kernel_comp_size=0x2000000\0" -#include <config_distro_bootcmd.h> #define CFG_EXTRA_ENV_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ ENV_MEM_LAYOUT_SETTINGS \ - ROCKCHIP_DEVICE_SETTINGS \ - BOOTENV + ROCKCHIP_DEVICE_SETTINGS \ + "boot_targets=" BOOT_TARGETS "\0" #endif /* __CONFIG_RK3588_COMMON_H */ diff --git a/include/configs/rockchip-common.h b/include/configs/rockchip-common.h index 18544d75acc..9121bba3738 100644 --- a/include/configs/rockchip-common.h +++ b/include/configs/rockchip-common.h @@ -13,69 +13,7 @@ #ifndef CONFIG_SPL_BUILD -/* First try to boot from SD (index 1), then eMMC (index 0) */ -#if IS_ENABLED(CONFIG_CMD_MMC) - #define BOOT_TARGET_MMC(func) \ - func(MMC, mmc, 1) \ - func(MMC, mmc, 0) -#else - #define BOOT_TARGET_MMC(func) -#endif - -#if IS_ENABLED(CONFIG_CMD_NVME) - #define BOOT_TARGET_NVME(func) func(NVME, nvme, 0) -#else - #define BOOT_TARGET_NVME(func) -#endif - -#if IS_ENABLED(CONFIG_CMD_SCSI) - #define BOOT_TARGET_SCSI(func) func(SCSI, scsi, 0) -#else - #define BOOT_TARGET_SCSI(func) -#endif - -#if IS_ENABLED(CONFIG_CMD_USB) - #define BOOT_TARGET_USB(func) func(USB, usb, 0) -#else - #define BOOT_TARGET_USB(func) -#endif - -#if CONFIG_IS_ENABLED(CMD_PXE) - #define BOOT_TARGET_PXE(func) func(PXE, pxe, na) -#else - #define BOOT_TARGET_PXE(func) -#endif - -#if CONFIG_IS_ENABLED(CMD_DHCP) - #define BOOT_TARGET_DHCP(func) func(DHCP, dhcp, na) -#else - #define BOOT_TARGET_DHCP(func) -#endif - -#if IS_ENABLED(CONFIG_CMD_SF) - #define BOOT_TARGET_SF(func) func(SF, sf, 0) -#else - #define BOOT_TARGET_SF(func) -#endif - -#ifdef CONFIG_ROCKCHIP_RK3399 -#define BOOT_TARGET_DEVICES(func) \ - BOOT_TARGET_MMC(func) \ - BOOT_TARGET_NVME(func) \ - BOOT_TARGET_SCSI(func) \ - BOOT_TARGET_USB(func) \ - BOOT_TARGET_PXE(func) \ - BOOT_TARGET_DHCP(func) \ - BOOT_TARGET_SF(func) #define BOOT_TARGETS "mmc1 mmc0 nvme scsi usb pxe dhcp spi" -#else -#define BOOT_TARGET_DEVICES(func) \ - BOOT_TARGET_MMC(func) \ - BOOT_TARGET_USB(func) \ - BOOT_TARGET_PXE(func) \ - BOOT_TARGET_DHCP(func) -#define BOOT_TARGETS "mmc1 mmc0 usb pxe dhcp" -#endif #ifdef CONFIG_ARM64 #define ROOT_UUID "B921B045-1DF0-41C3-AF44-4C6F280D3FAE;\0" diff --git a/include/configs/rv1108_common.h b/include/configs/rv1108_common.h index 050d37bff0b..3bf70a0e0ae 100644 --- a/include/configs/rv1108_common.h +++ b/include/configs/rv1108_common.h @@ -28,6 +28,6 @@ ENV_MEM_LAYOUT_SETTINGS \ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \ "partitions=" PARTS_DEFAULT \ - BOOTENV + "boot_targets=" BOOT_TARGETS "\0" #endif diff --git a/test/boot/bootdev.c b/test/boot/bootdev.c index 4fe9fd72208..0899c78c2c4 100644 --- a/test/boot/bootdev.c +++ b/test/boot/bootdev.c @@ -124,7 +124,8 @@ static int bootdev_test_labels(struct unit_test_state *uts) mflags); /* Check invalid uclass */ - ut_asserteq(-EINVAL, bootdev_find_by_label("fred0", &dev, &mflags)); + ut_asserteq(-EPFNOSUPPORT, + bootdev_find_by_label("fred0", &dev, &mflags)); /* Check unknown sequence number */ ut_asserteq(-ENOENT, bootdev_find_by_label("mmc6", &dev, &mflags)); @@ -179,9 +180,8 @@ static int bootdev_test_any(struct unit_test_state *uts) /* Check invalid uclass */ mflags = 123; - ut_asserteq(-EINVAL, bootdev_find_by_any("fred0", &dev, &mflags)); - ut_assert_nextline("Unknown uclass 'fred0' in label"); - ut_assert_nextline("Cannot find bootdev 'fred0' (err=-22)"); + ut_asserteq(-EPFNOSUPPORT, bootdev_find_by_any("fred0", &dev, &mflags)); + ut_assert_nextline("Cannot find bootdev 'fred0' (err=-96)"); ut_asserteq(123, mflags); ut_assert_console_end(); @@ -512,9 +512,8 @@ static int bootdev_test_hunt_label(struct unit_test_state *uts) old = (void *)&mflags; /* arbitrary pointer to check against dev */ dev = old; mflags = 123; - ut_asserteq(-EINVAL, + ut_asserteq(-EPFNOSUPPORT, bootdev_hunt_and_find_by_label("fred", &dev, &mflags)); - ut_assert_nextline("Unknown uclass 'fred' in label"); ut_asserteq_ptr(old, dev); ut_asserteq(123, mflags); ut_assert_console_end(); @@ -525,7 +524,6 @@ static int bootdev_test_hunt_label(struct unit_test_state *uts) bootdev_hunt_and_find_by_label("mmc4", &dev, &mflags)); ut_asserteq_ptr(old, dev); ut_asserteq(123, mflags); - ut_assert_nextline("Unknown seq 4 for label 'mmc4'"); ut_assert_console_end(); ut_assertok(bootstd_test_check_mmc_hunter(uts)); |