diff options
author | Lee Jones <lee.jones@linaro.org> | 2012-08-20 06:53:36 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2012-09-14 03:52:13 -0400 |
commit | 80633f05b0dbf5819ef28f626f2f0b7c885d1f88 (patch) | |
tree | 37a823068072239eeb4f17e0080caea0ce24c22b /drivers/mfd/ab8500-core.c | |
parent | 4f600ada70beeb1dfe08e11e871bf31015aa0a3d (diff) |
mfd: ab8500: Make ab8500_irq_get_virq() static
MFD core now takes care of HWIRQ <-> VIRQ mapping, so the helper
ab8500_irq_get_virq() is no longer used by ab8500 subordinate devices
to obtain a Linux wide Virtual IRQ. The AB8500 IRQ controller still
uses it internally though, so we'll just hide it from the rest of the
world by making it static instead.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/ab8500-core.c')
-rw-r--r-- | drivers/mfd/ab8500-core.c | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/drivers/mfd/ab8500-core.c b/drivers/mfd/ab8500-core.c index 47adf800024..dd91951c68f 100644 --- a/drivers/mfd/ab8500-core.c +++ b/drivers/mfd/ab8500-core.c | |||
@@ -472,6 +472,22 @@ static irqreturn_t ab8500_hierarchical_irq(int irq, void *dev) | |||
472 | return IRQ_HANDLED; | 472 | return IRQ_HANDLED; |
473 | } | 473 | } |
474 | 474 | ||
475 | /** | ||
476 | * ab8500_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ | ||
477 | * | ||
478 | * @ab8500: ab8500_irq controller to operate on. | ||
479 | * @irq: index of the interrupt requested in the chip IRQs | ||
480 | * | ||
481 | * Useful for drivers to request their own IRQs. | ||
482 | */ | ||
483 | static int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq) | ||
484 | { | ||
485 | if (!ab8500) | ||
486 | return -EINVAL; | ||
487 | |||
488 | return irq_create_mapping(ab8500->domain, irq); | ||
489 | } | ||
490 | |||
475 | static irqreturn_t ab8500_irq(int irq, void *dev) | 491 | static irqreturn_t ab8500_irq(int irq, void *dev) |
476 | { | 492 | { |
477 | struct ab8500 *ab8500 = dev; | 493 | struct ab8500 *ab8500 = dev; |
@@ -511,23 +527,6 @@ static irqreturn_t ab8500_irq(int irq, void *dev) | |||
511 | return IRQ_HANDLED; | 527 | return IRQ_HANDLED; |
512 | } | 528 | } |
513 | 529 | ||
514 | /** | ||
515 | * ab8500_irq_get_virq(): Map an interrupt on a chip to a virtual IRQ | ||
516 | * | ||
517 | * @ab8500: ab8500_irq controller to operate on. | ||
518 | * @irq: index of the interrupt requested in the chip IRQs | ||
519 | * | ||
520 | * Useful for drivers to request their own IRQs. | ||
521 | */ | ||
522 | int ab8500_irq_get_virq(struct ab8500 *ab8500, int irq) | ||
523 | { | ||
524 | if (!ab8500) | ||
525 | return -EINVAL; | ||
526 | |||
527 | return irq_create_mapping(ab8500->domain, irq); | ||
528 | } | ||
529 | EXPORT_SYMBOL_GPL(ab8500_irq_get_virq); | ||
530 | |||
531 | static int ab8500_irq_map(struct irq_domain *d, unsigned int virq, | 530 | static int ab8500_irq_map(struct irq_domain *d, unsigned int virq, |
532 | irq_hw_number_t hwirq) | 531 | irq_hw_number_t hwirq) |
533 | { | 532 | { |