Skip to content

Commit

Permalink
MIPS: GT641xx: Convert IRQ controller lock to raw spinlock.
Browse files Browse the repository at this point in the history
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Ralf Baechle committed Feb 27, 2010
1 parent 4a41abe commit f2c194a
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions arch/mips/kernel/irq-gt641xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,58 +27,58 @@

#define GT641XX_IRQ_TO_BIT(irq) (1U << (irq - GT641XX_IRQ_BASE))

static DEFINE_SPINLOCK(gt641xx_irq_lock);
static DEFINE_RAW_SPINLOCK(gt641xx_irq_lock);

static void ack_gt641xx_irq(unsigned int irq)
{
unsigned long flags;
u32 cause;

spin_lock_irqsave(&gt641xx_irq_lock, flags);
raw_spin_lock_irqsave(&gt641xx_irq_lock, flags);
cause = GT_READ(GT_INTRCAUSE_OFS);
cause &= ~GT641XX_IRQ_TO_BIT(irq);
GT_WRITE(GT_INTRCAUSE_OFS, cause);
spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
raw_spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
}

static void mask_gt641xx_irq(unsigned int irq)
{
unsigned long flags;
u32 mask;

spin_lock_irqsave(&gt641xx_irq_lock, flags);
raw_spin_lock_irqsave(&gt641xx_irq_lock, flags);
mask = GT_READ(GT_INTRMASK_OFS);
mask &= ~GT641XX_IRQ_TO_BIT(irq);
GT_WRITE(GT_INTRMASK_OFS, mask);
spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
raw_spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
}

static void mask_ack_gt641xx_irq(unsigned int irq)
{
unsigned long flags;
u32 cause, mask;

spin_lock_irqsave(&gt641xx_irq_lock, flags);
raw_spin_lock_irqsave(&gt641xx_irq_lock, flags);
mask = GT_READ(GT_INTRMASK_OFS);
mask &= ~GT641XX_IRQ_TO_BIT(irq);
GT_WRITE(GT_INTRMASK_OFS, mask);

cause = GT_READ(GT_INTRCAUSE_OFS);
cause &= ~GT641XX_IRQ_TO_BIT(irq);
GT_WRITE(GT_INTRCAUSE_OFS, cause);
spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
raw_spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
}

static void unmask_gt641xx_irq(unsigned int irq)
{
unsigned long flags;
u32 mask;

spin_lock_irqsave(&gt641xx_irq_lock, flags);
raw_spin_lock_irqsave(&gt641xx_irq_lock, flags);
mask = GT_READ(GT_INTRMASK_OFS);
mask |= GT641XX_IRQ_TO_BIT(irq);
GT_WRITE(GT_INTRMASK_OFS, mask);
spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
raw_spin_unlock_irqrestore(&gt641xx_irq_lock, flags);
}

static struct irq_chip gt641xx_irq_chip = {
Expand Down

0 comments on commit f2c194a

Please sign in to comment.