aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/wm831x-irq.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/drivers/mfd/wm831x-irq.c b/drivers/mfd/wm831x-irq.c
index 23e66af89dea..42b928ec891e 100644
--- a/drivers/mfd/wm831x-irq.c
+++ b/drivers/mfd/wm831x-irq.c
@@ -515,12 +515,6 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq)
515 0xffff); 515 0xffff);
516 } 516 }
517 517
518 if (!irq) {
519 dev_warn(wm831x->dev,
520 "No interrupt specified - functionality limited\n");
521 return 0;
522 }
523
524 if (!pdata || !pdata->irq_base) { 518 if (!pdata || !pdata->irq_base) {
525 dev_err(wm831x->dev, 519 dev_err(wm831x->dev,
526 "No interrupt base specified, no interrupts\n"); 520 "No interrupt base specified, no interrupts\n");
@@ -567,15 +561,22 @@ int wm831x_irq_init(struct wm831x *wm831x, int irq)
567#endif 561#endif
568 } 562 }
569 563
570 ret = request_threaded_irq(irq, NULL, wm831x_irq_thread, 564 if (irq) {
571 IRQF_TRIGGER_LOW | IRQF_ONESHOT, 565 ret = request_threaded_irq(irq, NULL, wm831x_irq_thread,
572 "wm831x", wm831x); 566 IRQF_TRIGGER_LOW | IRQF_ONESHOT,
573 if (ret != 0) { 567 "wm831x", wm831x);
574 dev_err(wm831x->dev, "Failed to request IRQ %d: %d\n", 568 if (ret != 0) {
575 irq, ret); 569 dev_err(wm831x->dev, "Failed to request IRQ %d: %d\n",
576 return ret; 570 irq, ret);
571 return ret;
572 }
573 } else {
574 dev_warn(wm831x->dev,
575 "No interrupt specified - functionality limited\n");
577 } 576 }
578 577
578
579
579 /* Enable top level interrupts, we mask at secondary level */ 580 /* Enable top level interrupts, we mask at secondary level */
580 wm831x_reg_write(wm831x, WM831X_SYSTEM_INTERRUPTS_MASK, 0); 581 wm831x_reg_write(wm831x, WM831X_SYSTEM_INTERRUPTS_MASK, 0);
581 582