diff options
author | Jon Medhurst <tixy@linaro.org> | 2013-04-22 15:46:09 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-05-13 09:58:20 +0100 |
commit | d667650ccd4479a3aee56fac2703536ef7373d4f (patch) | |
tree | 2ffefb78534267027bcbd17bbe2681e35272108e | |
parent | 38cf3c98a433abb6f4c6220850bb53efade503a0 (diff) |
gator: Use device-tree when available for address of pl310 cachetracking-gator-llct-20130518.0tracking-gator-llct-20130515.1tracking-gator-llct-20130515.0tracking-gator-llct-20130514.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); |