summary refs log tree commit diff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2013-04-08 23:28:07 +0200
committerChris Ball <cjb@laptop.org>2013-04-12 15:13:27 -0400
commitbcf53524ac4532da546cb87099a6e164d5394004 (patch)
tree486ae94de2819ecaf38ea139583a16d8772bd171 /drivers/mmc
parentc7ceab02543f8a03b4df3d4465b089c8117a5e09 (diff)
downloadlinux-bcf53524ac4532da546cb87099a6e164d5394004.tar.gz
mmc: mxcmmc: use slot-gpio API for write-protect detection
slot-gpio API suppors read-only detection when "wp-gpios"
property is present in the device tree mmc node. Use this
API for write-protect detection.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/mxcmmc.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
index 3f8d3394197c..df28ebf7e240 100644
--- a/drivers/mmc/host/mxcmmc.c
+++ b/drivers/mmc/host/mxcmmc.c
@@ -38,6 +38,7 @@
 #include <linux/of_device.h>
 #include <linux/of_dma.h>
 #include <linux/of_gpio.h>
+#include <linux/mmc/slot-gpio.h>
 
 #include <asm/dma.h>
 #include <asm/irq.h>
@@ -917,10 +918,11 @@ static int mxcmci_get_ro(struct mmc_host *mmc)
 	if (host->pdata && host->pdata->get_ro)
 		return !!host->pdata->get_ro(mmc_dev(mmc));
 	/*
-	 * Board doesn't support read only detection; let the mmc core
-	 * decide what to do.
+	 * If board doesn't support read only detection (no mmc_gpio
+	 * context or gpio is invalid), then let the mmc core decide
+	 * what to do.
 	 */
-	return -ENOSYS;
+	return mmc_gpio_get_ro(mmc);
 }
 
 static void mxcmci_enable_sdio_irq(struct mmc_host *mmc, int enable)