diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2016-06-06 16:35:39 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2016-06-21 11:13:30 -0400 |
commit | 6df68f22df726ffdda3199602ace4d03ec012372 (patch) | |
tree | 669051f7ff00c15856842f3da74b3a7d41e48680 | |
parent | 5aa182a26ca6b2427473d9c61e369c860fca628c (diff) |
PCI: mvebu: Request host bridge window resources with core function
Use devm_request_pci_bus_resources() to request host bridge window
resources instead of doing it by hand in the driver.
No functional change intended.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-rw-r--r-- | drivers/pci/host/pci-mvebu.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c index 6b451df6502c..2287a4e18add 100644 --- a/drivers/pci/host/pci-mvebu.c +++ b/drivers/pci/host/pci-mvebu.c | |||
@@ -839,25 +839,22 @@ static struct pci_ops mvebu_pcie_ops = { | |||
839 | static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys) | 839 | static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys) |
840 | { | 840 | { |
841 | struct mvebu_pcie *pcie = sys_to_pcie(sys); | 841 | struct mvebu_pcie *pcie = sys_to_pcie(sys); |
842 | int i; | 842 | int err, i; |
843 | 843 | ||
844 | pcie->mem.name = "PCI MEM"; | 844 | pcie->mem.name = "PCI MEM"; |
845 | pcie->realio.name = "PCI I/O"; | 845 | pcie->realio.name = "PCI I/O"; |
846 | 846 | ||
847 | if (request_resource(&iomem_resource, &pcie->mem)) | 847 | if (resource_size(&pcie->realio) != 0) |
848 | return 0; | ||
849 | |||
850 | if (resource_size(&pcie->realio) != 0) { | ||
851 | if (request_resource(&ioport_resource, &pcie->realio)) { | ||
852 | release_resource(&pcie->mem); | ||
853 | return 0; | ||
854 | } | ||
855 | pci_add_resource_offset(&sys->resources, &pcie->realio, | 848 | pci_add_resource_offset(&sys->resources, &pcie->realio, |
856 | sys->io_offset); | 849 | sys->io_offset); |
857 | } | 850 | |
858 | pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); | 851 | pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); |
859 | pci_add_resource(&sys->resources, &pcie->busn); | 852 | pci_add_resource(&sys->resources, &pcie->busn); |
860 | 853 | ||
854 | err = devm_request_pci_bus_resources(&pcie->pdev->dev, &sys->resources); | ||
855 | if (err) | ||
856 | return 0; | ||
857 | |||
861 | for (i = 0; i < pcie->nports; i++) { | 858 | for (i = 0; i < pcie->nports; i++) { |
862 | struct mvebu_pcie_port *port = &pcie->ports[i]; | 859 | struct mvebu_pcie_port *port = &pcie->ports[i]; |
863 | 860 | ||