On 7 September 2017 at 18:10, Mark Brown <broonie@xxxxxxxxxx> wrote: > On Thu, Sep 07, 2017 at 11:13:00AM +0800, Baolin Wang wrote: > >> >> +static int __init sprd_adi_init(void) >> >> +{ >> >> + return platform_driver_register(&sprd_adi_driver); >> >> +} >> >> +subsys_initcall(sprd_adi_init); > >> > Why is this subsys_initcall() and not module_platform_driver()? > >> Since ADI is one very fundamental driver for our SoC, many drivers >> such as regulator need depend on ADI, and regulator need to regulate >> core voltage as earlier as possible. > > That applies to huge numbers of systems - you should still just use > regular init ordering in mainline, there are efforts to make things > better there (look at Viresh's dependency stuff) so hopefully things > will improve in the future and in the meantime the cost of probe > deferral isn't *that* great and it's less fiddly than tweaking ordering. > Practically speaking init ordering stuff can always be added in vendor > kernels in the meantime. Make sense. So I change back to module_platform_driver(). -- Baolin.wang Best Regards -- 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