Thomas Zimmermann <[email protected]> writes:

Hello Thomas,

> 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
>

I agree and is also consistent to the init call level used by EFI, PSCI,
SCMI, DMI, etc.

Reviewed-by: Javier Martinez Canillas <[email protected]>

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat

Reply via email to