efi: Update implementation of add_links() to create fwnode links
authorSaravana Kannan <saravanak@google.com>
Sat, 21 Nov 2020 02:02:30 +0000 (18:02 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Dec 2020 18:13:03 +0000 (19:13 +0100)
The semantics of add_links() has changed from creating device link
between devices to creating fwnode links between fwnodes. So, update the
implementation of add_links() to match the new semantics.

Signed-off-by: Saravana Kannan <saravanak@google.com>
Link: https://lore.kernel.org/r/20201121020232.908850-16-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/firmware/efi/efi-init.c

index 65bb97c..c0c3d4c 100644 (file)
@@ -320,7 +320,6 @@ static int efifb_add_links(struct fwnode_handle *fwnode,
                           struct device *dev)
 {
        struct device_node *sup_np;
-       struct device *sup_dev;
 
        sup_np = find_pci_overlap_node();
 
@@ -331,27 +330,9 @@ static int efifb_add_links(struct fwnode_handle *fwnode,
        if (!sup_np)
                return 0;
 
-       sup_dev = get_dev_from_fwnode(&sup_np->fwnode);
+       fwnode_link_add(fwnode, of_fwnode_handle(sup_np));
        of_node_put(sup_np);
 
-       /*
-        * Return -ENODEV if the PCI graphics controller device hasn't been
-        * registered yet.  This ensures that efifb isn't allowed to probe
-        * and this function is retried again when new devices are
-        * registered.
-        */
-       if (!sup_dev)
-               return -ENODEV;
-
-       /*
-        * If this fails, retrying this function at a later point won't
-        * change anything. So, don't return an error after this.
-        */
-       if (!device_link_add(dev, sup_dev, fw_devlink_get_flags()))
-               dev_warn(dev, "device_link_add() failed\n");
-
-       put_device(sup_dev);
-
        return 0;
 }