3222f9a Don't use early_param if fbcon is a module

Authored and Committed by jwboyer 4 years ago
    Don't use early_param if fbcon is a module
    
    Upstream 0-day testing has reported build issues with this patch when
    fbcon is built as a module:
    
    tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jwboyer/fedora.git rawhide
    head:   bb46fd92b76deb12e06d53bc79db187c5217e540
    commit: 3eb6be4c89daa67620490f9126fa8b7218963edc [16/51] silence fbcon logo
    config: x86_64-randconfig-s1-08210816 (attached as .config)
    compiler: gcc-4.4 (Debian 4.4.7-8) 4.4.7
    reproduce:
            git checkout 3eb6be4c89daa67620490f9126fa8b7218963edc
            # save the attached .config to linux build tree
            make ARCH=x86_64
    
    All errors (new ones prefixed by >>):
    
       drivers/video/console/fbcon.c:3633: error: expected declaration specifiers or '...' before string constant
       drivers/video/console/fbcon.c:3633: error: expected declaration specifiers or '...' before 'quiet_logo'
       drivers/video/console/fbcon.c:3633: warning: data definition has no type or storage class
    >> drivers/video/console/fbcon.c:3633: error: type defaults to 'int' in declaration of 'early_param'
    >> drivers/video/console/fbcon.c:3633: error: function declaration isn't a prototype
    
    vim +3633 drivers/video/console/fbcon.c
    
      3627  static int __init quiet_logo(char *str)
      3628  {
      3629          logo_shown = FBCON_LOGO_DONTSHOW;
      3630          return 0;
      3631  }
      3632
    > 3633  early_param("quiet", quiet_logo);
      3634
      3635  fs_initcall(fb_console_init);
      3636
    
    This is because early_param is only defined in the #ifndef MODULE case.
    Fedora always builds this as =y, so just move the code inside the #else
    case.
    
        
file modified
+14 -8