Merge branch 'pci/host/rockchip'

- Register IRQ handlers after device and data are ready (Javier Martinez
  Canillas)

* pci/host/rockchip:
  PCI: rockchip: Register IRQ handlers after device and data are ready
This commit is contained in:
Bjorn Helgaas 2021-07-06 10:56:27 -05:00
commit d2918cb784

View File

@ -592,10 +592,6 @@ static int rockchip_pcie_parse_host_dt(struct rockchip_pcie *rockchip)
if (err) if (err)
return err; return err;
err = rockchip_pcie_setup_irq(rockchip);
if (err)
return err;
rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v"); rockchip->vpcie12v = devm_regulator_get_optional(dev, "vpcie12v");
if (IS_ERR(rockchip->vpcie12v)) { if (IS_ERR(rockchip->vpcie12v)) {
if (PTR_ERR(rockchip->vpcie12v) != -ENODEV) if (PTR_ERR(rockchip->vpcie12v) != -ENODEV)
@ -973,8 +969,6 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
if (err) if (err)
goto err_vpcie; goto err_vpcie;
rockchip_pcie_enable_interrupts(rockchip);
err = rockchip_pcie_init_irq_domain(rockchip); err = rockchip_pcie_init_irq_domain(rockchip);
if (err < 0) if (err < 0)
goto err_deinit_port; goto err_deinit_port;
@ -992,6 +986,12 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
bridge->sysdata = rockchip; bridge->sysdata = rockchip;
bridge->ops = &rockchip_pcie_ops; bridge->ops = &rockchip_pcie_ops;
err = rockchip_pcie_setup_irq(rockchip);
if (err)
goto err_remove_irq_domain;
rockchip_pcie_enable_interrupts(rockchip);
err = pci_host_probe(bridge); err = pci_host_probe(bridge);
if (err < 0) if (err < 0)
goto err_remove_irq_domain; goto err_remove_irq_domain;