aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/pci-common.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-26 17:00:09 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-07-26 17:00:09 -0400
commit9f5577d8158d8190174d95cbf21713251cc8a044 (patch)
tree3656a23b397d4efb303b560d921a5206e934a3bd /arch/powerpc/kernel/pci-common.c
parent257f49251c802c67030c11f63cee4ed7b50f6639 (diff)
parent46b2835771ad8ef19b8e081e8c90439408c7645f (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.c25
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
68struct 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
104int 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 */