[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <521D2F1F.1070103@gmail.com>
Date: Wed, 28 Aug 2013 00:58:39 +0200
From: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
To: Sören Brinkmann <soren.brinkmann@...inx.com>
CC: Russell King <linux@....linux.org.uk>,
Arnd Bergmann <arnd@...db.de>, linux-tegra@...r.kernel.org,
kernel@...inux.com, linux-samsung-soc@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RFC v2 01/16] ARM: call clk_of_init from time_init
On 08/28/13 00:19, Sören Brinkmann wrote:
> On Tue, Aug 27, 2013 at 11:27:55PM +0200, Sebastian Hesselbarth wrote:
>> Most DT ARM machs require common clock providers initialized before timers.
>> Currently, arch/arm machs use .init_time to call clk_of_init right before
>> clocksource_of_init. This prevents to remove that hook and use the default
>> hook instead. clk_of_init is safe to call for non-DT platforms, so add
>> the call to ARM arch time_init by default. While at it, also reorder includes
>> alphabetically.
>>
>> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@...il.com>
>> ---
>> Changelog:
>> v1->v2:
>> - reorder includes alphabetically
>>
>> Cc: Russell King <linux@....linux.org.uk>
>> Cc: Arnd Bergmann <arnd@...db.de>
>> Cc: linux-tegra@...r.kernel.org
>> Cc: kernel@...inux.com
>> Cc: linux-samsung-soc@...r.kernel.org
>> Cc: linux-arm-kernel@...ts.infradead.org
>> Cc: linux-kernel@...r.kernel.org
>> ---
>> arch/arm/kernel/time.c | 24 ++++++++++++++----------
>> 1 files changed, 14 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/arm/kernel/time.c b/arch/arm/kernel/time.c
>> index 98aee32..dd1028e 100644
>> --- a/arch/arm/kernel/time.c
>> +++ b/arch/arm/kernel/time.c
>> @@ -11,25 +11,26 @@
> [ ... ]
>> void __init time_init(void)
>> {
>> + /* initalize common clocks before timers */
>> + of_clk_init(NULL);
>> +
>> if (machine_desc->init_time)
>> machine_desc->init_time();
>> else
>
> This forces zynq to move some initialization our clock code relies on to
> init_irq(). Also, the current code already takes an approach of
> doing either common init or machine specific init.
Soeren,
you know that patch 16/16 takes care of zynq's clock init?
It's your own patch you provided from the last RFC. Looking at it, it
moves zynq_sclr_init() to .init_irq and removes the call to
of_clk_init() from zynq_clock_init() which is called by
zynq_sclr_init().
Isn't that solving the above issues for mach-zynq?
> I think it might be better to move the call to of_clk_init() down into
> the else branch of the if-else.
Possibly, yes. But we could also unconditionally call of_clk_init() at
the beginning of time_init() and call clocksource_of_init() at the end.
That will make .init_time() to some fixup hook between initialization of
clocks and timers.
> Though, this probably contradicts the purpose of the whole series.
Hmm, the purpose was to allow most platforms to remove a custom
.init_time hook only calling of_clk_init() and clocksource_of_init().
If we move of_clk_init() above also in the else-branch the purpose
is still met.
Sebastian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists