sparse irq_desc[] array: core kernel and x86 changes
[deliverable/linux.git] / kernel / irq / chip.c
index 4895fde4eb933c25fe50fbbfabc3fb0a6cd9c742..8e4fce4a1b1fbb3491094b6615b26a4ee0c4fe07 100644 (file)
  */
 void dynamic_irq_init(unsigned int irq)
 {
-       struct irq_desc *desc = irq_to_desc(irq);
+       struct irq_desc *desc;
        unsigned long flags;
 
+       desc = irq_to_desc(irq);
        if (!desc) {
                WARN(1, KERN_ERR "Trying to initialize invalid IRQ%d\n", irq);
                return;
@@ -76,6 +77,7 @@ void dynamic_irq_cleanup(unsigned int irq)
        desc->chip_data = NULL;
        desc->handle_irq = handle_bad_irq;
        desc->chip = &no_irq_chip;
+       desc->name = NULL;
        spin_unlock_irqrestore(&desc->lock, flags);
 }
 
@@ -127,7 +129,7 @@ int set_irq_type(unsigned int irq, unsigned int type)
                return 0;
 
        spin_lock_irqsave(&desc->lock, flags);
-       ret = __irq_set_trigger(desc, irq, flags);
+       ret = __irq_set_trigger(desc, irq, type);
        spin_unlock_irqrestore(&desc->lock, flags);
        return ret;
 }
This page took 0.250043 seconds and 5 git commands to generate.