aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2006-10-05 09:55:46 -0400
committerDavid Howells <dhowells@warthog.cambridge.redhat.com>2006-10-05 10:10:12 -0400
commit7d12e780e003f93433d49ce78cfedf4b4c52adc5 (patch)
tree6748550400445c11a306b132009f3001e3525df8 /drivers/scsi
parentda482792a6d1a3fbaaa25fae867b343fb4db3246 (diff)
IRQ: Maintain regs pointer globally rather than passing to IRQ handlers
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/3w-9xxx.c2
-rw-r--r--drivers/scsi/3w-xxxx.c3
-rw-r--r--drivers/scsi/53c700.c2
-rw-r--r--drivers/scsi/53c700.h2
-rw-r--r--drivers/scsi/53c7xx.c6
-rw-r--r--drivers/scsi/BusLogic.c2
-rw-r--r--drivers/scsi/BusLogic.h2
-rw-r--r--drivers/scsi/NCR5380.c6
-rw-r--r--drivers/scsi/NCR5380.h2
-rw-r--r--drivers/scsi/NCR53C9x.c6
-rw-r--r--drivers/scsi/NCR53C9x.h2
-rw-r--r--drivers/scsi/NCR53c406a.c11
-rw-r--r--drivers/scsi/NCR_D700.c4
-rw-r--r--drivers/scsi/NCR_Q720.c4
-rw-r--r--drivers/scsi/a100u2w.c2
-rw-r--r--drivers/scsi/a2091.c2
-rw-r--r--drivers/scsi/a3000.c2
-rw-r--r--drivers/scsi/aacraid/rx.c4
-rw-r--r--drivers/scsi/aacraid/sa.c2
-rw-r--r--drivers/scsi/advansys.c4
-rw-r--r--drivers/scsi/aha152x.c6
-rw-r--r--drivers/scsi/aha1542.c12
-rw-r--r--drivers/scsi/aha1740.c3
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.c2
-rw-r--r--drivers/scsi/aic7xxx/aic79xx_osm.h2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.c2
-rw-r--r--drivers/scsi/aic7xxx/aic7xxx_osm.h2
-rw-r--r--drivers/scsi/aic7xxx_old.c12
-rw-r--r--drivers/scsi/aic94xx/aic94xx_hwi.c3
-rw-r--r--drivers/scsi/aic94xx/aic94xx_hwi.h2
-rw-r--r--drivers/scsi/amiga7xx.h2
-rw-r--r--drivers/scsi/arcmsr/arcmsr_hba.c3
-rw-r--r--drivers/scsi/arm/acornscsi.c5
-rw-r--r--drivers/scsi/arm/cumana_2.c3
-rw-r--r--drivers/scsi/arm/eesox.c3
-rw-r--r--drivers/scsi/arm/powertec.c4
-rw-r--r--drivers/scsi/atari_NCR5380.c2
-rw-r--r--drivers/scsi/atari_dma_emul.c4
-rw-r--r--drivers/scsi/atari_scsi.c10
-rw-r--r--drivers/scsi/atp870u.c2
-rw-r--r--drivers/scsi/bvme6000.h2
-rw-r--r--drivers/scsi/dc395x.c3
-rw-r--r--drivers/scsi/dec_esp.c12
-rw-r--r--drivers/scsi/dpt_i2o.c2
-rw-r--r--drivers/scsi/dpti.h2
-rw-r--r--drivers/scsi/eata.c5
-rw-r--r--drivers/scsi/eata_pio.c7
-rw-r--r--drivers/scsi/esp.c4
-rw-r--r--drivers/scsi/fd_mcs.c4
-rw-r--r--drivers/scsi/fdomain.c6
-rw-r--r--drivers/scsi/gdth.c6
-rw-r--r--drivers/scsi/gvp11.c2
-rw-r--r--drivers/scsi/hptiop.c2
-rw-r--r--drivers/scsi/ibmmca.c3
-rw-r--r--drivers/scsi/ibmvscsi/rpa_vscsi.c5
-rw-r--r--drivers/scsi/in2000.c2
-rw-r--r--drivers/scsi/initio.c2
-rw-r--r--drivers/scsi/ipr.c3
-rw-r--r--drivers/scsi/ips.c4
-rw-r--r--drivers/scsi/lpfc/lpfc_crtn.h2
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c2
-rw-r--r--drivers/scsi/mac53c94.c10
-rw-r--r--drivers/scsi/mac_esp.c14
-rw-r--r--drivers/scsi/megaraid.c6
-rw-r--r--drivers/scsi/megaraid.h4
-rw-r--r--drivers/scsi/megaraid/megaraid_mbox.c4
-rw-r--r--drivers/scsi/megaraid/megaraid_sas.c2
-rw-r--r--drivers/scsi/mesh.c8
-rw-r--r--drivers/scsi/mvme147.c2
-rw-r--r--drivers/scsi/mvme16x.h2
-rw-r--r--drivers/scsi/ncr53c8xx.c2
-rw-r--r--drivers/scsi/ncr53c8xx.h2
-rw-r--r--drivers/scsi/nsp32.c4
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.c2
-rw-r--r--drivers/scsi/pcmcia/nsp_cs.h2
-rw-r--r--drivers/scsi/pcmcia/sym53c500_cs.c2
-rw-r--r--drivers/scsi/psi240i.c7
-rw-r--r--drivers/scsi/qla1280.c2
-rw-r--r--drivers/scsi/qla2xxx/qla_def.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_gbl.h6
-rw-r--r--drivers/scsi/qla2xxx/qla_inline.h2
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c9
-rw-r--r--drivers/scsi/qla4xxx/ql4_glbl.h2
-rw-r--r--drivers/scsi/qla4xxx/ql4_isr.c3
-rw-r--r--drivers/scsi/qlogicfas408.c6
-rw-r--r--drivers/scsi/qlogicfas408.h2
-rw-r--r--drivers/scsi/qlogicpti.c4
-rw-r--r--drivers/scsi/seagate.c11
-rw-r--r--drivers/scsi/sgiwd93.c2
-rw-r--r--drivers/scsi/stex.c2
-rw-r--r--drivers/scsi/sun3_NCR5380.c2
-rw-r--r--drivers/scsi/sun3_scsi.c6
-rw-r--r--drivers/scsi/sun3_scsi_vme.c6
-rw-r--r--drivers/scsi/sym53c416.c3
-rw-r--r--drivers/scsi/sym53c8xx_2/sym_glue.c2
-rw-r--r--drivers/scsi/tmscsim.c6
-rw-r--r--drivers/scsi/u14-34f.c5
-rw-r--r--drivers/scsi/ultrastor.c13
-rw-r--r--drivers/scsi/wd7000.c2
99 files changed, 185 insertions, 220 deletions
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index da173159cedb..5f8c26cd66ca 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -1192,7 +1192,7 @@ out:
1192} /* End twa_initialize_device_extension() */ 1192} /* End twa_initialize_device_extension() */
1193 1193
1194/* This function is the interrupt service routine */ 1194/* This function is the interrupt service routine */
1195static irqreturn_t twa_interrupt(int irq, void *dev_instance, struct pt_regs *regs) 1195static irqreturn_t twa_interrupt(int irq, void *dev_instance)
1196{ 1196{
1197 int request_id, error = 0; 1197 int request_id, error = 0;
1198 u32 status_reg_value; 1198 u32 status_reg_value;
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index 2d4cb6721fa6..99a259c5a0c0 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -2078,8 +2078,7 @@ static int tw_scsi_queue(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd
2078} /* End tw_scsi_queue() */ 2078} /* End tw_scsi_queue() */
2079 2079
2080/* This function is the interrupt service routine */ 2080/* This function is the interrupt service routine */
2081static irqreturn_t tw_interrupt(int irq, void *dev_instance, 2081static irqreturn_t tw_interrupt(int irq, void *dev_instance)
2082 struct pt_regs *regs)
2083{ 2082{
2084 int request_id; 2083 int request_id;
2085 u32 status_reg_value; 2084 u32 status_reg_value;
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index 15ce40a7053a..562432d017b0 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -1462,7 +1462,7 @@ NCR_700_start_command(struct scsi_cmnd *SCp)
1462} 1462}
1463 1463
1464irqreturn_t 1464irqreturn_t
1465NCR_700_intr(int irq, void *dev_id, struct pt_regs *regs) 1465NCR_700_intr(int irq, void *dev_id)
1466{ 1466{
1467 struct Scsi_Host *host = (struct Scsi_Host *)dev_id; 1467 struct Scsi_Host *host = (struct Scsi_Host *)dev_id;
1468 struct NCR_700_Host_Parameters *hostdata = 1468 struct NCR_700_Host_Parameters *hostdata =
diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h
index 97ebe71b701b..f5c3caf344a7 100644
--- a/drivers/scsi/53c700.h
+++ b/drivers/scsi/53c700.h
@@ -57,7 +57,7 @@ struct NCR_700_Host_Parameters;
57struct Scsi_Host *NCR_700_detect(struct scsi_host_template *, 57struct Scsi_Host *NCR_700_detect(struct scsi_host_template *,
58 struct NCR_700_Host_Parameters *, struct device *); 58 struct NCR_700_Host_Parameters *, struct device *);
59int NCR_700_release(struct Scsi_Host *host); 59int NCR_700_release(struct Scsi_Host *host);
60irqreturn_t NCR_700_intr(int, void *, struct pt_regs *); 60irqreturn_t NCR_700_intr(int, void *);
61 61
62 62
63enum NCR_700_Host_State { 63enum NCR_700_Host_State {
diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c
index acf292736b4e..640536ef77dc 100644
--- a/drivers/scsi/53c7xx.c
+++ b/drivers/scsi/53c7xx.c
@@ -323,7 +323,7 @@ static int shutdown (struct Scsi_Host *host);
323static void abnormal_finished (struct NCR53c7x0_cmd *cmd, int result); 323static void abnormal_finished (struct NCR53c7x0_cmd *cmd, int result);
324static int disable (struct Scsi_Host *host); 324static int disable (struct Scsi_Host *host);
325static int NCR53c7xx_run_tests (struct Scsi_Host *host); 325static int NCR53c7xx_run_tests (struct Scsi_Host *host);
326static irqreturn_t NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); 326static irqreturn_t NCR53c7x0_intr(int irq, void *dev_id);
327static void NCR53c7x0_intfly (struct Scsi_Host *host); 327static void NCR53c7x0_intfly (struct Scsi_Host *host);
328static int ncr_halt (struct Scsi_Host *host); 328static int ncr_halt (struct Scsi_Host *host);
329static void intr_phase_mismatch (struct Scsi_Host *host, struct NCR53c7x0_cmd 329static void intr_phase_mismatch (struct Scsi_Host *host, struct NCR53c7x0_cmd
@@ -4227,7 +4227,7 @@ restart:
4227} 4227}
4228 4228
4229/* 4229/*
4230 * Function : static irqreturn_t NCR53c7x0_intr (int irq, void *dev_id, struct pt_regs * regs) 4230 * Function : static irqreturn_t NCR53c7x0_intr (int irq, void *dev_id)
4231 * 4231 *
4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing 4232 * Purpose : handle NCR53c7x0 interrupts for all NCR devices sharing
4233 * the same IRQ line. 4233 * the same IRQ line.
@@ -4241,7 +4241,7 @@ restart:
4241 */ 4241 */
4242 4242
4243static irqreturn_t 4243static irqreturn_t
4244NCR53c7x0_intr (int irq, void *dev_id, struct pt_regs * regs) 4244NCR53c7x0_intr (int irq, void *dev_id)
4245{ 4245{
4246 NCR53c7x0_local_declare(); 4246 NCR53c7x0_local_declare();
4247 struct Scsi_Host *host; /* Host we are looking at */ 4247 struct Scsi_Host *host; /* Host we are looking at */
diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
index 4ea49fd7965e..7c59bba98798 100644
--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -2653,7 +2653,7 @@ static void BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapt
2653 Adapters. 2653 Adapters.
2654*/ 2654*/
2655 2655
2656static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, void *DeviceIdentifier, struct pt_regs *InterruptRegisters) 2656static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, void *DeviceIdentifier)
2657{ 2657{
2658 struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) DeviceIdentifier; 2658 struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) DeviceIdentifier;
2659 unsigned long ProcessorFlags; 2659 unsigned long ProcessorFlags;
diff --git a/drivers/scsi/BusLogic.h b/drivers/scsi/BusLogic.h
index d6d1d5613c8a..cca6d45eee4d 100644
--- a/drivers/scsi/BusLogic.h
+++ b/drivers/scsi/BusLogic.h
@@ -1347,7 +1347,7 @@ static int BusLogic_BIOSDiskParameters(struct scsi_device *, struct block_device
1347static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *, char *, char **, off_t, int, int); 1347static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *, char *, char **, off_t, int, int);
1348static int BusLogic_SlaveConfigure(struct scsi_device *); 1348static int BusLogic_SlaveConfigure(struct scsi_device *);
1349static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *); 1349static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *);
1350static irqreturn_t BusLogic_InterruptHandler(int, void *, struct pt_regs *); 1350static irqreturn_t BusLogic_InterruptHandler(int, void *);
1351static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *, boolean HardReset); 1351static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *, boolean HardReset);
1352static void BusLogic_Message(enum BusLogic_MessageLevel, char *, struct BusLogic_HostAdapter *, ...); 1352static void BusLogic_Message(enum BusLogic_MessageLevel, char *, struct BusLogic_HostAdapter *, ...);
1353static int __init BusLogic_Setup(char *); 1353static int __init BusLogic_Setup(char *);
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 616810ad17d8..a6aa91072880 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -558,8 +558,7 @@ static int probe_irq __initdata = 0;
558 * used by the IRQ probe code. 558 * used by the IRQ probe code.
559 */ 559 */
560 560
561static irqreturn_t __init probe_intr(int irq, void *dev_id, 561static irqreturn_t __init probe_intr(int irq, void *dev_id)
562 struct pt_regs *regs)
563{ 562{
564 probe_irq = irq; 563 probe_irq = irq;
565 return IRQ_HANDLED; 564 return IRQ_HANDLED;
@@ -1148,7 +1147,6 @@ static void NCR5380_main(void *p)
1148 * NCR5380_intr - generic NCR5380 irq handler 1147 * NCR5380_intr - generic NCR5380 irq handler
1149 * @irq: interrupt number 1148 * @irq: interrupt number
1150 * @dev_id: device info 1149 * @dev_id: device info
1151 * @regs: registers (unused)
1152 * 1150 *
1153 * Handle interrupts, reestablishing I_T_L or I_T_L_Q nexuses 1151 * Handle interrupts, reestablishing I_T_L or I_T_L_Q nexuses
1154 * from the disconnected queue, and restarting NCR5380_main() 1152 * from the disconnected queue, and restarting NCR5380_main()
@@ -1157,7 +1155,7 @@ static void NCR5380_main(void *p)
1157 * Locks: takes the needed instance locks 1155 * Locks: takes the needed instance locks
1158 */ 1156 */
1159 1157
1160static irqreturn_t NCR5380_intr(int irq, void *dev_id, struct pt_regs *regs) 1158static irqreturn_t NCR5380_intr(int irq, void *dev_id)
1161{ 1159{
1162 NCR5380_local_declare(); 1160 NCR5380_local_declare();
1163 struct Scsi_Host *instance = (struct Scsi_Host *)dev_id; 1161 struct Scsi_Host *instance = (struct Scsi_Host *)dev_id;
diff --git a/drivers/scsi/NCR5380.h b/drivers/scsi/NCR5380.h
index c3462e358d1c..1bc73de496b0 100644
--- a/drivers/scsi/NCR5380.h
+++ b/drivers/scsi/NCR5380.h
@@ -296,7 +296,7 @@ static int NCR5380_init(struct Scsi_Host *instance, int flags);
296static void NCR5380_exit(struct Scsi_Host *instance); 296static void NCR5380_exit(struct Scsi_Host *instance);
297static void NCR5380_information_transfer(struct Scsi_Host *instance); 297static void NCR5380_information_transfer(struct Scsi_Host *instance);
298#ifndef DONT_USE_INTR 298#ifndef DONT_USE_INTR
299static irqreturn_t NCR5380_intr(int irq, void *dev_id, struct pt_regs *regs); 299static irqreturn_t NCR5380_intr(int irq, void *dev_id);
300#endif 300#endif
301static void NCR5380_main(void *ptr); 301static void NCR5380_main(void *ptr);
302static void NCR5380_print_options(struct Scsi_Host *instance); 302static void NCR5380_print_options(struct Scsi_Host *instance);
diff --git a/drivers/scsi/NCR53C9x.c b/drivers/scsi/NCR53C9x.c
index bdc6bb262bce..3c912ee29da0 100644
--- a/drivers/scsi/NCR53C9x.c
+++ b/drivers/scsi/NCR53C9x.c
@@ -96,7 +96,7 @@ enum {
96static struct NCR_ESP *espchain; 96static struct NCR_ESP *espchain;
97int nesps = 0, esps_in_use = 0, esps_running = 0; 97int nesps = 0, esps_in_use = 0, esps_running = 0;
98 98
99irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs); 99irqreturn_t esp_intr(int irq, void *dev_id);
100 100
101/* Debugging routines */ 101/* Debugging routines */
102static struct esp_cmdstrings { 102static struct esp_cmdstrings {
@@ -3533,7 +3533,7 @@ state_machine:
3533} 3533}
3534 3534
3535#ifndef CONFIG_SMP 3535#ifndef CONFIG_SMP
3536irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs) 3536irqreturn_t esp_intr(int irq, void *dev_id)
3537{ 3537{
3538 struct NCR_ESP *esp; 3538 struct NCR_ESP *esp;
3539 unsigned long flags; 3539 unsigned long flags;
@@ -3570,7 +3570,7 @@ repeat:
3570} 3570}
3571#else 3571#else
3572/* For SMP we only service one ESP on the list list at our IRQ level! */ 3572/* For SMP we only service one ESP on the list list at our IRQ level! */
3573irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs) 3573irqreturn_t esp_intr(int irq, void *dev_id)
3574{ 3574{
3575 struct NCR_ESP *esp; 3575 struct NCR_ESP *esp;
3576 unsigned long flags; 3576 unsigned long flags;
diff --git a/drivers/scsi/NCR53C9x.h b/drivers/scsi/NCR53C9x.h
index 481653c977cf..521e3f842cfd 100644
--- a/drivers/scsi/NCR53C9x.h
+++ b/drivers/scsi/NCR53C9x.h
@@ -656,7 +656,7 @@ extern struct NCR_ESP *esp_allocate(struct scsi_host_template *, void *);
656extern void esp_deallocate(struct NCR_ESP *); 656extern void esp_deallocate(struct NCR_ESP *);
657extern void esp_release(void); 657extern void esp_release(void);
658extern void esp_initialize(struct NCR_ESP *); 658extern void esp_initialize(struct NCR_ESP *);
659extern irqreturn_t esp_intr(int, void *, struct pt_regs *); 659extern irqreturn_t esp_intr(int, void *);
660extern const char *esp_info(struct Scsi_Host *); 660extern const char *esp_info(struct Scsi_Host *);
661extern int esp_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); 661extern int esp_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
662extern int esp_abort(Scsi_Cmnd *); 662extern int esp_abort(Scsi_Cmnd *);
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
index 8472c5359023..3896278594c7 100644
--- a/drivers/scsi/NCR53c406a.c
+++ b/drivers/scsi/NCR53c406a.c
@@ -168,8 +168,8 @@ enum Phase {
168}; 168};
169 169
170/* Static function prototypes */ 170/* Static function prototypes */
171static void NCR53c406a_intr(int, void *, struct pt_regs *); 171static void NCR53c406a_intr(int, void *);
172static irqreturn_t do_NCR53c406a_intr(int, void *, struct pt_regs *); 172static irqreturn_t do_NCR53c406a_intr(int, void *);
173static void chip_init(void); 173static void chip_init(void);
174static void calc_port_addr(void); 174static void calc_port_addr(void);
175#ifndef IRQ_LEV 175#ifndef IRQ_LEV
@@ -761,19 +761,18 @@ static int NCR53c406a_biosparm(struct scsi_device *disk,
761 return 0; 761 return 0;
762} 762}
763 763
764static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id, 764static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id)
765 struct pt_regs *regs)
766{ 765{
767 unsigned long flags; 766 unsigned long flags;
768 struct Scsi_Host *dev = dev_id; 767 struct Scsi_Host *dev = dev_id;
769 768
770 spin_lock_irqsave(dev->host_lock, flags); 769 spin_lock_irqsave(dev->host_lock, flags);
771 NCR53c406a_intr(0, dev_id, regs); 770 NCR53c406a_intr(0, dev_id);
772 spin_unlock_irqrestore(dev->host_lock, flags); 771 spin_unlock_irqrestore(dev->host_lock, flags);
773 return IRQ_HANDLED; 772 return IRQ_HANDLED;
774} 773}
775 774
776static void NCR53c406a_intr(int unused, void *dev_id, struct pt_regs *regs) 775static void NCR53c406a_intr(int unused, void *dev_id)
777{ 776{
778 DEB(unsigned char fifo_size; 777 DEB(unsigned char fifo_size;
779 ) 778 )
diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c
index d05681f9d81a..9859cd17fc57 100644
--- a/drivers/scsi/NCR_D700.c
+++ b/drivers/scsi/NCR_D700.c
@@ -226,14 +226,14 @@ NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,
226} 226}
227 227
228static int 228static int
229NCR_D700_intr(int irq, void *data, struct pt_regs *regs) 229NCR_D700_intr(int irq, void *data)
230{ 230{
231 struct NCR_D700_private *p = (struct NCR_D700_private *)data; 231 struct NCR_D700_private *p = (struct NCR_D700_private *)data;
232 int i, found = 0; 232 int i, found = 0;
233 233
234 for (i = 0; i < 2; i++) 234 for (i = 0; i < 2; i++)
235 if (p->hosts[i] && 235 if (p->hosts[i] &&
236 NCR_700_intr(irq, p->hosts[i], regs) == IRQ_HANDLED) 236 NCR_700_intr(irq, p->hosts[i]) == IRQ_HANDLED)
237 found++; 237 found++;
238 238
239 return found ? IRQ_HANDLED : IRQ_NONE; 239 return found ? IRQ_HANDLED : IRQ_NONE;
diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c
index c39ffbb86e39..778844c3544a 100644
--- a/drivers/scsi/NCR_Q720.c
+++ b/drivers/scsi/NCR_Q720.c
@@ -54,7 +54,7 @@ static struct scsi_host_template NCR_Q720_tpnt = {
54}; 54};
55 55
56static irqreturn_t 56static irqreturn_t
57NCR_Q720_intr(int irq, void *data, struct pt_regs * regs) 57NCR_Q720_intr(int irq, void *data)
58{ 58{
59 struct NCR_Q720_private *p = (struct NCR_Q720_private *)data; 59 struct NCR_Q720_private *p = (struct NCR_Q720_private *)data;
60 __u8 sir = (readb(p->mem_base + 0x0d) & 0xf0) >> 4; 60 __u8 sir = (readb(p->mem_base + 0x0d) & 0xf0) >> 4;
@@ -68,7 +68,7 @@ NCR_Q720_intr(int irq, void *data, struct pt_regs * regs)
68 68
69 while((siop = ffz(sir)) < p->siops) { 69 while((siop = ffz(sir)) < p->siops) {
70 sir |= 1<<siop; 70 sir |= 1<<siop;
71 ncr53c8xx_intr(irq, p->hosts[siop], regs); 71 ncr53c8xx_intr(irq, p->hosts[siop]);
72 } 72 }
73 return IRQ_HANDLED; 73 return IRQ_HANDLED;
74} 74}
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index 2684150917e6..2650a5d0a161 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -1013,7 +1013,7 @@ static void inia100SCBPost(BYTE * pHcb, BYTE * pScb)
1013/* 1013/*
1014 * Interrupt handler (main routine of the driver) 1014 * Interrupt handler (main routine of the driver)
1015 */ 1015 */
1016static irqreturn_t inia100_intr(int irqno, void *devid, struct pt_regs *regs) 1016static irqreturn_t inia100_intr(int irqno, void *devid)
1017{ 1017{
1018 struct Scsi_Host *host = (struct Scsi_Host *)devid; 1018 struct Scsi_Host *host = (struct Scsi_Host *)devid;
1019 ORC_HCS *pHcb = (ORC_HCS *)host->hostdata; 1019 ORC_HCS *pHcb = (ORC_HCS *)host->hostdata;
diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
index 085406928605..f77016d31cab 100644
--- a/drivers/scsi/a2091.c
+++ b/drivers/scsi/a2091.c
@@ -24,7 +24,7 @@
24#define DMA(ptr) ((a2091_scsiregs *)((ptr)->base)) 24#define DMA(ptr) ((a2091_scsiregs *)((ptr)->base))
25#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata)) 25#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
26 26
27static irqreturn_t a2091_intr (int irq, void *_instance, struct pt_regs *fp) 27static irqreturn_t a2091_intr (int irq, void *_instance)
28{ 28{
29 unsigned long flags; 29 unsigned long flags;
30 unsigned int status; 30 unsigned int status;
diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
index 7bf46d40b561..1299bc8edef1 100644
--- a/drivers/scsi/a3000.c
+++ b/drivers/scsi/a3000.c
@@ -26,7 +26,7 @@
26 26
27static struct Scsi_Host *a3000_host = NULL; 27static struct Scsi_Host *a3000_host = NULL;
28 28
29static irqreturn_t a3000_intr (int irq, void *dummy, struct pt_regs *fp) 29static irqreturn_t a3000_intr (int irq, void *dummy)
30{ 30{
31 unsigned long flags; 31 unsigned long flags;
32 unsigned int status = DMA(a3000_host)->ISTR; 32 unsigned int status = DMA(a3000_host)->ISTR;
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index a1d214d770eb..dcc8b0ea7a9d 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -46,11 +46,11 @@
46 46
47#include "aacraid.h" 47#include "aacraid.h"
48 48
49static irqreturn_t aac_rx_intr(int irq, void *dev_id, struct pt_regs *regs) 49static irqreturn_t aac_rx_intr(int irq, void *dev_id)
50{ 50{
51 struct aac_dev *dev = dev_id; 51 struct aac_dev *dev = dev_id;
52 52
53 dprintk((KERN_DEBUG "aac_rx_intr(%d,%p,%p)\n", irq, dev_id, regs)); 53 dprintk((KERN_DEBUG "aac_rx_intr(%d,%p)\n", irq, dev_id));
54 if (dev->new_comm_interface) { 54 if (dev->new_comm_interface) {
55 u32 Index = rx_readl(dev, MUnit.OutboundQueue); 55 u32 Index = rx_readl(dev, MUnit.OutboundQueue);
56 if (Index == 0xFFFFFFFFL) 56 if (Index == 0xFFFFFFFFL)
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index f906ead239dd..511b0a938fb1 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -46,7 +46,7 @@
46 46
47#include "aacraid.h" 47#include "aacraid.h"
48 48
49static irqreturn_t aac_sa_intr(int irq, void *dev_id, struct pt_regs *regs) 49static irqreturn_t aac_sa_intr(int irq, void *dev_id)
50{ 50{
51 struct aac_dev *dev = dev_id; 51 struct aac_dev *dev = dev_id;
52 unsigned short intstat, mask; 52 unsigned short intstat, mask;
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 773f02e3b10b..83695416b2c9 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -3999,7 +3999,7 @@ STATIC PortAddr _asc_def_iop_base[];
3999 * advansys.h contains function prototypes for functions global to Linux. 3999 * advansys.h contains function prototypes for functions global to Linux.
4000 */ 4000 */
4001 4001
4002STATIC irqreturn_t advansys_interrupt(int, void *, struct pt_regs *); 4002STATIC irqreturn_t advansys_interrupt(int, void *);
4003STATIC int advansys_slave_configure(struct scsi_device *); 4003STATIC int advansys_slave_configure(struct scsi_device *);
4004STATIC void asc_scsi_done_list(struct scsi_cmnd *); 4004STATIC void asc_scsi_done_list(struct scsi_cmnd *);
4005STATIC int asc_execute_scsi_cmnd(struct scsi_cmnd *); 4005STATIC int asc_execute_scsi_cmnd(struct scsi_cmnd *);
@@ -5997,7 +5997,7 @@ static struct scsi_host_template driver_template = {
5997 * an AdvanSys adapter. 5997 * an AdvanSys adapter.
5998 */ 5998 */
5999STATIC irqreturn_t 5999STATIC irqreturn_t
6000advansys_interrupt(int irq, void *dev_id, struct pt_regs *regs) 6000advansys_interrupt(int irq, void *dev_id)
6001{ 6001{
6002 ulong flags; 6002 ulong flags;
6003 int i; 6003 int i;
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index fb6a476eb873..e04c2bc1932b 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -673,7 +673,7 @@ static struct {
673}; 673};
674 674
675/* setup & interrupt */ 675/* setup & interrupt */
676static irqreturn_t intr(int irq, void *dev_id, struct pt_regs *); 676static irqreturn_t intr(int irq, void *dev_id);
677static void reset_ports(struct Scsi_Host *shpnt); 677static void reset_ports(struct Scsi_Host *shpnt);
678static void aha152x_error(struct Scsi_Host *shpnt, char *msg); 678static void aha152x_error(struct Scsi_Host *shpnt, char *msg);
679static void done(struct Scsi_Host *shpnt, int error); 679static void done(struct Scsi_Host *shpnt, int error);
@@ -757,7 +757,7 @@ static inline Scsi_Cmnd *remove_SC(Scsi_Cmnd **SC, Scsi_Cmnd *SCp)
757 return ptr; 757 return ptr;
758} 758}
759 759
760static irqreturn_t swintr(int irqno, void *dev_id, struct pt_regs *regs) 760static irqreturn_t swintr(int irqno, void *dev_id)
761{ 761{
762 struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id; 762 struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id;
763 763
@@ -1463,7 +1463,7 @@ static void run(void)
1463 * Interrupt handler 1463 * Interrupt handler
1464 * 1464 *
1465 */ 1465 */
1466static irqreturn_t intr(int irqno, void *dev_id, struct pt_regs *regs) 1466static irqreturn_t intr(int irqno, void *dev_id)
1467{ 1467{
1468 struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id; 1468 struct Scsi_Host *shpnt = (struct Scsi_Host *)dev_id;
1469 unsigned long flags; 1469 unsigned long flags;
diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c
index 24f0f5461792..d7a61a6bdaae 100644
--- a/drivers/scsi/aha1542.c
+++ b/drivers/scsi/aha1542.c
@@ -174,9 +174,8 @@ static DEFINE_SPINLOCK(aha1542_lock);
174 174
175static void setup_mailboxes(int base_io, struct Scsi_Host *shpnt); 175static void setup_mailboxes(int base_io, struct Scsi_Host *shpnt);
176static int aha1542_restart(struct Scsi_Host *shost); 176static int aha1542_restart(struct Scsi_Host *shost);
177static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id, struct pt_regs *regs); 177static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id);
178static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id, 178static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id);
179 struct pt_regs *regs);
180 179
181#define aha1542_intr_reset(base) outb(IRST, CONTROL(base)) 180#define aha1542_intr_reset(base) outb(IRST, CONTROL(base))
182 181
@@ -416,8 +415,7 @@ fail:
416} 415}
417 416
418/* A quick wrapper for do_aha1542_intr_handle to grab the spin lock */ 417/* A quick wrapper for do_aha1542_intr_handle to grab the spin lock */
419static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id, 418static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id)
420 struct pt_regs *regs)
421{ 419{
422 unsigned long flags; 420 unsigned long flags;
423 struct Scsi_Host *shost; 421 struct Scsi_Host *shost;
@@ -427,13 +425,13 @@ static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id,
427 panic("Splunge!"); 425 panic("Splunge!");
428 426
429 spin_lock_irqsave(shost->host_lock, flags); 427 spin_lock_irqsave(shost->host_lock, flags);
430 aha1542_intr_handle(shost, dev_id, regs); 428 aha1542_intr_handle(shost, dev_id);
431 spin_unlock_irqrestore(shost->host_lock, flags); 429 spin_unlock_irqrestore(shost->host_lock, flags);
432 return IRQ_HANDLED; 430 return IRQ_HANDLED;
433} 431}
434 432
435/* A "high" level interrupt handler */ 433/* A "high" level interrupt handler */
436static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id, struct pt_regs *regs) 434static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id)
437{ 435{
438 void (*my_done) (Scsi_Cmnd *) = NULL; 436 void (*my_done) (Scsi_Cmnd *) = NULL;
439 int errstatus, mbi, mbo, mbistatus; 437 int errstatus, mbi, mbo, mbistatus;
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index 6b35ed8301e0..c3c38a7e8d32 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -223,8 +223,7 @@ static int aha1740_test_port(unsigned int base)
223} 223}
224 224
225/* A "high" level interrupt handler */ 225/* A "high" level interrupt handler */
226static irqreturn_t aha1740_intr_handle(int irq, void *dev_id, 226static irqreturn_t aha1740_intr_handle(int irq, void *dev_id)
227 struct pt_regs *regs)
228{ 227{
229 struct Scsi_Host *host = (struct Scsi_Host *) dev_id; 228 struct Scsi_Host *host = (struct Scsi_Host *) dev_id;
230 void (*my_done)(Scsi_Cmnd *); 229 void (*my_done)(Scsi_Cmnd *);
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 1faa008b5b81..f8e60486167d 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -1557,7 +1557,7 @@ ahd_linux_run_command(struct ahd_softc *ahd, struct ahd_linux_device *dev,
1557 * SCSI controller interrupt handler. 1557 * SCSI controller interrupt handler.
1558 */ 1558 */
1559irqreturn_t 1559irqreturn_t
1560ahd_linux_isr(int irq, void *dev_id, struct pt_regs * regs) 1560ahd_linux_isr(int irq, void *dev_id)
1561{ 1561{
1562 struct ahd_softc *ahd; 1562 struct ahd_softc *ahd;
1563 u_long flags; 1563 u_long flags;
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h
index 601340d84410..fb3d4dd54413 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.h
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.h
@@ -862,7 +862,7 @@ int ahd_platform_abort_scbs(struct ahd_softc *ahd, int target,
862 char channel, int lun, u_int tag, 862 char channel, int lun, u_int tag,
863 role_t role, uint32_t status); 863 role_t role, uint32_t status);
864irqreturn_t 864irqreturn_t
865 ahd_linux_isr(int irq, void *dev_id, struct pt_regs * regs); 865 ahd_linux_isr(int irq, void *dev_id);
866void ahd_done(struct ahd_softc*, struct scb*); 866void ahd_done(struct ahd_softc*, struct scb*);
867void ahd_send_async(struct ahd_softc *, char channel, 867void ahd_send_async(struct ahd_softc *, char channel,
868 u_int target, u_int lun, ac_code); 868 u_int target, u_int lun, ac_code);
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c
index 339b85cb61cd..43ab753d2739 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -1608,7 +1608,7 @@ ahc_linux_run_command(struct ahc_softc *ahc, struct ahc_linux_device *dev,
1608 * SCSI controller interrupt handler. 1608 * SCSI controller interrupt handler.
1609 */ 1609 */
1610irqreturn_t 1610irqreturn_t
1611ahc_linux_isr(int irq, void *dev_id, struct pt_regs * regs) 1611ahc_linux_isr(int irq, void *dev_id)
1612{ 1612{
1613 struct ahc_softc *ahc; 1613 struct ahc_softc *ahc;
1614 u_long flags; 1614 u_long flags;
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.h b/drivers/scsi/aic7xxx/aic7xxx_osm.h
index d42a71ee076d..a87a4ce090df 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.h
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h
@@ -830,7 +830,7 @@ int ahc_platform_abort_scbs(struct ahc_softc *ahc, int target,
830 char channel, int lun, u_int tag, 830 char channel, int lun, u_int tag,
831 role_t role, uint32_t status); 831 role_t role, uint32_t status);
832irqreturn_t 832irqreturn_t
833 ahc_linux_isr(int irq, void *dev_id, struct pt_regs * regs); 833 ahc_linux_isr(int irq, void *dev_id);
834void ahc_platform_flushwork(struct ahc_softc *ahc); 834void ahc_platform_flushwork(struct ahc_softc *ahc);
835void ahc_done(struct ahc_softc*, struct scb*); 835void ahc_done(struct ahc_softc*, struct scb*);
836void ahc_send_async(struct ahc_softc *, char channel, 836void ahc_send_async(struct ahc_softc *, char channel,
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 3eae8062a02e..7f0adf9c4c7e 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -6345,7 +6345,7 @@ aic7xxx_handle_command_completion_intr(struct aic7xxx_host *p)
6345 * SCSI controller interrupt handler. 6345 * SCSI controller interrupt handler.
6346 *-F*************************************************************************/ 6346 *-F*************************************************************************/
6347static void 6347static void
6348aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs) 6348aic7xxx_isr(int irq, void *dev_id)
6349{ 6349{
6350 struct aic7xxx_host *p; 6350 struct aic7xxx_host *p;
6351 unsigned char intstat; 6351 unsigned char intstat;
@@ -6477,7 +6477,7 @@ aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs)
6477 * anything like it, please inform the Gross Hack Police immediately 6477 * anything like it, please inform the Gross Hack Police immediately
6478 *-F*************************************************************************/ 6478 *-F*************************************************************************/
6479static irqreturn_t 6479static irqreturn_t
6480do_aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs) 6480do_aic7xxx_isr(int irq, void *dev_id)
6481{ 6481{
6482 unsigned long cpu_flags; 6482 unsigned long cpu_flags;
6483 struct aic7xxx_host *p; 6483 struct aic7xxx_host *p;
@@ -6489,7 +6489,7 @@ do_aic7xxx_isr(int irq, void *dev_id, struct pt_regs *regs)
6489 p->flags |= AHC_IN_ISR; 6489 p->flags |= AHC_IN_ISR;
6490 do 6490 do
6491 { 6491 {
6492 aic7xxx_isr(irq, dev_id, regs); 6492 aic7xxx_isr(irq, dev_id);
6493 } while ( (aic_inb(p, INTSTAT) & INT_PEND) ); 6493 } while ( (aic_inb(p, INTSTAT) & INT_PEND) );
6494 aic7xxx_done_cmds_complete(p); 6494 aic7xxx_done_cmds_complete(p);
6495 aic7xxx_run_waiting_queues(p); 6495 aic7xxx_run_waiting_queues(p);
@@ -10377,7 +10377,7 @@ static int __aic7xxx_bus_device_reset(struct scsi_cmnd *cmd)
10377 10377
10378 hscb = scb->hscb; 10378 hscb = scb->hscb;
10379 10379
10380 aic7xxx_isr(p->irq, (void *)p, NULL); 10380 aic7xxx_isr(p->irq, (void *)p);
10381 aic7xxx_done_cmds_complete(p); 10381 aic7xxx_done_cmds_complete(p);
10382 /* If the command was already complete or just completed, then we didn't 10382 /* If the command was already complete or just completed, then we didn't
10383 * do a reset, return FAILED */ 10383 * do a reset, return FAILED */
@@ -10608,7 +10608,7 @@ static int __aic7xxx_abort(struct scsi_cmnd *cmd)
10608 else 10608 else
10609 return FAILED; 10609 return FAILED;
10610 10610
10611 aic7xxx_isr(p->irq, (void *)p, NULL); 10611 aic7xxx_isr(p->irq, (void *)p);
10612 aic7xxx_done_cmds_complete(p); 10612 aic7xxx_done_cmds_complete(p);
10613 /* If the command was already complete or just completed, then we didn't 10613 /* If the command was already complete or just completed, then we didn't
10614 * do a reset, return FAILED */ 10614 * do a reset, return FAILED */
@@ -10863,7 +10863,7 @@ static int aic7xxx_reset(struct scsi_cmnd *cmd)
10863 10863
10864 while((aic_inb(p, INTSTAT) & INT_PEND) && !(p->flags & AHC_IN_ISR)) 10864 while((aic_inb(p, INTSTAT) & INT_PEND) && !(p->flags & AHC_IN_ISR))
10865 { 10865 {
10866 aic7xxx_isr(p->irq, p, (void *)NULL ); 10866 aic7xxx_isr(p->irq, p);
10867 pause_sequencer(p); 10867 pause_sequencer(p);
10868 } 10868 }
10869 aic7xxx_done_cmds_complete(p); 10869 aic7xxx_done_cmds_complete(p);
diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.c b/drivers/scsi/aic94xx/aic94xx_hwi.c
index 1d8c5e5f442e..3c2d7a379931 100644
--- a/drivers/scsi/aic94xx/aic94xx_hwi.c
+++ b/drivers/scsi/aic94xx/aic94xx_hwi.c
@@ -996,11 +996,10 @@ static inline void asd_hst_pcix_isr(struct asd_ha_struct *asd_ha)
996 * asd_hw_isr -- host adapter interrupt service routine 996 * asd_hw_isr -- host adapter interrupt service routine
997 * @irq: ignored 997 * @irq: ignored
998 * @dev_id: pointer to host adapter structure 998 * @dev_id: pointer to host adapter structure
999 * @regs: ignored
1000 * 999 *
1001 * The ISR processes done list entries and level 3 error handling. 1000 * The ISR processes done list entries and level 3 error handling.
1002 */ 1001 */
1003irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs) 1002irqreturn_t asd_hw_isr(int irq, void *dev_id)
1004{ 1003{
1005 struct asd_ha_struct *asd_ha = dev_id; 1004 struct asd_ha_struct *asd_ha = dev_id;
1006 u32 chimint = asd_read_reg_dword(asd_ha, CHIMINT); 1005 u32 chimint = asd_read_reg_dword(asd_ha, CHIMINT);
diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.h b/drivers/scsi/aic94xx/aic94xx_hwi.h
index 8498144aa5e1..14319d1d6804 100644
--- a/drivers/scsi/aic94xx/aic94xx_hwi.h
+++ b/drivers/scsi/aic94xx/aic94xx_hwi.h
@@ -371,7 +371,7 @@ static inline void asd_ascb_free_list(struct asd_ascb *ascb_list)
371/* ---------- Function declarations ---------- */ 371/* ---------- Function declarations ---------- */
372 372
373int asd_init_hw(struct asd_ha_struct *asd_ha); 373int asd_init_hw(struct asd_ha_struct *asd_ha);
374irqreturn_t asd_hw_isr(int irq, void *dev_id, struct pt_regs *regs); 374irqreturn_t asd_hw_isr(int irq, void *dev_id);
375 375
376 376
377struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct 377struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct
diff --git a/drivers/scsi/amiga7xx.h b/drivers/scsi/amiga7xx.h
index 1b637592d5ae..7cd63a996886 100644
--- a/drivers/scsi/amiga7xx.h
+++ b/drivers/scsi/amiga7xx.h
@@ -8,7 +8,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
8int NCR53c7xx_abort(Scsi_Cmnd *); 8int NCR53c7xx_abort(Scsi_Cmnd *);
9int NCR53c7x0_release (struct Scsi_Host *); 9int NCR53c7x0_release (struct Scsi_Host *);
10int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); 10int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int);
11void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); 11void NCR53c7x0_intr(int irq, void *dev_id);
12 12
13#ifndef CMD_PER_LUN 13#ifndef CMD_PER_LUN
14#define CMD_PER_LUN 3 14#define CMD_PER_LUN 3
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index 475f978ff8f0..086cc97eee8c 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -147,8 +147,7 @@ static struct pci_driver arcmsr_pci_driver = {
147 .shutdown = arcmsr_shutdown 147 .shutdown = arcmsr_shutdown
148}; 148};
149 149
150static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id, 150static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id)
151 struct pt_regs *regs)
152{ 151{
153 irqreturn_t handle_state; 152 irqreturn_t handle_state;
154 struct AdapterControlBlock *acb; 153 struct AdapterControlBlock *acb;
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index 0525d672e1e6..9cf902b7a126 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2461,14 +2461,13 @@ intr_ret_t acornscsi_sbicintr(AS_Host *host, int in_irq)
2461} 2461}
2462 2462
2463/* 2463/*
2464 * Prototype: void acornscsi_intr(int irq, void *dev_id, struct pt_regs *regs) 2464 * Prototype: void acornscsi_intr(int irq, void *dev_id)
2465 * Purpose : handle interrupts from Acorn SCSI card 2465 * Purpose : handle interrupts from Acorn SCSI card
2466 * Params : irq - interrupt number 2466 * Params : irq - interrupt number
2467 * dev_id - device specific data (AS_Host structure) 2467 * dev_id - device specific data (AS_Host structure)
2468 * regs - processor registers when interrupt occurred
2469 */ 2468 */
2470static irqreturn_t 2469static irqreturn_t
2471acornscsi_intr(int irq, void *dev_id, struct pt_regs *regs) 2470acornscsi_intr(int irq, void *dev_id)
2472{ 2471{
2473 AS_Host *host = (AS_Host *)dev_id; 2472 AS_Host *host = (AS_Host *)dev_id;
2474 intr_ret_t ret; 2473 intr_ret_t ret;
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
index 719af0dcc0e5..19edd9c853d9 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -137,10 +137,9 @@ cumanascsi_2_terminator_ctl(struct Scsi_Host *host, int on_off)
137 * Purpose : handle interrupts from Cumana SCSI 2 card 137 * Purpose : handle interrupts from Cumana SCSI 2 card
138 * Params : irq - interrupt number 138 * Params : irq - interrupt number
139 * dev_id - user-defined (Scsi_Host structure) 139 * dev_id - user-defined (Scsi_Host structure)
140 * regs - processor registers at interrupt
141 */ 140 */
142static irqreturn_t 141static irqreturn_t
143cumanascsi_2_intr(int irq, void *dev_id, struct pt_regs *regs) 142cumanascsi_2_intr(int irq, void *dev_id)
144{ 143{
145 struct cumanascsi2_info *info = dev_id; 144 struct cumanascsi2_info *info = dev_id;
146 145
diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c
index dcbb4b2b3fe0..3f876fb75469 100644
--- a/drivers/scsi/arm/eesox.c
+++ b/drivers/scsi/arm/eesox.c
@@ -138,10 +138,9 @@ eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off)
138 * Purpose : handle interrupts from EESOX SCSI card 138 * Purpose : handle interrupts from EESOX SCSI card
139 * Params : irq - interrupt number 139 * Params : irq - interrupt number
140 * dev_id - user-defined (Scsi_Host structure) 140 * dev_id - user-defined (Scsi_Host structure)
141 * regs - processor registers at interrupt
142 */ 141 */
143static irqreturn_t 142static irqreturn_t
144eesoxscsi_intr(int irq, void *dev_id, struct pt_regs *regs) 143eesoxscsi_intr(int irq, void *dev_id)
145{ 144{
146 struct eesoxscsi_info *info = dev_id; 145 struct eesoxscsi_info *info = dev_id;
147 146
diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index b2c346a47052..ce159c15bc86 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -112,10 +112,8 @@ powertecscsi_terminator_ctl(struct Scsi_Host *host, int on_off)
112 * Purpose : handle interrupts from Powertec SCSI card 112 * Purpose : handle interrupts from Powertec SCSI card
113 * Params : irq - interrupt number 113 * Params : irq - interrupt number
114 * dev_id - user-defined (Scsi_Host structure) 114 * dev_id - user-defined (Scsi_Host structure)
115 * regs - processor registers at interrupt
116 */ 115 */
117static irqreturn_t 116static irqreturn_t powertecscsi_intr(int irq, void *dev_id)
118powertecscsi_intr(int irq, void *dev_id, struct pt_regs *regs)
119{ 117{
120 struct powertec_info *info = dev_id; 118 struct powertec_info *info = dev_id;
121 119
diff --git a/drivers/scsi/atari_NCR5380.c b/drivers/scsi/atari_NCR5380.c
index e397129c90d1..0f920c84ac0f 100644
--- a/drivers/scsi/atari_NCR5380.c
+++ b/drivers/scsi/atari_NCR5380.c
@@ -1262,7 +1262,7 @@ static void NCR5380_dma_complete( struct Scsi_Host *instance )
1262 * 1262 *
1263 */ 1263 */
1264 1264
1265static irqreturn_t NCR5380_intr (int irq, void *dev_id, struct pt_regs *regs) 1265static irqreturn_t NCR5380_intr (int irq, void *dev_id)
1266{ 1266{
1267 struct Scsi_Host *instance = first_instance; 1267 struct Scsi_Host *instance = first_instance;
1268 int done = 1, handled = 0; 1268 int done = 1, handled = 0;
diff --git a/drivers/scsi/atari_dma_emul.c b/drivers/scsi/atari_dma_emul.c
index 8d5d2a5da961..cdc710ea00fa 100644
--- a/drivers/scsi/atari_dma_emul.c
+++ b/drivers/scsi/atari_dma_emul.c
@@ -110,7 +110,7 @@ static inline void set_restdata_reg(unsigned char *cur_addr)
110} 110}
111 111
112/* 112/*
113 * void hades_dma_emulator(int irq, void *dummy, struct pt_regs *fp) 113 * void hades_dma_emulator(int irq, void *dummy)
114 * 114 *
115 * This code emulates TT SCSI DMA on the Hades. 115 * This code emulates TT SCSI DMA on the Hades.
116 * 116 *
@@ -140,7 +140,7 @@ static inline void set_restdata_reg(unsigned char *cur_addr)
140 * increased with one. 140 * increased with one.
141 */ 141 */
142 142
143static irqreturn_t hades_dma_emulator(int irq, void *dummy, struct pt_regs *fp) 143static irqreturn_t hades_dma_emulator(int irq, void *dummy)
144{ 144{
145 unsigned long dma_base; 145 unsigned long dma_base;
146 register unsigned long dma_cnt asm ("d3"); 146 register unsigned long dma_cnt asm ("d3");
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index e1be4a4387cd..dfb1bcfae82e 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -194,8 +194,8 @@ static int falcon_classify_cmd( Scsi_Cmnd *cmd );
194static unsigned long atari_dma_xfer_len( unsigned long wanted_len, 194static unsigned long atari_dma_xfer_len( unsigned long wanted_len,
195 Scsi_Cmnd *cmd, int write_flag ); 195 Scsi_Cmnd *cmd, int write_flag );
196#endif 196#endif
197static irqreturn_t scsi_tt_intr( int irq, void *dummy, struct pt_regs *fp); 197static irqreturn_t scsi_tt_intr( int irq, void *dummy);
198static irqreturn_t scsi_falcon_intr( int irq, void *dummy, struct pt_regs *fp); 198static irqreturn_t scsi_falcon_intr( int irq, void *dummy);
199static void falcon_release_lock_if_possible( struct NCR5380_hostdata * 199static void falcon_release_lock_if_possible( struct NCR5380_hostdata *
200 hostdata ); 200 hostdata );
201static void falcon_get_lock( void ); 201static void falcon_get_lock( void );
@@ -285,7 +285,7 @@ static int scsi_dma_is_ignored_buserr( unsigned char dma_stat )
285 * end-of-DMA, both SCSI ints are triggered simultaneously, so the NCR int has 285 * end-of-DMA, both SCSI ints are triggered simultaneously, so the NCR int has
286 * to clear the DMA int pending bit before it allows other level 6 interrupts. 286 * to clear the DMA int pending bit before it allows other level 6 interrupts.
287 */ 287 */
288static void scsi_dma_buserr (int irq, void *dummy, struct pt_regs *fp) 288static void scsi_dma_buserr (int irq, void *dummy)
289{ 289{
290 unsigned char dma_stat = tt_scsi_dma.dma_ctrl; 290 unsigned char dma_stat = tt_scsi_dma.dma_ctrl;
291 291
@@ -314,7 +314,7 @@ static void scsi_dma_buserr (int irq, void *dummy, struct pt_regs *fp)
314#endif 314#endif
315 315
316 316
317static irqreturn_t scsi_tt_intr (int irq, void *dummy, struct pt_regs *fp) 317static irqreturn_t scsi_tt_intr (int irq, void *dummy)
318{ 318{
319#ifdef REAL_DMA 319#ifdef REAL_DMA
320 int dma_stat; 320 int dma_stat;
@@ -406,7 +406,7 @@ static irqreturn_t scsi_tt_intr (int irq, void *dummy, struct pt_regs *fp)
406} 406}
407 407
408 408
409static irqreturn_t scsi_falcon_intr (int irq, void *dummy, struct pt_regs *fp) 409static irqreturn_t scsi_falcon_intr (int irq, void *dummy)
410{ 410{
411#ifdef REAL_DMA 411#ifdef REAL_DMA
412 int dma_stat; 412 int dma_stat;
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index 0ec41f34f462..fec58cc47f1c 100644
--- a/drivers/scsi/atp870u.c
+++ b/drivers/scsi/atp870u.c
@@ -44,7 +44,7 @@ static void send_s870(struct atp_unit *dev,unsigned char c);
44static void is885(struct atp_unit *dev, unsigned int wkport,unsigned char c); 44static void is885(struct atp_unit *dev, unsigned int wkport,unsigned char c);
45static void tscam_885(void); 45static void tscam_885(void);
46 46
47static irqreturn_t atp870u_intr_handle(int irq, void *dev_id, struct pt_regs *regs) 47static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
48{ 48{
49 unsigned long flags; 49 unsigned long flags;
50 unsigned short int tmpcip, id; 50 unsigned short int tmpcip, id;
diff --git a/drivers/scsi/bvme6000.h b/drivers/scsi/bvme6000.h
index 7c9c0366cc08..ea3e4b2b9220 100644
--- a/drivers/scsi/bvme6000.h
+++ b/drivers/scsi/bvme6000.h
@@ -9,7 +9,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
9int NCR53c7xx_abort(Scsi_Cmnd *); 9int NCR53c7xx_abort(Scsi_Cmnd *);
10int NCR53c7x0_release (struct Scsi_Host *); 10int NCR53c7x0_release (struct Scsi_Host *);
11int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); 11int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int);
12void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); 12void NCR53c7x0_intr(int irq, void *dev_id);
13 13
14#ifndef CMD_PER_LUN 14#ifndef CMD_PER_LUN
15#define CMD_PER_LUN 3 15#define CMD_PER_LUN 3
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index c6118d99385e..81e3ee51d897 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -1813,8 +1813,7 @@ static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb,
1813} 1813}
1814 1814
1815 1815
1816static irqreturn_t dc395x_interrupt(int irq, void *dev_id, 1816static irqreturn_t dc395x_interrupt(int irq, void *dev_id)
1817 struct pt_regs *regs)
1818{ 1817{
1819 struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)dev_id; 1818 struct AdapterCtlBlk *acb = (struct AdapterCtlBlk *)dev_id;
1820 u16 scsi_status; 1819 u16 scsi_status;
diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
index eb32062f7e68..c29ccbc44693 100644
--- a/drivers/scsi/dec_esp.c
+++ b/drivers/scsi/dec_esp.c
@@ -94,9 +94,9 @@ volatile unsigned char pmaz_cmd_buffer[16];
94 * via PIO. 94 * via PIO.
95 */ 95 */
96 96
97static irqreturn_t scsi_dma_merr_int(int, void *, struct pt_regs *); 97static irqreturn_t scsi_dma_merr_int(int, void *);
98static irqreturn_t scsi_dma_err_int(int, void *, struct pt_regs *); 98static irqreturn_t scsi_dma_err_int(int, void *);
99static irqreturn_t scsi_dma_int(int, void *, struct pt_regs *); 99static irqreturn_t scsi_dma_int(int, void *);
100 100
101static int dec_esp_detect(struct scsi_host_template * tpnt); 101static int dec_esp_detect(struct scsi_host_template * tpnt);
102 102
@@ -307,7 +307,7 @@ err_dealloc:
307} 307}
308 308
309/************************************************************* DMA Functions */ 309/************************************************************* DMA Functions */
310static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id, struct pt_regs *regs) 310static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id)
311{ 311{
312 printk("Got unexpected SCSI DMA Interrupt! < "); 312 printk("Got unexpected SCSI DMA Interrupt! < ");
313 printk("SCSI_DMA_MEMRDERR "); 313 printk("SCSI_DMA_MEMRDERR ");
@@ -316,14 +316,14 @@ static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id, struct pt_regs *regs
316 return IRQ_HANDLED; 316 return IRQ_HANDLED;
317} 317}
318 318
319static irqreturn_t scsi_dma_err_int(int irq, void *dev_id, struct pt_regs *regs) 319static irqreturn_t scsi_dma_err_int(int irq, void *dev_id)
320{ 320{
321 /* empty */ 321 /* empty */
322 322
323 return IRQ_HANDLED; 323 return IRQ_HANDLED;
324} 324}
325 325
326static irqreturn_t scsi_dma_int(int irq, void *dev_id, struct pt_regs *regs) 326static irqreturn_t scsi_dma_int(int irq, void *dev_id)
327{ 327{
328 u32 scsi_next_ptr; 328 u32 scsi_next_ptr;
329 329
diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index b20b37661d6f..60b1b434eba7 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -1989,7 +1989,7 @@ static int adpt_ioctl(struct inode *inode, struct file *file, uint cmd,
1989} 1989}
1990 1990
1991 1991
1992static irqreturn_t adpt_isr(int irq, void *dev_id, struct pt_regs *regs) 1992static irqreturn_t adpt_isr(int irq, void *dev_id)
1993{ 1993{
1994 struct scsi_cmnd* cmd; 1994 struct scsi_cmnd* cmd;
1995 adpt_hba* pHba = dev_id; 1995 adpt_hba* pHba = dev_id;
diff --git a/drivers/scsi/dpti.h b/drivers/scsi/dpti.h
index 289983264929..fd79068c5869 100644
--- a/drivers/scsi/dpti.h
+++ b/drivers/scsi/dpti.h
@@ -263,7 +263,7 @@ struct sg_simple_element {
263static void adpt_i2o_sys_shutdown(void); 263static void adpt_i2o_sys_shutdown(void);
264static int adpt_init(void); 264static int adpt_init(void);
265static int adpt_i2o_build_sys_table(void); 265static int adpt_i2o_build_sys_table(void);
266static irqreturn_t adpt_isr(int irq, void *dev_id, struct pt_regs *regs); 266static irqreturn_t adpt_isr(int irq, void *dev_id);
267#ifdef REBOOT_NOTIFIER 267#ifdef REBOOT_NOTIFIER
268static int adpt_reboot_event(struct notifier_block *n, ulong code, void *p); 268static int adpt_reboot_event(struct notifier_block *n, ulong code, void *p);
269#endif 269#endif
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index a5ff43b1b263..2d38025861a5 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -875,7 +875,7 @@ static unsigned long io_port[] = {
875/* But transfer orientation from the 16 bit data register is Little Endian */ 875/* But transfer orientation from the 16 bit data register is Little Endian */
876#define REG2H(x) le16_to_cpu(x) 876#define REG2H(x) le16_to_cpu(x)
877 877
878static irqreturn_t do_interrupt_handler(int, void *, struct pt_regs *); 878static irqreturn_t do_interrupt_handler(int, void *);
879static void flush_dev(struct scsi_device *, unsigned long, struct hostdata *, 879static void flush_dev(struct scsi_device *, unsigned long, struct hostdata *,
880 unsigned int); 880 unsigned int);
881static int do_trace = 0; 881static int do_trace = 0;
@@ -2555,8 +2555,7 @@ static irqreturn_t ihdlr(int irq, struct Scsi_Host *shost)
2555 return IRQ_NONE; 2555 return IRQ_NONE;
2556} 2556}
2557 2557
2558static irqreturn_t do_interrupt_handler(int irq, void *shap, 2558static irqreturn_t do_interrupt_handler(int irq, void *shap)
2559 struct pt_regs *regs)
2560{ 2559{
2561 struct Scsi_Host *shost; 2560 struct Scsi_Host *shost;
2562 unsigned int j; 2561 unsigned int j;
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index d312633db92b..811d8840707e 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -194,10 +194,9 @@ static void IncStat(struct scsi_pointer *SCp, unsigned int Increment)
194 } 194 }
195} 195}
196 196
197static irqreturn_t eata_pio_int_handler(int irq, void *dev_id, struct pt_regs *regs); 197static irqreturn_t eata_pio_int_handler(int irq, void *dev_id);
198 198
199static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id, 199static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id)
200 struct pt_regs *regs)
201{ 200{
202 unsigned long flags; 201 unsigned long flags;
203 struct Scsi_Host *dev = dev_id; 202 struct Scsi_Host *dev = dev_id;
@@ -209,7 +208,7 @@ static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id,
209 return ret; 208 return ret;
210} 209}
211 210
212static irqreturn_t eata_pio_int_handler(int irq, void *dev_id, struct pt_regs *regs) 211static irqreturn_t eata_pio_int_handler(int irq, void *dev_id)
213{ 212{
214 unsigned int eata_stat = 0xfffff; 213 unsigned int eata_stat = 0xfffff;
215 struct scsi_cmnd *cmd; 214 struct scsi_cmnd *cmd;
diff --git a/drivers/scsi/esp.c b/drivers/scsi/esp.c
index 5630868c1b25..2c2fe80bc42a 100644
--- a/drivers/scsi/esp.c
+++ b/drivers/scsi/esp.c
@@ -184,7 +184,7 @@ enum {
184}; 184};
185 185
186/* Forward declarations. */ 186/* Forward declarations. */
187static irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs); 187static irqreturn_t esp_intr(int irq, void *dev_id);
188 188
189/* Debugging routines */ 189/* Debugging routines */
190struct esp_cmdstrings { 190struct esp_cmdstrings {
@@ -4282,7 +4282,7 @@ state_machine:
4282} 4282}
4283 4283
4284/* Service only the ESP described by dev_id. */ 4284/* Service only the ESP described by dev_id. */
4285static irqreturn_t esp_intr(int irq, void *dev_id, struct pt_regs *pregs) 4285static irqreturn_t esp_intr(int irq, void *dev_id)
4286{ 4286{
4287 struct esp *esp = dev_id; 4287 struct esp *esp = dev_id;
4288 unsigned long flags; 4288 unsigned long flags;
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
index dde3edf35c03..ef8285c326e4 100644
--- a/drivers/scsi/fd_mcs.c
+++ b/drivers/scsi/fd_mcs.c
@@ -281,7 +281,7 @@ static struct fd_mcs_adapters_struct fd_mcs_adapters[] = {
281 281
282#define FD_BRDS ARRAY_SIZE(fd_mcs_adapters) 282#define FD_BRDS ARRAY_SIZE(fd_mcs_adapters)
283 283
284static irqreturn_t fd_mcs_intr(int irq, void *dev_id, struct pt_regs *regs); 284static irqreturn_t fd_mcs_intr(int irq, void *dev_id);
285 285
286static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 }; 286static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 };
287static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 }; 287static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 };
@@ -617,7 +617,7 @@ static void my_done(struct Scsi_Host *shpnt, int error)
617} 617}
618 618
619/* only my_done needs to be protected */ 619/* only my_done needs to be protected */
620static irqreturn_t fd_mcs_intr(int irq, void *dev_id, struct pt_regs *regs) 620static irqreturn_t fd_mcs_intr(int irq, void *dev_id)
621{ 621{
622 unsigned long flags; 622 unsigned long flags;
623 int status; 623 int status;
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index b0694dcce246..41b05fc45380 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -403,8 +403,7 @@ static volatile int in_interrupt_flag;
403static int FIFO_Size = 0x2000; /* 8k FIFO for 403static int FIFO_Size = 0x2000; /* 8k FIFO for
404 pre-tmc18c30 chips */ 404 pre-tmc18c30 chips */
405 405
406static irqreturn_t do_fdomain_16x0_intr( int irq, void *dev_id, 406static irqreturn_t do_fdomain_16x0_intr( int irq, void *dev_id );
407 struct pt_regs * regs );
408/* Allow insmod parameters to be like LILO parameters. For example: 407/* Allow insmod parameters to be like LILO parameters. For example:
409 insmod fdomain fdomain=0x140,11 */ 408 insmod fdomain fdomain=0x140,11 */
410static char * fdomain = NULL; 409static char * fdomain = NULL;
@@ -1094,8 +1093,7 @@ static void my_done(int error)
1094#endif 1093#endif
1095} 1094}
1096 1095
1097static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id, 1096static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id)
1098 struct pt_regs * regs )
1099{ 1097{
1100 unsigned long flags; 1098 unsigned long flags;
1101 int status; 1099 int status;
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 0f3eb22b979a..4bc14ad92e22 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -424,7 +424,7 @@
424 424
425static void gdth_delay(int milliseconds); 425static void gdth_delay(int milliseconds);
426static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs); 426static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs);
427static irqreturn_t gdth_interrupt(int irq, void *dev_id, struct pt_regs *regs); 427static irqreturn_t gdth_interrupt(int irq, void *dev_id);
428static int gdth_sync_event(int hanum,int service,unchar index,Scsi_Cmnd *scp); 428static int gdth_sync_event(int hanum,int service,unchar index,Scsi_Cmnd *scp);
429static int gdth_async_event(int hanum); 429static int gdth_async_event(int hanum);
430static void gdth_log_event(gdth_evt_data *dvr, char *buffer); 430static void gdth_log_event(gdth_evt_data *dvr, char *buffer);
@@ -1804,7 +1804,7 @@ static int gdth_wait(int hanum,int index,ulong32 time)
1804 1804
1805 gdth_from_wait = TRUE; 1805 gdth_from_wait = TRUE;
1806 do { 1806 do {
1807 gdth_interrupt((int)ha->irq,ha,NULL); 1807 gdth_interrupt((int)ha->irq,ha);
1808 if (wait_hanum==hanum && wait_index==index) { 1808 if (wait_hanum==hanum && wait_index==index) {
1809 answer_found = TRUE; 1809 answer_found = TRUE;
1810 break; 1810 break;
@@ -3406,7 +3406,7 @@ static void gdth_clear_events(void)
3406 3406
3407/* SCSI interface functions */ 3407/* SCSI interface functions */
3408 3408
3409static irqreturn_t gdth_interrupt(int irq,void *dev_id,struct pt_regs *regs) 3409static irqreturn_t gdth_interrupt(int irq,void *dev_id)
3410{ 3410{
3411 gdth_ha_str *ha2 = (gdth_ha_str *)dev_id; 3411 gdth_ha_str *ha2 = (gdth_ha_str *)dev_id;
3412 register gdth_ha_str *ha; 3412 register gdth_ha_str *ha;
diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index 18dbe5c27dac..2f6c1137a6e5 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -24,7 +24,7 @@
24#define DMA(ptr) ((gvp11_scsiregs *)((ptr)->base)) 24#define DMA(ptr) ((gvp11_scsiregs *)((ptr)->base))
25#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata)) 25#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
26 26
27static irqreturn_t gvp11_intr (int irq, void *_instance, struct pt_regs *fp) 27static irqreturn_t gvp11_intr (int irq, void *_instance)
28{ 28{
29 unsigned long flags; 29 unsigned long flags;
30 unsigned int status; 30 unsigned int status;
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index 28bfb8f9f81d..bec83cbee59a 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -431,7 +431,7 @@ void hptiop_iop_request_callback(struct hptiop_hba *hba, u32 tag)
431 writel(tag, &hba->iop->outbound_queue); 431 writel(tag, &hba->iop->outbound_queue);
432} 432}
433 433
434static irqreturn_t hptiop_intr(int irq, void *dev_id, struct pt_regs *regs) 434static irqreturn_t hptiop_intr(int irq, void *dev_id)
435{ 435{
436 struct hptiop_hba *hba = dev_id; 436 struct hptiop_hba *hba = dev_id;
437 int handled; 437 int handled;
diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c
index 2be1dc5d852a..0e57fb6964d5 100644
--- a/drivers/scsi/ibmmca.c
+++ b/drivers/scsi/ibmmca.c
@@ -497,8 +497,7 @@ static int option_setup(char *);
497static int ldn_access_load(int, int); 497static int ldn_access_load(int, int);
498static int ldn_access_total_read_write(int); 498static int ldn_access_total_read_write(int);
499 499
500static irqreturn_t interrupt_handler(int irq, void *dev_id, 500static irqreturn_t interrupt_handler(int irq, void *dev_id)
501 struct pt_regs *regs)
502{ 501{
503 int host_index, ihost_index; 502 int host_index, ihost_index;
504 unsigned int intr_reg; 503 unsigned int intr_reg;
diff --git a/drivers/scsi/ibmvscsi/rpa_vscsi.c b/drivers/scsi/ibmvscsi/rpa_vscsi.c
index 01b8ac641eb8..227c0f2f4d74 100644
--- a/drivers/scsi/ibmvscsi/rpa_vscsi.c
+++ b/drivers/scsi/ibmvscsi/rpa_vscsi.c
@@ -45,14 +45,11 @@ static unsigned int partition_number = -1;
45 * ibmvscsi_handle_event: - Interrupt handler for crq events 45 * ibmvscsi_handle_event: - Interrupt handler for crq events
46 * @irq: number of irq to handle, not used 46 * @irq: number of irq to handle, not used
47 * @dev_instance: ibmvscsi_host_data of host that received interrupt 47 * @dev_instance: ibmvscsi_host_data of host that received interrupt
48 * @regs: pt_regs with registers
49 * 48 *
50 * Disables interrupts and schedules srp_task 49 * Disables interrupts and schedules srp_task
51 * Always returns IRQ_HANDLED 50 * Always returns IRQ_HANDLED
52 */ 51 */
53static irqreturn_t ibmvscsi_handle_event(int irq, 52static irqreturn_t ibmvscsi_handle_event(int irq, void *dev_instance)
54 void *dev_instance,
55 struct pt_regs *regs)
56{ 53{
57 struct ibmvscsi_host_data *hostdata = 54 struct ibmvscsi_host_data *hostdata =
58 (struct ibmvscsi_host_data *)dev_instance; 55 (struct ibmvscsi_host_data *)dev_instance;
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index 59a4097f1254..312190a69389 100644
--- a/drivers/scsi/in2000.c
+++ b/drivers/scsi/in2000.c
@@ -829,7 +829,7 @@ static void transfer_bytes(Scsi_Cmnd * cmd, int data_in_dir)
829 * but it _does_ need to be able to compile and run in an SMP kernel.) 829 * but it _does_ need to be able to compile and run in an SMP kernel.)
830 */ 830 */
831 831
832static irqreturn_t in2000_intr(int irqnum, void *dev_id, struct pt_regs *ptregs) 832static irqreturn_t in2000_intr(int irqnum, void *dev_id)
833{ 833{
834 struct Scsi_Host *instance = dev_id; 834 struct Scsi_Host *instance = dev_id;
835 struct IN2000_hostdata *hostdata; 835 struct IN2000_hostdata *hostdata;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 9e10dac61cfd..911f2ff4a1f2 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2748,7 +2748,7 @@ int tul_wait_done_disc(HCS * pCurHcb)
2748 return (tul_bad_seq(pCurHcb)); 2748 return (tul_bad_seq(pCurHcb));
2749} 2749}
2750 2750
2751static irqreturn_t i91u_intr(int irqno, void *dev_id, struct pt_regs *regs) 2751static irqreturn_t i91u_intr(int irqno, void *dev_id)
2752{ 2752{
2753 struct Scsi_Host *dev = dev_id; 2753 struct Scsi_Host *dev = dev_id;
2754 unsigned long flags; 2754 unsigned long flags;
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index e1fe9494125b..2dde821025f3 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -3880,12 +3880,11 @@ static irqreturn_t ipr_handle_other_interrupt(struct ipr_ioa_cfg *ioa_cfg,
3880 * ipr_isr - Interrupt service routine 3880 * ipr_isr - Interrupt service routine
3881 * @irq: irq number 3881 * @irq: irq number
3882 * @devp: pointer to ioa config struct 3882 * @devp: pointer to ioa config struct
3883 * @regs: pt_regs struct
3884 * 3883 *
3885 * Return value: 3884 * Return value:
3886 * IRQ_NONE / IRQ_HANDLED 3885 * IRQ_NONE / IRQ_HANDLED
3887 **/ 3886 **/
3888static irqreturn_t ipr_isr(int irq, void *devp, struct pt_regs *regs) 3887static irqreturn_t ipr_isr(int irq, void *devp)
3889{ 3888{
3890 struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)devp; 3889 struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)devp;
3891 unsigned long lock_flags = 0; 3890 unsigned long lock_flags = 0;
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index 9a9ab297cf17..f06a06ae6092 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -248,7 +248,7 @@ static int ips_eh_abort(struct scsi_cmnd *);
248static int ips_eh_reset(struct scsi_cmnd *); 248static int ips_eh_reset(struct scsi_cmnd *);
249static int ips_queue(struct scsi_cmnd *, void (*)(struct scsi_cmnd *)); 249static int ips_queue(struct scsi_cmnd *, void (*)(struct scsi_cmnd *));
250static const char *ips_info(struct Scsi_Host *); 250static const char *ips_info(struct Scsi_Host *);
251static irqreturn_t do_ipsintr(int, void *, struct pt_regs *); 251static irqreturn_t do_ipsintr(int, void *);
252static int ips_hainit(ips_ha_t *); 252static int ips_hainit(ips_ha_t *);
253static int ips_map_status(ips_ha_t *, ips_scb_t *, ips_stat_t *); 253static int ips_map_status(ips_ha_t *, ips_scb_t *, ips_stat_t *);
254static int ips_send_wait(ips_ha_t *, ips_scb_t *, int, int); 254static int ips_send_wait(ips_ha_t *, ips_scb_t *, int, int);
@@ -1328,7 +1328,7 @@ ips_slave_configure(struct scsi_device * SDptr)
1328/* */ 1328/* */
1329/****************************************************************************/ 1329/****************************************************************************/
1330static irqreturn_t 1330static irqreturn_t
1331do_ipsintr(int irq, void *dev_id, struct pt_regs * regs) 1331do_ipsintr(int irq, void *dev_id)
1332{ 1332{
1333 ips_ha_t *ha; 1333 ips_ha_t *ha;
1334 unsigned long cpu_flags; 1334 unsigned long cpu_flags;
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h
index 3d684496acde..1251788ce2a3 100644
--- a/drivers/scsi/lpfc/lpfc_crtn.h
+++ b/drivers/scsi/lpfc/lpfc_crtn.h
@@ -120,7 +120,7 @@ int lpfc_sli_queue_setup(struct lpfc_hba *);
120 120
121void lpfc_handle_eratt(struct lpfc_hba *); 121void lpfc_handle_eratt(struct lpfc_hba *);
122void lpfc_handle_latt(struct lpfc_hba *); 122void lpfc_handle_latt(struct lpfc_hba *);
123irqreturn_t lpfc_intr_handler(int, void *, struct pt_regs *); 123irqreturn_t lpfc_intr_handler(int, void *);
124 124
125void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *); 125void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *);
126void lpfc_config_ring(struct lpfc_hba *, int, LPFC_MBOXQ_t *); 126void lpfc_config_ring(struct lpfc_hba *, int, LPFC_MBOXQ_t *);
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 70f4d5a1348e..24a1779b9af4 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -3119,7 +3119,7 @@ lpfc_sli_flush_mbox_queue(struct lpfc_hba * phba)
3119} 3119}
3120 3120
3121irqreturn_t 3121irqreturn_t
3122lpfc_intr_handler(int irq, void *dev_id, struct pt_regs * regs) 3122lpfc_intr_handler(int irq, void *dev_id)
3123{ 3123{
3124 struct lpfc_hba *phba; 3124 struct lpfc_hba *phba;
3125 uint32_t ha_copy; 3125 uint32_t ha_copy;
diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
index 6422de72bf43..753d88306cd1 100644
--- a/drivers/scsi/mac53c94.c
+++ b/drivers/scsi/mac53c94.c
@@ -60,8 +60,8 @@ struct fsc_state {
60 60
61static void mac53c94_init(struct fsc_state *); 61static void mac53c94_init(struct fsc_state *);
62static void mac53c94_start(struct fsc_state *); 62static void mac53c94_start(struct fsc_state *);
63static void mac53c94_interrupt(int, void *, struct pt_regs *); 63static void mac53c94_interrupt(int, void *);
64static irqreturn_t do_mac53c94_interrupt(int, void *, struct pt_regs *); 64static irqreturn_t do_mac53c94_interrupt(int, void *);
65static void cmd_done(struct fsc_state *, int result); 65static void cmd_done(struct fsc_state *, int result);
66static void set_dma_cmds(struct fsc_state *, struct scsi_cmnd *); 66static void set_dma_cmds(struct fsc_state *, struct scsi_cmnd *);
67 67
@@ -177,18 +177,18 @@ static void mac53c94_start(struct fsc_state *state)
177 set_dma_cmds(state, cmd); 177 set_dma_cmds(state, cmd);
178} 178}
179 179
180static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 180static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id)
181{ 181{
182 unsigned long flags; 182 unsigned long flags;
183 struct Scsi_Host *dev = ((struct fsc_state *) dev_id)->current_req->device->host; 183 struct Scsi_Host *dev = ((struct fsc_state *) dev_id)->current_req->device->host;
184 184
185 spin_lock_irqsave(dev->host_lock, flags); 185 spin_lock_irqsave(dev->host_lock, flags);
186 mac53c94_interrupt(irq, dev_id, ptregs); 186 mac53c94_interrupt(irq, dev_id);
187 spin_unlock_irqrestore(dev->host_lock, flags); 187 spin_unlock_irqrestore(dev->host_lock, flags);
188 return IRQ_HANDLED; 188 return IRQ_HANDLED;
189} 189}
190 190
191static void mac53c94_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 191static void mac53c94_interrupt(int irq, void *dev_id)
192{ 192{
193 struct fsc_state *state = (struct fsc_state *) dev_id; 193 struct fsc_state *state = (struct fsc_state *) dev_id;
194 struct mac53c94_regs __iomem *regs = state->regs; 194 struct mac53c94_regs __iomem *regs = state->regs;
diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c
index 118206d68c6c..3586fac9be9a 100644
--- a/drivers/scsi/mac_esp.c
+++ b/drivers/scsi/mac_esp.c
@@ -44,7 +44,7 @@
44/* #define DEBUG_MAC_ESP */ 44/* #define DEBUG_MAC_ESP */
45 45
46extern void esp_handle(struct NCR_ESP *esp); 46extern void esp_handle(struct NCR_ESP *esp);
47extern void mac_esp_intr(int irq, void *dev_id, struct pt_regs *pregs); 47extern void mac_esp_intr(int irq, void *dev_id);
48 48
49static int dma_bytes_sent(struct NCR_ESP * esp, int fifo_count); 49static int dma_bytes_sent(struct NCR_ESP * esp, int fifo_count);
50static int dma_can_transfer(struct NCR_ESP * esp, Scsi_Cmnd *sp); 50static int dma_can_transfer(struct NCR_ESP * esp, Scsi_Cmnd *sp);
@@ -88,7 +88,7 @@ static int setup_hostid = -1;
88 * set up properly! 88 * set up properly!
89 */ 89 */
90 90
91void mac_esp_intr(int irq, void *dev_id, struct pt_regs *pregs) 91void mac_esp_intr(int irq, void *dev_id)
92{ 92{
93 struct NCR_ESP *esp = (struct NCR_ESP *) dev_id; 93 struct NCR_ESP *esp = (struct NCR_ESP *) dev_id;
94 int irq_p = 0; 94 int irq_p = 0;
@@ -122,24 +122,24 @@ void mac_esp_intr(int irq, void *dev_id, struct pt_regs *pregs)
122 * acknowledge on the various machines 122 * acknowledge on the various machines
123 */ 123 */
124 124
125void scsi_esp_polled(int irq, void *dev_id, struct pt_regs *pregs) 125void scsi_esp_polled(int irq, void *dev_id)
126{ 126{
127 if (esp_initialized == 0) 127 if (esp_initialized == 0)
128 return; 128 return;
129 129
130 mac_esp_intr(irq, dev_id, pregs); 130 mac_esp_intr(irq, dev_id);
131} 131}
132 132
133void fake_intr(int irq, void *dev_id, struct pt_regs *pregs) 133void fake_intr(int irq, void *dev_id)
134{ 134{
135#ifdef DEBUG_MAC_ESP 135#ifdef DEBUG_MAC_ESP
136 printk("mac_esp: got irq\n"); 136 printk("mac_esp: got irq\n");
137#endif 137#endif
138 138
139 mac_esp_intr(irq, dev_id, pregs); 139 mac_esp_intr(irq, dev_id);
140} 140}
141 141
142irqreturn_t fake_drq(int irq, void *dev_id, struct pt_regs *pregs) 142irqreturn_t fake_drq(int irq, void *dev_id)
143{ 143{
144 printk("mac_esp: got drq\n"); 144 printk("mac_esp: got drq\n");
145 return IRQ_HANDLED; 145 return IRQ_HANDLED;
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index b87bef69ba0f..86099fde1b2a 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -1256,14 +1256,13 @@ bug_blocked_mailbox:
1256 * megaraid_isr_iomapped() 1256 * megaraid_isr_iomapped()
1257 * @irq - irq 1257 * @irq - irq
1258 * @devp - pointer to our soft state 1258 * @devp - pointer to our soft state
1259 * @regs - unused
1260 * 1259 *
1261 * Interrupt service routine for io-mapped controllers. 1260 * Interrupt service routine for io-mapped controllers.
1262 * Find out if our device is interrupting. If yes, acknowledge the interrupt 1261 * Find out if our device is interrupting. If yes, acknowledge the interrupt
1263 * and service the completed commands. 1262 * and service the completed commands.
1264 */ 1263 */
1265static irqreturn_t 1264static irqreturn_t
1266megaraid_isr_iomapped(int irq, void *devp, struct pt_regs *regs) 1265megaraid_isr_iomapped(int irq, void *devp)
1267{ 1266{
1268 adapter_t *adapter = devp; 1267 adapter_t *adapter = devp;
1269 unsigned long flags; 1268 unsigned long flags;
@@ -1333,14 +1332,13 @@ megaraid_isr_iomapped(int irq, void *devp, struct pt_regs *regs)
1333 * megaraid_isr_memmapped() 1332 * megaraid_isr_memmapped()
1334 * @irq - irq 1333 * @irq - irq
1335 * @devp - pointer to our soft state 1334 * @devp - pointer to our soft state
1336 * @regs - unused
1337 * 1335 *
1338 * Interrupt service routine for memory-mapped controllers. 1336 * Interrupt service routine for memory-mapped controllers.
1339 * Find out if our device is interrupting. If yes, acknowledge the interrupt 1337 * Find out if our device is interrupting. If yes, acknowledge the interrupt
1340 * and service the completed commands. 1338 * and service the completed commands.
1341 */ 1339 */
1342static irqreturn_t 1340static irqreturn_t
1343megaraid_isr_memmapped(int irq, void *devp, struct pt_regs *regs) 1341megaraid_isr_memmapped(int irq, void *devp)
1344{ 1342{
1345 adapter_t *adapter = devp; 1343 adapter_t *adapter = devp;
1346 unsigned long flags; 1344 unsigned long flags;
diff --git a/drivers/scsi/megaraid.h b/drivers/scsi/megaraid.h
index 4b75fe619d9c..66529f11d23c 100644
--- a/drivers/scsi/megaraid.h
+++ b/drivers/scsi/megaraid.h
@@ -991,8 +991,8 @@ static scb_t * mega_build_cmd(adapter_t *, Scsi_Cmnd *, int *);
991static void __mega_runpendq(adapter_t *); 991static void __mega_runpendq(adapter_t *);
992static int issue_scb_block(adapter_t *, u_char *); 992static int issue_scb_block(adapter_t *, u_char *);
993 993
994static irqreturn_t megaraid_isr_memmapped(int, void *, struct pt_regs *); 994static irqreturn_t megaraid_isr_memmapped(int, void *);
995static irqreturn_t megaraid_isr_iomapped(int, void *, struct pt_regs *); 995static irqreturn_t megaraid_isr_iomapped(int, void *);
996 996
997static void mega_free_scb(adapter_t *, scb_t *); 997static void mega_free_scb(adapter_t *, scb_t *);
998 998
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index 266b3910846b..c0edb662d863 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -120,7 +120,7 @@ static void megaraid_mbox_prepare_pthru(adapter_t *, scb_t *,
120static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *, 120static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *,
121 struct scsi_cmnd *); 121 struct scsi_cmnd *);
122 122
123static irqreturn_t megaraid_isr(int, void *, struct pt_regs *); 123static irqreturn_t megaraid_isr(int, void *);
124 124
125static void megaraid_mbox_dpc(unsigned long); 125static void megaraid_mbox_dpc(unsigned long);
126 126
@@ -2231,7 +2231,7 @@ megaraid_ack_sequence(adapter_t *adapter)
2231 * Interrupt service routine for memory-mapped mailbox controllers. 2231 * Interrupt service routine for memory-mapped mailbox controllers.
2232 */ 2232 */
2233static irqreturn_t 2233static irqreturn_t
2234megaraid_isr(int irq, void *devp, struct pt_regs *regs) 2234megaraid_isr(int irq, void *devp)
2235{ 2235{
2236 adapter_t *adapter = devp; 2236 adapter_t *adapter = devp;
2237 int handled; 2237 int handled;
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index 977b6e8d8525..7e4262f2af96 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -1293,7 +1293,7 @@ megasas_deplete_reply_queue(struct megasas_instance *instance, u8 alt_status)
1293/** 1293/**
1294 * megasas_isr - isr entry point 1294 * megasas_isr - isr entry point
1295 */ 1295 */
1296static irqreturn_t megasas_isr(int irq, void *devp, struct pt_regs *regs) 1296static irqreturn_t megasas_isr(int irq, void *devp)
1297{ 1297{
1298 return megasas_deplete_reply_queue((struct megasas_instance *)devp, 1298 return megasas_deplete_reply_queue((struct megasas_instance *)devp,
1299 DID_OK); 1299 DID_OK);
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index 683fc7ae4b8f..c773e35dace7 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -185,7 +185,7 @@ struct mesh_state {
185 * Driver is too messy, we need a few prototypes... 185 * Driver is too messy, we need a few prototypes...
186 */ 186 */
187static void mesh_done(struct mesh_state *ms, int start_next); 187static void mesh_done(struct mesh_state *ms, int start_next);
188static void mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs); 188static void mesh_interrupt(int irq, void *dev_id);
189static void cmd_complete(struct mesh_state *ms); 189static void cmd_complete(struct mesh_state *ms);
190static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd); 190static void set_dma_cmds(struct mesh_state *ms, struct scsi_cmnd *cmd);
191static void halt_dma(struct mesh_state *ms); 191static void halt_dma(struct mesh_state *ms);
@@ -1015,13 +1015,13 @@ static void handle_reset(struct mesh_state *ms)
1015 out_8(&mr->sequence, SEQ_ENBRESEL); 1015 out_8(&mr->sequence, SEQ_ENBRESEL);
1016} 1016}
1017 1017
1018static irqreturn_t do_mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 1018static irqreturn_t do_mesh_interrupt(int irq, void *dev_id)
1019{ 1019{
1020 unsigned long flags; 1020 unsigned long flags;
1021 struct Scsi_Host *dev = ((struct mesh_state *)dev_id)->host; 1021 struct Scsi_Host *dev = ((struct mesh_state *)dev_id)->host;
1022 1022
1023 spin_lock_irqsave(dev->host_lock, flags); 1023 spin_lock_irqsave(dev->host_lock, flags);
1024 mesh_interrupt(irq, dev_id, ptregs); 1024 mesh_interrupt(irq, dev_id);
1025 spin_unlock_irqrestore(dev->host_lock, flags); 1025 spin_unlock_irqrestore(dev->host_lock, flags);
1026 return IRQ_HANDLED; 1026 return IRQ_HANDLED;
1027} 1027}
@@ -1661,7 +1661,7 @@ static int mesh_queue(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
1661 * handler (do_mesh_interrupt) or by other functions in 1661 * handler (do_mesh_interrupt) or by other functions in
1662 * exceptional circumstances 1662 * exceptional circumstances
1663 */ 1663 */
1664static void mesh_interrupt(int irq, void *dev_id, struct pt_regs *ptregs) 1664static void mesh_interrupt(int irq, void *dev_id)
1665{ 1665{
1666 struct mesh_state *ms = (struct mesh_state *) dev_id; 1666 struct mesh_state *ms = (struct mesh_state *) dev_id;
1667 volatile struct mesh_regs __iomem *mr = ms->mesh; 1667 volatile struct mesh_regs __iomem *mr = ms->mesh;
diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c
index 9b991b746d1e..1ddd7a11a958 100644
--- a/drivers/scsi/mvme147.c
+++ b/drivers/scsi/mvme147.c
@@ -20,7 +20,7 @@
20 20
21static struct Scsi_Host *mvme147_host = NULL; 21static struct Scsi_Host *mvme147_host = NULL;
22 22
23static irqreturn_t mvme147_intr (int irq, void *dummy, struct pt_regs *fp) 23static irqreturn_t mvme147_intr (int irq, void *dummy)
24{ 24{
25 if (irq == MVME147_IRQ_SCSI_PORT) 25 if (irq == MVME147_IRQ_SCSI_PORT)
26 wd33c93_intr (mvme147_host); 26 wd33c93_intr (mvme147_host);
diff --git a/drivers/scsi/mvme16x.h b/drivers/scsi/mvme16x.h
index c7a12533fb2c..73e33b37a3f8 100644
--- a/drivers/scsi/mvme16x.h
+++ b/drivers/scsi/mvme16x.h
@@ -9,7 +9,7 @@ int NCR53c7xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
9int NCR53c7xx_abort(Scsi_Cmnd *); 9int NCR53c7xx_abort(Scsi_Cmnd *);
10int NCR53c7x0_release (struct Scsi_Host *); 10int NCR53c7x0_release (struct Scsi_Host *);
11int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int); 11int NCR53c7xx_reset(Scsi_Cmnd *, unsigned int);
12void NCR53c7x0_intr(int irq, void *dev_id, struct pt_regs * regs); 12void NCR53c7x0_intr(int irq, void *dev_id);
13 13
14#ifndef CMD_PER_LUN 14#ifndef CMD_PER_LUN
15#define CMD_PER_LUN 3 15#define CMD_PER_LUN 3
diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
index b28712df0b77..6cc2bc2f62be 100644
--- a/drivers/scsi/ncr53c8xx.c
+++ b/drivers/scsi/ncr53c8xx.c
@@ -8111,7 +8111,7 @@ printk("ncr53c8xx : command successfully queued\n");
8111 return sts; 8111 return sts;
8112} 8112}
8113 8113
8114irqreturn_t ncr53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs) 8114irqreturn_t ncr53c8xx_intr(int irq, void *dev_id)
8115{ 8115{
8116 unsigned long flags; 8116 unsigned long flags;
8117 struct Scsi_Host *shost = (struct Scsi_Host *)dev_id; 8117 struct Scsi_Host *shost = (struct Scsi_Host *)dev_id;
diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h
index 78818b6684f8..cb8b7701431e 100644
--- a/drivers/scsi/ncr53c8xx.h
+++ b/drivers/scsi/ncr53c8xx.h
@@ -1322,7 +1322,7 @@ struct ncr_device {
1322 1322
1323extern struct Scsi_Host *ncr_attach(struct scsi_host_template *tpnt, int unit, struct ncr_device *device); 1323extern struct Scsi_Host *ncr_attach(struct scsi_host_template *tpnt, int unit, struct ncr_device *device);
1324extern int ncr53c8xx_release(struct Scsi_Host *host); 1324extern int ncr53c8xx_release(struct Scsi_Host *host);
1325irqreturn_t ncr53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs); 1325irqreturn_t ncr53c8xx_intr(int irq, void *dev_id);
1326extern int ncr53c8xx_init(void); 1326extern int ncr53c8xx_init(void);
1327extern void ncr53c8xx_exit(void); 1327extern void ncr53c8xx_exit(void);
1328 1328
diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index 1c624ce81897..7c13f6f4a4c6 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -256,7 +256,7 @@ static void nsp32_sack_negate (nsp32_hw_data *);
256static void nsp32_do_bus_reset(nsp32_hw_data *); 256static void nsp32_do_bus_reset(nsp32_hw_data *);
257 257
258/* hardware interrupt handler */ 258/* hardware interrupt handler */
259static irqreturn_t do_nsp32_isr(int, void *, struct pt_regs *); 259static irqreturn_t do_nsp32_isr(int, void *);
260 260
261/* initialize hardware */ 261/* initialize hardware */
262static int nsp32hw_init(nsp32_hw_data *); 262static int nsp32hw_init(nsp32_hw_data *);
@@ -1201,7 +1201,7 @@ static int nsp32hw_init(nsp32_hw_data *data)
1201 1201
1202 1202
1203/* interrupt routine */ 1203/* interrupt routine */
1204static irqreturn_t do_nsp32_isr(int irq, void *dev_id, struct pt_regs *regs) 1204static irqreturn_t do_nsp32_isr(int irq, void *dev_id)
1205{ 1205{
1206 nsp32_hw_data *data = dev_id; 1206 nsp32_hw_data *data = dev_id;
1207 unsigned int base = data->BaseAddress; 1207 unsigned int base = data->BaseAddress;
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index 053303d36118..b1d346049525 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -948,7 +948,7 @@ static int nsp_nexus(Scsi_Cmnd *SCpnt)
948/* 948/*
949 * interrupt handler 949 * interrupt handler
950 */ 950 */
951static irqreturn_t nspintr(int irq, void *dev_id, struct pt_regs *regs) 951static irqreturn_t nspintr(int irq, void *dev_id)
952{ 952{
953 unsigned int base; 953 unsigned int base;
954 unsigned char irq_status, irq_phase, phase; 954 unsigned char irq_status, irq_phase, phase;
diff --git a/drivers/scsi/pcmcia/nsp_cs.h b/drivers/scsi/pcmcia/nsp_cs.h
index 8908b8e5b78a..a88714f4c05b 100644
--- a/drivers/scsi/pcmcia/nsp_cs.h
+++ b/drivers/scsi/pcmcia/nsp_cs.h
@@ -346,7 +346,7 @@ static int nsp_reselected (Scsi_Cmnd *SCpnt);
346static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht); 346static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht);
347 347
348/* Interrupt handler */ 348/* Interrupt handler */
349//static irqreturn_t nspintr(int irq, void *dev_id, struct pt_regs *regs); 349//static irqreturn_t nspintr(int irq, void *dev_id);
350 350
351/* Module entry point*/ 351/* Module entry point*/
352static int __init nsp_cs_init(void); 352static int __init nsp_cs_init(void);
diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c
index 0b65099acb1a..72fe5d055de1 100644
--- a/drivers/scsi/pcmcia/sym53c500_cs.c
+++ b/drivers/scsi/pcmcia/sym53c500_cs.c
@@ -363,7 +363,7 @@ SYM53C500_pio_write(int fast_pio, int base, unsigned char *request, unsigned int
363} 363}
364 364
365static irqreturn_t 365static irqreturn_t
366SYM53C500_intr(int irq, void *dev_id, struct pt_regs *regs) 366SYM53C500_intr(int irq, void *dev_id)
367{ 367{
368 unsigned long flags; 368 unsigned long flags;
369 struct Scsi_Host *dev = dev_id; 369 struct Scsi_Host *dev = dev_id;
diff --git a/drivers/scsi/psi240i.c b/drivers/scsi/psi240i.c
index 5c2cdf523c3b..a720c9265e66 100644
--- a/drivers/scsi/psi240i.c
+++ b/drivers/scsi/psi240i.c
@@ -247,12 +247,11 @@ static ULONG DecodeError (struct Scsi_Host *pshost, UCHAR status)
247 * 247 *
248 * Parameters: irq - Hardware IRQ number. 248 * Parameters: irq - Hardware IRQ number.
249 * dev_id - 249 * dev_id -
250 * regs -
251 * 250 *
252 * Returns: TRUE if drive is not ready in time. 251 * Returns: TRUE if drive is not ready in time.
253 * 252 *
254 ****************************************************************/ 253 ****************************************************************/
255static void Irq_Handler (int irq, void *dev_id, struct pt_regs *regs) 254static void Irq_Handler (int irq, void *dev_id)
256 { 255 {
257 struct Scsi_Host *shost; // Pointer to host data block 256 struct Scsi_Host *shost; // Pointer to host data block
258 PADAPTER240I padapter; // Pointer to adapter control structure 257 PADAPTER240I padapter; // Pointer to adapter control structure
@@ -368,13 +367,13 @@ irqerror:;
368 SCpnt->scsi_done (SCpnt); 367 SCpnt->scsi_done (SCpnt);
369 } 368 }
370 369
371static irqreturn_t do_Irq_Handler (int irq, void *dev_id, struct pt_regs *regs) 370static irqreturn_t do_Irq_Handler (int irq, void *dev_id)
372{ 371{
373 unsigned long flags; 372 unsigned long flags;
374 struct Scsi_Host *dev = dev_id; 373 struct Scsi_Host *dev = dev_id;
375 374
376 spin_lock_irqsave(dev->host_lock, flags); 375 spin_lock_irqsave(dev->host_lock, flags);
377 Irq_Handler(irq, dev_id, regs); 376 Irq_Handler(irq, dev_id);
378 spin_unlock_irqrestore(dev->host_lock, flags); 377 spin_unlock_irqrestore(dev->host_lock, flags);
379 return IRQ_HANDLED; 378 return IRQ_HANDLED;
380} 379}
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index 9f33e5946c0d..2521d548dd59 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -1113,7 +1113,7 @@ qla1280_enable_intrs(struct scsi_qla_host *ha)
1113 * Handles the H/W interrupt 1113 * Handles the H/W interrupt
1114 **************************************************************************/ 1114 **************************************************************************/
1115static irqreturn_t 1115static irqreturn_t
1116qla1280_intr_handler(int irq, void *dev_id, struct pt_regs *regs) 1116qla1280_intr_handler(int irq, void *dev_id)
1117{ 1117{
1118 struct scsi_qla_host *ha; 1118 struct scsi_qla_host *ha;
1119 struct device_reg __iomem *reg; 1119 struct device_reg __iomem *reg;
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
index c37a30aa2146..bab33f6d0bdb 100644
--- a/drivers/scsi/qla2xxx/qla_def.h
+++ b/drivers/scsi/qla2xxx/qla_def.h
@@ -2009,7 +2009,7 @@ struct isp_operations {
2009 char * (*pci_info_str) (struct scsi_qla_host *, char *); 2009 char * (*pci_info_str) (struct scsi_qla_host *, char *);
2010 char * (*fw_version_str) (struct scsi_qla_host *, char *); 2010 char * (*fw_version_str) (struct scsi_qla_host *, char *);
2011 2011
2012 irqreturn_t (*intr_handler) (int, void *, struct pt_regs *); 2012 irq_handler_t intr_handler;
2013 void (*enable_intrs) (struct scsi_qla_host *); 2013 void (*enable_intrs) (struct scsi_qla_host *);
2014 void (*disable_intrs) (struct scsi_qla_host *); 2014 void (*disable_intrs) (struct scsi_qla_host *);
2015 2015
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index bef7011378c6..75138109b139 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -217,9 +217,9 @@ qla2x00_set_idma_speed(scsi_qla_host_t *, uint16_t, uint16_t, uint16_t *);
217/* 217/*
218 * Global Function Prototypes in qla_isr.c source file. 218 * Global Function Prototypes in qla_isr.c source file.
219 */ 219 */
220extern irqreturn_t qla2100_intr_handler(int, void *, struct pt_regs *); 220extern irqreturn_t qla2100_intr_handler(int, void *);
221extern irqreturn_t qla2300_intr_handler(int, void *, struct pt_regs *); 221extern irqreturn_t qla2300_intr_handler(int, void *);
222extern irqreturn_t qla24xx_intr_handler(int, void *, struct pt_regs *); 222extern irqreturn_t qla24xx_intr_handler(int, void *);
223extern void qla2x00_process_response_queue(struct scsi_qla_host *); 223extern void qla2x00_process_response_queue(struct scsi_qla_host *);
224extern void qla24xx_process_response_queue(struct scsi_qla_host *); 224extern void qla24xx_process_response_queue(struct scsi_qla_host *);
225 225
diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h
index 45007ee58067..d3023338628f 100644
--- a/drivers/scsi/qla2xxx/qla_inline.h
+++ b/drivers/scsi/qla2xxx/qla_inline.h
@@ -104,7 +104,7 @@ static __inline__ void qla2x00_poll(scsi_qla_host_t *);
104static inline void 104static inline void
105qla2x00_poll(scsi_qla_host_t *ha) 105qla2x00_poll(scsi_qla_host_t *ha)
106{ 106{
107 ha->isp_ops.intr_handler(0, ha, NULL); 107 ha->isp_ops.intr_handler(0, ha);
108} 108}
109 109
110static __inline__ void qla2x00_check_fabric_devices(scsi_qla_host_t *); 110static __inline__ void qla2x00_check_fabric_devices(scsi_qla_host_t *);
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index 5fa933cda992..626c7178a434 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -20,14 +20,13 @@ static void qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);
20 * qla2100_intr_handler() - Process interrupts for the ISP2100 and ISP2200. 20 * qla2100_intr_handler() - Process interrupts for the ISP2100 and ISP2200.
21 * @irq: 21 * @irq:
22 * @dev_id: SCSI driver HA context 22 * @dev_id: SCSI driver HA context
23 * @regs:
24 * 23 *
25 * Called by system whenever the host adapter generates an interrupt. 24 * Called by system whenever the host adapter generates an interrupt.
26 * 25 *
27 * Returns handled flag. 26 * Returns handled flag.
28 */ 27 */
29irqreturn_t 28irqreturn_t
30qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs) 29qla2100_intr_handler(int irq, void *dev_id)
31{ 30{
32 scsi_qla_host_t *ha; 31 scsi_qla_host_t *ha;
33 struct device_reg_2xxx __iomem *reg; 32 struct device_reg_2xxx __iomem *reg;
@@ -100,14 +99,13 @@ qla2100_intr_handler(int irq, void *dev_id, struct pt_regs *regs)
100 * qla2300_intr_handler() - Process interrupts for the ISP23xx and ISP63xx. 99 * qla2300_intr_handler() - Process interrupts for the ISP23xx and ISP63xx.
101 * @irq: 100 * @irq:
102 * @dev_id: SCSI driver HA context 101 * @dev_id: SCSI driver HA context
103 * @regs:
104 * 102 *
105 * Called by system whenever the host adapter generates an interrupt. 103 * Called by system whenever the host adapter generates an interrupt.
106 * 104 *
107 * Returns handled flag. 105 * Returns handled flag.
108 */ 106 */
109irqreturn_t 107irqreturn_t
110qla2300_intr_handler(int irq, void *dev_id, struct pt_regs *regs) 108qla2300_intr_handler(int irq, void *dev_id)
111{ 109{
112 scsi_qla_host_t *ha; 110 scsi_qla_host_t *ha;
113 struct device_reg_2xxx __iomem *reg; 111 struct device_reg_2xxx __iomem *reg;
@@ -1338,14 +1336,13 @@ qla24xx_process_response_queue(struct scsi_qla_host *ha)
1338 * qla24xx_intr_handler() - Process interrupts for the ISP23xx and ISP63xx. 1336 * qla24xx_intr_handler() - Process interrupts for the ISP23xx and ISP63xx.
1339 * @irq: 1337 * @irq:
1340 * @dev_id: SCSI driver HA context 1338 * @dev_id: SCSI driver HA context
1341 * @regs:
1342 * 1339 *
1343 * Called by system whenever the host adapter generates an interrupt. 1340 * Called by system whenever the host adapter generates an interrupt.
1344 * 1341 *
1345 * Returns handled flag. 1342 * Returns handled flag.
1346 */ 1343 */
1347irqreturn_t 1344irqreturn_t
1348qla24xx_intr_handler(int irq, void *dev_id, struct pt_regs *regs) 1345qla24xx_intr_handler(int irq, void *dev_id)
1349{ 1346{
1350 scsi_qla_host_t *ha; 1347 scsi_qla_host_t *ha;
1351 struct device_reg_24xx __iomem *reg; 1348 struct device_reg_24xx __iomem *reg;
diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h b/drivers/scsi/qla4xxx/ql4_glbl.h
index 418fb7a13a65..1de08002c43f 100644
--- a/drivers/scsi/qla4xxx/ql4_glbl.h
+++ b/drivers/scsi/qla4xxx/ql4_glbl.h
@@ -13,7 +13,7 @@ int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb);
13int qla4xxx_initialize_adapter(struct scsi_qla_host * ha, 13int qla4xxx_initialize_adapter(struct scsi_qla_host * ha,
14 uint8_t renew_ddb_list); 14 uint8_t renew_ddb_list);
15int qla4xxx_soft_reset(struct scsi_qla_host *ha); 15int qla4xxx_soft_reset(struct scsi_qla_host *ha);
16irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id, struct pt_regs *regs); 16irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id);
17 17
18void qla4xxx_free_ddb_list(struct scsi_qla_host * ha); 18void qla4xxx_free_ddb_list(struct scsi_qla_host * ha);
19void qla4xxx_process_aen(struct scsi_qla_host * ha, uint8_t process_aen); 19void qla4xxx_process_aen(struct scsi_qla_host * ha, uint8_t process_aen);
diff --git a/drivers/scsi/qla4xxx/ql4_isr.c b/drivers/scsi/qla4xxx/ql4_isr.c
index b584317608d1..1e283321a59d 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -610,9 +610,8 @@ void qla4xxx_interrupt_service_routine(struct scsi_qla_host * ha,
610 * qla4xxx_intr_handler - hardware interrupt handler. 610 * qla4xxx_intr_handler - hardware interrupt handler.
611 * @irq: Unused 611 * @irq: Unused
612 * @dev_id: Pointer to host adapter structure 612 * @dev_id: Pointer to host adapter structure
613 * @regs: Unused
614 **/ 613 **/
615irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id, struct pt_regs *regs) 614irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id)
616{ 615{
617 struct scsi_qla_host *ha; 616 struct scsi_qla_host *ha;
618 uint32_t intr_status; 617 uint32_t intr_status;
diff --git a/drivers/scsi/qlogicfas408.c b/drivers/scsi/qlogicfas408.c
index 52fb2ec3da70..1a7de3bd796f 100644
--- a/drivers/scsi/qlogicfas408.c
+++ b/drivers/scsi/qlogicfas408.c
@@ -405,7 +405,7 @@ static unsigned int ql_pcmd(Scsi_Cmnd * cmd)
405 * Interrupt handler 405 * Interrupt handler
406 */ 406 */
407 407
408static void ql_ihandl(int irq, void *dev_id, struct pt_regs *regs) 408static void ql_ihandl(int irq, void *dev_id)
409{ 409{
410 Scsi_Cmnd *icmd; 410 Scsi_Cmnd *icmd;
411 struct Scsi_Host *host = (struct Scsi_Host *)dev_id; 411 struct Scsi_Host *host = (struct Scsi_Host *)dev_id;
@@ -432,13 +432,13 @@ static void ql_ihandl(int irq, void *dev_id, struct pt_regs *regs)
432 (icmd->scsi_done) (icmd); 432 (icmd->scsi_done) (icmd);
433} 433}
434 434
435irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id, struct pt_regs *regs) 435irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id)
436{ 436{
437 unsigned long flags; 437 unsigned long flags;
438 struct Scsi_Host *host = dev_id; 438 struct Scsi_Host *host = dev_id;
439 439
440 spin_lock_irqsave(host->host_lock, flags); 440 spin_lock_irqsave(host->host_lock, flags);
441 ql_ihandl(irq, dev_id, regs); 441 ql_ihandl(irq, dev_id);
442 spin_unlock_irqrestore(host->host_lock, flags); 442 spin_unlock_irqrestore(host->host_lock, flags);
443 return IRQ_HANDLED; 443 return IRQ_HANDLED;
444} 444}
diff --git a/drivers/scsi/qlogicfas408.h b/drivers/scsi/qlogicfas408.h
index 4b3df2003660..8fd5555c75b1 100644
--- a/drivers/scsi/qlogicfas408.h
+++ b/drivers/scsi/qlogicfas408.h
@@ -102,7 +102,7 @@ struct qlogicfas408_priv {
102#define get_priv_by_cmd(x) (struct qlogicfas408_priv *)&((x)->device->host->hostdata[0]) 102#define get_priv_by_cmd(x) (struct qlogicfas408_priv *)&((x)->device->host->hostdata[0])
103#define get_priv_by_host(x) (struct qlogicfas408_priv *)&((x)->hostdata[0]) 103#define get_priv_by_host(x) (struct qlogicfas408_priv *)&((x)->hostdata[0])
104 104
105irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id, struct pt_regs *regs); 105irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id);
106int qlogicfas408_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *)); 106int qlogicfas408_queuecommand(Scsi_Cmnd * cmd, void (*done) (Scsi_Cmnd *));
107int qlogicfas408_biosparam(struct scsi_device * disk, 107int qlogicfas408_biosparam(struct scsi_device * disk,
108 struct block_device *dev, 108 struct block_device *dev,
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index 5b2f0741a55b..ed58bb489889 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -649,7 +649,7 @@ static int qlogicpti_verify_tmon(struct qlogicpti *qpti)
649 return 0; 649 return 0;
650} 650}
651 651
652static irqreturn_t qpti_intr(int irq, void *dev_id, struct pt_regs *regs); 652static irqreturn_t qpti_intr(int irq, void *dev_id);
653 653
654static void __init qpti_chain_add(struct qlogicpti *qpti) 654static void __init qpti_chain_add(struct qlogicpti *qpti)
655{ 655{
@@ -1297,7 +1297,7 @@ static struct scsi_cmnd *qlogicpti_intr_handler(struct qlogicpti *qpti)
1297 return done_queue; 1297 return done_queue;
1298} 1298}
1299 1299
1300static irqreturn_t qpti_intr(int irq, void *dev_id, struct pt_regs *regs) 1300static irqreturn_t qpti_intr(int irq, void *dev_id)
1301{ 1301{
1302 struct qlogicpti *qpti = dev_id; 1302 struct qlogicpti *qpti = dev_id;
1303 unsigned long flags; 1303 unsigned long flags;
diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
index 4e6666ceae26..8ff1f2866f7b 100644
--- a/drivers/scsi/seagate.c
+++ b/drivers/scsi/seagate.c
@@ -320,8 +320,8 @@ static Signature __initdata signatures[] = {
320 */ 320 */
321 321
322static int hostno = -1; 322static int hostno = -1;
323static void seagate_reconnect_intr (int, void *, struct pt_regs *); 323static void seagate_reconnect_intr (int, void *);
324static irqreturn_t do_seagate_reconnect_intr (int, void *, struct pt_regs *); 324static irqreturn_t do_seagate_reconnect_intr (int, void *);
325static int seagate_st0x_bus_reset(struct scsi_cmnd *); 325static int seagate_st0x_bus_reset(struct scsi_cmnd *);
326 326
327#ifdef FAST 327#ifdef FAST
@@ -619,19 +619,18 @@ static int should_reconnect = 0;
619 * asserting SEL. 619 * asserting SEL.
620 */ 620 */
621 621
622static irqreturn_t do_seagate_reconnect_intr(int irq, void *dev_id, 622static irqreturn_t do_seagate_reconnect_intr(int irq, void *dev_id)
623 struct pt_regs *regs)
624{ 623{
625 unsigned long flags; 624 unsigned long flags;
626 struct Scsi_Host *dev = dev_id; 625 struct Scsi_Host *dev = dev_id;
627 626
628 spin_lock_irqsave (dev->host_lock, flags); 627 spin_lock_irqsave (dev->host_lock, flags);
629 seagate_reconnect_intr (irq, dev_id, regs); 628 seagate_reconnect_intr (irq, dev_id);
630 spin_unlock_irqrestore (dev->host_lock, flags); 629 spin_unlock_irqrestore (dev->host_lock, flags);
631 return IRQ_HANDLED; 630 return IRQ_HANDLED;
632} 631}
633 632
634static void seagate_reconnect_intr (int irq, void *dev_id, struct pt_regs *regs) 633static void seagate_reconnect_intr (int irq, void *dev_id)
635{ 634{
636 int temp; 635 int temp;
637 struct scsi_cmnd *SCtmp; 636 struct scsi_cmnd *SCtmp;
diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
index 4f1db6f2aae8..e81f97a35bc8 100644
--- a/drivers/scsi/sgiwd93.c
+++ b/drivers/scsi/sgiwd93.c
@@ -84,7 +84,7 @@ static inline unsigned long read_wd33c93_count(const wd33c93_regs regs)
84 return value; 84 return value;
85} 85}
86 86
87static irqreturn_t sgiwd93_intr(int irq, void *dev_id, struct pt_regs *regs) 87static irqreturn_t sgiwd93_intr(int irq, void *dev_id)
88{ 88{
89 struct Scsi_Host * host = (struct Scsi_Host *) dev_id; 89 struct Scsi_Host * host = (struct Scsi_Host *) dev_id;
90 unsigned long flags; 90 unsigned long flags;
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c
index a54e6c1026b7..185c270bb043 100644
--- a/drivers/scsi/stex.c
+++ b/drivers/scsi/stex.c
@@ -871,7 +871,7 @@ update_status:
871 readl(base + IMR1); /* flush */ 871 readl(base + IMR1); /* flush */
872} 872}
873 873
874static irqreturn_t stex_intr(int irq, void *__hba, struct pt_regs *regs) 874static irqreturn_t stex_intr(int irq, void *__hba)
875{ 875{
876 struct st_hba *hba = __hba; 876 struct st_hba *hba = __hba;
877 void __iomem *base = hba->mmio_base; 877 void __iomem *base = hba->mmio_base;
diff --git a/drivers/scsi/sun3_NCR5380.c b/drivers/scsi/sun3_NCR5380.c
index 7f9bcef6adfa..5ec5af8e3379 100644
--- a/drivers/scsi/sun3_NCR5380.c
+++ b/drivers/scsi/sun3_NCR5380.c
@@ -1252,7 +1252,7 @@ static void NCR5380_dma_complete( struct Scsi_Host *instance )
1252 * 1252 *
1253 */ 1253 */
1254 1254
1255static irqreturn_t NCR5380_intr (int irq, void *dev_id, struct pt_regs *regs) 1255static irqreturn_t NCR5380_intr (int irq, void *dev_id)
1256{ 1256{
1257 struct Scsi_Host *instance = first_instance; 1257 struct Scsi_Host *instance = first_instance;
1258 int done = 1, handled = 0; 1258 int done = 1, handled = 0;
diff --git a/drivers/scsi/sun3_scsi.c b/drivers/scsi/sun3_scsi.c
index 44a99aeb8180..e625b4c5833a 100644
--- a/drivers/scsi/sun3_scsi.c
+++ b/drivers/scsi/sun3_scsi.c
@@ -102,7 +102,7 @@ static void NCR5380_print(struct Scsi_Host *instance);
102#define ENABLE_IRQ() enable_irq( IRQ_SUN3_SCSI ); 102#define ENABLE_IRQ() enable_irq( IRQ_SUN3_SCSI );
103 103
104 104
105static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp); 105static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
106static inline unsigned char sun3scsi_read(int reg); 106static inline unsigned char sun3scsi_read(int reg);
107static inline void sun3scsi_write(int reg, int value); 107static inline void sun3scsi_write(int reg, int value);
108 108
@@ -371,7 +371,7 @@ const char * sun3scsi_info (struct Scsi_Host *spnt) {
371// safe bits for the CSR 371// safe bits for the CSR
372#define CSR_GOOD 0x060f 372#define CSR_GOOD 0x060f
373 373
374static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp) 374static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
375{ 375{
376 unsigned short csr = dregs->csr; 376 unsigned short csr = dregs->csr;
377 int handled = 0; 377 int handled = 0;
@@ -388,7 +388,7 @@ static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp)
388 } 388 }
389 389
390 if(csr & (CSR_SDB_INT | CSR_DMA_INT)) { 390 if(csr & (CSR_SDB_INT | CSR_DMA_INT)) {
391 NCR5380_intr(irq, dummy, fp); 391 NCR5380_intr(irq, dummy);
392 handled = 1; 392 handled = 1;
393 } 393 }
394 394
diff --git a/drivers/scsi/sun3_scsi_vme.c b/drivers/scsi/sun3_scsi_vme.c
index f5742b84b27a..e8faab16567b 100644
--- a/drivers/scsi/sun3_scsi_vme.c
+++ b/drivers/scsi/sun3_scsi_vme.c
@@ -67,7 +67,7 @@ extern int sun3_map_test(unsigned long, char *);
67#define ENABLE_IRQ() 67#define ENABLE_IRQ()
68 68
69 69
70static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp); 70static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
71static inline unsigned char sun3scsi_read(int reg); 71static inline unsigned char sun3scsi_read(int reg);
72static inline void sun3scsi_write(int reg, int value); 72static inline void sun3scsi_write(int reg, int value);
73 73
@@ -340,7 +340,7 @@ static const char * sun3scsi_info (struct Scsi_Host *spnt) {
340// safe bits for the CSR 340// safe bits for the CSR
341#define CSR_GOOD 0x060f 341#define CSR_GOOD 0x060f
342 342
343static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp) 343static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
344{ 344{
345 unsigned short csr = dregs->csr; 345 unsigned short csr = dregs->csr;
346 int handled = 0; 346 int handled = 0;
@@ -371,7 +371,7 @@ static irqreturn_t scsi_sun3_intr(int irq, void *dummy, struct pt_regs *fp)
371 } 371 }
372 372
373 if(csr & (CSR_SDB_INT | CSR_DMA_INT)) { 373 if(csr & (CSR_SDB_INT | CSR_DMA_INT)) {
374 NCR5380_intr(irq, dummy, fp); 374 NCR5380_intr(irq, dummy);
375 handled = 1; 375 handled = 1;
376 } 376 }
377 377
diff --git a/drivers/scsi/sym53c416.c b/drivers/scsi/sym53c416.c
index 8640253d6215..32c883f1efa1 100644
--- a/drivers/scsi/sym53c416.c
+++ b/drivers/scsi/sym53c416.c
@@ -326,8 +326,7 @@ static __inline__ unsigned int sym53c416_write(int base, unsigned char *buffer,
326 return orig_len - len; 326 return orig_len - len;
327} 327}
328 328
329static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id, 329static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id)
330 struct pt_regs *regs)
331{ 330{
332 struct Scsi_Host *dev = dev_id; 331 struct Scsi_Host *dev = dev_id;
333 int base = 0; 332 int base = 0;
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index 739d3ef46a40..4d78c7e87cca 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -652,7 +652,7 @@ static int sym53c8xx_queue_command(struct scsi_cmnd *cmd,
652/* 652/*
653 * Linux entry point of the interrupt handler. 653 * Linux entry point of the interrupt handler.
654 */ 654 */
655static irqreturn_t sym53c8xx_intr(int irq, void *dev_id, struct pt_regs * regs) 655static irqreturn_t sym53c8xx_intr(int irq, void *dev_id)
656{ 656{
657 unsigned long flags; 657 unsigned long flags;
658 struct sym_hcb *np = (struct sym_hcb *)dev_id; 658 struct sym_hcb *np = (struct sym_hcb *)dev_id;
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c
index 028d5f641cc6..0f0ac925d319 100644
--- a/drivers/scsi/tmscsim.c
+++ b/drivers/scsi/tmscsim.c
@@ -700,7 +700,7 @@ dc390_InvalidCmd(struct dc390_acb* pACB)
700 700
701 701
702static irqreturn_t __inline__ 702static irqreturn_t __inline__
703DC390_Interrupt(int irq, void *dev_id, struct pt_regs *regs) 703DC390_Interrupt(int irq, void *dev_id)
704{ 704{
705 struct dc390_acb *pACB = (struct dc390_acb*)dev_id; 705 struct dc390_acb *pACB = (struct dc390_acb*)dev_id;
706 struct dc390_dcb *pDCB; 706 struct dc390_dcb *pDCB;
@@ -811,12 +811,12 @@ DC390_Interrupt(int irq, void *dev_id, struct pt_regs *regs)
811 return IRQ_HANDLED; 811 return IRQ_HANDLED;
812} 812}
813 813
814static irqreturn_t do_DC390_Interrupt( int irq, void *dev_id, struct pt_regs *regs) 814static irqreturn_t do_DC390_Interrupt( int irq, void *dev_id)
815{ 815{
816 irqreturn_t ret; 816 irqreturn_t ret;
817 DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq)); 817 DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq));
818 /* Locking is done in DC390_Interrupt */ 818 /* Locking is done in DC390_Interrupt */
819 ret = DC390_Interrupt(irq, dev_id, regs); 819 ret = DC390_Interrupt(irq, dev_id);
820 DEBUG1(printk (".. IRQ returned\n")); 820 DEBUG1(printk (".. IRQ returned\n"));
821 return ret; 821 return ret;
822} 822}
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 57449611e714..3de08a15de40 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -634,7 +634,7 @@ static unsigned long io_port[] = {
634#define H2DEV(x) cpu_to_le32(x) 634#define H2DEV(x) cpu_to_le32(x)
635#define DEV2H(x) le32_to_cpu(x) 635#define DEV2H(x) le32_to_cpu(x)
636 636
637static irqreturn_t do_interrupt_handler(int, void *, struct pt_regs *); 637static irqreturn_t do_interrupt_handler(int, void *);
638static void flush_dev(struct scsi_device *, unsigned long, unsigned int, unsigned int); 638static void flush_dev(struct scsi_device *, unsigned long, unsigned int, unsigned int);
639static int do_trace = FALSE; 639static int do_trace = FALSE;
640static int setup_done = FALSE; 640static int setup_done = FALSE;
@@ -1932,8 +1932,7 @@ none:
1932 return IRQ_NONE; 1932 return IRQ_NONE;
1933} 1933}
1934 1934
1935static irqreturn_t do_interrupt_handler(int irq, void *shap, 1935static irqreturn_t do_interrupt_handler(int irq, void *shap) {
1936 struct pt_regs *regs) {
1937 unsigned int j; 1936 unsigned int j;
1938 unsigned long spin_flags; 1937 unsigned long spin_flags;
1939 irqreturn_t ret; 1938 irqreturn_t ret;
diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c
index 0372aa9fa190..107f0fc34949 100644
--- a/drivers/scsi/ultrastor.c
+++ b/drivers/scsi/ultrastor.c
@@ -287,8 +287,8 @@ static const unsigned short ultrastor_ports_14f[] = {
287}; 287};
288#endif 288#endif
289 289
290static void ultrastor_interrupt(int, void *, struct pt_regs *); 290static void ultrastor_interrupt(int, void *);
291static irqreturn_t do_ultrastor_interrupt(int, void *, struct pt_regs *); 291static irqreturn_t do_ultrastor_interrupt(int, void *);
292static inline void build_sg_list(struct mscp *, struct scsi_cmnd *SCpnt); 292static inline void build_sg_list(struct mscp *, struct scsi_cmnd *SCpnt);
293 293
294 294
@@ -893,7 +893,7 @@ static int ultrastor_abort(struct scsi_cmnd *SCpnt)
893 893
894 spin_lock_irqsave(host->host_lock, flags); 894 spin_lock_irqsave(host->host_lock, flags);
895 /* FIXME: Ewww... need to think about passing host around properly */ 895 /* FIXME: Ewww... need to think about passing host around properly */
896 ultrastor_interrupt(0, NULL, NULL); 896 ultrastor_interrupt(0, NULL);
897 spin_unlock_irqrestore(host->host_lock, flags); 897 spin_unlock_irqrestore(host->host_lock, flags);
898 return SUCCESS; 898 return SUCCESS;
899 } 899 }
@@ -1039,7 +1039,7 @@ int ultrastor_biosparam(struct scsi_device *sdev, struct block_device *bdev,
1039 return 0; 1039 return 0;
1040} 1040}
1041 1041
1042static void ultrastor_interrupt(int irq, void *dev_id, struct pt_regs *regs) 1042static void ultrastor_interrupt(int irq, void *dev_id)
1043{ 1043{
1044 unsigned int status; 1044 unsigned int status;
1045#if ULTRASTOR_MAX_CMDS > 1 1045#if ULTRASTOR_MAX_CMDS > 1
@@ -1171,14 +1171,13 @@ static void ultrastor_interrupt(int irq, void *dev_id, struct pt_regs *regs)
1171#endif 1171#endif
1172} 1172}
1173 1173
1174static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id, 1174static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id)
1175 struct pt_regs *regs)
1176{ 1175{
1177 unsigned long flags; 1176 unsigned long flags;
1178 struct Scsi_Host *dev = dev_id; 1177 struct Scsi_Host *dev = dev_id;
1179 1178
1180 spin_lock_irqsave(dev->host_lock, flags); 1179 spin_lock_irqsave(dev->host_lock, flags);
1181 ultrastor_interrupt(irq, dev_id, regs); 1180 ultrastor_interrupt(irq, dev_id);
1182 spin_unlock_irqrestore(dev->host_lock, flags); 1181 spin_unlock_irqrestore(dev->host_lock, flags);
1183 return IRQ_HANDLED; 1182 return IRQ_HANDLED;
1184} 1183}
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index a0b61af48f1c..331e1cf159b0 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -998,7 +998,7 @@ static int make_code(unsigned hosterr, unsigned scsierr)
998#define wd7000_intr_ack(host) outb (0, host->iobase + ASC_INTR_ACK) 998#define wd7000_intr_ack(host) outb (0, host->iobase + ASC_INTR_ACK)
999 999
1000 1000
1001static irqreturn_t wd7000_intr(int irq, void *dev_id, struct pt_regs *regs) 1001static irqreturn_t wd7000_intr(int irq, void *dev_id)
1002{ 1002{
1003 Adapter *host = (Adapter *) dev_id; 1003 Adapter *host = (Adapter *) dev_id;
1004 int flag, icmb, errstatus, icmb_status; 1004 int flag, icmb, errstatus, icmb_status;