2019-05-04 00:18:49

by Bjorn Andersson

[permalink] [raw]
Subject: [PATCH] clk: qcom: gdsc: WARN when failing to toggle

Failing to toggle a GDSC as the driver core is attaching the
power-domain to a device will cause a silent probe deferral. Provide an
explicit warning to the developer, in order to reduce the amount of time
it take to debug this.

Signed-off-by: Bjorn Andersson <[email protected]>
---
drivers/clk/qcom/gdsc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c
index dd63aa36b092..6a8a4996dde3 100644
--- a/drivers/clk/qcom/gdsc.c
+++ b/drivers/clk/qcom/gdsc.c
@@ -149,7 +149,9 @@ static int gdsc_toggle_logic(struct gdsc *sc, enum gdsc_status status)
udelay(1);
}

- return gdsc_poll_status(sc, status);
+ ret = gdsc_poll_status(sc, status);
+ WARN(ret, "%s status stuck at 'o%s'", sc->pd.name, status ? "ff" : "n");
+ return ret;
}

static inline int gdsc_deassert_reset(struct gdsc *sc)
--
2.18.0


2019-05-17 20:21:07

by Jeffrey Hugo

[permalink] [raw]
Subject: Re: [PATCH] clk: qcom: gdsc: WARN when failing to toggle

On 5/3/2019 6:17 PM, Bjorn Andersson wrote:
> Failing to toggle a GDSC as the driver core is attaching the
> power-domain to a device will cause a silent probe deferral. Provide an
> explicit warning to the developer, in order to reduce the amount of time
> it take to debug this.
>
> Signed-off-by: Bjorn Andersson <[email protected]>

Reviewed-by: Jeffrey Hugo <[email protected]>
Tested-by: Jeffrey Hugo <[email protected]>

> ---
> drivers/clk/qcom/gdsc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c
> index dd63aa36b092..6a8a4996dde3 100644
> --- a/drivers/clk/qcom/gdsc.c
> +++ b/drivers/clk/qcom/gdsc.c
> @@ -149,7 +149,9 @@ static int gdsc_toggle_logic(struct gdsc *sc, enum gdsc_status status)
> udelay(1);
> }
>
> - return gdsc_poll_status(sc, status);
> + ret = gdsc_poll_status(sc, status);
> + WARN(ret, "%s status stuck at 'o%s'", sc->pd.name, status ? "ff" : "n");
> + return ret;
> }
>
> static inline int gdsc_deassert_reset(struct gdsc *sc)
>


--
Jeffrey Hugo
Qualcomm Datacenter Technologies as an affiliate of Qualcomm
Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.

2019-05-20 08:24:40

by Marc Gonzalez

[permalink] [raw]
Subject: Re: [PATCH] clk: qcom: gdsc: WARN when failing to toggle

On 04/05/2019 02:17, Bjorn Andersson wrote:

> Failing to toggle a GDSC as the driver core is attaching the
> power-domain to a device will cause a silent probe deferral. Provide an
> explicit warning to the developer, in order to reduce the amount of time
> it take to debug this.

"it takes"

> Signed-off-by: Bjorn Andersson <[email protected]>
> ---
> drivers/clk/qcom/gdsc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/clk/qcom/gdsc.c b/drivers/clk/qcom/gdsc.c
> index dd63aa36b092..6a8a4996dde3 100644
> --- a/drivers/clk/qcom/gdsc.c
> +++ b/drivers/clk/qcom/gdsc.c
> @@ -149,7 +149,9 @@ static int gdsc_toggle_logic(struct gdsc *sc, enum gdsc_status status)
> udelay(1);
> }
>
> - return gdsc_poll_status(sc, status);
> + ret = gdsc_poll_status(sc, status);
> + WARN(ret, "%s status stuck at 'o%s'", sc->pd.name, status ? "ff" : "n");
> + return ret;

In my opinion, the minor obfuscation of "o%s", foo ? "ff" : "n"
does not justify the tiny space savings.

I'd spell it out: "%s", foo ? "off" : "on"

In any event:

Reviewed-by: Marc Gonzalez <[email protected]>

Regards.

2019-06-07 20:32:34

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] clk: qcom: gdsc: WARN when failing to toggle

Quoting Bjorn Andersson (2019-05-03 17:17:36)
> Failing to toggle a GDSC as the driver core is attaching the
> power-domain to a device will cause a silent probe deferral. Provide an
> explicit warning to the developer, in order to reduce the amount of time
> it take to debug this.
>
> Signed-off-by: Bjorn Andersson <[email protected]>
> ---

Applied to clk-next