diff options
author | Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> | 2018-01-28 23:21:38 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-02-12 04:55:20 -0500 |
commit | 2eec0a15e8d7e2a08acff56701cbd98e24a41097 (patch) | |
tree | a7c8e92afa4df461057b46424e4634ac7b8c7d6d | |
parent | 7928b2cbe55b2a410a0f5c1f154610059c57b1b2 (diff) |
ASoC: msm8916-wcd-digital: 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>
-rw-r--r-- | sound/soc/codecs/msm8916-wcd-digital.c | 115 |
1 files changed, 58 insertions, 57 deletions
diff --git a/sound/soc/codecs/msm8916-wcd-digital.c b/sound/soc/codecs/msm8916-wcd-digital.c index 13354d6304a8..3063dedd21cf 100644 --- a/sound/soc/codecs/msm8916-wcd-digital.c +++ b/sound/soc/codecs/msm8916-wcd-digital.c | |||
@@ -348,14 +348,14 @@ static int msm8916_wcd_digital_enable_interpolator( | |||
348 | struct snd_kcontrol *kcontrol, | 348 | struct snd_kcontrol *kcontrol, |
349 | int event) | 349 | int event) |
350 | { | 350 | { |
351 | struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); | 351 | struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); |
352 | 352 | ||
353 | switch (event) { | 353 | switch (event) { |
354 | case SND_SOC_DAPM_POST_PMU: | 354 | case SND_SOC_DAPM_POST_PMU: |
355 | /* apply the digital gain after the interpolator is enabled */ | 355 | /* apply the digital gain after the interpolator is enabled */ |
356 | usleep_range(10000, 10100); | 356 | usleep_range(10000, 10100); |
357 | snd_soc_write(codec, rx_gain_reg[w->shift], | 357 | snd_soc_component_write(component, rx_gain_reg[w->shift], |
358 | snd_soc_read(codec, rx_gain_reg[w->shift])); | 358 | snd_soc_component_read32(component, rx_gain_reg[w->shift])); |
359 | break; | 359 | break; |
360 | } | 360 | } |
361 | return 0; | 361 | return 0; |
@@ -365,7 +365,7 @@ static int msm8916_wcd_digital_enable_dec(struct snd_soc_dapm_widget *w, | |||
365 | struct snd_kcontrol *kcontrol, | 365 | struct snd_kcontrol *kcontrol, |
366 | int event) | 366 | int event) |
367 | { | 367 | { |
368 | struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); | 368 | struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); |
369 | unsigned int decimator = w->shift + 1; | 369 | unsigned int decimator = w->shift + 1; |
370 | u16 dec_reset_reg, tx_vol_ctl_reg, tx_mux_ctl_reg; | 370 | u16 dec_reset_reg, tx_vol_ctl_reg, tx_mux_ctl_reg; |
371 | u8 dec_hpf_cut_of_freq; | 371 | u8 dec_hpf_cut_of_freq; |
@@ -377,46 +377,46 @@ static int msm8916_wcd_digital_enable_dec(struct snd_soc_dapm_widget *w, | |||
377 | switch (event) { | 377 | switch (event) { |
378 | case SND_SOC_DAPM_PRE_PMU: | 378 | case SND_SOC_DAPM_PRE_PMU: |
379 | /* Enable TX digital mute */ | 379 | /* Enable TX digital mute */ |
380 | snd_soc_update_bits(codec, tx_vol_ctl_reg, | 380 | snd_soc_component_update_bits(component, tx_vol_ctl_reg, |
381 | TX_VOL_CTL_CFG_MUTE_EN_MASK, | 381 | TX_VOL_CTL_CFG_MUTE_EN_MASK, |
382 | TX_VOL_CTL_CFG_MUTE_EN_ENABLE); | 382 | TX_VOL_CTL_CFG_MUTE_EN_ENABLE); |
383 | dec_hpf_cut_of_freq = snd_soc_read(codec, tx_mux_ctl_reg) & | 383 | dec_hpf_cut_of_freq = snd_soc_component_read32(component, tx_mux_ctl_reg) & |
384 | TX_MUX_CTL_CUT_OFF_FREQ_MASK; | 384 | TX_MUX_CTL_CUT_OFF_FREQ_MASK; |
385 | dec_hpf_cut_of_freq >>= TX_MUX_CTL_CUT_OFF_FREQ_SHIFT; | 385 | dec_hpf_cut_of_freq >>= TX_MUX_CTL_CUT_OFF_FREQ_SHIFT; |
386 | if (dec_hpf_cut_of_freq != TX_MUX_CTL_CF_NEG_3DB_150HZ) { | 386 | if (dec_hpf_cut_of_freq != TX_MUX_CTL_CF_NEG_3DB_150HZ) { |
387 | /* set cut of freq to CF_MIN_3DB_150HZ (0x1) */ | 387 | /* set cut of freq to CF_MIN_3DB_150HZ (0x1) */ |
388 | snd_soc_update_bits(codec, tx_mux_ctl_reg, | 388 | snd_soc_component_update_bits(component, tx_mux_ctl_reg, |
389 | TX_MUX_CTL_CUT_OFF_FREQ_MASK, | 389 | TX_MUX_CTL_CUT_OFF_FREQ_MASK, |
390 | TX_MUX_CTL_CF_NEG_3DB_150HZ); | 390 | TX_MUX_CTL_CF_NEG_3DB_150HZ); |
391 | } | 391 | } |
392 | break; | 392 | break; |
393 | case SND_SOC_DAPM_POST_PMU: | 393 | case SND_SOC_DAPM_POST_PMU: |
394 | /* enable HPF */ | 394 | /* enable HPF */ |
395 | snd_soc_update_bits(codec, tx_mux_ctl_reg, | 395 | snd_soc_component_update_bits(component, tx_mux_ctl_reg, |
396 | TX_MUX_CTL_HPF_BP_SEL_MASK, | 396 | TX_MUX_CTL_HPF_BP_SEL_MASK, |
397 | TX_MUX_CTL_HPF_BP_SEL_NO_BYPASS); | 397 | TX_MUX_CTL_HPF_BP_SEL_NO_BYPASS); |
398 | /* apply the digital gain after the decimator is enabled */ | 398 | /* apply the digital gain after the decimator is enabled */ |
399 | snd_soc_write(codec, tx_gain_reg[w->shift], | 399 | snd_soc_component_write(component, tx_gain_reg[w->shift], |
400 | snd_soc_read(codec, tx_gain_reg[w->shift])); | 400 | snd_soc_component_read32(component, tx_gain_reg[w->shift])); |
401 | snd_soc_update_bits(codec, tx_vol_ctl_reg, | 401 | snd_soc_component_update_bits(component, tx_vol_ctl_reg, |
402 | TX_VOL_CTL_CFG_MUTE_EN_MASK, 0); | 402 | TX_VOL_CTL_CFG_MUTE_EN_MASK, 0); |
403 | break; | 403 | break; |
404 | case SND_SOC_DAPM_PRE_PMD: | 404 | case SND_SOC_DAPM_PRE_PMD: |
405 | snd_soc_update_bits(codec, tx_vol_ctl_reg, | 405 | snd_soc_component_update_bits(component, tx_vol_ctl_reg, |
406 | TX_VOL_CTL_CFG_MUTE_EN_MASK, | 406 | TX_VOL_CTL_CFG_MUTE_EN_MASK, |
407 | TX_VOL_CTL_CFG_MUTE_EN_ENABLE); | 407 | TX_VOL_CTL_CFG_MUTE_EN_ENABLE); |
408 | snd_soc_update_bits(codec, tx_mux_ctl_reg, | 408 | snd_soc_component_update_bits(component, tx_mux_ctl_reg, |
409 | TX_MUX_CTL_HPF_BP_SEL_MASK, | 409 | TX_MUX_CTL_HPF_BP_SEL_MASK, |
410 | TX_MUX_CTL_HPF_BP_SEL_BYPASS); | 410 | TX_MUX_CTL_HPF_BP_SEL_BYPASS); |
411 | break; | 411 | break; |
412 | case SND_SOC_DAPM_POST_PMD: | 412 | case SND_SOC_DAPM_POST_PMD: |
413 | snd_soc_update_bits(codec, dec_reset_reg, 1 << w->shift, | 413 | snd_soc_component_update_bits(component, dec_reset_reg, 1 << w->shift, |
414 | 1 << w->shift); | 414 | 1 << w->shift); |
415 | snd_soc_update_bits(codec, dec_reset_reg, 1 << w->shift, 0x0); | 415 | snd_soc_component_update_bits(component, dec_reset_reg, 1 << w->shift, 0x0); |
416 | snd_soc_update_bits(codec, tx_mux_ctl_reg, | 416 | snd_soc_component_update_bits(component, tx_mux_ctl_reg, |
417 | TX_MUX_CTL_HPF_BP_SEL_MASK, | 417 | TX_MUX_CTL_HPF_BP_SEL_MASK, |
418 | TX_MUX_CTL_HPF_BP_SEL_BYPASS); | 418 | TX_MUX_CTL_HPF_BP_SEL_BYPASS); |
419 | snd_soc_update_bits(codec, tx_vol_ctl_reg, | 419 | snd_soc_component_update_bits(component, tx_vol_ctl_reg, |
420 | TX_VOL_CTL_CFG_MUTE_EN_MASK, 0); | 420 | TX_VOL_CTL_CFG_MUTE_EN_MASK, 0); |
421 | break; | 421 | break; |
422 | } | 422 | } |
@@ -428,35 +428,35 @@ static int msm8916_wcd_digital_enable_dmic(struct snd_soc_dapm_widget *w, | |||
428 | struct snd_kcontrol *kcontrol, | 428 | struct snd_kcontrol *kcontrol, |
429 | int event) | 429 | int event) |
430 | { | 430 | { |
431 | struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); | 431 | struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); |
432 | unsigned int dmic; | 432 | unsigned int dmic; |
433 | int ret; | 433 | int ret; |
434 | /* get dmic number out of widget name */ | 434 | /* get dmic number out of widget name */ |
435 | char *dmic_num = strpbrk(w->name, "12"); | 435 | char *dmic_num = strpbrk(w->name, "12"); |
436 | 436 | ||
437 | if (dmic_num == NULL) { | 437 | if (dmic_num == NULL) { |
438 | dev_err(codec->dev, "Invalid DMIC\n"); | 438 | dev_err(component->dev, "Invalid DMIC\n"); |
439 | return -EINVAL; | 439 | return -EINVAL; |
440 | } | 440 | } |
441 | ret = kstrtouint(dmic_num, 10, &dmic); | 441 | ret = kstrtouint(dmic_num, 10, &dmic); |
442 | if (ret < 0 || dmic > 2) { | 442 | if (ret < 0 || dmic > 2) { |
443 | dev_err(codec->dev, "Invalid DMIC line on the codec\n"); | 443 | dev_err(component->dev, "Invalid DMIC line on the component\n"); |
444 | return -EINVAL; | 444 | return -EINVAL; |
445 | } | 445 | } |
446 | 446 | ||
447 | switch (event) { | 447 | switch (event) { |
448 | case SND_SOC_DAPM_PRE_PMU: | 448 | case SND_SOC_DAPM_PRE_PMU: |
449 | snd_soc_update_bits(codec, LPASS_CDC_CLK_DMIC_B1_CTL, | 449 | snd_soc_component_update_bits(component, LPASS_CDC_CLK_DMIC_B1_CTL, |
450 | DMIC_B1_CTL_DMIC0_CLK_SEL_MASK, | 450 | DMIC_B1_CTL_DMIC0_CLK_SEL_MASK, |
451 | DMIC_B1_CTL_DMIC0_CLK_SEL_DIV3); | 451 | DMIC_B1_CTL_DMIC0_CLK_SEL_DIV3); |
452 | switch (dmic) { | 452 | switch (dmic) { |
453 | case 1: | 453 | case 1: |
454 | snd_soc_update_bits(codec, LPASS_CDC_TX1_DMIC_CTL, | 454 | snd_soc_component_update_bits(component, LPASS_CDC_TX1_DMIC_CTL, |
455 | TXN_DMIC_CTL_CLK_SEL_MASK, | 455 | TXN_DMIC_CTL_CLK_SEL_MASK, |
456 | TXN_DMIC_CTL_CLK_SEL_DIV3); | 456 | TXN_DMIC_CTL_CLK_SEL_DIV3); |
457 | break; | 457 | break; |
458 | case 2: | 458 | case 2: |
459 | snd_soc_update_bits(codec, LPASS_CDC_TX2_DMIC_CTL, | 459 | snd_soc_component_update_bits(component, LPASS_CDC_TX2_DMIC_CTL, |
460 | TXN_DMIC_CTL_CLK_SEL_MASK, | 460 | TXN_DMIC_CTL_CLK_SEL_MASK, |
461 | TXN_DMIC_CTL_CLK_SEL_DIV3); | 461 | TXN_DMIC_CTL_CLK_SEL_DIV3); |
462 | break; | 462 | break; |
@@ -575,20 +575,20 @@ static int msm8916_wcd_digital_get_clks(struct platform_device *pdev, | |||
575 | return 0; | 575 | return 0; |
576 | } | 576 | } |
577 | 577 | ||
578 | static int msm8916_wcd_digital_codec_probe(struct snd_soc_codec *codec) | 578 | static int msm8916_wcd_digital_component_probe(struct snd_soc_component *component) |
579 | { | 579 | { |
580 | struct msm8916_wcd_digital_priv *priv = dev_get_drvdata(codec->dev); | 580 | struct msm8916_wcd_digital_priv *priv = dev_get_drvdata(component->dev); |
581 | 581 | ||
582 | snd_soc_codec_set_drvdata(codec, priv); | 582 | snd_soc_component_set_drvdata(component, priv); |
583 | 583 | ||
584 | return 0; | 584 | return 0; |
585 | } | 585 | } |
586 | 586 | ||
587 | static int msm8916_wcd_digital_codec_set_sysclk(struct snd_soc_codec *codec, | 587 | static int msm8916_wcd_digital_component_set_sysclk(struct snd_soc_component *component, |
588 | int clk_id, int source, | 588 | int clk_id, int source, |
589 | unsigned int freq, int dir) | 589 | unsigned int freq, int dir) |
590 | { | 590 | { |
591 | struct msm8916_wcd_digital_priv *p = dev_get_drvdata(codec->dev); | 591 | struct msm8916_wcd_digital_priv *p = dev_get_drvdata(component->dev); |
592 | 592 | ||
593 | return clk_set_rate(p->mclk, freq); | 593 | return clk_set_rate(p->mclk, freq); |
594 | } | 594 | } |
@@ -618,18 +618,18 @@ static int msm8916_wcd_digital_hw_params(struct snd_pcm_substream *substream, | |||
618 | rx_fs_rate = RX_I2S_CTL_RX_I2S_FS_RATE_F_48_KHZ; | 618 | rx_fs_rate = RX_I2S_CTL_RX_I2S_FS_RATE_F_48_KHZ; |
619 | break; | 619 | break; |
620 | default: | 620 | default: |
621 | dev_err(dai->codec->dev, "Invalid sampling rate %d\n", | 621 | dev_err(dai->component->dev, "Invalid sampling rate %d\n", |
622 | params_rate(params)); | 622 | params_rate(params)); |
623 | return -EINVAL; | 623 | return -EINVAL; |
624 | } | 624 | } |
625 | 625 | ||
626 | switch (substream->stream) { | 626 | switch (substream->stream) { |
627 | case SNDRV_PCM_STREAM_CAPTURE: | 627 | case SNDRV_PCM_STREAM_CAPTURE: |
628 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_TX_I2S_CTL, | 628 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_TX_I2S_CTL, |
629 | TX_I2S_CTL_TX_I2S_FS_RATE_MASK, tx_fs_rate); | 629 | TX_I2S_CTL_TX_I2S_FS_RATE_MASK, tx_fs_rate); |
630 | break; | 630 | break; |
631 | case SNDRV_PCM_STREAM_PLAYBACK: | 631 | case SNDRV_PCM_STREAM_PLAYBACK: |
632 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_RX_I2S_CTL, | 632 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_RX_I2S_CTL, |
633 | RX_I2S_CTL_RX_I2S_FS_RATE_MASK, rx_fs_rate); | 633 | RX_I2S_CTL_RX_I2S_FS_RATE_MASK, rx_fs_rate); |
634 | break; | 634 | break; |
635 | default: | 635 | default: |
@@ -638,18 +638,19 @@ static int msm8916_wcd_digital_hw_params(struct snd_pcm_substream *substream, | |||
638 | 638 | ||
639 | switch (params_format(params)) { | 639 | switch (params_format(params)) { |
640 | case SNDRV_PCM_FORMAT_S16_LE: | 640 | case SNDRV_PCM_FORMAT_S16_LE: |
641 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_TX_I2S_CTL, | 641 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_TX_I2S_CTL, |
642 | TX_I2S_CTL_TX_I2S_MODE_MASK, | 642 | TX_I2S_CTL_TX_I2S_MODE_MASK, |
643 | TX_I2S_CTL_TX_I2S_MODE_16); | 643 | TX_I2S_CTL_TX_I2S_MODE_16); |
644 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_RX_I2S_CTL, | 644 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_RX_I2S_CTL, |
645 | RX_I2S_CTL_RX_I2S_MODE_MASK, | 645 | RX_I2S_CTL_RX_I2S_MODE_MASK, |
646 | RX_I2S_CTL_RX_I2S_MODE_16); | 646 | RX_I2S_CTL_RX_I2S_MODE_16); |
647 | break; | 647 | break; |
648 | |||
648 | case SNDRV_PCM_FORMAT_S32_LE: | 649 | case SNDRV_PCM_FORMAT_S32_LE: |
649 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_TX_I2S_CTL, | 650 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_TX_I2S_CTL, |
650 | TX_I2S_CTL_TX_I2S_MODE_MASK, | 651 | TX_I2S_CTL_TX_I2S_MODE_MASK, |
651 | TX_I2S_CTL_TX_I2S_MODE_32); | 652 | TX_I2S_CTL_TX_I2S_MODE_32); |
652 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_RX_I2S_CTL, | 653 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_RX_I2S_CTL, |
653 | RX_I2S_CTL_RX_I2S_MODE_MASK, | 654 | RX_I2S_CTL_RX_I2S_MODE_MASK, |
654 | RX_I2S_CTL_RX_I2S_MODE_32); | 655 | RX_I2S_CTL_RX_I2S_MODE_32); |
655 | break; | 656 | break; |
@@ -780,32 +781,32 @@ static const struct snd_soc_dapm_route msm8916_wcd_digital_audio_map[] = { | |||
780 | static int msm8916_wcd_digital_startup(struct snd_pcm_substream *substream, | 781 | static int msm8916_wcd_digital_startup(struct snd_pcm_substream *substream, |
781 | struct snd_soc_dai *dai) | 782 | struct snd_soc_dai *dai) |
782 | { | 783 | { |
783 | struct snd_soc_codec *codec = dai->codec; | 784 | struct snd_soc_component *component = dai->component; |
784 | struct msm8916_wcd_digital_priv *msm8916_wcd; | 785 | struct msm8916_wcd_digital_priv *msm8916_wcd; |
785 | unsigned long mclk_rate; | 786 | unsigned long mclk_rate; |
786 | 787 | ||
787 | msm8916_wcd = snd_soc_codec_get_drvdata(codec); | 788 | msm8916_wcd = snd_soc_component_get_drvdata(component); |
788 | snd_soc_update_bits(codec, LPASS_CDC_CLK_MCLK_CTL, | 789 | snd_soc_component_update_bits(component, LPASS_CDC_CLK_MCLK_CTL, |
789 | MCLK_CTL_MCLK_EN_MASK, | 790 | MCLK_CTL_MCLK_EN_MASK, |
790 | MCLK_CTL_MCLK_EN_ENABLE); | 791 | MCLK_CTL_MCLK_EN_ENABLE); |
791 | snd_soc_update_bits(codec, LPASS_CDC_CLK_PDM_CTL, | 792 | snd_soc_component_update_bits(component, LPASS_CDC_CLK_PDM_CTL, |
792 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_MASK, | 793 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_MASK, |
793 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_FB); | 794 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_FB); |
794 | 795 | ||
795 | mclk_rate = clk_get_rate(msm8916_wcd->mclk); | 796 | mclk_rate = clk_get_rate(msm8916_wcd->mclk); |
796 | switch (mclk_rate) { | 797 | switch (mclk_rate) { |
797 | case 12288000: | 798 | case 12288000: |
798 | snd_soc_update_bits(codec, LPASS_CDC_TOP_CTL, | 799 | snd_soc_component_update_bits(component, LPASS_CDC_TOP_CTL, |
799 | TOP_CTL_DIG_MCLK_FREQ_MASK, | 800 | TOP_CTL_DIG_MCLK_FREQ_MASK, |
800 | TOP_CTL_DIG_MCLK_FREQ_F_12_288MHZ); | 801 | TOP_CTL_DIG_MCLK_FREQ_F_12_288MHZ); |
801 | break; | 802 | break; |
802 | case 9600000: | 803 | case 9600000: |
803 | snd_soc_update_bits(codec, LPASS_CDC_TOP_CTL, | 804 | snd_soc_component_update_bits(component, LPASS_CDC_TOP_CTL, |
804 | TOP_CTL_DIG_MCLK_FREQ_MASK, | 805 | TOP_CTL_DIG_MCLK_FREQ_MASK, |
805 | TOP_CTL_DIG_MCLK_FREQ_F_9_6MHZ); | 806 | TOP_CTL_DIG_MCLK_FREQ_F_9_6MHZ); |
806 | break; | 807 | break; |
807 | default: | 808 | default: |
808 | dev_err(codec->dev, "Invalid mclk rate %ld\n", mclk_rate); | 809 | dev_err(component->dev, "Invalid mclk rate %ld\n", mclk_rate); |
809 | break; | 810 | break; |
810 | } | 811 | } |
811 | return 0; | 812 | return 0; |
@@ -814,7 +815,7 @@ static int msm8916_wcd_digital_startup(struct snd_pcm_substream *substream, | |||
814 | static void msm8916_wcd_digital_shutdown(struct snd_pcm_substream *substream, | 815 | static void msm8916_wcd_digital_shutdown(struct snd_pcm_substream *substream, |
815 | struct snd_soc_dai *dai) | 816 | struct snd_soc_dai *dai) |
816 | { | 817 | { |
817 | snd_soc_update_bits(dai->codec, LPASS_CDC_CLK_PDM_CTL, | 818 | snd_soc_component_update_bits(dai->component, LPASS_CDC_CLK_PDM_CTL, |
818 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_MASK, 0); | 819 | LPASS_CDC_CLK_PDM_CTL_PDM_CLK_SEL_MASK, 0); |
819 | } | 820 | } |
820 | 821 | ||
@@ -851,18 +852,19 @@ static struct snd_soc_dai_driver msm8916_wcd_digital_dai[] = { | |||
851 | }, | 852 | }, |
852 | }; | 853 | }; |
853 | 854 | ||
854 | static const struct snd_soc_codec_driver msm8916_wcd_digital = { | 855 | static const struct snd_soc_component_driver msm8916_wcd_digital = { |
855 | .probe = msm8916_wcd_digital_codec_probe, | 856 | .probe = msm8916_wcd_digital_component_probe, |
856 | .set_sysclk = msm8916_wcd_digital_codec_set_sysclk, | 857 | .set_sysclk = msm8916_wcd_digital_component_set_sysclk, |
857 | .component_driver = { | 858 | .controls = msm8916_wcd_digital_snd_controls, |
858 | .controls = msm8916_wcd_digital_snd_controls, | 859 | .num_controls = ARRAY_SIZE(msm8916_wcd_digital_snd_controls), |
859 | .num_controls = ARRAY_SIZE(msm8916_wcd_digital_snd_controls), | 860 | .dapm_widgets = msm8916_wcd_digital_dapm_widgets, |
860 | .dapm_widgets = msm8916_wcd_digital_dapm_widgets, | 861 | .num_dapm_widgets = ARRAY_SIZE(msm8916_wcd_digital_dapm_widgets), |
861 | .num_dapm_widgets = | 862 | .dapm_routes = msm8916_wcd_digital_audio_map, |
862 | ARRAY_SIZE(msm8916_wcd_digital_dapm_widgets), | 863 | .num_dapm_routes = ARRAY_SIZE(msm8916_wcd_digital_audio_map), |
863 | .dapm_routes = msm8916_wcd_digital_audio_map, | 864 | .idle_bias_on = 1, |
864 | .num_dapm_routes = ARRAY_SIZE(msm8916_wcd_digital_audio_map), | 865 | .use_pmdown_time = 1, |
865 | }, | 866 | .endianness = 1, |
867 | .non_legacy_dai_naming = 1, | ||
866 | }; | 868 | }; |
867 | 869 | ||
868 | static const struct regmap_config msm8916_codec_regmap_config = { | 870 | static const struct regmap_config msm8916_codec_regmap_config = { |
@@ -915,7 +917,7 @@ static int msm8916_wcd_digital_probe(struct platform_device *pdev) | |||
915 | 917 | ||
916 | dev_set_drvdata(dev, priv); | 918 | dev_set_drvdata(dev, priv); |
917 | 919 | ||
918 | return snd_soc_register_codec(dev, &msm8916_wcd_digital, | 920 | return devm_snd_soc_register_component(dev, &msm8916_wcd_digital, |
919 | msm8916_wcd_digital_dai, | 921 | msm8916_wcd_digital_dai, |
920 | ARRAY_SIZE(msm8916_wcd_digital_dai)); | 922 | ARRAY_SIZE(msm8916_wcd_digital_dai)); |
921 | } | 923 | } |
@@ -924,7 +926,6 @@ static int msm8916_wcd_digital_remove(struct platform_device *pdev) | |||
924 | { | 926 | { |
925 | struct msm8916_wcd_digital_priv *priv = dev_get_drvdata(&pdev->dev); | 927 | struct msm8916_wcd_digital_priv *priv = dev_get_drvdata(&pdev->dev); |
926 | 928 | ||
927 | snd_soc_unregister_codec(&pdev->dev); | ||
928 | clk_disable_unprepare(priv->mclk); | 929 | clk_disable_unprepare(priv->mclk); |
929 | clk_disable_unprepare(priv->ahbclk); | 930 | clk_disable_unprepare(priv->ahbclk); |
930 | 931 | ||