All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: devicetree-discuss@lists.ozlabs.org
Cc: Linus Walleij <linus.walleij@linaro.org>,
	Thierry Reding <thierry.reding@avionic-design.de>,
	Grant Likely <grant.likely@secretlab.ca>,
	Greg KH <gregkh@linuxfoundation.org>,
	Russell King <linux@arm.linux.org.uk>,
	linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
	Rob Herring <rob.herring@calxeda.com>,
	Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	linux-tegra@vger.kernel.org,
	Andrew Murray <andrew.murray@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init
Date: Thu, 07 Feb 2013 01:54:22 +0100	[thread overview]
Message-ID: <9348609.HjKCmL9u9S@wuerfel> (raw)
In-Reply-To: <CACRpkdYV5w6BksUjXvXs=88BovUyXgRt-vXSD0twjRpzbZcvFQ@mail.gmail.com>

On Wednesday 06 February 2013 17:38:20 Linus Walleij wrote:
> On Wed, Jan 9, 2013 at 9:43 PM, Thierry Reding
> <thierry.reding@avionic-design.de> wrote:
> 
> > When using deferred driver probing, PCI host controller drivers may
> > actually require this function after the init stage.
> >
> > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> 
> 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.

	Arnd

WARNING: multiple messages have this Message-ID (diff)
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init
Date: Thu, 07 Feb 2013 01:54:22 +0100	[thread overview]
Message-ID: <9348609.HjKCmL9u9S@wuerfel> (raw)
In-Reply-To: <CACRpkdYV5w6BksUjXvXs=88BovUyXgRt-vXSD0twjRpzbZcvFQ@mail.gmail.com>

On Wednesday 06 February 2013 17:38:20 Linus Walleij wrote:
> On Wed, Jan 9, 2013 at 9:43 PM, Thierry Reding
> <thierry.reding@avionic-design.de> wrote:
> 
> > When using deferred driver probing, PCI host controller drivers may
> > actually require this function after the init stage.
> >
> > Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
> 
> 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.

	Arnd

  reply	other threads:[~2013-02-06 17:00 UTC|newest]

Thread overview: 250+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-09 20:43 [PATCH 00/14] Rewrite Tegra PCIe driver Thierry Reding
2013-01-09 20:43 ` Thierry Reding
2013-01-09 20:43 ` [PATCH 01/14] of/pci: Provide support for parsing PCI DT ranges property Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:06   ` Stephen Warren
2013-01-11  0:06     ` Stephen Warren
2013-01-11  4:02     ` Thierry Reding
2013-01-11  4:02       ` Thierry Reding
2013-01-11  4:02       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 02/14] of/pci: Add of_pci_get_devfn() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:09   ` Stephen Warren
2013-01-11  0:09     ` Stephen Warren
2013-01-11  0:09     ` Stephen Warren
2013-01-11  4:06     ` Thierry Reding
2013-01-11  4:06       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 03/14] of/pci: Add of_pci_get_bus() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 04/14] of/pci: Add of_pci_parse_bus_range() function Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 05/14] lib: Add I/O map cache implementation Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:19   ` Arnd Bergmann
2013-01-09 21:19     ` Arnd Bergmann
2013-01-09 21:19     ` Arnd Bergmann
2013-01-09 21:54     ` Thierry Reding
2013-01-09 21:54       ` Thierry Reding
2013-01-09 22:10       ` Arnd Bergmann
2013-01-09 22:10         ` Arnd Bergmann
2013-01-09 22:10         ` Arnd Bergmann
2013-01-09 23:12         ` Stephen Warren
2013-01-09 23:12           ` Stephen Warren
2013-01-09 23:12           ` Stephen Warren
2013-01-09 23:17           ` Jason Gunthorpe
2013-01-09 23:17             ` Jason Gunthorpe
2013-01-10  7:19             ` Thierry Reding
2013-01-10  7:19               ` Thierry Reding
2013-01-10  7:19               ` Thierry Reding
2013-01-10  9:17               ` Arnd Bergmann
2013-01-10  9:17                 ` Arnd Bergmann
2013-01-10  9:17                 ` Arnd Bergmann
2013-01-10 10:25                 ` Thierry Reding
2013-01-10 10:25                   ` Thierry Reding
2013-01-10 10:25                   ` Thierry Reding
2013-01-10 18:20                   ` Jason Gunthorpe
2013-01-10 18:20                     ` Jason Gunthorpe
2013-01-10 18:20                     ` Jason Gunthorpe
2013-01-10 18:55                     ` Thierry Reding
2013-01-10 18:55                       ` Thierry Reding
2013-01-10 18:55                       ` Thierry Reding
2013-01-10 19:03                       ` Thierry Reding
2013-01-10 19:03                         ` Thierry Reding
2013-01-10 19:24                         ` Jason Gunthorpe
2013-01-10 19:24                           ` Jason Gunthorpe
2013-01-10 20:20                           ` Thierry Reding
2013-01-10 20:20                             ` Thierry Reding
2013-01-10 20:20                             ` Thierry Reding
2013-01-10 21:06                             ` Jason Gunthorpe
2013-01-10 21:06                               ` Jason Gunthorpe
2013-01-10 21:06                               ` Jason Gunthorpe
2013-01-16 10:18                           ` Thierry Reding
2013-01-16 10:18                             ` Thierry Reding
2013-01-16 10:18                             ` Thierry Reding
2013-01-16 11:25                             ` Russell King - ARM Linux
2013-01-16 11:25                               ` Russell King - ARM Linux
2013-01-16 11:25                               ` Russell King - ARM Linux
2013-01-16 11:52                               ` Thierry Reding
2013-01-16 11:52                                 ` Thierry Reding
2013-01-16 11:52                                 ` Thierry Reding
2013-01-10 18:26                   ` Arnd Bergmann
2013-01-10 18:26                     ` Arnd Bergmann
2013-01-10 18:26                     ` Arnd Bergmann
2013-01-10 18:57                     ` Thierry Reding
2013-01-10 18:57                       ` Thierry Reding
2013-01-10 18:57                       ` Thierry Reding
2013-01-10  7:10         ` Thierry Reding
2013-01-10  7:10           ` Thierry Reding
2013-01-10  7:10           ` Thierry Reding
2013-01-09 21:28   ` Russell King - ARM Linux
2013-01-09 21:28     ` Russell King - ARM Linux
2013-01-09 21:28     ` Russell King - ARM Linux
2013-01-09 21:57     ` Thierry Reding
2013-01-09 21:57       ` Thierry Reding
2013-01-09 21:57       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 06/14] ARM: pci: Keep pci_common_init() around after init Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-02-05 20:41   ` Thierry Reding
2013-02-05 20:41     ` Thierry Reding
2013-02-05 20:41     ` Thierry Reding
2013-02-06 16:30     ` Russell King - ARM Linux
2013-02-06 16:30       ` Russell King - ARM Linux
2013-02-06 16:30       ` Russell King - ARM Linux
2013-02-06 19:35       ` Thierry Reding
2013-02-06 19:35         ` Thierry Reding
2013-02-06 19:35         ` Thierry Reding
2013-02-06  8:36   ` Thomas Petazzoni
2013-02-06  8:36     ` Thomas Petazzoni
2013-02-06  8:36     ` Thomas Petazzoni
2013-02-06 16:38   ` Linus Walleij
2013-02-06 16:38     ` Linus Walleij
2013-02-06 16:38     ` Linus Walleij
2013-02-07  0:54     ` Arnd Bergmann [this message]
2013-02-07  0:54       ` Arnd Bergmann
2013-02-06 17:07       ` Linus Walleij
2013-02-06 17:07         ` Linus Walleij
2013-02-06 17:07         ` Linus Walleij
2013-02-07  1:20         ` Arnd Bergmann
2013-02-07  1:20           ` Arnd Bergmann
2013-02-07  1:20           ` Arnd Bergmann
2013-01-09 20:43 ` [PATCH 07/14] ARM: pci: Allow passing per-controller private data Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 08/14] ARM: tegra: Move tegra_pcie_xclk_clamp() to PMC Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43 ` [PATCH 09/14] ARM: tegra: Move pmc.h to include/mach Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:15   ` Stephen Warren
2013-01-11  0:15     ` Stephen Warren
2013-01-11  0:15     ` Stephen Warren
2013-01-11  4:08     ` Thierry Reding
2013-01-11  4:08       ` Thierry Reding
2013-01-11  4:08       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 10/14] PCI: tegra: Move PCIe driver to drivers/pci/host Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:22   ` Arnd Bergmann
2013-01-09 21:22     ` Arnd Bergmann
2013-01-09 21:22     ` Arnd Bergmann
2013-01-09 21:58     ` Thierry Reding
2013-01-09 21:58       ` Thierry Reding
2013-01-09 21:58       ` Thierry Reding
2013-01-09 22:03       ` Arnd Bergmann
2013-01-09 22:03         ` Arnd Bergmann
2013-01-10 23:54   ` Stephen Warren
2013-01-10 23:54     ` Stephen Warren
2013-01-11  3:40     ` Thierry Reding
2013-01-11  3:40       ` Thierry Reding
2013-01-11 15:36       ` Arnd Bergmann
2013-01-11 15:36         ` Arnd Bergmann
2013-01-11 15:36         ` Arnd Bergmann
2013-01-11 15:45         ` Thierry Reding
2013-01-11 15:45           ` Thierry Reding
2013-01-11 15:45           ` Thierry Reding
2013-01-12 12:36           ` Thierry Reding
2013-01-12 12:36             ` Thierry Reding
2013-01-12 12:36             ` Thierry Reding
2013-01-12 21:12             ` Arnd Bergmann
2013-01-12 21:12               ` Arnd Bergmann
2013-01-13  9:58               ` Thierry Reding
2013-01-13  9:58                 ` Thierry Reding
2013-01-14  9:57                 ` Andrew Murray
2013-01-14  9:57                   ` Andrew Murray
2013-01-14  9:57                   ` Andrew Murray
2013-01-15 12:08                   ` Thierry Reding
2013-01-15 12:08                     ` Thierry Reding
2013-01-15 12:08                     ` Thierry Reding
2013-01-15 12:44                     ` Arnd Bergmann
2013-01-15 12:44                       ` Arnd Bergmann
2013-01-15 15:40                       ` Andrew Murray
2013-01-15 15:40                         ` Andrew Murray
2013-01-15 15:40                         ` Andrew Murray
2013-01-15 21:14                         ` Thierry Reding
2013-01-15 21:14                           ` Thierry Reding
2013-01-15 21:14                           ` Thierry Reding
2013-01-16 14:00                           ` Arnd Bergmann
2013-01-16 14:00                             ` Arnd Bergmann
2013-01-16 16:17                             ` Andrew Murray
2013-01-16 16:17                               ` Andrew Murray
2013-01-16 18:31                               ` Thierry Reding
2013-01-16 18:31                                 ` Thierry Reding
2013-01-17 15:42                                 ` Andrew Murray
2013-01-17 15:42                                   ` Andrew Murray
2013-01-17 16:05                                   ` Thierry Reding
2013-01-17 16:05                                     ` Thierry Reding
2013-01-17 16:05                                     ` Thierry Reding
2013-01-17 16:22                                     ` Andrew Murray
2013-01-17 16:22                                       ` Andrew Murray
2013-01-17 20:30                                       ` Thierry Reding
2013-01-17 20:30                                         ` Thierry Reding
2013-01-17 20:30                                         ` Thierry Reding
2013-01-18  9:18                                         ` Andrew Murray
2013-01-18  9:18                                           ` Andrew Murray
2013-01-22 19:29                                       ` Jason Gunthorpe
2013-01-22 19:29                                         ` Jason Gunthorpe
2013-01-22 19:29                                         ` Jason Gunthorpe
2013-01-29 13:31                                         ` Andrew Murray
2013-01-29 13:31                                           ` Andrew Murray
2013-01-11  0:48   ` Stephen Warren
2013-01-11  0:48     ` Stephen Warren
2013-01-11  0:48     ` Stephen Warren
2013-01-11  3:52     ` Thierry Reding
2013-01-11  3:52       ` Thierry Reding
2013-01-11  3:52       ` Thierry Reding
2013-01-11 20:34       ` Stephen Warren
2013-01-11 20:34         ` Stephen Warren
2013-01-18  9:56   ` Andrew Murray
2013-01-18  9:56     ` Andrew Murray
2013-01-18 10:09     ` Thierry Reding
2013-01-18 10:09       ` Thierry Reding
2013-01-18 10:09       ` Thierry Reding
2013-02-13 23:11   ` Thomas Petazzoni
2013-02-13 23:11     ` Thomas Petazzoni
2013-02-13 23:11     ` Thomas Petazzoni
2013-01-09 20:43 ` [PATCH 11/14] ARM: tegra: tamonten: Add PCIe support Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 21:23   ` Arnd Bergmann
2013-01-09 21:23     ` Arnd Bergmann
2013-01-09 21:23     ` Arnd Bergmann
2013-01-10 20:21     ` Thierry Reding
2013-01-10 20:21       ` Thierry Reding
2013-01-10 20:21       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 12/14] ARM: tegra: tec: " Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-11  0:22   ` Stephen Warren
2013-01-11  0:22     ` Stephen Warren
2013-01-11  0:22     ` Stephen Warren
2013-01-11  4:34     ` Thierry Reding
2013-01-11  4:34       ` Thierry Reding
2013-01-09 20:43 ` [PATCH 13/14] ARM: tegra: harmony: Initialize PCIe from DT Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-10 23:58   ` Stephen Warren
2013-01-10 23:58     ` Stephen Warren
2013-01-10 23:58     ` Stephen Warren
2013-01-09 20:43 ` [PATCH 14/14] ARM: tegra: trimslice: " Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-09 20:43   ` Thierry Reding
2013-01-10 23:56   ` Stephen Warren
2013-01-10 23:56     ` Stephen Warren
2013-01-10 23:56     ` Stephen Warren
2013-01-11 18:48     ` Thierry Reding
2013-01-11 18:48       ` Thierry Reding
2013-01-11 18:48       ` Thierry Reding
2013-01-09 21:25 ` [PATCH 00/14] Rewrite Tegra PCIe driver Thomas Petazzoni
2013-01-09 21:25   ` Thomas Petazzoni
2013-01-09 21:25   ` Thomas Petazzoni
2013-01-10  6:55   ` Thierry Reding
2013-01-10  6:55     ` Thierry Reding
2013-01-10  6:55     ` Thierry Reding
2013-01-10  8:34     ` Thomas Petazzoni
2013-01-10  8:34       ` Thomas Petazzoni
2013-01-28 18:15 ` Bjorn Helgaas
2013-01-28 18:15   ` Bjorn Helgaas
     [not found] ` <1357764194-12677-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2013-03-06 18:16   ` Murali Karicheri

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=9348609.HjKCmL9u9S@wuerfel \
    --to=arnd@arndb.de \
    --cc=andrew.murray@arm.com \
    --cc=bhelgaas@google.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=gregkh@linuxfoundation.org \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=thierry.reding@avionic-design.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.