diff options
Diffstat (limited to 'include/scsi')
| -rw-r--r-- | include/scsi/libfc.h | 3 | ||||
| -rw-r--r-- | include/scsi/libiscsi.h | 3 | ||||
| -rw-r--r-- | include/scsi/libsas.h | 3 | ||||
| -rw-r--r-- | include/scsi/scsi_host.h | 23 |
4 files changed, 24 insertions, 8 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index f986ab7ffe6f..5c4c1678f7be 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h | |||
| @@ -1006,8 +1006,7 @@ void fc_fcp_destroy(struct fc_lport *); | |||
| 1006 | /* | 1006 | /* |
| 1007 | * SCSI INTERACTION LAYER | 1007 | * SCSI INTERACTION LAYER |
| 1008 | *****************************/ | 1008 | *****************************/ |
| 1009 | int fc_queuecommand(struct scsi_cmnd *, | 1009 | int fc_queuecommand(struct Scsi_Host *, struct scsi_cmnd *); |
| 1010 | void (*done)(struct scsi_cmnd *)); | ||
| 1011 | int fc_eh_abort(struct scsi_cmnd *); | 1010 | int fc_eh_abort(struct scsi_cmnd *); |
| 1012 | int fc_eh_device_reset(struct scsi_cmnd *); | 1011 | int fc_eh_device_reset(struct scsi_cmnd *); |
| 1013 | int fc_eh_host_reset(struct scsi_cmnd *); | 1012 | int fc_eh_host_reset(struct scsi_cmnd *); |
diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h index ae5196aae1a5..b81d969ddc67 100644 --- a/include/scsi/libiscsi.h +++ b/include/scsi/libiscsi.h | |||
| @@ -341,8 +341,7 @@ extern int iscsi_eh_abort(struct scsi_cmnd *sc); | |||
| 341 | extern int iscsi_eh_recover_target(struct scsi_cmnd *sc); | 341 | extern int iscsi_eh_recover_target(struct scsi_cmnd *sc); |
| 342 | extern int iscsi_eh_session_reset(struct scsi_cmnd *sc); | 342 | extern int iscsi_eh_session_reset(struct scsi_cmnd *sc); |
| 343 | extern int iscsi_eh_device_reset(struct scsi_cmnd *sc); | 343 | extern int iscsi_eh_device_reset(struct scsi_cmnd *sc); |
| 344 | extern int iscsi_queuecommand(struct scsi_cmnd *sc, | 344 | extern int iscsi_queuecommand(struct Scsi_Host *h, struct scsi_cmnd *sc); |
| 345 | void (*done)(struct scsi_cmnd *)); | ||
| 346 | 345 | ||
| 347 | /* | 346 | /* |
| 348 | * iSCSI host helpers. | 347 | * iSCSI host helpers. |
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index 3dec1949f69c..90ce527ecf3d 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
| @@ -621,8 +621,7 @@ int sas_set_phy_speed(struct sas_phy *phy, | |||
| 621 | int sas_phy_enable(struct sas_phy *phy, int enabled); | 621 | int sas_phy_enable(struct sas_phy *phy, int enabled); |
| 622 | int sas_phy_reset(struct sas_phy *phy, int hard_reset); | 622 | int sas_phy_reset(struct sas_phy *phy, int hard_reset); |
| 623 | int sas_queue_up(struct sas_task *task); | 623 | int sas_queue_up(struct sas_task *task); |
| 624 | extern int sas_queuecommand(struct scsi_cmnd *, | 624 | extern int sas_queuecommand(struct Scsi_Host * ,struct scsi_cmnd *); |
| 625 | void (*scsi_done)(struct scsi_cmnd *)); | ||
| 626 | extern int sas_target_alloc(struct scsi_target *); | 625 | extern int sas_target_alloc(struct scsi_target *); |
| 627 | extern int sas_slave_alloc(struct scsi_device *); | 626 | extern int sas_slave_alloc(struct scsi_device *); |
| 628 | extern int sas_slave_configure(struct scsi_device *); | 627 | extern int sas_slave_configure(struct scsi_device *); |
diff --git a/include/scsi/scsi_host.h b/include/scsi/scsi_host.h index d0a6a845f204..e7e385842a38 100644 --- a/include/scsi/scsi_host.h +++ b/include/scsi/scsi_host.h | |||
| @@ -127,8 +127,7 @@ struct scsi_host_template { | |||
| 127 | * | 127 | * |
| 128 | * STATUS: REQUIRED | 128 | * STATUS: REQUIRED |
| 129 | */ | 129 | */ |
| 130 | int (* queuecommand)(struct scsi_cmnd *, | 130 | int (* queuecommand)(struct Scsi_Host *, struct scsi_cmnd *); |
| 131 | void (*done)(struct scsi_cmnd *)); | ||
| 132 | 131 | ||
| 133 | /* | 132 | /* |
| 134 | * The transfer functions are used to queue a scsi command to | 133 | * The transfer functions are used to queue a scsi command to |
| @@ -505,6 +504,25 @@ struct scsi_host_template { | |||
| 505 | }; | 504 | }; |
| 506 | 505 | ||
| 507 | /* | 506 | /* |
| 507 | * Temporary #define for host lock push down. Can be removed when all | ||
| 508 | * drivers have been updated to take advantage of unlocked | ||
| 509 | * queuecommand. | ||
| 510 | * | ||
| 511 | */ | ||
| 512 | #define DEF_SCSI_QCMD(func_name) \ | ||
| 513 | int func_name(struct Scsi_Host *shost, struct scsi_cmnd *cmd) \ | ||
| 514 | { \ | ||
| 515 | unsigned long irq_flags; \ | ||
| 516 | int rc; \ | ||
| 517 | spin_lock_irqsave(shost->host_lock, irq_flags); \ | ||
| 518 | scsi_cmd_get_serial(shost, cmd); \ | ||
| 519 | rc = func_name##_lck (cmd, cmd->scsi_done); \ | ||
| 520 | spin_unlock_irqrestore(shost->host_lock, irq_flags); \ | ||
| 521 | return rc; \ | ||
| 522 | } | ||
| 523 | |||
| 524 | |||
| 525 | /* | ||
| 508 | * shost state: If you alter this, you also need to alter scsi_sysfs.c | 526 | * shost state: If you alter this, you also need to alter scsi_sysfs.c |
| 509 | * (for the ascii descriptions) and the state model enforcer: | 527 | * (for the ascii descriptions) and the state model enforcer: |
| 510 | * scsi_host_set_state() | 528 | * scsi_host_set_state() |
| @@ -752,6 +770,7 @@ extern struct Scsi_Host *scsi_host_get(struct Scsi_Host *); | |||
| 752 | extern void scsi_host_put(struct Scsi_Host *t); | 770 | extern void scsi_host_put(struct Scsi_Host *t); |
| 753 | extern struct Scsi_Host *scsi_host_lookup(unsigned short); | 771 | extern struct Scsi_Host *scsi_host_lookup(unsigned short); |
| 754 | extern const char *scsi_host_state_name(enum scsi_host_state); | 772 | extern const char *scsi_host_state_name(enum scsi_host_state); |
| 773 | extern void scsi_cmd_get_serial(struct Scsi_Host *, struct scsi_cmnd *); | ||
| 755 | 774 | ||
| 756 | extern u64 scsi_calculate_bounce_limit(struct Scsi_Host *); | 775 | extern u64 scsi_calculate_bounce_limit(struct Scsi_Host *); |
| 757 | 776 | ||
