Hi Arnd, On Thu, 2015-12-31 at 15:45 +0100, Arnd Bergmann wrote: > On Thursday 31 December 2015 17:16:34 James Liao wrote: > > > > """ > > Take a example for our IOMMU(M4U) and SMI. The IOMMU which is > > subsys_init defaultly will depend on SMI. > > The SMI is a bridge between m4u and the Multimedia HW. About the HW > > block diagram and more other information please help check [1]. > > SMI is responsible to enable/disable iommu and help transfer data for > > each Multimedia HW, Both have to wait until the power and the clocks is > > enabled. > > > > So our iommu should probe done after smi, smi should be after > > power-domain, and all the iommu consumer(display/vdec/venc/camera etc.) > > should be after the iommu. > > Then all the multimedia module will be delayed by power-domain who is > > module_init currently. > > > > After grep, we get some example whose pm is not module_init: > > core_initcall(exynos4_pm_init_power_domain); > > subsys_initcall(imx_pgc_init); > > > > So we expect move the power-domain initial more earlier too. The > > power-domain seems to be a basic module like ccf. > > Is there some special reason about we should use module_init, or do you > > have any concern if we change it? > > Thanks. > > Ok, got it. Generally, we should try to avoid using the earlier initcall > levels, but a few things like clock controllers, iommus etc are special > enough that we need to make sure their dependencies are there by the > time those are probed. > > Please put your explanation above into the patch changelog and add a code > comment about the IOMMU next to the subsys_initcall() so it doesn't > accidentally get changed when someone tries to do a code cleanup. OK, I'll add comments in next patch. Thanks for your comments. Best regards, James -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html