Skip to content

Commit

Permalink
Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/ssm25…
Browse files Browse the repository at this point in the history
…18', 'asoc/topic/ssm2602', 'asoc/topic/ssm4567' and 'asoc/topic/sta32x' into asoc-next
  • Loading branch information
Mark Brown committed Jun 5, 2015
6 parents cee77be + e0ae225 + aa3a0f2 + fa68cfd + 9a122de + 79ffbf1 commit 19726b0
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 6 deletions.
2 changes: 1 addition & 1 deletion sound/soc/codecs/ssm2518.c
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ static int ssm2518_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_PREPARE:
break;
case SND_SOC_BIAS_STANDBY:
if (codec->dapm.bias_level == SND_SOC_BIAS_OFF)
if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF)
ret = ssm2518_set_power(ssm2518, true);
break;
case SND_SOC_BIAS_OFF:
Expand Down
4 changes: 2 additions & 2 deletions sound/soc/codecs/ssm2602.c
Original file line number Diff line number Diff line change
Expand Up @@ -523,8 +523,8 @@ static int ssm2602_resume(struct snd_soc_codec *codec)

static int ssm2602_codec_probe(struct snd_soc_codec *codec)
{
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
struct ssm2602_priv *ssm2602 = snd_soc_codec_get_drvdata(codec);
struct snd_soc_dapm_context *dapm = &codec->dapm;
int ret;

regmap_update_bits(ssm2602->regmap, SSM2602_LOUT1V,
Expand All @@ -548,7 +548,7 @@ static int ssm2602_codec_probe(struct snd_soc_codec *codec)

static int ssm2604_codec_probe(struct snd_soc_codec *codec)
{
struct snd_soc_dapm_context *dapm = &codec->dapm;
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
int ret;

ret = snd_soc_dapm_new_controls(dapm, ssm2604_dapm_widgets,
Expand Down
2 changes: 1 addition & 1 deletion sound/soc/codecs/ssm4567.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ static int ssm4567_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_PREPARE:
break;
case SND_SOC_BIAS_STANDBY:
if (codec->dapm.bias_level == SND_SOC_BIAS_OFF)
if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF)
ret = ssm4567_set_power(ssm4567, true);
break;
case SND_SOC_BIAS_OFF:
Expand Down
16 changes: 14 additions & 2 deletions sound/soc/generic/simple-card.c
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
struct snd_soc_dai_link *dai_link = simple_priv_to_link(priv, idx);
struct simple_dai_props *dai_props = simple_priv_to_props(priv, idx);
struct device_node *cpu = NULL;
struct device_node *plat = NULL;
struct device_node *codec = NULL;
char *name;
char prop[128];
Expand All @@ -320,6 +321,9 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
snprintf(prop, sizeof(prop), "%scpu", prefix);
cpu = of_get_child_by_name(node, prop);

snprintf(prop, sizeof(prop), "%splat", prefix);
plat = of_get_child_by_name(node, prop);

snprintf(prop, sizeof(prop), "%scodec", prefix);
codec = of_get_child_by_name(node, prop);

Expand Down Expand Up @@ -352,8 +356,16 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
goto dai_link_of_err;
}

/* Simple Card assumes platform == cpu */
dai_link->platform_of_node = dai_link->cpu_of_node;
if (plat) {
struct of_phandle_args args;

ret = of_parse_phandle_with_args(plat, "sound-dai",
"#sound-dai-cells", 0, &args);
dai_link->platform_of_node = args.np;
} else {
/* Assumes platform == cpu */
dai_link->platform_of_node = dai_link->cpu_of_node;
}

/* DAI link name is created from CPU/CODEC dai name */
name = devm_kzalloc(dev,
Expand Down

0 comments on commit 19726b0

Please sign in to comment.