In DT binding is mentioned that this driver is compatible with 3106. So added compatibility string and model number. -v2: Also added in switches "case AIC3X_MODEL_3106:" to have right widgets etc. Signed-off-by: Jiri Prchal <jiri.prchal@xxxxxxxxxxx> --- sound/soc/codecs/tlv320aic3x-i2c.c | 2 ++ sound/soc/codecs/tlv320aic3x-spi.c | 2 ++ sound/soc/codecs/tlv320aic3x.c | 3 +++ sound/soc/codecs/tlv320aic3x.h | 1 + 4 files changed, 8 insertions(+) diff --git a/sound/soc/codecs/tlv320aic3x-i2c.c b/sound/soc/codecs/tlv320aic3x-i2c.c index 4535bb8dbadc..cd0558ed4dd4 100644 --- a/sound/soc/codecs/tlv320aic3x-i2c.c +++ b/sound/soc/codecs/tlv320aic3x-i2c.c @@ -40,6 +40,7 @@ static const struct i2c_device_id aic3x_i2c_id[] = { { "tlv320aic33", AIC3X_MODEL_33 }, { "tlv320aic3007", AIC3X_MODEL_3007 }, { "tlv320aic3104", AIC3X_MODEL_3104 }, + { "tlv320aic3106", AIC3X_MODEL_3106 }, { } }; MODULE_DEVICE_TABLE(i2c, aic3x_i2c_id); @@ -49,6 +50,7 @@ static const struct of_device_id aic3x_of_id[] = { { .compatible = "ti,tlv320aic33" }, { .compatible = "ti,tlv320aic3007" }, { .compatible = "ti,tlv320aic3104" }, + { .compatible = "ti,tlv320aic3106" }, {}, }; MODULE_DEVICE_TABLE(of, aic3x_of_id); diff --git a/sound/soc/codecs/tlv320aic3x-spi.c b/sound/soc/codecs/tlv320aic3x-spi.c index bd78ab0910da..8c7b6bb9223f 100644 --- a/sound/soc/codecs/tlv320aic3x-spi.c +++ b/sound/soc/codecs/tlv320aic3x-spi.c @@ -45,6 +45,7 @@ static const struct spi_device_id aic3x_spi_id[] = { { "tlv320aic33", AIC3X_MODEL_33 }, { "tlv320aic3007", AIC3X_MODEL_3007 }, { "tlv320aic3104", AIC3X_MODEL_3104 }, + { "tlv320aic3106", AIC3X_MODEL_3106 }, { } }; MODULE_DEVICE_TABLE(spi, aic3x_spi_id); @@ -54,6 +55,7 @@ static const struct of_device_id aic3x_of_id[] = { { .compatible = "ti,tlv320aic33" }, { .compatible = "ti,tlv320aic3007" }, { .compatible = "ti,tlv320aic3104" }, + { .compatible = "ti,tlv320aic3106" }, {}, }; MODULE_DEVICE_TABLE(of, aic3x_of_id); diff --git a/sound/soc/codecs/tlv320aic3x.c b/sound/soc/codecs/tlv320aic3x.c index 2f351747b714..7731593a5509 100644 --- a/sound/soc/codecs/tlv320aic3x.c +++ b/sound/soc/codecs/tlv320aic3x.c @@ -1003,6 +1003,7 @@ static int aic3x_add_widgets(struct snd_soc_component *component) switch (aic3x->model) { case AIC3X_MODEL_3X: case AIC3X_MODEL_33: + case AIC3X_MODEL_3106: snd_soc_dapm_new_controls(dapm, aic3x_extra_dapm_widgets, ARRAY_SIZE(aic3x_extra_dapm_widgets)); snd_soc_dapm_add_routes(dapm, intercon_extra, @@ -1580,6 +1581,7 @@ static int aic3x_init(struct snd_soc_component *component) switch (aic3x->model) { case AIC3X_MODEL_3X: case AIC3X_MODEL_33: + case AIC3X_MODEL_3106: aic3x_mono_init(component); break; case AIC3X_MODEL_3007: @@ -1646,6 +1648,7 @@ static int aic3x_component_probe(struct snd_soc_component *component) switch (aic3x->model) { case AIC3X_MODEL_3X: case AIC3X_MODEL_33: + case AIC3X_MODEL_3106: snd_soc_add_component_controls(component, aic3x_extra_snd_controls, ARRAY_SIZE(aic3x_extra_snd_controls)); snd_soc_add_component_controls(component, aic3x_mono_controls, diff --git a/sound/soc/codecs/tlv320aic3x.h b/sound/soc/codecs/tlv320aic3x.h index 00908f1734a7..7e0063913017 100644 --- a/sound/soc/codecs/tlv320aic3x.h +++ b/sound/soc/codecs/tlv320aic3x.h @@ -20,6 +20,7 @@ int aic3x_remove(struct device *dev); #define AIC3X_MODEL_33 1 #define AIC3X_MODEL_3007 2 #define AIC3X_MODEL_3104 3 +#define AIC3X_MODEL_3106 4 /* AIC3X register space */ #define AIC3X_CACHEREGNUM 110 -- 2.25.1