summaryrefslogtreecommitdiffstats
path: root/include/asm-generic
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic')
-rw-r--r--include/asm-generic/atomic.h26
1 files changed, 0 insertions, 26 deletions
diff --git a/include/asm-generic/atomic.h b/include/asm-generic/atomic.h
index 6357b66a53..449cecaabc 100644
--- a/include/asm-generic/atomic.h
+++ b/include/asm-generic/atomic.h
@@ -21,73 +21,47 @@ typedef struct { volatile int counter; } atomic_t;
static inline void atomic_add(int i, volatile atomic_t *v)
{
- unsigned long flags = 0;
-
- local_irq_save(flags);
v->counter += i;
- local_irq_restore(flags);
}
static inline void atomic_sub(int i, volatile atomic_t *v)
{
- unsigned long flags = 0;
-
- local_irq_save(flags);
v->counter -= i;
- local_irq_restore(flags);
}
static inline void atomic_inc(volatile atomic_t *v)
{
- unsigned long flags = 0;
-
- local_irq_save(flags);
v->counter += 1;
- local_irq_restore(flags);
}
static inline void atomic_dec(volatile atomic_t *v)
{
- unsigned long flags = 0;
-
- local_irq_save(flags);
v->counter -= 1;
- local_irq_restore(flags);
}
static inline int atomic_dec_and_test(volatile atomic_t *v)
{
- unsigned long flags = 0;
int val;
- local_irq_save(flags);
val = v->counter;
v->counter = val -= 1;
- local_irq_restore(flags);
return val == 0;
}
static inline int atomic_add_negative(int i, volatile atomic_t *v)
{
- unsigned long flags = 0;
int val;
- local_irq_save(flags);
val = v->counter;
v->counter = val += i;
- local_irq_restore(flags);
return val < 0;
}
static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
{
- unsigned long flags = 0;
-
- local_irq_save(flags);
*addr &= ~mask;
- local_irq_restore(flags);
}
/* Atomic operations are already serializing on ARM */