aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm/system.h
diff options
context:
space:
mode:
authorLennert Buytenhek <buytenh@wantstofly.org>2006-09-20 22:35:20 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-09-25 05:34:03 -0400
commite7cc2c59cc83558fc26f17eee3c8f901119f0a7c (patch)
tree5aa69457ad2fc134e7459fadc79beb682add2319 /include/asm-arm/system.h
parent0c92e830bd39f3e6cf7b151dffecafbdc623496c (diff)
[ARM] 3852/1: convert atomic bitops and __xchg over to raw_local_irq_{save,restore}
Thomas Gleixner noticed that bitops.h should also use the raw_* irq disable/enable variants, and __xchg needs them as well. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm/system.h')
-rw-r--r--include/asm-arm/system.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h
index 174ff52661b0..c19c5b009f71 100644
--- a/include/asm-arm/system.h
+++ b/include/asm-arm/system.h
@@ -282,17 +282,17 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
282#error SMP is not supported on this platform 282#error SMP is not supported on this platform
283#endif 283#endif
284 case 1: 284 case 1:
285 local_irq_save(flags); 285 raw_local_irq_save(flags);
286 ret = *(volatile unsigned char *)ptr; 286 ret = *(volatile unsigned char *)ptr;
287 *(volatile unsigned char *)ptr = x; 287 *(volatile unsigned char *)ptr = x;
288 local_irq_restore(flags); 288 raw_local_irq_restore(flags);
289 break; 289 break;
290 290
291 case 4: 291 case 4:
292 local_irq_save(flags); 292 raw_local_irq_save(flags);
293 ret = *(volatile unsigned long *)ptr; 293 ret = *(volatile unsigned long *)ptr;
294 *(volatile unsigned long *)ptr = x; 294 *(volatile unsigned long *)ptr = x;
295 local_irq_restore(flags); 295 raw_local_irq_restore(flags);
296 break; 296 break;
297#else 297#else
298 case 1: 298 case 1: