mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 07:01:32 +00:00
media: mc: entity: Move media_entity_get_fwnode_pad() out of graph walk section
The media_entity_get_fwnode_pad() function is unrelated to the graph traversal code that it is currently bundled with. Move it with the media_entity_remote_pad() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
parent
49b38947d7
commit
612589a35e
@ -370,41 +370,6 @@ struct media_entity *media_graph_walk_next(struct media_graph *graph)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(media_graph_walk_next);
|
||||
|
||||
int media_entity_get_fwnode_pad(struct media_entity *entity,
|
||||
struct fwnode_handle *fwnode,
|
||||
unsigned long direction_flags)
|
||||
{
|
||||
struct fwnode_endpoint endpoint;
|
||||
unsigned int i;
|
||||
int ret;
|
||||
|
||||
if (!entity->ops || !entity->ops->get_fwnode_pad) {
|
||||
for (i = 0; i < entity->num_pads; i++) {
|
||||
if (entity->pads[i].flags & direction_flags)
|
||||
return i;
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
ret = fwnode_graph_parse_endpoint(fwnode, &endpoint);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = entity->ops->get_fwnode_pad(entity, &endpoint);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (ret >= entity->num_pads)
|
||||
return -ENXIO;
|
||||
|
||||
if (!(entity->pads[ret].flags & direction_flags))
|
||||
return -ENXIO;
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(media_entity_get_fwnode_pad);
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Pipeline management
|
||||
*/
|
||||
@ -994,6 +959,41 @@ struct media_pad *media_pad_remote_pad_unique(const struct media_pad *pad)
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(media_pad_remote_pad_unique);
|
||||
|
||||
int media_entity_get_fwnode_pad(struct media_entity *entity,
|
||||
struct fwnode_handle *fwnode,
|
||||
unsigned long direction_flags)
|
||||
{
|
||||
struct fwnode_endpoint endpoint;
|
||||
unsigned int i;
|
||||
int ret;
|
||||
|
||||
if (!entity->ops || !entity->ops->get_fwnode_pad) {
|
||||
for (i = 0; i < entity->num_pads; i++) {
|
||||
if (entity->pads[i].flags & direction_flags)
|
||||
return i;
|
||||
}
|
||||
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
ret = fwnode_graph_parse_endpoint(fwnode, &endpoint);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = entity->ops->get_fwnode_pad(entity, &endpoint);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
if (ret >= entity->num_pads)
|
||||
return -ENXIO;
|
||||
|
||||
if (!(entity->pads[ret].flags & direction_flags))
|
||||
return -ENXIO;
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(media_entity_get_fwnode_pad);
|
||||
|
||||
static void media_interface_init(struct media_device *mdev,
|
||||
struct media_interface *intf,
|
||||
u32 gobj_type,
|
||||
|
Loading…
Reference in New Issue
Block a user