diff -u linux-2.5.47-willy/drivers/pci/probe.c linux-2.5.47-willy/drivers/pci/probe.c
--- linux-2.5.47-willy/drivers/pci/probe.c	2002-11-14 11:48:24.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/probe.c	2002-11-14 12:13:33.000000000 -0500
@@ -88,7 +88,7 @@
 						(((unsigned long) ~sz) << 32);
 #else
 			if (l) {
-				printk(KERN_ERR "PCI: Unable to handle 64-bit address for device %s\n", dev->slot_name);
+				printk(KERN_ERR "PCI: Unable to handle 64-bit address for device %s\n", dev->dev.bus_id);
 				res->start = 0;
 				res->flags = 0;
 				continue;
@@ -262,7 +262,7 @@
 	int is_cardbus = (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS);
 
 	pci_read_config_dword(dev, PCI_PRIMARY_BUS, &buses);
-	DBG("Scanning behind PCI bridge %s, config %06x, pass %d\n", dev->slot_name, buses & 0xffffff, pass);
+	DBG("Scanning behind PCI bridge %s, config %06x, pass %d\n", dev->dev.bus_id, buses & 0xffffff, pass);
 	if ((buses & 0xffff00) && !pcibios_assign_all_busses()) {
 		/*
 		 * Bus already configured by firmware, process it in the first
@@ -354,7 +354,7 @@
 {
 	u32 class;
 
-	sprintf(dev->slot_name, "%02x:%02x.%d", dev->bus->number, PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
+	sprintf(dev->dev.bus_id, "%02x:%02x.%d", dev->bus->number, PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn));
 	sprintf(dev->dev.name, "PCI device %04x:%04x", dev->vendor, dev->device);
 	INIT_LIST_HEAD(&dev->pools);
 	
@@ -399,12 +399,12 @@
 
 	default:				    /* unknown header */
 		printk(KERN_ERR "PCI: device %s has unknown header type %02x, ignoring.\n",
-			dev->slot_name, dev->hdr_type);
+			dev->dev.bus_id, dev->hdr_type);
 		return -1;
 
 	bad:
 		printk(KERN_ERR "PCI: %s: class %x doesn't match header type %02x. Ignoring class.\n",
-		       dev->slot_name, class, dev->hdr_type);
+		       dev->dev.bus_id, class, dev->hdr_type);
 		dev->class = PCI_CLASS_NOT_DEFINED;
 	}
 
@@ -447,8 +447,6 @@
 	pci_name_device(dev);
 
 	/* now put in global tree */
-	strcpy(dev->dev.bus_id,dev->slot_name);
-
 	device_register(&dev->dev);
 	return dev;
 }
diff -u linux-2.5.47-willy/drivers/pci/quirks.c linux-2.5.47-willy/drivers/pci/quirks.c
--- linux-2.5.47-willy/drivers/pci/quirks.c	2002-11-14 11:49:24.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/quirks.c	2002-11-14 12:21:22.000000000 -0500
@@ -33,7 +33,7 @@
 	while ((d = pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371SB_0, d))) {
 		pci_read_config_byte(d, 0x82, &dlc);
 		if (!(dlc & 1<<1)) {
-			printk(KERN_ERR "PCI: PIIX3: Enabling Passive Release on %s\n", d->slot_name);
+			printk(KERN_ERR "PCI: PIIX3: Enabling Passive Release on %s\n", d->dev.bus_id);
 			dlc |= 1<<1;
 			pci_write_config_byte(d, 0x82, dlc);
 		}
@@ -358,7 +358,7 @@
 
 	if (new_irq != irq) {
 		printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n",
-		       dev->slot_name, irq, new_irq);
+		       dev->dev.bus_id, irq, new_irq);
 
 		udelay(15);
 		pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq);
@@ -549,7 +549,7 @@
  		    (f->vendor == dev->vendor || f->vendor == (u16) PCI_ANY_ID) &&
  		    (f->device == dev->device || f->device == (u16) PCI_ANY_ID)) {
 #ifdef DEBUG
-			printk(KERN_INFO "PCI: Calling quirk %p for %s\n", f->hook, dev->slot_name);
+			printk(KERN_INFO "PCI: Calling quirk %p for %s\n", f->hook, dev->dev.bus_id);
 #endif
 			f->hook(dev);
 		}
diff -u linux-2.5.47-willy/drivers/pci/setup-res.c linux-2.5.47-willy/drivers/pci/setup-res.c
--- linux-2.5.47-willy/drivers/pci/setup-res.c	2002-11-14 11:53:46.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/setup-res.c	2002-11-14 12:21:31.000000000 -0500
@@ -125,7 +125,7 @@
 		 */
 		if (!(res->flags & IORESOURCE_PREFETCH) || pci_assign_bus_resource(bus, dev, res, size, min, 0, i) < 0) {
 			printk(KERN_ERR "PCI: Failed to allocate resource %d(%lx-%lx) for %s\n",
-			       i, res->start, res->end, dev->slot_name);
+			       i, res->start, res->end, dev->dev.bus_id);
 			return -EBUSY;
 		}
 	}
diff -u linux-2.5.47-willy/drivers/pcmcia/cardbus.c linux-2.5.47-willy/drivers/pcmcia/cardbus.c
--- linux-2.5.47-willy/drivers/pcmcia/cardbus.c	2002-11-14 11:55:07.000000000 -0500
+++ linux-2.5.47-willy/drivers/pcmcia/cardbus.c	2002-11-14 12:27:39.000000000 -0500
@@ -284,8 +284,6 @@
 
 		pci_setup_device(dev);
 
-		strcpy(dev->dev.bus_id, dev->slot_name);
-
 		/* FIXME: Do we need to enable the expansion ROM? */
 		for (r = 0; r < 7; r++) {
 			struct resource *res = dev->resource + r;
diff -u linux-2.5.47-willy/drivers/usb/core/hcd-pci.c linux-2.5.47-willy/drivers/usb/core/hcd-pci.c
--- linux-2.5.47-willy/drivers/usb/core/hcd-pci.c	2002-11-14 11:57:43.000000000 -0500
+++ linux-2.5.47-willy/drivers/usb/core/hcd-pci.c	2002-11-14 12:28:41.000000000 -0500
@@ -73,7 +73,7 @@
 	
         if (!dev->irq) {
         	err ("Found HC with no IRQ.  Check BIOS/PCI %s setup!",
-			dev->slot_name);
+			dev->dev.bus_id);
    	        return -ENODEV;
         }
 	
@@ -91,7 +91,7 @@
 			retval = -EFAULT;
 clean_1:
 			release_mem_region (resource, len);
-			err ("init %s fail, %d", dev->slot_name, retval);
+			err ("init %s fail, %d", dev->dev.bus_id, retval);
 			return retval;
 		}
 
@@ -128,7 +128,7 @@
 			goto clean_1;
 		} else {
 			release_region (resource, len);
-			err ("init %s fail, %d", dev->slot_name, retval);
+			err ("init %s fail, %d", dev->dev.bus_id, retval);
 			return retval;
 		}
 	}
@@ -136,7 +136,7 @@
 	hcd->driver = driver;
 	hcd->description = driver->description;
 	hcd->pdev = dev;
-	hcd->self.bus_name = dev->slot_name;
+	hcd->self.bus_name = dev->dev.bus_id;
 	hcd->product_desc = dev->dev.name;
 
 	if ((retval = hcd_buffer_create (hcd)) != 0) {
@@ -145,7 +145,7 @@
 		goto clean_2;
 	}
 
-	info ("%s @ %s, %s", hcd->description,  dev->slot_name, dev->dev.name);
+	info ("%s @ %s, %s", hcd->description,  dev->dev.bus_id, dev->dev.name);
 
 #ifndef __sparc__
 	sprintf (buf, "%d", dev->irq);
diff -u linux-2.5.47-willy/include/linux/pci.h linux-2.5.47-willy/include/linux/pci.h
--- linux-2.5.47-willy/include/linux/pci.h	2002-11-14 11:43:40.000000000 -0500
+++ linux-2.5.47-willy/include/linux/pci.h	2002-11-14 12:12:37.000000000 -0500
@@ -371,7 +371,6 @@
 	struct resource dma_resource[DEVICE_COUNT_DMA];
 	struct resource irq_resource[DEVICE_COUNT_IRQ];
 
-	char		slot_name[8];	/* slot name */
 	int		active;		/* ISAPnP: device is active */
 	int		ro;		/* ISAPnP: read only */
 	unsigned short	regs;		/* ISAPnP: supported registers */
only in patch2:
unchanged:
--- linux-2.5.47/drivers/pci/setup-irq.c	2002-10-01 03:06:59.000000000 -0400
+++ linux-2.5.47-willy/drivers/pci/setup-irq.c	2002-11-14 12:26:19.000000000 -0500
@@ -53,7 +53,7 @@ pdev_fixup_irq(struct pci_dev *dev,
 		irq = 0;
 	dev->irq = irq;
 
-	DBGC((KERN_ERR "PCI fixup irq: (%s) got %d\n", dev->name, dev->irq));
+	DBGC((KERN_ERR "PCI fixup irq: (%s) got %d\n", dev->dev.name, dev->irq));
 
 	/* Always tell the device, so the driver knows what is
 	   the real IRQ to use; the device does not use it. */
only in patch2:
unchanged:
--- linux-2.5.47/drivers/pci/setup-bus.c	2002-11-14 10:52:13.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/setup-bus.c	2002-11-14 12:22:40.000000000 -0500
@@ -291,7 +291,7 @@ pbus_size_mem(struct pci_bus *bus, unsig
 			if (order > 11) {
 				printk(KERN_WARNING "PCI: region %s/%d "
 				       "too large: %lx-%lx\n",
-				       dev->slot_name, i, r->start, r->end);
+				       dev->dev.bus_id, i, r->start, r->end);
 				r->flags = 0;
 				continue;
 			}
only in patch2:
unchanged:
--- linux-2.5.47/drivers/pci/pool.c	2002-10-07 17:00:37.000000000 -0400
+++ linux-2.5.47-willy/drivers/pci/pool.c	2002-11-14 12:22:54.000000000 -0500
@@ -236,7 +236,7 @@ pci_pool_destroy (struct pci_pool *pool)
 				struct pci_page, page_list);
 		if (is_page_busy (pool->blocks_per_page, page->bitmap)) {
 			printk (KERN_ERR "pci_pool_destroy %s/%s, %p busy\n",
-				pool->dev ? pool->dev->slot_name : NULL,
+				pool->dev ? pool->dev->dev.bus_id : NULL,
 				pool->name, page->vaddr);
 			/* leak the still-in-use consistent memory */
 			list_del (&page->page_list);
@@ -359,7 +359,7 @@ pci_pool_free (struct pci_pool *pool, vo
 
 	if ((page = pool_find_page (pool, dma)) == 0) {
 		printk (KERN_ERR "pci_pool_free %s/%s, %p/%lx (bad dma)\n",
-			pool->dev ? pool->dev->slot_name : NULL,
+			pool->dev ? pool->dev->dev.bus_id : NULL,
 			pool->name, vaddr, (unsigned long) dma);
 		return;
 	}
@@ -372,13 +372,13 @@ pci_pool_free (struct pci_pool *pool, vo
 #ifdef	CONFIG_DEBUG_SLAB
 	if (((dma - page->dma) + (void *)page->vaddr) != vaddr) {
 		printk (KERN_ERR "pci_pool_free %s/%s, %p (bad vaddr)/%Lx\n",
-			pool->dev ? pool->dev->slot_name : NULL,
+			pool->dev ? pool->dev->dev.bus_id : NULL,
 			pool->name, vaddr, (unsigned long long) dma);
 		return;
 	}
 	if (page->bitmap [map] & (1UL << block)) {
 		printk (KERN_ERR "pci_pool_free %s/%s, dma %Lx already free\n",
-			pool->dev ? pool->dev->slot_name : NULL,
+			pool->dev ? pool->dev->dev.bus_id : NULL,
 			pool->name, (unsigned long long)dma);
 		return;
 	}
only in patch2:
unchanged:
--- linux-2.5.47/drivers/pci/pci.c	2002-11-14 10:52:13.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/pci.c	2002-11-14 12:20:16.000000000 -0500
@@ -504,7 +504,7 @@ err_out:
 		pci_resource_flags(pdev, bar) & IORESOURCE_IO ? "I/O" : "mem",
 		bar + 1, /* PCI BAR # */
 		pci_resource_len(pdev, bar), pci_resource_start(pdev, bar),
-		pdev->slot_name);
+		pdev->dev.bus_id);
 	return -EBUSY;
 }
 
@@ -553,7 +553,7 @@ err_out:
 		pci_resource_flags(pdev, i) & IORESOURCE_IO ? "I/O" : "mem",
 		i + 1, /* PCI BAR # */
 		pci_resource_len(pdev, i), pci_resource_start(pdev, i),
-		pdev->slot_name);
+		pdev->dev.bus_id);
 	while(--i >= 0)
 		pci_release_region(pdev, i);
 		
@@ -574,7 +574,7 @@ pci_set_master(struct pci_dev *dev)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	if (! (cmd & PCI_COMMAND_MASTER)) {
-		DBG("PCI: Enabling bus mastering for device %s\n", dev->slot_name);
+		DBG("PCI: Enabling bus mastering for device %s\n", dev->dev.bus_id);
 		cmd |= PCI_COMMAND_MASTER;
 		pci_write_config_word(dev, PCI_COMMAND, cmd);
 	}
@@ -609,7 +609,7 @@ pci_generic_prep_mwi(struct pci_dev *dev
 	if (cache_size != SMP_CACHE_BYTES) {
 		printk(KERN_WARNING "PCI: %s PCI cache line size set "
 		       "incorrectly (%i bytes) by BIOS/FW, ",
-		       dev->slot_name, cache_size);
+		       dev->dev.bus_id, cache_size);
 		if (cache_size > SMP_CACHE_BYTES) {
 			printk("expecting %i\n", SMP_CACHE_BYTES);
 			rc = -EINVAL;
@@ -651,7 +651,7 @@ pci_set_mwi(struct pci_dev *dev)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	if (! (cmd & PCI_COMMAND_INVALIDATE)) {
-		DBG("PCI: Enabling Mem-Wr-Inval for device %s\n", dev->slot_name);
+		DBG("PCI: Enabling Mem-Wr-Inval for device %s\n", dev->dev.bus_id);
 		cmd |= PCI_COMMAND_INVALIDATE;
 		pci_write_config_word(dev, PCI_COMMAND, cmd);
 	}
only in patch2:
unchanged:
--- linux-2.5.47/drivers/pci/hotplug.c	2002-11-14 10:52:13.000000000 -0500
+++ linux-2.5.47-willy/drivers/pci/hotplug.c	2002-11-14 12:22:36.000000000 -0500
@@ -49,7 +49,7 @@ int pci_hotplug (struct device *dev, cha
 
 	envp[i++] = scratch;
 	length += snprintf (scratch, buffer_size - length, "PCI_SLOT_NAME=%s",
-			    pdev->slot_name);
+			    pdev->dev.bus_id);
 	if ((buffer_size - length <= 0) || (i >= num_envp))
 		return -ENOMEM;
 
only in patch2:
unchanged:
--- linux-2.5.47/drivers/net/3c59x.c	2002-11-14 10:52:12.000000000 -0500
+++ linux-2.5.47-willy/drivers/net/3c59x.c	2002-11-14 12:18:14.000000000 -0500
@@ -1006,7 +1006,7 @@ static int __devinit vortex_probe1(struc
 		printed_version = 1;
 	}
 
-	print_name = pdev ? pdev->slot_name : "3c59x";
+	print_name = pdev ? pdev->dev.bus_id : "3c59x";
 
 	dev = alloc_etherdev(sizeof(*vp));
 	retval = -ENOMEM;
@@ -2737,7 +2737,7 @@ static int netdev_ethtool_ioctl(struct n
 		strcpy(info.driver, DRV_NAME);
 		strcpy(info.version, DRV_VERSION);
 		if (vp->pdev)
-			strcpy(info.bus_info, vp->pdev->slot_name);
+			strcpy(info.bus_info, vp->pdev->dev.bus_id);
 		else
 			sprintf(info.bus_info, "EISA 0x%lx %d",
 				dev->base_addr, dev->irq);
only in patch2:
unchanged:
--- linux-2.5.47/drivers/ide/setup-pci.c	2002-11-14 10:52:11.000000000 -0500
+++ linux-2.5.47-willy/drivers/ide/setup-pci.c	2002-11-14 12:16:52.000000000 -0500
@@ -302,10 +302,10 @@ static void ide_setup_pci_noise (struct 
 	if ((d->vendor != dev->vendor) && (d->device != dev->device)) {
 		printk(KERN_INFO "%s: unknown IDE controller at PCI slot "
 			"%s, VID=%04x, DID=%04x\n",
-			d->name, dev->slot_name, dev->vendor, dev->device);
+			d->name, dev->dev.bus_id, dev->vendor, dev->device);
         } else {
 		printk(KERN_INFO "%s: IDE controller at PCI slot %s\n",
-			d->name, dev->slot_name);
+			d->name, dev->dev.bus_id);
 	}
 }
 
only in patch2:
unchanged:
--- linux-2.5.47/arch/i386/pci/irq.c	2002-10-15 09:32:23.000000000 -0400
+++ linux-2.5.47-willy/arch/i386/pci/irq.c	2002-11-14 12:32:08.000000000 -0500
@@ -545,7 +545,7 @@ static void __init pirq_find_router(void
 		pirq_router->name,
 		pirq_router_dev->vendor,
 		pirq_router_dev->device,
-		pirq_router_dev->slot_name);
+		pirq_router_dev->dev.bus_id);
 }
 
 static struct irq_info *pirq_get_info(struct pci_dev *dev)
@@ -588,7 +588,7 @@ static int pcibios_lookup_irq(struct pci
 	if (!pirq_table)
 		return 0;
 	
-	DBG("IRQ for %s:%d", dev->slot_name, pin);
+	DBG("IRQ for %s:%d", dev->dev.bus_id, pin);
 	info = pirq_get_info(dev);
 	if (!info) {
 		DBG(" -> not found in routing table\n");
@@ -619,7 +619,7 @@ static int pcibios_lookup_irq(struct pci
 	newirq = dev->irq;
 	if (!((1 << newirq) & mask)) {
 		if ( pci_probe & PCI_USE_PIRQ_MASK) newirq = 0;
-		else printk(KERN_WARNING "PCI: IRQ %i for device %s doesn't match PIRQ mask - try pci=usepirqmask\n", newirq, dev->slot_name);
+		else printk(KERN_WARNING "PCI: IRQ %i for device %s doesn't match PIRQ mask - try pci=usepirqmask\n", newirq, dev->dev.bus_id);
 	}
 	if (!newirq && assign) {
 		for (i = 0; i < 16; i++) {
@@ -661,7 +661,7 @@ static int pcibios_lookup_irq(struct pci
 		} else
 			return 0;
 	}
-	printk(KERN_INFO "PCI: %s IRQ %d for device %s\n", msg, irq, dev->slot_name);
+	printk(KERN_INFO "PCI: %s IRQ %d for device %s\n", msg, irq, dev->dev.bus_id);
 
 	/* Update IRQ for all devices with the same pirq value */
 	pci_for_each_dev(dev2) {
@@ -678,13 +678,13 @@ static int pcibios_lookup_irq(struct pci
 			(!(pci_probe & PCI_USE_PIRQ_MASK) || \
 			((1 << dev2->irq) & mask)) ) {
 		    		printk(KERN_INFO "IRQ routing conflict for %s, have irq %d, want irq %d\n",
-				       dev2->slot_name, dev2->irq, irq);
+				       dev2->dev.bus_id, dev2->irq, irq);
 		    		continue;
 		    	}
 			dev2->irq = irq;
 			pirq_penalty[irq]++;
 			if (dev != dev2)
-				printk(KERN_INFO "PCI: Sharing IRQ %d with %s\n", irq, dev2->slot_name);
+				printk(KERN_INFO "PCI: Sharing IRQ %d with %s\n", irq, dev2->dev.bus_id);
 		}
 	}
 	return 1;
@@ -702,7 +702,7 @@ static void __init pcibios_fixup_irqs(vo
 		 * Also keep track of which IRQ's are already in use.
 		 */
 		if (dev->irq >= 16) {
-			DBG("%s: ignoring bogus IRQ %d\n", dev->slot_name, dev->irq);
+			DBG("%s: ignoring bogus IRQ %d\n", dev->dev.bus_id, dev->irq);
 			dev->irq = 0;
 		}
 		/* If the IRQ is already assigned to a PCI device, ignore its ISA use penalty */
@@ -814,7 +814,7 @@ int pirq_enable_irq(struct pci_dev *dev)
 		else
 			msg = " Please try using pci=biosirq.";
 		printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n",
-		       'A' + pin - 1, dev->slot_name, msg);
+		       'A' + pin - 1, dev->dev.bus_id, msg);
 	}
 
 	return 0;
only in patch2:
unchanged:
--- linux-2.5.47/arch/i386/pci/i386.c	2002-10-20 10:15:56.000000000 -0400
+++ linux-2.5.47-willy/arch/i386/pci/i386.c	2002-11-14 12:29:46.000000000 -0500
@@ -56,7 +56,7 @@ pcibios_update_resource(struct pci_dev *
 	pci_read_config_dword(dev, reg, &check);
 	if ((new ^ check) & ((new & PCI_BASE_ADDRESS_SPACE_IO) ? PCI_BASE_ADDRESS_IO_MASK : PCI_BASE_ADDRESS_MEM_MASK)) {
 		printk(KERN_ERR "PCI: Error while updating region "
-		       "%s/%d (%08x != %08x)\n", dev->slot_name, resource,
+		       "%s/%d (%08x != %08x)\n", dev->dev.bus_id, resource,
 		       new, check);
 	}
 }
@@ -140,7 +140,7 @@ static void __init pcibios_allocate_bus_
 					continue;
 				pr = pci_find_parent_resource(dev, r);
 				if (!pr || request_resource(pr, r) < 0)
-					printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, dev->slot_name);
+					printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, dev->dev.bus_id);
 			}
 		}
 		pcibios_allocate_bus_resources(&bus->children);
@@ -171,7 +171,7 @@ static void __init pcibios_allocate_reso
 				    r->start, r->end, r->flags, disabled, pass);
 				pr = pci_find_parent_resource(dev, r);
 				if (!pr || request_resource(pr, r) < 0) {
-					printk(KERN_ERR "PCI: Cannot allocate resource region %d of device %s\n", idx, dev->slot_name);
+					printk(KERN_ERR "PCI: Cannot allocate resource region %d of device %s\n", idx, dev->dev.bus_id);
 					/* We'll assign a new address later */
 					r->end -= r->start;
 					r->start = 0;
@@ -183,7 +183,7 @@ static void __init pcibios_allocate_reso
 			if (r->flags & PCI_ROM_ADDRESS_ENABLE) {
 				/* Turn the ROM off, leave the resource region, but keep it unregistered. */
 				u32 reg;
-				DBG("PCI: Switching off ROM of %s\n", dev->slot_name);
+				DBG("PCI: Switching off ROM of %s\n", dev->dev.bus_id);
 				r->flags &= ~PCI_ROM_ADDRESS_ENABLE;
 				pci_read_config_dword(dev, dev->rom_base_reg, &reg);
 				pci_write_config_dword(dev, dev->rom_base_reg, reg & ~PCI_ROM_ADDRESS_ENABLE);
@@ -258,7 +258,7 @@ int pcibios_enable_resources(struct pci_
 
 		r = &dev->resource[idx];
 		if (!r->start && r->end) {
-			printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", dev->slot_name);
+			printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", dev->dev.bus_id);
 			return -EINVAL;
 		}
 		if (r->flags & IORESOURCE_IO)
@@ -269,7 +269,7 @@ int pcibios_enable_resources(struct pci_
 	if (dev->resource[PCI_ROM_RESOURCE].start)
 		cmd |= PCI_COMMAND_MEMORY;
 	if (cmd != old_cmd) {
-		printk("PCI: Enabling device %s (%04x -> %04x)\n", dev->slot_name, old_cmd, cmd);
+		printk("PCI: Enabling device %s (%04x -> %04x)\n", dev->dev.bus_id, old_cmd, cmd);
 		pci_write_config_word(dev, PCI_COMMAND, cmd);
 	}
 	return 0;
@@ -291,7 +291,7 @@ void pcibios_set_master(struct pci_dev *
 		lat = pcibios_max_latency;
 	else
 		return;
-	printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n", dev->slot_name, lat);
+	printk(KERN_DEBUG "PCI: Setting latency timer of device %s to %d\n", dev->dev.bus_id, lat);
 	pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
 }
 
only in patch2:
unchanged:
--- linux-2.5.47/arch/i386/pci/fixup.c	2002-11-14 10:52:00.000000000 -0500
+++ linux-2.5.47-willy/arch/i386/pci/fixup.c	2002-11-14 12:31:00.000000000 -0500
@@ -15,7 +15,7 @@ static void __devinit pci_fixup_i450nx(s
 	int pxb, reg;
 	u8 busno, suba, subb;
 
-	printk(KERN_WARNING "PCI: Searching for i450NX host bridges on %s\n", d->slot_name);
+	printk(KERN_WARNING "PCI: Searching for i450NX host bridges on %s\n", d->dev.bus_id);
 	reg = 0xd0;
 	for(pxb=0; pxb<2; pxb++) {
 		pci_read_config_byte(d, reg++, &busno);
@@ -38,7 +38,7 @@ static void __devinit pci_fixup_i450gx(s
 	 */
 	u8 busno;
 	pci_read_config_byte(d, 0x4a, &busno);
-	printk(KERN_INFO "PCI: i440KX/GX host bridge %s: secondary bus %02x\n", d->slot_name, busno);
+	printk(KERN_INFO "PCI: i440KX/GX host bridge %s: secondary bus %02x\n", d->dev.bus_id, busno);
 	pci_scan_bus(busno, pci_root_ops, NULL);
 	pcibios_last_bus = -1;
 }
@@ -51,7 +51,7 @@ static void __devinit  pci_fixup_umc_ide
 	 */
 	int i;
 
-	printk(KERN_WARNING "PCI: Fixing base address flags for device %s\n", d->slot_name);
+	printk(KERN_WARNING "PCI: Fixing base address flags for device %s\n", d->dev.bus_id);
 	for(i=0; i<4; i++)
 		d->resource[i].flags |= PCI_BASE_ADDRESS_SPACE_IO;
 }
@@ -63,7 +63,7 @@ static void __devinit  pci_fixup_ncr53c8
 	 * Fix class to be PCI_CLASS_STORAGE_SCSI
 	 */
 	if (!d->class) {
-		printk(KERN_WARNING "PCI: fixing NCR 53C810 class code for %s\n", d->slot_name);
+		printk(KERN_WARNING "PCI: fixing NCR 53C810 class code for %s\n", d->dev.bus_id);
 		d->class = PCI_CLASS_STORAGE_SCSI << 8;
 	}
 }
@@ -77,7 +77,7 @@ static void __devinit pci_fixup_ide_base
 	 */
 	if ((d->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
-	DBG("PCI: IDE base address fixup for %s\n", d->slot_name);
+	DBG("PCI: IDE base address fixup for %s\n", d->dev.bus_id);
 	for(i=0; i<4; i++) {
 		struct resource *r = &d->resource[i];
 		if ((r->start & ~0x80) == 0x374) {
@@ -95,7 +95,7 @@ static void __devinit  pci_fixup_ide_tra
 	 * There exist PCI IDE controllers which have utter garbage
 	 * in first four base registers. Ignore that.
 	 */
-	DBG("PCI: IDE base address trash cleared for %s\n", d->slot_name);
+	DBG("PCI: IDE base address trash cleared for %s\n", d->dev.bus_id);
 	for(i=0; i<4; i++)
 		d->resource[i].start = d->resource[i].end = d->resource[i].flags = 0;
 }
