genirq: generic chip: Export irq_map_generic_chip function
authorBoris BREZILLON <boris.brezillon@free-electrons.com>
Thu, 10 Jul 2014 17:14:16 +0000 (19:14 +0200)
committerJason Cooper <jason@lakedaemon.net>
Thu, 17 Jul 2014 13:30:00 +0000 (13:30 +0000)
Export the generic irq map function in order to provide irq_domain ops with
generic mapping and specific of xlate function (needed by the new atmel
AIC driver).

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/1405012462-766-2-git-send-email-boris.brezillon@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
include/linux/irq.h
kernel/irq/generic-chip.c

index 0d998d8b01d8a26e9d27e02bb9c2ace71b21ea85..62af59242ddc33faf11b0b872cb09499af3b42b5 100644 (file)
@@ -771,6 +771,8 @@ void irq_gc_eoi(struct irq_data *d);
 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);
 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 452d6f2ba21d9ae0b2b6cd1a966721b325ec9e23..cf80e7b0ddab6b1b451dfa8a1fc66a6d97492cea 100644 (file)
@@ -341,8 +341,8 @@ static struct lock_class_key irq_nested_lock_class;
 /*
  * irq_map_generic_chip - Map a generic chip for an irq domain
  */
-static int irq_map_generic_chip(struct irq_domain *d, unsigned int virq,
-                               irq_hw_number_t hw_irq)
+int irq_map_generic_chip(struct irq_domain *d, unsigned int virq,
+                        irq_hw_number_t hw_irq)
 {
        struct irq_data *data = irq_get_irq_data(virq);
        struct irq_domain_chip_generic *dgc = d->gc;
@@ -394,6 +394,7 @@ static int irq_map_generic_chip(struct irq_domain *d, unsigned int virq,
        irq_modify_status(virq, dgc->irq_flags_to_clear, dgc->irq_flags_to_set);
        return 0;
 }
+EXPORT_SYMBOL_GPL(irq_map_generic_chip);
 
 struct irq_domain_ops irq_generic_chip_ops = {
        .map    = irq_map_generic_chip,