Skip to content

Commit

Permalink
device property: Drop fwnode_graph_get_remote_node()
Browse files Browse the repository at this point in the history
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>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Sakari Ailus authored and Rafael J. Wysocki committed Dec 17, 2021
1 parent 0d82017 commit c49eea6
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 45 deletions.
38 changes: 0 additions & 38 deletions drivers/base/property.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
12 changes: 8 additions & 4 deletions drivers/staging/media/tegra-video/vi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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))
Expand Down
3 changes: 0 additions & 3 deletions include/linux/property.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down

0 comments on commit c49eea6

Please sign in to comment.