Re: 2.6.12-rc5-mm1

From: Matthew Dobson
Date: Wed May 25 2005 - 20:19:21 EST


I get the following when trying to build rc5-mm1:

arch/i386/kernel/setup.c:99: error: parse error before "acpi_sci_flags"
arch/i386/kernel/setup.c:99: warning: type defaults to `int' in declaration
of `acpi_sci_flags'
arch/i386/kernel/setup.c:99: warning: data definition has no type or
storage class
arch/i386/kernel/setup.c: In function `parse_cmdline_early':
arch/i386/kernel/setup.c:836: error: request for member `trigger' in
something not a structure or union
arch/i386/kernel/setup.c:839: error: request for member `trigger' in
something not a structure or union
arch/i386/kernel/setup.c:842: error: request for member `polarity' in
something not a structure or union
arch/i386/kernel/setup.c:845: error: request for member `polarity' in
something not a structure or union
make[1]: *** [arch/i386/kernel/setup.o] Error 1
make[1]: *** Waiting for unfinished jobs....

Looks like when #ifdef CONFIG_ACPI was added to include/linux/acpi.h it
broke things b/c acpi_sci_flags is needed for CONFIG_ACPI_BOOT, which
depends on X86_HT || ACPI. Thus, you can have ACPI=n, and X86_HT=y &
ACPI_BOOT=y and it won't build. This patch at least gets it to build for me...

-Matt
diff -Nurp --exclude-from=/home/mcd/.dontdiff linux-2.6.12-rc5-mm1/include/linux/acpi.h linux-2.6.12-rc5-mm1+fix_acpi_error/include/linux/acpi.h
--- linux-2.6.12-rc5-mm1/include/linux/acpi.h 2005-05-25 15:25:56.000000000 -0700
+++ linux-2.6.12-rc5-mm1+fix_acpi_error/include/linux/acpi.h 2005-05-25 17:59:30.439404520 -0700
@@ -25,7 +25,7 @@
#ifndef _LINUX_ACPI_H
#define _LINUX_ACPI_H

-#ifdef CONFIG_ACPI
+#if defined(CONFIG_ACPI) || defined(CONFIG_ACPI_BOOT)

#ifndef _LINUX
#define _LINUX
@@ -543,6 +543,6 @@ static inline int acpi_boot_table_init(v
return 0;
}

-#endif /* CONFIG_ACPI */
+#endif /* CONFIG_ACPI || CONFIG_ACPI_BOOT */

#endif /* _LINUX_ACPI_H */