diff options
author | Anup Patel <anup.patel@wdc.com> | 2020-03-27 09:13:37 +0300 |
---|---|---|
committer | Anup Patel <anup@brainfault.org> | 2020-03-28 11:02:52 +0300 |
commit | ec0d80f5b4928ebedee8881be47f8c430db667af (patch) | |
tree | a0ea354ddb79e9d5a6ba42e48e961794bf460859 | |
parent | 9e52a45f4be89df7000dcc1009af669e2e30d850 (diff) | |
download | opensbi-ec0d80f5b4928ebedee8881be47f8c430db667af.tar.xz |
include: sbi_system: Remove scratch parameter and redundant functions
This patch removes scratch parameter and redundant functions from
sbi_system.
Signed-off-by: Anup Patel <anup.patel@wdc.com>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
-rw-r--r-- | include/sbi/sbi_system.h | 14 | ||||
-rw-r--r-- | lib/sbi/sbi_ecall_legacy.c | 2 | ||||
-rw-r--r-- | lib/sbi/sbi_init.c | 8 | ||||
-rw-r--r-- | lib/sbi/sbi_system.c | 26 |
4 files changed, 11 insertions, 39 deletions
diff --git a/include/sbi/sbi_system.h b/include/sbi/sbi_system.h index 3ad8348..8d9c18b 100644 --- a/include/sbi/sbi_system.h +++ b/include/sbi/sbi_system.h @@ -12,18 +12,8 @@ #include <sbi/sbi_types.h> -struct sbi_scratch; +void __noreturn sbi_system_reboot(u32 type); -int sbi_system_early_init(struct sbi_scratch *scratch, bool cold_boot); - -int sbi_system_final_init(struct sbi_scratch *scratch, bool cold_boot); - -void sbi_system_early_exit(struct sbi_scratch *scratch); - -void sbi_system_final_exit(struct sbi_scratch *scratch); - -void __noreturn sbi_system_reboot(struct sbi_scratch *scratch, u32 type); - -void __noreturn sbi_system_shutdown(struct sbi_scratch *scratch, u32 type); +void __noreturn sbi_system_shutdown(u32 type); #endif diff --git a/lib/sbi/sbi_ecall_legacy.c b/lib/sbi/sbi_ecall_legacy.c index 32183cb..36d6f17 100644 --- a/lib/sbi/sbi_ecall_legacy.c +++ b/lib/sbi/sbi_ecall_legacy.c @@ -102,7 +102,7 @@ static int sbi_ecall_legacy_handler(unsigned long extid, unsigned long funcid, } break; case SBI_EXT_0_1_SHUTDOWN: - sbi_system_shutdown(scratch, 0); + sbi_system_shutdown(0); break; default: ret = SBI_ENOTSUPP; diff --git a/lib/sbi/sbi_init.c b/lib/sbi/sbi_init.c index f448b79..b01bff1 100644 --- a/lib/sbi/sbi_init.c +++ b/lib/sbi/sbi_init.c @@ -160,7 +160,7 @@ static void __noreturn init_coldboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_early_init(scratch, TRUE); + rc = sbi_platform_early_init(plat, TRUE); if (rc) sbi_hart_hang(); @@ -192,7 +192,7 @@ static void __noreturn init_coldboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_final_init(scratch, TRUE); + rc = sbi_platform_final_init(plat, TRUE); if (rc) sbi_hart_hang(); @@ -224,7 +224,7 @@ static void __noreturn init_warmboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_early_init(scratch, FALSE); + rc = sbi_platform_early_init(plat, FALSE); if (rc) sbi_hart_hang(); @@ -248,7 +248,7 @@ static void __noreturn init_warmboot(struct sbi_scratch *scratch, u32 hartid) if (rc) sbi_hart_hang(); - rc = sbi_system_final_init(scratch, FALSE); + rc = sbi_platform_final_init(plat, FALSE); if (rc) sbi_hart_hang(); diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c index ffe0b41..5d4c7de 100644 --- a/lib/sbi/sbi_system.c +++ b/lib/sbi/sbi_system.c @@ -17,30 +17,11 @@ #include <sbi/sbi_ipi.h> #include <sbi/sbi_init.h> -int sbi_system_early_init(struct sbi_scratch *scratch, bool cold_boot) -{ - return sbi_platform_early_init(sbi_platform_ptr(scratch), cold_boot); -} - -int sbi_system_final_init(struct sbi_scratch *scratch, bool cold_boot) -{ - return sbi_platform_final_init(sbi_platform_ptr(scratch), cold_boot); -} - -void sbi_system_early_exit(struct sbi_scratch *scratch) -{ - sbi_platform_early_exit(sbi_platform_ptr(scratch)); -} - -void sbi_system_final_exit(struct sbi_scratch *scratch) -{ - sbi_platform_final_exit(sbi_platform_ptr(scratch)); -} - -void __noreturn sbi_system_reboot(struct sbi_scratch *scratch, u32 type) +void __noreturn sbi_system_reboot(u32 type) { ulong hbase = 0, hmask; u32 cur_hartid = current_hartid(); + struct sbi_scratch *scratch = sbi_scratch_thishart_ptr(); /* Send HALT IPI to every hart other than the current hart */ while (!sbi_hsm_hart_started_mask(hbase, &hmask)) { @@ -61,10 +42,11 @@ void __noreturn sbi_system_reboot(struct sbi_scratch *scratch, u32 type) sbi_exit(scratch); } -void __noreturn sbi_system_shutdown(struct sbi_scratch *scratch, u32 type) +void __noreturn sbi_system_shutdown(u32 type) { ulong hbase = 0, hmask; u32 cur_hartid = current_hartid(); + struct sbi_scratch *scratch = sbi_scratch_thishart_ptr(); /* Send HALT IPI to every hart other than the current hart */ while (!sbi_hsm_hart_started_mask(hbase, &hmask)) { |