projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ATM]: kmalloc to kzalloc patches for drivers/atm
[powerpc.git]
/
include
/
asm-m32r
/
spinlock.h
diff --git
a/include/asm-m32r/spinlock.h
b/include/asm-m32r/spinlock.h
index
7de7def
..
f5cfba8
100644
(file)
--- a/
include/asm-m32r/spinlock.h
+++ b/
include/asm-m32r/spinlock.h
@@
-9,7
+9,6
@@
* Copyright (C) 2004 Hirokazu Takata <takata at linux-m32r.org>
*/
* Copyright (C) 2004 Hirokazu Takata <takata at linux-m32r.org>
*/
-#include <linux/config.h> /* CONFIG_DEBUG_SPINLOCK, CONFIG_SMP */
#include <linux/compiler.h>
#include <asm/atomic.h>
#include <asm/page.h>
#include <linux/compiler.h>
#include <asm/atomic.h>
#include <asm/page.h>
@@
-299,7
+298,14
@@
static inline void __raw_write_unlock(raw_rwlock_t *rw)
);
}
);
}
-#define __raw_read_trylock(lock) generic__raw_read_trylock(lock)
+static inline int __raw_read_trylock(raw_rwlock_t *lock)
+{
+ atomic_t *count = (atomic_t*)lock;
+ if (atomic_dec_return(count) >= 0)
+ return 1;
+ atomic_inc(count);
+ return 0;
+}
static inline int __raw_write_trylock(raw_rwlock_t *lock)
{
static inline int __raw_write_trylock(raw_rwlock_t *lock)
{
@@
-310,4
+316,8
@@
static inline int __raw_write_trylock(raw_rwlock_t *lock)
return 0;
}
return 0;
}
+#define _raw_spin_relax(lock) cpu_relax()
+#define _raw_read_relax(lock) cpu_relax()
+#define _raw_write_relax(lock) cpu_relax()
+
#endif /* _ASM_M32R_SPINLOCK_H */
#endif /* _ASM_M32R_SPINLOCK_H */