sparc64: use prom interface to get %stick frequency
authorPavel Tatashin <pasha.tatashin@oracle.com>
Thu, 15 Jun 2017 14:40:58 +0000 (10:40 -0400)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Jun 2017 15:19:34 +0000 (08:19 -0700)
We initialize time early, we must use prom interface instead of open
firmware driver, which is not yet initialized.

Also, use prom_getintdefault() instead of prom_getint() to be compatible
with the code before early boot timestamps project.

Signed-off-by: Pavel Tatashin <pasha.tatashin@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/kernel/time_64.c

index a612a91cb9cd391ab93a00149f4b50e0f8d42261..a62758ce9e19ad8018d64505da2880efba17ad21 100644 (file)
@@ -32,7 +32,6 @@
 #include <linux/kernel_stat.h>
 #include <linux/clockchips.h>
 #include <linux/clocksource.h>
-#include <linux/of_device.h>
 #include <linux/platform_device.h>
 #include <linux/ftrace.h>
 
@@ -257,7 +256,7 @@ static int stick_add_compare(unsigned long adj)
 
 static unsigned long stick_get_frequency(void)
 {
-       return prom_getint(prom_root_node, "stick-frequency");
+       return prom_getintdefault(prom_root_node, "stick-frequency", 0);
 }
 
 static struct sparc64_tick_ops stick_operations __read_mostly = {
@@ -391,9 +390,7 @@ static int hbtick_add_compare(unsigned long adj)
 
 static unsigned long hbtick_get_frequency(void)
 {
-       struct device_node *dp = of_find_node_by_path("/");
-
-       return of_getintprop_default(dp, "stick-frequency", 0);
+       return prom_getintdefault(prom_root_node, "stick-frequency", 0);
 }
 
 static struct sparc64_tick_ops hbtick_operations __read_mostly = {