mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
media: v4l2-fwnode: simplify v4l2_fwnode_parse_link
This helper was introduced before those helpers where awailable. Convert it to cleanup the code and improbe readability. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
453b0c8304
commit
507a0ba93a
1 changed files with 9 additions and 16 deletions
|
@ -557,33 +557,26 @@ int v4l2_fwnode_endpoint_alloc_parse(struct fwnode_handle *fwnode,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(v4l2_fwnode_endpoint_alloc_parse);
|
||||
|
||||
int v4l2_fwnode_parse_link(struct fwnode_handle *__fwnode,
|
||||
int v4l2_fwnode_parse_link(struct fwnode_handle *fwnode,
|
||||
struct v4l2_fwnode_link *link)
|
||||
{
|
||||
const char *port_prop = "reg";
|
||||
struct fwnode_handle *fwnode;
|
||||
struct fwnode_endpoint fwep;
|
||||
|
||||
memset(link, 0, sizeof(*link));
|
||||
|
||||
fwnode = fwnode_get_parent(__fwnode);
|
||||
fwnode_property_read_u32(fwnode, port_prop, &link->local_port);
|
||||
fwnode = fwnode_get_next_parent(fwnode);
|
||||
if (is_of_node(fwnode) && of_node_name_eq(to_of_node(fwnode), "ports"))
|
||||
fwnode = fwnode_get_next_parent(fwnode);
|
||||
link->local_node = fwnode;
|
||||
fwnode_graph_parse_endpoint(fwnode, &fwep);
|
||||
link->local_port = fwep.port;
|
||||
link->local_node = fwnode_graph_get_port_parent(fwnode);
|
||||
|
||||
fwnode = fwnode_graph_get_remote_endpoint(__fwnode);
|
||||
fwnode = fwnode_graph_get_remote_endpoint(fwnode);
|
||||
if (!fwnode) {
|
||||
fwnode_handle_put(fwnode);
|
||||
return -ENOLINK;
|
||||
}
|
||||
|
||||
fwnode = fwnode_get_parent(fwnode);
|
||||
fwnode_property_read_u32(fwnode, port_prop, &link->remote_port);
|
||||
fwnode = fwnode_get_next_parent(fwnode);
|
||||
if (is_of_node(fwnode) && of_node_name_eq(to_of_node(fwnode), "ports"))
|
||||
fwnode = fwnode_get_next_parent(fwnode);
|
||||
link->remote_node = fwnode;
|
||||
fwnode_graph_parse_endpoint(fwnode, &fwep);
|
||||
link->remote_port = fwep.port;
|
||||
link->remote_node = fwnode_graph_get_port_parent(fwnode);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue