Page MenuHomeFreeBSD

D11878.id31618.diff
No OneTemporary

D11878.id31618.diff

Index: sys/dev/ofw/ofw_fdt.c
===================================================================
--- sys/dev/ofw/ofw_fdt.c
+++ sys/dev/ofw/ofw_fdt.c
@@ -42,6 +42,7 @@
#include <dev/fdt/fdt_common.h>
#include <dev/ofw/ofwvar.h>
#include <dev/ofw/openfirm.h>
+#include <dev/ofw/ofw_bus_subr.h>
#include "ofw_if.h"
@@ -450,7 +451,15 @@
for (i = 0; fdt_fixup_table[i].model != NULL; i++) {
if (strncmp(model, fdt_fixup_table[i].model,
FDT_MODEL_LEN) != 0)
- continue;
+ /*
+ * Sometimes it's convenient to provide one
+ * fixup entry that refers to many boards.
+ * To handle this case, simply check if model
+ * is compatible parameter
+ */
+ if(!ofw_bus_node_is_compatible(root,
+ fdt_fixup_table[i].model))
+ continue;
if (fdt_fixup_table[i].handler != NULL)
(*fdt_fixup_table[i].handler)(root);

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 10, 4:12 AM (6 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31198236
Default Alt Text
D11878.id31618.diff (854 B)

Event Timeline