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>
This commit is contained in:
committed by
Thomas Gleixner
parent
710d60cbf1
commit
46f920d8a9
@@ -275,22 +275,10 @@ static int tegra_ictlr_domain_alloc(struct irq_domain *domain,
|
|||||||
&parent_fwspec);
|
&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 = {
|
static const struct irq_domain_ops tegra_ictlr_domain_ops = {
|
||||||
.translate = tegra_ictlr_domain_translate,
|
.translate = tegra_ictlr_domain_translate,
|
||||||
.alloc = tegra_ictlr_domain_alloc,
|
.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,
|
static int __init tegra_ictlr_init(struct device_node *node,
|
||||||
|
|||||||
Reference in New Issue
Block a user