Commit 5a2c4fe0 authored by Ben Dooks's avatar Ben Dooks Committed by Linus Torvalds

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: default avatarBen Dooks <ben@simtec.co.uk>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 68c5ed59
...@@ -276,6 +276,13 @@ config MMC_S3C ...@@ -276,6 +276,13 @@ config MMC_S3C
If unsure, say N. If unsure, say N.
config MMC_S3C_HW_SDIO_IRQ
bool "Hardware support for SDIO IRQ"
depends on MMC_S3C
help
Enable the hardware support for SDIO interrupts instead of using
the generic polling code.
choice choice
prompt "Samsung S3C SD/MMC transfer code" prompt "Samsung S3C SD/MMC transfer code"
depends on MMC_S3C depends on MMC_S3C
......
...@@ -1715,7 +1715,11 @@ static int __devinit s3cmci_probe(struct platform_device *pdev) ...@@ -1715,7 +1715,11 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
mmc->ops = &s3cmci_ops; mmc->ops = &s3cmci_ops;
mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; 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; 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_min = host->clk_rate / (host->clk_div * 256);
mmc->f_max = host->clk_rate / host->clk_div; mmc->f_max = host->clk_rate / host->clk_div;
...@@ -1750,8 +1754,9 @@ static int __devinit s3cmci_probe(struct platform_device *pdev) ...@@ -1750,8 +1754,9 @@ static int __devinit s3cmci_probe(struct platform_device *pdev)
s3cmci_debugfs_attach(host); s3cmci_debugfs_attach(host);
platform_set_drvdata(pdev, mmc); platform_set_drvdata(pdev, mmc);
dev_info(&pdev->dev, "%s - using %s\n", mmc_hostname(mmc), dev_info(&pdev->dev, "%s - using %s, %s SDIO IRQ\n", mmc_hostname(mmc),
s3cmci_host_usedma(host) ? "dma" : "pio"); s3cmci_host_usedma(host) ? "dma" : "pio",
mmc->caps & MMC_CAP_SDIO_IRQ ? "hw" : "sw");
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment