Blackfin arch: merge adeos blackfin part to arch/blackfin/
[Mike Frysinger <vapier.adi@gmail.com>: - handle bf531/bf532/bf534/bf536 variants in ipipe.h - cleanup IPIPE logic for bfin_set_irq_handler() - cleanup ipipe asm code a bit and add missing ENDPROC() - simplify IPIPE code in trap_c - unify some of the IPIPE code and fix style - simplify DO_IRQ_L1 handling with ipipe code - revert IRQ_SW_INT# addition from ipipe merge - remove duplicate get_{c,s}clk() prototypes ] Signed-off-by: Yi Li <yi.li@analog.com> Signed-off-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
This commit is contained in:
@@ -92,18 +92,18 @@ static inline void atomic_add(int i, atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter += i;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
}
|
||||
|
||||
static inline void atomic_sub(int i, atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter -= i;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
|
||||
}
|
||||
|
||||
@@ -112,10 +112,10 @@ static inline int atomic_add_return(int i, atomic_t *v)
|
||||
int __temp = 0;
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter += i;
|
||||
__temp = v->counter;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
|
||||
|
||||
return __temp;
|
||||
@@ -126,10 +126,10 @@ static inline int atomic_sub_return(int i, atomic_t *v)
|
||||
int __temp = 0;
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter -= i;
|
||||
__temp = v->counter;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
|
||||
return __temp;
|
||||
}
|
||||
@@ -138,36 +138,36 @@ static inline void atomic_inc(volatile atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter++;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
}
|
||||
|
||||
static inline void atomic_dec(volatile atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter--;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
}
|
||||
|
||||
static inline void atomic_clear_mask(unsigned int mask, atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter &= ~mask;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
}
|
||||
|
||||
static inline void atomic_set_mask(unsigned int mask, atomic_t *v)
|
||||
{
|
||||
long flags;
|
||||
|
||||
local_irq_save(flags);
|
||||
local_irq_save_hw(flags);
|
||||
v->counter |= mask;
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore_hw(flags);
|
||||
}
|
||||
|
||||
/* Atomic operations are already serializing */
|
||||
|
Reference in New Issue
Block a user