Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 592431b0 authored by Thierry Reding's avatar Thierry Reding
Browse files

soc/tegra: pmc: Use existing pclk reference



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: default avatarThierry Reding <treding@nvidia.com>
parent 4a4466a6
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -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;

@@ -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);

@@ -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();

@@ -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;