[PATCH] s390: setup.c cleanup + build fix
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Sun, 25 Jun 2006 12:49:30 +0000 (05:49 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 25 Jun 2006 17:01:25 +0000 (10:01 -0700)
Cleanup & fix 31 bit compilation:

  CC      arch/s390/kernel/setup.o
arch/s390/kernel/setup.c:83: error: initializer element is not computable at
                                    load time
arch/s390/kernel/setup.c:83: error: (near initialization for
                                    'code_resource.start')
Not sure which patch in the -mm tree breaks this, but since this can be
considered a cleanup it can be merged anyway.

Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/s390/kernel/setup.c

index 0a04e4a564b2a57ed7e30ac85e856215016ab019..b282034452a4707357dadd5b75d9be0f3bd83206 100644 (file)
@@ -47,6 +47,7 @@
 #include <asm/irq.h>
 #include <asm/page.h>
 #include <asm/ptrace.h>
+#include <asm/sections.h>
 
 /*
  * Machine setup..
@@ -65,11 +66,6 @@ volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */
 unsigned long __initdata zholes_size[MAX_NR_ZONES];
 static unsigned long __initdata memory_end;
 
-/*
- * Setup options
- */
-extern int _text,_etext, _edata, _end;
-
 /*
  * This is set up by the setup-routine at boot-time
  * for S390 need to find out, what we have to setup
@@ -80,15 +76,11 @@ extern int _text,_etext, _edata, _end;
 
 static struct resource code_resource = {
        .name  = "Kernel code",
-       .start = (unsigned long) &_text,
-       .end = (unsigned long) &_etext - 1,
        .flags = IORESOURCE_BUSY | IORESOURCE_MEM,
 };
 
 static struct resource data_resource = {
        .name = "Kernel data",
-       .start = (unsigned long) &_etext,
-       .end = (unsigned long) &_edata - 1,
        .flags = IORESOURCE_BUSY | IORESOURCE_MEM,
 };
 
@@ -422,6 +414,11 @@ setup_resources(void)
        struct resource *res;
        int i;
 
+       code_resource.start = (unsigned long) &_text;
+       code_resource.end = (unsigned long) &_etext - 1;
+       data_resource.start = (unsigned long) &_etext;
+       data_resource.end = (unsigned long) &_edata - 1;
+
        for (i = 0; i < MEMORY_CHUNKS && memory_chunk[i].size > 0; i++) {
                res = alloc_bootmem_low(sizeof(struct resource));
                res->flags = IORESOURCE_BUSY | IORESOURCE_MEM;