Commit f7a004ba authored by Thomas Gleixner's avatar Thomas Gleixner

cris: Convert V10 interrupt handling

Convert the irq_chip functions and install handle_simple_irq for each
interrupt. This converts V10 to the flow handling and lets us remove
__do_IRQ().
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Cc: Mikael Starvik <starvik@axis.com>
parent c84077ac
...@@ -104,43 +104,21 @@ static void (*interrupt[NR_IRQS])(void) = { ...@@ -104,43 +104,21 @@ static void (*interrupt[NR_IRQS])(void) = {
IRQ31_interrupt IRQ31_interrupt
}; };
static void enable_crisv10_irq(unsigned int irq); static void enable_crisv10_irq(struct irq_data *data)
static unsigned int startup_crisv10_irq(unsigned int irq)
{
enable_crisv10_irq(irq);
return 0;
}
#define shutdown_crisv10_irq disable_crisv10_irq
static void enable_crisv10_irq(unsigned int irq)
{
crisv10_unmask_irq(irq);
}
static void disable_crisv10_irq(unsigned int irq)
{
crisv10_mask_irq(irq);
}
static void ack_crisv10_irq(unsigned int irq)
{ {
crisv10_unmask_irq(data->irq);
} }
static void end_crisv10_irq(unsigned int irq) static void disable_crisv10_irq(struct irq_data *data)
{ {
crisv10_mask_irq(data->irq);
} }
static struct irq_chip crisv10_irq_type = { static struct irq_chip crisv10_irq_type = {
.name = "CRISv10", .name = "CRISv10",
.startup = startup_crisv10_irq, .irq_shutdown = disable_crisv10_irq,
.shutdown = shutdown_crisv10_irq, .irq_enable = enable_crisv10_irq,
.enable = enable_crisv10_irq, .irq_disable = disable_crisv10_irq,
.disable = disable_crisv10_irq,
.ack = ack_crisv10_irq,
.end = end_crisv10_irq,
.set_affinity = NULL
}; };
void weird_irq(void); void weird_irq(void);
...@@ -221,7 +199,8 @@ init_IRQ(void) ...@@ -221,7 +199,8 @@ init_IRQ(void)
/* Initialize IRQ handler descriptors. */ /* Initialize IRQ handler descriptors. */
for(i = 2; i < NR_IRQS; i++) { for(i = 2; i < NR_IRQS; i++) {
irq_desc[i].chip = &crisv10_irq_type; set_irq_desc_and_handler(i, &crisv10_irq_type,
handle_simple_irq);
set_int_vector(i, interrupt[i]); set_int_vector(i, interrupt[i]);
} }
......
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