| /* 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 |