瀏覽代碼

omap2/3: Fix initcalls for multi-omap

Otherwise the wrong initcalls can run.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Tony Lindgren 15 年之前
父節點
當前提交
4323e9f719
共有 2 個文件被更改,包括 9 次插入1 次删除
  1. 6 1
      arch/arm/mach-omap2/devices.c
  2. 3 0
      arch/arm/mach-omap2/emu.c

+ 6 - 1
arch/arm/mach-omap2/devices.c

@@ -510,7 +510,12 @@ static struct platform_device dummy_pdev = {
  **/
 static void __init omap_hsmmc_reset(void)
 {
-	u32 i, nr_controllers = cpu_is_omap44xx() ? OMAP44XX_NR_MMC :
+	u32 i, nr_controllers;
+
+	if (cpu_is_omap242x())
+		return;
+
+	nr_controllers = cpu_is_omap44xx() ? OMAP44XX_NR_MMC :
 		(cpu_is_omap34xx() ? OMAP34XX_NR_MMC : OMAP24XX_NR_MMC);
 
 	for (i = 0; i < nr_controllers; i++) {

+ 3 - 0
arch/arm/mach-omap2/emu.c

@@ -56,6 +56,9 @@ static struct amba_device omap3_etm_device = {
 
 static int __init emu_init(void)
 {
+	if (!cpu_is_omap34xx())
+		return -ENODEV;
+
 	amba_device_register(&omap3_etb_device, &iomem_resource);
 	amba_device_register(&omap3_etm_device, &iomem_resource);