Re: [PATCH 1/2] cpuidle: psci: Fix regression leading to no genpd governor

From: Anup Patel
Date: Sat May 14 2022 - 12:49:04 EST


On Sat, May 14, 2022 at 8:50 PM Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote:
>
> While factoring out the PM domain related code from PSCI domain driver into
> a set of library functions, a regression when initializing the genpds got
> introduced. More precisely, we fail to assign a genpd governor, so let's
> fix this.
>
> Fixes: 9d976d6721df ("cpuidle: Factor-out power domain related code from PSCI domain driver")
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>

Looks good to me.

Reviewed-by: Anup Patel <anup@xxxxxxxxxxxxxx>

Regards,
Anup

> ---
> drivers/cpuidle/cpuidle-psci-domain.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpuidle/cpuidle-psci-domain.c b/drivers/cpuidle/cpuidle-psci-domain.c
> index 755bbdfc5b82..3db4fca1172b 100644
> --- a/drivers/cpuidle/cpuidle-psci-domain.c
> +++ b/drivers/cpuidle/cpuidle-psci-domain.c
> @@ -52,7 +52,7 @@ static int psci_pd_init(struct device_node *np, bool use_osi)
> struct generic_pm_domain *pd;
> struct psci_pd_provider *pd_provider;
> struct dev_power_governor *pd_gov;
> - int ret = -ENOMEM, state_count = 0;
> + int ret = -ENOMEM;
>
> pd = dt_idle_pd_alloc(np, psci_dt_parse_state_node);
> if (!pd)
> @@ -71,7 +71,7 @@ static int psci_pd_init(struct device_node *np, bool use_osi)
> pd->flags |= GENPD_FLAG_ALWAYS_ON;
>
> /* Use governor for CPU PM domains if it has some states to manage. */
> - pd_gov = state_count > 0 ? &pm_domain_cpu_gov : NULL;
> + pd_gov = pd->states ? &pm_domain_cpu_gov : NULL;
>
> ret = pm_genpd_init(pd, pd_gov, false);
> if (ret)
> --
> 2.25.1
>