[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9bf479c8faa0b26f89e479c970841c814eca06f5.camel@mediatek.com>
Date: Wed, 23 Oct 2024 02:50:28 +0000
From: CK Hu (胡俊光) <ck.hu@...iatek.com>
To: "javier.carrasco.cruz@...il.com" <javier.carrasco.cruz@...il.com>,
"chunkuang.hu@...nel.org" <chunkuang.hu@...nel.org>,
Jason-JH Lin (林睿祥) <Jason-JH.Lin@...iatek.com>,
"simona@...ll.ch" <simona@...ll.ch>, "p.zabel@...gutronix.de"
<p.zabel@...gutronix.de>, Alexandre Mergnat <amergnat@...libre.com>,
"airlied@...il.com" <airlied@...il.com>, "matthias.bgg@...il.com"
<matthias.bgg@...il.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>
CC: "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mediatek@...ts.infradead.org" <linux-mediatek@...ts.infradead.org>,
"linux-arm-kernel@...ts.infradead.org" <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 2/2] drm/mediatek: Switch to
for_each_child_of_node_scoped()
Hi, Javier:
On Fri, 2024-10-11 at 21:21 +0200, Javier Carrasco wrote:
>
> External email : Please do not click links or open attachments until you have verified the sender or the content.
> Introduce the scoped variant of the loop to automatically release the
> child node when it goes out of scope, which is more robust than the
> non-scoped variant, and accounts for new early exits that could be added
> in the future.
Reviewed-by: CK Hu <ck.hu@...iatek.com>
>
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@...il.com>
> ---
> drivers/gpu/drm/mediatek/mtk_drm_drv.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> index 0878df832859..9ab656b10a49 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
> @@ -372,12 +372,11 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
> struct mtk_drm_private *temp_drm_priv;
> struct device_node *phandle = dev->parent->of_node;
> const struct of_device_id *of_id;
> -struct device_node *node;
> struct device *drm_dev;
> unsigned int cnt = 0;
> int i, j;
>
> -for_each_child_of_node(phandle->parent, node) {
> +for_each_child_of_node_scoped(phandle->parent, node) {
> struct platform_device *pdev;
>
> of_id = of_match_node(mtk_drm_of_ids, node);
> @@ -406,10 +405,8 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
> if (temp_drm_priv->mtk_drm_bound)
> cnt++;
>
> -if (cnt == MAX_CRTC) {
> -of_node_put(node);
> +if (cnt == MAX_CRTC)
> break;
> -}
> }
>
> if (drm_priv->data->mmsys_dev_num == cnt) {
>
> --
> 2.43.0
>
Powered by blists - more mailing lists