Re: git: 2ffaca551eaf - main - snd_hda: Implement automatic redirection between associations

From: Guido Falsi <mad_at_madpilot.net>
Date: Tue, 30 Sep 2025 19:22:26 UTC
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 <christos@FreeBSD.org>
> AuthorDate: 2025-09-30 10:52:44 +0000
> Commit:     Christos Margiolis <christos@FreeBSD.org>
> 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 <mad@madpilot.net>