Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 1103 → Rev 1104

/kernel/trunk/arch/ppc32/include/atomic.h
30,9 → 30,8
#define __ppc32_ATOMIC_H__
 
#include <arch/types.h>
#include <typedefs.h>
 
typedef struct { volatile __u32 count; } atomic_t;
 
static inline void atomic_inc(atomic_t *val)
{
__u32 tmp;
63,38 → 62,28
: "cc");
}
 
static inline __u32 atomic_postinc(atomic_t *val)
static inline long atomic_postinc(atomic_t *val)
{
atomic_inc(val);
return val->count - 1;
}
 
static inline __u32 atomic_postdec(atomic_t *val)
static inline long atomic_postdec(atomic_t *val)
{
atomic_dec(val);
return val->count + 1;
}
 
static inline __u32 atomic_preinc(atomic_t *val)
static inline long atomic_preinc(atomic_t *val)
{
atomic_inc(val);
return val->count;
}
 
static inline __u32 atomic_predec(atomic_t *val)
static inline long atomic_predec(atomic_t *val)
{
atomic_dec(val);
return val->count;
}
 
static inline void atomic_set(atomic_t *val, __u32 i)
{
val->count = i;
}
 
static inline __u32 atomic_get(atomic_t *val)
{
return val->count;
}
 
#endif