diff options
author | Dmitry Osipenko <digetx@gmail.com> | 2018-05-08 18:26:06 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-05-18 12:35:28 +0200 |
commit | 5d797111afe12e488e08432fd9b372fae2cc7e93 (patch) | |
tree | 751a43c080fac85db67764450a877abe33494ccf /drivers/clk/tegra/clk.c | |
parent | clk: tegra20: Correct parents of CDEV1/2 clocks (diff) | |
download | linux-5d797111afe12e488e08432fd9b372fae2cc7e93.tar.xz linux-5d797111afe12e488e08432fd9b372fae2cc7e93.zip |
clk: tegra: Add quirk for getting CDEV1/2 clocks on Tegra20
CDEV1 and CDEV2 clocks are a bit special case, their parent clock is
created by the pinctrl driver. It should be possible for clk user to
request these clocks before pinctrl driver got probed and hence user will
get an orphaned clock. That might be undesirable because user may expect
parent clock to be enabled by the child, so let's return -EPROBE_DEFER
till parent clock appears.
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Acked-by: Peter De Schrijver <pdeschrijver@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/clk/tegra/clk.c')
-rw-r--r-- | drivers/clk/tegra/clk.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/clk/tegra/clk.c b/drivers/clk/tegra/clk.c index ba923f0d5953..593d76a114f9 100644 --- a/drivers/clk/tegra/clk.c +++ b/drivers/clk/tegra/clk.c @@ -298,7 +298,8 @@ static struct reset_controller_dev rst_ctlr = { .of_reset_n_cells = 1, }; -void __init tegra_add_of_provider(struct device_node *np) +void __init tegra_add_of_provider(struct device_node *np, + void *clk_src_onecell_get) { int i; @@ -314,7 +315,7 @@ void __init tegra_add_of_provider(struct device_node *np) clk_data.clks = clks; clk_data.clk_num = clk_num; - of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); + of_clk_add_provider(np, clk_src_onecell_get, &clk_data); rst_ctlr.of_node = np; rst_ctlr.nr_resets = periph_banks * 32 + num_special_reset; |