On Fri, Aug 17, 2012 at 01:32:45PM -0600, Bjorn Helgaas wrote: > On Fri, Aug 17, 2012 at 12:29 PM, Thierry Reding > <thierry.reding@xxxxxxxxxxxxxxxxx> wrote: > > On Fri, Aug 17, 2012 at 11:44:31AM -0600, Bjorn Helgaas wrote: > >> On Fri, Aug 17, 2012 at 11:36 AM, David Daney <ddaney.cavm@xxxxxxxxx> wrote: > >> > For MIPS, Thierry Reding's patch in linux-next (PCI: Keep pci_fixup_irqs() > >> > around after init) causes: > >> > > >> > WARNING: vmlinux.o(.text+0x22c784): Section mismatch in reference from the > >> > function pci_fixup_irqs() to the function .init.text:pcibios_update_irq() > >> > > >> > The MIPS implementation of pcibios_update_irq() is __init, so there is > >> > conflict with the removal of __init from pci_fixup_irqs() and > >> > pdev_fixup_irq(). > >> > > >> > Can you guys either remove the patch from linux-next, or improve it to also > >> > fix up any architecture implementations of pdev_update_irq()? > >> > >> Crap, there are lots of arches with this issue. I'll fix it up. > >> Thanks for pointing it out! > > > > Oh wow... looks like I've opened a can of worms there. This requires > > quite a lot of other functions to have their annotations removed as > > well. Bjorn, how do you want to handle this? > > David said "pdev_update_irq()," but I think he meant "pcibios_update_irq()." > > Almost all the pcibios_update_irq() implementations are identical, so > I think I'll just supply a weak implementation and remove the > redundant arch versions. That makes sense. However I've just tested a build with section mismatch debugging enabled on ARM and there are a few more that need __init or __devinit removed to get rid of the warnings: pci_common_init() pcibios_init_hw() pcibios_init_resources() pcibios_swizzle() pcibios_update_irq() pci_scan_root_bus() also needs __devinit removed. I haven't checked the other architectures because I'll have to build cross-compilers for them first, but I suspect most of them will have a similar list. I'm not sure how well this kind of change is going to go down with the respective architecture maintainers, though. > This is just about the only thing in my "next" branch, so I'll clear > it out for now, until we get this resolved. Agreed. Do you want me to take a look at this or would you rather tackle it yourself? Thierry
Attachment:
pgp0xAdsc2ljk.pgp
Description: PGP signature