On Fri, Mar 25, 2022 at 12:31:45PM +0100, Clément Léger wrote: > Add fwnode_find_i2c_adapter_by_node() which allows to retrieve a i2c > adapter using a fwnode. Since dev_fwnode() uses the fwnode provided by > the of_node member of the device, this will also work for devices were > the of_node has been set and not the fwnode field. > For acpi nodes, the check for parent node is skipped since > i2c_acpi_find_adapter_by_handle() does not check it and we don't want > to change this behavior. ... > +#include <linux/device.h> > +#include <linux/i2c.h> Missed headers so far: acpi.h ... > +static int fwnode_dev_or_parent_node_match(struct device *dev, const void *data) > +{ > + if (device_match_fwnode(dev, data)) > + return 1; > + > + /* > + * For ACPI device node, the behavior is to not match the parent (see > + * i2c_acpi_find_adapter_by_handle()) > + */ Would it be harmful to drop this check? > + if (!is_acpi_device_node(dev_fwnode(dev)) && dev->parent) > + return device_match_fwnode(dev->parent, data); > + > + return 0; > +} -- With Best Regards, Andy Shevchenko