diff --git a/patches/linux-5.10.y/0001-efi-ia64-move-IA64-only-declarations-to-new-asm-efi..patch b/patches/linux-5.10.y/0001-efi-ia64-move-IA64-only-declarations-to-new-asm-efi..patch new file mode 100644 index 0000000000000..49e4c403621d2 --- /dev/null +++ b/patches/linux-5.10.y/0001-efi-ia64-move-IA64-only-declarations-to-new-asm-efi..patch @@ -0,0 +1,189 @@ +From 8ff059b8531f3b98e14f0461859fc7cdd95823e4 Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel +Date: Mon, 18 Jan 2021 13:38:42 +0100 +Subject: [PATCH] efi: ia64: move IA64-only declarations to new asm/efi.h + header + +Move some EFI related declarations that are only referenced on IA64 to +a new asm/efi.h arch header. + +Cc: Tony Luck +Cc: Fenghua Yu +Signed-off-by: Ard Biesheuvel +--- + arch/ia64/include/asm/efi.h | 13 +++++++++++++ + arch/ia64/kernel/efi.c | 1 + + arch/ia64/kernel/machine_kexec.c | 1 + + arch/ia64/kernel/mca.c | 1 + + arch/ia64/kernel/smpboot.c | 1 + + arch/ia64/kernel/time.c | 1 + + arch/ia64/kernel/uncached.c | 4 +--- + arch/ia64/mm/contig.c | 1 + + arch/ia64/mm/discontig.c | 1 + + arch/ia64/mm/init.c | 1 + + include/linux/efi.h | 6 ------ + 11 files changed, 22 insertions(+), 9 deletions(-) + create mode 100644 arch/ia64/include/asm/efi.h + +diff --git a/arch/ia64/include/asm/efi.h b/arch/ia64/include/asm/efi.h +new file mode 100644 +index 000000000000..6a4a50d8f19a +--- /dev/null ++++ b/arch/ia64/include/asm/efi.h +@@ -0,0 +1,13 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef _ASM_EFI_H ++#define _ASM_EFI_H ++ ++typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg); ++ ++void *efi_get_pal_addr(void); ++void efi_map_pal_code(void); ++void efi_memmap_walk(efi_freemem_callback_t, void *); ++void efi_memmap_walk_uc(efi_freemem_callback_t, void *); ++void efi_gettimeofday(struct timespec64 *ts); ++ ++#endif +diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c +index f932b25fb817..dd7fd750bb93 100644 +--- a/arch/ia64/kernel/efi.c ++++ b/arch/ia64/kernel/efi.c +@@ -34,6 +34,7 @@ + #include + #include + ++#include + #include + #include + #include +diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c +index efc9b568401c..af310dc8a356 100644 +--- a/arch/ia64/kernel/machine_kexec.c ++++ b/arch/ia64/kernel/machine_kexec.c +@@ -16,6 +16,7 @@ + #include + #include + ++#include + #include + #include + #include +diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c +index 2703f7795672..0fea266b4d39 100644 +--- a/arch/ia64/kernel/mca.c ++++ b/arch/ia64/kernel/mca.c +@@ -91,6 +91,7 @@ + #include + + #include ++#include + #include + #include + #include +diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c +index 093040f7e626..49b488580939 100644 +--- a/arch/ia64/kernel/smpboot.c ++++ b/arch/ia64/kernel/smpboot.c +@@ -45,6 +45,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c +index ed9fc3d057a6..a37f161a66b1 100644 +--- a/arch/ia64/kernel/time.c ++++ b/arch/ia64/kernel/time.c +@@ -26,6 +26,7 @@ + #include + + #include ++#include + #include + #include + #include +diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c +index 0750f367837d..51883a66aeb5 100644 +--- a/arch/ia64/kernel/uncached.c ++++ b/arch/ia64/kernel/uncached.c +@@ -20,14 +20,12 @@ + #include + #include + #include ++#include + #include + #include + #include + #include + +- +-extern void __init efi_memmap_walk_uc(efi_freemem_callback_t, void *); +- + struct uncached_pool { + struct gen_pool *pool; + struct mutex add_chunk_mutex; /* serialize adding a converted chunk */ +diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c +index bfc4ecd0a2ab..62fe80a16f42 100644 +--- a/arch/ia64/mm/contig.c ++++ b/arch/ia64/mm/contig.c +@@ -21,6 +21,7 @@ + #include + #include + ++#include + #include + #include + #include +diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c +index c7311131156e..03b3a02375ff 100644 +--- a/arch/ia64/mm/discontig.c ++++ b/arch/ia64/mm/discontig.c +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c +index 9b5acf8fb092..24583a39fa1b 100644 +--- a/arch/ia64/mm/init.c ++++ b/arch/ia64/mm/init.c +@@ -27,6 +27,7 @@ + #include + + #include ++#include + #include + #include + #include +diff --git a/include/linux/efi.h b/include/linux/efi.h +index 763b816ba19c..0c31af36697c 100644 +--- a/include/linux/efi.h ++++ b/include/linux/efi.h +@@ -167,8 +167,6 @@ struct capsule_info { + + int __efi_capsule_setup_info(struct capsule_info *cap_info); + +-typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg); +- + /* + * Types and defines for Time Services + */ +@@ -605,10 +603,6 @@ efi_guid_to_str(efi_guid_t *guid, char *out) + } + + extern void efi_init (void); +-extern void *efi_get_pal_addr (void); +-extern void efi_map_pal_code (void); +-extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg); +-extern void efi_gettimeofday (struct timespec64 *ts); + #ifdef CONFIG_EFI + extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */ + #else +-- +2.25.1 +