]> err.no Git - linux-2.6/blobdiff - include/scsi/scsi_host.h
Merge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
[linux-2.6] / include / scsi / scsi_host.h
index 965b6b8ffec580f20c692048ac89883b0d2faebb..3b8a6a85c2f818e64435968136472fa7d2317bc1 100644 (file)
@@ -326,15 +326,22 @@ struct scsi_host_template {
        int (*proc_info)(struct Scsi_Host *, char *, char **, off_t, int, int);
 
        /*
-        * suspend support
+        * This is an optional routine that allows the transport to become
+        * involved when a scsi io timer fires. The return value tells the
+        * timer routine how to finish the io timeout handling:
+        * EH_HANDLED:          I fixed the error, please complete the command
+        * EH_RESET_TIMER:      I need more time, reset the timer and
+        *                      begin counting again
+        * EH_NOT_HANDLED       Begin normal error recovery
+        *
+        * Status: OPTIONAL
         */
-       int (*resume)(struct scsi_device *);
-       int (*suspend)(struct scsi_device *, pm_message_t state);
+       enum scsi_eh_timer_return (* eh_timed_out)(struct scsi_cmnd *);
 
        /*
         * Name of proc directory
         */
-       char *proc_name;
+       const char *proc_name;
 
        /*
         * Used to store the procfs directory if a driver implements the
@@ -664,6 +671,10 @@ struct Scsi_Host {
 #define shost_printk(prefix, shost, fmt, a...) \
        dev_printk(prefix, &(shost)->shost_gendev, fmt, ##a)
 
+static inline void *shost_priv(struct Scsi_Host *shost)
+{
+       return (void *)shost->hostdata;
+}
 
 int scsi_is_host_device(const struct device *);