From: Val Packett <val@packett.cool>
To: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
Takashi Iwai <tiwai@suse.com>
Cc: Val Packett <val@packett.cool>,
~postmarketos/upstreaming@lists.sr.ht,
phone-devel@vger.kernel.org, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [RFC PATCH] ASoC: soc-core: use the device tree card name as long_name
Date: Wed, 6 May 2026 00:58:55 -0300 [thread overview]
Message-ID: <20260506041112.412871-2-val@packett.cool> (raw)
When setting the model property for the sound card on an OF/DT system,
the expectation is that that model name would be used in the UCM config
path lookup. However, the DT model name was only used as the "short"
name, which gets overriden by the "long" name during loading, and
the "long" name is automatically set based on DMI data if available.
As a result, adding an intermediate bootloader such as U-Boot which
provides DMI data on a device that didn't have it before would break
the UCM config loading by suddenly looking at the "wrong" path.
Fix by assigning the DT model name to the long_name field as well.
Signed-off-by: Val Packett <val@packett.cool>
---
For more context/examples, see:
https://gitlab.postmarketos.org/postmarketOS/pmaports/-/work_items/4386
err, for some reason that link requires an account to view right now,
hopefully that's fixed by the time you're reading this. if not, quoting:
> ALSA looks for wrong device name when using U-Boot
>
> What's the expected behaviour?
> ALSA finds Fairphone 5.conf
> What's the current behaviour?
> ALSA looks for fairphone-Fairphone5-.conf, doesn't find it, and results in no audio.
("Fairphone 5.conf" coming from `model = "Fairphone 5";` in .dts)
So it's totally unexpected in the DT world that adding DMI info would
change which UCM path is used.
Now the question is, could this possibly break anything for anyone???..
Qcom laptops do not rely on these model-based paths at all, instead
having custom DMI match `If` conditions inside of "fallback" SoC-wide
UCM .conf files such as:
https://github.com/alsa-project/alsa-ucm-conf/blob/980fb83651e82c3e53d3a0ab7fa9b7d6fc2d809b/ucm2/Qualcomm/x1e80100/x1e80100.conf
So there it shouldn't make a difference. But does *anyone* use DMI-based
soundcard names intentionally on *any* DT platform?
Thanks,
~val
P.S. I don't understand the lifecycle of these strings but it seeeems that
the expectation is that they point to static data so they're never freed?
---
sound/soc/soc-core.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 3fecf9fc903c..8456595bb41d 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -2995,6 +2995,14 @@ int snd_soc_of_parse_card_name(struct snd_soc_card *card,
return ret;
}
+ /*
+ * When setting the OF property in a device tree, the expectation is
+ * that the UCM config matching the value would be loaded. However if
+ * a long_name is set, it would be used in the config path instead, and
+ * snd_soc_set_dmi_name sets long_name to the DMI name if it's unset.
+ */
+ card->long_name = card->name;
+
return 0;
}
EXPORT_SYMBOL_GPL(snd_soc_of_parse_card_name);
--
2.53.0
reply other threads:[~2026-05-06 4:13 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260506041112.412871-2-val@packett.cool \
--to=val@packett.cool \
--cc=broonie@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=perex@perex.cz \
--cc=phone-devel@vger.kernel.org \
--cc=tiwai@suse.com \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox