191710728SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0 */ 291710728SThomas Gleixner #ifndef _LINUX_LOCAL_LOCK_H 391710728SThomas Gleixner #define _LINUX_LOCAL_LOCK_H 491710728SThomas Gleixner 591710728SThomas Gleixner #include <linux/local_lock_internal.h> 691710728SThomas Gleixner 791710728SThomas Gleixner /** 891710728SThomas Gleixner * local_lock_init - Runtime initialize a lock instance 991710728SThomas Gleixner */ 1091710728SThomas Gleixner #define local_lock_init(lock) __local_lock_init(lock) 1191710728SThomas Gleixner 1291710728SThomas Gleixner /** 1391710728SThomas Gleixner * local_lock - Acquire a per CPU local lock 1491710728SThomas Gleixner * @lock: The lock variable 1591710728SThomas Gleixner */ 1691710728SThomas Gleixner #define local_lock(lock) __local_lock(lock) 1791710728SThomas Gleixner 1891710728SThomas Gleixner /** 1991710728SThomas Gleixner * local_lock_irq - Acquire a per CPU local lock and disable interrupts 2091710728SThomas Gleixner * @lock: The lock variable 2191710728SThomas Gleixner */ 2291710728SThomas Gleixner #define local_lock_irq(lock) __local_lock_irq(lock) 2391710728SThomas Gleixner 2491710728SThomas Gleixner /** 2591710728SThomas Gleixner * local_lock_irqsave - Acquire a per CPU local lock, save and disable 2691710728SThomas Gleixner * interrupts 2791710728SThomas Gleixner * @lock: The lock variable 2891710728SThomas Gleixner * @flags: Storage for interrupt flags 2991710728SThomas Gleixner */ 3091710728SThomas Gleixner #define local_lock_irqsave(lock, flags) \ 3191710728SThomas Gleixner __local_lock_irqsave(lock, flags) 3291710728SThomas Gleixner 3391710728SThomas Gleixner /** 3491710728SThomas Gleixner * local_unlock - Release a per CPU local lock 3591710728SThomas Gleixner * @lock: The lock variable 3691710728SThomas Gleixner */ 3791710728SThomas Gleixner #define local_unlock(lock) __local_unlock(lock) 3891710728SThomas Gleixner 3991710728SThomas Gleixner /** 4091710728SThomas Gleixner * local_unlock_irq - Release a per CPU local lock and enable interrupts 4191710728SThomas Gleixner * @lock: The lock variable 4291710728SThomas Gleixner */ 4391710728SThomas Gleixner #define local_unlock_irq(lock) __local_unlock_irq(lock) 4491710728SThomas Gleixner 4591710728SThomas Gleixner /** 4691710728SThomas Gleixner * local_unlock_irqrestore - Release a per CPU local lock and restore 4791710728SThomas Gleixner * interrupt flags 4891710728SThomas Gleixner * @lock: The lock variable 4991710728SThomas Gleixner * @flags: Interrupt flags to restore 5091710728SThomas Gleixner */ 5191710728SThomas Gleixner #define local_unlock_irqrestore(lock, flags) \ 5291710728SThomas Gleixner __local_unlock_irqrestore(lock, flags) 5391710728SThomas Gleixner 5491710728SThomas Gleixner #endif 55