Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b8a3c08 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] media: make media_link more generic to handle interace links



By adding an union at media_link, we get for free a way to
represent interface->entity links.

No need to change anything at the code, just at the internal
header file.

Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 23615de5
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -75,14 +75,20 @@ struct media_pipeline {
struct media_link {
	struct media_gobj graph_obj;
	struct list_head list;
	struct media_pad *source;	/* Source pad */
	struct media_pad *sink;		/* Sink pad  */
	union {
		struct media_gobj *gobj0;
		struct media_pad *source;
	};
	union {
		struct media_gobj *gobj1;
		struct media_pad *sink;
	};
	struct media_link *reverse;	/* Link in the reverse direction */
	unsigned long flags;		/* Link flags (MEDIA_LNK_FL_*) */
};

struct media_pad {
	struct media_gobj graph_obj;
	struct media_gobj graph_obj;	/* must be first field in struct */
	struct media_entity *entity;	/* Entity this pad belongs to */
	u16 index;			/* Pad index in the entity pads array */
	unsigned long flags;		/* Pad flags (MEDIA_PAD_FL_*) */
@@ -105,7 +111,7 @@ struct media_entity_operations {
};

struct media_entity {
	struct media_gobj graph_obj;
	struct media_gobj graph_obj;	/* must be first field in struct */
	struct list_head list;
	const char *name;		/* Entity name */
	u32 type;			/* Entity type (MEDIA_ENT_T_*) */
@@ -119,7 +125,7 @@ struct media_entity {
	u16 num_backlinks;		/* Number of backlinks */

	struct media_pad *pads;		/* Pads array (num_pads objects) */
	struct list_head links;		/* Links list */
	struct list_head links;		/* Pad-to-pad links list */

	const struct media_entity_operations *ops;	/* Entity operations */