Commit | Line | Data |
---|---|---|
fb1c8f93 IM |
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 | ||
546c2896 WD |
8 | #define TICKET_SHIFT 16 |
9 | ||
fb1c8f93 | 10 | typedef struct { |
546c2896 WD |
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 | }; | |
445c8951 | 23 | } arch_spinlock_t; |
fb1c8f93 | 24 | |
546c2896 | 25 | #define __ARCH_SPIN_LOCK_UNLOCKED { { 0 } } |
fb1c8f93 IM |
26 | |
27 | typedef struct { | |
9bb17be0 | 28 | u32 lock; |
fb3a6bbc | 29 | } arch_rwlock_t; |
fb1c8f93 | 30 | |
fb3a6bbc | 31 | #define __ARCH_RW_LOCK_UNLOCKED { 0 } |
fb1c8f93 IM |
32 | |
33 | #endif |