linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Myron Stowe <mstowe@redhat.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Myron Stowe <myron.stowe@redhat.com>,
	linux-pci@vger.kernel.org, linux@arm.linux.org.uk,
	ralf@linux-mips.org, tglx@linutronix.de, mingo@redhat.com,
	hpa@zytor.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/9] arm/PCI: move final fixup quirks from __init to __devinit
Date: Thu, 28 Jun 2012 14:25:20 -0600	[thread overview]
Message-ID: <1340915120.2411.27.camel@zim.stowe> (raw)
In-Reply-To: <CAErSpo5yNxjjBVaTXjAKCY4SfRWj7uXK2cS3BtkugmoF4fYn6g@mail.gmail.com>

On Tue, 2012-06-26 at 16:33 -0600, Bjorn Helgaas wrote:
> On Thu, Jun 21, 2012 at 2:24 PM, Myron Stowe <myron.stowe@redhat.com> wrote:
> > The PCI subsystem's final fixups are executed once during boot, after the
> > pci-device is found.  As long as the system does not support hot-plug,
> > specifying __init is fine.
> >
> > With hot-plug, either physically based hot-plug events or pseudo hot-plug
> > events such as "echo 1 > /sys/bus/pci/rescan", it is possible to remove a
> > PCI bus during run time and have it rediscovered which will require the
> > call of the fixups again in order for the device to function properly.
> >
> > This patch prepares specific quirk(s) for use with hot-plug events.
> >
> > Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
> > ---
> >
> >  arch/arm/mach-iop32x/n2100.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-iop32x/n2100.c b/arch/arm/mach-iop32x/n2100.c
> > index 5a7ae91..04c4110 100644
> > --- a/arch/arm/mach-iop32x/n2100.c
> > +++ b/arch/arm/mach-iop32x/n2100.c
> > @@ -126,7 +126,7 @@ static struct hw_pci n2100_pci __initdata = {
> >  * the ->broken_parity_status flag for both ports so that the r8169
> >  * driver knows it should ignore error interrupts.
> >  */
> > -static void n2100_fixup_r8169(struct pci_dev *dev)
> > +static void __devinit n2100_fixup_r8169(struct pci_dev *dev)
> 
> These actually move functions from normal text to __devinit, not from
> __init to __devinit.

Yes (as I hang my head sheepishly).  What got me started down this path
was seeing the recent series by Sabastian Andrzej
( http://marc.info/?l=linux-pci&m=133875179103880&w=2 ).
> 
> That should be safe for most quirks (although enable, suspend, resume,
> and resume_early quirks can be called after we free initmem, even if
> we have CONFIG_HOTPLUG=n), but given the discussion about whether we
> should even bother with __devinit any more, I think I'll hold off on
> these for now.  If we were to get rid of __devinit, these would all
> have to revert to being normal text.

Agreed, and I've only recently (after posting this series) became aware
of James Bottomley's thoughts about __devinit so lets skip these changes
within the series.  I don't want to start a lot of unnecessary churn if
we end up just dropping __devinit altogether.

It's the last patch in the series that is of the most interest - trying
to solve PCI's "final" quirks with respect to hot-plug events and the
asymmetry I ended up discovering while working that issue.  Wish we
would have received some feedback from others about that.

Thanks,
 Myron

Thanks,
 Myron
> 
> >  {
> >        if (dev->bus->number == 0 &&
> >            (dev->devfn == PCI_DEVFN(1, 0) ||
> >



  reply	other threads:[~2012-06-28 20:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-21 20:24 [PATCH 0/9] PCI: Add 'pci_fixup_final' quirks into hot-plug paths Myron Stowe
2012-06-21 20:24 ` [PATCH 1/9] PCI: Remove redundant debug output in pci_do_fixups Myron Stowe
2012-06-26 22:26   ` Bjorn Helgaas
2012-06-28 20:25     ` Myron Stowe
2012-06-21 20:24 ` [PATCH 2/9] PCI: release temporary reference in __nv_msi_ht_cap_quirk() Myron Stowe
2012-06-21 20:24 ` [PATCH 3/9] arm/PCI: move final fixup quirks from __init to __devinit Myron Stowe
2012-06-26 22:33   ` Bjorn Helgaas
2012-06-28 20:25     ` Myron Stowe [this message]
2012-06-21 20:24 ` [PATCH 4/9] MIPS/PCI: " Myron Stowe
2012-06-21 20:24 ` [PATCH 5/9] parisc/PCI: " Myron Stowe
2012-06-21 20:24 ` [PATCH 6/9] powerpc/PCI: " Myron Stowe
2012-06-21 20:24 ` [PATCH 7/9] x86/PCI: " Myron Stowe
2012-06-21 20:25 ` [PATCH 8/9] PCI: " Myron Stowe
2012-06-21 20:25 ` [PATCH 9/9] PCI: integrate 'pci_fixup_final' quirks into hot-plug paths Myron Stowe

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=1340915120.2411.27.camel@zim.stowe \
    --to=mstowe@redhat.com \
    --cc=bhelgaas@google.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mingo@redhat.com \
    --cc=myron.stowe@redhat.com \
    --cc=ralf@linux-mips.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).