diff options
author | Serge Semin <Sergey.Semin@baikalelectronics.ru> | 2020-05-26 15:51:01 +0200 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2020-05-28 09:00:30 +0200 |
commit | c3d80522237b71480109fc397975fe4146ed2550 (patch) | |
tree | 9ccd527cd7d4e7f7ee89d7f4c87244690bdf8734 /drivers/power | |
parent | dt-bindings: power: reset: Unrequire regmap property in syscon-reboot node (diff) | |
download | linux-c3d80522237b71480109fc397975fe4146ed2550.tar.xz linux-c3d80522237b71480109fc397975fe4146ed2550.zip |
power: reset: syscon-reboot: Add parental syscon support
Since normally syscon-reboot block is supposed to be a part of a system
controller, lets look for the syscon regmap in a parental DT node if
regmap property isn't specified. DT binding from now considers the regmap
property as deprecated.
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/reset/syscon-reboot.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/power/reset/syscon-reboot.c b/drivers/power/reset/syscon-reboot.c index 62fbba0df971..510e363381ca 100644 --- a/drivers/power/reset/syscon-reboot.c +++ b/drivers/power/reset/syscon-reboot.c @@ -51,8 +51,11 @@ static int syscon_reboot_probe(struct platform_device *pdev) return -ENOMEM; ctx->map = syscon_regmap_lookup_by_phandle(dev->of_node, "regmap"); - if (IS_ERR(ctx->map)) - return PTR_ERR(ctx->map); + if (IS_ERR(ctx->map)) { + ctx->map = syscon_node_to_regmap(dev->parent->of_node); + if (IS_ERR(ctx->map)) + return PTR_ERR(ctx->map); + } if (of_property_read_u32(pdev->dev.of_node, "offset", &ctx->offset)) return -EINVAL; |