diff options
author | Boris BREZILLON <boris.brezillon@free-electrons.com> | 2014-07-10 13:14:16 -0400 |
---|---|---|
committer | Jason Cooper <jason@lakedaemon.net> | 2014-07-17 09:30:00 -0400 |
commit | a5152c8a125da3c5e16dc2208dd52e80f0803c5c (patch) | |
tree | 3adbf51f5d03bc1c92634b33e12d9fa90424bc7e | |
parent | 7171511eaec5bf23fb06078f59784a3a0626b38f (diff) |
genirq: generic chip: Export irq_map_generic_chip function
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>
-rw-r--r-- | include/linux/irq.h | 2 | ||||
-rw-r--r-- | kernel/irq/generic-chip.c | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/irq.h b/include/linux/irq.h index 0d998d8b01d8..62af59242ddc 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h | |||
@@ -771,6 +771,8 @@ void irq_gc_eoi(struct irq_data *d); | |||
771 | int irq_gc_set_wake(struct irq_data *d, unsigned int on); | 771 | int irq_gc_set_wake(struct irq_data *d, unsigned int on); |
772 | 772 | ||
773 | /* Setup functions for irq_chip_generic */ | 773 | /* Setup functions for irq_chip_generic */ |
774 | int irq_map_generic_chip(struct irq_domain *d, unsigned int virq, | ||
775 | irq_hw_number_t hw_irq); | ||
774 | struct irq_chip_generic * | 776 | struct irq_chip_generic * |
775 | irq_alloc_generic_chip(const char *name, int nr_ct, unsigned int irq_base, | 777 | irq_alloc_generic_chip(const char *name, int nr_ct, unsigned int irq_base, |
776 | void __iomem *reg_base, irq_flow_handler_t handler); | 778 | void __iomem *reg_base, irq_flow_handler_t handler); |
diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c index 452d6f2ba21d..cf80e7b0ddab 100644 --- a/kernel/irq/generic-chip.c +++ b/kernel/irq/generic-chip.c | |||
@@ -341,8 +341,8 @@ static struct lock_class_key irq_nested_lock_class; | |||
341 | /* | 341 | /* |
342 | * irq_map_generic_chip - Map a generic chip for an irq domain | 342 | * irq_map_generic_chip - Map a generic chip for an irq domain |
343 | */ | 343 | */ |
344 | static int irq_map_generic_chip(struct irq_domain *d, unsigned int virq, | 344 | int irq_map_generic_chip(struct irq_domain *d, unsigned int virq, |
345 | irq_hw_number_t hw_irq) | 345 | irq_hw_number_t hw_irq) |
346 | { | 346 | { |
347 | struct irq_data *data = irq_get_irq_data(virq); | 347 | struct irq_data *data = irq_get_irq_data(virq); |
348 | struct irq_domain_chip_generic *dgc = d->gc; | 348 | 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, | |||
394 | irq_modify_status(virq, dgc->irq_flags_to_clear, dgc->irq_flags_to_set); | 394 | irq_modify_status(virq, dgc->irq_flags_to_clear, dgc->irq_flags_to_set); |
395 | return 0; | 395 | return 0; |
396 | } | 396 | } |
397 | EXPORT_SYMBOL_GPL(irq_map_generic_chip); | ||
397 | 398 | ||
398 | struct irq_domain_ops irq_generic_chip_ops = { | 399 | struct irq_domain_ops irq_generic_chip_ops = { |
399 | .map = irq_map_generic_chip, | 400 | .map = irq_map_generic_chip, |