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) || defined(CONFIG_DEBUG_LOCK_ALLOC)
16
17typedef struct {
18	volatile unsigned int slock;
19#ifdef CONFIG_DEBUG_LOCK_ALLOC
20	struct lockdep_map dep_map;
21#endif
22} raw_spinlock_t;
23
24#define __RAW_SPIN_LOCK_UNLOCKED { 1 }
25
26#else
27
28typedef struct { } raw_spinlock_t;
29
30#define __RAW_SPIN_LOCK_UNLOCKED { }
31
32#endif
33
34typedef struct {
35	/* no debug version on UP */
36#ifdef CONFIG_DEBUG_LOCK_ALLOC
37	struct lockdep_map dep_map;
38#endif
39} raw_rwlock_t;
40
41#define __RAW_RW_LOCK_UNLOCKED { }
42
43#endif /* __LINUX_SPINLOCK_TYPES_UP_H */
44