On Wed, Aug 28, 2024 at 05:12:22AM +0000, Kuninori Morimoto wrote:
> Now we can use new port related functions for port parsing. Use it.
> 
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto...@renesas.com>
> ---
>  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    |  9 +--
>  drivers/video/fbdev/omap2/omapfb/dss/sdi.c    |  3 +-
>  include/video/omapfb_dss.h                    |  8 ---
>  5 files changed, 9 insertions(+), 80 deletions(-)
> 
> diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c 
> b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
> index 7c1b7d89389aa..395b1139a5ae7 100644
> --- a/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
> +++ b/drivers/video/fbdev/omap2/omapfb/dss/dpi.c
> @@ -20,6 +20,7 @@
>  #include <linux/regulator/consumer.h>
>  #include <linux/string.h>
>  #include <linux/of.h>
> +#include <linux/of_graph.h>
>  #include <linux/clk.h>
>  #include <linux/component.h>
>  
> @@ -845,7 +846,7 @@ int dpi_init_port(struct platform_device *pdev, struct 
> device_node *port)
>       if (!dpi)
>               return -ENOMEM;
>  
> -     ep = omapdss_of_get_next_endpoint(port, NULL);
> +     ep = of_graph_get_next_port_endpoint(port, NULL);
>       if (!ep)
>               return 0;
>  
> diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c 
> b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
> index 4040e247e026e..efb7d2e4ce85d 100644
> --- a/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
> +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
> @@ -15,72 +15,6 @@
>  
>  #include "dss.h"
>  
> -struct device_node *
> -omapdss_of_get_next_port(const struct device_node *parent,
> -                      struct device_node *prev)
> -{
> -     struct device_node *port = NULL;
> -
> -     if (!parent)
> -             return NULL;
> -
> -     if (!prev) {
> -             struct device_node *ports;
> -             /*
> -              * It's the first call, we have to find a port subnode
> -              * within this node or within an optional 'ports' node.
> -              */
> -             ports = of_get_child_by_name(parent, "ports");
> -             if (ports)
> -                     parent = ports;
> -
> -             port = of_get_child_by_name(parent, "port");
> -
> -             /* release the 'ports' node */
> -             of_node_put(ports);
> -     } else {
> -             struct device_node *ports;
> -
> -             ports = of_get_parent(prev);
> -             if (!ports)
> -                     return NULL;
> -
> -             do {
> -                     port = of_get_next_child(ports, prev);
> -                     if (!port) {
> -                             of_node_put(ports);
> -                             return NULL;
> -                     }
> -                     prev = port;
> -             } while (!of_node_name_eq(port, "port"));
> -
> -             of_node_put(ports);
> -     }
> -
> -     return port;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_of_get_next_port);
> -
> -struct device_node *
> -omapdss_of_get_next_endpoint(const struct device_node *parent,
> -                          struct device_node *prev)
> -{
> -     struct device_node *ep = NULL;
> -
> -     if (!parent)
> -             return NULL;
> -
> -     do {
> -             ep = of_get_next_child(parent, prev);
> -             if (!ep)
> -                     return NULL;
> -             prev = ep;
> -     } while (!of_node_name_eq(ep, "endpoint"));
> -
> -     return ep;
> -}
> -EXPORT_SYMBOL_GPL(omapdss_of_get_next_endpoint);
> -
>  struct device_node *dss_of_port_get_parent_device(struct device_node *port)
>  {
>       struct device_node *np;
> diff --git a/drivers/video/fbdev/omap2/omapfb/dss/dss.c 
> b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> index d814e4baa4b33..5cab317011eeb 100644
> --- a/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> +++ b/drivers/video/fbdev/omap2/omapfb/dss/dss.c
> @@ -26,6 +26,7 @@
>  #include <linux/mfd/syscon.h>
>  #include <linux/regmap.h>
>  #include <linux/of.h>
> +#include <linux/of_graph.h>
>  #include <linux/regulator/consumer.h>
>  #include <linux/suspend.h>
>  #include <linux/component.h>
> @@ -922,7 +923,7 @@ static int dss_init_ports(struct platform_device *pdev)
>       if (parent == NULL)
>               return 0;

of_graph_get_next_port() handles parent==NULL, so you can drop this 
check. And the other cases.

Rob

Reply via email to