[PATCH v3] fbcon: Silence fbcon logo on 'quiet' boots
Steven Rostedt
rostedt at goodmis.org
Tue Oct 30 21:35:58 UTC 2018
I guess you we not very productive with that first patch ;-)
-- Steve
On October 30, 2018 5:44:19 PM GMT+02:00, Prarit Bhargava <prarit at redhat.com> wrote:
>On text-based systems the 'quiet' boot option will show printk levels
>higher than CONSOLE_LOGLEVEL_QUIET. The displaying of the Tux logo
>during boot can cause some consoles to lose display data and as a
>result
>confuse the end user.
>
>Do not display the Tux logo on systems that are in 'quiet' boot.
>
>v2: It helps to commit all my changes before sending them. Remove
>extra
>bracket.
>v3: buildbot error fix: fbcon can be built as part of a module so
>export console_printk
>
>Signed-off-by: Prarit Bhargava <prarit at redhat.com>
>Cc: Hans de Goede <hdegoede at redhat.com>
>Cc: Marko Myllynen <myllynen at redhat.com>
>Cc: Steven Rostedt (VMware) <rostedt at goodmis.org>
>Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie at samsung.com>
>Cc: Kees Cook <keescook at chromium.org>
>Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
>Cc: Thierry Reding <treding at nvidia.com>
>Cc: Yisheng Xie <ysxie at foxmail.com>
>Cc: dri-devel at lists.freedesktop.org
>---
> drivers/video/fbdev/core/fbcon.c | 13 ++++++++-----
> kernel/printk/printk.c | 1 +
> 2 files changed, 9 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/video/fbdev/core/fbcon.c
>b/drivers/video/fbdev/core/fbcon.c
>index 8958ccc8b1ac..08e092eaf45c 100644
>--- a/drivers/video/fbdev/core/fbcon.c
>+++ b/drivers/video/fbdev/core/fbcon.c
>@@ -649,11 +649,14 @@ static void fbcon_prepare_logo(struct vc_data
>*vc, struct fb_info *info,
> kfree(save);
> }
>
>+ if (logo_shown == FBCON_LOGO_DONTSHOW)
>+ return;
>+
> if (logo_lines > vc->vc_bottom) {
> logo_shown = FBCON_LOGO_CANSHOW;
> printk(KERN_INFO
> "fbcon_init: disable boot-logo (boot-logo bigger than
>screen).\n");
>- } else if (logo_shown != FBCON_LOGO_DONTSHOW) {
>+ } else {
> logo_shown = FBCON_LOGO_DRAW;
> vc->vc_top = logo_lines;
> }
>@@ -1051,7 +1054,7 @@ static void fbcon_init(struct vc_data *vc, int
>init)
> struct vc_data **default_mode = vc->vc_display_fg;
> struct vc_data *svc = *default_mode;
> struct display *t, *p = &fb_display[vc->vc_num];
>- int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256;
>+ int new_rows, new_cols, rows, cols, charcnt = 256;
> int cap, ret;
>
> if (info_idx == -1 || info == NULL)
>@@ -1059,9 +1062,9 @@ static void fbcon_init(struct vc_data *vc, int
>init)
>
> cap = info->flags;
>
>- if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||
>+ if (vc != svc || console_loglevel <= CONSOLE_LOGLEVEL_QUIET ||
> (info->fix.type == FB_TYPE_TEXT))
>- logo = 0;
>+ logo_shown = FBCON_LOGO_DONTSHOW;
>
> if (var_to_display(p, &info->var, info))
> return;
>@@ -1176,7 +1179,7 @@ static void fbcon_init(struct vc_data *vc, int
>init)
> } else
> vc_resize(vc, new_cols, new_rows);
>
>- if (logo)
>+ if (logo_shown != FBCON_LOGO_DONTSHOW)
> fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);
>
> if (vc == svc && softback_buf)
>diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
>index b77150ad1965..391e390feac9 100644
>--- a/kernel/printk/printk.c
>+++ b/kernel/printk/printk.c
>@@ -66,6 +66,7 @@ int console_printk[4] = {
> CONSOLE_LOGLEVEL_MIN, /* minimum_console_loglevel */
> CONSOLE_LOGLEVEL_DEFAULT, /* default_console_loglevel */
> };
>+EXPORT_SYMBOL(console_printk);
>
> atomic_t ignore_console_lock_warning __read_mostly = ATOMIC_INIT(0);
> EXPORT_SYMBOL(ignore_console_lock_warning);
--
Sent from my Android device with K-9 Mail. Please excuse my brevity and top posting.
More information about the dri-devel
mailing list