diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-12-19 22:54:51 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-12-20 00:18:09 -0500 |
commit | bf5e2ba28f24f82a64524ef4772c9ebe12e2cd2a (patch) | |
tree | f35c139d124a9276b71260c13c8bddf0aa02b4d7 /include/asm-powerpc | |
parent | fe2d338cdcc628e0abdb4f70570a7fa864c617db (diff) |
[POWERPC] Merge PCI resource fixups
The PCI code in 32 and 64 bits fixes up resources differently.
32 bits uses a header quirk plus handles bridges in pcibios_fixup_bus()
while 64 bits does things in various places depending on whether you
are using OF probing, using PCI hotplug, etc...
This merges those by basically using the 32 bits approach for both,
with various tweaks to make 64 bits work with the new approach.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r-- | include/asm-powerpc/machdep.h | 14 | ||||
-rw-r--r-- | include/asm-powerpc/pci-bridge.h | 2 | ||||
-rw-r--r-- | include/asm-powerpc/pci.h | 6 |
3 files changed, 11 insertions, 11 deletions
diff --git a/include/asm-powerpc/machdep.h b/include/asm-powerpc/machdep.h index d5cd98214fab..ed9103148690 100644 --- a/include/asm-powerpc/machdep.h +++ b/include/asm-powerpc/machdep.h | |||
@@ -205,13 +205,6 @@ struct machdep_calls { | |||
205 | * optional PCI "hooks" | 205 | * optional PCI "hooks" |
206 | */ | 206 | */ |
207 | 207 | ||
208 | /* Called after PPC generic resource fixup to perform | ||
209 | machine specific fixups */ | ||
210 | void (*pcibios_fixup_resources)(struct pci_dev *); | ||
211 | |||
212 | /* Called for each PCI bus in the system when it's probed */ | ||
213 | void (*pcibios_fixup_bus)(struct pci_bus *); | ||
214 | |||
215 | /* Called when pci_enable_device() is called (initial=0) or | 208 | /* Called when pci_enable_device() is called (initial=0) or |
216 | * when a device with no assigned resource is found (initial=1). | 209 | * when a device with no assigned resource is found (initial=1). |
217 | * Returns 0 to allow assignment/enabling of the device. */ | 210 | * Returns 0 to allow assignment/enabling of the device. */ |
@@ -225,6 +218,13 @@ struct machdep_calls { | |||
225 | 218 | ||
226 | #endif /* CONFIG_PPC32 */ | 219 | #endif /* CONFIG_PPC32 */ |
227 | 220 | ||
221 | /* Called after PPC generic resource fixup to perform | ||
222 | machine specific fixups */ | ||
223 | void (*pcibios_fixup_resources)(struct pci_dev *); | ||
224 | |||
225 | /* Called for each PCI bus in the system when it's probed */ | ||
226 | void (*pcibios_fixup_bus)(struct pci_bus *); | ||
227 | |||
228 | /* Called to shutdown machine specific hardware not already controlled | 228 | /* Called to shutdown machine specific hardware not already controlled |
229 | * by other drivers. | 229 | * by other drivers. |
230 | */ | 230 | */ |
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h index fed8f52071f1..4aeef7f3d766 100644 --- a/include/asm-powerpc/pci-bridge.h +++ b/include/asm-powerpc/pci-bridge.h | |||
@@ -235,7 +235,7 @@ extern void pcibios_remove_pci_devices(struct pci_bus *bus); | |||
235 | 235 | ||
236 | /** Discover new pci devices under this bus, and add them */ | 236 | /** Discover new pci devices under this bus, and add them */ |
237 | extern void pcibios_add_pci_devices(struct pci_bus *bus); | 237 | extern void pcibios_add_pci_devices(struct pci_bus *bus); |
238 | extern void pcibios_fixup_new_pci_devices(struct pci_bus *bus, int fix_bus); | 238 | extern void pcibios_fixup_new_pci_devices(struct pci_bus *bus); |
239 | 239 | ||
240 | extern int pcibios_remove_root_bus(struct pci_controller *phb); | 240 | extern int pcibios_remove_root_bus(struct pci_controller *phb); |
241 | 241 | ||
diff --git a/include/asm-powerpc/pci.h b/include/asm-powerpc/pci.h index 2883f566709d..9899d893c162 100644 --- a/include/asm-powerpc/pci.h +++ b/include/asm-powerpc/pci.h | |||
@@ -196,9 +196,6 @@ static inline struct resource *pcibios_select_root(struct pci_dev *pdev, | |||
196 | return root; | 196 | return root; |
197 | } | 197 | } |
198 | 198 | ||
199 | extern void pcibios_fixup_device_resources(struct pci_dev *dev, | ||
200 | struct pci_bus *bus); | ||
201 | |||
202 | extern void pcibios_setup_new_device(struct pci_dev *dev); | 199 | extern void pcibios_setup_new_device(struct pci_dev *dev); |
203 | 200 | ||
204 | extern void pcibios_claim_one_bus(struct pci_bus *b); | 201 | extern void pcibios_claim_one_bus(struct pci_bus *b); |
@@ -226,5 +223,8 @@ extern void pci_resource_to_user(const struct pci_dev *dev, int bar, | |||
226 | const struct resource *rsrc, | 223 | const struct resource *rsrc, |
227 | resource_size_t *start, resource_size_t *end); | 224 | resource_size_t *start, resource_size_t *end); |
228 | 225 | ||
226 | extern void pcibios_do_bus_setup(struct pci_bus *bus); | ||
227 | extern void pcibios_fixup_of_probed_bus(struct pci_bus *bus); | ||
228 | |||
229 | #endif /* __KERNEL__ */ | 229 | #endif /* __KERNEL__ */ |
230 | #endif /* __ASM_POWERPC_PCI_H */ | 230 | #endif /* __ASM_POWERPC_PCI_H */ |