Hi Am 26.11.21 um 01:13 schrieb Javier Martinez Canillas: > Commit 8633ef82f101 ("drivers/firmware: consolidate EFI framebuffer setup > for all arches") made the Generic System Framebuffers (sysfb) driver able > to be built on non-x86 architectures. > > But left the efifb_setup_from_dmi() function prototype declaration in the > architecture specific headers. This could lead to the following compiler > warning as reported by the kernel test robot: > > 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) > > Fixes: 8633ef82f101 ("drivers/firmware: consolidate EFI framebuffer setup for all arches") > Reported-by: kernel test robot > Cc: # 5.15.x > Signed-off-by: Javier Martinez Canillas Acked-by: Thomas Zimmermann > --- > > arch/arm/include/asm/efi.h | 1 - > arch/arm64/include/asm/efi.h | 1 - > arch/riscv/include/asm/efi.h | 1 - > arch/x86/include/asm/efi.h | 2 -- > include/linux/efi.h | 6 ++++++ > 5 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/arch/arm/include/asm/efi.h b/arch/arm/include/asm/efi.h > index a6f3b179e8a9..27218eabbf9a 100644 > --- a/arch/arm/include/asm/efi.h > +++ b/arch/arm/include/asm/efi.h > @@ -17,7 +17,6 @@ > > #ifdef CONFIG_EFI > void efi_init(void); > -extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); > > int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md); > int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md); > diff --git a/arch/arm64/include/asm/efi.h b/arch/arm64/include/asm/efi.h > index d3e1825337be..ad55079abe47 100644 > --- a/arch/arm64/include/asm/efi.h > +++ b/arch/arm64/include/asm/efi.h > @@ -14,7 +14,6 @@ > > #ifdef CONFIG_EFI > extern void efi_init(void); > -extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); > #else > #define efi_init() > #endif > diff --git a/arch/riscv/include/asm/efi.h b/arch/riscv/include/asm/efi.h > index 49b398fe99f1..cc4f6787f937 100644 > --- a/arch/riscv/include/asm/efi.h > +++ b/arch/riscv/include/asm/efi.h > @@ -13,7 +13,6 @@ > > #ifdef CONFIG_EFI > extern void efi_init(void); > -extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); > #else > #define efi_init() > #endif > diff --git a/arch/x86/include/asm/efi.h b/arch/x86/include/asm/efi.h > index 4d0b126835b8..63158fd55856 100644 > --- a/arch/x86/include/asm/efi.h > +++ b/arch/x86/include/asm/efi.h > @@ -197,8 +197,6 @@ static inline bool efi_runtime_supported(void) > > extern void parse_efi_setup(u64 phys_addr, u32 data_len); > > -extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); > - > extern void efi_thunk_runtime_setup(void); > efi_status_t efi_set_virtual_address_map(unsigned long memory_map_size, > unsigned long descriptor_size, > diff --git a/include/linux/efi.h b/include/linux/efi.h > index dbd39b20e034..ef8dbc0a1522 100644 > --- a/include/linux/efi.h > +++ b/include/linux/efi.h > @@ -1283,4 +1283,10 @@ static inline struct efi_mokvar_table_entry *efi_mokvar_entry_find( > } > #endif > > +#ifdef CONFIG_SYSFB > +extern void efifb_setup_from_dmi(struct screen_info *si, const char *opt); > +#else > +static inline void efifb_setup_from_dmi(struct screen_info *si, const char *opt) { } > +#endif > + > #endif /* _LINUX_EFI_H */ > -- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev