Skip to content

Commit

Permalink
soc/tegra: pmc: Use existing pclk reference
Browse files Browse the repository at this point in the history
The driver requests the pclk clock at probe time already and stores its
reference to it in struct tegra_pmc, so there is no need to look it up
everytime it is needed. Use the existing reference instead.

Signed-off-by: Thierry Reding <treding@nvidia.com>
  • Loading branch information
Thierry Reding committed Aug 13, 2015
1 parent 4a4466a commit 592431b
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions drivers/soc/tegra/pmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,6 @@ static int tegra_io_rail_prepare(int id, unsigned long *request,
unsigned long *status, unsigned int *bit)
{
unsigned long rate, value;
struct clk *clk;

*bit = id % 32;

Expand All @@ -478,12 +477,7 @@ static int tegra_io_rail_prepare(int id, unsigned long *request,
*request = IO_DPD2_REQ;
}

clk = clk_get_sys(NULL, "pclk");
if (IS_ERR(clk))
return PTR_ERR(clk);

rate = clk_get_rate(clk);
clk_put(clk);
rate = clk_get_rate(pmc->clk);

tegra_pmc_writel(DPD_SAMPLE_ENABLE, DPD_SAMPLE);

Expand Down Expand Up @@ -537,8 +531,10 @@ int tegra_io_rail_power_on(int id)
tegra_pmc_writel(value, request);

err = tegra_io_rail_poll(status, mask, 0, 250);
if (err < 0)
if (err < 0) {
pr_info("tegra_io_rail_poll() failed: %d\n", err);
return err;
}

tegra_io_rail_unprepare();

Expand All @@ -553,8 +549,10 @@ int tegra_io_rail_power_off(int id)
int err;

err = tegra_io_rail_prepare(id, &request, &status, &bit);
if (err < 0)
if (err < 0) {
pr_info("tegra_io_rail_prepare() failed: %d\n", err);
return err;
}

mask = 1 << bit;

Expand Down

0 comments on commit 592431b

Please sign in to comment.