Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clocksource: armada-370-xp: Get reference fixed-clock by name

The Armada XP timer has two mandatory clock inputs: nbclk and refclk,
as specified by the device-tree binding.

This commit fixes the clock selection. Instead of hard-coding the clock
rate for the 25 MHz reference fixed-clock, obtain the clock by its name.

Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com>

authored by

Ezequiel Garcia and committed by
Daniel Lezcano
5e9fe6cb ec8e5112

+5 -2
+5 -2
drivers/clocksource/time-armada-370-xp.c
··· 294 294 295 295 static void __init armada_xp_timer_init(struct device_node *np) 296 296 { 297 - /* The fixed 25MHz timer is required, timer25Mhz is true by default */ 298 - timer_clk = 25000000; 297 + struct clk *clk = of_clk_get_by_name(np, "fixed"); 298 + 299 + /* The 25Mhz fixed clock is mandatory, and must always be available */ 300 + BUG_ON(IS_ERR(clk)); 301 + timer_clk = clk_get_rate(clk); 299 302 300 303 armada_370_xp_timer_common_init(np); 301 304 }