mmc: pwrseq_simple: include deferred probe reasons
authorTom Fitzhenry <tom@tom-fitzhenry.me.uk>
Wed, 28 Dec 2022 14:23:54 +0000 (01:23 +1100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 23 Jan 2023 14:51:38 +0000 (15:51 +0100)
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/20221228140708.26431-1-tom@tom-fitzhenry.me.uk/

Signed-off-by: Tom Fitzhenry <tom@tom-fitzhenry.me.uk>
Link: https://lore.kernel.org/r/20221228142354.28454-1-tom@tom-fitzhenry.me.uk
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/pwrseq_simple.c

index 988467f..3bac1e7 100644 (file)
@@ -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",