summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra30_spdif.c
diff options
context:
space:
mode:
authorSumit Bhattacharya <sumitb@nvidia.com>2011-10-21 22:08:46 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:50:06 -0800
commit71f4ccea46e6d1d96b7a70c0ee8dfe37ed666ff4 (patch)
tree4d72c3e0ff908448783b6cacba7da5e41f8b24ba /sound/soc/tegra/tegra30_spdif.c
parentbc10b4c600d69a6878c2933732ba50f40cf5f805 (diff)
asoc: tegra: Remove HDMI-SPDIF path support
HDMI-SPDIF path is not supported on Tegra30. Remove WAR added to make HDMI-SPDIF path partially functional. Also remove hda2codec_2x clock access from SPDIF driver since this is only required for HDMI-SPDIF path. Bug 872652 Change-Id: I4b0f7666fb53fa603c293154b05aaf62bb54e1bc Signed-off-by: Sumit Bhattacharya <sumitb@nvidia.com> Reviewed-on: http://git-master/r/63315 Reviewed-by: Scott Peterson <speterson@nvidia.com> Reviewed-by: Stephen Warren <swarren@nvidia.com> Rebase-Id: Refd3a2026d80c2fe0f4e3835db18a94b17eba6a9
Diffstat (limited to 'sound/soc/tegra/tegra30_spdif.c')
-rw-r--r--sound/soc/tegra/tegra30_spdif.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/sound/soc/tegra/tegra30_spdif.c b/sound/soc/tegra/tegra30_spdif.c
index b934634fb5eb..038127c0afb0 100644
--- a/sound/soc/tegra/tegra30_spdif.c
+++ b/sound/soc/tegra/tegra30_spdif.c
@@ -61,14 +61,12 @@ static inline u32 tegra30_spdif_read(struct tegra30_spdif *spdif, u32 reg)
static void tegra30_spdif_enable_clocks(struct tegra30_spdif *spdif)
{
clk_enable(spdif->clk_spdif_out);
- clk_enable(spdif->clk_hda2codec);
tegra30_ahub_enable_clocks();
}
static void tegra30_spdif_disable_clocks(struct tegra30_spdif *spdif)
{
tegra30_ahub_disable_clocks();
- clk_disable(spdif->clk_hda2codec);
clk_disable(spdif->clk_spdif_out);
}
@@ -284,10 +282,6 @@ static int tegra30_spdif_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}
- // WAR: Apply 2x spdifclock to have proper audio (bug 838569)
- // Should be removed once HDA is up.
- spdifclock *= 2;
-
ret = clk_set_rate(spdif->clk_spdif_out, spdifclock);
if (ret) {
dev_err(dev, "Can't set SPDIF clock rate: %d\n", ret);
@@ -405,18 +399,11 @@ static __devinit int tegra30_spdif_platform_probe(struct platform_device *pdev)
goto err_free;
}
- spdif->clk_hda2codec = clk_get_sys("hda2codec_2x", NULL);
- if (IS_ERR(spdif->clk_hda2codec)) {
- dev_err(&pdev->dev, "Can't retrieve hda2codec clock\n");
- ret = PTR_ERR(spdif->clk_hda2codec);
- goto err_clk_put_spdif;
- }
-
mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!mem) {
dev_err(&pdev->dev, "No memory resource\n");
ret = -ENODEV;
- goto err_clk_put_hda;
+ goto err_clk_put_spdif;
}
memregion = request_mem_region(mem->start, resource_size(mem),
@@ -424,7 +411,7 @@ static __devinit int tegra30_spdif_platform_probe(struct platform_device *pdev)
if (!memregion) {
dev_err(&pdev->dev, "Memory region already claimed\n");
ret = -EBUSY;
- goto err_clk_put_hda;
+ goto err_clk_put_spdif;
}
spdif->regs = ioremap(mem->start, resource_size(mem));
@@ -462,8 +449,6 @@ err_unmap:
iounmap(spdif->regs);
err_release:
release_mem_region(mem->start, resource_size(mem));
-err_clk_put_hda:
- clk_put(spdif->clk_hda2codec);
err_clk_put_spdif:
clk_put(spdif->clk_spdif_out);
err_free:
@@ -487,7 +472,6 @@ static int __devexit tegra30_spdif_platform_remove(struct platform_device *pdev)
release_mem_region(res->start, resource_size(res));
clk_put(spdif->clk_spdif_out);
- clk_put(spdif->clk_hda2codec);
kfree(spdif);