]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/scsi/scsi_dh.h
scsi_dh: kill struct scsi_dh_data
[karo-tx-linux.git] / include / scsi / scsi_dh.h
index 3a37b4c4599704941a96e2521e2e8b74f8bf41e7..85d731746834d258e002c51db293457fc0a52ece 100644 (file)
@@ -55,6 +55,23 @@ enum {
        SCSI_DH_NOSYS,
        SCSI_DH_DRIVER_MAX,
 };
+
+typedef void (*activate_complete)(void *, int);
+struct scsi_device_handler {
+       /* Used by the infrastructure */
+       struct list_head list; /* list of scsi_device_handlers */
+
+       /* Filled by the hardware handler */
+       struct module *module;
+       const char *name;
+       int (*check_sense)(struct scsi_device *, struct scsi_sense_hdr *);
+       int (*attach)(struct scsi_device *);
+       void (*detach)(struct scsi_device *);
+       int (*activate)(struct scsi_device *, activate_complete, void *);
+       int (*prep_fn)(struct scsi_device *, struct request *);
+       int (*set_params)(struct scsi_device *, const char *);
+};
+
 #ifdef CONFIG_SCSI_DH
 extern int scsi_dh_activate(struct request_queue *, activate_complete, void *);
 extern int scsi_dh_attach(struct request_queue *, const char *);