diff mbox series

[v7,1/3] scmi-cpufreq: Remove deferred probe

Message ID 20210215075139.30772-2-nicola.mazzucato@arm.com
State Superseded
Headers show
Series [v7,1/3] scmi-cpufreq: Remove deferred probe | expand

Commit Message

Nicola Mazzucato Feb. 15, 2021, 7:51 a.m. UTC
The current implementation of the scmi_cpufreq_init() function returns
-EPROBE_DEFER when the OPP table is not populated. In practice the
cpufreq core cannot handle this error code.
Therefore, fix the return value and clarify the error message.

Reviewed-by: Ionela Voinescu <ionela.voinescu@arm.com>
Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>
---
 drivers/cpufreq/scmi-cpufreq.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Viresh Kumar Feb. 18, 2021, 10:35 a.m. UTC | #1
On 15-02-21, 07:51, Nicola Mazzucato wrote:
> The current implementation of the scmi_cpufreq_init() function returns

> -EPROBE_DEFER when the OPP table is not populated. In practice the

> cpufreq core cannot handle this error code.

> Therefore, fix the return value and clarify the error message.

> 

> Reviewed-by: Ionela Voinescu <ionela.voinescu@arm.com>

> Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>

> ---

>  drivers/cpufreq/scmi-cpufreq.c | 8 +++++---

>  1 file changed, 5 insertions(+), 3 deletions(-)

> 

> diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c

> index 491a0a24fb1e..34bf2eb8d465 100644

> --- a/drivers/cpufreq/scmi-cpufreq.c

> +++ b/drivers/cpufreq/scmi-cpufreq.c

> @@ -155,9 +155,11 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)

>  

>  	nr_opp = dev_pm_opp_get_opp_count(cpu_dev);

>  	if (nr_opp <= 0) {

> -		dev_dbg(cpu_dev, "OPP table is not ready, deferring probe\n");

> -		ret = -EPROBE_DEFER;

> -		goto out_free_opp;


Why change goto label as well ?

> +		dev_err(cpu_dev, "%s: No OPPs for this device: %d\n",

> +			__func__, ret);

> +

> +		ret = -ENODEV;

> +		goto out_free_priv;

>  	}

>  

>  	priv = kzalloc(sizeof(*priv), GFP_KERNEL);

> -- 

> 2.27.0


-- 
viresh
Nicola Mazzucato Feb. 18, 2021, 1:01 p.m. UTC | #2
Hi Viresh,


On 2/18/21 10:35 AM, Viresh Kumar wrote:
> On 15-02-21, 07:51, Nicola Mazzucato wrote:

>> The current implementation of the scmi_cpufreq_init() function returns

>> -EPROBE_DEFER when the OPP table is not populated. In practice the

>> cpufreq core cannot handle this error code.

>> Therefore, fix the return value and clarify the error message.

>>

>> Reviewed-by: Ionela Voinescu <ionela.voinescu@arm.com>

>> Signed-off-by: Nicola Mazzucato <nicola.mazzucato@arm.com>

>> ---

>>  drivers/cpufreq/scmi-cpufreq.c | 8 +++++---

>>  1 file changed, 5 insertions(+), 3 deletions(-)

>>

>> diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c

>> index 491a0a24fb1e..34bf2eb8d465 100644

>> --- a/drivers/cpufreq/scmi-cpufreq.c

>> +++ b/drivers/cpufreq/scmi-cpufreq.c

>> @@ -155,9 +155,11 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)

>>  

>>  	nr_opp = dev_pm_opp_get_opp_count(cpu_dev);

>>  	if (nr_opp <= 0) {

>> -		dev_dbg(cpu_dev, "OPP table is not ready, deferring probe\n");

>> -		ret = -EPROBE_DEFER;

>> -		goto out_free_opp;

> 

> Why change goto label as well ?


oops! thanks for spotting this :)

> 

>> +		dev_err(cpu_dev, "%s: No OPPs for this device: %d\n",

>> +			__func__, ret);

>> +

>> +		ret = -ENODEV;

>> +		goto out_free_priv;

>>  	}

>>  

>>  	priv = kzalloc(sizeof(*priv), GFP_KERNEL);

>> -- 

>> 2.27.0

>
diff mbox series

Patch

diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c
index 491a0a24fb1e..34bf2eb8d465 100644
--- a/drivers/cpufreq/scmi-cpufreq.c
+++ b/drivers/cpufreq/scmi-cpufreq.c
@@ -155,9 +155,11 @@  static int scmi_cpufreq_init(struct cpufreq_policy *policy)
 
 	nr_opp = dev_pm_opp_get_opp_count(cpu_dev);
 	if (nr_opp <= 0) {
-		dev_dbg(cpu_dev, "OPP table is not ready, deferring probe\n");
-		ret = -EPROBE_DEFER;
-		goto out_free_opp;
+		dev_err(cpu_dev, "%s: No OPPs for this device: %d\n",
+			__func__, ret);
+
+		ret = -ENODEV;
+		goto out_free_priv;
 	}
 
 	priv = kzalloc(sizeof(*priv), GFP_KERNEL);