1SCSI subsystem documentation
   3The Linux Documentation Project (LDP) maintains a document describing
   4the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:
   5 . The LDP has single
   6and multiple page HTML renderings as well as postscript and pdf.
   7It can also be found at .
  10Notes on using modules in the SCSI subsystem
  12The scsi support in the linux kernel can be modularized in a number of 
  13different ways depending upon the needs of the end user.  To understand
  14your options, we should first define a few terms.
  16The scsi-core (also known as the "mid level") contains the core of scsi 
  17support.  Without it you can do nothing with any of the other scsi drivers.
  18The scsi core support can be a module (scsi_mod.o), or it can be built into
  19the kernel. If the core is a module, it must be the first scsi module 
  20loaded, and if you unload the modules, it will have to be the last one 
  21unloaded.  In practice the modprobe and rmmod commands (and "autoclean")
  22will enforce the correct ordering of loading and unloading modules in
  23the SCSI subsystem.
  25The individual upper and lower level drivers can be loaded in any order 
  26once the scsi core is present in the kernel (either compiled in or loaded
  27as a module).  The disk driver (sd_mod.o), cdrom driver (sr_mod.o),
  28tape driver ** (st.o) and scsi generics driver (sg.o) represent the upper 
  29level drivers to support the various assorted devices which can be 
  30controlled.  You can for example load the tape driver to use the tape drive, 
  31and then unload it once you have no further need for the driver (and release
  32the associated memory).
  34The lower level drivers are the ones that support the individual cards that
  35are supported for the hardware platform that you are running under. Those
  36individual cards are often called Host Bus Adapters (HBAs). For example the
  37aic7xxx.o driver is used to control all recent SCSI controller cards from 
  38Adaptec. Almost all lower level drivers can be built either as modules or 
  39built into the kernel.
  42** There is a variant of the st driver for controlling OnStream tape
  43   devices. Its module name is osst.o .