Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Jan 2026 23:27:37 +0000
From:      Christos Margiolis <christos@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 353a529d3a75 - stable/15 - sound: Retire pcm_feeder->desc_static
Message-ID:  <69618ee9.33a00.6ab0f839@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch stable/15 has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=353a529d3a75d5473580f5b344895f1082e3d375

commit 353a529d3a75d5473580f5b344895f1082e3d375
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-01-02 16:55:44 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-01-09 23:27:22 +0000

    sound: Retire pcm_feeder->desc_static
    
    Not sure what the value of this was.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D54103
    
    (cherry picked from commit 84976625da387a266f01b0a566aab447426609f7)
---
 sys/dev/sound/pcm/feeder.c        |  3 +--
 sys/dev/sound/pcm/feeder.h        |  2 +-
 sys/dev/sound/pcm/feeder_chain.c  |  4 ++--
 sys/dev/sound/pcm/feeder_eq.c     | 10 +++++-----
 sys/dev/sound/pcm/feeder_format.c | 14 +++++++-------
 sys/dev/sound/pcm/feeder_matrix.c |  9 ++++-----
 sys/dev/sound/pcm/feeder_mixer.c  | 10 +++++-----
 sys/dev/sound/pcm/feeder_rate.c   |  8 ++++----
 sys/dev/sound/pcm/feeder_volume.c | 14 +++++++-------
 sys/dev/sound/pcm/sndstat.c       | 36 ++++++++++++++++++------------------
 10 files changed, 54 insertions(+), 56 deletions(-)

diff --git a/sys/dev/sound/pcm/feeder.c b/sys/dev/sound/pcm/feeder.c
index fa4e4e16a133..2a7f54e5d30f 100644
--- a/sys/dev/sound/pcm/feeder.c
+++ b/sys/dev/sound/pcm/feeder.c
@@ -75,9 +75,8 @@ feeder_create(struct feeder_class *fc, struct pcm_feederdesc *desc)
 		return NULL;
 
 	f->class = fc;
-	f->desc = &(f->desc_static);
 	if (desc != NULL)
-		*(f->desc) = *desc;
+		f->desc = *desc;
 
 	err = FEEDER_INIT(f);
 	if (err) {
diff --git a/sys/dev/sound/pcm/feeder.h b/sys/dev/sound/pcm/feeder.h
index f1c96d86fda0..ed4ebc91fca7 100644
--- a/sys/dev/sound/pcm/feeder.h
+++ b/sys/dev/sound/pcm/feeder.h
@@ -51,7 +51,7 @@ struct feeder_class {
 struct pcm_feeder {
     	KOBJ_FIELDS;
 	int align;
-	struct pcm_feederdesc *desc, desc_static;
+	struct pcm_feederdesc desc;
 	void *data;
 	struct feeder_class *class;
 	struct pcm_feeder *source, *parent;
diff --git a/sys/dev/sound/pcm/feeder_chain.c b/sys/dev/sound/pcm/feeder_chain.c
index 32dd4ca14faf..4ec50d810253 100644
--- a/sys/dev/sound/pcm/feeder_chain.c
+++ b/sys/dev/sound/pcm/feeder_chain.c
@@ -473,8 +473,8 @@ feeder_build_root(struct pcm_channel *c, struct feeder_chain_desc *cdesc)
 
 	c->feederflags |= 1 << FEEDER_ROOT;
 
-	c->feeder->desc->in = cdesc->current.afmt;
-	c->feeder->desc->out = cdesc->current.afmt;
+	c->feeder->desc.in = cdesc->current.afmt;
+	c->feeder->desc.out = cdesc->current.afmt;
 
 	return (0);
 }
diff --git a/sys/dev/sound/pcm/feeder_eq.c b/sys/dev/sound/pcm/feeder_eq.c
index 3838328fb0bb..4ab7334715d5 100644
--- a/sys/dev/sound/pcm/feeder_eq.c
+++ b/sys/dev/sound/pcm/feeder_eq.c
@@ -275,16 +275,16 @@ feed_eq_init(struct pcm_feeder *f)
 {
 	struct feed_eq_info *info;
 
-	if (f->desc->in != f->desc->out)
+	if (f->desc.in != f->desc.out)
 		return (EINVAL);
 
 	info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (info == NULL)
 		return (ENOMEM);
 
-	info->fmt = AFMT_ENCODING(f->desc->in);
-	info->channels = AFMT_CHANNEL(f->desc->in);
-	info->align = info->channels * AFMT_BPS(f->desc->in);
+	info->fmt = AFMT_ENCODING(f->desc.in);
+	info->channels = AFMT_CHANNEL(f->desc.in);
+	info->align = info->channels * AFMT_BPS(f->desc.in);
 
 	info->rate = FEEDEQ_RATE_MIN;
 	info->treble.gain = FEEDEQ_L2GAIN(50);
@@ -309,7 +309,7 @@ feed_eq_set(struct pcm_feeder *f, int what, int value)
 		if (value < SND_CHN_MIN || value > SND_CHN_MAX)
 			return (EINVAL);
 		info->channels = (uint32_t)value;
-		info->align = info->channels * AFMT_BPS(f->desc->in);
+		info->align = info->channels * AFMT_BPS(f->desc.in);
 		feed_eq_reset(info);
 		break;
 	case FEEDEQ_RATE:
diff --git a/sys/dev/sound/pcm/feeder_format.c b/sys/dev/sound/pcm/feeder_format.c
index d2c4d7618ab4..25103b71d135 100644
--- a/sys/dev/sound/pcm/feeder_format.c
+++ b/sys/dev/sound/pcm/feeder_format.c
@@ -61,23 +61,23 @@ feed_format_init(struct pcm_feeder *f)
 {
 	struct feed_format_info *info;
 
-	if (f->desc->in == f->desc->out ||
-	    AFMT_CHANNEL(f->desc->in) != AFMT_CHANNEL(f->desc->out))
+	if (f->desc.in == f->desc.out ||
+	    AFMT_CHANNEL(f->desc.in) != AFMT_CHANNEL(f->desc.out))
 		return (EINVAL);
 
 	info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (info == NULL)
 		return (ENOMEM);
 
-	info->channels = AFMT_CHANNEL(f->desc->in);
+	info->channels = AFMT_CHANNEL(f->desc.in);
 
-	info->ibps = AFMT_BPS(f->desc->in);
+	info->ibps = AFMT_BPS(f->desc.in);
 	info->ialign = info->ibps * info->channels;
-	info->rdfmt = AFMT_ENCODING(f->desc->in);
+	info->rdfmt = AFMT_ENCODING(f->desc.in);
 
-	info->obps = AFMT_BPS(f->desc->out);
+	info->obps = AFMT_BPS(f->desc.out);
 	info->oalign = info->obps * info->channels;
-	info->wrfmt = AFMT_ENCODING(f->desc->out);
+	info->wrfmt = AFMT_ENCODING(f->desc.out);
 
 	f->data = info;
 
diff --git a/sys/dev/sound/pcm/feeder_matrix.c b/sys/dev/sound/pcm/feeder_matrix.c
index 2c7a3e04690d..198fe86d994f 100644
--- a/sys/dev/sound/pcm/feeder_matrix.c
+++ b/sys/dev/sound/pcm/feeder_matrix.c
@@ -283,15 +283,15 @@ feed_matrix_init(struct pcm_feeder *f)
 	struct pcmchan_matrix *m_in, *m_out;
 	int ret;
 
-	if (AFMT_ENCODING(f->desc->in) != AFMT_ENCODING(f->desc->out))
+	if (AFMT_ENCODING(f->desc.in) != AFMT_ENCODING(f->desc.out))
 		return (EINVAL);
 
 	info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (info == NULL)
 		return (ENOMEM);
 
-	info->in = f->desc->in;
-	info->out = f->desc->out;
+	info->in = f->desc.in;
+	info->out = f->desc.out;
 	info->fmt = AFMT_ENCODING(info->in);
 	info->bps = AFMT_BPS(info->in);
 	info->ialign = AFMT_ALIGN(info->in);
@@ -413,8 +413,7 @@ feeder_matrix_setup(struct pcm_feeder *f, struct pcmchan_matrix *m_in,
     struct pcmchan_matrix *m_out)
 {
 
-	if (f == NULL || f->desc == NULL || f->class->type != FEEDER_MATRIX ||
-	    f->data == NULL)
+	if (f == NULL || f->class->type != FEEDER_MATRIX || f->data == NULL)
 		return (EINVAL);
 
 	return (feed_matrix_setup(f->data, m_in, m_out));
diff --git a/sys/dev/sound/pcm/feeder_mixer.c b/sys/dev/sound/pcm/feeder_mixer.c
index 10de42ba727a..74ab633bf3c7 100644
--- a/sys/dev/sound/pcm/feeder_mixer.c
+++ b/sys/dev/sound/pcm/feeder_mixer.c
@@ -78,16 +78,16 @@ feed_mixer_init(struct pcm_feeder *f)
 {
 	struct feed_mixer_info *info;
 
-	if (f->desc->in != f->desc->out)
+	if (f->desc.in != f->desc.out)
 		return (EINVAL);
 
 	info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
 	if (info == NULL)
 		return (ENOMEM);
 
-	info->format = AFMT_ENCODING(f->desc->in);
-	info->channels = AFMT_CHANNEL(f->desc->in);
-	info->bps = AFMT_BPS(f->desc->in);
+	info->format = AFMT_ENCODING(f->desc.in);
+	info->channels = AFMT_CHANNEL(f->desc.in);
+	info->bps = AFMT_BPS(f->desc.in);
 
 	f->data = info;
 
@@ -321,7 +321,7 @@ feed_mixer_feed(struct pcm_feeder *f, struct pcm_channel *c, uint8_t *b,
 					if (mcnt != 0) {
 						memset(b + rcnt,
 						    sndbuf_zerodata(
-						    f->desc->out), mcnt);
+						    f->desc.out), mcnt);
 						mcnt = 0;
 					}
 					switch (info->format) {
diff --git a/sys/dev/sound/pcm/feeder_rate.c b/sys/dev/sound/pcm/feeder_rate.c
index c2c232a97177..7fe8ec856a88 100644
--- a/sys/dev/sound/pcm/feeder_rate.c
+++ b/sys/dev/sound/pcm/feeder_rate.c
@@ -1109,7 +1109,7 @@ z_resampler_setup(struct pcm_feeder *f)
 	if (!(Z_FACTOR_SAFE(info->z_gx) && Z_FACTOR_SAFE(info->z_gy)))
 		return (EINVAL);
 
-	format = f->desc->in;
+	format = f->desc.in;
 	adaptive = 0;
 	z_scale = 0;
 
@@ -1344,7 +1344,7 @@ z_setup_adaptive_sinc:
 	/*
 	 * Zero out head of buffer to avoid pops and clicks.
 	 */
-	memset(info->z_delay, sndbuf_zerodata(f->desc->out),
+	memset(info->z_delay, sndbuf_zerodata(f->desc.out),
 	    info->z_pos * align);
 
 #ifdef Z_DIAGNOSTIC
@@ -1508,7 +1508,7 @@ z_resampler_init(struct pcm_feeder *f)
 	struct z_info *info;
 	int ret;
 
-	if (f->desc->in != f->desc->out)
+	if (f->desc.in != f->desc.out)
 		return (EINVAL);
 
 	info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
@@ -1518,7 +1518,7 @@ z_resampler_init(struct pcm_feeder *f)
 	info->rsrc = Z_RATE_DEFAULT;
 	info->rdst = Z_RATE_DEFAULT;
 	info->quality = feeder_rate_quality;
-	info->channels = AFMT_CHANNEL(f->desc->in);
+	info->channels = AFMT_CHANNEL(f->desc.in);
 
 	f->data = info;
 
diff --git a/sys/dev/sound/pcm/feeder_volume.c b/sys/dev/sound/pcm/feeder_volume.c
index 101cc7ba003b..f7c93ca716e6 100644
--- a/sys/dev/sound/pcm/feeder_volume.c
+++ b/sys/dev/sound/pcm/feeder_volume.c
@@ -151,20 +151,20 @@ feed_volume_init(struct pcm_feeder *f)
 	uint32_t i;
 	int ret;
 
-	if (f->desc->in != f->desc->out ||
-	    AFMT_CHANNEL(f->desc->in) > SND_CHN_MAX)
+	if (f->desc.in != f->desc.out ||
+	    AFMT_CHANNEL(f->desc.in) > SND_CHN_MAX)
 		return (EINVAL);
 
 	for (i = 0; i < FEEDVOLUME_TAB_SIZE; i++) {
-		if (AFMT_ENCODING(f->desc->in) ==
+		if (AFMT_ENCODING(f->desc.in) ==
 		    feed_volume_info_tab[i].format) {
 			info = malloc(sizeof(*info), M_DEVBUF,
 			    M_NOWAIT | M_ZERO);
 			if (info == NULL)
 				return (ENOMEM);
 
-			info->bps = AFMT_BPS(f->desc->in);
-			info->channels = AFMT_CHANNEL(f->desc->in);
+			info->bps = AFMT_BPS(f->desc.in);
+			info->channels = AFMT_CHANNEL(f->desc.in);
 			info->apply = feed_volume_info_tab[i].apply;
 			info->volume_class = SND_VOL_C_PCM;
 			info->state = FEEDVOLUME_ENABLE;
@@ -332,8 +332,8 @@ feeder_volume_apply_matrix(struct pcm_feeder *f, struct pcmchan_matrix *m)
 	struct feed_volume_info *info;
 	uint32_t i;
 
-	if (f == NULL || f->desc == NULL || f->class->type != FEEDER_VOLUME ||
-	    f->data == NULL || m == NULL || m->channels < SND_CHN_MIN ||
+	if (f == NULL || f->class->type != FEEDER_VOLUME || f->data == NULL ||
+	    m == NULL || m->channels < SND_CHN_MIN ||
 	    m->channels > SND_CHN_MAX)
 		return (EINVAL);
 
diff --git a/sys/dev/sound/pcm/sndstat.c b/sys/dev/sound/pcm/sndstat.c
index a7c53ac85eb8..8f414e07757d 100644
--- a/sys/dev/sound/pcm/sndstat.c
+++ b/sys/dev/sound/pcm/sndstat.c
@@ -534,24 +534,24 @@ sndstat_build_sound4_nvlist(struct snddev_info *d, nvlist_t **dip)
 		while (f != NULL) {
 			sbuf_printf(&sb, "%s", f->class->name);
 			if (f->class->type == FEEDER_FORMAT) {
-				snd_afmt2str(f->desc->in, buf, sizeof(buf));
+				snd_afmt2str(f->desc.in, buf, sizeof(buf));
 				sbuf_printf(&sb, "(%s -> ", buf);
-				snd_afmt2str(f->desc->out, buf, sizeof(buf));
+				snd_afmt2str(f->desc.out, buf, sizeof(buf));
 				sbuf_printf(&sb, "%s)", buf);
 			} else if (f->class->type == FEEDER_MATRIX) {
 				sbuf_printf(&sb, "(%d.%dch -> %d.%dch)",
-				    AFMT_CHANNEL(f->desc->in) -
-				    AFMT_EXTCHANNEL(f->desc->in),
-				    AFMT_EXTCHANNEL(f->desc->in),
-				    AFMT_CHANNEL(f->desc->out) -
-				    AFMT_EXTCHANNEL(f->desc->out),
-				    AFMT_EXTCHANNEL(f->desc->out));
+				    AFMT_CHANNEL(f->desc.in) -
+				    AFMT_EXTCHANNEL(f->desc.in),
+				    AFMT_EXTCHANNEL(f->desc.in),
+				    AFMT_CHANNEL(f->desc.out) -
+				    AFMT_EXTCHANNEL(f->desc.out),
+				    AFMT_EXTCHANNEL(f->desc.out));
 			} else if (f->class->type == FEEDER_RATE) {
 				sbuf_printf(&sb, "(%d -> %d)",
 				    FEEDER_GET(f, FEEDRATE_SRC),
 				    FEEDER_GET(f, FEEDRATE_DST));
 			} else {
-				snd_afmt2str(f->desc->out, buf, sizeof(buf));
+				snd_afmt2str(f->desc.out, buf, sizeof(buf));
 				sbuf_printf(&sb, "(%s)", buf);
 			}
 			sbuf_printf(&sb, " -> ");
@@ -1330,25 +1330,25 @@ sndstat_prepare_pcm(struct sbuf *s, device_t dev, int verbose)
 			sbuf_printf(s, "%s", f->class->name);
 			if (f->class->type == FEEDER_FORMAT) {
 				sbuf_printf(s, "(0x%08x -> 0x%08x)",
-				    f->desc->in, f->desc->out);
+				    f->desc.in, f->desc.out);
 			} else if (f->class->type == FEEDER_MATRIX) {
 				sbuf_printf(s, "(%d.%d -> %d.%d)",
-				    AFMT_CHANNEL(f->desc->in) -
-				    AFMT_EXTCHANNEL(f->desc->in),
-				    AFMT_EXTCHANNEL(f->desc->in),
-				    AFMT_CHANNEL(f->desc->out) -
-				    AFMT_EXTCHANNEL(f->desc->out),
-				    AFMT_EXTCHANNEL(f->desc->out));
+				    AFMT_CHANNEL(f->desc.in) -
+				    AFMT_EXTCHANNEL(f->desc.in),
+				    AFMT_EXTCHANNEL(f->desc.in),
+				    AFMT_CHANNEL(f->desc.out) -
+				    AFMT_EXTCHANNEL(f->desc.out),
+				    AFMT_EXTCHANNEL(f->desc.out));
 			} else if (f->class->type == FEEDER_RATE) {
 				sbuf_printf(s,
 				    "(0x%08x q:%d %d -> %d)",
-				    f->desc->out,
+				    f->desc.out,
 				    FEEDER_GET(f, FEEDRATE_QUALITY),
 				    FEEDER_GET(f, FEEDRATE_SRC),
 				    FEEDER_GET(f, FEEDRATE_DST));
 			} else {
 				sbuf_printf(s, "(0x%08x)",
-				    f->desc->out);
+				    f->desc.out);
 			}
 			sbuf_printf(s, " -> ");
 			f = f->parent;


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69618ee9.33a00.6ab0f839>