]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mmc: core: Use dev_err_probe for deferred regulators
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Wed, 11 Sep 2024 09:09:09 +0000 (11:09 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Fri, 13 Sep 2024 12:09:29 +0000 (14:09 +0200)
In case vmmc or vqmmc regulator is not available yet, use dev_err_probe
in order to set a deferred probe reason. This is a helpful hint in
/sys/kernel/debug/devices_deferred

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20240911090910.3060749-1-alexander.stein@ew.tq-group.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/regulator.c

index 005247a49e51bf935b5dd7ba91632b2aa352445a..01747ab1024ec1a33615dc63d40cb66777e81949 100644 (file)
@@ -255,7 +255,9 @@ int mmc_regulator_get_supply(struct mmc_host *mmc)
 
        if (IS_ERR(mmc->supply.vmmc)) {
                if (PTR_ERR(mmc->supply.vmmc) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
+                       return dev_err_probe(dev, -EPROBE_DEFER,
+                                            "vmmc regulator not available\n");
+
                dev_dbg(dev, "No vmmc regulator found\n");
        } else {
                ret = mmc_regulator_get_ocrmask(mmc->supply.vmmc);
@@ -267,7 +269,9 @@ int mmc_regulator_get_supply(struct mmc_host *mmc)
 
        if (IS_ERR(mmc->supply.vqmmc)) {
                if (PTR_ERR(mmc->supply.vqmmc) == -EPROBE_DEFER)
-                       return -EPROBE_DEFER;
+                       return dev_err_probe(dev, -EPROBE_DEFER,
+                                            "vqmmc regulator not available\n");
+
                dev_dbg(dev, "No vqmmc regulator found\n");
        }