2023-06-23 16:24:08

by Andrew Halaney

[permalink] [raw]
Subject: [PATCH] OPP: Use dev_err_probe() when failing to get icc_path

This, in tandem with dynamic debug, can print useful information about
-EPROBE_DEFFER like below, and keeps similar behavior for other errors:

[ 16.561072] cpu cpu0: error -EPROBE_DEFER: dev_pm_opp_of_find_icc_paths: Unable to get path0
[ 16.575777] platform 18591000.cpufreq: deferred probe pending

Signed-off-by: Andrew Halaney <[email protected]>
---
drivers/opp/of.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/opp/of.c b/drivers/opp/of.c
index e6d1155d0990..1f0923cc1cd9 100644
--- a/drivers/opp/of.c
+++ b/drivers/opp/of.c
@@ -513,11 +513,7 @@ int dev_pm_opp_of_find_icc_paths(struct device *dev,
for (i = 0; i < num_paths; i++) {
paths[i] = of_icc_get_by_index(dev, i);
if (IS_ERR(paths[i])) {
- ret = PTR_ERR(paths[i]);
- if (ret != -EPROBE_DEFER) {
- dev_err(dev, "%s: Unable to get path%d: %d\n",
- __func__, i, ret);
- }
+ ret = dev_err_probe(dev, ret, "%s: Unable to get path%d\n", __func__, i);
goto err;
}
}
--
2.40.1



2023-06-26 07:10:43

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH] OPP: Use dev_err_probe() when failing to get icc_path

On 23-06-23, 10:53, Andrew Halaney wrote:
> This, in tandem with dynamic debug, can print useful information about
> -EPROBE_DEFFER like below, and keeps similar behavior for other errors:
>
> [ 16.561072] cpu cpu0: error -EPROBE_DEFER: dev_pm_opp_of_find_icc_paths: Unable to get path0
> [ 16.575777] platform 18591000.cpufreq: deferred probe pending
>
> Signed-off-by: Andrew Halaney <[email protected]>
> ---
> drivers/opp/of.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/opp/of.c b/drivers/opp/of.c
> index e6d1155d0990..1f0923cc1cd9 100644
> --- a/drivers/opp/of.c
> +++ b/drivers/opp/of.c
> @@ -513,11 +513,7 @@ int dev_pm_opp_of_find_icc_paths(struct device *dev,
> for (i = 0; i < num_paths; i++) {
> paths[i] = of_icc_get_by_index(dev, i);
> if (IS_ERR(paths[i])) {
> - ret = PTR_ERR(paths[i]);
> - if (ret != -EPROBE_DEFER) {
> - dev_err(dev, "%s: Unable to get path%d: %d\n",
> - __func__, i, ret);
> - }
> + ret = dev_err_probe(dev, ret, "%s: Unable to get path%d\n", __func__, i);
> goto err;
> }
> }

Applied. Thanks.

--
viresh