Hi Rob, Saravana, Tomi, Laurent, Sakari, Mark This is v6 patch-set Current Of-graph has "endpoint base" for loop, but doesn't have "port base" loop. "endpoint base" loop only is not enough. This patch-set add new "port base" for loop, and use it. Unfortunately, new helper function need to call of_node_get() if dts doesn't have "ports" node, so we can't replace existing loop by new helper, because it is using "const". I noticed that some developer posted the patch to ALSA ML and its and [5/9][6/9] patch will conflict. I think it is better to repost these to ALSA ML *after* main patches (= [1/9][2/9]) were included to linus/master tree (?). (Mark, can you agree ?) So, [5/9][6/9] wants "review" only here. v5 -> v6 - based on latest linus/master branch - [9/9]: fixed compile warrning v4 -> v5 - tidyup comments - [8/9]: parent NULL check was removed - [9/9]: use for_each_of_graph_port() v3 -> v4 - new for_each loop includes __free() - comment indicates to use return_ptr() or no_free_ptr() if it need to continue to use node - each driver based on it - care "prev" leak on of_graph_get_next_ports() - of_graph_get_next_port_endpoint() indicates WARN() if port has non-endpoint node - tidyup each git-log v2 -> v3 - return NULL if it it doesn't have ports / port - add visible comment on of_graph_get_next_ports() v1 -> v2 - add each Reviewed-by / Acked-by - tidyup/update Kernel Docs - use prev as parameter - update git-log explanation - remove extra changes Kuninori Morimoto (9): of: property: add of_graph_get_next_port() of: property: add of_graph_get_next_port_endpoint() ASoC: test-component: use new of_graph functions ASoC: rcar_snd: use new of_graph functions ASoC: audio-graph-card: use new of_graph functions ASoC: audio-graph-card2: use new of_graph functions gpu: drm: omapdrm: use new of_graph functions fbdev: omapfb: use new of_graph functions media: xilinx-tpg: use new of_graph functions drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +- drivers/gpu/drm/omapdrm/dss/sdi.c | 3 +- drivers/media/platform/xilinx/xilinx-tpg.c | 14 +- drivers/of/property.c | 154 ++++++++++++++++++ drivers/video/fbdev/omap2/omapfb/dss/dpi.c | 3 +- drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 66 -------- drivers/video/fbdev/omap2/omapfb/dss/dss.c | 20 +-- drivers/video/fbdev/omap2/omapfb/dss/sdi.c | 3 +- include/linux/of_graph.h | 71 ++++++++ include/video/omapfb_dss.h | 8 - sound/soc/generic/audio-graph-card.c | 2 +- sound/soc/generic/audio-graph-card2.c | 104 ++++++------ sound/soc/generic/test-component.c | 3 +- sound/soc/sh/rcar/core.c | 21 +-- 14 files changed, 302 insertions(+), 173 deletions(-) -- 2.43.0