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 /arch/powerpc/kernel/pci-common.c | |
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 'arch/powerpc/kernel/pci-common.c')
-rw-r--r-- | arch/powerpc/kernel/pci-common.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index fe7d1255e11e..083cfbdbe0b2 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -65,7 +65,7 @@ static void __devinit pci_setup_pci_controller(struct pci_controller *hose) | |||
65 | spin_unlock(&hose_spinlock); | 65 | spin_unlock(&hose_spinlock); |
66 | } | 66 | } |
67 | 67 | ||
68 | struct pci_controller * pcibios_alloc_controller(struct device_node *dev) | 68 | __init_refok struct pci_controller * pcibios_alloc_controller(struct device_node *dev) |
69 | { | 69 | { |
70 | struct pci_controller *phb; | 70 | struct pci_controller *phb; |
71 | 71 | ||
@@ -101,6 +101,29 @@ void pcibios_free_controller(struct pci_controller *phb) | |||
101 | kfree(phb); | 101 | kfree(phb); |
102 | } | 102 | } |
103 | 103 | ||
104 | int pcibios_vaddr_is_ioport(void __iomem *address) | ||
105 | { | ||
106 | int ret = 0; | ||
107 | struct pci_controller *hose; | ||
108 | unsigned long size; | ||
109 | |||
110 | spin_lock(&hose_spinlock); | ||
111 | list_for_each_entry(hose, &hose_list, list_node) { | ||
112 | #ifdef CONFIG_PPC64 | ||
113 | size = hose->pci_io_size; | ||
114 | #else | ||
115 | size = hose->io_resource.end - hose->io_resource.start + 1; | ||
116 | #endif | ||
117 | if (address >= hose->io_base_virt && | ||
118 | address < (hose->io_base_virt + size)) { | ||
119 | ret = 1; | ||
120 | break; | ||
121 | } | ||
122 | } | ||
123 | spin_unlock(&hose_spinlock); | ||
124 | return ret; | ||
125 | } | ||
126 | |||
104 | /* | 127 | /* |
105 | * Return the domain number for this bus. | 128 | * Return the domain number for this bus. |
106 | */ | 129 | */ |