Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

i386: es7000 build breakage fix

o Commit 1833d6bc72893265f22addd79cf52e6987496e0f broke the build if
compiled with CONFIG_ES7000=y and CONFIG_X86_GENERICARCH=n

arch/i386/kernel/built-in.o(.init.text+0x4fa9): In function `acpi_parse_madt':
: undefined reference to `acpi_madt_oem_check'
arch/i386/kernel/built-in.o(.init.text+0x7406): In function `smp_read_mpc':
: undefined reference to `mps_oem_check'
arch/i386/kernel/built-in.o(.init.text+0x8990): In function
`connect_bsp_APIC':
: undefined reference to `enable_apic_mode'
make: *** [.tmp_vmlinux1] Error 1

o Fix the build issue. Provided the definitions of missing functions.

o Don't have ES7000 machine. Only compile tested.

Cc: Len Brown <lenb@kernel.org>
Cc: Natalie Protasevich <protasnb@gmail.com>
Cc: Roland Dreier <rolandd@cisco.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Vivek Goyal and committed by
Linus Torvalds
071922c0 41a53114

+58
+48
arch/i386/mach-es7000/es7000plat.c
··· 40 40 #include <asm/smp.h> 41 41 #include <asm/apicdef.h> 42 42 #include "es7000.h" 43 + #include <mach_mpparse.h> 43 44 44 45 /* 45 46 * ES7000 Globals ··· 174 173 return -1; 175 174 } 176 175 #endif 176 + 177 + /* 178 + * This file also gets compiled if CONFIG_X86_GENERICARCH is set. Generic 179 + * arch already has got following function definitions (asm-generic/es7000.c) 180 + * hence no need to define these for that case. 181 + */ 182 + #ifndef CONFIG_X86_GENERICARCH 183 + void es7000_sw_apic(void); 184 + void __init enable_apic_mode(void) 185 + { 186 + es7000_sw_apic(); 187 + return; 188 + } 189 + 190 + __init int mps_oem_check(struct mp_config_table *mpc, char *oem, 191 + char *productid) 192 + { 193 + if (mpc->mpc_oemptr) { 194 + struct mp_config_oemtable *oem_table = 195 + (struct mp_config_oemtable *)mpc->mpc_oemptr; 196 + if (!strncmp(oem, "UNISYS", 6)) 197 + return parse_unisys_oem((char *)oem_table); 198 + } 199 + return 0; 200 + } 201 + #ifdef CONFIG_ACPI 202 + /* Hook from generic ACPI tables.c */ 203 + int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id) 204 + { 205 + unsigned long oem_addr; 206 + if (!find_unisys_acpi_oem_table(&oem_addr)) { 207 + if (es7000_check_dsdt()) 208 + return parse_unisys_oem((char *)oem_addr); 209 + else { 210 + setup_unisys(); 211 + return 1; 212 + } 213 + } 214 + return 0; 215 + } 216 + #else 217 + int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id) 218 + { 219 + return 0; 220 + } 221 + #endif 222 + #endif /* COFIG_X86_GENERICARCH */ 177 223 178 224 static void 179 225 es7000_spin(int n)
+4
include/asm-i386/mach-es7000/mach_apic.h
··· 73 73 apic_write_around(APIC_LDR, val); 74 74 } 75 75 76 + #ifndef CONFIG_X86_GENERICARCH 77 + extern void enable_apic_mode(void); 78 + #endif 79 + 76 80 extern int apic_version [MAX_APICS]; 77 81 static inline void setup_apic_routing(void) 78 82 {
+6
include/asm-i386/mach-es7000/mach_mpparse.h
··· 18 18 extern int find_unisys_acpi_oem_table(unsigned long *oem_addr); 19 19 extern void setup_unisys(void); 20 20 21 + #ifndef CONFIG_X86_GENERICARCH 22 + extern int acpi_madt_oem_check(char *oem_id, char *oem_table_id); 23 + extern int mps_oem_check(struct mp_config_table *mpc, char *oem, 24 + char *productid); 25 + #endif 26 + 21 27 #ifdef CONFIG_ACPI 22 28 23 29 static inline int es7000_check_dsdt(void)