summaryrefslogtreecommitdiffstats
path: root/drivers/media/mc/mc-entity.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-08-31 16:13:30 +0200
committerMauro Carvalho Chehab <mchehab@kernel.org>2022-09-24 09:11:29 +0200
commit612589a35e99fcbb7c85d8ba21b01f0249cc188d (patch)
tree6ffe7e17003c257ae08d829d73ac600a204b8d53 /drivers/media/mc/mc-entity.c
parentmedia: mc: entity: Merge media_entity_enum_init and __media_entity_enum_init (diff)
downloadlinux-612589a35e99fcbb7c85d8ba21b01f0249cc188d.tar.xz
linux-612589a35e99fcbb7c85d8ba21b01f0249cc188d.zip
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>
Diffstat (limited to '')
-rw-r--r--drivers/media/mc/mc-entity.c70
1 files changed, 35 insertions, 35 deletions
diff --git a/drivers/media/mc/mc-entity.c b/drivers/media/mc/mc-entity.c
index 48d8cc98ae04..c5c66befed0f 100644
--- a/drivers/media/mc/mc-entity.c
+++ b/drivers/media/mc/mc-entity.c
@@ -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,