From 7fb2bbf4d9e7e62057184f1e061566459eef6c79 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 9 Jul 2009 15:15:12 +0100 Subject: [PATCH] MMC: MMCI: allow GPIOs to be passed 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 Acked-by: Linus Walleij --- arch/arm/include/asm/mach/mmc.h | 2 ++ arch/arm/mach-integrator/integrator_cp.c | 2 ++ arch/arm/mach-realview/core.c | 4 ++++ arch/arm/mach-u300/mmc.c | 2 ++ arch/arm/mach-versatile/core.c | 2 ++ arch/arm/mach-versatile/versatile_pb.c | 2 ++ 6 files changed, 14 insertions(+) diff --git a/arch/arm/include/asm/mach/mmc.h b/arch/arm/include/asm/mach/mmc.h index 4da332b03144..b490ecc79def 100644 --- a/arch/arm/include/asm/mach/mmc.h +++ b/arch/arm/include/asm/mach/mmc.h @@ -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 diff --git a/arch/arm/mach-integrator/integrator_cp.c b/arch/arm/mach-integrator/integrator_cp.c index 4ac04055c2ea..69956cdae3c2 100644 --- a/arch/arm/mach-integrator/integrator_cp.c +++ b/arch/arm/mach-integrator/integrator_cp.c @@ -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 = { diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 9ea9c05093cd..17a07e6acfac 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c @@ -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, }; /* diff --git a/arch/arm/mach-u300/mmc.c b/arch/arm/mach-u300/mmc.c index 3138d3955c9e..585cc013639d 100644 --- a/arch/arm/mach-u300/mmc.c +++ b/arch/arm/mach-u300/mmc.c @@ -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; diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index 92273c95edf5..afc0f87f3fa4 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c @@ -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, }; /* diff --git a/arch/arm/mach-versatile/versatile_pb.c b/arch/arm/mach-versatile/versatile_pb.c index 7419451fdf00..9af8d8154df5 100644 --- a/arch/arm/mach-versatile/versatile_pb.c +++ b/arch/arm/mach-versatile/versatile_pb.c @@ -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 = {