Commit 19726b0e authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/ssm2518',...

Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/ssm2518', 'asoc/topic/ssm2602', 'asoc/topic/ssm4567' and 'asoc/topic/sta32x' into asoc-next
...@@ -510,7 +510,7 @@ static int ssm2518_set_bias_level(struct snd_soc_codec *codec, ...@@ -510,7 +510,7 @@ static int ssm2518_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_PREPARE: case SND_SOC_BIAS_PREPARE:
break; break;
case SND_SOC_BIAS_STANDBY: 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); ret = ssm2518_set_power(ssm2518, true);
break; break;
case SND_SOC_BIAS_OFF: case SND_SOC_BIAS_OFF:
......
...@@ -523,8 +523,8 @@ static int ssm2602_resume(struct snd_soc_codec *codec) ...@@ -523,8 +523,8 @@ static int ssm2602_resume(struct snd_soc_codec *codec)
static int ssm2602_codec_probe(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 ssm2602_priv *ssm2602 = snd_soc_codec_get_drvdata(codec);
struct snd_soc_dapm_context *dapm = &codec->dapm;
int ret; int ret;
regmap_update_bits(ssm2602->regmap, SSM2602_LOUT1V, regmap_update_bits(ssm2602->regmap, SSM2602_LOUT1V,
...@@ -548,7 +548,7 @@ static int ssm2602_codec_probe(struct snd_soc_codec *codec) ...@@ -548,7 +548,7 @@ static int ssm2602_codec_probe(struct snd_soc_codec *codec)
static int ssm2604_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; int ret;
ret = snd_soc_dapm_new_controls(dapm, ssm2604_dapm_widgets, ret = snd_soc_dapm_new_controls(dapm, ssm2604_dapm_widgets,
......
...@@ -353,7 +353,7 @@ static int ssm4567_set_bias_level(struct snd_soc_codec *codec, ...@@ -353,7 +353,7 @@ static int ssm4567_set_bias_level(struct snd_soc_codec *codec,
case SND_SOC_BIAS_PREPARE: case SND_SOC_BIAS_PREPARE:
break; break;
case SND_SOC_BIAS_STANDBY: 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); ret = ssm4567_set_power(ssm4567, true);
break; break;
case SND_SOC_BIAS_OFF: case SND_SOC_BIAS_OFF:
......
...@@ -307,6 +307,7 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, ...@@ -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 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 simple_dai_props *dai_props = simple_priv_to_props(priv, idx);
struct device_node *cpu = NULL; struct device_node *cpu = NULL;
struct device_node *plat = NULL;
struct device_node *codec = NULL; struct device_node *codec = NULL;
char *name; char *name;
char prop[128]; char prop[128];
...@@ -320,6 +321,9 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, ...@@ -320,6 +321,9 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
snprintf(prop, sizeof(prop), "%scpu", prefix); snprintf(prop, sizeof(prop), "%scpu", prefix);
cpu = of_get_child_by_name(node, prop); 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); snprintf(prop, sizeof(prop), "%scodec", prefix);
codec = of_get_child_by_name(node, prop); codec = of_get_child_by_name(node, prop);
...@@ -352,8 +356,16 @@ static int asoc_simple_card_dai_link_of(struct device_node *node, ...@@ -352,8 +356,16 @@ static int asoc_simple_card_dai_link_of(struct device_node *node,
goto dai_link_of_err; goto dai_link_of_err;
} }
/* Simple Card assumes platform == cpu */ if (plat) {
dai_link->platform_of_node = dai_link->cpu_of_node; 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 */ /* DAI link name is created from CPU/CODEC dai name */
name = devm_kzalloc(dev, name = devm_kzalloc(dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment