summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-02-12 09:13:09 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2014-02-12 09:13:09 -0800
commit9398a10cd96422d529b9fb741637338c8cbcdd98 (patch)
treef41f4e4037b372b7c733cbd081ffeae9169a6042
parentdea054fc7f35d4664000b1e684713a83c2bd0888 (diff)
parent5c306c8ab5dac69714f6e38bed95cfb6bd7758ed (diff)
downloadlinux-9398a10cd96422d529b9fb741637338c8cbcdd98.tar.gz
linux-9398a10cd96422d529b9fb741637338c8cbcdd98.tar.bz2
linux-9398a10cd96422d529b9fb741637338c8cbcdd98.zip
Merge tag 'regulator-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
Pull regulator fixes from Mark Brown: "Two driver fixes, one fixing the mapping of interrupts on da9055 (which previously wouldn't have worked at all) and a fix for reference counting OF nodes in the max14577 driver" * tag 'regulator-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: regulator: da9055: Remove use of regmap_irq_get_virq() regulator: max14577: Add missing of_node_put
-rw-r--r--drivers/regulator/da9055-regulator.c4
-rw-r--r--drivers/regulator/max14577.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/regulator/da9055-regulator.c b/drivers/regulator/da9055-regulator.c
index 7f340206d329..b14ebdad5dd2 100644
--- a/drivers/regulator/da9055-regulator.c
+++ b/drivers/regulator/da9055-regulator.c
@@ -576,7 +576,9 @@ static int da9055_regulator_probe(struct platform_device *pdev)
/* Only LDO 5 and 6 has got the over current interrupt */
if (pdev->id == DA9055_ID_LDO5 || pdev->id == DA9055_ID_LDO6) {
irq = platform_get_irq_byname(pdev, "REGULATOR");
- irq = regmap_irq_get_virq(da9055->irq_data, irq);
+ if (irq < 0)
+ return irq;
+
ret = devm_request_threaded_irq(&pdev->dev, irq, NULL,
da9055_ldo5_6_oc_irq,
IRQF_TRIGGER_HIGH |
diff --git a/drivers/regulator/max14577.c b/drivers/regulator/max14577.c
index b1078ba3f393..186df8785a91 100644
--- a/drivers/regulator/max14577.c
+++ b/drivers/regulator/max14577.c
@@ -168,10 +168,11 @@ static int max14577_regulator_dt_parse_pdata(struct platform_device *pdev)
MAX14577_REG_MAX);
if (ret < 0) {
dev_err(&pdev->dev, "Error parsing regulator init data: %d\n", ret);
- return ret;
}
- return 0;
+ of_node_put(np);
+
+ return ret;
}
static inline struct regulator_init_data *match_init_data(int index)