Subject: [PATCH RFC v2 13/16] ARM: tegra: split tegra_pmc_init() in two

From: [email-masked] (Stephen Warren)
Date: Wed, 11 Sep 2013 13:56:39 -0600

On 08/27/2013 03:28 PM, Sebastian Hesselbarth wrote:
> From: Stephen Warren <[email-masked]>
> 
> Tegra's board file currently initializes clocks much earlier than those
> for most other ARM SoCs. The reason is:
> 
> * The PMC HW block is involved in the path of some interrupts (i.e. it
> inverts, or not, the IRQ input pin dedicated to the PMIC).
> 
> * So, that part of the PMC must be initialized early so that the IRQ
> polarity is correct.
> 
> * The PMC initialization is currently monolithic, and the PMC has some
> clock inputs, so the init routine ends up calling of_clk_get_by_name(),
> and hence clocks must be set up early too.
> 
> In order to defer clock initialization to the more typical location,
> split out the portions of tegra_pmc_init() that are truly IRQ-related
> into a separate tegra_pmc_init_irq(), which can be called from the
> machine descriptor's .init_irq() function, and defer the rest until
> the machine descriptor's .init_machine() function. With arch/arm calling
> of_clk_init(NULL) from time_init() this also allows the removal of
> .init_time() hook.

Sebastian, I assume you're targeting v3.13 or later for this patch
series? If so, it might be a good idea if I apply this patch myself to
the Tegra tree so that I can base any future Tegra patches on top of it
to avoid any possible conflicts. I can put this patch first in the
cleanup branch so you can merge it into whatever tree you use for the
rest of this series. Does that work for you? If so, let me know. Thanks.