@@ -780,13 +780,6 @@ static void sof_sdw_check_ssid_quirk(const struct snd_soc_acpi_mach *mach)
780780 sof_sdw_quirk = quirk_entry -> value ;
781781}
782782
783- static struct snd_soc_dai_link_component platform_component [] = {
784- {
785- /* name might be overridden during probe */
786- .name = "0000:00:1f.3"
787- }
788- };
789-
790783static const struct snd_soc_ops sdw_ops = {
791784 .startup = asoc_sdw_startup ,
792785 .prepare = asoc_sdw_prepare ,
@@ -836,6 +829,7 @@ static int create_sdw_dailink(struct snd_soc_card *card,
836829 struct snd_soc_dai_link_ch_map * codec_maps ;
837830 struct snd_soc_dai_link_component * codecs ;
838831 struct snd_soc_dai_link_component * cpus ;
832+ struct snd_soc_dai_link_component * platform ;
839833 int num_cpus = hweight32 (sof_dai -> link_mask [stream ]);
840834 int num_codecs = sof_dai -> num_devs [stream ];
841835 int playback , capture ;
@@ -876,6 +870,10 @@ static int create_sdw_dailink(struct snd_soc_card *card,
876870 if (!codecs )
877871 return - ENOMEM ;
878872
873+ platform = devm_kzalloc (dev , sizeof (* platform ), GFP_KERNEL );
874+ if (!platform )
875+ return - ENOMEM ;
876+
879877 codec_maps = devm_kcalloc (dev , num_codecs , sizeof (* codec_maps ), GFP_KERNEL );
880878 if (!codec_maps )
881879 return - ENOMEM ;
@@ -917,8 +915,7 @@ static int create_sdw_dailink(struct snd_soc_card *card,
917915 capture = (stream == SNDRV_PCM_STREAM_CAPTURE );
918916
919917 asoc_sdw_init_dai_link (dev , * dai_links , be_id , name , playback , capture ,
920- cpus , num_cpus , platform_component ,
921- ARRAY_SIZE (platform_component ), codecs , num_codecs ,
918+ cpus , num_cpus , platform , 1 , codecs , num_codecs ,
922919 1 , asoc_sdw_rtd_init , & sdw_ops );
923920
924921 /*
@@ -994,8 +991,7 @@ static int create_ssp_dailinks(struct snd_soc_card *card,
994991
995992 ret = asoc_sdw_init_simple_dai_link (dev , * dai_links , be_id , name ,
996993 playback , capture , cpu_dai_name ,
997- platform_component -> name ,
998- ARRAY_SIZE (platform_component ), codec_name ,
994+ "dummy" , codec_name ,
999995 ssp_info -> dais [0 ].dai_name , 1 , NULL ,
1000996 ssp_info -> ops );
1001997 if (ret )
@@ -1019,8 +1015,7 @@ static int create_dmic_dailinks(struct snd_soc_card *card,
10191015
10201016 ret = asoc_sdw_init_simple_dai_link (dev , * dai_links , be_id , "dmic01" ,
10211017 0 , 1 , // DMIC only supports capture
1022- "DMIC01 Pin" , platform_component -> name ,
1023- ARRAY_SIZE (platform_component ),
1018+ "DMIC01 Pin" , "dummy" ,
10241019 "dmic-codec" , "dmic-hifi" , 1 ,
10251020 asoc_sdw_dmic_init , NULL );
10261021 if (ret )
@@ -1030,8 +1025,7 @@ static int create_dmic_dailinks(struct snd_soc_card *card,
10301025
10311026 ret = asoc_sdw_init_simple_dai_link (dev , * dai_links , be_id , "dmic16k" ,
10321027 0 , 1 , // DMIC only supports capture
1033- "DMIC16k Pin" , platform_component -> name ,
1034- ARRAY_SIZE (platform_component ),
1028+ "DMIC16k Pin" , "dummy" ,
10351029 "dmic-codec" , "dmic-hifi" , 1 ,
10361030 /* don't call asoc_sdw_dmic_init() twice */
10371031 NULL , NULL );
@@ -1074,8 +1068,7 @@ static int create_hdmi_dailinks(struct snd_soc_card *card,
10741068
10751069 ret = asoc_sdw_init_simple_dai_link (dev , * dai_links , be_id , name ,
10761070 1 , 0 , // HDMI only supports playback
1077- cpu_dai_name , platform_component -> name ,
1078- ARRAY_SIZE (platform_component ),
1071+ cpu_dai_name , "dummy" ,
10791072 codec_name , codec_dai_name , 1 ,
10801073 i == 0 ? sof_sdw_hdmi_init : NULL , NULL );
10811074 if (ret )
@@ -1101,8 +1094,7 @@ static int create_bt_dailinks(struct snd_soc_card *card,
11011094 int ret ;
11021095
11031096 ret = asoc_sdw_init_simple_dai_link (dev , * dai_links , be_id , name ,
1104- 1 , 1 , cpu_dai_name , platform_component -> name ,
1105- ARRAY_SIZE (platform_component ),
1097+ 1 , 1 , cpu_dai_name , "dummy" ,
11061098 snd_soc_dummy_dlc .name , snd_soc_dummy_dlc .dai_name ,
11071099 1 , NULL , NULL );
11081100 if (ret )
0 commit comments