From: Stephen Rothwell Date: Thu, 21 Mar 2013 05:02:22 +0000 (+1100) Subject: Merge remote-tracking branch 'tegra/for-next' X-Git-Tag: next-20130321~8 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=2962e927d3ae4559aa22fd4c94fd5c492bf3a29f;p=karo-tx-linux.git Merge remote-tracking branch 'tegra/for-next' Conflicts: drivers/clocksource/tegra20_timer.c --- 2962e927d3ae4559aa22fd4c94fd5c492bf3a29f diff --cc drivers/clocksource/tegra20_timer.c index 2e4d8a666c36,bc4b8ad78aea..ae877b021b54 --- a/drivers/clocksource/tegra20_timer.c +++ b/drivers/clocksource/tegra20_timer.c @@@ -218,34 -259,12 +218,34 @@@ static void __init tegra20_init_timer(s tegra_clockevent.irq = tegra_timer_irq.irq; clockevents_config_and_register(&tegra_clockevent, 1000000, 0x1, 0x1fffffff); -#ifdef CONFIG_HAVE_ARM_TWD - twd_local_timer_of_register(); -#endif +} +CLOCKSOURCE_OF_DECLARE(tegra20_timer, "nvidia,tegra20-timer", tegra20_init_timer); + +static void __init tegra20_init_rtc(struct device_node *np) +{ + struct clk *clk; + + rtc_base = of_iomap(np, 0); + if (!rtc_base) { + pr_err("Can't map RTC registers"); + BUG(); + } + + /* + * rtc registers are used by read_persistent_clock, keep the rtc clock + * enabled + */ - clk = clk_get_sys("rtc-tegra", NULL); ++ clk = of_clk_get(np, 0); + if (IS_ERR(clk)) + pr_warn("Unable to get rtc-tegra clock\n"); + else + clk_prepare_enable(clk); + + of_node_put(np); + register_persistent_clock(NULL, tegra_read_persistent_clock); } -CLOCKSOURCE_OF_DECLARE(tegra20, "nvidia,tegra20-timer", tegra20_init_timer); +CLOCKSOURCE_OF_DECLARE(tegra20_rtc, "nvidia,tegra20-rtc", tegra20_init_rtc); #ifdef CONFIG_PM static u32 usec_config;