]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
mmc: meson-mx-sdio: Use dev_err_probe() where appropriate
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 8 Nov 2025 23:12:51 +0000 (00:12 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 18 Nov 2025 15:21:36 +0000 (16:21 +0100)
This streamlines probe error handling / logging with other drivers.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/meson-mx-sdio.c

index 214ce84f1ddda4c0319c3beaf5e7cd8c7ec6d7e3..052bcf8f32df32197e9d0cc4d804c465fec8c9d0 100644 (file)
@@ -520,16 +520,14 @@ static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host)
        struct device *slot_dev = mmc_dev(mmc);
        int ret;
 
-       if (of_property_read_u32(slot_dev->of_node, "reg", &host->slot_id)) {
-               dev_err(slot_dev, "missing 'reg' property\n");
-               return -EINVAL;
-       }
+       if (of_property_read_u32(slot_dev->of_node, "reg", &host->slot_id))
+               return dev_err_probe(slot_dev, -EINVAL,
+                                    "missing 'reg' property\n");
 
-       if (host->slot_id >= MESON_MX_SDIO_MAX_SLOTS) {
-               dev_err(slot_dev, "invalid 'reg' property value %d\n",
-                       host->slot_id);
-               return -EINVAL;
-       }
+       if (host->slot_id >= MESON_MX_SDIO_MAX_SLOTS)
+               return dev_err_probe(slot_dev, -EINVAL,
+                                    "invalid 'reg' property value %d\n",
+                                    host->slot_id);
 
        /* Get regulators and the supported OCR mask */
        ret = mmc_regulator_get_supply(mmc);
@@ -666,7 +664,8 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
        host->regmap = devm_regmap_init_mmio(&pdev->dev, base,
                                             &meson_mx_sdio_regmap_config);
        if (IS_ERR(host->regmap)) {
-               ret = PTR_ERR(host->regmap);
+               ret = dev_err_probe(host->controller_dev, PTR_ERR(host->regmap),
+                                   "Failed to initialize regmap\n");
                goto error_unregister_slot_pdev;
        }
 
@@ -680,12 +679,16 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
                                        meson_mx_mmc_irq,
                                        meson_mx_mmc_irq_thread, IRQF_ONESHOT,
                                        NULL, host);
-       if (ret)
+       if (ret) {
+               dev_err_probe(host->controller_dev, ret,
+                             "Failed to request IRQ\n");
                goto error_unregister_slot_pdev;
+       }
 
        core_clk = devm_clk_get_enabled(host->controller_dev, "core");
        if (IS_ERR(core_clk)) {
-               ret = PTR_ERR(core_clk);
+               ret = dev_err_probe(host->controller_dev, PTR_ERR(core_clk),
+                                   "Failed to get and enable 'core' clock\n");
                goto error_unregister_slot_pdev;
        }
 
@@ -697,7 +700,8 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
 
        ret = clk_prepare_enable(host->cfg_div_clk);
        if (ret) {
-               dev_err(host->controller_dev, "Failed to enable MMC clock\n");
+               dev_err_probe(host->controller_dev, ret,
+                             "Failed to enable MMC (cfg div) clock\n");
                goto error_unregister_slot_pdev;
        }