diff mbox series

[v2,3/3] of: property: Don't add links to absent suppliers

Message ID 20210202043345.3778765-4-saravanak@google.com
State Superseded
Headers show
Series Make fw_devlink=on more forgiving | expand

Commit Message

Saravana Kannan Feb. 2, 2021, 4:33 a.m. UTC
If driver core marks a firmware node as not a device, don't add fwnode
links where it's a supplier.

Fixes: e590474768f1 ("driver core: Set fw_devlink=on by default")
Signed-off-by: Saravana Kannan <saravanak@google.com>
---
 drivers/of/property.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Saravana Kannan Feb. 4, 2021, 7:17 p.m. UTC | #1
On Mon, Feb 1, 2021 at 8:33 PM Saravana Kannan <saravanak@google.com> wrote:
>
> If driver core marks a firmware node as not a device, don't add fwnode
> links where it's a supplier.
>
> Fixes: e590474768f1 ("driver core: Set fw_devlink=on by default")
> Signed-off-by: Saravana Kannan <saravanak@google.com>
> ---
>  drivers/of/property.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/of/property.c b/drivers/of/property.c
> index 6287c6d60bb7..53d163c8d39b 100644
> --- a/drivers/of/property.c
> +++ b/drivers/of/property.c
> @@ -1103,7 +1103,9 @@ static int of_link_to_phandle(struct device_node *con_np,
>          * created for them.
>          */
>         sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
> -       if (!sup_dev && of_node_check_flag(sup_np, OF_POPULATED)) {
> +       if (!sup_dev &&
> +           (of_node_check_flag(sup_np, OF_POPULATED) ||
> +            sup_np->fwnode.flags & FWNODE_FLAG_NOT_DEVICE)) {
>                 pr_debug("Not linking %pOFP to %pOFP - No struct device\n",
>                          con_np, sup_np);
>                 of_node_put(sup_np);
> --
> 2.30.0.365.g02bc693789-goog
>

Rob, Can I get an Ack or reviewed-by for this? I want to land this
patch and another one on driver-core.

Thanks,
Saravana
diff mbox series

Patch

diff --git a/drivers/of/property.c b/drivers/of/property.c
index 6287c6d60bb7..53d163c8d39b 100644
--- a/drivers/of/property.c
+++ b/drivers/of/property.c
@@ -1103,7 +1103,9 @@  static int of_link_to_phandle(struct device_node *con_np,
 	 * created for them.
 	 */
 	sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
-	if (!sup_dev && of_node_check_flag(sup_np, OF_POPULATED)) {
+	if (!sup_dev &&
+	    (of_node_check_flag(sup_np, OF_POPULATED) ||
+	     sup_np->fwnode.flags & FWNODE_FLAG_NOT_DEVICE)) {
 		pr_debug("Not linking %pOFP to %pOFP - No struct device\n",
 			 con_np, sup_np);
 		of_node_put(sup_np);