diff options
author | Sebastian Andrzej Siewior <sebastian@breakpoint.cc> | 2011-01-23 23:28:55 -0500 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-02-04 13:46:50 -0500 |
commit | 04bea68b2f0eeebb089ecc67b618795925268b4a (patch) | |
tree | 80380294ee7e073fe312af590475dc4756826094 /arch/powerpc/include | |
parent | c64eae9a73a847c1698f913c893aa4012d2a30b0 (diff) |
of/pci: move of_irq_map_pci() into generic code
There is a tiny difference between PPC32 and PPC64. Microblaze uses the
PPC32 variant.
Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
[grant.likely@secretlab.ca: Added comment to #endif, moved documentation
block to function implementation, fixed for non ppc and microblaze
compiles]
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r-- | arch/powerpc/include/asm/pci-bridge.h | 10 | ||||
-rw-r--r-- | arch/powerpc/include/asm/prom.h | 15 |
2 files changed, 10 insertions, 15 deletions
diff --git a/arch/powerpc/include/asm/pci-bridge.h b/arch/powerpc/include/asm/pci-bridge.h index 51e9e6f90d12..edeb80fdd2c3 100644 --- a/arch/powerpc/include/asm/pci-bridge.h +++ b/arch/powerpc/include/asm/pci-bridge.h | |||
@@ -171,6 +171,16 @@ static inline struct pci_controller *pci_bus_to_host(const struct pci_bus *bus) | |||
171 | return bus->sysdata; | 171 | return bus->sysdata; |
172 | } | 172 | } |
173 | 173 | ||
174 | static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus) | ||
175 | { | ||
176 | struct pci_controller *host; | ||
177 | |||
178 | if (bus->self) | ||
179 | return pci_device_to_OF_node(bus->self); | ||
180 | host = pci_bus_to_host(bus); | ||
181 | return host ? host->dn : NULL; | ||
182 | } | ||
183 | |||
174 | static inline int isa_vaddr_is_ioport(void __iomem *address) | 184 | static inline int isa_vaddr_is_ioport(void __iomem *address) |
175 | { | 185 | { |
176 | /* No specific ISA handling on ppc32 at this stage, it | 186 | /* No specific ISA handling on ppc32 at this stage, it |
diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h index d72757585595..c189aa5fe1f4 100644 --- a/arch/powerpc/include/asm/prom.h +++ b/arch/powerpc/include/asm/prom.h | |||
@@ -70,21 +70,6 @@ static inline int of_node_to_nid(struct device_node *device) { return 0; } | |||
70 | #endif | 70 | #endif |
71 | #define of_node_to_nid of_node_to_nid | 71 | #define of_node_to_nid of_node_to_nid |
72 | 72 | ||
73 | /** | ||
74 | * of_irq_map_pci - Resolve the interrupt for a PCI device | ||
75 | * @pdev: the device whose interrupt is to be resolved | ||
76 | * @out_irq: structure of_irq filled by this function | ||
77 | * | ||
78 | * This function resolves the PCI interrupt for a given PCI device. If a | ||
79 | * device-node exists for a given pci_dev, it will use normal OF tree | ||
80 | * walking. If not, it will implement standard swizzling and walk up the | ||
81 | * PCI tree until an device-node is found, at which point it will finish | ||
82 | * resolving using the OF tree walking. | ||
83 | */ | ||
84 | struct pci_dev; | ||
85 | struct of_irq; | ||
86 | extern int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq); | ||
87 | |||
88 | extern void of_instantiate_rtc(void); | 73 | extern void of_instantiate_rtc(void); |
89 | 74 | ||
90 | /* These includes are put at the bottom because they may contain things | 75 | /* These includes are put at the bottom because they may contain things |