Commit 5c5bb9a2 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095',...

Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/max98095', 'asoc/topic/max98357a', 'asoc/topic/max98371' and 'asoc/topic/max98373' into asoc-next
...@@ -16,6 +16,8 @@ Optional properties: ...@@ -16,6 +16,8 @@ Optional properties:
- clock-names: Should be "mclk" - clock-names: Should be "mclk"
- #sound-dai-cells : should be 0.
- maxim,dmic-freq: Frequency at which to clock DMIC - maxim,dmic-freq: Frequency at which to clock DMIC
- maxim,micbias: Micbias voltage applies to the analog mic, valid voltages value are: - maxim,micbias: Micbias voltage applies to the analog mic, valid voltages value are:
......
This diff is collapsed.
...@@ -1519,7 +1519,7 @@ struct max98090_cdata { ...@@ -1519,7 +1519,7 @@ struct max98090_cdata {
struct max98090_priv { struct max98090_priv {
struct regmap *regmap; struct regmap *regmap;
struct snd_soc_codec *codec; struct snd_soc_component *component;
enum max98090_type devtype; enum max98090_type devtype;
struct max98090_pdata *pdata; struct max98090_pdata *pdata;
struct clk *mclk; struct clk *mclk;
...@@ -1546,7 +1546,7 @@ struct max98090_priv { ...@@ -1546,7 +1546,7 @@ struct max98090_priv {
bool shdn_pending; bool shdn_pending;
}; };
int max98090_mic_detect(struct snd_soc_codec *codec, int max98090_mic_detect(struct snd_soc_component *component,
struct snd_soc_jack *jack); struct snd_soc_jack *jack);
#endif #endif
This diff is collapsed.
...@@ -315,7 +315,7 @@ ...@@ -315,7 +315,7 @@
/* Default Delay used in Slew Rate Calculation for Jack detection */ /* Default Delay used in Slew Rate Calculation for Jack detection */
#define M98095_DEFAULT_SLEW_DELAY 0x18 #define M98095_DEFAULT_SLEW_DELAY 0x18
extern int max98095_jack_detect(struct snd_soc_codec *codec, extern int max98095_jack_detect(struct snd_soc_component *component,
struct snd_soc_jack *hp_jack, struct snd_soc_jack *mic_jack); struct snd_soc_jack *hp_jack, struct snd_soc_jack *mic_jack);
#endif #endif
...@@ -59,27 +59,29 @@ static const struct snd_soc_dapm_route max98357a_dapm_routes[] = { ...@@ -59,27 +59,29 @@ static const struct snd_soc_dapm_route max98357a_dapm_routes[] = {
{"Speaker", NULL, "HiFi Playback"}, {"Speaker", NULL, "HiFi Playback"},
}; };
static int max98357a_codec_probe(struct snd_soc_codec *codec) static int max98357a_component_probe(struct snd_soc_component *component)
{ {
struct gpio_desc *sdmode; struct gpio_desc *sdmode;
sdmode = devm_gpiod_get_optional(codec->dev, "sdmode", GPIOD_OUT_LOW); sdmode = devm_gpiod_get_optional(component->dev, "sdmode", GPIOD_OUT_LOW);
if (IS_ERR(sdmode)) if (IS_ERR(sdmode))
return PTR_ERR(sdmode); return PTR_ERR(sdmode);
snd_soc_codec_set_drvdata(codec, sdmode); snd_soc_component_set_drvdata(component, sdmode);
return 0; return 0;
} }
static const struct snd_soc_codec_driver max98357a_codec_driver = { static const struct snd_soc_component_driver max98357a_component_driver = {
.probe = max98357a_codec_probe, .probe = max98357a_component_probe,
.component_driver = { .dapm_widgets = max98357a_dapm_widgets,
.dapm_widgets = max98357a_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(max98357a_dapm_widgets),
.num_dapm_widgets = ARRAY_SIZE(max98357a_dapm_widgets), .dapm_routes = max98357a_dapm_routes,
.dapm_routes = max98357a_dapm_routes, .num_dapm_routes = ARRAY_SIZE(max98357a_dapm_routes),
.num_dapm_routes = ARRAY_SIZE(max98357a_dapm_routes), .idle_bias_on = 1,
}, .use_pmdown_time = 1,
.endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static const struct snd_soc_dai_ops max98357a_dai_ops = { static const struct snd_soc_dai_ops max98357a_dai_ops = {
...@@ -107,14 +109,13 @@ static struct snd_soc_dai_driver max98357a_dai_driver = { ...@@ -107,14 +109,13 @@ static struct snd_soc_dai_driver max98357a_dai_driver = {
static int max98357a_platform_probe(struct platform_device *pdev) static int max98357a_platform_probe(struct platform_device *pdev)
{ {
return snd_soc_register_codec(&pdev->dev, &max98357a_codec_driver, return devm_snd_soc_register_component(&pdev->dev,
&max98357a_component_driver,
&max98357a_dai_driver, 1); &max98357a_dai_driver, 1);
} }
static int max98357a_platform_remove(struct platform_device *pdev) static int max98357a_platform_remove(struct platform_device *pdev)
{ {
snd_soc_unregister_codec(&pdev->dev);
return 0; return 0;
} }
......
...@@ -187,15 +187,15 @@ static const struct snd_kcontrol_new max98371_snd_controls[] = { ...@@ -187,15 +187,15 @@ static const struct snd_kcontrol_new max98371_snd_controls[] = {
static int max98371_dai_set_fmt(struct snd_soc_dai *codec_dai, static int max98371_dai_set_fmt(struct snd_soc_dai *codec_dai,
unsigned int fmt) unsigned int fmt)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct max98371_priv *max98371 = snd_soc_codec_get_drvdata(codec); struct max98371_priv *max98371 = snd_soc_component_get_drvdata(component);
unsigned int val = 0; unsigned int val = 0;
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
case SND_SOC_DAIFMT_CBS_CFS: case SND_SOC_DAIFMT_CBS_CFS:
break; break;
default: default:
dev_err(codec->dev, "DAI clock mode unsupported"); dev_err(component->dev, "DAI clock mode unsupported");
return -EINVAL; return -EINVAL;
} }
...@@ -210,7 +210,7 @@ static int max98371_dai_set_fmt(struct snd_soc_dai *codec_dai, ...@@ -210,7 +210,7 @@ static int max98371_dai_set_fmt(struct snd_soc_dai *codec_dai,
val |= MAX98371_DAI_LEFT; val |= MAX98371_DAI_LEFT;
break; break;
default: default:
dev_err(codec->dev, "DAI wrong mode unsupported"); dev_err(component->dev, "DAI wrong mode unsupported");
return -EINVAL; return -EINVAL;
} }
regmap_update_bits(max98371->regmap, MAX98371_FMT, regmap_update_bits(max98371->regmap, MAX98371_FMT,
...@@ -222,8 +222,8 @@ static int max98371_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -222,8 +222,8 @@ static int max98371_dai_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct max98371_priv *max98371 = snd_soc_codec_get_drvdata(codec); struct max98371_priv *max98371 = snd_soc_component_get_drvdata(component);
int blr_clk_ratio, ch_size, channels = params_channels(params); int blr_clk_ratio, ch_size, channels = params_channels(params);
int rate = params_rate(params); int rate = params_rate(params);
...@@ -348,15 +348,17 @@ static struct snd_soc_dai_driver max98371_dai[] = { ...@@ -348,15 +348,17 @@ static struct snd_soc_dai_driver max98371_dai[] = {
} }
}; };
static const struct snd_soc_codec_driver max98371_codec = { static const struct snd_soc_component_driver max98371_component = {
.component_driver = { .controls = max98371_snd_controls,
.controls = max98371_snd_controls, .num_controls = ARRAY_SIZE(max98371_snd_controls),
.num_controls = ARRAY_SIZE(max98371_snd_controls), .dapm_routes = max98371_audio_map,
.dapm_routes = max98371_audio_map, .num_dapm_routes = ARRAY_SIZE(max98371_audio_map),
.num_dapm_routes = ARRAY_SIZE(max98371_audio_map), .dapm_widgets = max98371_dapm_widgets,
.dapm_widgets = max98371_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(max98371_dapm_widgets),
.num_dapm_widgets = ARRAY_SIZE(max98371_dapm_widgets), .idle_bias_on = 1,
}, .use_pmdown_time = 1,
.endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static const struct regmap_config max98371_regmap = { static const struct regmap_config max98371_regmap = {
...@@ -397,21 +399,15 @@ static int max98371_i2c_probe(struct i2c_client *i2c, ...@@ -397,21 +399,15 @@ static int max98371_i2c_probe(struct i2c_client *i2c,
} }
dev_info(&i2c->dev, "device version %x\n", reg); dev_info(&i2c->dev, "device version %x\n", reg);
ret = snd_soc_register_codec(&i2c->dev, &max98371_codec, ret = devm_snd_soc_register_component(&i2c->dev, &max98371_component,
max98371_dai, ARRAY_SIZE(max98371_dai)); max98371_dai, ARRAY_SIZE(max98371_dai));
if (ret < 0) { if (ret < 0) {
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret); dev_err(&i2c->dev, "Failed to register component: %d\n", ret);
return ret; return ret;
} }
return ret; return ret;
} }
static int max98371_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
}
static const struct i2c_device_id max98371_i2c_id[] = { static const struct i2c_device_id max98371_i2c_id[] = {
{ "max98371", 0 }, { "max98371", 0 },
{ } { }
...@@ -432,7 +428,6 @@ static struct i2c_driver max98371_i2c_driver = { ...@@ -432,7 +428,6 @@ static struct i2c_driver max98371_i2c_driver = {
.of_match_table = of_match_ptr(max98371_of_match), .of_match_table = of_match_ptr(max98371_of_match),
}, },
.probe = max98371_i2c_probe, .probe = max98371_i2c_probe,
.remove = max98371_i2c_remove,
.id_table = max98371_i2c_id, .id_table = max98371_i2c_id,
}; };
......
...@@ -62,6 +62,5 @@ ...@@ -62,6 +62,5 @@
struct max98371_priv { struct max98371_priv {
struct regmap *regmap; struct regmap *regmap;
struct snd_soc_codec *codec;
}; };
#endif #endif
...@@ -112,12 +112,12 @@ static struct reg_default max98373_reg[] = { ...@@ -112,12 +112,12 @@ static struct reg_default max98373_reg[] = {
static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
unsigned int format = 0; unsigned int format = 0;
unsigned int invert = 0; unsigned int invert = 0;
dev_dbg(codec->dev, "%s: fmt 0x%08X\n", __func__, fmt); dev_dbg(component->dev, "%s: fmt 0x%08X\n", __func__, fmt);
switch (fmt & SND_SOC_DAIFMT_INV_MASK) { switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
case SND_SOC_DAIFMT_NB_NF: case SND_SOC_DAIFMT_NB_NF:
...@@ -126,7 +126,7 @@ static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) ...@@ -126,7 +126,7 @@ static int max98373_dai_set_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
invert = MAX98373_PCM_MODE_CFG_PCM_BCLKEDGE; invert = MAX98373_PCM_MODE_CFG_PCM_BCLKEDGE;
break; break;
default: default:
dev_err(codec->dev, "DAI invert mode unsupported\n"); dev_err(component->dev, "DAI invert mode unsupported\n");
return -EINVAL; return -EINVAL;
} }
...@@ -177,10 +177,10 @@ static int max98373_get_bclk_sel(int bclk) ...@@ -177,10 +177,10 @@ static int max98373_get_bclk_sel(int bclk)
return 0; return 0;
} }
static int max98373_set_clock(struct snd_soc_codec *codec, static int max98373_set_clock(struct snd_soc_component *component,
struct snd_pcm_hw_params *params) struct snd_pcm_hw_params *params)
{ {
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
/* BCLK/LRCLK ratio calculation */ /* BCLK/LRCLK ratio calculation */
int blr_clk_ratio = params_channels(params) * max98373->ch_size; int blr_clk_ratio = params_channels(params) * max98373->ch_size;
int value; int value;
...@@ -189,7 +189,7 @@ static int max98373_set_clock(struct snd_soc_codec *codec, ...@@ -189,7 +189,7 @@ static int max98373_set_clock(struct snd_soc_codec *codec,
/* BCLK configuration */ /* BCLK configuration */
value = max98373_get_bclk_sel(blr_clk_ratio); value = max98373_get_bclk_sel(blr_clk_ratio);
if (!value) { if (!value) {
dev_err(codec->dev, "format unsupported %d\n", dev_err(component->dev, "format unsupported %d\n",
params_format(params)); params_format(params));
return -EINVAL; return -EINVAL;
} }
...@@ -206,8 +206,8 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -206,8 +206,8 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai) struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
unsigned int sampling_rate = 0; unsigned int sampling_rate = 0;
unsigned int chan_sz = 0; unsigned int chan_sz = 0;
...@@ -223,7 +223,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -223,7 +223,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream,
chan_sz = MAX98373_PCM_MODE_CFG_CHANSZ_32; chan_sz = MAX98373_PCM_MODE_CFG_CHANSZ_32;
break; break;
default: default:
dev_err(codec->dev, "format unsupported %d\n", dev_err(component->dev, "format unsupported %d\n",
params_format(params)); params_format(params));
goto err; goto err;
} }
...@@ -234,7 +234,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -234,7 +234,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream,
MAX98373_R2024_PCM_DATA_FMT_CFG, MAX98373_R2024_PCM_DATA_FMT_CFG,
MAX98373_PCM_MODE_CFG_CHANSZ_MASK, chan_sz); MAX98373_PCM_MODE_CFG_CHANSZ_MASK, chan_sz);
dev_dbg(codec->dev, "format supported %d", dev_dbg(component->dev, "format supported %d",
params_format(params)); params_format(params));
/* sampling rate configuration */ /* sampling rate configuration */
...@@ -267,7 +267,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -267,7 +267,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream,
sampling_rate = MAX98373_PCM_SR_SET1_SR_48000; sampling_rate = MAX98373_PCM_SR_SET1_SR_48000;
break; break;
default: default:
dev_err(codec->dev, "rate %d not supported\n", dev_err(component->dev, "rate %d not supported\n",
params_rate(params)); params_rate(params));
goto err; goto err;
} }
...@@ -295,7 +295,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream, ...@@ -295,7 +295,7 @@ static int max98373_dai_hw_params(struct snd_pcm_substream *substream,
MAX98373_PCM_SR_SET2_IVADC_SR_MASK, MAX98373_PCM_SR_SET2_IVADC_SR_MASK,
sampling_rate); sampling_rate);
return max98373_set_clock(codec, params); return max98373_set_clock(component, params);
err: err:
return -EINVAL; return -EINVAL;
} }
...@@ -304,8 +304,8 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, ...@@ -304,8 +304,8 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai,
unsigned int tx_mask, unsigned int rx_mask, unsigned int tx_mask, unsigned int rx_mask,
int slots, int slot_width) int slots, int slot_width)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
int bsel = 0; int bsel = 0;
unsigned int chan_sz = 0; unsigned int chan_sz = 0;
unsigned int mask; unsigned int mask;
...@@ -319,7 +319,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, ...@@ -319,7 +319,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai,
/* BCLK configuration */ /* BCLK configuration */
bsel = max98373_get_bclk_sel(slots * slot_width); bsel = max98373_get_bclk_sel(slots * slot_width);
if (bsel == 0) { if (bsel == 0) {
dev_err(codec->dev, "BCLK %d not supported\n", dev_err(component->dev, "BCLK %d not supported\n",
slots * slot_width); slots * slot_width);
return -EINVAL; return -EINVAL;
} }
...@@ -341,7 +341,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai, ...@@ -341,7 +341,7 @@ static int max98373_dai_tdm_slot(struct snd_soc_dai *dai,
chan_sz = MAX98373_PCM_MODE_CFG_CHANSZ_32; chan_sz = MAX98373_PCM_MODE_CFG_CHANSZ_32;
break; break;
default: default:
dev_err(codec->dev, "format unsupported %d\n", dev_err(component->dev, "format unsupported %d\n",
slot_width); slot_width);
return -EINVAL; return -EINVAL;
} }
...@@ -394,8 +394,8 @@ static const struct snd_soc_dai_ops max98373_dai_ops = { ...@@ -394,8 +394,8 @@ static const struct snd_soc_dai_ops max98373_dai_ops = {
static int max98373_dac_event(struct snd_soc_dapm_widget *w, static int max98373_dac_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event) struct snd_kcontrol *kcontrol, int event)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
switch (event) { switch (event) {
case SND_SOC_DAPM_POST_PMU: case SND_SOC_DAPM_POST_PMU:
...@@ -721,11 +721,9 @@ static struct snd_soc_dai_driver max98373_dai[] = { ...@@ -721,11 +721,9 @@ static struct snd_soc_dai_driver max98373_dai[] = {
} }
}; };
static int max98373_probe(struct snd_soc_codec *codec) static int max98373_probe(struct snd_soc_component *component)
{ {
struct max98373_priv *max98373 = snd_soc_codec_get_drvdata(codec); struct max98373_priv *max98373 = snd_soc_component_get_drvdata(component);
codec->control_data = max98373->regmap;
/* Software Reset */ /* Software Reset */
regmap_write(max98373->regmap, regmap_write(max98373->regmap,
...@@ -828,16 +826,18 @@ static const struct dev_pm_ops max98373_pm = { ...@@ -828,16 +826,18 @@ static const struct dev_pm_ops max98373_pm = {
SET_SYSTEM_SLEEP_PM_OPS(max98373_suspend, max98373_resume) SET_SYSTEM_SLEEP_PM_OPS(max98373_suspend, max98373_resume)
}; };
static const struct snd_soc_codec_driver soc_codec_dev_max98373 = { static const struct snd_soc_component_driver soc_codec_dev_max98373 = {
.probe = max98373_probe, .probe = max98373_probe,
.component_driver = { .controls = max98373_snd_controls,
.controls = max98373_snd_controls, .num_controls = ARRAY_SIZE(max98373_snd_controls),
.num_controls = ARRAY_SIZE(max98373_snd_controls), .dapm_widgets = max98373_dapm_widgets,
.dapm_widgets = max98373_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(max98373_dapm_widgets),
.num_dapm_widgets = ARRAY_SIZE(max98373_dapm_widgets), .dapm_routes = max98373_audio_map,
.dapm_routes = max98373_audio_map, .num_dapm_routes = ARRAY_SIZE(max98373_audio_map),
.num_dapm_routes = ARRAY_SIZE(max98373_audio_map), .idle_bias_on = 1,
}, .use_pmdown_time = 1,
.endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static const struct regmap_config max98373_regmap = { static const struct regmap_config max98373_regmap = {
...@@ -920,7 +920,7 @@ static int max98373_i2c_probe(struct i2c_client *i2c, ...@@ -920,7 +920,7 @@ static int max98373_i2c_probe(struct i2c_client *i2c,
max98373_slot_config(i2c, max98373); max98373_slot_config(i2c, max98373);
/* codec registeration */ /* codec registeration */
ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_max98373, ret = devm_snd_soc_register_component(&i2c->dev, &soc_codec_dev_max98373,
max98373_dai, ARRAY_SIZE(max98373_dai)); max98373_dai, ARRAY_SIZE(max98373_dai));
if (ret < 0) if (ret < 0)
dev_err(&i2c->dev, "Failed to register codec: %d\n", ret); dev_err(&i2c->dev, "Failed to register codec: %d\n", ret);
...@@ -928,12 +928,6 @@ static int max98373_i2c_probe(struct i2c_client *i2c, ...@@ -928,12 +928,6 @@ static int max98373_i2c_probe(struct i2c_client *i2c,
return ret; return ret;
} }
static int max98373_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
}
static const struct i2c_device_id max98373_i2c_id[] = { static const struct i2c_device_id max98373_i2c_id[] = {
{ "max98373", 0}, { "max98373", 0},
{ }, { },
...@@ -965,7 +959,6 @@ static struct i2c_driver max98373_i2c_driver = { ...@@ -965,7 +959,6 @@ static struct i2c_driver max98373_i2c_driver = {
.pm = &max98373_pm, .pm = &max98373_pm,
}, },
.probe = max98373_i2c_probe, .probe = max98373_i2c_probe,
.remove = max98373_i2c_remove,
.id_table = max98373_i2c_id, .id_table = max98373_i2c_id,
}; };
......
...@@ -75,7 +75,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime) ...@@ -75,7 +75,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime)
{ {
int ret; int ret;
struct snd_soc_card *card = runtime->card; struct snd_soc_card *card = runtime->card;
struct snd_soc_codec *codec = runtime->codec; struct snd_soc_component *component = runtime->codec_dai->component;
/* enable jack detection */ /* enable jack detection */
ret = snd_soc_card_jack_new(card, "Headphone", SND_JACK_HEADPHONE, ret = snd_soc_card_jack_new(card, "Headphone", SND_JACK_HEADPHONE,
...@@ -87,7 +87,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime) ...@@ -87,7 +87,7 @@ static int mt8173_max98090_init(struct snd_soc_pcm_runtime *runtime)
return ret; return ret;
} }
return max98090_mic_detect(codec, &mt8173_max98090_jack); return max98090_mic_detect(component, &mt8173_max98090_jack);
} }
/* Digital audio interface glue - connects codec <---> CPU */ /* Digital audio interface glue - connects codec <---> CPU */
......
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