diff options
author | Pierre Ossman <drzeus@drzeus.cx> | 2007-06-13 19:06:03 +0200 |
---|---|---|
committer | Pierre Ossman <drzeus@drzeus.cx> | 2007-06-13 19:11:20 +0200 |
commit | c3bff2ec10b8bf2f53c954e370f9bdae93064472 (patch) | |
tree | d62fb7cf14e7302e83c35b64c901f42284f93703 /drivers/mmc/core/sd.c | |
parent | 0107a4b32e36dccd4456e2c5e34c5cd22c94e094 (diff) |
mmc: get back read-only switch function
Somehow the code to read the read-only switch of SD cards got lost
in the reorganisation.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'drivers/mmc/core/sd.c')
-rw-r--r-- | drivers/mmc/core/sd.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index 41bfb5dfe6ff..918477c490b0 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -427,6 +427,21 @@ static int mmc_sd_init_card(struct mmc_host *host, u32 ocr, mmc_set_bus_width(host, MMC_BUS_WIDTH_4); } + /* + * Check if read-only switch is active. + */ + if (!oldcard) { + if (!host->ops->get_ro) { + printk(KERN_WARNING "%s: host does not " + "support reading read-only " + "switch. assuming write-enable.\n", + mmc_hostname(host)); + } else { + if (host->ops->get_ro(host)) + mmc_card_set_readonly(card); + } + } + if (!oldcard) host->card = card; |