Thread (18 messages) 18 messages, 6 authors, 2012-08-21

Re: PCI Section mismatch error in linux-next.

From: Bjorn Helgaas <bhelgaas@google.com>
Date: 2012-08-17 21:46:52
Also in: linux-pci

On Fri, Aug 17, 2012 at 3:32 PM, Thierry Reding
[off-list ref] wrote:
On Fri, Aug 17, 2012 at 03:25:22PM -0600, Bjorn Helgaas wrote:
quoted
On Fri, Aug 17, 2012 at 3:07 PM, Thierry Reding
[off-list ref] wrote:
quoted
On Fri, Aug 17, 2012 at 10:48:39PM +0200, Thierry Reding wrote:
quoted
On Fri, Aug 17, 2012 at 02:39:34PM -0600, Bjorn Helgaas wrote:
[...]
quoted
quoted
Well, maybe you just need to turn on CONFIG_HOTPLUG.  How would that
affect you?  I think we would still have to change some __inits to
__devinit, including pcibios_update_irq(), but it might be more
manageable.
You said that depending on HOTPLUG wouldn't be enough because it would
exclude reenumeration at runtime if HOTPLUG wasn't defined. Also it is
theoretically possible to build a kernel without HOTPLUG but have the
enumeration start after init because of deferred probing. Those cases
won't work if we keep __init or __devinit respectively, right?
Another possibility would be to make PCI select HOTPLUG or depend on it.
That way it would be made sure that __devinit wouldn't cause all the
functions to be discarded after init.
There's been some discussion recently about whether CONFIG_HOTPLUG is
worth keeping any more, but nothing's been resolved yet.  If we did
decide to remove CONFIG_HOTPLUG, or require it for PCI, I would rather
just remove all the __devinit annotations because they'd be
superfluous.
I've missed that discussion. Can you point me to it?
Sure: http://lists.linux-foundation.org/pipermail/ksummit-2012-discuss/2012-June/000051.html
From previous email:
quoted
This is the situation (deferred probing with CONFIG_HOTPLUG=n) that
I'm suggesting might not need to work.  After all, hotplug essentially
means "adding devices after init."
Yes, I guess that would be appropriate. However I don't see how this
could be expressed in Kconfig unless the deferred probing itself is
conditionalized on HOTPLUG. Even in that case it would still be possible
to build a PCIe controller driver as a module and load it at runtime
after init.
That's exactly it -- the deferred probing and any loadable PCI host
bridge drivers would have to depend on HOTPLUG.  That seems like the
most straightforward, least-surprises, approach for now.

Bjorn
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help