kern/59306: patch to augment /dev/sndstat to show which module
provides driver
Mathew Kanner
mat at cnd.mcgill.ca
Sat Nov 15 12:20:24 PST 2003
Note: There was a bad value `medium' for the field `>Severity:'.
It was set to the default value of `serious'.
>Number: 59306
>Category: kern
>Synopsis: patch to augment /dev/sndstat to show which module provides driver
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sat Nov 15 12:20:19 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Mathew Kanner
>Release: FreeBSD 5.x
>Organization:
>Environment:
System: FreeBSD tube.mine.nu 5.1-CURRENT-20031021-JPSNAP FreeBSD 5.1-CURRENT-20031021-JPSNAP #0: Tue Oct 21 01:07:08 GMT 2003 root at ushi.jp.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Sometimes it's very hard to know which module provides the
driver for a soundcard. This patch changes the output of /dev/sndstat
to include this information (note the kld snd_cmi).
mat at tube$ cat /dev/sndstat
FreeBSD Audio Driver (newpcm)
Installed devices:
pcm0: <CMedia CMI8738> at io 0xb800 irq 10 kld snd_cmi (1p/1r/0v channels duplex default)
This eases the installation of a new soundcard as the
procedure becomes
kldload snd_driver
cat /dev/sndstat
[edit /boot/loader.conf to load the klds show]
>How-To-Repeat:
>Fix:
--69pVuxX8awAiJ7fD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="snd_module_status.patch"
diff -ru dev/sound/pci.old/als4000.c dev/sound/pci/als4000.c
--- dev/sound/pci.old/als4000.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/als4000.c Fri Nov 7 18:59:42 2003
@@ -818,7 +818,7 @@
pcm_addchan(dev, PCMDIR_PLAY, &alspchan_class, sc);
pcm_addchan(dev, PCMDIR_REC, &alsrchan_class, sc);
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_als4000",
rman_get_start(sc->reg), rman_get_start(sc->irq));
pcm_setstatus(dev, status);
return 0;
diff -ru dev/sound/pci.old/au88x0.c dev/sound/pci/au88x0.c
--- dev/sound/pci.old/au88x0.c Wed Oct 22 00:55:50 2003
+++ dev/sound/pci/au88x0.c Fri Nov 7 19:00:03 2003
@@ -529,7 +529,7 @@
struct au88x0_info *aui;
aui = pcm_getdevinfo(dev);
- snprintf(status, sizeof status, "at %s 0x%lx irq %ld",
+ snprintf(status, sizeof status, "at %s 0x%lx irq %ld kld snd_au88x0",
(aui->aui_regtype == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(aui->aui_reg), rman_get_start(aui->aui_irq));
pcm_setstatus(dev, status);
diff -ru dev/sound/pci.old/aureal.c dev/sound/pci/aureal.c
--- dev/sound/pci.old/aureal.c Sat Sep 13 21:09:21 2003
+++ dev/sound/pci/aureal.c Fri Nov 7 19:01:10 2003
@@ -647,7 +647,7 @@
goto bad;
}
- snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld kld snd_aureal",
(type[0] == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(reg[0]), rman_get_start(irq));
diff -ru dev/sound/pci.old/cmi.c dev/sound/pci/cmi.c
--- dev/sound/pci.old/cmi.c Fri Oct 24 23:49:03 2003
+++ dev/sound/pci/cmi.c Fri Nov 7 19:01:19 2003
@@ -898,7 +898,7 @@
pcm_addchan(dev, PCMDIR_PLAY, &cmichan_class, sc);
pcm_addchan(dev, PCMDIR_REC, &cmichan_class, sc);
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_cmi",
rman_get_start(sc->reg), rman_get_start(sc->irq));
pcm_setstatus(dev, status);
diff -ru dev/sound/pci.old/cs4281.c dev/sound/pci/cs4281.c
--- dev/sound/pci.old/cs4281.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/cs4281.c Fri Nov 7 19:01:43 2003
@@ -858,7 +858,7 @@
pcm_addchan(dev, PCMDIR_PLAY, &cs4281chan_class, sc);
pcm_addchan(dev, PCMDIR_REC, &cs4281chan_class, sc);
- snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld kld snd_cs4281",
(sc->regtype == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(sc->reg), rman_get_start(sc->irq));
pcm_setstatus(dev, status);
diff -ru dev/sound/pci.old/csapcm.c dev/sound/pci/csapcm.c
--- dev/sound/pci.old/csapcm.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/csapcm.c Fri Nov 7 19:02:10 2003
@@ -788,7 +788,7 @@
return (ENXIO);
}
- snprintf(status, SND_STATUSLEN, "at irq %ld", rman_get_start(resp->irq));
+ snprintf(status, SND_STATUSLEN, "at irq %ld kld snd_csa", rman_get_start(resp->irq));
/* Enable interrupt. */
if (snd_setup_intr(dev, resp->irq, INTR_MPSAFE, csa_intr, csa, &csa->ih)) {
diff -ru dev/sound/pci.old/ds1.c dev/sound/pci/ds1.c
--- dev/sound/pci.old/ds1.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/ds1.c Fri Nov 7 19:02:33 2003
@@ -996,7 +996,7 @@
goto bad;
}
- snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld kld snd_ds1",
rman_get_start(sc->reg), rman_get_start(sc->irq));
if (pcm_register(dev, sc, DS1_CHANS, 2))
diff -ru dev/sound/pci.old/emu10k1.c dev/sound/pci/emu10k1.c
--- dev/sound/pci.old/emu10k1.c Sat Sep 13 21:09:21 2003
+++ dev/sound/pci/emu10k1.c Fri Nov 7 19:02:48 2003
@@ -1517,7 +1517,7 @@
goto bad;
}
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld", rman_get_start(sc->reg), rman_get_start(sc->irq));
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_emu10k1", rman_get_start(sc->reg), rman_get_start(sc->irq));
if (pcm_register(dev, sc, EMU_CHANS, gotmic ? 3 : 2)) goto bad;
for (i = 0; i < EMU_CHANS; i++)
diff -ru dev/sound/pci.old/es137x.c dev/sound/pci/es137x.c
--- dev/sound/pci.old/es137x.c Sat Sep 13 21:09:21 2003
+++ dev/sound/pci/es137x.c Fri Nov 7 19:03:01 2003
@@ -924,7 +924,7 @@
goto bad;
}
- snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld kld snd_es137x",
(es->regtype == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(es->reg), rman_get_start(es->irq));
diff -ru dev/sound/pci.old/fm801.c dev/sound/pci/fm801.c
--- dev/sound/pci.old/fm801.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/fm801.c Fri Nov 7 19:03:20 2003
@@ -638,7 +638,7 @@
goto oops;
}
- snprintf(status, 64, "at %s 0x%lx irq %ld",
+ snprintf(status, 64, "at %s 0x%lx irq %ld kld snd_fm801",
(fm801->regtype == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(fm801->reg), rman_get_start(fm801->irq));
diff -ru dev/sound/pci.old/ich.c dev/sound/pci/ich.c
--- dev/sound/pci.old/ich.c Wed Oct 22 00:55:50 2003
+++ dev/sound/pci/ich.c Fri Nov 7 19:03:32 2003
@@ -761,7 +761,7 @@
if (sc->hasmic)
pcm_addchan(dev, PCMDIR_REC, &ichchan_class, sc); /* record mic */
- snprintf(status, SND_STATUSLEN, "at io 0x%lx, 0x%lx irq %ld bufsz %u",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx, 0x%lx irq %ld bufsz %u kld snd_ich",
rman_get_start(sc->nambar), rman_get_start(sc->nabmbar), rman_get_start(sc->irq), sc->bufsz);
pcm_setstatus(dev, status);
diff -ru dev/sound/pci.old/maestro.c dev/sound/pci/maestro.c
--- dev/sound/pci.old/maestro.c Sat Sep 13 21:09:21 2003
+++ dev/sound/pci/maestro.c Fri Nov 7 19:03:46 2003
@@ -1033,7 +1033,7 @@
ess->irqid = irqid;
ess->ih = ih;
- snprintf(status, SND_STATUSLEN, "at I/O port 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at I/O port 0x%lx irq %ld kld snd_maestro",
rman_get_start(reg), rman_get_start(irq));
if (pcm_register(dev, ess, AGG_MAXPLAYCH, 1))
diff -ru dev/sound/pci.old/maestro3.c dev/sound/pci/maestro3.c
--- dev/sound/pci.old/maestro3.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/maestro3.c Fri Nov 7 19:04:05 2003
@@ -1189,7 +1189,7 @@
goto bad;
}
}
- snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld kld snd_maestro3",
(sc->regtype == SYS_RES_IOPORT)? "io" : "memory",
rman_get_start(sc->reg), rman_get_start(sc->irq));
if (pcm_setstatus(dev, status)) {
diff -ru dev/sound/pci.old/neomagic.c dev/sound/pci/neomagic.c
--- dev/sound/pci.old/neomagic.c Sat Sep 13 21:09:22 2003
+++ dev/sound/pci/neomagic.c Fri Nov 7 19:04:24 2003
@@ -704,7 +704,7 @@
goto bad;
}
- snprintf(status, SND_STATUSLEN, "at memory 0x%lx, 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at memory 0x%lx, 0x%lx irq %ld kld snd_neomagic",
rman_get_start(sc->buf), rman_get_start(sc->reg),
rman_get_start(sc->irq));
diff -ru dev/sound/pci.old/solo.c dev/sound/pci/solo.c
--- dev/sound/pci.old/solo.c Sat Sep 13 21:09:22 2003
+++ dev/sound/pci/solo.c Fri Nov 7 19:04:37 2003
@@ -997,7 +997,7 @@
goto no;
}
- snprintf(status, SND_STATUSLEN, "at io 0x%lx,0x%lx,0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx,0x%lx,0x%lx irq %ld kld snd_solo",
rman_get_start(sc->io), rman_get_start(sc->sb), rman_get_start(sc->vc),
rman_get_start(sc->irq));
diff -ru dev/sound/pci.old/t4dwave.c dev/sound/pci/t4dwave.c
--- dev/sound/pci.old/t4dwave.c Sat Sep 13 21:09:22 2003
+++ dev/sound/pci/t4dwave.c Fri Nov 7 19:04:48 2003
@@ -860,7 +860,7 @@
goto bad;
}
- snprintf(status, 64, "at io 0x%lx irq %ld",
+ snprintf(status, 64, "at io 0x%lx irq %ld kld snd_t4dwave",
rman_get_start(tr->reg), rman_get_start(tr->irq));
if (pcm_register(dev, tr, TR_MAXPLAYCH, 1)) goto bad;
diff -ru dev/sound/pci.old/via8233.c dev/sound/pci/via8233.c
--- dev/sound/pci.old/via8233.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/via8233.c Fri Nov 7 19:04:59 2003
@@ -843,7 +843,7 @@
ac97_setextmode(via->codec, ext);
}
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_via8233",
rman_get_start(via->reg), rman_get_start(via->irq));
/* Register */
diff -ru dev/sound/pci.old/via82c686.c dev/sound/pci/via82c686.c
--- dev/sound/pci.old/via82c686.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/via82c686.c Fri Nov 7 19:05:12 2003
@@ -572,7 +572,7 @@
if (bus_dmamap_load(via->sgd_dmat, via->sgd_dmamap, via->sgd_table, NSEGS * sizeof(struct via_dma_op), dma_cb, via, 0))
goto bad;
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld", rman_get_start(via->reg), rman_get_start(via->irq));
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_via82c686", rman_get_start(via->reg), rman_get_start(via->irq));
/* Register */
if (pcm_register(dev, via, 1, 1)) goto bad;
diff -ru dev/sound/pci.old/vibes.c dev/sound/pci/vibes.c
--- dev/sound/pci.old/vibes.c Sun Sep 7 05:14:58 2003
+++ dev/sound/pci/vibes.c Fri Nov 7 19:05:26 2003
@@ -878,7 +878,7 @@
pcm_addchan(dev, PCMDIR_PLAY, &svpchan_class, sc);
pcm_addchan(dev, PCMDIR_REC, &svrchan_class, sc);
- snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld",
+ snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld kld snd_vibes",
rman_get_start(sc->enh_reg), rman_get_start(sc->irq));
pcm_setstatus(dev, status);
--69pVuxX8awAiJ7fD--
>Release-Note:
>Audit-Trail:
>Unformatted:
--69pVuxX8awAiJ7fD
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
More information about the freebsd-bugs
mailing list