aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristos Margiolis <christos@FreeBSD.org>2024-05-09 19:08:11 +0000
committerChristos Margiolis <christos@FreeBSD.org>2024-05-09 19:08:28 +0000
commite6df8c379b0cf2f6d715d4903fcb1f279e38173e (patch)
tree76f4ff709b80cf7fedb78c7662feb6b1fcdf4b78
parent59d98edae3e1a6fffd292e4393c49862d624f25f (diff)
downloadsrc-e6df8c379b0cf2f6d715d4903fcb1f279e38173e.tar.gz
src-e6df8c379b0cf2f6d715d4903fcb1f279e38173e.zip
sound: Add missing oss_mixerinfo devnode and legacy_device fields
They are missing from soundcard.h and are in fact used by some applications, such as OSS' ossinfo(1): http://manuals.opensound.com/developer/ossinfo.c.html The new size for filler is chosen according to the most recent official version of soundcard.h, which includes those 2 fields. Sponsored by: The FreeBSD Foundation MFC after: 3 days Reviewed by: dev_submerge.ch Differential Revision: https://reviews.freebsd.org/D45137
-rw-r--r--sys/dev/sound/pcm/mixer.c11
-rw-r--r--sys/sys/soundcard.h4
2 files changed, 8 insertions, 7 deletions
diff --git a/sys/dev/sound/pcm/mixer.c b/sys/dev/sound/pcm/mixer.c
index a37b94dce43a..9811496853c8 100644
--- a/sys/dev/sound/pcm/mixer.c
+++ b/sys/dev/sound/pcm/mixer.c
@@ -1516,6 +1516,7 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi)
* Mixer extensions currently aren't supported, so
* leave @sa oss_mixerinfo::nrext blank for now.
*/
+
/**
* @todo Fill in @sa oss_mixerinfo::priority (requires
* touching drivers?)
@@ -1529,13 +1530,11 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi)
* default mixer. Other devices use values 1 to 9
* depending on the estimated probability of being the
* default device.
- *
- * XXX Described by Hannu@4Front, but not found in
- * soundcard.h.
- strlcpy(mi->devnode, devtoname(d->mixer_dev),
- sizeof(mi->devnode));
- mi->legacy_device = i;
*/
+
+ snprintf(mi->devnode, sizeof(mi->devnode), "/dev/mixer%d", i);
+ mi->legacy_device = i;
+
mtx_unlock(m->lock);
}
diff --git a/sys/sys/soundcard.h b/sys/sys/soundcard.h
index ddd8a51d29a5..64f57742a52b 100644
--- a/sys/sys/soundcard.h
+++ b/sys/sys/soundcard.h
@@ -1925,7 +1925,9 @@ typedef struct oss_mixerinfo
* as the default mixer.
*/
int priority;
- int filler[254]; /* Reserved */
+ oss_devnode_t devnode;
+ int legacy_device;
+ int filler[245]; /* Reserved */
} oss_mixerinfo;
typedef struct oss_midi_info