diff options
Diffstat (limited to 'drivers/pci/controller/pcie-altera.c')
| -rw-r--r-- | drivers/pci/controller/pcie-altera.c | 41 | 
1 files changed, 5 insertions, 36 deletions
| diff --git a/drivers/pci/controller/pcie-altera.c b/drivers/pci/controller/pcie-altera.c index 24cb1c331058..523bd928b380 100644 --- a/drivers/pci/controller/pcie-altera.c +++ b/drivers/pci/controller/pcie-altera.c @@ -694,29 +694,23 @@ static void altera_pcie_irq_teardown(struct altera_pcie *pcie)  static int altera_pcie_parse_dt(struct altera_pcie *pcie)  { -	struct device *dev = &pcie->pdev->dev;  	struct platform_device *pdev = pcie->pdev; -	struct resource *cra; -	struct resource *hip; -	cra = platform_get_resource_byname(pdev, IORESOURCE_MEM, "Cra"); -	pcie->cra_base = devm_ioremap_resource(dev, cra); +	pcie->cra_base = devm_platform_ioremap_resource_byname(pdev, "Cra");  	if (IS_ERR(pcie->cra_base))  		return PTR_ERR(pcie->cra_base);  	if (pcie->pcie_data->version == ALTERA_PCIE_V2) { -		hip = platform_get_resource_byname(pdev, IORESOURCE_MEM, "Hip"); -		pcie->hip_base = devm_ioremap_resource(&pdev->dev, hip); +		pcie->hip_base = +			devm_platform_ioremap_resource_byname(pdev, "Hip");  		if (IS_ERR(pcie->hip_base))  			return PTR_ERR(pcie->hip_base);  	}  	/* setup IRQ */  	pcie->irq = platform_get_irq(pdev, 0); -	if (pcie->irq < 0) { -		dev_err(dev, "failed to get IRQ: %d\n", pcie->irq); +	if (pcie->irq < 0)  		return pcie->irq; -	}  	irq_set_chained_handler_and_data(pcie->irq, altera_pcie_isr, pcie);  	return 0; @@ -773,8 +767,6 @@ static int altera_pcie_probe(struct platform_device *pdev)  {  	struct device *dev = &pdev->dev;  	struct altera_pcie *pcie; -	struct pci_bus *bus; -	struct pci_bus *child;  	struct pci_host_bridge *bridge;  	int ret;  	const struct of_device_id *match; @@ -799,13 +791,6 @@ static int altera_pcie_probe(struct platform_device *pdev)  		return ret;  	} -	ret = pci_parse_request_of_pci_ranges(dev, &bridge->windows, -					      &bridge->dma_ranges, NULL); -	if (ret) { -		dev_err(dev, "Failed add resources\n"); -		return ret; -	} -  	ret = altera_pcie_init_irq_domain(pcie);  	if (ret) {  		dev_err(dev, "Failed creating IRQ Domain\n"); @@ -818,27 +803,11 @@ static int altera_pcie_probe(struct platform_device *pdev)  	cra_writel(pcie, P2A_INT_ENA_ALL, P2A_INT_ENABLE);  	altera_pcie_host_init(pcie); -	bridge->dev.parent = dev;  	bridge->sysdata = pcie;  	bridge->busnr = pcie->root_bus_nr;  	bridge->ops = &altera_pcie_ops; -	bridge->map_irq = of_irq_parse_and_map_pci; -	bridge->swizzle_irq = pci_common_swizzle; -	ret = pci_scan_root_bus_bridge(bridge); -	if (ret < 0) -		return ret; - -	bus = bridge->bus; - -	pci_assign_unassigned_bus_resources(bus); - -	/* Configure PCI Express setting. */ -	list_for_each_entry(child, &bus->children, node) -		pcie_bus_configure_settings(child); - -	pci_bus_add_devices(bus); -	return ret; +	return pci_host_probe(bridge);  }  static int altera_pcie_remove(struct platform_device *pdev) |