]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
power: reset: brcmstb: Use syscon_regmap_lookup_by_phandle_args() helper
authorAndrew Davis <afd@ti.com>
Mon, 10 Jun 2024 14:28:34 +0000 (09:28 -0500)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Tue, 27 Aug 2024 17:35:04 +0000 (19:35 +0200)
Simplify probe by fetching the regmap and its arguments in one call.

Signed-off-by: Andrew Davis <afd@ti.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240610142836.168603-3-afd@ti.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/reset/brcmstb-reboot.c

index db5b7120eadd0d992e33fa5a4cde693cbd0248ca..fd583bd309568c4ac9ffc64a21be718cd0989e27 100644 (file)
@@ -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)