From: Jai Dhar <[EMAIL PROTECTED]>

Modified driver to read WP status bit from nios_mmc core and report back 
in get_ro driver function

Signed-off-by: Jai Dhar <[EMAIL PROTECTED]>
Signed-off-by: Thomas Chou <[EMAIL PROTECTED]>
---
 linux-2.6.x/drivers/mmc/host/nios_mmc.c |    4 ++++
 linux-2.6.x/drivers/mmc/host/nios_mmc.h |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/linux-2.6.x/drivers/mmc/host/nios_mmc.c 
b/linux-2.6.x/drivers/mmc/host/nios_mmc.c
index ab519c5..89c2d9d 100755
--- a/linux-2.6.x/drivers/mmc/host/nios_mmc.c
+++ b/linux-2.6.x/drivers/mmc/host/nios_mmc.c
@@ -283,7 +283,11 @@ static void nios_mmc_end_request(struct mmc_host *mmc, 
struct mmc_request *mrq)
 }
 static int nios_mmc_get_ro(struct mmc_host *mmc)
 {
+       int ctlstat;
+       NIOS_MMC_HOST *host = mmc_priv(mmc);
        MMC_DEBUG(3,"Get RO\n");
+       ctlstat = readl(host->base + NIOS_MMC_REG_CTLSTAT);
+       if (ctlstat & NIOS_MMC_CTLSTAT_WP) return 1;
        return 0;
 }
 static void nios_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
diff --git a/linux-2.6.x/drivers/mmc/host/nios_mmc.h 
b/linux-2.6.x/drivers/mmc/host/nios_mmc.h
index d6100ad..ba49029 100755
--- a/linux-2.6.x/drivers/mmc/host/nios_mmc.h
+++ b/linux-2.6.x/drivers/mmc/host/nios_mmc.h
@@ -28,6 +28,7 @@ typedef volatile struct
 
 #define NIOS_MMC_CTLSTAT_BUSY (1<<0)
 #define NIOS_MMC_CTLSTAT_CD (1<<1)
+#define NIOS_MMC_CTLSTAT_WP (1<<2)
 #define NIOS_MMC_CTLSTAT_CD_IF (1<<3)
 #define NIOS_MMC_CTLSTAT_DEV_IF (1<<4)
 #define NIOS_MMC_CTLSTAT_XFER_IF (1<<5)
-- 
1.5.3.3

_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to