[alsa-devel] [PATCH] ASoC: snd_soc_set_dmi_name will use DMI_SYS_VENDOR if available

Pierre-Louis Bossart pierre-louis.bossart at linux.intel.com
Fri Apr 28 18:40:16 CEST 2017


On 4/28/17 11:19 AM, mengdong.lin at linux.intel.com wrote:
> From: Mengdong Lin <mengdong.lin at linux.intel.com>
>
> This fix is based on Daniel Drake's suggestion: most x86 machines have a
> meaningfull DMI_SYS_VENDOR rather than DMI_BOARD_VENDOR.
>
> So snd_soc_set_dmi_name will try to get vendor name from DMI_SYS_VENDOR
> at first, and if that's null, then use DMI_BOARD_VENDOR.
>
> Signed-off-by: Mengdong Lin <mengdong.lin at linux.intel.com>
>
> diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
> index 525f2f3..45f0a34 100644
> --- a/sound/soc/soc-core.c
> +++ b/sound/soc/soc-core.c
> @@ -1974,7 +1974,9 @@ int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour)
>  		return 0; /* long name already set by driver or from DMI */
>
>  	/* make up dmi long name as: vendor.product.version.board */
> -	vendor = dmi_get_system_info(DMI_BOARD_VENDOR);
> +	vendor = dmi_get_system_info(DMI_SYS_VENDOR);
> +	if (!vendor)
> +		vendor = dmi_get_system_info(DMI_BOARD_VENDOR);

We should also test all of vendor.product.version.board fields for "(To 
be filled by OEM)" and "Default String" and limit each field to 20 
characters if you want to stick with 80 total (or a smarter rule that 
does not truncate a field if there was room saved by the others)

>  	if (!vendor) {
>  		dev_warn(card->dev, "ASoC: no DMI vendor name!\n");
>  		return 0;
>



More information about the Alsa-devel mailing list