summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/s3cmci.c
diff options
context:
space:
mode:
authorBen Dooks <ben@simtec.co.uk>2009-10-02 00:44:20 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-02 01:11:15 +0200
commit5a2c4fe04dca1ee801d20fa07f347a9d6b7ec521 (patch)
tree8b70d3f7d4a47a8724cc31ab2c5849db6b5a8a2b /drivers/mmc/host/s3cmci.c
parents3cmci: DMA fixes (diff)
downloadlinux-5a2c4fe04dca1ee801d20fa07f347a9d6b7ec521.tar.xz
linux-5a2c4fe04dca1ee801d20fa07f347a9d6b7ec521.zip
s3cmci: make SDIO IRQ hardware IRQ support build-time configurable
We have found a couple of boards where the SDIO IRQ hardware support has failed to work properly, and thus we should make it configurable whether or not to be included in the driver. Signed-off-by: Ben Dooks <ben@simtec.co.uk> Cc: <linux-mmc@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/mmc/host/s3cmci.c')
-rw-r--r--drivers/mmc/host/s3cmci.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
index 0af972275d45..4b627ca16cca 100644
--- a/drivers/mmc/host/s3cmci.c
+++ b/drivers/mmc/host/s3cmci.c
@@ -1715,7 +1715,11 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
mmc->ops = &s3cmci_ops;
mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
+#ifdef CONFIG_MMC_S3C_HW_SDIO_IRQ
mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ;
+#else
+ mmc->caps = MMC_CAP_4_BIT_DATA;
+#endif
mmc->f_min = host->clk_rate / (host->clk_div * 256);
mmc->f_max = host->clk_rate / host->clk_div;
@@ -1750,8 +1754,9 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
s3cmci_debugfs_attach(host);
platform_set_drvdata(pdev, mmc);
- dev_info(&pdev->dev, "%s - using %s\n", mmc_hostname(mmc),
- s3cmci_host_usedma(host) ? "dma" : "pio");
+ dev_info(&pdev->dev, "%s - using %s, %s SDIO IRQ\n", mmc_hostname(mmc),
+ s3cmci_host_usedma(host) ? "dma" : "pio",
+ mmc->caps & MMC_CAP_SDIO_IRQ ? "hw" : "sw");
return 0;