Skip to content

Commit 59b099a

Browse files
Jean-Philippe Bruckermstsirkin
authored andcommitted
PCI: OF: Initialize dev->fwnode appropriately
For PCI devices that have an OF node, set the fwnode as well. This way drivers that rely on fwnode don't need the special case described by commit f94277a ("of/platform: Initialise dev->fwnode appropriately"). Acked-by: Bjorn Helgaas <[email protected]> Signed-off-by: Jean-Philippe Brucker <[email protected]> Signed-off-by: Michael S. Tsirkin <[email protected]>
1 parent fb709b5 commit 59b099a

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

drivers/pci/of.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,15 @@ void pci_set_of_node(struct pci_dev *dev)
2222
return;
2323
dev->dev.of_node = of_pci_find_child_device(dev->bus->dev.of_node,
2424
dev->devfn);
25+
if (dev->dev.of_node)
26+
dev->dev.fwnode = &dev->dev.of_node->fwnode;
2527
}
2628

2729
void pci_release_of_node(struct pci_dev *dev)
2830
{
2931
of_node_put(dev->dev.of_node);
3032
dev->dev.of_node = NULL;
33+
dev->dev.fwnode = NULL;
3134
}
3235

3336
void pci_set_bus_of_node(struct pci_bus *bus)
@@ -41,13 +44,18 @@ void pci_set_bus_of_node(struct pci_bus *bus)
4144
if (node && of_property_read_bool(node, "external-facing"))
4245
bus->self->untrusted = true;
4346
}
47+
4448
bus->dev.of_node = node;
49+
50+
if (bus->dev.of_node)
51+
bus->dev.fwnode = &bus->dev.of_node->fwnode;
4552
}
4653

4754
void pci_release_bus_of_node(struct pci_bus *bus)
4855
{
4956
of_node_put(bus->dev.of_node);
5057
bus->dev.of_node = NULL;
58+
bus->dev.fwnode = NULL;
5159
}
5260

5361
struct device_node * __weak pcibios_get_phb_of_node(struct pci_bus *bus)

0 commit comments

Comments
 (0)