summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/std_svc/psci/psci_main.c7
-rw-r--r--services/std_svc/psci/psci_on.c7
-rw-r--r--services/std_svc/psci/psci_private.h3
3 files changed, 7 insertions, 10 deletions
diff --git a/services/std_svc/psci/psci_main.c b/services/std_svc/psci/psci_main.c
index e6cd3a3a..68ad5f63 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 200e6222..c8c36cd0 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 4b91ad53..8a671b39 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);