]> Pileus Git - ~andy/linux/blobdiff - include/scsi/libsas.h
Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm
[~andy/linux] / include / scsi / libsas.h
index acefe13ebacfff30241db4f7cfc05155dd7f55dd..ae33706afeb06eb24976c70f7d04ea047486939a 100644 (file)
@@ -169,7 +169,6 @@ struct sata_device {
         enum   ata_command_set command_set;
         struct smp_resp        rps_resp; /* report_phy_sata_resp */
         u8     port_no;        /* port number, if this is a PM (Port) */
-        struct list_head children; /* PM Ports if this is a PM */
 
        struct ata_port *ap;
        struct ata_host ata_host;
@@ -614,10 +613,6 @@ struct sas_task {
 
        enum   sas_protocol      task_proto;
 
-       /* Used by the discovery code. */
-       struct timer_list     timer;
-       struct completion     completion;
-
        union {
                struct sas_ata_task ata_task;
                struct sas_smp_task smp_task;
@@ -634,8 +629,15 @@ struct sas_task {
 
        void   *lldd_task;        /* for use by LLDDs */
        void   *uldd_task;
+       struct sas_task_slow *slow_task;
+};
 
-       struct work_struct abort_work;
+struct sas_task_slow {
+       /* standard/extra infrastructure for slow path commands (SMP and
+        * internal lldd commands
+        */
+       struct timer_list     timer;
+       struct completion     completion;
 };
 
 #define SAS_TASK_STATE_PENDING      1
@@ -645,6 +647,7 @@ struct sas_task {
 #define SAS_TASK_AT_INITIATOR       16
 
 extern struct sas_task *sas_alloc_task(gfp_t flags);
+extern struct sas_task *sas_alloc_slow_task(gfp_t flags);
 extern void sas_free_task(struct sas_task *task);
 
 struct sas_domain_function_template {