Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux...
[linux-drm-fsl-dcu.git] / arch / arm / include / asm / spinlock_types.h
1 #ifndef __ASM_SPINLOCK_TYPES_H
2 #define __ASM_SPINLOCK_TYPES_H
3
4 #ifndef __LINUX_SPINLOCK_TYPES_H
5 # error "please don't include this file directly"
6 #endif
7
8 #define TICKET_SHIFT    16
9
10 typedef struct {
11         union {
12                 u32 slock;
13                 struct __raw_tickets {
14 #ifdef __ARMEB__
15                         u16 next;
16                         u16 owner;
17 #else
18                         u16 owner;
19                         u16 next;
20 #endif
21                 } tickets;
22         };
23 } arch_spinlock_t;
24
25 #define __ARCH_SPIN_LOCK_UNLOCKED       { { 0 } }
26
27 typedef struct {
28         u32 lock;
29 } arch_rwlock_t;
30
31 #define __ARCH_RW_LOCK_UNLOCKED         { 0 }
32
33 #endif