Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
fb1c8f93 IM |
2 | #ifndef __ASM_SPINLOCK_TYPES_H |
3 | #define __ASM_SPINLOCK_TYPES_H | |
4 | ||
fb1c8f93 | 5 | typedef struct { |
14e256c1 MW |
6 | #ifdef CONFIG_PA20 |
7 | volatile unsigned int slock; | |
edc35bd7 | 8 | # define __ARCH_SPIN_LOCK_UNLOCKED { 1 } |
14e256c1 | 9 | #else |
fb1c8f93 | 10 | volatile unsigned int lock[4]; |
edc35bd7 | 11 | # define __ARCH_SPIN_LOCK_UNLOCKED { { 1, 1, 1, 1 } } |
14e256c1 | 12 | #endif |
445c8951 | 13 | } arch_spinlock_t; |
fb1c8f93 | 14 | |
fb1c8f93 | 15 | typedef struct { |
445c8951 | 16 | arch_spinlock_t lock; |
fb1c8f93 | 17 | volatile int counter; |
fb3a6bbc | 18 | } arch_rwlock_t; |
fb1c8f93 | 19 | |
fb3a6bbc | 20 | #define __ARCH_RW_LOCK_UNLOCKED { __ARCH_SPIN_LOCK_UNLOCKED, 0 } |
fb1c8f93 IM |
21 | |
22 | #endif |