Re: [PATCH v4 04/11] device property: Add functions for accessing node's parents

From: Andy Shevchenko
Date: Mon Sep 02 2019 - 08:46:22 EST


On Mon, Sep 02, 2019 at 03:34:31PM +0300, Sakari Ailus wrote:
> Hi Andy,
>
> On Mon, Sep 02, 2019 at 01:14:26PM +0300, Andy Shevchenko wrote:
> > On Mon, Sep 02, 2019 at 11:32:33AM +0300, Sakari Ailus wrote:
> > > Add two convenience functions for accessing node's parents:
> > >
> > > fwnode_count_parents() returns the number of parent nodes a given node
> > > has. fwnode_get_nth_parent() returns node's parent at a given distance
> > > from the node itself.
> > >
> >
> > Much better now, thanks!
> >
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> >
> > though one question below.

> > > +/**
> > > + * fwnode_get_nth_parent - Return an nth parent of a node
> > > + * @fwnode: The node the parent of which is requested
> > > + * @depth: Distance of the parent from the node
> > > + *
> > > + * Returns the nth parent of a node. If @depth is 0, the functionality is
> > > + * equivalent to fwnode_handle_get(). For @depth == 1, it is fwnode_get_parent()
> > > + * and so on.
> > > + *
> > > + * The caller is responsible for calling fwnode_handle_put() for the returned
> > > + * node.
> > > + */
> > > +struct fwnode_handle *fwnode_get_nth_parent(struct fwnode_handle *fwnode,
> > > + unsigned int depth)
> > > +{
> > > + unsigned int i;
> > > +
> > > + fwnode_handle_get(fwnode);
> > > +
> > > + for (i = 0; i < depth && fwnode; i++)
> > > + fwnode = fwnode_get_next_parent(fwnode);
> > > +
> >
> > If 'fnode == NULL' and 'i < depth', shan't we return some kind of error?
>
> How about adding to the comment, after the first sentence of the
> description:
>
> If there is no parent at the requested depth, NULL is returned.

Works for me!

--
With Best Regards,
Andy Shevchenko