diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-04-22 15:46:09 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-04-29 09:42:44 +0100 |
commit | 63e2534f7546effe9889b87ca82b088a92aa81a1 (patch) | |
tree | c43d61c96ad6e8c6d480d847de7d8c8d9d8e38a3 | |
parent | 23018a563687a50f83acbb938350542a7f663105 (diff) |
gator: Use device-tree when available for address of pl310 cachetracking-gator-llct-20130508.0tracking-gator-llct-20130506.0tracking-gator-llct-20130502.0
This helps us avoid probing hard coded addresses which can cause
data aborts and crash the system, as happens on the A9 RTSM.
Signed-off-by: Jon Medhurst <tixy@linaro.org>
-rw-r--r-- | drivers/gator/gator_events_l2c-310.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gator/gator_events_l2c-310.c b/drivers/gator/gator_events_l2c-310.c index 52472c7a9e62..e646215f37f6 100644 --- a/drivers/gator/gator_events_l2c-310.c +++ b/drivers/gator/gator_events_l2c-310.c @@ -11,6 +11,8 @@ #include <linux/init.h> #include <linux/io.h> #include <linux/module.h> +#include <linux/of.h> +#include <linux/of_address.h> #include <asm/hardware/cache-l2x0.h> #include "gator.h" @@ -151,6 +153,12 @@ static void __iomem *gator_events_l2c310_probe(void) }; int i; +#if defined(CONFIG_OF) + if (of_have_populated_dt()) + return of_iomap(of_find_compatible_node(NULL, + NULL, "arm,pl310-cache"), 0); +#endif + for (i = 0; i < ARRAY_SIZE(variants); i++) { void __iomem *base = ioremap(variants[i], SZ_4K); |