Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=071922c08cef62e194d83db1cc4fa75892c69651
Commit:     071922c08cef62e194d83db1cc4fa75892c69651
Parent:     41a5311465b9de6d18e78b733a2c6e1b33e89be8
Author:     Vivek Goyal <[EMAIL PROTECTED]>
AuthorDate: Fri Jul 6 02:39:55 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Jul 6 10:23:43 2007 -0700

    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 <[EMAIL PROTECTED]>
    Cc: Natalie Protasevich <[EMAIL PROTECTED]>
    Cc: Roland Dreier <[EMAIL PROTECTED]>
    Cc: Andi Kleen <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 arch/i386/mach-es7000/es7000plat.c          |   48 +++++++++++++++++++++++++++
 include/asm-i386/mach-es7000/mach_apic.h    |    4 ++
 include/asm-i386/mach-es7000/mach_mpparse.h |    6 +++
 3 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/arch/i386/mach-es7000/es7000plat.c 
b/arch/i386/mach-es7000/es7000plat.c
index 9be6cea..ab99072 100644
--- a/arch/i386/mach-es7000/es7000plat.c
+++ b/arch/i386/mach-es7000/es7000plat.c
@@ -40,6 +40,7 @@
 #include <asm/smp.h>
 #include <asm/apicdef.h>
 #include "es7000.h"
+#include <mach_mpparse.h>
 
 /*
  * ES7000 Globals
@@ -174,6 +175,53 @@ find_unisys_acpi_oem_table(unsigned long *oem_addr)
 }
 #endif
 
+/*
+ * This file also gets compiled if CONFIG_X86_GENERICARCH is set. Generic
+ * arch already has got following function definitions (asm-generic/es7000.c)
+ * hence no need to define these for that case.
+ */
+#ifndef CONFIG_X86_GENERICARCH
+void es7000_sw_apic(void);
+void __init enable_apic_mode(void)
+{
+       es7000_sw_apic();
+       return;
+}
+
+__init int mps_oem_check(struct mp_config_table *mpc, char *oem,
+               char *productid)
+{
+       if (mpc->mpc_oemptr) {
+               struct mp_config_oemtable *oem_table =
+                       (struct mp_config_oemtable *)mpc->mpc_oemptr;
+               if (!strncmp(oem, "UNISYS", 6))
+                       return parse_unisys_oem((char *)oem_table);
+       }
+       return 0;
+}
+#ifdef CONFIG_ACPI
+/* Hook from generic ACPI tables.c */
+int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+{
+       unsigned long oem_addr;
+       if (!find_unisys_acpi_oem_table(&oem_addr)) {
+               if (es7000_check_dsdt())
+                       return parse_unisys_oem((char *)oem_addr);
+               else {
+                       setup_unisys();
+                       return 1;
+               }
+       }
+       return 0;
+}
+#else
+int __init acpi_madt_oem_check(char *oem_id, char *oem_table_id)
+{
+       return 0;
+}
+#endif
+#endif /* COFIG_X86_GENERICARCH */
+
 static void
 es7000_spin(int n)
 {
diff --git a/include/asm-i386/mach-es7000/mach_apic.h 
b/include/asm-i386/mach-es7000/mach_apic.h
index 2d97892..caec64b 100644
--- a/include/asm-i386/mach-es7000/mach_apic.h
+++ b/include/asm-i386/mach-es7000/mach_apic.h
@@ -73,6 +73,10 @@ static inline void init_apic_ldr(void)
        apic_write_around(APIC_LDR, val);
 }
 
+#ifndef CONFIG_X86_GENERICARCH
+extern void enable_apic_mode(void);
+#endif
+
 extern int apic_version [MAX_APICS];
 static inline void setup_apic_routing(void)
 {
diff --git a/include/asm-i386/mach-es7000/mach_mpparse.h 
b/include/asm-i386/mach-es7000/mach_mpparse.h
index b9fb784..8aa1054 100644
--- a/include/asm-i386/mach-es7000/mach_mpparse.h
+++ b/include/asm-i386/mach-es7000/mach_mpparse.h
@@ -18,6 +18,12 @@ extern int parse_unisys_oem (char *oemptr);
 extern int find_unisys_acpi_oem_table(unsigned long *oem_addr);
 extern void setup_unisys(void);
 
+#ifndef CONFIG_X86_GENERICARCH
+extern int acpi_madt_oem_check(char *oem_id, char *oem_table_id);
+extern int mps_oem_check(struct mp_config_table *mpc, char *oem,
+                               char *productid);
+#endif
+
 #ifdef CONFIG_ACPI
 
 static inline int es7000_check_dsdt(void)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to