Home | History | Annotate | Download | only in linux
      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 */
     45