mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-27 12:57:53 +00:00
434e09e757
Queued rwlock was originally named "queue rwlock" which wasn't quite grammatically correct. However there are still some "queue rwlock" references in the code. Change those to "queued rwlock" for consistency. Signed-off-by: Waiman Long <longman@redhat.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lkml.kernel.org/r/20220510192134.434753-1-longman@redhat.com
34 lines
683 B
C
34 lines
683 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __ASM_GENERIC_QRWLOCK_TYPES_H
|
|
#define __ASM_GENERIC_QRWLOCK_TYPES_H
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/byteorder.h>
|
|
#include <asm/spinlock_types.h>
|
|
|
|
/*
|
|
* The queued read/write lock data structure
|
|
*/
|
|
|
|
typedef struct qrwlock {
|
|
union {
|
|
atomic_t cnts;
|
|
struct {
|
|
#ifdef __LITTLE_ENDIAN
|
|
u8 wlocked; /* Locked for write? */
|
|
u8 __lstate[3];
|
|
#else
|
|
u8 __lstate[3];
|
|
u8 wlocked; /* Locked for write? */
|
|
#endif
|
|
};
|
|
};
|
|
arch_spinlock_t wait_lock;
|
|
} arch_rwlock_t;
|
|
|
|
#define __ARCH_RW_LOCK_UNLOCKED { \
|
|
{ .cnts = ATOMIC_INIT(0), }, \
|
|
.wait_lock = __ARCH_SPIN_LOCK_UNLOCKED, \
|
|
}
|
|
|
|
#endif /* __ASM_GENERIC_QRWLOCK_TYPES_H */
|