mfd: arizona: Avoid use of legacy IRQ mapping
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tue, 12 Aug 2014 13:51:22 +0000 (14:51 +0100)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:15:40 +0000 (08:15 +0100)
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 <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-irq.c

index d420dbc0e2b0065dbb1f03d29d6e4c9c20c7abc2..9133d519b0209986abb2a613a95cd26447138b24 100644 (file)
@@ -282,7 +282,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);
@@ -291,7 +291,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);