diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/entry.S | 7 | ||||
-rw-r--r-- | arch/s390/kernel/entry64.S | 7 | ||||
-rw-r--r-- | arch/s390/kernel/ipl.c | 27 | ||||
-rw-r--r-- | arch/s390/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/smp.c | 6 | ||||
-rw-r--r-- | arch/s390/mm/vmem.c | 2 |
6 files changed, 27 insertions, 24 deletions
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 1a6dac8df6fb..6766e37fe8ea 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <linux/sys.h> | 12 | #include <linux/sys.h> |
13 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
14 | #include <linux/init.h> | ||
14 | #include <asm/cache.h> | 15 | #include <asm/cache.h> |
15 | #include <asm/lowcore.h> | 16 | #include <asm/lowcore.h> |
16 | #include <asm/errno.h> | 17 | #include <asm/errno.h> |
@@ -830,9 +831,7 @@ mcck_return: | |||
830 | * Restart interruption handler, kick starter for additional CPUs | 831 | * Restart interruption handler, kick starter for additional CPUs |
831 | */ | 832 | */ |
832 | #ifdef CONFIG_SMP | 833 | #ifdef CONFIG_SMP |
833 | #ifndef CONFIG_HOTPLUG_CPU | 834 | __CPUINIT |
834 | .section .init.text,"ax" | ||
835 | #endif | ||
836 | .globl restart_int_handler | 835 | .globl restart_int_handler |
837 | restart_int_handler: | 836 | restart_int_handler: |
838 | l %r15,__LC_SAVE_AREA+60 # load ksp | 837 | l %r15,__LC_SAVE_AREA+60 # load ksp |
@@ -845,9 +844,7 @@ restart_int_handler: | |||
845 | br %r14 # branch to start_secondary | 844 | br %r14 # branch to start_secondary |
846 | restart_addr: | 845 | restart_addr: |
847 | .long start_secondary | 846 | .long start_secondary |
848 | #ifndef CONFIG_HOTPLUG_CPU | ||
849 | .previous | 847 | .previous |
850 | #endif | ||
851 | #else | 848 | #else |
852 | /* | 849 | /* |
853 | * If we do not run with SMP enabled, let the new CPU crash ... | 850 | * If we do not run with SMP enabled, let the new CPU crash ... |
diff --git a/arch/s390/kernel/entry64.S b/arch/s390/kernel/entry64.S index a3e47b893f07..efde6e178f6c 100644 --- a/arch/s390/kernel/entry64.S +++ b/arch/s390/kernel/entry64.S | |||
@@ -11,6 +11,7 @@ | |||
11 | 11 | ||
12 | #include <linux/sys.h> | 12 | #include <linux/sys.h> |
13 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
14 | #include <linux/init.h> | ||
14 | #include <asm/cache.h> | 15 | #include <asm/cache.h> |
15 | #include <asm/lowcore.h> | 16 | #include <asm/lowcore.h> |
16 | #include <asm/errno.h> | 17 | #include <asm/errno.h> |
@@ -801,9 +802,7 @@ mcck_return: | |||
801 | * Restart interruption handler, kick starter for additional CPUs | 802 | * Restart interruption handler, kick starter for additional CPUs |
802 | */ | 803 | */ |
803 | #ifdef CONFIG_SMP | 804 | #ifdef CONFIG_SMP |
804 | #ifndef CONFIG_HOTPLUG_CPU | 805 | __CPUINIT |
805 | .section .init.text,"ax" | ||
806 | #endif | ||
807 | .globl restart_int_handler | 806 | .globl restart_int_handler |
808 | restart_int_handler: | 807 | restart_int_handler: |
809 | lg %r15,__LC_SAVE_AREA+120 # load ksp | 808 | lg %r15,__LC_SAVE_AREA+120 # load ksp |
@@ -814,9 +813,7 @@ restart_int_handler: | |||
814 | lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone | 813 | lmg %r6,%r15,__SF_GPRS(%r15) # load registers from clone |
815 | stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on | 814 | stosm __SF_EMPTY(%r15),0x04 # now we can turn dat on |
816 | jg start_secondary | 815 | jg start_secondary |
817 | #ifndef CONFIG_HOTPLUG_CPU | ||
818 | .previous | 816 | .previous |
819 | #endif | ||
820 | #else | 817 | #else |
821 | /* | 818 | /* |
822 | * If we do not run with SMP enabled, let the new CPU crash ... | 819 | * If we do not run with SMP enabled, let the new CPU crash ... |
diff --git a/arch/s390/kernel/ipl.c b/arch/s390/kernel/ipl.c index db28cca81fef..60acdc266db1 100644 --- a/arch/s390/kernel/ipl.c +++ b/arch/s390/kernel/ipl.c | |||
@@ -439,7 +439,7 @@ static void ipl_run(struct shutdown_trigger *trigger) | |||
439 | reipl_ccw_dev(&ipl_info.data.ccw.dev_id); | 439 | reipl_ccw_dev(&ipl_info.data.ccw.dev_id); |
440 | } | 440 | } |
441 | 441 | ||
442 | static int ipl_init(void) | 442 | static int __init ipl_init(void) |
443 | { | 443 | { |
444 | int rc; | 444 | int rc; |
445 | 445 | ||
@@ -471,8 +471,11 @@ out: | |||
471 | return 0; | 471 | return 0; |
472 | } | 472 | } |
473 | 473 | ||
474 | static struct shutdown_action ipl_action = {SHUTDOWN_ACTION_IPL_STR, ipl_run, | 474 | static struct shutdown_action __refdata ipl_action = { |
475 | ipl_init}; | 475 | .name = SHUTDOWN_ACTION_IPL_STR, |
476 | .fn = ipl_run, | ||
477 | .init = ipl_init, | ||
478 | }; | ||
476 | 479 | ||
477 | /* | 480 | /* |
478 | * reipl shutdown action: Reboot Linux on shutdown. | 481 | * reipl shutdown action: Reboot Linux on shutdown. |
@@ -792,7 +795,7 @@ static int __init reipl_fcp_init(void) | |||
792 | return 0; | 795 | return 0; |
793 | } | 796 | } |
794 | 797 | ||
795 | static int reipl_init(void) | 798 | static int __init reipl_init(void) |
796 | { | 799 | { |
797 | int rc; | 800 | int rc; |
798 | 801 | ||
@@ -819,8 +822,11 @@ static int reipl_init(void) | |||
819 | return 0; | 822 | return 0; |
820 | } | 823 | } |
821 | 824 | ||
822 | static struct shutdown_action reipl_action = {SHUTDOWN_ACTION_REIPL_STR, | 825 | static struct shutdown_action __refdata reipl_action = { |
823 | reipl_run, reipl_init}; | 826 | .name = SHUTDOWN_ACTION_REIPL_STR, |
827 | .fn = reipl_run, | ||
828 | .init = reipl_init, | ||
829 | }; | ||
824 | 830 | ||
825 | /* | 831 | /* |
826 | * dump shutdown action: Dump Linux on shutdown. | 832 | * dump shutdown action: Dump Linux on shutdown. |
@@ -998,7 +1004,7 @@ static int __init dump_fcp_init(void) | |||
998 | return 0; | 1004 | return 0; |
999 | } | 1005 | } |
1000 | 1006 | ||
1001 | static int dump_init(void) | 1007 | static int __init dump_init(void) |
1002 | { | 1008 | { |
1003 | int rc; | 1009 | int rc; |
1004 | 1010 | ||
@@ -1020,8 +1026,11 @@ static int dump_init(void) | |||
1020 | return 0; | 1026 | return 0; |
1021 | } | 1027 | } |
1022 | 1028 | ||
1023 | static struct shutdown_action dump_action = {SHUTDOWN_ACTION_DUMP_STR, | 1029 | static struct shutdown_action __refdata dump_action = { |
1024 | dump_run, dump_init}; | 1030 | .name = SHUTDOWN_ACTION_DUMP_STR, |
1031 | .fn = dump_run, | ||
1032 | .init = dump_init, | ||
1033 | }; | ||
1025 | 1034 | ||
1026 | /* | 1035 | /* |
1027 | * vmcmd shutdown action: Trigger vm command on shutdown. | 1036 | * vmcmd shutdown action: Trigger vm command on shutdown. |
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index 766c783bd7a7..2d266f45e73f 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -77,7 +77,7 @@ unsigned long machine_flags = 0; | |||
77 | unsigned long elf_hwcap = 0; | 77 | unsigned long elf_hwcap = 0; |
78 | char elf_platform[ELF_PLATFORM_SIZE]; | 78 | char elf_platform[ELF_PLATFORM_SIZE]; |
79 | 79 | ||
80 | struct mem_chunk __initdata memory_chunk[MEMORY_CHUNKS]; | 80 | struct mem_chunk __meminitdata memory_chunk[MEMORY_CHUNKS]; |
81 | volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */ | 81 | volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */ |
82 | static unsigned long __initdata memory_end; | 82 | static unsigned long __initdata memory_end; |
83 | 83 | ||
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index f5046fd4930f..85060659fb12 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c | |||
@@ -1007,7 +1007,7 @@ static struct notifier_block __cpuinitdata smp_cpu_nb = { | |||
1007 | .notifier_call = smp_cpu_notify, | 1007 | .notifier_call = smp_cpu_notify, |
1008 | }; | 1008 | }; |
1009 | 1009 | ||
1010 | static int smp_add_present_cpu(int cpu) | 1010 | static int __devinit smp_add_present_cpu(int cpu) |
1011 | { | 1011 | { |
1012 | struct cpu *c = &per_cpu(cpu_devices, cpu); | 1012 | struct cpu *c = &per_cpu(cpu_devices, cpu); |
1013 | struct sys_device *s = &c->sysdev; | 1013 | struct sys_device *s = &c->sysdev; |
@@ -1035,8 +1035,8 @@ out: | |||
1035 | } | 1035 | } |
1036 | 1036 | ||
1037 | #ifdef CONFIG_HOTPLUG_CPU | 1037 | #ifdef CONFIG_HOTPLUG_CPU |
1038 | static ssize_t rescan_store(struct sys_device *dev, const char *buf, | 1038 | static ssize_t __ref rescan_store(struct sys_device *dev, |
1039 | size_t count) | 1039 | const char *buf, size_t count) |
1040 | { | 1040 | { |
1041 | cpumask_t newcpus; | 1041 | cpumask_t newcpus; |
1042 | int cpu; | 1042 | int cpu; |
diff --git a/arch/s390/mm/vmem.c b/arch/s390/mm/vmem.c index 79d13a166a3d..07e046777243 100644 --- a/arch/s390/mm/vmem.c +++ b/arch/s390/mm/vmem.c | |||
@@ -62,7 +62,7 @@ void __meminit memmap_init(unsigned long size, int nid, unsigned long zone, | |||
62 | } | 62 | } |
63 | } | 63 | } |
64 | 64 | ||
65 | static void __init_refok *vmem_alloc_pages(unsigned int order) | 65 | static void __ref *vmem_alloc_pages(unsigned int order) |
66 | { | 66 | { |
67 | if (slab_is_available()) | 67 | if (slab_is_available()) |
68 | return (void *)__get_free_pages(GFP_KERNEL, order); | 68 | return (void *)__get_free_pages(GFP_KERNEL, order); |