On Thu, May 30, 2024 at 02:06:22AM +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> > --- > .../staging/media/deprecated/atmel/atmel-sama5d2-isc.c | 8 ++------ > .../staging/media/deprecated/atmel/atmel-sama7g5-isc.c | 8 ++------ > 2 files changed, 4 insertions(+), 12 deletions(-) > > diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c > index 31b2b48085c59..3b28a232418a9 100644 > --- a/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c > +++ b/drivers/staging/media/deprecated/atmel/atmel-sama5d2-isc.c > @@ -333,20 +333,16 @@ static const u32 isc_sama5d2_gamma_table[][GAMMA_ENTRIES] = { > static int isc_parse_dt(struct device *dev, struct isc_device *isc) > { > struct device_node *np = dev->of_node; > - struct device_node *epn = NULL; > + struct device_node *epn; > struct isc_subdev_entity *subdev_entity; > unsigned int flags; > int ret; > > INIT_LIST_HEAD(&isc->subdev_entities); > > - while (1) { > + for_each_endpoint_of_node(np, epn) { > struct v4l2_fwnode_endpoint v4l2_epn = { .bus_type = 0 }; > > - epn = of_graph_get_next_endpoint(np, epn); > - if (!epn) > - return 0; > - > ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(epn), > &v4l2_epn); > if (ret) { This introduces a Smatch warning because now "ret" is uninitialized if the for_each_endpoint_of_node() list is empty. Is that something which is possible? I've been meaning to make a list of loops which always iterate at least one time. for_each_cpu() etc. regards, dan carpenter