On 08/30/2015 05:06 AM, Mauro Carvalho Chehab wrote: > 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. > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> > > diff --git a/include/media/media-entity.h b/include/media/media-entity.h > index bb89cedb0c40..b4923a24efd5 100644 > --- a/include/media/media-entity.h > +++ b/include/media/media-entity.h > @@ -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 */ > > -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html