⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spinlock_up.h

📁 Axis 221 camera embedded programing interface
💻 H
字号:
#ifndef __LINUX_SPINLOCK_UP_H#define __LINUX_SPINLOCK_UP_H#ifndef __LINUX_SPINLOCK_H# error "please don't include this file directly"#endif/* * include/linux/spinlock_up.h - UP-debug version of spinlocks. * * portions Copyright 2005, Red Hat, Inc., Ingo Molnar * Released under the General Public License (GPL). * * In the debug case, 1 means unlocked, 0 means locked. (the values * are inverted, to catch initialization bugs) * * No atomicity anywhere, we are on UP. */#ifdef CONFIG_DEBUG_SPINLOCK#define __raw_spin_is_locked(x)		((x)->slock == 0)static inline void __raw_spin_lock(raw_spinlock_t *lock){	lock->slock = 0;}static inline void__raw_spin_lock_flags(raw_spinlock_t *lock, unsigned long flags){	local_irq_save(flags);	lock->slock = 0;}static inline int __raw_spin_trylock(raw_spinlock_t *lock){	char oldval = lock->slock;	lock->slock = 0;	return oldval > 0;}static inline void __raw_spin_unlock(raw_spinlock_t *lock){	lock->slock = 1;}/* * Read-write spinlocks. No debug version. */#define __raw_read_lock(lock)		do { (void)(lock); } while (0)#define __raw_write_lock(lock)		do { (void)(lock); } while (0)#define __raw_read_trylock(lock)	({ (void)(lock); 1; })#define __raw_write_trylock(lock)	({ (void)(lock); 1; })#define __raw_read_unlock(lock)		do { (void)(lock); } while (0)#define __raw_write_unlock(lock)	do { (void)(lock); } while (0)#else /* DEBUG_SPINLOCK */#define __raw_spin_is_locked(lock)	((void)(lock), 0)/* for sched.c and kernel_lock.c: */# define __raw_spin_lock(lock)		do { (void)(lock); } while (0)# define __raw_spin_unlock(lock)	do { (void)(lock); } while (0)# define __raw_spin_trylock(lock)	({ (void)(lock); 1; })#endif /* DEBUG_SPINLOCK */#define __raw_read_can_lock(lock)	(((void)(lock), 1))#define __raw_write_can_lock(lock)	(((void)(lock), 1))#define __raw_spin_unlock_wait(lock) \		do { cpu_relax(); } while (__raw_spin_is_locked(lock))#endif /* __LINUX_SPINLOCK_UP_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -