of: property: Disable fw_devlink DT support for X86
authorSaravana Kannan <saravanak@google.com>
Fri, 10 Sep 2021 01:14:45 +0000 (18:14 -0700)
committerRob Herring <robh@kernel.org>
Fri, 10 Sep 2021 16:21:49 +0000 (11:21 -0500)
Andre reported fw_devlink=on breaking OLPC XO-1.5 [1].

OLPC XO-1.5 is an X86 system that uses a mix of ACPI and OF to populate
devices. The root cause seems to be ISA devices not setting their fwnode
field. But trying to figure out how to fix that doesn't seem worth the
trouble because the OLPC devicetree is very sparse/limited and fw_devlink
only adds the links causing this issue. Considering that there aren't many
users of OF in an X86 system, simply fw_devlink DT support for X86.

[1] - https://lore.kernel.org/lkml/3c1f2473-92ad-bfc4-258e-a5a08ad73dd0@web.de/

Fixes: ea718c699055 ("Revert "Revert "driver core: Set fw_devlink=on by default""")
Signed-off-by: Saravana Kannan <saravanak@google.com>
Cc: Andre Muller <andre.muller@web.de>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tested-by: Andre Müller <andre.muller@web.de>
Link: https://lore.kernel.org/r/20210910011446.3208894-1-saravanak@google.com
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/property.c

index 0c0dc2e..3fd74bb 100644 (file)
@@ -1444,6 +1444,9 @@ static int of_fwnode_add_links(struct fwnode_handle *fwnode)
        struct property *p;
        struct device_node *con_np = to_of_node(fwnode);
 
        struct property *p;
        struct device_node *con_np = to_of_node(fwnode);
 
+       if (IS_ENABLED(CONFIG_X86))
+               return 0;
+
        if (!con_np)
                return -EINVAL;
 
        if (!con_np)
                return -EINVAL;