diff mbox series

[7/7] device property: Drop fwnode_graph_get_remote_node()

Message ID 20211130153250.935726-7-sakari.ailus@linux.intel.com (mailing list archive)
State Superseded, archived
Headers show
Series [1/7] device property: Fix fwnode_graph_devcon_match() fwnode leak | expand

Commit Message

Sakari Ailus Nov. 30, 2021, 3:32 p.m. UTC
fwnode_graph_get_remote_node() is only used by the tegra-video driver.
Convert it to use newer fwnode_graph_get_endpoint_by_id() and drop
now-unused fwnode_graph_get_remote_node().

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
---
 drivers/base/property.c                | 38 --------------------------
 drivers/staging/media/tegra-video/vi.c | 12 +++++---
 include/linux/property.h               |  3 --
 3 files changed, 8 insertions(+), 45 deletions(-)

Comments

Andy Shevchenko Nov. 30, 2021, 4:05 p.m. UTC | #1
On Tue, Nov 30, 2021 at 05:32:50PM +0200, Sakari Ailus wrote:
> fwnode_graph_get_remote_node() is only used by the tegra-video driver.
> Convert it to use newer fwnode_graph_get_endpoint_by_id() and drop
> now-unused fwnode_graph_get_remote_node().

...

> -		remote = fwnode_graph_get_remote_node(fwnode, chan->portnos[0],
> -						      0);
> -		if (!remote)
> +		struct fwnode_handle *ep, *remote;
> +
> +		ep = fwnode_graph_get_endpoint_by_id(fwnode,
> +						     chan->portnos[0], 0, 0);

What makes you to move portnos to the next line? It's pretty much under 80.

> +		if (!ep)
>  			continue;
>  
> +		remote = fwnode_graph_get_remote_port_parent(ep);
> +		fwnode_handle_put(ep);
Sakari Ailus Nov. 30, 2021, 8:40 p.m. UTC | #2
Hi Andy,

On Tue, Nov 30, 2021 at 06:05:29PM +0200, Andy Shevchenko wrote:
> On Tue, Nov 30, 2021 at 05:32:50PM +0200, Sakari Ailus wrote:
> > fwnode_graph_get_remote_node() is only used by the tegra-video driver.
> > Convert it to use newer fwnode_graph_get_endpoint_by_id() and drop
> > now-unused fwnode_graph_get_remote_node().
> 
> ...
> 
> > -		remote = fwnode_graph_get_remote_node(fwnode, chan->portnos[0],
> > -						      0);
> > -		if (!remote)
> > +		struct fwnode_handle *ep, *remote;
> > +
> > +		ep = fwnode_graph_get_endpoint_by_id(fwnode,
> > +						     chan->portnos[0], 0, 0);
> 
> What makes you to move portnos to the next line? It's pretty much under 80.

It is. But the endpoint, the following argument, is closely related to the
port number. For that reason I'd prefer to keep it as-is.
diff mbox series

Patch

diff --git a/drivers/base/property.c b/drivers/base/property.c
index ba35d16e7f1f2..afe61263daa9d 100644
--- a/drivers/base/property.c
+++ b/drivers/base/property.c
@@ -1059,44 +1059,6 @@  fwnode_graph_get_remote_endpoint(const struct fwnode_handle *fwnode)
 }
 EXPORT_SYMBOL_GPL(fwnode_graph_get_remote_endpoint);
 
-/**
- * fwnode_graph_get_remote_node - get remote parent node for given port/endpoint
- * @fwnode: pointer to parent fwnode_handle containing graph port/endpoint
- * @port_id: identifier of the parent port node
- * @endpoint_id: identifier of the endpoint node
- *
- * Return: Remote fwnode handle associated with remote endpoint node linked
- *	   to @node. Use fwnode_node_put() on it when done.
- */
-struct fwnode_handle *
-fwnode_graph_get_remote_node(const struct fwnode_handle *fwnode, u32 port_id,
-			     u32 endpoint_id)
-{
-	struct fwnode_handle *endpoint;
-
-	fwnode_graph_for_each_endpoint(fwnode, endpoint) {
-		struct fwnode_endpoint fwnode_ep;
-		struct fwnode_handle *remote;
-		int ret;
-
-		ret = fwnode_graph_parse_endpoint(endpoint, &fwnode_ep);
-		if (ret < 0)
-			continue;
-
-		if (fwnode_ep.port != port_id || fwnode_ep.id != endpoint_id)
-			continue;
-
-		remote = fwnode_graph_get_remote_port_parent(endpoint);
-		if (!remote)
-			return NULL;
-
-		return fwnode_device_is_available(remote) ? remote : NULL;
-	}
-
-	return NULL;
-}
-EXPORT_SYMBOL_GPL(fwnode_graph_get_remote_node);
-
 static bool fwnode_graph_remote_available(struct fwnode_handle *ep)
 {
 	struct fwnode_handle *dev_node;
diff --git a/drivers/staging/media/tegra-video/vi.c b/drivers/staging/media/tegra-video/vi.c
index 69d9787d53384..d1f43f465c224 100644
--- a/drivers/staging/media/tegra-video/vi.c
+++ b/drivers/staging/media/tegra-video/vi.c
@@ -1845,7 +1845,6 @@  static int tegra_vi_graph_init(struct tegra_vi *vi)
 	struct tegra_vi_channel *chan;
 	struct fwnode_handle *fwnode = dev_fwnode(vi->dev);
 	int ret;
-	struct fwnode_handle *remote = NULL;
 
 	/*
 	 * Walk the links to parse the full graph. Each channel will have
@@ -1857,11 +1856,16 @@  static int tegra_vi_graph_init(struct tegra_vi *vi)
 	 * next channels.
 	 */
 	list_for_each_entry(chan, &vi->vi_chans, list) {
-		remote = fwnode_graph_get_remote_node(fwnode, chan->portnos[0],
-						      0);
-		if (!remote)
+		struct fwnode_handle *ep, *remote;
+
+		ep = fwnode_graph_get_endpoint_by_id(fwnode,
+						     chan->portnos[0], 0, 0);
+		if (!ep)
 			continue;
 
+		remote = fwnode_graph_get_remote_port_parent(ep);
+		fwnode_handle_put(ep);
+
 		ret = tegra_vi_graph_parse_one(chan, remote);
 		fwnode_handle_put(remote);
 		if (ret < 0 || list_empty(&chan->notifier.asd_list))
diff --git a/include/linux/property.h b/include/linux/property.h
index e32b95f42c9db..3a31765895c11 100644
--- a/include/linux/property.h
+++ b/include/linux/property.h
@@ -401,9 +401,6 @@  struct fwnode_handle *fwnode_graph_get_remote_port(
 	const struct fwnode_handle *fwnode);
 struct fwnode_handle *fwnode_graph_get_remote_endpoint(
 	const struct fwnode_handle *fwnode);
-struct fwnode_handle *
-fwnode_graph_get_remote_node(const struct fwnode_handle *fwnode, u32 port,
-			     u32 endpoint);
 
 static inline bool fwnode_graph_is_endpoint(struct fwnode_handle *fwnode)
 {