Re: [PATCH] pci: tegra: add MSI dependency

From: Arnd Bergmann
Date: Wed Mar 14 2018 - 08:06:19 EST


On Wed, Mar 14, 2018 at 12:45 PM, Thierry Reding
<thierry.reding@xxxxxxxxx> wrote:
> On Tue, Mar 13, 2018 at 12:52:05PM +0100, Arnd Bergmann wrote:
>> Building the tegra PCIe host driver without MSI results in a link
>> failure:
>>
>> drivers/pci/host/pci-tegra.o:(.data+0x70): undefined reference to `pci_msi_unmask_irq'
>> drivers/pci/host/pci-tegra.o:(.data+0x74): undefined reference to `pci_msi_mask_irq'
>>
>> This adds the same dependency that everyone else uses.
>>
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> drivers/pci/host/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>
> I'm slightly concerned about the dependency. Not that I doubt its
> correctness, but because it could mean that PCI_TEGRA is not visible in
> the default configuration. The only reason why it is currently visible
> is because PCI_MSI is selected by some symbols that also happen to be
> enabled. However, what if at some point those symbols are disabled or
> removed?
>
> Some architectures make sure that PCI_MSI is enabled by selecting it,
> but that's risky, isn't it, because PCI_MSI is user-visible and could
> therefore easily lead to conflicts.
>
> Enabling PCI_MSI in the arm64 defconfig would solve the issue and is
> good enough for me. I've got a couple of changes to that defconfig in
> the Tegra tree for v4.17-rc1, I can add a patch to enable PCI_MSI.
>
> Unless there are any objections.

I looked at it again and found that this on ARM64, PCI_MSI is always
selected indirectly by ARM_GIC&&PCI, so there is no problem.

The build failure must have been on 32-bit ARM.

Arnd