diff options
Diffstat (limited to 'arch/frv')
-rw-r--r-- | arch/frv/include/asm/atomic.h | 6 | ||||
-rw-r--r-- | arch/frv/include/asm/bitops.h | 3 | ||||
-rw-r--r-- | arch/frv/include/asm/hardirq.h | 2 | ||||
-rw-r--r-- | arch/frv/include/asm/processor.h | 1 | ||||
-rw-r--r-- | arch/frv/include/asm/ptrace.h | 1 | ||||
-rw-r--r-- | arch/frv/kernel/irq.c | 2 | ||||
-rw-r--r-- | arch/frv/kernel/process.c | 5 |
7 files changed, 6 insertions, 14 deletions
diff --git a/arch/frv/include/asm/atomic.h b/arch/frv/include/asm/atomic.h index fae32c7fdcb6..0d8a7d661740 100644 --- a/arch/frv/include/asm/atomic.h +++ b/arch/frv/include/asm/atomic.h | |||
@@ -241,7 +241,7 @@ extern uint32_t __xchg_32(uint32_t i, volatile void *v); | |||
241 | #define atomic64_cmpxchg(v, old, new) (__cmpxchg_64(old, new, &(v)->counter)) | 241 | #define atomic64_cmpxchg(v, old, new) (__cmpxchg_64(old, new, &(v)->counter)) |
242 | #define atomic64_xchg(v, new) (__xchg_64(new, &(v)->counter)) | 242 | #define atomic64_xchg(v, new) (__xchg_64(new, &(v)->counter)) |
243 | 243 | ||
244 | static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | 244 | static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) |
245 | { | 245 | { |
246 | int c, old; | 246 | int c, old; |
247 | c = atomic_read(v); | 247 | c = atomic_read(v); |
@@ -253,10 +253,8 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) | |||
253 | break; | 253 | break; |
254 | c = old; | 254 | c = old; |
255 | } | 255 | } |
256 | return c != (u); | 256 | return c; |
257 | } | 257 | } |
258 | 258 | ||
259 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) | ||
260 | 259 | ||
261 | #include <asm-generic/atomic-long.h> | ||
262 | #endif /* _ASM_ATOMIC_H */ | 260 | #endif /* _ASM_ATOMIC_H */ |
diff --git a/arch/frv/include/asm/bitops.h b/arch/frv/include/asm/bitops.h index a1d00b0c6ed7..57bf85db893f 100644 --- a/arch/frv/include/asm/bitops.h +++ b/arch/frv/include/asm/bitops.h | |||
@@ -403,8 +403,7 @@ int __ilog2_u64(u64 n) | |||
403 | 403 | ||
404 | #include <asm-generic/bitops/le.h> | 404 | #include <asm-generic/bitops/le.h> |
405 | 405 | ||
406 | #define ext2_set_bit_atomic(lock,nr,addr) test_and_set_bit ((nr) ^ 0x18, (addr)) | 406 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
407 | #define ext2_clear_bit_atomic(lock,nr,addr) test_and_clear_bit((nr) ^ 0x18, (addr)) | ||
408 | 407 | ||
409 | #endif /* __KERNEL__ */ | 408 | #endif /* __KERNEL__ */ |
410 | 409 | ||
diff --git a/arch/frv/include/asm/hardirq.h b/arch/frv/include/asm/hardirq.h index 5fc8b6f5bc55..c62833d6ebbb 100644 --- a/arch/frv/include/asm/hardirq.h +++ b/arch/frv/include/asm/hardirq.h | |||
@@ -12,7 +12,7 @@ | |||
12 | #ifndef __ASM_HARDIRQ_H | 12 | #ifndef __ASM_HARDIRQ_H |
13 | #define __ASM_HARDIRQ_H | 13 | #define __ASM_HARDIRQ_H |
14 | 14 | ||
15 | #include <asm/atomic.h> | 15 | #include <linux/atomic.h> |
16 | 16 | ||
17 | extern atomic_t irq_err_count; | 17 | extern atomic_t irq_err_count; |
18 | static inline void ack_bad_irq(int irq) | 18 | static inline void ack_bad_irq(int irq) |
diff --git a/arch/frv/include/asm/processor.h b/arch/frv/include/asm/processor.h index 4b789ab182b0..81c2e271d620 100644 --- a/arch/frv/include/asm/processor.h +++ b/arch/frv/include/asm/processor.h | |||
@@ -97,7 +97,6 @@ extern struct task_struct *__kernel_current_task; | |||
97 | */ | 97 | */ |
98 | #define start_thread(_regs, _pc, _usp) \ | 98 | #define start_thread(_regs, _pc, _usp) \ |
99 | do { \ | 99 | do { \ |
100 | set_fs(USER_DS); /* reads from user space */ \ | ||
101 | __frame = __kernel_frame0_ptr; \ | 100 | __frame = __kernel_frame0_ptr; \ |
102 | __frame->pc = (_pc); \ | 101 | __frame->pc = (_pc); \ |
103 | __frame->psr &= ~PSR_S; \ | 102 | __frame->psr &= ~PSR_S; \ |
diff --git a/arch/frv/include/asm/ptrace.h b/arch/frv/include/asm/ptrace.h index 6bfad4cf1907..ef6635ca4ecb 100644 --- a/arch/frv/include/asm/ptrace.h +++ b/arch/frv/include/asm/ptrace.h | |||
@@ -78,7 +78,6 @@ register struct pt_regs *__frame asm("gr28"); | |||
78 | #define user_stack_pointer(regs) ((regs)->sp) | 78 | #define user_stack_pointer(regs) ((regs)->sp) |
79 | 79 | ||
80 | extern unsigned long user_stack(const struct pt_regs *); | 80 | extern unsigned long user_stack(const struct pt_regs *); |
81 | extern void show_regs(struct pt_regs *); | ||
82 | #define profile_pc(regs) ((regs)->pc) | 81 | #define profile_pc(regs) ((regs)->pc) |
83 | 82 | ||
84 | #define task_pt_regs(task) ((task)->thread.frame0) | 83 | #define task_pt_regs(task) ((task)->thread.frame0) |
diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index a5f624a9f559..3facbc28cbbc 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
26 | #include <linux/bitops.h> | 26 | #include <linux/bitops.h> |
27 | 27 | ||
28 | #include <asm/atomic.h> | 28 | #include <linux/atomic.h> |
29 | #include <asm/io.h> | 29 | #include <asm/io.h> |
30 | #include <asm/smp.h> | 30 | #include <asm/smp.h> |
31 | #include <asm/system.h> | 31 | #include <asm/system.h> |
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c index 9d3597526467..3901df1213c0 100644 --- a/arch/frv/kernel/process.c +++ b/arch/frv/kernel/process.c | |||
@@ -143,10 +143,7 @@ void machine_power_off(void) | |||
143 | 143 | ||
144 | void flush_thread(void) | 144 | void flush_thread(void) |
145 | { | 145 | { |
146 | #if 0 //ndef NO_FPU | 146 | /* nothing */ |
147 | unsigned long zero = 0; | ||
148 | #endif | ||
149 | set_fs(USER_DS); | ||
150 | } | 147 | } |
151 | 148 | ||
152 | inline unsigned long user_stack(const struct pt_regs *regs) | 149 | inline unsigned long user_stack(const struct pt_regs *regs) |