|
| 1 | +From 8ff059b8531f3b98e14f0461859fc7cdd95823e4 Mon Sep 17 00:00:00 2001 |
| 2 | +From: Ard Biesheuvel <ardb@kernel.org> |
| 3 | +Date: Mon, 18 Jan 2021 13:38:42 +0100 |
| 4 | +Subject: [PATCH] efi: ia64: move IA64-only declarations to new asm/efi.h |
| 5 | + header |
| 6 | + |
| 7 | +Move some EFI related declarations that are only referenced on IA64 to |
| 8 | +a new asm/efi.h arch header. |
| 9 | + |
| 10 | +Cc: Tony Luck <tony.luck@intel.com> |
| 11 | +Cc: Fenghua Yu <fenghua.yu@intel.com> |
| 12 | +Signed-off-by: Ard Biesheuvel <ardb@kernel.org> |
| 13 | +--- |
| 14 | + arch/ia64/include/asm/efi.h | 13 +++++++++++++ |
| 15 | + arch/ia64/kernel/efi.c | 1 + |
| 16 | + arch/ia64/kernel/machine_kexec.c | 1 + |
| 17 | + arch/ia64/kernel/mca.c | 1 + |
| 18 | + arch/ia64/kernel/smpboot.c | 1 + |
| 19 | + arch/ia64/kernel/time.c | 1 + |
| 20 | + arch/ia64/kernel/uncached.c | 4 +--- |
| 21 | + arch/ia64/mm/contig.c | 1 + |
| 22 | + arch/ia64/mm/discontig.c | 1 + |
| 23 | + arch/ia64/mm/init.c | 1 + |
| 24 | + include/linux/efi.h | 6 ------ |
| 25 | + 11 files changed, 22 insertions(+), 9 deletions(-) |
| 26 | + create mode 100644 arch/ia64/include/asm/efi.h |
| 27 | + |
| 28 | +diff --git a/arch/ia64/include/asm/efi.h b/arch/ia64/include/asm/efi.h |
| 29 | +new file mode 100644 |
| 30 | +index 000000000000..6a4a50d8f19a |
| 31 | +--- /dev/null |
| 32 | ++++ b/arch/ia64/include/asm/efi.h |
| 33 | +@@ -0,0 +1,13 @@ |
| 34 | ++/* SPDX-License-Identifier: GPL-2.0 */ |
| 35 | ++#ifndef _ASM_EFI_H |
| 36 | ++#define _ASM_EFI_H |
| 37 | ++ |
| 38 | ++typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg); |
| 39 | ++ |
| 40 | ++void *efi_get_pal_addr(void); |
| 41 | ++void efi_map_pal_code(void); |
| 42 | ++void efi_memmap_walk(efi_freemem_callback_t, void *); |
| 43 | ++void efi_memmap_walk_uc(efi_freemem_callback_t, void *); |
| 44 | ++void efi_gettimeofday(struct timespec64 *ts); |
| 45 | ++ |
| 46 | ++#endif |
| 47 | +diff --git a/arch/ia64/kernel/efi.c b/arch/ia64/kernel/efi.c |
| 48 | +index f932b25fb817..dd7fd750bb93 100644 |
| 49 | +--- a/arch/ia64/kernel/efi.c |
| 50 | ++++ b/arch/ia64/kernel/efi.c |
| 51 | +@@ -34,6 +34,7 @@ |
| 52 | + #include <linux/kexec.h> |
| 53 | + #include <linux/mm.h> |
| 54 | + |
| 55 | ++#include <asm/efi.h> |
| 56 | + #include <asm/io.h> |
| 57 | + #include <asm/kregs.h> |
| 58 | + #include <asm/meminit.h> |
| 59 | +diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c |
| 60 | +index efc9b568401c..af310dc8a356 100644 |
| 61 | +--- a/arch/ia64/kernel/machine_kexec.c |
| 62 | ++++ b/arch/ia64/kernel/machine_kexec.c |
| 63 | +@@ -16,6 +16,7 @@ |
| 64 | + #include <linux/numa.h> |
| 65 | + #include <linux/mmzone.h> |
| 66 | + |
| 67 | ++#include <asm/efi.h> |
| 68 | + #include <asm/numa.h> |
| 69 | + #include <asm/mmu_context.h> |
| 70 | + #include <asm/setup.h> |
| 71 | +diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c |
| 72 | +index 2703f7795672..0fea266b4d39 100644 |
| 73 | +--- a/arch/ia64/kernel/mca.c |
| 74 | ++++ b/arch/ia64/kernel/mca.c |
| 75 | +@@ -91,6 +91,7 @@ |
| 76 | + #include <linux/gfp.h> |
| 77 | + |
| 78 | + #include <asm/delay.h> |
| 79 | ++#include <asm/efi.h> |
| 80 | + #include <asm/meminit.h> |
| 81 | + #include <asm/page.h> |
| 82 | + #include <asm/ptrace.h> |
| 83 | +diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c |
| 84 | +index 093040f7e626..49b488580939 100644 |
| 85 | +--- a/arch/ia64/kernel/smpboot.c |
| 86 | ++++ b/arch/ia64/kernel/smpboot.c |
| 87 | +@@ -45,6 +45,7 @@ |
| 88 | + #include <asm/cache.h> |
| 89 | + #include <asm/current.h> |
| 90 | + #include <asm/delay.h> |
| 91 | ++#include <asm/efi.h> |
| 92 | + #include <asm/io.h> |
| 93 | + #include <asm/irq.h> |
| 94 | + #include <asm/mca.h> |
| 95 | +diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c |
| 96 | +index ed9fc3d057a6..a37f161a66b1 100644 |
| 97 | +--- a/arch/ia64/kernel/time.c |
| 98 | ++++ b/arch/ia64/kernel/time.c |
| 99 | +@@ -26,6 +26,7 @@ |
| 100 | + #include <linux/sched/cputime.h> |
| 101 | + |
| 102 | + #include <asm/delay.h> |
| 103 | ++#include <asm/efi.h> |
| 104 | + #include <asm/hw_irq.h> |
| 105 | + #include <asm/ptrace.h> |
| 106 | + #include <asm/sal.h> |
| 107 | +diff --git a/arch/ia64/kernel/uncached.c b/arch/ia64/kernel/uncached.c |
| 108 | +index 0750f367837d..51883a66aeb5 100644 |
| 109 | +--- a/arch/ia64/kernel/uncached.c |
| 110 | ++++ b/arch/ia64/kernel/uncached.c |
| 111 | +@@ -20,14 +20,12 @@ |
| 112 | + #include <linux/genalloc.h> |
| 113 | + #include <linux/gfp.h> |
| 114 | + #include <linux/pgtable.h> |
| 115 | ++#include <asm/efi.h> |
| 116 | + #include <asm/page.h> |
| 117 | + #include <asm/pal.h> |
| 118 | + #include <linux/atomic.h> |
| 119 | + #include <asm/tlbflush.h> |
| 120 | + |
| 121 | +- |
| 122 | +-extern void __init efi_memmap_walk_uc(efi_freemem_callback_t, void *); |
| 123 | +- |
| 124 | + struct uncached_pool { |
| 125 | + struct gen_pool *pool; |
| 126 | + struct mutex add_chunk_mutex; /* serialize adding a converted chunk */ |
| 127 | +diff --git a/arch/ia64/mm/contig.c b/arch/ia64/mm/contig.c |
| 128 | +index bfc4ecd0a2ab..62fe80a16f42 100644 |
| 129 | +--- a/arch/ia64/mm/contig.c |
| 130 | ++++ b/arch/ia64/mm/contig.c |
| 131 | +@@ -21,6 +21,7 @@ |
| 132 | + #include <linux/swap.h> |
| 133 | + #include <linux/sizes.h> |
| 134 | + |
| 135 | ++#include <asm/efi.h> |
| 136 | + #include <asm/meminit.h> |
| 137 | + #include <asm/sections.h> |
| 138 | + #include <asm/mca.h> |
| 139 | +diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c |
| 140 | +index c7311131156e..03b3a02375ff 100644 |
| 141 | +--- a/arch/ia64/mm/discontig.c |
| 142 | ++++ b/arch/ia64/mm/discontig.c |
| 143 | +@@ -24,6 +24,7 @@ |
| 144 | + #include <linux/efi.h> |
| 145 | + #include <linux/nodemask.h> |
| 146 | + #include <linux/slab.h> |
| 147 | ++#include <asm/efi.h> |
| 148 | + #include <asm/tlb.h> |
| 149 | + #include <asm/meminit.h> |
| 150 | + #include <asm/numa.h> |
| 151 | +diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c |
| 152 | +index 9b5acf8fb092..24583a39fa1b 100644 |
| 153 | +--- a/arch/ia64/mm/init.c |
| 154 | ++++ b/arch/ia64/mm/init.c |
| 155 | +@@ -27,6 +27,7 @@ |
| 156 | + #include <linux/swiotlb.h> |
| 157 | + |
| 158 | + #include <asm/dma.h> |
| 159 | ++#include <asm/efi.h> |
| 160 | + #include <asm/io.h> |
| 161 | + #include <asm/numa.h> |
| 162 | + #include <asm/patch.h> |
| 163 | +diff --git a/include/linux/efi.h b/include/linux/efi.h |
| 164 | +index 763b816ba19c..0c31af36697c 100644 |
| 165 | +--- a/include/linux/efi.h |
| 166 | ++++ b/include/linux/efi.h |
| 167 | +@@ -167,8 +167,6 @@ struct capsule_info { |
| 168 | + |
| 169 | + int __efi_capsule_setup_info(struct capsule_info *cap_info); |
| 170 | + |
| 171 | +-typedef int (*efi_freemem_callback_t) (u64 start, u64 end, void *arg); |
| 172 | +- |
| 173 | + /* |
| 174 | + * Types and defines for Time Services |
| 175 | + */ |
| 176 | +@@ -605,10 +603,6 @@ efi_guid_to_str(efi_guid_t *guid, char *out) |
| 177 | + } |
| 178 | + |
| 179 | + extern void efi_init (void); |
| 180 | +-extern void *efi_get_pal_addr (void); |
| 181 | +-extern void efi_map_pal_code (void); |
| 182 | +-extern void efi_memmap_walk (efi_freemem_callback_t callback, void *arg); |
| 183 | +-extern void efi_gettimeofday (struct timespec64 *ts); |
| 184 | + #ifdef CONFIG_EFI |
| 185 | + extern void efi_enter_virtual_mode (void); /* switch EFI to virtual mode, if possible */ |
| 186 | + #else |
| 187 | +-- |
| 188 | +2.25.1 |
| 189 | + |
0 commit comments