Hi Mauro, On Fri, Feb 19, 2016 at 12:03:41PM -0200, Mauro Carvalho Chehab wrote: > Hi Sakari, > > Em Wed, 27 Jan 2016 16:47:55 +0200 > Sakari Ailus <sakari.ailus@xxxxxx> escreveu: > > > Re-create the graph walk object as needed in order to have one large enough > > available for all entities in the graph. > > > > This enumeration is used for pipeline power management in the future. > > > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > --- > > drivers/media/media-device.c | 21 +++++++++++++++++++++ > > include/media/media-device.h | 5 +++++ > > 2 files changed, 26 insertions(+) > > > > diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c > > index 4d1c13d..52d7809 100644 > > --- a/drivers/media/media-device.c > > +++ b/drivers/media/media-device.c > > @@ -577,6 +577,26 @@ int __must_check media_device_register_entity(struct media_device *mdev, > > > > spin_unlock(&mdev->lock); > > > > + mutex_lock(&mdev->graph_mutex); > > + if (mdev->entity_internal_idx_max > > + >= mdev->pm_count_walk.ent_enum.idx_max) { > > + struct media_entity_graph new = { 0 }; > > + > > + /* > > + * Initialise the new graph walk before cleaning up > > + * the old one in order not to spoil the graph walk > > + * object of the media device if graph walk init fails. > > + */ > > + ret = media_entity_graph_walk_init(&new, mdev); > > + if (ret) { > > + mutex_unlock(&mdev->graph_mutex); > > + return ret; > > + } > > + media_entity_graph_walk_cleanup(&mdev->pm_count_walk); > > + mdev->pm_count_walk = new; > > + } > > + mutex_unlock(&mdev->graph_mutex); > > + > > I don't like the idea of creating a new graph init and destroying the > previous one every time. In principle, this needs to be done only > when trying to start the graph - or just before registering the > MC devnode, if the driver needs/wants to optimize it. It's not every time --- with the previous patch, that's every 32 or 64 additional entity, depending on how many bits the unsigned long is. > > As kbuildtest also didn't like this patch, I'm not applying it > for now. For missing KernelDoc documentation for a struct field. Other fields in the struct don't have KernelDoc documentation either, and I didn't feel it'd fit well for this patch. I can add a patch to change the field documentation to the set if you like. -- Kind regards, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx -- 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