diff options
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/Kconfig | 7 | ||||
-rw-r--r-- | drivers/mmc/host/s3cmci.c | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig index cf6a6545240b..432ae8358c86 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig | |||
@@ -276,6 +276,13 @@ config MMC_S3C | |||
276 | 276 | ||
277 | If unsure, say N. | 277 | If unsure, say N. |
278 | 278 | ||
279 | config MMC_S3C_HW_SDIO_IRQ | ||
280 | bool "Hardware support for SDIO IRQ" | ||
281 | depends on MMC_S3C | ||
282 | help | ||
283 | Enable the hardware support for SDIO interrupts instead of using | ||
284 | the generic polling code. | ||
285 | |||
279 | choice | 286 | choice |
280 | prompt "Samsung S3C SD/MMC transfer code" | 287 | prompt "Samsung S3C SD/MMC transfer code" |
281 | depends on MMC_S3C | 288 | depends on MMC_S3C |
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) | |||
1715 | 1715 | ||
1716 | mmc->ops = &s3cmci_ops; | 1716 | mmc->ops = &s3cmci_ops; |
1717 | mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; | 1717 | mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; |
1718 | #ifdef CONFIG_MMC_S3C_HW_SDIO_IRQ | ||
1718 | mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ; | 1719 | mmc->caps = MMC_CAP_4_BIT_DATA | MMC_CAP_SDIO_IRQ; |
1720 | #else | ||
1721 | mmc->caps = MMC_CAP_4_BIT_DATA; | ||
1722 | #endif | ||
1719 | mmc->f_min = host->clk_rate / (host->clk_div * 256); | 1723 | mmc->f_min = host->clk_rate / (host->clk_div * 256); |
1720 | mmc->f_max = host->clk_rate / host->clk_div; | 1724 | mmc->f_max = host->clk_rate / host->clk_div; |
1721 | 1725 | ||
@@ -1750,8 +1754,9 @@ static int __devinit s3cmci_probe(struct platform_device *pdev) | |||
1750 | s3cmci_debugfs_attach(host); | 1754 | s3cmci_debugfs_attach(host); |
1751 | 1755 | ||
1752 | platform_set_drvdata(pdev, mmc); | 1756 | platform_set_drvdata(pdev, mmc); |
1753 | dev_info(&pdev->dev, "%s - using %s\n", mmc_hostname(mmc), | 1757 | dev_info(&pdev->dev, "%s - using %s, %s SDIO IRQ\n", mmc_hostname(mmc), |
1754 | s3cmci_host_usedma(host) ? "dma" : "pio"); | 1758 | s3cmci_host_usedma(host) ? "dma" : "pio", |
1759 | mmc->caps & MMC_CAP_SDIO_IRQ ? "hw" : "sw"); | ||
1755 | 1760 | ||
1756 | return 0; | 1761 | return 0; |
1757 | 1762 | ||