diff --git a/services/std_svc/psci/psci_main.c b/services/std_svc/psci/psci_main.c index e6cd3a3a4d0c9e39d59b689cd27fb7786cca13b6..68ad5f632e4bdeb25d906208075686bf40cd8d58 100644 --- a/services/std_svc/psci/psci_main.c +++ b/services/std_svc/psci/psci_main.c @@ -47,7 +47,6 @@ int psci_cpu_on(u_register_t target_cpu, { int rc; - unsigned int end_pwrlvl; entry_point_info_t ep; /* Determine if the cpu exists of not */ @@ -64,11 +63,7 @@ int psci_cpu_on(u_register_t target_cpu, * To turn this cpu on, specify which power * levels need to be turned on */ - end_pwrlvl = PLAT_MAX_PWR_LVL; - rc = psci_cpu_on_start(target_cpu, - &ep, - end_pwrlvl); - return rc; + return psci_cpu_on_start(target_cpu, &ep); } unsigned int psci_version(void) diff --git a/services/std_svc/psci/psci_on.c b/services/std_svc/psci/psci_on.c index 200e62225b9df5a15ad96e892065649e556b2c3a..c8c36cd0f0b4cd709d9dd0bbc906ca2573456486 100644 --- a/services/std_svc/psci/psci_on.c +++ b/services/std_svc/psci/psci_on.c @@ -67,13 +67,16 @@ static int cpu_on_validate_state(aff_info_state_t aff_state) * platform handler as it can return error. ******************************************************************************/ int psci_cpu_on_start(u_register_t target_cpu, - entry_point_info_t *ep, - unsigned int end_pwrlvl) + entry_point_info_t *ep) { int rc; unsigned int target_idx = plat_core_pos_by_mpidr(target_cpu); aff_info_state_t target_aff_state; + /* Calling function must supply valid input arguments */ + assert((int) target_idx >= 0); + assert(ep != NULL); + /* * This function must only be called on platforms where the * CPU_ON platform hooks have been implemented. diff --git a/services/std_svc/psci/psci_private.h b/services/std_svc/psci/psci_private.h index 4b91ad530b9ca7434e61d35895202a4325773ab4..8a671b39d7d3f0873d3c1387fd3ad7662a896b37 100644 --- a/services/std_svc/psci/psci_private.h +++ b/services/std_svc/psci/psci_private.h @@ -203,8 +203,7 @@ int psci_spd_migrate_info(u_register_t *mpidr); /* Private exported functions from psci_on.c */ int psci_cpu_on_start(unsigned long target_cpu, - entry_point_info_t *ep, - unsigned int end_pwrlvl); + entry_point_info_t *ep); void psci_cpu_on_finish(unsigned int cpu_idx, psci_power_state_t *state_info);