On 29/05/2024 01:40, Laurent Pinchart wrote: > Hi Morimoto-san, > > Thank you for the patch. > > On Tue, May 28, 2024 at 11:55:32PM +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: Suzuki K Poulose <suzuki.poulose@xxxxxxx> >> --- >> drivers/hwtracing/coresight/coresight-platform.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/hwtracing/coresight/coresight-platform.c b/drivers/hwtracing/coresight/coresight-platform.c >> index 9d550f5697fa8..e9683e613d520 100644 >> --- a/drivers/hwtracing/coresight/coresight-platform.c >> +++ b/drivers/hwtracing/coresight/coresight-platform.c >> @@ -275,7 +275,7 @@ static int of_get_coresight_platform_data(struct device *dev, >> */ >> if (!parent) { >> /* >> - * Avoid warnings in of_graph_get_next_endpoint() >> + * Avoid warnings in for_each_endpoint_of_node() >> * if the device doesn't have any graph connections >> */ >> if (!of_graph_is_present(node)) >> @@ -286,7 +286,7 @@ static int of_get_coresight_platform_data(struct device *dev, >> } >> >> /* Iterate through each output port to discover topology */ >> - while ((ep = of_graph_get_next_endpoint(parent, ep))) { >> + for_each_endpoint_of_node(parent, ep) { >> /* >> * Legacy binding mixes input/output ports under the >> * same parent. So, skip the input ports if we are dealing > > I think there's a bug below. The loop contains > > ret = of_coresight_parse_endpoint(dev, ep, pdata); > if (ret) > return ret; > > which leaks the reference to ep. This is not introduced by this patch, > so > Nice catch, I will send a patch. Also: Reviewed-by: James Clark <james.clark@xxxxxxx> > Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> >