irqdomain: Export irq_domain_free_irqs_common
Subsystems (3)
PATCH 1/2 irqdomain: Export irq_domain_free_irqs_common
Export irq_domain_free_irqs_common so it can be used by modules.
--- kernel/irq/irqdomain.c | 1 + 1 file changed, 1 insertion(+)
kernel/irq/irqdomain.c +1 -0
@@ -1099,6 +1099,7 @@ void irq_domain_free_irqs_common(struct irq_domain *domain, unsigned int virq, }irq_domain_free_irqs_parent (domain, virq, nr_irqs); } +EXPORT_SYMBOL_GPL (irq_domain_free_irqs_common);/** * irq_domain_free_irqs_top - Clear handler and handler data, clear irqdata and free parent
Signature · 1 line
2.1.4
PATCH 2/2 gpio: xgene-sb: Use irq_domain_free_irqs_common instead of open coded
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.
--- drivers/gpio/gpio-xgene-sb.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)
drivers/gpio/gpio-xgene-sb.c +1 -14
@@ -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, };
Signature · 1 line
2.1.4
Re: [PATCH 2/2] gpio: xgene-sb: Use irq_domain_free_irqs_common instead of open coded
Quoted 29 lines · Axel Lin
Current code calls
irq_domain_alloc_irqs_parent()in .alloc, so it should callirq_domain_free_irqs_parent()accordingly in .free. Fix it by switching to useirq_domain_free_irqs_common()instead.Signed-off-by Axel Lin <[email protected]>--- drivers/gpio/gpio-xgene-sb.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)drivers/gpio/gpio-xgene-sb.c +0
-11@@ -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); - }
drivers/gpio/gpio-xgene-sb.c static int xgene_gpio_sb_domain_alloc(struct irq_domain *domain, · line 225
Quoted 10 lines
drivers/gpio/gpio-xgene-sb.c +1
-3-} -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, };
Ah, nice catch. For both patches:
Thanks,
M.
Signature · 1 line
Jazz is not dead. It just smells funny...
Re: [PATCH 2/2] gpio: xgene-sb: Use irq_domain_free_irqs_common instead of open coded
In reply to Axel LinQuoted 5 lines · Axel Lin
Current code calls
irq_domain_alloc_irqs_parent()in .alloc, so it should callirq_domain_free_irqs_parent()accordingly in .free. Fix it by switching to useirq_domain_free_irqs_common()instead.Signed-off-by Axel Lin <[email protected]>
Patch applied with Marc's ACK.
Yours,
Linus Walleij
Quoted 12 lines · Axel Lin
Export
irq_domain_free_irqs_commonso it can be used by modules.Signed-off-by Axel Lin <[email protected]>--- kernel/irq/irqdomain.c | 1 + 1 file changed, 1 insertion(+)kernel/irq/irqdomain.c +0
-0
kernel/irq/irqdomain.c void irq_domain_free_irqs_common(struct irq_domain *domain, unsigned int virq, · line 1102
Quoted 4 lines
kernel/irq/irqdomain.c +1
-0@@ -1099,6 +1099,7 @@ void irq_domain_free_irqs_common(struct irq_domain *domain, unsigned int virq, }irq_domain_free_irqs_parent (domain, virq, nr_irqs); } +EXPORT_SYMBOL_GPL (irq_domain_free_irqs_common);
Quoted 3 lines · Axel Lin
Export
irq_domain_free_irqs_commonso it can be used by modules.Signed-off-by Axel Lin <[email protected]>
Patch applied to the GPIO tree with TGLX's ACK.
Yours,
Linus Walleij