summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authorbenno <benno@FreeBSD.org>2003-01-09 12:24:19 +0000
committerbenno <benno@FreeBSD.org>2003-01-09 12:24:19 +0000
commit18aa48c73518482d3b88b3e67ec7a4eae6d8ac88 (patch)
treece90d3513db866c2b13c61160cb3f97f57e50ed6 /sys/powerpc
parent8635b79dadea6c09ccc2b0699f326b488d3c95d9 (diff)
downloadFreeBSD-src-18aa48c73518482d3b88b3e67ec7a4eae6d8ac88.zip
FreeBSD-src-18aa48c73518482d3b88b3e67ec7a4eae6d8ac88.tar.gz
Make ofw_pci_find_node() use the reg property instead of the
assigned-addresses property. This works a lot better.
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/ofw/ofw_pci.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/powerpc/ofw/ofw_pci.c b/sys/powerpc/ofw/ofw_pci.c
index bcfab74..138ae6e 100644
--- a/sys/powerpc/ofw/ofw_pci.c
+++ b/sys/powerpc/ofw/ofw_pci.c
@@ -54,15 +54,15 @@ phandle_t
ofw_pci_find_node(device_t dev)
{
phandle_t node, nextnode;
- u_int reg[5];
+ struct ofw_pci_register pcir;
int l, b, s, f;
for (node = OF_peer(0); node; node = nextnode) {
- l = OF_getprop(node, "assigned-addresses", reg, sizeof(reg));
+ l = OF_getprop(node, "reg", &pcir, sizeof(pcir));
if (l > 4) {
- b = (reg[0] >> 16) & 0xff;
- s = (reg[0] >> 11) & 0x1f;
- f = (reg[0] >> 8) & 0x07;
+ b = OFW_PCI_PHYS_HI_BUS(pcir.phys_hi);
+ s = OFW_PCI_PHYS_HI_DEVICE(pcir.phys_hi);
+ f = OFW_PCI_PHYS_HI_FUNCTION(pcir.phys_hi);
if (b == pci_get_bus(dev) && s == pci_get_slot(dev) &&
f == pci_get_function(dev))
OpenPOWER on IntegriCloud