git: 6cdd3226c718 - main - sound: Retire midisynth

From: Christos Margiolis <christos_at_FreeBSD.org>
Date: Sun, 06 Jul 2025 13:09:01 UTC
The branch main has been updated by christos:

URL: https://cgit.FreeBSD.org/src/commit/?id=6cdd3226c7186f91d3495aa5233ce559a880ad9d

commit 6cdd3226c7186f91d3495aa5233ce559a880ad9d
Author:     Christos Margiolis <christos@FreeBSD.org>
AuthorDate: 2025-07-06 13:08:18 +0000
Commit:     Christos Margiolis <christos@FreeBSD.org>
CommitDate: 2025-07-06 13:08:18 +0000

    sound: Retire midisynth
    
    Unused code since we retired the sequencer.
    
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D50609
---
 sys/conf/files                   |   1 -
 sys/dev/sound/midi/midi.c        | 390 ---------------------------------------
 sys/dev/sound/midi/midi.h        |   6 -
 sys/dev/sound/midi/synth_if.m    | 312 -------------------------------
 sys/modules/sound/sound/Makefile |   4 +-
 5 files changed, 2 insertions(+), 711 deletions(-)

diff --git a/sys/conf/files b/sys/conf/files
index 7c023af39b2a..866901ba4c51 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -3173,7 +3173,6 @@ dev/sound/midi/midi.c		optional sound
 dev/sound/midi/mpu401.c		optional sound
 dev/sound/midi/mpu_if.m		optional sound
 dev/sound/midi/mpufoi_if.m	optional sound
-dev/sound/midi/synth_if.m	optional sound
 dev/spibus/acpi_spibus.c	optional acpi spibus
 dev/spibus/ofw_spibus.c		optional fdt spibus
 dev/spibus/spibus.c		optional spibus				\
diff --git a/sys/dev/sound/midi/midi.c b/sys/dev/sound/midi/midi.c
index 93a535b940a2..bbb1ff3dd8dc 100644
--- a/sys/dev/sound/midi/midi.c
+++ b/sys/dev/sound/midi/midi.c
@@ -66,7 +66,6 @@
 #include "mpu_if.h"
 
 #include <dev/sound/midi/midiq.h>
-#include "synth_if.h"
 MALLOC_DEFINE(M_MIDI, "midi buffers", "Midi data allocation area");
 
 #ifndef KOBJMETHOD_END
@@ -115,41 +114,9 @@ struct snd_midi {
 					 * complete command packets. */
 	struct proc *async;
 	struct cdev *dev;
-	struct synth_midi *synth;
-	int	synth_flags;
 	TAILQ_ENTRY(snd_midi) link;
 };
 
-struct synth_midi {
-	KOBJ_FIELDS;
-	struct snd_midi *m;
-};
-
-static synth_open_t midisynth_open;
-static synth_close_t midisynth_close;
-static synth_writeraw_t midisynth_writeraw;
-static synth_killnote_t midisynth_killnote;
-static synth_startnote_t midisynth_startnote;
-static synth_setinstr_t midisynth_setinstr;
-static synth_alloc_t midisynth_alloc;
-static synth_controller_t midisynth_controller;
-static synth_bender_t midisynth_bender;
-
-static kobj_method_t midisynth_methods[] = {
-	KOBJMETHOD(synth_open, midisynth_open),
-	KOBJMETHOD(synth_close, midisynth_close),
-	KOBJMETHOD(synth_writeraw, midisynth_writeraw),
-	KOBJMETHOD(synth_setinstr, midisynth_setinstr),
-	KOBJMETHOD(synth_startnote, midisynth_startnote),
-	KOBJMETHOD(synth_killnote, midisynth_killnote),
-	KOBJMETHOD(synth_alloc, midisynth_alloc),
-	KOBJMETHOD(synth_controller, midisynth_controller),
-	KOBJMETHOD(synth_bender, midisynth_bender),
-	KOBJMETHOD_END
-};
-
-DEFINE_CLASS(midisynth, midisynth_methods, 0);
-
 /*
  * Module Exports & Interface
  *
@@ -326,9 +293,6 @@ midi_init(kobj_class_t cls, int unit, int channel, void *cookie)
 
 	MIDI_DEBUG(1, printf("midiinit #2: unit %d/%d.\n", unit, channel));
 	m = malloc(sizeof(*m), M_MIDI, M_WAITOK | M_ZERO);
-	m->synth = malloc(sizeof(*m->synth), M_MIDI, M_WAITOK | M_ZERO);
-	kobj_init((kobj_t)m->synth, &midisynth_class);
-	m->synth->m = m;
 	kobj_init((kobj_t)m, cls);
 	inqsize = MPU_INQSIZE(m, cookie);
 	outqsize = MPU_OUTQSIZE(m, cookie);
@@ -393,7 +357,6 @@ err2:
 	if (MIDIQ_BUF(m->outq))
 		free(MIDIQ_BUF(m->outq), M_MIDI);
 err1:
-	free(m->synth, M_MIDI);
 	free(m, M_MIDI);
 err0:
 	midistat_unlock();
@@ -1069,298 +1032,6 @@ midi_cmdname(int cmd)
 
 #endif					/* notdef */
 
-/*
- * midisynth
- */
-
-int
-midisynth_open(void *n, void *arg, int flags)
-{
-	struct snd_midi *m = ((struct synth_midi *)n)->m;
-	int retval;
-
-	MIDI_DEBUG(1, printf("midisynth_open %s %s\n",
-	    flags & FREAD ? "M_RX" : "", flags & FWRITE ? "M_TX" : ""));
-
-	if (m == NULL)
-		return ENXIO;
-
-	mtx_lock(&m->lock);
-	mtx_lock(&m->qlock);
-
-	retval = 0;
-
-	if (flags & FREAD) {
-		if (MIDIQ_SIZE(m->inq) == 0)
-			retval = ENXIO;
-		else if (m->flags & M_RX)
-			retval = EBUSY;
-		if (retval)
-			goto err;
-	}
-	if (flags & FWRITE) {
-		if (MIDIQ_SIZE(m->outq) == 0)
-			retval = ENXIO;
-		else if (m->flags & M_TX)
-			retval = EBUSY;
-		if (retval)
-			goto err;
-	}
-	m->busy++;
-
-	/*
-	 * TODO: Consider m->async = 0;
-	 */
-
-	if (flags & FREAD) {
-		m->flags |= M_RX | M_RXEN;
-		/*
-	         * Only clear the inq, the outq might still have data to drain
-	         * from a previous session
-	         */
-		MIDIQ_CLEAR(m->inq);
-		m->rchan = 0;
-	}
-
-	if (flags & FWRITE) {
-		m->flags |= M_TX;
-		m->wchan = 0;
-	}
-	m->synth_flags = flags & (FREAD | FWRITE);
-
-	MPU_CALLBACK(m, m->cookie, m->flags);
-
-err:	mtx_unlock(&m->qlock);
-	mtx_unlock(&m->lock);
-	MIDI_DEBUG(2, printf("midisynth_open: return %d.\n", retval));
-	return retval;
-}
-
-int
-midisynth_close(void *n)
-{
-	struct snd_midi *m = ((struct synth_midi *)n)->m;
-	int retval;
-	int oldflags;
-
-	MIDI_DEBUG(1, printf("midisynth_close %s %s\n",
-	    m->synth_flags & FREAD ? "M_RX" : "",
-	    m->synth_flags & FWRITE ? "M_TX" : ""));
-
-	if (m == NULL)
-		return ENXIO;
-
-	mtx_lock(&m->lock);
-	mtx_lock(&m->qlock);
-
-	if ((m->synth_flags & FREAD && !(m->flags & M_RX)) ||
-	    (m->synth_flags & FWRITE && !(m->flags & M_TX))) {
-		retval = ENXIO;
-		goto err;
-	}
-	m->busy--;
-
-	oldflags = m->flags;
-
-	if (m->synth_flags & FREAD)
-		m->flags &= ~(M_RX | M_RXEN);
-	if (m->synth_flags & FWRITE)
-		m->flags &= ~M_TX;
-
-	if ((m->flags & (M_TXEN | M_RXEN)) != (oldflags & (M_RXEN | M_TXEN)))
-		MPU_CALLBACK(m, m->cookie, m->flags);
-
-	MIDI_DEBUG(1, printf("midi_close: closed, busy = %d.\n", m->busy));
-
-	mtx_unlock(&m->qlock);
-	mtx_unlock(&m->lock);
-	retval = 0;
-err:	return retval;
-}
-
-/*
- * Always blocking.
- */
-
-int
-midisynth_writeraw(void *n, uint8_t *buf, size_t len)
-{
-	struct snd_midi *m = ((struct synth_midi *)n)->m;
-	int retval;
-	int used;
-	int i;
-
-	MIDI_DEBUG(4, printf("midisynth_writeraw\n"));
-
-	retval = 0;
-
-	if (m == NULL)
-		return ENXIO;
-
-	mtx_lock(&m->lock);
-	mtx_lock(&m->qlock);
-
-	if (!(m->flags & M_TX))
-		goto err1;
-
-	if (midi_dumpraw)
-		printf("midi dump: ");
-
-	while (len > 0) {
-		while (MIDIQ_AVAIL(m->outq) == 0) {
-			if (!(m->flags & M_TXEN)) {
-				m->flags |= M_TXEN;
-				MPU_CALLBACK(m, m->cookie, m->flags);
-			}
-			mtx_unlock(&m->lock);
-			m->wchan = 1;
-			MIDI_DEBUG(3, printf("midisynth_writeraw msleep\n"));
-			retval = msleep(&m->wchan, &m->qlock,
-			    PCATCH | PDROP, "midi TX", 0);
-			/*
-			 * We slept, maybe things have changed since last
-			 * dying check
-			 */
-			if (retval == EINTR)
-				goto err0;
-
-			if (retval)
-				goto err0;
-			mtx_lock(&m->lock);
-			mtx_lock(&m->qlock);
-			m->wchan = 0;
-			if (!m->busy)
-				goto err1;
-		}
-
-		/*
-	         * We are certain than data can be placed on the queue
-	         */
-
-		used = MIN(MIDIQ_AVAIL(m->outq), len);
-		used = MIN(used, MIDI_WSIZE);
-		MIDI_DEBUG(5,
-		    printf("midi_synth: resid %zu len %jd avail %jd\n",
-		    len, (intmax_t)MIDIQ_LEN(m->outq),
-		    (intmax_t)MIDIQ_AVAIL(m->outq)));
-
-		if (midi_dumpraw)
-			for (i = 0; i < used; i++)
-				printf("%x ", buf[i]);
-
-		MIDIQ_ENQ(m->outq, buf, used);
-		len -= used;
-
-		/*
-	         * Inform the bottom half that data can be written
-	         */
-		if (!(m->flags & M_TXEN)) {
-			m->flags |= M_TXEN;
-			MPU_CALLBACK(m, m->cookie, m->flags);
-		}
-	}
-	/*
-	 * If we Made it here then transfer is good
-	 */
-	if (midi_dumpraw)
-		printf("\n");
-
-	retval = 0;
-err1:	mtx_unlock(&m->qlock);
-	mtx_unlock(&m->lock);
-err0:	return retval;
-}
-
-static int
-midisynth_killnote(void *n, uint8_t chn, uint8_t note, uint8_t vel)
-{
-	u_char c[3];
-
-	if (note > 127 || chn > 15)
-		return (EINVAL);
-
-	if (vel > 127)
-		vel = 127;
-
-	if (vel == 64) {
-		c[0] = 0x90 | (chn & 0x0f);	/* Note on. */
-		c[1] = (u_char)note;
-		c[2] = 0;
-	} else {
-		c[0] = 0x80 | (chn & 0x0f);	/* Note off. */
-		c[1] = (u_char)note;
-		c[2] = (u_char)vel;
-	}
-
-	return midisynth_writeraw(n, c, 3);
-}
-
-static int
-midisynth_setinstr(void *n, uint8_t chn, uint16_t instr)
-{
-	u_char c[2];
-
-	if (instr > 127 || chn > 15)
-		return EINVAL;
-
-	c[0] = 0xc0 | (chn & 0x0f);	/* Progamme change. */
-	c[1] = instr + midi_instroff;
-
-	return midisynth_writeraw(n, c, 2);
-}
-
-static int
-midisynth_startnote(void *n, uint8_t chn, uint8_t note, uint8_t vel)
-{
-	u_char c[3];
-
-	if (note > 127 || chn > 15)
-		return EINVAL;
-
-	if (vel > 127)
-		vel = 127;
-
-	c[0] = 0x90 | (chn & 0x0f);	/* Note on. */
-	c[1] = (u_char)note;
-	c[2] = (u_char)vel;
-
-	return midisynth_writeraw(n, c, 3);
-}
-static int
-midisynth_alloc(void *n, uint8_t chan, uint8_t note)
-{
-	return chan;
-}
-
-static int
-midisynth_controller(void *n, uint8_t chn, uint8_t ctrlnum, uint16_t val)
-{
-	u_char c[3];
-
-	if (ctrlnum > 127 || chn > 15)
-		return EINVAL;
-
-	c[0] = 0xb0 | (chn & 0x0f);	/* Control Message. */
-	c[1] = ctrlnum;
-	c[2] = val;
-	return midisynth_writeraw(n, c, 3);
-}
-
-static int
-midisynth_bender(void *n, uint8_t chn, uint16_t val)
-{
-	u_char c[3];
-
-	if (val > 16383 || chn > 15)
-		return EINVAL;
-
-	c[0] = 0xe0 | (chn & 0x0f);	/* Pitch bend. */
-	c[1] = (u_char)val & 0x7f;
-	c[2] = (u_char)(val >> 7) & 0x7f;
-
-	return midisynth_writeraw(n, c, 3);
-}
-
 /*
  * Single point of midi destructions.
  */
@@ -1381,7 +1052,6 @@ midi_destroy(struct snd_midi *m, int midiuninit)
 	free(MIDIQ_BUF(m->outq), M_MIDI);
 	mtx_destroy(&m->qlock);
 	mtx_destroy(&m->lock);
-	free(m->synth, M_MIDI);
 	free(m, M_MIDI);
 	return 0;
 }
@@ -1464,65 +1134,5 @@ midi_modevent(module_t mod, int type, void *data)
 	return retval;
 }
 
-int
-midimapper_open_locked(void *arg1, void **cookie)
-{
-	int retval = 0;
-	struct snd_midi *m;
-
-	midistat_lockassert();
-	TAILQ_FOREACH(m, &midi_devs, link) {
-		retval++;
-	}
-
-	return retval;
-}
-
-int
-midimapper_open(void *arg1, void **cookie)
-{
-	int retval;
-
-	midistat_lock();
-	retval = midimapper_open_locked(arg1, cookie);
-	midistat_unlock();
-
-	return retval;
-}
-
-int
-midimapper_close(void *arg1, void *cookie)
-{
-	return 0;
-}
-
-kobj_t
-midimapper_fetch_synth_locked(void *arg, void *cookie, int unit)
-{
-	struct snd_midi *m;
-	int retval = 0;
-
-	midistat_lockassert();
-	TAILQ_FOREACH(m, &midi_devs, link) {
-		if (unit == retval)
-			return (kobj_t)m->synth;
-		retval++;
-	}
-
-	return NULL;
-}
-
-kobj_t
-midimapper_fetch_synth(void *arg, void *cookie, int unit)
-{
-	kobj_t synth;
-
-	midistat_lock();
-	synth = midimapper_fetch_synth_locked(arg, cookie, unit);
-	midistat_unlock();
-
-	return synth;
-}
-
 DEV_MODULE(midi, midi_modevent, NULL);
 MODULE_VERSION(midi, 1);
diff --git a/sys/dev/sound/midi/midi.h b/sys/dev/sound/midi/midi.h
index 8becc20d35e6..286e84264ef3 100644
--- a/sys/dev/sound/midi/midi.h
+++ b/sys/dev/sound/midi/midi.h
@@ -51,10 +51,4 @@ int	midi_uninit(struct snd_midi *_m);
 int	midi_out(struct snd_midi *_m, uint8_t *_buf, int _size);
 int	midi_in(struct snd_midi *_m, uint8_t *_buf, int _size);
 
-int	midimapper_open_locked(void *arg1, void **cookie);
-int	midimapper_open(void *arg1, void **cookie);
-int	midimapper_close(void *arg1, void *cookie);
-kobj_t	midimapper_fetch_synth_locked(void *arg, void *cookie, int unit);
-kobj_t	midimapper_fetch_synth(void *arg, void *cookie, int unit);
-
 #endif
diff --git a/sys/dev/sound/midi/synth_if.m b/sys/dev/sound/midi/synth_if.m
deleted file mode 100644
index a763b3422bc6..000000000000
--- a/sys/dev/sound/midi/synth_if.m
+++ /dev/null
@@ -1,312 +0,0 @@
-#-
-# Copyright (c) 2003 Mathew Kanner
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-#    notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-#    notice, this list of conditions and the following disclaimer in the
-#    documentation and/or other materials provided with the distribution.
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-# SUCH DAMAGE.
-#
-#
-
-INTERFACE synth;
-
-#include <sys/systm.h>
-
-CODE {
-
-synth_killnote_t nokillnote;
-synth_startnote_t nostartnote;
-synth_setinstr_t nosetinstr;
-synth_hwcontrol_t nohwcontrol;
-synth_aftertouch_t noaftertouch;
-synth_panning_t nopanning;
-synth_controller_t nocontroller;
-synth_volumemethod_t novolumemethod;
-synth_bender_t nobender;
-synth_setupvoice_t nosetupvoice;
-synth_sendsysex_t nosendsysex;
-synth_allocvoice_t noallocvoice;
-synth_writeraw_t nowriteraw;
-synth_reset_t noreset;
-synth_shortname_t noshortname;
-synth_open_t noopen;
-synth_close_t noclose;
-synth_query_t noquery;
-synth_insync_t noinsync;
-synth_alloc_t noalloc;
-
-    int
-	nokillnote(void *_kobj, uint8_t _chn, uint8_t _note, uint8_t _vel)
-	{
-	    printf("nokillnote\n");
-	    return 0;
-	}
-
-    int
-	noopen(void *_kobj, void *_arg, int mode)
-	{
-	    printf("noopen\n");
-	    return 0;
-	}
-
-    int
-	noquery(void *_kboj)
-	{
-	    printf("noquery\n");
-	    return 0;
-	}
-
-    int
-	nostartnote(void *_kb, uint8_t _voice, uint8_t _note, uint8_t _parm)
-	{
-	    printf("nostartnote\n");
-	    return 0;
-	}
-
-    int
-	nosetinstr(void *_kb, uint8_t _chn, uint16_t _patchno)
-	{
-	    printf("nosetinstr\n");
-	    return 0;
-	}
-
-    int
-	nohwcontrol(void *_kb, uint8_t *_event)
-	{
-	    printf("nohwcontrol\n");
-	    return 0;
-	}
-
-    int 
-	noaftertouch ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
-	{
-	    printf("noaftertouch\n");
-	    return 0;
-	}
-
-    int
-	nopanning ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2)
-	{
-	    printf("nopanning\n");
-	    return 0;
-	}
-
-    int 
-	nocontroller ( void /* X */ * _kobj, uint8_t _x1, uint8_t _x2, uint16_t _x3)
-	{
-	    printf("nocontroller\n");
-	    return 0;
-	}
-
-    int 
-	novolumemethod (
-		void /* X */ * _kobj,
-		uint8_t _x1)
-	{
-	    printf("novolumemethod\n");
-	    return 0;
-	}
-
-    int 
-	nobender ( void /* X */ * _kobj, uint8_t _voice, uint16_t _bend)
-	{
-	    printf("nobender\n");
-	    return 0;
-	}
-
-    int 
-	nosetupvoice ( void /* X */ * _kobj, uint8_t _voice, uint8_t _chn)
-	{
-
-	    printf("nosetupvoice\n");
-	    return 0;
-	}
-
-    int 
-	nosendsysex ( void /* X */ * _kobj, void * _buf, size_t _len)
-	{
-	    printf("nosendsysex\n");
-	    return 0;
-	}
-
-    int 
-	noallocvoice ( void /* X */ * _kobj, uint8_t _chn, uint8_t _note, void *_x)
-	{
-	    printf("noallocvoice\n");
-	    return 0;
-	}
-
-    int 
-	nowriteraw ( void /* X */ * _kobjt, uint8_t * _buf, size_t _len)
-	{
-	    printf("nowriteraw\n");
-	    return 1;
-	}
-
-    int 
-	noreset ( void /* X */ * _kobjt)
-	{
-
-	    printf("noreset\n");
-	    return 0;
-	}
-
-    char *
-	noshortname (void /* X */ * _kobjt)
-	{
-	    printf("noshortname\n");
-	    return "noshortname";
-	}
-
-    int 
-	noclose ( void /* X */ * _kobjt)
-	{
-
-	    printf("noclose\n");
-	    return 0;
-	}
-
-    int
-	noinsync (void /* X */ * _kobjt)
-	{
-
-	    printf("noinsync\n");
-	    return 0;
-	}
-
-    int 
-	noalloc ( void /* x */ * _kbojt, uint8_t _chn, uint8_t _note)
-	{
-	    printf("noalloc\n");
-	    return 0;
-	}
-}
-
-METHOD int killnote {
-	void /* X */ *_kobj;
-	uint8_t	_chan;
-	uint8_t	_note;
-	uint8_t	_vel;
-} DEFAULT nokillnote;
-
-METHOD int startnote {
-	void /* X */ *_kobj;
-	uint8_t	_voice;
-	uint8_t	_note;
-	uint8_t	_parm;
-} DEFAULT nostartnote;
-
-METHOD int setinstr {
-	void /* X */ *_kobj;
-	uint8_t	_chn;
-	uint16_t _patchno;
-} DEFAULT nosetinstr;
-
-METHOD int hwcontrol {
-	void /* X */ *_kobj;
-	uint8_t *_event;
-} DEFAULT nohwcontrol;
-
-METHOD int aftertouch {
-	void /* X */ *_kobj;
-	uint8_t	_x1;
-	uint8_t	_x2;
-} DEFAULT noaftertouch;
-
-METHOD int panning {
-	void /* X */ *_kobj;
-	uint8_t	_x1;
-	uint8_t	_x2;
-} DEFAULT nopanning;
-
-METHOD int controller {
-	void /* X */ *_kobj;
-	uint8_t	_x1;
-	uint8_t	_x2;
-	uint16_t _x3;
-} DEFAULT nocontroller;
-
-METHOD int volumemethod {
-	void /* X */ *_kobj;
-	uint8_t	_x1;
-} DEFAULT novolumemethod;
-
-METHOD int bender {
-	void /* X */ *_kobj;
-	uint8_t	_voice;
-	uint16_t _bend;
-} DEFAULT nobender;
-
-METHOD int setupvoice {
-	void /* X */ *_kobj;
-	uint8_t	_voice;
-	uint8_t	_chn;
-} DEFAULT nosetupvoice;
-
-METHOD int sendsysex {
-	void /* X */ *_kobj;
-	void   *_buf;
-	size_t	_len;
-} DEFAULT nosendsysex;
-
-METHOD int allocvoice {
-	void /* X */ *_kobj;
-	uint8_t	_chn;
-	uint8_t	_note;
-	void   *_x;
-} DEFAULT noallocvoice;
-
-METHOD int writeraw {
-	void /* X */ *_kobjt;
-	uint8_t *_buf;
-	size_t	_len;
-} DEFAULT nowriteraw;
-
-METHOD int reset {
-	void /* X */ *_kobjt;
-} DEFAULT noreset;
-
-METHOD char * shortname {
-	void /* X */ *_kobjt;
-} DEFAULT noshortname;
-
-METHOD int open {
-	void /* X */ *_kobjt;
-	void   *_sythn;
-	int	_mode;
-} DEFAULT noopen;
-
-METHOD int close {
-	void /* X */ *_kobjt;
-} DEFAULT noclose;
-
-METHOD int query {
-	void /* X */ *_kobjt;
-} DEFAULT noquery;
-
-METHOD int insync {
-	void /* X */ *_kobjt;
-} DEFAULT noinsync;
-
-METHOD int alloc {
-	void /* x */ *_kbojt;
-	uint8_t	_chn;
-	uint8_t	_note;
-} DEFAULT noalloc;
diff --git a/sys/modules/sound/sound/Makefile b/sys/modules/sound/sound/Makefile
index c62427e1622f..f3978e9bd9cc 100644
--- a/sys/modules/sound/sound/Makefile
+++ b/sys/modules/sound/sound/Makefile
@@ -13,8 +13,8 @@ SRCS+=	feeder.c feeder_rate.c feeder_volume.c
 SRCS+=	feeder_chain.c feeder_eq.c feeder_format.c
 SRCS+=	feeder_matrix.c feeder_mixer.c
 SRCS+=	feeder_eq_gen.h feeder_rate_gen.h snd_fxdiv_gen.h
-SRCS+=	mpu_if.h mpufoi_if.h synth_if.h
-SRCS+=	mpu_if.c mpufoi_if.c synth_if.c
+SRCS+=	mpu_if.h mpufoi_if.h
+SRCS+=	mpu_if.c mpufoi_if.c
 SRCS+=	ac97.c buffer.c channel.c dsp.c
 SRCS+=	mixer.c sndstat.c sound.c vchan.c
 SRCS+=	midi.c mpu401.c