svn commit: r239115 - in user/jceel/soc2012_armv6/sys: arm/lpc
arm/ti dev/fdt
Jakub Wojciech Klama
jceel at FreeBSD.org
Mon Aug 6 23:21:16 UTC 2012
Author: jceel
Date: Mon Aug 6 23:21:15 2012
New Revision: 239115
URL: http://svn.freebsd.org/changeset/base/239115
Log:
Get FDT interrupt decoding back to work.
Modified:
user/jceel/soc2012_armv6/sys/arm/lpc/lpc_intc.c
user/jceel/soc2012_armv6/sys/arm/ti/common.c
user/jceel/soc2012_armv6/sys/dev/fdt/fdt_common.c
Modified: user/jceel/soc2012_armv6/sys/arm/lpc/lpc_intc.c
==============================================================================
--- user/jceel/soc2012_armv6/sys/arm/lpc/lpc_intc.c Mon Aug 6 23:15:46 2012 (r239114)
+++ user/jceel/soc2012_armv6/sys/arm/lpc/lpc_intc.c Mon Aug 6 23:21:15 2012 (r239115)
@@ -214,11 +214,8 @@ static int
fdt_pic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
int *pol)
{
-#if 0
- // XXX
if (!fdt_is_compatible(node, "lpc,pic"))
return (ENXIO);
-#endif
*interrupt = fdt32_to_cpu(intr[0]);
*trig = INTR_TRIGGER_CONFORM;
Modified: user/jceel/soc2012_armv6/sys/arm/ti/common.c
==============================================================================
--- user/jceel/soc2012_armv6/sys/arm/ti/common.c Mon Aug 6 23:15:46 2012 (r239114)
+++ user/jceel/soc2012_armv6/sys/arm/ti/common.c Mon Aug 6 23:21:15 2012 (r239115)
@@ -58,10 +58,9 @@ static int
fdt_gic_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
int *pol)
{
-#if 0
if (!fdt_is_compatible(node, "arm,gic"))
return (ENXIO);
-#endif
+
*interrupt = fdt32_to_cpu(intr[0]);
*trig = INTR_TRIGGER_CONFORM;
*pol = INTR_POLARITY_CONFORM;
@@ -75,7 +74,6 @@ static int
fdt_aintc_decode_ic(phandle_t node, pcell_t *intr, int *interrupt, int *trig,
int *pol)
{
-
if (!fdt_is_compatible(node, "ti,aintc"))
return (ENXIO);
Modified: user/jceel/soc2012_armv6/sys/dev/fdt/fdt_common.c
==============================================================================
--- user/jceel/soc2012_armv6/sys/dev/fdt/fdt_common.c Mon Aug 6 23:15:46 2012 (r239114)
+++ user/jceel/soc2012_armv6/sys/dev/fdt/fdt_common.c Mon Aug 6 23:21:15 2012 (r239115)
@@ -585,7 +585,7 @@ fdt_intr_to_rl(phandle_t node, struct re
*/
if (OF_getprop(node, "interrupt-parent", &iph, sizeof(iph)) <= 0) {
debugf("no intr-parent phandle\n");
- intr_par = 0xffffffff;
+ intr_par = 0xffffffff; /* XXX should be #defined */
} else {
iph = fdt32_to_cpu(iph);
intr_par = OF_instance_to_package(iph);
@@ -609,10 +609,16 @@ fdt_intr_to_rl(phandle_t node, struct re
interrupt = -1;
trig = pol = 0;
- if (fdt_intr_decode(intr_par, &intr[i * intr_cells],
- &interrupt, &trig, &pol) != 0) {
- rv = ENXIO;
- goto out;
+ if (intr_par != 0xffffffff) {
+ if (fdt_intr_decode(intr_par, &intr[i * intr_cells],
+ &interrupt, &trig, &pol) != 0) {
+ rv = ENXIO;
+ goto out;
+ }
+ } else {
+ interrupt = fdt32_to_cpu(intr[i * intr_cells]);
+ trig = INTR_TRIGGER_CONFORM;
+ pol = INTR_POLARITY_CONFORM;
}
if (interrupt < 0) {
More information about the svn-src-user
mailing list