|
@@ -334,7 +334,7 @@ unsigned int do_IRQ(int irq, struct uml_pt_regs *regs)
|
|
|
{
|
|
|
struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs);
|
|
|
irq_enter();
|
|
|
- __do_IRQ(irq);
|
|
|
+ generic_handle_irq(irq);
|
|
|
irq_exit();
|
|
|
set_irq_regs(old_regs);
|
|
|
return 1;
|
|
@@ -391,17 +391,10 @@ void __init init_IRQ(void)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
- irq_desc[TIMER_IRQ].status = IRQ_DISABLED;
|
|
|
- irq_desc[TIMER_IRQ].action = NULL;
|
|
|
- irq_desc[TIMER_IRQ].depth = 1;
|
|
|
- irq_desc[TIMER_IRQ].chip = &SIGVTALRM_irq_type;
|
|
|
- enable_irq(TIMER_IRQ);
|
|
|
+ set_irq_chip_and_handler(TIMER_IRQ, &SIGVTALRM_irq_type, handle_edge_irq);
|
|
|
+
|
|
|
for (i = 1; i < NR_IRQS; i++) {
|
|
|
- irq_desc[i].status = IRQ_DISABLED;
|
|
|
- irq_desc[i].action = NULL;
|
|
|
- irq_desc[i].depth = 1;
|
|
|
- irq_desc[i].chip = &normal_irq_type;
|
|
|
- enable_irq(i);
|
|
|
+ set_irq_chip_and_handler(i, &normal_irq_type, handle_edge_irq);
|
|
|
}
|
|
|
}
|
|
|
|