Add a write protection switch handling code to the PXA MMC driver so
that platform specific code can provide it if available (extending the
MMC/SD patches in -mm).
Signed-off-by: Richard Purdie <[email protected]>
Index: linux-2.6.12/include/asm-arm/arch-pxa/mmc.h
===================================================================
--- linux-2.6.12.orig/include/asm-arm/arch-pxa/mmc.h 2005-08-05 00:29:17.000000000 +0100
+++ linux-2.6.12/include/asm-arm/arch-pxa/mmc.h 2005-08-05 00:29:43.000000000 +0100
@@ -10,6 +10,7 @@
struct pxamci_platform_data {
unsigned int ocr_mask; /* available voltages */
int (*init)(struct device *, irqreturn_t (*)(int, void *, struct pt_regs *), void *);
+ int (*get_ro)(struct device *);
void (*setpower)(struct device *, unsigned int);
void (*exit)(struct device *, void *);
};
Index: linux-2.6.12/drivers/mmc/pxamci.c
===================================================================
--- linux-2.6.12.orig/drivers/mmc/pxamci.c 2005-08-05 00:29:17.000000000 +0100
+++ linux-2.6.12/drivers/mmc/pxamci.c 2005-08-05 00:29:43.000000000 +0100
@@ -362,6 +362,16 @@
pxamci_start_cmd(host, mrq->cmd, cmdat);
}
+static int pxamci_get_ro(struct mmc_host *mmc)
+{
+ struct pxamci_host *host = mmc_priv(mmc);
+
+ if (host->pdata && host->pdata->get_ro)
+ return host->pdata->get_ro(mmc->dev);
+ /* Host doesn't support read only detection so assume writeable */
+ return 0;
+}
+
static void pxamci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
{
struct pxamci_host *host = mmc_priv(mmc);
@@ -401,6 +411,7 @@
static struct mmc_host_ops pxamci_ops = {
.request = pxamci_request,
+ .get_ro = pxamci_get_ro,
.set_ios = pxamci_set_ios,
};
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|