summaryrefslogtreecommitdiff
path: root/sound/soc/sh/rcar/src.c
diff options
context:
space:
mode:
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>2015-01-15 08:03:22 +0000
committerMark Brown <broonie@kernel.org>2015-01-15 11:37:48 +0000
commit8564295231727c4a05ed2e9b8337fe70afe531ef (patch)
treefb8ba5c0bc15928279d86875e4684a1f29ce3c48 /sound/soc/sh/rcar/src.c
parent9d0e202f1314cb4a88bf7e04a6ba017d1a1910dc (diff)
ASoC: rsnd: rsnd_mod controls clock
Current rsnd driver's mod (= ssi/src/dvc) have each own clk, but, these are needed to start/stop each mod. This patch adds struct clk in rsnd_mod, and start/stop these via rsnd_mod_hw_start/stop() macro Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sh/rcar/src.c')
-rw-r--r--sound/soc/sh/rcar/src.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
index 648b35e7effc..6a3fd8dce1c3 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
@@ -22,7 +22,6 @@
struct rsnd_src {
struct rsnd_src_platform_info *info; /* rcar_snd.h */
struct rsnd_mod mod;
- struct clk *clk;
int err;
};
@@ -286,7 +285,7 @@ static int rsnd_src_init(struct rsnd_mod *mod,
{
struct rsnd_src *src = rsnd_mod_to_src(mod);
- clk_prepare_enable(src->clk);
+ rsnd_mod_hw_start(mod);
src->err = 0;
@@ -306,7 +305,7 @@ static int rsnd_src_quit(struct rsnd_mod *mod,
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
struct device *dev = rsnd_priv_to_dev(priv);
- clk_disable_unprepare(src->clk);
+ rsnd_mod_hw_stop(mod);
if (src->err)
dev_warn(dev, "src under/over flow err = %d\n", src->err);
@@ -902,9 +901,8 @@ int rsnd_src_probe(struct platform_device *pdev,
return PTR_ERR(clk);
src->info = &info->src_info[i];
- src->clk = clk;
- rsnd_mod_init(priv, &src->mod, ops, RSND_MOD_SRC, i);
+ rsnd_mod_init(priv, &src->mod, ops, clk, RSND_MOD_SRC, i);
dev_dbg(dev, "SRC%d probed\n", i);
}