Re: 2.6.16.6 ( - 2.6.16.11 ) compile failure on an alpha

Brian Uhrain
2006-04-25T10:28:49Z

[-- Attachment #1: Type: text/plain, Size: 609 bytes --]

Hi,

Tomi Lapinlampi wrote:
> When trying to compile 2.6.16.11 on an alpha I encountered a compile
> error in arch/alpha/kernel/setup.c. I found that the problem appears with
> all kernels from 2.6.16.6 up to 2.6.16.11.
> 2.6.16.5 compiles fine, just like all older 2.6.16 -releases.
> I did not test this with 2.6.17-rc -kernels.

The problem is that the version of the patch meant for the 2.6.17-rc
kernels was merged into 2.6.16.5. 'for_each_possible_cpu' does not
exist in the 2.6.16.x tree. Attached is a patch that replaces the usage
of for_each_possible_cpu with the 2.6.16 equivalent.

- Brian

[-- Attachment #2: 2.6.16.11-alpha-compile-fix.patch --]
[-- Type: text/plain, Size: 723 bytes --]

Signed-off-by: Brian Uhrain <buhrain@rosettastone.com>

---
arch/alpha/kernel/setup.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)

--- linux-2.6.16.11.orig/arch/alpha/kernel/setup.c 2006-04-25 11:21:03.000000000 +0100
+++ linux-2.6.16.11/arch/alpha/kernel/setup.c 2006-04-25 11:22:56.557266608 +0100
@@ -483,11 +483,13 @@ register_cpus(void)
{
int i;

- for_each_possible_cpu(i) {
- struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
- if (!p)
- return -ENOMEM;
- register_cpu(p, i, NULL);
+ for (i = 0; i < NR_CPUS; i++) {
+ if (cpu_possible(i)) {
+ struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
+ if (!p)
+ return -ENOMEM;
+ register_cpu(p, i, NULL);
+ }
}
return 0;
}