Unverified Commit f60ef67f authored by Stefan Wahren's avatar Stefan Wahren Committed by Maíra Canal
Browse files

drm/vc4: v3d: simplify clock retrieval



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: default avatarStefan Wahren <wahrenst@gmx.net>
Reviewed-by: default avatarMaíra Canal <mcanal@igalia.com>
Signed-off-by: default avatarMaíra Canal <mcanal@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240821214052.6800-6-wahrenst@gmx.net
parent 59ac702a
Loading
Loading
Loading
Loading
+3 −15
Original line number Diff line number Diff line
@@ -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)