diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-26 17:00:09 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-26 17:00:09 -0400 |
| commit | 9f5577d8158d8190174d95cbf21713251cc8a044 (patch) | |
| tree | 3656a23b397d4efb303b560d921a5206e934a3bd /include/asm-powerpc | |
| parent | 257f49251c802c67030c11f63cee4ed7b50f6639 (diff) | |
| parent | 46b2835771ad8ef19b8e081e8c90439408c7645f (diff) | |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (21 commits)
[POWERPC] spusched: Fix initial timeslice calculation
[POWERPC] spufs: Fix incorrect initialization of cbe_spu_info.spus
[POWERPC] Fix Maple platform ISA bus
[POWERPC] Make pci_iounmap actually unmap things
[POWERPC] Add function to check if address is an IO port
[POWERPC] Fix Pegasos keyboard detection
[POWERPC] iSeries: Fix section mismatch warning in lpevents
[POWERPC] iSeries: Fix section mismatch warnings
[POWERPC] iSeries: We need vio_enable_interrupts
[POWERPC] Fix RTC and device tree on linkstation machines
[POWERPC] Add of_register_i2c_devices()
[POWERPC] Fix loop with unsigned long counter variable
[POWERPC] Fix register labels on show_regs() message for 4xx/Book-E
[POWERPC] Only allow building of BootX text support on PPC_MULTIPLATFORM
[POWERPC] Fix the ability to reset on MPC8544 DS and MPC8568 MDS boards
[POWERPC] Fix mpc7448hpc2 tsi108 device_type bug
[POWREPC] Fixup a number of modpost warnings on ppc32
[POWERPC] Fix ethernet PHY support on MPC8544 DS
[POWERPC] Don't try to allocate resources for a Freescale POWERPC PHB
Revert "[POWERPC] Don't complain if size-cells == 0 in prom_parse()"
...
Diffstat (limited to 'include/asm-powerpc')
| -rw-r--r-- | include/asm-powerpc/pci-bridge.h | 20 | ||||
| -rw-r--r-- | include/asm-powerpc/ppc_asm.h | 12 | ||||
| -rw-r--r-- | include/asm-powerpc/vio.h | 5 |
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 | ||
| 74 | static 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. */ |
| 76 | int early_read_config_byte(struct pci_controller *hose, int bus, int dev_fn, | 84 | int 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 | ||
| 242 | extern void isa_bridge_find_early(struct pci_controller *hose); | 250 | extern void isa_bridge_find_early(struct pci_controller *hose); |
| 243 | 251 | ||
| 252 | static 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 | |||
| 244 | extern int pcibios_unmap_io_space(struct pci_bus *bus); | 259 | extern int pcibios_unmap_io_space(struct pci_bus *bus); |
| 245 | extern int pcibios_map_io_space(struct pci_bus *bus); | 260 | extern int pcibios_map_io_space(struct pci_bus *bus); |
| 246 | 261 | ||
| @@ -271,11 +286,16 @@ extern struct pci_controller * | |||
| 271 | pcibios_alloc_controller(struct device_node *dev); | 286 | pcibios_alloc_controller(struct device_node *dev); |
| 272 | #ifdef CONFIG_PCI | 287 | #ifdef CONFIG_PCI |
| 273 | extern unsigned long pci_address_to_pio(phys_addr_t address); | 288 | extern unsigned long pci_address_to_pio(phys_addr_t address); |
| 289 | extern int pcibios_vaddr_is_ioport(void __iomem *address); | ||
| 274 | #else | 290 | #else |
| 275 | static inline unsigned long pci_address_to_pio(phys_addr_t address) | 291 | static 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 | } |
| 295 | static 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; \ |
| 182 | GLUE(.,name): | 182 | GLUE(.,name): |
| 183 | 183 | ||
| 184 | #define _INIT_STATIC(name) \ | ||
| 185 | .section ".text.init.refok"; \ | ||
| 186 | .align 2 ; \ | ||
| 187 | .section ".opd","aw"; \ | ||
| 188 | name: \ | ||
| 189 | .quad GLUE(.,name); \ | ||
| 190 | .quad .TOC.@tocbase; \ | ||
| 191 | .quad 0; \ | ||
| 192 | .previous; \ | ||
| 193 | .type GLUE(.,name),@function; \ | ||
| 194 | GLUE(.,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, | |||
| 80 | extern struct vio_dev *vio_find_node(struct device_node *vnode); | 80 | extern struct vio_dev *vio_find_node(struct device_node *vnode); |
| 81 | extern int vio_enable_interrupts(struct vio_dev *dev); | 81 | extern int vio_enable_interrupts(struct vio_dev *dev); |
| 82 | extern int vio_disable_interrupts(struct vio_dev *dev); | 82 | extern int vio_disable_interrupts(struct vio_dev *dev); |
| 83 | #else | ||
| 84 | static inline int vio_enable_interrupts(struct vio_dev *dev) | ||
| 85 | { | ||
| 86 | return 0; | ||
| 87 | } | ||
| 83 | #endif | 88 | #endif |
| 84 | 89 | ||
| 85 | static inline struct vio_driver *to_vio_driver(struct device_driver *drv) | 90 | static inline struct vio_driver *to_vio_driver(struct device_driver *drv) |
