[SCSI] scsi_dh: add generic SPC-3 alua handler
[safe/jmp/linux-2.6] / include / scsi / scsi_transport_sas.h
index af304fb..61ad359 100644 (file)
@@ -4,23 +4,17 @@
 #include <linux/transport_class.h>
 #include <linux/types.h>
 #include <linux/mutex.h>
+#include <scsi/sas.h>
 
 struct scsi_transport_template;
 struct sas_rphy;
 struct request;
 
 enum sas_device_type {
-       SAS_PHY_UNUSED,
-       SAS_END_DEVICE,
-       SAS_EDGE_EXPANDER_DEVICE,
-       SAS_FANOUT_EXPANDER_DEVICE,
-};
-
-enum sas_protocol {
-       SAS_PROTOCOL_SATA               = 0x01,
-       SAS_PROTOCOL_SMP                = 0x02,
-       SAS_PROTOCOL_STP                = 0x04,
-       SAS_PROTOCOL_SSP                = 0x08,
+       SAS_PHY_UNUSED = 0,
+       SAS_END_DEVICE = 1,
+       SAS_EDGE_EXPANDER_DEVICE = 2,
+       SAS_FANOUT_EXPANDER_DEVICE = 3,
 };
 
 static inline int sas_protocol_ata(enum sas_protocol proto)
@@ -86,22 +80,24 @@ struct sas_phy {
 
 #define dev_to_phy(d) \
        container_of((d), struct sas_phy, dev)
-#define transport_class_to_phy(cdev) \
-       dev_to_phy((cdev)->dev)
+#define transport_class_to_phy(dev) \
+       dev_to_phy((dev)->parent)
 #define phy_to_shost(phy) \
        dev_to_shost((phy)->dev.parent)
 
+struct request_queue;
 struct sas_rphy {
        struct device           dev;
        struct sas_identify     identify;
        struct list_head        list;
+       struct request_queue    *q;
        u32                     scsi_target_id;
 };
 
 #define dev_to_rphy(d) \
        container_of((d), struct sas_rphy, dev)
-#define transport_class_to_rphy(cdev) \
-       dev_to_rphy((cdev)->dev)
+#define transport_class_to_rphy(dev) \
+       dev_to_rphy((dev)->parent)
 #define rphy_to_shost(rphy) \
        dev_to_shost((rphy)->dev.parent)
 #define target_to_rphy(targ) \
@@ -156,8 +152,8 @@ struct sas_port {
 
 #define dev_to_sas_port(d) \
        container_of((d), struct sas_port, dev)
-#define transport_class_to_sas_port(cdev) \
-       dev_to_sas_port((cdev)->dev)
+#define transport_class_to_sas_port(dev) \
+       dev_to_sas_port((dev)->parent)
 
 struct sas_phy_linkrates {
        enum sas_linkrate maximum_linkrate;