linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
@ 2018-10-29 13:02 Prarit Bhargava
  2018-10-29 13:56 ` kbuild test robot
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Prarit Bhargava @ 2018-10-29 13:02 UTC (permalink / raw)
  To: linux-fbdev
  Cc: Prarit Bhargava, Yisheng Xie, Kees Cook,
	Bartlomiej Zolnierkiewicz, Daniel Vetter, dri-devel,
	Marko Myllynen, Hans de Goede, Steven Rostedt, Thierry Reding

A variant of this patch has been in Fedora since at least 2010 and
AFAWCT there haven't been any complaints about the change in behavior.

https://src.fedoraproject.org/cgit/rpms/kernel.git/tree/silence-fbcon-logo.patch

P.

---8<---

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.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Marko Myllynen <myllynen@redhat.com>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Thierry Reding <treding@nvidia.com>
Cc: Yisheng Xie <ysxie@foxmail.com>
Cc: dri-devel@lists.freedesktop.org
Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
 drivers/video/fbdev/core/fbcon.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
index 75ebbbf0a1fb..a2f2c7ea11ef 100644
--- a/drivers/video/fbdev/core/fbcon.c
+++ b/drivers/video/fbdev/core/fbcon.c
@@ -650,11 +650,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;
 	}
@@ -1052,7 +1055,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)
@@ -1060,9 +1063,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;
@@ -1178,7 +1181,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)
-- 
2.14.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 13:02 [PATCH] fbcon: Silence fbcon logo on 'quiet' boots Prarit Bhargava
@ 2018-10-29 13:56 ` kbuild test robot
  2018-10-29 15:15   ` Prarit Bhargava
  2018-10-29 13:57 ` kbuild test robot
  2018-10-29 15:24 ` Thierry Reding
  2 siblings, 1 reply; 8+ messages in thread
From: kbuild test robot @ 2018-10-29 13:56 UTC (permalink / raw)
  To: linux-fbdev

[-- Attachment #1: Type: text/plain, Size: 15571 bytes --]

Hi Prarit,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on sof-driver-fuweitax/master]
[also build test ERROR on v4.19 next-20181029]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Prarit-Bhargava/fbcon-Silence-fbcon-logo-on-quiet-boots/20181029-211617
base:   https://github.com/fuweitax/linux master
config: m68k-multi_defconfig (attached as .config)
compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=m68k 

All errors (new ones prefixed by >>):

   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
   drivers/video/fbdev/core/fbcon.c:680:13: error: invalid storage class for function 'set_blitting_type'
    static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
                ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:680:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
    ^~~~~~
   drivers/video/fbdev/core/fbcon.c:690:12: error: invalid storage class for function 'fbcon_invalid_charcount'
    static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
               ^~~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:698:12: error: invalid storage class for function 'con2fb_acquire_newinfo'
    static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:734:12: error: invalid storage class for function 'con2fb_release_oldinfo'
    static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
               ^~~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:780:13: error: invalid storage class for function 'con2fb_init_display'
    static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
                ^~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:825:12: error: invalid storage class for function 'set_con2fb_map'
    static int set_con2fb_map(int unit, int newidx, int user)
               ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:882:12: error: invalid storage class for function 'var_to_display'
    static int var_to_display(struct display *disp,
               ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:906:13: error: invalid storage class for function 'display_to_var'
    static void display_to_var(struct fb_var_screeninfo *var,
                ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:925:20: error: invalid storage class for function 'fbcon_startup'
    static const char *fbcon_startup(void)
                       ^~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1036:13: error: invalid storage class for function 'fbcon_init'
    static void fbcon_init(struct vc_data *vc, int init)
                ^~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1183:13: error: invalid storage class for function 'fbcon_free_font'
    static void fbcon_free_font(struct display *p, bool freefont)
                ^~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1191:13: error: invalid storage class for function 'set_vc_hi_font'
    static void set_vc_hi_font(struct vc_data *vc, bool set);
                ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1193:13: error: invalid storage class for function 'fbcon_deinit'
    static void fbcon_deinit(struct vc_data *vc)
                ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_deinit':
>> drivers/video/fbdev/core/fbcon.c:1229:3: error: implicit declaration of function 'set_vc_hi_font'; did you mean 'seq_path_root'? [-Werror=implicit-function-declaration]
      set_vc_hi_font(vc, false);
      ^~~~~~~~~~~~~~
      seq_path_root
   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
   drivers/video/fbdev/core/fbcon.c:1262:13: error: invalid storage class for function 'fbcon_clear'
    static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height,
                ^~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1300:13: error: invalid storage class for function 'fbcon_putcs'
    static void fbcon_putcs(struct vc_data *vc, const unsigned short *s,
                ^~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1313:13: error: invalid storage class for function 'fbcon_putc'
    static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos)
                ^~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1321:13: error: invalid storage class for function 'fbcon_clear_margins'
    static void fbcon_clear_margins(struct vc_data *vc, int bottom_only)
                ^~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1330:13: error: invalid storage class for function 'fbcon_cursor'
    static void fbcon_cursor(struct vc_data *vc, int mode)
                ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1365:13: error: invalid storage class for function 'fbcon_set_disp'
    static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var,
                ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1433:24: error: invalid storage class for function 'ywrap_up'
    static __inline__ void ywrap_up(struct vc_data *vc, int count)
                           ^~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1452:24: error: invalid storage class for function 'ywrap_down'
    static __inline__ void ywrap_down(struct vc_data *vc, int count)
                           ^~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1471:24: error: invalid storage class for function 'ypan_up'
    static __inline__ void ypan_up(struct vc_data *vc, int count)
                           ^~~~~~~
   drivers/video/fbdev/core/fbcon.c:1495:24: error: invalid storage class for function 'ypan_up_redraw'
    static __inline__ void ypan_up_redraw(struct vc_data *vc, int t, int count)
                           ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1519:24: error: invalid storage class for function 'ypan_down'
    static __inline__ void ypan_down(struct vc_data *vc, int count)
                           ^~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1543:24: error: invalid storage class for function 'ypan_down_redraw'
    static __inline__ void ypan_down_redraw(struct vc_data *vc, int t, int count)
                           ^~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1567:13: error: invalid storage class for function 'fbcon_redraw_softback'
    static void fbcon_redraw_softback(struct vc_data *vc, struct display *p,
                ^~~~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1660:13: error: invalid storage class for function 'fbcon_redraw_move'
    static void fbcon_redraw_move(struct vc_data *vc, struct display *p,
                ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1694:13: error: invalid storage class for function 'fbcon_redraw_blit'
    static void fbcon_redraw_blit(struct vc_data *vc, struct fb_info *info,
                ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1744:13: error: invalid storage class for function 'fbcon_redraw'
    static void fbcon_redraw(struct vc_data *vc, struct display *p,
                ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1799:20: error: invalid storage class for function 'fbcon_softback_note'
    static inline void fbcon_softback_note(struct vc_data *vc, int t,
                       ^~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:1824:13: error: invalid storage class for function 'fbcon_scroll'
    static bool fbcon_scroll(struct vc_data *vc, unsigned int t, unsigned int b,
                ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2028:13: error: invalid storage class for function 'fbcon_bmove'
    static void fbcon_bmove(struct vc_data *vc, int sy, int sx, int dy, int dx,
                ^~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2051:13: error: invalid storage class for function 'fbcon_bmove_rec'
    static void fbcon_bmove_rec(struct vc_data *vc, struct display *p, int sy, int sx,
                ^~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2093:13: error: invalid storage class for function 'updatescrollmode'
    static void updatescrollmode(struct display *p,
                ^~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2140:12: error: invalid storage class for function 'fbcon_resize'
    static int fbcon_resize(struct vc_data *vc, unsigned int width,
               ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2186:12: error: invalid storage class for function 'fbcon_switch'
    static int fbcon_switch(struct vc_data *vc)
               ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2325:13: error: invalid storage class for function 'fbcon_generic_blank'
    static void fbcon_generic_blank(struct vc_data *vc, struct fb_info *info,
                ^~~~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2350:12: error: invalid storage class for function 'fbcon_blank'
    static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)
               ^~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2392:12: error: invalid storage class for function 'fbcon_debug_enter'
    static int fbcon_debug_enter(struct vc_data *vc)
               ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2405:12: error: invalid storage class for function 'fbcon_debug_leave'
    static int fbcon_debug_leave(struct vc_data *vc)
               ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2416:12: error: invalid storage class for function 'fbcon_get_font'
    static int fbcon_get_font(struct vc_data *vc, struct console_font *font)
               ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2468:13: error: invalid storage class for function 'set_vc_hi_font'
    static void set_vc_hi_font(struct vc_data *vc, bool set)
                ^~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2528:12: error: invalid storage class for function 'fbcon_do_set_font'
    static int fbcon_do_set_font(struct vc_data *vc, int w, int h,
               ^~~~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2579:12: error: invalid storage class for function 'fbcon_copy_font'
    static int fbcon_copy_font(struct vc_data *vc, int con)
               ^~~~~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c:2601:12: error: invalid storage class for function 'fbcon_set_font'
    static int fbcon_set_font(struct vc_data *vc, struct console_font *font,
               ^~~~~~~~~~~~~~

vim +1229 drivers/video/fbdev/core/fbcon.c

e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1190  
8aac7f34 drivers/video/console/fbcon.c Takashi Iwai       2017-01-11 @1191  static void set_vc_hi_font(struct vc_data *vc, bool set);
8aac7f34 drivers/video/console/fbcon.c Takashi Iwai       2017-01-11  1192  
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1193  static void fbcon_deinit(struct vc_data *vc)
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1194  {
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1195  	struct display *p = &fb_display[vc->vc_num];
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1196  	struct fb_info *info;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1197  	struct fbcon_ops *ops;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1198  	int idx;
ae128786 drivers/video/console/fbcon.c Dave Airlie        2013-01-24  1199  	bool free_font = true;
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1200  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1201  	idx = con2fb_map[vc->vc_num];
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1202  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1203  	if (idx == -1)
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1204  		goto finished;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1205  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1206  	info = registered_fb[idx];
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1207  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1208  	if (!info)
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1209  		goto finished;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1210  
ae128786 drivers/video/console/fbcon.c Dave Airlie        2013-01-24  1211  	if (info->flags & FBINFO_MISC_FIRMWARE)
ae128786 drivers/video/console/fbcon.c Dave Airlie        2013-01-24  1212  		free_font = false;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1213  	ops = info->fbcon_par;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1214  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1215  	if (!ops)
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1216  		goto finished;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1217  
6ca8dfd7 drivers/video/console/fbcon.c Jiri Slaby         2016-06-23  1218  	if (con_is_visible(vc))
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1219  		fbcon_del_cursor_timer(info);
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1220  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1221  	ops->flags &= ~FBCON_FLAGS_INIT;
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1222  finished:
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1223  
ae128786 drivers/video/console/fbcon.c Dave Airlie        2013-01-24  1224  	fbcon_free_font(p, free_font);
e6637d54 drivers/video/console/fbcon.c Mika Kuoppala      2013-04-22  1225  	if (free_font)
e6637d54 drivers/video/console/fbcon.c Mika Kuoppala      2013-04-22  1226  		vc->vc_font.data = NULL;
ae128786 drivers/video/console/fbcon.c Dave Airlie        2013-01-24  1227  
8aac7f34 drivers/video/console/fbcon.c Takashi Iwai       2017-01-11  1228  	if (vc->vc_hi_font_mask)
8aac7f34 drivers/video/console/fbcon.c Takashi Iwai       2017-01-11 @1229  		set_vc_hi_font(vc, false);
8aac7f34 drivers/video/console/fbcon.c Takashi Iwai       2017-01-11  1230  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1231  	if (!con_is_bound(&fb_con))
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1232  		fbcon_exit();
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1233  
e614b18d drivers/video/console/fbcon.c Antonino A. Daplas 2006-06-26  1234  	return;
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1235  }
^1da177e drivers/video/console/fbcon.c Linus Torvalds     2005-04-16  1236  

:::::: The code at line 1229 was first introduced by commit
:::::: 8aac7f34369726d1a158788ae8aff3002d5eb528 fbcon: Fix vc attr at deinit

:::::: TO: Takashi Iwai <tiwai@suse.de>
:::::: CC: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 13415 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 13:02 [PATCH] fbcon: Silence fbcon logo on 'quiet' boots Prarit Bhargava
  2018-10-29 13:56 ` kbuild test robot
@ 2018-10-29 13:57 ` kbuild test robot
  2018-10-29 15:24 ` Thierry Reding
  2 siblings, 0 replies; 8+ messages in thread
From: kbuild test robot @ 2018-10-29 13:57 UTC (permalink / raw)
  To: linux-fbdev

[-- Attachment #1: Type: text/plain, Size: 29739 bytes --]

Hi Prarit,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on sof-driver-fuweitax/master]
[also build test ERROR on v4.19 next-20181029]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Prarit-Bhargava/fbcon-Silence-fbcon-logo-on-quiet-boots/20181029-211617
base:   https://github.com/fuweitax/linux master
config: i386-randconfig-x005-201843 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All error/warnings (new ones prefixed by >>):

   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
>> drivers/video/fbdev/core/fbcon.c:655:13: error: invalid storage class for function 'set_blitting_type'
    static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
                ^~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:655:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
    static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
    ^~~~~~
>> drivers/video/fbdev/core/fbcon.c:669:12: error: invalid storage class for function 'fbcon_invalid_charcount'
    static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
               ^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:698:12: error: invalid storage class for function 'con2fb_acquire_newinfo'
    static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
               ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:734:12: error: invalid storage class for function 'con2fb_release_oldinfo'
    static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
               ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:780:13: error: invalid storage class for function 'con2fb_init_display'
    static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
                ^~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:825:12: error: invalid storage class for function 'set_con2fb_map'
    static int set_con2fb_map(int unit, int newidx, int user)
               ^~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:882:12: error: invalid storage class for function 'var_to_display'
    static int var_to_display(struct display *disp,
               ^~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:906:13: error: invalid storage class for function 'display_to_var'
    static void display_to_var(struct fb_var_screeninfo *var,
                ^~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:925:20: error: invalid storage class for function 'fbcon_startup'
    static const char *fbcon_startup(void)
                       ^~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1036:13: error: invalid storage class for function 'fbcon_init'
    static void fbcon_init(struct vc_data *vc, int init)
                ^~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1183:13: error: invalid storage class for function 'fbcon_free_font'
    static void fbcon_free_font(struct display *p, bool freefont)
                ^~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1191:13: error: invalid storage class for function 'set_vc_hi_font'
    static void set_vc_hi_font(struct vc_data *vc, bool set);
                ^~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1193:13: error: invalid storage class for function 'fbcon_deinit'
    static void fbcon_deinit(struct vc_data *vc)
                ^~~~~~~~~~~~
   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_deinit':
>> drivers/video/fbdev/core/fbcon.c:1229:3: error: implicit declaration of function 'set_vc_hi_font'; did you mean 'set_page_zone'? [-Werror=implicit-function-declaration]
      set_vc_hi_font(vc, false);
      ^~~~~~~~~~~~~~
      set_page_zone
   drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
>> drivers/video/fbdev/core/fbcon.c:1262:13: error: invalid storage class for function 'fbcon_clear'
    static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height,
                ^~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1300:13: error: invalid storage class for function 'fbcon_putcs'
    static void fbcon_putcs(struct vc_data *vc, const unsigned short *s,
                ^~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1313:13: error: invalid storage class for function 'fbcon_putc'
    static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos)
                ^~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1321:13: error: invalid storage class for function 'fbcon_clear_margins'
    static void fbcon_clear_margins(struct vc_data *vc, int bottom_only)
                ^~~~~~~~~~~~~~~~~~~
>> drivers/video/fbdev/core/fbcon.c:1330:13: error: invalid storage class for function 'fbcon_cursor'
    static void fbcon_cursor(struct vc_data *vc, int mode)
                ^~~~~~~~~~~~

vim +/set_blitting_type +655 drivers/video/fbdev/core/fbcon.c

^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  653  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  654  #ifdef CONFIG_FB_TILEBLITTING
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09 @655  static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  656  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  657  	struct fbcon_ops *ops = info->fbcon_par;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  658  
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  659  	ops->p = &fb_display[vc->vc_num];
ab767201 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-13  660  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  661  	if ((info->flags & FBINFO_MISC_TILEBLITTING))
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  662  		fbcon_set_tileops(vc, info);
e4fc2761 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-08  663  	else {
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  664  		fbcon_set_rotation(info);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  665  		fbcon_set_bitops(ops);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  666  	}
e4fc2761 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-08  667  }
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  668  
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08 @669  static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  670  {
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  671  	int err = 0;
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  672  
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  673  	if (info->flags & FBINFO_MISC_TILEBLITTING &&
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  674  	    info->tileops->fb_get_tilemax(info) < charcount)
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  675  		err = 1;
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  676  
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  677  	return err;
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  678  }
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  679  #else
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  680  static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  681  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  682  	struct fbcon_ops *ops = info->fbcon_par;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  683  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  684  	info->flags &= ~FBINFO_MISC_TILEBLITTING;
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  685  	ops->p = &fb_display[vc->vc_num];
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  686  	fbcon_set_rotation(info);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  687  	fbcon_set_bitops(ops);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  688  }
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  689  
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  690  static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  691  {
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  692  	return 0;
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  693  }
38b4982c drivers/video/console/fbcon.c    Antonino A. Daplas        2007-05-08  694  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  695  #endif /* CONFIG_MISC_TILEBLITTING */
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  696  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  697  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16 @698  static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  699  				  int unit, int oldidx)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  700  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  701  	struct fbcon_ops *ops = NULL;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  702  	int err = 0;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  703  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  704  	if (!try_module_get(info->fbops->owner))
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  705  		err = -ENODEV;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  706  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  707  	if (!err && info->fbops->fb_open &&
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  708  	    info->fbops->fb_open(info, 0))
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  709  		err = -ENODEV;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  710  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  711  	if (!err) {
a39bc34e drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  712  		ops = kzalloc(sizeof(struct fbcon_ops), GFP_KERNEL);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  713  		if (!ops)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  714  			err = -ENOMEM;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  715  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  716  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  717  	if (!err) {
a1e533ec drivers/video/console/fbcon.c    Jean-Philippe Brucker     2016-02-15  718  		ops->cur_blink_jiffies = HZ / 5;
6c789357 drivers/video/fbdev/core/fbcon.c Kees Cook                 2017-11-10  719  		ops->info = info;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  720  		info->fbcon_par = ops;
d1baa4ff drivers/video/console/fbcon.c    Antonino A. Daplas        2007-07-17  721  
d1baa4ff drivers/video/console/fbcon.c    Antonino A. Daplas        2007-07-17  722  		if (vc)
b73deed3 drivers/video/console/fbcon.c    Antonino A. Daplas        2006-01-09  723  			set_blitting_type(vc, info);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  724  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  725  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  726  	if (err) {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  727  		con2fb_map[unit] = oldidx;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  728  		module_put(info->fbops->owner);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  729  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  730  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  731  	return err;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  732  }
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  733  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16 @734  static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  735  				  struct fb_info *newinfo, int unit,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  736  				  int oldidx, int found)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  737  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  738  	struct fbcon_ops *ops = oldinfo->fbcon_par;
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  739  	int err = 0, ret;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  740  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  741  	if (oldinfo->fbops->fb_release &&
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  742  	    oldinfo->fbops->fb_release(oldinfo, 0)) {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  743  		con2fb_map[unit] = oldidx;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  744  		if (!found && newinfo->fbops->fb_release)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  745  			newinfo->fbops->fb_release(newinfo, 0);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  746  		if (!found)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  747  			module_put(newinfo->fbops->owner);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  748  		err = -ENODEV;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  749  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  750  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  751  	if (!err) {
88fb2c6e drivers/video/console/fbcon.c    Antonino A. Daplas        2005-09-09  752  		fbcon_del_cursor_timer(oldinfo);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  753  		kfree(ops->cursor_state.mask);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  754  		kfree(ops->cursor_data);
7a966fbd drivers/video/console/fbcon.c    Masami Ichikawa           2014-04-23  755  		kfree(ops->cursor_src);
e4fc2761 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-08  756  		kfree(ops->fontbuffer);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  757  		kfree(oldinfo->fbcon_par);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  758  		oldinfo->fbcon_par = NULL;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  759  		module_put(oldinfo->fbops->owner);
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  760  		/*
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  761  		  If oldinfo and newinfo are driving the same hardware,
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  762  		  the fb_release() method of oldinfo may attempt to
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  763  		  restore the hardware state.  This will leave the
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  764  		  newinfo in an undefined state. Thus, a call to
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  765  		  fb_set_par() may be needed for the newinfo.
dd0314f7 drivers/video/console/fbcon.c    Antonino A. Daplas        2005-11-07  766  		*/
5f4dc28b drivers/video/console/fbcon.c    Keith Packard             2014-01-20  767  		if (newinfo && newinfo->fbops->fb_set_par) {
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  768  			ret = newinfo->fbops->fb_set_par(newinfo);
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  769  
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  770  			if (ret)
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  771  				printk(KERN_ERR "con2fb_release_oldinfo: "
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  772  					"detected unhandled fb_set_par error, "
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  773  					"error code %d\n", ret);
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  774  		}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  775  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  776  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  777  	return err;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  778  }
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  779  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16 @780  static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  781  				int unit, int show_logo)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  782  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  783  	struct fbcon_ops *ops = info->fbcon_par;
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  784  	int ret;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  785  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  786  	ops->currcon = fg_console;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  787  
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  788  	if (info->fbops->fb_set_par && !(ops->flags & FBCON_FLAGS_INIT)) {
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  789  		ret = info->fbops->fb_set_par(info);
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  790  
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  791  		if (ret)
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  792  			printk(KERN_ERR "con2fb_init_display: detected "
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  793  				"unhandled fb_set_par error, "
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  794  				"error code %d\n", ret);
0fcf6ada drivers/video/console/fbcon.c    Florian Tobias Schandinat 2009-09-22  795  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  796  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  797  	ops->flags |= FBCON_FLAGS_INIT;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  798  	ops->graphics = 0;
d1baa4ff drivers/video/console/fbcon.c    Antonino A. Daplas        2007-07-17  799  	fbcon_set_disp(info, &info->var, unit);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  800  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  801  	if (show_logo) {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  802  		struct vc_data *fg_vc = vc_cons[fg_console].d;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  803  		struct fb_info *fg_info =
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  804  			registered_fb[con2fb_map[fg_console]];
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  805  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  806  		fbcon_prepare_logo(fg_vc, fg_info, fg_vc->vc_cols,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  807  				   fg_vc->vc_rows, fg_vc->vc_cols,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  808  				   fg_vc->vc_rows);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  809  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  810  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  811  	update_screen(vc_cons[fg_console].d);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  812  }
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  813  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  814  /**
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  815   *	set_con2fb_map - map console to frame buffer device
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  816   *	@unit: virtual console number to map
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  817   *	@newidx: frame buffer index to map virtual console to
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  818   *      @user: user request
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  819   *
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  820   *	Maps a virtual console @unit to a frame buffer device
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  821   *	@newidx.
054430e7 drivers/video/console/fbcon.c    Dave Airlie               2013-01-25  822   *
054430e7 drivers/video/console/fbcon.c    Dave Airlie               2013-01-25  823   *	This should be called with the console lock held.
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  824   */
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16 @825  static int set_con2fb_map(int unit, int newidx, int user)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  826  {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  827  	struct vc_data *vc = vc_cons[unit].d;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  828  	int oldidx = con2fb_map[unit];
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  829  	struct fb_info *info = registered_fb[newidx];
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  830  	struct fb_info *oldinfo = NULL;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  831   	int found, err = 0;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  832  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  833  	if (oldidx == newidx)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  834  		return 0;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  835  
32b98bf8 drivers/video/console/fbcon.c    Dave Airlie               2010-12-21  836  	if (!info)
e614b18d drivers/video/console/fbcon.c    Antonino A. Daplas        2006-06-26  837  		return -EINVAL;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  838  
32b98bf8 drivers/video/console/fbcon.c    Dave Airlie               2010-12-21  839  	if (!search_for_mapped_con() || !con_is_bound(&fb_con)) {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  840  		info_idx = newidx;
054430e7 drivers/video/console/fbcon.c    Dave Airlie               2013-01-25  841  		return do_fbcon_takeover(0);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  842  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  843  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  844  	if (oldidx != -1)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  845  		oldinfo = registered_fb[oldidx];
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  846  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  847  	found = search_fb_in_map(newidx);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  848  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  849  	con2fb_map[unit] = newidx;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  850  	if (!err && !found)
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  851   		err = con2fb_acquire_newinfo(vc, info, unit, oldidx);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  852  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  853  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  854  	/*
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  855  	 * If old fb is not mapped to any of the consoles,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  856  	 * fbcon should release it.
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  857  	 */
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  858   	if (!err && oldinfo && !search_fb_in_map(oldidx))
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  859   		err = con2fb_release_oldinfo(vc, oldinfo, info, unit, oldidx,
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  860   					     found);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  861  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  862   	if (!err) {
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  863   		int show_logo = (fg_console == 0 && !user &&
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  864   				 logo_shown != FBCON_LOGO_DONTSHOW);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  865  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  866   		if (!found)
88fb2c6e drivers/video/console/fbcon.c    Antonino A. Daplas        2005-09-09  867   			fbcon_add_cursor_timer(info);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  868   		con2fb_map_boot[unit] = newidx;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  869   		con2fb_init_display(vc, info, unit, show_logo);
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  870  	}
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  871  
e614b18d drivers/video/console/fbcon.c    Antonino A. Daplas        2006-06-26  872  	if (!search_fb_in_map(info_idx))
e614b18d drivers/video/console/fbcon.c    Antonino A. Daplas        2006-06-26  873  		info_idx = newidx;
e614b18d drivers/video/console/fbcon.c    Antonino A. Daplas        2006-06-26  874  
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  875   	return err;
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  876  }
^1da177e drivers/video/console/fbcon.c    Linus Torvalds            2005-04-16  877  

:::::: The code at line 655 was first introduced by commit
:::::: b73deed32d08740bdbf5f4aab43d988e4d135d95 [PATCH] fbcon: Sanitize fbcon

:::::: TO: Antonino A. Daplas <adaplas@gmail.com>
:::::: CC: Linus Torvalds <torvalds@g5.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30431 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 13:56 ` kbuild test robot
@ 2018-10-29 15:15   ` Prarit Bhargava
  2018-11-12  3:18     ` [kbuild-all] " Rong Chen
  0 siblings, 1 reply; 8+ messages in thread
From: Prarit Bhargava @ 2018-10-29 15:15 UTC (permalink / raw)
  To: kbuild test robot
  Cc: Marko Myllynen, linux-fbdev, Kees Cook, Bartlomiej Zolnierkiewicz,
	Daniel Vetter, dri-devel, Yisheng Xie, Hans de Goede,
	Steven Rostedt, kbuild-all, Thierry Reding



On 10/29/2018 09:56 AM, kbuild test robot wrote:
> Hi Prarit,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on sof-driver-fuweitax/master]
> [also build test ERROR on v4.19 next-20181029]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
> 
> url:    https://github.com/0day-ci/linux/commits/Prarit-Bhargava/fbcon-Silence-fbcon-logo-on-quiet-boots/20181029-211617
> base:   https://github.com/fuweitax/linux master
> config: m68k-multi_defconfig (attached as .config)
> compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
> reproduce:
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # save the attached .config to linux build tree
>         GCC_VERSION=7.2.0 make.cross ARCH=m68k 
> 
> All errors (new ones prefixed by >>):
> 
>    drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
>    drivers/video/fbdev/core/fbcon.c:680:13: error: invalid storage class for function 'set_blitting_type'
>     static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>                 ^~~~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:680:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
>     static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>     ^~~~~~
>    drivers/video/fbdev/core/fbcon.c:690:12: error: invalid storage class for function 'fbcon_invalid_charcount'
>     static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
>                ^~~~~~~~~~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:698:12: error: invalid storage class for function 'con2fb_acquire_newinfo'
>     static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
>                ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:734:12: error: invalid storage class for function 'con2fb_release_oldinfo'
>     static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
>                ^~~~~~~~~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:780:13: error: invalid storage class for function 'con2fb_init_display'
>     static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
>                 ^~~~~~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:825:12: error: invalid storage class for function 'set_con2fb_map'
>     static int set_con2fb_map(int unit, int newidx, int user)
>                ^~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:882:12: error: invalid storage class for function 'var_to_display'
>     static int var_to_display(struct display *disp,
>                ^~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:906:13: error: invalid storage class for function 'display_to_var'
>     static void display_to_var(struct fb_var_screeninfo *var,
>                 ^~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:925:20: error: invalid storage class for function 'fbcon_startup'
>     static const char *fbcon_startup(void)
>                        ^~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:1036:13: error: invalid storage class for function 'fbcon_init'
>     static void fbcon_init(struct vc_data *vc, int init)
>                 ^~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:1183:13: error: invalid storage class for function 'fbcon_free_font'
>     static void fbcon_free_font(struct display *p, bool freefont)
>                 ^~~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:1191:13: error: invalid storage class for function 'set_vc_hi_font'
>     static void set_vc_hi_font(struct vc_data *vc, bool set);
>                 ^~~~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c:1193:13: error: invalid storage class for function 'fbcon_deinit'
>     static void fbcon_deinit(struct vc_data *vc)
>                 ^~~~~~~~~~~~
>    drivers/video/fbdev/core/fbcon.c: In function 'fbcon_deinit':
>>> drivers/video/fbdev/core/fbcon.c:1229:3: error: implicit declaration of function 'set_vc_hi_font'; did you mean 'seq_path_root'? [-Werror=implicit-function-declaration]
>       set_vc_hi_font(vc, false);
>       ^~~~~~~~~~~~~~

Hmm ... this doesn't look like anything that is at fault with my patch.

There's a lot of warnings here, and perhaps another fix is required to make
sure that the configs are set correctly?  I can certainly take a look in
another patch but AFAICT this isn't an issue with my patch.

P.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 13:02 [PATCH] fbcon: Silence fbcon logo on 'quiet' boots Prarit Bhargava
  2018-10-29 13:56 ` kbuild test robot
  2018-10-29 13:57 ` kbuild test robot
@ 2018-10-29 15:24 ` Thierry Reding
  2018-10-29 15:30   ` Prarit Bhargava
  2 siblings, 1 reply; 8+ messages in thread
From: Thierry Reding @ 2018-10-29 15:24 UTC (permalink / raw)
  To: Prarit Bhargava
  Cc: Yisheng Xie, linux-fbdev, Kees Cook, Bartlomiej Zolnierkiewicz,
	Daniel Vetter, dri-devel, Marko Myllynen, Hans de Goede,
	Steven Rostedt

[-- Attachment #1: Type: text/plain, Size: 1845 bytes --]

On Mon, Oct 29, 2018 at 09:02:32AM -0400, Prarit Bhargava wrote:
> A variant of this patch has been in Fedora since at least 2010 and
> AFAWCT there haven't been any complaints about the change in behavior.
> 
> https://src.fedoraproject.org/cgit/rpms/kernel.git/tree/silence-fbcon-logo.patch
> 
> P.
> 
> ---8<---
> 
> 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.
> 
> Signed-off-by: Prarit Bhargava <prarit@redhat.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Marko Myllynen <myllynen@redhat.com>
> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Thierry Reding <treding@nvidia.com>
> Cc: Yisheng Xie <ysxie@foxmail.com>
> Cc: dri-devel@lists.freedesktop.org
> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
> ---
>  drivers/video/fbdev/core/fbcon.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
> index 75ebbbf0a1fb..a2f2c7ea11ef 100644
> --- a/drivers/video/fbdev/core/fbcon.c
> +++ b/drivers/video/fbdev/core/fbcon.c
> @@ -650,11 +650,14 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
>  		kfree(save);
>  	}
>  
> +	if (logo_shown == FBCON_LOGO_DONTSHOW) {
> +		return;
> +

You're missing a closing } here (well, you really shouldn't have the
opening { in the first place since this is a single line block.

That's what's causing the warnings from the 0-day builder.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 15:24 ` Thierry Reding
@ 2018-10-29 15:30   ` Prarit Bhargava
  0 siblings, 0 replies; 8+ messages in thread
From: Prarit Bhargava @ 2018-10-29 15:30 UTC (permalink / raw)
  To: Thierry Reding
  Cc: Yisheng Xie, linux-fbdev, Kees Cook, Bartlomiej Zolnierkiewicz,
	Daniel Vetter, dri-devel, Marko Myllynen, Hans de Goede,
	Steven Rostedt



On 10/29/2018 11:24 AM, Thierry Reding wrote:
> On Mon, Oct 29, 2018 at 09:02:32AM -0400, Prarit Bhargava wrote:
>> A variant of this patch has been in Fedora since at least 2010 and
>> AFAWCT there haven't been any complaints about the change in behavior.
>>
>> https://src.fedoraproject.org/cgit/rpms/kernel.git/tree/silence-fbcon-logo.patch
>>
>> P.
>>
>> ---8<---
>>
>> 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.
>>
>> Signed-off-by: Prarit Bhargava <prarit@redhat.com>
>> Cc: Hans de Goede <hdegoede@redhat.com>
>> Cc: Marko Myllynen <myllynen@redhat.com>
>> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
>> Cc: Kees Cook <keescook@chromium.org>
>> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
>> Cc: Thierry Reding <treding@nvidia.com>
>> Cc: Yisheng Xie <ysxie@foxmail.com>
>> Cc: dri-devel@lists.freedesktop.org
>> Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
>> ---
>>  drivers/video/fbdev/core/fbcon.c | 13 ++++++++-----
>>  1 file changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/video/fbdev/core/fbcon.c b/drivers/video/fbdev/core/fbcon.c
>> index 75ebbbf0a1fb..a2f2c7ea11ef 100644
>> --- a/drivers/video/fbdev/core/fbcon.c
>> +++ b/drivers/video/fbdev/core/fbcon.c
>> @@ -650,11 +650,14 @@ static void fbcon_prepare_logo(struct vc_data *vc, struct fb_info *info,
>>  		kfree(save);
>>  	}
>>  
>> +	if (logo_shown = FBCON_LOGO_DONTSHOW) {
>> +		return;
>> +
> 
> You're missing a closing } here (well, you really shouldn't have the
> opening { in the first place since this is a single line block.
> 
> That's what's causing the warnings from the 0-day builder.

Will send v2.

P.

> 
> Thierry
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kbuild-all] [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-10-29 15:15   ` Prarit Bhargava
@ 2018-11-12  3:18     ` Rong Chen
  2018-11-12 13:52       ` Prarit Bhargava
  0 siblings, 1 reply; 8+ messages in thread
From: Rong Chen @ 2018-11-12  3:18 UTC (permalink / raw)
  To: Prarit Bhargava, kbuild test robot
  Cc: Yisheng Xie, linux-fbdev, Kees Cook, Bartlomiej Zolnierkiewicz,
	Daniel Vetter, dri-devel, Marko Myllynen, Hans de Goede,
	Steven Rostedt, Thierry Reding, kbuild-all



On 10/29/2018 11:15 PM, Prarit Bhargava wrote:
>
> On 10/29/2018 09:56 AM, kbuild test robot wrote:
>> Hi Prarit,
>>
>> Thank you for the patch! Yet something to improve:
>>
>> [auto build test ERROR on sof-driver-fuweitax/master]
>> [also build test ERROR on v4.19 next-20181029]
>> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>>
>> url:    https://github.com/0day-ci/linux/commits/Prarit-Bhargava/fbcon-Silence-fbcon-logo-on-quiet-boots/20181029-211617
>> base:   https://github.com/fuweitax/linux master
>> config: m68k-multi_defconfig (attached as .config)
>> compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>> reproduce:
>>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>>          chmod +x ~/bin/make.cross
>>          # save the attached .config to linux build tree
>>          GCC_VERSION=7.2.0 make.cross ARCH=m68k
>>
>> All errors (new ones prefixed by >>):
>>
>>     drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
>>     drivers/video/fbdev/core/fbcon.c:680:13: error: invalid storage class for function 'set_blitting_type'
>>      static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>>                  ^~~~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:680:1: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
>>      static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>>      ^~~~~~
>>     drivers/video/fbdev/core/fbcon.c:690:12: error: invalid storage class for function 'fbcon_invalid_charcount'
>>      static int fbcon_invalid_charcount(struct fb_info *info, unsigned charcount)
>>                 ^~~~~~~~~~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:698:12: error: invalid storage class for function 'con2fb_acquire_newinfo'
>>      static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
>>                 ^~~~~~~~~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:734:12: error: invalid storage class for function 'con2fb_release_oldinfo'
>>      static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info *oldinfo,
>>                 ^~~~~~~~~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:780:13: error: invalid storage class for function 'con2fb_init_display'
>>      static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
>>                  ^~~~~~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:825:12: error: invalid storage class for function 'set_con2fb_map'
>>      static int set_con2fb_map(int unit, int newidx, int user)
>>                 ^~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:882:12: error: invalid storage class for function 'var_to_display'
>>      static int var_to_display(struct display *disp,
>>                 ^~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:906:13: error: invalid storage class for function 'display_to_var'
>>      static void display_to_var(struct fb_var_screeninfo *var,
>>                  ^~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:925:20: error: invalid storage class for function 'fbcon_startup'
>>      static const char *fbcon_startup(void)
>>                         ^~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:1036:13: error: invalid storage class for function 'fbcon_init'
>>      static void fbcon_init(struct vc_data *vc, int init)
>>                  ^~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:1183:13: error: invalid storage class for function 'fbcon_free_font'
>>      static void fbcon_free_font(struct display *p, bool freefont)
>>                  ^~~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:1191:13: error: invalid storage class for function 'set_vc_hi_font'
>>      static void set_vc_hi_font(struct vc_data *vc, bool set);
>>                  ^~~~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c:1193:13: error: invalid storage class for function 'fbcon_deinit'
>>      static void fbcon_deinit(struct vc_data *vc)
>>                  ^~~~~~~~~~~~
>>     drivers/video/fbdev/core/fbcon.c: In function 'fbcon_deinit':
>>>> drivers/video/fbdev/core/fbcon.c:1229:3: error: implicit declaration of function 'set_vc_hi_font'; did you mean 'seq_path_root'? [-Werror=implicit-function-declaration]
>>        set_vc_hi_font(vc, false);
>>        ^~~~~~~~~~~~~~
> Hmm ... this doesn't look like anything that is at fault with my patch.
>
> There's a lot of warnings here, and perhaps another fix is required to make
> sure that the configs are set correctly?  I can certainly take a look in
> another patch but AFAICT this isn't an issue with my patch.

Please accept my apologies for taking your time, we will look into it.

Best Regards,
Rong Chen

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kbuild-all] [PATCH] fbcon: Silence fbcon logo on 'quiet' boots
  2018-11-12  3:18     ` [kbuild-all] " Rong Chen
@ 2018-11-12 13:52       ` Prarit Bhargava
  0 siblings, 0 replies; 8+ messages in thread
From: Prarit Bhargava @ 2018-11-12 13:52 UTC (permalink / raw)
  To: Rong Chen, kbuild test robot
  Cc: Yisheng Xie, linux-fbdev, Kees Cook, Bartlomiej Zolnierkiewicz,
	Daniel Vetter, dri-devel, Marko Myllynen, Hans de Goede,
	Steven Rostedt, Thierry Reding, kbuild-all



On 11/11/2018 10:18 PM, Rong Chen wrote:
> 
> 
> On 10/29/2018 11:15 PM, Prarit Bhargava wrote:
>>
>> On 10/29/2018 09:56 AM, kbuild test robot wrote:
>>> Hi Prarit,
>>>
>>> Thank you for the patch! Yet something to improve:
>>>
>>> [auto build test ERROR on sof-driver-fuweitax/master]
>>> [also build test ERROR on v4.19 next-20181029]
>>> [if your patch is applied to the wrong git tree, please drop us a note to
>>> help improve the system]
>>>
>>> url:   
>>> https://github.com/0day-ci/linux/commits/Prarit-Bhargava/fbcon-Silence-fbcon-logo-on-quiet-boots/20181029-211617
>>>
>>> base:   https://github.com/fuweitax/linux master
>>> config: m68k-multi_defconfig (attached as .config)
>>> compiler: m68k-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
>>> reproduce:
>>>          wget
>>> https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
>>> ~/bin/make.cross
>>>          chmod +x ~/bin/make.cross
>>>          # save the attached .config to linux build tree
>>>          GCC_VERSION=7.2.0 make.cross ARCH=m68k
>>>
>>> All errors (new ones prefixed by >>):
>>>
>>>     drivers/video/fbdev/core/fbcon.c: In function 'fbcon_prepare_logo':
>>>     drivers/video/fbdev/core/fbcon.c:680:13: error: invalid storage class for
>>> function 'set_blitting_type'
>>>      static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>>>                  ^~~~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:680:1: warning: ISO C90 forbids mixed
>>> declarations and code [-Wdeclaration-after-statement]
>>>      static void set_blitting_type(struct vc_data *vc, struct fb_info *info)
>>>      ^~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:690:12: error: invalid storage class for
>>> function 'fbcon_invalid_charcount'
>>>      static int fbcon_invalid_charcount(struct fb_info *info, unsigned
>>> charcount)
>>>                 ^~~~~~~~~~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:698:12: error: invalid storage class for
>>> function 'con2fb_acquire_newinfo'
>>>      static int con2fb_acquire_newinfo(struct vc_data *vc, struct fb_info *info,
>>>                 ^~~~~~~~~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:734:12: error: invalid storage class for
>>> function 'con2fb_release_oldinfo'
>>>      static int con2fb_release_oldinfo(struct vc_data *vc, struct fb_info
>>> *oldinfo,
>>>                 ^~~~~~~~~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:780:13: error: invalid storage class for
>>> function 'con2fb_init_display'
>>>      static void con2fb_init_display(struct vc_data *vc, struct fb_info *info,
>>>                  ^~~~~~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:825:12: error: invalid storage class for
>>> function 'set_con2fb_map'
>>>      static int set_con2fb_map(int unit, int newidx, int user)
>>>                 ^~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:882:12: error: invalid storage class for
>>> function 'var_to_display'
>>>      static int var_to_display(struct display *disp,
>>>                 ^~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:906:13: error: invalid storage class for
>>> function 'display_to_var'
>>>      static void display_to_var(struct fb_var_screeninfo *var,
>>>                  ^~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:925:20: error: invalid storage class for
>>> function 'fbcon_startup'
>>>      static const char *fbcon_startup(void)
>>>                         ^~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:1036:13: error: invalid storage class
>>> for function 'fbcon_init'
>>>      static void fbcon_init(struct vc_data *vc, int init)
>>>                  ^~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:1183:13: error: invalid storage class
>>> for function 'fbcon_free_font'
>>>      static void fbcon_free_font(struct display *p, bool freefont)
>>>                  ^~~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:1191:13: error: invalid storage class
>>> for function 'set_vc_hi_font'
>>>      static void set_vc_hi_font(struct vc_data *vc, bool set);
>>>                  ^~~~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c:1193:13: error: invalid storage class
>>> for function 'fbcon_deinit'
>>>      static void fbcon_deinit(struct vc_data *vc)
>>>                  ^~~~~~~~~~~~
>>>     drivers/video/fbdev/core/fbcon.c: In function 'fbcon_deinit':
>>>>> drivers/video/fbdev/core/fbcon.c:1229:3: error: implicit declaration of
>>>>> function 'set_vc_hi_font'; did you mean 'seq_path_root'?
>>>>> [-Werror=implicit-function-declaration]
>>>        set_vc_hi_font(vc, false);
>>>        ^~~~~~~~~~~~~~
>> Hmm ... this doesn't look like anything that is at fault with my patch.
>>
>> There's a lot of warnings here, and perhaps another fix is required to make
>> sure that the configs are set correctly?  I can certainly take a look in
>> another patch but AFAICT this isn't an issue with my patch.
> 
> Please accept my apologies for taking your time, we will look into it.
> 

Rong, it turns out that this was a bug in my patch.  I have posted a new
patch that resolves the above compile issue.

P.

> Best Regards,
> Rong Chen

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-11-12 13:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-29 13:02 [PATCH] fbcon: Silence fbcon logo on 'quiet' boots Prarit Bhargava
2018-10-29 13:56 ` kbuild test robot
2018-10-29 15:15   ` Prarit Bhargava
2018-11-12  3:18     ` [kbuild-all] " Rong Chen
2018-11-12 13:52       ` Prarit Bhargava
2018-10-29 13:57 ` kbuild test robot
2018-10-29 15:24 ` Thierry Reding
2018-10-29 15:30   ` Prarit Bhargava

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).