ASoC: Intel: boards: use helper to get codec_dai
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Thu, 12 Oct 2017 23:38:03 +0000 (18:38 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 18 Oct 2017 11:30:22 +0000 (12:30 +0100)
Remove duplicate code with a common helper in all Intel machine drivers.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Suggested-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Acked-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/bxt_da7219_max98357a.c
sound/soc/intel/boards/bytcr_rt5640.c
sound/soc/intel/boards/bytcr_rt5651.c
sound/soc/intel/boards/cht_bsw_max98090_ti.c
sound/soc/intel/boards/cht_bsw_rt5645.c
sound/soc/intel/boards/cht_bsw_rt5672.c
sound/soc/intel/boards/skl_nau88l25_max98357a.c
sound/soc/intel/boards/skl_nau88l25_ssm4567.c

index ce35ec7884d1e59873e184d3dd8f5bf0711806a6..f8a91a6f2a17af51c68e69ec88b907e718e72952 100644 (file)
@@ -55,20 +55,6 @@ enum {
        BXT_DPCM_AUDIO_HDMI3_PB,
 };
 
-static inline struct snd_soc_dai *bxt_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-
-               if (!strncmp(rtd->codec_dai->name, BXT_DIALOG_CODEC_DAI,
-                            strlen(BXT_DIALOG_CODEC_DAI)))
-                       return rtd->codec_dai;
-       }
-
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct snd_kcontrol *k, int  event)
 {
@@ -77,7 +63,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct snd_soc_card *card = dapm->card;
        struct snd_soc_dai *codec_dai;
 
-       codec_dai = bxt_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, BXT_DIALOG_CODEC_DAI);
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found; Unable to set/unset codec pll\n");
                return -EIO;
index ffb3ca971df40e2d382692ed833d53e9001fb6c2..339842adceed54cee03fcca6edcc4a3ec4db5b5f 100644 (file)
@@ -145,22 +145,6 @@ static void log_quirks(struct device *dev)
 #define BYT_CODEC_DAI1 "rt5640-aif1"
 #define BYT_CODEC_DAI2 "rt5640-aif2"
 
-static inline struct snd_soc_dai *byt_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-               if (!strncmp(rtd->codec_dai->name, BYT_CODEC_DAI1,
-                            strlen(BYT_CODEC_DAI1)))
-                       return rtd->codec_dai;
-               if (!strncmp(rtd->codec_dai->name, BYT_CODEC_DAI2,
-                               strlen(BYT_CODEC_DAI2)))
-                       return rtd->codec_dai;
-
-       }
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
                                  struct snd_kcontrol *k, int  event)
 {
@@ -170,7 +154,10 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct byt_rt5640_private *priv = snd_soc_card_get_drvdata(card);
        int ret;
 
-       codec_dai = byt_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, BYT_CODEC_DAI1);
+       if (!codec_dai)
+               codec_dai = snd_soc_card_get_codec_dai(card, BYT_CODEC_DAI2);
+
        if (!codec_dai) {
                dev_err(card->dev,
                        "Codec dai not found; Unable to set platform clock\n");
index e094a58d750d5ad49a192e009e4711544ce97b87..dc158466bd92fb8cd82e2d075e040a40e54a3b03 100644 (file)
@@ -68,18 +68,6 @@ static void log_quirks(struct device *dev)
 
 #define BYT_CODEC_DAI1 "rt5651-aif1"
 
-static inline struct snd_soc_dai *byt_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-               if (!strncmp(rtd->codec_dai->name, BYT_CODEC_DAI1,
-                            strlen(BYT_CODEC_DAI1)))
-                       return rtd->codec_dai;
-       }
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
                                  struct snd_kcontrol *k, int  event)
 {
@@ -89,7 +77,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct byt_rt5651_private *priv = snd_soc_card_get_drvdata(card);
        int ret;
 
-       codec_dai = byt_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, BYT_CODEC_DAI1);
        if (!codec_dai) {
                dev_err(card->dev,
                        "Codec dai not found; Unable to set platform clock\n");
index a23eba7bb0569fecc180fab618ed4f11bc3a4d41..c2e3b00ec89d01902bc7684ae07436afc01086a2 100644 (file)
@@ -41,18 +41,6 @@ struct cht_mc_private {
        bool ts3a227e_present;
 };
 
-static inline struct snd_soc_dai *cht_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-               if (!strncmp(rtd->codec_dai->name, CHT_CODEC_DAI,
-                            strlen(CHT_CODEC_DAI)))
-                       return rtd->codec_dai;
-       }
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
                                          struct snd_kcontrol *k, int  event)
 {
@@ -62,7 +50,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card);
        int ret;
 
-       codec_dai = cht_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, CHT_CODEC_DAI);
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n");
                return -EIO;
index 6ccb599c10826425bafdcf8fd318749d0f7f30f8..546f4abf2562e2f9f3398bed3108500c6d5ac3c6 100644 (file)
@@ -70,21 +70,6 @@ static void log_quirks(struct device *dev)
                dev_info(dev, "quirk SSP0_AIF2 enabled");
 }
 
-static inline struct snd_soc_dai *cht_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-               if (!strncmp(rtd->codec_dai->name, CHT_CODEC_DAI1,
-                            strlen(CHT_CODEC_DAI1)))
-                       return rtd->codec_dai;
-               if (!strncmp(rtd->codec_dai->name, CHT_CODEC_DAI2,
-                            strlen(CHT_CODEC_DAI2)))
-                       return rtd->codec_dai;
-       }
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
                struct snd_kcontrol *k, int  event)
 {
@@ -94,7 +79,10 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card);
        int ret;
 
-       codec_dai = cht_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, CHT_CODEC_DAI1);
+       if (!codec_dai)
+               codec_dai = snd_soc_card_get_codec_dai(card, CHT_CODEC_DAI2);
+
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n");
                return -EIO;
index f799b76fdedf245cda450905b04087707f1c475e..1dffe76d5a852303f0f8bfc5eb0770ba6fc918aa 100644 (file)
@@ -50,18 +50,6 @@ static struct snd_soc_jack_pin cht_bsw_headset_pins[] = {
        },
 };
 
-static inline struct snd_soc_dai *cht_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-               if (!strncmp(rtd->codec_dai->name, CHT_CODEC_DAI,
-                            strlen(CHT_CODEC_DAI)))
-                       return rtd->codec_dai;
-       }
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
                struct snd_kcontrol *k, int  event)
 {
@@ -71,7 +59,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card);
        int ret;
 
-       codec_dai = cht_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, CHT_CODEC_DAI);
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n");
                return -EIO;
index 5ed0aa27b467d0e4807a6fefecfb216334d49daf..1b5a689dc99bb4810194a0bd068fea8f75c99426 100644 (file)
@@ -54,20 +54,6 @@ enum {
        SKL_DPCM_AUDIO_HDMI3_PB,
 };
 
-static inline struct snd_soc_dai *skl_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-
-               if (!strncmp(rtd->codec_dai->name, SKL_NUVOTON_CODEC_DAI,
-                            strlen(SKL_NUVOTON_CODEC_DAI)))
-                       return rtd->codec_dai;
-       }
-
-       return NULL;
-}
-
 static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct snd_kcontrol *k, int  event)
 {
@@ -76,7 +62,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct snd_soc_dai *codec_dai;
        int ret;
 
-       codec_dai = skl_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, SKL_NUVOTON_CODEC_DAI);
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found; Unable to set platform clock\n");
                return -EIO;
index 01b8b140bb0874af87fa3ef98a4213bf7f6c74a5..7bea4bc774815a83e7d4f9490398fda08d4a48d8 100644 (file)
@@ -57,20 +57,6 @@ enum {
        SKL_DPCM_AUDIO_HDMI3_PB,
 };
 
-static inline struct snd_soc_dai *skl_get_codec_dai(struct snd_soc_card *card)
-{
-       struct snd_soc_pcm_runtime *rtd;
-
-       list_for_each_entry(rtd, &card->rtd_list, list) {
-
-               if (!strncmp(rtd->codec_dai->name, SKL_NUVOTON_CODEC_DAI,
-                            strlen(SKL_NUVOTON_CODEC_DAI)))
-                       return rtd->codec_dai;
-       }
-
-       return NULL;
-}
-
 static const struct snd_kcontrol_new skylake_controls[] = {
        SOC_DAPM_PIN_SWITCH("Headphone Jack"),
        SOC_DAPM_PIN_SWITCH("Headset Mic"),
@@ -86,7 +72,7 @@ static int platform_clock_control(struct snd_soc_dapm_widget *w,
        struct snd_soc_dai *codec_dai;
        int ret;
 
-       codec_dai = skl_get_codec_dai(card);
+       codec_dai = snd_soc_card_get_codec_dai(card, SKL_NUVOTON_CODEC_DAI);
        if (!codec_dai) {
                dev_err(card->dev, "Codec dai not found\n");
                return -EIO;