[146] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Re: SCSI defines for pass-thru commands

daemon@ATHENA.MIT.EDU (Michael Neuffer)
Sat Apr 15 10:05:28 1995

From: Michael Neuffer <neuffer@goofy.zdv.Uni-Mainz.de>
To: Linus.Torvalds@cs.Helsinki.FI (Linus Torvalds)
Date: Sat, 15 Apr 95 14:53:30 GMT-1:00
Cc: drew@boulder.openware.com, jfree@caldera.com, linux-scsi@vger.rutgers.edu,
        linux-kernel@vger.rutgers.edu
In-Reply-To: <199504140659.JAA18109@keos.Helsinki.FI>; from "Linus Torvalds" at Apr 14, 95 9:59 am
X-Confirm-Reading-To: neuffer@goofy.zdv.uni-mainz.de


> I'd actually want all the "high-level" SCSI header files under
> <linux/xxx.h> (or we could make it <scsi/xxx.h>, but I doubt it really
> needs a separate directory).  The reason is kernel drivers: in the
> not-too-far future we'll find ourselves with different low-level scsi
> drivers for different architectures (m68k, sparc, whatever), and I don't
> want to keep them all under linux/drivers/scsi/xxx.  In fact, I'd want
> something like "linux/drivers/pci/scsi" and "linux/drivers/xxx/scsi" for
> different bus systems (with linux/drivers/scsi only containing the
> high-level scsi interface). 

I don't know if this structure would be such a good idea. There
are a number of scsi drivers which support more than bussystem
and can be used with more than one architecture.

My eata_dma driver for example supports ISA, EISA and PCI bussystems
and is currently in use on Intel architecture based machines. 

However I also plan to add support to the driver for the Mips and Alpha 
machines (which not all use PCI but also EISA as bussystem).
I will add this as time permits and I get a machine in my 
fingers. It will probably not take very long for Mips because Ralf 
has always access to his Mips machine. 

So, putting the eata_dma driver under linux/drivers/pci/scsi or 
linux/drivers/arch/scsi is not possible if you don't wan't to have 
multiple copies of exactly the same driver.

It might be more useful to go for something like the following:
linux/drivers/scsi/<system independent high and midlevel code>
linux/drivers/scsi/<arch>/<system dependent lowlevel drivers>
linux/drivers/scsi/generic/<system independend lowlevel drivers>

The eata_dma and IMHO the NCR and qlogic drivers would be candidates 
for the generic subdirectory.

Mike









home help back first fref pref prev next nref lref last post