Skip to content

Commit 319e604

Browse files
paliLorenzo Pieralisi
authored andcommitted
PCI: mvebu: Disallow mapping interrupts on emulated bridges
Interrupt support on mvebu emulated bridges is not implemented yet. So properly indicate return value to callers that they cannot request interrupts from emulated bridge. Link: https://lore.kernel.org/r/20211125124605.25915-6-pali@kernel.org Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
1 parent 11c2bf4 commit 319e604

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

drivers/pci/controller/pci-mvebu.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,15 @@ static struct pci_ops mvebu_pcie_ops = {
686686
.write = mvebu_pcie_wr_conf,
687687
};
688688

689+
static int mvebu_pcie_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
690+
{
691+
/* Interrupt support on mvebu emulated bridges is not implemented yet */
692+
if (dev->bus->number == 0)
693+
return 0; /* Proper return code 0 == NO_IRQ */
694+
695+
return of_irq_parse_and_map_pci(dev, slot, pin);
696+
}
697+
689698
static resource_size_t mvebu_pcie_align_resource(struct pci_dev *dev,
690699
const struct resource *res,
691700
resource_size_t start,
@@ -1102,6 +1111,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
11021111
bridge->sysdata = pcie;
11031112
bridge->ops = &mvebu_pcie_ops;
11041113
bridge->align_resource = mvebu_pcie_align_resource;
1114+
bridge->map_irq = mvebu_pcie_map_irq;
11051115

11061116
return pci_host_probe(bridge);
11071117
}

0 commit comments

Comments
 (0)