1. 18 Jan, 2005 3 commits
    • James Bottomley's avatar
      move the SCSI transport classes over to the generic transport class · b23c1202
      James Bottomley authored
      This converts the three transport classes (SPI, FC and iSCSI) over to
      the generic transport class code.
      
      It also converts the internals of the SCSI mid-layer to use generic
      transport class trigger points and pulls out some of the duplicated code.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      b23c1202
    • James Bottomley's avatar
      add a generic device transport class · 14cb343c
      James Bottomley authored
      Transport classes are a mechanism for providing transport specific
      services to drivers that the more generic command processing layers
      don't care about.  A good example is the SCSI mid-layer not caring about
      parallel transfer characteristics or providing services for domain
      validation.  Transport classes usually provide a transport specific API
      at one end and a class interface at the other (for the user to
      interrogate and set parameters).
      
      Originally, transport classes were SCSI specific.  However, this code is
      generic to the device model.  As long as you have a generic device
      representing a storage interface (or device) then you can attach a
      transport class to it.  The new code also allows an arbitrary number of
      transport classes to be attached to a device, unlike SCSI which only
      allowed one.  This is going to be important for things like SATA and SAS
      which share the PHY layer (and hence should be capable of sharing a PHY
      transport class).
      
      The generic transport class is designed to operate identically to the
      current SCSI transport classes, except that it uses generic devices
      rather than SCSI devices.
       
      We have five events:
       
       setup
       add
       -----
       configure
       -----
       remove
       destroy
      
      With callbacks for setup configure and remove.
      
      There's also an anonymous transport class which can only respond to 
      configure events (and which has no attributes).
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      14cb343c
    • James Bottomley's avatar
      Add attribute container to generic device model · 06ff5a98
      James Bottomley authored
      Attribute containers allows a single device to belong to an arbitrary
      number of classes, each with an arbitrary number of attributes.
      
      This will be used as the basis for a generic transport class
      Signed-off-by: default avatarGreg Kroah-Hartman <greg@kroah.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      06ff5a98
  2. 17 Jan, 2005 5 commits
  3. 12 Jan, 2005 19 commits
  4. 11 Jan, 2005 13 commits