Thread (44 messages) 44 messages, 5 authors, 2023-08-18

Re: [01/12] efi: Do not include <linux/screen_info.h> from EFI header

From: Thomas Zimmermann <tzimmermann@suse.de>
Date: 2023-07-05 08:00:20
Also in: dri-devel, linux-alpha, linux-arch, linux-arm-kernel, linux-efi, linux-hyperv, linux-mips, linux-riscv, linux-sh, linux-staging, linuxppc-dev, lkml, loongarch, sparclinux

Hi

Am 05.07.23 um 03:40 schrieb Sui Jingfeng:
Hi, Thomas


I love your patch, LoongArch also have UEFI GOP support,

Maybe the arch/loongarch/kernel/efi.c don't include the '#include 
<linux/screen_info.h>' explicitly.
Oh, thank you for testing. I try to build arch/ changes on all of the 
affected platforms, but I cannot build for all of them. I have no means 
of building for loongarch ATM.

I'll update the patch according to your feedback.

Best regards
Thomas
diff --git a/arch/loongarch/kernel/efi.c b/arch/loongarch/kernel/efi.c
index 3d448fef3af4..04f4d217aefb 100644
--- a/arch/loongarch/kernel/efi.c
+++ b/arch/loongarch/kernel/efi.c
@@ -19,6 +19,7 @@
  #include <linux/memblock.h>
  #include <linux/reboot.h>
  #include <linux/uaccess.h>
+#include <linux/screen_info.h>

  #include <asm/early_ioremap.h>
  #include <asm/efi.h>

On 2023/6/29 19:45, Thomas Zimmermann wrote:
quoted
The header file <linux/efi.h> does not need anything from
<linux/screen_info.h>. Declare struct screen_info and remove
the include statements. Update a number of source files that
require struct screen_info's definition.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
With the above issue solved, please take my R-B if you would like.


Reviewed-by: Sui Jingfeng <redacted>
quoted
---
  arch/arm/kernel/efi.c                         | 2 ++
  arch/arm64/kernel/efi.c                       | 1 +
  drivers/firmware/efi/libstub/efi-stub-entry.c | 2 ++
  drivers/firmware/efi/libstub/screen_info.c    | 2 ++
  include/linux/efi.h                           | 3 ++-
  5 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/arch/arm/kernel/efi.c b/arch/arm/kernel/efi.c
index e2b9d2618c672..e94655ef16bb3 100644
--- a/arch/arm/kernel/efi.c
+++ b/arch/arm/kernel/efi.c
@@ -5,6 +5,8 @@
  #include <linux/efi.h>
  #include <linux/memblock.h>
+#include <linux/screen_info.h>
+
  #include <asm/efi.h>
  #include <asm/mach/map.h>
  #include <asm/mmu_context.h>
diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c
index baab8dd3ead3c..3afbe503b066f 100644
--- a/arch/arm64/kernel/efi.c
+++ b/arch/arm64/kernel/efi.c
@@ -9,6 +9,7 @@
  #include <linux/efi.h>
  #include <linux/init.h>
+#include <linux/screen_info.h>
  #include <asm/efi.h>
  #include <asm/stacktrace.h>
diff --git a/drivers/firmware/efi/libstub/efi-stub-entry.c 
b/drivers/firmware/efi/libstub/efi-stub-entry.c
index cc4dcaea67fa6..2f1902e5d4075 100644
--- a/drivers/firmware/efi/libstub/efi-stub-entry.c
+++ b/drivers/firmware/efi/libstub/efi-stub-entry.c
@@ -1,6 +1,8 @@
  // SPDX-License-Identifier: GPL-2.0-only
  #include <linux/efi.h>
+#include <linux/screen_info.h>
+
  #include <asm/efi.h>
  #include "efistub.h"
diff --git a/drivers/firmware/efi/libstub/screen_info.c 
b/drivers/firmware/efi/libstub/screen_info.c
index 4be1c4d1f922b..a51ec201ca3cb 100644
--- a/drivers/firmware/efi/libstub/screen_info.c
+++ b/drivers/firmware/efi/libstub/screen_info.c
@@ -1,6 +1,8 @@
  // SPDX-License-Identifier: GPL-2.0
  #include <linux/efi.h>
+#include <linux/screen_info.h>
+
  #include <asm/efi.h>
  #include "efistub.h"
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 571d1a6e1b744..360895a5572c0 100644
--- a/include/linux/efi.h
+++ b/include/linux/efi.h
@@ -24,10 +24,11 @@
  #include <linux/range.h>
  #include <linux/reboot.h>
  #include <linux/uuid.h>
-#include <linux/screen_info.h>
  #include <asm/page.h>
+struct screen_info;
+
  #define EFI_SUCCESS        0
  #define EFI_LOAD_ERROR        ( 1 | (1UL << (BITS_PER_LONG-1)))
  #define EFI_INVALID_PARAMETER    ( 2 | (1UL << (BITS_PER_LONG-1)))
-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help