mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
device property: Check fwnode->secondary when finding properties
fwnode_property_get_reference_args() searches for named properties against a fwnode_handle, but these could instead be against the fwnode's secondary. If the property isn't found against the primary, check the secondary to see if it's there instead. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Daniel Scally <djrscally@gmail.com> Link: https://lore.kernel.org/r/20211128232455.39332-1-djrscally@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e1b5186810
commit
c097af1d0a
1 changed files with 11 additions and 2 deletions
|
@ -478,8 +478,17 @@ int fwnode_property_get_reference_args(const struct fwnode_handle *fwnode,
|
|||
unsigned int nargs, unsigned int index,
|
||||
struct fwnode_reference_args *args)
|
||||
{
|
||||
return fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop,
|
||||
nargs, index, args);
|
||||
int ret;
|
||||
|
||||
ret = fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop,
|
||||
nargs, index, args);
|
||||
|
||||
if (ret < 0 && !IS_ERR_OR_NULL(fwnode) &&
|
||||
!IS_ERR_OR_NULL(fwnode->secondary))
|
||||
ret = fwnode_call_int_op(fwnode->secondary, get_reference_args,
|
||||
prop, nargs_prop, nargs, index, args);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(fwnode_property_get_reference_args);
|
||||
|
||||
|
|
Loading…
Reference in a new issue