All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: David Daney <ddaney.cavm@gmail.com>,
	Ralf Baechle <ralf@linux-mips.org>,
	linux-pci@vger.kernel.org, linux-mips <linux-mips@linux-mips.org>
Subject: Re: PCI Section mismatch error in linux-next.
Date: Fri, 17 Aug 2012 22:07:55 +0200	[thread overview]
Message-ID: <20120817200755.GA16021@avionic-0098.adnet.avionic-design.de> (raw)
In-Reply-To: <CAErSpo6xhbpmd-rnLqKp9SuRQCp5a7jUzKhz0n6zGGLNHybWqA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2370 bytes --]

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@avionic-design.de> 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@gmail.com> 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 #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2012-08-17 20:08 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-17 17:36 PCI Section mismatch error in linux-next David Daney
2012-08-17 17:44 ` Bjorn Helgaas
2012-08-17 18:29   ` Thierry Reding
2012-08-17 19:32     ` Bjorn Helgaas
2012-08-17 20:07       ` Thierry Reding [this message]
2012-08-17 20:39         ` Bjorn Helgaas
2012-08-17 20:48           ` Thierry Reding
2012-08-17 21:06             ` Bjorn Helgaas
2012-08-17 21:22               ` Thierry Reding
2012-08-17 21:07             ` Thierry Reding
2012-08-17 21:25               ` Bjorn Helgaas
2012-08-17 21:32                 ` Thierry Reding
2012-08-17 21:46                   ` Bjorn Helgaas
2012-08-17 21:46                     ` Bjorn Helgaas
2012-08-20  5:30                   ` Greg KH
2012-08-20  7:16                     ` Thierry Reding
2012-08-21 14:32                     ` Geert Uytterhoeven
2012-08-21 17:04                       ` Ralf Baechle
2012-08-21 18:15                         ` Geert Uytterhoeven

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120817200755.GA16021@avionic-0098.adnet.avionic-design.de \
    --to=thierry.reding@avionic-design.de \
    --cc=bhelgaas@google.com \
    --cc=ddaney.cavm@gmail.com \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=ralf@linux-mips.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.