Classes | Macros | Functions
oro_arm/oro_arch.h File Reference

Go to the source code of this file.

Classes

struct  oro_atomic_t
 

Macros

#define oro_atomic_add(i, v)   (void) oro_atomic_add_return(i, v)
 
#define oro_atomic_add_negative(i, v)   (oro_atomic_add_return(i, v) < 0)
 
#define oro_atomic_dec(v)   (void) oro_atomic_sub_return(1, v)
 
#define oro_atomic_dec_and_test(v)   (oro_atomic_sub_return(1, v) == 0)
 
#define oro_atomic_dec_return(v)   (oro_atomic_sub_return(1, v))
 
#define oro_atomic_inc(v)   (void) oro_atomic_add_return(1, v)
 
#define oro_atomic_inc_and_test(v)   (oro_atomic_add_return(1, v) == 0)
 
#define oro_atomic_inc_not_zero(v)   oro_atomic_add_unless((v), 1, 0)
 
#define oro_atomic_inc_return(v)   (oro_atomic_add_return(1, v))
 
#define ORO_ATOMIC_INIT(i)   { (i) }
 
#define oro_atomic_read(v)   ((v)->counter)
 
#define oro_atomic_set(v, i)   (((v)->counter) = (i))
 
#define oro_atomic_sub(i, v)   (void) oro_atomic_sub_return(i, v)
 
#define oro_atomic_sub_and_test(i, v)   (oro_atomic_sub_return(i, v) == 0)
 
#define oro_atomic_xchg(v, new)   (xchg(&((v)->counter), new))
 
#define oro_localirq_restore_hw(flags)   oro_localirq_restore_hw_notrace(flags)
 
#define oro_localirq_restore_hw_notrace(x)
 
#define oro_localirq_save_hw(flags)   oro_localirq_save_hw_notrace(flags)
 
#define oro_localirq_save_hw_notrace(x)
 
#define smp_mb__after_oro_atomic_dec()   barrier()
 
#define smp_mb__after_oro_atomic_inc()   barrier()
 
#define smp_mb__before_oro_atomic_dec()   barrier()
 
#define smp_mb__before_oro_atomic_inc()   barrier()
 

Functions

static int oro_atomic_add_return (int i, oro_atomic_t *v)
 
static int oro_atomic_add_unless (oro_atomic_t *v, int a, int u)
 
static void oro_atomic_clear_mask (unsigned long mask, unsigned long *addr)
 
static int oro_atomic_cmpxchg (oro_atomic_t *v, int old, int a)
 
static int oro_atomic_sub_return (int i, oro_atomic_t *v)
 

Macro Definition Documentation

#define oro_atomic_add (   i,
 
)    (void) oro_atomic_add_return(i, v)

Definition at line 127 of file oro_arm/oro_arch.h.

#define oro_atomic_add_negative (   i,
 
)    (oro_atomic_add_return(i, v) < 0)

Definition at line 138 of file oro_arm/oro_arch.h.

#define oro_atomic_dec (   v)    (void) oro_atomic_sub_return(1, v)

Definition at line 130 of file oro_arm/oro_arch.h.

#define oro_atomic_dec_and_test (   v)    (oro_atomic_sub_return(1, v) == 0)

Definition at line 133 of file oro_arm/oro_arch.h.

#define oro_atomic_dec_return (   v)    (oro_atomic_sub_return(1, v))

Definition at line 135 of file oro_arm/oro_arch.h.

#define oro_atomic_inc (   v)    (void) oro_atomic_add_return(1, v)

Definition at line 128 of file oro_arm/oro_arch.h.

#define oro_atomic_inc_and_test (   v)    (oro_atomic_add_return(1, v) == 0)

Definition at line 132 of file oro_arm/oro_arch.h.

#define oro_atomic_inc_not_zero (   v)    oro_atomic_add_unless((v), 1, 0)

Definition at line 125 of file oro_arm/oro_arch.h.

#define oro_atomic_inc_return (   v)    (oro_atomic_add_return(1, v))

Definition at line 134 of file oro_arm/oro_arch.h.

#define ORO_ATOMIC_INIT (   i)    { (i) }

Definition at line 60 of file oro_arm/oro_arch.h.

#define oro_atomic_read (   v)    ((v)->counter)

Definition at line 62 of file oro_arm/oro_arch.h.

#define oro_atomic_set (   v,
 
)    (((v)->counter) = (i))

Definition at line 64 of file oro_arm/oro_arch.h.

#define oro_atomic_sub (   i,
 
)    (void) oro_atomic_sub_return(i, v)

Definition at line 129 of file oro_arm/oro_arch.h.

#define oro_atomic_sub_and_test (   i,
 
)    (oro_atomic_sub_return(i, v) == 0)

Definition at line 136 of file oro_arm/oro_arch.h.

#define oro_atomic_xchg (   v,
  new 
)    (xchg(&((v)->counter), new))

Definition at line 114 of file oro_arm/oro_arch.h.

#define oro_localirq_restore_hw (   flags)    oro_localirq_restore_hw_notrace(flags)

Definition at line 56 of file oro_arm/oro_arch.h.

#define oro_localirq_restore_hw_notrace (   x)
Value:
__asm__ __volatile__( \
"msr cpsr_c, %0 @ oro_localirq_restore_hw\n" \
: \
: "r" (x) \
: "memory", "cc")

Definition at line 50 of file oro_arm/oro_arch.h.

#define oro_localirq_save_hw (   flags)    oro_localirq_save_hw_notrace(flags)

Definition at line 48 of file oro_arm/oro_arch.h.

#define oro_localirq_save_hw_notrace (   x)
Value:
({ \
unsigned long temp; \
(void) (&temp == &x); \
__asm__ __volatile__( \
"mrs %0, cpsr @ oro_localirq_save_hw\n" \
" orr %1, %0, #128\n" \
" msr cpsr_c, %1" \
: "=r" (x), "=r" (temp) \
: \
: "memory", "cc"); \
})

Definition at line 36 of file oro_arm/oro_arch.h.

#define smp_mb__after_oro_atomic_dec ( )    barrier()

Definition at line 142 of file oro_arm/oro_arch.h.

#define smp_mb__after_oro_atomic_inc ( )    barrier()

Definition at line 144 of file oro_arm/oro_arch.h.

#define smp_mb__before_oro_atomic_dec ( )    barrier()

Definition at line 141 of file oro_arm/oro_arch.h.

#define smp_mb__before_oro_atomic_inc ( )    barrier()

Definition at line 143 of file oro_arm/oro_arch.h.

Function Documentation

static int oro_atomic_add_return ( int  i,
oro_atomic_t v 
)
inlinestatic

Definition at line 66 of file oro_arm/oro_arch.h.

static int oro_atomic_add_unless ( oro_atomic_t v,
int  a,
int  u 
)
inlinestatic

Definition at line 116 of file oro_arm/oro_arch.h.

static void oro_atomic_clear_mask ( unsigned long  mask,
unsigned long *  addr 
)
inlinestatic

Definition at line 105 of file oro_arm/oro_arch.h.

static int oro_atomic_cmpxchg ( oro_atomic_t v,
int  old,
int  a 
)
inlinestatic

Definition at line 92 of file oro_arm/oro_arch.h.

static int oro_atomic_sub_return ( int  i,
oro_atomic_t v 
)
inlinestatic

Definition at line 79 of file oro_arm/oro_arch.h.



youbot_driver
Author(s): Jan Paulus
autogenerated on Mon Jun 10 2019 15:46:26