genirq/generic_chip: Export irq_unmap_generic_chip
authorJianmin Lv <lvjianmin@loongson.cn>
Wed, 20 Jul 2022 10:51:23 +0000 (18:51 +0800)
committerMarc Zyngier <maz@kernel.org>
Wed, 20 Jul 2022 11:05:55 +0000 (12:05 +0100)
Some irq controllers have to re-implement a private version for
irq_generic_chip_ops, because they have a different xlate to translate
hwirq. Export irq_unmap_generic_chip to allow reusing in drivers.

Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/1658314292-35346-5-git-send-email-lvjianmin@loongson.cn
include/linux/irq.h
kernel/irq/generic-chip.c

index 505308253d23ce49fed4b8f947437170ffa5571c..83a4574308fa8e01d6464e168286b17eea77dd19 100644 (file)
@@ -1121,6 +1121,7 @@ int irq_gc_set_wake(struct irq_data *d, unsigned int on);
 /* Setup functions for irq_chip_generic */
 int irq_map_generic_chip(struct irq_domain *d, unsigned int virq,
                         irq_hw_number_t hw_irq);
+void irq_unmap_generic_chip(struct irq_domain *d, unsigned int virq);
 struct irq_chip_generic *
 irq_alloc_generic_chip(const char *name, int nr_ct, unsigned int irq_base,
                       void __iomem *reg_base, irq_flow_handler_t handler);
index f0862eb6b506ce1f665961a2f35a6451df902cef..c653cd31548d03ee01c1d146e02a5570fef61071 100644 (file)
@@ -431,7 +431,7 @@ int irq_map_generic_chip(struct irq_domain *d, unsigned int virq,
        return 0;
 }
 
-static void irq_unmap_generic_chip(struct irq_domain *d, unsigned int virq)
+void irq_unmap_generic_chip(struct irq_domain *d, unsigned int virq)
 {
        struct irq_data *data = irq_domain_get_irq_data(d, virq);
        struct irq_domain_chip_generic *dgc = d->gc;