Merge branches 'doc', 'multitouch', 'upstream' and 'upstream-fixes' into for-linus
[pandora-kernel.git] / arch / ia64 / hp / sim / hpsim_irq.c
index b272261..4bd9a63 100644 (file)
 #include <linux/irq.h>
 
 static unsigned int
-hpsim_irq_startup (unsigned int irq)
+hpsim_irq_startup(struct irq_data *data)
 {
        return 0;
 }
 
 static void
-hpsim_irq_noop (unsigned int irq)
+hpsim_irq_noop(struct irq_data *data)
 {
 }
 
 static int
-hpsim_set_affinity_noop(unsigned int a, const struct cpumask *b)
+hpsim_set_affinity_noop(struct irq_data *d, const struct cpumask *b, bool f)
 {
        return 0;
 }
 
 static struct irq_chip irq_type_hp_sim = {
-       .name =         "hpsim",
-       .startup =      hpsim_irq_startup,
-       .shutdown =     hpsim_irq_noop,
-       .enable =       hpsim_irq_noop,
-       .disable =      hpsim_irq_noop,
-       .ack =          hpsim_irq_noop,
-       .end =          hpsim_irq_noop,
-       .set_affinity = hpsim_set_affinity_noop,
+       .name =                 "hpsim",
+       .irq_startup =          hpsim_irq_startup,
+       .irq_shutdown =         hpsim_irq_noop,
+       .irq_enable =           hpsim_irq_noop,
+       .irq_disable =          hpsim_irq_noop,
+       .irq_ack =              hpsim_irq_noop,
+       .irq_set_affinity =     hpsim_set_affinity_noop,
 };
 
 void __init
 hpsim_irq_init (void)
 {
-       struct irq_desc *idesc;
        int i;
 
-       for (i = 0; i < NR_IRQS; ++i) {
-               idesc = irq_desc + i;
-               if (idesc->chip == &no_irq_chip)
-                       idesc->chip = &irq_type_hp_sim;
+       for_each_active_irq(i) {
+               struct irq_chip *chip = irq_get_chip(i);
+
+               if (chip == &no_irq_chip)
+                       irq_set_chip(i, &irq_type_hp_sim);
        }
 }