efi: earlycon: use console_is_registered()
The CON_ENABLED status of a console is a runtime setting that does not involve the console driver. Drivers must not assume that if the console is disabled then proper hardware management is not needed. For the EFI earlycon case, it is about remapping/unmapping memory for the framebuffer. Use console_is_registered() instead of checking CON_ENABLED. Signed-off-by: John Ogness <john.ogness@linutronix.de> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20221116162152.193147-25-john.ogness@linutronix.de
This commit is contained in:
parent
de61a1a3a0
commit
794c8e847d
|
@ -29,8 +29,8 @@ static void *efi_fb;
|
|||
*/
|
||||
static int __init efi_earlycon_remap_fb(void)
|
||||
{
|
||||
/* bail if there is no bootconsole or it has been disabled already */
|
||||
if (!earlycon_console || !(earlycon_console->flags & CON_ENABLED))
|
||||
/* bail if there is no bootconsole or it was unregistered already */
|
||||
if (!earlycon_console || !console_is_registered(earlycon_console))
|
||||
return 0;
|
||||
|
||||
efi_fb = memremap(fb_base, screen_info.lfb_size,
|
||||
|
@ -42,8 +42,8 @@ early_initcall(efi_earlycon_remap_fb);
|
|||
|
||||
static int __init efi_earlycon_unmap_fb(void)
|
||||
{
|
||||
/* unmap the bootconsole fb unless keep_bootcon has left it enabled */
|
||||
if (efi_fb && !(earlycon_console->flags & CON_ENABLED))
|
||||
/* unmap the bootconsole fb unless keep_bootcon left it registered */
|
||||
if (efi_fb && !console_is_registered(earlycon_console))
|
||||
memunmap(efi_fb);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue