Commit 54e24721 authored by Thierry Reding's avatar Thierry Reding

soc/tegra: pmc: Clean-up I/O rail error messages

Use pr_err() instead of dev_err() when the pmc->dev field has not been
initialized yet and add a few missing error messages as well as remove
duplicate ones.

Based on work by Jon Hunter <jonathanh@nvidia.com>.
Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 27b12b4e
...@@ -251,8 +251,6 @@ static int tegra_powergate_lookup(struct tegra_pmc *pmc, const char *name) ...@@ -251,8 +251,6 @@ static int tegra_powergate_lookup(struct tegra_pmc *pmc, const char *name)
return i; return i;
} }
dev_err(pmc->dev, "powergate %s not found\n", name);
return -ENODEV; return -ENODEV;
} }
...@@ -469,13 +467,12 @@ static int tegra_powergate_power_down(struct tegra_powergate *pg) ...@@ -469,13 +467,12 @@ static int tegra_powergate_power_down(struct tegra_powergate *pg)
static int tegra_genpd_power_on(struct generic_pm_domain *domain) static int tegra_genpd_power_on(struct generic_pm_domain *domain)
{ {
struct tegra_powergate *pg = to_powergate(domain); struct tegra_powergate *pg = to_powergate(domain);
struct tegra_pmc *pmc = pg->pmc;
int err; int err;
err = tegra_powergate_power_up(pg, true); err = tegra_powergate_power_up(pg, true);
if (err) if (err)
dev_err(pmc->dev, "failed to turn on PM domain %s: %d\n", pr_err("failed to turn on PM domain %s: %d\n", pg->genpd.name,
pg->genpd.name, err); err);
return err; return err;
} }
...@@ -483,12 +480,11 @@ static int tegra_genpd_power_on(struct generic_pm_domain *domain) ...@@ -483,12 +480,11 @@ static int tegra_genpd_power_on(struct generic_pm_domain *domain)
static int tegra_genpd_power_off(struct generic_pm_domain *domain) static int tegra_genpd_power_off(struct generic_pm_domain *domain)
{ {
struct tegra_powergate *pg = to_powergate(domain); struct tegra_powergate *pg = to_powergate(domain);
struct tegra_pmc *pmc = pg->pmc;
int err; int err;
err = tegra_powergate_power_down(pg); err = tegra_powergate_power_down(pg);
if (err) if (err)
dev_err(pmc->dev, "failed to turn off PM domain %s: %d\n", pr_err("failed to turn off PM domain %s: %d\n",
pg->genpd.name, err); pg->genpd.name, err);
return err; return err;
...@@ -814,8 +810,7 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np) ...@@ -814,8 +810,7 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np)
id = tegra_powergate_lookup(pmc, np->name); id = tegra_powergate_lookup(pmc, np->name);
if (id < 0) { if (id < 0) {
dev_err(pmc->dev, "powergate lookup failed for %s: %d\n", pr_err("powergate lookup failed for %s: %d\n", np->name, id);
np->name, id);
goto free_mem; goto free_mem;
} }
...@@ -835,15 +830,13 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np) ...@@ -835,15 +830,13 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np)
err = tegra_powergate_of_get_clks(pg, np); err = tegra_powergate_of_get_clks(pg, np);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "failed to get clocks for %s: %d\n", pr_err("failed to get clocks for %s: %d\n", np->name, err);
np->name, err);
goto set_available; goto set_available;
} }
err = tegra_powergate_of_get_resets(pg, np, off); err = tegra_powergate_of_get_resets(pg, np, off);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "failed to get resets for %s: %d\n", pr_err("failed to get resets for %s: %d\n", np->name, err);
np->name, err);
goto remove_clks; goto remove_clks;
} }
...@@ -866,12 +859,12 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np) ...@@ -866,12 +859,12 @@ static void tegra_powergate_add(struct tegra_pmc *pmc, struct device_node *np)
err = of_genpd_add_provider_simple(np, &pg->genpd); err = of_genpd_add_provider_simple(np, &pg->genpd);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "failed to add genpd provider for %s: %d\n", pr_err("failed to add genpd provider for %s: %d\n", np->name,
np->name, err); err);
goto remove_resets; goto remove_resets;
} }
dev_dbg(pmc->dev, "added power domain %s\n", pg->genpd.name); pr_debug("added power domain %s\n", pg->genpd.name);
return; return;
...@@ -940,8 +933,10 @@ static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request, ...@@ -940,8 +933,10 @@ static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
unsigned long rate, value; unsigned long rate, value;
pad = tegra_io_pad_find(pmc, id); pad = tegra_io_pad_find(pmc, id);
if (!pad) if (!pad) {
pr_err("invalid I/O pad ID %u\n", id);
return -ENOENT; return -ENOENT;
}
if (pad->dpd == UINT_MAX) if (pad->dpd == UINT_MAX)
return -ENOTSUPP; return -ENOTSUPP;
...@@ -957,8 +952,10 @@ static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request, ...@@ -957,8 +952,10 @@ static int tegra_io_pad_prepare(enum tegra_io_pad id, unsigned long *request,
} }
rate = clk_get_rate(pmc->clk); rate = clk_get_rate(pmc->clk);
if (!rate) if (!rate) {
pr_err("failed to get clock rate\n");
return -ENODEV; return -ENODEV;
}
tegra_pmc_writel(DPD_SAMPLE_ENABLE, DPD_SAMPLE); tegra_pmc_writel(DPD_SAMPLE_ENABLE, DPD_SAMPLE);
...@@ -1009,7 +1006,7 @@ int tegra_io_pad_power_enable(enum tegra_io_pad id) ...@@ -1009,7 +1006,7 @@ int tegra_io_pad_power_enable(enum tegra_io_pad id)
err = tegra_io_pad_prepare(id, &request, &status, &mask); err = tegra_io_pad_prepare(id, &request, &status, &mask);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "tegra_io_pad_prepare() failed: %d\n", err); pr_err("failed to prepare I/O pad: %d\n", err);
goto unlock; goto unlock;
} }
...@@ -1017,7 +1014,7 @@ int tegra_io_pad_power_enable(enum tegra_io_pad id) ...@@ -1017,7 +1014,7 @@ int tegra_io_pad_power_enable(enum tegra_io_pad id)
err = tegra_io_pad_poll(status, mask, 0, 250); err = tegra_io_pad_poll(status, mask, 0, 250);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "tegra_io_pad_poll() failed: %d\n", err); pr_err("failed to enable I/O pad: %d\n", err);
goto unlock; goto unlock;
} }
...@@ -1045,7 +1042,7 @@ int tegra_io_pad_power_disable(enum tegra_io_pad id) ...@@ -1045,7 +1042,7 @@ int tegra_io_pad_power_disable(enum tegra_io_pad id)
err = tegra_io_pad_prepare(id, &request, &status, &mask); err = tegra_io_pad_prepare(id, &request, &status, &mask);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "tegra_io_pad_prepare() failed: %d\n", err); pr_err("failed to prepare I/O pad: %d\n", err);
goto unlock; goto unlock;
} }
...@@ -1053,7 +1050,7 @@ int tegra_io_pad_power_disable(enum tegra_io_pad id) ...@@ -1053,7 +1050,7 @@ int tegra_io_pad_power_disable(enum tegra_io_pad id)
err = tegra_io_pad_poll(status, mask, mask, 250); err = tegra_io_pad_poll(status, mask, mask, 250);
if (err < 0) { if (err < 0) {
dev_err(pmc->dev, "tegra_io_pad_poll() failed: %d\n", err); pr_err("failed to disable I/O pad: %d\n", err);
goto unlock; goto unlock;
} }
......
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