Commit a4ceaab6 authored by Andrew Davis's avatar Andrew Davis Committed by Sebastian Reichel

power: reset: brcmstb: Use syscon_regmap_lookup_by_phandle_args() helper

Simplify probe by fetching the regmap and its arguments in one call.
Signed-off-by: default avatarAndrew Davis <afd@ti.com>
Reviewed-by: default avatarDhruva Gole <d-gole@ti.com>
Acked-by: default avatarFlorian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240610142836.168603-3-afd@ti.comSigned-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent cf37f16a
......@@ -18,9 +18,6 @@
#include <linux/smp.h>
#include <linux/mfd/syscon.h>
#define RESET_SOURCE_ENABLE_REG 1
#define SW_MASTER_RESET_REG 2
static struct regmap *regmap;
static u32 rst_src_en;
static u32 sw_mstr_rst;
......@@ -87,6 +84,7 @@ static int brcmstb_reboot_probe(struct platform_device *pdev)
{
int rc;
struct device_node *np = pdev->dev.of_node;
unsigned int args[2];
reset_masks = device_get_match_data(&pdev->dev);
if (!reset_masks) {
......@@ -94,25 +92,13 @@ static int brcmstb_reboot_probe(struct platform_device *pdev)
return -EINVAL;
}
regmap = syscon_regmap_lookup_by_phandle(np, "syscon");
regmap = syscon_regmap_lookup_by_phandle_args(np, "syscon", ARRAY_SIZE(args), args);
if (IS_ERR(regmap)) {
pr_err("failed to get syscon phandle\n");
return -EINVAL;
}
rc = of_property_read_u32_index(np, "syscon", RESET_SOURCE_ENABLE_REG,
&rst_src_en);
if (rc) {
pr_err("can't get rst_src_en offset (%d)\n", rc);
return -EINVAL;
}
rc = of_property_read_u32_index(np, "syscon", SW_MASTER_RESET_REG,
&sw_mstr_rst);
if (rc) {
pr_err("can't get sw_mstr_rst offset (%d)\n", rc);
return -EINVAL;
}
rst_src_en = args[0];
sw_mstr_rst = args[1];
rc = register_restart_handler(&brcmstb_restart_nb);
if (rc)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment