sunxi: driver refresh for 3.13
[openwrt/svn-archive/archive.git] / target / linux / sunxi / patches-3.13 / 170-5-mmc-fix-caps-override.patch
diff --git a/target/linux/sunxi/patches-3.13/170-5-mmc-fix-caps-override.patch b/target/linux/sunxi/patches-3.13/170-5-mmc-fix-caps-override.patch
new file mode 100644 (file)
index 0000000..9118563
--- /dev/null
@@ -0,0 +1,34 @@
+From dffb4d4d1fe3a6ba93102756152ec4518dbeac00 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 17 Feb 2014 17:13:19 +0100
+Subject: [PATCH] sunxi-mmc: Or in caps, rather then overriding them
+
+Now that we use mmc_of_parse() there are already some caps set by mmc_of_parse,
+so or in our driver caps, rather then using an assignment. This fixes the
+card running only in 1 bit mode instead of 4 bit mode problem we've had
+since we switched to using mmc_of_parse().
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ drivers/mmc/host/sunxi-mmc.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
+index 2eaed10..d5e8ff9 100644
+--- a/drivers/mmc/host/sunxi-mmc.c
++++ b/drivers/mmc/host/sunxi-mmc.c
+@@ -802,9 +802,9 @@ static int sunxi_mmc_probe(struct platform_device *pdev)
+       else
+               mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
+-      mmc->caps = MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
++      mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED |
+                    MMC_CAP_SDIO_IRQ;
+-      mmc->caps2 = MMC_CAP2_NO_PRESCAN_POWERUP;
++      mmc->caps2 |= MMC_CAP2_NO_PRESCAN_POWERUP;
+       ret = mmc_add_host(mmc);
+-- 
+1.8.5.5
+