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: Johan Hovold <johan@kernel.org> Reviewed-by: CK Hu <ck.hu@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Link: https://patchwork.kernel.org/project/dri-devel/patch/20250829090345.21075-3-johan@kernel.org/ Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
This commit is contained in:
committed by
Chun-Kuang Hu
parent
4de37a48b6
commit
9ba2556cef
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user