regmap_add_irq_chip is called from arizona_irq_init with the irq_base
specified as -1 and regmap_add_irq_chip uses if (irq_base) to check if
it should use legacy IRQ mapping. As such the irq mappings are currently
added with irq_domain_add_legacy, rather than irq_domain_add_linear.
This is clearly a typo as there is no reason why this driver can't use
irq_domain_add_linear.
This patch corrects this by passing the irq_base as zero to
regmap_add_irq_chip.

Signed-off-by: Charles Keepax <ckee...@opensource.wolfsonmicro.com>
---
 drivers/mfd/arizona-irq.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/arizona-irq.c b/drivers/mfd/arizona-irq.c
index fac00b2..b235e59 100644
--- a/drivers/mfd/arizona-irq.c
+++ b/drivers/mfd/arizona-irq.c
@@ -289,7 +289,7 @@ int arizona_irq_init(struct arizona *arizona)
 
        ret = regmap_add_irq_chip(arizona->regmap,
                                  irq_create_mapping(arizona->virq, 0),
-                                 IRQF_ONESHOT, -1, aod,
+                                 IRQF_ONESHOT, 0, aod,
                                  &arizona->aod_irq_chip);
        if (ret != 0) {
                dev_err(arizona->dev, "Failed to add AOD IRQs: %d\n", ret);
@@ -298,7 +298,7 @@ int arizona_irq_init(struct arizona *arizona)
 
        ret = regmap_add_irq_chip(arizona->regmap,
                                  irq_create_mapping(arizona->virq, 1),
-                                 IRQF_ONESHOT, -1, irq,
+                                 IRQF_ONESHOT, 0, irq,
                                  &arizona->irq_chip);
        if (ret != 0) {
                dev_err(arizona->dev, "Failed to add main IRQs: %d\n", ret);
-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to