freebsd-dev/sys/i386/isa/sound
Julian Elischer 376c314995 the second set of changes in a move towards getting devices to be
totally dynamic. (the first was about 7 weeeks ago)

this is only the devices in i386/isa
I'll do more tomorrow.
they're completely masked by #ifdef JREMOD at this stage...
the eventual aim is that every driver will do a SYSINIT
at startup BEFORE the probes, which will effectively
link it into the devsw tables etc.

If I'd thought about it more I'd have put that in in this set (damn)
The ioconf lines generated by config will also end up in the
device's own scope as well, so ioconf.c will eventually be gutted
the SYSINIT call to the driver will include a phase where the
driver links it's ioconf line into a chain of such. when this phase is done
then the user can modify them with the boot: -c
config menu if he wants, just like now..
config will put the config lines out in the .h file
(e.g. in aha.h will be the addresses for the aha driver to look.)
as I said this is a very small first step..
the aim of THIS set of edits is to not have to edit conf.c at all when
adding a new device.. the tabe will be a simple skeleton..

when this is done, it will allow other changes to be made,
all teh time still having a fully working kernel tree,
but the logical outcome is the complete REMOVAL of the devsw tables.

By the end of this, linked in drivers will be exactly the same as
run-time loaded drivers, except they JUST HAPPEN to already be linked
and present at startup..
the SYSINIT calls will be the equivalent of the "init" call
made to a newly loaded driver in every respect.

For this edit,
each of the files has the following code inserted into it:

obviously, tailored to suit..
----------------------somewhere at the top:
#ifdef JREMOD
#include <sys/conf.h>
#define CDEV_MAJOR 13
#define BDEV_MAJOR 4
static void 	sd_devsw_install();
#endif /*JREMOD */
---------------------somewhere that's run during bootup: EVENTUALLY a SYSINIT
#ifdef JREMOD
        sd_devsw_install();
#endif /*JREMOD*/
-----------------------at the bottom:
#ifdef JREMOD
struct bdevsw sd_bdevsw =
	{ sdopen,	sdclose,	sdstrategy,	sdioctl,	/*4*/
	  sddump,	sdsize,		0 };

struct cdevsw sd_cdevsw =
	{ sdopen,	sdclose,	rawread,	rawwrite,	/*13*/
	  sdioctl,	nostop,		nullreset,	nodevtotty,/* sd */
	  seltrue,	nommap,		sdstrategy };

static sd_devsw_installed = 0;

static void 	sd_devsw_install()
{
	dev_t descript;
	if( ! sd_devsw_installed ) {
		descript = makedev(CDEV_MAJOR,0);
		cdevsw_add(&descript,&sd_cdevsw,NULL);
#if defined(BDEV_MAJOR)
		descript = makedev(BDEV_MAJOR,0);
		bdevsw_add(&descript,&sd_bdevsw,NULL);
#endif /*BDEV_MAJOR*/
		sd_devsw_installed = 1;
	}
}
#endif /* JREMOD */
1995-11-28 09:43:45 +00:00
..
gustest Added $Id$ 1994-08-02 07:55:43 +00:00
ad1848_mixer.h Staticize various private parts. 1995-11-14 09:58:47 +00:00
ad1848.c Yet Another Sound Patch (YASP :-). This should fix the problems with 1995-09-05 19:48:58 +00:00
adlib_card.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
aedsp16.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
audio.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
CHANGELOG Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
configure.c Hannu Savolainen's VoxWare original sound drivers, version 2.9. 1994-10-01 01:33:47 +00:00
coproc.h This file got left out for some reason - merge it in with the rest of 1995-07-28 23:37:32 +00:00
COPYING Hannu Savolainen's VoxWare original sound drivers, version 2.9. 1994-10-01 01:33:47 +00:00
dev_table.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
dev_table.h Moved bogusly placed #endif that hid some prototypes. 1995-11-18 09:37:42 +00:00
dmabuf.c Jim's attempt to fix the new sound code somewhat. Tested with 1995-09-01 19:09:11 +00:00
finetune.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
gus_card.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
gus_hw.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
gus_linearvol.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
gus_midi.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
gus_vol.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
gus_wave.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
hex2hex.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
HOWTO_MIDI This is the Linux generic soundcard driver, version 1.0c. Supports 1993-10-23 10:55:52 +00:00
ics2101.c Fix enough of the recently introduced brokenness for LINT to compile. 1995-07-29 14:20:54 +00:00
local.h Jim's attempt to fix the new sound code somewhat. Tested with 1995-09-01 19:09:11 +00:00
mad16.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
midi_ctrl.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
midi_synth.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
midi_synth.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
midi.c Added $Id$ 1994-08-02 07:55:43 +00:00
midibuf.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
mpu401.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
opl3.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
opl3.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
os.h Fix enough of the recently introduced brokenness for LINT to compile. 1995-07-29 14:20:54 +00:00
pas2_card.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
pas2_midi.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
pas2_mixer.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
pas2_pcm.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
pas.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
patmgr.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
pro_midi.c Added $Id$ 1994-08-02 07:55:43 +00:00
pss.c Revert to earlier code which contains FreeBSD snd[1-7] probe information, 1995-03-05 22:11:57 +00:00
pss.h Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs. 1995-03-04 21:11:21 +00:00
README Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs. 1995-03-04 21:11:21 +00:00
Readme.aedsp16 Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
Readme.freebsd Have dmabuf.c match the roll-back in soundcard.c. We should be making 1995-03-05 08:10:28 +00:00
Readme.modules Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
Readme.v30 Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
RELNOTES This is the Linux generic soundcard driver, version 1.0c. Supports 1993-10-23 10:55:52 +00:00
RELNOTES.Linux Update sound driver to version 2.5 1994-04-23 01:50:14 +00:00
sb16_dsp.c Yet Another Sound Patch (YASP :-). This should fix the problems with 1995-09-05 19:48:58 +00:00
sb16_midi.c Moved a nested extern declaration to a less bogus place to hide a warning. 1995-11-04 10:54:53 +00:00
sb_card.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sb_dsp.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sb_midi.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sb_mixer.c Make everything except the unsupported network sources compile cleanly 1995-08-16 16:14:28 +00:00
sb_mixer.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sb.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sequencer.c Added bogusly placed extern prototypes for functions that should probably 1995-11-24 15:08:07 +00:00
sound_calls.h Added `#include "ioconf.h"' to <machine/conf.h> and cleaned up the 1995-11-04 17:08:13 +00:00
sound_config.h Fix enough of the recently introduced brokenness for LINT to compile. 1995-07-29 14:20:54 +00:00
sound_switch.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sound_timer.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sound.doc Jim's attempt to fix the new sound code somewhat. Tested with 1995-09-01 19:09:11 +00:00
soundcard.c the second set of changes in a move towards getting devices to be 1995-11-28 09:43:45 +00:00
soundcard.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
soundvers.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sscape.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
sys_timer.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
trix.c Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
tuning.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
uart6850.c Fix enough of the recently introduced brokenness for LINT to compile. 1995-07-29 14:20:54 +00:00
ulaw.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
ultrasound.h Update the sound driver to VOXWARE 3.05 with one GUS patch from 1995-07-28 21:40:49 +00:00
vat_audio.c Remove trailing whitespace. 1995-05-30 08:16:23 +00:00
vat_audioio.h Upgrade the sound drivers to VoxWare pre-3.0 and fix a number of bugs. 1995-03-04 21:11:21 +00:00

VoxWare v2.90 release notes
--------------------------


		This version includes some hidden features which
		are described in the file experimental.txt
		Some of these features are not enabled by default. Look at
		experimental.txt for more info.

		I just decided to release this version with some
		incompletely implemented features disabled since
		there are some new features required by a popular 
		application. In addition there is also support
		for the GUS MAX and the 16 bit sampling option of GUS.

		The MSS/WSS support works now. At least with SG NX Pro 16.

********* IMPORTANT *****************************************
Linux 1.0 or later is required to by this driver version.

Don't distribute binaries which use /dev/sequencer and are
compiled with the soundcard.h of this version. They will
not work with version 2.x of the driver.
*************************************************************


You will need the snd-util-2.5.tar.gz and snd-data-0.1.tar.Z
packages to use this driver. They should be in the same
ftp site or BBS from where you got this driver. For
example at nic.funet.fi:pub/OS/Linux/*.

If you are looking for the installation instructions, please
look at linux/Readme.

Compatibility with the earlier versions
---------------------------------------

This version is backward compatible with the version 2.X. All programs
compiled with sys/soundcard.h of v2.X should work without problems.
PROGRAMS COMPILED WITH THE sys/soundcard.h OF THIS VERSION WILL NOT
WORK WITH v2.X DRIVER. BE CAREFUL WHEN DISTRIBUTING BINARIES COMPILED 
FOR THIS VERSION.

Contributors
------------

This driver contains code by several contributors. In addition several other
persons have given useful suggestions. The following is a list of major
contributors. (I could have forgotten some names.)

	Craig Metz	1/2 of the PAS16 Mixer and PCM support
	Rob Hooft	Volume computation algorithm for the FM synth.
	Mika Liljeberg	uLaw encoding and decoding routines
	Greg Lee	Volume computation algorithm for the GUS and
			lot's of valuable suggestions.
	Andy Warner	ISC port
	Jim Lowe	FreeBSD port
	Anders Baekgaard 	Bughunting and valuable suggestions.
	Joerg Schubert	SB16 DSP support.
	Andrew Robinson Improvements to the GUS driver
	Megens SA	MIDI recording for SB and SB Pro.
	Mikael Nordqvist  Linear volume support for GUS.
	Mikael Nordqvist  	Linear volume support for GUS.
	Ian Hartas		SVR4.2 port
	Markus Aroharju	and
	Risto Kankkunen		Major contributions to the mixer support
				of GUS v3.7.
	Hunyue Yau	Mixer support for SG NX Pro.
	Marc Hoffman	PSS support.

Regards,

Hannu Savolainen
hannu@voxware.pp.fi

Snail mail:	Hannu Savolainen
		Hiekkalaiturintie 3 A 8
		00980 Helsinki
		Finland
FAX:		+358 0 341 6272 (answers if I have my machine (mgetty) on).

NOTE!	I probably don't answer to Snail mail or FAX messages. Sending answer
	to each of them is simply too expensive and time consuming. However I
	try to reply every email message I get (within a week). If you don't
	get response, please check how your address is written in the message
	header. I can't answer if I don't have a valid reply address.