sh: intc: switch irq_desc iteration to new active IRQ iterator.
authorPaul Mundt <lethal@linux-sh.org>
Thu, 28 Oct 2010 02:36:31 +0000 (11:36 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Thu, 28 Oct 2010 02:36:31 +0000 (11:36 +0900)
There's no need to iterative over every single irq_desc when we can
already work out which IRQs have a backing descriptor via the shiny new
for_each_active_irq(). Switch to that instead.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
drivers/sh/intc/core.c

index 338fad2a3fa4ada24a952cb809849f594e48e3bd..873a99ff8f64a454a505d1838be751dad20ae181 100644 (file)
@@ -403,11 +403,8 @@ static int intc_suspend(struct sys_device *dev, pm_message_t state)
                if (d->state.event != PM_EVENT_FREEZE)
                        break;
 
-               for_each_irq_nr(irq) {
+               for_each_active_irq(irq) {
                        desc = irq_to_desc(irq);
-                       if (!desc)
-                               continue;
-
                        data = irq_get_irq_data(irq);
                        chip = irq_data_get_irq_chip(data);
 
@@ -428,11 +425,8 @@ static int intc_suspend(struct sys_device *dev, pm_message_t state)
                break;
        case PM_EVENT_SUSPEND:
                /* enable wakeup irqs belonging to this intc controller */
-               for_each_irq_nr(irq) {
+               for_each_active_irq(irq) {
                        desc = irq_to_desc(irq);
-                       if (!desc)
-                               continue;
-
                        data = irq_get_irq_data(irq);
                        chip = irq_data_get_irq_chip(data);