summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/pci_common.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-05-07 21:51:41 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-05-08 16:41:12 -0700
commitcfa0652c4eb4ca37f88fcdd7d871cf98d9d98c0e (patch)
tree14a3278bd62870a1b0a8fb3ba709fd2f3f3257ee /arch/sparc64/kernel/pci_common.c
parent36f021b579d195cdc5fa6f3e2bab198b4bf70643 (diff)
downloadlinux-stable-cfa0652c4eb4ca37f88fcdd7d871cf98d9d98c0e.tar.gz
linux-stable-cfa0652c4eb4ca37f88fcdd7d871cf98d9d98c0e.tar.bz2
linux-stable-cfa0652c4eb4ca37f88fcdd7d871cf98d9d98c0e.zip
[SPARC64] PCI: Use common routine to fetch PBM properties.
Namely bus-range and ino-bitmap. This allows us also to eliminate pci_controller_info's pci_{first,last}_busno fields as only the pbm ones are used now. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/pci_common.c')
-rw-r--r--arch/sparc64/kernel/pci_common.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/pci_common.c b/arch/sparc64/kernel/pci_common.c
index 1e6aeedf43c4..b1168bfa16fb 100644
--- a/arch/sparc64/kernel/pci_common.c
+++ b/arch/sparc64/kernel/pci_common.c
@@ -15,6 +15,20 @@
#include "pci_impl.h"
+void pci_get_pbm_props(struct pci_pbm_info *pbm)
+{
+ const u32 *val = of_get_property(pbm->prom_node, "bus-range", NULL);
+
+ pbm->pci_first_busno = val[0];
+ pbm->pci_last_busno = val[1];
+
+ val = of_get_property(pbm->prom_node, "ino-bitmap", NULL);
+ if (val) {
+ pbm->ino_bitmap = (((u64)val[1] << 32UL) |
+ ((u64)val[0] << 0UL));
+ }
+}
+
static void pci_register_legacy_regions(struct resource *io_res,
struct resource *mem_res)
{