All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers
@ 2019-01-25 20:34 Pierre-Louis Bossart
  2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
                   ` (14 more replies)
  0 siblings, 15 replies; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

To reuse the same machine drivers with Atom/SST, Skylake and SOF, we
need to change the default platform_name (or platforms->name in the
"modern" representation).

So far, this override was done with an automatic override, which was
broken by a set of changes for DT platforms related to deferred probe
handling.

This automatic override is actually not really needed, the machine
driver can already receive the platform name as a platform_data
parameter. This is used e.g. for HDaudio support where we have
different PCI aliases used for different platforms. We can reuse the
same mechanism and modify the machine drivers to override the dailinks
prior to registrating the card.

This will require additional work for SOF, but with this helper it'll
be just two lines of additional code per machine driver which is
reused, not the end of the world.

This helper can be simplified when all drivers have transitioned to
the "modern" representation of dailinks.

While these changes are simple and largely mechanical, there is always
a risk. These patches were tested with Asus T100 (rt5640), rt5651,
rt5682, pcm512x, both in SST and SOF cases. Additional tests are
on-going for Chromebook platforms and Broadwell. I figured it was
better to share this patchset earlier to get more feedback.

Note that byt-max98080, byt-rt5640 were not modified since they are
deprecated. bytcht-nocodec and the Skylake/Kabylake machine drivers
changes were not changed since SOF does not support them. There may be
additional changes if and when Skylake/Kabylake are supported by SOF
(largely a firmware authentication issue, not technical difficulty).

Pierre-Louis Bossart (15):
  ASoC: add helper to change platform name for all dailinks
  ASoC: Intel: haswell: platform name fixup support
  ASoC: Intel: broadwell: platform name fixup support
  ASoC: Intel: bdw-rt5677: platform name fixup support
  ASoC: Intel: bytcr_rt5640: platform name fixup support
  ASoC: Intel: bytcr_rt5651: platform name fixup support
  ASoC: Intel: bytcht_da7213: platform name fixup support
  ASoC: Intel: bytcht_es8316: platform name fixup support
  ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support
  ASoC: Intel: cht_bsw_nau8824: platform name fixup support
  ASoC: Intel: cht_bsw_rt5645: platform name fixup support
  ASoC: Intel: cht_bsw_rt5672: platform name fixup support
  ASoC: Intel: bxt_da7219_max98357a: platform name fixup support
  ASoC: Intel: bxt_rt298: platform name fixup support
  ASoC: Intel: glk_rt5682_max98357a: platform name fixup support

 include/sound/soc.h                           | 31 +++++++++++++++++++
 sound/soc/intel/boards/bdw-rt5677.c           | 14 +++++++++
 sound/soc/intel/boards/broadwell.c            | 16 ++++++++++
 sound/soc/intel/boards/bxt_da7219_max98357a.c | 13 ++++++++
 sound/soc/intel/boards/bxt_rt298.c            | 13 ++++++++
 sound/soc/intel/boards/bytcht_da7213.c        |  8 +++++
 sound/soc/intel/boards/bytcht_es8316.c        |  9 ++++++
 sound/soc/intel/boards/bytcr_rt5640.c         |  9 ++++++
 sound/soc/intel/boards/bytcr_rt5651.c         |  9 ++++++
 sound/soc/intel/boards/cht_bsw_max98090_ti.c  | 12 +++++++
 sound/soc/intel/boards/cht_bsw_nau8824.c      | 12 +++++++
 sound/soc/intel/boards/cht_bsw_rt5645.c       |  9 ++++++
 sound/soc/intel/boards/cht_bsw_rt5672.c       |  9 ++++++
 sound/soc/intel/boards/glk_rt5682_max98357a.c | 21 ++++++++++---
 sound/soc/intel/boards/haswell.c              | 15 +++++++++
 15 files changed, 196 insertions(+), 4 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 33+ messages in thread

* [PATCH 01/15] ASoC: add helper to change platform name for all dailinks
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
@ 2019-01-25 20:34 ` Pierre-Louis Bossart
  2019-01-26 17:47   ` Takashi Iwai
  2019-01-28 18:25   ` Applied "ASoC: add helper to change platform name for all dailinks" to the asoc tree Mark Brown
  2019-01-25 20:34 ` [PATCH 02/15] ASoC: Intel: haswell: platform name fixup support Pierre-Louis Bossart
                   ` (13 subsequent siblings)
  14 siblings, 2 replies; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

To reuse the same machine drivers with Atom/SST, Skylake and SOF, we
need to change the default platform_name (or platforms->name in the
"modern" representation).

So far, this override was done with an automatic override, which was
broken by a set of changes for DT platforms related to deferred probe
handling.

This automatic override is actually not really needed, the machine
driver can already receive the platform name as a platform_data
parameter. This is used e.g. for HDaudio support where we have
different PCI aliases used for different platforms. We can reuse the
same mechanism and modify the machine drivers to override the dailinks
prior to registrating the card.

This will require additional work for SOF, but with this helper it'll
be just two lines of additional code per machine driver which is
reused, not the end of the world.

This helper can be simplified when all drivers have transitioned to
the "modern" representation of dailinks.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 include/sound/soc.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 3089257ead95..95689680336b 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1580,6 +1580,37 @@ struct snd_soc_dai *snd_soc_card_get_codec_dai(struct snd_soc_card *card,
 	return NULL;
 }
 
+static inline
+int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
+					  const char *platform_name)
+{
+	struct snd_soc_dai_link *dai_link;
+	const char *name;
+	int i;
+
+	if (!platform_name) /* nothing to do */
+		return 0;
+
+	/* set platform name for each dailink */
+	for_each_card_prelinks(card, i, dai_link) {
+		name = devm_kstrdup(card->dev, platform_name, GFP_KERNEL);
+		if (!name)
+			return -ENOMEM;
+
+		if (dai_link->platforms)
+			/* only single platform is supported for now */
+			dai_link->platforms->name = name;
+		else
+			/*
+			 * legacy mode, this case will be removed when all
+			 * derivers are switched to modern style dai_link.
+			 */
+			dai_link->platform_name = name;
+	}
+
+	return 0;
+}
+
 #ifdef CONFIG_DEBUG_FS
 extern struct dentry *snd_soc_debugfs_root;
 #endif
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 02/15] ASoC: Intel: haswell: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
  2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
@ 2019-01-25 20:34 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: haswell: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:34 ` [PATCH 03/15] ASoC: Intel: broadwell: platform name fixup support Pierre-Louis Bossart
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/haswell.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sound/soc/intel/boards/haswell.c b/sound/soc/intel/boards/haswell.c
index a4022983a7ce..971226d42042 100644
--- a/sound/soc/intel/boards/haswell.c
+++ b/sound/soc/intel/boards/haswell.c
@@ -19,6 +19,7 @@
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/pcm_params.h>
 
 #include "../common/sst-dsp.h"
@@ -189,8 +190,22 @@ static struct snd_soc_card haswell_rt5640 = {
 
 static int haswell_audio_probe(struct platform_device *pdev)
 {
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
+
 	haswell_rt5640.dev = &pdev->dev;
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&haswell_rt5640,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &haswell_rt5640);
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 03/15] ASoC: Intel: broadwell: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
  2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
  2019-01-25 20:34 ` [PATCH 02/15] ASoC: Intel: haswell: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:34 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: broadwell: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:34 ` [PATCH 04/15] ASoC: Intel: bdw-rt5677: platform name fixup support Pierre-Louis Bossart
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/broadwell.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
index 99f2a0156ae8..b86c746d9b7a 100644
--- a/sound/soc/intel/boards/broadwell.c
+++ b/sound/soc/intel/boards/broadwell.c
@@ -21,6 +21,7 @@
 #include <sound/soc.h>
 #include <sound/jack.h>
 #include <sound/pcm_params.h>
+#include <sound/soc-acpi.h>
 
 #include "../common/sst-dsp.h"
 #include "../haswell/sst-haswell-ipc.h"
@@ -267,7 +268,22 @@ static struct snd_soc_card broadwell_rt286 = {
 
 static int broadwell_audio_probe(struct platform_device *pdev)
 {
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
+
 	broadwell_rt286.dev = &pdev->dev;
+
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&broadwell_rt286,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &broadwell_rt286);
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 04/15] ASoC: Intel: bdw-rt5677: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (2 preceding siblings ...)
  2019-01-25 20:34 ` [PATCH 03/15] ASoC: Intel: broadwell: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:34 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bdw-rt5677: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:34 ` [PATCH 05/15] ASoC: Intel: bytcr_rt5640: platform name fixup support Pierre-Louis Bossart
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bdw-rt5677.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c
index efcfd906c856..1844c88ea4e2 100644
--- a/sound/soc/intel/boards/bdw-rt5677.c
+++ b/sound/soc/intel/boards/bdw-rt5677.c
@@ -26,6 +26,7 @@
 #include <sound/soc.h>
 #include <sound/pcm_params.h>
 #include <sound/jack.h>
+#include <sound/soc-acpi.h>
 
 #include "../common/sst-dsp.h"
 #include "../haswell/sst-haswell-ipc.h"
@@ -339,6 +340,9 @@ static struct snd_soc_card bdw_rt5677_card = {
 static int bdw_rt5677_probe(struct platform_device *pdev)
 {
 	struct bdw_rt5677_priv *bdw_rt5677;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
 
 	bdw_rt5677_card.dev = &pdev->dev;
 
@@ -350,6 +354,16 @@ static int bdw_rt5677_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&bdw_rt5677_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	snd_soc_card_set_drvdata(&bdw_rt5677_card, bdw_rt5677);
 
 	return devm_snd_soc_register_card(&pdev->dev, &bdw_rt5677_card);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 05/15] ASoC: Intel: bytcr_rt5640: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (3 preceding siblings ...)
  2019-01-25 20:34 ` [PATCH 04/15] ASoC: Intel: bdw-rt5677: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:34 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bytcr_rt5640: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 06/15] ASoC: Intel: bytcr_rt5651: platform name fixup support Pierre-Louis Bossart
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:34 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bytcr_rt5640.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index ca8b4d5ff70f..f2a5c3aa6648 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1153,6 +1153,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 	const struct dmi_system_id *dmi_id;
 	struct byt_rt5640_private *priv;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	int ret_val = 0;
 	int dai_index = 0;
@@ -1317,6 +1318,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 		 map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
 	byt_rt5640_card.long_name = byt_rt5640_long_name;
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&byt_rt5640_card,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	ret_val = devm_snd_soc_register_card(&pdev->dev, &byt_rt5640_card);
 
 	if (ret_val) {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 06/15] ASoC: Intel: bytcr_rt5651: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (4 preceding siblings ...)
  2019-01-25 20:34 ` [PATCH 05/15] ASoC: Intel: bytcr_rt5640: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-25 20:35 ` [PATCH 07/15] ASoC: Intel: bytcht_da7213: " Pierre-Louis Bossart
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bytcr_rt5651.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index b618d984e2d5..784144cccf83 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -922,6 +922,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 	const char * const mic_name[] = { "dmic", "in1", "in2", "in12" };
 	struct byt_rt5651_private *priv;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	struct device *codec_dev;
 	const char *i2c_name = NULL;
 	const char *hp_swapped;
@@ -1137,6 +1138,14 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 		 mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped);
 	byt_rt5651_card.long_name = byt_rt5651_long_name;
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&byt_rt5651_card,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	ret_val = devm_snd_soc_register_card(&pdev->dev, &byt_rt5651_card);
 
 	if (ret_val) {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 07/15] ASoC: Intel: bytcht_da7213: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (5 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 06/15] ASoC: Intel: bytcr_rt5651: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bytcht_da7213: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 08/15] ASoC: Intel: bytcht_es8316: platform name fixup support Pierre-Louis Bossart
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bytcht_da7213.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sound/soc/intel/boards/bytcht_da7213.c b/sound/soc/intel/boards/bytcht_da7213.c
index 2179dedb28ad..b8e884803777 100644
--- a/sound/soc/intel/boards/bytcht_da7213.c
+++ b/sound/soc/intel/boards/bytcht_da7213.c
@@ -225,6 +225,7 @@ static int bytcht_da7213_probe(struct platform_device *pdev)
 {
 	struct snd_soc_card *card;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	int dai_index = 0;
 	int ret_val = 0;
@@ -250,6 +251,13 @@ static int bytcht_da7213_probe(struct platform_device *pdev)
 		dailink[dai_index].codec_name = codec_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(card, platform_name);
+	if (ret_val)
+		return ret_val;
+
 	ret_val = devm_snd_soc_register_card(&pdev->dev, card);
 	if (ret_val) {
 		dev_err(&pdev->dev,
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 08/15] ASoC: Intel: bytcht_es8316: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (6 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 07/15] ASoC: Intel: bytcht_da7213: " Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bytcht_es8316: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 09/15] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support Pierre-Louis Bossart
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bytcht_es8316.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index fa9c4cf97686..26d8c6ad4d95 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -441,6 +441,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 	struct byt_cht_es8316_private *priv;
 	struct device *dev = &pdev->dev;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	struct device *codec_dev;
 	int dai_index = 0;
@@ -469,6 +470,14 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 		byt_cht_es8316_dais[dai_index].codec_name = codec_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&byt_cht_es8316_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	/* Check for BYTCR or other platform and setup quirks */
 	if (x86_match_cpu(baytrail_cpu_ids) &&
 	    mach->mach_params.acpi_ipc_irq_index == 0) {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 09/15] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (7 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 08/15] ASoC: Intel: bytcht_es8316: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 10/15] ASoC: Intel: cht_bsw_nau8824: platform name fixup support Pierre-Louis Bossart
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/cht_bsw_max98090_ti.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
index 08a5152e635a..3263b0495853 100644
--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
@@ -28,6 +28,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include "../../codecs/max98090.h"
 #include "../atom/sst-atom-controls.h"
@@ -420,6 +421,8 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	int ret_val = 0;
 	struct cht_mc_private *drv;
 	const char *mclk_name;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	int quirks = 0;
 
 	dmi_id = dmi_first_match(cht_max98090_quirk_table);
@@ -442,6 +445,15 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 			dev_dbg(dev, "Unable to add GPIO mapping table\n");
 	}
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	/* register the soc card */
 	snd_soc_card_cht.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 10/15] ASoC: Intel: cht_bsw_nau8824: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (8 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 09/15] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_nau8824: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 11/15] ASoC: Intel: cht_bsw_rt5645: platform name fixup support Pierre-Louis Bossart
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/cht_bsw_nau8824.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_nau8824.c b/sound/soc/intel/boards/cht_bsw_nau8824.c
index 30c46977d53c..02c2fa239331 100644
--- a/sound/soc/intel/boards/cht_bsw_nau8824.c
+++ b/sound/soc/intel/boards/cht_bsw_nau8824.c
@@ -25,6 +25,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include <linux/input.h>
 #include "../atom/sst-atom-controls.h"
@@ -246,6 +247,8 @@ static struct snd_soc_card snd_soc_card_cht = {
 static int snd_cht_mc_probe(struct platform_device *pdev)
 {
 	struct cht_mc_private *drv;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	int ret_val;
 
 	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
@@ -253,6 +256,15 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	/* register the soc card */
 	snd_soc_card_cht.dev = &pdev->dev;
 	ret_val = devm_snd_soc_register_card(&pdev->dev, &snd_soc_card_cht);
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 11/15] ASoC: Intel: cht_bsw_rt5645: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (9 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 10/15] ASoC: Intel: cht_bsw_nau8824: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_rt5645: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 12/15] ASoC: Intel: cht_bsw_rt5672: platform name fixup support Pierre-Louis Bossart
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/cht_bsw_rt5645.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c
index 250a356a0cbf..cbc2d458483f 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5645.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
@@ -530,6 +530,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 {
 	struct snd_soc_card *card = snd_soc_cards[0].soc_card;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	struct cht_mc_private *drv;
 	const char *i2c_name = NULL;
 	bool found = false;
@@ -663,6 +664,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 			cht_rt5645_cpu_dai_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(card,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
 	if (IS_ERR(drv->mclk)) {
 		dev_err(&pdev->dev,
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 12/15] ASoC: Intel: cht_bsw_rt5672: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (10 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 11/15] ASoC: Intel: cht_bsw_rt5645: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_rt5672: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 13/15] ASoC: Intel: bxt_da7219_max98357a: platform name fixup support Pierre-Louis Bossart
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/cht_bsw_rt5672.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c
index 9de64f447e7b..f1c1f9dd5353 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5672.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5672.c
@@ -400,6 +400,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	int ret_val = 0;
 	struct cht_mc_private *drv;
 	struct snd_soc_acpi_mach *mach = pdev->dev.platform_data;
+	const char *platform_name;
 	const char *i2c_name;
 	int i;
 
@@ -426,6 +427,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 		}
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
 	if (IS_ERR(drv->mclk)) {
 		dev_err(&pdev->dev,
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 13/15] ASoC: Intel: bxt_da7219_max98357a: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (11 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 12/15] ASoC: Intel: cht_bsw_rt5672: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bxt_da7219_max98357a: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 14/15] ASoC: Intel: bxt_rt298: platform name fixup support Pierre-Louis Bossart
  2019-01-25 20:35 ` [PATCH 15/15] ASoC: Intel: glk_rt5682_max98357a: platform name fixup support Pierre-Louis Bossart
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bxt_da7219_max98357a.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
index 6f052fc8d1e2..c00925f9da73 100644
--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
@@ -23,6 +23,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include "../../codecs/hdac_hdmi.h"
 #include "../../codecs/da7219.h"
 #include "../../codecs/da7219-aad.h"
@@ -584,6 +585,9 @@ static struct snd_soc_card broxton_audio_card = {
 static int broxton_audio_probe(struct platform_device *pdev)
 {
 	struct bxt_card_private *ctx;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	int ret;
 
 	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
@@ -594,6 +598,15 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	broxton_audio_card.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&broxton_audio_card, ctx);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&broxton_audio_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &broxton_audio_card);
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 14/15] ASoC: Intel: bxt_rt298: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (12 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 13/15] ASoC: Intel: bxt_da7219_max98357a: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: bxt_rt298: platform name fixup support" to the asoc tree Mark Brown
  2019-01-25 20:35 ` [PATCH 15/15] ASoC: Intel: glk_rt5682_max98357a: platform name fixup support Pierre-Louis Bossart
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/bxt_rt298.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c
index 27308337ab12..e91057f83d20 100644
--- a/sound/soc/intel/boards/bxt_rt298.c
+++ b/sound/soc/intel/boards/bxt_rt298.c
@@ -21,6 +21,7 @@
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include <sound/pcm_params.h>
 #include "../../codecs/hdac_hdmi.h"
@@ -576,6 +577,9 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	struct bxt_rt286_private *ctx;
 	struct snd_soc_card *card =
 			(struct snd_soc_card *)pdev->id_entry->driver_data;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	int ret;
 	int i;
 
 	for (i = 0; i < ARRAY_SIZE(broxton_rt298_dais); i++) {
@@ -602,6 +606,15 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	card->dev = &pdev->dev;
 	snd_soc_card_set_drvdata(card, ctx);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, card);
 }
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* [PATCH 15/15] ASoC: Intel: glk_rt5682_max98357a: platform name fixup support
  2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
                   ` (13 preceding siblings ...)
  2019-01-25 20:35 ` [PATCH 14/15] ASoC: Intel: bxt_rt298: platform name fixup support Pierre-Louis Bossart
@ 2019-01-25 20:35 ` Pierre-Louis Bossart
  2019-01-28 18:25   ` Applied "ASoC: Intel: glk_rt5682_max98357a: platform name fixup support" to the asoc tree Mark Brown
  14 siblings, 1 reply; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-25 20:35 UTC (permalink / raw)
  To: alsa-devel; +Cc: tiwai, liam.r.girdwood, vkoul, broonie, Pierre-Louis Bossart

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/intel/boards/glk_rt5682_max98357a.c | 21 +++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c
index f6597c216fa8..d17126f7757c 100644
--- a/sound/soc/intel/boards/glk_rt5682_max98357a.c
+++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c
@@ -16,6 +16,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include "../skylake/skl.h"
 #include "../../codecs/rt5682.h"
 #include "../../codecs/hdac_hdmi.h"
@@ -571,6 +572,10 @@ static struct snd_soc_card glk_audio_card_rt5682_m98357a = {
 static int geminilake_audio_probe(struct platform_device *pdev)
 {
 	struct glk_card_private *ctx;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	struct snd_soc_card *card;
+	int ret;
 
 	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
@@ -578,11 +583,19 @@ static int geminilake_audio_probe(struct platform_device *pdev)
 
 	INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
 
-	glk_audio_card_rt5682_m98357a.dev = &pdev->dev;
-	snd_soc_card_set_drvdata(&glk_audio_card_rt5682_m98357a, ctx);
+	card = &glk_audio_card_rt5682_m98357a;
+	card->dev = &pdev->dev;
+	snd_soc_card_set_drvdata(card, ctx);
+
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(card, platform_name);
+	if (ret)
+		return ret;
 
-	return devm_snd_soc_register_card(&pdev->dev,
-					&glk_audio_card_rt5682_m98357a);
+	return devm_snd_soc_register_card(&pdev->dev, card);
 }
 
 static const struct platform_device_id glk_board_ids[] = {
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Re: [PATCH 01/15] ASoC: add helper to change platform name for all dailinks
  2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
@ 2019-01-26 17:47   ` Takashi Iwai
  2019-01-28 12:19     ` Mark Brown
  2019-01-28 18:25   ` Applied "ASoC: add helper to change platform name for all dailinks" to the asoc tree Mark Brown
  1 sibling, 1 reply; 33+ messages in thread
From: Takashi Iwai @ 2019-01-26 17:47 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: liam.r.girdwood, alsa-devel, broonie, vkoul

On Fri, 25 Jan 2019 21:34:55 +0100,
Pierre-Louis Bossart wrote:
> 
> To reuse the same machine drivers with Atom/SST, Skylake and SOF, we
> need to change the default platform_name (or platforms->name in the
> "modern" representation).
> 
> So far, this override was done with an automatic override, which was
> broken by a set of changes for DT platforms related to deferred probe
> handling.
> 
> This automatic override is actually not really needed, the machine
> driver can already receive the platform name as a platform_data
> parameter. This is used e.g. for HDaudio support where we have
> different PCI aliases used for different platforms. We can reuse the
> same mechanism and modify the machine drivers to override the dailinks
> prior to registrating the card.
> 
> This will require additional work for SOF, but with this helper it'll
> be just two lines of additional code per machine driver which is
> reused, not the end of the world.
> 
> This helper can be simplified when all drivers have transitioned to
> the "modern" representation of dailinks.
> 
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> ---
>  include/sound/soc.h | 31 +++++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/include/sound/soc.h b/include/sound/soc.h
> index 3089257ead95..95689680336b 100644
> --- a/include/sound/soc.h
> +++ b/include/sound/soc.h
> @@ -1580,6 +1580,37 @@ struct snd_soc_dai *snd_soc_card_get_codec_dai(struct snd_soc_card *card,
>  	return NULL;
>  }
>  
> +static inline
> +int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
> +					  const char *platform_name)
> +{
> +	struct snd_soc_dai_link *dai_link;
> +	const char *name;
> +	int i;
> +
> +	if (!platform_name) /* nothing to do */
> +		return 0;
> +
> +	/* set platform name for each dailink */
> +	for_each_card_prelinks(card, i, dai_link) {
> +		name = devm_kstrdup(card->dev, platform_name, GFP_KERNEL);
> +		if (!name)
> +			return -ENOMEM;
> +
> +		if (dai_link->platforms)
> +			/* only single platform is supported for now */
> +			dai_link->platforms->name = name;
> +		else
> +			/*
> +			 * legacy mode, this case will be removed when all
> +			 * derivers are switched to modern style dai_link.
> +			 */
> +			dai_link->platform_name = name;
> +	}
> +
> +	return 0;
> +}

Does it have to be inline?  The function has a significant size, and
it's supposed to be called by every Intel driver.


thanks,

Takashi

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 01/15] ASoC: add helper to change platform name for all dailinks
  2019-01-26 17:47   ` Takashi Iwai
@ 2019-01-28 12:19     ` Mark Brown
  2019-01-28 15:57       ` Pierre-Louis Bossart
  0 siblings, 1 reply; 33+ messages in thread
From: Mark Brown @ 2019-01-28 12:19 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: liam.r.girdwood, vkoul, alsa-devel, Pierre-Louis Bossart


[-- Attachment #1.1: Type: text/plain, Size: 524 bytes --]

On Sat, Jan 26, 2019 at 06:47:57PM +0100, Takashi Iwai wrote:
> Pierre-Louis Bossart wrote:

> > +static inline
> > +int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
> > +					  const char *platform_name)
> > +{

> Does it have to be inline?  The function has a significant size, and
> it's supposed to be called by every Intel driver.

Yeah, if it gets too big the compiler will just ignore you but given
that this isn't exactly in a hot path or anything I can't see any reason
why it should be inline.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 33+ messages in thread

* Re: [PATCH 01/15] ASoC: add helper to change platform name for all dailinks
  2019-01-28 12:19     ` Mark Brown
@ 2019-01-28 15:57       ` Pierre-Louis Bossart
  0 siblings, 0 replies; 33+ messages in thread
From: Pierre-Louis Bossart @ 2019-01-28 15:57 UTC (permalink / raw)
  To: Mark Brown, Takashi Iwai; +Cc: liam.r.girdwood, vkoul, alsa-devel


>>> +static inline
>>> +int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
>>> +					  const char *platform_name)
>>> +{
>> Does it have to be inline?  The function has a significant size, and
>> it's supposed to be called by every Intel driver.
> Yeah, if it gets too big the compiler will just ignore you but given
> that this isn't exactly in a hot path or anything I can't see any reason
> why it should be inline.
Sure, I can fix this, no worries.

^ permalink raw reply	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: glk_rt5682_max98357a: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 15/15] ASoC: Intel: glk_rt5682_max98357a: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: glk_rt5682_max98357a: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 5b14aa718f5993b0ecee3bbd61557468ac2420bf Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:09 -0600
Subject: [PATCH] ASoC: Intel: glk_rt5682_max98357a: platform name fixup
 support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/glk_rt5682_max98357a.c | 21 +++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c
index f6597c216fa8..d17126f7757c 100644
--- a/sound/soc/intel/boards/glk_rt5682_max98357a.c
+++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c
@@ -16,6 +16,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include "../skylake/skl.h"
 #include "../../codecs/rt5682.h"
 #include "../../codecs/hdac_hdmi.h"
@@ -571,6 +572,10 @@ static struct snd_soc_card glk_audio_card_rt5682_m98357a = {
 static int geminilake_audio_probe(struct platform_device *pdev)
 {
 	struct glk_card_private *ctx;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	struct snd_soc_card *card;
+	int ret;
 
 	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
@@ -578,11 +583,19 @@ static int geminilake_audio_probe(struct platform_device *pdev)
 
 	INIT_LIST_HEAD(&ctx->hdmi_pcm_list);
 
-	glk_audio_card_rt5682_m98357a.dev = &pdev->dev;
-	snd_soc_card_set_drvdata(&glk_audio_card_rt5682_m98357a, ctx);
+	card = &glk_audio_card_rt5682_m98357a;
+	card->dev = &pdev->dev;
+	snd_soc_card_set_drvdata(card, ctx);
+
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(card, platform_name);
+	if (ret)
+		return ret;
 
-	return devm_snd_soc_register_card(&pdev->dev,
-					&glk_audio_card_rt5682_m98357a);
+	return devm_snd_soc_register_card(&pdev->dev, card);
 }
 
 static const struct platform_device_id glk_board_ids[] = {
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bxt_rt298: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 14/15] ASoC: Intel: bxt_rt298: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bxt_rt298: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From fbe2c2736e295bf866110c9278504c42498318c5 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:08 -0600
Subject: [PATCH] ASoC: Intel: bxt_rt298: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bxt_rt298.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c
index 27308337ab12..e91057f83d20 100644
--- a/sound/soc/intel/boards/bxt_rt298.c
+++ b/sound/soc/intel/boards/bxt_rt298.c
@@ -21,6 +21,7 @@
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include <sound/pcm_params.h>
 #include "../../codecs/hdac_hdmi.h"
@@ -576,6 +577,9 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	struct bxt_rt286_private *ctx;
 	struct snd_soc_card *card =
 			(struct snd_soc_card *)pdev->id_entry->driver_data;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	int ret;
 	int i;
 
 	for (i = 0; i < ARRAY_SIZE(broxton_rt298_dais); i++) {
@@ -602,6 +606,15 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	card->dev = &pdev->dev;
 	snd_soc_card_set_drvdata(card, ctx);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, card);
 }
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bxt_da7219_max98357a: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 13/15] ASoC: Intel: bxt_da7219_max98357a: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bxt_da7219_max98357a: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 7ebf2528eacae2a9c1edff575c3c58b75095ce08 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:07 -0600
Subject: [PATCH] ASoC: Intel: bxt_da7219_max98357a: platform name fixup
 support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bxt_da7219_max98357a.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
index 6f052fc8d1e2..c00925f9da73 100644
--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
@@ -23,6 +23,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include "../../codecs/hdac_hdmi.h"
 #include "../../codecs/da7219.h"
 #include "../../codecs/da7219-aad.h"
@@ -584,6 +585,9 @@ static struct snd_soc_card broxton_audio_card = {
 static int broxton_audio_probe(struct platform_device *pdev)
 {
 	struct bxt_card_private *ctx;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
+	int ret;
 
 	ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
@@ -594,6 +598,15 @@ static int broxton_audio_probe(struct platform_device *pdev)
 	broxton_audio_card.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&broxton_audio_card, ctx);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&broxton_audio_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &broxton_audio_card);
 }
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: cht_bsw_rt5672: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 12/15] ASoC: Intel: cht_bsw_rt5672: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: cht_bsw_rt5672: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From f403906da05cdea38c222ef472fdc4df29ece47f Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:06 -0600
Subject: [PATCH] ASoC: Intel: cht_bsw_rt5672: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/cht_bsw_rt5672.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c
index 9de64f447e7b..f1c1f9dd5353 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5672.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5672.c
@@ -400,6 +400,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	int ret_val = 0;
 	struct cht_mc_private *drv;
 	struct snd_soc_acpi_mach *mach = pdev->dev.platform_data;
+	const char *platform_name;
 	const char *i2c_name;
 	int i;
 
@@ -426,6 +427,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 		}
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
 	if (IS_ERR(drv->mclk)) {
 		dev_err(&pdev->dev,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: cht_bsw_rt5645: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 11/15] ASoC: Intel: cht_bsw_rt5645: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: cht_bsw_rt5645: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 3a934e7c75b446a104bdea3dd676d7199db9a7bd Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:05 -0600
Subject: [PATCH] ASoC: Intel: cht_bsw_rt5645: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/cht_bsw_rt5645.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c
index 250a356a0cbf..cbc2d458483f 100644
--- a/sound/soc/intel/boards/cht_bsw_rt5645.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
@@ -530,6 +530,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 {
 	struct snd_soc_card *card = snd_soc_cards[0].soc_card;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	struct cht_mc_private *drv;
 	const char *i2c_name = NULL;
 	bool found = false;
@@ -663,6 +664,14 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 			cht_rt5645_cpu_dai_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(card,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
 	if (IS_ERR(drv->mclk)) {
 		dev_err(&pdev->dev,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: cht_bsw_nau8824: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 10/15] ASoC: Intel: cht_bsw_nau8824: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: cht_bsw_nau8824: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 4506db8043341f2351e03d45c0e96c8e1a141dfa Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:04 -0600
Subject: [PATCH] ASoC: Intel: cht_bsw_nau8824: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/cht_bsw_nau8824.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_nau8824.c b/sound/soc/intel/boards/cht_bsw_nau8824.c
index 30c46977d53c..02c2fa239331 100644
--- a/sound/soc/intel/boards/cht_bsw_nau8824.c
+++ b/sound/soc/intel/boards/cht_bsw_nau8824.c
@@ -25,6 +25,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include <linux/input.h>
 #include "../atom/sst-atom-controls.h"
@@ -246,6 +247,8 @@ static struct snd_soc_card snd_soc_card_cht = {
 static int snd_cht_mc_probe(struct platform_device *pdev)
 {
 	struct cht_mc_private *drv;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	int ret_val;
 
 	drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL);
@@ -253,6 +256,15 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	/* register the soc card */
 	snd_soc_card_cht.dev = &pdev->dev;
 	ret_val = devm_snd_soc_register_card(&pdev->dev, &snd_soc_card_cht);
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 09/15] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 7e7e24d7c7ff0e85956288915aaa7e682e2ccd55 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:03 -0600
Subject: [PATCH] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/cht_bsw_max98090_ti.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
index 08a5152e635a..3263b0495853 100644
--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
@@ -28,6 +28,7 @@
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include "../../codecs/max98090.h"
 #include "../atom/sst-atom-controls.h"
@@ -420,6 +421,8 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 	int ret_val = 0;
 	struct cht_mc_private *drv;
 	const char *mclk_name;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	int quirks = 0;
 
 	dmi_id = dmi_first_match(cht_max98090_quirk_table);
@@ -442,6 +445,15 @@ static int snd_cht_mc_probe(struct platform_device *pdev)
 			dev_dbg(dev, "Unable to add GPIO mapping table\n");
 	}
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cht,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	/* register the soc card */
 	snd_soc_card_cht.dev = &pdev->dev;
 	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bytcht_es8316: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 08/15] ASoC: Intel: bytcht_es8316: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bytcht_es8316: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From e4bc6b1195f64d345646709c4a65edf1fc4d3228 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:02 -0600
Subject: [PATCH] ASoC: Intel: bytcht_es8316: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bytcht_es8316.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index 1364e4e601d8..d2a7e6ba11ae 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -441,6 +441,7 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 	struct byt_cht_es8316_private *priv;
 	struct device *dev = &pdev->dev;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	struct device *codec_dev;
 	int dai_index = 0;
@@ -469,6 +470,14 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 		byt_cht_es8316_dais[dai_index].codec_name = codec_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&byt_cht_es8316_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	/* Check for BYTCR or other platform and setup quirks */
 	if (x86_match_cpu(baytrail_cpu_ids) &&
 	    mach->mach_params.acpi_ipc_irq_index == 0) {
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bytcht_da7213: platform name fixup support" to the asoc tree
  2019-01-25 20:35 ` [PATCH 07/15] ASoC: Intel: bytcht_da7213: " Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bytcht_da7213: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 686338c12a2bd2d27f8444901fb9ce1a4c0c0b58 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:35:01 -0600
Subject: [PATCH] ASoC: Intel: bytcht_da7213: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bytcht_da7213.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/sound/soc/intel/boards/bytcht_da7213.c b/sound/soc/intel/boards/bytcht_da7213.c
index 2179dedb28ad..b8e884803777 100644
--- a/sound/soc/intel/boards/bytcht_da7213.c
+++ b/sound/soc/intel/boards/bytcht_da7213.c
@@ -225,6 +225,7 @@ static int bytcht_da7213_probe(struct platform_device *pdev)
 {
 	struct snd_soc_card *card;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	int dai_index = 0;
 	int ret_val = 0;
@@ -250,6 +251,13 @@ static int bytcht_da7213_probe(struct platform_device *pdev)
 		dailink[dai_index].codec_name = codec_name;
 	}
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(card, platform_name);
+	if (ret_val)
+		return ret_val;
+
 	ret_val = devm_snd_soc_register_card(&pdev->dev, card);
 	if (ret_val) {
 		dev_err(&pdev->dev,
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bytcr_rt5640: platform name fixup support" to the asoc tree
  2019-01-25 20:34 ` [PATCH 05/15] ASoC: Intel: bytcr_rt5640: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bytcr_rt5640: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From bd7661b761bc7f585aad4fc6e5b62d684bdad75b Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:34:59 -0600
Subject: [PATCH] ASoC: Intel: bytcr_rt5640: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bytcr_rt5640.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index a79466c8fb29..940eb27158da 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1153,6 +1153,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 	const struct dmi_system_id *dmi_id;
 	struct byt_rt5640_private *priv;
 	struct snd_soc_acpi_mach *mach;
+	const char *platform_name;
 	const char *i2c_name = NULL;
 	int ret_val = 0;
 	int dai_index = 0;
@@ -1317,6 +1318,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 		 map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
 	byt_rt5640_card.long_name = byt_rt5640_long_name;
 
+	/* override plaform name, if required */
+	platform_name = mach->mach_params.platform;
+
+	ret_val = snd_soc_fixup_dai_links_platform_name(&byt_rt5640_card,
+							platform_name);
+	if (ret_val)
+		return ret_val;
+
 	ret_val = devm_snd_soc_register_card(&pdev->dev, &byt_rt5640_card);
 
 	if (ret_val) {
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: bdw-rt5677: platform name fixup support" to the asoc tree
  2019-01-25 20:34 ` [PATCH 04/15] ASoC: Intel: bdw-rt5677: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: bdw-rt5677: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 7e40ddcf974a970e750420f88365174cfd207b24 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:34:58 -0600
Subject: [PATCH] ASoC: Intel: bdw-rt5677: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/bdw-rt5677.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c
index efcfd906c856..1844c88ea4e2 100644
--- a/sound/soc/intel/boards/bdw-rt5677.c
+++ b/sound/soc/intel/boards/bdw-rt5677.c
@@ -26,6 +26,7 @@
 #include <sound/soc.h>
 #include <sound/pcm_params.h>
 #include <sound/jack.h>
+#include <sound/soc-acpi.h>
 
 #include "../common/sst-dsp.h"
 #include "../haswell/sst-haswell-ipc.h"
@@ -339,6 +340,9 @@ static struct snd_soc_card bdw_rt5677_card = {
 static int bdw_rt5677_probe(struct platform_device *pdev)
 {
 	struct bdw_rt5677_priv *bdw_rt5677;
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
 
 	bdw_rt5677_card.dev = &pdev->dev;
 
@@ -350,6 +354,16 @@ static int bdw_rt5677_probe(struct platform_device *pdev)
 		return -ENOMEM;
 	}
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&bdw_rt5677_card,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	snd_soc_card_set_drvdata(&bdw_rt5677_card, bdw_rt5677);
 
 	return devm_snd_soc_register_card(&pdev->dev, &bdw_rt5677_card);
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: broadwell: platform name fixup support" to the asoc tree
  2019-01-25 20:34 ` [PATCH 03/15] ASoC: Intel: broadwell: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: broadwell: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From 2d067b2807f9d3381a37acef1b2f43682a868c7a Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:34:57 -0600
Subject: [PATCH] ASoC: Intel: broadwell: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/broadwell.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
index 99f2a0156ae8..b86c746d9b7a 100644
--- a/sound/soc/intel/boards/broadwell.c
+++ b/sound/soc/intel/boards/broadwell.c
@@ -21,6 +21,7 @@
 #include <sound/soc.h>
 #include <sound/jack.h>
 #include <sound/pcm_params.h>
+#include <sound/soc-acpi.h>
 
 #include "../common/sst-dsp.h"
 #include "../haswell/sst-haswell-ipc.h"
@@ -267,7 +268,22 @@ static struct snd_soc_card broadwell_rt286 = {
 
 static int broadwell_audio_probe(struct platform_device *pdev)
 {
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
+
 	broadwell_rt286.dev = &pdev->dev;
+
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&broadwell_rt286,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &broadwell_rt286);
 }
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: Intel: haswell: platform name fixup support" to the asoc tree
  2019-01-25 20:34 ` [PATCH 02/15] ASoC: Intel: haswell: platform name fixup support Pierre-Louis Bossart
@ 2019-01-28 18:25   ` Mark Brown
  0 siblings, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: Intel: haswell: platform name fixup support

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From e87055d732e34d8f5fa95da686958b30a03da5b4 Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:34:56 -0600
Subject: [PATCH] ASoC: Intel: haswell: platform name fixup support

Add helper to override dailink platform name, if passed as parameter

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/haswell.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/sound/soc/intel/boards/haswell.c b/sound/soc/intel/boards/haswell.c
index a4022983a7ce..971226d42042 100644
--- a/sound/soc/intel/boards/haswell.c
+++ b/sound/soc/intel/boards/haswell.c
@@ -19,6 +19,7 @@
 #include <sound/core.h>
 #include <sound/pcm.h>
 #include <sound/soc.h>
+#include <sound/soc-acpi.h>
 #include <sound/pcm_params.h>
 
 #include "../common/sst-dsp.h"
@@ -189,8 +190,22 @@ static struct snd_soc_card haswell_rt5640 = {
 
 static int haswell_audio_probe(struct platform_device *pdev)
 {
+	struct snd_soc_acpi_mach *mach;
+	const char *platform_name = NULL;
+	int ret;
+
 	haswell_rt5640.dev = &pdev->dev;
 
+	/* override plaform name, if required */
+	mach = (&pdev->dev)->platform_data;
+	if (mach) /* extra check since legacy does not pass parameters */
+		platform_name = mach->mach_params.platform;
+
+	ret = snd_soc_fixup_dai_links_platform_name(&haswell_rt5640,
+						    platform_name);
+	if (ret)
+		return ret;
+
 	return devm_snd_soc_register_card(&pdev->dev, &haswell_rt5640);
 }
 
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

* Applied "ASoC: add helper to change platform name for all dailinks" to the asoc tree
  2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
  2019-01-26 17:47   ` Takashi Iwai
@ 2019-01-28 18:25   ` Mark Brown
  1 sibling, 0 replies; 33+ messages in thread
From: Mark Brown @ 2019-01-28 18:25 UTC (permalink / raw)
  To: Pierre-Louis Bossart; +Cc: tiwai, liam.r.girdwood, alsa-devel, broonie, vkoul

The patch

   ASoC: add helper to change platform name for all dailinks

has been applied to the asoc tree at

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

>From cb50358b83846e4dcb37137c431327c4dd68561b Mon Sep 17 00:00:00 2001
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Date: Fri, 25 Jan 2019 14:34:55 -0600
Subject: [PATCH] ASoC: add helper to change platform name for all dailinks

To reuse the same machine drivers with Atom/SST, Skylake and SOF, we
need to change the default platform_name (or platforms->name in the
"modern" representation).

So far, this override was done with an automatic override, which was
broken by a set of changes for DT platforms related to deferred probe
handling.

This automatic override is actually not really needed, the machine
driver can already receive the platform name as a platform_data
parameter. This is used e.g. for HDaudio support where we have
different PCI aliases used for different platforms. We can reuse the
same mechanism and modify the machine drivers to override the dailinks
prior to registrating the card.

This will require additional work for SOF, but with this helper it'll
be just two lines of additional code per machine driver which is
reused, not the end of the world.

This helper can be simplified when all drivers have transitioned to
the "modern" representation of dailinks.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 include/sound/soc.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/include/sound/soc.h b/include/sound/soc.h
index 3089257ead95..95689680336b 100644
--- a/include/sound/soc.h
+++ b/include/sound/soc.h
@@ -1580,6 +1580,37 @@ struct snd_soc_dai *snd_soc_card_get_codec_dai(struct snd_soc_card *card,
 	return NULL;
 }
 
+static inline
+int snd_soc_fixup_dai_links_platform_name(struct snd_soc_card *card,
+					  const char *platform_name)
+{
+	struct snd_soc_dai_link *dai_link;
+	const char *name;
+	int i;
+
+	if (!platform_name) /* nothing to do */
+		return 0;
+
+	/* set platform name for each dailink */
+	for_each_card_prelinks(card, i, dai_link) {
+		name = devm_kstrdup(card->dev, platform_name, GFP_KERNEL);
+		if (!name)
+			return -ENOMEM;
+
+		if (dai_link->platforms)
+			/* only single platform is supported for now */
+			dai_link->platforms->name = name;
+		else
+			/*
+			 * legacy mode, this case will be removed when all
+			 * derivers are switched to modern style dai_link.
+			 */
+			dai_link->platform_name = name;
+	}
+
+	return 0;
+}
+
 #ifdef CONFIG_DEBUG_FS
 extern struct dentry *snd_soc_debugfs_root;
 #endif
-- 
2.20.1

^ permalink raw reply related	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2019-01-28 18:25 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-25 20:34 [PATCH 00/15] ASoC: Intel: pass platform name to machine drivers Pierre-Louis Bossart
2019-01-25 20:34 ` [PATCH 01/15] ASoC: add helper to change platform name for all dailinks Pierre-Louis Bossart
2019-01-26 17:47   ` Takashi Iwai
2019-01-28 12:19     ` Mark Brown
2019-01-28 15:57       ` Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: add helper to change platform name for all dailinks" to the asoc tree Mark Brown
2019-01-25 20:34 ` [PATCH 02/15] ASoC: Intel: haswell: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: haswell: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:34 ` [PATCH 03/15] ASoC: Intel: broadwell: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: broadwell: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:34 ` [PATCH 04/15] ASoC: Intel: bdw-rt5677: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bdw-rt5677: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:34 ` [PATCH 05/15] ASoC: Intel: bytcr_rt5640: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bytcr_rt5640: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 06/15] ASoC: Intel: bytcr_rt5651: platform name fixup support Pierre-Louis Bossart
2019-01-25 20:35 ` [PATCH 07/15] ASoC: Intel: bytcht_da7213: " Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bytcht_da7213: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 08/15] ASoC: Intel: bytcht_es8316: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bytcht_es8316: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 09/15] ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_max98090_ti: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 10/15] ASoC: Intel: cht_bsw_nau8824: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_nau8824: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 11/15] ASoC: Intel: cht_bsw_rt5645: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_rt5645: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 12/15] ASoC: Intel: cht_bsw_rt5672: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: cht_bsw_rt5672: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 13/15] ASoC: Intel: bxt_da7219_max98357a: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bxt_da7219_max98357a: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 14/15] ASoC: Intel: bxt_rt298: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: bxt_rt298: platform name fixup support" to the asoc tree Mark Brown
2019-01-25 20:35 ` [PATCH 15/15] ASoC: Intel: glk_rt5682_max98357a: platform name fixup support Pierre-Louis Bossart
2019-01-28 18:25   ` Applied "ASoC: Intel: glk_rt5682_max98357a: platform name fixup support" to the asoc tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.