[PATCH] efi: Move efifb_setup_from_dmi() prototype from arch headers

Thomas Zimmermann tzimmermann at suse.de
Mon Nov 29 06:39:19 PST 2021


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 at intel.com>
> Cc: <stable at vger.kernel.org> # 5.15.x
> Signed-off-by: Javier Martinez Canillas <javierm at redhat.com>

Acked-by: Thomas Zimmermann <tzimmermann at 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 */
> 

-- 
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20211129/521e644c/attachment-0001.sig>


More information about the linux-arm-kernel mailing list