diff options
54 files changed, 133 insertions, 116 deletions
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c index 5cf45fc51343..ff8cb638472e 100644 --- a/arch/alpha/kernel/pci.c +++ b/arch/alpha/kernel/pci.c | |||
@@ -338,7 +338,7 @@ common_swizzle(struct pci_dev *dev, u8 *pinp) | |||
338 | return PCI_SLOT(dev->devfn); | 338 | return PCI_SLOT(dev->devfn); |
339 | } | 339 | } |
340 | 340 | ||
341 | void __devinit | 341 | void |
342 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | 342 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, |
343 | struct resource *res) | 343 | struct resource *res) |
344 | { | 344 | { |
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index e657c45d91d2..cf7da10097bb 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c | |||
@@ -121,7 +121,7 @@ wait_boot_cpu_to_stop(int cpuid) | |||
121 | /* | 121 | /* |
122 | * Where secondaries begin a life of C. | 122 | * Where secondaries begin a life of C. |
123 | */ | 123 | */ |
124 | void __init | 124 | void __cpuinit |
125 | smp_callin(void) | 125 | smp_callin(void) |
126 | { | 126 | { |
127 | int cpuid = hard_smp_processor_id(); | 127 | int cpuid = hard_smp_processor_id(); |
@@ -198,7 +198,7 @@ wait_for_txrdy (unsigned long cpumask) | |||
198 | * Send a message to a secondary's console. "START" is one such | 198 | * Send a message to a secondary's console. "START" is one such |
199 | * interesting message. ;-) | 199 | * interesting message. ;-) |
200 | */ | 200 | */ |
201 | static void __init | 201 | static void __cpuinit |
202 | send_secondary_console_msg(char *str, int cpuid) | 202 | send_secondary_console_msg(char *str, int cpuid) |
203 | { | 203 | { |
204 | struct percpu_struct *cpu; | 204 | struct percpu_struct *cpu; |
@@ -289,7 +289,7 @@ recv_secondary_console_msg(void) | |||
289 | /* | 289 | /* |
290 | * Convince the console to have a secondary cpu begin execution. | 290 | * Convince the console to have a secondary cpu begin execution. |
291 | */ | 291 | */ |
292 | static int __init | 292 | static int __cpuinit |
293 | secondary_cpu_start(int cpuid, struct task_struct *idle) | 293 | secondary_cpu_start(int cpuid, struct task_struct *idle) |
294 | { | 294 | { |
295 | struct percpu_struct *cpu; | 295 | struct percpu_struct *cpu; |
diff --git a/arch/alpha/kernel/traps.c b/arch/alpha/kernel/traps.c index c778779007fc..cefc5a355ef9 100644 --- a/arch/alpha/kernel/traps.c +++ b/arch/alpha/kernel/traps.c | |||
@@ -31,7 +31,7 @@ | |||
31 | 31 | ||
32 | static int opDEC_fix; | 32 | static int opDEC_fix; |
33 | 33 | ||
34 | static void __init | 34 | static void __cpuinit |
35 | opDEC_check(void) | 35 | opDEC_check(void) |
36 | { | 36 | { |
37 | __asm__ __volatile__ ( | 37 | __asm__ __volatile__ ( |
@@ -1072,7 +1072,7 @@ give_sigbus: | |||
1072 | return; | 1072 | return; |
1073 | } | 1073 | } |
1074 | 1074 | ||
1075 | void __init | 1075 | void __cpuinit |
1076 | trap_init(void) | 1076 | trap_init(void) |
1077 | { | 1077 | { |
1078 | /* Tell PAL-code what global pointer we want in the kernel. */ | 1078 | /* Tell PAL-code what global pointer we want in the kernel. */ |
diff --git a/arch/ia64/sn/kernel/io_init.c b/arch/ia64/sn/kernel/io_init.c index c3aa851d1ca6..4e1801bad83a 100644 --- a/arch/ia64/sn/kernel/io_init.c +++ b/arch/ia64/sn/kernel/io_init.c | |||
@@ -292,7 +292,7 @@ EXPORT_SYMBOL(sn_io_slot_fixup); | |||
292 | * sn_pci_controller_fixup() - This routine sets up a bus's resources | 292 | * sn_pci_controller_fixup() - This routine sets up a bus's resources |
293 | * consistent with the Linux PCI abstraction layer. | 293 | * consistent with the Linux PCI abstraction layer. |
294 | */ | 294 | */ |
295 | static void | 295 | static void __init |
296 | sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) | 296 | sn_pci_controller_fixup(int segment, int busnum, struct pci_bus *bus) |
297 | { | 297 | { |
298 | s64 status = 0; | 298 | s64 status = 0; |
diff --git a/arch/m32r/kernel/head.S b/arch/m32r/kernel/head.S index 40180778a5c7..90916067b9c1 100644 --- a/arch/m32r/kernel/head.S +++ b/arch/m32r/kernel/head.S | |||
@@ -23,7 +23,7 @@ __INITDATA | |||
23 | /* | 23 | /* |
24 | * References to members of the boot_cpu_data structure. | 24 | * References to members of the boot_cpu_data structure. |
25 | */ | 25 | */ |
26 | .text | 26 | .section .text.head, "ax" |
27 | .global start_kernel | 27 | .global start_kernel |
28 | .global __bss_start | 28 | .global __bss_start |
29 | .global _end | 29 | .global _end |
@@ -133,7 +133,6 @@ loop1: | |||
133 | /* | 133 | /* |
134 | * AP startup routine | 134 | * AP startup routine |
135 | */ | 135 | */ |
136 | .text | ||
137 | .global eit_vector | 136 | .global eit_vector |
138 | ENTRY(startup_AP) | 137 | ENTRY(startup_AP) |
139 | ;; setup EVB | 138 | ;; setup EVB |
@@ -230,6 +229,7 @@ ENTRY(startup_AP) | |||
230 | nop | 229 | nop |
231 | #endif /* CONFIG_SMP */ | 230 | #endif /* CONFIG_SMP */ |
232 | 231 | ||
232 | .text | ||
233 | ENTRY(stack_start) | 233 | ENTRY(stack_start) |
234 | .long init_thread_union+8192 | 234 | .long init_thread_union+8192 |
235 | .long __KERNEL_DS | 235 | .long __KERNEL_DS |
diff --git a/arch/m32r/kernel/vmlinux.lds.S b/arch/m32r/kernel/vmlinux.lds.S index 15a6f36c06db..9db05df20c0e 100644 --- a/arch/m32r/kernel/vmlinux.lds.S +++ b/arch/m32r/kernel/vmlinux.lds.S | |||
@@ -27,6 +27,7 @@ SECTIONS | |||
27 | _text = .; /* Text and read-only data */ | 27 | _text = .; /* Text and read-only data */ |
28 | .boot : { *(.boot) } = 0 | 28 | .boot : { *(.boot) } = 0 |
29 | .text : { | 29 | .text : { |
30 | *(.text.head) | ||
30 | TEXT_TEXT | 31 | TEXT_TEXT |
31 | SCHED_TEXT | 32 | SCHED_TEXT |
32 | LOCK_TEXT | 33 | LOCK_TEXT |
diff --git a/arch/powerpc/include/asm/mmu-hash64.h b/arch/powerpc/include/asm/mmu-hash64.h index 5a441742ffba..68b752626808 100644 --- a/arch/powerpc/include/asm/mmu-hash64.h +++ b/arch/powerpc/include/asm/mmu-hash64.h | |||
@@ -280,7 +280,6 @@ extern int hash_huge_page(struct mm_struct *mm, unsigned long access, | |||
280 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, | 280 | extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend, |
281 | unsigned long pstart, unsigned long prot, | 281 | unsigned long pstart, unsigned long prot, |
282 | int psize, int ssize); | 282 | int psize, int ssize); |
283 | extern void set_huge_psize(int psize); | ||
284 | extern void add_gpage(unsigned long addr, unsigned long page_size, | 283 | extern void add_gpage(unsigned long addr, unsigned long page_size, |
285 | unsigned long number_of_pages); | 284 | unsigned long number_of_pages); |
286 | extern void demote_segment_4k(struct mm_struct *mm, unsigned long addr); | 285 | extern void demote_segment_4k(struct mm_struct *mm, unsigned long addr); |
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index a117024ab8cd..7bbf4e4ed430 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c | |||
@@ -677,7 +677,7 @@ repeat: | |||
677 | return err; | 677 | return err; |
678 | } | 678 | } |
679 | 679 | ||
680 | void set_huge_psize(int psize) | 680 | static void __init set_huge_psize(int psize) |
681 | { | 681 | { |
682 | /* Check that it is a page size supported by the hardware and | 682 | /* Check that it is a page size supported by the hardware and |
683 | * that it fits within pagetable limits. */ | 683 | * that it fits within pagetable limits. */ |
diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c index e7a0edfc1a32..1fc17f59c6bf 100644 --- a/arch/sparc/kernel/cpu.c +++ b/arch/sparc/kernel/cpu.c | |||
@@ -126,7 +126,7 @@ char *sparc_fpu_type; | |||
126 | 126 | ||
127 | unsigned int fsr_storage; | 127 | unsigned int fsr_storage; |
128 | 128 | ||
129 | void __init cpu_probe(void) | 129 | void __cpuinit cpu_probe(void) |
130 | { | 130 | { |
131 | int psr_impl, psr_vers, fpu_vers; | 131 | int psr_impl, psr_vers, fpu_vers; |
132 | int i, psr; | 132 | int i, psr; |
diff --git a/arch/sparc/kernel/head.S b/arch/sparc/kernel/head.S index 2d325fd84579..51b40426f9c6 100644 --- a/arch/sparc/kernel/head.S +++ b/arch/sparc/kernel/head.S | |||
@@ -72,7 +72,7 @@ sun4e_notsup: | |||
72 | .align 4 | 72 | .align 4 |
73 | 73 | ||
74 | /* The Sparc trap table, bootloader gives us control at _start. */ | 74 | /* The Sparc trap table, bootloader gives us control at _start. */ |
75 | .text | 75 | .section .text.head,"ax" |
76 | .globl start, _stext, _start, __stext | 76 | .globl start, _stext, _start, __stext |
77 | .globl trapbase | 77 | .globl trapbase |
78 | _start: /* danger danger */ | 78 | _start: /* danger danger */ |
diff --git a/arch/sparc/kernel/smp.c b/arch/sparc/kernel/smp.c index 1619ec15c099..e396c1f17a92 100644 --- a/arch/sparc/kernel/smp.c +++ b/arch/sparc/kernel/smp.c | |||
@@ -35,7 +35,7 @@ | |||
35 | 35 | ||
36 | #include "irq.h" | 36 | #include "irq.h" |
37 | 37 | ||
38 | volatile unsigned long cpu_callin_map[NR_CPUS] __initdata = {0,}; | 38 | volatile unsigned long cpu_callin_map[NR_CPUS] __cpuinitdata = {0,}; |
39 | unsigned char boot_cpu_id = 0; | 39 | unsigned char boot_cpu_id = 0; |
40 | unsigned char boot_cpu_id4 = 0; /* boot_cpu_id << 2 */ | 40 | unsigned char boot_cpu_id4 = 0; /* boot_cpu_id << 2 */ |
41 | 41 | ||
@@ -120,7 +120,7 @@ void cpu_panic(void) | |||
120 | panic("SMP bolixed\n"); | 120 | panic("SMP bolixed\n"); |
121 | } | 121 | } |
122 | 122 | ||
123 | struct linux_prom_registers smp_penguin_ctable __initdata = { 0 }; | 123 | struct linux_prom_registers smp_penguin_ctable __cpuinitdata = { 0 }; |
124 | 124 | ||
125 | void smp_send_reschedule(int cpu) | 125 | void smp_send_reschedule(int cpu) |
126 | { | 126 | { |
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index 7a6a5e795928..16ab0cb731c5 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c | |||
@@ -83,7 +83,7 @@ static inline void show_leds(int cpuid) | |||
83 | "i" (ASI_M_CTL)); | 83 | "i" (ASI_M_CTL)); |
84 | } | 84 | } |
85 | 85 | ||
86 | void __init smp4d_callin(void) | 86 | void __cpuinit smp4d_callin(void) |
87 | { | 87 | { |
88 | int cpuid = hard_smp4d_processor_id(); | 88 | int cpuid = hard_smp4d_processor_id(); |
89 | extern spinlock_t sun4d_imsk_lock; | 89 | extern spinlock_t sun4d_imsk_lock; |
@@ -386,7 +386,7 @@ void smp4d_percpu_timer_interrupt(struct pt_regs *regs) | |||
386 | 386 | ||
387 | extern unsigned int lvl14_resolution; | 387 | extern unsigned int lvl14_resolution; |
388 | 388 | ||
389 | static void __init smp_setup_percpu_timer(void) | 389 | static void __cpuinit smp_setup_percpu_timer(void) |
390 | { | 390 | { |
391 | int cpu = hard_smp4d_processor_id(); | 391 | int cpu = hard_smp4d_processor_id(); |
392 | 392 | ||
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index 5fc386d08c47..4f8d60586b07 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c | |||
@@ -343,7 +343,7 @@ void smp4m_percpu_timer_interrupt(struct pt_regs *regs) | |||
343 | 343 | ||
344 | extern unsigned int lvl14_resolution; | 344 | extern unsigned int lvl14_resolution; |
345 | 345 | ||
346 | static void __init smp_setup_percpu_timer(void) | 346 | static void __cpuinit smp_setup_percpu_timer(void) |
347 | { | 347 | { |
348 | int cpu = smp_processor_id(); | 348 | int cpu = smp_processor_id(); |
349 | 349 | ||
diff --git a/arch/sparc/kernel/trampoline.S b/arch/sparc/kernel/trampoline.S index 356c56aebc62..5e235c52d667 100644 --- a/arch/sparc/kernel/trampoline.S +++ b/arch/sparc/kernel/trampoline.S | |||
@@ -18,7 +18,7 @@ | |||
18 | .globl sun4m_cpu_startup, __smp4m_processor_id | 18 | .globl sun4m_cpu_startup, __smp4m_processor_id |
19 | .globl sun4d_cpu_startup, __smp4d_processor_id | 19 | .globl sun4d_cpu_startup, __smp4d_processor_id |
20 | 20 | ||
21 | __INIT | 21 | __CPUINIT |
22 | .align 4 | 22 | .align 4 |
23 | 23 | ||
24 | /* When we start up a cpu for the first time it enters this routine. | 24 | /* When we start up a cpu for the first time it enters this routine. |
@@ -109,7 +109,7 @@ __smp4d_processor_id: | |||
109 | /* CPUID in bootbus can be found at PA 0xff0140000 */ | 109 | /* CPUID in bootbus can be found at PA 0xff0140000 */ |
110 | #define SUN4D_BOOTBUS_CPUID 0xf0140000 | 110 | #define SUN4D_BOOTBUS_CPUID 0xf0140000 |
111 | 111 | ||
112 | __INIT | 112 | __CPUINIT |
113 | .align 4 | 113 | .align 4 |
114 | 114 | ||
115 | sun4d_cpu_startup: | 115 | sun4d_cpu_startup: |
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S index b1002c607196..5b7e69a8c32f 100644 --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S | |||
@@ -13,6 +13,7 @@ SECTIONS | |||
13 | .text 0xf0004000 : | 13 | .text 0xf0004000 : |
14 | { | 14 | { |
15 | _text = .; | 15 | _text = .; |
16 | *(.text.head) | ||
16 | TEXT_TEXT | 17 | TEXT_TEXT |
17 | SCHED_TEXT | 18 | SCHED_TEXT |
18 | LOCK_TEXT | 19 | LOCK_TEXT |
diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c index 6a5d7cabc044..dd8aa36f366c 100644 --- a/arch/sparc/mm/srmmu.c +++ b/arch/sparc/mm/srmmu.c | |||
@@ -1251,7 +1251,7 @@ static inline void map_kernel(void) | |||
1251 | /* Paging initialization on the Sparc Reference MMU. */ | 1251 | /* Paging initialization on the Sparc Reference MMU. */ |
1252 | extern void sparc_context_init(int); | 1252 | extern void sparc_context_init(int); |
1253 | 1253 | ||
1254 | void (*poke_srmmu)(void) __initdata = NULL; | 1254 | void (*poke_srmmu)(void) __cpuinitdata = NULL; |
1255 | 1255 | ||
1256 | extern unsigned long bootmem_init(unsigned long *pages_avail); | 1256 | extern unsigned long bootmem_init(unsigned long *pages_avail); |
1257 | 1257 | ||
@@ -1446,7 +1446,7 @@ static void __init init_vac_layout(void) | |||
1446 | (int)vac_cache_size, (int)vac_line_size); | 1446 | (int)vac_cache_size, (int)vac_line_size); |
1447 | } | 1447 | } |
1448 | 1448 | ||
1449 | static void __init poke_hypersparc(void) | 1449 | static void __cpuinit poke_hypersparc(void) |
1450 | { | 1450 | { |
1451 | volatile unsigned long clear; | 1451 | volatile unsigned long clear; |
1452 | unsigned long mreg = srmmu_get_mmureg(); | 1452 | unsigned long mreg = srmmu_get_mmureg(); |
@@ -1501,7 +1501,7 @@ static void __init init_hypersparc(void) | |||
1501 | hypersparc_setup_blockops(); | 1501 | hypersparc_setup_blockops(); |
1502 | } | 1502 | } |
1503 | 1503 | ||
1504 | static void __init poke_cypress(void) | 1504 | static void __cpuinit poke_cypress(void) |
1505 | { | 1505 | { |
1506 | unsigned long mreg = srmmu_get_mmureg(); | 1506 | unsigned long mreg = srmmu_get_mmureg(); |
1507 | unsigned long faddr, tagval; | 1507 | unsigned long faddr, tagval; |
@@ -1589,7 +1589,7 @@ static void __init init_cypress_605(unsigned long mrev) | |||
1589 | init_cypress_common(); | 1589 | init_cypress_common(); |
1590 | } | 1590 | } |
1591 | 1591 | ||
1592 | static void __init poke_swift(void) | 1592 | static void __cpuinit poke_swift(void) |
1593 | { | 1593 | { |
1594 | unsigned long mreg; | 1594 | unsigned long mreg; |
1595 | 1595 | ||
@@ -1771,7 +1771,7 @@ static void turbosparc_flush_tlb_page(struct vm_area_struct *vma, unsigned long | |||
1771 | } | 1771 | } |
1772 | 1772 | ||
1773 | 1773 | ||
1774 | static void __init poke_turbosparc(void) | 1774 | static void __cpuinit poke_turbosparc(void) |
1775 | { | 1775 | { |
1776 | unsigned long mreg = srmmu_get_mmureg(); | 1776 | unsigned long mreg = srmmu_get_mmureg(); |
1777 | unsigned long ccreg; | 1777 | unsigned long ccreg; |
@@ -1834,7 +1834,7 @@ static void __init init_turbosparc(void) | |||
1834 | poke_srmmu = poke_turbosparc; | 1834 | poke_srmmu = poke_turbosparc; |
1835 | } | 1835 | } |
1836 | 1836 | ||
1837 | static void __init poke_tsunami(void) | 1837 | static void __cpuinit poke_tsunami(void) |
1838 | { | 1838 | { |
1839 | unsigned long mreg = srmmu_get_mmureg(); | 1839 | unsigned long mreg = srmmu_get_mmureg(); |
1840 | 1840 | ||
@@ -1876,7 +1876,7 @@ static void __init init_tsunami(void) | |||
1876 | tsunami_setup_blockops(); | 1876 | tsunami_setup_blockops(); |
1877 | } | 1877 | } |
1878 | 1878 | ||
1879 | static void __init poke_viking(void) | 1879 | static void __cpuinit poke_viking(void) |
1880 | { | 1880 | { |
1881 | unsigned long mreg = srmmu_get_mmureg(); | 1881 | unsigned long mreg = srmmu_get_mmureg(); |
1882 | static int smp_catch; | 1882 | static int smp_catch; |
diff --git a/arch/sparc64/kernel/pci_fire.c b/arch/sparc64/kernel/pci_fire.c index 9462b68f4894..fcbbac66e141 100644 --- a/arch/sparc64/kernel/pci_fire.c +++ b/arch/sparc64/kernel/pci_fire.c | |||
@@ -455,7 +455,7 @@ static int __init pci_fire_pbm_init(struct pci_pbm_info *pbm, | |||
455 | return 0; | 455 | return 0; |
456 | } | 456 | } |
457 | 457 | ||
458 | static int __devinit fire_probe(struct of_device *op, | 458 | static int __init fire_probe(struct of_device *op, |
459 | const struct of_device_id *match) | 459 | const struct of_device_id *match) |
460 | { | 460 | { |
461 | struct device_node *dp = op->node; | 461 | struct device_node *dp = op->node; |
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index dfb3ec892987..56605adbb5b3 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c | |||
@@ -493,7 +493,7 @@ static void __init psycho_pbm_init(struct pci_pbm_info *pbm, | |||
493 | psycho_scan_bus(pbm, &op->dev); | 493 | psycho_scan_bus(pbm, &op->dev); |
494 | } | 494 | } |
495 | 495 | ||
496 | static struct pci_pbm_info * __devinit psycho_find_sibling(u32 upa_portid) | 496 | static struct pci_pbm_info * __init psycho_find_sibling(u32 upa_portid) |
497 | { | 497 | { |
498 | struct pci_pbm_info *pbm; | 498 | struct pci_pbm_info *pbm; |
499 | 499 | ||
@@ -506,7 +506,7 @@ static struct pci_pbm_info * __devinit psycho_find_sibling(u32 upa_portid) | |||
506 | 506 | ||
507 | #define PSYCHO_CONFIGSPACE 0x001000000UL | 507 | #define PSYCHO_CONFIGSPACE 0x001000000UL |
508 | 508 | ||
509 | static int __devinit psycho_probe(struct of_device *op, | 509 | static int __init psycho_probe(struct of_device *op, |
510 | const struct of_device_id *match) | 510 | const struct of_device_id *match) |
511 | { | 511 | { |
512 | const struct linux_prom64_registers *pr_regs; | 512 | const struct linux_prom64_registers *pr_regs; |
diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c index 34a1fded3941..4b27b0e10ce7 100644 --- a/arch/sparc64/kernel/pci_sun4v.c +++ b/arch/sparc64/kernel/pci_sun4v.c | |||
@@ -929,7 +929,7 @@ static int __init pci_sun4v_pbm_init(struct pci_pbm_info *pbm, | |||
929 | return 0; | 929 | return 0; |
930 | } | 930 | } |
931 | 931 | ||
932 | static int __devinit pci_sun4v_probe(struct of_device *op, | 932 | static int __init pci_sun4v_probe(struct of_device *op, |
933 | const struct of_device_id *match) | 933 | const struct of_device_id *match) |
934 | { | 934 | { |
935 | const struct linux_prom64_registers *regs; | 935 | const struct linux_prom64_registers *regs; |
diff --git a/arch/sparc64/kernel/smp.c b/arch/sparc64/kernel/smp.c index e5627118e613..f500b0618bb0 100644 --- a/arch/sparc64/kernel/smp.c +++ b/arch/sparc64/kernel/smp.c | |||
@@ -282,7 +282,7 @@ static unsigned long kimage_addr_to_ra(void *p) | |||
282 | return kern_base + (val - KERNBASE); | 282 | return kern_base + (val - KERNBASE); |
283 | } | 283 | } |
284 | 284 | ||
285 | static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) | 285 | static void __cpuinit ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg) |
286 | { | 286 | { |
287 | extern unsigned long sparc64_ttable_tl0; | 287 | extern unsigned long sparc64_ttable_tl0; |
288 | extern unsigned long kern_locked_tte_data; | 288 | extern unsigned long kern_locked_tte_data; |
@@ -343,7 +343,7 @@ extern unsigned long sparc64_cpu_startup; | |||
343 | */ | 343 | */ |
344 | static struct thread_info *cpu_new_thread = NULL; | 344 | static struct thread_info *cpu_new_thread = NULL; |
345 | 345 | ||
346 | static int __devinit smp_boot_one_cpu(unsigned int cpu) | 346 | static int __cpuinit smp_boot_one_cpu(unsigned int cpu) |
347 | { | 347 | { |
348 | struct trap_per_cpu *tb = &trap_block[cpu]; | 348 | struct trap_per_cpu *tb = &trap_block[cpu]; |
349 | unsigned long entry = | 349 | unsigned long entry = |
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 3c10daf8fc01..185f34679110 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -956,7 +956,7 @@ int of_node_to_nid(struct device_node *dp) | |||
956 | return nid; | 956 | return nid; |
957 | } | 957 | } |
958 | 958 | ||
959 | static void add_node_ranges(void) | 959 | static void __init add_node_ranges(void) |
960 | { | 960 | { |
961 | int i; | 961 | int i; |
962 | 962 | ||
diff --git a/arch/x86/kernel/apic.c b/arch/x86/kernel/apic.c index 04a7f960bbc0..16f94879b525 100644 --- a/arch/x86/kernel/apic.c +++ b/arch/x86/kernel/apic.c | |||
@@ -1315,7 +1315,7 @@ void enable_x2apic(void) | |||
1315 | } | 1315 | } |
1316 | } | 1316 | } |
1317 | 1317 | ||
1318 | void enable_IR_x2apic(void) | 1318 | void __init enable_IR_x2apic(void) |
1319 | { | 1319 | { |
1320 | #ifdef CONFIG_INTR_REMAP | 1320 | #ifdef CONFIG_INTR_REMAP |
1321 | int ret; | 1321 | int ret; |
diff --git a/arch/x86/kernel/kvmclock.c b/arch/x86/kernel/kvmclock.c index 1c9cc431ea4f..e169ae9b6a62 100644 --- a/arch/x86/kernel/kvmclock.c +++ b/arch/x86/kernel/kvmclock.c | |||
@@ -128,7 +128,7 @@ static int kvm_register_clock(char *txt) | |||
128 | } | 128 | } |
129 | 129 | ||
130 | #ifdef CONFIG_X86_LOCAL_APIC | 130 | #ifdef CONFIG_X86_LOCAL_APIC |
131 | static void __devinit kvm_setup_secondary_clock(void) | 131 | static void __cpuinit kvm_setup_secondary_clock(void) |
132 | { | 132 | { |
133 | /* | 133 | /* |
134 | * Now that the first cpu already had this clocksource initialized, | 134 | * Now that the first cpu already had this clocksource initialized, |
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index d77da613b1d2..acd9b6705e02 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c | |||
@@ -362,7 +362,7 @@ static void xen_cpu_die(unsigned int cpu) | |||
362 | alternatives_smp_switch(0); | 362 | alternatives_smp_switch(0); |
363 | } | 363 | } |
364 | 364 | ||
365 | static void xen_play_dead(void) | 365 | static void __cpuinit xen_play_dead(void) /* used only with CPU_HOTPLUG */ |
366 | { | 366 | { |
367 | play_dead_common(); | 367 | play_dead_common(); |
368 | HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL); | 368 | HYPERVISOR_vcpu_op(VCPUOP_down, smp_processor_id(), NULL); |
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h index d7422dc2a55c..9e1afae8461f 100644 --- a/arch/x86/xen/xen-ops.h +++ b/arch/x86/xen/xen-ops.h | |||
@@ -49,7 +49,7 @@ bool xen_vcpu_stolen(int vcpu); | |||
49 | 49 | ||
50 | void xen_mark_init_mm_pinned(void); | 50 | void xen_mark_init_mm_pinned(void); |
51 | 51 | ||
52 | void __init xen_setup_vcpu_info_placement(void); | 52 | void xen_setup_vcpu_info_placement(void); |
53 | 53 | ||
54 | #ifdef CONFIG_SMP | 54 | #ifdef CONFIG_SMP |
55 | void xen_smp_init(void); | 55 | void xen_smp_init(void); |
diff --git a/drivers/char/agp/uninorth-agp.c b/drivers/char/agp/uninorth-agp.c index 0f004b65ec03..03f95ec08f59 100644 --- a/drivers/char/agp/uninorth-agp.c +++ b/drivers/char/agp/uninorth-agp.c | |||
@@ -27,7 +27,7 @@ | |||
27 | static int uninorth_rev; | 27 | static int uninorth_rev; |
28 | static int is_u3; | 28 | static int is_u3; |
29 | 29 | ||
30 | static char __devinitdata *aperture = NULL; | 30 | static char *aperture = NULL; |
31 | 31 | ||
32 | static int uninorth_fetch_size(void) | 32 | static int uninorth_fetch_size(void) |
33 | { | 33 | { |
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index 44e5d60f517e..4b10770fa937 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c | |||
@@ -3739,7 +3739,7 @@ static int stli_getbrdnr(void) | |||
3739 | * do is go probing around in the usual places hoping we can find it. | 3739 | * do is go probing around in the usual places hoping we can find it. |
3740 | */ | 3740 | */ |
3741 | 3741 | ||
3742 | static int stli_findeisabrds(void) | 3742 | static int __init stli_findeisabrds(void) |
3743 | { | 3743 | { |
3744 | struct stlibrd *brdp; | 3744 | struct stlibrd *brdp; |
3745 | unsigned int iobase, eid, i; | 3745 | unsigned int iobase, eid, i; |
@@ -3935,7 +3935,7 @@ static struct stlibrd *stli_allocbrd(void) | |||
3935 | * can find. | 3935 | * can find. |
3936 | */ | 3936 | */ |
3937 | 3937 | ||
3938 | static int stli_initbrds(void) | 3938 | static int __init stli_initbrds(void) |
3939 | { | 3939 | { |
3940 | struct stlibrd *brdp, *nxtbrdp; | 3940 | struct stlibrd *brdp, *nxtbrdp; |
3941 | struct stlconf conf; | 3941 | struct stlconf conf; |
diff --git a/drivers/crypto/talitos.c b/drivers/crypto/talitos.c index b6ad3ac5916e..24607669a52b 100644 --- a/drivers/crypto/talitos.c +++ b/drivers/crypto/talitos.c | |||
@@ -1357,7 +1357,7 @@ static int hw_supports(struct device *dev, __be32 desc_hdr_template) | |||
1357 | return ret; | 1357 | return ret; |
1358 | } | 1358 | } |
1359 | 1359 | ||
1360 | static int __devexit talitos_remove(struct of_device *ofdev) | 1360 | static int talitos_remove(struct of_device *ofdev) |
1361 | { | 1361 | { |
1362 | struct device *dev = &ofdev->dev; | 1362 | struct device *dev = &ofdev->dev; |
1363 | struct talitos_private *priv = dev_get_drvdata(dev); | 1363 | struct talitos_private *priv = dev_get_drvdata(dev); |
@@ -1622,7 +1622,7 @@ static struct of_platform_driver talitos_driver = { | |||
1622 | .name = "talitos", | 1622 | .name = "talitos", |
1623 | .match_table = talitos_match, | 1623 | .match_table = talitos_match, |
1624 | .probe = talitos_probe, | 1624 | .probe = talitos_probe, |
1625 | .remove = __devexit_p(talitos_remove), | 1625 | .remove = talitos_remove, |
1626 | }; | 1626 | }; |
1627 | 1627 | ||
1628 | static int __init talitos_init(void) | 1628 | static int __init talitos_init(void) |
diff --git a/drivers/ide/icside.c b/drivers/ide/icside.c index 2d848010499d..81f70caeb40f 100644 --- a/drivers/ide/icside.c +++ b/drivers/ide/icside.c | |||
@@ -419,7 +419,7 @@ static void icside_setup_ports(hw_regs_t *hw, void __iomem *base, | |||
419 | hw->chipset = ide_acorn; | 419 | hw->chipset = ide_acorn; |
420 | } | 420 | } |
421 | 421 | ||
422 | static int __init | 422 | static int __devinit |
423 | icside_register_v5(struct icside_state *state, struct expansion_card *ec) | 423 | icside_register_v5(struct icside_state *state, struct expansion_card *ec) |
424 | { | 424 | { |
425 | void __iomem *base; | 425 | void __iomem *base; |
@@ -473,7 +473,7 @@ static const struct ide_port_info icside_v6_port_info __initdata = { | |||
473 | .swdma_mask = ATA_SWDMA2, | 473 | .swdma_mask = ATA_SWDMA2, |
474 | }; | 474 | }; |
475 | 475 | ||
476 | static int __init | 476 | static int __devinit |
477 | icside_register_v6(struct icside_state *state, struct expansion_card *ec) | 477 | icside_register_v6(struct icside_state *state, struct expansion_card *ec) |
478 | { | 478 | { |
479 | void __iomem *ioc_base, *easi_base; | 479 | void __iomem *ioc_base, *easi_base; |
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c index 6790e975a98c..bc4e40f3ede7 100644 --- a/drivers/input/ff-memless.c +++ b/drivers/input/ff-memless.c | |||
@@ -397,8 +397,9 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) | |||
397 | { | 397 | { |
398 | struct ml_device *ml = dev->ff->private; | 398 | struct ml_device *ml = dev->ff->private; |
399 | struct ml_effect_state *state = &ml->states[effect_id]; | 399 | struct ml_effect_state *state = &ml->states[effect_id]; |
400 | unsigned long flags; | ||
400 | 401 | ||
401 | spin_lock_bh(&ml->timer_lock); | 402 | spin_lock_irqsave(&ml->timer_lock, flags); |
402 | 403 | ||
403 | if (value > 0) { | 404 | if (value > 0) { |
404 | debug("initiated play"); | 405 | debug("initiated play"); |
@@ -424,7 +425,7 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) | |||
424 | ml_play_effects(ml); | 425 | ml_play_effects(ml); |
425 | } | 426 | } |
426 | 427 | ||
427 | spin_unlock_bh(&ml->timer_lock); | 428 | spin_unlock_irqrestore(&ml->timer_lock, flags); |
428 | 429 | ||
429 | return 0; | 430 | return 0; |
430 | } | 431 | } |
diff --git a/drivers/input/xen-kbdfront.c b/drivers/input/xen-kbdfront.c index 3ab6362f043c..928d2ed8865f 100644 --- a/drivers/input/xen-kbdfront.c +++ b/drivers/input/xen-kbdfront.c | |||
@@ -323,7 +323,7 @@ static struct xenbus_device_id xenkbd_ids[] = { | |||
323 | { "" } | 323 | { "" } |
324 | }; | 324 | }; |
325 | 325 | ||
326 | static struct xenbus_driver xenkbd = { | 326 | static struct xenbus_driver xenkbd_driver = { |
327 | .name = "vkbd", | 327 | .name = "vkbd", |
328 | .owner = THIS_MODULE, | 328 | .owner = THIS_MODULE, |
329 | .ids = xenkbd_ids, | 329 | .ids = xenkbd_ids, |
@@ -342,12 +342,12 @@ static int __init xenkbd_init(void) | |||
342 | if (xen_initial_domain()) | 342 | if (xen_initial_domain()) |
343 | return -ENODEV; | 343 | return -ENODEV; |
344 | 344 | ||
345 | return xenbus_register_frontend(&xenkbd); | 345 | return xenbus_register_frontend(&xenkbd_driver); |
346 | } | 346 | } |
347 | 347 | ||
348 | static void __exit xenkbd_cleanup(void) | 348 | static void __exit xenkbd_cleanup(void) |
349 | { | 349 | { |
350 | xenbus_unregister_driver(&xenkbd); | 350 | xenbus_unregister_driver(&xenkbd_driver); |
351 | } | 351 | } |
352 | 352 | ||
353 | module_init(xenkbd_init); | 353 | module_init(xenkbd_init); |
diff --git a/drivers/isdn/hisax/config.c b/drivers/isdn/hisax/config.c index 84d75a3f5d17..ded9d0baf607 100644 --- a/drivers/isdn/hisax/config.c +++ b/drivers/isdn/hisax/config.c | |||
@@ -1213,7 +1213,7 @@ static void HiSax_shiftcards(int idx) | |||
1213 | memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); | 1213 | memcpy(&cards[i], &cards[i + 1], sizeof(cards[i])); |
1214 | } | 1214 | } |
1215 | 1215 | ||
1216 | static int HiSax_inithardware(int *busy_flag) | 1216 | static int __init HiSax_inithardware(int *busy_flag) |
1217 | { | 1217 | { |
1218 | int foundcards = 0; | 1218 | int foundcards = 0; |
1219 | int i = 0; | 1219 | int i = 0; |
@@ -1542,7 +1542,9 @@ static void __exit HiSax_exit(void) | |||
1542 | printk(KERN_INFO "HiSax module removed\n"); | 1542 | printk(KERN_INFO "HiSax module removed\n"); |
1543 | } | 1543 | } |
1544 | 1544 | ||
1545 | int hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) | 1545 | #ifdef CONFIG_HOTPLUG |
1546 | |||
1547 | int __devinit hisax_init_pcmcia(void *pcm_iob, int *busy_flag, struct IsdnCard *card) | ||
1546 | { | 1548 | { |
1547 | u_char ids[16]; | 1549 | u_char ids[16]; |
1548 | int ret = -1; | 1550 | int ret = -1; |
@@ -1563,6 +1565,8 @@ error: | |||
1563 | } | 1565 | } |
1564 | 1566 | ||
1565 | EXPORT_SYMBOL(hisax_init_pcmcia); | 1567 | EXPORT_SYMBOL(hisax_init_pcmcia); |
1568 | #endif | ||
1569 | |||
1566 | EXPORT_SYMBOL(HiSax_closecard); | 1570 | EXPORT_SYMBOL(HiSax_closecard); |
1567 | 1571 | ||
1568 | #include "hisax_if.h" | 1572 | #include "hisax_if.h" |
@@ -1580,6 +1584,11 @@ static void hisax_bc_close(struct BCState *bcs); | |||
1580 | static void hisax_bh(struct work_struct *work); | 1584 | static void hisax_bh(struct work_struct *work); |
1581 | static void EChannel_proc_rcv(struct hisax_d_if *d_if); | 1585 | static void EChannel_proc_rcv(struct hisax_d_if *d_if); |
1582 | 1586 | ||
1587 | static int hisax_setup_card_dynamic(struct IsdnCard *card) | ||
1588 | { | ||
1589 | return 2; | ||
1590 | } | ||
1591 | |||
1583 | int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], | 1592 | int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], |
1584 | char *name, int protocol) | 1593 | char *name, int protocol) |
1585 | { | 1594 | { |
@@ -1599,7 +1608,8 @@ int hisax_register(struct hisax_d_if *hisax_d_if, struct hisax_b_if *b_if[], | |||
1599 | cards[i].protocol = protocol; | 1608 | cards[i].protocol = protocol; |
1600 | sprintf(id, "%s%d", name, i); | 1609 | sprintf(id, "%s%d", name, i); |
1601 | nrcards++; | 1610 | nrcards++; |
1602 | retval = checkcard(i, id, NULL, hisax_d_if->owner, hisax_cs_setup_card); | 1611 | retval = checkcard(i, id, NULL, hisax_d_if->owner, |
1612 | hisax_setup_card_dynamic); | ||
1603 | if (retval == 0) { // yuck | 1613 | if (retval == 0) { // yuck |
1604 | cards[i].typ = 0; | 1614 | cards[i].typ = 0; |
1605 | nrcards--; | 1615 | nrcards--; |
diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c index 2c21d4f25cc8..a98ab72adf95 100644 --- a/drivers/macintosh/rack-meter.c +++ b/drivers/macintosh/rack-meter.c | |||
@@ -288,7 +288,7 @@ static void __devexit rackmeter_stop_cpu_sniffer(struct rackmeter *rm) | |||
288 | cancel_rearming_delayed_work(&rm->cpu[1].sniffer); | 288 | cancel_rearming_delayed_work(&rm->cpu[1].sniffer); |
289 | } | 289 | } |
290 | 290 | ||
291 | static int rackmeter_setup(struct rackmeter *rm) | 291 | static int __devinit rackmeter_setup(struct rackmeter *rm) |
292 | { | 292 | { |
293 | pr_debug("rackmeter: setting up i2s..\n"); | 293 | pr_debug("rackmeter: setting up i2s..\n"); |
294 | rackmeter_setup_i2s(rm); | 294 | rackmeter_setup_i2s(rm); |
@@ -582,12 +582,12 @@ static struct of_device_id rackmeter_match[] = { | |||
582 | { } | 582 | { } |
583 | }; | 583 | }; |
584 | 584 | ||
585 | static struct macio_driver rackmeter_drv = { | 585 | static struct macio_driver rackmeter_driver = { |
586 | .name = "rackmeter", | 586 | .name = "rackmeter", |
587 | .owner = THIS_MODULE, | 587 | .owner = THIS_MODULE, |
588 | .match_table = rackmeter_match, | 588 | .match_table = rackmeter_match, |
589 | .probe = rackmeter_probe, | 589 | .probe = rackmeter_probe, |
590 | .remove = rackmeter_remove, | 590 | .remove = __devexit_p(rackmeter_remove), |
591 | .shutdown = rackmeter_shutdown, | 591 | .shutdown = rackmeter_shutdown, |
592 | }; | 592 | }; |
593 | 593 | ||
@@ -596,14 +596,14 @@ static int __init rackmeter_init(void) | |||
596 | { | 596 | { |
597 | pr_debug("rackmeter_init()\n"); | 597 | pr_debug("rackmeter_init()\n"); |
598 | 598 | ||
599 | return macio_register_driver(&rackmeter_drv); | 599 | return macio_register_driver(&rackmeter_driver); |
600 | } | 600 | } |
601 | 601 | ||
602 | static void __exit rackmeter_exit(void) | 602 | static void __exit rackmeter_exit(void) |
603 | { | 603 | { |
604 | pr_debug("rackmeter_exit()\n"); | 604 | pr_debug("rackmeter_exit()\n"); |
605 | 605 | ||
606 | macio_unregister_driver(&rackmeter_drv); | 606 | macio_unregister_driver(&rackmeter_driver); |
607 | } | 607 | } |
608 | 608 | ||
609 | module_init(rackmeter_init); | 609 | module_init(rackmeter_init); |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 36f2bb666bf7..8ed823ae639e 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -2330,7 +2330,7 @@ static void ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter, | |||
2330 | * Once we know the feature-set enabled for the device, we'll cache | 2330 | * Once we know the feature-set enabled for the device, we'll cache |
2331 | * the register offset the descriptor ring is assigned to. | 2331 | * the register offset the descriptor ring is assigned to. |
2332 | **/ | 2332 | **/ |
2333 | static void __devinit ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) | 2333 | static void ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) |
2334 | { | 2334 | { |
2335 | int feature_mask = 0, rss_i; | 2335 | int feature_mask = 0, rss_i; |
2336 | int i, txr_idx, rxr_idx; | 2336 | int i, txr_idx, rxr_idx; |
@@ -2367,7 +2367,7 @@ static void __devinit ixgbe_cache_ring_register(struct ixgbe_adapter *adapter) | |||
2367 | * number of queues at compile-time. The polling_netdev array is | 2367 | * number of queues at compile-time. The polling_netdev array is |
2368 | * intended for Multiqueue, but should work fine with a single queue. | 2368 | * intended for Multiqueue, but should work fine with a single queue. |
2369 | **/ | 2369 | **/ |
2370 | static int __devinit ixgbe_alloc_queues(struct ixgbe_adapter *adapter) | 2370 | static int ixgbe_alloc_queues(struct ixgbe_adapter *adapter) |
2371 | { | 2371 | { |
2372 | int i; | 2372 | int i; |
2373 | 2373 | ||
@@ -2408,8 +2408,7 @@ err_tx_ring_allocation: | |||
2408 | * Attempt to configure the interrupts using the best available | 2408 | * Attempt to configure the interrupts using the best available |
2409 | * capabilities of the hardware and the kernel. | 2409 | * capabilities of the hardware and the kernel. |
2410 | **/ | 2410 | **/ |
2411 | static int __devinit ixgbe_set_interrupt_capability(struct ixgbe_adapter | 2411 | static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter) |
2412 | *adapter) | ||
2413 | { | 2412 | { |
2414 | int err = 0; | 2413 | int err = 0; |
2415 | int vector, v_budget; | 2414 | int vector, v_budget; |
@@ -2501,7 +2500,7 @@ static void ixgbe_reset_interrupt_capability(struct ixgbe_adapter *adapter) | |||
2501 | * - Hardware queue count (num_*_queues) | 2500 | * - Hardware queue count (num_*_queues) |
2502 | * - defined by miscellaneous hardware support/features (RSS, etc.) | 2501 | * - defined by miscellaneous hardware support/features (RSS, etc.) |
2503 | **/ | 2502 | **/ |
2504 | static int __devinit ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter) | 2503 | static int ixgbe_init_interrupt_scheme(struct ixgbe_adapter *adapter) |
2505 | { | 2504 | { |
2506 | int err; | 2505 | int err; |
2507 | 2506 | ||
diff --git a/drivers/net/pcmcia/ibmtr_cs.c b/drivers/net/pcmcia/ibmtr_cs.c index cf3cca4642f2..f51944b28cfa 100644 --- a/drivers/net/pcmcia/ibmtr_cs.c +++ b/drivers/net/pcmcia/ibmtr_cs.c | |||
@@ -349,7 +349,7 @@ static int ibmtr_suspend(struct pcmcia_device *link) | |||
349 | return 0; | 349 | return 0; |
350 | } | 350 | } |
351 | 351 | ||
352 | static int ibmtr_resume(struct pcmcia_device *link) | 352 | static int __devinit ibmtr_resume(struct pcmcia_device *link) |
353 | { | 353 | { |
354 | ibmtr_dev_t *info = link->priv; | 354 | ibmtr_dev_t *info = link->priv; |
355 | struct net_device *dev = info->dev; | 355 | struct net_device *dev = info->dev; |
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index b185cd12269c..9a16a79b67d0 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c | |||
@@ -1735,7 +1735,7 @@ static const struct ethtool_ops smc911x_ethtool_ops = { | |||
1735 | * This routine has a simple purpose -- make the SMC chip generate an | 1735 | * This routine has a simple purpose -- make the SMC chip generate an |
1736 | * interrupt, so an auto-detect routine can detect it, and find the IRQ, | 1736 | * interrupt, so an auto-detect routine can detect it, and find the IRQ, |
1737 | */ | 1737 | */ |
1738 | static int __init smc911x_findirq(struct net_device *dev) | 1738 | static int __devinit smc911x_findirq(struct net_device *dev) |
1739 | { | 1739 | { |
1740 | struct smc911x_local *lp = netdev_priv(dev); | 1740 | struct smc911x_local *lp = netdev_priv(dev); |
1741 | int timeout = 20; | 1741 | int timeout = 20; |
@@ -1799,7 +1799,7 @@ static int __init smc911x_findirq(struct net_device *dev) | |||
1799 | * o actually GRAB the irq. | 1799 | * o actually GRAB the irq. |
1800 | * o GRAB the region | 1800 | * o GRAB the region |
1801 | */ | 1801 | */ |
1802 | static int __init smc911x_probe(struct net_device *dev) | 1802 | static int __devinit smc911x_probe(struct net_device *dev) |
1803 | { | 1803 | { |
1804 | struct smc911x_local *lp = netdev_priv(dev); | 1804 | struct smc911x_local *lp = netdev_priv(dev); |
1805 | int i, retval; | 1805 | int i, retval; |
@@ -2048,7 +2048,7 @@ err_out: | |||
2048 | * 0 --> there is a device | 2048 | * 0 --> there is a device |
2049 | * anything else, error | 2049 | * anything else, error |
2050 | */ | 2050 | */ |
2051 | static int smc911x_drv_probe(struct platform_device *pdev) | 2051 | static int __devinit smc911x_drv_probe(struct platform_device *pdev) |
2052 | { | 2052 | { |
2053 | #ifdef SMC_DYNAMIC_BUS_CONFIG | 2053 | #ifdef SMC_DYNAMIC_BUS_CONFIG |
2054 | struct smc911x_platdata *pd = pdev->dev.platform_data; | 2054 | struct smc911x_platdata *pd = pdev->dev.platform_data; |
@@ -2124,7 +2124,7 @@ out: | |||
2124 | return ret; | 2124 | return ret; |
2125 | } | 2125 | } |
2126 | 2126 | ||
2127 | static int smc911x_drv_remove(struct platform_device *pdev) | 2127 | static int __devexit smc911x_drv_remove(struct platform_device *pdev) |
2128 | { | 2128 | { |
2129 | struct net_device *ndev = platform_get_drvdata(pdev); | 2129 | struct net_device *ndev = platform_get_drvdata(pdev); |
2130 | struct smc911x_local *lp = netdev_priv(ndev); | 2130 | struct smc911x_local *lp = netdev_priv(ndev); |
@@ -2195,7 +2195,7 @@ static int smc911x_drv_resume(struct platform_device *dev) | |||
2195 | 2195 | ||
2196 | static struct platform_driver smc911x_driver = { | 2196 | static struct platform_driver smc911x_driver = { |
2197 | .probe = smc911x_drv_probe, | 2197 | .probe = smc911x_drv_probe, |
2198 | .remove = smc911x_drv_remove, | 2198 | .remove = __devexit_p(smc911x_drv_remove), |
2199 | .suspend = smc911x_drv_suspend, | 2199 | .suspend = smc911x_drv_suspend, |
2200 | .resume = smc911x_drv_resume, | 2200 | .resume = smc911x_drv_resume, |
2201 | .driver = { | 2201 | .driver = { |
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c index fc80f250da31..35c56abf4113 100644 --- a/drivers/net/smc91x.c +++ b/drivers/net/smc91x.c | |||
@@ -1696,7 +1696,7 @@ static const struct ethtool_ops smc_ethtool_ops = { | |||
1696 | * I just deleted auto_irq.c, since it was never built... | 1696 | * I just deleted auto_irq.c, since it was never built... |
1697 | * --jgarzik | 1697 | * --jgarzik |
1698 | */ | 1698 | */ |
1699 | static int __init smc_findirq(struct smc_local *lp) | 1699 | static int __devinit smc_findirq(struct smc_local *lp) |
1700 | { | 1700 | { |
1701 | void __iomem *ioaddr = lp->base; | 1701 | void __iomem *ioaddr = lp->base; |
1702 | int timeout = 20; | 1702 | int timeout = 20; |
@@ -1770,7 +1770,7 @@ static int __init smc_findirq(struct smc_local *lp) | |||
1770 | * o actually GRAB the irq. | 1770 | * o actually GRAB the irq. |
1771 | * o GRAB the region | 1771 | * o GRAB the region |
1772 | */ | 1772 | */ |
1773 | static int __init smc_probe(struct net_device *dev, void __iomem *ioaddr, | 1773 | static int __devinit smc_probe(struct net_device *dev, void __iomem *ioaddr, |
1774 | unsigned long irq_flags) | 1774 | unsigned long irq_flags) |
1775 | { | 1775 | { |
1776 | struct smc_local *lp = netdev_priv(dev); | 1776 | struct smc_local *lp = netdev_priv(dev); |
@@ -2126,7 +2126,7 @@ static void smc_release_datacs(struct platform_device *pdev, struct net_device * | |||
2126 | * 0 --> there is a device | 2126 | * 0 --> there is a device |
2127 | * anything else, error | 2127 | * anything else, error |
2128 | */ | 2128 | */ |
2129 | static int smc_drv_probe(struct platform_device *pdev) | 2129 | static int __devinit smc_drv_probe(struct platform_device *pdev) |
2130 | { | 2130 | { |
2131 | struct smc91x_platdata *pd = pdev->dev.platform_data; | 2131 | struct smc91x_platdata *pd = pdev->dev.platform_data; |
2132 | struct smc_local *lp; | 2132 | struct smc_local *lp; |
@@ -2240,7 +2240,7 @@ static int smc_drv_probe(struct platform_device *pdev) | |||
2240 | return ret; | 2240 | return ret; |
2241 | } | 2241 | } |
2242 | 2242 | ||
2243 | static int smc_drv_remove(struct platform_device *pdev) | 2243 | static int __devexit smc_drv_remove(struct platform_device *pdev) |
2244 | { | 2244 | { |
2245 | struct net_device *ndev = platform_get_drvdata(pdev); | 2245 | struct net_device *ndev = platform_get_drvdata(pdev); |
2246 | struct smc_local *lp = netdev_priv(ndev); | 2246 | struct smc_local *lp = netdev_priv(ndev); |
@@ -2305,7 +2305,7 @@ static int smc_drv_resume(struct platform_device *dev) | |||
2305 | 2305 | ||
2306 | static struct platform_driver smc_driver = { | 2306 | static struct platform_driver smc_driver = { |
2307 | .probe = smc_drv_probe, | 2307 | .probe = smc_drv_probe, |
2308 | .remove = smc_drv_remove, | 2308 | .remove = __devexit_p(smc_drv_remove), |
2309 | .suspend = smc_drv_suspend, | 2309 | .suspend = smc_drv_suspend, |
2310 | .resume = smc_drv_resume, | 2310 | .resume = smc_drv_resume, |
2311 | .driver = { | 2311 | .driver = { |
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index c6948d8f53f6..6d017adc914a 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
@@ -1785,7 +1785,7 @@ static int __devexit xennet_remove(struct xenbus_device *dev) | |||
1785 | return 0; | 1785 | return 0; |
1786 | } | 1786 | } |
1787 | 1787 | ||
1788 | static struct xenbus_driver netfront = { | 1788 | static struct xenbus_driver netfront_driver = { |
1789 | .name = "vif", | 1789 | .name = "vif", |
1790 | .owner = THIS_MODULE, | 1790 | .owner = THIS_MODULE, |
1791 | .ids = netfront_ids, | 1791 | .ids = netfront_ids, |
@@ -1805,7 +1805,7 @@ static int __init netif_init(void) | |||
1805 | 1805 | ||
1806 | printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n"); | 1806 | printk(KERN_INFO "Initialising Xen virtual ethernet driver.\n"); |
1807 | 1807 | ||
1808 | return xenbus_register_frontend(&netfront); | 1808 | return xenbus_register_frontend(&netfront_driver); |
1809 | } | 1809 | } |
1810 | module_init(netif_init); | 1810 | module_init(netif_init); |
1811 | 1811 | ||
@@ -1815,7 +1815,7 @@ static void __exit netif_exit(void) | |||
1815 | if (xen_initial_domain()) | 1815 | if (xen_initial_domain()) |
1816 | return; | 1816 | return; |
1817 | 1817 | ||
1818 | xenbus_unregister_driver(&netfront); | 1818 | xenbus_unregister_driver(&netfront_driver); |
1819 | } | 1819 | } |
1820 | module_exit(netif_exit); | 1820 | module_exit(netif_exit); |
1821 | 1821 | ||
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 28af496b441e..061d1ee0046a 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -2042,7 +2042,7 @@ static int __devinit pci_init(void) | |||
2042 | return 0; | 2042 | return 0; |
2043 | } | 2043 | } |
2044 | 2044 | ||
2045 | static int __devinit pci_setup(char *str) | 2045 | static int __init pci_setup(char *str) |
2046 | { | 2046 | { |
2047 | while (str) { | 2047 | while (str) { |
2048 | char *k = strchr(str, ','); | 2048 | char *k = strchr(str, ','); |
diff --git a/drivers/rapidio/rio-scan.c b/drivers/rapidio/rio-scan.c index a926c896475e..643a6b98462b 100644 --- a/drivers/rapidio/rio-scan.c +++ b/drivers/rapidio/rio-scan.c | |||
@@ -879,7 +879,7 @@ static void rio_update_route_tables(struct rio_mport *port) | |||
879 | * link, then start recursive peer enumeration. Returns %0 if | 879 | * link, then start recursive peer enumeration. Returns %0 if |
880 | * enumeration succeeds or %-EBUSY if enumeration fails. | 880 | * enumeration succeeds or %-EBUSY if enumeration fails. |
881 | */ | 881 | */ |
882 | int rio_enum_mport(struct rio_mport *mport) | 882 | int __devinit rio_enum_mport(struct rio_mport *mport) |
883 | { | 883 | { |
884 | struct rio_net *net = NULL; | 884 | struct rio_net *net = NULL; |
885 | int rc = 0; | 885 | int rc = 0; |
@@ -972,7 +972,7 @@ static void rio_enum_timeout(unsigned long data) | |||
972 | * peer discovery. Returns %0 if discovery succeeds or %-EBUSY | 972 | * peer discovery. Returns %0 if discovery succeeds or %-EBUSY |
973 | * on failure. | 973 | * on failure. |
974 | */ | 974 | */ |
975 | int rio_disc_mport(struct rio_mport *mport) | 975 | int __devinit rio_disc_mport(struct rio_mport *mport) |
976 | { | 976 | { |
977 | struct rio_net *net = NULL; | 977 | struct rio_net *net = NULL; |
978 | int enum_timeout_flag = 0; | 978 | int enum_timeout_flag = 0; |
diff --git a/drivers/rapidio/rio.c b/drivers/rapidio/rio.c index 680661abbc4b..6395c780008b 100644 --- a/drivers/rapidio/rio.c +++ b/drivers/rapidio/rio.c | |||
@@ -467,7 +467,7 @@ static int __devinit rio_init(void) | |||
467 | 467 | ||
468 | device_initcall(rio_init); | 468 | device_initcall(rio_init); |
469 | 469 | ||
470 | int rio_init_mports(void) | 470 | int __devinit rio_init_mports(void) |
471 | { | 471 | { |
472 | int rc = 0; | 472 | int rc = 0; |
473 | struct rio_mport *port; | 473 | struct rio_mport *port; |
diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c index f08e169ba1b5..054f5dd58931 100644 --- a/drivers/sbus/char/bbc_i2c.c +++ b/drivers/sbus/char/bbc_i2c.c | |||
@@ -361,7 +361,7 @@ fail: | |||
361 | extern int bbc_envctrl_init(struct bbc_i2c_bus *bp); | 361 | extern int bbc_envctrl_init(struct bbc_i2c_bus *bp); |
362 | extern void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp); | 362 | extern void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp); |
363 | 363 | ||
364 | static int __devinit bbc_i2c_probe(struct of_device *op, | 364 | static int __init bbc_i2c_probe(struct of_device *op, |
365 | const struct of_device_id *match) | 365 | const struct of_device_id *match) |
366 | { | 366 | { |
367 | struct bbc_i2c_bus *bp; | 367 | struct bbc_i2c_bus *bp; |
@@ -386,7 +386,7 @@ static int __devinit bbc_i2c_probe(struct of_device *op, | |||
386 | return err; | 386 | return err; |
387 | } | 387 | } |
388 | 388 | ||
389 | static int __devexit bbc_i2c_remove(struct of_device *op) | 389 | static int __exit bbc_i2c_remove(struct of_device *op) |
390 | { | 390 | { |
391 | struct bbc_i2c_bus *bp = dev_get_drvdata(&op->dev); | 391 | struct bbc_i2c_bus *bp = dev_get_drvdata(&op->dev); |
392 | 392 | ||
@@ -417,7 +417,7 @@ static struct of_platform_driver bbc_i2c_driver = { | |||
417 | .name = "bbc_i2c", | 417 | .name = "bbc_i2c", |
418 | .match_table = bbc_i2c_match, | 418 | .match_table = bbc_i2c_match, |
419 | .probe = bbc_i2c_probe, | 419 | .probe = bbc_i2c_probe, |
420 | .remove = __devexit_p(bbc_i2c_remove), | 420 | .remove = __exit_p(bbc_i2c_remove), |
421 | }; | 421 | }; |
422 | 422 | ||
423 | static int __init bbc_i2c_init(void) | 423 | static int __init bbc_i2c_init(void) |
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index 218777bfc143..399fe559e4de 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c | |||
@@ -13872,8 +13872,10 @@ static int __devinit advansys_board_found(struct Scsi_Host *shost, | |||
13872 | advansys_wide_free_mem(boardp); | 13872 | advansys_wide_free_mem(boardp); |
13873 | free_irq(boardp->irq, shost); | 13873 | free_irq(boardp->irq, shost); |
13874 | err_free_dma: | 13874 | err_free_dma: |
13875 | #ifdef CONFIG_ISA | ||
13875 | if (shost->dma_channel != NO_ISA_DMA) | 13876 | if (shost->dma_channel != NO_ISA_DMA) |
13876 | free_dma(shost->dma_channel); | 13877 | free_dma(shost->dma_channel); |
13878 | #endif | ||
13877 | err_free_proc: | 13879 | err_free_proc: |
13878 | kfree(boardp->prtbuf); | 13880 | kfree(boardp->prtbuf); |
13879 | err_unmap: | 13881 | err_unmap: |
@@ -13894,10 +13896,12 @@ static int advansys_release(struct Scsi_Host *shost) | |||
13894 | ASC_DBG(1, "begin\n"); | 13896 | ASC_DBG(1, "begin\n"); |
13895 | scsi_remove_host(shost); | 13897 | scsi_remove_host(shost); |
13896 | free_irq(board->irq, shost); | 13898 | free_irq(board->irq, shost); |
13899 | #ifdef CONFIG_ISA | ||
13897 | if (shost->dma_channel != NO_ISA_DMA) { | 13900 | if (shost->dma_channel != NO_ISA_DMA) { |
13898 | ASC_DBG(1, "free_dma()\n"); | 13901 | ASC_DBG(1, "free_dma()\n"); |
13899 | free_dma(shost->dma_channel); | 13902 | free_dma(shost->dma_channel); |
13900 | } | 13903 | } |
13904 | #endif | ||
13901 | if (ASC_NARROW_BOARD(board)) { | 13905 | if (ASC_NARROW_BOARD(board)) { |
13902 | dma_unmap_single(board->dev, | 13906 | dma_unmap_single(board->dev, |
13903 | board->dvc_var.asc_dvc_var.overrun_dma, | 13907 | board->dvc_var.asc_dvc_var.overrun_dma, |
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index c387c15a2128..fb247fdfa2bd 100644 --- a/drivers/scsi/gdth.c +++ b/drivers/scsi/gdth.c | |||
@@ -588,7 +588,7 @@ static struct pci_driver gdth_pci_driver = { | |||
588 | .remove = gdth_pci_remove_one, | 588 | .remove = gdth_pci_remove_one, |
589 | }; | 589 | }; |
590 | 590 | ||
591 | static void gdth_pci_remove_one(struct pci_dev *pdev) | 591 | static void __devexit gdth_pci_remove_one(struct pci_dev *pdev) |
592 | { | 592 | { |
593 | gdth_ha_str *ha = pci_get_drvdata(pdev); | 593 | gdth_ha_str *ha = pci_get_drvdata(pdev); |
594 | 594 | ||
@@ -600,7 +600,7 @@ static void gdth_pci_remove_one(struct pci_dev *pdev) | |||
600 | pci_disable_device(pdev); | 600 | pci_disable_device(pdev); |
601 | } | 601 | } |
602 | 602 | ||
603 | static int gdth_pci_init_one(struct pci_dev *pdev, | 603 | static int __devinit gdth_pci_init_one(struct pci_dev *pdev, |
604 | const struct pci_device_id *ent) | 604 | const struct pci_device_id *ent) |
605 | { | 605 | { |
606 | ushort vendor = pdev->vendor; | 606 | ushort vendor = pdev->vendor; |
@@ -853,7 +853,7 @@ static int __init gdth_init_isa(ulong32 bios_adr,gdth_ha_str *ha) | |||
853 | #endif /* CONFIG_ISA */ | 853 | #endif /* CONFIG_ISA */ |
854 | 854 | ||
855 | #ifdef CONFIG_PCI | 855 | #ifdef CONFIG_PCI |
856 | static int gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr, | 856 | static int __devinit gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr, |
857 | gdth_ha_str *ha) | 857 | gdth_ha_str *ha) |
858 | { | 858 | { |
859 | register gdt6_dpram_str __iomem *dp6_ptr; | 859 | register gdt6_dpram_str __iomem *dp6_ptr; |
@@ -1237,7 +1237,7 @@ static int gdth_init_pci(struct pci_dev *pdev, gdth_pci_str *pcistr, | |||
1237 | 1237 | ||
1238 | /* controller protocol functions */ | 1238 | /* controller protocol functions */ |
1239 | 1239 | ||
1240 | static void __init gdth_enable_int(gdth_ha_str *ha) | 1240 | static void __devinit gdth_enable_int(gdth_ha_str *ha) |
1241 | { | 1241 | { |
1242 | ulong flags; | 1242 | ulong flags; |
1243 | gdt2_dpram_str __iomem *dp2_ptr; | 1243 | gdt2_dpram_str __iomem *dp2_ptr; |
@@ -1553,7 +1553,7 @@ static int gdth_internal_cmd(gdth_ha_str *ha, unchar service, ushort opcode, | |||
1553 | 1553 | ||
1554 | /* search for devices */ | 1554 | /* search for devices */ |
1555 | 1555 | ||
1556 | static int __init gdth_search_drives(gdth_ha_str *ha) | 1556 | static int __devinit gdth_search_drives(gdth_ha_str *ha) |
1557 | { | 1557 | { |
1558 | ushort cdev_cnt, i; | 1558 | ushort cdev_cnt, i; |
1559 | int ok; | 1559 | int ok; |
@@ -4935,7 +4935,7 @@ static int __init gdth_eisa_probe_one(ushort eisa_slot) | |||
4935 | #endif /* CONFIG_EISA */ | 4935 | #endif /* CONFIG_EISA */ |
4936 | 4936 | ||
4937 | #ifdef CONFIG_PCI | 4937 | #ifdef CONFIG_PCI |
4938 | static int gdth_pci_probe_one(gdth_pci_str *pcistr, | 4938 | static int __devinit gdth_pci_probe_one(gdth_pci_str *pcistr, |
4939 | gdth_ha_str **ha_out) | 4939 | gdth_ha_str **ha_out) |
4940 | { | 4940 | { |
4941 | struct Scsi_Host *shp; | 4941 | struct Scsi_Host *shp; |
diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c index a463b3dd837b..2493f05e9f61 100644 --- a/drivers/video/xen-fbfront.c +++ b/drivers/video/xen-fbfront.c | |||
@@ -668,7 +668,7 @@ static struct xenbus_device_id xenfb_ids[] = { | |||
668 | { "" } | 668 | { "" } |
669 | }; | 669 | }; |
670 | 670 | ||
671 | static struct xenbus_driver xenfb = { | 671 | static struct xenbus_driver xenfb_driver = { |
672 | .name = "vfb", | 672 | .name = "vfb", |
673 | .owner = THIS_MODULE, | 673 | .owner = THIS_MODULE, |
674 | .ids = xenfb_ids, | 674 | .ids = xenfb_ids, |
@@ -687,12 +687,12 @@ static int __init xenfb_init(void) | |||
687 | if (xen_initial_domain()) | 687 | if (xen_initial_domain()) |
688 | return -ENODEV; | 688 | return -ENODEV; |
689 | 689 | ||
690 | return xenbus_register_frontend(&xenfb); | 690 | return xenbus_register_frontend(&xenfb_driver); |
691 | } | 691 | } |
692 | 692 | ||
693 | static void __exit xenfb_cleanup(void) | 693 | static void __exit xenfb_cleanup(void) |
694 | { | 694 | { |
695 | xenbus_unregister_driver(&xenfb); | 695 | xenbus_unregister_driver(&xenfb_driver); |
696 | } | 696 | } |
697 | 697 | ||
698 | module_init(xenfb_init); | 698 | module_init(xenfb_init); |
diff --git a/drivers/w1/masters/Kconfig b/drivers/w1/masters/Kconfig index a14d5b6e4c7c..90616822cd20 100644 --- a/drivers/w1/masters/Kconfig +++ b/drivers/w1/masters/Kconfig | |||
@@ -36,7 +36,7 @@ config W1_MASTER_DS2482 | |||
36 | 36 | ||
37 | config W1_MASTER_DS1WM | 37 | config W1_MASTER_DS1WM |
38 | tristate "Maxim DS1WM 1-wire busmaster" | 38 | tristate "Maxim DS1WM 1-wire busmaster" |
39 | depends on W1 && ARM | 39 | depends on W1 && ARM && HAVE_CLK |
40 | help | 40 | help |
41 | Say Y here to enable the DS1WM 1-wire driver, such as that | 41 | Say Y here to enable the DS1WM 1-wire driver, such as that |
42 | in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like | 42 | in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like |
diff --git a/include/linux/memory.h b/include/linux/memory.h index 2f5f8a5ef2a0..36c82c9e6ea7 100644 --- a/include/linux/memory.h +++ b/include/linux/memory.h | |||
@@ -91,7 +91,7 @@ extern int memory_notify(unsigned long val, void *v); | |||
91 | 91 | ||
92 | #ifdef CONFIG_MEMORY_HOTPLUG | 92 | #ifdef CONFIG_MEMORY_HOTPLUG |
93 | #define hotplug_memory_notifier(fn, pri) { \ | 93 | #define hotplug_memory_notifier(fn, pri) { \ |
94 | static struct notifier_block fn##_mem_nb = \ | 94 | static __meminitdata struct notifier_block fn##_mem_nb =\ |
95 | { .notifier_call = fn, .priority = pri }; \ | 95 | { .notifier_call = fn, .priority = pri }; \ |
96 | register_memory_notifier(&fn##_mem_nb); \ | 96 | register_memory_notifier(&fn##_mem_nb); \ |
97 | } | 97 | } |
diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h index f546ad6fc028..1e6d34bfa094 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h | |||
@@ -17,7 +17,7 @@ struct page_cgroup { | |||
17 | struct list_head lru; /* per cgroup LRU list */ | 17 | struct list_head lru; /* per cgroup LRU list */ |
18 | }; | 18 | }; |
19 | 19 | ||
20 | void __init pgdat_page_cgroup_init(struct pglist_data *pgdat); | 20 | void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat); |
21 | void __init page_cgroup_init(void); | 21 | void __init page_cgroup_init(void); |
22 | struct page_cgroup *lookup_page_cgroup(struct page *page); | 22 | struct page_cgroup *lookup_page_cgroup(struct page *page); |
23 | 23 | ||
@@ -91,7 +91,7 @@ static inline void unlock_page_cgroup(struct page_cgroup *pc) | |||
91 | #else /* CONFIG_CGROUP_MEM_RES_CTLR */ | 91 | #else /* CONFIG_CGROUP_MEM_RES_CTLR */ |
92 | struct page_cgroup; | 92 | struct page_cgroup; |
93 | 93 | ||
94 | static inline void pgdat_page_cgroup_init(struct pglist_data *pgdat) | 94 | static inline void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) |
95 | { | 95 | { |
96 | } | 96 | } |
97 | 97 | ||
diff --git a/kernel/cpu.c b/kernel/cpu.c index 5a732c5ef08b..8ea32e8d68b0 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
@@ -462,7 +462,7 @@ out: | |||
462 | * It must be called by the arch code on the new cpu, before the new cpu | 462 | * It must be called by the arch code on the new cpu, before the new cpu |
463 | * enables interrupts and before the "boot" cpu returns from __cpu_up(). | 463 | * enables interrupts and before the "boot" cpu returns from __cpu_up(). |
464 | */ | 464 | */ |
465 | void notify_cpu_starting(unsigned int cpu) | 465 | void __cpuinit notify_cpu_starting(unsigned int cpu) |
466 | { | 466 | { |
467 | unsigned long val = CPU_STARTING; | 467 | unsigned long val = CPU_STARTING; |
468 | 468 | ||
diff --git a/kernel/profile.c b/kernel/profile.c index 5b7d1ac7124c..dc41827fbfee 100644 --- a/kernel/profile.c +++ b/kernel/profile.c | |||
@@ -351,7 +351,7 @@ out: | |||
351 | put_cpu(); | 351 | put_cpu(); |
352 | } | 352 | } |
353 | 353 | ||
354 | static int __devinit profile_cpu_callback(struct notifier_block *info, | 354 | static int __cpuinit profile_cpu_callback(struct notifier_block *info, |
355 | unsigned long action, void *__cpu) | 355 | unsigned long action, void *__cpu) |
356 | { | 356 | { |
357 | int node, cpu = (unsigned long)__cpu; | 357 | int node, cpu = (unsigned long)__cpu; |
@@ -596,7 +596,7 @@ out_cleanup: | |||
596 | #define create_hash_tables() ({ 0; }) | 596 | #define create_hash_tables() ({ 0; }) |
597 | #endif | 597 | #endif |
598 | 598 | ||
599 | int create_proc_profile(void) | 599 | int __ref create_proc_profile(void) /* false positive from hotcpu_notifier */ |
600 | { | 600 | { |
601 | struct proc_dir_entry *entry; | 601 | struct proc_dir_entry *entry; |
602 | 602 | ||
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index b5b2b15085a8..b17371185468 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c | |||
@@ -189,7 +189,7 @@ static void grow_pgdat_span(struct pglist_data *pgdat, unsigned long start_pfn, | |||
189 | pgdat->node_start_pfn; | 189 | pgdat->node_start_pfn; |
190 | } | 190 | } |
191 | 191 | ||
192 | static int __add_zone(struct zone *zone, unsigned long phys_start_pfn) | 192 | static int __meminit __add_zone(struct zone *zone, unsigned long phys_start_pfn) |
193 | { | 193 | { |
194 | struct pglist_data *pgdat = zone->zone_pgdat; | 194 | struct pglist_data *pgdat = zone->zone_pgdat; |
195 | int nr_pages = PAGES_PER_SECTION; | 195 | int nr_pages = PAGES_PER_SECTION; |
@@ -216,7 +216,7 @@ static int __add_zone(struct zone *zone, unsigned long phys_start_pfn) | |||
216 | return 0; | 216 | return 0; |
217 | } | 217 | } |
218 | 218 | ||
219 | static int __add_section(struct zone *zone, unsigned long phys_start_pfn) | 219 | static int __meminit __add_section(struct zone *zone, unsigned long phys_start_pfn) |
220 | { | 220 | { |
221 | int nr_pages = PAGES_PER_SECTION; | 221 | int nr_pages = PAGES_PER_SECTION; |
222 | int ret; | 222 | int ret; |
@@ -273,7 +273,7 @@ static int __remove_section(struct zone *zone, struct mem_section *ms) | |||
273 | * call this function after deciding the zone to which to | 273 | * call this function after deciding the zone to which to |
274 | * add the new pages. | 274 | * add the new pages. |
275 | */ | 275 | */ |
276 | int __add_pages(struct zone *zone, unsigned long phys_start_pfn, | 276 | int __ref __add_pages(struct zone *zone, unsigned long phys_start_pfn, |
277 | unsigned long nr_pages) | 277 | unsigned long nr_pages) |
278 | { | 278 | { |
279 | unsigned long i; | 279 | unsigned long i; |
@@ -470,7 +470,8 @@ static void rollback_node_hotadd(int nid, pg_data_t *pgdat) | |||
470 | } | 470 | } |
471 | 471 | ||
472 | 472 | ||
473 | int add_memory(int nid, u64 start, u64 size) | 473 | /* we are OK calling __meminit stuff here - we have CONFIG_MEMORY_HOTPLUG */ |
474 | int __ref add_memory(int nid, u64 start, u64 size) | ||
474 | { | 475 | { |
475 | pg_data_t *pgdat = NULL; | 476 | pg_data_t *pgdat = NULL; |
476 | int new_pgdat = 0; | 477 | int new_pgdat = 0; |
diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c index 1223d927904d..436c00229e70 100644 --- a/mm/page_cgroup.c +++ b/mm/page_cgroup.c | |||
@@ -21,7 +21,7 @@ static unsigned long total_usage; | |||
21 | #if !defined(CONFIG_SPARSEMEM) | 21 | #if !defined(CONFIG_SPARSEMEM) |
22 | 22 | ||
23 | 23 | ||
24 | void __init pgdat_page_cgroup_init(struct pglist_data *pgdat) | 24 | void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) |
25 | { | 25 | { |
26 | pgdat->node_page_cgroup = NULL; | 26 | pgdat->node_page_cgroup = NULL; |
27 | } | 27 | } |
@@ -97,7 +97,8 @@ struct page_cgroup *lookup_page_cgroup(struct page *page) | |||
97 | return section->page_cgroup + pfn; | 97 | return section->page_cgroup + pfn; |
98 | } | 98 | } |
99 | 99 | ||
100 | int __meminit init_section_page_cgroup(unsigned long pfn) | 100 | /* __alloc_bootmem...() is protected by !slab_available() */ |
101 | int __init_refok init_section_page_cgroup(unsigned long pfn) | ||
101 | { | 102 | { |
102 | struct mem_section *section; | 103 | struct mem_section *section; |
103 | struct page_cgroup *base, *pc; | 104 | struct page_cgroup *base, *pc; |
@@ -158,7 +159,7 @@ void __free_page_cgroup(unsigned long pfn) | |||
158 | } | 159 | } |
159 | } | 160 | } |
160 | 161 | ||
161 | int online_page_cgroup(unsigned long start_pfn, | 162 | int __meminit online_page_cgroup(unsigned long start_pfn, |
162 | unsigned long nr_pages, | 163 | unsigned long nr_pages, |
163 | int nid) | 164 | int nid) |
164 | { | 165 | { |
@@ -183,7 +184,7 @@ int online_page_cgroup(unsigned long start_pfn, | |||
183 | return -ENOMEM; | 184 | return -ENOMEM; |
184 | } | 185 | } |
185 | 186 | ||
186 | int offline_page_cgroup(unsigned long start_pfn, | 187 | int __meminit offline_page_cgroup(unsigned long start_pfn, |
187 | unsigned long nr_pages, int nid) | 188 | unsigned long nr_pages, int nid) |
188 | { | 189 | { |
189 | unsigned long start, end, pfn; | 190 | unsigned long start, end, pfn; |
@@ -197,7 +198,7 @@ int offline_page_cgroup(unsigned long start_pfn, | |||
197 | 198 | ||
198 | } | 199 | } |
199 | 200 | ||
200 | static int page_cgroup_callback(struct notifier_block *self, | 201 | static int __meminit page_cgroup_callback(struct notifier_block *self, |
201 | unsigned long action, void *arg) | 202 | unsigned long action, void *arg) |
202 | { | 203 | { |
203 | struct memory_notify *mn = arg; | 204 | struct memory_notify *mn = arg; |
@@ -248,7 +249,7 @@ void __init page_cgroup_init(void) | |||
248 | " want\n"); | 249 | " want\n"); |
249 | } | 250 | } |
250 | 251 | ||
251 | void __init pgdat_page_cgroup_init(struct pglist_data *pgdat) | 252 | void __meminit pgdat_page_cgroup_init(struct pglist_data *pgdat) |
252 | { | 253 | { |
253 | return; | 254 | return; |
254 | } | 255 | } |
diff --git a/mm/sparse.c b/mm/sparse.c index 39db301b920d..083f5b63e7a8 100644 --- a/mm/sparse.c +++ b/mm/sparse.c | |||
@@ -570,7 +570,7 @@ static void free_section_usemap(struct page *memmap, unsigned long *usemap) | |||
570 | * set. If this is <=0, then that means that the passed-in | 570 | * set. If this is <=0, then that means that the passed-in |
571 | * map was not consumed and must be freed. | 571 | * map was not consumed and must be freed. |
572 | */ | 572 | */ |
573 | int sparse_add_one_section(struct zone *zone, unsigned long start_pfn, | 573 | int __meminit sparse_add_one_section(struct zone *zone, unsigned long start_pfn, |
574 | int nr_pages) | 574 | int nr_pages) |
575 | { | 575 | { |
576 | unsigned long section_nr = pfn_to_section_nr(start_pfn); | 576 | unsigned long section_nr = pfn_to_section_nr(start_pfn); |
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c index d44bf98e965e..6c427bbac326 100644 --- a/sound/sparc/cs4231.c +++ b/sound/sparc/cs4231.c | |||
@@ -1856,7 +1856,7 @@ static int __init snd_cs4231_sbus_create(struct snd_card *card, | |||
1856 | return 0; | 1856 | return 0; |
1857 | } | 1857 | } |
1858 | 1858 | ||
1859 | static int __devinit cs4231_sbus_probe(struct of_device *op, const struct of_device_id *match) | 1859 | static int __init cs4231_sbus_probe(struct of_device *op, const struct of_device_id *match) |
1860 | { | 1860 | { |
1861 | struct resource *rp = &op->resource[0]; | 1861 | struct resource *rp = &op->resource[0]; |
1862 | struct snd_card *card; | 1862 | struct snd_card *card; |
@@ -2048,7 +2048,7 @@ static int __init snd_cs4231_ebus_create(struct snd_card *card, | |||
2048 | return 0; | 2048 | return 0; |
2049 | } | 2049 | } |
2050 | 2050 | ||
2051 | static int __devinit cs4231_ebus_probe(struct of_device *op, const struct of_device_id *match) | 2051 | static int __init cs4231_ebus_probe(struct of_device *op, const struct of_device_id *match) |
2052 | { | 2052 | { |
2053 | struct snd_card *card; | 2053 | struct snd_card *card; |
2054 | int err; | 2054 | int err; |
@@ -2072,7 +2072,7 @@ static int __devinit cs4231_ebus_probe(struct of_device *op, const struct of_dev | |||
2072 | } | 2072 | } |
2073 | #endif | 2073 | #endif |
2074 | 2074 | ||
2075 | static int __devinit cs4231_probe(struct of_device *op, const struct of_device_id *match) | 2075 | static int __init cs4231_probe(struct of_device *op, const struct of_device_id *match) |
2076 | { | 2076 | { |
2077 | #ifdef EBUS_SUPPORT | 2077 | #ifdef EBUS_SUPPORT |
2078 | if (!strcmp(op->node->parent->name, "ebus")) | 2078 | if (!strcmp(op->node->parent->name, "ebus")) |
@@ -2086,7 +2086,7 @@ static int __devinit cs4231_probe(struct of_device *op, const struct of_device_i | |||
2086 | return -ENODEV; | 2086 | return -ENODEV; |
2087 | } | 2087 | } |
2088 | 2088 | ||
2089 | static int __devexit cs4231_remove(struct of_device *op) | 2089 | static int __exit cs4231_remove(struct of_device *op) |
2090 | { | 2090 | { |
2091 | struct snd_cs4231 *chip = dev_get_drvdata(&op->dev); | 2091 | struct snd_cs4231 *chip = dev_get_drvdata(&op->dev); |
2092 | 2092 | ||
@@ -2112,7 +2112,7 @@ static struct of_platform_driver cs4231_driver = { | |||
2112 | .name = "audio", | 2112 | .name = "audio", |
2113 | .match_table = cs4231_match, | 2113 | .match_table = cs4231_match, |
2114 | .probe = cs4231_probe, | 2114 | .probe = cs4231_probe, |
2115 | .remove = __devexit_p(cs4231_remove), | 2115 | .remove = __exit_p(cs4231_remove), |
2116 | }; | 2116 | }; |
2117 | 2117 | ||
2118 | static int __init cs4231_init(void) | 2118 | static int __init cs4231_init(void) |