Przeglądaj źródła

ASoC: soc core add inline to handle card list initialzation

Currently the soc_probe initializes the card hence it does the card list
initialzation. But if machines directly register the card they would need to
do these steps, so putting them as inline would save lot of code

This patch adds an inline to do list initialzation

Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Harsha Priya <harsha.priya@intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Vinod Koul 14 lat temu
rodzic
commit
4e10bda05d
2 zmienionych plików z 11 dodań i 6 usunięć
  1. 10 0
      include/sound/soc.h
  2. 1 6
      sound/soc/soc-core.c

+ 10 - 0
include/sound/soc.h

@@ -779,6 +779,16 @@ static inline void *snd_soc_pcm_get_drvdata(struct snd_soc_pcm_runtime *rtd)
 	return dev_get_drvdata(&rtd->dev);
 	return dev_get_drvdata(&rtd->dev);
 }
 }
 
 
+static inline void snd_soc_initialize_card_lists(struct snd_soc_card *card)
+{
+	INIT_LIST_HEAD(&card->dai_dev_list);
+	INIT_LIST_HEAD(&card->codec_dev_list);
+	INIT_LIST_HEAD(&card->platform_dev_list);
+	INIT_LIST_HEAD(&card->widgets);
+	INIT_LIST_HEAD(&card->paths);
+	INIT_LIST_HEAD(&card->dapm_list);
+}
+
 #include <sound/soc-dai.h>
 #include <sound/soc-dai.h>
 
 
 #ifdef CONFIG_DEBUG_FS
 #ifdef CONFIG_DEBUG_FS

+ 1 - 6
sound/soc/soc-core.c

@@ -1872,12 +1872,7 @@ static int soc_probe(struct platform_device *pdev)
 
 
 	/* Bodge while we unpick instantiation */
 	/* Bodge while we unpick instantiation */
 	card->dev = &pdev->dev;
 	card->dev = &pdev->dev;
-	INIT_LIST_HEAD(&card->dai_dev_list);
-	INIT_LIST_HEAD(&card->codec_dev_list);
-	INIT_LIST_HEAD(&card->platform_dev_list);
-	INIT_LIST_HEAD(&card->widgets);
-	INIT_LIST_HEAD(&card->paths);
-	INIT_LIST_HEAD(&card->dapm_list);
+	snd_soc_initialize_card_lists(card);
 
 
 	ret = snd_soc_register_card(card);
 	ret = snd_soc_register_card(card);
 	if (ret != 0) {
 	if (ret != 0) {