diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-03-23 18:23:47 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-03-23 18:51:22 -0700 |
commit | 01971f65ff88e3ebe2b6ae42b95d68e26b83718d (patch) | |
tree | f56acfdf414de33b48d487669e438f0b6568a516 /arch/arm/mach-omap2 | |
parent | 0329c3773e59aa7e50dc3760a27fb4e098773d0f (diff) | |
download | op-kernel-dev-01971f65ff88e3ebe2b6ae42b95d68e26b83718d.zip op-kernel-dev-01971f65ff88e3ebe2b6ae42b95d68e26b83718d.tar.gz |
ARM: OMAP3: mmc-twl4030 init passes device nodes back, v2
When setting up HSMMC devices, pass the device nodes back so
board code can linking them to their power supply regulators.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2')
-rw-r--r-- | arch/arm/mach-omap2/mmc-twl4030.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-omap2/mmc-twl4030.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c index df1539e..c67078d 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.c +++ b/arch/arm/mach-omap2/mmc-twl4030.c @@ -17,6 +17,7 @@ #include <linux/delay.h> #include <linux/gpio.h> #include <linux/i2c/twl4030.h> +#include <linux/regulator/machine.h> #include <mach/hardware.h> #include <mach/control.h> @@ -437,6 +438,15 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info *controllers) } omap2_init_mmc(hsmmc_data, OMAP34XX_NR_MMC); + + /* pass the device nodes back to board setup code */ + for (c = controllers; c->mmc; c++) { + struct omap_mmc_platform_data *mmc = hsmmc_data[c->mmc - 1]; + + if (!c->mmc || c->mmc > nr_hsmmc) + continue; + c->dev = mmc->dev; + } } #endif diff --git a/arch/arm/mach-omap2/mmc-twl4030.h b/arch/arm/mach-omap2/mmc-twl4030.h index 380dde7..21d3572 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.h +++ b/arch/arm/mach-omap2/mmc-twl4030.h @@ -13,6 +13,7 @@ struct twl4030_hsmmc_info { bool ext_clock; /* use external pin for input clock */ int gpio_cd; /* or -EINVAL */ int gpio_wp; /* or -EINVAL */ + struct device *dev; /* returned: pointer to mmc adapter */ }; #if defined(CONFIG_TWL4030_CORE) && \ |