mfd: arizona: Avoid use of legacy IRQ mapping
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>
This commit is contained in:
parent
e569d937af
commit
2a3377ee2d
|
@ -282,7 +282,7 @@ int arizona_irq_init(struct arizona *arizona)
|
||||||
|
|
||||||
ret = regmap_add_irq_chip(arizona->regmap,
|
ret = regmap_add_irq_chip(arizona->regmap,
|
||||||
irq_create_mapping(arizona->virq, 0),
|
irq_create_mapping(arizona->virq, 0),
|
||||||
IRQF_ONESHOT, -1, aod,
|
IRQF_ONESHOT, 0, aod,
|
||||||
&arizona->aod_irq_chip);
|
&arizona->aod_irq_chip);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
dev_err(arizona->dev, "Failed to add AOD IRQs: %d\n", ret);
|
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,
|
ret = regmap_add_irq_chip(arizona->regmap,
|
||||||
irq_create_mapping(arizona->virq, 1),
|
irq_create_mapping(arizona->virq, 1),
|
||||||
IRQF_ONESHOT, -1, irq,
|
IRQF_ONESHOT, 0, irq,
|
||||||
&arizona->irq_chip);
|
&arizona->irq_chip);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
dev_err(arizona->dev, "Failed to add main IRQs: %d\n", ret);
|
dev_err(arizona->dev, "Failed to add main IRQs: %d\n", ret);
|
||||||
|
|
Loading…
Reference in New Issue