refactor: panic after calling psci_power_down_wfi()
This function doesn't return and its callers that don't return either
rely on this. Drop the dead attribute and add a panic() after it to make
this expectation explicit. Calling `wfi` in the powerdown sequence is
terminal so even if the function was made to return, there would be no
functional change.
This is useful for a following patch that makes psci_power_down_wfi()
return.
Change-Id: I62ca1ee058b1eaeb046966c795081e01bf45a2eb
Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
diff --git a/plat/mediatek/include/lib/pm/mtk_pm.h b/plat/mediatek/include/lib/pm/mtk_pm.h
index 14d005d..05293e9 100644
--- a/plat/mediatek/include/lib/pm/mtk_pm.h
+++ b/plat/mediatek/include/lib/pm/mtk_pm.h
@@ -78,7 +78,7 @@
psci_power_state_t *req_state);
void (*get_sys_suspend_power_state)(
psci_power_state_t *req_state);
- __dead2 void (*pwr_domain_pwr_down_wfi)(
+ void (*pwr_domain_pwr_down_wfi)(
const psci_power_state_t *req_state);
};
diff --git a/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c b/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
index 73b1f68..fbaa3f4 100644
--- a/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
+++ b/plat/mediatek/lib/pm/armv9_0/pwr_ctrl.c
@@ -371,7 +371,7 @@
}
#endif
-static void __dead2 pwr_domain_pwr_down_wfi(const psci_power_state_t *req_state)
+static void pwr_domain_pwr_down_wfi(const psci_power_state_t *req_state)
{
unsigned int cpu = plat_my_core_pos();
int ret = MTK_CPUPM_E_NOT_SUPPORT;
@@ -382,6 +382,8 @@
plat_panic_handler();
else
psci_power_down_wfi();
+ /* should never reach here */
+ panic();
}
static void pm_smp_init(unsigned int cpu_id, uintptr_t entry_point)