From: Mengdong Lin mengdong.lin@linux.intel.com
This series is based on Liam's idea to use DMI name as the sound card short name in the audio workshop. Now we add DMI info to the card long name: - Not change the card short name, keep it simple. So the card ID won't change as well. - Use DMI name to make the card long name.
Machine drivers can use a new API to get this feature.
In user space, when the sound server ask UCM to open a sound card, UCM will try to find the best machine-specific configuration file based on the card long name, and only if not avaiable, fallback to the default configuration file that matches the card short name.
Please see patch: ucm: Automatically load the best config file based on the card long name
History: v1 from RFC: Give up using a table to map DMI info to a simple string, since we cannot maintain such a table for each machine. Just do verbatim copy of DMI info and let user space decide how to use the DMI info in card long name to find the best UCM config file.
If device driver adds a flavor string, just append it after the DMI info fields to the card long name.
v2: Exclude card name and only keep DMI name in the long name, to save the space since the long name cannot exceed 80 characters. Trim special characters like SPACE in the long name, because UCM configuration files & directories may use the same long name and Autoconf cannot handle special characters.
v3: Also include DMI product version in the long name, since vendors like Lenovo may only put self-explanatory name in this field.
v4: Use "-" as the separator between DMI names in the card long name, and replace "-" in the original DMI names with "_".
Liam Girdwood (1): ASoC: core: Add API to use DMI name in sound card long name
Mengdong Lin (1): ASoC: Intel: Use DMI name for sound card long name in Broadwell machine driver
include/sound/soc.h | 4 ++ sound/soc/intel/boards/broadwell.c | 2 + sound/soc/soc-core.c | 134 +++++++++++++++++++++++++++++++++++++ 3 files changed, 140 insertions(+)