Subject: Reorg of Sun3 SCSI driver
To: None <current-users@NetBSD.ORG>
From: David Jones <dej@eecg.toronto.edu>
List: current-users
Date: 08/07/1995 20:10:07
I am adding DMA and interrupts to the Sun3 si driver.  As part of this, I am
incorporating the "machine independent" ncr5380.c file into the Sun3 driver.

A few things will change.  I'm trying to keep changes minimal so as not to break
the Sparc port and anything else that may decide to use this driver (Atari ST,
some Amiga SCSI controllers, ...).  A few of the proposed changes:

reset_adapter() will become a callback vector in the ncr5380_softc.  Each driver
will be expected to provide its own version of reset_adapter() (hopefully named
something a little less generic than "reset_adapter"!)

Similarly, a bunch of other callbacks will be added to handle DMA.  I haven't
really decided on the API for these yet, but it will resemble to some extent
what is done for the Amiga 3393 SCSI drivers.

"struct intrhand" will be made conditional on #ifdef sparc.  Other ports don't
need it.  (They may need a completely different structure.  Sun3 needs
nothing.)

I notice right now that ncr5380.c is included from sparc/dev/si.c.  Was there
any reason not to make ncr5380.c stand on its own?  What happens if I have
two different 5380-based cards in my machine (possible for the Amiga)?
Redefined symbols?  I'd like to make the file stand on its own. 

Any comments from 5380 users?  Sorry, I don't read port-sparc cuz I don't have
a Sparc, except at school, and the sysadmin won't let me install NetBSD on it.

-- 
David Jones, M.A.Sc student, Electronics Group (VLSI), University of Toronto
           email: dej@eecg.toronto.edu, finger for PGP public key
         For a good time, telnet torfree.net and log in as `guest'.
          Click me!