Skip to contentSkip to conversation

mmc: A few trivial changes for tmio-mmc

PATCH In review Magnus Damm 2 participants 6 messages Nov 27, 2009 – Jan 19, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

cover mmc: A few trivial changes for tmio-mmc

mmc: A few trivial changes for tmio-mmc

[PATCH 01/03] mmc: Let tmio-mmc use dev_name() with request_irq() [PATCH 02/03] mmc: Remove const from tmio-mmc platform data V2 [PATCH 03/03] mmc: Balance tmio-mmc cell enable()/disable() calls

These patches contain a few trivial changes for the tmio-mmc driver. Nothing out of the ordinary. Tested together with the sh_mobile_sdhi mfd driver on a sh7724 Ecovec board.

---

 drivers/mmc/host/tmio_mmc.c |   12 +++++++++---
 include/linux/mfd/tmio.h    |    2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)
#1 lore raw

PATCH 1/3 mmc: Let tmio-mmc use dev_name() with request_irq()

From: Magnus Damm <[email protected]>

This change improves the /proc/interrupts output so the irq number can be mapped to platform device on boards with multiple tmio_mmc instances.

---

 drivers/mmc/host/tmio_mmc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/mmc/host/tmio_mmc.c +1 -1
@@ -582,7 +582,7 @@ static int __devinit tmio_mmc_probe(stru
 	disable_mmc_irqs(host, TMIO_MASK_ALL);
 
 	ret = request_irq(host->irq, tmio_mmc_irq, IRQF_DISABLED |
-		IRQF_TRIGGER_FALLING, "tmio-mmc", host);
+		IRQF_TRIGGER_FALLING, dev_name(&dev->dev), host);
 	if (ret)
 		goto unmap_ctl;
 
#2 lore raw

PATCH 2/3 mmc: Remove const from tmio-mmc platform data V2

In reply to Magnus Damm

From: Magnus Damm <[email protected]>

This patch removes the const from the tmio-mmc
platform data parameter "hclk". Needed by the
SDHI driver.

---

V2 drops the SDHI bits to simplify merging.

 include/linux/mfd/tmio.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/linux/mfd/tmio.h +1 -1
@@ -60,7 +60,7 @@ void tmio_core_set_bus_shift(int bus_shi
  * data for the MMC controller
  */
 struct tmio_mmc_data {
-	const unsigned int		hclk;
+	unsigned int		hclk;
 	void (*set_pwr)(struct platform_device *host, int state);
 	void (*set_no_clk_div)(struct platform_device *host, int state);
 };
#3 lore raw

PATCH 3/3 mmc: Balance tmio-mmc cell enable()/disable() calls

In reply to Magnus Damm

From: Magnus Damm <[email protected]>

This patch adds cell->disable() calls to the tmio-mmc probe() error handling and the remove() function.

---

 drivers/mmc/host/tmio_mmc.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
drivers/mmc/host/tmio_mmc.c +8 -2
@@ -577,14 +577,14 @@ static int __devinit tmio_mmc_probe(stru
 	if (ret >= 0)
 		host->irq = ret;
 	else
-		goto unmap_ctl;
+		goto cell_disable;
 
 	disable_mmc_irqs(host, TMIO_MASK_ALL);
 
 	ret = request_irq(host->irq, tmio_mmc_irq, IRQF_DISABLED |
 		IRQF_TRIGGER_FALLING, dev_name(&dev->dev), host);
 	if (ret)
-		goto unmap_ctl;
+		goto cell_disable;
 
 	mmc_add_host(mmc);
 
@@ -596,6 +596,9 @@ static int __devinit tmio_mmc_probe(stru
 
 	return 0;
 
+cell_disable:
+	if (cell->disable)
+		cell->disable(dev);
 unmap_ctl:
 	iounmap(host->ctl);
 host_free:
@@ -606,6 +609,7 @@ out:
 
 static int __devexit tmio_mmc_remove(struct platform_device *dev)
 {
+	struct mfd_cell	*cell = (struct mfd_cell *)dev->dev.platform_data;
 	struct mmc_host *mmc = platform_get_drvdata(dev);
 
 	platform_set_drvdata(dev, NULL);
@@ -614,6 +618,8 @@ static int __devexit tmio_mmc_remove(str
 		struct tmio_mmc_host *host = mmc_priv(mmc);
 		mmc_remove_host(mmc);
 		free_irq(host->irq, host);
+		if (cell->disable)
+			cell->disable(dev);
 		iounmap(host->ctl);
 		mmc_free_host(mmc);
 	}
#4 lore raw

Re: [PATCH 03/03] mmc: Balance tmio-mmc cell enable()/disable() calls

Quoted 5 lines · On Fri, 27 Nov 2009 14:00:22 +0900 Magnus Damm <[email protected]> wrote:

From: Magnus Damm <[email protected]>

This patch adds cell->disable() calls to the tmio-mmc probe() error handling and the remove() function.

This patch still doesn't apply due to linux-next changes which never got merged into 2.6.33-rcX.

If you think it should go into 2.6.33 then please redo a patch against mainline and we'll cheerily trash the problematic stuff in linux-next.

#5 lore raw

Re: [PATCH 03/03] mmc: Balance tmio-mmc cell enable()/disable() calls

Quoted 11 lines · Andrew Morton
Quoted 5 lines · On Fri, 27 Nov 2009 14:00:22 +0900 Magnus Damm <[email protected]> wrote:

From: Magnus Damm <[email protected]>

This patch adds cell->disable() calls to the tmio-mmc probe() error handling and the remove() function.

This patch still doesn't apply due to linux-next changes which never got merged into 2.6.33-rcX.

Good news is that the linux-next issue seems solved now thanks to help from Samuel Ortiz.

Quoted 2 lines

If you think it should go into 2.6.33 then please redo a patch against mainline and we'll cheerily trash the problematic stuff in linux-next.

Nah, this patch is not urgent. It may also break other platforms, so I prefer to resend it later.

Thanks,

/ magnus