Re: [PATCH] sparc: fix MSI build failure on Sparc32

From: David Miller
Date: Wed Oct 02 2013 - 20:12:54 EST


From: Guenter Roeck <linux@xxxxxxxxxxxx>
Date: Wed, 11 Sep 2013 06:40:12 -0700

> On 09/11/2013 03:32 AM, Thomas Petazzoni wrote:
>> Commit ebd97be635 ('PCI: remove ARCH_SUPPORTS_MSI kconfig option')
>> removes the ARCH_SUPPORTS_MSI Kconfig option that allowed
>> architectures to indicate whether they support PCI MSI or not. Now,
>> PCI MSI support can be compiled in on any architecture thanks to the
>> use of weak functions thanks to 4287d824f265 ('PCI: use weak functions
>> for MSI arch-specific functions').
>>
>> So, architecture specific code is now responsible to ensure that its
>> PCI MSI code builds in all cases, or be appropriately conditionally
>> compiled.
>>
>> On Sparc, the MSI support is only provided for Sparc64, so the
>> ARCH_SUPPORTS_MSI kconfig option was only selected for SPARC64, and
>> not for the Sparc architecture as a whole. Therefore, removing
>> ARCH_SUPPORTS_MSI broke Sparc32 configurations with CONFIG_PCI_MSI=y,
>> because the Sparc-specific MSI code is not designed to be built on
>> Sparc32.
>>
>> To solve this, this commit ensures that the Sparc MSI code is only
>> built on Sparc64. This is done thanks to a new Kconfig Makefile helper
>> option SPARC64_PCI_MSI, modeled after the existing SPARC64_PCI. The
>> SPARC64_PCI_MSI option is an hidden option that is true when both
>> Sparc64 PCI support is enabled and MSI is enabled. The
>> arch/sparc/kernel/pci_msi.c file is now only built when
>> SPARC64_PCI_MSI is true.
>>
>> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx>
>> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
>
> Yes, that fixes the build error.
>
> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>

Applied, sorry for taking so long.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/