[PATCH] MMC: OMAP: Re-organizing some goto at hsmmc probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Re-organizing some goto at hsmmc probe.

Signed-off-by: Francisco Alecrim <francisco.alecrim@xxxxxxxxxxx>
Signed-off-by: Jarkko Lavinen <jarkko.lavinen@xxxxxxxxx>
---
 drivers/mmc/host/omap_hsmmc.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index f5acf91..824e7e9 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -878,7 +878,7 @@ static int __init omap_mmc_probe(struct platform_device *pdev)
 			 host);
 	if (ret) {
 		dev_dbg(mmc_dev(host->mmc), "Unable to grab HSMMC IRQ\n");
-		goto irq_err;
+		goto err_irq;
 	}
 
 	/* Request IRQ for card detect */
@@ -888,18 +888,17 @@ static int __init omap_mmc_probe(struct platform_device *pdev)
 				  host);
 		if (ret) {
 			dev_dbg(mmc_dev(host->mmc),
-				"Unable to grab MMC CD IRQ");
-			free_irq(host->irq, host);
-			goto irq_err;
+				"Unable to grab MMC CD IRQ\n");
+			goto err_irq_cd;
 		}
 	}
 
 	INIT_WORK(&host->mmc_carddetect_work, mmc_omap_detect);
 	if (pdata->init != NULL) {
 		if (pdata->init(&pdev->dev) != 0) {
-			free_irq(mmc_slot(host).card_detect_irq, host);
-			free_irq(host->irq, host);
-			goto irq_err;
+			dev_dbg(mmc_dev(host->mmc),
+				"Unable to configure MMC IRQs\n");
+			goto err_irq_cd_init;
 		}
 	}
 
@@ -911,8 +910,11 @@ static int __init omap_mmc_probe(struct platform_device *pdev)
 
 	return 0;
 
-irq_err:
-	dev_dbg(mmc_dev(host->mmc), "Unable to configure MMC IRQs\n");
+err_irq_cd_init:
+	free_irq(mmc_slot(host).card_detect_irq, host);
+err_irq_cd:
+	free_irq(host->irq, host);
+err_irq:
 	clk_disable(host->fclk);
 	clk_disable(host->iclk);
 	clk_put(host->fclk);
-- 
1.5.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux