]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ASoC: core: use component driver name as component name
authorTzung-Bi Shih <tzungbi@google.com>
Wed, 29 May 2019 06:22:14 +0000 (14:22 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 29 May 2019 15:37:46 +0000 (16:37 +0100)
fmt_single_name() uses device name to determine component name.  If
multiple components bind to the same device, the debugfs creation in
soc_init_component_debugfs() would fail due to duplicated entity
names.

Name provided by component driver is unique enough to represent each
component.  Use component driver name as the component name to avoid
name duplication.

Signed-off-by: Tzung-Bi Shih <tzungbi@google.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-core.c

index ce8c057bcd5b5e7fe0f5a36ea20d42cc94cfd8d5..5f83e2f198011174adcf5930a2026ed421a0fb30 100644 (file)
@@ -3106,7 +3106,10 @@ static int snd_soc_component_initialize(struct snd_soc_component *component,
 {
        struct snd_soc_dapm_context *dapm;
 
-       component->name = fmt_single_name(dev, &component->id);
+       if (driver->name)
+               component->name = kstrdup(driver->name, GFP_KERNEL);
+       else
+               component->name = fmt_single_name(dev, &component->id);
        if (!component->name) {
                dev_err(dev, "ASoC: Failed to allocate name\n");
                return -ENOMEM;