* MUNEDA Takahiro <muneda.takahiro@xxxxxxxxxxxxxx>: > On Tue, 23 Jun 2009 16:49:39 +0900, > Kenji Kaneshige <kaneshige.kenji@xxxxxxxxxxxxxx> wrote: > >> Alex Chiang wrote: >>> >>> I don't have any machines with hotpluggable PCI root bridges, so >>> I was hoping you could answer a question for me. >>> >>> It looks like we install handle_hotplug_event_bridge() as a >>> notify handler on PCI root bridges only when acpiphp is first >>> loaded. >>> >>> We later install the same handler on P2P bridges (in >>> init_bridge_misc()). >>> >>> But what happens if you hotplug a new PCI root bridge during >>> runtime? >>> >>> The way I read the code is: >>> >>> handle_hotplug_event_bridge >>> handle_bridge_insertion >>> add_bridge >>> add_host_bridge >>> init_bridge_misc >>> if (bridge->type != BRIDGE_TYPE_HOST) >>> acpi_install_notify_handler(handle_hotplug_event_bridge) >>> >>> So, now what happens if this new root bridge gets a hotplug >>> event? Seems like it doesn't have a handler and will never get >>> it? >> >> Hello Alex-san, >> (CC: Takahiro Muneda who knows acpiphp much more than me) >> >> Sorry for the delay. >> >> IIRC, notify handlers (handle_hotplug_event_bridge()) are already >> installed for all the root bridges regardless the device status >> (_STA) at the driver initialization. So I think we don't need >> to install the notify handler to hot-added root bridge again. > > My understanding is the same as yours, Kenji-san. Hm, I think I confused myself. For some reason, I thought you could use acpiphp to hot-add an entirely new PCI root (PNP0A03), and the pci_root driver would learn about it and add it to acpi_pci_roots. But it seems like that's not true? If it's not true, then please disregard my question. >>> I read through commit 8e7561cf and I must say that I don't >>> understand the point of modifying init_bridge_misc() so that it >>> does not install a handler on a new root bridge. > > init_bridge_misc() tries to replace a notify handler only if the bridge > is P2P bridge. Notify handlers for root bridges are still installed. Ok. 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