ASoC: atmel-pdmic: replace codec to component
Now we can replace Codec to Component. Let's do it. Note: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1 Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
7928b2cbe5
commit
716c522317
|
@ -288,14 +288,14 @@ static const DECLARE_TLV_DB_RANGE(mic_gain_tlv,
|
||||||
static int pdmic_get_mic_volsw(struct snd_kcontrol *kcontrol,
|
static int pdmic_get_mic_volsw(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);
|
||||||
unsigned int dgain_val, scale_val;
|
unsigned int dgain_val, scale_val;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
dgain_val = (snd_soc_read(codec, PDMIC_DSPR1) & PDMIC_DSPR1_DGAIN_MASK)
|
dgain_val = (snd_soc_component_read32(component, PDMIC_DSPR1) & PDMIC_DSPR1_DGAIN_MASK)
|
||||||
>> PDMIC_DSPR1_DGAIN_SHIFT;
|
>> PDMIC_DSPR1_DGAIN_SHIFT;
|
||||||
|
|
||||||
scale_val = (snd_soc_read(codec, PDMIC_DSPR0) & PDMIC_DSPR0_SCALE_MASK)
|
scale_val = (snd_soc_component_read32(component, PDMIC_DSPR0) & PDMIC_DSPR0_SCALE_MASK)
|
||||||
>> PDMIC_DSPR0_SCALE_SHIFT;
|
>> PDMIC_DSPR0_SCALE_SHIFT;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(mic_gain_table); i++) {
|
for (i = 0; i < ARRAY_SIZE(mic_gain_table); i++) {
|
||||||
|
@ -312,7 +312,7 @@ static int pdmic_put_mic_volsw(struct snd_kcontrol *kcontrol,
|
||||||
{
|
{
|
||||||
struct soc_mixer_control *mc =
|
struct soc_mixer_control *mc =
|
||||||
(struct soc_mixer_control *)kcontrol->private_value;
|
(struct soc_mixer_control *)kcontrol->private_value;
|
||||||
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
|
struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
|
||||||
int max = mc->max;
|
int max = mc->max;
|
||||||
unsigned int val;
|
unsigned int val;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -322,12 +322,12 @@ static int pdmic_put_mic_volsw(struct snd_kcontrol *kcontrol,
|
||||||
if (val > max)
|
if (val > max)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
ret = snd_soc_update_bits(codec, PDMIC_DSPR1, PDMIC_DSPR1_DGAIN_MASK,
|
ret = snd_soc_component_update_bits(component, PDMIC_DSPR1, PDMIC_DSPR1_DGAIN_MASK,
|
||||||
mic_gain_table[val].dgain << PDMIC_DSPR1_DGAIN_SHIFT);
|
mic_gain_table[val].dgain << PDMIC_DSPR1_DGAIN_SHIFT);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
ret = snd_soc_update_bits(codec, PDMIC_DSPR0, PDMIC_DSPR0_SCALE_MASK,
|
ret = snd_soc_component_update_bits(component, PDMIC_DSPR0, PDMIC_DSPR0_SCALE_MASK,
|
||||||
mic_gain_table[val].scale << PDMIC_DSPR0_SCALE_SHIFT);
|
mic_gain_table[val].scale << PDMIC_DSPR0_SCALE_SHIFT);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -346,23 +346,25 @@ SOC_SINGLE("High Pass Filter Switch", PDMIC_DSPR0,
|
||||||
SOC_SINGLE("SINCC Filter Switch", PDMIC_DSPR0, PDMIC_DSPR0_SINBYP_SHIFT, 1, 1),
|
SOC_SINGLE("SINCC Filter Switch", PDMIC_DSPR0, PDMIC_DSPR0_SINBYP_SHIFT, 1, 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
static int atmel_pdmic_codec_probe(struct snd_soc_codec *codec)
|
static int atmel_pdmic_component_probe(struct snd_soc_component *component)
|
||||||
{
|
{
|
||||||
struct snd_soc_card *card = snd_soc_codec_get_drvdata(codec);
|
struct snd_soc_card *card = snd_soc_component_get_drvdata(component);
|
||||||
struct atmel_pdmic *dd = snd_soc_card_get_drvdata(card);
|
struct atmel_pdmic *dd = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
snd_soc_update_bits(codec, PDMIC_DSPR1, PDMIC_DSPR1_OFFSET_MASK,
|
snd_soc_component_update_bits(component, PDMIC_DSPR1, PDMIC_DSPR1_OFFSET_MASK,
|
||||||
(u32)(dd->pdata->mic_offset << PDMIC_DSPR1_OFFSET_SHIFT));
|
(u32)(dd->pdata->mic_offset << PDMIC_DSPR1_OFFSET_SHIFT));
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct snd_soc_codec_driver soc_codec_dev_pdmic = {
|
static struct snd_soc_component_driver soc_component_dev_pdmic = {
|
||||||
.probe = atmel_pdmic_codec_probe,
|
.probe = atmel_pdmic_component_probe,
|
||||||
.component_driver = {
|
.controls = atmel_pdmic_snd_controls,
|
||||||
.controls = atmel_pdmic_snd_controls,
|
.num_controls = ARRAY_SIZE(atmel_pdmic_snd_controls),
|
||||||
.num_controls = ARRAY_SIZE(atmel_pdmic_snd_controls),
|
.idle_bias_on = 1,
|
||||||
},
|
.use_pmdown_time = 1,
|
||||||
|
.endianness = 1,
|
||||||
|
.non_legacy_dai_naming = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* codec dai component */
|
/* codec dai component */
|
||||||
|
@ -375,7 +377,7 @@ atmel_pdmic_codec_dai_hw_params(struct snd_pcm_substream *substream,
|
||||||
{
|
{
|
||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct atmel_pdmic *dd = snd_soc_card_get_drvdata(rtd->card);
|
struct atmel_pdmic *dd = snd_soc_card_get_drvdata(rtd->card);
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_component *component = codec_dai->component;
|
||||||
unsigned int rate_min = substream->runtime->hw.rate_min;
|
unsigned int rate_min = substream->runtime->hw.rate_min;
|
||||||
unsigned int rate_max = substream->runtime->hw.rate_max;
|
unsigned int rate_max = substream->runtime->hw.rate_max;
|
||||||
int fs = params_rate(params);
|
int fs = params_rate(params);
|
||||||
|
@ -385,13 +387,13 @@ atmel_pdmic_codec_dai_hw_params(struct snd_pcm_substream *substream,
|
||||||
u32 mr_val, dspr0_val, pclk_prescal, gclk_prescal;
|
u32 mr_val, dspr0_val, pclk_prescal, gclk_prescal;
|
||||||
|
|
||||||
if (params_channels(params) != 1) {
|
if (params_channels(params) != 1) {
|
||||||
dev_err(codec->dev,
|
dev_err(component->dev,
|
||||||
"only supports one channel\n");
|
"only supports one channel\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((fs < rate_min) || (fs > rate_max)) {
|
if ((fs < rate_min) || (fs > rate_max)) {
|
||||||
dev_err(codec->dev,
|
dev_err(component->dev,
|
||||||
"sample rate is %dHz, min rate is %dHz, max rate is %dHz\n",
|
"sample rate is %dHz, min rate is %dHz, max rate is %dHz\n",
|
||||||
fs, rate_min, rate_max);
|
fs, rate_min, rate_max);
|
||||||
|
|
||||||
|
@ -436,10 +438,10 @@ atmel_pdmic_codec_dai_hw_params(struct snd_pcm_substream *substream,
|
||||||
mr_val |= PDMIC_MR_CLKS_PCK << PDMIC_MR_CLKS_SHIFT;
|
mr_val |= PDMIC_MR_CLKS_PCK << PDMIC_MR_CLKS_SHIFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
snd_soc_update_bits(codec, PDMIC_MR,
|
snd_soc_component_update_bits(component, PDMIC_MR,
|
||||||
PDMIC_MR_PRESCAL_MASK | PDMIC_MR_CLKS_MASK, mr_val);
|
PDMIC_MR_PRESCAL_MASK | PDMIC_MR_CLKS_MASK, mr_val);
|
||||||
|
|
||||||
snd_soc_update_bits(codec, PDMIC_DSPR0,
|
snd_soc_component_update_bits(component, PDMIC_DSPR0,
|
||||||
PDMIC_DSPR0_OSR_MASK | PDMIC_DSPR0_SIZE_MASK, dspr0_val);
|
PDMIC_DSPR0_OSR_MASK | PDMIC_DSPR0_SIZE_MASK, dspr0_val);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -448,9 +450,9 @@ atmel_pdmic_codec_dai_hw_params(struct snd_pcm_substream *substream,
|
||||||
static int atmel_pdmic_codec_dai_prepare(struct snd_pcm_substream *substream,
|
static int atmel_pdmic_codec_dai_prepare(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_dai *codec_dai)
|
struct snd_soc_dai *codec_dai)
|
||||||
{
|
{
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_component *component = codec_dai->component;
|
||||||
|
|
||||||
snd_soc_update_bits(codec, PDMIC_CR, PDMIC_CR_ENPDM_MASK,
|
snd_soc_component_update_bits(component, PDMIC_CR, PDMIC_CR_ENPDM_MASK,
|
||||||
PDMIC_CR_ENPDM_DIS << PDMIC_CR_ENPDM_SHIFT);
|
PDMIC_CR_ENPDM_DIS << PDMIC_CR_ENPDM_SHIFT);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -459,7 +461,7 @@ static int atmel_pdmic_codec_dai_prepare(struct snd_pcm_substream *substream,
|
||||||
static int atmel_pdmic_codec_dai_trigger(struct snd_pcm_substream *substream,
|
static int atmel_pdmic_codec_dai_trigger(struct snd_pcm_substream *substream,
|
||||||
int cmd, struct snd_soc_dai *codec_dai)
|
int cmd, struct snd_soc_dai *codec_dai)
|
||||||
{
|
{
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_component *component = codec_dai->component;
|
||||||
u32 val;
|
u32 val;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
@ -477,7 +479,7 @@ static int atmel_pdmic_codec_dai_trigger(struct snd_pcm_substream *substream,
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
snd_soc_update_bits(codec, PDMIC_CR, PDMIC_CR_ENPDM_MASK, val);
|
snd_soc_component_update_bits(component, PDMIC_CR, PDMIC_CR_ENPDM_MASK, val);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -679,10 +681,10 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
|
||||||
/* register codec and codec dai */
|
/* register codec and codec dai */
|
||||||
atmel_pdmic_codec_dai.capture.rate_min = rate_min;
|
atmel_pdmic_codec_dai.capture.rate_min = rate_min;
|
||||||
atmel_pdmic_codec_dai.capture.rate_max = rate_max;
|
atmel_pdmic_codec_dai.capture.rate_max = rate_max;
|
||||||
ret = snd_soc_register_codec(dev, &soc_codec_dev_pdmic,
|
ret = devm_snd_soc_register_component(dev, &soc_component_dev_pdmic,
|
||||||
&atmel_pdmic_codec_dai, 1);
|
&atmel_pdmic_codec_dai, 1);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(dev, "could not register codec: %d\n", ret);
|
dev_err(dev, "could not register component: %d\n", ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -710,13 +712,11 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
unregister_codec:
|
unregister_codec:
|
||||||
snd_soc_unregister_codec(dev);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int atmel_pdmic_remove(struct platform_device *pdev)
|
static int atmel_pdmic_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
snd_soc_unregister_codec(&pdev->dev);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue