mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 09:14:19 +08:00
efi: Update implementation of add_links() to create fwnode links
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>
This commit is contained in:
parent
8a06d1ea06
commit
e82a840cb1
@ -320,7 +320,6 @@ static int efifb_add_links(struct fwnode_handle *fwnode,
|
|||||||
struct device *dev)
|
struct device *dev)
|
||||||
{
|
{
|
||||||
struct device_node *sup_np;
|
struct device_node *sup_np;
|
||||||
struct device *sup_dev;
|
|
||||||
|
|
||||||
sup_np = find_pci_overlap_node();
|
sup_np = find_pci_overlap_node();
|
||||||
|
|
||||||
@ -331,27 +330,9 @@ static int efifb_add_links(struct fwnode_handle *fwnode,
|
|||||||
if (!sup_np)
|
if (!sup_np)
|
||||||
return 0;
|
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);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user