On Thu, Sep 14, 2023 at 09:30:18AM +0200, Ahmad Fatoum wrote: > of_find_device_by_node() may be called by a driver following > of_platform_populate in order to bind the children to drivers. > It's thus wrong to return NULL when a device has been found, but no > driver was registered. That also aligns the function with the > expectation resulting from its name: A device is found and devices may > be bound or not. I hesitated applying this one because I am not sure if some users expect to have a driver bound when of_find_device_by_node() returns a valid pointer. I applied it now, let's see what happens. Sascha > > Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > --- > drivers/of/platform.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/of/platform.c b/drivers/of/platform.c > index bd5f2ad82c6b..1f79a539f541 100644 > --- a/drivers/of/platform.c > +++ b/drivers/of/platform.c > @@ -23,11 +23,9 @@ > struct device *of_find_device_by_node(struct device_node *np) > { > struct device *dev; > - int ret; > > - ret = of_device_ensure_probed(np); > - if (ret) > - return NULL; > + /* Not having a driver is not an error here */ > + (void)of_device_ensure_probed(np); > > if (deep_probe_is_supported()) > return np->dev; > -- > 2.39.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |