2022-06-09 10:15:35

by Martin Kepplinger

[permalink] [raw]
Subject: [PATCH] soc: imx: gpcv2: print errno for regulator errors

Make debugging of power management issues easier by printing the reason
why a regulator fails to be enabled or disabled.

Signed-off-by: Martin Kepplinger <[email protected]>
---
drivers/soc/imx/gpcv2.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c
index 3cb123016b3e..311507a815c5 100644
--- a/drivers/soc/imx/gpcv2.c
+++ b/drivers/soc/imx/gpcv2.c
@@ -233,7 +233,8 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd)
if (!IS_ERR(domain->regulator)) {
ret = regulator_enable(domain->regulator);
if (ret) {
- dev_err(domain->dev, "failed to enable regulator\n");
+ dev_err(domain->dev, "failed to enable regulator: %d\n",
+ ret);
goto out_put_pm;
}
}
@@ -372,7 +373,8 @@ static int imx_pgc_power_down(struct generic_pm_domain *genpd)
if (!IS_ERR(domain->regulator)) {
ret = regulator_disable(domain->regulator);
if (ret) {
- dev_err(domain->dev, "failed to disable regulator\n");
+ dev_err(domain->dev,
+ "failed to disable regulator: %d\n", ret);
return ret;
}
}
--
2.30.2


2022-06-09 10:26:41

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH] soc: imx: gpcv2: print errno for regulator errors

Hello Martin,

On 09.06.22 11:44, Martin Kepplinger wrote:
> Make debugging of power management issues easier by printing the reason
> why a regulator fails to be enabled or disabled.
>
> Signed-off-by: Martin Kepplinger <[email protected]>
> ---
> drivers/soc/imx/gpcv2.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/soc/imx/gpcv2.c b/drivers/soc/imx/gpcv2.c
> index 3cb123016b3e..311507a815c5 100644
> --- a/drivers/soc/imx/gpcv2.c
> +++ b/drivers/soc/imx/gpcv2.c
> @@ -233,7 +233,8 @@ static int imx_pgc_power_up(struct generic_pm_domain *genpd)
> if (!IS_ERR(domain->regulator)) {
> ret = regulator_enable(domain->regulator);
> if (ret) {
> - dev_err(domain->dev, "failed to enable regulator\n");
> + dev_err(domain->dev, "failed to enable regulator: %d\n",
> + ret);

You could make it even more approachable by using %pe.

> goto out_put_pm;
> }
> }
> @@ -372,7 +373,8 @@ static int imx_pgc_power_down(struct generic_pm_domain *genpd)
> if (!IS_ERR(domain->regulator)) {
> ret = regulator_disable(domain->regulator);
> if (ret) {
> - dev_err(domain->dev, "failed to disable regulator\n");
> + dev_err(domain->dev,
> + "failed to disable regulator: %d\n", ret);
> return ret;
> }
> }


--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |