/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _LINUX_LOCAL_LOCK_H #define _LINUX_LOCAL_LOCK_H #include <linux/local_lock_internal.h> /** * local_lock_init - Runtime initialize a lock instance */ #define local_lock_init(lock) __local_lock_init(lock) /** * local_lock - Acquire a per CPU local lock * @lock: The lock variable */ #define local_lock(lock) __local_lock(lock) /** * local_lock_irq - Acquire a per CPU local lock and disable interrupts * @lock: The lock variable */ #define local_lock_irq(lock) __local_lock_irq(lock) /** * local_lock_irqsave - Acquire a per CPU local lock, save and disable * interrupts * @lock: The lock variable * @flags: Storage for interrupt flags */ #define local_lock_irqsave(lock, flags) \ __local_lock_irqsave(lock, flags) /** * local_unlock - Release a per CPU local lock * @lock: The lock variable */ #define local_unlock(lock) __local_unlock(lock) /** * local_unlock_irq - Release a per CPU local lock and enable interrupts * @lock: The lock variable */ #define local_unlock_irq(lock) __local_unlock_irq(lock) /** * local_unlock_irqrestore - Release a per CPU local lock and restore * interrupt flags * @lock: The lock variable * @flags: Interrupt flags to restore */ #define local_unlock_irqrestore(lock, flags) \ __local_unlock_irqrestore(lock, flags) #endif