git: ae3cd550d257 - stable/15 - sound: Retire feeder_class->desc
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 18 Nov 2025 00:52:08 UTC
The branch stable/15 has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?id=ae3cd550d257e38ea21dee0915677f0c6aafbb3e
commit ae3cd550d257e38ea21dee0915677f0c6aafbb3e
Author: Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-11-11 12:06:24 +0000
Commit: Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-11-18 00:51:23 +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
(cherry picked from commit 91fcc0132d0b192f07f9b67626c9af2ad8759857)
---
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