git: 84976625da38 - main - sound: Retire pcm_feeder->desc_static
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 02 Jan 2026 16:58:14 UTC
The branch main has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?id=84976625da387a266f01b0a566aab447426609f7
commit 84976625da387a266f01b0a566aab447426609f7
Author: Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2026-01-02 16:55:44 +0000
Commit: Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2026-01-02 16:58:04 +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
---
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;