summaryrefslogtreecommitdiffstats
path: root/drivers/gpio/gpio-xgene-sb.c
diff options
context:
space:
mode:
authorAxel Lin2016-03-17 05:01:43 +0100
committerLinus Walleij2016-03-31 10:22:53 +0200
commitc6cc75fec020eda0df04aff21f6cd6f4bfc1eea5 (patch)
treee0fb9c37ec0aa1472786f64f47e1fca0f07935cd /drivers/gpio/gpio-xgene-sb.c
parentirqdomain: Export irq_domain_free_irqs_common (diff)
downloadkernel-qcow2-linux-c6cc75fec020eda0df04aff21f6cd6f4bfc1eea5.tar.gz
kernel-qcow2-linux-c6cc75fec020eda0df04aff21f6cd6f4bfc1eea5.tar.xz
kernel-qcow2-linux-c6cc75fec020eda0df04aff21f6cd6f4bfc1eea5.zip
gpio: xgene-sb: 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. 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>
Diffstat (limited to 'drivers/gpio/gpio-xgene-sb.c')
-rw-r--r--drivers/gpio/gpio-xgene-sb.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/drivers/gpio/gpio-xgene-sb.c b/drivers/gpio/gpio-xgene-sb.c
index 31cbcb84cfaf..033258634b8c 100644
--- a/drivers/gpio/gpio-xgene-sb.c
+++ b/drivers/gpio/gpio-xgene-sb.c
@@ -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,
};