OSDN Git Service

Merge tag 'nios2-v4.2' of git://git.rocketboards.org/linux-socfpga-next
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Jul 2015 19:22:49 +0000 (12:22 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 3 Jul 2015 19:22:49 +0000 (12:22 -0700)
Pull nios2 update from Ley Foon Tan:
 "Check number of timer instances"

* tag 'nios2-v4.2' of git://git.rocketboards.org/linux-socfpga-next:
  nios2: check number of timer instances

arch/nios2/kernel/time.c

index be186a7..9e3cc8a 100644 (file)
@@ -19,7 +19,9 @@
 #include <linux/io.h>
 #include <linux/slab.h>
 
-#define ALTERA_TIMER_STATUS_REG                0
+#define ALTR_TIMER_COMPATIBLE          "altr,timer-1.0"
+
+#define ALTERA_TIMER_STATUS_REG        0
 #define ALTERA_TIMER_CONTROL_REG       4
 #define ALTERA_TIMER_PERIODL_REG       8
 #define ALTERA_TIMER_PERIODH_REG       12
@@ -304,7 +306,16 @@ void read_persistent_clock(struct timespec *ts)
 
 void __init time_init(void)
 {
+       struct device_node *np;
+       int count = 0;
+
+       for_each_compatible_node(np, NULL,  ALTR_TIMER_COMPATIBLE)
+               count++;
+
+       if (count < 2)
+               panic("%d timer is found, it needs 2 timers in system\n", count);
+
        clocksource_of_init();
 }
 
-CLOCKSOURCE_OF_DECLARE(nios2_timer, "altr,timer-1.0", nios2_time_init);
+CLOCKSOURCE_OF_DECLARE(nios2_timer, ALTR_TIMER_COMPATIBLE, nios2_time_init);