Hello Sascha, On 26.09.23 13:38, Sascha Hauer wrote: > 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. I ran into this porting the CAAM driver to work on i.MX8M. I don't know if existing drivers are affected, but it's the correct thing to do. > > 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 |