From a5c8d99b269cd1dbcc36294b2c1eefd5680bff98 Mon Sep 17 00:00:00 2001 From: Ian Lepore Date: Fri, 24 Oct 2014 15:44:29 +0000 Subject: [PATCH] Accept the documented FDT compatible string for the PL310 cache controller as well as the non-standard string we've been using for a couple years. --- sys/arm/arm/pl310.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/arm/arm/pl310.c b/sys/arm/arm/pl310.c index 76ad17be70d..b354bf88687 100644 --- a/sys/arm/arm/pl310.c +++ b/sys/arm/arm/pl310.c @@ -84,6 +84,12 @@ static uint32_t g_ways_assoc; static struct pl310_softc *pl310_softc; +static struct ofw_compat_data compat_data[] = { + {"arm,pl310", true}, /* Non-standard, FreeBSD. */ + {"arm,pl310-cache", true}, + {NULL, false} +}; + void pl310_print_config(struct pl310_softc *sc) { @@ -422,8 +428,7 @@ pl310_probe(device_t dev) if (!ofw_bus_status_okay(dev)) return (ENXIO); - - if (!ofw_bus_is_compatible(dev, "arm,pl310")) + if (!ofw_bus_search_compatible(dev, compat_data)->ocd_data) return (ENXIO); device_set_desc(dev, "PL310 L2 cache controller"); return (0);