Messages in this thread | | | Date | Fri, 25 Mar 2022 16:30:45 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v3 3/9] device property: add index argument to property_read_string_array() callback |
| |
On Fri, Mar 25, 2022 at 12:31:42PM +0100, Clément Léger wrote: > This will allow to read a string array from a specified offset. Support > for this new parameter has been added in both of through the use of > of_property_read_string_array_index() and in swnode though the existing > property_entry_read_string_array() function. ACPI support has not yet > been added and only index == 0 is accepted.
...
> static int > acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode, > const char *propname, const char **val, > - size_t nval) > + size_t nval, int index) > { > + if (index != 0) > + return -EINVAL; > + > return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING, > val, nval);
I guess it would be nice if some of us (ACPI folks) can provide a proper prerequisite patch.
...
> - array_len = min_t(size_t, nval, array_len); > length = array_len * sizeof(*strings);
> -
Stray change.
> pointer = property_entry_find(props, propname, length); > if (IS_ERR(pointer)) > return PTR_ERR(pointer);
> + if (index >= array_len) > + return -ENODATA;
I was about to ask if we can check this before the property_entry_find() call, but realized that in such case it will shadow possible errors due to wrong or absent property.
...
> - of_property_read_string_array(node, propname, val, nval) : > + of_property_read_string_array_index(node, propname, val, nval, > + index) :
Dunno about the style there, but I think it can be one line.
-- With Best Regards, Andy Shevchenko
| |