static void
 get_current_resources(struct acpi_device *device, int busnum,
-                       struct pci_bus *bus)
+                       int domain, struct pci_bus *bus)
 {
        struct pci_root_info info;
        size_t size;
        if (!info.res)
                goto res_alloc_fail;
 
-       info.name = kmalloc(12, GFP_KERNEL);
+       info.name = kmalloc(16, GFP_KERNEL);
        if (!info.name)
                goto name_alloc_fail;
-       sprintf(info.name, "PCI Bus #%02x", busnum);
+       sprintf(info.name, "PCI Bus %04x:%02x", domain, busnum);
 
        info.res_num = 0;
        acpi_walk_resources(device->handle, METHOD_NAME__CRS, setup_resource,
 #endif
 
        if (bus && (pci_probe & PCI_USE__CRS))
-               get_current_resources(device, busnum, bus);
+               get_current_resources(device, busnum, domain, bus);
        
        return bus;
 }
 
                pci_write_config_byte(dev, PCI_SUBORDINATE_BUS, max);
        }
 
-       sprintf(child->name, (is_cardbus ? "PCI CardBus #%02x" : "PCI Bus #%02x"), child->number);
+       sprintf(child->name,
+               (is_cardbus ? "PCI CardBus %04x:%02x" : "PCI Bus %04x:%02x"),
+               pci_domain_nr(bus), child->number);
 
        /* Has only triggered on CardBus, fixup is in yenta_socket */
        while (bus->parent) {