#define LOCK_PREFIX "lock ; "
+#if 0 /* duplicate with arch_atomic.h */
/*
* Atomic data structure, initialization, and access.
*/
#define smp_mb__before_atomic_inc() barrier()
#define smp_mb__after_atomic_inc() barrier()
+#endif //0 /* duplicate with arch_atomic.h */
+
/*
* api_pthreads.h: API mapping to pthreads environment.
*
/*
* Compiler magic.
*/
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
#define LIST_POISON1 ((void *) 0x00100100)
#define LIST_POISON2 ((void *) 0x00200200)
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
+#if 0
/*
* Simple doubly linked list implementation.
*
&pos->member != (head); \
pos = n, n = list_entry(n->member.prev, typeof(*n), member))
+#endif //0
+
/*
* Double linked lists with a single pointer list head.
* Mostly useful for hash tables where the two pointer list head is