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
This commit is contained in:
Christos Margiolis
2024-04-18 22:35:20 +02:00
parent 8b97dce697
commit a44c45c7f5
+6 -7
View File
@@ -2177,7 +2177,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];
/*
@@ -2197,9 +2197,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;
@@ -2324,14 +2324,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