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

From: Brian Uhrain
Date: Tue Apr 25 2006 - 06:28:37 EST


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 Signed-off-by: Brian Uhrain <buhrain@xxxxxxxxxxxxxxxx>

---
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;
}