Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef _LINUX_LOCAL_LOCK_H
0003 #define _LINUX_LOCAL_LOCK_H
0004 
0005 #include <linux/local_lock_internal.h>
0006 
0007 /**
0008  * local_lock_init - Runtime initialize a lock instance
0009  */
0010 #define local_lock_init(lock)       __local_lock_init(lock)
0011 
0012 /**
0013  * local_lock - Acquire a per CPU local lock
0014  * @lock:   The lock variable
0015  */
0016 #define local_lock(lock)        __local_lock(lock)
0017 
0018 /**
0019  * local_lock_irq - Acquire a per CPU local lock and disable interrupts
0020  * @lock:   The lock variable
0021  */
0022 #define local_lock_irq(lock)        __local_lock_irq(lock)
0023 
0024 /**
0025  * local_lock_irqsave - Acquire a per CPU local lock, save and disable
0026  *           interrupts
0027  * @lock:   The lock variable
0028  * @flags:  Storage for interrupt flags
0029  */
0030 #define local_lock_irqsave(lock, flags)             \
0031     __local_lock_irqsave(lock, flags)
0032 
0033 /**
0034  * local_unlock - Release a per CPU local lock
0035  * @lock:   The lock variable
0036  */
0037 #define local_unlock(lock)      __local_unlock(lock)
0038 
0039 /**
0040  * local_unlock_irq - Release a per CPU local lock and enable interrupts
0041  * @lock:   The lock variable
0042  */
0043 #define local_unlock_irq(lock)      __local_unlock_irq(lock)
0044 
0045 /**
0046  * local_unlock_irqrestore - Release a per CPU local lock and restore
0047  *                interrupt flags
0048  * @lock:   The lock variable
0049  * @flags:      Interrupt flags to restore
0050  */
0051 #define local_unlock_irqrestore(lock, flags)            \
0052     __local_unlock_irqrestore(lock, flags)
0053 
0054 #endif