SCSI: convert struct class_device to struct device
[platform/kernel/linux-starfive.git] / drivers / infiniband / ulp / srp / ib_srp.h
index d4e35ef..63d2ae7 100644 (file)
@@ -54,6 +54,7 @@ enum {
 
        SRP_PORT_REDIRECT       = 1,
        SRP_DLID_REDIRECT       = 2,
+       SRP_STALE_CONN          = 3,
 
        SRP_MAX_LUN             = 512,
        SRP_DEF_SG_TABLESIZE    = 12,
@@ -79,6 +80,11 @@ enum srp_target_state {
        SRP_TARGET_REMOVED
 };
 
+enum srp_request_type {
+       SRP_REQ_NORMAL,
+       SRP_REQ_TASK_MGMT,
+};
+
 struct srp_device {
        struct list_head        dev_list;
        struct ib_device       *dev;
@@ -87,13 +93,13 @@ struct srp_device {
        struct ib_fmr_pool     *fmr_pool;
        int                     fmr_page_shift;
        int                     fmr_page_size;
-       unsigned long           fmr_page_mask;
+       u64                     fmr_page_mask;
 };
 
 struct srp_host {
-       struct srp_device      *dev;
+       struct srp_device      *srp_dev;
        u8                      port;
-       struct class_device     class_dev;
+       struct device           dev;
        struct list_head        target_list;
        spinlock_t              target_lock;
        struct completion       released;
@@ -106,11 +112,6 @@ struct srp_request {
        struct srp_iu          *cmd;
        struct srp_iu          *tsk_mgmt;
        struct ib_pool_fmr     *fmr;
-       /*
-        * Fake scatterlist used when scmnd->use_sg==0.  Can be killed
-        * when the SCSI midlayer no longer generates non-SG commands.
-        */
-       struct scatterlist      fake_sg;
        struct completion       done;
        short                   index;
        u8                      cmd_done;
@@ -129,6 +130,7 @@ struct srp_target_port {
        unsigned int            scsi_id;
 
        struct ib_sa_path_rec   path;
+       __be16                  orig_dgid[8];
        struct ib_sa_query     *path_query;
        int                     path_query_id;
 
@@ -158,10 +160,11 @@ struct srp_target_port {
        struct completion       done;
        int                     status;
        enum srp_target_state   state;
+       int                     qp_in_error;
 };
 
 struct srp_iu {
-       dma_addr_t              dma;
+       u64                     dma;
        void                   *buf;
        size_t                  size;
        enum dma_data_direction direction;