Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: OMAP: make iommu subsys_initcall to fix builtin omap3isp

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 <angweiyang@gmail.com>
Debugged-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Cc: stable <stable@vger.kernel.org>
Cc: Tony Lindgren <tony@atomide.com>
Cc: Hiroshi Doyu <hdoyu@nvidia.com>
Cc: Joerg Roedel <Joerg.Roedel@amd.com>
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>

authored by

Ohad Ben-Cohen and committed by
Joerg Roedel
435792d9 87997aaa

+4 -2
+2 -1
arch/arm/mach-omap2/mailbox.c
··· 412 412 platform_driver_unregister(&omap2_mbox_driver); 413 413 } 414 414 415 - module_init(omap2_mbox_init); 415 + /* must be ready before omap3isp is probed */ 416 + subsys_initcall(omap2_mbox_init); 416 417 module_exit(omap2_mbox_exit); 417 418 418 419 MODULE_LICENSE("GPL v2");
+2 -1
drivers/iommu/omap-iommu.c
··· 1223 1223 1224 1224 return platform_driver_register(&omap_iommu_driver); 1225 1225 } 1226 - module_init(omap_iommu_init); 1226 + /* must be ready before omap3isp is probed */ 1227 + subsys_initcall(omap_iommu_init); 1227 1228 1228 1229 static void __exit omap_iommu_exit(void) 1229 1230 {