[PATCH v3 08/17] arm: Call bootm_final()
Simon Glass
sjg at chromium.org
Sat Feb 28 21:19:56 CET 2026
From: Simon Glass <simon.glass at canonical.com>
The ARM announce_and_cleanup() duplicates the common pre-boot steps.
Replace it with a call to bootm_final().
Drop the ARM weak board_quiesce_devices() definition since it is now
called from bootm_final() and the generic weak definition in bootm.h
is used instead.
Note that the printf() ordering changes slightly: it now prints before
bootstage processing rather than after, matching x86 and RISC-V.
Signed-off-by: Simon Glass <simon.glass at canonical.com>
---
Changes in v3:
- Add new patch for ARM conversion (requested by Tom)
arch/arm/lib/bootm.c | 27 +--------------------------
1 file changed, 1 insertion(+), 26 deletions(-)
diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 019eca95780..aa772b62d13 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -42,10 +42,6 @@ DECLARE_GLOBAL_DATA_PTR;
static struct tag *params;
-__weak void board_quiesce_devices(void)
-{
-}
-
/**
* announce_and_cleanup() - Print message and prepare for kernel boot
*
@@ -53,28 +49,7 @@ __weak void board_quiesce_devices(void)
*/
static void announce_and_cleanup(int fake)
{
- bootstage_mark_name(BOOTSTAGE_ID_BOOTM_HANDOFF, "start_kernel");
-#ifdef CONFIG_BOOTSTAGE_FDT
- bootstage_fdt_add_report();
-#endif
- bootstage_stash_default();
-#ifdef CONFIG_BOOTSTAGE_REPORT
- bootstage_report();
-#endif
-
- board_quiesce_devices();
-
- printf("\nStarting kernel ...%s\n\n", fake ?
- "(fake run for tracing)" : "");
- /*
- * Call remove function of all devices with a removal flag set.
- * This may be useful for last-stage operations, like cancelling
- * of DMA operation or releasing device internal buffers.
- * dm_remove_devices_active() ensures that vital devices are removed in
- * a second round.
- */
- dm_remove_devices_active();
-
+ bootm_final(fake);
cleanup_before_linux();
}
--
2.43.0
More information about the U-Boot
mailing list