diff options
author | Peter Chen <peter.chen@nxp.com> | 2016-07-15 18:32:54 +0200 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2016-07-15 19:50:12 +0200 |
commit | 6a5029e66404462a3322dba8e35615bd09332081 (patch) | |
tree | e655c48ae3554f4af3a7e395348dc00b8dc789ed /drivers/input/touchscreen/ts4800-ts.c | |
parent | Input: synaptics-rmi4 - use of_get_child_by_name() to fix refcount (diff) | |
download | linux-6a5029e66404462a3322dba8e35615bd09332081.tar.xz linux-6a5029e66404462a3322dba8e35615bd09332081.zip |
Input: ts4800-ts - add missing of_node_put after calling of_parse_phandle
of_node_put needs to be called when the device node which is got
from of_parse_phandle has finished using.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/touchscreen/ts4800-ts.c')
-rw-r--r-- | drivers/input/touchscreen/ts4800-ts.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/input/touchscreen/ts4800-ts.c b/drivers/input/touchscreen/ts4800-ts.c index 3c3dd78303be..fed73eeb47b3 100644 --- a/drivers/input/touchscreen/ts4800-ts.c +++ b/drivers/input/touchscreen/ts4800-ts.c @@ -118,6 +118,13 @@ static int ts4800_parse_dt(struct platform_device *pdev, return -ENODEV; } + ts->regmap = syscon_node_to_regmap(syscon_np); + of_node_put(syscon_np); + if (IS_ERR(ts->regmap)) { + dev_err(dev, "cannot get parent's regmap\n"); + return PTR_ERR(ts->regmap); + } + error = of_property_read_u32_index(np, "syscon", 1, ®); if (error < 0) { dev_err(dev, "no offset in syscon\n"); @@ -134,12 +141,6 @@ static int ts4800_parse_dt(struct platform_device *pdev, ts->bit = BIT(bit); - ts->regmap = syscon_node_to_regmap(syscon_np); - if (IS_ERR(ts->regmap)) { - dev_err(dev, "cannot get parent's regmap\n"); - return PTR_ERR(ts->regmap); - } - return 0; } |