As we'll be adding other interface types in the future, put the common interface create code on a separate function.
Change-Id: I938594c93baa5e27903ddae45cbc7856b61d8b09 Suggested-by: Hans Verkuil hans.verkuil@cisco.com Signed-off-by: Mauro Carvalho Chehab mchehab@osg.samsung.com Acked-by: Hans Verkuil hans.verkuil@cisco.com --- drivers/media/media-entity.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c index 8e17272936c9..74aaa5a5d5bc 100644 --- a/drivers/media/media-entity.c +++ b/drivers/media/media-entity.c @@ -851,6 +851,18 @@ struct media_pad *media_entity_remote_pad(struct media_pad *pad) EXPORT_SYMBOL_GPL(media_entity_remote_pad);
+static void media_interface_init(struct media_device *mdev, + struct media_interface *intf, + u32 gobj_type, + u32 intf_type, u32 flags) +{ + intf->type = intf_type; + intf->flags = flags; + INIT_LIST_HEAD(&intf->links); + + media_gobj_init(mdev, gobj_type, &intf->graph_obj); +} + /* Functions related to the media interface via device nodes */
struct media_intf_devnode *media_devnode_create(struct media_device *mdev, @@ -859,23 +871,16 @@ struct media_intf_devnode *media_devnode_create(struct media_device *mdev, gfp_t gfp_flags) { struct media_intf_devnode *devnode; - struct media_interface *intf;
devnode = kzalloc(sizeof(*devnode), gfp_flags); if (!devnode) return NULL;
- intf = &devnode->intf; - - intf->type = type; - intf->flags = flags; - INIT_LIST_HEAD(&intf->links); - devnode->major = major; devnode->minor = minor;
- media_gobj_init(mdev, MEDIA_GRAPH_INTF_DEVNODE, - &devnode->intf.graph_obj); + media_interface_init(mdev, &devnode->intf, MEDIA_GRAPH_INTF_DEVNODE, + type, flags);
return devnode; }