Message ID | 20200723142020.1338740-1-jbrunet@baylibre.com (mailing list archive) |
---|---|
State | Accepted |
Commit | cc4d8cebbf2a1239aab71a8077fbe20f24ec2165 |
Headers | show |
Series | ASoC: soc-component: don't report of_xlate_dai_name failures | expand |
On Thu, 23 Jul 2020 16:20:20 +0200, Jerome Brunet wrote: > With commit e2329eeba45f ("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. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next Thanks! [1/1] ASoC: soc-component: don't report of_xlate_dai_name failures commit: cc4d8cebbf2a1239aab71a8077fbe20f24ec2165 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
diff --git a/sound/soc/soc-component.c b/sound/soc/soc-component.c index 9565a0dd7cb6..fb6479b22d26 100644 --- a/sound/soc/soc-component.c +++ b/sound/soc/soc-component.c @@ -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, - args, dai_name); - - return soc_component_ret(component, ret); + return component->driver->of_xlate_dai_name(component, + args, dai_name); + /* + * 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)
With commit e2329eeba45f ("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: e2329eeba45f ("ASoC: soc-component: add soc_component_err()") Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> --- If we wish to report an error when no name is found for dai phandle, I think it would be more approriate to it with with "struct device *" of the card, which is the one actually failing to get what it needs. These user of snd_soc_get_dai_name() are already reporting the error: * sound/soc/samsung/tm2_wm5110.c * sound/soc/rockchip/rk3288_hdmi_analog.c These could be silently failing: * Simple cards * Amlogic's cards * Samsumg odroid card sound/soc/soc-component.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)