diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2006-12-17 19:18:47 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-17 19:18:47 -0500 |
commit | 8a8b836b91aa170a383f2f360b73d3d23160d9d7 (patch) | |
tree | 875a635f634a869b801c4efa8f145c5b7b7db8e4 /arch/sparc/kernel | |
parent | 216da721b881838d639a3987bf8a825e6b4aacdd (diff) |
[SPARC]: Make bitops use same spinlocks as atomics.
Recent workqueue changes basically make this a formal requirement.
Also, move atomic32.o from lib-y to obj-y since it exports symbols
to modules.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/sparc_ksyms.c | 8 | ||||
-rw-r--r-- | arch/sparc/kernel/time.c | 5 |
2 files changed, 1 insertions, 12 deletions
diff --git a/arch/sparc/kernel/sparc_ksyms.c b/arch/sparc/kernel/sparc_ksyms.c index 33dadd9f2871..d8e008a04e2b 100644 --- a/arch/sparc/kernel/sparc_ksyms.c +++ b/arch/sparc/kernel/sparc_ksyms.c | |||
@@ -83,9 +83,6 @@ extern int __divdi3(int, int); | |||
83 | /* Private functions with odd calling conventions. */ | 83 | /* Private functions with odd calling conventions. */ |
84 | extern void ___atomic24_add(void); | 84 | extern void ___atomic24_add(void); |
85 | extern void ___atomic24_sub(void); | 85 | extern void ___atomic24_sub(void); |
86 | extern void ___set_bit(void); | ||
87 | extern void ___clear_bit(void); | ||
88 | extern void ___change_bit(void); | ||
89 | extern void ___rw_read_enter(void); | 86 | extern void ___rw_read_enter(void); |
90 | extern void ___rw_read_try(void); | 87 | extern void ___rw_read_try(void); |
91 | extern void ___rw_read_exit(void); | 88 | extern void ___rw_read_exit(void); |
@@ -125,11 +122,6 @@ EXPORT_SYMBOL(pfn_base); | |||
125 | EXPORT_SYMBOL(___atomic24_add); | 122 | EXPORT_SYMBOL(___atomic24_add); |
126 | EXPORT_SYMBOL(___atomic24_sub); | 123 | EXPORT_SYMBOL(___atomic24_sub); |
127 | 124 | ||
128 | /* Bit operations. */ | ||
129 | EXPORT_SYMBOL(___set_bit); | ||
130 | EXPORT_SYMBOL(___clear_bit); | ||
131 | EXPORT_SYMBOL(___change_bit); | ||
132 | |||
133 | /* Per-CPU information table */ | 125 | /* Per-CPU information table */ |
134 | EXPORT_PER_CPU_SYMBOL(__cpu_data); | 126 | EXPORT_PER_CPU_SYMBOL(__cpu_data); |
135 | 127 | ||
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c index 6c7aa51b590f..2fcce000d877 100644 --- a/arch/sparc/kernel/time.c +++ b/arch/sparc/kernel/time.c | |||
@@ -78,7 +78,6 @@ unsigned long profile_pc(struct pt_regs *regs) | |||
78 | extern char __copy_user_begin[], __copy_user_end[]; | 78 | extern char __copy_user_begin[], __copy_user_end[]; |
79 | extern char __atomic_begin[], __atomic_end[]; | 79 | extern char __atomic_begin[], __atomic_end[]; |
80 | extern char __bzero_begin[], __bzero_end[]; | 80 | extern char __bzero_begin[], __bzero_end[]; |
81 | extern char __bitops_begin[], __bitops_end[]; | ||
82 | 81 | ||
83 | unsigned long pc = regs->pc; | 82 | unsigned long pc = regs->pc; |
84 | 83 | ||
@@ -88,9 +87,7 @@ unsigned long profile_pc(struct pt_regs *regs) | |||
88 | (pc >= (unsigned long) __atomic_begin && | 87 | (pc >= (unsigned long) __atomic_begin && |
89 | pc < (unsigned long) __atomic_end) || | 88 | pc < (unsigned long) __atomic_end) || |
90 | (pc >= (unsigned long) __bzero_begin && | 89 | (pc >= (unsigned long) __bzero_begin && |
91 | pc < (unsigned long) __bzero_end) || | 90 | pc < (unsigned long) __bzero_end)) |
92 | (pc >= (unsigned long) __bitops_begin && | ||
93 | pc < (unsigned long) __bitops_end)) | ||
94 | pc = regs->u_regs[UREG_RETPC]; | 91 | pc = regs->u_regs[UREG_RETPC]; |
95 | return pc; | 92 | return pc; |
96 | } | 93 | } |