From fea9e2b5f37446845bec3cc9e2edd6f8308c2332 Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Tue, 22 Jan 2019 13:52:25 +0530 Subject: [PATCH] lib: Remove hartid paramter from early_init() and final_init() callbacks We simplify early_init() and final_init() callbacks of sbi_platform by removing "hartid" parameter. Signed-off-by: Anup Patel --- include/sbi/sbi_platform.h | 20 +++++++++----------- include/sbi/sbi_system.h | 6 ++---- lib/sbi_init.c | 8 ++++---- lib/sbi_system.c | 10 ++++------ platform/qemu/sifive_u/platform.c | 2 +- platform/qemu/virt/platform.c | 2 +- platform/sifive/fu540/platform.c | 2 +- 7 files changed, 22 insertions(+), 28 deletions(-) diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h index 2a26346..d3b083e 100644 --- a/include/sbi/sbi_platform.h +++ b/include/sbi/sbi_platform.h @@ -61,9 +61,9 @@ struct sbi_platform { u64 disabled_hart_mask; /** Platform early initialization */ - int (*early_init)(u32 hartid, bool cold_boot); + int (*early_init)(bool cold_boot); /** Platform final initialization */ - int (*final_init)(u32 hartid, bool cold_boot); + int (*final_init)(bool cold_boot); /** Get number of PMP regions for given HART */ u32 (*pmp_region_count)(u32 hartid); @@ -155,12 +155,12 @@ static inline const char *sbi_platform_name(struct sbi_platform *plat) * * @return TRUE if HART is disabled and FALSE otherwise */ -static inline bool sbi_platform_hart_disabled(struct sbi_platform *plat, u32 hartid) +static inline bool sbi_platform_hart_disabled(struct sbi_platform *plat, + u32 hartid) { if (plat && (plat->disabled_hart_mask & (1 << hartid))) return 1; - else - return 0; + return 0; } /** @@ -195,16 +195,15 @@ static inline u32 sbi_platform_hart_stack_size(struct sbi_platform *plat) * Early initialization of a given HART * * @param plat pointer to struct sbi_platform - * @param hartid HART ID * @param cold_boot whether cold boot (TRUE) or warm_boot (FALSE) * * @return 0 on success and negative error code on failure */ static inline int sbi_platform_early_init(struct sbi_platform *plat, - u32 hartid, bool cold_boot) + bool cold_boot) { if (plat && plat->early_init) - return plat->early_init(hartid, cold_boot); + return plat->early_init(cold_boot); return 0; } @@ -212,16 +211,15 @@ static inline int sbi_platform_early_init(struct sbi_platform *plat, * Final initialization of a HART * * @param plat pointer to struct sbi_platform - * @param hartid HART ID * @param cold_boot whether cold boot (TRUE) or warm_boot (FALSE) * * @return 0 on success and negative error code on failure */ static inline int sbi_platform_final_init(struct sbi_platform *plat, - u32 hartid, bool cold_boot) + bool cold_boot) { if (plat && plat->final_init) - return plat->final_init(hartid, cold_boot); + return plat->final_init(cold_boot); return 0; } diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h index f37445e..3aad646 100644 --- a/include/sbi/sbi_system.h +++ b/include/sbi/sbi_system.h @@ -14,11 +14,9 @@ struct sbi_scratch; -int sbi_system_early_init(struct sbi_scratch *scratch, u32 hartid, - bool cold_boot); +int sbi_system_early_init(struct sbi_scratch *scratch, bool cold_boot); -int sbi_system_final_init(struct sbi_scratch *scratch, u32 hartid, - bool cold_boot); +int sbi_system_final_init(struct sbi_scratch *scratch, bool cold_boot); void __attribute__((noreturn)) sbi_system_reboot(struct sbi_scratch *scratch, u32 type); diff --git a/lib/sbi_init.c b/lib/sbi_init.c index 35a543e..7ae5f8b 100644 --- a/lib/sbi_init.c +++ b/lib/sbi_init.c @@ -33,7 +33,7 @@ static void __noreturn init_coldboot(struct sbi_scratch *scratch, u32 hartid) char str[64]; struct sbi_platform *plat = sbi_platform_ptr(scratch); - rc = sbi_system_early_init(scratch, hartid, TRUE); + rc = sbi_system_early_init(scratch, TRUE); if (rc) sbi_hart_hang(); @@ -57,7 +57,7 @@ static void __noreturn init_coldboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_final_init(scratch, hartid, TRUE); + rc = sbi_system_final_init(scratch, TRUE); if (rc) sbi_hart_hang(); @@ -103,7 +103,7 @@ static void __noreturn init_warmboot(struct sbi_scratch *scratch, u32 hartid) if (sbi_platform_hart_disabled(plat, hartid)) sbi_hart_hang(); - rc = sbi_system_early_init(scratch, hartid, FALSE); + rc = sbi_system_early_init(scratch, FALSE); if (rc) sbi_hart_hang(); @@ -123,7 +123,7 @@ static void __noreturn init_warmboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_final_init(scratch, hartid, FALSE); + rc = sbi_system_final_init(scratch, FALSE); if (rc) sbi_hart_hang(); diff --git a/lib/sbi_system.c b/lib/sbi_system.c index f543cef..738ff45 100644 --- a/lib/sbi_system.c +++ b/lib/sbi_system.c @@ -11,18 +11,16 @@ #include #include -int sbi_system_early_init(struct sbi_scratch *scratch, u32 hartid, - bool cold_boot) +int sbi_system_early_init(struct sbi_scratch *scratch, bool cold_boot) { return sbi_platform_early_init(sbi_platform_ptr(scratch), - hartid, cold_boot); + cold_boot); } -int sbi_system_final_init(struct sbi_scratch *scratch, u32 hartid, - bool cold_boot) +int sbi_system_final_init(struct sbi_scratch *scratch, bool cold_boot) { return sbi_platform_final_init(sbi_platform_ptr(scratch), - hartid, cold_boot); + cold_boot); } void __attribute__((noreturn)) sbi_system_reboot(struct sbi_scratch *scratch, diff --git a/platform/qemu/sifive_u/platform.c b/platform/qemu/sifive_u/platform.c index 91fa4a7..66faf86 100644 --- a/platform/qemu/sifive_u/platform.c +++ b/platform/qemu/sifive_u/platform.c @@ -29,7 +29,7 @@ #define SIFIVE_U_UART0_ADDR 0x10013000 #define SIFIVE_U_UART1_ADDR 0x10023000 -static int sifive_u_final_init(u32 hartid, bool cold_boot) +static int sifive_u_final_init(bool cold_boot) { void *fdt; diff --git a/platform/qemu/virt/platform.c b/platform/qemu/virt/platform.c index a28f9f1..80e5261 100644 --- a/platform/qemu/virt/platform.c +++ b/platform/qemu/virt/platform.c @@ -29,7 +29,7 @@ #define VIRT_UART_BAUDRATE 115200 #define VIRT_UART_SHIFTREG_ADDR 1843200 -static int virt_final_init(u32 hartid, bool cold_boot) +static int virt_final_init(bool cold_boot) { void *fdt; diff --git a/platform/sifive/fu540/platform.c b/platform/sifive/fu540/platform.c index 4791803..64e9a2c 100644 --- a/platform/sifive/fu540/platform.c +++ b/platform/sifive/fu540/platform.c @@ -71,7 +71,7 @@ static void fu540_modify_dt(void *fdt) plic_fdt_fixup(fdt, "riscv,plic0"); } -static int fu540_final_init(u32 hartid, bool cold_boot) +static int fu540_final_init(bool cold_boot) { void *fdt;