diff options
author | Mark Brown <broonie@kernel.org> | 2015-03-28 00:00:39 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-03-28 00:00:39 +0100 |
commit | f8d04e7d91f86c61dbb096d81b99cd692b87fa19 (patch) | |
tree | 591ab0bb2a0c7145fd5c299028db97be7398c789 /sound/soc/sh/rcar/src.c | |
parent | ASoC: rsrc-card: add .be_hw_params_fixup support for convert rate (diff) | |
parent | ASoC: rsnd: call clk_prepare/unprepare() in probe/remove (diff) | |
download | linux-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.c | 17 |
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); + } +} |