lkml.org 
[lkml]   [2026]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [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

\
 
 \ /
  Last update: 2026-04-06 21:30    [W:0.071 / U:1.338 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog