diff options
Diffstat (limited to 'services/std_svc/psci/psci_afflvl_off.c')
-rw-r--r-- | services/std_svc/psci/psci_afflvl_off.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/services/std_svc/psci/psci_afflvl_off.c b/services/std_svc/psci/psci_afflvl_off.c index ceb51f83..7eb96889 100644 --- a/services/std_svc/psci/psci_afflvl_off.c +++ b/services/std_svc/psci/psci_afflvl_off.c @@ -51,8 +51,6 @@ static void psci_afflvl0_off(aff_map_node_t *cpu_node) */ psci_do_pwrdown_cache_maintenance(MPIDR_AFFLVL0); - assert(psci_plat_pm_ops->affinst_off); - /* * Plat. management: Perform platform specific actions to turn this * cpu off e.g. exit cpu coherency, program the power controller etc. @@ -72,8 +70,6 @@ static void psci_afflvl1_off(aff_map_node_t *cluster_node) */ psci_do_pwrdown_cache_maintenance(MPIDR_AFFLVL1); - assert(psci_plat_pm_ops->affinst_off); - /* * Plat. Management. Allow the platform to do its cluster * specific bookeeping e.g. turn off interconnect coherency, @@ -99,8 +95,6 @@ static void psci_afflvl2_off(aff_map_node_t *system_node) */ psci_do_pwrdown_cache_maintenance(MPIDR_AFFLVL2); - assert(psci_plat_pm_ops->affinst_off); - /* * Plat. Management : Allow the platform to do its bookeeping * at this affinity level @@ -163,6 +157,12 @@ int psci_afflvl_off(int start_afflvl, unsigned int max_phys_off_afflvl; /* + * This function must only be called on platforms where the + * CPU_OFF platform hooks have been implemented. + */ + assert(psci_plat_pm_ops->affinst_off); + + /* * Collect the pointers to the nodes in the topology tree for * each affinity instance in the mpidr. If this function does * not return successfully then either the mpidr or the affinity |