Skip to content

Commit

Permalink
fbdev: omapfb: use new of_graph functions
Browse files Browse the repository at this point in the history
Now we can use new port related functions for port parsing. Use it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Helge Deller <deller@gmx.de>
Link: https://lore.kernel.org/r/87bjzab5sd.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
  • Loading branch information
Kuninori Morimoto authored and Rob Herring (Arm) committed Oct 24, 2024
1 parent c005d37 commit 78cd57b
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 87 deletions.
3 changes: 2 additions & 1 deletion drivers/video/fbdev/omap2/omapfb/dss/dpi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down Expand Up @@ -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;

Expand Down
66 changes: 0 additions & 66 deletions drivers/video/fbdev/omap2/omapfb/dss/dss-of.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
20 changes: 9 additions & 11 deletions drivers/video/fbdev/omap2/omapfb/dss/dss.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -919,10 +920,7 @@ static int dss_init_ports(struct platform_device *pdev)
struct device_node *port;
int r, ret = 0;

if (parent == NULL)
return 0;

port = omapdss_of_get_next_port(parent, NULL);
port = of_graph_get_next_port(parent, NULL);
if (!port)
return 0;

Expand Down Expand Up @@ -952,8 +950,9 @@ static int dss_init_ports(struct platform_device *pdev)
default:
break;
}
} while (!ret &&
(port = omapdss_of_get_next_port(parent, port)) != NULL);

port = of_graph_get_next_port(parent, port);
} while (!ret && port);

if (ret)
dss_uninit_ports(pdev);
Expand All @@ -966,10 +965,7 @@ static void dss_uninit_ports(struct platform_device *pdev)
struct device_node *parent = pdev->dev.of_node;
struct device_node *port;

if (parent == NULL)
return;

port = omapdss_of_get_next_port(parent, NULL);
port = of_graph_get_next_port(parent, NULL);
if (!port)
return;

Expand Down Expand Up @@ -1000,7 +996,9 @@ static void dss_uninit_ports(struct platform_device *pdev)
default:
break;
}
} while ((port = omapdss_of_get_next_port(parent, port)) != NULL);

port = of_graph_get_next_port(parent, port);
} while (port);
}

static int dss_video_pll_probe(struct platform_device *pdev)
Expand Down
3 changes: 2 additions & 1 deletion drivers/video/fbdev/omap2/omapfb/dss/sdi.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <linux/platform_device.h>
#include <linux/string.h>
#include <linux/of.h>
#include <linux/of_graph.h>
#include <linux/component.h>

#include <video/omapfb_dss.h>
Expand Down Expand Up @@ -405,7 +406,7 @@ int sdi_init_port(struct platform_device *pdev, struct device_node *port)
u32 datapairs;
int r;

ep = omapdss_of_get_next_endpoint(port, NULL);
ep = of_graph_get_next_port_endpoint(port, NULL);
if (!ep)
return 0;

Expand Down
8 changes: 0 additions & 8 deletions include/video/omapfb_dss.h
Original file line number Diff line number Diff line change
Expand Up @@ -811,14 +811,6 @@ static inline bool omapdss_device_is_enabled(struct omap_dss_device *dssdev)
return dssdev->state == OMAP_DSS_DISPLAY_ACTIVE;
}

struct device_node *
omapdss_of_get_next_port(const struct device_node *parent,
struct device_node *prev);

struct device_node *
omapdss_of_get_next_endpoint(const struct device_node *parent,
struct device_node *prev);

struct omap_dss_device *
omapdss_of_find_source_for_first_ep(struct device_node *node);
#else
Expand Down

0 comments on commit 78cd57b

Please sign in to comment.