Commit 9b3ffe52 authored by Lennert Buytenhek's avatar Lennert Buytenhek

ARM: ns9xxx: irq_data conversion.

Signed-off-by: default avatarLennert Buytenhek <buytenh@secretlab.ca>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
parent 4f8d7541
...@@ -37,44 +37,44 @@ void __init board_a9m9750dev_map_io(void) ...@@ -37,44 +37,44 @@ void __init board_a9m9750dev_map_io(void)
ARRAY_SIZE(board_a9m9750dev_io_desc)); ARRAY_SIZE(board_a9m9750dev_io_desc));
} }
static void a9m9750dev_fpga_ack_irq(unsigned int irq) static void a9m9750dev_fpga_ack_irq(struct irq_data *d)
{ {
/* nothing */ /* nothing */
} }
static void a9m9750dev_fpga_mask_irq(unsigned int irq) static void a9m9750dev_fpga_mask_irq(struct irq_data *d)
{ {
u8 ier; u8 ier;
ier = __raw_readb(FPGA_IER); ier = __raw_readb(FPGA_IER);
ier &= ~(1 << (irq - FPGA_IRQ(0))); ier &= ~(1 << (d->irq - FPGA_IRQ(0)));
__raw_writeb(ier, FPGA_IER); __raw_writeb(ier, FPGA_IER);
} }
static void a9m9750dev_fpga_maskack_irq(unsigned int irq) static void a9m9750dev_fpga_maskack_irq(struct irq_data *d)
{ {
a9m9750dev_fpga_mask_irq(irq); a9m9750dev_fpga_mask_irq(d);
a9m9750dev_fpga_ack_irq(irq); a9m9750dev_fpga_ack_irq(d);
} }
static void a9m9750dev_fpga_unmask_irq(unsigned int irq) static void a9m9750dev_fpga_unmask_irq(struct irq_data *d)
{ {
u8 ier; u8 ier;
ier = __raw_readb(FPGA_IER); ier = __raw_readb(FPGA_IER);
ier |= 1 << (irq - FPGA_IRQ(0)); ier |= 1 << (d->irq - FPGA_IRQ(0));
__raw_writeb(ier, FPGA_IER); __raw_writeb(ier, FPGA_IER);
} }
static struct irq_chip a9m9750dev_fpga_chip = { static struct irq_chip a9m9750dev_fpga_chip = {
.ack = a9m9750dev_fpga_ack_irq, .irq_ack = a9m9750dev_fpga_ack_irq,
.mask = a9m9750dev_fpga_mask_irq, .irq_mask = a9m9750dev_fpga_mask_irq,
.mask_ack = a9m9750dev_fpga_maskack_irq, .irq_mask_ack = a9m9750dev_fpga_maskack_irq,
.unmask = a9m9750dev_fpga_unmask_irq, .irq_unmask = a9m9750dev_fpga_unmask_irq,
}; };
static void a9m9750dev_fpga_demux_handler(unsigned int irq, static void a9m9750dev_fpga_demux_handler(unsigned int irq,
...@@ -82,7 +82,7 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq, ...@@ -82,7 +82,7 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq,
{ {
u8 stat = __raw_readb(FPGA_ISR); u8 stat = __raw_readb(FPGA_ISR);
desc->chip->mask_ack(irq); desc->irq_data.chip->irq_mask_ack(&desc->irq_data);
while (stat != 0) { while (stat != 0) {
int irqno = fls(stat) - 1; int irqno = fls(stat) - 1;
...@@ -92,7 +92,7 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq, ...@@ -92,7 +92,7 @@ static void a9m9750dev_fpga_demux_handler(unsigned int irq,
generic_handle_irq(FPGA_IRQ(irqno)); generic_handle_irq(FPGA_IRQ(irqno));
} }
desc->chip->unmask(irq); desc->irq_data.chip->irq_unmask(&desc->irq_data);
} }
void __init board_a9m9750dev_init_irq(void) void __init board_a9m9750dev_init_irq(void)
......
...@@ -22,40 +22,40 @@ ...@@ -22,40 +22,40 @@
#define irq2prio(i) (i) #define irq2prio(i) (i)
#define prio2irq(p) (p) #define prio2irq(p) (p)
static void ns9xxx_mask_irq(unsigned int irq) static void ns9xxx_mask_irq(struct irq_data *d)
{ {
/* XXX: better use cpp symbols */ /* XXX: better use cpp symbols */
int prio = irq2prio(irq); int prio = irq2prio(d->irq);
u32 ic = __raw_readl(SYS_IC(prio / 4)); u32 ic = __raw_readl(SYS_IC(prio / 4));
ic &= ~(1 << (7 + 8 * (3 - (prio & 3)))); ic &= ~(1 << (7 + 8 * (3 - (prio & 3))));
__raw_writel(ic, SYS_IC(prio / 4)); __raw_writel(ic, SYS_IC(prio / 4));
} }
static void ns9xxx_ack_irq(unsigned int irq) static void ns9xxx_ack_irq(struct irq_data *d)
{ {
__raw_writel(0, SYS_ISRADDR); __raw_writel(0, SYS_ISRADDR);
} }
static void ns9xxx_maskack_irq(unsigned int irq) static void ns9xxx_maskack_irq(struct irq_data *d)
{ {
ns9xxx_mask_irq(irq); ns9xxx_mask_irq(d);
ns9xxx_ack_irq(irq); ns9xxx_ack_irq(d);
} }
static void ns9xxx_unmask_irq(unsigned int irq) static void ns9xxx_unmask_irq(struct irq_data *d)
{ {
/* XXX: better use cpp symbols */ /* XXX: better use cpp symbols */
int prio = irq2prio(irq); int prio = irq2prio(d->irq);
u32 ic = __raw_readl(SYS_IC(prio / 4)); u32 ic = __raw_readl(SYS_IC(prio / 4));
ic |= 1 << (7 + 8 * (3 - (prio & 3))); ic |= 1 << (7 + 8 * (3 - (prio & 3)));
__raw_writel(ic, SYS_IC(prio / 4)); __raw_writel(ic, SYS_IC(prio / 4));
} }
static struct irq_chip ns9xxx_chip = { static struct irq_chip ns9xxx_chip = {
.ack = ns9xxx_ack_irq, .irq_ack = ns9xxx_ack_irq,
.mask = ns9xxx_mask_irq, .irq_mask = ns9xxx_mask_irq,
.mask_ack = ns9xxx_maskack_irq, .irq_mask_ack = ns9xxx_maskack_irq,
.unmask = ns9xxx_unmask_irq, .irq_unmask = ns9xxx_unmask_irq,
}; };
#if 0 #if 0
...@@ -92,10 +92,10 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc) ...@@ -92,10 +92,10 @@ static void handle_prio_irq(unsigned int irq, struct irq_desc *desc)
if (desc->status & IRQ_DISABLED) if (desc->status & IRQ_DISABLED)
out_mask: out_mask:
desc->chip->mask(irq); desc->irq_data.chip->irq_mask(&desc->irq_data);
/* ack unconditionally to unmask lower prio irqs */ /* ack unconditionally to unmask lower prio irqs */
desc->chip->ack(irq); desc->irq_data.chip->irq_ack(&desc->irq_data);
raw_spin_unlock(&desc->lock); raw_spin_unlock(&desc->lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment