linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] efi: Move efifb_setup_from_dmi() prototype from arch headers
@ 2021-11-26  0:13 Javier Martinez Canillas
  2021-11-29 14:39 ` Thomas Zimmermann
  0 siblings, 1 reply; 2+ messages in thread
From: Javier Martinez Canillas @ 2021-11-26  0:13 UTC (permalink / raw)
  To: linux-kernel
  Cc: kernel test robot, kbuild-all, Javier Martinez Canillas, stable,
	Albert Ou, Ard Biesheuvel, Borislav Petkov, Catalin Marinas,
	Daniel Vetter, Dave Hansen, H. Peter Anvin, Ingo Molnar,
	Palmer Dabbelt, Paul Walmsley, Russell King, Thomas Gleixner,
	Thomas Zimmermann, Will Deacon, linux-arm-kernel, linux-efi,
	linux-riscv, x86

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(-)

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 */
-- 
2.33.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] efi: Move efifb_setup_from_dmi() prototype from arch headers
  2021-11-26  0:13 [PATCH] efi: Move efifb_setup_from_dmi() prototype from arch headers Javier Martinez Canillas
@ 2021-11-29 14:39 ` Thomas Zimmermann
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Zimmermann @ 2021-11-29 14:39 UTC (permalink / raw)
  To: Javier Martinez Canillas, linux-kernel
  Cc: kernel test robot, kbuild-all, stable, Albert Ou, Ard Biesheuvel,
	Borislav Petkov, Catalin Marinas, Daniel Vetter, Dave Hansen,
	H. Peter Anvin, Ingo Molnar, Palmer Dabbelt, Paul Walmsley,
	Russell King, Thomas Gleixner, Will Deacon, linux-arm-kernel,
	linux-efi, linux-riscv, x86


[-- Attachment #1.1: Type: text/plain, Size: 4109 bytes --]

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 */
> 

-- 
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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-11-29 14:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-26  0:13 [PATCH] efi: Move efifb_setup_from_dmi() prototype from arch headers Javier Martinez Canillas
2021-11-29 14:39 ` Thomas Zimmermann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).