Hello Morimoto-san, Thank you for the patch. On Tue, May 28, 2024 at 11:55:42PM +0000, Kuninori Morimoto wrote: > We already have for_each_endpoint_of_node(), don't use > of_graph_get_next_endpoint() directly. Replace it. > > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/ti/am437x/am437x-vpfe.c | 12 +++++------- > drivers/media/platform/ti/davinci/vpif_capture.c | 12 ++++++------ > 2 files changed, 11 insertions(+), 13 deletions(-) > > diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media/platform/ti/am437x/am437x-vpfe.c > index 77e12457d1495..009ff68a2b43c 100644 > --- a/drivers/media/platform/ti/am437x/am437x-vpfe.c > +++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c > @@ -2287,7 +2287,7 @@ static const struct v4l2_async_notifier_operations vpfe_async_ops = { > static struct vpfe_config * > vpfe_get_pdata(struct vpfe_device *vpfe) > { > - struct device_node *endpoint = NULL; > + struct device_node *endpoint; > struct device *dev = vpfe->pdev; > struct vpfe_subdev_info *sdinfo; > struct vpfe_config *pdata; > @@ -2306,14 +2306,11 @@ vpfe_get_pdata(struct vpfe_device *vpfe) > if (!pdata) > return NULL; > > - for (i = 0; ; i++) { > + i = 0; > + for_each_endpoint_of_node(dev->of_node, endpoint) { > struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 }; > struct device_node *rem; > > - endpoint = of_graph_get_next_endpoint(dev->of_node, endpoint); > - if (!endpoint) > - break; > - > sdinfo = &pdata->sub_devs[i]; > sdinfo->grp_id = 0; > > @@ -2371,9 +2368,10 @@ vpfe_get_pdata(struct vpfe_device *vpfe) > of_node_put(rem); > if (IS_ERR(pdata->asd[i])) > goto cleanup; > + > + i++; > } > > - of_node_put(endpoint); > return pdata; > > cleanup: > diff --git a/drivers/media/platform/ti/davinci/vpif_capture.c b/drivers/media/platform/ti/davinci/vpif_capture.c > index c28794b6677b7..078ae11cd0787 100644 > --- a/drivers/media/platform/ti/davinci/vpif_capture.c > +++ b/drivers/media/platform/ti/davinci/vpif_capture.c > @@ -1517,16 +1517,12 @@ vpif_capture_get_pdata(struct platform_device *pdev, > if (!pdata->subdev_info) > return NULL; > > - for (i = 0; i < VPIF_CAPTURE_NUM_CHANNELS; i++) { > + i = 0; > + for_each_endpoint_of_node(pdev->dev.of_node, endpoint) { > struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 }; > unsigned int flags; > int err; > > - endpoint = of_graph_get_next_endpoint(pdev->dev.of_node, > - endpoint); > - if (!endpoint) > - break; > - > rem = of_graph_get_remote_port_parent(endpoint); > if (!rem) { > dev_dbg(&pdev->dev, "Remote device at %pOF not found\n", > @@ -1577,6 +1573,10 @@ vpif_capture_get_pdata(struct platform_device *pdev, > goto err_cleanup; > > of_node_put(rem); > + > + i++; > + if (i >= VPIF_CAPTURE_NUM_CHANNELS) > + break; > } > > done: -- Regards, Laurent Pinchart