mirror of
https://github.com/brain-hackers/linux-brain.git
synced 2024-06-09 15:26:21 +09:00
MLK-10899: ASoC: si476x: add startup/shutdown to powerup/down FM
The hw parameter is set failed for si476x if si476x is not powerup, the codec use the default value of this module. So add startup/shutdown to powerup/powerdown FM, then we can set parameter successfully. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> (cherry picked from commit 796665760605e020e6835f13db6ce49e0a0e03f5)
This commit is contained in:
parent
ebf67d3ab0
commit
7d0becbfe1
|
@ -199,9 +199,28 @@ static int si476x_codec_hw_params(struct snd_pcm_substream *substream,
|
|||
return err;
|
||||
}
|
||||
|
||||
static int si476x_codec_startup(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai) {
|
||||
struct si476x_core *core = i2c_mfd_cell_to_core(dai->dev);
|
||||
|
||||
if (!si476x_core_is_powered_up(core))
|
||||
si476x_core_set_power_state(core, SI476X_POWER_UP_FULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void si476x_codec_shutdown(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai) {
|
||||
struct si476x_core *core = i2c_mfd_cell_to_core(dai->dev);
|
||||
|
||||
if (si476x_core_is_powered_up(core))
|
||||
si476x_core_set_power_state(core, SI476X_POWER_DOWN);
|
||||
}
|
||||
|
||||
static const struct snd_soc_dai_ops si476x_dai_ops = {
|
||||
.hw_params = si476x_codec_hw_params,
|
||||
.set_fmt = si476x_codec_set_dai_fmt,
|
||||
.startup = si476x_codec_startup,
|
||||
.shutdown = si476x_codec_shutdown,
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_driver si476x_dai = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user