On 06/05/2012 02:35 PM, Ram Pai wrote: > On Mon, Jun 04, 2012 at 10:20:51PM -0700, Yinghai Lu wrote: >> On Mon, Jun 4, 2012 at 10:18 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: >>> On Mon, Jun 4, 2012 at 9:37 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >>>> That's true, but I don't think it answers the question. If we have: >>>> >>>> pci_bus->bridge == pci_bus->self->dev >>>> >>>> why would we need both "self" and "bridge"? It would be interesting >>>> to try to remove "bridge" and replace uses of it with "self->dev". >>> >>> then how about root bus? >>> >>> root bus ->self should be NULL. >>> >>> root bus ->bridge is to the hostbridge->dev. > > Yinghai, > > is there a reason why this can't be fixed in > pci_create_root_bus() by having > bus->self = bridge; /* 'bridge' is the pci_device of the corresponding host bridge */ Hi Ram, A host bridge has no associated pci_device because it's out of the PCI domain. PCI domain only covers the hierarchy starting from the host bridge, but doesn't include the host bridge itself. Thanks! > get_device(&bridge->dev); > > > RP > > -- > 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 -- 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