Commit Graph

200 Commits

Author SHA1 Message Date
Joerg Wunsch
6e333abfc2 Minor but fatal spelling error when merging my code into -current.
Also declared worminit() to avoid a compiler warning.  Seems that the
other SCSI drivers don't declare XXinit() yet, so perhaps we'd also
create a typedef for these func's.
1996-01-28 09:56:04 +00:00
Joerg Wunsch
984afdcfd2 The Great Merge.
The worm driver is alpha-usable!  I've stuffed everything that is
needed into the kernel driver, including the logic to select
between different vendor's quirks.

Disclaimer: this has by now _only_ been tested on a heavily tweaked
2.0.5R system.  I've done my best to retrofit it into -current, but
i don't have a chance yet to test it in a -current environment.
1996-01-27 17:48:12 +00:00
Bruce Evans
c8f2fe8db8 First attempt at creating devfs entries for sliced devices. Doesn't
quite work yet, so the heart of it is disabled.

Added bdev and cdev args to dsopen().

drivers:
Fixed device names, links, minor numbers and modes.

wd.c:
Started actually supporting devfs.

diskslice.h:
Added devfs tokens to structs (currently 576 of them per disk! :-().

subr_diskslice.c:
Create devfs entries in dsopen() and (unsuccessfully) attempt to make
them go away at the right times.  DEVFS is #undefed at the start so
that this shouldn't cause problems.
1996-01-27 04:18:15 +00:00
Joerg Wunsch
794b6a665f Fold in my latest changes to the worm driver.
This makes it sorta usable, just for my ``proof-of-concept'' Perl
script i've been posting to freebsd-scsi.  The driver will be
overhauled further, this is just to provide Jordan with a base to
perform testing of his own with his HP burner.  Use entirely at your
own risk, expect a bunch of misburnt CD-R's when using it already in
this very green stage.

Note that by now the driver will only work when the CD-R has already
been in the drive at boot time.
1996-01-20 15:27:36 +00:00
Joerg Wunsch
e82d9e7eb5 Make the "uk" device usable again. The open() always failed due to an internal driver
design problem.
1996-01-20 15:05:55 +00:00
Joerg Wunsch
f3bec209ec Bump the timeout in st_load() from 5 to 15 minutes. My Tandberg
TDC3620 takes 4.5 minutes to retenstion a QIC-250 cartridge, so the
5 minutes seem to be too tight.
1996-01-14 16:29:01 +00:00
Joerg Wunsch
3e0123a3e2 Implement the MTRETENS command. 1996-01-08 12:26:15 +00:00
Justin T. Gibbs
7ca05a9738 Add an adapter_softc field to the scsi_link struct. 1996-01-07 19:27:06 +00:00
Garrett Wollman
8890984dc9 Convert BOUNCE_BUFFERS and BOUNCEPAGES to new option scheme. 1996-01-05 20:12:53 +00:00
Joerg Wunsch
644104e65f Introduce a wormunit() so the control device will work. 1996-01-02 15:44:00 +00:00
Joerg Wunsch
32871264d8 Use a medium_type field of 0 (Default), instead of the value that was
obtained by the MOSE SENSE command.  SONY drives are too stupid to eat
their own food.

Submitted by:	stu@solaris.com (Stu Phillips)

While i was at it, i've removed two bogus channel numbers in the``set
mono'' command, that kept my Toshiba drive complaining.

Also remove Julian's misspelling of `stereo'.
1995-12-30 13:56:28 +00:00
Paul Traina
dfe11c5d9d Add NEC CDR 210 to list of devices with broken LUN support 1995-12-27 17:07:12 +00:00
Peter Wemm
f84e9bf4af Add an entry for the NEC CDROM:55 drive to stop it answering all 7 LUNS. 1995-12-26 21:08:39 +00:00
Peter Dufault
23dd4ed477 Bruce's fix for when dk_ndrive >= DK_NDRIVE. Fixes CDROM changer
and other "lots of CDROM devices" problems.  This code should be
put in a single place.
1995-12-20 12:02:43 +00:00
Poul-Henning Kamp
27a0b398a7 Staticize.
Unstaticize a function in scsi/scsi_base that was used, with an undocumented
option.
My last count on the LINT kernel shows:
Total symbols:  3647
unref symbols:   463
undef symbols:     4
1 ref symbols:  1751
2 ref symbols:   485
Approaching the pain threshold now.
1995-12-17 21:23:44 +00:00
Bruce Evans
1e9d97ad7c Moved prototypes to better places.
Fixed indentation of some function headers.
1995-12-14 19:51:15 +00:00
Bruce Evans
157b9ad554 Added prototypes. 1995-12-14 19:44:29 +00:00
Bruce Evans
9bea3bb463 Declared functions as static in their definitions as well as in their
prototypes.
1995-12-14 19:38:40 +00:00
Bruce Evans
2e5444fa24 The change of [cb]devsw was missed here. 1995-12-14 19:13:36 +00:00
Poul-Henning Kamp
f708ef1b9e Another mega commit to staticize things. 1995-12-14 09:55:16 +00:00
Peter Wemm
b10853f674 Check before dereferencing a possible null pointer (cdevsw[i]->d_open) 1995-12-13 20:08:53 +00:00
Julian Elischer
6ba9ebce28 devsw tables are now arrays of POINTERS to struct [cb]devsw
seems to work hre just fine though  I can't check every file
that changed due to limmited h/w, however I've checked enught to be petty
happy withe hte code..

WARNING... struct lkm[mumble] has changed
so it might be an idea to recompile any lkm related programs
1995-12-13 15:13:57 +00:00
John Dyson
983d613468 Undo a change that should not have been committed with the 1Tb enhancements. 1995-12-11 05:02:52 +00:00
John Dyson
a316d390bd Changes to support 1Tb filesizes. Pages are now named by an
(object,index) pair instead of (object,offset) pair.
1995-12-11 04:58:34 +00:00
Bruce Evans
26ec204be0 Replaced nxmmap by nommap (if the mmap function gets called, then the
device must be configured).
1995-12-10 20:34:53 +00:00
Bruce Evans
f54d2260b4 Replaced odsize by generic nopsize.
Staticized.

Added prototypes.
1995-12-10 20:19:32 +00:00
Bruce Evans
658a9cba7e Replaced cdsize by generic nopsize.
Added prototypes.

Declared statics consistently.
1995-12-10 20:02:47 +00:00
Bruce Evans
4439655d52 Replaced nxdump by nodump (if the dump function gets called, then the
device must be configured, so ENXIO is a bogus errno).

Replaced zerosize by nopsize.  zerosize was a temporary alias.
1995-12-10 19:53:42 +00:00
Bruce Evans
bb51c61fdf Removed unused functions sudump() and supsize().
Added `extern' to misplaced public prototypes.
1995-12-10 14:57:04 +00:00
Julian Elischer
76092b8329 Make NEW_SCSICONF the default way of doing things
It will need to be changed
but it's the better starting point..

also add '?' to wildcarding in SCSI identification of devices..
so we can catch all PIONEER	CD 6??* devices instead of having
separate entries for the 600, 602, 604X, 624X etc..

it's getting so we should have a small regexp routine in the kernel
maybe just a little one..  matching CDX-6[0-9][0-9][ A-Z] would be better

there will be drastic changes in this
but this is the best starting point..
1995-12-10 10:58:30 +00:00
Bruce Evans
1f598ab9bc Restored used variable `name[32]' (used by DEVFS).
Completed function declarations and/or added prototypes.
1995-12-10 01:47:34 +00:00
Poul-Henning Kamp
b2c3ac73a8 scsi_tape.h had some old cruft that looked like missing typedefs or
something.  Cleanup  some lint in sd.c and st.c.
1995-12-09 20:42:38 +00:00
Poul-Henning Kamp
d2f265fab8 Julian forgot to make the *devsw structures static. 1995-12-08 23:23:00 +00:00
Julian Elischer
87f6c6625d Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)
1995-12-08 11:19:42 +00:00
David Greenman
efeaf95a41 Untangled the vm.h include file spaghetti. 1995-12-07 12:48:31 +00:00
Bruce Evans
86a1c05db0 Removed unnecessary #includes of <sys/user.h>. Some of these were just
to get the definitions of TRUE and FALSE which happen to be defined in
a deeply nested include.

Added nearby #includes of <sys/conf.h> where appropriate.
1995-12-06 23:44:23 +00:00
Bruce Evans
7c3bc2bfe9 Removed dummy routines sscstrategy(), sscread(), sscwrite() and
sscselect().  Use the standard dummies nostrategy(), noread(),
nowrite() and noselect() instead.

sscread() and sscwrite() returned bogus errnos.  It isn't possible
to return an error from a select routine so noselect() is just as
bogus as sscselect() (it's equivalent to nullselect()).
1995-12-05 19:36:47 +00:00
Julian Elischer
d3004119ff fix a couple of stuffups in the worm driver and in other associated scsi files 1995-12-05 07:14:27 +00:00
Julian Elischer
e862f24129 If the open fails, don't mark the device as open (duh!)
symptom:.. once an open of a 'can only open it once' device fails..
you can never open it again, as it was marked open but wasn't open..
1995-12-05 04:41:20 +00:00
Paul Traina
dedbc6f872 Fix support for QIC_3080 drives...it 1/2 worked before. 1995-11-30 07:43:47 +00:00
Julian Elischer
7198bf4725 If you're going to mechanically replicate something in 50 files
it's best to not have a (compiles cleanly) typo in it! (sigh)
1995-11-29 14:41:20 +00:00
Julian Elischer
53ac6efbd8 OK, that's it..
That's EVERY SINGLE driver that has an entry in conf.c..
my next trick will be to define cdevsw[] and bdevsw[]
as empty arrays and remove all those DAMNED defines as well..

Each of these drivers has a SYSINIT linker set entry
that comes in very early.. and asks teh driver to add it's own
entry to the two devsw[] tables.

some slight reworking of the commits from yesterday (added the SYSINIT
stuff and some usually wrong but token DEVFS entries to all these
devices.

BTW does anyone know where the 'ata' entries in conf.c actually reside?
seems we don't actually have a 'ataopen() etc...

If you want to add a new device in conf.c
please  make sure I know
so I can keep it up to date too..

as before, this is all dependent on #if defined(JREMOD)
(and #ifdef DEVFS in parts)
1995-11-29 10:49:16 +00:00
Bruce Evans
f30e535f00 Completed function declarations, added prototypes and removed redundant
declarations.
1995-11-21 15:14:28 +00:00
Bruce Evans
512fef80a9 Completed function declarations and/or added prototypes. 1995-11-21 12:55:26 +00:00
Bruce Evans
d9c15605e3 Fixed replication error so that this compiles again.
Removed bogus comment and useless braces.
1995-11-21 08:35:49 +00:00
Poul-Henning Kamp
4b2af45f4b Mega commit for sysctl.
Convert the remaining sysctl stuff to the new way of doing things.
the devconf stuff is the reason for the large number of files.
Cleaned up some compiler warnings while I were there.
1995-11-20 12:42:39 +00:00
David Greenman
fb27490243 Trim #includes to those that are necessary; other cosmetic changes. 1995-11-20 02:12:34 +00:00
John Dyson
68a2196fad First set of changes to eliminate the ad-hoc device buffer queues,
replacing them with TAILQ's as appropriate.  The SCSI code is the
first to be changed -- until the changes are complete, both b_act and
b_actf will be in the buf structure.  b_actf will eventually be removed.
1995-11-19 22:22:35 +00:00
Satoshi Asami
e77a9fca43 Minor aesthetics (changed "." to space in "cd present.[a x b records]"
and removed extraneous newline after "can't get the size").
1995-11-15 03:27:14 +00:00
David Greenman
98ce50c997 Set B_BUSY on the private buffer to avoid a panic in biodone when the
I/O completes. Bug apparantly seen when attempting to format SCSI disks.

Submitted by:	Peter Dufault <dufault@hda.com>
1995-11-10 14:54:16 +00:00