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