diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 21:57:35 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-04 21:57:35 -0400 |
commit | 97d41e90fe61399b99d74820cb7f2d6e0fbac91d (patch) | |
tree | f759371424a26963b04badbb4433e360be4e8750 /drivers/scsi/arm | |
parent | 3bdc9d0b408e01c4e556daba0035ba37f603e920 (diff) | |
parent | afaf5a2d341d33b66b47c2716a263ce593460a08 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (54 commits)
[SCSI] Initial Commit of qla4xxx
[SCSI] raid class: handle component-add errors
[SCSI] SCSI megaraid_sas: handle thrown errors
[SCSI] SCSI aic94xx: handle sysfs errors
[SCSI] SCSI st: fix error handling in module init, sysfs
[SCSI] SCSI sd: fix module init/exit error handling
[SCSI] SCSI osst: add error handling to module init, sysfs
[SCSI] scsi: remove hosts.h
[SCSI] scsi: Scsi_Cmnd convertion in aic7xxx_old.c
[SCSI] megaraid_sas: sets ioctl timeout and updates version,changelog
[SCSI] megaraid_sas: adds tasklet for cmd completion
[SCSI] megaraid_sas: prints pending cmds before setting hw_crit_error
[SCSI] megaraid_sas: function pointer for disable interrupt
[SCSI] megaraid_sas: frame count optimization
[SCSI] megaraid_sas: FW transition and q size changes
[SCSI] qla2xxx: Update version number to 8.01.07-k2.
[SCSI] qla2xxx: Stall mid-layer error handlers while rport is blocked.
[SCSI] qla2xxx: Add MODULE_FIRMWARE tags.
[SCSI] qla2xxx: Add support for host port state FC transport attribute.
[SCSI] qla2xxx: Add support for fabric name FC transport attribute.
...
Diffstat (limited to 'drivers/scsi/arm')
-rw-r--r-- | drivers/scsi/arm/acornscsi.c | 48 | ||||
-rw-r--r-- | drivers/scsi/arm/acornscsi.h | 4 | ||||
-rw-r--r-- | drivers/scsi/arm/fas216.c | 50 | ||||
-rw-r--r-- | drivers/scsi/arm/fas216.h | 36 | ||||
-rw-r--r-- | drivers/scsi/arm/queue.c | 37 | ||||
-rw-r--r-- | drivers/scsi/arm/queue.h | 28 | ||||
-rw-r--r-- | drivers/scsi/arm/scsi.h | 2 |
7 files changed, 108 insertions, 97 deletions
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c index 7621e3fa37b1..0525d672e1e6 100644 --- a/drivers/scsi/arm/acornscsi.c +++ b/drivers/scsi/arm/acornscsi.c | |||
@@ -194,7 +194,8 @@ | |||
194 | unsigned int sdtr_period = SDTR_PERIOD; | 194 | unsigned int sdtr_period = SDTR_PERIOD; |
195 | unsigned int sdtr_size = SDTR_SIZE; | 195 | unsigned int sdtr_size = SDTR_SIZE; |
196 | 196 | ||
197 | static void acornscsi_done(AS_Host *host, Scsi_Cmnd **SCpntp, unsigned int result); | 197 | static void acornscsi_done(AS_Host *host, struct scsi_cmnd **SCpntp, |
198 | unsigned int result); | ||
198 | static int acornscsi_reconnect_finish(AS_Host *host); | 199 | static int acornscsi_reconnect_finish(AS_Host *host); |
199 | static void acornscsi_dma_cleanup(AS_Host *host); | 200 | static void acornscsi_dma_cleanup(AS_Host *host); |
200 | static void acornscsi_abortcmd(AS_Host *host, unsigned char tag); | 201 | static void acornscsi_abortcmd(AS_Host *host, unsigned char tag); |
@@ -712,7 +713,7 @@ static | |||
712 | intr_ret_t acornscsi_kick(AS_Host *host) | 713 | intr_ret_t acornscsi_kick(AS_Host *host) |
713 | { | 714 | { |
714 | int from_queue = 0; | 715 | int from_queue = 0; |
715 | Scsi_Cmnd *SCpnt; | 716 | struct scsi_cmnd *SCpnt; |
716 | 717 | ||
717 | /* first check to see if a command is waiting to be executed */ | 718 | /* first check to see if a command is waiting to be executed */ |
718 | SCpnt = host->origSCpnt; | 719 | SCpnt = host->origSCpnt; |
@@ -796,15 +797,15 @@ intr_ret_t acornscsi_kick(AS_Host *host) | |||
796 | } | 797 | } |
797 | 798 | ||
798 | /* | 799 | /* |
799 | * Function: void acornscsi_done(AS_Host *host, Scsi_Cmnd **SCpntp, unsigned int result) | 800 | * Function: void acornscsi_done(AS_Host *host, struct scsi_cmnd **SCpntp, unsigned int result) |
800 | * Purpose : complete processing for command | 801 | * Purpose : complete processing for command |
801 | * Params : host - interface that completed | 802 | * Params : host - interface that completed |
802 | * result - driver byte of result | 803 | * result - driver byte of result |
803 | */ | 804 | */ |
804 | static | 805 | static void acornscsi_done(AS_Host *host, struct scsi_cmnd **SCpntp, |
805 | void acornscsi_done(AS_Host *host, Scsi_Cmnd **SCpntp, unsigned int result) | 806 | unsigned int result) |
806 | { | 807 | { |
807 | Scsi_Cmnd *SCpnt = *SCpntp; | 808 | struct scsi_cmnd *SCpnt = *SCpntp; |
808 | 809 | ||
809 | /* clean up */ | 810 | /* clean up */ |
810 | sbic_arm_write(host->scsi.io_port, SBIC_SOURCEID, SOURCEID_ER | SOURCEID_DSP); | 811 | sbic_arm_write(host->scsi.io_port, SBIC_SOURCEID, SOURCEID_ER | SOURCEID_DSP); |
@@ -1318,7 +1319,7 @@ acornscsi_write_pio(AS_Host *host, char *bytes, int *ptr, int len, unsigned int | |||
1318 | static void | 1319 | static void |
1319 | acornscsi_sendcommand(AS_Host *host) | 1320 | acornscsi_sendcommand(AS_Host *host) |
1320 | { | 1321 | { |
1321 | Scsi_Cmnd *SCpnt = host->SCpnt; | 1322 | struct scsi_cmnd *SCpnt = host->SCpnt; |
1322 | 1323 | ||
1323 | sbic_arm_write(host->scsi.io_port, SBIC_TRANSCNTH, 0); | 1324 | sbic_arm_write(host->scsi.io_port, SBIC_TRANSCNTH, 0); |
1324 | sbic_arm_writenext(host->scsi.io_port, 0); | 1325 | sbic_arm_writenext(host->scsi.io_port, 0); |
@@ -1693,7 +1694,7 @@ void acornscsi_message(AS_Host *host) | |||
1693 | acornscsi_sbic_issuecmd(host, CMND_ASSERTATN); | 1694 | acornscsi_sbic_issuecmd(host, CMND_ASSERTATN); |
1694 | msgqueue_addmsg(&host->scsi.msgs, 1, ABORT); | 1695 | msgqueue_addmsg(&host->scsi.msgs, 1, ABORT); |
1695 | } else { | 1696 | } else { |
1696 | Scsi_Cmnd *SCpnt = host->SCpnt; | 1697 | struct scsi_cmnd *SCpnt = host->SCpnt; |
1697 | 1698 | ||
1698 | acornscsi_dma_cleanup(host); | 1699 | acornscsi_dma_cleanup(host); |
1699 | 1700 | ||
@@ -2509,13 +2510,14 @@ acornscsi_intr(int irq, void *dev_id, struct pt_regs *regs) | |||
2509 | */ | 2510 | */ |
2510 | 2511 | ||
2511 | /* | 2512 | /* |
2512 | * Function : acornscsi_queuecmd(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)) | 2513 | * Function : acornscsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) |
2513 | * Purpose : queues a SCSI command | 2514 | * Purpose : queues a SCSI command |
2514 | * Params : cmd - SCSI command | 2515 | * Params : cmd - SCSI command |
2515 | * done - function called on completion, with pointer to command descriptor | 2516 | * done - function called on completion, with pointer to command descriptor |
2516 | * Returns : 0, or < 0 on error. | 2517 | * Returns : 0, or < 0 on error. |
2517 | */ | 2518 | */ |
2518 | int acornscsi_queuecmd(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | 2519 | int acornscsi_queuecmd(struct scsi_cmnd *SCpnt, |
2520 | void (*done)(struct scsi_cmnd *)) | ||
2519 | { | 2521 | { |
2520 | AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; | 2522 | AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; |
2521 | 2523 | ||
@@ -2565,17 +2567,18 @@ int acornscsi_queuecmd(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | |||
2565 | } | 2567 | } |
2566 | 2568 | ||
2567 | /* | 2569 | /* |
2568 | * Prototype: void acornscsi_reportstatus(Scsi_Cmnd **SCpntp1, Scsi_Cmnd **SCpntp2, int result) | 2570 | * Prototype: void acornscsi_reportstatus(struct scsi_cmnd **SCpntp1, struct scsi_cmnd **SCpntp2, int result) |
2569 | * Purpose : pass a result to *SCpntp1, and check if *SCpntp1 = *SCpntp2 | 2571 | * Purpose : pass a result to *SCpntp1, and check if *SCpntp1 = *SCpntp2 |
2570 | * Params : SCpntp1 - pointer to command to return | 2572 | * Params : SCpntp1 - pointer to command to return |
2571 | * SCpntp2 - pointer to command to check | 2573 | * SCpntp2 - pointer to command to check |
2572 | * result - result to pass back to mid-level done function | 2574 | * result - result to pass back to mid-level done function |
2573 | * Returns : *SCpntp2 = NULL if *SCpntp1 is the same command structure as *SCpntp2. | 2575 | * Returns : *SCpntp2 = NULL if *SCpntp1 is the same command structure as *SCpntp2. |
2574 | */ | 2576 | */ |
2575 | static inline | 2577 | static inline void acornscsi_reportstatus(struct scsi_cmnd **SCpntp1, |
2576 | void acornscsi_reportstatus(Scsi_Cmnd **SCpntp1, Scsi_Cmnd **SCpntp2, int result) | 2578 | struct scsi_cmnd **SCpntp2, |
2579 | int result) | ||
2577 | { | 2580 | { |
2578 | Scsi_Cmnd *SCpnt = *SCpntp1; | 2581 | struct scsi_cmnd *SCpnt = *SCpntp1; |
2579 | 2582 | ||
2580 | if (SCpnt) { | 2583 | if (SCpnt) { |
2581 | *SCpntp1 = NULL; | 2584 | *SCpntp1 = NULL; |
@@ -2591,13 +2594,12 @@ void acornscsi_reportstatus(Scsi_Cmnd **SCpntp1, Scsi_Cmnd **SCpntp2, int result | |||
2591 | enum res_abort { res_not_running, res_success, res_success_clear, res_snooze }; | 2594 | enum res_abort { res_not_running, res_success, res_success_clear, res_snooze }; |
2592 | 2595 | ||
2593 | /* | 2596 | /* |
2594 | * Prototype: enum res acornscsi_do_abort(Scsi_Cmnd *SCpnt) | 2597 | * Prototype: enum res acornscsi_do_abort(struct scsi_cmnd *SCpnt) |
2595 | * Purpose : abort a command on this host | 2598 | * Purpose : abort a command on this host |
2596 | * Params : SCpnt - command to abort | 2599 | * Params : SCpnt - command to abort |
2597 | * Returns : our abort status | 2600 | * Returns : our abort status |
2598 | */ | 2601 | */ |
2599 | static enum res_abort | 2602 | static enum res_abort acornscsi_do_abort(AS_Host *host, struct scsi_cmnd *SCpnt) |
2600 | acornscsi_do_abort(AS_Host *host, Scsi_Cmnd *SCpnt) | ||
2601 | { | 2603 | { |
2602 | enum res_abort res = res_not_running; | 2604 | enum res_abort res = res_not_running; |
2603 | 2605 | ||
@@ -2684,12 +2686,12 @@ acornscsi_do_abort(AS_Host *host, Scsi_Cmnd *SCpnt) | |||
2684 | } | 2686 | } |
2685 | 2687 | ||
2686 | /* | 2688 | /* |
2687 | * Prototype: int acornscsi_abort(Scsi_Cmnd *SCpnt) | 2689 | * Prototype: int acornscsi_abort(struct scsi_cmnd *SCpnt) |
2688 | * Purpose : abort a command on this host | 2690 | * Purpose : abort a command on this host |
2689 | * Params : SCpnt - command to abort | 2691 | * Params : SCpnt - command to abort |
2690 | * Returns : one of SCSI_ABORT_ macros | 2692 | * Returns : one of SCSI_ABORT_ macros |
2691 | */ | 2693 | */ |
2692 | int acornscsi_abort(Scsi_Cmnd *SCpnt) | 2694 | int acornscsi_abort(struct scsi_cmnd *SCpnt) |
2693 | { | 2695 | { |
2694 | AS_Host *host = (AS_Host *) SCpnt->device->host->hostdata; | 2696 | AS_Host *host = (AS_Host *) SCpnt->device->host->hostdata; |
2695 | int result; | 2697 | int result; |
@@ -2770,16 +2772,16 @@ int acornscsi_abort(Scsi_Cmnd *SCpnt) | |||
2770 | } | 2772 | } |
2771 | 2773 | ||
2772 | /* | 2774 | /* |
2773 | * Prototype: int acornscsi_reset(Scsi_Cmnd *SCpnt, unsigned int reset_flags) | 2775 | * Prototype: int acornscsi_reset(struct scsi_cmnd *SCpnt, unsigned int reset_flags) |
2774 | * Purpose : reset a command on this host/reset this host | 2776 | * Purpose : reset a command on this host/reset this host |
2775 | * Params : SCpnt - command causing reset | 2777 | * Params : SCpnt - command causing reset |
2776 | * result - what type of reset to perform | 2778 | * result - what type of reset to perform |
2777 | * Returns : one of SCSI_RESET_ macros | 2779 | * Returns : one of SCSI_RESET_ macros |
2778 | */ | 2780 | */ |
2779 | int acornscsi_reset(Scsi_Cmnd *SCpnt, unsigned int reset_flags) | 2781 | int acornscsi_reset(struct scsi_cmnd *SCpnt, unsigned int reset_flags) |
2780 | { | 2782 | { |
2781 | AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; | 2783 | AS_Host *host = (AS_Host *)SCpnt->device->host->hostdata; |
2782 | Scsi_Cmnd *SCptr; | 2784 | struct scsi_cmnd *SCptr; |
2783 | 2785 | ||
2784 | host->stats.resets += 1; | 2786 | host->stats.resets += 1; |
2785 | 2787 | ||
diff --git a/drivers/scsi/arm/acornscsi.h b/drivers/scsi/arm/acornscsi.h index 2142290f8404..d11424b89f42 100644 --- a/drivers/scsi/arm/acornscsi.h +++ b/drivers/scsi/arm/acornscsi.h | |||
@@ -277,8 +277,8 @@ struct status_entry { | |||
277 | typedef struct acornscsi_hostdata { | 277 | typedef struct acornscsi_hostdata { |
278 | /* miscellaneous */ | 278 | /* miscellaneous */ |
279 | struct Scsi_Host *host; /* host */ | 279 | struct Scsi_Host *host; /* host */ |
280 | Scsi_Cmnd *SCpnt; /* currently processing command */ | 280 | struct scsi_cmnd *SCpnt; /* currently processing command */ |
281 | Scsi_Cmnd *origSCpnt; /* original connecting command */ | 281 | struct scsi_cmnd *origSCpnt; /* original connecting command */ |
282 | 282 | ||
283 | /* driver information */ | 283 | /* driver information */ |
284 | struct { | 284 | struct { |
diff --git a/drivers/scsi/arm/fas216.c b/drivers/scsi/arm/fas216.c index 4cf7afc31cc7..e05f0c2fc912 100644 --- a/drivers/scsi/arm/fas216.c +++ b/drivers/scsi/arm/fas216.c | |||
@@ -297,8 +297,8 @@ fas216_do_log(FAS216_Info *info, char target, char *fmt, va_list ap) | |||
297 | printk("scsi%d.%c: %s", info->host->host_no, target, buf); | 297 | printk("scsi%d.%c: %s", info->host->host_no, target, buf); |
298 | } | 298 | } |
299 | 299 | ||
300 | static void | 300 | static void fas216_log_command(FAS216_Info *info, int level, |
301 | fas216_log_command(FAS216_Info *info, int level, Scsi_Cmnd *SCpnt, char *fmt, ...) | 301 | struct scsi_cmnd *SCpnt, char *fmt, ...) |
302 | { | 302 | { |
303 | va_list args; | 303 | va_list args; |
304 | 304 | ||
@@ -1662,7 +1662,7 @@ irqreturn_t fas216_intr(FAS216_Info *info) | |||
1662 | return handled; | 1662 | return handled; |
1663 | } | 1663 | } |
1664 | 1664 | ||
1665 | static void __fas216_start_command(FAS216_Info *info, Scsi_Cmnd *SCpnt) | 1665 | static void __fas216_start_command(FAS216_Info *info, struct scsi_cmnd *SCpnt) |
1666 | { | 1666 | { |
1667 | int tot_msglen; | 1667 | int tot_msglen; |
1668 | 1668 | ||
@@ -1754,7 +1754,7 @@ static int parity_test(FAS216_Info *info, int target) | |||
1754 | return info->device[target].parity_check; | 1754 | return info->device[target].parity_check; |
1755 | } | 1755 | } |
1756 | 1756 | ||
1757 | static void fas216_start_command(FAS216_Info *info, Scsi_Cmnd *SCpnt) | 1757 | static void fas216_start_command(FAS216_Info *info, struct scsi_cmnd *SCpnt) |
1758 | { | 1758 | { |
1759 | int disconnect_ok; | 1759 | int disconnect_ok; |
1760 | 1760 | ||
@@ -1808,7 +1808,7 @@ static void fas216_start_command(FAS216_Info *info, Scsi_Cmnd *SCpnt) | |||
1808 | __fas216_start_command(info, SCpnt); | 1808 | __fas216_start_command(info, SCpnt); |
1809 | } | 1809 | } |
1810 | 1810 | ||
1811 | static void fas216_allocate_tag(FAS216_Info *info, Scsi_Cmnd *SCpnt) | 1811 | static void fas216_allocate_tag(FAS216_Info *info, struct scsi_cmnd *SCpnt) |
1812 | { | 1812 | { |
1813 | #ifdef SCSI2_TAG | 1813 | #ifdef SCSI2_TAG |
1814 | /* | 1814 | /* |
@@ -1842,7 +1842,8 @@ static void fas216_allocate_tag(FAS216_Info *info, Scsi_Cmnd *SCpnt) | |||
1842 | } | 1842 | } |
1843 | } | 1843 | } |
1844 | 1844 | ||
1845 | static void fas216_do_bus_device_reset(FAS216_Info *info, Scsi_Cmnd *SCpnt) | 1845 | static void fas216_do_bus_device_reset(FAS216_Info *info, |
1846 | struct scsi_cmnd *SCpnt) | ||
1846 | { | 1847 | { |
1847 | struct message *msg; | 1848 | struct message *msg; |
1848 | 1849 | ||
@@ -1890,7 +1891,7 @@ static void fas216_do_bus_device_reset(FAS216_Info *info, Scsi_Cmnd *SCpnt) | |||
1890 | */ | 1891 | */ |
1891 | static void fas216_kick(FAS216_Info *info) | 1892 | static void fas216_kick(FAS216_Info *info) |
1892 | { | 1893 | { |
1893 | Scsi_Cmnd *SCpnt = NULL; | 1894 | struct scsi_cmnd *SCpnt = NULL; |
1894 | #define TYPE_OTHER 0 | 1895 | #define TYPE_OTHER 0 |
1895 | #define TYPE_RESET 1 | 1896 | #define TYPE_RESET 1 |
1896 | #define TYPE_QUEUE 2 | 1897 | #define TYPE_QUEUE 2 |
@@ -1978,8 +1979,8 @@ static void fas216_kick(FAS216_Info *info) | |||
1978 | /* | 1979 | /* |
1979 | * Clean up from issuing a BUS DEVICE RESET message to a device. | 1980 | * Clean up from issuing a BUS DEVICE RESET message to a device. |
1980 | */ | 1981 | */ |
1981 | static void | 1982 | static void fas216_devicereset_done(FAS216_Info *info, struct scsi_cmnd *SCpnt, |
1982 | fas216_devicereset_done(FAS216_Info *info, Scsi_Cmnd *SCpnt, unsigned int result) | 1983 | unsigned int result) |
1983 | { | 1984 | { |
1984 | fas216_log(info, LOG_ERROR, "fas216 device reset complete"); | 1985 | fas216_log(info, LOG_ERROR, "fas216 device reset complete"); |
1985 | 1986 | ||
@@ -1996,8 +1997,8 @@ fas216_devicereset_done(FAS216_Info *info, Scsi_Cmnd *SCpnt, unsigned int result | |||
1996 | * | 1997 | * |
1997 | * Finish processing automatic request sense command | 1998 | * Finish processing automatic request sense command |
1998 | */ | 1999 | */ |
1999 | static void | 2000 | static void fas216_rq_sns_done(FAS216_Info *info, struct scsi_cmnd *SCpnt, |
2000 | fas216_rq_sns_done(FAS216_Info *info, Scsi_Cmnd *SCpnt, unsigned int result) | 2001 | unsigned int result) |
2001 | { | 2002 | { |
2002 | fas216_log_target(info, LOG_CONNECT, SCpnt->device->id, | 2003 | fas216_log_target(info, LOG_CONNECT, SCpnt->device->id, |
2003 | "request sense complete, result=0x%04x%02x%02x", | 2004 | "request sense complete, result=0x%04x%02x%02x", |
@@ -2030,7 +2031,7 @@ fas216_rq_sns_done(FAS216_Info *info, Scsi_Cmnd *SCpnt, unsigned int result) | |||
2030 | * Finish processing of standard command | 2031 | * Finish processing of standard command |
2031 | */ | 2032 | */ |
2032 | static void | 2033 | static void |
2033 | fas216_std_done(FAS216_Info *info, Scsi_Cmnd *SCpnt, unsigned int result) | 2034 | fas216_std_done(FAS216_Info *info, struct scsi_cmnd *SCpnt, unsigned int result) |
2034 | { | 2035 | { |
2035 | info->stats.fins += 1; | 2036 | info->stats.fins += 1; |
2036 | 2037 | ||
@@ -2142,8 +2143,8 @@ request_sense: | |||
2142 | */ | 2143 | */ |
2143 | static void fas216_done(FAS216_Info *info, unsigned int result) | 2144 | static void fas216_done(FAS216_Info *info, unsigned int result) |
2144 | { | 2145 | { |
2145 | void (*fn)(FAS216_Info *, Scsi_Cmnd *, unsigned int); | 2146 | void (*fn)(FAS216_Info *, struct scsi_cmnd *, unsigned int); |
2146 | Scsi_Cmnd *SCpnt; | 2147 | struct scsi_cmnd *SCpnt; |
2147 | unsigned long flags; | 2148 | unsigned long flags; |
2148 | 2149 | ||
2149 | fas216_checkmagic(info); | 2150 | fas216_checkmagic(info); |
@@ -2182,7 +2183,7 @@ static void fas216_done(FAS216_Info *info, unsigned int result) | |||
2182 | info->device[SCpnt->device->id].parity_check = 0; | 2183 | info->device[SCpnt->device->id].parity_check = 0; |
2183 | clear_bit(SCpnt->device->id * 8 + SCpnt->device->lun, info->busyluns); | 2184 | clear_bit(SCpnt->device->id * 8 + SCpnt->device->lun, info->busyluns); |
2184 | 2185 | ||
2185 | fn = (void (*)(FAS216_Info *, Scsi_Cmnd *, unsigned int))SCpnt->host_scribble; | 2186 | fn = (void (*)(FAS216_Info *, struct scsi_cmnd *, unsigned int))SCpnt->host_scribble; |
2186 | fn(info, SCpnt, result); | 2187 | fn(info, SCpnt, result); |
2187 | 2188 | ||
2188 | if (info->scsi.irq != NO_IRQ) { | 2189 | if (info->scsi.irq != NO_IRQ) { |
@@ -2207,7 +2208,8 @@ no_command: | |||
2207 | * Returns: 0 on success, else error. | 2208 | * Returns: 0 on success, else error. |
2208 | * Notes: io_request_lock is held, interrupts are disabled. | 2209 | * Notes: io_request_lock is held, interrupts are disabled. |
2209 | */ | 2210 | */ |
2210 | int fas216_queue_command(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | 2211 | int fas216_queue_command(struct scsi_cmnd *SCpnt, |
2212 | void (*done)(struct scsi_cmnd *)) | ||
2211 | { | 2213 | { |
2212 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2214 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2213 | int result; | 2215 | int result; |
@@ -2254,7 +2256,7 @@ int fas216_queue_command(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | |||
2254 | * | 2256 | * |
2255 | * Trigger restart of a waiting thread in fas216_command | 2257 | * Trigger restart of a waiting thread in fas216_command |
2256 | */ | 2258 | */ |
2257 | static void fas216_internal_done(Scsi_Cmnd *SCpnt) | 2259 | static void fas216_internal_done(struct scsi_cmnd *SCpnt) |
2258 | { | 2260 | { |
2259 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2261 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2260 | 2262 | ||
@@ -2271,7 +2273,8 @@ static void fas216_internal_done(Scsi_Cmnd *SCpnt) | |||
2271 | * Returns: scsi result code. | 2273 | * Returns: scsi result code. |
2272 | * Notes: io_request_lock is held, interrupts are disabled. | 2274 | * Notes: io_request_lock is held, interrupts are disabled. |
2273 | */ | 2275 | */ |
2274 | int fas216_noqueue_command(Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | 2276 | int fas216_noqueue_command(struct scsi_cmnd *SCpnt, |
2277 | void (*done)(struct scsi_cmnd *)) | ||
2275 | { | 2278 | { |
2276 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2279 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2277 | 2280 | ||
@@ -2350,7 +2353,8 @@ enum res_find { | |||
2350 | * Decide how to abort a command. | 2353 | * Decide how to abort a command. |
2351 | * Returns: abort status | 2354 | * Returns: abort status |
2352 | */ | 2355 | */ |
2353 | static enum res_find fas216_find_command(FAS216_Info *info, Scsi_Cmnd *SCpnt) | 2356 | static enum res_find fas216_find_command(FAS216_Info *info, |
2357 | struct scsi_cmnd *SCpnt) | ||
2354 | { | 2358 | { |
2355 | enum res_find res = res_failed; | 2359 | enum res_find res = res_failed; |
2356 | 2360 | ||
@@ -2417,7 +2421,7 @@ static enum res_find fas216_find_command(FAS216_Info *info, Scsi_Cmnd *SCpnt) | |||
2417 | * Returns: FAILED if unable to abort | 2421 | * Returns: FAILED if unable to abort |
2418 | * Notes: io_request_lock is taken, and irqs are disabled | 2422 | * Notes: io_request_lock is taken, and irqs are disabled |
2419 | */ | 2423 | */ |
2420 | int fas216_eh_abort(Scsi_Cmnd *SCpnt) | 2424 | int fas216_eh_abort(struct scsi_cmnd *SCpnt) |
2421 | { | 2425 | { |
2422 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2426 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2423 | int result = FAILED; | 2427 | int result = FAILED; |
@@ -2474,7 +2478,7 @@ int fas216_eh_abort(Scsi_Cmnd *SCpnt) | |||
2474 | * Notes: We won't be re-entered, so we'll only have one device | 2478 | * Notes: We won't be re-entered, so we'll only have one device |
2475 | * reset on the go at one time. | 2479 | * reset on the go at one time. |
2476 | */ | 2480 | */ |
2477 | int fas216_eh_device_reset(Scsi_Cmnd *SCpnt) | 2481 | int fas216_eh_device_reset(struct scsi_cmnd *SCpnt) |
2478 | { | 2482 | { |
2479 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2483 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2480 | unsigned long flags; | 2484 | unsigned long flags; |
@@ -2555,7 +2559,7 @@ int fas216_eh_device_reset(Scsi_Cmnd *SCpnt) | |||
2555 | * Returns: FAILED if unable to reset. | 2559 | * Returns: FAILED if unable to reset. |
2556 | * Notes: Further commands are blocked. | 2560 | * Notes: Further commands are blocked. |
2557 | */ | 2561 | */ |
2558 | int fas216_eh_bus_reset(Scsi_Cmnd *SCpnt) | 2562 | int fas216_eh_bus_reset(struct scsi_cmnd *SCpnt) |
2559 | { | 2563 | { |
2560 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2564 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2561 | unsigned long flags; | 2565 | unsigned long flags; |
@@ -2655,7 +2659,7 @@ static void fas216_init_chip(FAS216_Info *info) | |||
2655 | * Returns: FAILED if unable to reset. | 2659 | * Returns: FAILED if unable to reset. |
2656 | * Notes: io_request_lock is taken, and irqs are disabled | 2660 | * Notes: io_request_lock is taken, and irqs are disabled |
2657 | */ | 2661 | */ |
2658 | int fas216_eh_host_reset(Scsi_Cmnd *SCpnt) | 2662 | int fas216_eh_host_reset(struct scsi_cmnd *SCpnt) |
2659 | { | 2663 | { |
2660 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; | 2664 | FAS216_Info *info = (FAS216_Info *)SCpnt->device->host->hostdata; |
2661 | 2665 | ||
diff --git a/drivers/scsi/arm/fas216.h b/drivers/scsi/arm/fas216.h index 540914d6fd32..00e5f055afdc 100644 --- a/drivers/scsi/arm/fas216.h +++ b/drivers/scsi/arm/fas216.h | |||
@@ -218,11 +218,11 @@ typedef struct { | |||
218 | unsigned long magic_start; | 218 | unsigned long magic_start; |
219 | spinlock_t host_lock; | 219 | spinlock_t host_lock; |
220 | struct Scsi_Host *host; /* host */ | 220 | struct Scsi_Host *host; /* host */ |
221 | Scsi_Cmnd *SCpnt; /* currently processing command */ | 221 | struct scsi_cmnd *SCpnt; /* currently processing command */ |
222 | Scsi_Cmnd *origSCpnt; /* original connecting command */ | 222 | struct scsi_cmnd *origSCpnt; /* original connecting command */ |
223 | Scsi_Cmnd *reqSCpnt; /* request sense command */ | 223 | struct scsi_cmnd *reqSCpnt; /* request sense command */ |
224 | Scsi_Cmnd *rstSCpnt; /* reset command */ | 224 | struct scsi_cmnd *rstSCpnt; /* reset command */ |
225 | Scsi_Cmnd *pending_SCpnt[8]; /* per-device pending commands */ | 225 | struct scsi_cmnd *pending_SCpnt[8]; /* per-device pending commands */ |
226 | int next_pending; /* next pending device */ | 226 | int next_pending; /* next pending device */ |
227 | 227 | ||
228 | /* | 228 | /* |
@@ -328,21 +328,23 @@ extern int fas216_init (struct Scsi_Host *instance); | |||
328 | */ | 328 | */ |
329 | extern int fas216_add (struct Scsi_Host *instance, struct device *dev); | 329 | extern int fas216_add (struct Scsi_Host *instance, struct device *dev); |
330 | 330 | ||
331 | /* Function: int fas216_queue_command (Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | 331 | /* Function: int fas216_queue_command(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) |
332 | * Purpose : queue a command for adapter to process. | 332 | * Purpose : queue a command for adapter to process. |
333 | * Params : SCpnt - Command to queue | 333 | * Params : SCpnt - Command to queue |
334 | * done - done function to call once command is complete | 334 | * done - done function to call once command is complete |
335 | * Returns : 0 - success, else error | 335 | * Returns : 0 - success, else error |
336 | */ | 336 | */ |
337 | extern int fas216_queue_command (Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); | 337 | extern int fas216_queue_command(struct scsi_cmnd *, |
338 | void (*done)(struct scsi_cmnd *)); | ||
338 | 339 | ||
339 | /* Function: int fas216_noqueue_command (Scsi_Cmnd *SCpnt, void (*done)(Scsi_Cmnd *)) | 340 | /* Function: int fas216_noqueue_command(istruct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) |
340 | * Purpose : queue a command for adapter to process, and process it to completion. | 341 | * Purpose : queue a command for adapter to process, and process it to completion. |
341 | * Params : SCpnt - Command to queue | 342 | * Params : SCpnt - Command to queue |
342 | * done - done function to call once command is complete | 343 | * done - done function to call once command is complete |
343 | * Returns : 0 - success, else error | 344 | * Returns : 0 - success, else error |
344 | */ | 345 | */ |
345 | extern int fas216_noqueue_command (Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); | 346 | extern int fas216_noqueue_command(struct scsi_cmnd *, |
347 | void (*done)(struct scsi_cmnd *)); | ||
346 | 348 | ||
347 | /* Function: irqreturn_t fas216_intr (FAS216_Info *info) | 349 | /* Function: irqreturn_t fas216_intr (FAS216_Info *info) |
348 | * Purpose : handle interrupts from the interface to progress a command | 350 | * Purpose : handle interrupts from the interface to progress a command |
@@ -363,32 +365,32 @@ extern int fas216_print_host(FAS216_Info *info, char *buffer); | |||
363 | extern int fas216_print_stats(FAS216_Info *info, char *buffer); | 365 | extern int fas216_print_stats(FAS216_Info *info, char *buffer); |
364 | extern int fas216_print_devices(FAS216_Info *info, char *buffer); | 366 | extern int fas216_print_devices(FAS216_Info *info, char *buffer); |
365 | 367 | ||
366 | /* Function: int fas216_eh_abort(Scsi_Cmnd *SCpnt) | 368 | /* Function: int fas216_eh_abort(struct scsi_cmnd *SCpnt) |
367 | * Purpose : abort this command | 369 | * Purpose : abort this command |
368 | * Params : SCpnt - command to abort | 370 | * Params : SCpnt - command to abort |
369 | * Returns : FAILED if unable to abort | 371 | * Returns : FAILED if unable to abort |
370 | */ | 372 | */ |
371 | extern int fas216_eh_abort(Scsi_Cmnd *SCpnt); | 373 | extern int fas216_eh_abort(struct scsi_cmnd *SCpnt); |
372 | 374 | ||
373 | /* Function: int fas216_eh_device_reset(Scsi_Cmnd *SCpnt) | 375 | /* Function: int fas216_eh_device_reset(struct scsi_cmnd *SCpnt) |
374 | * Purpose : Reset the device associated with this command | 376 | * Purpose : Reset the device associated with this command |
375 | * Params : SCpnt - command specifing device to reset | 377 | * Params : SCpnt - command specifing device to reset |
376 | * Returns : FAILED if unable to reset | 378 | * Returns : FAILED if unable to reset |
377 | */ | 379 | */ |
378 | extern int fas216_eh_device_reset(Scsi_Cmnd *SCpnt); | 380 | extern int fas216_eh_device_reset(struct scsi_cmnd *SCpnt); |
379 | 381 | ||
380 | /* Function: int fas216_eh_bus_reset(Scsi_Cmnd *SCpnt) | 382 | /* Function: int fas216_eh_bus_reset(struct scsi_cmnd *SCpnt) |
381 | * Purpose : Reset the complete bus associated with this command | 383 | * Purpose : Reset the complete bus associated with this command |
382 | * Params : SCpnt - command specifing bus to reset | 384 | * Params : SCpnt - command specifing bus to reset |
383 | * Returns : FAILED if unable to reset | 385 | * Returns : FAILED if unable to reset |
384 | */ | 386 | */ |
385 | extern int fas216_eh_bus_reset(Scsi_Cmnd *SCpnt); | 387 | extern int fas216_eh_bus_reset(struct scsi_cmnd *SCpnt); |
386 | 388 | ||
387 | /* Function: int fas216_eh_host_reset(Scsi_Cmnd *SCpnt) | 389 | /* Function: int fas216_eh_host_reset(struct scsi_cmnd *SCpnt) |
388 | * Purpose : Reset the host associated with this command | 390 | * Purpose : Reset the host associated with this command |
389 | * Params : SCpnt - command specifing host to reset | 391 | * Params : SCpnt - command specifing host to reset |
390 | * Returns : FAILED if unable to reset | 392 | * Returns : FAILED if unable to reset |
391 | */ | 393 | */ |
392 | extern int fas216_eh_host_reset(Scsi_Cmnd *SCpnt); | 394 | extern int fas216_eh_host_reset(struct scsi_cmnd *SCpnt); |
393 | 395 | ||
394 | #endif /* FAS216_H */ | 396 | #endif /* FAS216_H */ |
diff --git a/drivers/scsi/arm/queue.c b/drivers/scsi/arm/queue.c index 8caa5903ce38..cb11ccef54e5 100644 --- a/drivers/scsi/arm/queue.c +++ b/drivers/scsi/arm/queue.c | |||
@@ -29,7 +29,7 @@ | |||
29 | 29 | ||
30 | typedef struct queue_entry { | 30 | typedef struct queue_entry { |
31 | struct list_head list; | 31 | struct list_head list; |
32 | Scsi_Cmnd *SCpnt; | 32 | struct scsi_cmnd *SCpnt; |
33 | #ifdef DEBUG | 33 | #ifdef DEBUG |
34 | unsigned long magic; | 34 | unsigned long magic; |
35 | #endif | 35 | #endif |
@@ -96,14 +96,14 @@ void queue_free (Queue_t *queue) | |||
96 | 96 | ||
97 | 97 | ||
98 | /* | 98 | /* |
99 | * Function: int queue_add_cmd(Queue_t *queue, Scsi_Cmnd *SCpnt, int head) | 99 | * Function: int __queue_add(Queue_t *queue, struct scsi_cmnd *SCpnt, int head) |
100 | * Purpose : Add a new command onto a queue, adding REQUEST_SENSE to head. | 100 | * Purpose : Add a new command onto a queue, adding REQUEST_SENSE to head. |
101 | * Params : queue - destination queue | 101 | * Params : queue - destination queue |
102 | * SCpnt - command to add | 102 | * SCpnt - command to add |
103 | * head - add command to head of queue | 103 | * head - add command to head of queue |
104 | * Returns : 0 on error, !0 on success | 104 | * Returns : 0 on error, !0 on success |
105 | */ | 105 | */ |
106 | int __queue_add(Queue_t *queue, Scsi_Cmnd *SCpnt, int head) | 106 | int __queue_add(Queue_t *queue, struct scsi_cmnd *SCpnt, int head) |
107 | { | 107 | { |
108 | unsigned long flags; | 108 | unsigned long flags; |
109 | struct list_head *l; | 109 | struct list_head *l; |
@@ -134,7 +134,7 @@ empty: | |||
134 | return ret; | 134 | return ret; |
135 | } | 135 | } |
136 | 136 | ||
137 | static Scsi_Cmnd *__queue_remove(Queue_t *queue, struct list_head *ent) | 137 | static struct scsi_cmnd *__queue_remove(Queue_t *queue, struct list_head *ent) |
138 | { | 138 | { |
139 | QE_t *q; | 139 | QE_t *q; |
140 | 140 | ||
@@ -152,17 +152,17 @@ static Scsi_Cmnd *__queue_remove(Queue_t *queue, struct list_head *ent) | |||
152 | } | 152 | } |
153 | 153 | ||
154 | /* | 154 | /* |
155 | * Function: Scsi_Cmnd *queue_remove_exclude (queue, exclude) | 155 | * Function: struct scsi_cmnd *queue_remove_exclude (queue, exclude) |
156 | * Purpose : remove a SCSI command from a queue | 156 | * Purpose : remove a SCSI command from a queue |
157 | * Params : queue - queue to remove command from | 157 | * Params : queue - queue to remove command from |
158 | * exclude - bit array of target&lun which is busy | 158 | * exclude - bit array of target&lun which is busy |
159 | * Returns : Scsi_Cmnd if successful (and a reference), or NULL if no command available | 159 | * Returns : struct scsi_cmnd if successful (and a reference), or NULL if no command available |
160 | */ | 160 | */ |
161 | Scsi_Cmnd *queue_remove_exclude(Queue_t *queue, unsigned long *exclude) | 161 | struct scsi_cmnd *queue_remove_exclude(Queue_t *queue, unsigned long *exclude) |
162 | { | 162 | { |
163 | unsigned long flags; | 163 | unsigned long flags; |
164 | struct list_head *l; | 164 | struct list_head *l; |
165 | Scsi_Cmnd *SCpnt = NULL; | 165 | struct scsi_cmnd *SCpnt = NULL; |
166 | 166 | ||
167 | spin_lock_irqsave(&queue->queue_lock, flags); | 167 | spin_lock_irqsave(&queue->queue_lock, flags); |
168 | list_for_each(l, &queue->head) { | 168 | list_for_each(l, &queue->head) { |
@@ -178,15 +178,15 @@ Scsi_Cmnd *queue_remove_exclude(Queue_t *queue, unsigned long *exclude) | |||
178 | } | 178 | } |
179 | 179 | ||
180 | /* | 180 | /* |
181 | * Function: Scsi_Cmnd *queue_remove (queue) | 181 | * Function: struct scsi_cmnd *queue_remove (queue) |
182 | * Purpose : removes first SCSI command from a queue | 182 | * Purpose : removes first SCSI command from a queue |
183 | * Params : queue - queue to remove command from | 183 | * Params : queue - queue to remove command from |
184 | * Returns : Scsi_Cmnd if successful (and a reference), or NULL if no command available | 184 | * Returns : struct scsi_cmnd if successful (and a reference), or NULL if no command available |
185 | */ | 185 | */ |
186 | Scsi_Cmnd *queue_remove(Queue_t *queue) | 186 | struct scsi_cmnd *queue_remove(Queue_t *queue) |
187 | { | 187 | { |
188 | unsigned long flags; | 188 | unsigned long flags; |
189 | Scsi_Cmnd *SCpnt = NULL; | 189 | struct scsi_cmnd *SCpnt = NULL; |
190 | 190 | ||
191 | spin_lock_irqsave(&queue->queue_lock, flags); | 191 | spin_lock_irqsave(&queue->queue_lock, flags); |
192 | if (!list_empty(&queue->head)) | 192 | if (!list_empty(&queue->head)) |
@@ -197,19 +197,20 @@ Scsi_Cmnd *queue_remove(Queue_t *queue) | |||
197 | } | 197 | } |
198 | 198 | ||
199 | /* | 199 | /* |
200 | * Function: Scsi_Cmnd *queue_remove_tgtluntag (queue, target, lun, tag) | 200 | * Function: struct scsi_cmnd *queue_remove_tgtluntag (queue, target, lun, tag) |
201 | * Purpose : remove a SCSI command from the queue for a specified target/lun/tag | 201 | * Purpose : remove a SCSI command from the queue for a specified target/lun/tag |
202 | * Params : queue - queue to remove command from | 202 | * Params : queue - queue to remove command from |
203 | * target - target that we want | 203 | * target - target that we want |
204 | * lun - lun on device | 204 | * lun - lun on device |
205 | * tag - tag on device | 205 | * tag - tag on device |
206 | * Returns : Scsi_Cmnd if successful, or NULL if no command satisfies requirements | 206 | * Returns : struct scsi_cmnd if successful, or NULL if no command satisfies requirements |
207 | */ | 207 | */ |
208 | Scsi_Cmnd *queue_remove_tgtluntag (Queue_t *queue, int target, int lun, int tag) | 208 | struct scsi_cmnd *queue_remove_tgtluntag(Queue_t *queue, int target, int lun, |
209 | int tag) | ||
209 | { | 210 | { |
210 | unsigned long flags; | 211 | unsigned long flags; |
211 | struct list_head *l; | 212 | struct list_head *l; |
212 | Scsi_Cmnd *SCpnt = NULL; | 213 | struct scsi_cmnd *SCpnt = NULL; |
213 | 214 | ||
214 | spin_lock_irqsave(&queue->queue_lock, flags); | 215 | spin_lock_irqsave(&queue->queue_lock, flags); |
215 | list_for_each(l, &queue->head) { | 216 | list_for_each(l, &queue->head) { |
@@ -275,13 +276,13 @@ int queue_probetgtlun (Queue_t *queue, int target, int lun) | |||
275 | } | 276 | } |
276 | 277 | ||
277 | /* | 278 | /* |
278 | * Function: int queue_remove_cmd(Queue_t *queue, Scsi_Cmnd *SCpnt) | 279 | * Function: int queue_remove_cmd(Queue_t *queue, struct scsi_cmnd *SCpnt) |
279 | * Purpose : remove a specific command from the queues | 280 | * Purpose : remove a specific command from the queues |
280 | * Params : queue - queue to look in | 281 | * Params : queue - queue to look in |
281 | * SCpnt - command to find | 282 | * SCpnt - command to find |
282 | * Returns : 0 if not found | 283 | * Returns : 0 if not found |
283 | */ | 284 | */ |
284 | int queue_remove_cmd(Queue_t *queue, Scsi_Cmnd *SCpnt) | 285 | int queue_remove_cmd(Queue_t *queue, struct scsi_cmnd *SCpnt) |
285 | { | 286 | { |
286 | unsigned long flags; | 287 | unsigned long flags; |
287 | struct list_head *l; | 288 | struct list_head *l; |
diff --git a/drivers/scsi/arm/queue.h b/drivers/scsi/arm/queue.h index 0c9dec4c1716..3c519c9237b2 100644 --- a/drivers/scsi/arm/queue.h +++ b/drivers/scsi/arm/queue.h | |||
@@ -32,46 +32,48 @@ extern int queue_initialise (Queue_t *queue); | |||
32 | extern void queue_free (Queue_t *queue); | 32 | extern void queue_free (Queue_t *queue); |
33 | 33 | ||
34 | /* | 34 | /* |
35 | * Function: Scsi_Cmnd *queue_remove (queue) | 35 | * Function: struct scsi_cmnd *queue_remove (queue) |
36 | * Purpose : removes first SCSI command from a queue | 36 | * Purpose : removes first SCSI command from a queue |
37 | * Params : queue - queue to remove command from | 37 | * Params : queue - queue to remove command from |
38 | * Returns : Scsi_Cmnd if successful (and a reference), or NULL if no command available | 38 | * Returns : struct scsi_cmnd if successful (and a reference), or NULL if no command available |
39 | */ | 39 | */ |
40 | extern Scsi_Cmnd *queue_remove (Queue_t *queue); | 40 | extern struct scsi_cmnd *queue_remove (Queue_t *queue); |
41 | 41 | ||
42 | /* | 42 | /* |
43 | * Function: Scsi_Cmnd *queue_remove_exclude_ref (queue, exclude) | 43 | * Function: struct scsi_cmnd *queue_remove_exclude_ref (queue, exclude) |
44 | * Purpose : remove a SCSI command from a queue | 44 | * Purpose : remove a SCSI command from a queue |
45 | * Params : queue - queue to remove command from | 45 | * Params : queue - queue to remove command from |
46 | * exclude - array of busy LUNs | 46 | * exclude - array of busy LUNs |
47 | * Returns : Scsi_Cmnd if successful (and a reference), or NULL if no command available | 47 | * Returns : struct scsi_cmnd if successful (and a reference), or NULL if no command available |
48 | */ | 48 | */ |
49 | extern Scsi_Cmnd *queue_remove_exclude (Queue_t *queue, unsigned long *exclude); | 49 | extern struct scsi_cmnd *queue_remove_exclude(Queue_t *queue, |
50 | unsigned long *exclude); | ||
50 | 51 | ||
51 | #define queue_add_cmd_ordered(queue,SCpnt) \ | 52 | #define queue_add_cmd_ordered(queue,SCpnt) \ |
52 | __queue_add(queue,SCpnt,(SCpnt)->cmnd[0] == REQUEST_SENSE) | 53 | __queue_add(queue,SCpnt,(SCpnt)->cmnd[0] == REQUEST_SENSE) |
53 | #define queue_add_cmd_tail(queue,SCpnt) \ | 54 | #define queue_add_cmd_tail(queue,SCpnt) \ |
54 | __queue_add(queue,SCpnt,0) | 55 | __queue_add(queue,SCpnt,0) |
55 | /* | 56 | /* |
56 | * Function: int __queue_add(Queue_t *queue, Scsi_Cmnd *SCpnt, int head) | 57 | * Function: int __queue_add(Queue_t *queue, struct scsi_cmnd *SCpnt, int head) |
57 | * Purpose : Add a new command onto a queue | 58 | * Purpose : Add a new command onto a queue |
58 | * Params : queue - destination queue | 59 | * Params : queue - destination queue |
59 | * SCpnt - command to add | 60 | * SCpnt - command to add |
60 | * head - add command to head of queue | 61 | * head - add command to head of queue |
61 | * Returns : 0 on error, !0 on success | 62 | * Returns : 0 on error, !0 on success |
62 | */ | 63 | */ |
63 | extern int __queue_add(Queue_t *queue, Scsi_Cmnd *SCpnt, int head); | 64 | extern int __queue_add(Queue_t *queue, struct scsi_cmnd *SCpnt, int head); |
64 | 65 | ||
65 | /* | 66 | /* |
66 | * Function: Scsi_Cmnd *queue_remove_tgtluntag (queue, target, lun, tag) | 67 | * Function: struct scsi_cmnd *queue_remove_tgtluntag (queue, target, lun, tag) |
67 | * Purpose : remove a SCSI command from the queue for a specified target/lun/tag | 68 | * Purpose : remove a SCSI command from the queue for a specified target/lun/tag |
68 | * Params : queue - queue to remove command from | 69 | * Params : queue - queue to remove command from |
69 | * target - target that we want | 70 | * target - target that we want |
70 | * lun - lun on device | 71 | * lun - lun on device |
71 | * tag - tag on device | 72 | * tag - tag on device |
72 | * Returns : Scsi_Cmnd if successful, or NULL if no command satisfies requirements | 73 | * Returns : struct scsi_cmnd if successful, or NULL if no command satisfies requirements |
73 | */ | 74 | */ |
74 | extern Scsi_Cmnd *queue_remove_tgtluntag (Queue_t *queue, int target, int lun, int tag); | 75 | extern struct scsi_cmnd *queue_remove_tgtluntag(Queue_t *queue, int target, |
76 | int lun, int tag); | ||
75 | 77 | ||
76 | /* | 78 | /* |
77 | * Function: queue_remove_all_target(queue, target) | 79 | * Function: queue_remove_all_target(queue, target) |
@@ -94,12 +96,12 @@ extern void queue_remove_all_target(Queue_t *queue, int target); | |||
94 | extern int queue_probetgtlun (Queue_t *queue, int target, int lun); | 96 | extern int queue_probetgtlun (Queue_t *queue, int target, int lun); |
95 | 97 | ||
96 | /* | 98 | /* |
97 | * Function: int queue_remove_cmd (Queue_t *queue, Scsi_Cmnd *SCpnt) | 99 | * Function: int queue_remove_cmd (Queue_t *queue, struct scsi_cmnd *SCpnt) |
98 | * Purpose : remove a specific command from the queues | 100 | * Purpose : remove a specific command from the queues |
99 | * Params : queue - queue to look in | 101 | * Params : queue - queue to look in |
100 | * SCpnt - command to find | 102 | * SCpnt - command to find |
101 | * Returns : 0 if not found | 103 | * Returns : 0 if not found |
102 | */ | 104 | */ |
103 | int queue_remove_cmd(Queue_t *queue, Scsi_Cmnd *SCpnt); | 105 | int queue_remove_cmd(Queue_t *queue, struct scsi_cmnd *SCpnt); |
104 | 106 | ||
105 | #endif /* QUEUE_H */ | 107 | #endif /* QUEUE_H */ |
diff --git a/drivers/scsi/arm/scsi.h b/drivers/scsi/arm/scsi.h index 8c2600ffc6af..3a39579bd08e 100644 --- a/drivers/scsi/arm/scsi.h +++ b/drivers/scsi/arm/scsi.h | |||
@@ -66,7 +66,7 @@ static inline void put_next_SCp_byte(struct scsi_pointer *SCp, unsigned char c) | |||
66 | SCp->this_residual -= 1; | 66 | SCp->this_residual -= 1; |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline void init_SCp(Scsi_Cmnd *SCpnt) | 69 | static inline void init_SCp(struct scsi_cmnd *SCpnt) |
70 | { | 70 | { |
71 | memset(&SCpnt->SCp, 0, sizeof(struct scsi_pointer)); | 71 | memset(&SCpnt->SCp, 0, sizeof(struct scsi_pointer)); |
72 | 72 | ||