• Christoph Hellwig's avatar
    [SCSI] SAS transport class · c7ebbbce
    Christoph Hellwig authored
    The SAS transport class contains common code to deal with SAS HBAs, an
    aproximated representation of SAS topologies in the driver model,
    and various sysfs attributes to expose these topologies and managment
    interfaces to userspace.
    
    In addition to the basic SCSI core objects this transport class introduces
    two additional intermediate objects:  The SAS PHY as represented by struct
    sas_phy defines an "outgoing" PHY on a SAS HBA or Expander, and the SAS
    remote PHY represented by struct sas_rphy defines an "incoming" PHY on a
    SAS Expander or end device.  Note that this is purely a software concept, the
    underlying hardware for a PHY and a remote PHY is the exactly the same.
    
    There is no concept of a SAS port in this code, users can see what PHYs
    form a wide port based on the port_identifier attribute, which is the same
    for all PHYs in a port.
    
    This submission doesn't handle hot-plug addition or removal of SAS devices
    and thus doesn't do scanning in a workqueue yet, that will be added in
    phase2 after this submission.  In a third phase I will add additional
    managment infrastructure.
    
    I think this submission is ready for 2.6.14, but additional comments are
    of course very welcome.
    
    I'd like to thanks James Smart a lot for his very useful input on the
    design.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    c7ebbbce
Kconfig 65.9 KB