Skip to content

Commit

Permalink
[ARM] 3810/1: switch atomic helpers over to raw_local_irq_{save,restore}
Browse files Browse the repository at this point in the history
Now that we have raw_* variants of local_irq_$FOO(), switch the atomic
helpers over to use those raw_* variants.  This is necessary when using
lockdep on pre-ARMv6 hardware, as lockdep uses atomic_t counters in the
trace_hardirqs_off() path.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Lennert Buytenhek authored and Russell King committed Sep 25, 2006
1 parent 34148c6 commit 8dd5c84
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions include/asm-arm/atomic.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,10 @@ static inline int atomic_add_return(int i, atomic_t *v)
unsigned long flags;
int val;

local_irq_save(flags);
raw_local_irq_save(flags);
val = v->counter;
v->counter = val += i;
local_irq_restore(flags);
raw_local_irq_restore(flags);

return val;
}
Expand All @@ -141,10 +141,10 @@ static inline int atomic_sub_return(int i, atomic_t *v)
unsigned long flags;
int val;

local_irq_save(flags);
raw_local_irq_save(flags);
val = v->counter;
v->counter = val -= i;
local_irq_restore(flags);
raw_local_irq_restore(flags);

return val;
}
Expand All @@ -154,11 +154,11 @@ static inline int atomic_cmpxchg(atomic_t *v, int old, int new)
int ret;
unsigned long flags;

local_irq_save(flags);
raw_local_irq_save(flags);
ret = v->counter;
if (likely(ret == old))
v->counter = new;
local_irq_restore(flags);
raw_local_irq_restore(flags);

return ret;
}
Expand All @@ -167,9 +167,9 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
{
unsigned long flags;

local_irq_save(flags);
raw_local_irq_save(flags);
*addr &= ~mask;
local_irq_restore(flags);
raw_local_irq_restore(flags);
}

#endif /* __LINUX_ARM_ARCH__ */
Expand Down

0 comments on commit 8dd5c84

Please sign in to comment.