summaryrefslogtreecommitdiffstats
path: root/sound/soc/sh/rcar/src.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-03-28 00:00:39 +0100
committerMark Brown <broonie@kernel.org>2015-03-28 00:00:39 +0100
commitf8d04e7d91f86c61dbb096d81b99cd692b87fa19 (patch)
tree591ab0bb2a0c7145fd5c299028db97be7398c789 /sound/soc/sh/rcar/src.c
parentASoC: rsrc-card: add .be_hw_params_fixup support for convert rate (diff)
parentASoC: rsnd: call clk_prepare/unprepare() in probe/remove (diff)
downloadlinux-f8d04e7d91f86c61dbb096d81b99cd692b87fa19.tar.xz
linux-f8d04e7d91f86c61dbb096d81b99cd692b87fa19.zip
Merge branch 'asoc-fix-rcar' into HEAD
Diffstat (limited to 'sound/soc/sh/rcar/src.c')
-rw-r--r--sound/soc/sh/rcar/src.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/sound/soc/sh/rcar/src.c b/sound/soc/sh/rcar/src.c
index cc93f32b0de0..6099a8ee0007 100644
--- a/sound/soc/sh/rcar/src.c
+++ b/sound/soc/sh/rcar/src.c
@@ -867,7 +867,7 @@ int rsnd_src_probe(struct platform_device *pdev,
struct rsnd_mod_ops *ops;
struct clk *clk;
char name[RSND_SRC_NAME_SIZE];
- int i, nr;
+ int i, nr, ret;
ops = NULL;
if (rsnd_is_gen1(priv))
@@ -907,10 +907,23 @@ int rsnd_src_probe(struct platform_device *pdev,
src->info = &info->src_info[i];
- rsnd_mod_init(&src->mod, ops, clk, RSND_MOD_SRC, i);
+ ret = rsnd_mod_init(&src->mod, ops, clk, RSND_MOD_SRC, i);
+ if (ret)
+ return ret;
dev_dbg(dev, "SRC%d probed\n", i);
}
return 0;
}
+
+void rsnd_src_remove(struct platform_device *pdev,
+ struct rsnd_priv *priv)
+{
+ struct rsnd_src *src;
+ int i;
+
+ for_each_rsnd_src(src, priv, i) {
+ rsnd_mod_quit(&src->mod);
+ }
+}