2022-12-28 14:42:42

by Tom Fitzhenry

[permalink] [raw]
Subject: [PATCH] mmc: pwrseq_simple: include deferred probe reasons

This adds a reason to /sys/kernel/debug/devices_deferred, which makes
it easier to debug deferred probes such as [0].

0. https://lore.kernel.org/all/[email protected]/

Signed-off-by: Tom Fitzhenry <[email protected]>
---
drivers/mmc/core/pwrseq_simple.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/core/pwrseq_simple.c b/drivers/mmc/core/pwrseq_simple.c
index 988467fbb621..3bac1e71411b 100644
--- a/drivers/mmc/core/pwrseq_simple.c
+++ b/drivers/mmc/core/pwrseq_simple.c
@@ -119,14 +119,14 @@ static int mmc_pwrseq_simple_probe(struct platform_device *pdev)

pwrseq->ext_clk = devm_clk_get(dev, "ext_clock");
if (IS_ERR(pwrseq->ext_clk) && PTR_ERR(pwrseq->ext_clk) != -ENOENT)
- return PTR_ERR(pwrseq->ext_clk);
+ return dev_err_probe(dev, PTR_ERR(pwrseq->ext_clk), "external clock not ready\n");

pwrseq->reset_gpios = devm_gpiod_get_array(dev, "reset",
GPIOD_OUT_HIGH);
if (IS_ERR(pwrseq->reset_gpios) &&
PTR_ERR(pwrseq->reset_gpios) != -ENOENT &&
PTR_ERR(pwrseq->reset_gpios) != -ENOSYS) {
- return PTR_ERR(pwrseq->reset_gpios);
+ return dev_err_probe(dev, PTR_ERR(pwrseq->reset_gpios), "reset GPIOs not ready\n");
}

device_property_read_u32(dev, "post-power-on-delay-ms",

base-commit: c76083fac3bae1a87ae3d005b5cb1cbc761e31d5
--
2.38.1


2023-01-02 16:05:45

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: pwrseq_simple: include deferred probe reasons

On Wed, 28 Dec 2022 at 15:24, Tom Fitzhenry <[email protected]> wrote:
>
> This adds a reason to /sys/kernel/debug/devices_deferred, which makes
> it easier to debug deferred probes such as [0].
>
> 0. https://lore.kernel.org/all/[email protected]/
>
> Signed-off-by: Tom Fitzhenry <[email protected]>

Applied for next, thanks!

Kind regards
Uffe


> ---
> drivers/mmc/core/pwrseq_simple.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/core/pwrseq_simple.c b/drivers/mmc/core/pwrseq_simple.c
> index 988467fbb621..3bac1e71411b 100644
> --- a/drivers/mmc/core/pwrseq_simple.c
> +++ b/drivers/mmc/core/pwrseq_simple.c
> @@ -119,14 +119,14 @@ static int mmc_pwrseq_simple_probe(struct platform_device *pdev)
>
> pwrseq->ext_clk = devm_clk_get(dev, "ext_clock");
> if (IS_ERR(pwrseq->ext_clk) && PTR_ERR(pwrseq->ext_clk) != -ENOENT)
> - return PTR_ERR(pwrseq->ext_clk);
> + return dev_err_probe(dev, PTR_ERR(pwrseq->ext_clk), "external clock not ready\n");
>
> pwrseq->reset_gpios = devm_gpiod_get_array(dev, "reset",
> GPIOD_OUT_HIGH);
> if (IS_ERR(pwrseq->reset_gpios) &&
> PTR_ERR(pwrseq->reset_gpios) != -ENOENT &&
> PTR_ERR(pwrseq->reset_gpios) != -ENOSYS) {
> - return PTR_ERR(pwrseq->reset_gpios);
> + return dev_err_probe(dev, PTR_ERR(pwrseq->reset_gpios), "reset GPIOs not ready\n");
> }
>
> device_property_read_u32(dev, "post-power-on-delay-ms",
>
> base-commit: c76083fac3bae1a87ae3d005b5cb1cbc761e31d5
> --
> 2.38.1
>