On Tue, Jun 01, 2021 at 05:56:40PM +0200, Daniel Vetter wrote: > On Fri, May 28, 2021 at 04:26:07PM +0800, Huacai Chen wrote: > > We should call vga_arb_device_init() after PCI enumeration, otherwise it > > may fail to select the default VGA device. Since vga_arb_device_init() > > and PCI enumeration function (i.e., pcibios_init() or acpi_init()) are > > both wrapped by subsys_initcall(), their sequence is not assured. So, we > > use subsys_initcall_sync() instead of subsys_initcall() to wrap vga_arb_ > > device_init(). Trying to juggle levels like this always fails if you build the code as a module. Why not fix it properly and handle the out-of-order loading by returning a "deferred" error if you do not have your resources yet? thanks, greg k-h