diff options
author | Grazvydas Ignotas <notasas@gmail.com> | 2009-06-23 06:30:22 -0400 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-06-23 06:30:22 -0400 |
commit | 762ad3a476baa1831f732488e80960f4aa024393 (patch) | |
tree | 5ba6ea28f974b170f97f2185c3c886444cac3f49 /arch | |
parent | d376f89701b0aa5b45d25fbfbeb1a0040399ad30 (diff) |
OMAP2/3: mmc-twl4030: use correct controller in twl_mmc23_set_power
twl_mmc23_set_power() has MMC2 twl_mmc_controller hardcoded in it, which
breaks MMC3. Find the right controller to use instead.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/mmc-twl4030.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/mmc-twl4030.c b/arch/arm/mach-omap2/mmc-twl4030.c index 9756a878fd90..1541fd4c8d0f 100644 --- a/arch/arm/mach-omap2/mmc-twl4030.c +++ b/arch/arm/mach-omap2/mmc-twl4030.c | |||
@@ -263,8 +263,19 @@ static int twl_mmc1_set_power(struct device *dev, int slot, int power_on, | |||
263 | static int twl_mmc23_set_power(struct device *dev, int slot, int power_on, int vdd) | 263 | static int twl_mmc23_set_power(struct device *dev, int slot, int power_on, int vdd) |
264 | { | 264 | { |
265 | int ret = 0; | 265 | int ret = 0; |
266 | struct twl_mmc_controller *c = &hsmmc[1]; | 266 | struct twl_mmc_controller *c = NULL; |
267 | struct omap_mmc_platform_data *mmc = dev->platform_data; | 267 | struct omap_mmc_platform_data *mmc = dev->platform_data; |
268 | int i; | ||
269 | |||
270 | for (i = 1; i < ARRAY_SIZE(hsmmc); i++) { | ||
271 | if (mmc == hsmmc[i].mmc) { | ||
272 | c = &hsmmc[i]; | ||
273 | break; | ||
274 | } | ||
275 | } | ||
276 | |||
277 | if (c == NULL) | ||
278 | return -ENODEV; | ||
268 | 279 | ||
269 | /* If we don't see a Vcc regulator, assume it's a fixed | 280 | /* If we don't see a Vcc regulator, assume it's a fixed |
270 | * voltage always-on regulator. | 281 | * voltage always-on regulator. |