]> git.baikalelectronics.ru Git - kernel.git/commit
clk: tegra: defer application of init table
authorStephen Warren <swarren@nvidia.com>
Mon, 25 Mar 2013 19:22:24 +0000 (13:22 -0600)
committerStephen Warren <swarren@nvidia.com>
Thu, 4 Apr 2013 22:09:05 +0000 (16:09 -0600)
commit4c1649b8a0cc51454339e0978e2fd4df0aa7d8c9
tree0f7570e7985ea2b62f558e43d33caef6efa7e989
parent266fbc33db0a696187d9656103ef59d45ce3701e
clk: tegra: defer application of init table

The Tegra clock driver is initialized during the ARM machine descriptor's
.init_irq() hook. It can't be initialized earlier, since dynamic memory
usage is required. It can't be initialized later, since the .init_timer()
hook needs the clocks initialized. However, at this time, udelay()
doesn't work.

The Tegra clock initialization table may enable some PLLs. Enabling a PLL
may require usage of udelay(). Hence, this can't happen right when the
clock driver is initialized.

To solve this, separate the clock driver initialization from the clock
table processing, so they can execute at separate times.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
arch/arm/mach-tegra/tegra.c
drivers/clk/tegra/clk-tegra20.c
drivers/clk/tegra/clk-tegra30.c
drivers/clk/tegra/clk.c
drivers/clk/tegra/clk.h
include/linux/clk/tegra.h