Re: [PATCH] cpufreq: qcom-hw: Use optional irq API

From: Thara Gopinath
Date: Wed Nov 17 2021 - 21:55:33 EST


Hello Stephen,

Thanks for the patch

On 11/16/21 9:03 PM, Stephen Boyd wrote:
Use platform_get_irq_optional() to avoid a noisy error message when the
irq isn't specified. The irq is definitely optional given that we only
care about errors that are -EPROBE_DEFER here.

Cc: Thara Gopinath <thara.gopinath@xxxxxxxxxx>
Signed-off-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---
drivers/cpufreq/qcom-cpufreq-hw.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/cpufreq/qcom-cpufreq-hw.c b/drivers/cpufreq/qcom-cpufreq-hw.c
index a2be0df7e174..b442d4983a22 100644
--- a/drivers/cpufreq/qcom-cpufreq-hw.c
+++ b/drivers/cpufreq/qcom-cpufreq-hw.c
@@ -382,9 +382,11 @@ static int qcom_cpufreq_hw_lmh_init(struct cpufreq_policy *policy, int index)
* Look for LMh interrupt. If no interrupt line is specified /
* if there is an error, allow cpufreq to be enabled as usual.
*/
- data->throttle_irq = platform_get_irq(pdev, index);
- if (data->throttle_irq <= 0)
- return data->throttle_irq == -EPROBE_DEFER ? -EPROBE_DEFER : 0;
+ data->throttle_irq = platform_get_irq_optional(pdev, index);
+ if (data->throttle_irq == -ENXIO)
+ return 0;
+ if (data->throttle_irq < 0)
+ return data->throttle_irq;

Here the idea is to return only -EPROBE_DEFER error. Else return a 0 , so that cpufreq is enabled even if lmh interrupt is inaccessible. The above check returns errors other than -EPROBE_DEFER as well. So I would say make irq optional and keep the below check

if (data->throttle_irq <= 0)
return data->throttle_irq == -EPROBE_DEFER ? -EPROBE_DEFER : 0;

data->cancel_throttle = false;
data->policy = policy;

base-commit: fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf


--
Warm Regards
Thara (She/Her/Hers)