summaryrefslogtreecommitdiffstats
path: root/arch/arc/kernel/mcip.c
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-01-01 18:05:48 +0530
committerVineet Gupta <vgupta@synopsys.com>2016-05-09 09:32:30 +0530
commite608b53ea863a92eb458cb1ec7c2fcf3ca2b043a (patch)
tree5b0fe7f7539f9e6b9359a9662fc40684af634a1d /arch/arc/kernel/mcip.c
parent77c8d0d6b3f4ea0989b9ca42fb368cc2aac02495 (diff)
downloadlinux-stable-e608b53ea863a92eb458cb1ec7c2fcf3ca2b043a.tar.gz
linux-stable-e608b53ea863a92eb458cb1ec7c2fcf3ca2b043a.tar.bz2
linux-stable-e608b53ea863a92eb458cb1ec7c2fcf3ca2b043a.zip
ARC: clocksource: DT based probe
- Remove explicit clocksource setup and let it be done by OF framework by defining CLOCKSOURCE_OF_DECLARE() for various timers - This allows multiple clocksources to be potentially registered simultaneouly: previously we could only do one - as all of them had same arc_counter_setup() routine for registration - Setup routines also ensure that the underlying timer actually exists. - Remove some of the panic() calls if underlying timer is NOT detected as fallback clocksource might still be available 1. If GRFC doesn't exist, jiffies clocksource gets registered anyways 2. if RTC doesn't exist, TIMER1 can take over (as it is always present) Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/mcip.c')
-rw-r--r--arch/arc/kernel/mcip.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/arc/kernel/mcip.c b/arch/arc/kernel/mcip.c
index c41c364b926c..262d9c3771e6 100644
--- a/arch/arc/kernel/mcip.c
+++ b/arch/arc/kernel/mcip.c
@@ -116,15 +116,13 @@ static void mcip_probe_n_setup(void)
IS_AVAIL1(mp.dbg, "DEBUG "),
IS_AVAIL1(mp.gfrc, "GFRC"));
+ cpuinfo_arc700[0].extn.gfrc = mp.gfrc;
idu_detected = mp.idu;
if (mp.dbg) {
__mcip_cmd_data(CMD_DEBUG_SET_SELECT, 0, 0xf);
__mcip_cmd_data(CMD_DEBUG_SET_MASK, 0xf, 0xf);
}
-
- if (IS_ENABLED(CONFIG_ARC_HAS_GFRC) && !mp.gfrc)
- panic("kernel trying to use non-existent GFRC\n");
}
struct plat_smp_ops plat_smp_ops = {