[S390] Fix couple of section mismatches.

Fix couple of section mismatches. And since we touch the code
anyway change the IPL code to use C99 initializers.

Cc: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Heiko Carstens 2008-02-05 16:50:40 +01:00 committed by Martin Schwidefsky
parent 37c5f719e7
commit 2bc89b5ece
6 changed files with 27 additions and 24 deletions

View File

@ -11,6 +11,7 @@
#include <linux/sys.h> #include <linux/sys.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/init.h>
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/lowcore.h> #include <asm/lowcore.h>
#include <asm/errno.h> #include <asm/errno.h>
@ -830,9 +831,7 @@ mcck_return:
* Restart interruption handler, kick starter for additional CPUs * Restart interruption handler, kick starter for additional CPUs
*/ */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
#ifndef CONFIG_HOTPLUG_CPU __CPUINIT
.section .init.text,"ax"
#endif
.globl restart_int_handler .globl restart_int_handler
restart_int_handler: restart_int_handler:
l %r15,__LC_SAVE_AREA+60 # load ksp l %r15,__LC_SAVE_AREA+60 # load ksp
@ -845,9 +844,7 @@ restart_int_handler:
br %r14 # branch to start_secondary br %r14 # branch to start_secondary
restart_addr: restart_addr:
.long start_secondary .long start_secondary
#ifndef CONFIG_HOTPLUG_CPU
.previous .previous
#endif
#else #else
/* /*
* If we do not run with SMP enabled, let the new CPU crash ... * If we do not run with SMP enabled, let the new CPU crash ...

View File

@ -11,6 +11,7 @@
#include <linux/sys.h> #include <linux/sys.h>
#include <linux/linkage.h> #include <linux/linkage.h>
#include <linux/init.h>
#include <asm/cache.h> #include <asm/cache.h>
#include <asm/lowcore.h> #include <asm/lowcore.h>
#include <asm/errno.h> #include <asm/errno.h>
@ -801,9 +802,7 @@ mcck_return:
* Restart interruption handler, kick starter for additional CPUs * Restart interruption handler, kick starter for additional CPUs
*/ */
#ifdef CONFIG_SMP #ifdef CONFIG_SMP
#ifndef CONFIG_HOTPLUG_CPU __CPUINIT
.section .init.text,"ax"
#endif
.globl restart_int_handler .globl restart_int_handler
restart_int_handler: restart_int_handler:
lg %r15,__LC_SAVE_AREA+120 # load ksp lg %r15,__LC_SAVE_AREA+120 # load ksp
@ -814,9 +813,7 @@ restart_int_handler:
lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone
stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on
jg start_secondary jg start_secondary
#ifndef CONFIG_HOTPLUG_CPU
.previous .previous
#endif
#else #else
/* /*
* If we do not run with SMP enabled, let the new CPU crash ... * If we do not run with SMP enabled, let the new CPU crash ...

View File

@ -439,7 +439,7 @@ static void ipl_run(struct shutdown_trigger *trigger)
reipl_ccw_dev(&ipl_info.data.ccw.dev_id); reipl_ccw_dev(&ipl_info.data.ccw.dev_id);
} }
static int ipl_init(void) static int __init ipl_init(void)
{ {
int rc; int rc;
@ -471,8 +471,11 @@ out:
return 0; return 0;
} }
static struct shutdown_action ipl_action = {SHUTDOWN_ACTION_IPL_STR, ipl_run, static struct shutdown_action __refdata ipl_action = {
ipl_init}; .name = SHUTDOWN_ACTION_IPL_STR,
.fn = ipl_run,
.init = ipl_init,
};
/* /*
* reipl shutdown action: Reboot Linux on shutdown. * reipl shutdown action: Reboot Linux on shutdown.
@ -792,7 +795,7 @@ static int __init reipl_fcp_init(void)
return 0; return 0;
} }
static int reipl_init(void) static int __init reipl_init(void)
{ {
int rc; int rc;
@ -819,8 +822,11 @@ static int reipl_init(void)
return 0; return 0;
} }
static struct shutdown_action reipl_action = {SHUTDOWN_ACTION_REIPL_STR, static struct shutdown_action __refdata reipl_action = {
reipl_run, reipl_init}; .name = SHUTDOWN_ACTION_REIPL_STR,
.fn = reipl_run,
.init = reipl_init,
};
/* /*
* dump shutdown action: Dump Linux on shutdown. * dump shutdown action: Dump Linux on shutdown.
@ -998,7 +1004,7 @@ static int __init dump_fcp_init(void)
return 0; return 0;
} }
static int dump_init(void) static int __init dump_init(void)
{ {
int rc; int rc;
@ -1020,8 +1026,11 @@ static int dump_init(void)
return 0; return 0;
} }
static struct shutdown_action dump_action = {SHUTDOWN_ACTION_DUMP_STR, static struct shutdown_action __refdata dump_action = {
dump_run, dump_init}; .name = SHUTDOWN_ACTION_DUMP_STR,
.fn = dump_run,
.init = dump_init,
};
/* /*
* vmcmd shutdown action: Trigger vm command on shutdown. * vmcmd shutdown action: Trigger vm command on shutdown.

View File

@ -77,7 +77,7 @@ unsigned long machine_flags = 0;
unsigned long elf_hwcap = 0; unsigned long elf_hwcap = 0;
char elf_platform[ELF_PLATFORM_SIZE]; char elf_platform[ELF_PLATFORM_SIZE];
struct mem_chunk __initdata memory_chunk[MEMORY_CHUNKS]; struct mem_chunk __meminitdata memory_chunk[MEMORY_CHUNKS];
volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */ volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */
static unsigned long __initdata memory_end; static unsigned long __initdata memory_end;

View File

@ -1007,7 +1007,7 @@ static struct notifier_block __cpuinitdata smp_cpu_nb = {
.notifier_call = smp_cpu_notify, .notifier_call = smp_cpu_notify,
}; };
static int smp_add_present_cpu(int cpu) static int __devinit smp_add_present_cpu(int cpu)
{ {
struct cpu *c = &per_cpu(cpu_devices, cpu); struct cpu *c = &per_cpu(cpu_devices, cpu);
struct sys_device *s = &c->sysdev; struct sys_device *s = &c->sysdev;
@ -1035,8 +1035,8 @@ out:
} }
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
static ssize_t rescan_store(struct sys_device *dev, const char *buf, static ssize_t __ref rescan_store(struct sys_device *dev,
size_t count) const char *buf, size_t count)
{ {
cpumask_t newcpus; cpumask_t newcpus;
int cpu; int cpu;

View File

@ -62,7 +62,7 @@ void __meminit memmap_init(unsigned long size, int nid, unsigned long zone,
} }
} }
static void __init_refok *vmem_alloc_pages(unsigned int order) static void __ref *vmem_alloc_pages(unsigned int order)
{ {
if (slab_is_available()) if (slab_is_available())
return (void *)__get_free_pages(GFP_KERNEL, order); return (void *)__get_free_pages(GFP_KERNEL, order);