* Matthew Wilcox <matthew@xxxxxx>: > On Fri, May 30, 2008 at 09:13:02AM +1000, Benjamin Herrenschmidt wrote: > > > > In fact, you don't necessarily have the bridge either. > > > > > > > > When you do hotplug operations on pSeries, the hypervisor feeds us with > > > > a whole bunch of new OF nodes & properties -at the time of the > > > > insertion-. This can include new top level host bridges, and layers of > > > > p2p bridges finally leading to the device that was inserted. > > > > > > But surely you get a series of events? > > > > > > "Hi, I've just plugged in a new cabinet" > > > "Hi, I've just plugged in a new PCI root bridge" > > > "Hi, I've just plugged in a new PCI-PCI bridge" > > > "Hi, I've just plugged in a new PCI card" > > > > Yes. We get those events along with bits of device-tree (ie, new nodes > > and properties to add to the OF tree). But we don't know necessarily > > in advance what we'll get and what devfn it will be. Maybe I'm > > misunderstanding the problem here, I though you guys needed to know that > > in advance, before the device gets plugged... > > We need to know the slot number when the slot appears in your partition. > So if you can't control the slot, you don't need to register it. Correct, we do *not* need the devfn *before* the slot is added to the lpar. We simply need it *during* the hotplug event. The code path we're talking about only gets exercised during a PHB/slot hotplug addition, so as long as we have the slot's devfn at that time, we're good. Hope that clarifies. Thanks. /ac -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html