drivers/firmware/efi/sysfb_efi.c:70:6: warning: no previous prototype for function 'efifb_setup_from_dmi'

From: kernel test robot
Date: Tue Nov 16 2021 - 13:35:29 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8ab774587903771821b59471cc723bba6d893942
commit: d391c58271072d0b0fad93c82018d495b2633448 drivers/firmware: move x86 Generic System Framebuffers support
date: 4 months ago
config: x86_64-randconfig-r005-20211116 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project fbe72e41b99dc7994daac300d208a955be3e4a0a)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d391c58271072d0b0fad93c82018d495b2633448
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout d391c58271072d0b0fad93c82018d495b2633448
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> drivers/firmware/efi/sysfb_efi.c:70:6: warning: no previous prototype for function 'efifb_setup_from_dmi' [-Wmissing-prototypes]
void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
^
drivers/firmware/efi/sysfb_efi.c:70:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
^
static
drivers/firmware/efi/sysfb_efi.c:270:1: warning: attribute declaration must precede definition [-Wignored-attributes]
__init void sysfb_apply_efi_quirks(void)
^
include/linux/init.h:50:17: note: expanded from macro '__init'
#define __init __section(".init.text") __cold __latent_entropy __noinitretpoline __nocfi
^
include/linux/compiler_attributes.h:263:56: note: expanded from macro '__section'
#define __section(section) __attribute__((__section__(section)))
^
include/linux/sysfb.h:65:20: note: previous definition is here
static inline void sysfb_apply_efi_quirks(void)
^
drivers/firmware/efi/sysfb_efi.c:270:1: warning: attribute declaration must precede definition [-Wignored-attributes]
__init void sysfb_apply_efi_quirks(void)
^
include/linux/init.h:50:41: note: expanded from macro '__init'
#define __init __section(".init.text") __cold __latent_entropy __noinitretpoline __nocfi
^
include/linux/compiler_attributes.h:92:56: note: expanded from macro '__cold'
#define __cold __attribute__((__cold__))
^
include/linux/sysfb.h:65:20: note: previous definition is here
static inline void sysfb_apply_efi_quirks(void)
^
drivers/firmware/efi/sysfb_efi.c:270:1: warning: attribute declaration must precede definition [-Wignored-attributes]
__init void sysfb_apply_efi_quirks(void)
^
include/linux/init.h:50:84: note: expanded from macro '__init'
#define __init __section(".init.text") __cold __latent_entropy __noinitretpoline __nocfi
^
include/linux/compiler-clang.h:65:33: note: expanded from macro '__nocfi'
#define __nocfi __attribute__((__no_sanitize__("cfi")))
^
include/linux/sysfb.h:65:20: note: previous definition is here
static inline void sysfb_apply_efi_quirks(void)
^
drivers/firmware/efi/sysfb_efi.c:270:13: error: redefinition of 'sysfb_apply_efi_quirks'
__init void sysfb_apply_efi_quirks(void)
^
include/linux/sysfb.h:65:20: note: previous definition is here
static inline void sysfb_apply_efi_quirks(void)
^
4 warnings and 1 error generated.


vim +/efifb_setup_from_dmi +70 drivers/firmware/efi/sysfb_efi.c

2995e506276bfd arch/x86/kernel/sysfb_efi.c David Herrmann 2013-08-02 69
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 @70 void efifb_setup_from_dmi(struct screen_info *si, const char *opt)
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 71 {
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 72 int i;
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 73
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 74 for (i = 0; i < M_UNKNOWN; i++) {
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 75 if (efifb_dmi_list[i].base != 0 &&
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 76 !strcmp(opt, efifb_dmi_list[i].optname)) {
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 77 si->lfb_base = efifb_dmi_list[i].base;
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 78 si->lfb_linelength = efifb_dmi_list[i].stride;
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 79 si->lfb_width = efifb_dmi_list[i].width;
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 80 si->lfb_height = efifb_dmi_list[i].height;
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 81 }
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 82 }
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 83 }
21289ec02b41c4 arch/x86/kernel/sysfb_efi.c Ard Biesheuvel 2016-04-25 84

:::::: The code at line 70 was first introduced by commit
:::::: 21289ec02b41c4b928a0b3de1778b325d714eea3 x86/efi/efifb: Move DMI based quirks handling out of generic code

:::::: TO: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
:::::: CC: Ingo Molnar <mingo@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip