aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/include/asm/bitops.h
diff options
context:
space:
mode:
authorYi Li <yi.li@analog.com>2009-01-07 10:14:39 -0500
committerBryan Wu <cooloney@kernel.org>2009-01-07 10:14:39 -0500
commit6a01f230339321292cf065551f8cf55361052461 (patch)
tree7ac2ac8fc9f05a7315ef6a7f6f0a387433c62c14 /arch/blackfin/include/asm/bitops.h
parent5105432a3201e3f0e6c219cd0a74feee1e5e262b (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.h24
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
98static inline void clear_bit(int nr, volatile unsigned long *addr) 98static 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
110static inline void change_bit(int nr, volatile unsigned long *addr) 110static 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
122static inline int test_and_set_bit(int nr, volatile unsigned long *addr) 122static 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