svn commit: r218073 - in head/sys: arm/include dev/fdt
powerpc/include
Marcel Moolenaar
marcel at FreeBSD.org
Sat Jan 29 20:25:20 UTC 2011
Author: marcel
Date: Sat Jan 29 20:25:20 2011
New Revision: 218073
URL: http://svn.freebsd.org/changeset/base/218073
Log:
Introduce macro FDT_MAP_IRQ to map from an interrupt controller and
interrupt pin pair to a global IRQ number. When multiple PICs exist
on a board, the interrupt pin alone is not unique.
Modified:
head/sys/arm/include/fdt.h
head/sys/dev/fdt/fdt_common.c
head/sys/powerpc/include/fdt.h
Modified: head/sys/arm/include/fdt.h
==============================================================================
--- head/sys/arm/include/fdt.h Sat Jan 29 19:55:29 2011 (r218072)
+++ head/sys/arm/include/fdt.h Sat Jan 29 20:25:20 2011 (r218073)
@@ -44,6 +44,9 @@
/* Max interrupt number */
#define FDT_INTR_MAX NIRQ
+/* Map phandle/intpin pair to global IRQ number */
+#define FDT_MAP_IRQ(node, pin) (pin)
+
/*
* Bus space tag. XXX endianess info needs to be derived from the blob.
*/
Modified: head/sys/dev/fdt/fdt_common.c
==============================================================================
--- head/sys/dev/fdt/fdt_common.c Sat Jan 29 19:55:29 2011 (r218072)
+++ head/sys/dev/fdt/fdt_common.c Sat Jan 29 20:25:20 2011 (r218073)
@@ -480,7 +480,7 @@ fdt_intr_to_rl(phandle_t node, struct re
pcell_t *intr;
pcell_t intr_cells;
int interrupt, trig, pol;
- int i, intr_num, rv;
+ int i, intr_num, irq, rv;
if (OF_getproplen(node, "interrupts") <= 0)
/* Node does not have 'interrupts' property. */
@@ -532,7 +532,8 @@ fdt_intr_to_rl(phandle_t node, struct re
intr_sl[i].trig = trig;
intr_sl[i].pol = pol;
- resource_list_add(rl, SYS_RES_IRQ, i, interrupt, interrupt, 1);
+ irq = FDT_MAP_IRQ(intr_par, interrupt);
+ resource_list_add(rl, SYS_RES_IRQ, i, irq, irq, 1);
}
out:
Modified: head/sys/powerpc/include/fdt.h
==============================================================================
--- head/sys/powerpc/include/fdt.h Sat Jan 29 19:55:29 2011 (r218072)
+++ head/sys/powerpc/include/fdt.h Sat Jan 29 20:25:20 2011 (r218073)
@@ -38,6 +38,9 @@
/* Max interrupt number */
#define FDT_INTR_MAX INTR_VECTORS
+/* Map phandle/intpin pair to global IRQ number */
+#define FDT_MAP_IRQ(node, pin) powerpc_get_irq(node, pin)
+
/*
* Bus space tag. XXX endianess info needs to be derived from the blob.
*/
More information about the svn-src-head
mailing list