提交 8901925d 编写于 作者: M Masahiro Yamada 提交者: Russell King

ARM: 8417/1: refactor bitops functions with BIT_MASK() and BIT_WORD()

Use BIT_MASK() and BIT_WORD() rather than hard-coding the size
of the "long" type.
Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 da4f295b
...@@ -35,9 +35,9 @@ ...@@ -35,9 +35,9 @@
static inline void ____atomic_set_bit(unsigned int bit, volatile unsigned long *p) static inline void ____atomic_set_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
*p |= mask; *p |= mask;
...@@ -47,9 +47,9 @@ static inline void ____atomic_set_bit(unsigned int bit, volatile unsigned long * ...@@ -47,9 +47,9 @@ static inline void ____atomic_set_bit(unsigned int bit, volatile unsigned long *
static inline void ____atomic_clear_bit(unsigned int bit, volatile unsigned long *p) static inline void ____atomic_clear_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
*p &= ~mask; *p &= ~mask;
...@@ -59,9 +59,9 @@ static inline void ____atomic_clear_bit(unsigned int bit, volatile unsigned long ...@@ -59,9 +59,9 @@ static inline void ____atomic_clear_bit(unsigned int bit, volatile unsigned long
static inline void ____atomic_change_bit(unsigned int bit, volatile unsigned long *p) static inline void ____atomic_change_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
*p ^= mask; *p ^= mask;
...@@ -73,9 +73,9 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p) ...@@ -73,9 +73,9 @@ ____atomic_test_and_set_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
res = *p; res = *p;
...@@ -90,9 +90,9 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p) ...@@ -90,9 +90,9 @@ ____atomic_test_and_clear_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
res = *p; res = *p;
...@@ -107,9 +107,9 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p) ...@@ -107,9 +107,9 @@ ____atomic_test_and_change_bit(unsigned int bit, volatile unsigned long *p)
{ {
unsigned long flags; unsigned long flags;
unsigned int res; unsigned int res;
unsigned long mask = 1UL << (bit & 31); unsigned long mask = BIT_MASK(bit);
p += bit >> 5; p += BIT_WORD(bit);
raw_local_irq_save(flags); raw_local_irq_save(flags);
res = *p; res = *p;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册