diff options
author | Nikesh Oswal <noswal@nvidia.com> | 2011-10-31 11:32:52 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:49:39 -0800 |
commit | 9bbd2db9ad50f993539dbb84540800673b36c5b6 (patch) | |
tree | 40803e9aee01891972749e524d4ed3df0db3fed9 /sound/soc/tegra/tegra_asoc_utils.c | |
parent | ce6b40ac3776e8449f0d6ea47302552440530e36 (diff) |
asoc: tegra: add code to enable/disable clocks
add code to enable/disable pll_a and cdev1 clocks
Bug: 862023
Change-Id: If5b6014f82651e2286802ba6d76f77b1b5419b41
Signed-off-by: Nikesh Oswal <noswal@nvidia.com>
Reviewed-on: http://git-master/r/61085
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Rebase-Id: Rddb3206531e76e7ea28df691f6aa86a50f7c66d0
Diffstat (limited to 'sound/soc/tegra/tegra_asoc_utils.c')
-rw-r--r-- | sound/soc/tegra/tegra_asoc_utils.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sound/soc/tegra/tegra_asoc_utils.c b/sound/soc/tegra/tegra_asoc_utils.c index 51e8149fce98..5b3ee2308f48 100644 --- a/sound/soc/tegra/tegra_asoc_utils.c +++ b/sound/soc/tegra/tegra_asoc_utils.c @@ -112,6 +112,41 @@ int tegra_asoc_utils_set_rate(struct tegra_asoc_utils_data *data, int srate, } EXPORT_SYMBOL_GPL(tegra_asoc_utils_set_rate); +int tegra_asoc_utils_clk_enable(struct tegra_asoc_utils_data *data) +{ + int err; + + err = clk_enable(data->clk_pll_a); + if (err) { + dev_err(data->dev, "Can't enable pll_a: %d\n", err); + return err; + } + + err = clk_enable(data->clk_pll_a_out0); + if (err) { + dev_err(data->dev, "Can't enable pll_a_out0: %d\n", err); + return err; + } + + err = clk_enable(data->clk_cdev1); + if (err) { + dev_err(data->dev, "Can't enable cdev1: %d\n", err); + return err; + } + + return 0; +} +EXPORT_SYMBOL_GPL(tegra_asoc_utils_clk_enable); + +int tegra_asoc_utils_clk_disable(struct tegra_asoc_utils_data *data) +{ + clk_disable(data->clk_cdev1); + clk_disable(data->clk_pll_a_out0); + clk_disable(data->clk_pll_a); + return 0; +} +EXPORT_SYMBOL_GPL(tegra_asoc_utils_clk_disable); + int tegra_asoc_utils_init(struct tegra_asoc_utils_data *data, struct device *dev) { |