2005-05-28 12:06:46

by Pete Clements

[permalink] [raw]
Subject: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init

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


2005-05-28 13:37:31

by Alexander Nyberg

[permalink] [raw]
Subject: Re: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init

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)


2005-05-29 18:56:55

by Linus Torvalds

[permalink] [raw]
Subject: Re: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init



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

2005-05-29 19:18:02

by Alexander Nyberg

[permalink] [raw]
Subject: Re: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init

> > 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...

2005-05-31 14:09:53

by Steven Cole

[permalink] [raw]
Subject: Re: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init

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*/

2005-05-31 20:01:33

by Christian Kujau

[permalink] [raw]
Subject: Re: 2.6.12-rc5-git3 fails compile -- acpi_boot_table_init

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.