From eb7dacf7ea66692e5a9d94308d0c905c7ea9a973 Mon Sep 17 00:00:00 2001 From: Asha T Date: Wed, 21 Oct 2015 15:57:46 +0530 Subject: [PATCH] ASoC: tegra-alt: Update dev-t18x-bringup to main Updated machine and platform drivers from dev-t18x-bringup branch. List of CL's http://git-master/r/787398 http://git-master/r/791132 http://git-master/r/792130 http://git-master/r/799230 http://git-master/r/800417 http://git-master/r/800419 http://git-master/r/800920 http://git-master/r/801539 http://git-master/r/802367 http://git-master/r/802548 http://git-master/r/810462 http://git-master/r/792743 http://git-master/r/798829 http://git-master/r/800921 Change-Id: I16799b8b34d9ca37221cbefb7bd3f5b0dcec5412 Signed-off-by: Asha T Reviewed-on: http://git-master/r/820944 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Ravindra Lokhande --- sound/soc/tegra-alt/tegra186_dspk_alt.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/sound/soc/tegra-alt/tegra186_dspk_alt.c b/sound/soc/tegra-alt/tegra186_dspk_alt.c index 0c73a491..2b640a0a 100644 --- a/sound/soc/tegra-alt/tegra186_dspk_alt.c +++ b/sound/soc/tegra-alt/tegra186_dspk_alt.c @@ -63,6 +63,10 @@ static int tegra186_dspk_runtime_suspend(struct device *dev) { struct tegra186_dspk *dspk = dev_get_drvdata(dev); regcache_cache_only(dspk->regmap, true); + + if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) + clk_disable_unprepare(dspk->clk_dspk); + pm_runtime_put_sync(dev->parent); return 0; } @@ -77,6 +81,15 @@ static int tegra186_dspk_runtime_resume(struct device *dev) dev_err(dev, "parent get_sync failed: %d\n", ret); return ret; } + + if (!(tegra_platform_is_unit_fpga() || tegra_platform_is_fpga())) { + ret = clk_prepare_enable(dspk->clk_dspk); + if (ret) { + dev_err(dev, "clk_enable failed: %d\n", ret); + return ret; + } + } + regcache_cache_only(dspk->regmap, false); regcache_sync(dspk->regmap); return 0; @@ -347,7 +360,7 @@ static int tegra186_dspk_platform_probe(struct platform_device *pdev) goto err; } - dspk->clk_pll_a_out0 = clk_get_sys(NULL, "pll_a_out0"); + dspk->clk_pll_a_out0 = devm_clk_get(&pdev->dev, "pll_a_out0"); if (IS_ERR_OR_NULL(dspk->clk_pll_a_out0)) { dev_err(&pdev->dev, "Can't retrieve pll_a_out0 clock\n"); ret = -ENOENT;