223 Commits

Author SHA1 Message Date
peter
f56ff45a8a machine/soundcard.h is now in the standard location - sys/soundcard.h 1999-09-04 15:22:17 +00:00
peter
3b842d34e8 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
phk
663cbe4fc2 Convert DEVFS hooks in (most) drivers to make_dev().
Diskslice/label code not yet handled.

Vinum, i4b, alpha, pc98 not dealt with (left to respective Maintainers)

Add the correct hook for devfs to kern_conf.c

The net result of this excercise is that a lot less files depends on DEVFS,
and devtoname() gets more sensible output in many cases.

A few drivers had minor additional cleanups performed relating to cdevsw
registration.

A few drivers don't register a cdevsw{} anymore, but only use make_dev().
1999-08-23 20:59:21 +00:00
phk
6a5dc97620 Simplify cdevsw registration.
The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.
1999-05-31 11:29:30 +00:00
phk
7e4a9dced9 This commit should be a extensive NO-OP:
Reformat and initialize correctly all "struct cdevsw".

        Initialize the d_maj and d_bmaj fields.

        The d_reset field was not removed, although it is never used.

I used a program to do most of this, so all the files now use the
same consistent format.  Please keep it that way.

Vinum and i4b not modified, patches emailed to respective authors.
1999-05-30 16:53:49 +00:00
phk
c54537a0af correct params for sndmmap(). Don't bogo-initialize fields we don't
understand.
1999-05-10 18:13:30 +00:00
phk
bac74fbd54 Fix some of the places where too much inside knowledge about major/minor
layout and dev_t structure is being (ab)used.
1999-05-08 07:02:41 +00:00
peter
69f3b492e8 Fix a warning - make sure the register is read regardless of the debugging
options.
1999-05-06 22:09:55 +00:00
peter
73556bfee1 Add sufficient braces to keep egcs happy about potentially ambiguous
if/else nesting.
1999-05-06 18:13:11 +00:00
peter
69308caaae Attempt to make the sound driver recompile, at least for LINT which has
the sscape/trix driver active, which (for some reason) disables the
mpu401 driver, causing an undefined reference to mpuintr.  This was broken
with rev 1.79 (part of the PC98 nss driver commit).
1999-05-02 20:40:28 +00:00
peter
087d4857e5 Bring the 'new-bus' to the i386. This extensively changes the way the
i386 platform boots, it is no longer ISA-centric, and is fully dynamic.
Most old drivers compile and run without modification via 'compatability
shims' to enable a smoother transition.  eisa, isapnp and pccard* are
not yet using the new resource manager.  Once fully converted, all drivers
will be loadable, including PCI and ISA.

(Some other changes appear to have snuck in, including a port of Soren's
 ATA driver to the Alpha.  Soren, back this out if you need to.)

This is a checkpoint of work-in-progress, but is quite functional.

The bulk of the work was done over the last few years by Doug Rabson and
Garrett Wollman.

Approved by:	core
1999-04-16 21:22:55 +00:00
kato
c6830aafcd o sys/i386/include/soundcard.h
Reduce synth_info.name lenght for binary compatibility.

o sys/i386/isa/sound/mpu401.c
   Reduce mpu device number info to avoid overflow of mpu_synth_info.name.

Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-04-08 08:09:34 +00:00
kato
a9849f06ce Include nss.h only when PC98 is defined.
Pointed out by:	"Pierre Y. Dampure" <pierre.dampure@k2c.co.uk>
1999-04-03 02:32:54 +00:00
kato
c6e82c444c o sys/i386/include/soundcard.h
Add Sound Card ID for the nss(NEC PC-9801-86 Sound System) driver.
      Old name of this driver was pcm driver in FreeBSD 2.2.x.
  Fix lack of the length of the name member of the synth_info structure.
      (attach_mpu401 in sys/i386/isa/sound/mpu401.c requires 33 chars.)

o sys/i386/isa/sound/dev_table.h
  Add the DMAbuf flags definition DMA_DISABLE.
  Add the nss driver entry.

o sys/i386/isa/sound/dmabuf.c
  Add the DMA_DISABLE flag check in DMAbuf_outputintr and DMAbuf_inputintr
      to disable DMA control in FIFO only use (nss driver required).

o sys/i386/isa/sound/local.h
  Add the nss driver entry.

o sys/i386/isa/sound/mpu401.c
  Replace inb function in probe_mpu401 to mpu401_status macro.
  Wrap macro argument for above replace.
  Add I/O port maping macro for NEC PC-98x1 arch.
  Add delay in NEC PC-98x1 arch.

o sys/i386/isa/sound/pcm86.c
  Change driver name to avoid name space conflict to new pcm driver.
  Fix NEC PC-9801-86 driver to work on RELENG_3 branch or latter.

o sys/i386/isa/sound/sound_calls.h
  Fix the mpuintr definition.
  Add the nss driver entry.
      attach_nss, probe_nss, nssintr

o sys/i386/isa/sound/soundcard.c
  Fix lack of the mpuintr registration.
  Add the nss driver entry.

o sys/pc98/conf/files.pc98
  Add the nss driver entry.

Reviewed by:	kato
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1999-04-02 08:51:06 +00:00
bde
aae47154b6 Added a used include. This file doesn't get tested by LINT because
it is null when trix is configured.

Submitted by:	Brian Feldman <green@unixhelp.org> but moved by me
1999-02-04 08:52:46 +00:00
bde
452461a59b Include <sys/select.h> -- don't depend on pollution in <sys/proc.h>. 1999-01-27 10:10:03 +00:00
bde
69095f699e Removed the asm version of translate_bytes(). When both the C
version and the asm version are inlined, and everything is cached,
the asm version is 1.75 times slower than the C version on P5's.
On K6's, it is only 1.25 times slower.
1999-01-09 13:50:52 +00:00
bde
4c2d702e3a Don't put operands in clobber lists, since this is dubious for old
versions of gcc and broken for current versions of egcs.  The asm
here (for translate_bytes()) is now an interesting example of one
that needs to be volatile to work.

Fixed missing "memory" in the clobber list for translate_bytes().

Submitted by:	"John S. Dyson" <dyson@iquest.net> but rewritten by me
1999-01-09 13:27:37 +00:00
peter
d713c6aca4 Part 2 of pcvt/voxware revival. I hope I have not clobbered any other
deltas, but it is possible since I had a few merge conflicts over the last
few days while this has been sitting ready to go.

(Part 1 was committed to the config files, but cvs aborted grrr..)

Approved by:    core
1999-01-01 08:18:13 +00:00
sos
3ea5a3c11d Pre 3.0 branch cleanup sos#2: sound
Superceded by the snd driver...
1998-12-27 14:21:37 +00:00
eivind
d2f9690e5c Rename one of the two devfs_link's to devfs_makelink. 1998-12-10 19:57:01 +00:00
archie
60d13c7a9d The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.
1998-12-07 21:58:50 +00:00
archie
982e80577d Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
bde
d58c79316c Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.
1998-10-22 15:39:35 +00:00
bde
26033041e3 Fixed the ifdef for `uart' driver being present. The sound-driver-specific
ifdef used in uart6850.c is bogus.

Reported by:	Paul Allenby <pallenby@mikom.csir.co.za>
1998-10-22 11:41:22 +00:00
bde
8bfaa707a6 The previous change was much too simple to actually compensate for
braindamage in sound driver confiruration.  Attempt to only reference
interrupt handlers if their driver is configured.
1998-10-22 10:34:11 +00:00
bde
df88297cad Initialize isa_devtab entries for interrupt handlers in individual
device drivers, not in ioconf.c.  Use a different hack in isa_device.h
so that a new config(8) is not required yet.

pc98 parts approved by: kato
1998-10-22 05:58:45 +00:00
bde
876993d7e3 Fixed bogus spelling nx*' of some no*' devswitch functions. 1998-08-20 05:48:17 +00:00
bde
9e27b29fba Use [u]intptr_t instead of [u_]long for casts between pointers and
integers.  Don't forget to cast to (void *) as well.
1998-08-16 01:21:52 +00:00
bde
a879550a11 Use offsetof() to avoid some casts from pointers to integers (of a
possibly different size).
1998-08-15 21:36:16 +00:00
bde
8b2af4315e Changed %n to %r in devfs name format strings. %n has almost gone away. 1998-07-15 12:18:34 +00:00
bde
b38d9009d3 Don't cast pointers to longs in asm statements.
These asm statments are not quite as pessimal as when I complained
about them in rev.1.9 of audio.c.  They seem to be only 40% slower
than the C version on P5's and the same speed on K6's.
1998-07-15 11:47:58 +00:00
jmg
259c08f7ab document options to hardwire GUS irq/dmas... 1998-06-30 08:24:02 +00:00
bde
939eba4d19 Don't declare isa device structs or isa interrupt handlers in <sys/conf>,
and don't depend on them being declared there.  This will cause lots of
warnings for a few minutes until config is updated.  Interrupt handlers
should never have been configured by config, and the machine generated
declarations get in the way of changing the arg type from int to void *.
1998-06-17 14:58:04 +00:00
bde
26666467e4 Added used include of <i386/isa/isa_device.h> - don't depend on
pollution in <sys/conf.h>
1998-06-17 13:54:59 +00:00
dfr
1d5f38ac22 This commit fixes various 64bit portability problems required for
FreeBSD/alpha.  The most significant item is to change the command
argument to ioctl functions from int to u_long.  This change brings us
inline with various other BSD versions.  Driver writers may like to
use (__FreeBSD_version == 300003) to detect this change.

The prototype FreeBSD/alpha machdep will follow in a couple of days
time.
1998-06-07 17:13:14 +00:00
bde
e5f7e85071 Oops, the previous commit should have changed i386' to __i386__',
not `__i386'.
1998-05-01 16:40:21 +00:00
julian
7353226d84 Submitted by: Doug Ambrisko <ambrisko@whistle.com>
make standard links for the first detected sound card.
1998-04-28 00:10:53 +00:00
eivind
1c00798cb4 Add devfs support.
Submitted by:	somebody whose name escapes me :-(
1998-04-23 00:06:43 +00:00
kato
bcf7320f72 PC-98 does not supports DMA automode lager than 65535 bytes. 1998-04-21 09:48:45 +00:00
kato
7e90e65464 Supports PC-98 again. 1998-04-21 09:46:14 +00:00
des
396b114475 Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108. 1998-04-17 22:37:19 +00:00
bde
b598f559b2 Support compiling with `gcc -ansi'. 1998-04-15 17:47:40 +00:00
phk
7dc4766acb Replace direct access to time with getmicrotime(). 1998-03-29 12:15:57 +00:00
eivind
0a68cc8a03 Remove an ifdef (to get linker errors instead of compile errors in the
absence of 'controller snd0').
1998-03-15 23:08:24 +00:00
bde
e1dfa900e4 Fixed staticization (the behaviour is undefined when something with
external linkage is redeclared as static).
1998-02-12 23:16:12 +00:00
bde
c4b1f98d98 Unstaticized. 1998-02-12 22:33:33 +00:00
eivind
5eba76ed2e Back out statification and restore a declaration that got lost. 1998-02-10 21:51:00 +00:00
peter
69d1ac34b8 Un-staticize. 1998-02-09 16:20:42 +00:00
eivind
d7a6ab2803 Staticize. 1998-02-09 06:11:36 +00:00