From 5c429ae2133e1a82b81403146a3e38e2b4b8350e Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Tue, 24 Nov 2020 11:59:05 +0530 Subject: lib: sbi: Improve system reset platform operations To implement the SBI SRST extension, we need two platform operations for system reset: 1) system_reset_check() - This operation will check whether given reset type and reason are supported by the platform 2) system_reset() - This operation will do the actual platform system reset and it will not return if reset type and reason are supported by the platform This patch updates system reset related code everywhere as-per above. Signed-off-by: Anup Patel Reviewed-by: Atish Patra --- platform/template/platform.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'platform/template') diff --git a/platform/template/platform.c b/platform/template/platform.c index 9cd750e..758e95f 100644 --- a/platform/template/platform.c +++ b/platform/template/platform.c @@ -178,13 +178,20 @@ static void platform_timer_event_stop(void) } /* - * Reset the platform. + * Check reset type and reason supported by the platform. */ -static int platform_system_reset(u32 type) +static int platform_system_reset_check(u32 type, u32 reason) { return 0; } +/* + * Reset the platform. + */ +static void platform_system_reset(u32 type, u32 reason) +{ +} + /* * Platform descriptor. */ @@ -202,6 +209,7 @@ const struct sbi_platform_operations platform_ops = { .timer_event_stop = platform_timer_event_stop, .timer_event_start = platform_timer_event_start, .timer_init = platform_timer_init, + .system_reset_check = platform_system_reset_check, .system_reset = platform_system_reset }; const struct sbi_platform platform = { -- cgit v1.2.3