Messages in this thread |  | | From | Andy Shevchenko <> | | Date | Mon, 6 Apr 2026 22:29:24 +0300 | | Subject | Re: [PATCH v3 2/2] gpio: swnode: defer probe on references to unregistered software nodes |
| |
On Fri, Apr 3, 2026 at 4:52 PM Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> wrote: > > fwnode_property_get_reference_args() now returns -ENOTCONN when called > on a software node referencing another software node which has not yet > been registered as a firmware node. It makes sense to defer probe in this > situation as the node will most likely be registered later on and we'll > be able to resolve the reference eventually. Change the behavior of > swnode_find_gpio() to return -EPROBE_DEFER if the software node reference > resolution returns -ENOTCONN.
...
> for_each_gpio_property_name(propname, con_id) { > ret = swnode_gpio_get_reference(fwnode, propname, idx, &args); > - if (ret == 0) > + if (ret == 0 || ret == -ENOTCONN) > break;
If I understood the logic correctly this may be just extended as
if (ret == 0) break;
if (ret == -ENOTCONN) /* ... */ return -EPROBE_DEFER;
> } > if (ret) { > + if (ret == -ENOTCONN) > + /* > + * -ENOTCONN for a software node reference lookup means > + * that a remote struct software_node exists but has > + * not yet been registered as a firmware node. Defer > + * until this happens. > + */ > + return ERR_PTR(-EPROBE_DEFER); > + > pr_debug("%s: can't parse '%s' property of node '%pfwP[%d]'\n", > __func__, propname, fwnode, idx); > return ERR_PTR(ret);
-- With Best Regards, Andy Shevchenko
|  |