git: a946852ff296 - main - sound: Merge pcm_sysinit() with pcm_register()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 29 May 2025 10:25:25 UTC
The branch main has been updated by christos:
URL: https://cgit.FreeBSD.org/src/commit/?id=a946852ff2963b5ec83cb7ccb5eee214b1d47ad5
commit a946852ff2963b5ec83cb7ccb5eee214b1d47ad5
Author: Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-05-29 10:24:08 +0000
Commit: Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-05-29 10:25:18 +0000
sound: Merge pcm_sysinit() with pcm_register()
There is no need for a separate function here. No functional change
intended.
Sponsored by: The FreeBSD Foundation
MFC after: 1 day
Reviewed by: adrian, markj
Differential Revision: https://reviews.freebsd.org/D50409
---
sys/dev/sound/pcm/sound.c | 67 ++++++++++++++++++++---------------------------
1 file changed, 29 insertions(+), 38 deletions(-)
diff --git a/sys/dev/sound/pcm/sound.c b/sys/dev/sound/pcm/sound.c
index e690b53c411d..cb510d526fa8 100644
--- a/sys/dev/sound/pcm/sound.c
+++ b/sys/dev/sound/pcm/sound.c
@@ -57,8 +57,6 @@ SYSCTL_INT(_hw_snd, OID_AUTO, default_auto, CTLFLAG_RWTUN,
SYSCTL_NODE(_hw, OID_AUTO, snd, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
"Sound driver");
-static void pcm_sysinit(device_t);
-
/**
* @brief Unit number allocator for syncgroup IDs
*/
@@ -351,41 +349,6 @@ sysctl_dev_pcm_mode(SYSCTL_HANDLER_ARGS)
return (sysctl_handle_int(oidp, &mode, 0, req));
}
-static void
-pcm_sysinit(device_t dev)
-{
- struct snddev_info *d = device_get_softc(dev);
-
- sysctl_ctx_init(&d->play_sysctl_ctx);
- d->play_sysctl_tree = SYSCTL_ADD_NODE(&d->play_sysctl_ctx,
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "play",
- CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "playback channels node");
- sysctl_ctx_init(&d->rec_sysctl_ctx);
- d->rec_sysctl_tree = SYSCTL_ADD_NODE(&d->rec_sysctl_ctx,
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "rec",
- CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "recording channels node");
-
- /* XXX: a user should be able to set this with a control tool, the
- sysadmin then needs min+max sysctls for this */
- SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
- OID_AUTO, "buffersize", CTLFLAG_RD, &d->bufsz, 0, "allocated buffer size");
- SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO,
- "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d,
- sizeof(d), sysctl_dev_pcm_bitperfect, "I",
- "bit-perfect playback/recording (0=disable, 1=enable)");
- SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
- SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO,
- "mode", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, d, sizeof(d),
- sysctl_dev_pcm_mode, "I",
- "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than "
- "one mode is supported)");
- vchan_initsys(dev);
- if (d->flags & SD_F_EQ)
- feeder_eq_initsys(dev);
-}
-
/*
* Basic initialization so that drivers can use pcm_addchan() before
* pcm_register().
@@ -455,7 +418,35 @@ pcm_register(device_t dev, char *str)
* Create all sysctls once SD_F_REGISTERED is set else
* tunable sysctls won't work:
*/
- pcm_sysinit(dev);
+ sysctl_ctx_init(&d->play_sysctl_ctx);
+ d->play_sysctl_tree = SYSCTL_ADD_NODE(&d->play_sysctl_ctx,
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "play",
+ CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "playback channels node");
+ sysctl_ctx_init(&d->rec_sysctl_ctx);
+ d->rec_sysctl_tree = SYSCTL_ADD_NODE(&d->rec_sysctl_ctx,
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "rec",
+ CTLFLAG_RD | CTLFLAG_MPSAFE, 0, "recording channels node");
+
+ /* XXX: a user should be able to set this with a control tool, the
+ sysadmin then needs min+max sysctls for this */
+ SYSCTL_ADD_UINT(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
+ OID_AUTO, "buffersize", CTLFLAG_RD, &d->bufsz, 0,
+ "allocated buffer size");
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO,
+ "bitperfect", CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, d,
+ sizeof(d), sysctl_dev_pcm_bitperfect, "I",
+ "bit-perfect playback/recording (0=disable, 1=enable)");
+ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
+ SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO,
+ "mode", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, d, sizeof(d),
+ sysctl_dev_pcm_mode, "I",
+ "mode (1=mixer, 2=play, 4=rec. The values are OR'ed if more than "
+ "one mode is supported)");
+ vchan_initsys(dev);
+ if (d->flags & SD_F_EQ)
+ feeder_eq_initsys(dev);
if (snd_unit_auto < 0)
snd_unit_auto = (snd_unit < 0) ? 1 : 0;