diff options
author | Stephen Warren <swarren@nvidia.com> | 2013-08-21 01:17:35 +0400 |
---|---|---|
committer | Stephen Warren <swarren@nvidia.com> | 2013-09-17 23:42:17 +0400 |
commit | d2207071b3c74b144a860cbe6a46496a44963972 (patch) | |
tree | 957a2815fe853c85d16e4722c655ce148f16c373 /lib | |
parent | 272b98c6455f00884f0350f775c5342358ebb73f (diff) | |
download | linux-d2207071b3c74b144a860cbe6a46496a44963972.tar.xz |
ARM: tegra: split tegra_pmc_init() in two
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. This allows the
clock initiliazation to happen from the machine descriptor's
.init_time() function, as is typical.
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'lib')
0 files changed, 0 insertions, 0 deletions