Unverified Commit cc4d8ceb authored by Jerome Brunet's avatar Jerome Brunet Committed by Mark Brown
Browse files

ASoC: soc-component: don't report of_xlate_dai_name failures



With commit e2329eeb ("ASoC: soc-component: add soc_component_err()")
every error different for ENOTSUPP or EPROBE_DEFER will log an error.

However, as explained in snd_soc_get_dai_name(), this callback may error
to indicate that the DAI is not matched by the component tested. If the
device provides other components, those may still match. Logging an error
in this case is misleading.

Don't use soc_component_ret() in snd_soc_component_of_xlate_dai_name()
to avoid spamming the log.

Fixes: e2329eeb ("ASoC: soc-component: add soc_component_err()")
Signed-off-by: default avatarJerome Brunet <jbrunet@baylibre.com>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/20200723142020.1338740-1-jbrunet@baylibre.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent d1e2a97b
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -344,13 +344,15 @@ int snd_soc_component_of_xlate_dai_name(struct snd_soc_component *component,
					struct of_phandle_args *args,
					const char **dai_name)
{
	int ret = -ENOTSUPP;

	if (component->driver->of_xlate_dai_name)
		ret = component->driver->of_xlate_dai_name(component,
		return component->driver->of_xlate_dai_name(component,
							    args, dai_name);

	return soc_component_ret(component, ret);
	/*
	 * Don't use soc_component_ret here because we may not want to report
	 * the error just yet. If a device has more than one component, the
	 * first may not match and we don't want spam the log with this.
	 */
	return -ENOTSUPP;
}

void snd_soc_component_setup_regmap(struct snd_soc_component *component)