Skip to content

Commit c7ebbbc

Browse files
Christoph HellwigJames Bottomley
authored andcommitted
[SCSI] SAS transport class
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: Christoph Hellwig <[email protected]> Signed-off-by: James Bottomley <[email protected]>
1 parent 942fc2f commit c7ebbbc

File tree

4 files changed

+927
-0
lines changed

4 files changed

+927
-0
lines changed

drivers/scsi/Kconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,13 @@ config SCSI_ISCSI_ATTRS
235235
each attached iSCSI device to sysfs, say Y.
236236
Otherwise, say N.
237237

238+
config SCSI_SAS_ATTRS
239+
tristate "SAS Transport Attributes"
240+
depends on SCSI
241+
help
242+
If you wish to export transport-specific information about
243+
each attached SAS device to sysfs, say Y.
244+
238245
endmenu
239246

240247
menu "SCSI low-level drivers"

drivers/scsi/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ obj-$(CONFIG_RAID_ATTRS) += raid_class.o
3131
obj-$(CONFIG_SCSI_SPI_ATTRS) += scsi_transport_spi.o
3232
obj-$(CONFIG_SCSI_FC_ATTRS) += scsi_transport_fc.o
3333
obj-$(CONFIG_SCSI_ISCSI_ATTRS) += scsi_transport_iscsi.o
34+
obj-$(CONFIG_SCSI_SAS_ATTRS) += scsi_transport_sas.o
3435

3536
obj-$(CONFIG_SCSI_AMIGA7XX) += amiga7xx.o 53c7xx.o
3637
obj-$(CONFIG_A3000_SCSI) += a3000.o wd33c93.o

0 commit comments

Comments
 (0)