From a5460d2fe6294287c4e86cedde5ac0f47b6b0368 Mon Sep 17 00:00:00 2001
From: Zhangfei Gao <zhangfei.gao@marvell.com>
Date: Tue, 9 Nov 2010 07:17:32 -0500
Subject: [PATCH] sdhci: remove SDHCI_QUIRK_FORCE_1_BIT_DATA
SDHCI_QUIRK_FORCE_1_BIT_DATA only used for modify caps, which could be updated after sdhci_add_host
Signed-off-by: Zhangfei Gao <zhangfei.gao@marvell.com>
---
drivers/mmc/host/sdhci-of-core.c | 7 +++----
drivers/mmc/host/sdhci.c | 3 +--
include/linux/mmc/sdhci.h | 2 --
3 files changed, 4 insertions(+), 8 deletions(-)
@@ -157,10 +157,6 @@ static int __devinit sdhci_of_probe(struct platform_device *ofdev,
if (of_get_property(np, "sdhci,auto-cmd12", NULL))
host->quirks |= SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12;
-
- if (of_get_property(np, "sdhci,1-bit-only", NULL))
- host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA;
-
if (sdhci_of_wp_inverted(np))
host->quirks |= SDHCI_QUIRK_INVERTED_WRITE_PROTECT;
@@ -172,6 +168,9 @@ static int __devinit sdhci_of_probe(struct platform_device *ofdev,
if (ret)
goto err_add_host;
+ if (of_get_property(np, "sdhci,1-bit-only", NULL))
+ host->mmc->caps &= ~(MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA);
+
return 0;
err_add_host:
@@ -1858,8 +1858,7 @@ int sdhci_add_host(struct sdhci_host *host)
mmc->f_max = host->max_clk;
mmc->caps |= MMC_CAP_SDIO_IRQ;
- if (!(host->quirks & SDHCI_QUIRK_FORCE_1_BIT_DATA))
- mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
+ mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA;
if (caps & SDHCI_CAN_DO_HISPD)
mmc->caps |= MMC_CAP_SD_HIGHSPEED | MMC_CAP_MMC_HIGHSPEED;
@@ -67,8 +67,6 @@ struct sdhci_host {
#define SDHCI_QUIRK_FORCE_BLK_SZ_2048 (1<<20)
/* Controller cannot do multi-block transfers */
#define SDHCI_QUIRK_NO_MULTIBLOCK (1<<21)
-/* Controller can only handle 1-bit data transfers */
-#define SDHCI_QUIRK_FORCE_1_BIT_DATA (1<<22)
/* Controller needs 10ms delay between applying power and clock */
#define SDHCI_QUIRK_DELAY_AFTER_POWER (1<<23)
/* Controller uses SDCLK instead of TMCLK for data timeouts */
--
1.7.0.4