blob: c09b6407ae1b3cd633ac9bcc30030249f520b872 [file] [log] [blame]
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07001#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
Peter Zijlstra21f8ca32007-07-19 01:48:53 -070015#ifdef CONFIG_DEBUG_SPINLOCK
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070016
17typedef struct {
18 volatile unsigned int slock;
Thomas Gleixner445c8952009-12-02 19:49:50 +010019} arch_spinlock_t;
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070020
Thomas Gleixneredc35bd2009-12-03 12:38:57 +010021#define __ARCH_SPIN_LOCK_UNLOCKED { 1 }
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070022
23#else
24
Thomas Gleixner445c8952009-12-02 19:49:50 +010025typedef struct { } arch_spinlock_t;
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070026
Thomas Gleixneredc35bd2009-12-03 12:38:57 +010027#define __ARCH_SPIN_LOCK_UNLOCKED { }
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070028
29#endif
30
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070031typedef struct {
32 /* no debug version on UP */
Thomas Gleixnerfb3a6bb2009-12-03 20:01:19 +010033} arch_rwlock_t;
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070034
Thomas Gleixnerfb3a6bb2009-12-03 20:01:19 +010035#define __ARCH_RW_LOCK_UNLOCKED { }
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070036
37#endif /* __LINUX_SPINLOCK_TYPES_UP_H */