[POWERPC] Add the ability to find PCI capabilities early on
authorKumar Gala <galak@kernel.crashing.org>
Wed, 11 Jul 2007 04:37:45 +0000 (23:37 -0500)
committerKumar Gala <galak@kernel.crashing.org>
Mon, 23 Jul 2007 15:27:07 +0000 (10:27 -0500)
Added early_find_capability that wraps pci_bus_find_capability and uses
fake_pci_bus() to allow us to call it before we've fully setup the
pci_controller.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/kernel/pci_32.c
include/asm-powerpc/pci-bridge.h

index 0adf077..bfcfa14 100644 (file)
@@ -1468,3 +1468,10 @@ EARLY_PCI_OP(read, dword, u32 *)
 EARLY_PCI_OP(write, byte, u8)
 EARLY_PCI_OP(write, word, u16)
 EARLY_PCI_OP(write, dword, u32)
+
+extern int pci_bus_find_capability (struct pci_bus *bus, unsigned int devfn, int cap);
+int early_find_capability(struct pci_controller *hose, int bus, int devfn,
+                         int cap)
+{
+       return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap);
+}
index e72c2a6..7a00b8e 100644 (file)
@@ -79,6 +79,9 @@ int early_write_config_word(struct pci_controller *hose, int bus, int dev_fn,
 int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn,
                             int where, u32 val);
 
+extern int early_find_capability(struct pci_controller *hose, int bus,
+                                int dev_fn, int cap);
+
 extern void setup_indirect_pci_nomap(struct pci_controller* hose,
                               void __iomem *cfg_addr, void __iomem *cfg_data);
 extern void setup_indirect_pci(struct pci_controller* hose,