Using module_init()/device_initcall() is too late to initialize the coreboot bus, as there might already be drivers that depend on it.
So far this hasn't been a problem, as coreboot controls all device creation. Initializing the coreboot bus earlier in subsys_initcall() will allow for external coreboot drivers to register themselves with device_initcall(). Prepares coreboot to support additional coreboot drivers from other subsystems. Signed-off-by: Thomas Zimmermann <[email protected]> --- drivers/firmware/google/coreboot_table.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/google/coreboot_table.c index c34426e5002d..3bee22d2a7b3 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -268,7 +268,7 @@ static void __exit coreboot_table_driver_exit(void) bus_unregister(&coreboot_bus_type); } -module_init(coreboot_table_driver_init); +subsys_initcall(coreboot_table_driver_init); module_exit(coreboot_table_driver_exit); MODULE_AUTHOR("Google, Inc."); -- 2.52.0
