From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ia0-f173.google.com ([209.85.210.173]:62537 "EHLO mail-ia0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751724Ab3BFRHy (ORCPT ); Wed, 6 Feb 2013 12:07:54 -0500 Received: by mail-ia0-f173.google.com with SMTP id h37so1849150iak.18 for ; Wed, 06 Feb 2013 09:07:53 -0800 (PST) MIME-Version: 1.0 In-Reply-To: <9348609.HjKCmL9u9S@wuerfel> References: <1357764194-12677-1-git-send-email-thierry.reding@avionic-design.de> <1357764194-12677-7-git-send-email-thierry.reding@avionic-design.de> <9348609.HjKCmL9u9S@wuerfel> Date: Wed, 6 Feb 2013 18:07:53 +0100 Message-ID: Subject: Re: [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init From: Linus Walleij To: Arnd Bergmann Cc: devicetree-discuss@lists.ozlabs.org, Thierry Reding , Grant Likely , Greg KH , Russell King , linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Rob Herring , Jason Gunthorpe , Bjorn Helgaas , linux-tegra@vger.kernel.org, Andrew Murray , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-pci-owner@vger.kernel.org List-ID: On Thu, Feb 7, 2013 at 1:54 AM, Arnd Bergmann wrote: > On Wednesday 06 February 2013 17:38:20 Linus Walleij wrote: >> On Wed, Jan 9, 2013 at 9:43 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 >> >> There seem to be a proliferation of these patches now. >> >> Isn't this just papering over the real problem? The discarding >> of __init sections need to happen *after* all deferred probes >> are complete, lest we have to remove *all* __init sections from >> *all* drivers in the kernel, don't we? > > No, I think it's not quite that bad. I think the rule is still > just that .probe() functions and anything called from them must > not be __init. They used to be __devinit, which would cause > problems with deferred probing on !HOTPLUG systems but that's > gone in 3.9. > > Thierry's patch is just necessary because pci_common_init used > to be called only from actual __init functions, and not it > gets called from a .probe() function for the first time. Aha OK, then it feels much better now. However it leaves the question of how much __init, __initdata and __initconst we have littering around. Oh, well, we'll see I guess. Thanks, Linus Walleij