On 9/30/25 12:52, Christos Margiolis wrote:
The branch main has been updated by christos:
URL:
https://cgit.FreeBSD.org/src/commit/?id=2ffaca551eaf32c17f701762ecf29a961cf19aa4
commit 2ffaca551eaf32c17f701762ecf29a961cf19aa4
Author: Christos Margiolis <[email protected]>
AuthorDate: 2025-09-30 10:52:44 +0000
Commit: Christos Margiolis <[email protected]>
CommitDate: 2025-09-30 10:52:44 +0000
snd_hda: Implement automatic redirection between associations
For audio to be redirected to the headphones/headset after plugging the
jack, or back to the speaker/internal mic when unplugging it, the
speaker and headphone pins need to be part of the same association
(i.e., the same PCM device). This patch makes it possible to redirect
audio even between different associations, which can reduce the need for
manual pin patching.
The idea is that we issue a devctl_notify() from within the jack
detection callback whenever a jack is (un-)plugged to redirect audio to
the appropriate device. Then the snd.conf devd script is responsible for
using virtual_oss to change the playback/recording device to whatever
snd_hda(4) selected. The reason for requiring virtual_oss is that it has
hot-swapping support, which is necessary for jack redirection.
Sponsored by: The FreeBSD Foundation
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D50070
---
sbin/devd/Makefile | 5 +++++
sbin/devd/devd.conf.5 | 16 +++++++++++++
sbin/devd/snd.conf | 23 +++++++++++++++++++
sys/dev/sound/pci/hda/hdaa.c | 53 +++++++++++++++++++++++++++++++++-----------
4 files changed, 84 insertions(+), 13 deletions(-)
diff --git a/sbin/devd/Makefile b/sbin/devd/Makefile
index 5d5721d16884..f65eee93dd4b 100644
--- a/sbin/devd/Makefile
+++ b/sbin/devd/Makefile
@@ -51,6 +51,11 @@ NVMEDIR= ${DEVDDIR}
NVME+= nvmf.conf
NVMEPACKAGE= nvme-tools
+CONFGROUPS+= SND
+SNDDIR= ${DEVDDIR}
+SND+= snd.conf
+SNDPACKAGE= snd
Looks like this is causing the package building step of the build to
look for a src/release/packages/ucl/snd-all.ucl file.
Is it intentional to cause this to produce a new base package?
Looks like in this case an ucl file for the description is needed?
--
Guido Falsi <[email protected]>