From 71f4ccea46e6d1d96b7a70c0ee8dfe37ed666ff4 Mon Sep 17 00:00:00 2001 From: Sumit Bhattacharya Date: Fri, 21 Oct 2011 22:08:46 +0530 Subject: 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 Reviewed-on: http://git-master/r/63315 Reviewed-by: Scott Peterson Reviewed-by: Stephen Warren Rebase-Id: Refd3a2026d80c2fe0f4e3835db18a94b17eba6a9 --- sound/soc/tegra/tegra30_spdif.c | 20 ++------------------ sound/soc/tegra/tegra30_spdif.h | 1 - 2 files changed, 2 insertions(+), 19 deletions(-) (limited to 'sound') 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); diff --git a/sound/soc/tegra/tegra30_spdif.h b/sound/soc/tegra/tegra30_spdif.h index ce449c5edad4..c4763c31b257 100644 --- a/sound/soc/tegra/tegra30_spdif.h +++ b/sound/soc/tegra/tegra30_spdif.h @@ -765,7 +765,6 @@ struct tegra30_spdif { struct clk *clk_spdif_out; - struct clk *clk_hda2codec; enum tegra30_ahub_txcif txcif; struct tegra_pcm_dma_params playback_dma_data; void __iomem *regs; -- cgit v1.2.3