diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-06-08 15:02:00 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2011-06-14 11:48:50 -0700 |
commit | c497beb8743719a6e4f03a13aa99c5efd8faf270 (patch) | |
tree | 9297aac7ea3c76997223cd965e634774ddbf313b /arch/arm | |
parent | 2a4ab4f125d7ee722ff0ba46393e31636ee477ba (diff) | |
download | kernel_samsung_tuna-c497beb8743719a6e4f03a13aa99c5efd8faf270.zip kernel_samsung_tuna-c497beb8743719a6e4f03a13aa99c5efd8faf270.tar.gz kernel_samsung_tuna-c497beb8743719a6e4f03a13aa99c5efd8faf270.tar.bz2 |
ARM: omap2: Add mmc_platform_data to hsmmc
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/hsmmc.h | 3 | ||||
-rw-r--r-- | arch/arm/plat-omap/include/plat/mmc.h | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/hsmmc.c b/arch/arm/mach-omap2/hsmmc.c index af991ff..37842b6 100644 --- a/arch/arm/mach-omap2/hsmmc.c +++ b/arch/arm/mach-omap2/hsmmc.c @@ -351,6 +351,10 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c, mmc->slots[0].features |= HSMMC_HAS_48MHZ_MASTER_CLK; } + if (c->mmc_data) + memcpy(&mmc->slots[0].mmc_data, c->mmc_data, + sizeof(struct mmc_platform_data)); + /* * NOTE: MMC slots should have a Vcc regulator set up. * This may be from a TWL4030-family chip, another diff --git a/arch/arm/mach-omap2/hsmmc.h b/arch/arm/mach-omap2/hsmmc.h index f757e78..4bb6fbd 100644 --- a/arch/arm/mach-omap2/hsmmc.h +++ b/arch/arm/mach-omap2/hsmmc.h @@ -6,6 +6,8 @@ * published by the Free Software Foundation. */ +#include <asm/mach/mmc.h> + struct mmc_card; struct omap2_hsmmc_info { @@ -25,6 +27,7 @@ struct omap2_hsmmc_info { char *name; /* or NULL for default */ struct device *dev; /* returned: pointer to mmc adapter */ int ocr_mask; /* temporary HACK */ + struct mmc_platform_data *mmc_data; /* Remux (pad configuration) when powering on/off */ void (*remux)(struct device *dev, int slot, int power_on); /* init some special card */ diff --git a/arch/arm/plat-omap/include/plat/mmc.h b/arch/arm/plat-omap/include/plat/mmc.h index f24ed41..d9edb6b 100644 --- a/arch/arm/plat-omap/include/plat/mmc.h +++ b/arch/arm/plat-omap/include/plat/mmc.h @@ -15,6 +15,7 @@ #include <linux/device.h> #include <linux/mmc/host.h> +#include <asm/mach/mmc.h> #include <plat/board.h> #define OMAP15XX_NR_MMC 1 @@ -147,6 +148,9 @@ struct omap_mmc_platform_data { int card_detect_irq; int (*card_detect)(struct device *dev, int slot); + /* Additional mmc configuration */ + struct mmc_platform_data mmc_data; + unsigned int ban_openended:1; } slots[OMAP_MMC_MAX_SLOTS]; |