25-akpm/arch/alpha/kernel/pci.c                   |    4 ++--
 25-akpm/arch/arm/kernel/bios32.c                  |    4 ++--
 25-akpm/arch/i386/pci/i386.c                      |    4 ++--
 25-akpm/arch/ia64/pci/pci.c                       |    7 ++++---
 25-akpm/arch/mips/ddb5074/pci.c                   |    4 ++--
 25-akpm/arch/mips/ddb5476/pci.c                   |    4 ++--
 25-akpm/arch/mips/ddb5xxx/common/pci.c            |    4 ++--
 25-akpm/arch/mips/gt64120/common/pci.c            |    4 ++--
 25-akpm/arch/mips/ite-boards/generic/it8172_pci.c |    7 ++++---
 25-akpm/arch/mips/kernel/pci.c                    |    4 ++--
 25-akpm/arch/mips/mips-boards/generic/pci.c       |    7 ++++---
 25-akpm/arch/mips/sni/pci.c                       |    4 ++--
 25-akpm/arch/mips64/mips-boards/generic/pci.c     |    7 ++++---
 25-akpm/arch/mips64/sgi-ip27/ip27-pci.c           |    7 ++++---
 25-akpm/arch/mips64/sgi-ip32/ip32-pci.c           |    4 ++--
 25-akpm/arch/parisc/kernel/pci.c                  |    1 -
 25-akpm/arch/ppc/kernel/pci.c                     |    4 ++--
 25-akpm/arch/ppc64/kernel/pci.c                   |    4 ++--
 25-akpm/arch/sh/kernel/pcibios.c                  |    4 ++--
 25-akpm/arch/sparc/kernel/pcic.c                  |    4 ++--
 25-akpm/arch/sparc64/kernel/pci.c                 |    4 ++--
 25-akpm/arch/v850/kernel/rte_mb_a_pci.c           |    3 +--
 25-akpm/arch/x86_64/pci/x86-64.c                  |    4 ++--
 25-akpm/drivers/pci/setup-res.c                   |    4 ++--
 25-akpm/include/linux/pci.h                       |    3 +--
 25 files changed, 56 insertions(+), 54 deletions(-)

diff -puN arch/alpha/kernel/pci.c~pci-7 arch/alpha/kernel/pci.c
--- 25/arch/alpha/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/alpha/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -265,8 +265,8 @@ pcibios_fixup_bus(struct pci_bus *bus)
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *parent,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	struct pci_controller *hose = dev->sysdata;
 	struct resource *root;
diff -puN arch/arm/kernel/bios32.c~pci-7 arch/arm/kernel/bios32.c
--- 25/arch/arm/kernel/bios32.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/arm/kernel/bios32.c	Thu Mar 13 15:49:13 2003
@@ -260,8 +260,8 @@ struct pci_fixup pcibios_fixups[] = {
 };
 
 void __devinit
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	struct pci_sys_data *sys = dev->sysdata;
 	u32 val, check;
diff -puN arch/i386/pci/i386.c~pci-7 arch/i386/pci/i386.c
--- 25/arch/i386/pci/i386.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/i386/pci/i386.c	Thu Mar 13 15:49:13 2003
@@ -34,8 +34,8 @@
 #include "pci.h"
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/ia64/pci/pci.c~pci-7 arch/ia64/pci/pci.c
--- 25/arch/ia64/pci/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/ia64/pci/pci.c	Thu Mar 13 15:49:13 2003
@@ -144,8 +144,8 @@ pcibios_fixup_bus (struct pci_bus *b)
 }
 
 void __devinit
-pcibios_update_resource (struct pci_dev *dev, struct resource *root,
-			 struct resource *res, int resource)
+pcibios_update_resource (struct pci_dev *dev, struct resource *res,
+			 int resource)
 {
 	unsigned long where, size;
 	u32 reg;
@@ -153,7 +153,8 @@ pcibios_update_resource (struct pci_dev 
 	where = PCI_BASE_ADDRESS_0 + (resource * 4);
 	size = res->end - res->start;
 	pci_read_config_dword(dev, where, &reg);
-	reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
+	/* FIXME - this doesn't work for PCI-PCI bridges. */
+	reg = (reg & size) | (((u32)(res->start - res->parent->start)) & ~size);
 	pci_write_config_dword(dev, where, reg);
 
 	/* ??? FIXME -- record old value for shutdown.  */
diff -puN arch/mips64/mips-boards/generic/pci.c~pci-7 arch/mips64/mips-boards/generic/pci.c
--- 25/arch/mips64/mips-boards/generic/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips64/mips-boards/generic/pci.c	Thu Mar 13 15:49:13 2003
@@ -308,8 +308,8 @@ struct pci_fixup pcibios_fixups[] = {
 };
 
 void __init
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-                        struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	unsigned long where, size;
 	u32 reg;
@@ -317,7 +317,8 @@ pcibios_update_resource(struct pci_dev *
 	where = PCI_BASE_ADDRESS_0 + (resource * 4);
 	size = res->end - res->start;
 	pci_read_config_dword(dev, where, &reg);
-	reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
+	/* FIXME - this doesn't work for PCI-PCI bridges. */
+	reg = (reg & size) | (((u32)(res->start - res->parent->start)) & ~size);
 	pci_write_config_dword(dev, where, reg);
 }
 
diff -puN arch/mips64/sgi-ip27/ip27-pci.c~pci-7 arch/mips64/sgi-ip27/ip27-pci.c
--- 25/arch/mips64/sgi-ip27/ip27-pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips64/sgi-ip27/ip27-pci.c	Thu Mar 13 15:49:13 2003
@@ -215,8 +215,8 @@ pcibios_update_irq(struct pci_dev *dev, 
 }
 
 void __init
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-                        struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	unsigned long where, size;
 	u32 reg;
@@ -224,7 +224,8 @@ pcibios_update_resource(struct pci_dev *
 	where = PCI_BASE_ADDRESS_0 + (resource * 4);
 	size = res->end - res->start;
 	pci_read_config_dword(dev, where, &reg);
-	reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
+	/* FIXME - this doesn't work for PCI-PCI bridges. */
+	reg = (reg & size) | (((u32)(res->start - res->parent->start)) & ~size);
 	pci_write_config_dword(dev, where, reg);
 }
 
diff -puN arch/mips64/sgi-ip32/ip32-pci.c~pci-7 arch/mips64/sgi-ip32/ip32-pci.c
--- 25/arch/mips64/sgi-ip32/ip32-pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips64/sgi-ip32/ip32-pci.c	Thu Mar 13 15:49:13 2003
@@ -333,8 +333,8 @@ void __init pcibios_align_resource (void
 {
 }
 
-void __init pcibios_update_resource (struct pci_dev *dev, struct resource *root,
-				     struct resource *res, int resource)
+void __init pcibios_update_resource (struct pci_dev *dev, struct resource *res,
+				     int resource)
 {
 }
 
diff -puN arch/mips/ddb5074/pci.c~pci-7 arch/mips/ddb5074/pci.c
--- 25/arch/mips/ddb5074/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/ddb5074/pci.c	Thu Mar 13 15:49:13 2003
@@ -341,8 +341,8 @@ int pcibios_enable_device(struct pci_dev
 	return pcibios_enable_resources(dev);
 }
 
-void pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			     struct resource *res, int resource)
+void pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			     int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/mips/ddb5476/pci.c~pci-7 arch/mips/ddb5476/pci.c
--- 25/arch/mips/ddb5476/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/ddb5476/pci.c	Thu Mar 13 15:49:13 2003
@@ -399,8 +399,8 @@ int pcibios_enable_device(struct pci_dev
 	return pcibios_enable_resources(dev);
 }
 
-void pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			     struct resource *res, int resource)
+void pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			     int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/mips/ddb5xxx/common/pci.c~pci-7 arch/mips/ddb5xxx/common/pci.c
--- 25/arch/mips/ddb5xxx/common/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/ddb5xxx/common/pci.c	Thu Mar 13 15:49:13 2003
@@ -172,8 +172,8 @@ pcibios_align_resource(void *data, struc
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-                             struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	/* this should not be called */
 	MIPS_ASSERT(1 == 0);
diff -puN arch/mips/gt64120/common/pci.c~pci-7 arch/mips/gt64120/common/pci.c
--- 25/arch/mips/gt64120/common/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/gt64120/common/pci.c	Thu Mar 13 15:49:13 2003
@@ -785,8 +785,8 @@ int pcibios_enable_device(struct pci_dev
 	return pcibios_enable_resources(dev);
 }
 
-void pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			     struct resource *res, int resource)
+void pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			     int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/mips/ite-boards/generic/it8172_pci.c~pci-7 arch/mips/ite-boards/generic/it8172_pci.c
--- 25/arch/mips/ite-boards/generic/it8172_pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/ite-boards/generic/it8172_pci.c	Thu Mar 13 15:49:13 2003
@@ -197,8 +197,8 @@ pcibios_setup(char *str)
 }
 
 void __init
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-                        struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	unsigned long where, size;
 	u32 reg;
@@ -206,7 +206,8 @@ pcibios_update_resource(struct pci_dev *
 	where = PCI_BASE_ADDRESS_0 + (resource * 4);
 	size = res->end - res->start;
 	pci_read_config_dword(dev, where, &reg);
-	reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
+	/* FIXME - this doesn't work for PCI-PCI bridges. */
+	reg = (reg & size) | (((u32)(res->start - res->parent->start)) & ~size);
 	pci_write_config_dword(dev, where, reg);
 }
 
diff -puN arch/mips/kernel/pci.c~pci-7 arch/mips/kernel/pci.c
--- 25/arch/mips/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -168,8 +168,8 @@ pcibios_align_resource(void *data, struc
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	/* this should not be called */
 }
diff -puN arch/mips/mips-boards/generic/pci.c~pci-7 arch/mips/mips-boards/generic/pci.c
--- 25/arch/mips/mips-boards/generic/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/mips-boards/generic/pci.c	Thu Mar 13 15:49:13 2003
@@ -249,8 +249,8 @@ struct pci_fixup pcibios_fixups[] = {
 };
 
 void __init
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-                        struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	unsigned long where, size;
 	u32 reg;
@@ -258,7 +258,8 @@ pcibios_update_resource(struct pci_dev *
 	where = PCI_BASE_ADDRESS_0 + (resource * 4);
 	size = res->end - res->start;
 	pci_read_config_dword(dev, where, &reg);
-	reg = (reg & size) | (((u32)(res->start - root->start)) & ~size);
+	/* FIXME - this doesn't work for PCI-PCI bridges. */
+	reg = (reg & size) | (((u32)(res->start - res->parent->start)) & ~size);
 	pci_write_config_dword(dev, where, reg);
 }
 
diff -puN arch/mips/sni/pci.c~pci-7 arch/mips/sni/pci.c
--- 25/arch/mips/sni/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/mips/sni/pci.c	Thu Mar 13 15:49:13 2003
@@ -138,8 +138,8 @@ pcibios_fixup_bus(struct pci_bus *b)
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/parisc/kernel/pci.c~pci-7 arch/parisc/kernel/pci.c
--- 25/arch/parisc/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/parisc/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -211,7 +211,6 @@ void __devinit pcibios_update_irq(struct
 void __devinit
 pcibios_update_resource(
 	struct pci_dev *dev,
-	struct resource *root,
 	struct resource *res,
 	int barnum
 	)
diff -puN arch/ppc64/kernel/pci.c~pci-7 arch/ppc64/kernel/pci.c
--- 25/arch/ppc64/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/ppc64/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -134,8 +134,8 @@ void __devinit pcibios_fixup_pbus_ranges
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			     struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/ppc/kernel/pci.c~pci-7 arch/ppc/kernel/pci.c
--- 25/arch/ppc/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/ppc/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -94,8 +94,8 @@ fixup_broken_pcnet32(struct pci_dev* dev
 }
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/sh/kernel/pcibios.c~pci-7 arch/sh/kernel/pcibios.c
--- 25/arch/sh/kernel/pcibios.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/sh/kernel/pcibios.c	Thu Mar 13 15:49:13 2003
@@ -27,8 +27,8 @@
 #include <linux/init.h>
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/sparc64/kernel/pci.c~pci-7 arch/sparc64/kernel/pci.c
--- 25/arch/sparc64/kernel/pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/sparc64/kernel/pci.c	Thu Mar 13 15:49:13 2003
@@ -470,8 +470,8 @@ int pci_assign_resource(struct pci_dev *
 	return err;
 }
 
-void pcibios_update_resource(struct pci_dev *pdev, struct resource *res1,
-			     struct resource *res2, int index)
+void pcibios_update_resource(struct pci_dev *pdev, struct resource *res,
+			     int index)
 {
 }
 
diff -puN arch/sparc/kernel/pcic.c~pci-7 arch/sparc/kernel/pcic.c
--- 25/arch/sparc/kernel/pcic.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/sparc/kernel/pcic.c	Thu Mar 13 15:49:13 2003
@@ -856,8 +856,8 @@ char * __init pcibios_setup(char *str)
 
 /*
  */
-void pcibios_update_resource(struct pci_dev *pdev, struct resource *res1,
-			     struct resource *res2, int index)
+void pcibios_update_resource(struct pci_dev *pdev, struct resource *res,
+			     int index)
 {
 }
 
diff -puN arch/v850/kernel/rte_mb_a_pci.c~pci-7 arch/v850/kernel/rte_mb_a_pci.c
--- 25/arch/v850/kernel/rte_mb_a_pci.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/v850/kernel/rte_mb_a_pci.c	Thu Mar 13 15:49:13 2003
@@ -288,8 +288,7 @@ void __devinit pcibios_update_irq (struc
 }
 
 void __nomods_init
-pcibios_update_resource (struct pci_dev *dev, struct resource *root,
-			 struct resource *r, int resource)
+pcibios_update_resource (struct pci_dev *dev, struct resource *r, int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN arch/x86_64/pci/x86-64.c~pci-7 arch/x86_64/pci/x86-64.c
--- 25/arch/x86_64/pci/x86-64.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/arch/x86_64/pci/x86-64.c	Thu Mar 13 15:49:13 2003
@@ -34,8 +34,8 @@
 #include "pci.h"
 
 void
-pcibios_update_resource(struct pci_dev *dev, struct resource *root,
-			struct resource *res, int resource)
+pcibios_update_resource(struct pci_dev *dev, struct resource *res,
+			int resource)
 {
 	u32 new, check;
 	int reg;
diff -puN drivers/pci/setup-res.c~pci-7 drivers/pci/setup-res.c
--- 25/drivers/pci/setup-res.c~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/drivers/pci/setup-res.c	Thu Mar 13 15:49:13 2003
@@ -90,9 +90,9 @@ int pci_assign_resource(struct pci_dev *
 		       resno, res->start, res->end, dev->slot_name);
 	} else {
 		DBGC((KERN_ERR "  got res[%lx:%lx] for resource %d of %s\n",
-		      res->start, res->end, i, dev->dev.name));
+		      res->start, res->end, resno, dev->dev.name));
 		/* Update PCI config space.  */
-		pcibios_update_resource(dev, res->parent, res, resno);
+		pcibios_update_resource(dev, res, resno);
 	}
 
 	return ret;
diff -puN include/linux/pci.h~pci-7 include/linux/pci.h
--- 25/include/linux/pci.h~pci-7	Thu Mar 13 15:49:13 2003
+++ 25-akpm/include/linux/pci.h	Thu Mar 13 15:49:13 2003
@@ -531,8 +531,7 @@ char *pcibios_setup (char *str);
 /* Used only when drivers/pci/setup.c is used */
 void pcibios_align_resource(void *, struct resource *,
 			    unsigned long, unsigned long);
-void pcibios_update_resource(struct pci_dev *, struct resource *,
-			     struct resource *, int);
+void pcibios_update_resource(struct pci_dev *, struct resource *, int);
 void pcibios_update_irq(struct pci_dev *, int irq);
 void pcibios_fixup_pbus_ranges(struct pci_bus *, struct pbus_set_ranges_data *);
 

_