Re: [PATCH] pci: frv architecture needs generic setup-bus infrastructure

Paul Gortmaker
2012-04-23T21:36:06Z

On 12-04-23 04:38 PM, Bjorn Helgaas wrote:
> On Wed, Apr 18, 2012 at 3:24 PM, Paul Gortmaker
> <paul.gortmaker@windriver.com> wrote:
>> Otherwise we get this link failure for frv's defconfig:
>>
>> LD .tmp_vmlinux1
>> drivers/built-in.o: In function `pci_assign_resource':
>> (.text+0xbf0c): undefined reference to `pci_cardbus_resource_alignment'
>> drivers/built-in.o: In function `pci_setup':
>> pci.c:(.init.text+0x174): undefined reference to `pci_realloc_get_opt'
>> pci.c:(.init.text+0x1a0): undefined reference to `pci_realloc_get_opt'
>> make[1]: *** [.tmp_vmlinux1] Error 1
>>
>> Cc: Bjorn Helgaas <bhelgaas@google.com>
>> Cc: David Howells <dhowells@redhat.com>
>> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
>>
>> diff --git a/drivers/pci/Makefile b/drivers/pci/Makefile
>> index 083a49f..165274c 100644
>> --- a/drivers/pci/Makefile
>> +++ b/drivers/pci/Makefile
>> @@ -42,6 +42,7 @@ obj-$(CONFIG_UNICORE32) += setup-bus.o setup-irq.o
>> obj-$(CONFIG_PARISC) += setup-bus.o
>> obj-$(CONFIG_SUPERH) += setup-bus.o setup-irq.o
>> obj-$(CONFIG_PPC) += setup-bus.o
>> +obj-$(CONFIG_FRV) += setup-bus.o
>> obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
>> obj-$(CONFIG_X86_VISWS) += setup-irq.o
>> obj-$(CONFIG_MN10300) += setup-bus.o
>
> Wow, I didn't even realize that we had this sort of arch-specific
> selection of generic PCI parts. drivers/pci/setup-irq.c is on my list
> for reworking because it looks like it doesn't work correctly for
> hotplug. setup-bus.c is much more complicated, but (a) it looks like
> most architectures include it anyway, and (b) it seems like it'd be
> cleaner to have a CONFIG_PCI_REALLOC or something to avoid having
> arch-specific stuff in the Makefile.
>
> Anyway, that's all for the future. Does this fix need to go in 3.4,
> or should it go in -next? What commit introduced the problem?

It does address a compile fail seen in 3.4 (sorry for not calling
that out explicitly). I've not dug back in time to see when it
1st appeared. With a lot of these less common arch, it seems they
can get broken and remain broken for quite some time, so the original
breakage may predate the 3.4 merge window.

I've already got a queue with fixes for 3.4 in various other
less common arch; it is no trouble for me to carry this there,
if you are OK with it as a 3.4 fix.

Thanks,
Paul.
--

>
> Bjorn