All of lore.kernel.org
 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 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.