Skip to content

Commit 3241cde

Browse files
xdarklightUlf Hansson
authored andcommitted
mmc: meson-mx-sdio: Use dev_err_probe() where appropriate
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>
1 parent baa74c2 commit 3241cde

1 file changed

Lines changed: 17 additions & 13 deletions

File tree

drivers/mmc/host/meson-mx-sdio.c

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -520,16 +520,14 @@ static int meson_mx_mmc_add_host(struct meson_mx_mmc_host *host)
520520
struct device *slot_dev = mmc_dev(mmc);
521521
int ret;
522522

523-
if (of_property_read_u32(slot_dev->of_node, "reg", &host->slot_id)) {
524-
dev_err(slot_dev, "missing 'reg' property\n");
525-
return -EINVAL;
526-
}
523+
if (of_property_read_u32(slot_dev->of_node, "reg", &host->slot_id))
524+
return dev_err_probe(slot_dev, -EINVAL,
525+
"missing 'reg' property\n");
527526

528-
if (host->slot_id >= MESON_MX_SDIO_MAX_SLOTS) {
529-
dev_err(slot_dev, "invalid 'reg' property value %d\n",
530-
host->slot_id);
531-
return -EINVAL;
532-
}
527+
if (host->slot_id >= MESON_MX_SDIO_MAX_SLOTS)
528+
return dev_err_probe(slot_dev, -EINVAL,
529+
"invalid 'reg' property value %d\n",
530+
host->slot_id);
533531

534532
/* Get regulators and the supported OCR mask */
535533
ret = mmc_regulator_get_supply(mmc);
@@ -666,7 +664,8 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
666664
host->regmap = devm_regmap_init_mmio(&pdev->dev, base,
667665
&meson_mx_sdio_regmap_config);
668666
if (IS_ERR(host->regmap)) {
669-
ret = PTR_ERR(host->regmap);
667+
ret = dev_err_probe(host->controller_dev, PTR_ERR(host->regmap),
668+
"Failed to initialize regmap\n");
670669
goto error_unregister_slot_pdev;
671670
}
672671

@@ -680,12 +679,16 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
680679
meson_mx_mmc_irq,
681680
meson_mx_mmc_irq_thread, IRQF_ONESHOT,
682681
NULL, host);
683-
if (ret)
682+
if (ret) {
683+
dev_err_probe(host->controller_dev, ret,
684+
"Failed to request IRQ\n");
684685
goto error_unregister_slot_pdev;
686+
}
685687

686688
core_clk = devm_clk_get_enabled(host->controller_dev, "core");
687689
if (IS_ERR(core_clk)) {
688-
ret = PTR_ERR(core_clk);
690+
ret = dev_err_probe(host->controller_dev, PTR_ERR(core_clk),
691+
"Failed to get and enable 'core' clock\n");
689692
goto error_unregister_slot_pdev;
690693
}
691694

@@ -697,7 +700,8 @@ static int meson_mx_mmc_probe(struct platform_device *pdev)
697700

698701
ret = clk_prepare_enable(host->cfg_div_clk);
699702
if (ret) {
700-
dev_err(host->controller_dev, "Failed to enable MMC clock\n");
703+
dev_err_probe(host->controller_dev, ret,
704+
"Failed to enable MMC (cfg div) clock\n");
701705
goto error_unregister_slot_pdev;
702706
}
703707

0 commit comments

Comments
 (0)