Skip to content

Commit 8bac889

Browse files
committed
Merge tag 'mmc-v6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC fixes from Ulf Hansson: "Renesas SDHI fixes: - Fix error-paths in probe - Fix build-error when CONFIG_REGULATOR is unset" * tag 'mmc-v6.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: mmc: renesas_sdhi: disable clocks if registering regulator failed mmc: renesas_sdhi: add regulator dependency mmc: renesas_sdhi: Fix error handling in renesas_sdhi_probe
2 parents fba784c + 77183db commit 8bac889

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

drivers/mmc/host/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,8 +691,8 @@ config MMC_TMIO_CORE
691691
config MMC_SDHI
692692
tristate "Renesas SDHI SD/SDIO controller support"
693693
depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
694+
depends on (RESET_CONTROLLER && REGULATOR) || !OF
694695
select MMC_TMIO_CORE
695-
select RESET_CONTROLLER if ARCH_RENESAS
696696
help
697697
This provides support for the SDHI SD/SDIO controller found in
698698
Renesas SuperH, ARM and ARM64 based SoCs

drivers/mmc/host/renesas_sdhi_core.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,7 +1179,7 @@ int renesas_sdhi_probe(struct platform_device *pdev,
11791179
if (IS_ERR(rdev)) {
11801180
dev_err(dev, "regulator register failed err=%ld", PTR_ERR(rdev));
11811181
ret = PTR_ERR(rdev);
1182-
goto efree;
1182+
goto edisclk;
11831183
}
11841184
priv->rdev = rdev;
11851185
}
@@ -1243,26 +1243,26 @@ int renesas_sdhi_probe(struct platform_device *pdev,
12431243
num_irqs = platform_irq_count(pdev);
12441244
if (num_irqs < 0) {
12451245
ret = num_irqs;
1246-
goto eirq;
1246+
goto edisclk;
12471247
}
12481248

12491249
/* There must be at least one IRQ source */
12501250
if (!num_irqs) {
12511251
ret = -ENXIO;
1252-
goto eirq;
1252+
goto edisclk;
12531253
}
12541254

12551255
for (i = 0; i < num_irqs; i++) {
12561256
irq = platform_get_irq(pdev, i);
12571257
if (irq < 0) {
12581258
ret = irq;
1259-
goto eirq;
1259+
goto edisclk;
12601260
}
12611261

12621262
ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq, 0,
12631263
dev_name(&pdev->dev), host);
12641264
if (ret)
1265-
goto eirq;
1265+
goto edisclk;
12661266
}
12671267

12681268
ret = tmio_mmc_host_probe(host);
@@ -1274,8 +1274,6 @@ int renesas_sdhi_probe(struct platform_device *pdev,
12741274

12751275
return ret;
12761276

1277-
eirq:
1278-
tmio_mmc_host_remove(host);
12791277
edisclk:
12801278
renesas_sdhi_clk_disable(host);
12811279
efree:

0 commit comments

Comments
 (0)