[PATCH 2/2] drm/mediatek: Switch to for_each_child_of_node_scoped()

CK Hu (胡俊光) ck.hu at mediatek.com
Tue Oct 22 19:50:28 PDT 2024


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 at mediatek.com>

> 
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz at gmail.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
> 


More information about the Linux-mediatek mailing list