kernel: Use NULL for pointers in DRIVER_MODULE().
[dragonfly.git] / sys / dev / sound / pci / emu10kx-midi.c
index 5123214..a305c79 100644 (file)
 #include <sys/param.h>
 #include <sys/types.h>
 #include <sys/bus.h>
-#include <machine/bus.h>
 #include <sys/rman.h>
 #include <sys/systm.h>
 #include <sys/sbuf.h>
 #include <sys/queue.h>
 #include <sys/lock.h>
-#include <sys/mutex.h>
 
 #ifdef HAVE_KERNEL_OPTION_HEADERS
 #include "opt_snd.h"
@@ -54,7 +52,7 @@
 #include <dev/sound/pci/emu10kx.h>
 
 struct emu_midi_softc {
-       struct mtx      mtx;
+       struct lock     lock;
        device_t        dev;
        struct mpu401   *mpu;
        mpu401_intr_t   *mpu_intr;
@@ -99,9 +97,9 @@ emu_muninit(struct mpu401 *arg __unused, void *cookie)
 {
        struct emu_midi_softc *sc = cookie;
 
-       mtx_lock(&sc->mtx);
+       lockmgr(&sc->lock, LK_EXCLUSIVE);
        sc->mpu_intr = NULL;
-       mtx_unlock(&sc->mtx);
+       lockmgr(&sc->lock, LK_RELEASE);
 
        return (0);
 }
@@ -171,7 +169,7 @@ emu_midi_attach(device_t dev)
        scp->port = midiinfo->port;
        scp->card = midiinfo->card;
 
-       mtx_init(&scp->mtx, device_get_nameunit(dev), "midi softc", MTX_DEF);
+       lockinit(&scp->lock, device_get_nameunit(dev), 0, LK_CANRECURSE);
 
        if (scp->is_emu10k1) {
                /* SB Live! - only one MIDI device here */
@@ -203,7 +201,7 @@ emu_midi_attach(device_t dev)
        scp->mpu = mpu401_init(&emu_mpu_class, scp, emu_midi_intr, &scp->mpu_intr);
        if (scp->mpu == NULL) {
                emu_intr_unregister(scp->card, scp->ihandle);
-               mtx_destroy(&scp->mtx);
+               lockuninit(&scp->lock);
                return (ENOMEM);
        }
        /*
@@ -230,7 +228,7 @@ emu_midi_detach(device_t dev)
        scp = device_get_softc(dev);
        mpu401_uninit(scp->mpu);
        emu_intr_unregister(scp->card, scp->ihandle);
-       mtx_destroy(&scp->mtx);
+       lockuninit(&scp->lock);
        return (0);
 }
 
@@ -247,7 +245,8 @@ static driver_t emu_midi_driver = {
        emu_midi_methods,
        sizeof(struct emu_midi_softc),
 };
-DRIVER_MODULE(snd_emu10kx_midi, emu10kx, emu_midi_driver, emu_midi_devclass, 0, 0);
+DRIVER_MODULE(snd_emu10kx_midi, emu10kx, emu_midi_driver, emu_midi_devclass,
+    NULL, NULL);
 MODULE_DEPEND(snd_emu10kx_midi, snd_emu10kx, SND_EMU10KX_MINVER, SND_EMU10KX_PREFVER, SND_EMU10KX_MAXVER);
 MODULE_DEPEND(snd_emu10kx_midi, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER);
 MODULE_VERSION(snd_emu10kx_midi, SND_EMU10KX_PREFVER);