Re: [PATCH v1] device property: Add helpers to count items in an array

From: Andy Shevchenko
Date: Mon May 20 2019 - 09:51:31 EST


On Mon, May 20, 2019 at 04:37:58PM +0300, Heikki Krogerus wrote:
> On Mon, May 20, 2019 at 03:38:48PM +0300, Andy Shevchenko wrote:
> > The usual pattern to allocate the necessary space for an array of properties is
> > to count them fist using:
> >
> > count = device_property_read_uXX_array(dev, propname, NULL, 0);
> >
> > Introduce helpers device_property_count_uXX() to count items by supplying hard
> > coded last two parameters to device_property_readXX_array().
> >
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>
> OK by me. FWIW:
>
> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

Thanks!

> Off topic question: Shouldn't we also be able to read the number of
> references a reference property holds? I mean, shouldn't
> fwnode_property_get_referece_args() also return the number of
> references in the property if called without the value parameter?
>
> There can be "empty" references in the middle of the "array" of
> references which cause the function to return -ENOENT just like when
> called with index out of bounds, so the caller now has in practice
> know how many references the property actually has in advance.

The idea is good, though I'm not so familiar with reference sub-API, don't know
what would be the best approach to cover all: ACPI, DT, swnode.

--
With Best Regards,
Andy Shevchenko