svn commit: r231002 - in projects/pseries: dev/ofw powerpc/ofw
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Sun Feb 5 00:31:08 UTC 2012
Author: nwhitehorn
Date: Sun Feb 5 00:31:07 2012
New Revision: 231002
URL: http://svn.freebsd.org/changeset/base/231002
Log:
Choose to use a OF_xref_phandle() differently: for interrupt parents,
use whatever is in the firmware tree for cross-referencing, and store
the PIC id as the xref phandle (as we already do in xics).
Modified:
projects/pseries/dev/ofw/ofw_bus_subr.c
projects/pseries/powerpc/ofw/ofw_pcibus.c
Modified: projects/pseries/dev/ofw/ofw_bus_subr.c
==============================================================================
--- projects/pseries/dev/ofw/ofw_bus_subr.c Sat Feb 4 23:29:07 2012 (r231001)
+++ projects/pseries/dev/ofw/ofw_bus_subr.c Sun Feb 5 00:31:07 2012 (r231002)
@@ -285,8 +285,7 @@ ofw_bus_search_intrmap(void *intr, int i
i = imapsz;
while (i > 0) {
bcopy(mptr + physsz + intrsz, &parent, sizeof(parent));
- parent = OF_xref_phandle(parent);
- if (OF_searchprop(parent, "#interrupt-cells",
+ if (OF_searchprop(OF_xref_phandle(parent), "#interrupt-cells",
&pintrsz, sizeof(pintrsz)) == -1)
pintrsz = 1; /* default */
pintrsz *= sizeof(pcell_t);
Modified: projects/pseries/powerpc/ofw/ofw_pcibus.c
==============================================================================
--- projects/pseries/powerpc/ofw/ofw_pcibus.c Sat Feb 4 23:29:07 2012 (r231001)
+++ projects/pseries/powerpc/ofw/ofw_pcibus.c Sun Feb 5 00:31:07 2012 (r231002)
@@ -213,11 +213,10 @@ ofw_pcibus_enum_devtree(device_t dev, u_
icells = 1;
OF_getprop(child, "interrupt-parent", &iparent,
sizeof(iparent));
- iparent = OF_xref_phandle(iparent);
-
if (iparent != 0) {
- OF_getprop(iparent, "#interrupt-cells",
- &icells, sizeof(icells));
+ OF_getprop(OF_xref_phandle(iparent),
+ "#interrupt-cells", &icells,
+ sizeof(icells));
intr[0] = MAP_IRQ(iparent, intr[0]);
}
@@ -346,8 +345,6 @@ ofw_pcibus_assign_interrupt(device_t dev
iparent = -1;
if (OF_getprop(node, "interrupt-parent", &iparent, sizeof(iparent)) < 0)
iparent = -1;
- else
- iparent = OF_xref_phandle(iparent);
/*
* Any AAPL,interrupts property gets priority and is
More information about the svn-src-projects
mailing list