diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-06-18 14:06:27 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2010-06-18 14:06:27 +0000 |
commit | c757ee90aefd19aff23dfb5e938e8e1e8576dbd4 (patch) | |
tree | 28ab8d6b3802ae7f1a631f84f71839a5baa6a137 /sys/powerpc/powermac/uninorthpci.c | |
parent | f26dfb440a0d48a874435768ee94475ddbe496a2 (diff) | |
download | FreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.zip FreeBSD-src-c757ee90aefd19aff23dfb5e938e8e1e8576dbd4.tar.gz |
Provide for multiple, cascaded PICs on PowerPC systems, and extend the
OFW interrupt map interface to also return the device's interrupt parent.
MFC after: 8.1-RELEASE
Diffstat (limited to 'sys/powerpc/powermac/uninorthpci.c')
-rw-r--r-- | sys/powerpc/powermac/uninorthpci.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/powerpc/powermac/uninorthpci.c b/sys/powerpc/powermac/uninorthpci.c index a8e1f2c..cfc8862 100644 --- a/sys/powerpc/powermac/uninorthpci.c +++ b/sys/powerpc/powermac/uninorthpci.c @@ -356,14 +356,15 @@ uninorth_route_interrupt(device_t bus, device_t dev, int pin) struct uninorth_softc *sc; struct ofw_pci_register reg; uint32_t pintr, mintr; + phandle_t iparent; uint8_t maskbuf[sizeof(reg) + sizeof(pintr)]; sc = device_get_softc(bus); pintr = pin; if (ofw_bus_lookup_imap(ofw_bus_get_node(dev), &sc->sc_pci_iinfo, ®, sizeof(reg), &pintr, sizeof(pintr), &mintr, sizeof(mintr), - maskbuf)) - return (mintr); + &iparent, maskbuf)) + return (INTR_VEC(iparent, mintr)); /* Maybe it's a real interrupt, not an intpin */ if (pin > 4) |