Hi Sakari, Thanks for the patch. On Friday 14 October 2011 18:05:33 Sakari Ailus wrote: > - There are sink and source pads, not input and output. > - Print also DYNAMIC flag. > - Don't print "pad" before pad number in some cases. The strings are more > usable for link parsing now. > - Don't print extra commas afterlink flags. > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxx> > --- > src/main.c | 29 +++++++++++++++++++++-------- > 1 files changed, 21 insertions(+), 8 deletions(-) > > diff --git a/src/main.c b/src/main.c > index c04e12f..3c5fcb8 100644 > --- a/src/main.c > +++ b/src/main.c > @@ -129,8 +129,8 @@ static const char *media_pad_type_to_string(unsigned > flag) __u32 flag; > const char *name; > } flags[] = { > - { MEDIA_PAD_FL_SINK, "Input" }, > - { MEDIA_PAD_FL_SOURCE, "Output" }, > + { MEDIA_PAD_FL_SINK, "Sink" }, > + { MEDIA_PAD_FL_SOURCE, "Source" }, > }; > > unsigned int i; > @@ -251,20 +251,33 @@ static void media_print_topology_text(struct > media_device *media) struct media_link *link = &entity->links[k]; > struct media_pad *source = link->source; > struct media_pad *sink = link->sink; > + int i, flags = link->flags; > + struct { > + int flag; > + char *str; > + } tbl[] = { > + { MEDIA_LNK_FL_ENABLED, "ENABLED" }, > + { MEDIA_LNK_FL_IMMUTABLE, "IMMUTABLE" }, > + { MEDIA_LNK_FL_DYNAMIC, "DYNAMIC" }, > + }; The table should be static const. > > if (source->entity == entity && source->index == j) > - printf("\t\t-> '%s':pad%u [", > + printf("\t\t-> \"%s\":%u [", > sink->entity->info.name, sink->index); > else if (sink->entity == entity && sink->index == j) > - printf("\t\t<- '%s':pad%u [", > + printf("\t\t<- \"%s\":%u [", > source->entity->info.name, source->index); > else > continue; > > - if (link->flags & MEDIA_LNK_FL_IMMUTABLE) > - printf("IMMUTABLE,"); > - if (link->flags & MEDIA_LNK_FL_ENABLED) > - printf("ACTIVE"); > + for (i = 0; i < ARRAY_SIZE(tbl); i++) { > + if (!(flags & tbl[i].flag)) > + continue; > + if (link->flags != flags) > + printf(","); > + printf("%s", tbl[i].str); > + flags &= ~tbl[i].flag; What about using a 'first' variable instead of removing flags one by one ? I had to think for a second as to why the test was "link->flags != flags" for printing the comma. If you're fine with that I'll make the modifications, no need to resubmit. > + } > > printf("]\n"); > } -- Regards, Laurent Pinchart -- 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