• Peter Hurley's avatar
    serial: earlycon: Enable earlycon without command line param · 470ca0de
    Peter Hurley authored
    Earlycon matching can only be triggered if 'earlycon=...' has been
    specified on the kernel command line. To workaround this limitation
    requires tight coupling between arches and specific serial drivers
    in order to start an earlycon. Devicetree avoids this limitation
    with a link table that contains the required data to match earlycons.
    
    Mirror this approach for earlycon match by name. Re-purpose
    EARLYCON_DECLARE to generate a table entry which associates name with
    setup() function. Re-purpose setup_earlycon() to scan this table for
    an earlycon match, which is registered if found.
    
    Declare one "earlycon" early_param, which calls setup_earlycon().
    
    This design allows setup_earlycon() to be called directly with a
    param string (as if 'earlycon=...' had been set on the command line).
    Re-registration (either directly or by early_param) is prevented.
    Acked-by: default avatarRob Herring <robh@kernel.org>
    Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    470ca0de
earlycon.c 5.32 KB