Release 4.10 arch/blackfin/include/asm/spinlock.h
/*
* Copyright 2004-2009 Analog Devices Inc.
*
* Licensed under the GPL-2 or later.
*/
#ifndef __BFIN_SPINLOCK_H
#define __BFIN_SPINLOCK_H
#ifndef CONFIG_SMP
# include <asm-generic/spinlock.h>
#else
#include <linux/atomic.h>
#include <asm/processor.h>
#include <asm/barrier.h>
asmlinkage int __raw_spin_is_locked_asm(volatile int *ptr);
asmlinkage void __raw_spin_lock_asm(volatile int *ptr);
asmlinkage int __raw_spin_trylock_asm(volatile int *ptr);
asmlinkage void __raw_spin_unlock_asm(volatile int *ptr);
asmlinkage void __raw_read_lock_asm(volatile int *ptr);
asmlinkage int __raw_read_trylock_asm(volatile int *ptr);
asmlinkage void __raw_read_unlock_asm(volatile int *ptr);
asmlinkage void __raw_write_lock_asm(volatile int *ptr);
asmlinkage int __raw_write_trylock_asm(volatile int *ptr);
asmlinkage void __raw_write_unlock_asm(volatile int *ptr);
static inline int arch_spin_is_locked(arch_spinlock_t *lock)
{
return __raw_spin_is_locked_asm(&lock->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 18 | 90.00% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 10.00% | 2 | 66.67% |
| Total | 20 | 100.00% | 3 | 100.00% |
static inline void arch_spin_lock(arch_spinlock_t *lock)
{
__raw_spin_lock_asm(&lock->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 66.67% |
| Total | 19 | 100.00% | 3 | 100.00% |
#define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock)
static inline int arch_spin_trylock(arch_spinlock_t *lock)
{
return __raw_spin_trylock_asm(&lock->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 18 | 90.00% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 10.00% | 2 | 66.67% |
| Total | 20 | 100.00% | 3 | 100.00% |
static inline void arch_spin_unlock(arch_spinlock_t *lock)
{
__raw_spin_unlock_asm(&lock->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 66.67% |
| Total | 19 | 100.00% | 3 | 100.00% |
static inline void arch_spin_unlock_wait(arch_spinlock_t *lock)
{
smp_cond_load_acquire(&lock->lock, !VAL);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 13 | 59.09% | 1 | 25.00% |
peter zijlstra | peter zijlstra | 7 | 31.82% | 1 | 25.00% |
thomas gleixner | thomas gleixner | 2 | 9.09% | 2 | 50.00% |
| Total | 22 | 100.00% | 4 | 100.00% |
static inline int arch_read_can_lock(arch_rwlock_t *rw)
{
return __raw_uncached_fetch_asm(&rw->lock) > 0;
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 20 | 90.91% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 9.09% | 2 | 66.67% |
| Total | 22 | 100.00% | 3 | 100.00% |
static inline int arch_write_can_lock(arch_rwlock_t *rw)
{
return __raw_uncached_fetch_asm(&rw->lock) == RW_LOCK_BIAS;
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 20 | 90.91% | 1 | 33.33% |
thomas gleixner | thomas gleixner | 2 | 9.09% | 2 | 66.67% |
| Total | 22 | 100.00% | 3 | 100.00% |
static inline void arch_read_lock(arch_rwlock_t *rw)
{
__raw_read_lock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 50.00% |
| Total | 19 | 100.00% | 4 | 100.00% |
#define arch_read_lock_flags(lock, flags) arch_read_lock(lock)
static inline int arch_read_trylock(arch_rwlock_t *rw)
{
return __raw_read_trylock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 18 | 90.00% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.00% | 2 | 50.00% |
| Total | 20 | 100.00% | 4 | 100.00% |
static inline void arch_read_unlock(arch_rwlock_t *rw)
{
__raw_read_unlock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 50.00% |
| Total | 19 | 100.00% | 4 | 100.00% |
static inline void arch_write_lock(arch_rwlock_t *rw)
{
__raw_write_lock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 50.00% |
| Total | 19 | 100.00% | 4 | 100.00% |
#define arch_write_lock_flags(lock, flags) arch_write_lock(lock)
static inline int arch_write_trylock(arch_rwlock_t *rw)
{
return __raw_write_trylock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 18 | 90.00% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.00% | 2 | 50.00% |
| Total | 20 | 100.00% | 4 | 100.00% |
static inline void arch_write_unlock(arch_rwlock_t *rw)
{
__raw_write_unlock_asm(&rw->lock);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 17 | 89.47% | 2 | 50.00% |
thomas gleixner | thomas gleixner | 2 | 10.53% | 2 | 50.00% |
| Total | 19 | 100.00% | 4 | 100.00% |
#define arch_spin_relax(lock) cpu_relax()
#define arch_read_relax(lock) cpu_relax()
#define arch_write_relax(lock) cpu_relax()
#endif
#endif /* !__BFIN_SPINLOCK_H */
Overall Contributors
| Person | Tokens | Prop | Commits | CommitProp |
graf yang | graf yang | 373 | 85.35% | 3 | 25.00% |
thomas gleixner | thomas gleixner | 31 | 7.09% | 4 | 33.33% |
peter zijlstra | peter zijlstra | 13 | 2.97% | 1 | 8.33% |
mike frysinger | mike frysinger | 11 | 2.52% | 2 | 16.67% |
bryan wu | bryan wu | 8 | 1.83% | 1 | 8.33% |
arun sharma | arun sharma | 1 | 0.23% | 1 | 8.33% |
| Total | 437 | 100.00% | 12 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.