PCI: Also call .add_bus() callback for root bus
authorRob Herring <robh@kernel.org>
Fri, 21 Aug 2020 03:53:54 +0000 (21:53 -0600)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tue, 8 Sep 2020 15:37:02 +0000 (16:37 +0100)
Similar to pcibios_add_bus(), call pci_ops.add_bus() when the root bus
is added. This allows host bridge drivers to do any setup requiring a
bus pointer.

There are currently no .add_bus() callbacks, so this is safe to do.

Link: https://lore.kernel.org/r/20200821035420.380495-15-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/probe.c

index 0c9ebc7..d8bf3fe 100644 (file)
@@ -941,6 +941,12 @@ static int pci_register_host_bridge(struct pci_host_bridge *bridge)
 
        pcibios_add_bus(bus);
 
+       if (bus->ops->add_bus) {
+               err = bus->ops->add_bus(bus);
+               if (WARN_ON(err < 0))
+                       dev_err(&bus->dev, "failed to add bus: %d\n", err);
+       }
+
        /* Create legacy_io and legacy_mem files for this bus */
        pci_create_legacy_files(bus);