aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2012-04-23 18:56:36 -0400
committerTony Lindgren <tony@atomide.com>2012-05-09 17:34:49 -0400
commit2fdad5c971ad7991d1798866ae0cb25846155423 (patch)
tree000a5aa91b535f32ba253ab64d9add3eb94d8040
parent7f28427b85d1c5371f996b1390a9d6e9620b67ad (diff)
ARM: OMAP2: Use hwmod to initialize mmc for 2420
This allows us to pass dma request lines in platform data to MMC driver the same way as we already do for omap2430 and later. Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r--arch/arm/mach-omap2/devices.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c
index e4336035c0e..3318f67fef7 100644
--- a/arch/arm/mach-omap2/devices.c
+++ b/arch/arm/mach-omap2/devices.c
@@ -616,7 +616,11 @@ static inline void omap242x_mmc_mux(struct omap_mmc_platform_data
616 616
617void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data) 617void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data)
618{ 618{
619 char *name = "mmci-omap"; 619 struct platform_device *pdev;
620 struct omap_hwmod *oh;
621 int id = 0;
622 char *oh_name = "msdi1";
623 char *dev_name = "mmci-omap";
620 624
621 if (!mmc_data[0]) { 625 if (!mmc_data[0]) {
622 pr_err("%s fails: Incomplete platform data\n", __func__); 626 pr_err("%s fails: Incomplete platform data\n", __func__);
@@ -624,8 +628,17 @@ void __init omap242x_init_mmc(struct omap_mmc_platform_data **mmc_data)
624 } 628 }
625 629
626 omap242x_mmc_mux(mmc_data[0]); 630 omap242x_mmc_mux(mmc_data[0]);
627 omap_mmc_add(name, 0, OMAP2_MMC1_BASE, OMAP2420_MMC_SIZE, 631
628 INT_24XX_MMC_IRQ, mmc_data[0]); 632 oh = omap_hwmod_lookup(oh_name);
633 if (!oh) {
634 pr_err("Could not look up %s\n", oh_name);
635 return;
636 }
637 pdev = omap_device_build(dev_name, id, oh, mmc_data[0],
638 sizeof(struct omap_mmc_platform_data), NULL, 0, 0);
639 if (IS_ERR(pdev))
640 WARN(1, "Can'd build omap_device for %s:%s.\n",
641 dev_name, oh->name);
629} 642}
630 643
631#endif 644#endif