diff options
author | Yi Li <yi.li@analog.com> | 2009-01-07 10:14:39 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2009-01-07 10:14:39 -0500 |
commit | 6a01f230339321292cf065551f8cf55361052461 (patch) | |
tree | 7ac2ac8fc9f05a7315ef6a7f6f0a387433c62c14 /arch/blackfin/include/asm/bitops.h | |
parent | 5105432a3201e3f0e6c219cd0a74feee1e5e262b (diff) |
Blackfin arch: merge adeos blackfin part to arch/blackfin/
[Mike Frysinger <vapier.adi@gmail.com>:
- handle bf531/bf532/bf534/bf536 variants in ipipe.h
- cleanup IPIPE logic for bfin_set_irq_handler()
- cleanup ipipe asm code a bit and add missing ENDPROC()
- simplify IPIPE code in trap_c
- unify some of the IPIPE code and fix style
- simplify DO_IRQ_L1 handling with ipipe code
- revert IRQ_SW_INT# addition from ipipe merge
- remove duplicate get_{c,s}clk() prototypes
]
Signed-off-by: Yi Li <yi.li@analog.com>
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/include/asm/bitops.h')
-rw-r--r-- | arch/blackfin/include/asm/bitops.h | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/blackfin/include/asm/bitops.h b/arch/blackfin/include/asm/bitops.h index 9964e17232e9..21b036eadab1 100644 --- a/arch/blackfin/include/asm/bitops.h +++ b/arch/blackfin/include/asm/bitops.h | |||
@@ -90,9 +90,9 @@ static inline void set_bit(int nr, volatile unsigned long *addr) | |||
90 | unsigned long flags; | 90 | unsigned long flags; |
91 | a += nr >> 5; | 91 | a += nr >> 5; |
92 | mask = 1 << (nr & 0x1f); | 92 | mask = 1 << (nr & 0x1f); |
93 | local_irq_save(flags); | 93 | local_irq_save_hw(flags); |
94 | *a |= mask; | 94 | *a |= mask; |
95 | local_irq_restore(flags); | 95 | local_irq_restore_hw(flags); |
96 | } | 96 | } |
97 | 97 | ||
98 | static inline void clear_bit(int nr, volatile unsigned long *addr) | 98 | static inline void clear_bit(int nr, volatile unsigned long *addr) |
@@ -102,9 +102,9 @@ static inline void clear_bit(int nr, volatile unsigned long *addr) | |||
102 | unsigned long flags; | 102 | unsigned long flags; |
103 | a += nr >> 5; | 103 | a += nr >> 5; |
104 | mask = 1 << (nr & 0x1f); | 104 | mask = 1 << (nr & 0x1f); |
105 | local_irq_save(flags); | 105 | local_irq_save_hw(flags); |
106 | *a &= ~mask; | 106 | *a &= ~mask; |
107 | local_irq_restore(flags); | 107 | local_irq_restore_hw(flags); |
108 | } | 108 | } |
109 | 109 | ||
110 | static inline void change_bit(int nr, volatile unsigned long *addr) | 110 | static inline void change_bit(int nr, volatile unsigned long *addr) |
@@ -114,9 +114,9 @@ static inline void change_bit(int nr, volatile unsigned long *addr) | |||
114 | 114 | ||
115 | ADDR += nr >> 5; | 115 | ADDR += nr >> 5; |
116 | mask = 1 << (nr & 31); | 116 | mask = 1 << (nr & 31); |
117 | local_irq_save(flags); | 117 | local_irq_save_hw(flags); |
118 | *ADDR ^= mask; | 118 | *ADDR ^= mask; |
119 | local_irq_restore(flags); | 119 | local_irq_restore_hw(flags); |
120 | } | 120 | } |
121 | 121 | ||
122 | static inline int test_and_set_bit(int nr, volatile unsigned long *addr) | 122 | static inline int test_and_set_bit(int nr, volatile unsigned long *addr) |
@@ -127,10 +127,10 @@ static inline int test_and_set_bit(int nr, volatile unsigned long *addr) | |||
127 | 127 | ||
128 | a += nr >> 5; | 128 | a += nr >> 5; |
129 | mask = 1 << (nr & 0x1f); | 129 | mask = 1 << (nr & 0x1f); |
130 | local_irq_save(flags); | 130 | local_irq_save_hw(flags); |
131 | retval = (mask & *a) != 0; | 131 | retval = (mask & *a) != 0; |
132 | *a |= mask; | 132 | *a |= mask; |
133 | local_irq_restore(flags); | 133 | local_irq_restore_hw(flags); |
134 | 134 | ||
135 | return retval; | 135 | return retval; |
136 | } | 136 | } |
@@ -143,10 +143,10 @@ static inline int test_and_clear_bit(int nr, volatile unsigned long *addr) | |||
143 | 143 | ||
144 | a += nr >> 5; | 144 | a += nr >> 5; |
145 | mask = 1 << (nr & 0x1f); | 145 | mask = 1 << (nr & 0x1f); |
146 | local_irq_save(flags); | 146 | local_irq_save_hw(flags); |
147 | retval = (mask & *a) != 0; | 147 | retval = (mask & *a) != 0; |
148 | *a &= ~mask; | 148 | *a &= ~mask; |
149 | local_irq_restore(flags); | 149 | local_irq_restore_hw(flags); |
150 | 150 | ||
151 | return retval; | 151 | return retval; |
152 | } | 152 | } |
@@ -159,10 +159,10 @@ static inline int test_and_change_bit(int nr, volatile unsigned long *addr) | |||
159 | 159 | ||
160 | a += nr >> 5; | 160 | a += nr >> 5; |
161 | mask = 1 << (nr & 0x1f); | 161 | mask = 1 << (nr & 0x1f); |
162 | local_irq_save(flags); | 162 | local_irq_save_hw(flags); |
163 | retval = (mask & *a) != 0; | 163 | retval = (mask & *a) != 0; |
164 | *a ^= mask; | 164 | *a ^= mask; |
165 | local_irq_restore(flags); | 165 | local_irq_restore_hw(flags); |
166 | return retval; | 166 | return retval; |
167 | } | 167 | } |
168 | 168 | ||