Commit 8bac8898 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
parents fba784cc 77183db6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -691,8 +691,8 @@ config MMC_TMIO_CORE
config MMC_SDHI
	tristate "Renesas SDHI SD/SDIO controller support"
	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
	depends on (RESET_CONTROLLER && REGULATOR) || !OF
	select MMC_TMIO_CORE
	select RESET_CONTROLLER if ARCH_RENESAS
	help
	  This provides support for the SDHI SD/SDIO controller found in
	  Renesas SuperH, ARM and ARM64 based SoCs
+5 −7
Original line number Diff line number Diff line
@@ -1179,7 +1179,7 @@ int renesas_sdhi_probe(struct platform_device *pdev,
		if (IS_ERR(rdev)) {
			dev_err(dev, "regulator register failed err=%ld", PTR_ERR(rdev));
			ret = PTR_ERR(rdev);
			goto efree;
			goto edisclk;
		}
		priv->rdev = rdev;
	}
@@ -1243,26 +1243,26 @@ int renesas_sdhi_probe(struct platform_device *pdev,
	num_irqs = platform_irq_count(pdev);
	if (num_irqs < 0) {
		ret = num_irqs;
		goto eirq;
		goto edisclk;
	}

	/* There must be at least one IRQ source */
	if (!num_irqs) {
		ret = -ENXIO;
		goto eirq;
		goto edisclk;
	}

	for (i = 0; i < num_irqs; i++) {
		irq = platform_get_irq(pdev, i);
		if (irq < 0) {
			ret = irq;
			goto eirq;
			goto edisclk;
		}

		ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq, 0,
				       dev_name(&pdev->dev), host);
		if (ret)
			goto eirq;
			goto edisclk;
	}

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

	return ret;

eirq:
	tmio_mmc_host_remove(host);
edisclk:
	renesas_sdhi_clk_disable(host);
efree: