diff options
| author | Kory Maincent (TI.com) <[email protected]> | 2025-10-30 17:45:09 +0100 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2025-11-03 10:02:39 -0600 |
| commit | 2d12958ee71b5f400ff2045aebc9730e8e219340 (patch) | |
| tree | 2447f62064f3b70ede31887acc8b42c95fc6195a /boot | |
| parent | 6f5b839d5ee1ace365c3c1ba571db7f57bb48433 (diff) | |
boot: Remove legacy extension board support
Remove the legacy extension board implementation now that all boards
have been converted to use the new UCLASS-based framework. This
eliminates lines of legacy code while preserving functionality
through the modern driver model approach.
Update the bootstd tests, due to the removal of extension hunter.
Signed-off-by: Kory Maincent (TI.com) <[email protected]>
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/Kconfig | 4 | ||||
| -rw-r--r-- | boot/Makefile | 3 | ||||
| -rw-r--r-- | boot/extension-uclass.c | 18 | ||||
| -rw-r--r-- | boot/extension.c | 99 |
4 files changed, 10 insertions, 114 deletions
diff --git a/boot/Kconfig b/boot/Kconfig index 08d666d4b93..a75f6b641ed 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -1910,10 +1910,6 @@ config SUPPORT_EXTENSION_SCAN select OF_LIBFDT_OVERLAY bool -config SUPPORT_DM_EXTENSION_SCAN - select OF_LIBFDT_OVERLAY - bool - config USE_BOOTARGS bool "Enable boot arguments" help diff --git a/boot/Makefile b/boot/Makefile index aa26070fbb8..7fb56e7ef37 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -9,8 +9,7 @@ obj-$(CONFIG_BOOT_RETRY) += bootretry.o obj-$(CONFIG_CMD_BOOTM) += bootm.o bootm_os.o obj-$(CONFIG_CMD_BOOTZ) += bootm.o bootm_os.o obj-$(CONFIG_CMD_BOOTI) += bootm.o bootm_os.o -obj-$(CONFIG_SUPPORT_EXTENSION_SCAN) += extension.o -obj-$(CONFIG_SUPPORT_DM_EXTENSION_SCAN) += extension-uclass.o +obj-$(CONFIG_SUPPORT_EXTENSION_SCAN) += extension-uclass.o obj-$(CONFIG_PXE_UTILS) += pxe_utils.o diff --git a/boot/extension-uclass.c b/boot/extension-uclass.c index 914971215af..35f751237eb 100644 --- a/boot/extension-uclass.c +++ b/boot/extension-uclass.c @@ -14,7 +14,7 @@ #include <dm/lists.h> #include <dm/uclass.h> -struct alist *dm_extension_get_list(void) +struct alist *extension_get_list(void) { struct udevice *dev; @@ -24,7 +24,7 @@ struct alist *dm_extension_get_list(void) return dev_get_priv(dev); } -int dm_extension_probe(struct udevice *dev) +int extension_probe(struct udevice *dev) { struct alist *extension_list = dev_get_priv(dev); @@ -32,7 +32,7 @@ int dm_extension_probe(struct udevice *dev) return 0; } -int dm_extension_remove(struct udevice *dev) +int extension_remove(struct udevice *dev) { struct alist *extension_list = dev_get_priv(dev); @@ -40,9 +40,9 @@ int dm_extension_remove(struct udevice *dev) return 0; } -int dm_extension_scan(void) +int extension_scan(void) { - struct alist *extension_list = dm_extension_get_list(); + struct alist *extension_list = extension_get_list(); const struct extension_ops *ops; struct udevice *dev; int ret; @@ -109,9 +109,9 @@ static int _extension_apply(const struct extension *extension) return ret; } -int dm_extension_apply(int extension_num) +int extension_apply(int extension_num) { - struct alist *extension_list = dm_extension_get_list(); + struct alist *extension_list = extension_get_list(); const struct extension *extension; if (!extension_list) @@ -127,9 +127,9 @@ int dm_extension_apply(int extension_num) return _extension_apply(extension); } -int dm_extension_apply_all(void) +int extension_apply_all(void) { - struct alist *extension_list = dm_extension_get_list(); + struct alist *extension_list = extension_get_list(); const struct extension *extension; int ret; diff --git a/boot/extension.c b/boot/extension.c deleted file mode 100644 index 8f28a7e1626..00000000000 --- a/boot/extension.c +++ /dev/null @@ -1,99 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2025 Köry Maincent <[email protected]> - */ - -#include <bootdev.h> -#include <command.h> -#include <env.h> -#include <extension_board.h> -#include <fdt_support.h> -#include <malloc.h> -#include <mapmem.h> - -LIST_HEAD(extension_list); - -int extension_apply(struct extension *extension) -{ - ulong extrasize, overlay_addr; - struct fdt_header *blob; - char *overlay_cmd; - - if (!working_fdt) { - printf("No FDT memory address configured. Please configure\n" - "the FDT address via \"fdt addr <address>\" command.\n"); - return CMD_RET_FAILURE; - } - - overlay_cmd = env_get("extension_overlay_cmd"); - if (!overlay_cmd) { - printf("Environment extension_overlay_cmd is missing\n"); - return CMD_RET_FAILURE; - } - - overlay_addr = env_get_hex("extension_overlay_addr", 0); - if (!overlay_addr) { - printf("Environment extension_overlay_addr is missing\n"); - return CMD_RET_FAILURE; - } - - env_set("extension_overlay_name", extension->overlay); - if (run_command(overlay_cmd, 0) != 0) - return CMD_RET_FAILURE; - - extrasize = env_get_hex("filesize", 0); - if (!extrasize) - return CMD_RET_FAILURE; - - fdt_shrink_to_minimum(working_fdt, extrasize); - - blob = map_sysmem(overlay_addr, 0); - if (!fdt_valid(&blob)) - return CMD_RET_FAILURE; - - /* apply method prints messages on error */ - if (fdt_overlay_apply_verbose(working_fdt, blob)) - return CMD_RET_FAILURE; - - return CMD_RET_SUCCESS; -} - -int extension_scan(bool show) -{ - struct extension *extension, *next; - int extension_num; - - list_for_each_entry_safe(extension, next, &extension_list, list) { - list_del(&extension->list); - free(extension); - } - extension_num = extension_board_scan(&extension_list); - if (show && extension_num >= 0) - printf("Found %d extension board(s).\n", extension_num); - - /* either the number of extensions, or -ve for error */ - return extension_num; -} - -static int extension_bootdev_hunt(struct bootdev_hunter *info, bool show) -{ - int ret; - - ret = env_set_hex("extension_overlay_addr", - env_get_hex("fdtoverlay_addr_r", 0)); - if (ret) - return log_msg_ret("env", ret); - - ret = extension_scan(show); - if (ret < 0) - return log_msg_ret("ext", ret); - - return 0; -} - -/* extensions should have a uclass - for now we use UCLASS_SIMPLE_BUS uclass */ -BOOTDEV_HUNTER(extension_bootdev_hunter) = { - .prio = BOOTDEVP_1_PRE_SCAN, - .uclass = UCLASS_SIMPLE_BUS, - .hunt = extension_bootdev_hunt, -}; |
