diff options
author | Axel Lin <axel.lin@ingics.com> | 2016-03-20 08:44:05 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-03-20 15:08:28 -0400 |
commit | 46f920d8a970cf102e18f25814a4ff4729ad8537 (patch) | |
tree | a7d7fb9abff1d6b01eeb6ad254c7fdcdf1807ae4 | |
parent | 710d60cbf1b312a8075a2158cbfbbd9c66132dcc (diff) |
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.lin@ingics.com>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: linux-tegra@vger.kernel.org
Link: http://lkml.kernel.org/r/1458477845.28679.1.camel@ingics.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | drivers/irqchip/irq-tegra.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/irqchip/irq-tegra.c b/drivers/irqchip/irq-tegra.c index 121ec301372e..50be9639e27e 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, | |||
275 | &parent_fwspec); | 275 | &parent_fwspec); |
276 | } | 276 | } |
277 | 277 | ||
278 | static void tegra_ictlr_domain_free(struct irq_domain *domain, | ||
279 | unsigned int virq, | ||
280 | unsigned int nr_irqs) | ||
281 | { | ||
282 | unsigned int i; | ||
283 | |||
284 | for (i = 0; i < nr_irqs; i++) { | ||
285 | struct irq_data *d = irq_domain_get_irq_data(domain, virq + i); | ||
286 | irq_domain_reset_irq_data(d); | ||
287 | } | ||
288 | } | ||
289 | |||
290 | static const struct irq_domain_ops tegra_ictlr_domain_ops = { | 278 | static const struct irq_domain_ops tegra_ictlr_domain_ops = { |
291 | .translate = tegra_ictlr_domain_translate, | 279 | .translate = tegra_ictlr_domain_translate, |
292 | .alloc = tegra_ictlr_domain_alloc, | 280 | .alloc = tegra_ictlr_domain_alloc, |
293 | .free = tegra_ictlr_domain_free, | 281 | .free = irq_domain_free_irqs_common, |
294 | }; | 282 | }; |
295 | 283 | ||
296 | static int __init tegra_ictlr_init(struct device_node *node, | 284 | static int __init tegra_ictlr_init(struct device_node *node, |