Chapter 1. Introduction

This document outlines the interface between the Linux scsi mid level and lower level drivers. Lower level drivers are variously called HBA (host bus adapter) drivers, host drivers (HD) or pseudo adapter drivers. The latter alludes to the fact that a lower level driver may be a bridge to another IO subsystem (and the "ide-scsi" driver is an example of this). There can be many lower level drivers active in a running system, but only one per hardware type. For example, the aic7xxx driver controls adaptec controllers based on the 7xxx chip series. Most lower level drivers can control one or more scsi hosts (a.k.a. scsi initiators).

This document can been found in an ASCII text file in the linux kernel source: Documentation/scsi/scsi_mid_low_api.txt . It currently hold a little more information than this document. The drivers/scsi/hosts.h and drivers/scsi/scsi.h headers contain descriptions of members of important structures for the scsi subsystem.