diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-06 22:23:47 +0000 |
---|---|---|
committer | Chen Liqin <liqin.chen@sunplusct.com> | 2011-03-28 12:00:56 +0800 |
commit | 7182297ebba6bfe50f594f0d2753b5867ea629fe (patch) | |
tree | b8e6f7756c1013a546d960942255c040dd9b5b59 /arch/score | |
parent | 16c29dafcc86024048f1dbb8349d31cb22c7c55a (diff) | |
download | linux-stable-7182297ebba6bfe50f594f0d2753b5867ea629fe.tar.gz linux-stable-7182297ebba6bfe50f594f0d2753b5867ea629fe.tar.bz2 linux-stable-7182297ebba6bfe50f594f0d2753b5867ea629fe.zip |
score: Convert irq_chip to new functions
Use the proper accessor functions in show_interrupts() while at it.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Chen Liqin <liqin.chen@sunplusct.com>
Diffstat (limited to 'arch/score')
-rw-r--r-- | arch/score/kernel/irq.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/arch/score/kernel/irq.c b/arch/score/kernel/irq.c index 47647dde09ca..ee68ec633242 100644 --- a/arch/score/kernel/irq.c +++ b/arch/score/kernel/irq.c @@ -52,9 +52,9 @@ asmlinkage void do_IRQ(int irq) irq_exit(); } -static void score_mask(unsigned int irq_nr) +static void score_mask(struct irq_data *d) { - unsigned int irq_source = 63 - irq_nr; + unsigned int irq_source = 63 - d->irq; if (irq_source < 32) __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) | \ @@ -64,9 +64,9 @@ static void score_mask(unsigned int irq_nr) (1 << (irq_source - 32))), SCORE_PIC + INT_MASKH); } -static void score_unmask(unsigned int irq_nr) +static void score_unmask(struct irq_data *d) { - unsigned int irq_source = 63 - irq_nr; + unsigned int irq_source = 63 - d->irq; if (irq_source < 32) __raw_writel((__raw_readl(SCORE_PIC + INT_MASKL) & \ @@ -78,9 +78,9 @@ static void score_unmask(unsigned int irq_nr) struct irq_chip score_irq_chip = { .name = "Score7-level", - .mask = score_mask, - .mask_ack = score_mask, - .unmask = score_unmask, + .irq_mask = score_mask, + .irq_mask_ack = score_mask, + .irq_unmask = score_unmask, }; /* @@ -127,21 +127,23 @@ int show_interrupts(struct seq_file *p, void *v) } if (i < NR_IRQS) { - spin_lock_irqsave(&irq_desc[i].lock, flags); - action = irq_desc[i].action; + struct irq_desc *desc = irq_to_desc(i); + + raw_spin_lock_irqsave(&desc->lock, flags); + action = desc->action; if (!action) goto unlock; seq_printf(p, "%3d: ", i); seq_printf(p, "%10u ", kstat_irqs(i)); - seq_printf(p, " %8s", irq_desc[i].chip->name ? : "-"); + seq_printf(p, " %8s", get_irq_desc_chip(desc)->name ? : "-"); seq_printf(p, " %s", action->name); for (action = action->next; action; action = action->next) seq_printf(p, ", %s", action->name); seq_putc(p, '\n'); unlock: - spin_unlock_irqrestore(&irq_desc[i].lock, flags); + raw_spin_unlock_irqrestore(&desc->lock, flags); } return 0; |