45 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3============================4SCSI subsystem documentation5============================6 7The Linux Documentation Project (LDP) maintains a document describing8the SCSI subsystem in the Linux kernel (lk) 2.4 series. See:9https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO . The LDP has single10and multiple page HTML renderings as well as postscript and pdf.11 12Notes on using modules in the SCSI subsystem13============================================14The SCSI support in the Linux kernel can be modularized in a number of15different ways depending upon the needs of the end user. To understand16your options, we should first define a few terms.17 18The scsi-core (also known as the "mid level") contains the core of SCSI19support. Without it you can do nothing with any of the other SCSI drivers.20The SCSI core support can be a module (scsi_mod.o), or it can be built into21the kernel. If the core is a module, it must be the first SCSI module22loaded, and if you unload the modules, it will have to be the last one23unloaded. In practice the modprobe and rmmod commands24will enforce the correct ordering of loading and unloading modules in25the SCSI subsystem.26 27The individual upper and lower level drivers can be loaded in any order28once the SCSI core is present in the kernel (either compiled in or loaded29as a module). The disk driver (sd_mod.o), CD-ROM driver (sr_mod.o),30tape driver [1]_ (st.o) and SCSI generics driver (sg.o) represent the upper31level drivers to support the various assorted devices which can be32controlled. You can for example load the tape driver to use the tape drive,33and then unload it once you have no further need for the driver (and release34the associated memory).35 36The lower level drivers are the ones that support the individual cards that37are supported for the hardware platform that you are running under. Those38individual cards are often called Host Bus Adapters (HBAs). For example the39aic7xxx.o driver is used to control all recent SCSI controller cards from40Adaptec. Almost all lower level drivers can be built either as modules or41built into the kernel.42 43.. [1] There is a variant of the st driver for controlling OnStream tape44 devices. Its module name is osst.o .45