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 <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Russell King <[email protected]>
Cc: Catalin Marinas <[email protected]>
Cc: Will Deacon <[email protected]>
---
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)))
--
2.41.0
Thomas Zimmermann <[email protected]> writes:
> 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 <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Cc: Russell King <[email protected]>
> Cc: Catalin Marinas <[email protected]>
> Cc: Will Deacon <[email protected]>
> ---
Reviewed-by: Javier Martinez Canillas <[email protected]>
--
Best regards,
Javier Martinez Canillas
Core Platforms
Red Hat
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.
```
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:
> 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 <[email protected]>
> Cc: Ard Biesheuvel <[email protected]>
> Cc: Russell King <[email protected]>
> Cc: Catalin Marinas <[email protected]>
> Cc: Will Deacon <[email protected]>
> Reviewed-by: Javier Martinez Canillas <[email protected]>
With the above issue solved, please take my R-B if you would like.
Reviewed-by: Sui Jingfeng <[email protected]>
> ---
> 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)))
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:
>> 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 <[email protected]>
>> Cc: Ard Biesheuvel <[email protected]>
>> Cc: Russell King <[email protected]>
>> Cc: Catalin Marinas <[email protected]>
>> Cc: Will Deacon <[email protected]>
>> Reviewed-by: Javier Martinez Canillas <[email protected]>
>
> With the above issue solved, please take my R-B if you would like.
>
>
> Reviewed-by: Sui Jingfeng <[email protected]>
>
>> ---
>> 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)