• Geert Uytterhoeven's avatar
    base: soc: Early register bus when needed · 1da1b362
    Geert Uytterhoeven authored
    If soc_device_register() is called before soc_bus_register(), it crashes
    with a NULL pointer dereference.
    
    soc_bus_register() is already a core_initcall(), but drivers/base/ is
    entered later than e.g. drivers/pinctrl/ and drivers/soc/. Hence there
    are several subsystems that may need to know SoC revision information,
    while it's not so easy to initialize the SoC bus even earlier using an
    initcall.
    
    To fix this, let soc_device_register() register the bus early if that
    hasn't happened yet.
    Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    1da1b362
soc.c 3.88 KB