[PATCH v4 0/9] use for_each_endpoint_of_node()
STALE790d
Revision v4 of 7 in this series.
10 messages,
1 author,
2024-06-03
· open the first message on its own page
Hi Rob, Helge
This is v4 patch-set
We already have for_each_endpoint_of_node(), but some drivers are
not using it. This patch-set replace it.
This patch-set is related to "OF" (= Rob), but many driveres are for
"MultiMedia" (= Helge). I'm not sure who handle these.
I noticed that my posted 1 patch on (A) was not yet included on
linus/master. I have included it.
Dan is indicating it needs _scoped() macro, but it is new new feature.
So I think we want to have separate this patch-set and _scoped() patch-set.
I asked it to ML/Maintainer but no responce, so v4 doesn't include it.
It will be handled by other patch-set in the future.
[o] done
[*] this patch-set
[o] tidyup of_graph_get_endpoint_count()
(A) [o] replace endpoint func - use endpoint_by_regs()
[*] replace endpoint func - use for_each()
[ ] add new port function
[ ] add new endpoint function
v3 -> v4
- fixup ret handling
v2 -> v3
- don't initialize pointer.
- add Reviewed-by / Acked-by
- include not-yet applied missing patch
v1 -> v2
- fixup TI patch
Link: https://lore.kernel.org/r/8734sf6mgn.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87cyrauf0x.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87le3soy08.wl-kuninori.morimoto.gx@renesas.com
Kuninori Morimoto (9):
gpu: drm: replace of_graph_get_next_endpoint()
gpu: drm: use for_each_endpoint_of_node()
hwtracing: use for_each_endpoint_of_node()
media: platform: microchip: use for_each_endpoint_of_node()
media: platform: ti: use for_each_endpoint_of_node()
media: platform: xilinx: use for_each_endpoint_of_node()
staging: media: atmel: use for_each_endpoint_of_node()
video: fbdev: use for_each_endpoint_of_node()
fbdev: omapfb: use of_graph_get_remote_port()
drivers/gpu/drm/drm_of.c | 4 +++-
drivers/gpu/drm/omapdrm/dss/base.c | 3 +--
.../drm/panel/panel-raspberrypi-touchscreen.c | 2 +-
drivers/gpu/drm/tiny/arcpgu.c | 2 +-
.../hwtracing/coresight/coresight-platform.c | 4 ++--
.../microchip/microchip-sama5d2-isc.c | 21 +++++++------------
.../microchip/microchip-sama7g5-isc.c | 21 +++++++------------
.../media/platform/ti/am437x/am437x-vpfe.c | 12 +++++------
.../media/platform/ti/davinci/vpif_capture.c | 14 ++++++-------
drivers/media/platform/xilinx/xilinx-vipp.c | 9 ++------
.../deprecated/atmel/atmel-sama5d2-isc.c | 10 +++------
.../deprecated/atmel/atmel-sama7g5-isc.c | 10 +++------
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 15 +------------
.../omap2/omapfb/dss/omapdss-boot-init.c | 3 +--
14 files changed, 46 insertions(+), 84 deletions(-)
--
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
From DT point of view, in general, drivers should be asking for a
specific port number because their function is fixed in the binding.
of_graph_get_next_endpoint() doesn't match to this concept.
Simply replace
- of_graph_get_next_endpoint(xxx, NULL);
+ of_graph_get_endpoint_by_regs(xxx, 0, -1);
Link: https://lore.kernel.org/r/20240202174941.GA310089-robh@kernel.org
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/drm_of.c | 4 +++-
drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 2 +-
drivers/gpu/drm/tiny/arcpgu.c | 2 +-
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/drm_of.c b/drivers/gpu/drm/drm_of.c
index 177b600895d3c..b6b2cade69aeb 100644
--- a/drivers/gpu/drm/drm_of.c
+++ b/drivers/gpu/drm/drm_of.c @@ -504,6 +504,8 @@ EXPORT_SYMBOL_GPL(drm_of_get_data_lanes_count_ep);
* Gets parent DSI bus for a DSI device controlled through a bus other
* than MIPI - DCS ( SPI , I2C , etc .) using the Device Tree .
*
+ * This function assumes that the device ' s port @ 0 is the DSI input .
+ *
* Returns pointer to mipi_dsi_host if successful , - EINVAL if the
* request is unsupported , - EPROBE_DEFER if the DSI host is found but
* not available , or - ENODEV otherwise . @@ -516,7 +518,7 @@ struct mipi_dsi_host *drm_of_get_dsi_bus(struct device *dev)
/*
* Get first endpoint child from device .
*/
- endpoint = of_graph_get_next_endpoint ( dev -> of_node , NULL );
+ endpoint = of_graph_get_endpoint_by_regs ( dev -> of_node , 0 , -1 );
if ( ! endpoint )
return ERR_PTR ( - ENODEV );
diff --git a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
index 4618c892cdd65..e10e469aa7a6c 100644
--- a/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c
+++ b/drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c @@ -400,7 +400,7 @@ static int rpi_touchscreen_probe(struct i2c_client *i2c)
rpi_touchscreen_i2c_write ( ts , REG_POWERON , 0 );
/* Look up the DSI host. It needs to probe before we do. */
- endpoint = of_graph_get_next_endpoint ( dev -> of_node , NULL );
+ endpoint = of_graph_get_endpoint_by_regs ( dev -> of_node , 0 , -1 );
if ( ! endpoint )
return - ENODEV ;
diff --git a/drivers/gpu/drm/tiny/arcpgu.c b/drivers/gpu/drm/tiny/arcpgu.c
index 4f8f3172379e3..8c29b719ea626 100644
--- a/drivers/gpu/drm/tiny/arcpgu.c
+++ b/drivers/gpu/drm/tiny/arcpgu.c @@ -288,7 +288,7 @@ static int arcpgu_load(struct arcpgu_drm_private *arcpgu)
* There is only one output port inside each device . It is linked with
* encoder endpoint .
*/
- endpoint_node = of_graph_get_next_endpoint ( pdev -> dev . of_node , NULL );
+ endpoint_node = of_graph_get_endpoint_by_regs ( pdev -> dev . of_node , 0 , -1 );
if ( endpoint_node ) {
encoder_node = of_graph_get_remote_port_parent ( endpoint_node );
of_node_put ( endpoint_node ); --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Acked-by: Dmitry Baryshkov <redacted>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/gpu/drm/omapdrm/dss/base.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/base.c b/drivers/gpu/drm/omapdrm/dss/base.c
index 050ca7eafac58..5f8002f6bb7a5 100644
--- a/drivers/gpu/drm/omapdrm/dss/base.c
+++ b/drivers/gpu/drm/omapdrm/dss/base.c @@ -242,8 +242,7 @@ static void omapdss_walk_device(struct device *dev, struct device_node *node,
of_node_put ( n );
- n = NULL ;
- while (( n = of_graph_get_next_endpoint ( node , n )) != NULL ) {
+ for_each_endpoint_of_node ( node , n ) {
struct device_node * pn = of_graph_get_remote_port_parent ( n );
if ( ! pn ) --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: James Clark <redacted>
---
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 --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
.../microchip/microchip-sama5d2-isc.c | 21 +++++++------------
.../microchip/microchip-sama7g5-isc.c | 21 +++++++------------
2 files changed, 16 insertions(+), 26 deletions(-)
diff --git a/drivers/media/platform/microchip/microchip-sama5d2-isc.c b/drivers/media/platform/microchip/microchip-sama5d2-isc.c
index 5ac149cf3647f..60b6d922d764e 100644
--- a/drivers/media/platform/microchip/microchip-sama5d2-isc.c
+++ b/drivers/media/platform/microchip/microchip-sama5d2-isc.c @@ -353,33 +353,29 @@ 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 ;
+ int ret ;
ret = v4l2_fwnode_endpoint_parse ( of_fwnode_handle ( epn ),
& v4l2_epn );
if ( ret ) {
- ret = - EINVAL ;
+ of_node_put ( epn );
dev_err ( dev , "Could not parse the endpoint \n " );
- break ;
+ return - EINVAL ;
}
subdev_entity = devm_kzalloc ( dev , sizeof ( * subdev_entity ),
GFP_KERNEL );
if ( ! subdev_entity ) {
- ret = - ENOMEM ;
- break ;
+ of_node_put ( epn );
+ return - ENOMEM ;
}
subdev_entity -> epn = epn ;
@@ -400,9 +396,8 @@ static int isc_parse_dt(struct device *dev, struct isc_device *isc)
list_add_tail ( & subdev_entity -> list , & isc -> subdev_entities );
}
- of_node_put ( epn );
- return ret ;
+ return 0 ;
}
static int microchip_isc_probe ( struct platform_device * pdev ) diff --git a/drivers/media/platform/microchip/microchip-sama7g5-isc.c b/drivers/media/platform/microchip/microchip-sama7g5-isc.c
index 73445f33d26ba..e97abe3e35af0 100644
--- a/drivers/media/platform/microchip/microchip-sama7g5-isc.c
+++ b/drivers/media/platform/microchip/microchip-sama7g5-isc.c @@ -336,36 +336,32 @@ static const u32 isc_sama7g5_gamma_table[][GAMMA_ENTRIES] = {
static int xisc_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 ;
bool mipi_mode ;
INIT_LIST_HEAD ( & isc -> subdev_entities );
mipi_mode = of_property_read_bool ( np , "microchip,mipi-mode" );
- 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 ;
+ int ret ;
ret = v4l2_fwnode_endpoint_parse ( of_fwnode_handle ( epn ),
& v4l2_epn );
if ( ret ) {
- ret = - EINVAL ;
+ of_node_put ( epn );
dev_err ( dev , "Could not parse the endpoint \n " );
- break ;
+ return - EINVAL ;
}
subdev_entity = devm_kzalloc ( dev , sizeof ( * subdev_entity ),
GFP_KERNEL );
if ( ! subdev_entity ) {
- ret = - ENOMEM ;
- break ;
+ of_node_put ( epn );
+ return - ENOMEM ;
}
subdev_entity -> epn = epn ;
@@ -389,9 +385,8 @@ static int xisc_parse_dt(struct device *dev, struct isc_device *isc)
list_add_tail ( & subdev_entity -> list , & isc -> subdev_entities );
}
- of_node_put ( epn );
- return ret ;
+ return 0 ;
}
static int microchip_xisc_probe ( struct platform_device * pdev ) --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/media/platform/ti/am437x/am437x-vpfe.c | 12 +++++-------
drivers/media/platform/ti/davinci/vpif_capture.c | 14 +++++++-------
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/drivers/media/platform/ti/am437x/am437x-vpfe.c b/drivers/media/platform/ti/am437x/am437x-vpfe.c
index 77e12457d1495..009ff68a2b43c 100644
--- a/drivers/media/platform/ti/am437x/am437x-vpfe.c
+++ b/drivers/media/platform/ti/am437x/am437x-vpfe.c @@ -2287,7 +2287,7 @@ static const struct v4l2_async_notifier_operations vpfe_async_ops = {
static struct vpfe_config *
vpfe_get_pdata ( struct vpfe_device * vpfe )
{
- struct device_node * endpoint = NULL ;
+ struct device_node * endpoint ;
struct device * dev = vpfe -> pdev ;
struct vpfe_subdev_info * sdinfo ;
struct vpfe_config * pdata ; @@ -2306,14 +2306,11 @@ vpfe_get_pdata(struct vpfe_device *vpfe)
if ( ! pdata )
return NULL ;
- for ( i = 0 ; ; i ++ ) {
+ i = 0 ;
+ 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,9 +2368,10 @@ vpfe_get_pdata(struct vpfe_device *vpfe)
of_node_put ( rem );
if ( IS_ERR ( pdata -> asd [ i ]))
goto cleanup ;
+
+ i ++ ;
}
- of_node_put ( endpoint );
return pdata ;
cleanup : diff --git a/drivers/media/platform/ti/davinci/vpif_capture.c b/drivers/media/platform/ti/davinci/vpif_capture.c
index c28794b6677b7..16326437767f8 100644
--- a/drivers/media/platform/ti/davinci/vpif_capture.c
+++ b/drivers/media/platform/ti/davinci/vpif_capture.c @@ -1487,7 +1487,7 @@ static struct vpif_capture_config *
vpif_capture_get_pdata ( struct platform_device * pdev ,
struct v4l2_device * v4l2_dev )
{
- struct device_node * endpoint = NULL ;
+ struct device_node * endpoint ;
struct device_node * rem = NULL ;
struct vpif_capture_config * pdata ;
struct vpif_subdev_info * sdinfo ; @@ -1517,16 +1517,12 @@ vpif_capture_get_pdata(struct platform_device *pdev,
if ( ! pdata -> subdev_info )
return NULL ;
- for ( i = 0 ; i < VPIF_CAPTURE_NUM_CHANNELS ; i ++ ) {
+ i = 0 ;
+ 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 +1573,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 : --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/media/platform/xilinx/xilinx-vipp.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/drivers/media/platform/xilinx/xilinx-vipp.c b/drivers/media/platform/xilinx/xilinx-vipp.c
index 996684a730383..bfe48cc0ab525 100644
--- a/drivers/media/platform/xilinx/xilinx-vipp.c
+++ b/drivers/media/platform/xilinx/xilinx-vipp.c @@ -199,18 +199,13 @@ static int xvip_graph_build_dma(struct xvip_composite_device *xdev)
struct media_pad * sink_pad ;
struct xvip_graph_entity * ent ;
struct v4l2_fwnode_link link ;
- struct device_node * ep = NULL ;
+ struct device_node * ep ;
struct xvip_dma * dma ;
int ret = 0 ;
dev_dbg ( xdev -> dev , "creating links for DMA engines \n " );
- while ( 1 ) {
- /* Get the next endpoint and parse its link. */
- ep = of_graph_get_next_endpoint ( node , ep );
- if ( ep == NULL )
- break ;
-
+ for_each_endpoint_of_node ( node , ep ) {
dev_dbg ( xdev -> dev , "processing endpoint %pOF \n " , ep );
ret = v4l2_fwnode_parse_link ( of_fwnode_handle ( ep ), & link ); --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
.../staging/media/deprecated/atmel/atmel-sama5d2-isc.c | 10 +++-------
.../staging/media/deprecated/atmel/atmel-sama7g5-isc.c | 10 +++-------
2 files changed, 6 insertions(+), 14 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..712f916f0935f 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 ;
+ int ret = - EINVAL ;
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 ) { diff --git a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
index 020034f631f57..9485167d5b7d7 100644
--- a/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c
+++ b/drivers/staging/media/deprecated/atmel/atmel-sama7g5-isc.c @@ -316,23 +316,19 @@ static const u32 isc_sama7g5_gamma_table[][GAMMA_ENTRIES] = {
static int xisc_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 ;
+ int ret = - EINVAL ;
bool mipi_mode ;
INIT_LIST_HEAD ( & isc -> subdev_entities );
mipi_mode = of_property_read_bool ( np , "microchip,mipi-mode" );
- 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 ) { --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c b/drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c
index 09f719af0d0c9..d80720c843235 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c @@ -149,8 +149,7 @@ static void __init omapdss_walk_device(struct device_node *node, bool root)
of_node_put ( n );
- n = NULL ;
- while (( n = of_graph_get_next_endpoint ( node , n )) != NULL ) {
+ for_each_endpoint_of_node ( node , n ) {
struct device_node * pn ;
pn = of_graph_get_remote_port_parent ( n ); --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
We already have of_graph_get_remote_port(), Let's use it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
---
drivers/video/fbdev/omap2/omapfb/dss/dss-of.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
index 14965a3fd05b7..4040e247e026e 100644
--- a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
+++ b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c @@ -117,19 +117,6 @@ u32 dss_of_port_get_port_number(struct device_node *port)
return reg ;
}
- static struct device_node * omapdss_of_get_remote_port ( const struct device_node * node )
- {
- struct device_node * np ;
-
- np = of_graph_get_remote_endpoint ( node );
- if ( ! np )
- return NULL ;
-
- np = of_get_next_parent ( np );
-
- return np ;
- }
-
struct omap_dss_device *
omapdss_of_find_source_for_first_ep ( struct device_node * node )
{ @@ -141,7 +128,7 @@ omapdss_of_find_source_for_first_ep(struct device_node *node)
if ( ! ep )
return ERR_PTR ( - EINVAL );
- src_port = omapdss_of_get_remote_port ( ep );
+ src_port = of_graph_get_remote_port ( ep );
if ( ! src_port ) {
of_node_put ( ep );
return ERR_PTR ( - EINVAL ); --
2.43.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel