@@ -309,6 +309,13 @@ static int psci_system_suspend(unsigned long unused)
__pa_symbol(cpu_resume), 0, 0);
}
+static int psci_system_suspend_begin(suspend_state_t state)
+{
+ pm_set_suspend_via_firmware();
+
+ return 0;
+}
+
static int psci_system_suspend_enter(suspend_state_t state)
{
return cpu_suspend(0, psci_system_suspend);
@@ -316,6 +323,7 @@ static int psci_system_suspend_enter(suspend_state_t state)
static const struct platform_suspend_ops psci_suspend_ops = {
.valid = suspend_valid_only_mem,
+ .begin = psci_system_suspend_begin,
.enter = psci_system_suspend_enter,
};
Call pm_set_suspend_via_firmware() in .begin() of psci_suspend_ops to use pm_suspend_via_firmware() on PSCI environment. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> --- drivers/firmware/psci/psci.c | 8 ++++++++ 1 file changed, 8 insertions(+)