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@xxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip