aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-omap2/hwinit-common.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-08-31 15:10:42 -0400
committerTom Rini <trini@konsulko.com>2023-08-31 15:10:42 -0400
commitb8b512a45358d50bce2e17b5941c5e39b52a0594 (patch)
treef70b4d2452f8ca45025916cd85f0d1af684902bb /arch/arm/mach-omap2/hwinit-common.c
parentb81a024e4a37097d3dcffccb225850f8f6dc8277 (diff)
parent91caa3bb89b112a1421ee2ee3661baf67c64bab9 (diff)
Merge branch '2023-08-31-replace-more-init-hooks-with-events' into next
To quote the author: This series replaces some more of the init hooks in board_f.c and board_r.c with events. Notably it converts last_state_init() over. It also provides a 'simple' event spy, which takes no arguments. It turns out that this is quite a common case, so it is worth optimising for this, to reduce code size, before events become too commonly used. Finally, it introduces a way of emitting an event in an initcall, instead of calling a function. This is likely to be used at least as often as the functions, as we convert more of these initcalls. As part of this, the initcall code is brought back into a C file. Somehow the compiler has changed or something else, so that this does not confer any benefits now. For boards with EVENT enabled, this unfortunately results in small growth, e.g. for firefly: aarch64: (for 1/1 boards) all +114.0 data +16.0 rodata +22.0 text +76.0 arm: (for 1/1 boards) all +82.0 rodata +18.0 text +64.0 For boards without EVENT enabled the growth is smaller, e.g. nokia_rx51: arm: (for 1/1 boards) all +32.0 data +8.0 rodata -8.0 text +32.0 I cannot find a good way to avoid the latter, other than macro magic with an embedded comma (to completely remove an event entry), which seems nasty.
Diffstat (limited to 'arch/arm/mach-omap2/hwinit-common.c')
-rw-r--r--arch/arm/mach-omap2/hwinit-common.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/hwinit-common.c b/arch/arm/mach-omap2/hwinit-common.c
index 771533394b..0e4572ca41 100644
--- a/arch/arm/mach-omap2/hwinit-common.c
+++ b/arch/arm/mach-omap2/hwinit-common.c
@@ -174,7 +174,7 @@ void __weak init_package_revision(void)
* done in each of these cases
* This function is called with SRAM stack.
*/
-void early_system_init(void)
+int early_system_init(void)
{
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_MULTI_DTB_FIT)
int ret;
@@ -225,6 +225,8 @@ void early_system_init(void)
debug_uart_init();
#endif
prcm_init();
+
+ return 0;
}
#ifdef CONFIG_SPL_BUILD
@@ -240,13 +242,7 @@ void board_init_f(ulong dummy)
}
#endif
-static int omap2_system_init(void *ctx, struct event *event)
-{
- early_system_init();
-
- return 0;
-}
-EVENT_SPY(EVT_DM_POST_INIT_F, omap2_system_init);
+EVENT_SPY_SIMPLE(EVT_DM_POST_INIT_F, early_system_init);
/*
* Routine: wait_for_command_complete