All, I draw a chart on the relationship of bridge/bus/devics. I am not sure it is exact, so please correct me if it is not correct. BTW, the pci_bus->self, pci_bus->bridge seem to point the same thing. So this is really necessary to do this? Bus 0(pci_bus) +--------------------+<----+ | | | +--------------------+ | | | Bridge(pci_dev) | +--------------------+<----|---+--------------+ |subordinate(pci_bus)|-+ | | | +--------------------+ | | | | | | | | | | | | | | | | Bus 1(pci_bus) | | | | +--->+-------------------+<-+ | | | | |parent(pci_bus) |------+ | | | +-------------------+ | | | |self(pci_dev) |----------+ | | |bridge(device) | | | +-------------------+ | | |devices(list_head) | | | +--------+----------+ | | | | | ----+--+---+---- | pci_dev | | | pci_dev | +---------------+<--|----------+ +--------->+-----------------+ | |bus(pci_bus) |---+ |bus(pci_bus) | | +---------------+ +-----------------+ | |dev.parent | |dev.parent |---+ +---------------+ +-----------------+ -- Richard Yang Help you, Help me -- 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