[v2,3/3] ASoC: Intel - do not describe I/O configuration in the long card name
diff mbox series

Message ID 20191120072821.6648-3-perex@perex.cz
State New
Headers show
Series
  • [v2,1/3] ASoC: add control components management
Related show

Commit Message

Jaroslav Kysela Nov. 20, 2019, 7:28 a.m. UTC
The long card name might be used in GUI. This information should be hidden.

Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_NAMES configuration option.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Cc: Mark Brown <broonie@kernel.org>
---
 sound/soc/intel/boards/Kconfig         | 9 +++++++++
 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, 21 insertions(+)

Comments

Pierre-Louis Bossart Nov. 20, 2019, 4:08 p.m. UTC | #1
> +config SND_SOC_INTEL_USER_FRIENDLY_NAMES

LONGNAMES?

> +	bool "Use more user friendly long card names"
> +	help
> +	  Some drivers might pass the I/O configuration through the
> +	  soundcard's driver name in the control user space API. It may
> +	  be used in GUI. If you do not like this and the user space
> +	  does not depend on this (like UCM - Use Case Manager),
> +	  then select "Y".

Sorry for being picky here, but I find the wording confusing with two 
negatives resulting in a Y.

maybe

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.
Jaroslav Kysela Nov. 20, 2019, 5:55 p.m. UTC | #2
Dne 20. 11. 19 v 17:08 Pierre-Louis Bossart napsal(a):
> 
>> +config SND_SOC_INTEL_USER_FRIENDLY_NAMES
> 
> LONGNAMES?
> 
>> +	bool "Use more user friendly long card names"
>> +	help
>> +	  Some drivers might pass the I/O configuration through the
>> +	  soundcard's driver name in the control user space API. It may
>> +	  be used in GUI. If you do not like this and the user space
>> +	  does not depend on this (like UCM - Use Case Manager),
>> +	  then select "Y".
> 
> Sorry for being picky here, but I find the wording confusing with two
> negatives resulting in a Y.
> 
> maybe
> 
> 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.


Thanks, I used your text. The v3 patches are sent without the first one which 
is already merged to the Mark's tree.

					Thanks for review,
							Jaroslav

Patch
diff mbox series

diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig
index 2702aefee775..51a3929cf3ac 100644
--- a/sound/soc/intel/boards/Kconfig
+++ b/sound/soc/intel/boards/Kconfig
@@ -13,6 +13,15 @@  menuconfig SND_SOC_INTEL_MACH
 
 if SND_SOC_INTEL_MACH
 
+config SND_SOC_INTEL_USER_FRIENDLY_NAMES
+	bool "Use more user friendly long card names"
+	help
+	  Some drivers might pass the I/O configuration through the
+	  soundcard's driver name in the control user space API. It may
+	  be used in GUI. If you do not like this and the user space
+	  does not depend on this (like UCM - Use Case Manager),
+	  then select "Y".
+
 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 4090550f0fe1..8d4aa206766c 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_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_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 0170d31e691a..5959ebb4e4eb 100644
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -1080,7 +1080,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_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)
@@ -1309,12 +1311,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_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..9151246efead 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_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_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;