]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/powerpc/kernel/pci_32.c
[POWERPC] Provide ability to setup P2P bridge registers from struct resource
[mv-sheeva.git] / arch / powerpc / kernel / pci_32.c
index bfcfa14e831f4bf02f629f777be80865e5a99675..721a69400d6557c86fe2c3cc46705130c80df95d 100644 (file)
@@ -415,15 +415,13 @@ probe_resource(struct pci_bus *parent, struct resource *pr,
        return 0;
 }
 
-static void __init
-update_bridge_base(struct pci_bus *bus, int i)
+void __init
+update_bridge_resource(struct pci_dev *dev, struct resource *res)
 {
-       struct resource *res = bus->resource[i];
        u8 io_base_lo, io_limit_lo;
        u16 mem_base, mem_limit;
        u16 cmd;
        unsigned long start, end, off;
-       struct pci_dev *dev = bus->self;
        struct pci_controller *hose = dev->sysdata;
 
        if (!hose) {
@@ -467,12 +465,20 @@ update_bridge_base(struct pci_bus *bus, int i)
                pci_write_config_word(dev, PCI_PREF_MEMORY_LIMIT, mem_limit);
 
        } else {
-               DBG(KERN_ERR "PCI: ugh, bridge %s res %d has flags=%lx\n",
-                   pci_name(dev), i, res->flags);
+               DBG(KERN_ERR "PCI: ugh, bridge %s res has flags=%lx\n",
+                   pci_name(dev), res->flags);
        }
        pci_write_config_word(dev, PCI_COMMAND, cmd);
 }
 
+static void __init
+update_bridge_base(struct pci_bus *bus, int i)
+{
+       struct resource *res = bus->resource[i];
+       struct pci_dev *dev = bus->self;
+       update_bridge_resource(dev, res);
+}
+
 static inline void alloc_resource(struct pci_dev *dev, int idx)
 {
        struct resource *pr, *r = &dev->resource[idx];