diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2007-07-11 00:37:45 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-07-23 11:27:07 -0400 |
commit | 38805e5f096162867a70c7468c654d7f9bb507da (patch) | |
tree | 841b3de2dc1b7c968564c39939398cda0427fb00 | |
parent | 9ac4dd301eebb3cd8de801e02bfc91f296e56f63 (diff) |
[POWERPC] Add the ability to find PCI capabilities early on
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>
-rw-r--r-- | arch/powerpc/kernel/pci_32.c | 7 | ||||
-rw-r--r-- | include/asm-powerpc/pci-bridge.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/pci_32.c b/arch/powerpc/kernel/pci_32.c index 0adf077f3f3a..bfcfa14e831f 100644 --- a/arch/powerpc/kernel/pci_32.c +++ b/arch/powerpc/kernel/pci_32.c | |||
@@ -1468,3 +1468,10 @@ EARLY_PCI_OP(read, dword, u32 *) | |||
1468 | EARLY_PCI_OP(write, byte, u8) | 1468 | EARLY_PCI_OP(write, byte, u8) |
1469 | EARLY_PCI_OP(write, word, u16) | 1469 | EARLY_PCI_OP(write, word, u16) |
1470 | EARLY_PCI_OP(write, dword, u32) | 1470 | EARLY_PCI_OP(write, dword, u32) |
1471 | |||
1472 | extern int pci_bus_find_capability (struct pci_bus *bus, unsigned int devfn, int cap); | ||
1473 | int early_find_capability(struct pci_controller *hose, int bus, int devfn, | ||
1474 | int cap) | ||
1475 | { | ||
1476 | return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap); | ||
1477 | } | ||
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h index e72c2a60853c..7a00b8e388ec 100644 --- a/include/asm-powerpc/pci-bridge.h +++ b/include/asm-powerpc/pci-bridge.h | |||
@@ -79,6 +79,9 @@ int early_write_config_word(struct pci_controller *hose, int bus, int dev_fn, | |||
79 | int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn, | 79 | int early_write_config_dword(struct pci_controller *hose, int bus, int dev_fn, |
80 | int where, u32 val); | 80 | int where, u32 val); |
81 | 81 | ||
82 | extern int early_find_capability(struct pci_controller *hose, int bus, | ||
83 | int dev_fn, int cap); | ||
84 | |||
82 | extern void setup_indirect_pci_nomap(struct pci_controller* hose, | 85 | extern void setup_indirect_pci_nomap(struct pci_controller* hose, |
83 | void __iomem *cfg_addr, void __iomem *cfg_data); | 86 | void __iomem *cfg_addr, void __iomem *cfg_data); |
84 | extern void setup_indirect_pci(struct pci_controller* hose, | 87 | extern void setup_indirect_pci(struct pci_controller* hose, |