git: 91fcc0132d0b - main - sound: Retire feeder_class->desc

From: Christos Margiolis <christos_at_FreeBSD.org>
Date: Tue, 11 Nov 2025 12:08:18 UTC
The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=91fcc0132d0b192f07f9b67626c9af2ad8759857

commit 91fcc0132d0b192f07f9b67626c9af2ad8759857
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-11-11 12:06:24 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-11-11 12:06:24 +0000

    sound: Retire feeder_class->desc
    
    The only field we care about is pcm_feederdesc->type, so keep that one
    only and do not embed the whole pcm_feederdesc.
    
    While here, make the feeder type enum into a named one and use it as
    feeder_class->type's type.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D53556
---
 sys/dev/sound/pcm/feeder.c |  8 ++++----
 sys/dev/sound/pcm/feeder.h | 28 ++++++++++++++--------------
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/sys/dev/sound/pcm/feeder.c b/sys/dev/sound/pcm/feeder.c
index f55c3e5992e1..acc9e374e718 100644
--- a/sys/dev/sound/pcm/feeder.c
+++ b/sys/dev/sound/pcm/feeder.c
@@ -48,7 +48,7 @@ feeder_register_root(void *p)
 {
 	struct feeder_class *fc = p;
 
-	KASSERT(fc->desc.type == FEEDER_ROOT,
+	KASSERT(fc->type == FEEDER_ROOT,
 	    ("first feeder not root: %s", fc->name));
 
 	SLIST_INIT(&feedertab);
@@ -60,7 +60,7 @@ feeder_register(void *p)
 {
 	struct feeder_class *fc = p;
 
-	KASSERT(fc->desc.type != 0, ("feeder '%s' has no descriptor", fc->name));
+	KASSERT(fc->type != 0, ("feeder '%s' has no descriptor", fc->name));
 
 	SLIST_INSERT_HEAD(&feedertab, fc, link);
 }
@@ -119,7 +119,7 @@ feeder_getclass(u_int32_t type)
 	struct feeder_class *fc;
 
 	SLIST_FOREACH(fc, &feedertab, link) {
-		if (fc->desc.type == type)
+		if (fc->type == type)
 			return (fc);
 	}
 	return (NULL);
@@ -400,7 +400,7 @@ static struct feeder_class feeder_root_class = {
 	.name =		"feeder_root",
 	.methods =	feeder_root_methods,
 	.size =		sizeof(struct pcm_feeder),
-	.desc =		{ FEEDER_ROOT, 0, 0 },
+	.type =		FEEDER_ROOT,
 };
 /*
  * Register the root feeder first so that pcm_addchan() and subsequent
diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h
index f89652ab9635..171168d66e4e 100644
--- a/sys/dev/sound/pcm/feeder.h
+++ b/sys/dev/sound/pcm/feeder.h
@@ -27,6 +27,17 @@
  * SUCH DAMAGE.
  */
 
+enum feeder_type {
+	FEEDER_ROOT,
+	FEEDER_FORMAT,
+	FEEDER_MIXER,
+	FEEDER_RATE,
+	FEEDER_EQ,
+	FEEDER_VOLUME,
+	FEEDER_MATRIX,
+	FEEDER_LAST,
+};
+
 struct pcm_feederdesc {
 	u_int32_t type;
 	u_int32_t in, out;
@@ -34,7 +45,7 @@ struct pcm_feederdesc {
 
 struct feeder_class {
 	KOBJ_CLASS_FIELDS;
-	struct pcm_feederdesc desc;
+	enum feeder_type type;
 	SLIST_ENTRY(feeder_class) link;
 };
 
@@ -63,27 +74,16 @@ struct pcm_feeder *feeder_find(struct pcm_channel *c, u_int32_t type);
 void feeder_printchain(struct pcm_feeder *head);
 int feeder_chain(struct pcm_channel *);
 
-#define FEEDER_DECLARE(feeder, type)					\
+#define FEEDER_DECLARE(feeder, ctype)					\
 static struct feeder_class feeder ## _class = {				\
 	.name =		#feeder,					\
 	.methods =	feeder ## _methods,				\
 	.size =		sizeof(struct pcm_feeder),			\
-	.desc =		{ type, 0, 0 },					\
+	.type =		ctype,						\
 };									\
 SYSINIT(feeder, SI_SUB_DRIVERS, SI_ORDER_ANY, feeder_register,		\
     &feeder ## _class)
 
-enum {
-	FEEDER_ROOT,
-	FEEDER_FORMAT,
-	FEEDER_MIXER,
-	FEEDER_RATE,
-	FEEDER_EQ,
-	FEEDER_VOLUME,
-	FEEDER_MATRIX,
-	FEEDER_LAST,
-};
-
 /* feeder_format */
 enum {
 	FEEDFORMAT_CHANNELS