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
18typedef 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
29typedef struct { } raw_spinlock_t;
30
31#define __RAW_SPIN_LOCK_UNLOCKED { }
32
33#endif
34
35typedef 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 */
45