xref: /rk3399_rockchip-uboot/arch/arm/include/asm/uspinlock.h (revision e9a93d1294bfc1fd775dadabf7e4497ace9a9b46)
1*e9a93d12SJoseph Chen 
2*e9a93d12SJoseph Chen #ifndef USPINLOCK_H
3*e9a93d12SJoseph Chen #define USPINLOCK_H
4*e9a93d12SJoseph Chen 
5*e9a93d12SJoseph Chen typedef struct {
6*e9a93d12SJoseph Chen 	volatile uint32_t lock;
7*e9a93d12SJoseph Chen } uspinlock_t;
8*e9a93d12SJoseph Chen 
9*e9a93d12SJoseph Chen #if CONFIG_IS_ENABLED(SMP)
10*e9a93d12SJoseph Chen void u_spin_lock(uspinlock_t *lock);
11*e9a93d12SJoseph Chen void u_spin_unlock(uspinlock_t *lock);
12*e9a93d12SJoseph Chen #else
u_spin_lock(uspinlock_t * lock)13*e9a93d12SJoseph Chen static inline void u_spin_lock(uspinlock_t *lock) {}
u_spin_unlock(uspinlock_t * lock)14*e9a93d12SJoseph Chen static inline void u_spin_unlock(uspinlock_t *lock) {}
15*e9a93d12SJoseph Chen #endif
16*e9a93d12SJoseph Chen 
17*e9a93d12SJoseph Chen #endif