MMC: MMCI: allow GPIOs to be passed
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Thu, 9 Jul 2009 14:15:12 +0000 (15:15 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 9 Jul 2009 14:15:12 +0000 (15:15 +0100)
Add and initialize the gpio_wp and gpio_cd members.  We need to
ensure that all users are covered, because GPIO 0 may be valid.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
arch/arm/include/asm/mach/mmc.h
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-realview/core.c
arch/arm/mach-u300/mmc.c
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/versatile_pb.c

index 4da332b03144c4d27bf07876506f2c94f72adb0b..b490ecc79defdfa2cb721dbbff30c8c17ff8f6f4 100644 (file)
@@ -10,6 +10,8 @@ struct mmc_platform_data {
        unsigned int ocr_mask;                  /* available voltages */
        u32 (*translate_vdd)(struct device *, unsigned int);
        unsigned int (*status)(struct device *);
+       int     gpio_wp;
+       int     gpio_cd;
 };
 
 #endif
index 4ac04055c2eadaefbffc0bdfa28372ab8d718ec9..69956cdae3c224901cc764042b2e28631ddedc75 100644 (file)
@@ -403,6 +403,8 @@ static unsigned int mmc_status(struct device *dev)
 static struct mmc_platform_data mmc_data = {
        .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
        .status         = mmc_status,
+       .gpio_wp        = -1,
+       .gpio_cd        = -1,
 };
 
 static struct amba_device mmc_device = {
index 9ea9c05093cd47afed1d6798d5a2eeb9d9333f43..17a07e6acface09f987648bb772b478ad5f0d93b 100644 (file)
@@ -238,11 +238,15 @@ static unsigned int realview_mmc_status(struct device *dev)
 struct mmc_platform_data realview_mmc0_plat_data = {
        .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
        .status         = realview_mmc_status,
+       .gpio_wp        = -1,
+       .gpio_cd        = -1,
 };
 
 struct mmc_platform_data realview_mmc1_plat_data = {
        .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
        .status         = realview_mmc_status,
+       .gpio_wp        = -1,
+       .gpio_cd        = -1,
 };
 
 /*
index 3138d3955c9eaabbaa24c62ec6fce9e90500ce31..585cc013639dee5f4cbbf521f7dde822d6944e88 100644 (file)
@@ -156,6 +156,8 @@ int __devinit mmc_init(struct amba_device *adev)
        mmci_card->mmc0_plat_data.ocr_mask = MMC_VDD_28_29;
        mmci_card->mmc0_plat_data.translate_vdd = mmc_translate_vdd;
        mmci_card->mmc0_plat_data.status = mmc_status;
+       mmci_card->mmc0_plat_data.gpio_wp = -1;
+       mmci_card->mmc0_plat_data.gpio_cd = -1;
 
        mmcsd_device->platform_data = (void *) &mmci_card->mmc0_plat_data;
 
index 92273c95edf571a7db1e03f163b8bfbdc1b0a352..afc0f87f3fa41c43fba36616dfec78aaa3f9bcbd 100644 (file)
@@ -373,6 +373,8 @@ unsigned int mmc_status(struct device *dev)
 static struct mmc_platform_data mmc0_plat_data = {
        .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
        .status         = mmc_status,
+       .gpio_wp        = -1,
+       .gpio_cd        = -1,
 };
 
 /*
index 7419451fdf00ba260beb920119e1f8e3504dbca3..9af8d8154df56e9d8da7c727d195762e51a34937 100644 (file)
@@ -44,6 +44,8 @@
 static struct mmc_platform_data mmc1_plat_data = {
        .ocr_mask       = MMC_VDD_32_33|MMC_VDD_33_34,
        .status         = mmc_status,
+       .gpio_wp        = -1,
+       .gpio_cd        = -1,
 };
 
 static struct pl061_platform_data gpio2_plat_data = {