Commit d353d120 authored by Dmitry Osipenko's avatar Dmitry Osipenko Committed by Chanwoo Choi

PM / devfreq: tegra30: Improve initial hardware resetting

It's safe to enable the ACTMON clock at any time during driver probing,
even if we don't know the state of hardware, because it's used only for
collecting and processing stats, and interrupt is kept disabled. This
allows us to slightly improve code which performs initial hardware
resetting by making use of a single reset_control_reset() instead of
assert/deassert pair. Secondly, a potential error of the reset-control
API is handled nicely now.
Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent 02bdbf7d
...@@ -822,8 +822,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev) ...@@ -822,8 +822,6 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
return err; return err;
} }
reset_control_assert(tegra->reset);
err = clk_prepare_enable(tegra->clock); err = clk_prepare_enable(tegra->clock);
if (err) { if (err) {
dev_err(&pdev->dev, dev_err(&pdev->dev,
...@@ -831,7 +829,11 @@ static int tegra_devfreq_probe(struct platform_device *pdev) ...@@ -831,7 +829,11 @@ static int tegra_devfreq_probe(struct platform_device *pdev)
return err; return err;
} }
reset_control_deassert(tegra->reset); err = reset_control_reset(tegra->reset);
if (err) {
dev_err(&pdev->dev, "Failed to reset hardware: %d\n", err);
goto disable_clk;
}
rate = clk_round_rate(tegra->emc_clock, ULONG_MAX); rate = clk_round_rate(tegra->emc_clock, ULONG_MAX);
if (rate < 0) { if (rate < 0) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment