diff options
Diffstat (limited to 'drivers/mfd/wm831x-irq.c')
-rw-r--r-- | drivers/mfd/wm831x-irq.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c index ec10004200c9..7dabe4dbd373 100644 --- a/drivers/mfd/wm831x-irq.c +++ b/drivers/mfd/wm831x-irq.c | |||
@@ -490,6 +490,14 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
490 | 490 | ||
491 | mutex_init(&wm831x->irq_lock); | 491 | mutex_init(&wm831x->irq_lock); |
492 | 492 | ||
493 | /* Mask the individual interrupt sources */ | ||
494 | for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) { | ||
495 | wm831x->irq_masks_cur[i] = 0xffff; | ||
496 | wm831x->irq_masks_cache[i] = 0xffff; | ||
497 | wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1_MASK + i, | ||
498 | 0xffff); | ||
499 | } | ||
500 | |||
493 | if (!irq) { | 501 | if (!irq) { |
494 | dev_warn(wm831x->dev, | 502 | dev_warn(wm831x->dev, |
495 | "No interrupt specified - functionality limited\n"); | 503 | "No interrupt specified - functionality limited\n"); |
@@ -505,14 +513,6 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
505 | wm831x->irq = irq; | 513 | wm831x->irq = irq; |
506 | wm831x->irq_base = pdata->irq_base; | 514 | wm831x->irq_base = pdata->irq_base; |
507 | 515 | ||
508 | /* Mask the individual interrupt sources */ | ||
509 | for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) { | ||
510 | wm831x->irq_masks_cur[i] = 0xffff; | ||
511 | wm831x->irq_masks_cache[i] = 0xffff; | ||
512 | wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1_MASK + i, | ||
513 | 0xffff); | ||
514 | } | ||
515 | |||
516 | /* Register them with genirq */ | 516 | /* Register them with genirq */ |
517 | for (cur_irq = wm831x->irq_base; | 517 | for (cur_irq = wm831x->irq_base; |
518 | cur_irq < ARRAY_SIZE(wm831x_irqs) + wm831x->irq_base; | 518 | cur_irq < ARRAY_SIZE(wm831x_irqs) + wm831x->irq_base; |