diff -urpN -X /home/fletch/.diff.exclude 500-ppc64-reloc_hide/drivers/pci/probe.c 501-ppc64-pci/drivers/pci/probe.c
--- 500-ppc64-reloc_hide/drivers/pci/probe.c	Fri May 30 19:02:13 2003
+++ 501-ppc64-pci/drivers/pci/probe.c	Fri May 30 19:28:16 2003
@@ -173,7 +173,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 -urpN -X /home/fletch/.diff.exclude 500-ppc64-reloc_hide/include/linux/pci.h 501-ppc64-pci/include/linux/pci.h
--- 500-ppc64-reloc_hide/include/linux/pci.h	Fri May 30 19:02:23 2003
+++ 501-ppc64-pci/include/linux/pci.h	Fri May 30 19:28:16 2003
@@ -451,10 +451,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];