]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/vc4: v3d: simplify clock retrieval
authorStefan Wahren <wahrenst@gmx.net>
Wed, 21 Aug 2024 21:40:48 +0000 (23:40 +0200)
committerMaíra Canal <mcanal@igalia.com>
Thu, 22 Aug 2024 10:57:44 +0000 (07:57 -0300)
Common pattern of handling deferred probe can be simplified with
dev_err_probe() and devm_clk_get_optional(). This results in much
less code.

Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
Reviewed-by: Maíra Canal <mcanal@igalia.com>
Signed-off-by: Maíra Canal <mcanal@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240821214052.6800-6-wahrenst@gmx.net
drivers/gpu/drm/vc4/vc4_v3d.c

index 6e566584afbf5d2a54007b94e2de406b22cef589..bf5c4e36c94e4dfa72b25a2b8b5fa693d01edb7f 100644 (file)
@@ -441,21 +441,9 @@ static int vc4_v3d_bind(struct device *dev, struct device *master, void *data)
        vc4->v3d = v3d;
        v3d->vc4 = vc4;
 
-       v3d->clk = devm_clk_get(dev, NULL);
-       if (IS_ERR(v3d->clk)) {
-               int ret = PTR_ERR(v3d->clk);
-
-               if (ret == -ENOENT) {
-                       /* bcm2835 didn't have a clock reference in the DT. */
-                       ret = 0;
-                       v3d->clk = NULL;
-               } else {
-                       if (ret != -EPROBE_DEFER)
-                               dev_err(dev, "Failed to get V3D clock: %d\n",
-                                       ret);
-                       return ret;
-               }
-       }
+       v3d->clk = devm_clk_get_optional(dev, NULL);
+       if (IS_ERR(v3d->clk))
+               return dev_err_probe(dev, PTR_ERR(v3d->clk), "Failed to get V3D clock\n");
 
        ret = platform_get_irq(pdev, 0);
        if (ret < 0)