On Friday 11 January 2013, Thierry Reding wrote: > Right, it'll need #ifdefs around the arch_{setup,teardown}_msi_irq(). Or > select PCI_MSI unconditionally. Once this is merged I was going to post > a patch that enables PCI_MSI in tegra_defconfig anyway. But it might be > better to keep it optional anyway since the remainder of the code copes > with it properly. > Actually, we need something better than that. You cannot define arch_setup_msi_irq in a tegra specific pci host driver, because that will seriously mess up other platforms in multiplatform configurations by giving a link error when they also define this function, or with a run-time error when they don't support it. I think what we should do here is fix it the right way by adding a pci host specific callback rather than an architecture specific callback in drivers/pci/msi.c. There is already a default version of arch_setup_msi_irqs (with s), and we can probably do the same for arch_setup_msi_irq (without s) to fall back to the arch version for most architectures. Most architectures (at least powerpc, sparc, ia64 and x86) already multiplex the msi handlers internally, but ARM does not because there is only one implementation (iop33x) at the moment. We can add a generix multiplex and then move architectures over to use it. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html