git: 98157281725b - stable/14 - sound: Simplify unit fetching in dsp_oss_audioinfo()

From: Christos Margiolis <christos_at_FreeBSD.org>
Date: Fri, 17 May 2024 19:30:53 UTC
The branch stable/14 has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=98157281725b3eed5612753d8150b3edfd01c1b5

commit 98157281725b3eed5612753d8150b3edfd01c1b5
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2024-04-18 20:35:20 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2024-05-17 19:30:01 +0000

    sound: Simplify unit fetching in dsp_oss_audioinfo()
    
    "i" keeps the value of the current unit, so we do not have to call
    PCMUNIT() and device_get_unit() to fetch it.
    
    In the mixer case, I think it is more correct to do it like this, since
    mixer and DSP device units have a 1-1 relationship (i.e the mixer unit
    is always the same as the corresponding DSP device one) and that way we
    can make it more clear.
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D44855
    
    (cherry picked from commit a44c45c7f597d67d37e09396b0778a2847a30981)
---
 sys/dev/sound/pcm/dsp.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
index aa6c21f36601..df1482d6a97a 100644
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -2185,7 +2185,7 @@ dsp_oss_audioinfo(struct cdev *i_dev, oss_audioinfo *ai)
 	struct pcm_channel *ch;
 	struct snddev_info *d;
 	uint32_t fmts;
-	int i, nchan, *rates, minch, maxch;
+	int i, nchan, *rates, minch, maxch, unit;
 	char *devname, buf[CHN_NAMELEN];
 
 	/*
@@ -2205,9 +2205,9 @@ dsp_oss_audioinfo(struct cdev *i_dev, oss_audioinfo *ai)
 	 * Search for the requested audio device (channel).  Start by
 	 * iterating over pcm devices.
 	 */ 
-	for (i = 0; pcm_devclass != NULL &&
-	    i < devclass_get_maxunit(pcm_devclass); i++) {
-		d = devclass_get_softc(pcm_devclass, i);
+	for (unit = 0; pcm_devclass != NULL &&
+	    unit < devclass_get_maxunit(pcm_devclass); unit++) {
+		d = devclass_get_softc(pcm_devclass, unit);
 		if (!PCM_REGISTERED(d))
 			continue;
 
@@ -2332,14 +2332,13 @@ dsp_oss_audioinfo(struct cdev *i_dev, oss_audioinfo *ai)
 			 * @todo @c port_number - routing information?
 			 */
 			ai->port_number = -1;
-			ai->mixer_dev = (d->mixer_dev != NULL) ? PCMUNIT(d->mixer_dev) : -1;
+			ai->mixer_dev = (d->mixer_dev != NULL) ? unit : -1;
 			/**
 			 * @note
 			 * @c real_device - OSSv4 docs:  "Obsolete."
 			 */
 			ai->real_device = -1;
-			snprintf(ai->devnode, sizeof(ai->devnode),
-			    "/dev/dsp%d", device_get_unit(d->dev));
+			snprintf(ai->devnode, sizeof(ai->devnode), "/dev/dsp%d", unit);
 			ai->enabled = device_is_attached(d->dev) ? 1 : 0;
 			/**
 			 * @note