blob: e2b42a52a6d3f266f00355691d43d9d67c6ab5e2 [file] [log] [blame]
Ingo Molnarfb1c8f92005-09-10 00:25:56 -07001#ifndef _ASM_IA64_SPINLOCK_TYPES_H
2#define _ASM_IA64_SPINLOCK_TYPES_H
3
4#ifndef __LINUX_SPINLOCK_TYPES_H
5# error "please don't include this file directly"
6#endif
7
8typedef struct {
Tony Luck9d40ee22009-10-07 10:54:19 -07009 volatile unsigned int lock;
Thomas Gleixner445c8952009-12-02 19:49:50 +010010} arch_spinlock_t;
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070011
Thomas Gleixneredc35bd2009-12-03 12:38:57 +010012#define __ARCH_SPIN_LOCK_UNLOCKED { 0 }
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070013
14typedef struct {
15 volatile unsigned int read_counter : 31;
16 volatile unsigned int write_lock : 1;
Thomas Gleixnerfb3a6bb2009-12-03 20:01:19 +010017} arch_rwlock_t;
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070018
Thomas Gleixnerfb3a6bb2009-12-03 20:01:19 +010019#define __ARCH_RW_LOCK_UNLOCKED { 0, 0 }
Ingo Molnarfb1c8f92005-09-10 00:25:56 -070020
21#endif