diff options
Diffstat (limited to 'drivers/mfd/wm831x-irq.c')
-rw-r--r-- | drivers/mfd/wm831x-irq.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c index 4c1122ceb443..7dabe4dbd373 100644 --- a/drivers/mfd/wm831x-irq.c +++ b/drivers/mfd/wm831x-irq.c | |||
@@ -39,8 +39,6 @@ struct wm831x_irq_data { | |||
39 | int primary; | 39 | int primary; |
40 | int reg; | 40 | int reg; |
41 | int mask; | 41 | int mask; |
42 | irq_handler_t handler; | ||
43 | void *handler_data; | ||
44 | }; | 42 | }; |
45 | 43 | ||
46 | static struct wm831x_irq_data wm831x_irqs[] = { | 44 | static struct wm831x_irq_data wm831x_irqs[] = { |
@@ -492,6 +490,14 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
492 | 490 | ||
493 | mutex_init(&wm831x->irq_lock); | 491 | mutex_init(&wm831x->irq_lock); |
494 | 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 | |||
495 | if (!irq) { | 501 | if (!irq) { |
496 | dev_warn(wm831x->dev, | 502 | dev_warn(wm831x->dev, |
497 | "No interrupt specified - functionality limited\n"); | 503 | "No interrupt specified - functionality limited\n"); |
@@ -507,14 +513,6 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq) | |||
507 | wm831x->irq = irq; | 513 | wm831x->irq = irq; |
508 | wm831x->irq_base = pdata->irq_base; | 514 | wm831x->irq_base = pdata->irq_base; |
509 | 515 | ||
510 | /* Mask the individual interrupt sources */ | ||
511 | for (i = 0; i < ARRAY_SIZE(wm831x->irq_masks_cur); i++) { | ||
512 | wm831x->irq_masks_cur[i] = 0xffff; | ||
513 | wm831x->irq_masks_cache[i] = 0xffff; | ||
514 | wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1_MASK + i, | ||
515 | 0xffff); | ||
516 | } | ||
517 | |||
518 | /* Register them with genirq */ | 516 | /* Register them with genirq */ |
519 | for (cur_irq = wm831x->irq_base; | 517 | for (cur_irq = wm831x->irq_base; |
520 | cur_irq < ARRAY_SIZE(wm831x_irqs) + wm831x->irq_base; | 518 | cur_irq < ARRAY_SIZE(wm831x_irqs) + wm831x->irq_base; |