mirror of
https://github.com/torvalds/linux.git
synced 2024-12-30 14:52:05 +00:00
ASoC: rsnd: add rsnd_scu_init(), and separate init/start
Current scu.c has rsnd_scu_start(), and, operation of initialization/start are implemented in this function. This patch adds new rsnd_scu_init() and separates rsnd_scu_start(), since rsnd_mod_ops has .init/.start callbacks. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@linaro.org>
This commit is contained in:
parent
013f38fe26
commit
a204d90c91
@ -264,7 +264,7 @@ bool rsnd_scu_hpbif_is_enable(struct rsnd_mod *mod)
|
||||
return !!(flags & RSND_SCU_USE_HPBIF);
|
||||
}
|
||||
|
||||
static int rsnd_scu_start(struct rsnd_mod *mod,
|
||||
static int rsnd_scu_init(struct rsnd_mod *mod,
|
||||
struct rsnd_dai *rdai,
|
||||
struct rsnd_dai_stream *io)
|
||||
{
|
||||
@ -282,13 +282,30 @@ static int rsnd_scu_start(struct rsnd_mod *mod,
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
ret = rsnd_scu_transfer_start(priv, mod, rdai, io);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rsnd_scu_quit(struct rsnd_mod *mod,
|
||||
struct rsnd_dai *rdai,
|
||||
struct rsnd_dai_stream *io)
|
||||
{
|
||||
struct rsnd_scu *scu = rsnd_mod_to_scu(mod);
|
||||
|
||||
clk_disable(scu->clk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int rsnd_scu_start(struct rsnd_mod *mod,
|
||||
struct rsnd_dai *rdai,
|
||||
struct rsnd_dai_stream *io)
|
||||
{
|
||||
struct rsnd_priv *priv = rsnd_mod_to_priv(mod);
|
||||
struct rsnd_scu *scu = rsnd_mod_to_scu(mod);
|
||||
|
||||
return rsnd_scu_transfer_start(priv, mod, rdai, io);
|
||||
}
|
||||
|
||||
static int rsnd_scu_stop(struct rsnd_mod *mod,
|
||||
struct rsnd_dai *rdai,
|
||||
struct rsnd_dai_stream *io)
|
||||
@ -298,13 +315,13 @@ static int rsnd_scu_stop(struct rsnd_mod *mod,
|
||||
|
||||
rsnd_scu_transfer_stop(priv, mod, rdai, io);
|
||||
|
||||
clk_disable(scu->clk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct rsnd_mod_ops rsnd_scu_ops = {
|
||||
.name = "scu",
|
||||
.init = rsnd_scu_init,
|
||||
.quit = rsnd_scu_quit,
|
||||
.start = rsnd_scu_start,
|
||||
.stop = rsnd_scu_stop,
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user