]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
PCI: mvebu: Remove useless MSI enabling code
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 28 Feb 2017 14:31:15 +0000 (15:31 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 14 Mar 2017 20:09:32 +0000 (15:09 -0500)
Since commit fcc392d501bd2 ("irqchip/armada-370-xp: Use the generic MSI
infrastructure"), the irqchip driver used on Armada 370, XP, 375, 38x, 39x
for the MPIC interrupt controller has been converted to use the generic MSI
infrastructure.

Since this commit, it is no longer registering an msi_controller structure
with the of_pci_msi_chip_add() function. Therefore, having the PCI driver
used on the same platform calling of_pci_find_msi_chip_by_node() is pretty
useless.

The MSI resolution is now done in the generic interrupt resolution code,
since the MSI controller is an irq domain attached to the interrupt
controller node, which is pointed to by the msi-parent DT property in the
PCIe controller node.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/pci/host/pci-mvebu.c

index cd7d51988738e288e8269f0c016ec0d31aa99c13..4e4e591d19ded753346eadf6db9fbaa7992636a1 100644 (file)
@@ -1005,22 +1005,6 @@ static int mvebu_get_tgt_attr(struct device_node *np, int devfn,
        return -ENOENT;
 }
 
-static void mvebu_pcie_msi_enable(struct mvebu_pcie *pcie)
-{
-       struct device_node *msi_node;
-
-       msi_node = of_parse_phandle(pcie->pdev->dev.of_node,
-                                   "msi-parent", 0);
-       if (!msi_node)
-               return;
-
-       pcie->msi = of_pci_find_msi_chip_by_node(msi_node);
-       of_node_put(msi_node);
-
-       if (pcie->msi)
-               pcie->msi->dev = &pcie->pdev->dev;
-}
-
 #ifdef CONFIG_PM_SLEEP
 static int mvebu_pcie_suspend(struct device *dev)
 {
@@ -1298,7 +1282,6 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
        for (i = 0; i < (IO_SPACE_LIMIT - SZ_64K); i += SZ_64K)
                pci_ioremap_io(i, pcie->io.start + i);
 
-       mvebu_pcie_msi_enable(pcie);
        mvebu_pcie_enable(pcie);
 
        platform_set_drvdata(pdev, pcie);