void _write_lock_irq(rwlock_t *lock) { ASSERT(local_irq_is_enabled()); local_irq_disable(); check_lock(&lock->debug); _raw_write_lock(&lock->raw); }
unsigned long _write_lock_irqsave(rwlock_t *lock) { unsigned long flags; local_irq_save(flags); check_lock(&lock->debug); _raw_write_lock(&lock->raw); return flags; }
unsigned long __lockfunc _write_lock_irqsave(rwlock_t *lock) { unsigned long flags; local_irq_save(flags); preempt_disable(); _raw_write_lock(lock); return flags; }
static inline void __preempt_write_lock(rwlock_t *lock) { if (preempt_count() > 1) { _raw_write_lock(lock); return; } do { preempt_enable(); while (rwlock_is_locked(lock)) cpu_relax(); preempt_disable(); } while (!_raw_write_trylock(lock)); }
void _write_lock(rwlock_t *lock) { check_lock(&lock->debug); _raw_write_lock(&lock->raw); }
void __lockfunc _write_lock(rwlock_t *lock) { preempt_disable(); _raw_write_lock(lock); }
void __lockfunc _write_lock_bh(rwlock_t *lock) { local_bh_disable(); preempt_disable(); _raw_write_lock(lock); }