提交 30189651 编写于 作者: D David Daney 提交者: Ralf Baechle

MIPS: Remove unneeded volatile from arch/mips/lib/bitops.c

The operations on the bitmap pointers are protected by "memory"
clobbering raw_local_irq_{save,restore}(), so there is no need for
volatile here.  By removing the volatile we get better code generation
out of the compiler.
Signed-off-by: NDavid Daney <david.daney@cavium.com>
Patchwork: http://patchwork.linux-mips.org/patch/4966/Acked-by: NJohn Crispin <blogic@openwrt.org>
上级 22478677
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
*/ */
void __mips_set_bit(unsigned long nr, volatile unsigned long *addr) void __mips_set_bit(unsigned long nr, volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -41,7 +41,7 @@ EXPORT_SYMBOL(__mips_set_bit); ...@@ -41,7 +41,7 @@ EXPORT_SYMBOL(__mips_set_bit);
*/ */
void __mips_clear_bit(unsigned long nr, volatile unsigned long *addr) void __mips_clear_bit(unsigned long nr, volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -63,7 +63,7 @@ EXPORT_SYMBOL(__mips_clear_bit); ...@@ -63,7 +63,7 @@ EXPORT_SYMBOL(__mips_clear_bit);
*/ */
void __mips_change_bit(unsigned long nr, volatile unsigned long *addr) void __mips_change_bit(unsigned long nr, volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -86,7 +86,7 @@ EXPORT_SYMBOL(__mips_change_bit); ...@@ -86,7 +86,7 @@ EXPORT_SYMBOL(__mips_change_bit);
int __mips_test_and_set_bit(unsigned long nr, int __mips_test_and_set_bit(unsigned long nr,
volatile unsigned long *addr) volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -112,7 +112,7 @@ EXPORT_SYMBOL(__mips_test_and_set_bit); ...@@ -112,7 +112,7 @@ EXPORT_SYMBOL(__mips_test_and_set_bit);
int __mips_test_and_set_bit_lock(unsigned long nr, int __mips_test_and_set_bit_lock(unsigned long nr,
volatile unsigned long *addr) volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -137,7 +137,7 @@ EXPORT_SYMBOL(__mips_test_and_set_bit_lock); ...@@ -137,7 +137,7 @@ EXPORT_SYMBOL(__mips_test_and_set_bit_lock);
*/ */
int __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr) int __mips_test_and_clear_bit(unsigned long nr, volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
...@@ -162,7 +162,7 @@ EXPORT_SYMBOL(__mips_test_and_clear_bit); ...@@ -162,7 +162,7 @@ EXPORT_SYMBOL(__mips_test_and_clear_bit);
*/ */
int __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr) int __mips_test_and_change_bit(unsigned long nr, volatile unsigned long *addr)
{ {
volatile unsigned long *a = addr; unsigned long *a = (unsigned long *)addr;
unsigned bit = nr & SZLONG_MASK; unsigned bit = nr & SZLONG_MASK;
unsigned long mask; unsigned long mask;
unsigned long flags; unsigned long flags;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册