diff options
| -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); |
