Commit-ID:  46f920d8a970cf102e18f25814a4ff4729ad8537
Gitweb:     http://git.kernel.org/tip/46f920d8a970cf102e18f25814a4ff4729ad8537
Author:     Axel Lin <axel....@ingics.com>
AuthorDate: Sun, 20 Mar 2016 20:44:05 +0800
Committer:  Thomas Gleixner <t...@linutronix.de>
CommitDate: Sun, 20 Mar 2016 20:08:28 +0100

irqchip/tegra: Switch to use irq_domain_free_irqs_common

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 of
the open-coded private implementation.

Signed-off-by: Axel Lin <axel....@ingics.com>
Cc: Alexandre Courbot <gnu...@gmail.com>
Cc: Jason Cooper <ja...@lakedaemon.net>
Cc: Stephen Warren <swar...@wwwdotorg.org>
Cc: Marc Zyngier <marc.zyng...@arm.com>
Cc: Thierry Reding <thierry.red...@gmail.com>
Cc: linux-te...@vger.kernel.org
Link: http://lkml.kernel.org/r/1458477845.28679.1.ca...@ingics.com
Signed-off-by: Thomas Gleixner <t...@linutronix.de>

---
 drivers/irqchip/irq-tegra.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/irqchip/irq-tegra.c b/drivers/irqchip/irq-tegra.c
index 121ec30..50be963 100644
--- a/drivers/irqchip/irq-tegra.c
+++ b/drivers/irqchip/irq-tegra.c
@@ -275,22 +275,10 @@ static int tegra_ictlr_domain_alloc(struct irq_domain 
*domain,
                                            &parent_fwspec);
 }
 
-static void tegra_ictlr_domain_free(struct irq_domain *domain,
-                                   unsigned int virq,
-                                   unsigned int nr_irqs)
-{
-       unsigned int i;
-
-       for (i = 0; i < nr_irqs; i++) {
-               struct irq_data *d = irq_domain_get_irq_data(domain, virq + i);
-               irq_domain_reset_irq_data(d);
-       }
-}
-
 static const struct irq_domain_ops tegra_ictlr_domain_ops = {
        .translate      = tegra_ictlr_domain_translate,
        .alloc          = tegra_ictlr_domain_alloc,
-       .free           = tegra_ictlr_domain_free,
+       .free           = irq_domain_free_irqs_common,
 };
 
 static int __init tegra_ictlr_init(struct device_node *node,

Reply via email to