Page MenuHomeFreeBSD

D2345.id4951.diff
No OneTemporary

D2345.id4951.diff

Index: sys/arm/arm/gic.c
===================================================================
--- sys/arm/arm/gic.c
+++ sys/arm/arm/gic.c
@@ -34,6 +34,8 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include "opt_platform.h"
+
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
@@ -191,10 +193,17 @@
}
int
-gic_decode_fdt(uint32_t iparent, uint32_t *intr, int *interrupt,
+gic_decode_fdt(phandle_t iparent, pcell_t *intr, int *interrupt,
int *trig, int *pol)
{
static u_int num_intr_cells;
+ struct ofw_compat_data *ocd;
+
+ for (ocd = compat_data; ocd->ocd_str != NULL; ocd++)
+ if (fdt_is_compatible(iparent, ocd->ocd_str))
+ break;
+ if (ocd->ocd_str == NULL)
+ return (ENXIO);
if (num_intr_cells == 0) {
if (OF_searchencprop(OF_node_from_xref(iparent),
Index: sys/arm/include/intr.h
===================================================================
--- sys/arm/include/intr.h
+++ sys/arm/include/intr.h
@@ -86,10 +86,9 @@
void arm_irq_memory_barrier(uintptr_t);
void arm_init_secondary_ic(void);
-int gic_decode_fdt(uint32_t iparentnode, uint32_t *intrcells, int *interrupt,
- int *trig, int *pol);
#ifdef FDT
+int gic_decode_fdt(phandle_t, pcell_t *, int *, int *, int *);
int arm_fdt_map_irq(phandle_t, pcell_t *, int);
#endif

File Metadata

Mime Type
text/plain
Expires
Mon, Sep 7, 3:34 AM (1 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38430093
Default Alt Text
D2345.id4951.diff (1 KB)

Event Timeline