git: 97570db05ced - main - sound: Move root feeder initialization to separate function

From: Christos Margiolis <christos_at_FreeBSD.org>
Date: Fri, 18 Oct 2024 08:44:57 UTC
The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=97570db05ced435f4fb1c6a67bdb16966ce5e4d9

commit 97570db05ced435f4fb1c6a67bdb16966ce5e4d9
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2024-10-18 08:39:58 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2024-10-18 08:39:58 +0000

    sound: Move root feeder initialization to separate function
    
    feeder_register() is currently a SYSINIT in order to create the root
    feeder, which happens only when feedercnt is 0. Separating the root
    feeder registration makes the code more readable.
    
    No functional change intended.
    
    While here, fix some style errors.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      2 days
    Reviewed by:    dev_submerge.ch, zlei, markj
    Differential Revision:  https://reviews.freebsd.org/D46821
---
 sys/dev/sound/pcm/feeder.c | 69 +++++++++++++++++++++++++---------------------
 1 file changed, 38 insertions(+), 31 deletions(-)

diff --git a/sys/dev/sound/pcm/feeder.c b/sys/dev/sound/pcm/feeder.c
index 87437c6d00b5..c6f93ac54036 100644
--- a/sys/dev/sound/pcm/feeder.c
+++ b/sys/dev/sound/pcm/feeder.c
@@ -48,51 +48,55 @@ struct feedertab_entry {
 	int idx;
 };
 static SLIST_HEAD(, feedertab_entry) feedertab;
+static int feedercnt = 0;
 
 /*****************************************************************************/
 
-void
-feeder_register(void *p)
+static void
+feeder_register_root(void *p)
 {
-	static int feedercnt = 0;
-
 	struct feeder_class *fc = p;
 	struct feedertab_entry *fte;
-	int i;
-
-	if (feedercnt == 0) {
-		KASSERT(fc->desc == NULL, ("first feeder not root: %s", fc->name));
-
-		SLIST_INIT(&feedertab);
-		fte = malloc(sizeof(*fte), M_FEEDER, M_NOWAIT | M_ZERO);
-		if (fte == NULL) {
-			printf("can't allocate memory for root feeder: %s\n",
-			    fc->name);
 
-			return;
-		}
-		fte->feederclass = fc;
-		fte->desc = NULL;
-		fte->idx = feedercnt;
-		SLIST_INSERT_HEAD(&feedertab, fte, link);
-		feedercnt++;
-
-		/* we've got our root feeder so don't veto pcm loading anymore */
-		pcm_veto_load = 0;
+	MPASS(feedercnt == 0);
+	KASSERT(fc->desc == NULL, ("first feeder not root: %s", fc->name));
 
+	SLIST_INIT(&feedertab);
+	fte = malloc(sizeof(*fte), M_FEEDER, M_NOWAIT | M_ZERO);
+	if (fte == NULL) {
+		printf("can't allocate memory for root feeder: %s\n", fc->name);
 		return;
 	}
+	fte->feederclass = fc;
+	fte->desc = NULL;
+	fte->idx = feedercnt;
+	SLIST_INSERT_HEAD(&feedertab, fte, link);
+	feedercnt++;
+
+	/* we've got our root feeder so don't veto pcm loading anymore */
+	pcm_veto_load = 0;
+}
+
+void
+feeder_register(void *p)
+{
+	struct feeder_class *fc = p;
+	struct feedertab_entry *fte;
+	int i;
 
 	KASSERT(fc->desc != NULL, ("feeder '%s' has no descriptor", fc->name));
 
-	/* beyond this point failure is non-fatal but may result in some translations being unavailable */
+	/*
+	 * beyond this point failure is non-fatal but may result in some
+	 * translations being unavailable
+	 */
 	i = 0;
 	while ((feedercnt < MAXFEEDERS) && (fc->desc[i].type > 0)) {
-		/* printf("adding feeder %s, %x -> %x\n", fc->name, fc->desc[i].in, fc->desc[i].out); */
 		fte = malloc(sizeof(*fte), M_FEEDER, M_NOWAIT | M_ZERO);
 		if (fte == NULL) {
-			printf("can't allocate memory for feeder '%s', %x -> %x\n", fc->name, fc->desc[i].in, fc->desc[i].out);
-
+			printf("can't allocate memory for feeder '%s', "
+			    "%x -> %x\n",
+			    fc->name, fc->desc[i].in, fc->desc[i].out);
 			return;
 		}
 		fte->feederclass = fc;
@@ -103,8 +107,10 @@ feeder_register(void *p)
 		i++;
 	}
 	feedercnt++;
-	if (feedercnt >= MAXFEEDERS)
-		printf("MAXFEEDERS (%d >= %d) exceeded\n", feedercnt, MAXFEEDERS);
+	if (feedercnt >= MAXFEEDERS) {
+		printf("MAXFEEDERS (%d >= %d) exceeded\n",
+		    feedercnt, MAXFEEDERS);
+	}
 }
 
 static void
@@ -469,5 +475,6 @@ static struct feeder_class feeder_root_class = {
 	.desc =		NULL,
 	.data =		NULL,
 };
-SYSINIT(feeder_root, SI_SUB_DRIVERS, SI_ORDER_FIRST, feeder_register, &feeder_root_class);
+SYSINIT(feeder_root, SI_SUB_DRIVERS, SI_ORDER_FIRST, feeder_register_root,
+    &feeder_root_class);
 SYSUNINIT(feeder_root, SI_SUB_DRIVERS, SI_ORDER_FIRST, feeder_unregisterall, NULL);