summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorManuel Lauss <mano@roarinelk.homelinux.net>2007-01-25 10:29:24 +0100
committerPierre Ossman <drzeus@drzeus.cx>2007-02-04 20:54:05 +0100
commit82999770d6926193f50b42e713a92ee4028398e3 (patch)
tree84860892e09d3be93d766da11b4b4e9748e4929c /drivers/mmc
parent62d0cfcb27cf755cebdc93ca95dabc83608007cd (diff)
downloadlinux-stable-82999770d6926193f50b42e713a92ee4028398e3.tar.gz
linux-stable-82999770d6926193f50b42e713a92ee4028398e3.tar.bz2
linux-stable-82999770d6926193f50b42e713a92ee4028398e3.zip
mmc: au1xmmc: implement proper ro switch detection
au1xmmc: implement proper R/O switch detection. Signed-off-by: Manuel Lauss <mano@roarinelk.homelinux.net> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/au1xmmc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mmc/au1xmmc.c b/drivers/mmc/au1xmmc.c
index 800527cf40d5..212e41f78df4 100644
--- a/drivers/mmc/au1xmmc.c
+++ b/drivers/mmc/au1xmmc.c
@@ -152,8 +152,9 @@ static inline int au1xmmc_card_inserted(struct au1xmmc_host *host)
? 1 : 0;
}
-static inline int au1xmmc_card_readonly(struct au1xmmc_host *host)
+static int au1xmmc_card_readonly(struct mmc_host *mmc)
{
+ struct au1xmmc_host *host = mmc_priv(mmc);
return (bcsr->status & au1xmmc_card_table[host->id].wpstatus)
? 1 : 0;
}
@@ -878,6 +879,7 @@ static void au1xmmc_init_dma(struct au1xmmc_host *host)
static const struct mmc_host_ops au1xmmc_ops = {
.request = au1xmmc_request,
.set_ios = au1xmmc_set_ios,
+ .get_ro = au1xmmc_card_readonly,
};
static int __devinit au1xmmc_probe(struct platform_device *pdev)