From e6506619ca7acee754d9bfb02bf026fa5b03f9d7 Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Tue, 10 Sep 2024 09:42:33 -0400 Subject: [PATCH] soc: gd: move init code from SYS_INIT to hooks Replace SYS_INIT with SoC hooks and adapt SoC init code Signed-off-by: Anas Nashif --- soc/gd/gd32/gd32a50x/Kconfig | 1 + soc/gd/gd32/gd32a50x/soc.c | 6 +----- soc/gd/gd32/gd32e10x/Kconfig | 1 + soc/gd/gd32/gd32e10x/soc.c | 6 +----- soc/gd/gd32/gd32e50x/Kconfig | 1 + soc/gd/gd32/gd32e50x/soc.c | 6 +----- soc/gd/gd32/gd32f3x0/Kconfig | 1 + soc/gd/gd32/gd32f3x0/soc.c | 6 +----- soc/gd/gd32/gd32f403/Kconfig | 1 + soc/gd/gd32/gd32f403/soc.c | 9 +-------- soc/gd/gd32/gd32f4xx/Kconfig | 1 + soc/gd/gd32/gd32f4xx/soc.c | 6 +----- soc/gd/gd32/gd32l23x/Kconfig | 1 + soc/gd/gd32/gd32l23x/soc.c | 6 +----- soc/gd/gd32/gd32vf103/Kconfig | 1 + soc/gd/gd32/gd32vf103/soc.c | 6 +----- 16 files changed, 16 insertions(+), 43 deletions(-) diff --git a/soc/gd/gd32/gd32a50x/Kconfig b/soc/gd/gd32/gd32a50x/Kconfig index 2d9eafd5da7..2479ebb81e4 100644 --- a/soc/gd/gd32/gd32a50x/Kconfig +++ b/soc/gd/gd32/gd32a50x/Kconfig @@ -10,3 +10,4 @@ config SOC_SERIES_GD32A50X select GD32_HAS_AF_PINMUX select GD32_HAS_IRC_40K select SOC_RESET_HOOK + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32a50x/soc.c b/soc/gd/gd32/gd32a50x/soc.c index d19045f946c..c58814d8357 100644 --- a/soc/gd/gd32/gd32a50x/soc.c +++ b/soc/gd/gd32/gd32a50x/soc.c @@ -19,11 +19,7 @@ void soc_reset_hook(void) } } -static int gd32a50x_soc_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32a50x_soc_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32e10x/Kconfig b/soc/gd/gd32/gd32e10x/Kconfig index 6b83464fd71..5c092bac972 100644 --- a/soc/gd/gd32/gd32e10x/Kconfig +++ b/soc/gd/gd32/gd32e10x/Kconfig @@ -9,3 +9,4 @@ config SOC_SERIES_GD32E10X select CPU_CORTEX_M_HAS_VTOR select GD32_HAS_AFIO_PINMUX select GD32_HAS_IRC_40K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32e10x/soc.c b/soc/gd/gd32/gd32e10x/soc.c index 939af3492c8..e28f7cb4876 100644 --- a/soc/gd/gd32/gd32e10x/soc.c +++ b/soc/gd/gd32/gd32e10x/soc.c @@ -7,11 +7,7 @@ #include #include -static int gd32e10x_soc_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32e10x_soc_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32e50x/Kconfig b/soc/gd/gd32/gd32e50x/Kconfig index d0672660e85..8cea22084d1 100644 --- a/soc/gd/gd32/gd32e50x/Kconfig +++ b/soc/gd/gd32/gd32e50x/Kconfig @@ -9,3 +9,4 @@ config SOC_SERIES_GD32E50X select ARMV8_M_DSP select GD32_HAS_AFIO_PINMUX select GD32_HAS_IRC_40K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32e50x/soc.c b/soc/gd/gd32/gd32e50x/soc.c index 0bd63afaff5..a3d978e5979 100644 --- a/soc/gd/gd32/gd32e50x/soc.c +++ b/soc/gd/gd32/gd32e50x/soc.c @@ -6,11 +6,7 @@ #include #include -static int gd32e50x_soc_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32e50x_soc_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32f3x0/Kconfig b/soc/gd/gd32/gd32f3x0/Kconfig index e2e9bff6ba1..84a2248b305 100644 --- a/soc/gd/gd32/gd32f3x0/Kconfig +++ b/soc/gd/gd32/gd32f3x0/Kconfig @@ -7,3 +7,4 @@ config SOC_SERIES_GD32F3X0 select CPU_CORTEX_M4 select GD32_HAS_AF_PINMUX select GD32_HAS_IRC_40K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32f3x0/soc.c b/soc/gd/gd32/gd32f3x0/soc.c index ebf0e3fea35..32acc3fef82 100644 --- a/soc/gd/gd32/gd32f3x0/soc.c +++ b/soc/gd/gd32/gd32f3x0/soc.c @@ -7,11 +7,7 @@ #include #include -static int gd32f3x0_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32f3x0_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32f403/Kconfig b/soc/gd/gd32/gd32f403/Kconfig index c4b31a0e41d..2fe9606d8e2 100644 --- a/soc/gd/gd32/gd32f403/Kconfig +++ b/soc/gd/gd32/gd32f403/Kconfig @@ -10,3 +10,4 @@ config SOC_SERIES_GD32F403 select CPU_CORTEX_M_HAS_VTOR select GD32_HAS_AFIO_PINMUX select GD32_HAS_IRC_40K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32f403/soc.c b/soc/gd/gd32/gd32f403/soc.c index 2e52dd08508..f088099ed8f 100644 --- a/soc/gd/gd32/gd32f403/soc.c +++ b/soc/gd/gd32/gd32f403/soc.c @@ -19,15 +19,8 @@ * @brief Perform basic hardware initialization at boot. * * This needs to be run from the very beginning. - * So the init priority has to be 0 (zero). - * - * @return 0 */ -static int gigadevice_gd32_soc_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gigadevice_gd32_soc_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32f4xx/Kconfig b/soc/gd/gd32/gd32f4xx/Kconfig index efc8455e116..ff5aa3028fc 100644 --- a/soc/gd/gd32/gd32f4xx/Kconfig +++ b/soc/gd/gd32/gd32f4xx/Kconfig @@ -8,3 +8,4 @@ config SOC_SERIES_GD32F4XX select CPU_CORTEX_M4 select GD32_HAS_AF_PINMUX select GD32_HAS_IRC_32K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32f4xx/soc.c b/soc/gd/gd32/gd32f4xx/soc.c index e096ba64b0b..136edfc6ae2 100644 --- a/soc/gd/gd32/gd32f4xx/soc.c +++ b/soc/gd/gd32/gd32f4xx/soc.c @@ -7,11 +7,7 @@ #include #include -static int gd32f4xx_soc_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32f4xx_soc_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32l23x/Kconfig b/soc/gd/gd32/gd32l23x/Kconfig index 5155d89ea15..c0156edde7e 100644 --- a/soc/gd/gd32/gd32l23x/Kconfig +++ b/soc/gd/gd32/gd32l23x/Kconfig @@ -8,3 +8,4 @@ config SOC_SERIES_GD32L23X select CPU_CORTEX_M_HAS_VTOR select GD32_HAS_AF_PINMUX select GD32_HAS_IRC_32K + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32l23x/soc.c b/soc/gd/gd32/gd32l23x/soc.c index 38194133739..849f4e2f296 100644 --- a/soc/gd/gd32/gd32l23x/soc.c +++ b/soc/gd/gd32/gd32l23x/soc.c @@ -7,11 +7,7 @@ #include #include -static int gd32l23x_init(void) +void soc_early_init_hook(void) { SystemInit(); - - return 0; } - -SYS_INIT(gd32l23x_init, PRE_KERNEL_1, 0); diff --git a/soc/gd/gd32/gd32vf103/Kconfig b/soc/gd/gd32/gd32vf103/Kconfig index d206100c53e..4ec9057d196 100644 --- a/soc/gd/gd32/gd32vf103/Kconfig +++ b/soc/gd/gd32/gd32vf103/Kconfig @@ -18,3 +18,4 @@ config SOC_SERIES_GD32VF103 select GD32_HAS_AFIO_PINMUX select GD32_HAS_IRC_40K select XIP + select SOC_EARLY_INIT_HOOK diff --git a/soc/gd/gd32/gd32vf103/soc.c b/soc/gd/gd32/gd32vf103/soc.c index f16597ab379..da38b0e38ad 100644 --- a/soc/gd/gd32/gd32vf103/soc.c +++ b/soc/gd/gd32/gd32vf103/soc.c @@ -9,7 +9,7 @@ #include -static int gigadevice_gd32v_soc_init(void) +void soc_early_init_hook(void) { uint32_t key; @@ -19,8 +19,4 @@ static int gigadevice_gd32v_soc_init(void) SystemInit(); irq_unlock(key); - - return 0; } - -SYS_INIT(gigadevice_gd32v_soc_init, PRE_KERNEL_1, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);