powerpc: Convert beatic_irq_mask_lock to raw_spinlock
authorThomas Gleixner <tglx@linutronix.de>
Thu, 18 Feb 2010 02:22:52 +0000 (02:22 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 19 Feb 2010 03:52:30 +0000 (14:52 +1100)
beatic_irq_mask_lock needs to be a real spinlock in RT. Convert it to
raw_spinlock.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/platforms/cell/beat_interrupt.c

index 8d29290..682af97 100644 (file)
@@ -30,7 +30,7 @@
 #include "beat_wrapper.h"
 
 #define        MAX_IRQS        NR_IRQS
-static DEFINE_SPINLOCK(beatic_irq_mask_lock);
+static DEFINE_RAW_SPINLOCK(beatic_irq_mask_lock);
 static uint64_t        beatic_irq_mask_enable[(MAX_IRQS+255)/64];
 static uint64_t        beatic_irq_mask_ack[(MAX_IRQS+255)/64];
 
@@ -65,30 +65,30 @@ static void beatic_mask_irq(unsigned int irq_plug)
 {
        unsigned long flags;
 
-       spin_lock_irqsave(&beatic_irq_mask_lock, flags);
+       raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
        beatic_irq_mask_enable[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64)));
        beatic_update_irq_mask(irq_plug);
-       spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
+       raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
 }
 
 static void beatic_unmask_irq(unsigned int irq_plug)
 {
        unsigned long flags;
 
-       spin_lock_irqsave(&beatic_irq_mask_lock, flags);
+       raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
        beatic_irq_mask_enable[irq_plug/64] |= 1UL << (63 - (irq_plug%64));
        beatic_update_irq_mask(irq_plug);
-       spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
+       raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
 }
 
 static void beatic_ack_irq(unsigned int irq_plug)
 {
        unsigned long flags;
 
-       spin_lock_irqsave(&beatic_irq_mask_lock, flags);
+       raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
        beatic_irq_mask_ack[irq_plug/64] &= ~(1UL << (63 - (irq_plug%64)));
        beatic_update_irq_mask(irq_plug);
-       spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
+       raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
 }
 
 static void beatic_end_irq(unsigned int irq_plug)
@@ -103,10 +103,10 @@ static void beatic_end_irq(unsigned int irq_plug)
 
                printk(KERN_ERR "IRQ over-downcounted, plug %d\n", irq_plug);
        }
-       spin_lock_irqsave(&beatic_irq_mask_lock, flags);
+       raw_spin_lock_irqsave(&beatic_irq_mask_lock, flags);
        beatic_irq_mask_ack[irq_plug/64] |= 1UL << (63 - (irq_plug%64));
        beatic_update_irq_mask(irq_plug);
-       spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
+       raw_spin_unlock_irqrestore(&beatic_irq_mask_lock, flags);
 }
 
 static struct irq_chip beatic_pic = {