Message ID | 20211126001333.555514-1-javierm@redhat.com |
---|---|
State | Accepted |
Commit | 4bc5e64e6cf37007e436970024e5998ee0935651 |
Headers | show |
Series | efi: Move efifb_setup_from_dmi() prototype from arch headers | expand |
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 <lkp@intel.com> > Cc: <stable@vger.kernel.org> # 5.15.x > Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Acked-by: Thomas Zimmermann <tzimmermann@suse.de> > --- > > 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 */ >
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 */
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 <lkp@intel.com> Cc: <stable@vger.kernel.org> # 5.15.x Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> --- 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(-)