• Hans de Goede's avatar
    console/fbcon: Add support for deferred console takeover · 83d83beb
    Hans de Goede authored
    Currently fbcon claims fbdevs as soon as they are registered and takes over
    the console as soon as the first fbdev gets registered.
    
    This behavior is undesirable in cases where a smooth graphical bootup is
    desired, in such cases we typically want the contents of the framebuffer
    (typically a vendor logo) to stay in place as is.
    
    The current solution for this problem (on embedded systems) is to not
    enable fbcon.
    
    This commit adds a new FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER config option,
    which when enabled defers fbcon taking over the console from the dummy
    console until the first text is displayed on the console. Together with the
    "quiet" kernel commandline option, this allows fbcon to still be used
    together with a smooth graphical bootup, having it take over the console as
    soon as e.g. an error message is logged.
    
    Note the choice to detect the first console output in the dummycon driver,
    rather then handling this entirely inside the fbcon code, was made after
    2 failed attempts to handle this entirely inside the fbcon code. The fbcon
    code is woven quite tightly into the console code, making this to only
    feasible option.
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    83d83beb
fbcon.c 90.5 KB