Message ID | 20210310075639.20372-4-zhangqing@loongson.cn (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add basic support for Loongson-2K1000 | expand |
Hello! On 10.03.2021 10:56, Qing Zhang wrote: > Get the fixed-clock from the CPU0 node of the device tree. > > Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com> > Signed-off-by: Qing Zhang <zhangqing@loongson.cn> > Tested-by: Ming Wang <wangming01@loongson.cn> > --- > > v3-v4: Standard submission of information > Add return after error > > arch/mips/loongson64/time.c | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/arch/mips/loongson64/time.c b/arch/mips/loongson64/time.c > index 91e842b58365..2d84f9b20a9b 100644 > --- a/arch/mips/loongson64/time.c > +++ b/arch/mips/loongson64/time.c > @@ -11,9 +11,33 @@ > #include <asm/hpet.h> > > #include <loongson.h> > +#include <linux/clk.h> > +#include <linux/of_clk.h> > > void __init plat_time_init(void) > { > + struct clk *clk = NULL; You don't seem to need this initializer. > + struct device_node *np; > + > + if (loongson_sysconf.fw_interface == LOONGSON_DTB) { > + of_clk_init(NULL); > + > + np = of_get_cpu_node(0, NULL); > + if (!np) { > + pr_err("Failed to get CPU node\n"); > + return; > + } > + > + clk = of_clk_get(np, 0); > + if (IS_ERR(clk)) { > + pr_err("Failed to get CPU clock: %ld\n", PTR_ERR(clk)); > + return; > + } > + > + cpu_clock_freq = clk_get_rate(clk); > + clk_put(clk); > + } > + > /* setup mips r4k timer */ > mips_hpt_frequency = cpu_clock_freq / 2; > >
On 03/10/2021 04:50 PM, Sergei Shtylyov wrote: > Hello! > > You don't seem to need this initializer. Hi,Sergei Thanks for your suggestion, clk will not be affected by others when it is defined until the value is obtained, =NULL can be deleted, but I think it seems to have no effect. Thanks, Qing > >
On Wed, Mar 10, 2021, at 5:37 PM, zhangqing wrote: > > > On 03/10/2021 04:50 PM, Sergei Shtylyov wrote: > > Hello! > > > > You don't seem to need this initializer. > Hi,Sergei > > Thanks for your suggestion, > clk will not be affected by others when it is defined until the value is > obtained, > =NULL can be deleted, but I think it seems to have no effect. Please do reasonable change only. Thanks. - Jiaxun > > Thanks, > Qing > > > > > >
diff --git a/arch/mips/loongson64/time.c b/arch/mips/loongson64/time.c index 91e842b58365..2d84f9b20a9b 100644 --- a/arch/mips/loongson64/time.c +++ b/arch/mips/loongson64/time.c @@ -11,9 +11,33 @@ #include <asm/hpet.h> #include <loongson.h> +#include <linux/clk.h> +#include <linux/of_clk.h> void __init plat_time_init(void) { + struct clk *clk = NULL; + struct device_node *np; + + if (loongson_sysconf.fw_interface == LOONGSON_DTB) { + of_clk_init(NULL); + + np = of_get_cpu_node(0, NULL); + if (!np) { + pr_err("Failed to get CPU node\n"); + return; + } + + clk = of_clk_get(np, 0); + if (IS_ERR(clk)) { + pr_err("Failed to get CPU clock: %ld\n", PTR_ERR(clk)); + return; + } + + cpu_clock_freq = clk_get_rate(clk); + clk_put(clk); + } + /* setup mips r4k timer */ mips_hpt_frequency = cpu_clock_freq / 2;