ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp
authorOhad Ben-Cohen <[email protected]>
Sun, 26 Feb 2012 10:14:14 +0000 (12:14 +0200)
committerJoerg Roedel <[email protected]>
Mon, 27 Feb 2012 13:18:42 +0000 (14:18 +0100)
omap3isp depends on omap's iommu and will fail to probe if
initialized before it (which always happen if they are builtin).

Make omap's iommu subsys_initcall as an interim solution until
the probe deferral mechanism is merged.

Reported-by: James <[email protected]>
Debugged-by: Laurent Pinchart <[email protected]>
Signed-off-by: Ohad Ben-Cohen <[email protected]>
Cc: stable <[email protected]>
Cc: Tony Lindgren <[email protected]>
Cc: Hiroshi Doyu <[email protected]>
Cc: Joerg Roedel <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
arch/arm/mach-omap2/mailbox.c
drivers/iommu/omap-iommu.c

index 609ea2ded7e388a22ed9c9d59ba888672ebb13ab..a6db1e4f7b6e61032105bb21e2aeb53951f2235f 100644 (file)
@@ -412,7 +412,8 @@ static void __exit omap2_mbox_exit(void)
        platform_driver_unregister(&omap2_mbox_driver);
 }
 
-module_init(omap2_mbox_init);
+/* must be ready before omap3isp is probed */
+subsys_initcall(omap2_mbox_init);
 module_exit(omap2_mbox_exit);
 
 MODULE_LICENSE("GPL v2");
index d8edd979d01b2c3d84ffb49a9d2c3c53829518d9..6899dcd02dfa0e35df014c42651ba4c5b4f6bb67 100644 (file)
@@ -1223,7 +1223,8 @@ static int __init omap_iommu_init(void)
 
        return platform_driver_register(&omap_iommu_driver);
 }
-module_init(omap_iommu_init);
+/* must be ready before omap3isp is probed */
+subsys_initcall(omap_iommu_init);
 
 static void __exit omap_iommu_exit(void)
 {