forked from Minki/linux
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,
|
||||
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;
|
||||
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;
|
||||
|
||||
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;
|
||||
|
||||
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 *)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;
|
||||
unsigned int val;
|
||||
int ret;
|
||||
@ -322,12 +322,12 @@ static int pdmic_put_mic_volsw(struct snd_kcontrol *kcontrol,
|
||||
if (val > max)
|
||||
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);
|
||||
if (ret < 0)
|
||||
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);
|
||||
if (ret < 0)
|
||||
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),
|
||||
};
|
||||
|
||||
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);
|
||||
|
||||
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));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct snd_soc_codec_driver soc_codec_dev_pdmic = {
|
||||
.probe = atmel_pdmic_codec_probe,
|
||||
.component_driver = {
|
||||
static struct snd_soc_component_driver soc_component_dev_pdmic = {
|
||||
.probe = atmel_pdmic_component_probe,
|
||||
.controls = 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 */
|
||||
@ -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 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_max = substream->runtime->hw.rate_max;
|
||||
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;
|
||||
|
||||
if (params_channels(params) != 1) {
|
||||
dev_err(codec->dev,
|
||||
dev_err(component->dev,
|
||||
"only supports one channel\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
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",
|
||||
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;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
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);
|
||||
|
||||
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,
|
||||
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);
|
||||
|
||||
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,
|
||||
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;
|
||||
|
||||
switch (cmd) {
|
||||
@ -477,7 +479,7 @@ static int atmel_pdmic_codec_dai_trigger(struct snd_pcm_substream *substream,
|
||||
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;
|
||||
}
|
||||
@ -679,10 +681,10 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
|
||||
/* register codec and codec dai */
|
||||
atmel_pdmic_codec_dai.capture.rate_min = rate_min;
|
||||
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);
|
||||
if (ret) {
|
||||
dev_err(dev, "could not register codec: %d\n", ret);
|
||||
dev_err(dev, "could not register component: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -710,13 +712,11 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
|
||||
return 0;
|
||||
|
||||
unregister_codec:
|
||||
snd_soc_unregister_codec(dev);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int atmel_pdmic_remove(struct platform_device *pdev)
|
||||
{
|
||||
snd_soc_unregister_codec(&pdev->dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user