]> 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)
commited8dad7b04b1b9e0baf4bf2d61aa1160f767799c
tree0f7570e7985ea2b62f558e43d33caef6efa7e989
parent10c8f4cce53277532fdb6ce642da66a16bca55d7
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