Hello Morimoto-san, (CC'ing Sakari Ailus) On Mon, Jan 29, 2024 at 12:54:24AM +0000, Kuninori Morimoto wrote: > > Hi Rob > > This is v2 of port base loop patch-set > > We have endpoint base functions > - of_graph_get_next_endpoint() > - of_graph_get_endpoint_count() > - for_each_endpoint_of_node() > > But to handling "port" base things, it is not useful. We want to have > "port" base functions, too. This patch-set adds it. > > Because current existing drivers couldn't use "port" base functions, > it were implemented in a different way. This patch-set doesn't try > to full-replace to avoid unknown bug, try easy / quick replace only > for now, but easy to know how "port" base functions are needed. > > Because I can't test the driver which I can't use, non-ASoC drivers > needs Tested-by, Acked-by. The strategy sounds good to me. However, I'm wondering if you shouldn't take one more step in the core, and implement these as fwnode operations. Or is there a reason why OF is special, and iterating over ports would be useful for drivers on OF systems but not on other types of systems ? > v1 -> v2 > - tidyup function explain > - add missing header on each files > > Kuninori Morimoto (13): > of: property: add port base loop > of: property: use of_graph_get_next_port() on of_graph_get_next_endpoint() > of: property: add of_graph_get_next_endpoint_raw() > drm: omapdrm: use of_graph_get_next_endpoint_raw() > media: xilinx-tpg: use of_graph_get_next_endpoint_raw() > ASoC: audio-graph-card: use of_graph_get_next_endpoint_raw() > ASoC: audio-graph-card2: use of_graph_get_next_port() > ASoC: audio-graph-card2: use of_graph_get_next_endpoint_raw() > ASoC: test-component: use for_each_port_of_node() > fbdev: omapfb: use of_graph_get_remote_port() > fbdev: omapfb: use of_graph_get_next_port() > fbdev: omapfb: use of_graph_get_next_endpoint_raw() > fbdev: omapfb: use of_graph_get_next_endpoint() > > drivers/gpu/drm/omapdrm/dss/dpi.c | 2 +- > drivers/gpu/drm/omapdrm/dss/sdi.c | 2 +- > drivers/media/platform/xilinx/xilinx-tpg.c | 2 +- > drivers/of/property.c | 92 +++++++++++++--- > drivers/video/fbdev/omap2/omapfb/dss/dpi.c | 3 +- > drivers/video/fbdev/omap2/omapfb/dss/dsi.c | 3 +- > drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 101 +----------------- > drivers/video/fbdev/omap2/omapfb/dss/dss.c | 9 +- > drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c | 3 +- > drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c | 3 +- > drivers/video/fbdev/omap2/omapfb/dss/sdi.c | 3 +- > drivers/video/fbdev/omap2/omapfb/dss/venc.c | 3 +- > include/linux/of_graph.h | 23 ++++ > include/video/omapfb_dss.h | 11 -- > sound/soc/generic/audio-graph-card.c | 2 +- > sound/soc/generic/audio-graph-card2.c | 31 ++---- > sound/soc/generic/test-component.c | 2 +- > 17 files changed, 133 insertions(+), 162 deletions(-) -- Regards, Laurent Pinchart