aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-powerpc')
-rw-r--r--include/asm-powerpc/pci-bridge.h20
-rw-r--r--include/asm-powerpc/ppc_asm.h12
-rw-r--r--include/asm-powerpc/vio.h5
3 files changed, 37 insertions, 0 deletions
diff --git a/include/asm-powerpc/pci-bridge.h b/include/asm-powerpc/pci-bridge.h
index d53e0eb1de16..e909769b6410 100644
--- a/include/asm-powerpc/pci-bridge.h
+++ b/include/asm-powerpc/pci-bridge.h
@@ -71,6 +71,14 @@ static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
71 return bus->sysdata; 71 return bus->sysdata;
72} 72}
73 73
74static inline int isa_vaddr_is_ioport(void __iomem *address)
75{
76 /* No specific ISA handling on ppc32 at this stage, it
77 * all goes through PCI
78 */
79 return 0;
80}
81
74/* These are used for config access before all the PCI probing 82/* These are used for config access before all the PCI probing
75 has been done. */ 83 has been done. */
76int early_read_config_byte(struct pci_controller *hose, int bus, int dev_fn, 84int early_read_config_byte(struct pci_controller *hose, int bus, int dev_fn,
@@ -241,6 +249,13 @@ extern void pcibios_free_controller(struct pci_controller *phb);
241 249
242extern void isa_bridge_find_early(struct pci_controller *hose); 250extern void isa_bridge_find_early(struct pci_controller *hose);
243 251
252static inline int isa_vaddr_is_ioport(void __iomem *address)
253{
254 /* Check if address hits the reserved legacy IO range */
255 unsigned long ea = (unsigned long)address;
256 return ea >= ISA_IO_BASE && ea < ISA_IO_END;
257}
258
244extern int pcibios_unmap_io_space(struct pci_bus *bus); 259extern int pcibios_unmap_io_space(struct pci_bus *bus);
245extern int pcibios_map_io_space(struct pci_bus *bus); 260extern int pcibios_map_io_space(struct pci_bus *bus);
246 261
@@ -271,11 +286,16 @@ extern struct pci_controller *
271pcibios_alloc_controller(struct device_node *dev); 286pcibios_alloc_controller(struct device_node *dev);
272#ifdef CONFIG_PCI 287#ifdef CONFIG_PCI
273extern unsigned long pci_address_to_pio(phys_addr_t address); 288extern unsigned long pci_address_to_pio(phys_addr_t address);
289extern int pcibios_vaddr_is_ioport(void __iomem *address);
274#else 290#else
275static inline unsigned long pci_address_to_pio(phys_addr_t address) 291static inline unsigned long pci_address_to_pio(phys_addr_t address)
276{ 292{
277 return (unsigned long)-1; 293 return (unsigned long)-1;
278} 294}
295static inline int pcibios_vaddr_is_ioport(void __iomem *address)
296{
297 return 0;
298}
279#endif 299#endif
280 300
281 301
diff --git a/include/asm-powerpc/ppc_asm.h b/include/asm-powerpc/ppc_asm.h
index fa083d8e4663..65325721446d 100644
--- a/include/asm-powerpc/ppc_asm.h
+++ b/include/asm-powerpc/ppc_asm.h
@@ -181,6 +181,18 @@ name: \
181 .type GLUE(.,name),@function; \ 181 .type GLUE(.,name),@function; \
182GLUE(.,name): 182GLUE(.,name):
183 183
184#define _INIT_STATIC(name) \
185 .section ".text.init.refok"; \
186 .align 2 ; \
187 .section ".opd","aw"; \
188name: \
189 .quad GLUE(.,name); \
190 .quad .TOC.@tocbase; \
191 .quad 0; \
192 .previous; \
193 .type GLUE(.,name),@function; \
194GLUE(.,name):
195
184#else /* 32-bit */ 196#else /* 32-bit */
185 197
186#define _GLOBAL(n) \ 198#define _GLOBAL(n) \
diff --git a/include/asm-powerpc/vio.h b/include/asm-powerpc/vio.h
index 0117b544ecbc..3a0975e2adad 100644
--- a/include/asm-powerpc/vio.h
+++ b/include/asm-powerpc/vio.h
@@ -80,6 +80,11 @@ extern const void *vio_get_attribute(struct vio_dev *vdev, char *which,
80extern struct vio_dev *vio_find_node(struct device_node *vnode); 80extern struct vio_dev *vio_find_node(struct device_node *vnode);
81extern int vio_enable_interrupts(struct vio_dev *dev); 81extern int vio_enable_interrupts(struct vio_dev *dev);
82extern int vio_disable_interrupts(struct vio_dev *dev); 82extern int vio_disable_interrupts(struct vio_dev *dev);
83#else
84static inline int vio_enable_interrupts(struct vio_dev *dev)
85{
86 return 0;
87}
83#endif 88#endif
84 89
85static inline struct vio_driver *to_vio_driver(struct device_driver *drv) 90static inline struct vio_driver *to_vio_driver(struct device_driver *drv)