From 1993182f032b71a4d16e39bff12c142dd25dd67e Mon Sep 17 00:00:00 2001 From: Anup Patel Date: Fri, 3 Jan 2020 09:51:58 +0530 Subject: lib: Add irqchip exit API We add an optional platform irqchip exit hook for exit path handling in sbi_exit() implementation. Signed-off-by: Anup Patel Reviewed-by: Atish Patra --- include/sbi/sbi_platform.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'include/sbi/sbi_platform.h') diff --git a/include/sbi/sbi_platform.h b/include/sbi/sbi_platform.h index 21082fc..0de8be4 100644 --- a/include/sbi/sbi_platform.h +++ b/include/sbi/sbi_platform.h @@ -109,6 +109,8 @@ struct sbi_platform_operations { /** Initialize the platform interrupt controller for current HART */ int (*irqchip_init)(bool cold_boot); + /** Exit the platform interrupt controller for current HART */ + void (*irqchip_exit)(void); /** Send IPI to a target HART */ void (*ipi_send)(u32 target_hart); @@ -459,6 +461,17 @@ static inline int sbi_platform_irqchip_init(const struct sbi_platform *plat, return 0; } +/** + * Exit the platform interrupt controller for current HART + * + * @param plat pointer to struct sbi_platform + */ +static inline void sbi_platform_irqchip_exit(const struct sbi_platform *plat) +{ + if (plat && sbi_platform_ops(plat)->irqchip_exit) + sbi_platform_ops(plat)->irqchip_exit(); +} + /** * Send IPI to a target HART * -- cgit v1.2.3