Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+7 -10
+7 -10
drivers/pci/host/pci-mvebu.c
··· 839 839 static int mvebu_pcie_setup(int nr, struct pci_sys_data *sys) 840 840 { 841 841 struct mvebu_pcie *pcie = sys_to_pcie(sys); 842 - int i; 842 + int err, i; 843 843 844 844 pcie->mem.name = "PCI MEM"; 845 845 pcie->realio.name = "PCI I/O"; 846 846 847 - if (request_resource(&iomem_resource, &pcie->mem)) 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 - } 847 + if (resource_size(&pcie->realio) != 0) 855 848 pci_add_resource_offset(&sys->resources, &pcie->realio, 856 849 sys->io_offset); 857 - } 850 + 858 851 pci_add_resource_offset(&sys->resources, &pcie->mem, sys->mem_offset); 859 852 pci_add_resource(&sys->resources, &pcie->busn); 853 + 854 + err = devm_request_pci_bus_resources(&pcie->pdev->dev, &sys->resources); 855 + if (err) 856 + return 0; 860 857 861 858 for (i = 0; i < pcie->nports; i++) { 862 859 struct mvebu_pcie_port *port = &pcie->ports[i];