Commit 9ba2556c authored by Johan Hovold's avatar Johan Hovold Committed by Chun-Kuang Hu
Browse files

drm/mediatek: clean up driver data initialisation



The platform and drm devices are only used to look up the drm device and
its driver data respectively when initialising the driver data during
bind().

Drop the reference counts as soon as they have been used to make the
code more readable.

Note that the crtc count is never incremented on lookup failures.

Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Reviewed-by: default avatarCK Hu <ck.hu@mediatek.com>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20250829090345.21075-3-johan@kernel.org/


Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 4de37a48
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -394,12 +394,14 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
			continue;

		drm_dev = device_find_child(&pdev->dev, NULL, mtk_drm_match);
		put_device(&pdev->dev);
		if (!drm_dev)
			goto next_put_device_pdev_dev;
			continue;

		temp_drm_priv = dev_get_drvdata(drm_dev);
		put_device(drm_dev);
		if (!temp_drm_priv)
			goto next_put_device_drm_dev;
			continue;

		if (temp_drm_priv->data->main_len)
			all_drm_priv[CRTC_MAIN] = temp_drm_priv;
@@ -411,12 +413,6 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
		if (temp_drm_priv->mtk_drm_bound)
			cnt++;

next_put_device_drm_dev:
		put_device(drm_dev);

next_put_device_pdev_dev:
		put_device(&pdev->dev);

		if (cnt == MAX_CRTC) {
			of_node_put(node);
			break;