user namespace: add the framework
[linux-2.6.git] / include / linux / spinlock_types_up.h
1 #ifndef __LINUX_SPINLOCK_TYPES_UP_H
2 #define __LINUX_SPINLOCK_TYPES_UP_H
3
4 #ifndef __LINUX_SPINLOCK_TYPES_H
5 # error "please don't include this file directly"
6 #endif
7
8 /*
9  * include/linux/spinlock_types_up.h - spinlock type definitions for UP
10  *
11  * portions Copyright 2005, Red Hat, Inc., Ingo Molnar
12  * Released under the General Public License (GPL).
13  */
14
15 #if defined(CONFIG_DEBUG_SPINLOCK) || \
16         defined(CONFIG_DEBUG_LOCK_ALLOC)
17
18 typedef struct {
19         volatile unsigned int slock;
20 #ifdef CONFIG_DEBUG_LOCK_ALLOC
21         struct lockdep_map dep_map;
22 #endif
23 } raw_spinlock_t;
24
25 #define __RAW_SPIN_LOCK_UNLOCKED { 1 }
26
27 #else
28
29 typedef struct { } raw_spinlock_t;
30
31 #define __RAW_SPIN_LOCK_UNLOCKED { }
32
33 #endif
34
35 typedef struct {
36         /* no debug version on UP */
37 #ifdef CONFIG_DEBUG_LOCK_ALLOC
38         struct lockdep_map dep_map;
39 #endif
40 } raw_rwlock_t;
41
42 #define __RAW_RW_LOCK_UNLOCKED { }
43
44 #endif /* __LINUX_SPINLOCK_TYPES_UP_H */