]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/v3d: Use devm_reset_control_get_optional_exclusive()
authorMaíra Canal <mcanal@igalia.com>
Tue, 31 Mar 2026 12:35:51 +0000 (09:35 -0300)
committerMaíra Canal <mcanal@igalia.com>
Sat, 4 Apr 2026 10:37:14 +0000 (07:37 -0300)
Simplify optional reset handling by using the function
devm_reset_control_get_optional_exclusive().

Reviewed-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20260331-v3d-power-management-v9-1-f52ff87bfd36@igalia.com
Signed-off-by: Maíra Canal <mcanal@igalia.com>
drivers/gpu/drm/v3d/v3d_drv.c

index 4b441afcb602de08bd193d57649121e44ab31f2a..c5e7c778ec7a1a39d81155f7ed2a7ba811b5e3aa 100644 (file)
@@ -401,18 +401,17 @@ static int v3d_platform_drm_probe(struct platform_device *pdev)
 
        v3d_perfmon_init(v3d);
 
-       v3d->reset = devm_reset_control_get_exclusive(dev, NULL);
+       v3d->reset = devm_reset_control_get_optional_exclusive(dev, NULL);
        if (IS_ERR(v3d->reset)) {
-               ret = PTR_ERR(v3d->reset);
-
-               if (ret == -EPROBE_DEFER)
-                       goto clk_disable;
+               ret = dev_err_probe(dev, PTR_ERR(v3d->reset),
+                                   "Failed to get reset control\n");
+               goto clk_disable;
+       }
 
-               v3d->reset = NULL;
+       if (!v3d->reset) {
                ret = map_regs(v3d, &v3d->bridge_regs, "bridge");
                if (ret) {
-                       dev_err(dev,
-                               "Failed to get reset control or bridge regs\n");
+                       dev_err(dev, "Failed to get bridge registers\n");
                        goto clk_disable;
                }
        }