From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw0-f46.google.com ([209.85.213.46]:55743 "EHLO mail-yw0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754085Ab2HORGt (ORCPT ); Wed, 15 Aug 2012 13:06:49 -0400 Received: by yhmm54 with SMTP id m54so2004355yhm.19 for ; Wed, 15 Aug 2012 10:06:48 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1343332512-28762-2-git-send-email-thierry.reding@avionic-design.de> References: <1343332512-28762-1-git-send-email-thierry.reding@avionic-design.de> <1343332512-28762-2-git-send-email-thierry.reding@avionic-design.de> From: Bjorn Helgaas Date: Wed, 15 Aug 2012 10:06:27 -0700 Message-ID: Subject: Re: [PATCH v3 01/10] PCI: Keep pci_fixup_irqs() around after init To: Thierry Reding Cc: linux-tegra@vger.kernel.org, linux-pci@vger.kernel.org, Grant Likely , Rob Herring , devicetree-discuss@lists.ozlabs.org, Russell King , linux-arm-kernel@lists.infradead.org, Colin Cross , Olof Johansson , Stephen Warren , Mitch Bradley , Arnd Bergmann Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-pci-owner@vger.kernel.org List-ID: On Thu, Jul 26, 2012 at 12:55 PM, Thierry Reding wrote: > When using deferred driver probing, PCI host controller drivers may > actually require this function after the init stage. > > Signed-off-by: Thierry Reding > --- > Changes in v3: > - none > > Changes in v2: > - use __devinit annotations Your original patch removed __init completely. Here you change it to __devinit. That means we decide whether to discard the function based on whether CONFIG_HOTPLUG is supported. But I think your point is not about hotplug; it's merely that we should be able to scan a PCI bus after init-time. We ought to be able to do a late PCI scan even if hotplug is not supported. Therefore, I'd be inclined to remove __init completely unless you have another reason for preferring __devinit. > drivers/pci/setup-irq.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/setup-irq.c b/drivers/pci/setup-irq.c > index eb219a1..f0bcd56 100644 > --- a/drivers/pci/setup-irq.c > +++ b/drivers/pci/setup-irq.c > @@ -18,7 +18,7 @@ > #include > > > -static void __init > +static void __devinit > pdev_fixup_irq(struct pci_dev *dev, > u8 (*swizzle)(struct pci_dev *, u8 *), > int (*map_irq)(const struct pci_dev *, u8, u8)) > @@ -54,7 +54,7 @@ pdev_fixup_irq(struct pci_dev *dev, > pcibios_update_irq(dev, irq); > } > > -void __init > +void __devinit > pci_fixup_irqs(u8 (*swizzle)(struct pci_dev *, u8 *), > int (*map_irq)(const struct pci_dev *, u8, u8)) > { > -- > 1.7.11.2 >