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