| .. | .. |
|---|
| 113 | 113 | { mix_name, "QUIN_TDM_TX_4", "QUIN_TDM_TX_4"}, \ |
|---|
| 114 | 114 | { mix_name, "QUIN_TDM_TX_5", "QUIN_TDM_TX_5"}, \ |
|---|
| 115 | 115 | { mix_name, "QUIN_TDM_TX_6", "QUIN_TDM_TX_6"}, \ |
|---|
| 116 | | - { mix_name, "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"} |
|---|
| 116 | + { mix_name, "QUIN_TDM_TX_7", "QUIN_TDM_TX_7"}, \ |
|---|
| 117 | + { mix_name, "WSA_CODEC_DMA_TX_0", "WSA_CODEC_DMA_TX_0"}, \ |
|---|
| 118 | + { mix_name, "WSA_CODEC_DMA_TX_1", "WSA_CODEC_DMA_TX_1"}, \ |
|---|
| 119 | + { mix_name, "WSA_CODEC_DMA_TX_2", "WSA_CODEC_DMA_TX_2"}, \ |
|---|
| 120 | + { mix_name, "VA_CODEC_DMA_TX_0", "VA_CODEC_DMA_TX_0"}, \ |
|---|
| 121 | + { mix_name, "VA_CODEC_DMA_TX_1", "VA_CODEC_DMA_TX_1"}, \ |
|---|
| 122 | + { mix_name, "VA_CODEC_DMA_TX_2", "VA_CODEC_DMA_TX_2"}, \ |
|---|
| 123 | + { mix_name, "TX_CODEC_DMA_TX_0", "TX_CODEC_DMA_TX_0"}, \ |
|---|
| 124 | + { mix_name, "TX_CODEC_DMA_TX_1", "TX_CODEC_DMA_TX_1"}, \ |
|---|
| 125 | + { mix_name, "TX_CODEC_DMA_TX_2", "TX_CODEC_DMA_TX_2"}, \ |
|---|
| 126 | + { mix_name, "TX_CODEC_DMA_TX_3", "TX_CODEC_DMA_TX_3"}, \ |
|---|
| 127 | + { mix_name, "TX_CODEC_DMA_TX_4", "TX_CODEC_DMA_TX_4"}, \ |
|---|
| 128 | + { mix_name, "TX_CODEC_DMA_TX_5", "TX_CODEC_DMA_TX_5"} |
|---|
| 117 | 129 | |
|---|
| 118 | 130 | #define Q6ROUTING_TX_MIXERS(id) \ |
|---|
| 119 | 131 | SOC_SINGLE_EXT("PRI_MI2S_TX", PRIMARY_MI2S_TX, \ |
|---|
| .. | .. |
|---|
| 267 | 279 | id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 268 | 280 | msm_routing_put_audio_mixer), \ |
|---|
| 269 | 281 | SOC_SINGLE_EXT("QUIN_TDM_TX_7", QUINARY_TDM_TX_7, \ |
|---|
| 282 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 283 | + msm_routing_put_audio_mixer), \ |
|---|
| 284 | + SOC_SINGLE_EXT("WSA_CODEC_DMA_TX_0", WSA_CODEC_DMA_TX_0, \ |
|---|
| 285 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 286 | + msm_routing_put_audio_mixer), \ |
|---|
| 287 | + SOC_SINGLE_EXT("WSA_CODEC_DMA_TX_1", WSA_CODEC_DMA_TX_1, \ |
|---|
| 288 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 289 | + msm_routing_put_audio_mixer), \ |
|---|
| 290 | + SOC_SINGLE_EXT("WSA_CODEC_DMA_TX_2", WSA_CODEC_DMA_TX_2, \ |
|---|
| 291 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 292 | + msm_routing_put_audio_mixer), \ |
|---|
| 293 | + SOC_SINGLE_EXT("VA_CODEC_DMA_TX_0", VA_CODEC_DMA_TX_0, \ |
|---|
| 294 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 295 | + msm_routing_put_audio_mixer), \ |
|---|
| 296 | + SOC_SINGLE_EXT("VA_CODEC_DMA_TX_1", VA_CODEC_DMA_TX_1, \ |
|---|
| 297 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 298 | + msm_routing_put_audio_mixer), \ |
|---|
| 299 | + SOC_SINGLE_EXT("VA_CODEC_DMA_TX_2", VA_CODEC_DMA_TX_2, \ |
|---|
| 300 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 301 | + msm_routing_put_audio_mixer), \ |
|---|
| 302 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_0", TX_CODEC_DMA_TX_0, \ |
|---|
| 303 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 304 | + msm_routing_put_audio_mixer), \ |
|---|
| 305 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_1", TX_CODEC_DMA_TX_1, \ |
|---|
| 306 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 307 | + msm_routing_put_audio_mixer), \ |
|---|
| 308 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_2", TX_CODEC_DMA_TX_2, \ |
|---|
| 309 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 310 | + msm_routing_put_audio_mixer), \ |
|---|
| 311 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_3", TX_CODEC_DMA_TX_3, \ |
|---|
| 312 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 313 | + msm_routing_put_audio_mixer), \ |
|---|
| 314 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_4", TX_CODEC_DMA_TX_4, \ |
|---|
| 315 | + id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 316 | + msm_routing_put_audio_mixer), \ |
|---|
| 317 | + SOC_SINGLE_EXT("TX_CODEC_DMA_TX_5", TX_CODEC_DMA_TX_5, \ |
|---|
| 270 | 318 | id, 1, 0, msm_routing_get_audio_mixer, \ |
|---|
| 271 | 319 | msm_routing_put_audio_mixer), |
|---|
| 272 | 320 | |
|---|
| .. | .. |
|---|
| 459 | 507 | static const struct snd_kcontrol_new hdmi_mixer_controls[] = { |
|---|
| 460 | 508 | Q6ROUTING_RX_MIXERS(HDMI_RX) }; |
|---|
| 461 | 509 | |
|---|
| 510 | +static const struct snd_kcontrol_new display_port_mixer_controls[] = { |
|---|
| 511 | + Q6ROUTING_RX_MIXERS(DISPLAY_PORT_RX) }; |
|---|
| 512 | + |
|---|
| 462 | 513 | static const struct snd_kcontrol_new primary_mi2s_rx_mixer_controls[] = { |
|---|
| 463 | 514 | Q6ROUTING_RX_MIXERS(PRIMARY_MI2S_RX) }; |
|---|
| 464 | 515 | |
|---|
| .. | .. |
|---|
| 612 | 663 | static const struct snd_kcontrol_new quin_tdm_rx_7_mixer_controls[] = { |
|---|
| 613 | 664 | Q6ROUTING_RX_MIXERS(QUINARY_TDM_RX_7) }; |
|---|
| 614 | 665 | |
|---|
| 666 | +static const struct snd_kcontrol_new wsa_codec_dma_rx_0_mixer_controls[] = { |
|---|
| 667 | + Q6ROUTING_RX_MIXERS(WSA_CODEC_DMA_RX_0) }; |
|---|
| 668 | + |
|---|
| 669 | +static const struct snd_kcontrol_new wsa_codec_dma_rx_1_mixer_controls[] = { |
|---|
| 670 | + Q6ROUTING_RX_MIXERS(WSA_CODEC_DMA_RX_1) }; |
|---|
| 671 | + |
|---|
| 672 | +static const struct snd_kcontrol_new rx_codec_dma_rx_0_mixer_controls[] = { |
|---|
| 673 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_0) }; |
|---|
| 674 | + |
|---|
| 675 | +static const struct snd_kcontrol_new rx_codec_dma_rx_1_mixer_controls[] = { |
|---|
| 676 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_1) }; |
|---|
| 677 | + |
|---|
| 678 | +static const struct snd_kcontrol_new rx_codec_dma_rx_2_mixer_controls[] = { |
|---|
| 679 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_2) }; |
|---|
| 680 | + |
|---|
| 681 | +static const struct snd_kcontrol_new rx_codec_dma_rx_3_mixer_controls[] = { |
|---|
| 682 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_3) }; |
|---|
| 683 | + |
|---|
| 684 | +static const struct snd_kcontrol_new rx_codec_dma_rx_4_mixer_controls[] = { |
|---|
| 685 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_4) }; |
|---|
| 686 | + |
|---|
| 687 | +static const struct snd_kcontrol_new rx_codec_dma_rx_5_mixer_controls[] = { |
|---|
| 688 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_5) }; |
|---|
| 689 | + |
|---|
| 690 | +static const struct snd_kcontrol_new rxcodec_dma_rx_6_mixer_controls[] = { |
|---|
| 691 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_6) }; |
|---|
| 692 | + |
|---|
| 693 | +static const struct snd_kcontrol_new rx_codec_dma_rx_7_mixer_controls[] = { |
|---|
| 694 | + Q6ROUTING_RX_MIXERS(RX_CODEC_DMA_RX_7) }; |
|---|
| 695 | + |
|---|
| 615 | 696 | |
|---|
| 616 | 697 | static const struct snd_kcontrol_new mmul1_mixer_controls[] = { |
|---|
| 617 | 698 | Q6ROUTING_TX_MIXERS(MSM_FRONTEND_DAI_MULTIMEDIA1) }; |
|---|
| .. | .. |
|---|
| 638 | 719 | Q6ROUTING_TX_MIXERS(MSM_FRONTEND_DAI_MULTIMEDIA8) }; |
|---|
| 639 | 720 | |
|---|
| 640 | 721 | static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { |
|---|
| 641 | | - /* Frontend AIF */ |
|---|
| 642 | | - SND_SOC_DAPM_AIF_IN("MM_DL1", "MultiMedia1 Playback", 0, 0, 0, 0), |
|---|
| 643 | | - SND_SOC_DAPM_AIF_IN("MM_DL2", "MultiMedia2 Playback", 0, 0, 0, 0), |
|---|
| 644 | | - SND_SOC_DAPM_AIF_IN("MM_DL3", "MultiMedia3 Playback", 0, 0, 0, 0), |
|---|
| 645 | | - SND_SOC_DAPM_AIF_IN("MM_DL4", "MultiMedia4 Playback", 0, 0, 0, 0), |
|---|
| 646 | | - SND_SOC_DAPM_AIF_IN("MM_DL5", "MultiMedia5 Playback", 0, 0, 0, 0), |
|---|
| 647 | | - SND_SOC_DAPM_AIF_IN("MM_DL6", "MultiMedia6 Playback", 0, 0, 0, 0), |
|---|
| 648 | | - SND_SOC_DAPM_AIF_IN("MM_DL7", "MultiMedia7 Playback", 0, 0, 0, 0), |
|---|
| 649 | | - SND_SOC_DAPM_AIF_IN("MM_DL8", "MultiMedia8 Playback", 0, 0, 0, 0), |
|---|
| 650 | | - SND_SOC_DAPM_AIF_OUT("MM_UL1", "MultiMedia1 Capture", 0, 0, 0, 0), |
|---|
| 651 | | - SND_SOC_DAPM_AIF_OUT("MM_UL2", "MultiMedia2 Capture", 0, 0, 0, 0), |
|---|
| 652 | | - SND_SOC_DAPM_AIF_OUT("MM_UL3", "MultiMedia3 Capture", 0, 0, 0, 0), |
|---|
| 653 | | - SND_SOC_DAPM_AIF_OUT("MM_UL4", "MultiMedia4 Capture", 0, 0, 0, 0), |
|---|
| 654 | | - SND_SOC_DAPM_AIF_OUT("MM_UL5", "MultiMedia5 Capture", 0, 0, 0, 0), |
|---|
| 655 | | - SND_SOC_DAPM_AIF_OUT("MM_UL6", "MultiMedia6 Capture", 0, 0, 0, 0), |
|---|
| 656 | | - SND_SOC_DAPM_AIF_OUT("MM_UL7", "MultiMedia7 Capture", 0, 0, 0, 0), |
|---|
| 657 | | - SND_SOC_DAPM_AIF_OUT("MM_UL8", "MultiMedia8 Capture", 0, 0, 0, 0), |
|---|
| 658 | | - |
|---|
| 659 | 722 | /* Mixer definitions */ |
|---|
| 660 | 723 | SND_SOC_DAPM_MIXER("HDMI Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 661 | 724 | hdmi_mixer_controls, |
|---|
| 662 | 725 | ARRAY_SIZE(hdmi_mixer_controls)), |
|---|
| 726 | + |
|---|
| 727 | + SND_SOC_DAPM_MIXER("DISPLAY_PORT_RX Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 728 | + display_port_mixer_controls, |
|---|
| 729 | + ARRAY_SIZE(display_port_mixer_controls)), |
|---|
| 663 | 730 | |
|---|
| 664 | 731 | SND_SOC_DAPM_MIXER("SLIMBUS_0_RX Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 665 | 732 | slimbus_rx_mixer_controls, |
|---|
| .. | .. |
|---|
| 818 | 885 | SND_SOC_DAPM_MIXER("QUIN_TDM_RX_7 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 819 | 886 | quin_tdm_rx_7_mixer_controls, |
|---|
| 820 | 887 | ARRAY_SIZE(quin_tdm_rx_7_mixer_controls)), |
|---|
| 888 | + |
|---|
| 889 | + SND_SOC_DAPM_MIXER("WSA_CODEC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 890 | + wsa_codec_dma_rx_0_mixer_controls, |
|---|
| 891 | + ARRAY_SIZE(wsa_codec_dma_rx_0_mixer_controls)), |
|---|
| 892 | + SND_SOC_DAPM_MIXER("WSA_CODEC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 893 | + wsa_codec_dma_rx_1_mixer_controls, |
|---|
| 894 | + ARRAY_SIZE(wsa_codec_dma_rx_1_mixer_controls)), |
|---|
| 895 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_0 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 896 | + rx_codec_dma_rx_0_mixer_controls, |
|---|
| 897 | + ARRAY_SIZE(rx_codec_dma_rx_0_mixer_controls)), |
|---|
| 898 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_1 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 899 | + rx_codec_dma_rx_1_mixer_controls, |
|---|
| 900 | + ARRAY_SIZE(rx_codec_dma_rx_1_mixer_controls)), |
|---|
| 901 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_2 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 902 | + rx_codec_dma_rx_2_mixer_controls, |
|---|
| 903 | + ARRAY_SIZE(rx_codec_dma_rx_2_mixer_controls)), |
|---|
| 904 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_3 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 905 | + rx_codec_dma_rx_3_mixer_controls, |
|---|
| 906 | + ARRAY_SIZE(rx_codec_dma_rx_3_mixer_controls)), |
|---|
| 907 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_4 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 908 | + rx_codec_dma_rx_4_mixer_controls, |
|---|
| 909 | + ARRAY_SIZE(rx_codec_dma_rx_4_mixer_controls)), |
|---|
| 910 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_5 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 911 | + rx_codec_dma_rx_5_mixer_controls, |
|---|
| 912 | + ARRAY_SIZE(rx_codec_dma_rx_5_mixer_controls)), |
|---|
| 913 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_6 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 914 | + rxcodec_dma_rx_6_mixer_controls, |
|---|
| 915 | + ARRAY_SIZE(rxcodec_dma_rx_6_mixer_controls)), |
|---|
| 916 | + SND_SOC_DAPM_MIXER("RX_CODEC_DMA_RX_7 Audio Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 917 | + rx_codec_dma_rx_7_mixer_controls, |
|---|
| 918 | + ARRAY_SIZE(rx_codec_dma_rx_7_mixer_controls)), |
|---|
| 821 | 919 | SND_SOC_DAPM_MIXER("MultiMedia1 Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| 822 | 920 | mmul1_mixer_controls, ARRAY_SIZE(mmul1_mixer_controls)), |
|---|
| 823 | 921 | SND_SOC_DAPM_MIXER("MultiMedia2 Mixer", SND_SOC_NOPM, 0, 0, |
|---|
| .. | .. |
|---|
| 839 | 937 | |
|---|
| 840 | 938 | static const struct snd_soc_dapm_route intercon[] = { |
|---|
| 841 | 939 | Q6ROUTING_RX_DAPM_ROUTE("HDMI Mixer", "HDMI_RX"), |
|---|
| 940 | + Q6ROUTING_RX_DAPM_ROUTE("DISPLAY_PORT_RX Audio Mixer", |
|---|
| 941 | + "DISPLAY_PORT_RX"), |
|---|
| 842 | 942 | Q6ROUTING_RX_DAPM_ROUTE("SLIMBUS_0_RX Audio Mixer", "SLIMBUS_0_RX"), |
|---|
| 843 | 943 | Q6ROUTING_RX_DAPM_ROUTE("SLIMBUS_1_RX Audio Mixer", "SLIMBUS_1_RX"), |
|---|
| 844 | 944 | Q6ROUTING_RX_DAPM_ROUTE("SLIMBUS_2_RX Audio Mixer", "SLIMBUS_2_RX"), |
|---|
| .. | .. |
|---|
| 898 | 998 | Q6ROUTING_RX_DAPM_ROUTE("QUIN_TDM_RX_5 Audio Mixer", "QUIN_TDM_RX_5"), |
|---|
| 899 | 999 | Q6ROUTING_RX_DAPM_ROUTE("QUIN_TDM_RX_6 Audio Mixer", "QUIN_TDM_RX_6"), |
|---|
| 900 | 1000 | Q6ROUTING_RX_DAPM_ROUTE("QUIN_TDM_RX_7 Audio Mixer", "QUIN_TDM_RX_7"), |
|---|
| 1001 | + Q6ROUTING_RX_DAPM_ROUTE("WSA_CODEC_DMA_RX_0 Audio Mixer", "WSA_CODEC_DMA_RX_0"), |
|---|
| 1002 | + Q6ROUTING_RX_DAPM_ROUTE("WSA_CODEC_DMA_RX_1 Audio Mixer", "WSA_CODEC_DMA_RX_1"), |
|---|
| 1003 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_0 Audio Mixer", "RX_CODEC_DMA_RX_0"), |
|---|
| 1004 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_1 Audio Mixer", "RX_CODEC_DMA_RX_1"), |
|---|
| 1005 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_2 Audio Mixer", "RX_CODEC_DMA_RX_2"), |
|---|
| 1006 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_3 Audio Mixer", "RX_CODEC_DMA_RX_3"), |
|---|
| 1007 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_4 Audio Mixer", "RX_CODEC_DMA_RX_4"), |
|---|
| 1008 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_5 Audio Mixer", "RX_CODEC_DMA_RX_5"), |
|---|
| 1009 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_6 Audio Mixer", "RX_CODEC_DMA_RX_6"), |
|---|
| 1010 | + Q6ROUTING_RX_DAPM_ROUTE("RX_CODEC_DMA_RX_7 Audio Mixer", "RX_CODEC_DMA_RX_7"), |
|---|
| 901 | 1011 | Q6ROUTING_TX_DAPM_ROUTE("MultiMedia1 Mixer"), |
|---|
| 902 | 1012 | Q6ROUTING_TX_DAPM_ROUTE("MultiMedia2 Mixer"), |
|---|
| 903 | 1013 | Q6ROUTING_TX_DAPM_ROUTE("MultiMedia3 Mixer"), |
|---|
| .. | .. |
|---|
| 917 | 1027 | {"MM_UL8", NULL, "MultiMedia8 Mixer"}, |
|---|
| 918 | 1028 | }; |
|---|
| 919 | 1029 | |
|---|
| 920 | | -static int routing_hw_params(struct snd_pcm_substream *substream, |
|---|
| 921 | | - struct snd_pcm_hw_params *params) |
|---|
| 1030 | +static int routing_hw_params(struct snd_soc_component *component, |
|---|
| 1031 | + struct snd_pcm_substream *substream, |
|---|
| 1032 | + struct snd_pcm_hw_params *params) |
|---|
| 922 | 1033 | { |
|---|
| 923 | | - struct snd_soc_pcm_runtime *rtd = substream->private_data; |
|---|
| 924 | | - struct snd_soc_component *c = snd_soc_rtdcom_lookup(rtd, DRV_NAME); |
|---|
| 925 | | - struct msm_routing_data *data = dev_get_drvdata(c->dev); |
|---|
| 926 | | - unsigned int be_id = rtd->cpu_dai->id; |
|---|
| 1034 | + struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); |
|---|
| 1035 | + struct msm_routing_data *data = dev_get_drvdata(component->dev); |
|---|
| 1036 | + unsigned int be_id = asoc_rtd_to_cpu(rtd, 0)->id; |
|---|
| 927 | 1037 | struct session_data *session; |
|---|
| 928 | 1038 | int path_type; |
|---|
| 929 | 1039 | |
|---|
| .. | .. |
|---|
| 958 | 1068 | return 0; |
|---|
| 959 | 1069 | } |
|---|
| 960 | 1070 | |
|---|
| 961 | | -static struct snd_pcm_ops q6pcm_routing_ops = { |
|---|
| 962 | | - .hw_params = routing_hw_params, |
|---|
| 963 | | -}; |
|---|
| 964 | | - |
|---|
| 965 | 1071 | static int msm_routing_probe(struct snd_soc_component *c) |
|---|
| 966 | 1072 | { |
|---|
| 967 | 1073 | int i; |
|---|
| .. | .. |
|---|
| 989 | 1095 | } |
|---|
| 990 | 1096 | |
|---|
| 991 | 1097 | static const struct snd_soc_component_driver msm_soc_routing_component = { |
|---|
| 992 | | - .ops = &q6pcm_routing_ops, |
|---|
| 993 | 1098 | .probe = msm_routing_probe, |
|---|
| 994 | 1099 | .name = DRV_NAME, |
|---|
| 1100 | + .hw_params = routing_hw_params, |
|---|
| 995 | 1101 | .dapm_widgets = msm_qdsp6_widgets, |
|---|
| 996 | 1102 | .num_dapm_widgets = ARRAY_SIZE(msm_qdsp6_widgets), |
|---|
| 997 | 1103 | .dapm_routes = intercon, |
|---|
| .. | .. |
|---|
| 1025 | 1131 | return 0; |
|---|
| 1026 | 1132 | } |
|---|
| 1027 | 1133 | |
|---|
| 1134 | +#ifdef CONFIG_OF |
|---|
| 1028 | 1135 | static const struct of_device_id q6pcm_routing_device_id[] = { |
|---|
| 1029 | 1136 | { .compatible = "qcom,q6adm-routing" }, |
|---|
| 1030 | 1137 | {}, |
|---|
| 1031 | 1138 | }; |
|---|
| 1032 | 1139 | MODULE_DEVICE_TABLE(of, q6pcm_routing_device_id); |
|---|
| 1140 | +#endif |
|---|
| 1033 | 1141 | |
|---|
| 1034 | 1142 | static struct platform_driver q6pcm_routing_platform_driver = { |
|---|
| 1035 | 1143 | .driver = { |
|---|