diff options
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/irq.c | 12 | ||||
-rw-r--r-- | arch/sparc/kernel/of_device.c | 5 | ||||
-rw-r--r-- | arch/sparc/kernel/time.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/vmlinux.lds.S | 165 |
4 files changed, 106 insertions, 80 deletions
diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c index b76dc03fc318..722d67d32961 100644 --- a/arch/sparc/kernel/irq.c +++ b/arch/sparc/kernel/irq.c | |||
@@ -56,7 +56,7 @@ | |||
56 | #define SMP_NOP2 | 56 | #define SMP_NOP2 |
57 | #define SMP_NOP3 | 57 | #define SMP_NOP3 |
58 | #endif /* SMP */ | 58 | #endif /* SMP */ |
59 | unsigned long __local_irq_save(void) | 59 | unsigned long __raw_local_irq_save(void) |
60 | { | 60 | { |
61 | unsigned long retval; | 61 | unsigned long retval; |
62 | unsigned long tmp; | 62 | unsigned long tmp; |
@@ -74,7 +74,7 @@ unsigned long __local_irq_save(void) | |||
74 | return retval; | 74 | return retval; |
75 | } | 75 | } |
76 | 76 | ||
77 | void local_irq_enable(void) | 77 | void raw_local_irq_enable(void) |
78 | { | 78 | { |
79 | unsigned long tmp; | 79 | unsigned long tmp; |
80 | 80 | ||
@@ -89,7 +89,7 @@ void local_irq_enable(void) | |||
89 | : "memory"); | 89 | : "memory"); |
90 | } | 90 | } |
91 | 91 | ||
92 | void local_irq_restore(unsigned long old_psr) | 92 | void raw_local_irq_restore(unsigned long old_psr) |
93 | { | 93 | { |
94 | unsigned long tmp; | 94 | unsigned long tmp; |
95 | 95 | ||
@@ -105,9 +105,9 @@ void local_irq_restore(unsigned long old_psr) | |||
105 | : "memory"); | 105 | : "memory"); |
106 | } | 106 | } |
107 | 107 | ||
108 | EXPORT_SYMBOL(__local_irq_save); | 108 | EXPORT_SYMBOL(__raw_local_irq_save); |
109 | EXPORT_SYMBOL(local_irq_enable); | 109 | EXPORT_SYMBOL(raw_local_irq_enable); |
110 | EXPORT_SYMBOL(local_irq_restore); | 110 | EXPORT_SYMBOL(raw_local_irq_restore); |
111 | 111 | ||
112 | /* | 112 | /* |
113 | * Dave Redman (djhr@tadpole.co.uk) | 113 | * Dave Redman (djhr@tadpole.co.uk) |
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c index 36383f73d685..fb2caef79cec 100644 --- a/arch/sparc/kernel/of_device.c +++ b/arch/sparc/kernel/of_device.c | |||
@@ -588,7 +588,10 @@ __setup("of_debug=", of_debug); | |||
588 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) | 588 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) |
589 | { | 589 | { |
590 | /* initialize common driver fields */ | 590 | /* initialize common driver fields */ |
591 | drv->driver.name = drv->name; | 591 | if (!drv->driver.name) |
592 | drv->driver.name = drv->name; | ||
593 | if (!drv->driver.owner) | ||
594 | drv->driver.owner = drv->owner; | ||
592 | drv->driver.bus = bus; | 595 | drv->driver.bus = bus; |
593 | 596 | ||
594 | /* register with core */ | 597 | /* register with core */ |
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c index 6a2513321620..4bf78a5e8e0f 100644 --- a/arch/sparc/kernel/time.c +++ b/arch/sparc/kernel/time.c | |||
@@ -347,9 +347,11 @@ static struct of_device_id clock_match[] = { | |||
347 | }; | 347 | }; |
348 | 348 | ||
349 | static struct of_platform_driver clock_driver = { | 349 | static struct of_platform_driver clock_driver = { |
350 | .name = "clock", | ||
351 | .match_table = clock_match, | 350 | .match_table = clock_match, |
352 | .probe = clock_probe, | 351 | .probe = clock_probe, |
352 | .driver = { | ||
353 | .name = "clock", | ||
354 | }, | ||
353 | }; | 355 | }; |
354 | 356 | ||
355 | 357 | ||
diff --git a/arch/sparc/kernel/vmlinux.lds.S b/arch/sparc/kernel/vmlinux.lds.S index 15109c156e83..a8b4200f9cc3 100644 --- a/arch/sparc/kernel/vmlinux.lds.S +++ b/arch/sparc/kernel/vmlinux.lds.S | |||
@@ -1,6 +1,7 @@ | |||
1 | /* ld script to make SparcLinux kernel */ | 1 | /* ld script to make SparcLinux kernel */ |
2 | 2 | ||
3 | #include <asm-generic/vmlinux.lds.h> | 3 | #include <asm-generic/vmlinux.lds.h> |
4 | #include <asm/page.h> | ||
4 | 5 | ||
5 | OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc") | 6 | OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc") |
6 | OUTPUT_ARCH(sparc) | 7 | OUTPUT_ARCH(sparc) |
@@ -8,84 +9,104 @@ ENTRY(_start) | |||
8 | jiffies = jiffies_64 + 4; | 9 | jiffies = jiffies_64 + 4; |
9 | SECTIONS | 10 | SECTIONS |
10 | { | 11 | { |
11 | . = 0x10000 + SIZEOF_HEADERS; | 12 | . = 0x10000 + SIZEOF_HEADERS; |
12 | .text 0xf0004000 : | 13 | .text 0xf0004000 : |
13 | { | 14 | { |
14 | _text = .; | 15 | _text = .; |
15 | TEXT_TEXT | 16 | TEXT_TEXT |
16 | SCHED_TEXT | 17 | SCHED_TEXT |
17 | LOCK_TEXT | 18 | LOCK_TEXT |
18 | *(.gnu.warning) | 19 | *(.gnu.warning) |
19 | } =0 | 20 | } = 0 |
20 | _etext = .; | 21 | _etext = .; |
21 | PROVIDE (etext = .); | 22 | PROVIDE (etext = .); |
22 | RODATA | 23 | RODATA |
23 | .data : | 24 | .data : { |
24 | { | 25 | DATA_DATA |
25 | DATA_DATA | 26 | CONSTRUCTORS |
26 | CONSTRUCTORS | 27 | } |
27 | } | 28 | .data1 : { |
28 | .data1 : { *(.data1) } | 29 | *(.data1) |
29 | _edata = .; | 30 | } |
30 | PROVIDE (edata = .); | 31 | _edata = .; |
31 | __start___fixup = .; | 32 | PROVIDE (edata = .); |
32 | .fixup : { *(.fixup) } | ||
33 | __stop___fixup = .; | ||
34 | __start___ex_table = .; | ||
35 | __ex_table : { *(__ex_table) } | ||
36 | __stop___ex_table = .; | ||
37 | 33 | ||
38 | NOTES | 34 | .fixup : { |
35 | __start___fixup = .; | ||
36 | *(.fixup) | ||
37 | __stop___fixup = .; | ||
38 | } | ||
39 | __ex_table : { | ||
40 | __start___ex_table = .; | ||
41 | *(__ex_table) | ||
42 | __stop___ex_table = .; | ||
43 | } | ||
39 | 44 | ||
40 | . = ALIGN(4096); | 45 | NOTES |
41 | __init_begin = .; | 46 | |
42 | _sinittext = .; | 47 | . = ALIGN(PAGE_SIZE); |
43 | .init.text : { | 48 | __init_begin = .; |
44 | *(.init.text) | 49 | .init.text : { |
45 | } | 50 | _sinittext = .; |
46 | _einittext = .; | 51 | *(.init.text) |
47 | __init_text_end = .; | 52 | _einittext = .; |
48 | .init.data : { *(.init.data) } | 53 | } |
49 | . = ALIGN(16); | 54 | __init_text_end = .; |
50 | __setup_start = .; | 55 | .init.data : { |
51 | .init.setup : { *(.init.setup) } | 56 | *(.init.data) |
52 | __setup_end = .; | 57 | } |
53 | __initcall_start = .; | 58 | . = ALIGN(16); |
54 | .initcall.init : { | 59 | .init.setup : { |
55 | INITCALLS | 60 | __setup_start = .; |
56 | } | 61 | *(.init.setup) |
57 | __initcall_end = .; | 62 | __setup_end = .; |
58 | __con_initcall_start = .; | 63 | } |
59 | .con_initcall.init : { *(.con_initcall.init) } | 64 | .initcall.init : { |
60 | __con_initcall_end = .; | 65 | __initcall_start = .; |
61 | SECURITY_INIT | 66 | INITCALLS |
67 | __initcall_end = .; | ||
68 | } | ||
69 | .con_initcall.init : { | ||
70 | __con_initcall_start = .; | ||
71 | *(.con_initcall.init) | ||
72 | __con_initcall_end = .; | ||
73 | } | ||
74 | SECURITY_INIT | ||
62 | 75 | ||
63 | #ifdef CONFIG_BLK_DEV_INITRD | 76 | #ifdef CONFIG_BLK_DEV_INITRD |
64 | . = ALIGN(4096); | 77 | . = ALIGN(PAGE_SIZE); |
65 | __initramfs_start = .; | 78 | .init.ramfs : { |
66 | .init.ramfs : { *(.init.ramfs) } | 79 | __initramfs_start = .; |
67 | __initramfs_end = .; | 80 | *(.init.ramfs) |
81 | __initramfs_end = .; | ||
82 | } | ||
68 | #endif | 83 | #endif |
69 | 84 | ||
70 | PERCPU(4096) | 85 | PERCPU(PAGE_SIZE) |
71 | . = ALIGN(4096); | 86 | . = ALIGN(PAGE_SIZE); |
72 | __init_end = .; | 87 | __init_end = .; |
73 | . = ALIGN(32); | 88 | . = ALIGN(32); |
74 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 89 | .data.cacheline_aligned : { |
75 | 90 | *(.data.cacheline_aligned) | |
76 | __bss_start = .; | 91 | } |
77 | .sbss : { *(.sbss) *(.scommon) } | ||
78 | .bss : | ||
79 | { | ||
80 | *(.dynbss) | ||
81 | *(.bss) | ||
82 | *(COMMON) | ||
83 | } | ||
84 | _end = . ; | ||
85 | PROVIDE (end = .); | ||
86 | /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) } | ||
87 | 92 | ||
88 | STABS_DEBUG | 93 | __bss_start = .; |
94 | .sbss : { | ||
95 | *(.sbss) | ||
96 | *(.scommon) } | ||
97 | .bss : { | ||
98 | *(.dynbss) | ||
99 | *(.bss) | ||
100 | *(COMMON) | ||
101 | } | ||
102 | _end = . ; | ||
103 | PROVIDE (end = .); | ||
104 | /DISCARD/ : { | ||
105 | *(.exit.text) | ||
106 | *(.exit.data) | ||
107 | *(.exitcall.exit) | ||
108 | } | ||
89 | 109 | ||
90 | DWARF_DEBUG | 110 | STABS_DEBUG |
111 | DWARF_DEBUG | ||
91 | } | 112 | } |