diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2016-11-22 11:10:27 -0500 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2017-02-13 04:29:40 -0500 |
commit | 1a86dcb3f1405a0152b9df7cebb75b839386c997 (patch) | |
tree | 7a762359b594bbec4e076165601e9e8394069e73 | |
parent | 003db34ef33eb2d8848e0962bd72ee42d7344271 (diff) |
mfd: arizona: Add defines for IRQs on the main Arizona IRQ domain
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r-- | drivers/mfd/arizona-irq.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/drivers/mfd/arizona-irq.c b/drivers/mfd/arizona-irq.c index 724fa5404306..88729cf6cb32 100644 --- a/drivers/mfd/arizona-irq.c +++ b/drivers/mfd/arizona-irq.c | |||
@@ -26,6 +26,9 @@ | |||
26 | 26 | ||
27 | #include "arizona.h" | 27 | #include "arizona.h" |
28 | 28 | ||
29 | #define ARIZONA_AOD_IRQ_INDEX 0 | ||
30 | #define ARIZONA_MAIN_IRQ_INDEX 1 | ||
31 | |||
29 | static int arizona_map_irq(struct arizona *arizona, int irq) | 32 | static int arizona_map_irq(struct arizona *arizona, int irq) |
30 | { | 33 | { |
31 | int ret; | 34 | int ret; |
@@ -319,7 +322,8 @@ int arizona_irq_init(struct arizona *arizona) | |||
319 | 322 | ||
320 | if (aod) { | 323 | if (aod) { |
321 | ret = regmap_add_irq_chip(arizona->regmap, | 324 | ret = regmap_add_irq_chip(arizona->regmap, |
322 | irq_create_mapping(arizona->virq, 0), | 325 | irq_create_mapping(arizona->virq, |
326 | ARIZONA_AOD_IRQ_INDEX), | ||
323 | IRQF_ONESHOT, 0, aod, | 327 | IRQF_ONESHOT, 0, aod, |
324 | &arizona->aod_irq_chip); | 328 | &arizona->aod_irq_chip); |
325 | if (ret != 0) { | 329 | if (ret != 0) { |
@@ -330,7 +334,8 @@ int arizona_irq_init(struct arizona *arizona) | |||
330 | } | 334 | } |
331 | 335 | ||
332 | ret = regmap_add_irq_chip(arizona->regmap, | 336 | ret = regmap_add_irq_chip(arizona->regmap, |
333 | irq_create_mapping(arizona->virq, 1), | 337 | irq_create_mapping(arizona->virq, |
338 | ARIZONA_MAIN_IRQ_INDEX), | ||
334 | IRQF_ONESHOT, 0, irq, | 339 | IRQF_ONESHOT, 0, irq, |
335 | &arizona->irq_chip); | 340 | &arizona->irq_chip); |
336 | if (ret != 0) { | 341 | if (ret != 0) { |
@@ -396,10 +401,12 @@ err_ctrlif: | |||
396 | err_boot_done: | 401 | err_boot_done: |
397 | free_irq(arizona->irq, arizona); | 402 | free_irq(arizona->irq, arizona); |
398 | err_main_irq: | 403 | err_main_irq: |
399 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, 1), | 404 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, |
405 | ARIZONA_MAIN_IRQ_INDEX), | ||
400 | arizona->irq_chip); | 406 | arizona->irq_chip); |
401 | err_aod: | 407 | err_aod: |
402 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, 0), | 408 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, |
409 | ARIZONA_AOD_IRQ_INDEX), | ||
403 | arizona->aod_irq_chip); | 410 | arizona->aod_irq_chip); |
404 | err: | 411 | err: |
405 | return ret; | 412 | return ret; |
@@ -411,9 +418,11 @@ int arizona_irq_exit(struct arizona *arizona) | |||
411 | arizona_free_irq(arizona, ARIZONA_IRQ_CTRLIF_ERR, arizona); | 418 | arizona_free_irq(arizona, ARIZONA_IRQ_CTRLIF_ERR, arizona); |
412 | arizona_free_irq(arizona, ARIZONA_IRQ_BOOT_DONE, arizona); | 419 | arizona_free_irq(arizona, ARIZONA_IRQ_BOOT_DONE, arizona); |
413 | 420 | ||
414 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, 1), | 421 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, |
422 | ARIZONA_MAIN_IRQ_INDEX), | ||
415 | arizona->irq_chip); | 423 | arizona->irq_chip); |
416 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, 0), | 424 | regmap_del_irq_chip(irq_find_mapping(arizona->virq, |
425 | ARIZONA_AOD_IRQ_INDEX), | ||
417 | arizona->aod_irq_chip); | 426 | arizona->aod_irq_chip); |
418 | free_irq(arizona->irq, arizona); | 427 | free_irq(arizona->irq, arizona); |
419 | 428 | ||