Alsa-Devel Archive on lore.kernel.org
 help / color / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: tiwai@suse.de, broonie@kernel.org,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Subject: [alsa-devel] [PATCH v2 03/13] ASoC: Intel - do not describe I/O configuration in the long card name
Date: Wed,  4 Dec 2019 15:15:46 -0600
Message-ID: <20191204211556.12671-4-pierre-louis.bossart@linux.intel.com> (raw)
In-Reply-To: <20191204211556.12671-1-pierre-louis.bossart@linux.intel.com>

From: Jaroslav Kysela <perex@perex.cz>

The long card name might be used in GUI. This information should be hidden.

Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/Kconfig         | 13 +++++++++++++
 sound/soc/intel/boards/bytcht_es8316.c |  4 ++++
 sound/soc/intel/boards/bytcr_rt5640.c  |  4 ++++
 sound/soc/intel/boards/bytcr_rt5651.c  |  4 ++++
 4 files changed, 25 insertions(+)

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index ef20316e83d1..145eb55bd691 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH
 
 if SND_SOC_INTEL_MACH
 
+config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES
+	bool "Use more user friendly long card names"
+	help
+	  Some drivers report the I/O configuration to userspace through the
+	  soundcard's long card name in the control user space AP. An unfortunate
+	  side effect is that this long name may also be used by the GUI,
+	  confusing users with information they don't need.
+	  This option prevents the long name from being modified, and the I/O
+	  configuration will be provided through a different component interface.
+	  Select Y if userspace like UCM (Use Case Manager) uses the component
+	  interface.
+	  If unsure select N.
+
 if SND_SOC_INTEL_HASWELL
 
 config SND_SOC_INTEL_HASWELL_MACH
diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c
index efa33f30dcac..12a1c5255484 100644
--- a/sound/soc/intel/boards/bytcht_es8316.c
+++ b/sound/soc/intel/boards/bytcht_es8316.c
@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
 
 /* SoC card */
 static char codec_name[SND_ACPI_I2C_ID_LEN];
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */
+#endif
 static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */
 
 static int byt_cht_es8316_suspend(struct snd_soc_card *card)
@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev)
 		 (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2",
 		 mic_name[BYT_CHT_ES8316_MAP(quirk)]);
 	byt_cht_es8316_card.components = components_string;
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 	snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic",
 		 (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo",
 		 mic_name[BYT_CHT_ES8316_MAP(quirk)]);
 	byt_cht_es8316_card.long_name = long_name;
+#endif
 
 	/* register the soc card */
 	snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv);
diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
index 7bc6d3cec94c..648fcc1d07b5 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
 static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN];
 static char byt_rt5640_codec_aif_name[12]; /*  = "rt5640-aif[1|2]" */
 static char byt_rt5640_cpu_dai_name[10]; /*  = "ssp[0|2]-port" */
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */
+#endif
 static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */
 
 static int byt_rt5640_suspend(struct snd_soc_card *card)
@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
 		 (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2",
 		 map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
 	byt_rt5640_card.components = byt_rt5640_components;
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 	snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name),
 		 "bytcr-rt5640-%s-spk-%s-mic",
 		 (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ?
 			"mono" : "stereo",
 		 map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]);
 	byt_rt5640_card.long_name = byt_rt5640_long_name;
+#endif
 
 	/* override plaform name, if required */
 	platform_name = mach->mach_params.platform;
diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
index 80a5674ddb1b..c0d322a859f7 100644
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
 static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN];
 static char byt_rt5651_codec_aif_name[12]; /*  = "rt5651-aif[1|2]" */
 static char byt_rt5651_cpu_dai_name[10]; /*  = "ssp[0|2]-port" */
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */
+#endif
 static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */
 
 static int byt_rt5651_suspend(struct snd_soc_card *card)
@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 		 (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
 			" cfg-hp:lrswap" : "");
 	byt_rt5651_card.components = byt_rt5651_components;
+#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES)
 	snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name),
 		 "bytcr-rt5651-%s-spk-%s-mic%s",
 		 (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ?
@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev)
 		 (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ?
 			"-hp-swapped" : "");
 	byt_rt5651_card.long_name = byt_rt5651_long_name;
+#endif
 
 	/* override plaform name, if required */
 	platform_name = mach->mach_params.platform;
-- 
2.20.1

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  parent reply index

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04 21:15 [alsa-devel] [PATCH v2 00/13] ASoC: SOF: initial cleanup for DT and multi-client support Pierre-Louis Bossart
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 01/13] ASoC: intel/skl/hda - export number of digital microphones via control components Pierre-Louis Bossart
2019-12-09 18:59   ` [alsa-devel] Applied "ASoC: intel/skl/hda - export number of digital microphones via control components" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 02/13] ASoC: Intel - use control components to describe card config Pierre-Louis Bossart
2019-12-09 18:59   ` [alsa-devel] Applied "ASoC: Intel - use control components to describe card config" to the asoc tree Mark Brown
2019-12-04 21:15 ` Pierre-Louis Bossart [this message]
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: Intel - do not describe I/O configuration in the long card name" " Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 04/13] ASoC: SOF: topology: remove snd_sof_init_topology() Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: topology: remove snd_sof_init_topology()" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 05/13] ASoC: SOF: core: modify the signature for snd_sof_create_page_table Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: core: modify the signature for snd_sof_create_page_table" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 06/13] ASoC: SOF: core: move check for runtime callbacks to core Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: core: move check for runtime callbacks to core" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 07/13] ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: Introduce default_fw_filename member in sof_dev_desc" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 08/13] ASoC: SOF: partition audio-related parts from SOF core Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: partition audio-related parts from SOF core" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 09/13] ASoC: SOF: intel: hda: Modify signature for hda_codec_probe_bus() Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: intel: hda: Modify signature for hda_codec_probe_bus()" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 10/13] ASoC: SOF: Make creation of machine device from SOF core optional Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: Make creation of machine device from SOF core optional" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 11/13] ASoC: SOF: remove nocodec_fw_filename Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: remove nocodec_fw_filename" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 12/13] ASoC: SOF: Remove unused drv_name in sof_pdata Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: Remove unused drv_name in sof_pdata" to the asoc tree Mark Brown
2019-12-04 21:15 ` [alsa-devel] [PATCH v2 13/13] ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup() Pierre-Louis Bossart
2019-12-09 18:58   ` [alsa-devel] Applied "ASoC: SOF: nocodec: Amend arguments for sof_nocodec_setup()" to the asoc tree Mark Brown

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191204211556.12671-4-pierre-louis.bossart@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Alsa-Devel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/alsa-devel/0 alsa-devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 alsa-devel alsa-devel/ https://lore.kernel.org/alsa-devel \
		alsa-devel@alsa-project.org
	public-inbox-index alsa-devel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.alsa-project.alsa-devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git