Message ID | 87wmpr57uw.wl-kuninori.morimoto.gx@renesas.com |
---|---|
State | New |
Headers | show |
Series | use for_each_endpoint_of_node() | expand |
On Mon, Mar 25, 2024 at 03:05:27AM +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@renesas.com> > --- > drivers/media/platform/ti/am437x/am437x-vpfe.c | 8 +++----- > drivers/media/platform/ti/davinci/vpif_capture.c | 11 +++++------ > 2 files changed, 8 insertions(+), 11 deletions(-) > > diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media/platform/ti/am437x/am437x-vpfe.c > index 77e12457d149..4f185a0d42b3 100644 > --- a/drivers/media/platform/ti/am437x/am437x-vpfe.c > +++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c > @@ -2306,14 +2306,10 @@ vpfe_get_pdata(struct vpfe_device *vpfe) > if (!pdata) > return NULL; > > - for (i = 0; ; i++) { > + 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]; ^ "i" is uninitialized now. Also in the initializer it has "struct device_node *endpoint = NULL;" which is unnecessary now. And at the end it has: of_node_put(endpoint); return pdata; Since endpoint is NULL this was always a pointless no-op but now it's more obvious, so lets delete that. regards, dan carpenter
Hi Dan > > 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@renesas.com> > > --- (snip) > > - for (i = 0; ; i++) { > > + 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]; > ^ > "i" is uninitialized now. > > Also in the initializer it has "struct device_node *endpoint = NULL;" > which is unnecessary now. And at the end it has: > > of_node_put(endpoint); > return pdata; > > Since endpoint is NULL this was always a pointless no-op but now it's > more obvious, so lets delete that. Thank you for pointing it. I will wait other feedback, and post v2 patch in next week. Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto
diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media/platform/ti/am437x/am437x-vpfe.c index 77e12457d149..4f185a0d42b3 100644 --- a/drivers/media/platform/ti/am437x/am437x-vpfe.c +++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c @@ -2306,14 +2306,10 @@ vpfe_get_pdata(struct vpfe_device *vpfe) if (!pdata) return NULL; - for (i = 0; ; i++) { + 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,6 +2367,8 @@ vpfe_get_pdata(struct vpfe_device *vpfe) of_node_put(rem); if (IS_ERR(pdata->asd[i])) goto cleanup; + + i++; } of_node_put(endpoint); diff --git a/drivers/media/platform/ti/davinci/vpif_capture.c b/drivers/media/platform/ti/davinci/vpif_capture.c index c31a5566fc5a..8b7077a265e6 100644 --- a/drivers/media/platform/ti/davinci/vpif_capture.c +++ b/drivers/media/platform/ti/davinci/vpif_capture.c @@ -1517,16 +1517,11 @@ vpif_capture_get_pdata(struct platform_device *pdev, if (!pdata->subdev_info) return NULL; - for (i = 0; i < VPIF_CAPTURE_NUM_CHANNELS; i++) { + 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 +1572,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:
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@renesas.com> --- drivers/media/platform/ti/am437x/am437x-vpfe.c | 8 +++----- drivers/media/platform/ti/davinci/vpif_capture.c | 11 +++++------ 2 files changed, 8 insertions(+), 11 deletions(-)