Fyi:
LD .tmp_vmlinux1
arch/i386/kernel/built-in.o: In function `setup_arch':
arch/i386/kernel/built-in.o(.init.text+0x14ec): undefined reference to `acpi_boot_table_init'
arch/i386/kernel/built-in.o(.init.text+0x14f1): undefined reference to `acpi_boot_init'
make: *** [.tmp_vmlinux1] Error 1
--
Pete Clements
l?r 2005-05-28 klockan 08:06 -0400 skrev Pete Clements:
> Fyi:
>
>
> LD .tmp_vmlinux1
> arch/i386/kernel/built-in.o: In function `setup_arch':
> arch/i386/kernel/built-in.o(.init.text+0x14ec): undefined reference to `acpi_boot_table_init'
> arch/i386/kernel/built-in.o(.init.text+0x14f1): undefined reference to `acpi_boot_init'
> make: *** [.tmp_vmlinux1] Error 1
>
This is a neverending story
linux/acpi.h contains empty declarations for acpi_boot_init() &
acpi_boot_table_init() but they are nested inside #ifdef CONFIG_ACPI.
So we'll have to #ifdef in arch/i386/kernel/setup.c: setup_arch()
Signed-off-by: Alexander Nyberg <[email protected]>
Index: meep/arch/i386/kernel/setup.c
===================================================================
--- meep.orig/arch/i386/kernel/setup.c 2005-05-28 14:39:06.000000000 +0200
+++ meep/arch/i386/kernel/setup.c 2005-05-28 14:59:34.000000000 +0200
@@ -1502,11 +1502,13 @@
if (efi_enabled)
efi_map_memmap();
+#ifdef CONFIG_ACPI_BOOT
/*
* Parse the ACPI tables for possible boot-time SMP configuration.
*/
acpi_boot_table_init();
acpi_boot_init();
+#endif
#ifdef CONFIG_X86_LOCAL_APIC
if (smp_found_config)
On Sat, 28 May 2005, Alexander Nyberg wrote:
>
> This is a neverending story
>
> linux/acpi.h contains empty declarations for acpi_boot_init() &
> acpi_boot_table_init() but they are nested inside #ifdef CONFIG_ACPI.
>
> So we'll have to #ifdef in arch/i386/kernel/setup.c: setup_arch()
Wouldn't it be much nicer to just fix <linux/acpi.h> instead? Or, if you
really prefer this, then you should remove the now useless code from
acpi.h. In either case, this patch looks wrong.
Linus
> > This is a neverending story
> >
> > linux/acpi.h contains empty declarations for acpi_boot_init() &
> > acpi_boot_table_init() but they are nested inside #ifdef CONFIG_ACPI.
> >
> > So we'll have to #ifdef in arch/i386/kernel/setup.c: setup_arch()
>
> Wouldn't it be much nicer to just fix <linux/acpi.h> instead? Or, if you
> really prefer this, then you should remove the now useless code from
> acpi.h. In either case, this patch looks wrong.
>
There's no question that the patch isn't the correct solution to the
problem, it's a band-aid for a -rc5 kernel. The current acpi include
system doesn't work very well.
Fixing it up for real with the risk of making some arch/config not
compile for a long awaited 2.6.12 and having someone chase me with a
spade isn't something i'm longing to try out. But if you insist...
Linus Torvalds wrote:
>
> On Sat, 28 May 2005, Alexander Nyberg wrote:
>
>>This is a neverending story
>>
>>linux/acpi.h contains empty declarations for acpi_boot_init() &
>>acpi_boot_table_init() but they are nested inside #ifdef CONFIG_ACPI.
>>
>>So we'll have to #ifdef in arch/i386/kernel/setup.c: setup_arch()
>
>
> Wouldn't it be much nicer to just fix <linux/acpi.h> instead? Or, if you
> really prefer this, then you should remove the now useless code from
> acpi.h. In either case, this patch looks wrong.
>
> Linus
Andrew provided a patch to fix this in include/linux/acpi.h back in
early April: http://marc.theaimsgroup.com/?l=linux-kernel&m=111275175906204&w=2
I had to fix up one reject, but it still fixes the no ACPI build for me, with
the current HEAD=5e485b7975472ba4a408523deb6541e70c451842.
Here's the patch. Since akpm is the real author, he should sign off too.
Signed-off-by: Steven Cole <[email protected]>
Steven
include/linux/acpi.h: needs update
Index: include/linux/acpi.h
===================================================================
--- 3ac19ebb77c3cd8a1df31b7170c6eaf9e1afb1a4/include/linux/acpi.h (mode:100644)
+++ uncommitted/include/linux/acpi.h (mode:100644)
@@ -415,16 +415,6 @@
#define acpi_mp_config 0
-static inline int acpi_boot_init(void)
-{
- return 0;
-}
-
-static inline int acpi_boot_table_init(void)
-{
- return 0;
-}
-
#endif /*!CONFIG_ACPI_BOOT*/
unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low);
@@ -535,5 +525,17 @@
extern int pnpacpi_disabled;
+ #else /* CONFIG_ACPI */
+
+ static inline int acpi_boot_init(void)
+ {
+ return 0;
+ }
+
+ static inline int acpi_boot_table_init(void)
+ {
+ return 0;
+ }
+
#endif /* CONFIG_ACPI */
#endif /*_LINUX_ACPI_H*/
Steven Cole wrote:
> I had to fix up one reject, but it still fixes the no ACPI build for me,
> with the current HEAD=5e485b7975472ba4a408523deb6541e70c451842.
hm, i still had 2 rejects with your patch, -git tree updated today.
another "version" of patch attached, and yes: it does fix the no-ACPI build.
thanks,
Christian.
Signed-off-by: Christian Kujau <[email protected]>
--- linux-2.6-git/include/linux/acpi.h.orig 2005-05-31
21:49:00.411776244 +0200
+++ linux-2.6-git/include/linux/acpi.h 2005-05-31 21:51:30.855399473 +0200
@@ -415,16 +415,6 @@
#define acpi_mp_config 0
-static inline int acpi_boot_init(void)
-{
- return 0;
-}
-
-static inline int acpi_boot_table_init(void)
-{
- return 0;
-}
-
#endif /*!CONFIG_ACPI_BOOT*/
unsigned int acpi_register_gsi (u32 gsi, int edge_level, int
active_high_low);
@@ -535,5 +525,17 @@
extern int pnpacpi_disabled;
+#else /* CONFIG_ACPI */
+
+static inline int acpi_boot_init(void)
+{
+ return 0;
+}
+
+static inline int acpi_boot_table_init(void)
+{
+ return 0;
+}
+
#endif /* CONFIG_ACPI */
#endif /*_LINUX_ACPI_H*/
--
BOFH excuse #291:
Due to the CDA, we no longer have a root account.