On Wed, Jul 02, 2025 at 12:20:55PM +0200, Rafael J. Wysocki wrote: > On Wed, Jul 2, 2025 at 7:16 AM Anup Patel <apatel@xxxxxxxxxxxxxxxx> wrote: ... > > static int acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode, > > const char *propname, const char *nargs_prop, > > unsigned int args_count, unsigned int index, > > const struct acpi_device_data *data; > > struct fwnode_handle *ref_fwnode; > > struct acpi_device *device; > > + unsigned int nargs_count; > > int ret, idx = 0; > > + nargs_count = acpi_fwnode_get_args_count(device, nargs_prop); > > I think it should work the same way as it used to for the callers that > pass args_count, so maybe > > if (!args_count) > args_count = acpi_fwnode_get_args_count(device, nargs_prop); But this is different variable. > > element++; > > - > > ret = acpi_get_ref_args(idx == index ? args : NULL, > > acpi_fwnode_handle(device), > > - &element, end, args_count); > > + &element, end, > > + nargs_count ? nargs_count : args_count); > > And this change would not be necessary? This is not the same check as proposed above. But this can be made shorter with Elvis in use: &element, end, nargs_count ?: args_count); > And analogously below. And below. And in case if there is a new proposal to have if (!nargs_count) args_count = acpi_fwnode_get_args_count(device, nargs_prop); that is exactly what I asked to drop as it's included in the acpi_fwnode_get_args_count() already, i.e. no need to check this in the caller and in the callee. > > if (ret < 0) > > return ret; ... > > if (!ref_fwnode) > > return -EINVAL; > > > > + device = to_acpi_device_node(ref_fwnode); > > + nargs_count = acpi_fwnode_get_args_count(device, nargs_prop); > > element++; > > - > > ret = acpi_get_ref_args(idx == index ? args : NULL, > > ref_fwnode, &element, end, > > - args_count); > > + nargs_count ? nargs_count : args_count); > > if (ret < 0) > > return ret; -- With Best Regards, Andy Shevchenko