Commit 7275949e authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/topic/msm8916-wcd-digital',...

Merge remote-tracking branches 'asoc/topic/msm8916-wcd-digital', 'asoc/topic/mtk', 'asoc/topic/nau8540', 'asoc/topic/nau8810' and 'asoc/topic/nau8824' into asoc-next
This diff is collapsed.
...@@ -236,8 +236,8 @@ static const struct snd_kcontrol_new digital_ch1_mux = ...@@ -236,8 +236,8 @@ static const struct snd_kcontrol_new digital_ch1_mux =
static int adc_power_control(struct snd_soc_dapm_widget *w, static int adc_power_control(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *k, int event) struct snd_kcontrol *k, 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 nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
if (SND_SOC_DAPM_EVENT_ON(event)) { if (SND_SOC_DAPM_EVENT_ON(event)) {
msleep(300); msleep(300);
...@@ -258,8 +258,8 @@ static int adc_power_control(struct snd_soc_dapm_widget *w, ...@@ -258,8 +258,8 @@ static int adc_power_control(struct snd_soc_dapm_widget *w,
static int aiftx_power_control(struct snd_soc_dapm_widget *w, static int aiftx_power_control(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *k, int event) struct snd_kcontrol *k, 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 nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
if (SND_SOC_DAPM_EVENT_OFF(event)) { if (SND_SOC_DAPM_EVENT_OFF(event)) {
regmap_write(nau8540->regmap, NAU8540_REG_RST, 0x0001); regmap_write(nau8540->regmap, NAU8540_REG_RST, 0x0001);
...@@ -379,8 +379,8 @@ static int nau8540_clock_check(struct nau8540 *nau8540, int rate, int osr) ...@@ -379,8 +379,8 @@ static int nau8540_clock_check(struct nau8540 *nau8540, int rate, int osr)
static int nau8540_hw_params(struct snd_pcm_substream *substream, static int nau8540_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
unsigned int val_len = 0, osr; unsigned int val_len = 0, osr;
/* CLK_ADC = OSR * FS /* CLK_ADC = OSR * FS
...@@ -422,8 +422,8 @@ static int nau8540_hw_params(struct snd_pcm_substream *substream, ...@@ -422,8 +422,8 @@ static int nau8540_hw_params(struct snd_pcm_substream *substream,
static int nau8540_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int nau8540_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
unsigned int ctrl1_val = 0, ctrl2_val = 0; unsigned int ctrl1_val = 0, ctrl2_val = 0;
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
...@@ -493,8 +493,8 @@ static int nau8540_set_fmt(struct snd_soc_dai *dai, unsigned int fmt) ...@@ -493,8 +493,8 @@ static int nau8540_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
static int nau8540_set_tdm_slot(struct snd_soc_dai *dai, static int nau8540_set_tdm_slot(struct snd_soc_dai *dai,
unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
unsigned int ctrl2_val = 0, ctrl4_val = 0; unsigned int ctrl2_val = 0, ctrl4_val = 0;
if (slots > 4 || ((tx_mask & 0xf0) && (tx_mask & 0xf))) if (slots > 4 || ((tx_mask & 0xf0) && (tx_mask & 0xf)))
...@@ -649,10 +649,10 @@ static void nau8540_fll_apply(struct regmap *regmap, ...@@ -649,10 +649,10 @@ static void nau8540_fll_apply(struct regmap *regmap,
} }
/* freq_out must be 256*Fs in order to achieve the best performance */ /* freq_out must be 256*Fs in order to achieve the best performance */
static int nau8540_set_pll(struct snd_soc_codec *codec, int pll_id, int source, static int nau8540_set_pll(struct snd_soc_component *component, int pll_id, int source,
unsigned int freq_in, unsigned int freq_out) unsigned int freq_in, unsigned int freq_out)
{ {
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
struct nau8540_fll fll_param; struct nau8540_fll fll_param;
int ret, fs; int ret, fs;
...@@ -702,10 +702,10 @@ static int nau8540_set_pll(struct snd_soc_codec *codec, int pll_id, int source, ...@@ -702,10 +702,10 @@ static int nau8540_set_pll(struct snd_soc_codec *codec, int pll_id, int source,
return 0; return 0;
} }
static int nau8540_set_sysclk(struct snd_soc_codec *codec, static int nau8540_set_sysclk(struct snd_soc_component *component,
int clk_id, int source, unsigned int freq, int dir) int clk_id, int source, unsigned int freq, int dir)
{ {
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
switch (clk_id) { switch (clk_id) {
case NAU8540_CLK_DIS: case NAU8540_CLK_DIS:
...@@ -777,9 +777,9 @@ static void nau8540_init_regs(struct nau8540 *nau8540) ...@@ -777,9 +777,9 @@ static void nau8540_init_regs(struct nau8540 *nau8540)
NAU8540_I2S_DO34_TRI, NAU8540_I2S_DO34_TRI); NAU8540_I2S_DO34_TRI, NAU8540_I2S_DO34_TRI);
} }
static int __maybe_unused nau8540_suspend(struct snd_soc_codec *codec) static int __maybe_unused nau8540_suspend(struct snd_soc_component *component)
{ {
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
regcache_cache_only(nau8540->regmap, true); regcache_cache_only(nau8540->regmap, true);
regcache_mark_dirty(nau8540->regmap); regcache_mark_dirty(nau8540->regmap);
...@@ -787,9 +787,9 @@ static int __maybe_unused nau8540_suspend(struct snd_soc_codec *codec) ...@@ -787,9 +787,9 @@ static int __maybe_unused nau8540_suspend(struct snd_soc_codec *codec)
return 0; return 0;
} }
static int __maybe_unused nau8540_resume(struct snd_soc_codec *codec) static int __maybe_unused nau8540_resume(struct snd_soc_component *component)
{ {
struct nau8540 *nau8540 = snd_soc_codec_get_drvdata(codec); struct nau8540 *nau8540 = snd_soc_component_get_drvdata(component);
regcache_cache_only(nau8540->regmap, false); regcache_cache_only(nau8540->regmap, false);
regcache_sync(nau8540->regmap); regcache_sync(nau8540->regmap);
...@@ -797,21 +797,22 @@ static int __maybe_unused nau8540_resume(struct snd_soc_codec *codec) ...@@ -797,21 +797,22 @@ static int __maybe_unused nau8540_resume(struct snd_soc_codec *codec)
return 0; return 0;
} }
static const struct snd_soc_codec_driver nau8540_codec_driver = { static const struct snd_soc_component_driver nau8540_component_driver = {
.set_sysclk = nau8540_set_sysclk, .set_sysclk = nau8540_set_sysclk,
.set_pll = nau8540_set_pll, .set_pll = nau8540_set_pll,
.suspend = nau8540_suspend, .suspend = nau8540_suspend,
.resume = nau8540_resume, .resume = nau8540_resume,
.suspend_bias_off = true,
.component_driver = {
.controls = nau8540_snd_controls, .controls = nau8540_snd_controls,
.num_controls = ARRAY_SIZE(nau8540_snd_controls), .num_controls = ARRAY_SIZE(nau8540_snd_controls),
.dapm_widgets = nau8540_dapm_widgets, .dapm_widgets = nau8540_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(nau8540_dapm_widgets), .num_dapm_widgets = ARRAY_SIZE(nau8540_dapm_widgets),
.dapm_routes = nau8540_dapm_routes, .dapm_routes = nau8540_dapm_routes,
.num_dapm_routes = ARRAY_SIZE(nau8540_dapm_routes), .num_dapm_routes = ARRAY_SIZE(nau8540_dapm_routes),
}, .suspend_bias_off = 1,
.idle_bias_on = 1,
.use_pmdown_time = 1,
.endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static const struct regmap_config nau8540_regmap_config = { static const struct regmap_config nau8540_regmap_config = {
...@@ -856,17 +857,10 @@ static int nau8540_i2c_probe(struct i2c_client *i2c, ...@@ -856,17 +857,10 @@ static int nau8540_i2c_probe(struct i2c_client *i2c,
nau8540_reset_chip(nau8540->regmap); nau8540_reset_chip(nau8540->regmap);
nau8540_init_regs(nau8540); nau8540_init_regs(nau8540);
return snd_soc_register_codec(dev, return devm_snd_soc_register_component(dev,
&nau8540_codec_driver, &nau8540_dai, 1); &nau8540_component_driver, &nau8540_dai, 1);
} }
static int nau8540_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
}
static const struct i2c_device_id nau8540_i2c_ids[] = { static const struct i2c_device_id nau8540_i2c_ids[] = {
{ "nau8540", 0 }, { "nau8540", 0 },
{ } { }
...@@ -887,7 +881,6 @@ static struct i2c_driver nau8540_i2c_driver = { ...@@ -887,7 +881,6 @@ static struct i2c_driver nau8540_i2c_driver = {
.of_match_table = of_match_ptr(nau8540_of_ids), .of_match_table = of_match_ptr(nau8540_of_ids),
}, },
.probe = nau8540_i2c_probe, .probe = nau8540_i2c_probe,
.remove = nau8540_i2c_remove,
.id_table = nau8540_i2c_ids, .id_table = nau8540_i2c_ids,
}; };
module_i2c_driver(nau8540_i2c_driver); module_i2c_driver(nau8540_i2c_driver);
......
...@@ -167,8 +167,8 @@ static bool nau8810_volatile_reg(struct device *dev, unsigned int reg) ...@@ -167,8 +167,8 @@ static bool nau8810_volatile_reg(struct device *dev, unsigned int reg)
static int nau8810_eq_get(struct snd_kcontrol *kcontrol, static int nau8810_eq_get(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct soc_bytes_ext *params = (void *)kcontrol->private_value; struct soc_bytes_ext *params = (void *)kcontrol->private_value;
int i, reg, reg_val; int i, reg, reg_val;
u16 *val; u16 *val;
...@@ -198,8 +198,8 @@ static int nau8810_eq_get(struct snd_kcontrol *kcontrol, ...@@ -198,8 +198,8 @@ static int nau8810_eq_get(struct snd_kcontrol *kcontrol,
static int nau8810_eq_put(struct snd_kcontrol *kcontrol, static int nau8810_eq_put(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol) struct snd_ctl_elem_value *ucontrol)
{ {
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct soc_bytes_ext *params = (void *)kcontrol->private_value; struct soc_bytes_ext *params = (void *)kcontrol->private_value;
void *data; void *data;
u16 *val, value; u16 *val, value;
...@@ -219,7 +219,7 @@ static int nau8810_eq_put(struct snd_kcontrol *kcontrol, ...@@ -219,7 +219,7 @@ static int nau8810_eq_put(struct snd_kcontrol *kcontrol,
value = be16_to_cpu(*(val + i)); value = be16_to_cpu(*(val + i));
ret = regmap_write(nau8810->regmap, reg + i, value); ret = regmap_write(nau8810->regmap, reg + i, value);
if (ret) { if (ret) {
dev_err(codec->dev, "EQ configuration fail, register: %x ret: %d\n", dev_err(component->dev, "EQ configuration fail, register: %x ret: %d\n",
reg + i, ret); reg + i, ret);
kfree(data); kfree(data);
return ret; return ret;
...@@ -399,8 +399,8 @@ static const struct snd_kcontrol_new nau8810_loopback = ...@@ -399,8 +399,8 @@ static const struct snd_kcontrol_new nau8810_loopback =
static int check_mclk_select_pll(struct snd_soc_dapm_widget *source, static int check_mclk_select_pll(struct snd_soc_dapm_widget *source,
struct snd_soc_dapm_widget *sink) struct snd_soc_dapm_widget *sink)
{ {
struct snd_soc_codec *codec = snd_soc_dapm_to_codec(source->dapm); struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
unsigned int value; unsigned int value;
regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &value); regmap_read(nau8810->regmap, NAU8810_REG_CLOCK, &value);
...@@ -485,8 +485,8 @@ static const struct snd_soc_dapm_route nau8810_dapm_routes[] = { ...@@ -485,8 +485,8 @@ static const struct snd_soc_dapm_route nau8810_dapm_routes[] = {
static int nau8810_set_sysclk(struct snd_soc_dai *dai, static int nau8810_set_sysclk(struct snd_soc_dai *dai,
int clk_id, unsigned int freq, int dir) int clk_id, unsigned int freq, int dir)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
nau8810->clk_id = clk_id; nau8810->clk_id = clk_id;
nau8810->sysclk = freq; nau8810->sysclk = freq;
...@@ -538,8 +538,8 @@ static int nau88l0_calc_pll(unsigned int pll_in, ...@@ -538,8 +538,8 @@ static int nau88l0_calc_pll(unsigned int pll_in,
static int nau8810_set_pll(struct snd_soc_dai *codec_dai, int pll_id, static int nau8810_set_pll(struct snd_soc_dai *codec_dai, int pll_id,
int source, unsigned int freq_in, unsigned int freq_out) int source, unsigned int freq_in, unsigned int freq_out)
{ {
struct snd_soc_codec *codec = codec_dai->codec; struct snd_soc_component *component = codec_dai->component;
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct regmap *map = nau8810->regmap; struct regmap *map = nau8810->regmap;
struct nau8810_pll *pll_param = &nau8810->pll; struct nau8810_pll *pll_param = &nau8810->pll;
int ret, fs; int ret, fs;
...@@ -577,8 +577,8 @@ static int nau8810_set_pll(struct snd_soc_dai *codec_dai, int pll_id, ...@@ -577,8 +577,8 @@ static int nau8810_set_pll(struct snd_soc_dai *codec_dai, int pll_id,
static int nau8810_set_dai_fmt(struct snd_soc_dai *codec_dai, static int nau8810_set_dai_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 nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
u16 ctrl1_val = 0, ctrl2_val = 0; u16 ctrl1_val = 0, ctrl2_val = 0;
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
...@@ -667,8 +667,8 @@ static int nau8810_mclk_clkdiv(struct nau8810 *nau8810, int rate) ...@@ -667,8 +667,8 @@ static int nau8810_mclk_clkdiv(struct nau8810 *nau8810, int rate)
static int nau8810_pcm_hw_params(struct snd_pcm_substream *substream, static int nau8810_pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) struct snd_pcm_hw_params *params, struct snd_soc_dai *dai)
{ {
struct snd_soc_codec *codec = dai->codec; struct snd_soc_component *component = dai->component;
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
int val_len = 0, val_rate = 0, ret = 0; int val_len = 0, val_rate = 0, ret = 0;
switch (params_width(params)) { switch (params_width(params)) {
...@@ -723,10 +723,10 @@ static int nau8810_pcm_hw_params(struct snd_pcm_substream *substream, ...@@ -723,10 +723,10 @@ static int nau8810_pcm_hw_params(struct snd_pcm_substream *substream,
return ret; return ret;
} }
static int nau8810_set_bias_level(struct snd_soc_codec *codec, static int nau8810_set_bias_level(struct snd_soc_component *component,
enum snd_soc_bias_level level) enum snd_soc_bias_level level)
{ {
struct nau8810 *nau8810 = snd_soc_codec_get_drvdata(codec); struct nau8810 *nau8810 = snd_soc_component_get_drvdata(component);
struct regmap *map = nau8810->regmap; struct regmap *map = nau8810->regmap;
switch (level) { switch (level) {
...@@ -741,7 +741,7 @@ static int nau8810_set_bias_level(struct snd_soc_codec *codec, ...@@ -741,7 +741,7 @@ static int nau8810_set_bias_level(struct snd_soc_codec *codec,
NAU8810_IOBUF_EN | NAU8810_ABIAS_EN, NAU8810_IOBUF_EN | NAU8810_ABIAS_EN,
NAU8810_IOBUF_EN | NAU8810_ABIAS_EN); NAU8810_IOBUF_EN | NAU8810_ABIAS_EN);
if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) { if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
regcache_sync(map); regcache_sync(map);
regmap_update_bits(map, NAU8810_REG_POWER1, regmap_update_bits(map, NAU8810_REG_POWER1,
NAU8810_REFIMP_MASK, NAU8810_REFIMP_3K); NAU8810_REFIMP_MASK, NAU8810_REFIMP_3K);
...@@ -808,18 +808,19 @@ static const struct regmap_config nau8810_regmap_config = { ...@@ -808,18 +808,19 @@ static const struct regmap_config nau8810_regmap_config = {
.num_reg_defaults = ARRAY_SIZE(nau8810_reg_defaults), .num_reg_defaults = ARRAY_SIZE(nau8810_reg_defaults),
}; };
static const struct snd_soc_codec_driver nau8810_codec_driver = { static const struct snd_soc_component_driver nau8810_component_driver = {
.set_bias_level = nau8810_set_bias_level, .set_bias_level = nau8810_set_bias_level,
.suspend_bias_off = true,
.component_driver = {
.controls = nau8810_snd_controls, .controls = nau8810_snd_controls,
.num_controls = ARRAY_SIZE(nau8810_snd_controls), .num_controls = ARRAY_SIZE(nau8810_snd_controls),
.dapm_widgets = nau8810_dapm_widgets, .dapm_widgets = nau8810_dapm_widgets,
.num_dapm_widgets = ARRAY_SIZE(nau8810_dapm_widgets), .num_dapm_widgets = ARRAY_SIZE(nau8810_dapm_widgets),
.dapm_routes = nau8810_dapm_routes, .dapm_routes = nau8810_dapm_routes,
.num_dapm_routes = ARRAY_SIZE(nau8810_dapm_routes), .num_dapm_routes = ARRAY_SIZE(nau8810_dapm_routes),
}, .suspend_bias_off = 1,
.idle_bias_on = 1,
.use_pmdown_time = 1,
.endianness = 1,
.non_legacy_dai_naming = 1,
}; };
static int nau8810_i2c_probe(struct i2c_client *i2c, static int nau8810_i2c_probe(struct i2c_client *i2c,
...@@ -842,15 +843,8 @@ static int nau8810_i2c_probe(struct i2c_client *i2c, ...@@ -842,15 +843,8 @@ static int nau8810_i2c_probe(struct i2c_client *i2c,
regmap_write(nau8810->regmap, NAU8810_REG_RESET, 0x00); regmap_write(nau8810->regmap, NAU8810_REG_RESET, 0x00);
return snd_soc_register_codec(dev, return devm_snd_soc_register_component(dev,
&nau8810_codec_driver, &nau8810_dai, 1); &nau8810_component_driver, &nau8810_dai, 1);
}
static int nau8810_i2c_remove(struct i2c_client *client)
{
snd_soc_unregister_codec(&client->dev);
return 0;
} }
static const struct i2c_device_id nau8810_i2c_id[] = { static const struct i2c_device_id nau8810_i2c_id[] = {
...@@ -873,7 +867,6 @@ static struct i2c_driver nau8810_i2c_driver = { ...@@ -873,7 +867,6 @@ static struct i2c_driver nau8810_i2c_driver = {
.of_match_table = of_match_ptr(nau8810_of_match), .of_match_table = of_match_ptr(nau8810_of_match),
}, },
.probe = nau8810_i2c_probe, .probe = nau8810_i2c_probe,
.remove = nau8810_i2c_remove,
.id_table = nau8810_i2c_id, .id_table = nau8810_i2c_id,
}; };
......
This diff is collapsed.
...@@ -471,7 +471,7 @@ struct nau8824_osr_attr { ...@@ -471,7 +471,7 @@ struct nau8824_osr_attr {
}; };
int nau8824_enable_jack_detect(struct snd_soc_codec *codec, int nau8824_enable_jack_detect(struct snd_soc_component *component,
struct snd_soc_jack *jack); struct snd_soc_jack *jack);
#endif /* _NAU8824_H */ #endif /* _NAU8824_H */
......
...@@ -56,6 +56,9 @@ config SND_SOC_RK3288_HDMI_ANALOG ...@@ -56,6 +56,9 @@ config SND_SOC_RK3288_HDMI_ANALOG
depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP depends on SND_SOC_ROCKCHIP && I2C && GPIOLIB && CLKDEV_LOOKUP
select SND_SOC_ROCKCHIP_I2S select SND_SOC_ROCKCHIP_I2S
select SND_SOC_HDMI_CODEC select SND_SOC_HDMI_CODEC
select SND_SOC_ES8328_I2C
select SND_SOC_ES8328_SPI if SPI_MASTER
select DRM_DW_HDMI_I2S_AUDIO if DRM_DW_HDMI
help help
Say Y or M here if you want to add support for SoC audio on Rockchip Say Y or M here if you want to add support for SoC audio on Rockchip
RK3288 boards using an analog output and the built-in HDMI audio. RK3288 boards using an analog output and the built-in HDMI audio.
......
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