Re: [PATCH 5/7] ARM: tegra: timer: Enable timer and rtc clocks

From: Olof Johansson
Date: Tue Feb 22 2011 - 10:29:21 EST


On Tue, Feb 22, 2011 at 12:00 AM, Colin Cross <ccross@xxxxxxxxxxx> wrote:
> On Mon, Feb 21, 2011 at 9:32 PM, Olof Johansson <olof@xxxxxxxxx> wrote:
>> Hi,
>>
>>
>> On Mon, Feb 21, 2011 at 6:39 PM, Colin Cross <ccross@xxxxxxxxxxx> wrote:
>>> Enable the timer and rtc clocks to prevent them being
>>> turned off by the bootloader clock disabling code.
>>>
>>> Signed-off-by: Colin Cross <ccross@xxxxxxxxxxx>
>>> ---
>>>  arch/arm/mach-tegra/timer.c |   14 ++++++++++++--
>>>  1 files changed, 12 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/arch/arm/mach-tegra/timer.c b/arch/arm/mach-tegra/timer.c
>>> index ffa6a68..31b4f56 100644
>>> --- a/arch/arm/mach-tegra/timer.c
>>> +++ b/arch/arm/mach-tegra/timer.c
>>> @@ -18,6 +18,7 @@
>>>  */
>>>
>>>  #include <linux/init.h>
>>> +#include <linux/err.h>
>>>  #include <linux/sched.h>
>>>  #include <linux/time.h>
>>>  #include <linux/interrupt.h>
>>> @@ -193,9 +194,20 @@ static struct irqaction tegra_timer_irq = {
>>>
>>>  static void __init tegra_init_timer(void)
>>>  {
>>> +       struct clk *clk;
>>>        unsigned long rate = clk_measure_input_freq();
>>>        int ret;
>>>
>>> +       clk = clk_get_sys("timer", NULL);
>>> +       BUG_ON(IS_ERR(clk));
>>> +       clk_enable(clk);
>>> +       clk_put(clk);
>>> +
>>> +       clk = clk_get_sys("rtc-tegra", NULL);
>>> +       BUG_ON(IS_ERR(clk));
>>> +       clk_enable(clk);
>>> +       clk_put(clk);
>>
>> Why initialize the rtc clock here? Not all boards use it and instead
>> use the rtc on the pmic. Seems wasteful to clock it unless the driver
>> for it is probed and configured.
>
> timekeeping_suspend uses read_persistent_clock and not the RTC driver
> to track time in suspend.  The Tegra implementation of
> read_persistent_clock reads from the internal RTC registers.  Its a 32
> kHz clock, so it's power usage is negligible, and it is required on
> all Tegra boards.

Ah, right. A short comment to that effect near the clock enablement
would be useful, but other than that:

Acked-by: Olof Johansson <olof@xxxxxxxxx>


-Olof
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/