PCI: Call platform_set_drvdata earlier in devm_pci_alloc_host_bridge
authorDaire McNamara <daire.mcnamara@microchip.com>
Mon, 25 Jan 2021 16:29:31 +0000 (16:29 +0000)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 23 Feb 2021 20:00:11 +0000 (14:00 -0600)
Many drivers can now use pci_host_common_probe() directly.
Their hardware window setup can be moved from their 'custom' probe
functions to individual driver init functions.

Link: https://lore.kernel.org/r/20210125162934.5335-2-daire.mcnamara@microchip.com
Signed-off-by: Daire McNamara <daire.mcnamara@microchip.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rob Herring <robh@kernel.org>
drivers/pci/controller/pci-host-common.c

index 6ce34a1..6ab694f 100644 (file)
@@ -64,6 +64,8 @@ int pci_host_common_probe(struct platform_device *pdev)
        if (!bridge)
                return -ENOMEM;
 
+       platform_set_drvdata(pdev, bridge);
+
        of_pci_check_probe_only();
 
        /* Parse and map our Configuration Space windows */
@@ -78,8 +80,6 @@ int pci_host_common_probe(struct platform_device *pdev)
        bridge->sysdata = cfg;
        bridge->ops = (struct pci_ops *)&ops->pci_ops;
 
-       platform_set_drvdata(pdev, bridge);
-
        return pci_host_probe(bridge);
 }
 EXPORT_SYMBOL_GPL(pci_host_common_probe);