[PATCH v2 02/11] clocksource:global_timer: Add ARM global timer support.
From: Srinivas KANDAGATLA <hidden>
Date: 2013-06-10 13:41:58
Also in:
linux-devicetree, linux-serial
On 10/06/13 14:13, Linus Walleij wrote:
On Mon, Jun 10, 2013 at 11:21 AM, Srinivas KANDAGATLA [off-list ref] wrote:
quoted
Signed-off-by: Stuart Menefy <redacted> Signed-off-by: Srinivas Kandagatla <redacted> CC: Arnd Bergmann <arnd@arndb.de> CC: Rob Herring <redacted> CC: Linus Walleij <redacted> CC: Will Deacon <redacted> CC: Thomas Gleixner <redacted>This is starting to look very good! (...)
Thankyou.
quoted
+static int __cpuinit gt_clockevents_init(struct clock_event_device *clk) +{ + struct clock_event_device **this_cpu_clk; + int cpu = smp_processor_id(); + + clk->name = "ARM global timer clock event"; + clk->features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT; + clk->set_mode = gt_clockevent_set_mode; + clk->set_next_event = gt_clockevent_set_next_event; + this_cpu_clk = __this_cpu_ptr(gt_evt); + *this_cpu_clk = clk; + clk->cpumask = cpumask_of(cpu); + clk->irq = gt_ppi; + clockevents_config_and_register(clk, gt_clk_rate, + 0, 0xffffffff);What do you mean with being able to set event on 0?
Its a bit of over do from me.. I will change it to what you suggested...
This should most probably be: clockevents_config_and_register(clk, gt_clk_rate, 1, 0xffffffff); (...)quoted
+static struct clk *gt_get_clock(void) +{ + struct clk *clk; + int err; + + clk = clk_get_sys("gt", NULL); + if (IS_ERR(clk)) { + pr_err("global-timer: clock not found: %ld\n", PTR_ERR(clk)); + return clk; + }(...)quoted
+ clk = of_clk_get(np, 0); + if (!IS_ERR(clk)) + clk_register_clkdev(clk, NULL, "gt");Well that was clever. Isn't it better to pass a struct device_node *np around and have that as NULL in the non-DT boot path?
I will try it and see how it will look. Thanks, srini
(Maybe somebody in the community asked you to do this, then I will live with it.)
Yours, Linus Walleij