• Bjorn Helgaas's avatar
    PCI: Supply bridge device, not secondary bus, to read window details · 281e1f13
    Bjorn Helgaas authored
    Previously we logged information about devices *below* the bridge before
    logging information about the bridge itself, e.g.,
    
      pci 0000:00:01.0: [8086:1901] type 01 class 0x060400
      pci 0000:01:00.0: [10de:13b6] type 00 class 0x030200
      pci 0000:01:00.0: reg 0x10: [mem 0xec000000-0xecffffff]
      pci 0000:00:01.0: PCI bridge to [bus 01]
      pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
    
    This is partly because the bridge windows are read in this path:
    
      pci_scan_child_bus_extend
        for (devfn = 0; devfn < 256; devfn += 8)
          pci_scan_slot(bus, devfn)       # scan below bridge
        pcibios_fixup_bus(bus)
          pci_read_bridge_bases(bus)      # read bridge windows
            pci_read_bridge_io(bus)
    
    Remove the assumption that the secondary (child) pci_bus already exists by
    passing in the bridge device (instead of the pci_bus) and a resource
    pointer when reading bridge windows.  A future change can use this to log
    the bridge details before we enumerate the devices below the bridge.
    
    No functional change intended.
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    281e1f13
probe.c 87 KB