aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2010-02-27 06:53:36 -0500
committerRalf Baechle <ralf@linux-mips.org>2010-02-27 06:53:36 -0500
commit32baba2fb7149ac262be1dca39291b55d846a075 (patch)
treec82a03454b436cfba4b4745e073e2f7373e89c87 /arch/mips
parentd8d607d59e78a865e0b55c60e84412519a83022c (diff)
MIPS: DEC: Convert KN01 lock to raw spinlock.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/dec/kn01-berr.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/mips/dec/kn01-berr.c b/arch/mips/dec/kn01-berr.c
index b9bdc6f8ba7f..94d23b4a7dc3 100644
--- a/arch/mips/dec/kn01-berr.c
+++ b/arch/mips/dec/kn01-berr.c
@@ -46,7 +46,7 @@
46 * There is no default value -- it has to be initialized. 46 * There is no default value -- it has to be initialized.
47 */ 47 */
48u16 cached_kn01_csr; 48u16 cached_kn01_csr;
49static DEFINE_SPINLOCK(kn01_lock); 49static DEFINE_RAW_SPINLOCK(kn01_lock);
50 50
51 51
52static inline void dec_kn01_be_ack(void) 52static inline void dec_kn01_be_ack(void)
@@ -54,12 +54,12 @@ static inline void dec_kn01_be_ack(void)
54 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); 54 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
55 unsigned long flags; 55 unsigned long flags;
56 56
57 spin_lock_irqsave(&kn01_lock, flags); 57 raw_spin_lock_irqsave(&kn01_lock, flags);
58 58
59 *csr = cached_kn01_csr | KN01_CSR_MEMERR; /* Clear bus IRQ. */ 59 *csr = cached_kn01_csr | KN01_CSR_MEMERR; /* Clear bus IRQ. */
60 iob(); 60 iob();
61 61
62 spin_unlock_irqrestore(&kn01_lock, flags); 62 raw_spin_unlock_irqrestore(&kn01_lock, flags);
63} 63}
64 64
65static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker) 65static int dec_kn01_be_backend(struct pt_regs *regs, int is_fixup, int invoker)
@@ -182,7 +182,7 @@ void __init dec_kn01_be_init(void)
182 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR); 182 volatile u16 *csr = (void *)CKSEG1ADDR(KN01_SLOT_BASE + KN01_CSR);
183 unsigned long flags; 183 unsigned long flags;
184 184
185 spin_lock_irqsave(&kn01_lock, flags); 185 raw_spin_lock_irqsave(&kn01_lock, flags);
186 186
187 /* Preset write-only bits of the Control Register cache. */ 187 /* Preset write-only bits of the Control Register cache. */
188 cached_kn01_csr = *csr; 188 cached_kn01_csr = *csr;
@@ -194,7 +194,7 @@ void __init dec_kn01_be_init(void)
194 *csr = cached_kn01_csr; 194 *csr = cached_kn01_csr;
195 iob(); 195 iob();
196 196
197 spin_unlock_irqrestore(&kn01_lock, flags); 197 raw_spin_unlock_irqrestore(&kn01_lock, flags);
198 198
199 /* Clear any leftover errors from the firmware. */ 199 /* Clear any leftover errors from the firmware. */
200 dec_kn01_be_ack(); 200 dec_kn01_be_ack();