blob: 6808fd8175042cfb5875c3b0209f4bbc27c1aed1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
From 575eaab8b19175bac7478d9489a6f2103dfbf730 Mon Sep 17 00:00:00 2001
From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Date: Sat, 15 Nov 2014 14:21:56 +0300
Subject: [PATCH 37/44] mfd: ucb1x00: make use of provided irq
If the platform data provides IRQ information, use that instead always
probing the IRQ.
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
---
drivers/mfd/ucb1x00-core.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index ecceee5..dd4127d2 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -465,9 +465,12 @@ static int ucb1x00_probe(struct mcp *mcp)
if (ret)
goto err_dev_add;
- ucb1x00_enable(ucb);
- ucb->irq = ucb1x00_detect_irq(ucb);
- ucb1x00_disable(ucb);
+ ucb->irq = pdata ? pdata->irq : NO_IRQ;
+ if (ucb->irq == NO_IRQ) {
+ ucb1x00_enable(ucb);
+ ucb->irq = ucb1x00_detect_irq(ucb);
+ ucb1x00_disable(ucb);
+ }
if (ucb->irq == NO_IRQ) {
dev_err(&ucb->dev, "IRQ probe failed\n");
ret = -ENODEV;
--
1.9.1
|