diff -purN -X /home/mbligh/.diff.exclude 190-disable_preempt/drivers/pci/probe.c 200-ppc64-pci/drivers/pci/probe.c
--- 190-disable_preempt/drivers/pci/probe.c	2003-10-01 11:35:11.000000000 -0700
+++ 200-ppc64-pci/drivers/pci/probe.c	2003-11-24 16:33:23.000000000 -0800
@@ -176,7 +176,7 @@ void __devinit pci_read_bridge_bases(str
 		limit |= (io_limit_hi << 16);
 	}
 
-	if (base && base <= limit) {
+	if (base <= limit) {
 		res->flags = (io_base_lo & PCI_IO_RANGE_TYPE_MASK) | IORESOURCE_IO;
 		res->start = base;
 		res->end = limit + 0xfff;
diff -purN -X /home/mbligh/.diff.exclude 190-disable_preempt/include/linux/pci.h 200-ppc64-pci/include/linux/pci.h
--- 190-disable_preempt/include/linux/pci.h	2003-10-14 15:50:35.000000000 -0700
+++ 200-ppc64-pci/include/linux/pci.h	2003-11-24 16:33:23.000000000 -0800
@@ -461,10 +461,10 @@ struct pci_bus {
 	void		*sysdata;	/* hook for sys-specific extension */
 	struct proc_dir_entry *procdir;	/* directory entry in /proc/bus/pci */
 
-	unsigned char	number;		/* bus number */
-	unsigned char	primary;	/* number of primary bridge */
-	unsigned char	secondary;	/* number of secondary bridge */
-	unsigned char	subordinate;	/* max number of subordinate buses */
+	unsigned int	number;		/* bus number */
+	unsigned int	primary;	/* number of primary bridge */
+	unsigned int	secondary;	/* number of secondary bridge */
+	unsigned int	subordinate;	/* max number of subordinate buses */
 
 	char		name[48];