gpio: xgene-sb: Use irq_domain_free_irqs_common()
authorAxel Lin <axel.lin@ingics.com>
Thu, 17 Mar 2016 04:01:43 +0000 (12:01 +0800)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 31 Mar 2016 08:22:53 +0000 (10:22 +0200)
Current code calls irq_domain_alloc_irqs_parent() in .alloc,
so it should call irq_domain_free_irqs_parent() accordingly in .free.
Fix it by switching to use irq_domain_free_irqs_common() instead.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-xgene-sb.c

index 31cbcb84cfafef46e0a6a8d7725ebec25a4bbfd1..033258634b8c37300df3598e3fd24570aab1597d 100644 (file)
@@ -216,23 +216,10 @@ static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain,
                        &parent_fwspec);
 }
 
-static void xgene_gpio_sb_domain_free(struct irq_domain *domain,
-               unsigned int virq,
-               unsigned int nr_irqs)
-{
-       struct irq_data *d;
-       unsigned int i;
-
-       for (i = 0; i < nr_irqs; i++) {
-               d = irq_domain_get_irq_data(domain, virq + i);
-               irq_domain_reset_irq_data(d);
-       }
-}
-
 static const struct irq_domain_ops xgene_gpio_sb_domain_ops = {
        .translate      = xgene_gpio_sb_domain_translate,
        .alloc          = xgene_gpio_sb_domain_alloc,
-       .free           = xgene_gpio_sb_domain_free,
+       .free           = irq_domain_free_irqs_common,
        .activate       = xgene_gpio_sb_domain_activate,
        .deactivate     = xgene_gpio_sb_domain_deactivate,
 };