1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __SPARC_SPINLOCK_TYPES_H 3 #define __SPARC_SPINLOCK_TYPES_H 4 5 #ifdef CONFIG_QUEUED_SPINLOCKS 6 #include <asm-generic/qspinlock_types.h> 7 #else 8 9 typedef struct { 10 volatile unsigned char lock; 11 } arch_spinlock_t; 12 13 #define __ARCH_SPIN_LOCK_UNLOCKED { 0 } 14 #endif /* CONFIG_QUEUED_SPINLOCKS */ 15 16 #ifdef CONFIG_QUEUED_RWLOCKS 17 #include <asm-generic/qrwlock_types.h> 18 #else 19 typedef struct { 20 volatile unsigned int lock; 21 } arch_rwlock_t; 22 23 #define __ARCH_RW_LOCK_UNLOCKED { 0 } 24 #endif /* CONFIG_QUEUED_RWLOCKS */ 25 #endif 26