Commit c49eea6f authored by Sakari Ailus's avatar Sakari Ailus Committed by Rafael J. Wysocki
Browse files

device property: Drop fwnode_graph_get_remote_node()



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: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 0d82017b
Loading
Loading
Loading
Loading
+0 −38
Original line number Diff line number Diff line
@@ -1011,44 +1011,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;
+8 −4
Original line number Diff line number Diff line
@@ -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))
+0 −3
Original line number Diff line number Diff line
@@ -397,9 +397,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)
{