2007-10-19 07:54:53

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 0/9] Remove 'irq' argument from all irq handlers


WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE

This posting is just to demonstrate something that I have been keeping
alive in the background. I have no urge to push it upstream anytime
soon.

The overwhelming majority of drivers do not ever bother with the 'irq'
argument that is passed to each driver's irq handler.

Of the minority of drivers that do use the arg, the majority of those
have the irq number stored in their private-info structure somewhere.

There are a tiny few -- a couple Mac drivers -- which do weird things
with that argument, but that's it.

For the large sweeps through the tree, these patches are grouped into
"trivial" changes -- simply removing the unused irq arg -- or all other
changes.

[IRQ ARG REMOVAL] core interrupt delivery infrastructure updates
[IRQ ARG REMOVAL] various non-trivial arch updates
[IRQ ARG REMOVAL] trivial arch updates
[IRQ ARG REMOVAL] non-trivial driver updates
[IRQ ARG REMOVAL] trivial net driver updates
[IRQ ARG REMOVAL] trivial sound driver updates
[IRQ ARG REMOVAL] trivial scsi driver updates
[IRQ ARG REMOVAL] trivial driver updates
[IRQ ARG REMOVAL] x86-64 build fixes, cleanups

WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE


2007-10-19 07:55:27

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 1/9] irq-remove: core


commit 008b5fcf3c1d8456005de26ddd4256b1369225e8
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:45:51 2007 -0400

[IRQ ARG REMOVAL] core interrupt delivery infrastructure updates

include/asm-generic/irq_regs.h | 25 +++++++++++++++++++++++++
include/linux/interrupt.h | 4 ++--
kernel/irq/handle.c | 5 +++--
kernel/irq/manage.c | 4 ++--
kernel/irq/spurious.c | 3 ++-
lib/irq_regs.c | 5 +++++
6 files changed, 39 insertions(+), 7 deletions(-)

008b5fcf3c1d8456005de26ddd4256b1369225e8
diff --git a/include/asm-generic/irq_regs.h b/include/asm-generic/irq_regs.h
index 5ae1d07..1d99ef4 100644
--- a/include/asm-generic/irq_regs.h
+++ b/include/asm-generic/irq_regs.h
@@ -34,4 +34,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
return old_regs;
}

+DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
+
+static inline unsigned int get_irqfunc_irq(void)
+{
+ return __get_cpu_var(__irqfunc_irqs);
+}
+
+#if 0
+static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
+{
+ unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
+
+ old_irq = *pirq;
+ *pirq = new_irq;
+ return old_irq;
+}
+#else
+static inline void set_irqfunc_irq(unsigned int new_irq)
+{
+ int *pirq = &__get_cpu_var(__irqfunc_irqs);
+
+ *pirq = new_irq;
+}
+#endif
+
#endif /* _ASM_GENERIC_IRQ_REGS_H */
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 2306920..98720ea 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -55,7 +55,7 @@
#define IRQF_NOBALANCING 0x00000800
#define IRQF_IRQPOLL 0x00001000

-typedef irqreturn_t (*irq_handler_t)(int, void *);
+typedef irqreturn_t (*irq_handler_t)(void *);

struct irqaction {
irq_handler_t handler;
@@ -68,7 +68,7 @@ struct irqaction {
struct proc_dir_entry *dir;
};

-extern irqreturn_t no_action(int cpl, void *dev_id);
+extern irqreturn_t no_action(void *dev_id);
extern int __must_check request_irq(unsigned int, irq_handler_t handler,
unsigned long, const char *, void *);
extern void free_irq(unsigned int, void *);
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index e391cbb..fe19034 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -114,7 +114,7 @@ struct irq_chip dummy_irq_chip = {
/*
* Special, empty irq handler:
*/
-irqreturn_t no_action(int cpl, void *dev_id)
+irqreturn_t no_action(void *dev_id)
{
return IRQ_NONE;
}
@@ -137,7 +137,8 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
local_irq_enable_in_hardirq();

do {
- ret = action->handler(irq, action->dev_id);
+ set_irqfunc_irq(irq);
+ ret = action->handler(action->dev_id);
if (ret == IRQ_HANDLED)
status |= action->flags;
retval |= ret;
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 80eab7a..92e1456 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -455,7 +455,7 @@ void free_irq(unsigned int irq, void *dev_id)
*/
if (action->flags & IRQF_SHARED) {
local_irq_save(flags);
- action->handler(irq, dev_id);
+ action->handler(dev_id);
local_irq_restore(flags);
}
#endif
@@ -549,7 +549,7 @@ int request_irq(unsigned int irq, irq_handler_t handler,
unsigned long flags;

local_irq_save(flags);
- handler(irq, dev_id);
+ handler(dev_id);
local_irq_restore(flags);
}
#endif
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c
index 32b1619..8c6038e 100644
--- a/kernel/irq/spurious.c
+++ b/kernel/irq/spurious.c
@@ -49,7 +49,8 @@ static int misrouted_irq(int irq)
while (action) {
/* Only shared IRQ handlers are safe to call */
if (action->flags & IRQF_SHARED) {
- if (action->handler(i, action->dev_id) ==
+ set_irqfunc_irq(i);
+ if (action->handler(action->dev_id) ==
IRQ_HANDLED)
ok = 1;
}
diff --git a/lib/irq_regs.c b/lib/irq_regs.c
index 753880a..765a938 100644
--- a/lib/irq_regs.c
+++ b/lib/irq_regs.c
@@ -15,3 +15,8 @@
DEFINE_PER_CPU(struct pt_regs *, __irq_regs);
EXPORT_PER_CPU_SYMBOL(__irq_regs);
#endif
+
+#ifndef ARCH_HAS_OWN_IRQFUNC_IRQ
+DEFINE_PER_CPU(unsigned int, __irqfunc_irqs);
+EXPORT_PER_CPU_SYMBOL(__irqfunc_irqs);
+#endif

2007-10-19 07:56:00

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 2/9] irq-remove: arch non-trivial


commit 8d45690dd90b18daaa21b981ab20caf393220bf0
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:46:23 2007 -0400

[IRQ ARG REMOVAL] various non-trivial arch updates

arch/x86/kernel/vm86_32.c | 3 ++-
include/asm-x86/irq_regs_32.h | 25 +++++++++++++++++++++++++
2 files changed, 27 insertions(+), 1 deletion(-)

8d45690dd90b18daaa21b981ab20caf393220bf0
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
index 157e4be..18aae9e 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -739,10 +739,11 @@ static int irqbits;
| (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO) | (1 << SIGURG) \
| (1 << SIGUNUSED) )

-static irqreturn_t irq_handler(int intno, void *dev_id)
+static irqreturn_t irq_handler(void *dev_id)
{
int irq_bit;
unsigned long flags;
+ unsigned int intno = get_irqfunc_irq();

spin_lock_irqsave(&irqbits_lock, flags);
irq_bit = 1 << intno;
diff --git a/include/asm-x86/irq_regs_32.h b/include/asm-x86/irq_regs_32.h
index 3368b20..68a531d 100644
--- a/include/asm-x86/irq_regs_32.h
+++ b/include/asm-x86/irq_regs_32.h
@@ -26,4 +26,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
return old_regs;
}

+DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
+
+static inline unsigned int get_irqfunc_irq(void)
+{
+ return __get_cpu_var(__irqfunc_irqs);
+}
+
+#if 0
+static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
+{
+ unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
+
+ old_irq = *pirq;
+ *pirq = new_irq;
+ return old_irq;
+}
+#else
+static inline void set_irqfunc_irq(unsigned int new_irq)
+{
+ int *pirq = &__get_cpu_var(__irqfunc_irqs);
+
+ *pirq = new_irq;
+}
+#endif
+
#endif /* _ASM_I386_IRQ_REGS_H */

2007-10-19 07:56:46

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 3/9] irq-remove: arch trivial


commit bbf90280966a9661e1a5357f9ee8a94450132d71
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:46:37 2007 -0400

[IRQ ARG REMOVAL] trivial arch updates

arch/frv/kernel/dma.c | 2 +-
arch/frv/kernel/irq-mb93091.c | 2 +-
arch/frv/kernel/irq-mb93093.c | 2 +-
arch/frv/kernel/irq-mb93493.c | 2 +-
arch/frv/kernel/time.c | 4 ++--
arch/ia64/kernel/irq_ia64.c | 4 ++--
arch/ia64/kernel/machvec.c | 2 +-
arch/ia64/kernel/mca.c | 2 +-
arch/ia64/kernel/time.c | 2 +-
arch/ia64/sn/pci/tioca_provider.c | 2 +-
arch/ia64/sn/pci/tioce_provider.c | 2 +-
arch/mips/kernel/time.c | 2 +-
arch/mips/sgi-ip22/ip22-reset.c | 2 +-
arch/powerpc/platforms/cell/interrupt.c | 2 +-
arch/powerpc/platforms/powermac/low_i2c.c | 2 +-
arch/powerpc/platforms/powermac/pfunc_base.c | 2 +-
arch/powerpc/platforms/pseries/ras.c | 8 ++++----
arch/powerpc/platforms/pseries/xics.c | 4 ++--
arch/powerpc/sysdev/mpic.c | 2 +-
arch/sparc/kernel/irq.c | 2 +-
arch/x86/kernel/i8259_32.c | 2 +-
arch/x86/kernel/time_32.c | 2 +-
arch/x86/kernel/vmiclock_32.c | 2 +-
arch/x86/mach-visws/visws_apic.c | 2 +-
arch/x86/mach-voyager/voyager_basic.c | 2 +-
arch/x86/xen/smp.c | 6 +++---
arch/x86/xen/time.c | 2 +-
include/asm-m68k/floppy.h | 6 +++---
include/asm-m68k/sun3xflop.h | 6 +++---
include/asm-parisc/floppy.h | 6 +++---
include/asm-ppc/floppy.h | 7 +++----
include/asm-sh/floppy.h | 6 +++---
include/asm-sparc64/floppy.h | 8 ++++----
include/asm-x86/arch_hooks.h | 2 +-
include/asm-x86/floppy.h | 6 +++---
include/asm-x86/hpet.h | 2 +-
36 files changed, 59 insertions(+), 60 deletions(-)

bbf90280966a9661e1a5357f9ee8a94450132d71
diff --git a/arch/frv/kernel/dma.c b/arch/frv/kernel/dma.c
index 156184e..ecb6b67 100644
--- a/arch/frv/kernel/dma.c
+++ b/arch/frv/kernel/dma.c
@@ -121,7 +121,7 @@ unsigned long frv_dma_inprogress;
/*
* DMA irq handler - determine channel involved, grab status and call real handler
*/
-static irqreturn_t dma_irq_handler(int irq, void *_channel)
+static irqreturn_t dma_irq_handler(void *_channel)
{
struct frv_dma_channel *channel = _channel;

diff --git a/arch/frv/kernel/irq-mb93091.c b/arch/frv/kernel/irq-mb93091.c
index ad753c1..94c306f 100644
--- a/arch/frv/kernel/irq-mb93091.c
+++ b/arch/frv/kernel/irq-mb93091.c
@@ -80,7 +80,7 @@ static struct irq_chip frv_fpga_pic = {
/*
* FPGA PIC interrupt handler
*/
-static irqreturn_t fpga_interrupt(int irq, void *_mask)
+static irqreturn_t fpga_interrupt(void *_mask)
{
uint16_t imr, mask = (unsigned long) _mask;

diff --git a/arch/frv/kernel/irq-mb93093.c b/arch/frv/kernel/irq-mb93093.c
index e0983f6..e55d376 100644
--- a/arch/frv/kernel/irq-mb93093.c
+++ b/arch/frv/kernel/irq-mb93093.c
@@ -79,7 +79,7 @@ static struct irq_chip frv_fpga_pic = {
/*
* FPGA PIC interrupt handler
*/
-static irqreturn_t fpga_interrupt(int irq, void *_mask)
+static irqreturn_t fpga_interrupt(void *_mask)
{
uint16_t imr, mask = (unsigned long) _mask;

diff --git a/arch/frv/kernel/irq-mb93493.c b/arch/frv/kernel/irq-mb93493.c
index c157eef..1e617f6 100644
--- a/arch/frv/kernel/irq-mb93493.c
+++ b/arch/frv/kernel/irq-mb93493.c
@@ -90,7 +90,7 @@ static struct irq_chip frv_mb93493_pic = {
/*
* MB93493 PIC interrupt handler
*/
-static irqreturn_t mb93493_interrupt(int irq, void *_piqsr)
+static irqreturn_t mb93493_interrupt(void *_piqsr)
{
volatile void *piqsr = _piqsr;
uint32_t iqsr;
diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c
index e83e0bc..0a2bca5 100644
--- a/arch/frv/kernel/time.c
+++ b/arch/frv/kernel/time.c
@@ -40,7 +40,7 @@ unsigned long __nongprelbss __dsu_clock_speed_HZ;
unsigned long __nongprelbss __serial_clock_speed_HZ;
unsigned long __delay_loops_MHz;

-static irqreturn_t timer_interrupt(int irq, void *dummy);
+static irqreturn_t timer_interrupt(void *dummy);

static struct irqaction timer_irq = {
.handler = timer_interrupt,
@@ -58,7 +58,7 @@ static inline int set_rtc_mmss(unsigned long nowtime)
* timer_interrupt() needs to keep up the real-time clock,
* as well as call the "do_timer()" routine every clocktick
*/
-static irqreturn_t timer_interrupt(int irq, void *dummy)
+static irqreturn_t timer_interrupt(void *dummy)
{
/* last time the cmos clock got updated */
static long last_rtc_update = 0;
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c
index 00a4599..9bb7f83 100644
--- a/arch/ia64/kernel/irq_ia64.c
+++ b/arch/ia64/kernel/irq_ia64.c
@@ -529,11 +529,11 @@ void ia64_process_pending_intr(void)

#ifdef CONFIG_SMP

-static irqreturn_t dummy_handler (int irq, void *dev_id)
+static irqreturn_t dummy_handler (void *dev_id)
{
BUG();
}
-extern irqreturn_t handle_IPI (int irq, void *dev_id);
+extern irqreturn_t handle_IPI (void *dev_id);

static struct irqaction ipi_irqaction = {
.handler = handle_IPI,
diff --git a/arch/ia64/kernel/machvec.c b/arch/ia64/kernel/machvec.c
index 7ccb228..42ff99a 100644
--- a/arch/ia64/kernel/machvec.c
+++ b/arch/ia64/kernel/machvec.c
@@ -69,7 +69,7 @@ machvec_setup (char **arg)
EXPORT_SYMBOL(machvec_setup);

void
-machvec_timer_interrupt (int irq, void *dev_id)
+machvec_timer_interrupt (void *dev_id)
{
}
EXPORT_SYMBOL(machvec_timer_interrupt);
diff --git a/arch/ia64/kernel/mca.c b/arch/ia64/kernel/mca.c
index cc87025..692453b 100644
--- a/arch/ia64/kernel/mca.c
+++ b/arch/ia64/kernel/mca.c
@@ -502,7 +502,7 @@ int cpe_vector = -1;
int ia64_cpe_irq = -1;

static irqreturn_t
-ia64_mca_cpe_int_handler (int cpe_irq, void *arg)
+ia64_mca_cpe_int_handler (void *arg)
{
static unsigned long cpe_history[CPE_HISTORY_LENGTH];
static int index;
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c
index 2bb8421..871ce32 100644
--- a/arch/ia64/kernel/time.c
+++ b/arch/ia64/kernel/time.c
@@ -60,7 +60,7 @@ static struct clocksource clocksource_itc = {
static struct clocksource *itc_clocksource;

static irqreturn_t
-timer_interrupt (int irq, void *dev_id)
+timer_interrupt (void *dev_id)
{
unsigned long new_itm;

diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c
index ef048a6..5e5b611 100644
--- a/arch/ia64/sn/pci/tioca_provider.c
+++ b/arch/ia64/sn/pci/tioca_provider.c
@@ -555,7 +555,7 @@ tioca_dma_map(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma_flags)
* defers processing to the SGI prom.
*/
static irqreturn_t
-tioca_error_intr_handler(int irq, void *arg)
+tioca_error_intr_handler(void *arg)
{
struct tioca_common *soft = arg;
struct ia64_sal_retval ret_stuff;
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c
index cee9379..5e25143 100644
--- a/arch/ia64/sn/pci/tioce_provider.c
+++ b/arch/ia64/sn/pci/tioce_provider.c
@@ -669,7 +669,7 @@ tioce_dma_consistent(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma
* Handle a CE error interrupt. Simply a wrapper around a SAL call which
* defers processing to the SGI prom.
*/ static irqreturn_t
-tioce_error_intr_handler(int irq, void *arg)
+tioce_error_intr_handler(void *arg)
{
struct tioce_common *soft = arg;
struct ia64_sal_retval ret_stuff;
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c
index ea7cfe7..5b3df89 100644
--- a/arch/mips/kernel/time.c
+++ b/arch/mips/kernel/time.c
@@ -100,7 +100,7 @@ int (*mips_timer_state)(void);
* a broadcasted inter-processor interrupt which itself is triggered
* by the global timer interrupt.
*/
-void local_timer_interrupt(int irq, void *dev_id)
+void local_timer_interrupt(void *dev_id)
{
profile_tick(CPU_PROFILING);
update_process_times(user_mode(get_irq_regs()));
diff --git a/arch/mips/sgi-ip22/ip22-reset.c b/arch/mips/sgi-ip22/ip22-reset.c
index a435b31..59b954d 100644
--- a/arch/mips/sgi-ip22/ip22-reset.c
+++ b/arch/mips/sgi-ip22/ip22-reset.c
@@ -169,7 +169,7 @@ static inline void volume_down_button(unsigned long data)
}
}

-static irqreturn_t panel_int(int irq, void *dev_id)
+static irqreturn_t panel_int(void *dev_id)
{
unsigned int buttons;

diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c
index 151fd8b..3731858 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -189,7 +189,7 @@ struct irq_host *iic_get_irq_host(int node)
EXPORT_SYMBOL_GPL(iic_get_irq_host);


-static irqreturn_t iic_ipi_action(int irq, void *dev_id)
+static irqreturn_t iic_ipi_action(void *dev_id)
{
int ipi = (int)(long)dev_id;

diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index da2007e..b942401 100644
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -342,7 +342,7 @@ static void kw_i2c_handle_interrupt(struct pmac_i2c_host_kw *host, u8 isr)
}

/* Interrupt handler */
-static irqreturn_t kw_i2c_irq(int irq, void *dev_id)
+static irqreturn_t kw_i2c_irq(void *dev_id)
{
struct pmac_i2c_host_kw *host = dev_id;
unsigned long flags;
diff --git a/arch/powerpc/platforms/powermac/pfunc_base.c b/arch/powerpc/platforms/powermac/pfunc_base.c
index 45d54b9..c3d32c9 100644
--- a/arch/powerpc/platforms/powermac/pfunc_base.c
+++ b/arch/powerpc/platforms/powermac/pfunc_base.c
@@ -15,7 +15,7 @@
#define DBG(fmt...)
#endif

-static irqreturn_t macio_gpio_irq(int irq, void *data)
+static irqreturn_t macio_gpio_irq(void *data)
{
pmf_do_irq(data);

diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c
index 3a393c7..bebb945 100644
--- a/arch/powerpc/platforms/pseries/ras.c
+++ b/arch/powerpc/platforms/pseries/ras.c
@@ -64,8 +64,8 @@ static int ras_check_exception_token;
#define EPOW_SENSOR_INDEX 0
#define RAS_VECTOR_OFFSET 0x500

-static irqreturn_t ras_epow_interrupt(int irq, void *dev_id);
-static irqreturn_t ras_error_interrupt(int irq, void *dev_id);
+static irqreturn_t ras_epow_interrupt(void *dev_id);
+static irqreturn_t ras_error_interrupt(void *dev_id);

/* #define DEBUG */

@@ -163,7 +163,7 @@ __initcall(init_ras_IRQ);
* to examine the type of power failure and take appropriate action where
* the time horizon permits something useful to be done.
*/
-static irqreturn_t ras_epow_interrupt(int irq, void *dev_id)
+static irqreturn_t ras_epow_interrupt(void *dev_id)
{
int status = 0xdeadbeef;
int state = 0;
@@ -206,7 +206,7 @@ static irqreturn_t ras_epow_interrupt(int irq, void *dev_id)
* For nonrecoverable errors, an error is logged and we stop all processing
* as quickly as possible in order to prevent propagation of the failure.
*/
-static irqreturn_t ras_error_interrupt(int irq, void *dev_id)
+static irqreturn_t ras_error_interrupt(void *dev_id)
{
struct rtas_error_log *rtas_elog;
int status = 0xdeadbeef;
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c
index 66e7d68..7153e4b 100644
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
@@ -359,7 +359,7 @@ static irqreturn_t xics_ipi_dispatch(int cpu)
return IRQ_HANDLED;
}

-static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id)
+static irqreturn_t xics_ipi_action_direct(void *dev_id)
{
int cpu = smp_processor_id();

@@ -368,7 +368,7 @@ static irqreturn_t xics_ipi_action_direct(int irq, void *dev_id)
return xics_ipi_dispatch(cpu);
}

-static irqreturn_t xics_ipi_action_lpar(int irq, void *dev_id)
+static irqreturn_t xics_ipi_action_lpar(void *dev_id)
{
int cpu = smp_processor_id();

diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index e479388..6ea628f 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -612,7 +612,7 @@ static inline void mpic_eoi(struct mpic *mpic)
}

#ifdef CONFIG_SMP
-static irqreturn_t mpic_ipi_action(int irq, void *dev_id)
+static irqreturn_t mpic_ipi_action(void *dev_id)
{
struct mpic *mpic;

diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c
index e1e24f3..d2449cf 100644
--- a/arch/sparc/kernel/irq.c
+++ b/arch/sparc/kernel/irq.c
@@ -490,7 +490,7 @@ void sparc_floppy_irq(int irq, void *dev_id, struct pt_regs *regs)
disable_pil_irq(irq);
irq_enter();
kstat_cpu(cpu).irqs[irq]++;
- floppy_irq_handler(irq, dev_id);
+ floppy_irq_handler(dev_id);
irq_exit();
enable_pil_irq(irq);
set_irq_regs(old_regs);
diff --git a/arch/x86/kernel/i8259_32.c b/arch/x86/kernel/i8259_32.c
index d34a10c..ef31cd3 100644
--- a/arch/x86/kernel/i8259_32.c
+++ b/arch/x86/kernel/i8259_32.c
@@ -335,7 +335,7 @@ void init_8259A(int auto_eoi)
*/


-static irqreturn_t math_error_irq(int cpl, void *dev_id)
+static irqreturn_t math_error_irq(void *dev_id)
{
extern void math_error(void __user *);
outb(0,0xF0);
diff --git a/arch/x86/kernel/time_32.c b/arch/x86/kernel/time_32.c
index 8a322c9..117ae64 100644
--- a/arch/x86/kernel/time_32.c
+++ b/arch/x86/kernel/time_32.c
@@ -153,7 +153,7 @@ EXPORT_SYMBOL(profile_pc);
* Time Stamp Counter value at the time of the timer interrupt, so that
* we later on can estimate the time of day more exactly.
*/
-irqreturn_t timer_interrupt(int irq, void *dev_id)
+irqreturn_t timer_interrupt(void *dev_id)
{
/* Keep nmi watchdog up to date */
per_cpu(irq_stat, smp_processor_id()).irq0_irqs++;
diff --git a/arch/x86/kernel/vmiclock_32.c b/arch/x86/kernel/vmiclock_32.c
index b1b5ab0..4e41bdc 100644
--- a/arch/x86/kernel/vmiclock_32.c
+++ b/arch/x86/kernel/vmiclock_32.c
@@ -194,7 +194,7 @@ static struct clock_event_device vmi_clockevent = {
.irq = 0,
};

-static irqreturn_t vmi_timer_interrupt(int irq, void *dev_id)
+static irqreturn_t vmi_timer_interrupt(void *dev_id)
{
struct clock_event_device *evt = &__get_cpu_var(local_events);
evt->event_handler(evt);
diff --git a/arch/x86/mach-visws/visws_apic.c b/arch/x86/mach-visws/visws_apic.c
index 710faf7..05c7300 100644
--- a/arch/x86/mach-visws/visws_apic.c
+++ b/arch/x86/mach-visws/visws_apic.c
@@ -189,7 +189,7 @@ static struct irq_chip piix4_virtual_irq_type = {
* enable_irq gets the right irq. This 'master' irq is never directly
* manipulated by any driver.
*/
-static irqreturn_t piix4_master_intr(int irq, void *dev_id)
+static irqreturn_t piix4_master_intr(void *dev_id)
{
int realirq;
irq_desc_t *desc;
diff --git a/arch/x86/mach-voyager/voyager_basic.c b/arch/x86/mach-voyager/voyager_basic.c
index 9b77b39..cf24bc0 100644
--- a/arch/x86/mach-voyager/voyager_basic.c
+++ b/arch/x86/mach-voyager/voyager_basic.c
@@ -87,7 +87,7 @@ voyager_detect(struct voyager_bios_info *bios)
}

void
-voyager_system_interrupt(int cpl, void *dev_id)
+voyager_system_interrupt(void *dev_id)
{
printk("Voyager: detected system interrupt\n");
}
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
index c1b131b..1ea7ad7 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -53,7 +53,7 @@ struct call_data_struct {
int wait;
};

-static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id);
+static irqreturn_t xen_call_function_interrupt(void *dev_id);

static struct call_data_struct *call_data;

@@ -62,7 +62,7 @@ static struct call_data_struct *call_data;
* all the work is done automatically when
* we return from the interrupt.
*/
-static irqreturn_t xen_reschedule_interrupt(int irq, void *dev_id)
+static irqreturn_t xen_reschedule_interrupt(void *dev_id)
{
return IRQ_HANDLED;
}
@@ -339,7 +339,7 @@ static void xen_send_IPI_mask(cpumask_t mask, enum ipi_vector vector)
xen_send_IPI_one(cpu, vector);
}

-static irqreturn_t xen_call_function_interrupt(int irq, void *dev_id)
+static irqreturn_t xen_call_function_interrupt(void *dev_id)
{
void (*func) (void *info) = call_data->func;
void *info = call_data->info;
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index d083ff5..651f9a8 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -524,7 +524,7 @@ static const struct clock_event_device *xen_clockevent =
&xen_timerop_clockevent;
static DEFINE_PER_CPU(struct clock_event_device, xen_clock_events);

-static irqreturn_t xen_timer_interrupt(int irq, void *dev_id)
+static irqreturn_t xen_timer_interrupt(void *dev_id)
{
struct clock_event_device *evt = &__get_cpu_var(xen_clock_events);
irqreturn_t ret;
diff --git a/include/asm-m68k/floppy.h b/include/asm-m68k/floppy.h
index 697d503..2cefe11 100644
--- a/include/asm-m68k/floppy.h
+++ b/include/asm-m68k/floppy.h
@@ -180,7 +180,7 @@ static void fd_disable_dma(void)

/* this is the only truly Q40 specific function */

-asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id)
+asmlinkage irqreturn_t floppy_hardint(void *dev_id)
{
register unsigned char st;

@@ -193,7 +193,7 @@ asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id)
static int dma_wait=0;
#endif
if(!doing_pdma) {
- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}

@@ -241,7 +241,7 @@ asmlinkage irqreturn_t floppy_hardint(int irq, void *dev_id)
dma_wait=0;
#endif
doing_pdma = 0;
- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}
#ifdef TRACE_FLPY_INT
diff --git a/include/asm-m68k/sun3xflop.h b/include/asm-m68k/sun3xflop.h
index 32c45f8..9cdece3 100644
--- a/include/asm-m68k/sun3xflop.h
+++ b/include/asm-m68k/sun3xflop.h
@@ -111,7 +111,7 @@ static void sun3x_82072_fd_outb(unsigned char value, int port)
}


-asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id)
+asmlinkage irqreturn_t sun3xflop_hardint(void *dev_id)
{
register unsigned char st;

@@ -124,7 +124,7 @@ asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id)
static int dma_wait=0;
#endif
if(!doing_pdma) {
- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}

@@ -188,7 +188,7 @@ asmlinkage irqreturn_t sun3xflop_hardint(int irq, void *dev_id)
dma_wait=0;
#endif

- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}

diff --git a/include/asm-parisc/floppy.h b/include/asm-parisc/floppy.h
index 4ca69f5..08dc6e0 100644
--- a/include/asm-parisc/floppy.h
+++ b/include/asm-parisc/floppy.h
@@ -62,7 +62,7 @@ static char *virtual_dma_addr=0;
static int virtual_dma_mode=0;
static int doing_pdma=0;

-static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
+static void floppy_hardint(void *dev_id)
{
register unsigned char st;

@@ -74,7 +74,7 @@ static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
static int dma_wait=0;
#endif
if (!doing_pdma) {
- floppy_interrupt(irq, dev_id, regs);
+ floppy_interrupt(dev_id);
return;
}

@@ -119,7 +119,7 @@ static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
dma_wait=0;
#endif
doing_pdma = 0;
- floppy_interrupt(irq, dev_id, regs);
+ floppy_interrupt(dev_id);
return;
}
#ifdef TRACE_FLPY_INT
diff --git a/include/asm-ppc/floppy.h b/include/asm-ppc/floppy.h
index 7d9b3f4..7224723 100644
--- a/include/asm-ppc/floppy.h
+++ b/include/asm-ppc/floppy.h
@@ -38,15 +38,14 @@ static int virtual_dma_mode;
static int doing_vdma;
static struct fd_dma_ops *fd_ops;

-static irqreturn_t floppy_hardint(int irq, void *dev_id)
+static irqreturn_t floppy_hardint(void *dev_id)
{
unsigned char st;
int lcount;
char *lptr;

if (!doing_vdma)
- return floppy_interrupt(irq, dev_id);
-
+ return floppy_interrupt(dev_id);

st = 1;
for (lcount=virtual_dma_count, lptr=virtual_dma_addr;
@@ -69,7 +68,7 @@ static irqreturn_t floppy_hardint(int irq, void *dev_id)
virtual_dma_residue += virtual_dma_count;
virtual_dma_count=0;
doing_vdma = 0;
- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}
return IRQ_HANDLED;
diff --git a/include/asm-sh/floppy.h b/include/asm-sh/floppy.h
index 59fbfdc..aa18e14 100644
--- a/include/asm-sh/floppy.h
+++ b/include/asm-sh/floppy.h
@@ -52,7 +52,7 @@ static char *virtual_dma_addr;
static int virtual_dma_mode;
static int doing_pdma;

-static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
+static irqreturn_t floppy_hardint(void *dev_id)
{
register unsigned char st;

@@ -64,7 +64,7 @@ static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
static int dma_wait=0;
#endif
if(!doing_pdma) {
- floppy_interrupt(irq, dev_id, regs);
+ floppy_interrupt(dev_id);
return;
}

@@ -109,7 +109,7 @@ static void floppy_hardint(int irq, void *dev_id, struct pt_regs * regs)
dma_wait=0;
#endif
doing_pdma = 0;
- floppy_interrupt(irq, dev_id, regs);
+ floppy_interrupt(dev_id);
return;
}
#ifdef TRACE_FLPY_INT
diff --git a/include/asm-sparc64/floppy.h b/include/asm-sparc64/floppy.h
index c47f58d..653faa3 100644
--- a/include/asm-sparc64/floppy.h
+++ b/include/asm-sparc64/floppy.h
@@ -206,7 +206,7 @@ static void sun_fd_enable_dma(void)
pdma_areasize = pdma_size;
}

-irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie)
+irqreturn_t sparc_floppy_irq(void *dev_cookie)
{
if (likely(doing_pdma)) {
void __iomem *stat = (void __iomem *) fdc_status;
@@ -253,7 +253,7 @@ irqreturn_t sparc_floppy_irq(int irq, void *dev_cookie)
}

main_interrupt:
- return floppy_interrupt(irq, dev_cookie);
+ return floppy_interrupt(dev_cookie);
}

static int sun_fd_request_irq(void)
@@ -309,7 +309,7 @@ struct sun_pci_dma_op {
static struct sun_pci_dma_op sun_pci_dma_current = { -1U, 0, 0, NULL};
static struct sun_pci_dma_op sun_pci_dma_pending = { -1U, 0, 0, NULL};

-extern irqreturn_t floppy_interrupt(int irq, void *dev_id);
+extern irqreturn_t floppy_interrupt(void *dev_id);

static unsigned char sun_pci_fd_inb(unsigned long port)
{
@@ -444,7 +444,7 @@ static int sun_pci_fd_eject(int drive)

void sun_pci_fd_dma_callback(struct ebus_dma_info *p, int event, void *cookie)
{
- floppy_interrupt(0, NULL);
+ floppy_interrupt(NULL);
}

/*
diff --git a/include/asm-x86/arch_hooks.h b/include/asm-x86/arch_hooks.h
index a8c1fca..255a84e 100644
--- a/include/asm-x86/arch_hooks.h
+++ b/include/asm-x86/arch_hooks.h
@@ -14,7 +14,7 @@
extern void init_ISA_irqs(void);
extern void apic_intr_init(void);
extern void smp_intr_init(void);
-extern irqreturn_t timer_interrupt(int irq, void *dev_id);
+extern irqreturn_t timer_interrupt(void *dev_id);

/* these are the defined hooks */
extern void intr_init_hook(void);
diff --git a/include/asm-x86/floppy.h b/include/asm-x86/floppy.h
index a48d715..eb8e280 100644
--- a/include/asm-x86/floppy.h
+++ b/include/asm-x86/floppy.h
@@ -50,7 +50,7 @@ static char *virtual_dma_addr;
static int virtual_dma_mode;
static int doing_pdma;

-static irqreturn_t floppy_hardint(int irq, void *dev_id)
+static irqreturn_t floppy_hardint(void *dev_id)
{
register unsigned char st;

@@ -62,7 +62,7 @@ static irqreturn_t floppy_hardint(int irq, void *dev_id)
static int dma_wait=0;
#endif
if (!doing_pdma)
- return floppy_interrupt(irq, dev_id);
+ return floppy_interrupt(dev_id);

#ifdef TRACE_FLPY_INT
if(!calls)
@@ -105,7 +105,7 @@ static irqreturn_t floppy_hardint(int irq, void *dev_id)
dma_wait=0;
#endif
doing_pdma = 0;
- floppy_interrupt(irq, dev_id);
+ floppy_interrupt(dev_id);
return IRQ_HANDLED;
}
#ifdef TRACE_FLPY_INT
diff --git a/include/asm-x86/hpet.h b/include/asm-x86/hpet.h
index d4ab6db..968bc0d 100644
--- a/include/asm-x86/hpet.h
+++ b/include/asm-x86/hpet.h
@@ -80,7 +80,7 @@ extern int hpet_set_alarm_time(unsigned char hrs, unsigned char min,
extern int hpet_set_periodic_freq(unsigned long freq);
extern int hpet_rtc_dropped_irq(void);
extern int hpet_rtc_timer_init(void);
-extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id);
+extern irqreturn_t hpet_rtc_interrupt(void *dev_id);

#endif /* CONFIG_HPET_EMULATE_RTC */

2007-10-19 07:57:13

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 4/9] irq-remove: driver non-trivial


commit 654f4a242cac0148ffe98ce288c9116e65b08e44
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:47:17 2007 -0400

[IRQ ARG REMOVAL] non-trivial driver updates

drivers/atm/ambassador.c | 5 +++--
drivers/bluetooth/btuart_cs.c | 2 +-
drivers/bluetooth/dtl1_cs.c | 2 +-
drivers/char/cyclades.c | 21 +++------------------
drivers/char/ip2/ip2main.c | 10 +++++-----
drivers/char/mwave/tp3780i.c | 10 ++++++----
drivers/char/pcmcia/synclink_cs.c | 8 ++++----
drivers/char/rio/rio_linux.c | 14 ++++++++------
drivers/char/riscom8.c | 4 ++--
drivers/char/specialix.c | 7 ++++---
drivers/char/sx.c | 14 +++++++-------
drivers/char/synclink.c | 4 ++--
drivers/char/synclink_gt.c | 9 ++++-----
drivers/char/synclinkmp.c | 7 +++----
drivers/char/tpm/tpm_tis.c | 6 +++---
drivers/ide/ide-io.c | 8 ++++----
drivers/input/serio/i8042.c | 9 +++++----
drivers/isdn/act2000/act2000_isa.c | 3 ++-
drivers/isdn/hisax/amd7930_fn.c | 2 +-
drivers/isdn/hisax/hisax.h | 2 +-
drivers/isdn/hisax/icc.c | 2 +-
drivers/isdn/hisax/isac.c | 2 +-
drivers/isdn/hisax/w6692.c | 4 ++--
drivers/isdn/sc/interrupt.c | 3 ++-
drivers/macintosh/via-macii.c | 6 +++---
drivers/macintosh/via-maciisi.c | 9 ++++-----
drivers/macintosh/via-pmu68k.c | 10 +++++-----
drivers/media/video/planb.c | 7 ++++---
drivers/net/eexpress.c | 5 +++--
drivers/net/forcedeth.c | 26 +++++++++++++-------------
drivers/net/hamradio/scc.c | 6 +++---
drivers/net/irda/au1k_ir.c | 8 +++++---
drivers/net/irda/smsc-ircc2.c | 6 +++---
drivers/net/irda/via-ircc.c | 6 +++---
drivers/net/lib82596.c | 2 +-
drivers/net/netxen/netxen_nic_main.c | 4 ++--
drivers/net/pcmcia/fmvj18x_cs.c | 6 +++---
drivers/net/phy/phy.c | 4 ++--
drivers/net/wan/sdla.c | 5 +++--
drivers/pcmcia/i82365.c | 13 +++++++------
drivers/pcmcia/tcic.c | 10 +++++-----
drivers/rtc/rtc-ds1374.c | 3 ++-
drivers/scsi/NCR5380.c | 6 +++---
drivers/scsi/NCR53C9x.c | 7 ++++---
drivers/scsi/aha152x.c | 4 ++--
drivers/scsi/aha1542.c | 5 +++--
drivers/scsi/eata.c | 19 ++++++++++---------
drivers/scsi/psi240i.c | 10 +++++-----
drivers/scsi/sym53c416.c | 3 ++-
drivers/scsi/u14-34f.c | 12 +++++++-----
drivers/serial/8250.c | 4 ++--
include/linux/uio_driver.h | 3 ++-
sound/drivers/mts64.c | 2 ++
sound/drivers/portman2x4.c | 2 ++
54 files changed, 190 insertions(+), 181 deletions(-)

654f4a242cac0148ffe98ce288c9116e65b08e44
diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
index c2b9464..8f6a8a2 100644
--- a/drivers/atm/ambassador.c
+++ b/drivers/atm/ambassador.c
@@ -862,9 +862,10 @@ static inline void interrupts_off (amb_dev * dev) {

/********** interrupt handling **********/

-static irqreturn_t interrupt_handler(int irq, void *dev_id) {
+static irqreturn_t interrupt_handler(void *dev_id)
+{
amb_dev * dev = dev_id;
-
+
PRINTD (DBG_IRQ|DBG_FLOW, "interrupt_handler: %p", dev_id);

{
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c
index 08f48d5..1fdf756 100644
--- a/drivers/bluetooth/btuart_cs.c
+++ b/drivers/bluetooth/btuart_cs.c
@@ -287,7 +287,7 @@ static void btuart_receive(btuart_info_t *info)
}


-static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
+static irqreturn_t btuart_interrupt(void *dev_inst)
{
btuart_info_t *info = dev_inst;
unsigned int iobase;
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c
index dae45cd..3f9d5b9 100644
--- a/drivers/bluetooth/dtl1_cs.c
+++ b/drivers/bluetooth/dtl1_cs.c
@@ -290,7 +290,7 @@ static void dtl1_receive(dtl1_info_t *info)
}


-static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
+static irqreturn_t dtl1_interrupt(void *dev_inst)
{
dtl1_info_t *info = dev_inst;
unsigned int iobase;
diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
index d15234c..7e8fe35 100644
--- a/drivers/char/cyclades.c
+++ b/drivers/char/cyclades.c
@@ -1312,7 +1312,7 @@ end:
whenever the card wants its hand held--chars
received, out buffer empty, modem change, etc.
*/
-static irqreturn_t cyy_interrupt(int irq, void *dev_id)
+static irqreturn_t cyy_interrupt(void *dev_id)
{
int status;
struct cyclades_card *cinfo = dev_id;
@@ -1320,13 +1320,6 @@ static irqreturn_t cyy_interrupt(int irq, void *dev_id)
unsigned int chip, too_many, had_work;
int index;

- if (unlikely(cinfo == NULL)) {
-#ifdef CY_DEBUG_INTERRUPTS
- printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq);
-#endif
- return IRQ_NONE; /* spurious interrupt */
- }
-
card_base_addr = cinfo->base_addr;
index = cinfo->bus_index;

@@ -1728,21 +1721,13 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo)
}

#ifdef CONFIG_CYZ_INTR
-static irqreturn_t cyz_interrupt(int irq, void *dev_id)
+static irqreturn_t cyz_interrupt(void *dev_id)
{
struct cyclades_card *cinfo = dev_id;

- if (unlikely(cinfo == NULL)) {
-#ifdef CY_DEBUG_INTERRUPTS
- printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq);
-#endif
- return IRQ_NONE; /* spurious interrupt */
- }
-
if (unlikely(!ISZLOADED(*cinfo))) {
#ifdef CY_DEBUG_INTERRUPTS
- printk(KERN_DEBUG "cyz_interrupt: board not yet loaded "
- "(IRQ%d).\n", irq);
+ printk(KERN_DEBUG "cyz_interrupt: board not yet loaded\n");
#endif
return IRQ_NONE;
}
diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
index 2124dce..1d4c528 100644
--- a/drivers/char/ip2/ip2main.c
+++ b/drivers/char/ip2/ip2main.c
@@ -190,7 +190,7 @@ static int ip2_tiocmset(struct tty_struct *tty, struct file *file,

static void set_irq(int, int);
static void ip2_interrupt_bh(struct work_struct *work);
-static irqreturn_t ip2_interrupt(int irq, void *dev_id);
+static irqreturn_t ip2_interrupt(void *dev_id);
static void ip2_poll(unsigned long arg);
static inline void service_all_boards(void);
static void do_input(struct work_struct *);
@@ -1149,7 +1149,7 @@ ip2_interrupt_bh(struct work_struct *work)


/******************************************************************************/
-/* Function: ip2_interrupt(int irq, void *dev_id) */
+/* Function: ip2_interrupt(void *dev_id) */
/* Parameters: irq - interrupt number */
/* pointer to optional device ID structure */
/* Returns: Nothing */
@@ -1167,7 +1167,7 @@ ip2_interrupt_bh(struct work_struct *work)
/* */
/******************************************************************************/
static irqreturn_t
-ip2_interrupt(int irq, void *dev_id)
+ip2_interrupt(void *dev_id)
{
int i;
i2eBordStrPtr pB;
@@ -1182,7 +1182,7 @@ ip2_interrupt(int irq, void *dev_id)
// Only process those boards which match our IRQ.
// IRQ = 0 for polled boards, we won't poll "IRQ" boards

- if ( pB && (pB->i2eUsingIrq == irq) ) {
+ if ( pB && (pB->i2eUsingIrq == get_irqfunc_irq()) ) {
handled = 1;
#ifdef USE_IQI

@@ -1231,7 +1231,7 @@ ip2_poll(unsigned long arg)
// Just polled boards, IRQ = 0 will hit all non-interrupt boards.
// It will NOT poll boards handled by hard interrupts.
// The issue of queued BH interrups is handled in ip2_interrupt().
- ip2_interrupt(0, NULL);
+ ip2_interrupt(NULL);

PollTimer.expires = POLL_TIMEOUT;
add_timer( &PollTimer );
diff --git a/drivers/char/mwave/tp3780i.c b/drivers/char/mwave/tp3780i.c
index f282976..ff57eb1 100644
--- a/drivers/char/mwave/tp3780i.c
+++ b/drivers/char/mwave/tp3780i.c
@@ -95,14 +95,15 @@ static void EnableSRAM(THINKPAD_BD_DATA * pBDData)
}


-static irqreturn_t UartInterrupt(int irq, void *dev_id)
+static irqreturn_t UartInterrupt(void *dev_id)
{
PRINTK_3(TRACE_TP3780I,
- "tp3780i::UartInterrupt entry irq %x dev_id %p\n", irq, dev_id);
+ "tp3780i::UartInterrupt entry irq %x dev_id %p\n",
+ get_irqfunc_irq(), dev_id);
return IRQ_HANDLED;
}

-static irqreturn_t DspInterrupt(int irq, void *dev_id)
+static irqreturn_t DspInterrupt(void *dev_id)
{
pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd;
DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings;
@@ -110,7 +111,8 @@ static irqreturn_t DspInterrupt(int irq, void *dev_id)
unsigned short usIPCSource = 0, usIsolationMask, usPCNum;

PRINTK_3(TRACE_TP3780I,
- "tp3780i::DspInterrupt entry irq %x dev_id %p\n", irq, dev_id);
+ "tp3780i::DspInterrupt entry irq %x dev_id %p\n",
+ get_irqfunc_irq(), dev_id);

if (dsp3780I_GetIPCSource(usDspBaseIO, &usIPCSource) == 0) {
PRINTK_2(TRACE_TP3780I,
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c
index 2b88931..922cf60 100644
--- a/drivers/char/pcmcia/synclink_cs.c
+++ b/drivers/char/pcmcia/synclink_cs.c
@@ -417,7 +417,7 @@ static void rx_reset_buffers(MGSLPC_INFO *info);
static int rx_alloc_buffers(MGSLPC_INFO *info);
static void rx_free_buffers(MGSLPC_INFO *info);

-static irqreturn_t mgslpc_isr(int irq, void *dev_id);
+static irqreturn_t mgslpc_isr(void *dev_id);

/*
* Bottom half interrupt handlers
@@ -1226,7 +1226,7 @@ static void ri_change(MGSLPC_INFO *info)
* irq interrupt number that caused interrupt
* dev_id device ID supplied during interrupt registration
*/
-static irqreturn_t mgslpc_isr(int irq, void *dev_id)
+static irqreturn_t mgslpc_isr(void *dev_id)
{
MGSLPC_INFO * info = (MGSLPC_INFO *)dev_id;
unsigned short isr;
@@ -1234,7 +1234,7 @@ static irqreturn_t mgslpc_isr(int irq, void *dev_id)
int count=0;

if (debug_level >= DEBUG_LEVEL_ISR)
- printk("mgslpc_isr(%d) entry.\n", irq);
+ printk("mgslpc_isr(%d) entry.\n", get_irqfunc_irq());
if (!info)
return IRQ_NONE;

@@ -1328,7 +1328,7 @@ static irqreturn_t mgslpc_isr(int irq, void *dev_id)

if (debug_level >= DEBUG_LEVEL_ISR)
printk("%s(%d):mgslpc_isr(%d)exit.\n",
- __FILE__,__LINE__,irq);
+ __FILE__, __LINE__, get_irqfunc_irq());

return IRQ_HANDLED;
}
diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
index 0ce9667..616a1cf 100644
--- a/drivers/char/rio/rio_linux.c
+++ b/drivers/char/rio/rio_linux.c
@@ -363,13 +363,14 @@ static void rio_reset_interrupt(struct Host *HostP)
}


-static irqreturn_t rio_interrupt(int irq, void *ptr)
+static irqreturn_t rio_interrupt(void *ptr)
{
struct Host *HostP;
func_enter();

- HostP = ptr; /* &p->RIOHosts[(long)ptr]; */
- rio_dprintk(RIO_DEBUG_IFLOW, "rio: enter rio_interrupt (%d/%d)\n", irq, HostP->Ivec);
+ HostP = ptr; /* &p->RIOHosts[(long)ptr]; */
+ rio_dprintk(RIO_DEBUG_IFLOW, "rio: enter rio_interrupt (%d/%d)\n",
+ get_irqfunc_irq(), HostP->Ivec);

/* AAargh! The order in which to do these things is essential and
not trivial.
@@ -389,7 +390,7 @@ static irqreturn_t rio_interrupt(int irq, void *ptr)
*/

rio_dprintk(RIO_DEBUG_IFLOW, "rio: We've have noticed the interrupt\n");
- if (HostP->Ivec == irq) {
+ if (HostP->Ivec == get_irqfunc_irq()) {
/* Tell the card we've noticed the interrupt. */
rio_reset_interrupt(HostP);
}
@@ -407,7 +408,8 @@ static irqreturn_t rio_interrupt(int irq, void *ptr)
rio_dprintk(RIO_DEBUG_IFLOW, "riointr() doing host %p type %d\n", ptr, HostP->Type);

clear_bit(RIO_BOARD_INTR_LOCK, &HostP->locks);
- rio_dprintk(RIO_DEBUG_IFLOW, "rio: exit rio_interrupt (%d/%d)\n", irq, HostP->Ivec);
+ rio_dprintk(RIO_DEBUG_IFLOW, "rio: exit rio_interrupt (%d/%d)\n",
+ get_irqfunc_irq(), HostP->Ivec);
func_exit();
return IRQ_HANDLED;
}
@@ -417,7 +419,7 @@ static void rio_pollfunc(unsigned long data)
{
func_enter();

- rio_interrupt(0, &p->RIOHosts[data]);
+ rio_interrupt(&p->RIOHosts[data]);
mod_timer(&p->RIOHosts[data].timer, jiffies + rio_poll);

func_exit();
diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
index b37e626..1c0741a 100644
--- a/drivers/char/riscom8.c
+++ b/drivers/char/riscom8.c
@@ -537,7 +537,7 @@ static inline void rc_check_modem(struct riscom_board const * bp)
}

/* The main interrupt processing routine */
-static irqreturn_t rc_interrupt(int irq, void * dev_id)
+static irqreturn_t rc_interrupt(void * dev_id)
{
unsigned char status;
unsigned char ack;
@@ -545,7 +545,7 @@ static irqreturn_t rc_interrupt(int irq, void * dev_id)
unsigned long loop = 0;
int handled = 0;

- bp = IRQ_to_board[irq];
+ bp = IRQ_to_board[get_irqfunc_irq()];

if (!(bp->flags & RC_BOARD_ACTIVE))
return IRQ_NONE;
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c
index 4558556..bad86e0 100644
--- a/drivers/char/specialix.c
+++ b/drivers/char/specialix.c
@@ -195,7 +195,7 @@ static struct specialix_port sx_port[SX_NBOARD * SX_NPORT];

#ifdef SPECIALIX_TIMER
static struct timer_list missed_irq_timer;
-static irqreturn_t sx_interrupt(int irq, void * dev_id);
+static irqreturn_t sx_interrupt(void * dev_id);
#endif


@@ -876,7 +876,7 @@ static inline void sx_check_modem(struct specialix_board * bp)


/* The main interrupt processing routine */
-static irqreturn_t sx_interrupt(int irq, void *dev_id)
+static irqreturn_t sx_interrupt(void *dev_id)
{
unsigned char status;
unsigned char ack;
@@ -892,7 +892,8 @@ static irqreturn_t sx_interrupt(int irq, void *dev_id)

dprintk (SX_DEBUG_FLOW, "enter %s port %d room: %ld\n", __FUNCTION__, port_No(sx_get_port(bp, "INT")), SERIAL_XMIT_SIZE - sx_get_port(bp, "ITN")->xmit_cnt - 1);
if (!(bp->flags & SX_BOARD_ACTIVE)) {
- dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", irq);
+ dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n",
+ get_irqfunc_irq());
spin_unlock_irqrestore(&bp->lock, flags);
func_exit();
return IRQ_NONE;
diff --git a/drivers/char/sx.c b/drivers/char/sx.c
index 85a2328..ff7fac3 100644
--- a/drivers/char/sx.c
+++ b/drivers/char/sx.c
@@ -1241,15 +1241,15 @@ static inline void sx_check_modem_signals(struct sx_port *port)
* Small, elegant, clear.
*/

-static irqreturn_t sx_interrupt(int irq, void *ptr)
+static irqreturn_t sx_interrupt(void *ptr)
{
struct sx_board *board = ptr;
struct sx_port *port;
int i;

func_enter();
- sx_dprintk(SX_DEBUG_FLOW, "sx: enter sx_interrupt (%d/%d)\n", irq,
- board->irq);
+ sx_dprintk(SX_DEBUG_FLOW, "sx: enter sx_interrupt (%d/%d)\n",
+ get_irqfunc_irq(), board->irq);

/* AAargh! The order in which to do these things is essential and
not trivial.
@@ -1293,7 +1293,7 @@ static irqreturn_t sx_interrupt(int irq, void *ptr)
}
#endif

- if (board->irq == irq) {
+ if (board->irq == get_irqfunc_irq()) {
/* Tell the card we've noticed the interrupt. */

sx_write_board_word(board, cc_int_pending, 0);
@@ -1339,8 +1339,8 @@ static irqreturn_t sx_interrupt(int irq, void *ptr)

clear_bit(SX_BOARD_INTR_LOCK, &board->locks);

- sx_dprintk(SX_DEBUG_FLOW, "sx: exit sx_interrupt (%d/%d)\n", irq,
- board->irq);
+ sx_dprintk(SX_DEBUG_FLOW, "sx: exit sx_interrupt (%d/%d)\n",
+ get_irqfunc_irq(), board->irq);
func_exit();
return IRQ_HANDLED;
}
@@ -1351,7 +1351,7 @@ static void sx_pollfunc(unsigned long data)

func_enter();

- sx_interrupt(0, board);
+ sx_interrupt(board);

mod_timer(&board->timer, jiffies + sx_poll);
func_exit();
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c
index 905d1f5..6b1ff07 100644
--- a/drivers/char/synclink.c
+++ b/drivers/char/synclink.c
@@ -1691,16 +1691,16 @@ static void mgsl_isr_transmit_dma( struct mgsl_struct *info )
*
* Arguments:
*
- * irq interrupt number that caused interrupt
* dev_id device ID supplied during interrupt registration
*
* Return Value: None
*/
-static irqreturn_t mgsl_interrupt(int irq, void *dev_id)
+static irqreturn_t mgsl_interrupt(void *dev_id)
{
struct mgsl_struct * info;
u16 UscVector;
u16 DmaVector;
+ int irq = get_irqfunc_irq();

if ( debug_level >= DEBUG_LEVEL_ISR )
printk("%s(%d):mgsl_interrupt(%d)entry.\n",
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c
index 64e835f..ecc5b0c 100644
--- a/drivers/char/synclink_gt.c
+++ b/drivers/char/synclink_gt.c
@@ -492,7 +492,7 @@ static void isr_serial(struct slgt_info *info);
static void isr_rdma(struct slgt_info *info);
static void isr_txeom(struct slgt_info *info, unsigned short status);
static void isr_tdma(struct slgt_info *info);
-static irqreturn_t slgt_interrupt(int irq, void *dev_id);
+static irqreturn_t slgt_interrupt(void *dev_id);

static int alloc_dma_bufs(struct slgt_info *info);
static void free_dma_bufs(struct slgt_info *info);
@@ -2318,16 +2318,15 @@ static void isr_gpio(struct slgt_info *info, unsigned int changed, unsigned int

/* interrupt service routine
*
- * irq interrupt number
* dev_id device ID supplied during interrupt registration
*/
-static irqreturn_t slgt_interrupt(int irq, void *dev_id)
+static irqreturn_t slgt_interrupt(void *dev_id)
{
struct slgt_info *info;
unsigned int gsr;
unsigned int i;

- DBGISR(("slgt_interrupt irq=%d entry\n", irq));
+ DBGISR(("slgt_interrupt irq=%d entry\n", get_irqfunc_irq()));

info = dev_id;
if (!info)
@@ -2380,7 +2379,7 @@ static irqreturn_t slgt_interrupt(int irq, void *dev_id)

spin_unlock(&info->lock);

- DBGISR(("slgt_interrupt irq=%d exit\n", irq));
+ DBGISR(("slgt_interrupt irq=%d exit\n", get_irqfunc_irq()));
return IRQ_HANDLED;
}

diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c
index c63013b..2173e5c 100644
--- a/drivers/char/synclinkmp.c
+++ b/drivers/char/synclinkmp.c
@@ -2583,11 +2583,10 @@ void isr_io_pin( SLMP_INFO *info, u16 status )
/* Interrupt service routine entry point.
*
* Arguments:
- * irq interrupt number that caused interrupt
* dev_id device ID supplied during interrupt registration
* regs interrupted processor context
*/
-static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id)
+static irqreturn_t synclinkmp_interrupt(void *dev_id)
{
SLMP_INFO * info;
unsigned char status, status0, status1=0;
@@ -2599,7 +2598,7 @@ static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id)

if ( debug_level >= DEBUG_LEVEL_ISR )
printk("%s(%d): synclinkmp_interrupt(%d)entry.\n",
- __FILE__,__LINE__,irq);
+ __FILE__, __LINE__, get_irqfunc_irq());

info = (SLMP_INFO *)dev_id;
if (!info)
@@ -2704,7 +2703,7 @@ static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id)

if ( debug_level >= DEBUG_LEVEL_ISR )
printk("%s(%d):synclinkmp_interrupt(%d)exit.\n",
- __FILE__,__LINE__,irq);
+ __FILE__, __LINE__, get_irqfunc_irq());
return IRQ_HANDLED;
}

diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c
index fd771a4..4b7e738 100644
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -379,7 +379,7 @@ static struct tpm_vendor_specific tpm_tis = {
.fops = &tis_ops,},
};

-static irqreturn_t tis_int_probe(int irq, void *dev_id)
+static irqreturn_t tis_int_probe(void *dev_id)
{
struct tpm_chip *chip = dev_id;
u32 interrupt;
@@ -390,7 +390,7 @@ static irqreturn_t tis_int_probe(int irq, void *dev_id)
if (interrupt == 0)
return IRQ_NONE;

- chip->vendor.irq = irq;
+ chip->vendor.irq = get_irqfunc_irq();

/* Clear interrupts handled with TPM_EOI */
iowrite32(interrupt,
@@ -399,7 +399,7 @@ static irqreturn_t tis_int_probe(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t tis_int_handler(int irq, void *dev_id)
+static irqreturn_t tis_int_handler(void *dev_id)
{
struct tpm_chip *chip = dev_id;
u32 interrupt;
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c
index 5c8b008..9b6e5e2 100644
--- a/drivers/ide/ide-io.c
+++ b/drivers/ide/ide-io.c
@@ -1533,7 +1533,7 @@ void ide_timer_expiry (unsigned long data)
* mysteriously.
*/

-static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
+static void unexpected_intr (ide_hwgroup_t *hwgroup)
{
u8 stat;
ide_hwif_t *hwif = hwgroup->hwif;
@@ -1542,7 +1542,7 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
* handle the unexpected interrupt
*/
do {
- if (hwif->irq == irq) {
+ if (hwif->irq == get_irqfunc_irq()) {
stat = hwif->INB(hwif->io_ports[IDE_STATUS_OFFSET]);
if (!OK_STAT(stat, READY_STAT, BAD_STAT)) {
/* Try to not flood the console with msgs */
@@ -1585,7 +1585,7 @@ static void unexpected_intr (int irq, ide_hwgroup_t *hwgroup)
* on the hwgroup and the process begins again.
*/

-irqreturn_t ide_intr (int irq, void *dev_id)
+irqreturn_t ide_intr (void *dev_id)
{
unsigned long flags;
ide_hwgroup_t *hwgroup = (ide_hwgroup_t *)dev_id;
@@ -1626,7 +1626,7 @@ irqreturn_t ide_intr (int irq, void *dev_id)
* Probably not a shared PCI interrupt,
* so we can safely try to do something about it:
*/
- unexpected_intr(irq, hwgroup);
+ unexpected_intr(hwgroup);
#ifdef CONFIG_BLK_DEV_IDEPCI
} else {
/*
diff --git a/drivers/input/serio/i8042.c b/drivers/input/serio/i8042.c
index 11dafc0..660964c 100644
--- a/drivers/input/serio/i8042.c
+++ b/drivers/input/serio/i8042.c
@@ -102,7 +102,7 @@ static unsigned char i8042_aux_irq_registered;
static unsigned char i8042_suppress_kbd_ack;
static struct platform_device *i8042_platform_device;

-static irqreturn_t i8042_interrupt(int irq, void *dev_id);
+static irqreturn_t i8042_interrupt(void *dev_id);

/*
* The i8042_wait_read() and i8042_wait_write functions wait for the i8042 to
@@ -288,7 +288,7 @@ static void i8042_stop(struct serio *serio)
* to the upper layers.
*/

-static irqreturn_t i8042_interrupt(int irq, void *dev_id)
+static irqreturn_t i8042_interrupt(void *dev_id)
{
struct i8042_port *port;
unsigned long flags;
@@ -296,6 +296,7 @@ static irqreturn_t i8042_interrupt(int irq, void *dev_id)
unsigned int dfl;
unsigned int port_no;
int ret = 1;
+ int irq = get_irqfunc_irq();

spin_lock_irqsave(&i8042_lock, flags);
str = i8042_read_status();
@@ -512,7 +513,7 @@ static int __devinit i8042_check_mux(void)
static struct completion i8042_aux_irq_delivered __devinitdata;
static int i8042_irq_being_tested __devinitdata;

-static irqreturn_t __devinit i8042_aux_test_irq(int irq, void *dev_id)
+static irqreturn_t __devinit i8042_aux_test_irq(void *dev_id)
{
unsigned long flags;
unsigned char str, data;
@@ -939,7 +940,7 @@ static int i8042_resume(struct platform_device *dev)
if (i8042_ports[I8042_KBD_PORT_NO].serio)
i8042_enable_kbd_port();

- i8042_interrupt(0, NULL);
+ i8042_interrupt(NULL);

dev->dev.power.power_state = PMSG_ON;

diff --git a/drivers/isdn/act2000/act2000_isa.c b/drivers/isdn/act2000/act2000_isa.c
index 09ea50d..a3756d9 100644
--- a/drivers/isdn/act2000/act2000_isa.c
+++ b/drivers/isdn/act2000/act2000_isa.c
@@ -61,8 +61,9 @@ act2000_isa_detect(unsigned short portbase)
}

static irqreturn_t
-act2000_isa_interrupt(int irq, void *dev_id)
+act2000_isa_interrupt(void *dev_id)
{
+ unsigned int irq = get_irqfunc_irq();
act2000_card *card = dev_id;
u_char istatus;

diff --git a/drivers/isdn/hisax/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c
index 3b19cae..0d9e8cb 100644
--- a/drivers/isdn/hisax/amd7930_fn.c
+++ b/drivers/isdn/hisax/amd7930_fn.c
@@ -734,7 +734,7 @@ dbusy_timer_handler(struct IsdnCardState *cs)
wByteAMD(cs, 0x21, 0x82);
wByteAMD(cs, 0x21, 0x02);
spin_unlock_irqrestore(&cs->lock, flags);
- cs->irq_func(cs->irq, cs);
+ cs->irq_func(cs);

if (cs->debug & L1_DEB_ISAC)
debugl1(cs, "Amd7930: dbusy_timer_handler: Transmitter reset");
diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h
index 34733c9..e8d429f 100644
--- a/drivers/isdn/hisax/hisax.h
+++ b/drivers/isdn/hisax/hisax.h
@@ -925,7 +925,7 @@ struct IsdnCardState {
int (*cardmsg) (struct IsdnCardState *, int, void *);
void (*setstack_d) (struct PStack *, struct IsdnCardState *);
void (*DC_Close) (struct IsdnCardState *);
- int (*irq_func) (int, void *);
+ irq_handler_t irq_func;
int (*auxcmd) (struct IsdnCardState *, isdn_ctrl *);
struct Channel channel[2+MAX_WAITING_CALLS];
struct BCState bcs[2+MAX_WAITING_CALLS];
diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c
index 682cac3..b2ea701 100644
--- a/drivers/isdn/hisax/icc.c
+++ b/drivers/isdn/hisax/icc.c
@@ -610,7 +610,7 @@ dbusy_timer_handler(struct IsdnCardState *cs)
debugl1(cs, "D-Channel Busy no skb");
}
cs->writeisac(cs, ICC_CMDR, 0x01); /* Transmitter reset */
- cs->irq_func(cs->irq, cs);
+ cs->irq_func(cs);
}
}
}
diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c
index 4e9f238..6b30b24 100644
--- a/drivers/isdn/hisax/isac.c
+++ b/drivers/isdn/hisax/isac.c
@@ -611,7 +611,7 @@ dbusy_timer_handler(struct IsdnCardState *cs)
debugl1(cs, "D-Channel Busy no skb");
}
cs->writeisac(cs, ISAC_CMDR, 0x01); /* Transmitter reset */
- cs->irq_func(cs->irq, cs);
+ cs->irq_func(cs);
}
}
}
diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c
index 39129b9..470afc7 100644
--- a/drivers/isdn/hisax/w6692.c
+++ b/drivers/isdn/hisax/w6692.c
@@ -402,7 +402,7 @@ W6692B_interrupt(struct IsdnCardState *cs, u_char bchan)
}

static irqreturn_t
-W6692_interrupt(int intno, void *dev_id)
+W6692_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, exval, v1;
@@ -717,7 +717,7 @@ dbusy_timer_handler(struct IsdnCardState *cs)
}
cs->writeW6692(cs, W_D_CMDR, W_D_CMDR_XRST); /* Transmitter reset */
spin_unlock_irqrestore(&cs->lock, flags);
- cs->irq_func(cs->irq, cs);
+ cs->irq_func(cs);
return;
}
}
diff --git a/drivers/isdn/sc/interrupt.c b/drivers/isdn/sc/interrupt.c
index bef7963..2a43e27 100644
--- a/drivers/isdn/sc/interrupt.c
+++ b/drivers/isdn/sc/interrupt.c
@@ -35,12 +35,13 @@ static int get_card_from_irq(int irq)
/*
*
*/
-irqreturn_t interrupt_handler(int interrupt, void *cardptr)
+irqreturn_t interrupt_handler(void *cardptr)
{

RspMessage rcvmsg;
int channel;
int card;
+ unsigned int interrupt = get_irqfunc_irq();

card = get_card_from_irq(interrupt);

diff --git a/drivers/macintosh/via-macii.c b/drivers/macintosh/via-macii.c
index 01b8eca..1c015b3 100644
--- a/drivers/macintosh/via-macii.c
+++ b/drivers/macintosh/via-macii.c
@@ -80,7 +80,7 @@ static volatile unsigned char *via;

static int macii_init_via(void);
static void macii_start(void);
-static irqreturn_t macii_interrupt(int irq, void *arg);
+static irqreturn_t macii_interrupt(void *arg);
static void macii_queue_poll(void);

static int macii_probe(void);
@@ -319,7 +319,7 @@ static inline int need_autopoll(void) {
static void macii_poll(void)
{
disable_irq(IRQ_MAC_ADB);
- macii_interrupt(0, NULL);
+ macii_interrupt(NULL);
enable_irq(IRQ_MAC_ADB);
}

@@ -385,7 +385,7 @@ static void macii_start(void)
* with the VIA shift register interrupt. /IRQ never actually interrupts the
* processor, it's just an ordinary input.)
*/
-static irqreturn_t macii_interrupt(int irq, void *arg)
+static irqreturn_t macii_interrupt(void *arg)
{
int x;
static int entered;
diff --git a/drivers/macintosh/via-maciisi.c b/drivers/macintosh/via-maciisi.c
index 2dc7880..a970f62 100644
--- a/drivers/macintosh/via-maciisi.c
+++ b/drivers/macintosh/via-maciisi.c
@@ -83,7 +83,7 @@ static int maciisi_init(void);
static int maciisi_send_request(struct adb_request* req, int sync);
static void maciisi_sync(struct adb_request *req);
static int maciisi_write(struct adb_request* req);
-static irqreturn_t maciisi_interrupt(int irq, void* arg);
+static irqreturn_t maciisi_interrupt(void* arg);
static void maciisi_input(unsigned char *buf, int nb);
static int maciisi_init_via(void);
static void maciisi_poll(void);
@@ -419,9 +419,8 @@ maciisi_poll(void)
unsigned long flags;

local_irq_save(flags);
- if (via[IFR] & SR_INT) {
- maciisi_interrupt(0, NULL);
- }
+ if (via[IFR] & SR_INT)
+ maciisi_interrupt(NULL);
else /* avoid calling this function too quickly in a loop */
udelay(ADB_DELAY);

@@ -432,7 +431,7 @@ maciisi_poll(void)
register is either full or empty. In practice, I have no idea what
it means :( */
static irqreturn_t
-maciisi_interrupt(int irq, void* arg)
+maciisi_interrupt(void* arg)
{
int status;
struct adb_request *req;
diff --git a/drivers/macintosh/via-pmu68k.c b/drivers/macintosh/via-pmu68k.c
index e2f84da..67b609d 100644
--- a/drivers/macintosh/via-pmu68k.c
+++ b/drivers/macintosh/via-pmu68k.c
@@ -106,7 +106,7 @@ BLOCKING_NOTIFIER_HEAD(sleep_notifier_list);
static int pmu_probe(void);
static int pmu_init(void);
static void pmu_start(void);
-static irqreturn_t pmu_interrupt(int irq, void *arg);
+static irqreturn_t pmu_interrupt(void *arg);
static int pmu_send_request(struct adb_request *req, int sync);
static int pmu_autopoll(int devs);
void pmu_poll(void);
@@ -219,7 +219,7 @@ pmu_init(void)
}
if (pmu_state == idle) {
adb_int_pending = 1;
- pmu_interrupt(0, NULL);
+ pmu_interrupt(NULL);
}
pmu_poll();
udelay(10);
@@ -560,17 +560,17 @@ pmu_poll(void)
local_irq_save(flags);
if (via1[IFR] & SR_INT) {
via1[IFR] = SR_INT;
- pmu_interrupt(IRQ_MAC_ADB_SR, NULL);
+ pmu_interrupt(NULL);
}
if (via1[IFR] & CB1_INT) {
via1[IFR] = CB1_INT;
- pmu_interrupt(IRQ_MAC_ADB_CL, NULL);
+ pmu_interrupt(NULL);
}
local_irq_restore(flags);
}

static irqreturn_t
-pmu_interrupt(int irq, void *dev_id)
+pmu_interrupt(void *dev_id)
{
struct adb_request *req;
int timeout, bite = 0; /* to prevent compiler warning */
diff --git a/drivers/media/video/planb.c b/drivers/media/video/planb.c
index 0ef73d9..83796bd 100644
--- a/drivers/media/video/planb.c
+++ b/drivers/media/video/planb.c
@@ -91,7 +91,7 @@ static void planb_close(struct video_device *);
static int planb_ioctl(struct video_device *, unsigned int, void *);
static int planb_init_done(struct video_device *);
static int planb_mmap(struct video_device *, const char *, unsigned long);
-static void planb_irq(int, void *);
+static irqreturn_t planb_irq(void *);
static void release_planb(void);
int init_planbs(struct video_init *);

@@ -1315,7 +1315,7 @@ cmd_tab_data_end:
return c1;
}

-static void planb_irq(int irq, void *dev_id)
+static irqreturn_t planb_irq(void *dev_id)
{
unsigned int stat, astat;
struct planb *pb = (struct planb *)dev_id;
@@ -1358,13 +1358,14 @@ static void planb_irq(int irq, void *dev_id)
pb->frame_stat[fr] = GBUFFER_DONE;
pb->grabbing--;
wake_up_interruptible(&pb->capq);
- return;
+ return IRQ_HANDLED;
}
/* incorrect interrupts? */
pb->intr_mask = PLANB_CLR_IRQ;
out_le32(&pb->planb_base->intr_stat, PLANB_CLR_IRQ);
printk(KERN_ERR "PlanB: IRQ lockup, cleared intrrupts"
" unconditionally\n");
+ return IRQ_HANDLED;
}

/*******************************
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 9c85e50..627adbf 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -248,7 +248,7 @@ static int eexp_close(struct net_device *dev);
static void eexp_timeout(struct net_device *dev);
static int eexp_xmit(struct sk_buff *buf, struct net_device *dev);

-static irqreturn_t eexp_irq(int irq, void *dev_addr);
+static irqreturn_t eexp_irq(void *dev_addr);
static void eexp_set_multicast(struct net_device *dev);

/*
@@ -768,12 +768,13 @@ static void eexp_cmd_clear(struct net_device *dev)
}
}

-static irqreturn_t eexp_irq(int irq, void *dev_info)
+static irqreturn_t eexp_irq(void *dev_info)
{
struct net_device *dev = dev_info;
struct net_local *lp;
unsigned short ioaddr,status,ack_cmd;
unsigned short old_read_ptr, old_write_ptr;
+ unsigned int irq = get_irqfunc_irq();

lp = netdev_priv(dev);
ioaddr = dev->base_addr;
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index cfbb7aa..2764f8d 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2977,7 +2977,7 @@ static void nv_link_irq(struct net_device *dev)
dprintk(KERN_DEBUG "%s: link change notification done.\n", dev->name);
}

-static irqreturn_t nv_nic_irq(int foo, void *data)
+static irqreturn_t nv_nic_irq(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3092,7 +3092,7 @@ static irqreturn_t nv_nic_irq(int foo, void *data)
* (reduce CPU and increase throughput). They use descripter version 3,
* compiler directives, and reduce memory accesses.
*/
-static irqreturn_t nv_nic_irq_optimized(int foo, void *data)
+static irqreturn_t nv_nic_irq_optimized(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3203,7 +3203,7 @@ static irqreturn_t nv_nic_irq_optimized(int foo, void *data)
return IRQ_RETVAL(i);
}

-static irqreturn_t nv_nic_irq_tx(int foo, void *data)
+static irqreturn_t nv_nic_irq_tx(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3293,7 +3293,7 @@ static int nv_napi_poll(struct napi_struct *napi, int budget)
#endif

#ifdef CONFIG_FORCEDETH_NAPI
-static irqreturn_t nv_nic_irq_rx(int foo, void *data)
+static irqreturn_t nv_nic_irq_rx(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3312,7 +3312,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data)
return IRQ_HANDLED;
}
#else
-static irqreturn_t nv_nic_irq_rx(int foo, void *data)
+static irqreturn_t nv_nic_irq_rx(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3360,7 +3360,7 @@ static irqreturn_t nv_nic_irq_rx(int foo, void *data)
}
#endif

-static irqreturn_t nv_nic_irq_other(int foo, void *data)
+static irqreturn_t nv_nic_irq_other(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3433,7 +3433,7 @@ static irqreturn_t nv_nic_irq_other(int foo, void *data)
return IRQ_RETVAL(i);
}

-static irqreturn_t nv_nic_irq_test(int foo, void *data)
+static irqreturn_t nv_nic_irq_test(void *data)
{
struct net_device *dev = (struct net_device *) data;
struct fe_priv *np = netdev_priv(dev);
@@ -3495,7 +3495,7 @@ static int nv_request_irq(struct net_device *dev, int intr_test)
u8 __iomem *base = get_hwbase(dev);
int ret = 1;
int i;
- irqreturn_t (*handler)(int foo, void *data);
+ irq_handler_t handler;

if (intr_test) {
handler = nv_nic_irq_test;
@@ -3685,24 +3685,24 @@ static void nv_do_nic_poll(unsigned long data)

if (!using_multi_irqs(dev)) {
if (np->desc_ver == DESC_VER_3)
- nv_nic_irq_optimized(0, dev);
+ nv_nic_irq_optimized(dev);
else
- nv_nic_irq(0, dev);
+ nv_nic_irq(dev);
if (np->msi_flags & NV_MSI_X_ENABLED)
enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_ALL].vector);
else
enable_irq_lockdep(dev->irq);
} else {
if (np->nic_poll_irq & NVREG_IRQ_RX_ALL) {
- nv_nic_irq_rx(0, dev);
+ nv_nic_irq_rx(dev);
enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_RX].vector);
}
if (np->nic_poll_irq & NVREG_IRQ_TX_ALL) {
- nv_nic_irq_tx(0, dev);
+ nv_nic_irq_tx(dev);
enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_TX].vector);
}
if (np->nic_poll_irq & NVREG_IRQ_OTHER) {
- nv_nic_irq_other(0, dev);
+ nv_nic_irq_other(dev);
enable_irq_lockdep(np->msi_x_entry[NV_MSI_X_VECTOR_OTHER].vector);
}
}
diff --git a/drivers/net/hamradio/scc.c b/drivers/net/hamradio/scc.c
index 353d13e..18b56de 100644
--- a/drivers/net/hamradio/scc.c
+++ b/drivers/net/hamradio/scc.c
@@ -201,7 +201,7 @@ static void z8530_init(void);

static void init_channel(struct scc_channel *scc);
static void scc_key_trx (struct scc_channel *scc, char tx);
-static irqreturn_t scc_isr(int irq, void *dev_id);
+static irqreturn_t scc_isr(void *dev_id);
static void scc_init_timer(struct scc_channel *scc);

static int scc_net_alloc(const char *name, struct scc_channel *scc);
@@ -627,7 +627,7 @@ static void scc_isr_dispatch(struct scc_channel *scc, int vector)

#define SCC_IRQTIMEOUT 30000

-static irqreturn_t scc_isr(int irq, void *dev_id)
+static irqreturn_t scc_isr(void *dev_id)
{
unsigned char vector;
struct scc_channel *scc;
@@ -665,7 +665,7 @@ static irqreturn_t scc_isr(int irq, void *dev_id)
ctrl = SCC_ctrl;
while (ctrl->chan_A)
{
- if (ctrl->irq != irq)
+ if (ctrl->irq != get_irqfunc_irq())
{
ctrl++;
continue;
diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
index 4dbdfaa..f0e50bd 100644
--- a/drivers/net/irda/au1k_ir.c
+++ b/drivers/net/irda/au1k_ir.c
@@ -51,7 +51,7 @@ static int au1k_irda_start(struct net_device *);
static int au1k_irda_stop(struct net_device *dev);
static int au1k_irda_hard_xmit(struct sk_buff *, struct net_device *);
static int au1k_irda_rx(struct net_device *);
-static void au1k_irda_interrupt(int, void *);
+static irqreturn_t au1k_irda_interrupt(int, void *);
static void au1k_tx_timeout(struct net_device *);
static struct net_device_stats *au1k_irda_stats(struct net_device *);
static int au1k_irda_ioctl(struct net_device *, struct ifreq *, int);
@@ -627,19 +627,21 @@ static int au1k_irda_rx(struct net_device *dev)
}


-void au1k_irda_interrupt(int irq, void *dev_id)
+irqreturn_t au1k_irda_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;

if (dev == NULL) {
printk(KERN_ERR "%s: isr: null dev ptr\n", dev->name);
- return;
+ return IRQ_NONE;
}

writel(0, IR_INT_CLEAR); /* ack irda interrupts */

au1k_irda_rx(dev);
au1k_tx_ack(dev);
+
+ return IRQ_HANDLED;
}


diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/net/irda/smsc-ircc2.c
index 7e7b582..f2a918e 100644
--- a/drivers/net/irda/smsc-ircc2.c
+++ b/drivers/net/irda/smsc-ircc2.c
@@ -202,7 +202,7 @@ static void smsc_ircc_dma_xmit(struct smsc_ircc_cb *self, int bofs);
static void smsc_ircc_dma_xmit_complete(struct smsc_ircc_cb *self);
static void smsc_ircc_change_speed(struct smsc_ircc_cb *self, u32 speed);
static void smsc_ircc_set_sir_speed(struct smsc_ircc_cb *self, u32 speed);
-static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id);
+static irqreturn_t smsc_ircc_interrupt(void *dev_id);
static irqreturn_t smsc_ircc_interrupt_sir(struct net_device *dev);
static void smsc_ircc_sir_start(struct smsc_ircc_cb *self);
#if SMSC_IRCC2_C_SIR_STOP
@@ -1505,7 +1505,7 @@ static void smsc_ircc_sir_receive(struct smsc_ircc_cb *self)
* An interrupt from the chip has arrived. Time to do some work
*
*/
-static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id)
+static irqreturn_t smsc_ircc_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct smsc_ircc_cb *self;
@@ -1514,7 +1514,7 @@ static irqreturn_t smsc_ircc_interrupt(int irq, void *dev_id)

if (dev == NULL) {
printk(KERN_WARNING "%s: irq %d for unknown device.\n",
- driver_name, irq);
+ driver_name, get_irqfunc_irq());
goto irq_ret;
}

diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c
index 126ec7c..d850c7d 100644
--- a/drivers/net/irda/via-ircc.c
+++ b/drivers/net/irda/via-ircc.c
@@ -93,7 +93,7 @@ static int via_ircc_hard_xmit_fir(struct sk_buff *skb,
struct net_device *dev);
static void via_hw_init(struct via_ircc_cb *self);
static void via_ircc_change_speed(struct via_ircc_cb *self, __u32 baud);
-static irqreturn_t via_ircc_interrupt(int irq, void *dev_id);
+static irqreturn_t via_ircc_interrupt(void *dev_id);
static int via_ircc_is_receiving(struct via_ircc_cb *self);
static int via_ircc_read_dongle_id(int iobase);

@@ -1346,7 +1346,7 @@ static int RxTimerHandler(struct via_ircc_cb *self, int iobase)
* An interrupt from the chip has arrived. Time to do some work
*
*/
-static irqreturn_t via_ircc_interrupt(int irq, void *dev_id)
+static irqreturn_t via_ircc_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct via_ircc_cb *self;
@@ -1355,7 +1355,7 @@ static irqreturn_t via_ircc_interrupt(int irq, void *dev_id)

if (!dev) {
IRDA_WARNING("%s: irq %d for unknown device.\n", driver_name,
- irq);
+ get_irqfunc_irq());
return IRQ_NONE;
}
self = (struct via_ircc_cb *) dev->priv;
diff --git a/drivers/net/lib82596.c b/drivers/net/lib82596.c
index 9a855e5..ea4c6e3 100644
--- a/drivers/net/lib82596.c
+++ b/drivers/net/lib82596.c
@@ -349,7 +349,7 @@ static const char init_setup[] =

static int i596_open(struct net_device *dev);
static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t i596_interrupt(int irq, void *dev_id);
+static irqreturn_t i596_interrupt(void *dev_id);
static int i596_close(struct net_device *dev);
static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
static void i596_tx_timeout (struct net_device *dev);
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index a80f0cd..c506398 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -68,7 +68,7 @@ static int netxen_nic_poll(struct napi_struct *napi, int budget);
#ifdef CONFIG_NET_POLL_CONTROLLER
static void netxen_nic_poll_controller(struct net_device *netdev);
#endif
-static irqreturn_t netxen_intr(int irq, void *data);
+static irqreturn_t netxen_intr(void *data);

int physical_port[] = {0, 1, 2, 3};

@@ -1342,7 +1342,7 @@ static void netxen_nic_poll_controller(struct net_device *netdev)
{
struct netxen_adapter *adapter = netdev_priv(netdev);
disable_irq(adapter->irq);
- netxen_intr(adapter->irq, adapter);
+ netxen_intr(adapter);
enable_irq(adapter->irq);
}
#endif
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 6284467..8076d5b 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -97,7 +97,7 @@ static int fjn_config(struct net_device *dev, struct ifmap *map);
static int fjn_open(struct net_device *dev);
static int fjn_close(struct net_device *dev);
static int fjn_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t fjn_interrupt(int irq, void *dev_id);
+static irqreturn_t fjn_interrupt(void *dev_id);
static void fjn_rx(struct net_device *dev);
static void fjn_reset(struct net_device *dev);
static struct net_device_stats *fjn_get_stats(struct net_device *dev);
@@ -731,7 +731,7 @@ module_exit(exit_fmvj18x_cs);

/*====================================================================*/

-static irqreturn_t fjn_interrupt(int irq, void *dev_id)
+static irqreturn_t fjn_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
local_info_t *lp = netdev_priv(dev);
@@ -740,7 +740,7 @@ static irqreturn_t fjn_interrupt(int irq, void *dev_id)

if (lp == NULL) {
printk(KERN_NOTICE "fjn_interrupt(): irq %d for "
- "unknown device.\n", irq);
+ "unknown device.\n", get_irqfunc_irq());
return IRQ_NONE;
}
ioaddr = dev->base_addr;
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 9bc1177..f985fcd 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -551,7 +551,7 @@ void phy_error(struct phy_device *phydev)
* Description: When a PHY interrupt occurs, the handler disables
* interrupts, and schedules a work task to clear the interrupt.
*/
-static irqreturn_t phy_interrupt(int irq, void *phy_dat)
+static irqreturn_t phy_interrupt(void *phy_dat)
{
struct phy_device *phydev = phy_dat;

@@ -562,7 +562,7 @@ static irqreturn_t phy_interrupt(int irq, void *phy_dat)
* context, so we need to disable the irq here. A work
* queue will write the PHY to disable and clear the
* interrupt, and then reenable the irq line. */
- disable_irq_nosync(irq);
+ disable_irq_nosync(phydev->irq);
atomic_inc(&phydev->irq_disable);

schedule_work(&phydev->phy_queue);
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 05df0a3..f15ef66 100644
--- a/drivers/net/wan/sdla.c
+++ b/drivers/net/wan/sdla.c
@@ -867,7 +867,7 @@ static void sdla_receive(struct net_device *dev)
spin_unlock_irqrestore(&sdla_lock, flags);
}

-static irqreturn_t sdla_isr(int irq, void *dev_id)
+static irqreturn_t sdla_isr(void *dev_id)
{
struct net_device *dev;
struct frad_local *flp;
@@ -879,7 +879,8 @@ static irqreturn_t sdla_isr(int irq, void *dev_id)

if (!flp->initialized)
{
- printk(KERN_WARNING "%s: irq %d for uninitialized device.\n", dev->name, irq);
+ printk(KERN_WARNING "%s: irq %d for uninitialized device.\n",
+ dev->name, get_irqfunc_irq());
return IRQ_NONE;
}

diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c
index 839bb1c..d4a529d 100644
--- a/drivers/pcmcia/i82365.c
+++ b/drivers/pcmcia/i82365.c
@@ -79,7 +79,7 @@ module_param(pc_debug, int, 0644);
#define debug(lvl, fmt, arg...) do { } while (0)
#endif

-static irqreturn_t i365_count_irq(int, void *);
+static irqreturn_t i365_count_irq(void *);
static inline int _check_irq(int irq, int flags)
{
if (request_irq(irq, i365_count_irq, flags, "x", i365_count_irq) != 0)
@@ -497,11 +497,11 @@ static u_int __init set_bridge_opts(u_short s, u_short ns)
static volatile u_int irq_hits;
static u_short irq_sock;

-static irqreturn_t i365_count_irq(int irq, void *dev)
+static irqreturn_t i365_count_irq(void *dev)
{
i365_get(irq_sock, I365_CSC);
irq_hits++;
- debug(2, "-> hit on irq %d\n", irq);
+ debug(2, "-> hit on irq %d\n", get_irqfunc_irq());
return IRQ_HANDLED;
}

@@ -847,14 +847,15 @@ static void __init isa_probe(void)

/*====================================================================*/

-static irqreturn_t pcic_interrupt(int irq, void *dev)
+static irqreturn_t pcic_interrupt(void *dev)
{
int i, j, csc;
u_int events, active;
u_long flags = 0;
int handled = 0;
+ unsigned int irq = get_irqfunc_irq();

- debug(4, "pcic_interrupt(%d)\n", irq);
+ debug(4, "pcic_interrupt(%u)\n", irq);

for (j = 0; j < 20; j++) {
active = 0;
@@ -896,7 +897,7 @@ static irqreturn_t pcic_interrupt(int irq, void *dev)

static void pcic_interrupt_wrapper(u_long data)
{
- pcic_interrupt(0, NULL);
+ pcic_interrupt(NULL);
poll_timer.expires = jiffies + poll_interval;
add_timer(&poll_timer);
}
diff --git a/drivers/pcmcia/tcic.c b/drivers/pcmcia/tcic.c
index 749ac37..8b0b73e 100644
--- a/drivers/pcmcia/tcic.c
+++ b/drivers/pcmcia/tcic.c
@@ -116,7 +116,7 @@ module_param(cycle_time, int, 0444);

/*====================================================================*/

-static irqreturn_t tcic_interrupt(int irq, void *dev);
+static irqreturn_t tcic_interrupt(void *dev);
static void tcic_timer(u_long data);
static struct pccard_operations tcic_operations;

@@ -218,7 +218,7 @@ static int to_cycles(int ns)

static volatile u_int irq_hits;

-static irqreturn_t __init tcic_irq_count(int irq, void *dev)
+static irqreturn_t __init tcic_irq_count(void *dev)
{
irq_hits++;
return IRQ_HANDLED;
@@ -505,7 +505,7 @@ static int __init init_tcic(void)
}

/* jump start interrupt handler, if needed */
- tcic_interrupt(0, NULL);
+ tcic_interrupt(NULL);

platform_device_register(&tcic_device);

@@ -547,7 +547,7 @@ static void __exit exit_tcic(void)

/*====================================================================*/

-static irqreturn_t tcic_interrupt(int irq, void *dev)
+static irqreturn_t tcic_interrupt(void *dev)
{
int i, quick = 0;
u_char latch, sstat;
@@ -606,7 +606,7 @@ static void tcic_timer(u_long data)
{
debug(2, "tcic_timer()\n");
tcic_timer_pending = 0;
- tcic_interrupt(0, NULL);
+ tcic_interrupt(NULL);
} /* tcic_timer */

/*====================================================================*/
diff --git a/drivers/rtc/rtc-ds1374.c b/drivers/rtc/rtc-ds1374.c
index 45bda18..c24c733 100644
--- a/drivers/rtc/rtc-ds1374.c
+++ b/drivers/rtc/rtc-ds1374.c
@@ -257,10 +257,11 @@ out:
return ret;
}

-static irqreturn_t ds1374_irq(int irq, void *dev_id)
+static irqreturn_t ds1374_irq(void *dev_id)
{
struct i2c_client *client = dev_id;
struct ds1374 *ds1374 = i2c_get_clientdata(client);
+ int irq = get_irqfunc_irq();

disable_irq_nosync(irq);
schedule_work(&ds1374->work);
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c
index 988f0bc..c310438 100644
--- a/drivers/scsi/NCR5380.c
+++ b/drivers/scsi/NCR5380.c
@@ -558,9 +558,9 @@ static int probe_irq __initdata = 0;
* used by the IRQ probe code.
*/

-static irqreturn_t __init probe_intr(int irq, void *dev_id)
+static irqreturn_t __init probe_intr(void *dev_id)
{
- probe_irq = irq;
+ probe_irq = get_irqfunc_irq();
return IRQ_HANDLED;
}

@@ -1158,7 +1158,7 @@ static void NCR5380_main(struct work_struct *work)
* Locks: takes the needed instance locks
*/

-static irqreturn_t NCR5380_intr(int irq, void *dev_id)
+static irqreturn_t NCR5380_intr(void *dev_id)
{
NCR5380_local_declare();
struct Scsi_Host *instance = (struct Scsi_Host *)dev_id;
diff --git a/drivers/scsi/NCR53C9x.c b/drivers/scsi/NCR53C9x.c
index 96e8e29..c46e4d7 100644
--- a/drivers/scsi/NCR53C9x.c
+++ b/drivers/scsi/NCR53C9x.c
@@ -98,7 +98,7 @@ int nesps = 0, esps_in_use = 0, esps_running = 0;
EXPORT_SYMBOL(nesps);
EXPORT_SYMBOL(esps_running);

-irqreturn_t esp_intr(int irq, void *dev_id);
+irqreturn_t esp_intr(void *dev_id);

/* Debugging routines */
static struct esp_cmdstrings {
@@ -3543,12 +3543,13 @@ state_machine:
EXPORT_SYMBOL(esp_handle);

#ifndef CONFIG_SMP
-irqreturn_t esp_intr(int irq, void *dev_id)
+irqreturn_t esp_intr(void *dev_id)
{
struct NCR_ESP *esp;
unsigned long flags;
int again;
struct Scsi_Host *dev = dev_id;
+ unsigned int irq = get_irqfunc_irq();

/* Handle all ESP interrupts showing at this IRQ level. */
spin_lock_irqsave(dev->host_lock, flags);
@@ -3580,7 +3581,7 @@ repeat:
}
#else
/* For SMP we only service one ESP on the list list at our IRQ level! */
-irqreturn_t esp_intr(int irq, void *dev_id)
+irqreturn_t esp_intr(void *dev_id)
{
struct NCR_ESP *esp;
unsigned long flags;
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index 973778a..6609bfe 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -675,7 +675,7 @@ static struct {
};

/* setup & interrupt */
-static irqreturn_t intr(int irq, void *dev_id);
+static irqreturn_t intr(void *dev_id);
static void reset_ports(struct Scsi_Host *shpnt);
static void aha152x_error(struct Scsi_Host *shpnt, char *msg);
static void done(struct Scsi_Host *shpnt, int error);
@@ -759,7 +759,7 @@ static inline Scsi_Cmnd *remove_SC(Scsi_Cmnd **SC, Scsi_Cmnd *SCp)
return ptr;
}

-static irqreturn_t swintr(int irqno, void *dev_id)
+static irqreturn_t swintr(void *dev_id)
{
struct Scsi_Host *shpnt = dev_id;

diff --git a/drivers/scsi/aha1542.c b/drivers/scsi/aha1542.c
index 961a188..770d88a 100644
--- a/drivers/scsi/aha1542.c
+++ b/drivers/scsi/aha1542.c
@@ -174,7 +174,7 @@ static DEFINE_SPINLOCK(aha1542_lock);
static void setup_mailboxes(int base_io, struct Scsi_Host *shpnt);
static int aha1542_restart(struct Scsi_Host *shost);
static void aha1542_intr_handle(struct Scsi_Host *shost, void *dev_id);
-static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id);
+static irqreturn_t do_aha1542_intr_handle(void *dev_id);

#define aha1542_intr_reset(base) outb(IRST, CONTROL(base))

@@ -414,10 +414,11 @@ fail:
}

/* A quick wrapper for do_aha1542_intr_handle to grab the spin lock */
-static irqreturn_t do_aha1542_intr_handle(int irq, void *dev_id)
+static irqreturn_t do_aha1542_intr_handle(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *shost;
+ unsigned int irq = get_irqfunc_irq();

shost = aha_host[irq - 9];
if (!shost)
diff --git a/drivers/scsi/eata.c b/drivers/scsi/eata.c
index 7ead521..650ef10 100644
--- a/drivers/scsi/eata.c
+++ b/drivers/scsi/eata.c
@@ -876,7 +876,7 @@ static unsigned long io_port[] = {
/* But transfer orientation from the 16 bit data register is Little Endian */
#define REG2H(x) le16_to_cpu(x)

-static irqreturn_t do_interrupt_handler(int, void *);
+static irqreturn_t do_interrupt_handler(void *);
static void flush_dev(struct scsi_device *, unsigned long, struct hostdata *,
unsigned int);
static int do_trace = 0;
@@ -2287,17 +2287,18 @@ static void flush_dev(struct scsi_device *dev, unsigned long cursec,
}
}

-static irqreturn_t ihdlr(int irq, struct Scsi_Host *shost)
+static irqreturn_t ihdlr(struct Scsi_Host *shost)
{
struct scsi_cmnd *SCpnt;
unsigned int i, k, c, status, tstatus, reg;
struct mssp *spp;
struct mscp *cpp;
struct hostdata *ha = (struct hostdata *)shost->hostdata;
+ int irq = get_irqfunc_irq();

- if (shost->irq != irq)
- panic("%s: ihdlr, irq %d, shost->irq %d.\n", ha->board_name, irq,
- shost->irq);
+ if (shost->irq != get_irqfunc_irq())
+ panic("%s: ihdlr, irq %d, shost->irq %d.\n", ha->board_name,
+ irq, shost->irq);

/* Check if this board need to be serviced */
if (!(inb(shost->io_port + REG_AUX_STATUS) & IRQ_ASSERTED))
@@ -2306,8 +2307,8 @@ static irqreturn_t ihdlr(int irq, struct Scsi_Host *shost)
ha->iocount++;

if (do_trace)
- printk("%s: ihdlr, enter, irq %d, count %d.\n", ha->board_name, irq,
- ha->iocount);
+ printk("%s: ihdlr, enter, irq %d, count %d.\n", ha->board_name,
+ irq, ha->iocount);

/* Check if this board is still busy */
if (wait_on_busy(shost->io_port, 20 * MAXLOOP)) {
@@ -2536,7 +2537,7 @@ static irqreturn_t ihdlr(int irq, struct Scsi_Host *shost)
return IRQ_NONE;
}

-static irqreturn_t do_interrupt_handler(int irq, void *shap)
+static irqreturn_t do_interrupt_handler(void *shap)
{
struct Scsi_Host *shost;
unsigned int j;
@@ -2549,7 +2550,7 @@ static irqreturn_t do_interrupt_handler(int irq, void *shap)
shost = sh[j];

spin_lock_irqsave(shost->host_lock, spin_flags);
- ret = ihdlr(irq, shost);
+ ret = ihdlr(shost);
spin_unlock_irqrestore(shost->host_lock, spin_flags);
return ret;
}
diff --git a/drivers/scsi/psi240i.c b/drivers/scsi/psi240i.c
index 899e89d..a22796f 100644
--- a/drivers/scsi/psi240i.c
+++ b/drivers/scsi/psi240i.c
@@ -245,13 +245,12 @@ static ULONG DecodeError (struct Scsi_Host *pshost, UCHAR status)
*
* Description: Interrupt handler.
*
- * Parameters: irq - Hardware IRQ number.
- * dev_id -
+ * Parameters: dev_id - instance structure
*
* Returns: TRUE if drive is not ready in time.
*
****************************************************************/
-static void Irq_Handler (int irq, void *dev_id)
+static void Irq_Handler (void *dev_id)
{
struct Scsi_Host *shost; // Pointer to host data block
PADAPTER240I padapter; // Pointer to adapter control structure
@@ -259,6 +258,7 @@ static void Irq_Handler (int irq, void *dev_id)
struct scsi_cmnd *SCpnt;
UCHAR status;
int z;
+ unsigned int irq = get_irqfunc_irq();

DEB(printk ("\npsi240i received interrupt\n"));

@@ -367,13 +367,13 @@ irqerror:;
SCpnt->scsi_done (SCpnt);
}

-static irqreturn_t do_Irq_Handler (int irq, void *dev_id)
+static irqreturn_t do_Irq_Handler (void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;

spin_lock_irqsave(dev->host_lock, flags);
- Irq_Handler(irq, dev_id);
+ Irq_Handler(dev_id);
spin_unlock_irqrestore(dev->host_lock, flags);
return IRQ_HANDLED;
}
diff --git a/drivers/scsi/sym53c416.c b/drivers/scsi/sym53c416.c
index 8befab7..079c525 100644
--- a/drivers/scsi/sym53c416.c
+++ b/drivers/scsi/sym53c416.c
@@ -325,7 +325,7 @@ static __inline__ unsigned int sym53c416_write(int base, unsigned char *buffer,
return orig_len - len;
}

-static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id)
+static irqreturn_t sym53c416_intr_handle(void *dev_id)
{
struct Scsi_Host *dev = dev_id;
int base = 0;
@@ -334,6 +334,7 @@ static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id)
unsigned char status_reg, pio_int_reg, int_reg;
struct scatterlist *sg;
unsigned int tot_trans = 0;
+ unsigned int irq = get_irqfunc_irq();

/* We search the base address of the host adapter which caused the interrupt */
/* FIXME: should pass dev_id sensibly as hosts[i] */
diff --git a/drivers/scsi/u14-34f.c b/drivers/scsi/u14-34f.c
index 7edd6ce..ad20bba 100644
--- a/drivers/scsi/u14-34f.c
+++ b/drivers/scsi/u14-34f.c
@@ -635,7 +635,7 @@ static unsigned long io_port[] = {
#define H2DEV(x) cpu_to_le32(x)
#define DEV2H(x) le32_to_cpu(x)

-static irqreturn_t do_interrupt_handler(int, void *);
+static irqreturn_t do_interrupt_handler(void *);
static void flush_dev(struct scsi_device *, unsigned long, unsigned int, unsigned int);
static int do_trace = FALSE;
static int setup_done = FALSE;
@@ -1716,10 +1716,11 @@ static void flush_dev(struct scsi_device *dev, unsigned long cursec, unsigned in

}

-static irqreturn_t ihdlr(int irq, unsigned int j) {
+static irqreturn_t ihdlr(unsigned int j) {
struct scsi_cmnd *SCpnt;
unsigned int i, k, c, status, tstatus, reg, ret;
struct mscp *spp, *cpp;
+ unsigned int irq = get_irqfunc_irq();

if (sh[j]->irq != irq)
panic("%s: ihdlr, irq %d, sh[j]->irq %d.\n", BN(j), irq, sh[j]->irq);
@@ -1927,16 +1928,17 @@ none:
return IRQ_NONE;
}

-static irqreturn_t do_interrupt_handler(int irq, void *shap) {
+static irqreturn_t do_interrupt_handler(void *shap) {
unsigned int j;
unsigned long spin_flags;
irqreturn_t ret;

/* Check if the interrupt must be processed by this handler */
- if ((j = (unsigned int)((char *)shap - sha)) >= num_boards) return IRQ_NONE;
+ if ((j = (unsigned int)((char *)shap - sha)) >= num_boards)
+ return IRQ_NONE;

spin_lock_irqsave(sh[j]->host_lock, spin_flags);
- ret = ihdlr(irq, j);
+ ret = ihdlr(j);
spin_unlock_irqrestore(sh[j]->host_lock, spin_flags);
return ret;
}
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index f94109c..88ed53d 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -1451,7 +1451,7 @@ serial8250_handle_port(struct uart_8250_port *up)
* This means we need to loop through all ports. checking that they
* don't have an interrupt pending.
*/
-static irqreturn_t serial8250_interrupt(int irq, void *dev_id)
+static irqreturn_t serial8250_interrupt(void *dev_id)
{
struct irq_info *i = dev_id;
struct list_head *l, *end = NULL;
@@ -1496,7 +1496,7 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id)
if (l == i->head && pass_counter++ > PASS_LIMIT) {
/* If we hit this, we're dead. */
printk(KERN_ERR "serial8250: too much work for "
- "irq%d\n", irq);
+ "irq%d\n", get_irqfunc_irq());
break;
}
} while (l != end);
diff --git a/include/linux/uio_driver.h b/include/linux/uio_driver.h
index 44c28e9..6813285 100644
--- a/include/linux/uio_driver.h
+++ b/include/linux/uio_driver.h
@@ -60,7 +60,8 @@ struct uio_info {
long irq;
unsigned long irq_flags;
void *priv;
- irqreturn_t (*handler)(int irq, struct uio_info *dev_info);
+
+ irq_handler_t handler;
int (*mmap)(struct uio_info *info, struct vm_area_struct *vma);
int (*open)(struct uio_info *info, struct inode *inode);
int (*release)(struct uio_info *info, struct inode *inode);
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c
index dcc90f9..4990b35 100644
--- a/sound/drivers/mts64.c
+++ b/sound/drivers/mts64.c
@@ -853,6 +853,8 @@ static void snd_mts64_interrupt(void *private)
}
__out:
spin_unlock(&mts->lock);
+
+ return IRQ_HANDLED;
}

static int __devinit snd_mts64_probe_port(struct parport *p)
diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
index e065b2a..7e4ac0b 100644
--- a/sound/drivers/portman2x4.c
+++ b/sound/drivers/portman2x4.c
@@ -645,6 +645,8 @@ static void snd_portman_interrupt(void *userdata)
}

spin_unlock(&pm->reg_lock);
+
+ return IRQ_HANDLED;
}

static int __devinit snd_portman_probe_port(struct parport *p)

2007-10-19 07:57:47

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 5/9] irq-remove: net driver trivial


commit 93e93ce573545b3702477088cba8650b565fd60e
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:47:56 2007 -0400

[IRQ ARG REMOVAL] trivial net driver updates

drivers/net/3c501.c | 3 +--
drivers/net/3c501.h | 2 +-
drivers/net/3c505.c | 2 +-
drivers/net/3c507.c | 4 ++--
drivers/net/3c509.c | 6 +++---
drivers/net/3c515.c | 4 ++--
drivers/net/3c523.c | 4 ++--
drivers/net/3c527.c | 4 ++--
drivers/net/3c59x.c | 14 +++++++-------
drivers/net/7990.c | 4 ++--
drivers/net/8139cp.c | 4 ++--
drivers/net/8139too.c | 6 +++---
drivers/net/82596.c | 6 +++---
drivers/net/8390.c | 4 ++--
drivers/net/8390.h | 2 +-
drivers/net/a2065.c | 2 +-
drivers/net/acenic.c | 2 +-
drivers/net/acenic.h | 2 +-
drivers/net/amd8111e.c | 4 ++--
drivers/net/apne.c | 4 ++--
drivers/net/appletalk/cops.c | 4 ++--
drivers/net/appletalk/ltpc.c | 2 +-
drivers/net/arcnet/arcnet.c | 2 +-
drivers/net/ariadne.c | 4 ++--
drivers/net/arm/am79c961a.c | 6 +++---
drivers/net/arm/at91_ether.c | 4 ++--
drivers/net/arm/ep93xx_eth.c | 2 +-
drivers/net/arm/ether1.c | 4 ++--
drivers/net/arm/ether3.c | 4 ++--
drivers/net/at1700.c | 4 ++--
drivers/net/atarilance.c | 4 ++--
drivers/net/atl1/atl1_main.c | 4 ++--
drivers/net/atp.c | 4 ++--
drivers/net/au1000_eth.c | 4 ++--
drivers/net/b44.c | 4 ++--
drivers/net/bmac.c | 12 ++++++------
drivers/net/bnx2.c | 8 ++++----
drivers/net/cassini.c | 8 ++++----
drivers/net/chelsio/cxgb2.c | 2 +-
drivers/net/chelsio/sge.c | 4 ++--
drivers/net/chelsio/sge.h | 2 +-
drivers/net/cris/eth_v10.c | 8 ++++----
drivers/net/cs89x0.c | 6 +++---
drivers/net/cxgb3/cxgb3_main.c | 4 ++--
drivers/net/cxgb3/sge.c | 14 +++++++-------
drivers/net/de600.c | 2 +-
drivers/net/de600.h | 2 +-
drivers/net/de620.c | 4 ++--
drivers/net/declance.c | 4 ++--
drivers/net/defxx.c | 4 ++--
drivers/net/depca.c | 4 ++--
drivers/net/dl2k.c | 4 ++--
drivers/net/dm9000.c | 6 +++---
drivers/net/e100.c | 4 ++--
drivers/net/e1000/e1000_ethtool.c | 2 +-
drivers/net/e1000/e1000_main.c | 10 +++++-----
drivers/net/e1000e/ethtool.c | 2 +-
drivers/net/eepro.c | 4 ++--
drivers/net/eepro100.c | 6 +++---
drivers/net/ehea/ehea_main.c | 6 +++---
drivers/net/epic100.c | 4 ++--
drivers/net/eth16i.c | 4 ++--
drivers/net/ewrk3.c | 4 ++--
drivers/net/fealnx.c | 4 ++--
drivers/net/fec.c | 8 ++++----
drivers/net/fec_8xx/fec_main.c | 4 ++--
drivers/net/fs_enet/fs_enet-main.c | 2 +-
drivers/net/gianfar.c | 14 +++++++-------
drivers/net/gianfar.h | 2 +-
drivers/net/hamachi.c | 4 ++--
drivers/net/hamradio/baycom_ser_fdx.c | 2 +-
drivers/net/hamradio/baycom_ser_hdx.c | 2 +-
drivers/net/hamradio/dmascc.c | 4 ++--
drivers/net/hamradio/yam.c | 2 +-
drivers/net/hp100.c | 4 ++--
drivers/net/ibm_emac/ibm_emac_core.c | 4 ++--
drivers/net/ibm_emac/ibm_emac_mal.c | 10 +++++-----
drivers/net/ibmlana.c | 2 +-
drivers/net/ibmveth.c | 4 ++--
drivers/net/ioc3-eth.c | 2 +-
drivers/net/ipg.c | 2 +-
drivers/net/irda/ali-ircc.c | 2 +-
drivers/net/irda/donauboe.c | 4 ++--
drivers/net/irda/irport.c | 4 ++--
drivers/net/irda/irport.h | 2 +-
drivers/net/irda/nsc-ircc.c | 2 +-
drivers/net/irda/pxaficp_ir.c | 4 ++--
drivers/net/irda/sa1100_ir.c | 2 +-
drivers/net/irda/vlsi_ir.c | 2 +-
drivers/net/irda/w83977af_ir.c | 2 +-
drivers/net/isa-skeleton.c | 4 ++--
drivers/net/ixgb/ixgb_main.c | 6 +++---
drivers/net/ixgbe/ixgbe_main.c | 12 ++++++------
drivers/net/ixp2000/ixpdev.c | 4 ++--
drivers/net/lance.c | 4 ++--
drivers/net/lguest_net.c | 2 +-
drivers/net/lib8390.c | 4 ++--
drivers/net/lp486e.c | 4 ++--
drivers/net/mac89x0.c | 4 ++--
drivers/net/mace.c | 12 ++++++------
drivers/net/macmace.c | 8 ++++----
drivers/net/meth.c | 4 ++--
drivers/net/mipsnet.c | 2 +-
drivers/net/mlx4/eq.c | 4 ++--
drivers/net/mv643xx_eth.c | 4 ++--
drivers/net/myri10ge/myri10ge.c | 2 +-
drivers/net/myri_sbus.c | 2 +-
drivers/net/natsemi.c | 6 +++---
drivers/net/netx-eth.c | 2 +-
drivers/net/ni5010.c | 4 ++--
drivers/net/ni52.c | 4 ++--
drivers/net/ni65.c | 4 ++--
drivers/net/niu.c | 2 +-
drivers/net/ns83820.c | 2 +-
drivers/net/pci-skeleton.c | 4 ++--
drivers/net/pcmcia/3c574_cs.c | 6 +++---
drivers/net/pcmcia/3c589_cs.c | 6 +++---
drivers/net/pcmcia/axnet_cs.c | 12 ++++++------
drivers/net/pcmcia/nmclan_cs.c | 4 ++--
drivers/net/pcmcia/pcnet_cs.c | 8 ++++----
drivers/net/pcmcia/smc91c92_cs.c | 6 +++---
drivers/net/pcmcia/xirc2ps_cs.c | 4 ++--
drivers/net/pcnet32.c | 6 +++---
drivers/net/qla3xxx.c | 2 +-
drivers/net/r8169.c | 6 +++---
drivers/net/rrunner.c | 2 +-
drivers/net/rrunner.h | 2 +-
drivers/net/s2io.c | 8 ++++----
drivers/net/s2io.h | 6 +++---
drivers/net/saa9730.c | 2 +-
drivers/net/sb1000.c | 4 ++--
drivers/net/sb1250-mac.c | 4 ++--
drivers/net/sc92031.c | 4 ++--
drivers/net/seeq8005.c | 4 ++--
drivers/net/sgiseeq.c | 2 +-
drivers/net/sis190.c | 4 ++--
drivers/net/sis900.c | 6 +++---
drivers/net/sk98lin/skge.c | 10 +++++-----
drivers/net/skfp/skfddi.c | 4 ++--
drivers/net/skge.c | 4 ++--
drivers/net/sky2.c | 4 ++--
drivers/net/smc-ultra.c | 2 +-
drivers/net/smc911x.c | 4 ++--
drivers/net/smc9194.c | 4 ++--
drivers/net/smc91x.c | 4 ++--
drivers/net/sonic.c | 2 +-
drivers/net/sonic.h | 2 +-
drivers/net/spider_net.c | 4 ++--
drivers/net/starfire.c | 4 ++--
drivers/net/sun3_82586.c | 4 ++--
drivers/net/sun3lance.c | 4 ++--
drivers/net/sunbmac.c | 2 +-
drivers/net/sundance.c | 4 ++--
drivers/net/sungem.c | 4 ++--
drivers/net/sunhme.c | 2 +-
drivers/net/sunlance.c | 2 +-
drivers/net/sunqe.c | 2 +-
drivers/net/tc35815.c | 4 ++--
drivers/net/tehuti.c | 2 +-
drivers/net/tg3.c | 14 ++++++--------
drivers/net/tlan.c | 6 +++---
drivers/net/tokenring/3c359.c | 4 ++--
drivers/net/tokenring/ibmtr.c | 4 ++--
drivers/net/tokenring/lanstreamer.c | 4 ++--
drivers/net/tokenring/madgemc.c | 6 +++---
drivers/net/tokenring/olympic.c | 4 ++--
drivers/net/tokenring/smctr.c | 4 ++--
drivers/net/tokenring/tms380tr.c | 2 +-
drivers/net/tokenring/tms380tr.h | 2 +-
drivers/net/tulip/de2104x.c | 2 +-
drivers/net/tulip/de4x5.c | 4 ++--
drivers/net/tulip/dmfe.c | 6 +++---
drivers/net/tulip/interrupt.c | 2 +-
drivers/net/tulip/tulip.h | 2 +-
drivers/net/tulip/tulip_core.c | 2 +-
drivers/net/tulip/uli526x.c | 4 ++--
drivers/net/tulip/winbond-840.c | 4 ++--
drivers/net/tulip/xircom_cb.c | 6 +++---
drivers/net/tulip/xircom_tulip_cb.c | 4 ++--
drivers/net/typhoon.c | 2 +-
drivers/net/via-rhine.c | 6 +++---
drivers/net/via-velocity.c | 4 ++--
drivers/net/wan/cosa.c | 4 ++--
drivers/net/wan/cycx_main.c | 4 ++--
drivers/net/wan/dscc4.c | 4 ++--
drivers/net/wan/farsync.c | 2 +-
drivers/net/wan/hd6457x.c | 2 +-
drivers/net/wan/lmc/lmc_main.c | 4 ++--
drivers/net/wan/pc300_drv.c | 4 ++--
drivers/net/wan/sbni.c | 4 ++--
drivers/net/wan/wanxl.c | 2 +-
drivers/net/wan/z85230.c | 2 +-
drivers/net/wan/z85230.h | 2 +-
drivers/net/wireless/adm8211.c | 2 +-
drivers/net/wireless/airo.c | 4 ++--
drivers/net/wireless/arlan-main.c | 4 ++--
drivers/net/wireless/atmel.c | 2 +-
drivers/net/wireless/b43/main.c | 2 +-
drivers/net/wireless/b43legacy/main.c | 2 +-
drivers/net/wireless/bcm43xx/bcm43xx_main.c | 4 ++--
drivers/net/wireless/hostap/hostap_hw.c | 2 +-
drivers/net/wireless/ipw2100.c | 2 +-
drivers/net/wireless/ipw2200.c | 2 +-
drivers/net/wireless/iwlwifi/iwl3945-base.c | 2 +-
drivers/net/wireless/iwlwifi/iwl4965-base.c | 2 +-
drivers/net/wireless/libertas/if_cs.c | 4 ++--
drivers/net/wireless/netwave_cs.c | 4 ++--
drivers/net/wireless/orinoco.c | 2 +-
drivers/net/wireless/orinoco.h | 2 +-
drivers/net/wireless/p54pci.c | 4 ++--
drivers/net/wireless/prism54/islpci_dev.c | 2 +-
drivers/net/wireless/prism54/islpci_dev.h | 2 +-
drivers/net/wireless/ray_cs.c | 4 ++--
drivers/net/wireless/rt2x00/rt2400pci.c | 2 +-
drivers/net/wireless/rt2x00/rt2500pci.c | 2 +-
drivers/net/wireless/rt2x00/rt61pci.c | 2 +-
drivers/net/wireless/wavelan.c | 2 +-
drivers/net/wireless/wavelan.p.h | 3 +--
drivers/net/wireless/wavelan_cs.c | 3 +--
drivers/net/wireless/wavelan_cs.p.h | 3 +--
drivers/net/wireless/wl3501_cs.c | 3 +--
drivers/net/xen-netfront.c | 2 +-
drivers/net/yellowfin.c | 4 ++--
drivers/net/znet.c | 4 ++--
224 files changed, 444 insertions(+), 451 deletions(-)

93e93ce573545b3702477088cba8650b565fd60e
diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c
index be71868..e4aeca5 100644
--- a/drivers/net/3c501.c
+++ b/drivers/net/3c501.c
@@ -491,7 +491,6 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev)

/**
* el_interrupt:
- * @irq: Interrupt number
* @dev_id: The 3c501 that burped
*
* Handle the ether interface interrupts. The 3c501 needs a lot more
@@ -511,7 +510,7 @@ static int el_start_xmit(struct sk_buff *skb, struct net_device *dev)
* TCP window.
*/

-static irqreturn_t el_interrupt(int irq, void *dev_id)
+static irqreturn_t el_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/3c501.h b/drivers/net/3c501.h
index cfec64e..a0e874a 100644
--- a/drivers/net/3c501.h
+++ b/drivers/net/3c501.h
@@ -7,7 +7,7 @@ static int el1_probe1(struct net_device *dev, int ioaddr);
static int el_open(struct net_device *dev);
static void el_timeout(struct net_device *dev);
static int el_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el_interrupt(int irq, void *dev_id);
+static irqreturn_t el_interrupt(void *dev_id);
static void el_receive(struct net_device *dev);
static void el_reset(struct net_device *dev);
static int el1_close(struct net_device *dev);
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c
index 9c65734..d988da0 100644
--- a/drivers/net/3c505.c
+++ b/drivers/net/3c505.c
@@ -633,7 +633,7 @@ static void receive_packet(struct net_device *dev, int len)
*
******************************************************/

-static irqreturn_t elp_interrupt(int irq, void *dev_id)
+static irqreturn_t elp_interrupt(void *dev_id)
{
int len;
int dlen;
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c
index 964d31a..2a5579a 100644
--- a/drivers/net/3c507.c
+++ b/drivers/net/3c507.c
@@ -285,7 +285,7 @@ static unsigned short init_words[] = {
static int el16_probe1(struct net_device *dev, int ioaddr);
static int el16_open(struct net_device *dev);
static int el16_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el16_interrupt(int irq, void *dev_id);
+static irqreturn_t el16_interrupt(void *dev_id);
static void el16_rx(struct net_device *dev);
static int el16_close(struct net_device *dev);
static void el16_tx_timeout (struct net_device *dev);
@@ -538,7 +538,7 @@ static int el16_send_packet (struct sk_buff *skb, struct net_device *dev)

/* The typical workload of the driver:
Handle the network interface interrupts. */
-static irqreturn_t el16_interrupt(int irq, void *dev_id)
+static irqreturn_t el16_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index edda6e1..259a594 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -189,7 +189,7 @@ static ushort id_read_eeprom(int index);
static ushort read_eeprom(int ioaddr, int index);
static int el3_open(struct net_device *dev);
static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el3_interrupt(int irq, void *dev_id);
+static irqreturn_t el3_interrupt(void *dev_id);
static void update_stats(struct net_device *dev);
static struct net_device_stats *el3_get_stats(struct net_device *dev);
static int el3_rx(struct net_device *dev);
@@ -896,7 +896,7 @@ el3_start_xmit(struct sk_buff *skb, struct net_device *dev)

/* The EL3 interrupt handler. */
static irqreturn_t
-el3_interrupt(int irq, void *dev_id)
+el3_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct el3_private *lp;
@@ -987,7 +987,7 @@ el3_interrupt(int irq, void *dev_id)
static void el3_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- el3_interrupt(dev->irq, dev);
+ el3_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index 275e751..19c0232 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -373,7 +373,7 @@ static int corkscrew_start_xmit(struct sk_buff *skb,
static int corkscrew_rx(struct net_device *dev);
static void corkscrew_timeout(struct net_device *dev);
static int boomerang_rx(struct net_device *dev);
-static irqreturn_t corkscrew_interrupt(int irq, void *dev_id);
+static irqreturn_t corkscrew_interrupt(void *dev_id);
static int corkscrew_close(struct net_device *dev);
static void update_stats(int addr, struct net_device *dev);
static struct net_device_stats *corkscrew_get_stats(struct net_device *dev);
@@ -1113,7 +1113,7 @@ static int corkscrew_start_xmit(struct sk_buff *skb,
/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */

-static irqreturn_t corkscrew_interrupt(int irq, void *dev_id)
+static irqreturn_t corkscrew_interrupt(void *dev_id)
{
/* Use the now-standard shared IRQ implementation. */
struct net_device *dev = dev_id;
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index 239fc42..80768bb 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -180,7 +180,7 @@ sizeof(nop_cmd) = 8;
dev->name,__LINE__); \
elmc_id_reset586(); } } }

-static irqreturn_t elmc_interrupt(int irq, void *dev_id);
+static irqreturn_t elmc_interrupt(void *dev_id);
static int elmc_open(struct net_device *dev);
static int elmc_close(struct net_device *dev);
static int elmc_send_packet(struct sk_buff *, struct net_device *);
@@ -895,7 +895,7 @@ static void *alloc_rfa(struct net_device *dev, void *ptr)
*/

static irqreturn_t
-elmc_interrupt(int irq, void *dev_id)
+elmc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
unsigned short stat;
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index b72b89d..22c57ac 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -217,7 +217,7 @@ static int mc32_command(struct net_device *dev, u16 cmd, void *data, int le
static int mc32_open(struct net_device *dev);
static void mc32_timeout(struct net_device *dev);
static int mc32_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t mc32_interrupt(int irq, void *dev_id);
+static irqreturn_t mc32_interrupt(void *dev_id);
static int mc32_close(struct net_device *dev);
static struct net_device_stats *mc32_get_stats(struct net_device *dev);
static void mc32_set_multicast_list(struct net_device *dev);
@@ -1314,7 +1314,7 @@ static void mc32_tx_ring(struct net_device *dev)
*
*/

-static irqreturn_t mc32_interrupt(int irq, void *dev_id)
+static irqreturn_t mc32_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct mc32_local *lp;
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index 862f472..dd6ae9d 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -717,8 +717,8 @@ static int vortex_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int vortex_rx(struct net_device *dev);
static int boomerang_rx(struct net_device *dev);
-static irqreturn_t vortex_interrupt(int irq, void *dev_id);
-static irqreturn_t boomerang_interrupt(int irq, void *dev_id);
+static irqreturn_t vortex_interrupt(void *dev_id);
+static irqreturn_t boomerang_interrupt(void *dev_id);
static int vortex_close(struct net_device *dev);
static void dump_tx_ring(struct net_device *dev);
static void update_stats(void __iomem *ioaddr, struct net_device *dev);
@@ -793,7 +793,7 @@ static void poll_vortex(struct net_device *dev)
struct vortex_private *vp = netdev_priv(dev);
unsigned long flags;
local_irq_save(flags);
- (vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev->irq,dev);
+ (vp->full_bus_master_rx ? boomerang_interrupt:vortex_interrupt)(dev);
local_irq_restore(flags);
}
#endif
@@ -1863,9 +1863,9 @@ static void vortex_tx_timeout(struct net_device *dev)
unsigned long flags;
local_irq_save(flags);
if (vp->full_bus_master_tx)
- boomerang_interrupt(dev->irq, dev);
+ boomerang_interrupt(dev);
else
- vortex_interrupt(dev->irq, dev);
+ vortex_interrupt(dev);
local_irq_restore(flags);
}
}
@@ -2163,7 +2163,7 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
*/

static irqreturn_t
-vortex_interrupt(int irq, void *dev_id)
+vortex_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct vortex_private *vp = netdev_priv(dev);
@@ -2268,7 +2268,7 @@ handler_exit:
*/

static irqreturn_t
-boomerang_interrupt(int irq, void *dev_id)
+boomerang_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct vortex_private *vp = netdev_priv(dev);
diff --git a/drivers/net/7990.c b/drivers/net/7990.c
index 224e0bf..0940a0c 100644
--- a/drivers/net/7990.c
+++ b/drivers/net/7990.c
@@ -437,7 +437,7 @@ static int lance_tx (struct net_device *dev)
}

static irqreturn_t
-lance_interrupt (int irq, void *dev_id)
+lance_interrupt (void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct lance_private *lp = netdev_priv(dev);
@@ -666,7 +666,7 @@ void lance_poll(struct net_device *dev)
WRITERAP(lp, LE_CSR0);
WRITERDP(lp, LE_C0_STRT);
spin_unlock (&lp->devlock);
- lance_interrupt(dev->irq, dev);
+ lance_interrupt(dev);
}
#endif

diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index a453eda..b8d3b1f 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -614,7 +614,7 @@ rx_next:
return rx;
}

-static irqreturn_t cp_interrupt (int irq, void *dev_instance)
+static irqreturn_t cp_interrupt (void *dev_instance)
{
struct net_device *dev = dev_instance;
struct cp_private *cp;
@@ -678,7 +678,7 @@ static irqreturn_t cp_interrupt (int irq, void *dev_instance)
static void cp_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- cp_interrupt(dev->irq, dev);
+ cp_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index 973b684..26a2ba3 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -638,7 +638,7 @@ static int rtl8139_start_xmit (struct sk_buff *skb,
static void rtl8139_poll_controller(struct net_device *dev);
#endif
static int rtl8139_poll(struct napi_struct *napi, int budget);
-static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance);
+static irqreturn_t rtl8139_interrupt (void *dev_instance);
static int rtl8139_close (struct net_device *dev);
static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd);
static struct net_device_stats *rtl8139_get_stats (struct net_device *dev);
@@ -2128,7 +2128,7 @@ static int rtl8139_poll(struct napi_struct *napi, int budget)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)
+static irqreturn_t rtl8139_interrupt (void *dev_instance)
{
struct net_device *dev = (struct net_device *) dev_instance;
struct rtl8139_private *tp = netdev_priv(dev);
@@ -2200,7 +2200,7 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance)
static void rtl8139_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- rtl8139_interrupt(dev->irq, dev);
+ rtl8139_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index bb30d5b..61d2598 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -357,7 +357,7 @@ static char init_setup[] =

static int i596_open(struct net_device *dev);
static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t i596_interrupt(int irq, void *dev_id);
+static irqreturn_t i596_interrupt(void *dev_id);
static int i596_close(struct net_device *dev);
static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
static void i596_tx_timeout (struct net_device *dev);
@@ -500,7 +500,7 @@ static void i596_display_data(struct net_device *dev)


#if defined(ENABLE_MVME16x_NET) || defined(ENABLE_BVME6000_NET)
-static irqreturn_t i596_error(int irq, void *dev_id)
+static irqreturn_t i596_error(void *dev_id)
{
struct net_device *dev = dev_id;
#ifdef ENABLE_MVME16x_NET
@@ -1277,7 +1277,7 @@ out:
return ERR_PTR(err);
}

-static irqreturn_t i596_interrupt(int irq, void *dev_id)
+static irqreturn_t i596_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct i596_private *lp;
diff --git a/drivers/net/8390.c b/drivers/net/8390.c
index a828076..f2e6405 100644
--- a/drivers/net/8390.c
+++ b/drivers/net/8390.c
@@ -15,9 +15,9 @@ int ei_close(struct net_device *dev)
return __ei_close(dev);
}

-irqreturn_t ei_interrupt(int irq, void *dev_id)
+irqreturn_t ei_interrupt(void *dev_id)
{
- return __ei_interrupt(irq, dev_id);
+ return __ei_interrupt(dev_id);
}

#ifdef CONFIG_NET_POLL_CONTROLLER
diff --git a/drivers/net/8390.h b/drivers/net/8390.h
index 04ddec0..afff8ad 100644
--- a/drivers/net/8390.h
+++ b/drivers/net/8390.h
@@ -35,7 +35,7 @@ extern void ei_poll(struct net_device *dev);
extern void NS8390_init(struct net_device *dev, int startp);
extern int ei_open(struct net_device *dev);
extern int ei_close(struct net_device *dev);
-extern irqreturn_t ei_interrupt(int irq, void *dev_id);
+extern irqreturn_t ei_interrupt(void *dev_id);
extern struct net_device *__alloc_ei_netdev(int size);
static inline struct net_device *alloc_ei_netdev(void)
{
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index 18f7f81..c4d04db 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -423,7 +423,7 @@ static int lance_tx (struct net_device *dev)
return 0;
}

-static irqreturn_t lance_interrupt (int irq, void *dev_id)
+static irqreturn_t lance_interrupt (void *dev_id)
{
struct net_device *dev;
struct lance_private *lp;
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index 6c19265..7ace7cd 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -2135,7 +2135,7 @@ static inline void ace_tx_int(struct net_device *dev,
}


-static irqreturn_t ace_interrupt(int irq, void *dev_id)
+static irqreturn_t ace_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct ace_private *ap = netdev_priv(dev);
diff --git a/drivers/net/acenic.h b/drivers/net/acenic.h
index 60ed183..de6c5c3 100644
--- a/drivers/net/acenic.h
+++ b/drivers/net/acenic.h
@@ -769,7 +769,7 @@ static int ace_init(struct net_device *dev);
static void ace_load_std_rx_ring(struct ace_private *ap, int nr_bufs);
static void ace_load_mini_rx_ring(struct ace_private *ap, int nr_bufs);
static void ace_load_jumbo_rx_ring(struct ace_private *ap, int nr_bufs);
-static irqreturn_t ace_interrupt(int irq, void *dev_id);
+static irqreturn_t ace_interrupt(void *dev_id);
static int ace_load_firmware(struct net_device *dev);
static int ace_open(struct net_device *dev);
static int ace_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index 1cc74ec..ca133d6 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -1248,7 +1248,7 @@ static int amd8111e_calc_coalesce(struct net_device *dev)
/*
This is device interrupt function. It handles transmit, receive,link change and hardware timer interrupts.
*/
-static irqreturn_t amd8111e_interrupt(int irq, void *dev_id)
+static irqreturn_t amd8111e_interrupt(void *dev_id)
{

struct net_device * dev = (struct net_device *) dev_id;
@@ -1326,7 +1326,7 @@ static void amd8111e_poll(struct net_device *dev)
{
unsigned long flags;
local_irq_save(flags);
- amd8111e_interrupt(0, dev);
+ amd8111e_interrupt(dev);
local_irq_restore(flags);
}
#endif
diff --git a/drivers/net/apne.c b/drivers/net/apne.c
index c12cbdf..ad3a084 100644
--- a/drivers/net/apne.c
+++ b/drivers/net/apne.c
@@ -88,7 +88,7 @@ static void apne_block_input(struct net_device *dev, int count,
struct sk_buff *skb, int ring_offset);
static void apne_block_output(struct net_device *dev, const int count,
const unsigned char *buf, const int start_page);
-static irqreturn_t apne_interrupt(int irq, void *dev_id);
+static irqreturn_t apne_interrupt(void *dev_id);

static int init_pcmcia(void);

@@ -544,7 +544,7 @@ apne_block_output(struct net_device *dev, int count,
return;
}

-static irqreturn_t apne_interrupt(int irq, void *dev_id)
+static irqreturn_t apne_interrupt(void *dev_id)
{
unsigned char pcmcia_intreq;

diff --git a/drivers/net/appletalk/cops.c b/drivers/net/appletalk/cops.c
index 92c3a4c..f7839cd 100644
--- a/drivers/net/appletalk/cops.c
+++ b/drivers/net/appletalk/cops.c
@@ -188,7 +188,7 @@ static void cops_reset (struct net_device *dev, int sleep);
static void cops_load (struct net_device *dev);
static int cops_nodeid (struct net_device *dev, int nodeid);

-static irqreturn_t cops_interrupt (int irq, void *dev_id);
+static irqreturn_t cops_interrupt (void *dev_id);
static void cops_poll (unsigned long ltdev);
static void cops_timeout(struct net_device *dev);
static void cops_rx (struct net_device *dev);
@@ -714,7 +714,7 @@ static void cops_poll(unsigned long ltdev)
* The typical workload of the driver:
* Handle the network interface interrupts.
*/
-static irqreturn_t cops_interrupt(int irq, void *dev_id)
+static irqreturn_t cops_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct cops_local *lp;
diff --git a/drivers/net/appletalk/ltpc.c b/drivers/net/appletalk/ltpc.c
index 6ab2c2d..f45ed88 100644
--- a/drivers/net/appletalk/ltpc.c
+++ b/drivers/net/appletalk/ltpc.c
@@ -790,7 +790,7 @@ static int sendup_buffer (struct net_device *dev)
/* the handler for the board interrupt */

static irqreturn_t
-ltpc_interrupt(int irq, void *dev_id)
+ltpc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;

diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c
index c59c806..f6b35cc 100644
--- a/drivers/net/arcnet/arcnet.c
+++ b/drivers/net/arcnet/arcnet.c
@@ -761,7 +761,7 @@ static void arcnet_timeout(struct net_device *dev)
* interrupts. Establish which device needs attention, and call the correct
* chipset interrupt handler.
*/
-irqreturn_t arcnet_interrupt(int irq, void *dev_id)
+irqreturn_t arcnet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct arcnet_local *lp;
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index 3fa3bcc..8cfacec 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -120,7 +120,7 @@ static int ariadne_start_xmit(struct sk_buff *skb, struct net_device *dev);
static void ariadne_tx_timeout(struct net_device *dev);
static int ariadne_rx(struct net_device *dev);
static void ariadne_reset(struct net_device *dev);
-static irqreturn_t ariadne_interrupt(int irq, void *data);
+static irqreturn_t ariadne_interrupt(void *data);
static int ariadne_close(struct net_device *dev);
static struct net_device_stats *ariadne_get_stats(struct net_device *dev);
#ifdef HAVE_MULTICAST
@@ -415,7 +415,7 @@ static inline void ariadne_reset(struct net_device *dev)
}


-static irqreturn_t ariadne_interrupt(int irq, void *data)
+static irqreturn_t ariadne_interrupt(void *data)
{
struct net_device *dev = (struct net_device *)data;
volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c
index ba6bd03..98522b7 100644
--- a/drivers/net/arm/am79c961a.c
+++ b/drivers/net/arm/am79c961a.c
@@ -38,7 +38,7 @@
#include "am79c961a.h"

static irqreturn_t
-am79c961_interrupt (int irq, void *dev_id);
+am79c961_interrupt (void *dev_id);

static unsigned int net_debug = NET_DEBUG;

@@ -595,7 +595,7 @@ am79c961_tx(struct net_device *dev, struct dev_priv *priv)
}

static irqreturn_t
-am79c961_interrupt(int irq, void *dev_id)
+am79c961_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct dev_priv *priv = netdev_priv(dev);
@@ -634,7 +634,7 @@ static void am79c961_poll_controller(struct net_device *dev)
{
unsigned long flags;
local_irq_save(flags);
- am79c961_interrupt(dev->irq, dev);
+ am79c961_interrupt(dev);
local_irq_restore(flags);
}
#endif
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 25b114a..15d06bf 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -193,7 +193,7 @@ static void update_linkspeed(struct net_device *dev, int silent)
/*
* Handle interrupts from the PHY
*/
-static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id)
+static irqreturn_t at91ether_phy_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct at91_private *lp = netdev_priv(dev);
@@ -918,7 +918,7 @@ static void at91ether_rx(struct net_device *dev)
/*
* MAC interrupt handler
*/
-static irqreturn_t at91ether_interrupt(int irq, void *dev_id)
+static irqreturn_t at91ether_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct at91_private *lp = netdev_priv(dev);
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
index 7f016f3..997347e 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -405,7 +405,7 @@ static void ep93xx_tx_complete(struct net_device *dev)
netif_wake_queue(dev);
}

-static irqreturn_t ep93xx_irq(int irq, void *dev_id)
+static irqreturn_t ep93xx_irq(void *dev_id)
{
struct net_device *dev = dev_id;
struct ep93xx_priv *ep = netdev_priv(dev);
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c
index 3bb9e29..1f1fd1c 100644
--- a/drivers/net/arm/ether1.c
+++ b/drivers/net/arm/ether1.c
@@ -66,7 +66,7 @@ static unsigned int net_debug = NET_DEBUG;

static int ether1_open(struct net_device *dev);
static int ether1_sendpacket(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t ether1_interrupt(int irq, void *dev_id);
+static irqreturn_t ether1_interrupt(void *dev_id);
static int ether1_close(struct net_device *dev);
static struct net_device_stats *ether1_getstats(struct net_device *dev);
static void ether1_setmulticastlist(struct net_device *dev);
@@ -905,7 +905,7 @@ ether1_recv_done (struct net_device *dev)
}

static irqreturn_t
-ether1_interrupt (int irq, void *dev_id)
+ether1_interrupt (void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
int status;
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c
index 67e96ae..7cd39e2 100644
--- a/drivers/net/arm/ether3.c
+++ b/drivers/net/arm/ether3.c
@@ -79,7 +79,7 @@ static int ether3_rx(struct net_device *dev, unsigned int maxcnt);
static void ether3_tx(struct net_device *dev);
static int ether3_open (struct net_device *dev);
static int ether3_sendpacket (struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t ether3_interrupt (int irq, void *dev_id);
+static irqreturn_t ether3_interrupt (void *dev_id);
static int ether3_close (struct net_device *dev);
static struct net_device_stats *ether3_getstats (struct net_device *dev);
static void ether3_setmulticastlist (struct net_device *dev);
@@ -566,7 +566,7 @@ ether3_sendpacket(struct sk_buff *skb, struct net_device *dev)
}

static irqreturn_t
-ether3_interrupt(int irq, void *dev_id)
+ether3_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
unsigned int status, handled = IRQ_NONE;
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c
index b032c1b..af41130 100644
--- a/drivers/net/at1700.c
+++ b/drivers/net/at1700.c
@@ -160,7 +160,7 @@ static int at1700_probe1(struct net_device *dev, int ioaddr);
static int read_eeprom(long ioaddr, int location);
static int net_open(struct net_device *dev);
static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t net_interrupt(int irq, void *dev_id);
+static irqreturn_t net_interrupt(void *dev_id);
static void net_rx(struct net_device *dev);
static int net_close(struct net_device *dev);
static void set_rx_mode(struct net_device *dev);
@@ -643,7 +643,7 @@ static int net_send_packet (struct sk_buff *skb, struct net_device *dev)

/* The typical workload of the driver:
Handle the network interface interrupts. */
-static irqreturn_t net_interrupt(int irq, void *dev_id)
+static irqreturn_t net_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c
index b74dbee..f02556a 100644
--- a/drivers/net/atarilance.c
+++ b/drivers/net/atarilance.c
@@ -343,7 +343,7 @@ static unsigned long lance_probe1( struct net_device *dev, struct lance_addr
static int lance_open( struct net_device *dev );
static void lance_init_ring( struct net_device *dev );
static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev );
-static irqreturn_t lance_interrupt( int irq, void *dev_id );
+static irqreturn_t lance_interrupt( void *dev_id );
static int lance_rx( struct net_device *dev );
static int lance_close( struct net_device *dev );
static void set_multicast_list( struct net_device *dev );
@@ -853,7 +853,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )

/* The LANCE interrupt handler. */

-static irqreturn_t lance_interrupt( int irq, void *dev_id )
+static irqreturn_t lance_interrupt( void *dev_id )
{
struct net_device *dev = dev_id;
struct lance_private *lp;
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 35b0a7d..30c5366 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -1761,7 +1761,7 @@ static int atl1_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
* @data: pointer to a network interface device structure
* @pt_regs: CPU registers structure
*/
-static irqreturn_t atl1_intr(int irq, void *data)
+static irqreturn_t atl1_intr(void *data)
{
struct atl1_adapter *adapter = netdev_priv(data);
u32 status;
@@ -2181,7 +2181,7 @@ static int atl1_resume(struct pci_dev *pdev)
static void atl1_poll_controller(struct net_device *netdev)
{
disable_irq(netdev->irq);
- atl1_intr(netdev->irq, netdev);
+ atl1_intr(netdev);
enable_irq(netdev->irq);
}
#endif
diff --git a/drivers/net/atp.c b/drivers/net/atp.c
index 62f09e5..dcf5c4b 100644
--- a/drivers/net/atp.c
+++ b/drivers/net/atp.c
@@ -200,7 +200,7 @@ static void hardware_init(struct net_device *dev);
static void write_packet(long ioaddr, int length, unsigned char *packet, int pad, int mode);
static void trigger_send(long ioaddr, int length);
static int atp_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t atp_interrupt(int irq, void *dev_id);
+static irqreturn_t atp_interrupt(void *dev_id);
static void net_rx(struct net_device *dev);
static void read_block(long ioaddr, int length, unsigned char *buffer, int data_mode);
static int net_close(struct net_device *dev);
@@ -589,7 +589,7 @@ static int atp_send_packet(struct sk_buff *skb, struct net_device *dev)

/* The typical workload of the driver:
Handle the network interface interrupts. */
-static irqreturn_t atp_interrupt(int irq, void *dev_instance)
+static irqreturn_t atp_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct net_local *lp;
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index 185f98e..0c703cf 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -90,7 +90,7 @@ static int au1000_open(struct net_device *);
static int au1000_close(struct net_device *);
static int au1000_tx(struct sk_buff *, struct net_device *);
static int au1000_rx(struct net_device *);
-static irqreturn_t au1000_interrupt(int, void *);
+static irqreturn_t au1000_interrupt(void *);
static void au1000_tx_timeout(struct net_device *);
static void set_rx_mode(struct net_device *);
static int au1000_ioctl(struct net_device *, struct ifreq *, int);
@@ -1237,7 +1237,7 @@ static int au1000_rx(struct net_device *dev)
/*
* Au1000 interrupt service routine.
*/
-static irqreturn_t au1000_interrupt(int irq, void *dev_id)
+static irqreturn_t au1000_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;

diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index 3d247f3..e8fe653 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -881,7 +881,7 @@ static int b44_poll(struct napi_struct *napi, int budget)
return work_done;
}

-static irqreturn_t b44_interrupt(int irq, void *dev_id)
+static irqreturn_t b44_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct b44 *bp = netdev_priv(dev);
@@ -1448,7 +1448,7 @@ out:
static void b44_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- b44_interrupt(dev->irq, dev);
+ b44_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c
index a42bd19..908baf8 100644
--- a/drivers/net/bmac.c
+++ b/drivers/net/bmac.c
@@ -151,9 +151,9 @@ static void bmac_init_chip(struct net_device *dev);
static void bmac_init_registers(struct net_device *dev);
static void bmac_enable_and_reset_chip(struct net_device *dev);
static int bmac_set_address(struct net_device *dev, void *addr);
-static irqreturn_t bmac_misc_intr(int irq, void *dev_id);
-static irqreturn_t bmac_txdma_intr(int irq, void *dev_id);
-static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id);
+static irqreturn_t bmac_misc_intr(void *dev_id);
+static irqreturn_t bmac_txdma_intr(void *dev_id);
+static irqreturn_t bmac_rxdma_intr(void *dev_id);
static void bmac_set_timeout(struct net_device *dev);
static void bmac_tx_timeout(unsigned long data);
static int bmac_output(struct sk_buff *skb, struct net_device *dev);
@@ -675,7 +675,7 @@ static int bmac_transmit_packet(struct sk_buff *skb, struct net_device *dev)

static int rxintcount;

-static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
+static irqreturn_t bmac_rxdma_intr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct bmac_data *bp = netdev_priv(dev);
@@ -751,7 +751,7 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)

static int txintcount;

-static irqreturn_t bmac_txdma_intr(int irq, void *dev_id)
+static irqreturn_t bmac_txdma_intr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct bmac_data *bp = netdev_priv(dev);
@@ -1061,7 +1061,7 @@ static void bmac_set_multicast(struct net_device *dev)

static int miscintcount;

-static irqreturn_t bmac_misc_intr(int irq, void *dev_id)
+static irqreturn_t bmac_misc_intr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct bmac_data *bp = netdev_priv(dev);
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 96cee4b..3205cdd 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -2539,7 +2539,7 @@ next_rx:
* is that the MSI interrupt is always serviced.
*/
static irqreturn_t
-bnx2_msi(int irq, void *dev_instance)
+bnx2_msi(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct bnx2 *bp = netdev_priv(dev);
@@ -2559,7 +2559,7 @@ bnx2_msi(int irq, void *dev_instance)
}

static irqreturn_t
-bnx2_msi_1shot(int irq, void *dev_instance)
+bnx2_msi_1shot(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct bnx2 *bp = netdev_priv(dev);
@@ -2576,7 +2576,7 @@ bnx2_msi_1shot(int irq, void *dev_instance)
}

static irqreturn_t
-bnx2_interrupt(int irq, void *dev_instance)
+bnx2_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct bnx2 *bp = netdev_priv(dev);
@@ -6325,7 +6325,7 @@ poll_bnx2(struct net_device *dev)
struct bnx2 *bp = netdev_priv(dev);

disable_irq(bp->pdev->irq);
- bnx2_interrupt(bp->pdev->irq, dev);
+ bnx2_interrupt(dev);
enable_irq(bp->pdev->irq);
}
#endif
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index 7df31b5..dd7c2a1 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -2468,7 +2468,7 @@ static inline void cas_handle_irqN(struct net_device *dev,
cas_post_rxcs_ringN(dev, cp, ring);
}

-static irqreturn_t cas_interruptN(int irq, void *dev_id)
+static irqreturn_t cas_interruptN(void *dev_id)
{
struct net_device *dev = dev_id;
struct cas *cp = netdev_priv(dev);
@@ -2521,7 +2521,7 @@ static inline void cas_handle_irq1(struct cas *cp, const u32 status)
}

/* ring 2 handles a few more events than 3 and 4 */
-static irqreturn_t cas_interrupt1(int irq, void *dev_id)
+static irqreturn_t cas_interrupt1(void *dev_id)
{
struct net_device *dev = dev_id;
struct cas *cp = netdev_priv(dev);
@@ -2573,7 +2573,7 @@ static inline void cas_handle_irq(struct net_device *dev,
cas_post_rxcs_ringN(dev, cp, 0);
}

-static irqreturn_t cas_interrupt(int irq, void *dev_id)
+static irqreturn_t cas_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct cas *cp = netdev_priv(dev);
@@ -2683,7 +2683,7 @@ static void cas_netpoll(struct net_device *dev)
struct cas *cp = netdev_priv(dev);

cas_disable_irq(cp, 0);
- cas_interrupt(cp->pdev->irq, dev);
+ cas_interrupt(dev);
cas_enable_irq(cp, 0);

#ifdef USE_PCI_INTB
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index 2dbf8dc..0384800 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -898,7 +898,7 @@ static void t1_netpoll(struct net_device *dev)
struct adapter *adapter = dev->priv;

local_irq_save(flags);
- t1_interrupt(adapter->pdev->irq, adapter);
+ t1_interrupt(adapter);
local_irq_restore(flags);
}
#endif
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index ffa7e64..a3d147f 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1639,7 +1639,7 @@ int t1_poll(struct napi_struct *napi, int budget)
/*
* NAPI version of the main interrupt handler.
*/
-irqreturn_t t1_interrupt(int irq, void *data)
+irqreturn_t t1_interrupt(void *data)
{
struct adapter *adapter = data;
struct sge *sge = adapter->sge;
@@ -1688,7 +1688,7 @@ irqreturn_t t1_interrupt(int irq, void *data)
* 5. If we took an interrupt, but no valid respQ descriptors was found we
* let the slow_intr_handler run and do error handling.
*/
-irqreturn_t t1_interrupt(int irq, void *cookie)
+irqreturn_t t1_interrupt(void *cookie)
{
int work_done;
struct adapter *adapter = cookie;
diff --git a/drivers/net/chelsio/sge.h b/drivers/net/chelsio/sge.h
index 713d9c5..446de58 100644
--- a/drivers/net/chelsio/sge.h
+++ b/drivers/net/chelsio/sge.h
@@ -76,7 +76,7 @@ struct sge *t1_sge_create(struct adapter *, struct sge_params *);
int t1_sge_configure(struct sge *, struct sge_params *);
int t1_sge_set_coalesce_params(struct sge *, struct sge_params *);
void t1_sge_destroy(struct sge *);
-irqreturn_t t1_interrupt(int irq, void *cookie);
+irqreturn_t t1_interrupt(void *cookie);
int t1_poll(struct napi_struct *, int);

int t1_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 314b2f6..0af45f9 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -402,8 +402,8 @@ static int etrax_ethernet_init(void);
static int e100_open(struct net_device *dev);
static int e100_set_mac_address(struct net_device *dev, void *addr);
static int e100_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t e100rxtx_interrupt(int irq, void *dev_id);
-static irqreturn_t e100nw_interrupt(int irq, void *dev_id);
+static irqreturn_t e100rxtx_interrupt(void *dev_id);
+static irqreturn_t e100nw_interrupt(void *dev_id);
static void e100_rx(struct net_device *dev);
static int e100_close(struct net_device *dev);
static int e100_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
@@ -1194,7 +1194,7 @@ e100_send_packet(struct sk_buff *skb, struct net_device *dev)
*/

static irqreturn_t
-e100rxtx_interrupt(int irq, void *dev_id)
+e100rxtx_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct net_local *np = (struct net_local *)dev->priv;
@@ -1261,7 +1261,7 @@ e100rxtx_interrupt(int irq, void *dev_id)
}

static irqreturn_t
-e100nw_interrupt(int irq, void *dev_id)
+e100nw_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct net_local *np = (struct net_local *)dev->priv;
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c
index 5717509..5245a91 100644
--- a/drivers/net/cs89x0.c
+++ b/drivers/net/cs89x0.c
@@ -249,7 +249,7 @@ struct net_local {
static int cs89x0_probe1(struct net_device *dev, int ioaddr, int modular);
static int net_open(struct net_device *dev);
static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t net_interrupt(int irq, void *dev_id);
+static irqreturn_t net_interrupt(void *dev_id);
static void set_multicast_list(struct net_device *dev);
static void net_timeout(struct net_device *dev);
static void net_rx(struct net_device *dev);
@@ -495,7 +495,7 @@ get_eeprom_cksum(int off, int len, int *buffer)
static void net_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- net_interrupt(dev->irq, dev);
+ net_interrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -1568,7 +1568,7 @@ static int net_send_packet(struct sk_buff *skb, struct net_device *dev)
/* The typical workload of the driver:
Handle the network interface interrupts. */

-static irqreturn_t net_interrupt(int irq, void *dev_id)
+static irqreturn_t net_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c
index 61ffc92..24e3ad8 100644
--- a/drivers/net/cxgb3/cxgb3_main.c
+++ b/drivers/net/cxgb3/cxgb3_main.c
@@ -252,7 +252,7 @@ static inline void cxgb_disable_msi(struct adapter *adapter)
/*
* Interrupt handler for asynchronous events used with MSI-X.
*/
-static irqreturn_t t3_async_intr_handler(int irq, void *cookie)
+static irqreturn_t t3_async_intr_handler(void *cookie)
{
t3_slow_intr_handler(cookie);
return IRQ_HANDLED;
@@ -2150,7 +2150,7 @@ static void cxgb_netpoll(struct net_device *dev)
else
source = adapter;

- t3_intr_handler(adapter, qs->rspq.polling) (0, source);
+ t3_intr_handler(adapter, qs->rspq.polling) (source);
}
}
#endif
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index c15e43a..2c510d2 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -2196,7 +2196,7 @@ static inline int handle_responses(struct adapter *adap, struct sge_rspq *q)
* The MSI-X interrupt handler for an SGE response queue for the non-NAPI case
* (i.e., response queue serviced in hard interrupt).
*/
-irqreturn_t t3_sge_intr_msix(int irq, void *cookie)
+irqreturn_t t3_sge_intr_msix(void *cookie)
{
struct sge_qset *qs = cookie;
struct adapter *adap = qs->adap;
@@ -2215,7 +2215,7 @@ irqreturn_t t3_sge_intr_msix(int irq, void *cookie)
* The MSI-X interrupt handler for an SGE response queue for the NAPI case
* (i.e., response queue serviced by NAPI polling).
*/
-static irqreturn_t t3_sge_intr_msix_napi(int irq, void *cookie)
+static irqreturn_t t3_sge_intr_msix_napi(void *cookie)
{
struct sge_qset *qs = cookie;
struct sge_rspq *q = &qs->rspq;
@@ -2234,7 +2234,7 @@ static irqreturn_t t3_sge_intr_msix_napi(int irq, void *cookie)
* the same MSI vector. We use one SGE response queue per port in this mode
* and protect all response queues with queue 0's lock.
*/
-static irqreturn_t t3_intr_msi(int irq, void *cookie)
+static irqreturn_t t3_intr_msi(void *cookie)
{
int new_packets = 0;
struct adapter *adap = cookie;
@@ -2284,7 +2284,7 @@ static int rspq_check_napi(struct sge_qset *qs)
* one SGE response queue per port in this mode and protect all response
* queues with queue 0's lock.
*/
-static irqreturn_t t3_intr_msi_napi(int irq, void *cookie)
+static irqreturn_t t3_intr_msi_napi(void *cookie)
{
int new_packets;
struct adapter *adap = cookie;
@@ -2322,7 +2322,7 @@ static inline int process_responses_gts(struct adapter *adap,
* the same interrupt pin. We use one SGE response queue per port in this mode
* and protect all response queues with queue 0's lock.
*/
-static irqreturn_t t3_intr(int irq, void *cookie)
+static irqreturn_t t3_intr(void *cookie)
{
int work_done, w0, w1;
struct adapter *adap = cookie;
@@ -2360,7 +2360,7 @@ static irqreturn_t t3_intr(int irq, void *cookie)
* response queue per port in this mode and protect all response queues with
* queue 0's lock.
*/
-static irqreturn_t t3b_intr(int irq, void *cookie)
+static irqreturn_t t3b_intr(void *cookie)
{
u32 map;
struct adapter *adap = cookie;
@@ -2394,7 +2394,7 @@ static irqreturn_t t3b_intr(int irq, void *cookie)
* response queue per port in this mode and protect all response queues with
* queue 0's lock.
*/
-static irqreturn_t t3b_intr_napi(int irq, void *cookie)
+static irqreturn_t t3b_intr_napi(void *cookie)
{
u32 map;
struct adapter *adap = cookie;
diff --git a/drivers/net/de600.c b/drivers/net/de600.c
index cb849b0..36eac9a 100644
--- a/drivers/net/de600.c
+++ b/drivers/net/de600.c
@@ -246,7 +246,7 @@ static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev)
* Handle the network interface interrupts.
*/

-static irqreturn_t de600_interrupt(int irq, void *dev_id)
+static irqreturn_t de600_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
u8 irq_status;
diff --git a/drivers/net/de600.h b/drivers/net/de600.h
index e80ecba..554ab64 100644
--- a/drivers/net/de600.h
+++ b/drivers/net/de600.h
@@ -124,7 +124,7 @@ static int de600_close(struct net_device *dev);
static int de600_start_xmit(struct sk_buff *skb, struct net_device *dev);

/* Dispatch from interrupts. */
-static irqreturn_t de600_interrupt(int irq, void *dev_id);
+static irqreturn_t de600_interrupt(void *dev_id);
static int de600_tx_intr(struct net_device *dev, int irq_status);
static void de600_rx_intr(struct net_device *dev);

diff --git a/drivers/net/de620.c b/drivers/net/de620.c
index 3f5190c..423599a 100644
--- a/drivers/net/de620.c
+++ b/drivers/net/de620.c
@@ -220,7 +220,7 @@ static void de620_set_multicast_list(struct net_device *);
static int de620_start_xmit(struct sk_buff *, struct net_device *);

/* Dispatch from interrupts. */
-static irqreturn_t de620_interrupt(int, void *);
+static irqreturn_t de620_interrupt(void *);
static int de620_rx_intr(struct net_device *);

/* Initialization */
@@ -580,7 +580,7 @@ static int de620_start_xmit(struct sk_buff *skb, struct net_device *dev)
*
*/
static irqreturn_t
-de620_interrupt(int irq_in, void *dev_id)
+de620_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
byte irq_status;
diff --git a/drivers/net/declance.c b/drivers/net/declance.c
index 00e0194..d758e3e 100644
--- a/drivers/net/declance.c
+++ b/drivers/net/declance.c
@@ -719,7 +719,7 @@ out:
spin_unlock(&lp->lock);
}

-static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id)
+static irqreturn_t lance_dma_merr_int(const void *dev_id)
{
struct net_device *dev = dev_id;

@@ -727,7 +727,7 @@ static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t lance_interrupt(const int irq, void *dev_id)
+static irqreturn_t lance_interrupt(const void *dev_id)
{
struct net_device *dev = dev_id;
struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/defxx.c b/drivers/net/defxx.c
index b07613e..cb4dc82 100644
--- a/drivers/net/defxx.c
+++ b/drivers/net/defxx.c
@@ -282,7 +282,7 @@ static int dfx_close(struct net_device *dev);
static void dfx_int_pr_halt_id(DFX_board_t *bp);
static void dfx_int_type_0_process(DFX_board_t *bp);
static void dfx_int_common(struct net_device *dev);
-static irqreturn_t dfx_interrupt(int irq, void *dev_id);
+static irqreturn_t dfx_interrupt(void *dev_id);

static struct net_device_stats *dfx_ctl_get_stats(struct net_device *dev);
static void dfx_ctl_set_multicast_list(struct net_device *dev);
@@ -1874,7 +1874,7 @@ static void dfx_int_common(struct net_device *dev)
* Interrupts are disabled, then reenabled at the adapter.
*/

-static irqreturn_t dfx_interrupt(int irq, void *dev_id)
+static irqreturn_t dfx_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
DFX_board_t *bp = netdev_priv(dev);
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index ace39ec..ceb1948 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -517,7 +517,7 @@ struct depca_private {
*/
static int depca_open(struct net_device *dev);
static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t depca_interrupt(int irq, void *dev_id);
+static irqreturn_t depca_interrupt(void *dev_id);
static int depca_close(struct net_device *dev);
static int depca_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static void depca_tx_timeout(struct net_device *dev);
@@ -960,7 +960,7 @@ static int depca_start_xmit(struct sk_buff *skb, struct net_device *dev)
/*
** The DEPCA interrupt handler.
*/
-static irqreturn_t depca_interrupt(int irq, void *dev_id)
+static irqreturn_t depca_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct depca_private *lp;
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index 5066beb..682d9ba 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -60,7 +60,7 @@ static void rio_timer (unsigned long data);
static void rio_tx_timeout (struct net_device *dev);
static void alloc_list (struct net_device *dev);
static int start_xmit (struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t rio_interrupt (int irq, void *dev_instance);
+static irqreturn_t rio_interrupt (void *dev_instance);
static void rio_free_tx (struct net_device *dev, int irq);
static void tx_error (struct net_device *dev, int tx_status);
static int receive_packet (struct net_device *dev);
@@ -667,7 +667,7 @@ start_xmit (struct sk_buff *skb, struct net_device *dev)
}

static irqreturn_t
-rio_interrupt (int irq, void *dev_instance)
+rio_interrupt (void *dev_instance)
{
struct net_device *dev = dev_instance;
struct netdev_private *np;
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 27ac010..7dd9c05 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -165,7 +165,7 @@ static int dm9000_stop(struct net_device *);
static void dm9000_timer(unsigned long);
static void dm9000_init_dm9000(struct net_device *);

-static irqreturn_t dm9000_interrupt(int, void *);
+static irqreturn_t dm9000_interrupt(void *);

static int dm9000_phy_read(struct net_device *dev, int phyaddr_unsused, int reg);
static void dm9000_phy_write(struct net_device *dev, int phyaddr_unused, int reg,
@@ -352,7 +352,7 @@ static void dm9000_timeout(struct net_device *dev)
static void dm9000_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- dm9000_interrupt(dev->irq,dev);
+ dm9000_interrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -799,7 +799,7 @@ dm9000_tx_done(struct net_device *dev, board_info_t * db)
}

static irqreturn_t
-dm9000_interrupt(int irq, void *dev_id)
+dm9000_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
board_info_t *db;
diff --git a/drivers/net/e100.c b/drivers/net/e100.c
index 64f35e2..e419ad9 100644
--- a/drivers/net/e100.c
+++ b/drivers/net/e100.c
@@ -1959,7 +1959,7 @@ static int e100_rx_alloc_list(struct nic *nic)
return 0;
}

-static irqreturn_t e100_intr(int irq, void *dev_id)
+static irqreturn_t e100_intr(void *dev_id)
{
struct net_device *netdev = dev_id;
struct nic *nic = netdev_priv(netdev);
@@ -2011,7 +2011,7 @@ static void e100_netpoll(struct net_device *netdev)
struct nic *nic = netdev_priv(netdev);

e100_disable_irq(nic);
- e100_intr(nic->pdev->irq, netdev);
+ e100_intr(netdev);
e100_tx_clean(nic);
e100_enable_irq(nic);
}
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index 6c9a643..99df95c 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -885,7 +885,7 @@ e1000_eeprom_test(struct e1000_adapter *adapter, uint64_t *data)
}

static irqreturn_t
-e1000_test_intr(int irq, void *data)
+e1000_test_intr(void *data)
{
struct net_device *netdev = (struct net_device *) data;
struct e1000_adapter *adapter = netdev_priv(netdev);
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 0472638..2f8450d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -161,8 +161,8 @@ static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
static struct net_device_stats * e1000_get_stats(struct net_device *netdev);
static int e1000_change_mtu(struct net_device *netdev, int new_mtu);
static int e1000_set_mac(struct net_device *netdev, void *p);
-static irqreturn_t e1000_intr(int irq, void *data);
-static irqreturn_t e1000_intr_msi(int irq, void *data);
+static irqreturn_t e1000_intr(void *data);
+static irqreturn_t e1000_intr_msi(void *data);
static boolean_t e1000_clean_tx_irq(struct e1000_adapter *adapter,
struct e1000_tx_ring *tx_ring);
#ifdef CONFIG_E1000_NAPI
@@ -3748,7 +3748,7 @@ e1000_update_stats(struct e1000_adapter *adapter)
**/

static irqreturn_t
-e1000_intr_msi(int irq, void *data)
+e1000_intr_msi(void *data)
{
struct net_device *netdev = data;
struct e1000_adapter *adapter = netdev_priv(netdev);
@@ -3813,7 +3813,7 @@ e1000_intr_msi(int irq, void *data)
**/

static irqreturn_t
-e1000_intr(int irq, void *data)
+e1000_intr(void *data)
{
struct net_device *netdev = data;
struct e1000_adapter *adapter = netdev_priv(netdev);
@@ -5236,7 +5236,7 @@ e1000_netpoll(struct net_device *netdev)
struct e1000_adapter *adapter = netdev_priv(netdev);

disable_irq(adapter->pdev->irq);
- e1000_intr(adapter->pdev->irq, netdev);
+ e1000_intr(netdev);
e1000_clean_tx_irq(adapter, adapter->tx_ring);
#ifndef CONFIG_E1000_NAPI
adapter->clean_rx(adapter, adapter->rx_ring);
diff --git a/drivers/net/e1000e/ethtool.c b/drivers/net/e1000e/ethtool.c
index 0666e62..d29b704 100644
--- a/drivers/net/e1000e/ethtool.c
+++ b/drivers/net/e1000e/ethtool.c
@@ -837,7 +837,7 @@ static int e1000_eeprom_test(struct e1000_adapter *adapter, u64 *data)
return *data;
}

-static irqreturn_t e1000_test_intr(int irq, void *data)
+static irqreturn_t e1000_test_intr(void *data)
{
struct net_device *netdev = (struct net_device *) data;
struct e1000_adapter *adapter = netdev_priv(netdev);
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c
index 83bda6c..0873bf4 100644
--- a/drivers/net/eepro.c
+++ b/drivers/net/eepro.c
@@ -310,7 +310,7 @@ struct eepro_local {
static int eepro_probe1(struct net_device *dev, int autoprobe);
static int eepro_open(struct net_device *dev);
static int eepro_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t eepro_interrupt(int irq, void *dev_id);
+static irqreturn_t eepro_interrupt(void *dev_id);
static void eepro_rx(struct net_device *dev);
static void eepro_transmit_interrupt(struct net_device *dev);
static int eepro_close(struct net_device *dev);
@@ -1180,7 +1180,7 @@ static int eepro_send_packet(struct sk_buff *skb, struct net_device *dev)
Handle the network interface interrupts. */

static irqreturn_t
-eepro_interrupt(int irq, void *dev_id)
+eepro_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct eepro_local *lp;
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index 1548a80..02a3952 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -488,7 +488,7 @@ static int speedo_start_xmit(struct sk_buff *skb, struct net_device *dev);
static void speedo_refill_rx_buffers(struct net_device *dev, int force);
static int speedo_rx(struct net_device *dev);
static void speedo_tx_buffer_gc(struct net_device *dev);
-static irqreturn_t speedo_interrupt(int irq, void *dev_instance);
+static irqreturn_t speedo_interrupt(void *dev_instance);
static int speedo_close(struct net_device *dev);
static struct net_device_stats *speedo_get_stats(struct net_device *dev);
static int speedo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -606,7 +606,7 @@ static void poll_speedo (struct net_device *dev)
/* disable_irq is not very nice, but with the funny lockless design
we have no other choice. */
disable_irq(dev->irq);
- speedo_interrupt (dev->irq, dev);
+ speedo_interrupt (dev);
enable_irq(dev->irq);
}
#endif
@@ -1537,7 +1537,7 @@ static void speedo_tx_buffer_gc(struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t speedo_interrupt(int irq, void *dev_instance)
+static irqreturn_t speedo_interrupt(void *dev_instance)
{
struct net_device *dev = (struct net_device *)dev_instance;
struct speedo_private *sp;
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index 2809c99..2a2a3ff 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -686,7 +686,7 @@ static void ehea_netpoll(struct net_device *dev)
}
#endif

-static irqreturn_t ehea_recv_irq_handler(int irq, void *param)
+static irqreturn_t ehea_recv_irq_handler(void *param)
{
struct ehea_port_res *pr = param;

@@ -695,7 +695,7 @@ static irqreturn_t ehea_recv_irq_handler(int irq, void *param)
return IRQ_HANDLED;
}

-static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param)
+static irqreturn_t ehea_qp_aff_irq_handler(void *param)
{
struct ehea_port *port = param;
struct ehea_eqe *eqe;
@@ -1010,7 +1010,7 @@ static void ehea_neq_tasklet(unsigned long data)
adapter->neq->fw_handle, event_mask);
}

-static irqreturn_t ehea_interrupt_neq(int irq, void *param)
+static irqreturn_t ehea_interrupt_neq(void *param)
{
struct ehea_adapter *adapter = param;
tasklet_hi_schedule(&adapter->neq_tasklet);
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c
index ecdd3fc..d889ec6 100644
--- a/drivers/net/epic100.c
+++ b/drivers/net/epic100.c
@@ -296,7 +296,7 @@ static void epic_init_ring(struct net_device *dev);
static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int epic_rx(struct net_device *dev, int budget);
static int epic_poll(struct napi_struct *napi, int budget);
-static irqreturn_t epic_interrupt(int irq, void *dev_instance);
+static irqreturn_t epic_interrupt(void *dev_instance);
static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static const struct ethtool_ops netdev_ethtool_ops;
static int epic_close(struct net_device *dev);
@@ -1079,7 +1079,7 @@ static void epic_tx(struct net_device *dev, struct epic_private *ep)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t epic_interrupt(int irq, void *dev_instance)
+static irqreturn_t epic_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct epic_private *ep = dev->priv;
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c
index 243fc6b..56a3ebb 100644
--- a/drivers/net/eth16i.c
+++ b/drivers/net/eth16i.c
@@ -409,7 +409,7 @@ static int eth16i_close(struct net_device *dev);
static int eth16i_tx(struct sk_buff *skb, struct net_device *dev);
static void eth16i_rx(struct net_device *dev);
static void eth16i_timeout(struct net_device *dev);
-static irqreturn_t eth16i_interrupt(int irq, void *dev_id);
+static irqreturn_t eth16i_interrupt(void *dev_id);
static void eth16i_reset(struct net_device *dev);
static void eth16i_timeout(struct net_device *dev);
static void eth16i_skip_packet(struct net_device *dev);
@@ -1218,7 +1218,7 @@ static void eth16i_rx(struct net_device *dev)
} /* while */
}

-static irqreturn_t eth16i_interrupt(int irq, void *dev_id)
+static irqreturn_t eth16i_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct eth16i_local *lp;
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c
index 593a120..68f1722 100644
--- a/drivers/net/ewrk3.c
+++ b/drivers/net/ewrk3.c
@@ -299,7 +299,7 @@ struct ewrk3_private {
*/
static int ewrk3_open(struct net_device *dev);
static int ewrk3_queue_pkt(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t ewrk3_interrupt(int irq, void *dev_id);
+static irqreturn_t ewrk3_interrupt(void *dev_id);
static int ewrk3_close(struct net_device *dev);
static void set_multicast_list(struct net_device *dev);
static int ewrk3_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -875,7 +875,7 @@ err_out:
/*
** The EWRK3 interrupt handler.
*/
-static irqreturn_t ewrk3_interrupt(int irq, void *dev_id)
+static irqreturn_t ewrk3_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct ewrk3_private *lp;
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
index 43f7647..22ef8fe 100644
--- a/drivers/net/fealnx.c
+++ b/drivers/net/fealnx.c
@@ -434,7 +434,7 @@ static void reset_timer(unsigned long data);
static void tx_timeout(struct net_device *dev);
static void init_ring(struct net_device *dev);
static int start_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t intr_handler(int irq, void *dev_instance);
+static irqreturn_t intr_handler(void *dev_instance);
static int netdev_rx(struct net_device *dev);
static void set_rx_mode(struct net_device *dev);
static void __set_rx_mode(struct net_device *dev);
@@ -1451,7 +1451,7 @@ static void reset_rx_descriptors(struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t intr_handler(int irq, void *dev_instance)
+static irqreturn_t intr_handler(void *dev_instance)
{
struct net_device *dev = (struct net_device *) dev_instance;
struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 2b57820..d31fc10 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -229,7 +229,7 @@ struct fec_enet_private {
static int fec_enet_open(struct net_device *dev);
static int fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev);
static void fec_enet_mii(struct net_device *dev);
-static irqreturn_t fec_enet_interrupt(int irq, void * dev_id);
+static irqreturn_t fec_enet_interrupt(void * dev_id);
static void fec_enet_tx(struct net_device *dev);
static void fec_enet_rx(struct net_device *dev);
static int fec_enet_close(struct net_device *dev);
@@ -449,7 +449,7 @@ fec_timeout(struct net_device *dev)
* This is called from the MPC core interrupt.
*/
static irqreturn_t
-fec_enet_interrupt(int irq, void * dev_id)
+fec_enet_interrupt(void * dev_id)
{
struct net_device *dev = dev_id;
volatile fec_t *fecp;
@@ -1234,7 +1234,7 @@ static void
mii_link_interrupt(void *dev_id);
#else
static irqreturn_t
-mii_link_interrupt(int irq, void * dev_id);
+mii_link_interrupt(void *dev_id);
#endif
#endif

@@ -2140,7 +2140,7 @@ static void
mii_link_interrupt(void *dev_id)
#else
static irqreturn_t
-mii_link_interrupt(int irq, void * dev_id)
+mii_link_interrupt(void *dev_id)
#endif
{
struct net_device *dev = dev_id;
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c
index 8d2904f..134da08 100644
--- a/drivers/net/fec_8xx/fec_main.c
+++ b/drivers/net/fec_8xx/fec_main.c
@@ -698,7 +698,7 @@ static void fec_enet_tx(struct net_device *dev)
* This is called from the MPC core interrupt.
*/
static irqreturn_t
-fec_enet_interrupt(int irq, void *dev_id)
+fec_enet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct fec_enet_private *fep;
@@ -758,7 +758,7 @@ fec_enet_interrupt(int irq, void *dev_id)

/* This interrupt occurs when the PHY detects a link change. */
static irqreturn_t
-fec_mii_link_interrupt(int irq, void *dev_id)
+fec_mii_link_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct fec_enet_private *fep;
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index 04c6fae..0f6781f 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -450,7 +450,7 @@ static void fs_enet_tx(struct net_device *dev)
* This is called from the MPC core interrupt.
*/
static irqreturn_t
-fs_enet_interrupt(int irq, void *dev_id)
+fs_enet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct fs_enet_private *fep;
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index cc288d8..5de087b 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -118,9 +118,9 @@ static int gfar_close(struct net_device *dev);
struct sk_buff *gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp);
static int gfar_set_mac_address(struct net_device *dev);
static int gfar_change_mtu(struct net_device *dev, int new_mtu);
-static irqreturn_t gfar_error(int irq, void *dev_id);
-static irqreturn_t gfar_transmit(int irq, void *dev_id);
-static irqreturn_t gfar_interrupt(int irq, void *dev_id);
+static irqreturn_t gfar_error(void *dev_id);
+static irqreturn_t gfar_transmit(void *dev_id);
+static irqreturn_t gfar_interrupt(void *dev_id);
static void adjust_link(struct net_device *dev);
static void init_registers(struct net_device *dev);
static int init_phy(struct net_device *dev);
@@ -1248,7 +1248,7 @@ static void gfar_timeout(struct net_device *dev)
}

/* Interrupt Handler for Transmit complete */
-static irqreturn_t gfar_transmit(int irq, void *dev_id)
+static irqreturn_t gfar_transmit(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct gfar_private *priv = netdev_priv(dev);
@@ -1380,7 +1380,7 @@ static inline void count_errors(unsigned short status, struct net_device *dev)
}
}

-irqreturn_t gfar_receive(int irq, void *dev_id)
+irqreturn_t gfar_receive(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct gfar_private *priv = netdev_priv(dev);
@@ -1632,7 +1632,7 @@ static void gfar_netpoll(struct net_device *dev)
#endif

/* The interrupt handler for devices with one interrupt */
-static irqreturn_t gfar_interrupt(int irq, void *dev_id)
+static irqreturn_t gfar_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct gfar_private *priv = netdev_priv(dev);
@@ -1898,7 +1898,7 @@ static void gfar_set_mac_for_addr(struct net_device *dev, int num, u8 *addr)
}

/* GFAR error interrupt handler */
-static irqreturn_t gfar_error(int irq, void *dev_id)
+static irqreturn_t gfar_error(void *dev_id)
{
struct net_device *dev = dev_id;
struct gfar_private *priv = netdev_priv(dev);
diff --git a/drivers/net/gianfar.h b/drivers/net/gianfar.h
index c16cc8b..9b174af 100644
--- a/drivers/net/gianfar.h
+++ b/drivers/net/gianfar.h
@@ -765,7 +765,7 @@ static inline void gfar_write(volatile unsigned __iomem *addr, u32 val)
out_be32(addr, val);
}

-extern irqreturn_t gfar_receive(int irq, void *dev_id);
+extern irqreturn_t gfar_receive(void *dev_id);
extern int startup_gfar(struct net_device *dev);
extern void stop_gfar(struct net_device *dev);
extern void gfar_halt(struct net_device *dev);
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index ed407c8..fda9678 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -556,7 +556,7 @@ static void hamachi_timer(unsigned long data);
static void hamachi_tx_timeout(struct net_device *dev);
static void hamachi_init_ring(struct net_device *dev);
static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t hamachi_interrupt(int irq, void *dev_instance);
+static irqreturn_t hamachi_interrupt(void *dev_instance);
static int hamachi_rx(struct net_device *dev);
static inline int hamachi_tx(struct net_device *dev);
static void hamachi_error(struct net_device *dev, int intr_status);
@@ -1372,7 +1372,7 @@ static int hamachi_start_xmit(struct sk_buff *skb, struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t hamachi_interrupt(int irq, void *dev_instance)
+static irqreturn_t hamachi_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct hamachi_private *hmp = netdev_priv(dev);
diff --git a/drivers/net/hamradio/baycom_ser_fdx.c b/drivers/net/hamradio/baycom_ser_fdx.c
index 17ac697..a132079 100644
--- a/drivers/net/hamradio/baycom_ser_fdx.c
+++ b/drivers/net/hamradio/baycom_ser_fdx.c
@@ -281,7 +281,7 @@ static __inline__ void ser12_rx(struct net_device *dev, struct baycom_state *bc,

/* --------------------------------------------------------------------- */

-static irqreturn_t ser12_interrupt(int irq, void *dev_id)
+static irqreturn_t ser12_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct baycom_state *bc = netdev_priv(dev);
diff --git a/drivers/net/hamradio/baycom_ser_hdx.c b/drivers/net/hamradio/baycom_ser_hdx.c
index 3bcc57a..ca2e54e 100644
--- a/drivers/net/hamradio/baycom_ser_hdx.c
+++ b/drivers/net/hamradio/baycom_ser_hdx.c
@@ -373,7 +373,7 @@ static inline void ser12_rx(struct net_device *dev, struct baycom_state *bc)

/* --------------------------------------------------------------------- */

-static irqreturn_t ser12_interrupt(int irq, void *dev_id)
+static irqreturn_t ser12_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct baycom_state *bc = netdev_priv(dev);
diff --git a/drivers/net/hamradio/dmascc.c b/drivers/net/hamradio/dmascc.c
index bc02e46..7ca27ec 100644
--- a/drivers/net/hamradio/dmascc.c
+++ b/drivers/net/hamradio/dmascc.c
@@ -249,7 +249,7 @@ static void start_timer(struct scc_priv *priv, int t, int r15);
static inline unsigned char random(void);

static inline void z8530_isr(struct scc_info *info);
-static irqreturn_t scc_isr(int irq, void *dev_id);
+static irqreturn_t scc_isr(void *dev_id);
static void rx_isr(struct scc_priv *priv);
static void special_condition(struct scc_priv *priv, int rc);
static void rx_bh(struct work_struct *);
@@ -1133,7 +1133,7 @@ static inline void z8530_isr(struct scc_info *info)
}


-static irqreturn_t scc_isr(int irq, void *dev_id)
+static irqreturn_t scc_isr(void *dev_id)
{
struct scc_info *info = dev_id;

diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c
index 1c94286..f2bc152 100644
--- a/drivers/net/hamradio/yam.c
+++ b/drivers/net/hamradio/yam.c
@@ -693,7 +693,7 @@ static void yam_tx_byte(struct net_device *dev, struct yam_port *yp)
* ISR routine
************************************************************************************/

-static irqreturn_t yam_interrupt(int irq, void *dev_id)
+static irqreturn_t yam_interrupt(void *dev_id)
{
struct net_device *dev;
struct yam_port *yp;
diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c
index 49421d1..db116e5 100644
--- a/drivers/net/hp100.c
+++ b/drivers/net/hp100.c
@@ -249,7 +249,7 @@ static void hp100_misc_interrupt(struct net_device *dev);
static void hp100_update_stats(struct net_device *dev);
static void hp100_clear_stats(struct hp100_private *lp, int ioaddr);
static void hp100_set_multicast_list(struct net_device *dev);
-static irqreturn_t hp100_interrupt(int irq, void *dev_id);
+static irqreturn_t hp100_interrupt(void *dev_id);
static void hp100_start_interface(struct net_device *dev);
static void hp100_stop_interface(struct net_device *dev);
static void hp100_load_eeprom(struct net_device *dev, u_short ioaddr);
@@ -2184,7 +2184,7 @@ static void hp100_set_multicast_list(struct net_device *dev)
* hardware interrupt handling
*/

-static irqreturn_t hp100_interrupt(int irq, void *dev_id)
+static irqreturn_t hp100_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct hp100_private *lp = netdev_priv(dev);
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c
index 73664f2..c11e169 100644
--- a/drivers/net/ibm_emac/ibm_emac_core.c
+++ b/drivers/net/ibm_emac/ibm_emac_core.c
@@ -182,7 +182,7 @@ static const char emac_stats_keys[EMAC_ETHTOOL_STATS_COUNT][ETH_GSTRING_LEN] = {
"tx_errors"
};

-static irqreturn_t emac_irq(int irq, void *dev_instance);
+static irqreturn_t emac_irq(void *dev_instance);
static void emac_clean_tx_ring(struct ocp_enet_private *dev);

static inline int emac_phy_supports_gige(int phy_mode)
@@ -1511,7 +1511,7 @@ static void emac_rxde(void *param)
}

/* Hard IRQ */
-static irqreturn_t emac_irq(int irq, void *dev_instance)
+static irqreturn_t emac_irq(void *dev_instance)
{
struct ocp_enet_private *dev = dev_instance;
struct emac_regs __iomem *p = dev->emacp;
diff --git a/drivers/net/ibm_emac/ibm_emac_mal.c b/drivers/net/ibm_emac/ibm_emac_mal.c
index dcd8826..fb4d149 100644
--- a/drivers/net/ibm_emac/ibm_emac_mal.c
+++ b/drivers/net/ibm_emac/ibm_emac_mal.c
@@ -167,7 +167,7 @@ static inline void mal_disable_eob_irq(struct ibm_ocp_mal *mal)
MAL_DBG2("%d: disable_irq" NL, mal->def->index);
}

-static irqreturn_t mal_serr(int irq, void *dev_instance)
+static irqreturn_t mal_serr(void *dev_instance)
{
struct ibm_ocp_mal *mal = dev_instance;
u32 esr = get_mal_dcrn(mal, MAL_ESR);
@@ -215,7 +215,7 @@ static inline void mal_schedule_poll(struct ibm_ocp_mal *mal)
MAL_DBG2("%d: already in poll" NL, mal->def->index);
}

-static irqreturn_t mal_txeob(int irq, void *dev_instance)
+static irqreturn_t mal_txeob(void *dev_instance)
{
struct ibm_ocp_mal *mal = dev_instance;
u32 r = get_mal_dcrn(mal, MAL_TXEOBISR);
@@ -225,7 +225,7 @@ static irqreturn_t mal_txeob(int irq, void *dev_instance)
return IRQ_HANDLED;
}

-static irqreturn_t mal_rxeob(int irq, void *dev_instance)
+static irqreturn_t mal_rxeob(void *dev_instance)
{
struct ibm_ocp_mal *mal = dev_instance;
u32 r = get_mal_dcrn(mal, MAL_RXEOBISR);
@@ -235,7 +235,7 @@ static irqreturn_t mal_rxeob(int irq, void *dev_instance)
return IRQ_HANDLED;
}

-static irqreturn_t mal_txde(int irq, void *dev_instance)
+static irqreturn_t mal_txde(void *dev_instance)
{
struct ibm_ocp_mal *mal = dev_instance;
u32 deir = get_mal_dcrn(mal, MAL_TXDEIR);
@@ -251,7 +251,7 @@ static irqreturn_t mal_txde(int irq, void *dev_instance)
return IRQ_HANDLED;
}

-static irqreturn_t mal_rxde(int irq, void *dev_instance)
+static irqreturn_t mal_rxde(void *dev_instance)
{
struct ibm_ocp_mal *mal = dev_instance;
struct list_head *l;
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 91d83ac..3b90c3e 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -704,7 +704,7 @@ static void irqtxerr_handler(struct net_device *dev)

/* general interrupt entry */

-static irqreturn_t irq_handler(int irq, void *device)
+static irqreturn_t irq_handler(void *device)
{
struct net_device *dev = (struct net_device *) device;
u16 ival;
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 7d7758f..f698d2d 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -93,7 +93,7 @@ static void ibmveth_proc_register_driver(void);
static void ibmveth_proc_unregister_driver(void);
static void ibmveth_proc_register_adapter(struct ibmveth_adapter *adapter);
static void ibmveth_proc_unregister_adapter(struct ibmveth_adapter *adapter);
-static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance);
+static irqreturn_t ibmveth_interrupt(void *dev_instance);
static void ibmveth_rxq_harvest_buffer(struct ibmveth_adapter *adapter);
static struct kobj_type ktype_veth_pool;

@@ -988,7 +988,7 @@ static int ibmveth_poll(struct napi_struct *napi, int budget)
return frames_processed;
}

-static irqreturn_t ibmveth_interrupt(int irq, void *dev_instance)
+static irqreturn_t ibmveth_interrupt(void *dev_instance)
{
struct net_device *netdev = dev_instance;
struct ibmveth_adapter *adapter = netdev->priv;
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 373f72c..d2e5271 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -736,7 +736,7 @@ static void ioc3_error(struct ioc3_private *ip, u32 eisr)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t ioc3_interrupt(int irq, void *_dev)
+static irqreturn_t ioc3_interrupt(void *_dev)
{
struct net_device *dev = (struct net_device *)_dev;
struct ioc3_private *ip = netdev_priv(dev);
diff --git a/drivers/net/ipg.c b/drivers/net/ipg.c
index 6888723..ccd3c76 100644
--- a/drivers/net/ipg.c
+++ b/drivers/net/ipg.c
@@ -1597,7 +1597,7 @@ static void ipg_reset_after_host_error(struct work_struct *work)
}
}

-static irqreturn_t ipg_interrupt_handler(int irq, void *dev_inst)
+static irqreturn_t ipg_interrupt_handler(void *dev_inst)
{
struct net_device *dev = dev_inst;
struct ipg_nic_private *sp = netdev_priv(dev);
diff --git a/drivers/net/irda/ali-ircc.c b/drivers/net/irda/ali-ircc.c
index 9f58452..cad76ce 100644
--- a/drivers/net/irda/ali-ircc.c
+++ b/drivers/net/irda/ali-ircc.c
@@ -656,7 +656,7 @@ static int ali_ircc_read_dongle_id (int i, chipio_t *info)
* An interrupt from the chip has arrived. Time to do some work
*
*/
-static irqreturn_t ali_ircc_interrupt(int irq, void *dev_id)
+static irqreturn_t ali_ircc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct ali_ircc_cb *self;
diff --git a/drivers/net/irda/donauboe.c b/drivers/net/irda/donauboe.c
index a82d8f9..9fef892 100644
--- a/drivers/net/irda/donauboe.c
+++ b/drivers/net/irda/donauboe.c
@@ -703,7 +703,7 @@ stuff_byte (__u8 byte, __u8 * buf)
}

static irqreturn_t
-toshoboe_probeinterrupt (int irq, void *dev_id)
+toshoboe_probeinterrupt (void *dev_id)
{
struct toshoboe_cb *self = dev_id;
__u8 irqstat;
@@ -1152,7 +1152,7 @@ dumpbufs(skb->data,skb->len,'>');

/*interrupt handler */
static irqreturn_t
-toshoboe_interrupt (int irq, void *dev_id)
+toshoboe_interrupt (void *dev_id)
{
struct toshoboe_cb *self = dev_id;
__u8 irqstat;
diff --git a/drivers/net/irda/irport.c b/drivers/net/irda/irport.c
index c79caa5..fa87524 100644
--- a/drivers/net/irda/irport.c
+++ b/drivers/net/irda/irport.c
@@ -87,7 +87,7 @@ static struct net_device_stats *irport_net_get_stats(struct net_device *dev);
static int irport_change_speed_complete(struct irda_task *task);
static void irport_timeout(struct net_device *dev);

-static irqreturn_t irport_interrupt(int irq, void *dev_id);
+static irqreturn_t irport_interrupt(void *dev_id);
static int irport_hard_xmit(struct sk_buff *skb, struct net_device *dev);
static void irport_change_speed(void *priv, __u32 speed);
static int irport_net_open(struct net_device *dev);
@@ -761,7 +761,7 @@ static inline void irport_receive(struct irport_cb *self)
*
* Interrupt handler
*/
-static irqreturn_t irport_interrupt(int irq, void *dev_id)
+static irqreturn_t irport_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct irport_cb *self;
diff --git a/drivers/net/irda/irport.h b/drivers/net/irda/irport.h
index 3f46b84..5da7a35 100644
--- a/drivers/net/irda/irport.h
+++ b/drivers/net/irda/irport.h
@@ -74,7 +74,7 @@ struct irport_cb {
/* For piggyback drivers */
void *priv;
void (*change_speed)(void *priv, __u32 speed);
- irqreturn_t (*interrupt)(int irq, void *dev_id);
+ irqreturn_t (*interrupt)(void *dev_id);
};

#endif /* IRPORT_H */
diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c
index 12b9378..4f9ea92 100644
--- a/drivers/net/irda/nsc-ircc.c
+++ b/drivers/net/irda/nsc-ircc.c
@@ -2068,7 +2068,7 @@ static void nsc_ircc_fir_interrupt(struct nsc_ircc_cb *self, int iobase,
* An interrupt from the chip has arrived. Time to do some work
*
*/
-static irqreturn_t nsc_ircc_interrupt(int irq, void *dev_id)
+static irqreturn_t nsc_ircc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct nsc_ircc_cb *self;
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c
index 8c09344..26f5ff6 100644
--- a/drivers/net/irda/pxaficp_ir.c
+++ b/drivers/net/irda/pxaficp_ir.c
@@ -222,7 +222,7 @@ static int pxa_irda_set_speed(struct pxa_irda *si, int speed)
}

/* SIR interrupt service routine. */
-static irqreturn_t pxa_irda_sir_irq(int irq, void *dev_id)
+static irqreturn_t pxa_irda_sir_irq(void *dev_id)
{
struct net_device *dev = dev_id;
struct pxa_irda *si = netdev_priv(dev);
@@ -426,7 +426,7 @@ static void pxa_irda_fir_irq_eif(struct pxa_irda *si, struct net_device *dev, in
}

/* FIR interrupt handler */
-static irqreturn_t pxa_irda_fir_irq(int irq, void *dev_id)
+static irqreturn_t pxa_irda_fir_irq(void *dev_id)
{
struct net_device *dev = dev_id;
struct pxa_irda *si = netdev_priv(dev);
diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/net/irda/sa1100_ir.c
index 056639f..3b79304 100644
--- a/drivers/net/irda/sa1100_ir.c
+++ b/drivers/net/irda/sa1100_ir.c
@@ -579,7 +579,7 @@ static void sa1100_irda_fir_irq(struct net_device *dev)
sa1100_irda_rx_dma_start(si);
}

-static irqreturn_t sa1100_irda_irq(int irq, void *dev_id)
+static irqreturn_t sa1100_irda_irq(void *dev_id)
{
struct net_device *dev = dev_id;
if (IS_FIR(((struct sa1100_irda *)dev->priv)))
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/net/irda/vlsi_ir.c
index acd082a..7e88666 100644
--- a/drivers/net/irda/vlsi_ir.c
+++ b/drivers/net/irda/vlsi_ir.c
@@ -1455,7 +1455,7 @@ static int vlsi_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd)

/********************************************************/

-static irqreturn_t vlsi_interrupt(int irq, void *dev_instance)
+static irqreturn_t vlsi_interrupt(void *dev_instance)
{
struct net_device *ndev = dev_instance;
vlsi_irda_dev_t *idev = ndev->priv;
diff --git a/drivers/net/irda/w83977af_ir.c b/drivers/net/irda/w83977af_ir.c
index 9fd2451..0ca43a3 100644
--- a/drivers/net/irda/w83977af_ir.c
+++ b/drivers/net/irda/w83977af_ir.c
@@ -1112,7 +1112,7 @@ static __u8 w83977af_fir_interrupt(struct w83977af_ir *self, int isr)
* An interrupt from the chip has arrived. Time to do some work
*
*/
-static irqreturn_t w83977af_interrupt(int irq, void *dev_id)
+static irqreturn_t w83977af_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct w83977af_ir *self;
diff --git a/drivers/net/isa-skeleton.c b/drivers/net/isa-skeleton.c
index d6ff26a..e3c6a11 100644
--- a/drivers/net/isa-skeleton.c
+++ b/drivers/net/isa-skeleton.c
@@ -107,7 +107,7 @@ struct net_local {
static int netcard_probe1(struct net_device *dev, int ioaddr);
static int net_open(struct net_device *dev);
static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t net_interrupt(int irq, void *dev_id);
+static irqreturn_t net_interrupt(void *dev_id);
static void net_rx(struct net_device *dev);
static int net_close(struct net_device *dev);
static struct net_device_stats *net_get_stats(struct net_device *dev);
@@ -505,7 +505,7 @@ void net_tx(struct net_device *dev)
* The typical workload of the driver:
* Handle the network interface interrupts.
*/
-static irqreturn_t net_interrupt(int irq, void *dev_id)
+static irqreturn_t net_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *np;
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index d444de5..b8c0cf7 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -93,7 +93,7 @@ static int ixgb_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
static struct net_device_stats *ixgb_get_stats(struct net_device *netdev);
static int ixgb_change_mtu(struct net_device *netdev, int new_mtu);
static int ixgb_set_mac(struct net_device *netdev, void *p);
-static irqreturn_t ixgb_intr(int irq, void *data);
+static irqreturn_t ixgb_intr(void *data);
static boolean_t ixgb_clean_tx_irq(struct ixgb_adapter *adapter);

#ifdef CONFIG_IXGB_NAPI
@@ -1726,7 +1726,7 @@ ixgb_update_stats(struct ixgb_adapter *adapter)
**/

static irqreturn_t
-ixgb_intr(int irq, void *data)
+ixgb_intr(void *data)
{
struct net_device *netdev = data;
struct ixgb_adapter *adapter = netdev_priv(netdev);
@@ -2246,7 +2246,7 @@ static void ixgb_netpoll(struct net_device *dev)
struct ixgb_adapter *adapter = netdev_priv(dev);

disable_irq(adapter->pdev->irq);
- ixgb_intr(adapter->pdev->irq, dev);
+ ixgb_intr(dev);
enable_irq(adapter->pdev->irq);
}
#endif
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index b75f1c6..a53bcb0 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -524,7 +524,7 @@ static void ixgbe_configure_msix(struct ixgbe_adapter *adapter)
IXGBE_WRITE_REG(&adapter->hw, IXGBE_EITR(vector), 1950);
}

-static irqreturn_t ixgbe_msix_lsc(int irq, void *data)
+static irqreturn_t ixgbe_msix_lsc(void *data)
{
struct net_device *netdev = data;
struct ixgbe_adapter *adapter = netdev_priv(netdev);
@@ -541,7 +541,7 @@ static irqreturn_t ixgbe_msix_lsc(int irq, void *data)
return IRQ_HANDLED;
}

-static irqreturn_t ixgbe_msix_clean_tx(int irq, void *data)
+static irqreturn_t ixgbe_msix_clean_tx(void *data)
{
struct ixgbe_ring *txr = data;
struct ixgbe_adapter *adapter = txr->adapter;
@@ -551,7 +551,7 @@ static irqreturn_t ixgbe_msix_clean_tx(int irq, void *data)
return IRQ_HANDLED;
}

-static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
+static irqreturn_t ixgbe_msix_clean_rx(void *data)
{
struct ixgbe_ring *rxr = data;
struct ixgbe_adapter *adapter = rxr->adapter;
@@ -694,7 +694,7 @@ out:
* @data: pointer to a network interface device structure
* @pt_regs: CPU registers structure
**/
-static irqreturn_t ixgbe_intr(int irq, void *data)
+static irqreturn_t ixgbe_intr(void *data)
{
struct net_device *netdev = data;
struct ixgbe_adapter *adapter = netdev_priv(netdev);
@@ -733,7 +733,7 @@ static int ixgbe_request_irq(struct ixgbe_adapter *adapter, u32 *num_rx_queues)
{
struct net_device *netdev = adapter->netdev;
int flags, err;
- irqreturn_t(*handler) (int, void *) = &ixgbe_intr;
+ irqreturn_t(*handler) (void *) = &ixgbe_intr;

flags = IRQF_SHARED;

@@ -2484,7 +2484,7 @@ static void ixgbe_netpoll(struct net_device *netdev)

disable_irq(adapter->pdev->irq);
adapter->flags |= IXGBE_FLAG_IN_NETPOLL;
- ixgbe_intr(adapter->pdev->irq, netdev);
+ ixgbe_intr(netdev);
adapter->flags &= ~IXGBE_FLAG_IN_NETPOLL;
enable_irq(adapter->pdev->irq);
}
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c
index 6c0dd49..e48f8a5 100644
--- a/drivers/net/ixp2000/ixpdev.c
+++ b/drivers/net/ixp2000/ixpdev.c
@@ -192,7 +192,7 @@ static void ixpdev_tx_complete(void)
}
}

-static irqreturn_t ixpdev_interrupt(int irq, void *dev_id)
+static irqreturn_t ixpdev_interrupt(void *dev_id)
{
u32 status;

@@ -230,7 +230,7 @@ static irqreturn_t ixpdev_interrupt(int irq, void *dev_id)
static void ixpdev_poll_controller(struct net_device *dev)
{
disable_irq(IRQ_IXP2000_THDA0);
- ixpdev_interrupt(IRQ_IXP2000_THDA0, dev);
+ ixpdev_interrupt(dev);
enable_irq(IRQ_IXP2000_THDA0);
}
#endif
diff --git a/drivers/net/lance.c b/drivers/net/lance.c
index 977ed34..bce199e 100644
--- a/drivers/net/lance.c
+++ b/drivers/net/lance.c
@@ -302,7 +302,7 @@ static int lance_open(struct net_device *dev);
static void lance_init_ring(struct net_device *dev, gfp_t mode);
static int lance_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int lance_rx(struct net_device *dev);
-static irqreturn_t lance_interrupt(int irq, void *dev_id);
+static irqreturn_t lance_interrupt(void *dev_id);
static int lance_close(struct net_device *dev);
static struct net_device_stats *lance_get_stats(struct net_device *dev);
static void set_multicast_list(struct net_device *dev);
@@ -1013,7 +1013,7 @@ out:
}

/* The LANCE interrupt handler. */
-static irqreturn_t lance_interrupt(int irq, void *dev_id)
+static irqreturn_t lance_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct lance_private *lp;
diff --git a/drivers/net/lguest_net.c b/drivers/net/lguest_net.c
index abce2ee..08a196c 100644
--- a/drivers/net/lguest_net.c
+++ b/drivers/net/lguest_net.c
@@ -315,7 +315,7 @@ static int fill_slot(struct net_device *dev, unsigned int slot)

/* This is the actual receive routine. When we receive an interrupt from the
* Host to tell us a packet has been delivered, we arrive here: */
-static irqreturn_t lguestnet_rcv(int irq, void *dev_id)
+static irqreturn_t lguestnet_rcv(void *dev_id)
{
struct net_device *dev = dev_id;
struct lguestnet_info *info = netdev_priv(dev);
diff --git a/drivers/net/lib8390.c b/drivers/net/lib8390.c
index c429a50..eaf1701 100644
--- a/drivers/net/lib8390.c
+++ b/drivers/net/lib8390.c
@@ -434,7 +434,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
* needed.
*/

-static irqreturn_t __ei_interrupt(int irq, void *dev_id)
+static irqreturn_t __ei_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
unsigned long e8390_base = dev->base_addr;
@@ -531,7 +531,7 @@ static irqreturn_t __ei_interrupt(int irq, void *dev_id)
static void __ei_poll(struct net_device *dev)
{
disable_irq_lockdep(dev->irq);
- __ei_interrupt(dev->irq, dev);
+ __ei_interrupt(dev);
enable_irq_lockdep(dev->irq);
}
#endif
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index c5095ec..d72d781 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -378,7 +378,7 @@ static char init_setup[14] = {

static int i596_open(struct net_device *dev);
static int i596_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t i596_interrupt(int irq, void *dev_id);
+static irqreturn_t i596_interrupt(void *dev_id);
static int i596_close(struct net_device *dev);
static void i596_add_cmd(struct net_device *dev, struct i596_cmd *cmd);
static void print_eth(char *);
@@ -1144,7 +1144,7 @@ i596_handle_CU_completion(struct net_device *dev,
}

static irqreturn_t
-i596_interrupt (int irq, void *dev_instance) {
+i596_interrupt (void *dev_instance) {
struct net_device *dev = (struct net_device *) dev_instance;
struct i596_private *lp;
unsigned short status, ack_cmd = 0;
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c
index 30854f0..7ed6cbc 100644
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -129,7 +129,7 @@ extern void reset_chip(struct net_device *dev);
#endif
static int net_open(struct net_device *dev);
static int net_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t net_interrupt(int irq, void *dev_id);
+static irqreturn_t net_interrupt(void *dev_id);
static void set_multicast_list(struct net_device *dev);
static void net_rx(struct net_device *dev);
static int net_close(struct net_device *dev);
@@ -411,7 +411,7 @@ net_send_packet(struct sk_buff *skb, struct net_device *dev)

/* The typical workload of the driver:
Handle the network interface interrupts. */
-static irqreturn_t net_interrupt(int irq, void *dev_id)
+static irqreturn_t net_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/mace.c b/drivers/net/mace.c
index 95ebe72..a24c43c 100644
--- a/drivers/net/mace.c
+++ b/drivers/net/mace.c
@@ -80,9 +80,9 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev);
static void mace_set_multicast(struct net_device *dev);
static void mace_reset(struct net_device *dev);
static int mace_set_address(struct net_device *dev, void *addr);
-static irqreturn_t mace_interrupt(int irq, void *dev_id);
-static irqreturn_t mace_txdma_intr(int irq, void *dev_id);
-static irqreturn_t mace_rxdma_intr(int irq, void *dev_id);
+static irqreturn_t mace_interrupt(void *dev_id);
+static irqreturn_t mace_txdma_intr(void *dev_id);
+static irqreturn_t mace_rxdma_intr(void *dev_id);
static void mace_set_timeout(struct net_device *dev);
static void mace_tx_timeout(unsigned long data);
static inline void dbdma_reset(volatile struct dbdma_regs __iomem *dma);
@@ -653,7 +653,7 @@ static void mace_handle_misc_intrs(struct mace_data *mp, int intr, struct net_de
printk(KERN_DEBUG "mace: jabbering transceiver\n");
}

-static irqreturn_t mace_interrupt(int irq, void *dev_id)
+static irqreturn_t mace_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct mace_data *mp = (struct mace_data *) dev->priv;
@@ -865,12 +865,12 @@ out:
spin_unlock_irqrestore(&mp->lock, flags);
}

-static irqreturn_t mace_txdma_intr(int irq, void *dev_id)
+static irqreturn_t mace_txdma_intr(void *dev_id)
{
return IRQ_HANDLED;
}

-static irqreturn_t mace_rxdma_intr(int irq, void *dev_id)
+static irqreturn_t mace_rxdma_intr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct mace_data *mp = (struct mace_data *) dev->priv;
diff --git a/drivers/net/macmace.c b/drivers/net/macmace.c
index 1877052..f50c344 100644
--- a/drivers/net/macmace.c
+++ b/drivers/net/macmace.c
@@ -94,8 +94,8 @@ static int mace_xmit_start(struct sk_buff *skb, struct net_device *dev);
static void mace_set_multicast(struct net_device *dev);
static int mace_set_address(struct net_device *dev, void *addr);
static void mace_reset(struct net_device *dev);
-static irqreturn_t mace_interrupt(int irq, void *dev_id);
-static irqreturn_t mace_dma_intr(int irq, void *dev_id);
+static irqreturn_t mace_interrupt(void *dev_id);
+static irqreturn_t mace_dma_intr(void *dev_id);
static void mace_tx_timeout(struct net_device *dev);
static void __mace_set_address(struct net_device *dev, void *addr);

@@ -560,7 +560,7 @@ static void mace_handle_misc_intrs(struct net_device *dev, int intr)
printk(KERN_DEBUG "macmace: jabbering transceiver\n");
}

-static irqreturn_t mace_interrupt(int irq, void *dev_id)
+static irqreturn_t mace_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct mace_data *mp = netdev_priv(dev);
@@ -684,7 +684,7 @@ static void mace_dma_rx_frame(struct net_device *dev, struct mace_frame *mf)
* The PSC has passed us a DMA interrupt event.
*/

-static irqreturn_t mace_dma_intr(int irq, void *dev_id)
+static irqreturn_t mace_dma_intr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct mace_data *mp = netdev_priv(dev);
diff --git a/drivers/net/meth.c b/drivers/net/meth.c
index e25dbab..48d11fa 100644
--- a/drivers/net/meth.c
+++ b/drivers/net/meth.c
@@ -87,7 +87,7 @@ struct meth_private {
};

static void meth_tx_timeout(struct net_device *dev);
-static irqreturn_t meth_interrupt(int irq, void *dev_id);
+static irqreturn_t meth_interrupt(void *dev_id);

/* global, initialized in ip32-setup.c */
char o2meth_eaddr[8]={0,0,0,0,0,0,0,0};
@@ -563,7 +563,7 @@ static void meth_error(struct net_device* dev, unsigned status)
/*
* The typical interrupt entry point
*/
-static irqreturn_t meth_interrupt(int irq, void *dev_id)
+static irqreturn_t meth_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct meth_private *priv = netdev_priv(dev);
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index 37707a0..7bb8f6f 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -104,7 +104,7 @@ static inline ssize_t mipsnet_get_fromdev(struct net_device *dev, size_t count)
return count;
}

-static irqreturn_t mipsnet_interrupt(int irq, void *dev_id)
+static irqreturn_t mipsnet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;

diff --git a/drivers/net/mlx4/eq.c b/drivers/net/mlx4/eq.c
index 9c36c20..41cd70e 100644
--- a/drivers/net/mlx4/eq.c
+++ b/drivers/net/mlx4/eq.c
@@ -253,7 +253,7 @@ static int mlx4_eq_int(struct mlx4_dev *dev, struct mlx4_eq *eq)
return eqes_found;
}

-static irqreturn_t mlx4_interrupt(int irq, void *dev_ptr)
+static irqreturn_t mlx4_interrupt(void *dev_ptr)
{
struct mlx4_dev *dev = dev_ptr;
struct mlx4_priv *priv = mlx4_priv(dev);
@@ -268,7 +268,7 @@ static irqreturn_t mlx4_interrupt(int irq, void *dev_ptr)
return IRQ_RETVAL(work);
}

-static irqreturn_t mlx4_msi_x_interrupt(int irq, void *eq_ptr)
+static irqreturn_t mlx4_msi_x_interrupt(void *eq_ptr)
{
struct mlx4_eq *eq = eq_ptr;
struct mlx4_dev *dev = eq->dev;
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 84f2d63..88d1ac2 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -514,7 +514,7 @@ static void mv643xx_eth_update_pscr(struct net_device *dev,
* Output : N/A
*/

-static irqreturn_t mv643xx_eth_int_handler(int irq, void *dev_id)
+static irqreturn_t mv643xx_eth_int_handler(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct mv643xx_private *mp = netdev_priv(dev);
@@ -1237,7 +1237,7 @@ static void mv643xx_netpoll(struct net_device *netdev)
/* wait for previous write to complete */
mv_read(MV643XX_ETH_INTERRUPT_MASK_REG(port_num));

- mv643xx_eth_int_handler(netdev->irq, netdev);
+ mv643xx_eth_int_handler(netdev);

mv_write(MV643XX_ETH_INTERRUPT_MASK_REG(port_num), ETH_INT_UNMASK_ALL);
}
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 366e62a..8bd4bbe 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -1246,7 +1246,7 @@ static int myri10ge_poll(struct napi_struct *napi, int budget)
return work_done;
}

-static irqreturn_t myri10ge_intr(int irq, void *arg)
+static irqreturn_t myri10ge_intr(void *arg)
{
struct myri10ge_priv *mgp = arg;
struct mcp_irq_data *stats = mgp->fw_stats;
diff --git a/drivers/net/myri_sbus.c b/drivers/net/myri_sbus.c
index 8d29319..7e5b6aa 100644
--- a/drivers/net/myri_sbus.c
+++ b/drivers/net/myri_sbus.c
@@ -529,7 +529,7 @@ static void myri_rx(struct myri_eth *mp, struct net_device *dev)
}
}

-static irqreturn_t myri_interrupt(int irq, void *dev_id)
+static irqreturn_t myri_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct myri_eth *mp = (struct myri_eth *) dev->priv;
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index 50e1ec6..5ebcdac 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -636,7 +636,7 @@ static void free_ring(struct net_device *dev);
static void reinit_ring(struct net_device *dev);
static void init_registers(struct net_device *dev);
static int start_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t intr_handler(int irq, void *dev_instance);
+static irqreturn_t intr_handler(void *dev_instance);
static void netdev_error(struct net_device *dev, int intr_status);
static int natsemi_poll(struct napi_struct *napi, int budget);
static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do);
@@ -2180,7 +2180,7 @@ static void netdev_tx_done(struct net_device *dev)

/* The interrupt handler doesn't actually handle interrupts itself, it
* schedules a NAPI poll if there is anything to do. */
-static irqreturn_t intr_handler(int irq, void *dev_instance)
+static irqreturn_t intr_handler(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct netdev_private *np = netdev_priv(dev);
@@ -2480,7 +2480,7 @@ static struct net_device_stats *get_stats(struct net_device *dev)
static void natsemi_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- intr_handler(dev->irq, dev);
+ intr_handler(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/netx-eth.c b/drivers/net/netx-eth.c
index eb0aff7..8475ce7 100644
--- a/drivers/net/netx-eth.c
+++ b/drivers/net/netx-eth.c
@@ -174,7 +174,7 @@ static void netx_eth_receive(struct net_device *ndev)
}

static irqreturn_t
-netx_eth_interrupt(int irq, void *dev_id)
+netx_eth_interrupt(void *dev_id)
{
struct net_device *ndev = dev_id;
struct netx_eth_priv *priv = netdev_priv(ndev);
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c
index 14a768f..c673b59 100644
--- a/drivers/net/ni5010.c
+++ b/drivers/net/ni5010.c
@@ -98,7 +98,7 @@ struct ni5010_local {
static int ni5010_probe1(struct net_device *dev, int ioaddr);
static int ni5010_open(struct net_device *dev);
static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t ni5010_interrupt(int irq, void *dev_id);
+static irqreturn_t ni5010_interrupt(void *dev_id);
static void ni5010_rx(struct net_device *dev);
static void ni5010_timeout(struct net_device *dev);
static int ni5010_close(struct net_device *dev);
@@ -465,7 +465,7 @@ static int ni5010_send_packet(struct sk_buff *skb, struct net_device *dev)
* The typical workload of the driver:
* Handle the network interface interrupts.
*/
-static irqreturn_t ni5010_interrupt(int irq, void *dev_id)
+static irqreturn_t ni5010_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct ni5010_local *lp;
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index 6b3384a..2f4dae5 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -193,7 +193,7 @@ sizeof(nop_cmd) = 8;
#define NI52_ADDR2 0x01

static int ni52_probe1(struct net_device *dev,int ioaddr);
-static irqreturn_t ni52_interrupt(int irq,void *dev_id);
+static irqreturn_t ni52_interrupt(void *dev_id);
static int ni52_open(struct net_device *dev);
static int ni52_close(struct net_device *dev);
static int ni52_send_packet(struct sk_buff *,struct net_device *);
@@ -833,7 +833,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)
* Interrupt Handler ...
*/

-static irqreturn_t ni52_interrupt(int irq,void *dev_id)
+static irqreturn_t ni52_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
unsigned short stat;
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c
index 3edc971..12d2b1c 100644
--- a/drivers/net/ni65.c
+++ b/drivers/net/ni65.c
@@ -248,7 +248,7 @@ struct priv
};

static int ni65_probe1(struct net_device *dev,int);
-static irqreturn_t ni65_interrupt(int irq, void * dev_id);
+static irqreturn_t ni65_interrupt(void *dev_id);
static void ni65_recv_intr(struct net_device *dev,int);
static void ni65_xmit_intr(struct net_device *dev,int);
static int ni65_open(struct net_device *dev);
@@ -869,7 +869,7 @@ static int ni65_lance_reinit(struct net_device *dev)
/*
* interrupt handler
*/
-static irqreturn_t ni65_interrupt(int irq, void * dev_id)
+static irqreturn_t ni65_interrupt(void *dev_id)
{
int csr0 = 0;
struct net_device *dev = dev_id;
diff --git a/drivers/net/niu.c b/drivers/net/niu.c
index ed1f9bb..bb57df2 100644
--- a/drivers/net/niu.c
+++ b/drivers/net/niu.c
@@ -2870,7 +2870,7 @@ static void niu_schedule_napi(struct niu *np, struct niu_ldg *lp,
}
}

-static irqreturn_t niu_interrupt(int irq, void *dev_id)
+static irqreturn_t niu_interrupt(void *dev_id)
{
struct niu_ldg *lp = dev_id;
struct niu *np = lp->np;
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index ea71f6d..dc7bd56 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -1422,7 +1422,7 @@ static void ns83820_mib_isr(struct ns83820 *dev)
}

static void ns83820_do_isr(struct net_device *ndev, u32 isr);
-static irqreturn_t ns83820_irq(int foo, void *data)
+static irqreturn_t ns83820_irq(void *data)
{
struct net_device *ndev = data;
struct ns83820 *dev = PRIV(ndev);
diff --git a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c
index ed402e0..829a56d 100644
--- a/drivers/net/pci-skeleton.c
+++ b/drivers/net/pci-skeleton.c
@@ -501,7 +501,7 @@ static void netdrv_tx_timeout (struct net_device *dev);
static void netdrv_init_ring (struct net_device *dev);
static int netdrv_start_xmit (struct sk_buff *skb,
struct net_device *dev);
-static irqreturn_t netdrv_interrupt (int irq, void *dev_instance);
+static irqreturn_t netdrv_interrupt (void *dev_instance);
static int netdrv_close (struct net_device *dev);
static int netdrv_ioctl (struct net_device *dev, struct ifreq *rq, int cmd);
static void netdrv_set_rx_mode (struct net_device *dev);
@@ -1645,7 +1645,7 @@ static void netdrv_weird_interrupt (struct net_device *dev,

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t netdrv_interrupt (int irq, void *dev_instance)
+static irqreturn_t netdrv_interrupt (void *dev_instance)
{
struct net_device *dev = (struct net_device *) dev_instance;
struct netdrv_private *tp = dev->priv;
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c
index 73dcbb7..48439de 100644
--- a/drivers/net/pcmcia/3c574_cs.c
+++ b/drivers/net/pcmcia/3c574_cs.c
@@ -238,7 +238,7 @@ static void tc574_reset(struct net_device *dev);
static void media_check(unsigned long arg);
static int el3_open(struct net_device *dev);
static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el3_interrupt(int irq, void *dev_id);
+static irqreturn_t el3_interrupt(void *dev_id);
static void update_stats(struct net_device *dev);
static struct net_device_stats *el3_get_stats(struct net_device *dev);
static int el3_rx(struct net_device *dev, int worklimit);
@@ -806,7 +806,7 @@ static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
}

/* The EL3 interrupt handler. */
-static irqreturn_t el3_interrupt(int irq, void *dev_id)
+static irqreturn_t el3_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct el3_private *lp = netdev_priv(dev);
@@ -916,7 +916,7 @@ static void media_check(unsigned long arg)
if ((inw(ioaddr + EL3_STATUS) & IntLatch) && (inb(ioaddr + Timer) == 0xff)) {
if (!lp->fast_poll)
printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
- el3_interrupt(dev->irq, dev);
+ el3_interrupt(dev);
lp->fast_poll = HZ;
}
if (lp->fast_poll) {
diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c
index 32076ca..e88da00 100644
--- a/drivers/net/pcmcia/3c589_cs.c
+++ b/drivers/net/pcmcia/3c589_cs.c
@@ -151,7 +151,7 @@ static void media_check(unsigned long arg);
static int el3_config(struct net_device *dev, struct ifmap *map);
static int el3_open(struct net_device *dev);
static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t el3_interrupt(int irq, void *dev_id);
+static irqreturn_t el3_interrupt(void *dev_id);
static void update_stats(struct net_device *dev);
static struct net_device_stats *el3_get_stats(struct net_device *dev);
static int el3_rx(struct net_device *dev);
@@ -636,7 +636,7 @@ static int el3_start_xmit(struct sk_buff *skb, struct net_device *dev)
}

/* The EL3 interrupt handler. */
-static irqreturn_t el3_interrupt(int irq, void *dev_id)
+static irqreturn_t el3_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct el3_private *lp = netdev_priv(dev);
@@ -738,7 +738,7 @@ static void media_check(unsigned long arg)
(inb(ioaddr + EL3_TIMER) == 0xff)) {
if (!lp->fast_poll)
printk(KERN_WARNING "%s: interrupt(s) dropped!\n", dev->name);
- el3_interrupt(dev->irq, dev);
+ el3_interrupt(dev);
lp->fast_poll = HZ;
}
if (lp->fast_poll) {
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index a95a2ca..4bb96a5 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -92,7 +92,7 @@ static int axnet_open(struct net_device *dev);
static int axnet_close(struct net_device *dev);
static int axnet_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static const struct ethtool_ops netdev_ethtool_ops;
-static irqreturn_t ei_irq_wrapper(int irq, void *dev_id);
+static irqreturn_t ei_irq_wrapper(void *dev_id);
static void ei_watchdog(u_long arg);
static void axnet_reset_8390(struct net_device *dev);

@@ -112,7 +112,7 @@ static void axdev_setup(struct net_device *dev);
static void AX88190_init(struct net_device *dev, int startp);
static int ax_open(struct net_device *dev);
static int ax_close(struct net_device *dev);
-static irqreturn_t ax_interrupt(int irq, void *dev_id);
+static irqreturn_t ax_interrupt(void *dev_id);

/*====================================================================*/

@@ -599,11 +599,11 @@ static void axnet_reset_8390(struct net_device *dev)

/*====================================================================*/

-static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
+static irqreturn_t ei_irq_wrapper(void *dev_id)
{
struct net_device *dev = dev_id;
PRIV(dev)->stale = 0;
- return ax_interrupt(irq, dev_id);
+ return ax_interrupt(dev_id);
}

static void ei_watchdog(u_long arg)
@@ -621,7 +621,7 @@ static void ei_watchdog(u_long arg)
if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
if (!info->fast_poll)
printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
- ei_irq_wrapper(dev->irq, dev);
+ ei_irq_wrapper(dev);
info->fast_poll = HZ;
}
if (info->fast_poll) {
@@ -1194,7 +1194,7 @@ static int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
* needed.
*/

-static irqreturn_t ax_interrupt(int irq, void *dev_id)
+static irqreturn_t ax_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
long e8390_base;
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c
index a355a93..193f3b4 100644
--- a/drivers/net/pcmcia/nmclan_cs.c
+++ b/drivers/net/pcmcia/nmclan_cs.c
@@ -426,7 +426,7 @@ static int mace_open(struct net_device *dev);
static int mace_close(struct net_device *dev);
static int mace_start_xmit(struct sk_buff *skb, struct net_device *dev);
static void mace_tx_timeout(struct net_device *dev);
-static irqreturn_t mace_interrupt(int irq, void *dev_id);
+static irqreturn_t mace_interrupt(void *dev_id);
static struct net_device_stats *mace_get_stats(struct net_device *dev);
static int mace_rx(struct net_device *dev, unsigned char RxCnt);
static void restore_multicast_list(struct net_device *dev);
@@ -992,7 +992,7 @@ static int mace_start_xmit(struct sk_buff *skb, struct net_device *dev)
mace_interrupt
The interrupt handler.
---------------------------------------------------------------------------- */
-static irqreturn_t mace_interrupt(int irq, void *dev_id)
+static irqreturn_t mace_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
mace_private *lp = netdev_priv(dev);
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
index 9d45e96..8bdf95a 100644
--- a/drivers/net/pcmcia/pcnet_cs.c
+++ b/drivers/net/pcmcia/pcnet_cs.c
@@ -109,7 +109,7 @@ static int pcnet_open(struct net_device *dev);
static int pcnet_close(struct net_device *dev);
static int ei_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static const struct ethtool_ops netdev_ethtool_ops;
-static irqreturn_t ei_irq_wrapper(int irq, void *dev_id);
+static irqreturn_t ei_irq_wrapper(void *dev_id);
static void ei_watchdog(u_long arg);
static void pcnet_reset_8390(struct net_device *dev);
static int set_config(struct net_device *dev, struct ifmap *map);
@@ -1056,11 +1056,11 @@ static int set_config(struct net_device *dev, struct ifmap *map)

/*====================================================================*/

-static irqreturn_t ei_irq_wrapper(int irq, void *dev_id)
+static irqreturn_t ei_irq_wrapper(void *dev_id)
{
struct net_device *dev = dev_id;
pcnet_dev_t *info;
- irqreturn_t ret = ei_interrupt(irq, dev_id);
+ irqreturn_t ret = ei_interrupt(dev_id);

if (ret == IRQ_HANDLED) {
info = PRIV(dev);
@@ -1084,7 +1084,7 @@ static void ei_watchdog(u_long arg)
if (info->stale++ && (inb_p(nic_base + EN0_ISR) & ENISR_ALL)) {
if (!info->fast_poll)
printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
- ei_irq_wrapper(dev->irq, dev);
+ ei_irq_wrapper(dev);
info->fast_poll = HZ;
}
if (info->fast_poll) {
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c
index 58d716f..0fa3b8a 100644
--- a/drivers/net/pcmcia/smc91c92_cs.c
+++ b/drivers/net/pcmcia/smc91c92_cs.c
@@ -287,7 +287,7 @@ static int smc_close(struct net_device *dev);
static int smc_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
static void smc_tx_timeout(struct net_device *dev);
static int smc_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t smc_interrupt(int irq, void *dev_id);
+static irqreturn_t smc_interrupt(void *dev_id);
static void smc_rx(struct net_device *dev);
static struct net_device_stats *smc_get_stats(struct net_device *dev);
static void set_rx_mode(struct net_device *dev);
@@ -1509,7 +1509,7 @@ static void smc_eph_irq(struct net_device *dev)

/*====================================================================*/

-static irqreturn_t smc_interrupt(int irq, void *dev_id)
+static irqreturn_t smc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct smc_private *smc = netdev_priv(dev);
@@ -1934,7 +1934,7 @@ static void media_check(u_long arg)
if (smc->watchdog++ && ((i>>8) & i)) {
if (!smc->fast_poll)
printk(KERN_INFO "%s: interrupt(s) dropped!\n", dev->name);
- smc_interrupt(dev->irq, dev);
+ smc_interrupt(dev);
smc->fast_poll = HZ;
}
if (smc->fast_poll) {
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c
index c3b6960..a8e2448 100644
--- a/drivers/net/pcmcia/xirc2ps_cs.c
+++ b/drivers/net/pcmcia/xirc2ps_cs.c
@@ -308,7 +308,7 @@ static void xirc2ps_detach(struct pcmcia_device *p_dev);
* less on other parts of the kernel.
*/

-static irqreturn_t xirc2ps_interrupt(int irq, void *dev_id);
+static irqreturn_t xirc2ps_interrupt(void *dev_id);

/****************
* A linked list of "instances" of the device. Each actual
@@ -1100,7 +1100,7 @@ static int xirc2ps_resume(struct pcmcia_device *link)
* This is the Interrupt service route.
*/
static irqreturn_t
-xirc2ps_interrupt(int irq, void *dev_id)
+xirc2ps_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
local_info_t *lp = netdev_priv(dev);
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index 5f994b5..b58adc2 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -306,7 +306,7 @@ static int pcnet32_open(struct net_device *);
static int pcnet32_init_ring(struct net_device *);
static int pcnet32_start_xmit(struct sk_buff *, struct net_device *);
static void pcnet32_tx_timeout(struct net_device *dev);
-static irqreturn_t pcnet32_interrupt(int, void *);
+static irqreturn_t pcnet32_interrupt(void *);
static int pcnet32_close(struct net_device *);
static struct net_device_stats *pcnet32_get_stats(struct net_device *);
static void pcnet32_load_multicast(struct net_device *dev);
@@ -682,7 +682,7 @@ static void pcnet32_purge_rx_ring(struct net_device *dev)
static void pcnet32_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- pcnet32_interrupt(0, dev);
+ pcnet32_interrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -2558,7 +2558,7 @@ static int pcnet32_start_xmit(struct sk_buff *skb, struct net_device *dev)

/* The PCNET32 interrupt handler. */
static irqreturn_t
-pcnet32_interrupt(int irq, void *dev_id)
+pcnet32_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct pcnet32_private *lp;
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index 30adf72..1b08646 100644
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -2336,7 +2336,7 @@ quit_polling:
return tx_cleaned + rx_cleaned;
}

-static irqreturn_t ql3xxx_isr(int irq, void *dev_id)
+static irqreturn_t ql3xxx_isr(void *dev_id)
{

struct net_device *ndev = dev_id;
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 419c00c..dc5e003 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -436,7 +436,7 @@ MODULE_VERSION(RTL8169_VERSION);

static int rtl8169_open(struct net_device *dev);
static int rtl8169_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance);
+static irqreturn_t rtl8169_interrupt(void *dev_instance);
static int rtl8169_init_ring(struct net_device *dev);
static void rtl_hw_start(struct net_device *dev);
static int rtl8169_close(struct net_device *dev);
@@ -1328,7 +1328,7 @@ static void rtl8169_netpoll(struct net_device *dev)
struct pci_dev *pdev = tp->pci_dev;

disable_irq(pdev->irq);
- rtl8169_interrupt(pdev->irq, dev);
+ rtl8169_interrupt(dev);
enable_irq(pdev->irq);
}
#endif
@@ -2752,7 +2752,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
return count;
}

-static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
+static irqreturn_t rtl8169_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct rtl8169_private *tp = netdev_priv(dev);
diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c
index 19152f5..0f60e9f 100644
--- a/drivers/net/rrunner.c
+++ b/drivers/net/rrunner.c
@@ -1046,7 +1046,7 @@ static void rx_int(struct net_device *dev, u32 rxlimit, u32 index)
}


-static irqreturn_t rr_interrupt(int irq, void *dev_id)
+static irqreturn_t rr_interrupt(void *dev_id)
{
struct rr_private *rrpriv;
struct rr_regs __iomem *regs;
diff --git a/drivers/net/rrunner.h b/drivers/net/rrunner.h
index 6a79825..c3daaa2 100644
--- a/drivers/net/rrunner.h
+++ b/drivers/net/rrunner.h
@@ -828,7 +828,7 @@ struct rr_private
*/
static int rr_init(struct net_device *dev);
static int rr_init1(struct net_device *dev);
-static irqreturn_t rr_interrupt(int irq, void *dev_id);
+static irqreturn_t rr_interrupt(void *dev_id);

static int rr_open(struct net_device *dev);
static int rr_start_xmit(struct sk_buff *skb, struct net_device *dev);
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 22e4054..abc24ba 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -3723,7 +3723,7 @@ static int s2io_enable_msi_x(struct s2io_nic *nic)
}

/* Handle software interrupt used during MSI(X) test */
-static irqreturn_t __devinit s2io_test_intr(int irq, void *dev_id)
+static irqreturn_t __devinit s2io_test_intr(void *dev_id)
{
struct s2io_nic *sp = dev_id;

@@ -4134,7 +4134,7 @@ static int s2io_chk_rx_buffers(struct s2io_nic *sp, int rng_n)
return 0;
}

-static irqreturn_t s2io_msix_ring_handle(int irq, void *dev_id)
+static irqreturn_t s2io_msix_ring_handle(void *dev_id)
{
struct ring_info *ring = (struct ring_info *)dev_id;
struct s2io_nic *sp = ring->nic;
@@ -4148,7 +4148,7 @@ static irqreturn_t s2io_msix_ring_handle(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t s2io_msix_fifo_handle(int irq, void *dev_id)
+static irqreturn_t s2io_msix_fifo_handle(void *dev_id)
{
struct fifo_info *fifo = (struct fifo_info *)dev_id;
struct s2io_nic *sp = fifo->nic;
@@ -4519,7 +4519,7 @@ reset:
* IRQ_HANDLED: will be returned if IRQ was handled by this routine
* IRQ_NONE: will be returned if interrupt is not from our device
*/
-static irqreturn_t s2io_isr(int irq, void *dev_id)
+static irqreturn_t s2io_isr(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct s2io_nic *sp = dev->priv;
diff --git a/drivers/net/s2io.h b/drivers/net/s2io.h
index f6b4556..f11b3de 100644
--- a/drivers/net/s2io.h
+++ b/drivers/net/s2io.h
@@ -1050,10 +1050,10 @@ static void s2io_init_pci(struct s2io_nic * sp);
static int do_s2io_prog_unicast(struct net_device *dev, u8 *addr);
static void s2io_alarm_handle(unsigned long data);
static irqreturn_t
-s2io_msix_ring_handle(int irq, void *dev_id);
+s2io_msix_ring_handle(void *dev_id);
static irqreturn_t
-s2io_msix_fifo_handle(int irq, void *dev_id);
-static irqreturn_t s2io_isr(int irq, void *dev_id);
+s2io_msix_fifo_handle(void *dev_id);
+static irqreturn_t s2io_isr(void *dev_id);
static int verify_xena_quiescence(struct s2io_nic *sp);
static const struct ethtool_ops netdev_ethtool_ops;
static void s2io_set_link(struct work_struct *work);
diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c
index c65199d..8b359c9 100644
--- a/drivers/net/saa9730.c
+++ b/drivers/net/saa9730.c
@@ -748,7 +748,7 @@ static int lan_saa9730_rx(struct net_device *dev)
return 0;
}

-static irqreturn_t lan_saa9730_interrupt(const int irq, void *dev_id)
+static irqreturn_t lan_saa9730_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct lan_saa9730_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sb1000.c b/drivers/net/sb1000.c
index 487f9d2..02de56f 100644
--- a/drivers/net/sb1000.c
+++ b/drivers/net/sb1000.c
@@ -83,7 +83,7 @@ extern int sb1000_probe(struct net_device *dev);
static int sb1000_open(struct net_device *dev);
static int sb1000_dev_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd);
static int sb1000_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t sb1000_interrupt(int irq, void *dev_id);
+static irqreturn_t sb1000_interrupt(void *dev_id);
static int sb1000_close(struct net_device *dev);


@@ -1075,7 +1075,7 @@ sb1000_start_xmit(struct sk_buff *skb, struct net_device *dev)
}

/* SB1000 interrupt handler. */
-static irqreturn_t sb1000_interrupt(int irq, void *dev_id)
+static irqreturn_t sb1000_interrupt(void *dev_id)
{
char *name;
unsigned char st;
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 7b53d65..2b5a7c0 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -320,7 +320,7 @@ static enum sbmac_state sbmac_set_channel_state(struct sbmac_softc *,
enum sbmac_state);
static void sbmac_promiscuous_mode(struct sbmac_softc *sc, int onoff);
static uint64_t sbmac_addr2reg(unsigned char *ptr);
-static irqreturn_t sbmac_intr(int irq, void *dev_instance);
+static irqreturn_t sbmac_intr(void *dev_instance);
static int sbmac_start_tx(struct sk_buff *skb, struct net_device *dev);
static void sbmac_setmulti(struct sbmac_softc *sc);
static int sbmac_init(struct platform_device *pldev, long long base);
@@ -2011,7 +2011,7 @@ static int sbmac_set_duplex(struct sbmac_softc *s, enum sbmac_duplex duplex,
* Return value:
* nothing
********************************************************************* */
-static irqreturn_t sbmac_intr(int irq,void *dev_instance)
+static irqreturn_t sbmac_intr(void *dev_instance)
{
struct net_device *dev = (struct net_device *) dev_instance;
struct sbmac_softc *sc = netdev_priv(dev);
diff --git a/drivers/net/sc92031.c b/drivers/net/sc92031.c
index 37b4239..2074e14 100644
--- a/drivers/net/sc92031.c
+++ b/drivers/net/sc92031.c
@@ -886,7 +886,7 @@ out:
spin_unlock(&priv->lock);
}

-static irqreturn_t sc92031_interrupt(int irq, void *dev_id)
+static irqreturn_t sc92031_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct sc92031_priv *priv = netdev_priv(dev);
@@ -1133,7 +1133,7 @@ static void sc92031_tx_timeout(struct net_device *dev)
static void sc92031_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- if (sc92031_interrupt(dev->irq, dev) != IRQ_NONE)
+ if (sc92031_interrupt(dev) != IRQ_NONE)
sc92031_tasklet((unsigned long)dev);
enable_irq(dev->irq);
}
diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c
index 48c64fb..66e242a 100644
--- a/drivers/net/seeq8005.c
+++ b/drivers/net/seeq8005.c
@@ -82,7 +82,7 @@ static int seeq8005_probe1(struct net_device *dev, int ioaddr);
static int seeq8005_open(struct net_device *dev);
static void seeq8005_timeout(struct net_device *dev);
static int seeq8005_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t seeq8005_interrupt(int irq, void *dev_id);
+static irqreturn_t seeq8005_interrupt(void *dev_id);
static void seeq8005_rx(struct net_device *dev);
static int seeq8005_close(struct net_device *dev);
static void set_multicast_list(struct net_device *dev);
@@ -435,7 +435,7 @@ inline void wait_for_buffer(struct net_device * dev)

/* The typical workload of the driver:
Handle the network interface interrupts. */
-static irqreturn_t seeq8005_interrupt(int irq, void *dev_id)
+static irqreturn_t seeq8005_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *lp;
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index ff40563..f61953c 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -416,7 +416,7 @@ static inline void sgiseeq_tx(struct net_device *dev, struct sgiseeq_private *sp
}
}

-static irqreturn_t sgiseeq_interrupt(int irq, void *dev_id)
+static irqreturn_t sgiseeq_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct sgiseeq_private *sp = netdev_priv(dev);
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index 7200883..8d2cefc 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -702,7 +702,7 @@ static void sis190_tx_interrupt(struct net_device *dev,
* The interrupt handler does all of the Rx thread work and cleans up after
* the Tx thread.
*/
-static irqreturn_t sis190_interrupt(int irq, void *__dev)
+static irqreturn_t sis190_interrupt(void *__dev)
{
struct net_device *dev = __dev;
struct sis190_private *tp = netdev_priv(dev);
@@ -747,7 +747,7 @@ static void sis190_netpoll(struct net_device *dev)
struct pci_dev *pdev = tp->pci_dev;

disable_irq(pdev->irq);
- sis190_interrupt(pdev->irq, dev);
+ sis190_interrupt(dev);
enable_irq(pdev->irq);
}
#endif
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index 0857d2c..6f0bf9f 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -217,7 +217,7 @@ static void sis900_init_rx_ring(struct net_device *net_dev);
static int sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev);
static int sis900_rx(struct net_device *net_dev);
static void sis900_finish_xmit (struct net_device *net_dev);
-static irqreturn_t sis900_interrupt(int irq, void *dev_instance);
+static irqreturn_t sis900_interrupt(void *dev_instance);
static int sis900_close(struct net_device *net_dev);
static int mii_ioctl(struct net_device *net_dev, struct ifreq *rq, int cmd);
static u16 sis900_mcast_bitnr(u8 *addr, u8 revision);
@@ -983,7 +983,7 @@ static u16 sis900_reset_phy(struct net_device *net_dev, int phy_addr)
static void sis900_poll(struct net_device *dev)
{
disable_irq(dev->irq);
- sis900_interrupt(dev->irq, dev);
+ sis900_interrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -1636,7 +1636,7 @@ sis900_start_xmit(struct sk_buff *skb, struct net_device *net_dev)
* and cleans up after the Tx thread
*/

-static irqreturn_t sis900_interrupt(int irq, void *dev_instance)
+static irqreturn_t sis900_interrupt(void *dev_instance)
{
struct net_device *net_dev = dev_instance;
struct sis900_private *sis_priv = net_dev->priv;
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index 20890e4..748168d 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -198,8 +198,8 @@ static SK_BOOL BoardAllocMem(SK_AC *pAC);
static void BoardFreeMem(SK_AC *pAC);
static void BoardInitMem(SK_AC *pAC);
static void SetupRing(SK_AC*, void*, uintptr_t, RXD**, RXD**, RXD**, int*, SK_BOOL);
-static SkIsrRetVar SkGeIsr(int irq, void *dev_id);
-static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id);
+static SkIsrRetVar SkGeIsr(void *dev_id);
+static SkIsrRetVar SkGeIsrOnePort(void *dev_id);
static int SkGeOpen(struct SK_NET_DEVICE *dev);
static int SkGeClose(struct SK_NET_DEVICE *dev);
static int SkGeXmit(struct sk_buff *skb, struct SK_NET_DEVICE *dev);
@@ -882,7 +882,7 @@ int PortIndex) /* index of the port for which to re-init */
* Returns: N/A
*
*/
-static SkIsrRetVar SkGeIsr(int irq, void *dev_id)
+static SkIsrRetVar SkGeIsr(void *dev_id)
{
struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;
DEV_NET *pNet;
@@ -1031,7 +1031,7 @@ SK_U32 IntSrc; /* interrupts source register contents */
* Returns: N/A
*
*/
-static SkIsrRetVar SkGeIsrOnePort(int irq, void *dev_id)
+static SkIsrRetVar SkGeIsrOnePort(void *dev_id)
{
struct SK_NET_DEVICE *dev = (struct SK_NET_DEVICE *)dev_id;
DEV_NET *pNet;
@@ -1142,7 +1142,7 @@ SK_U32 IntSrc; /* interrupts source register contents */
static void SkGePollController(struct net_device *dev)
{
disable_irq(dev->irq);
- SkGeIsr(dev->irq, dev);
+ SkGeIsr(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/skfp/skfddi.c b/drivers/net/skfp/skfddi.c
index 7cf9b9f..55323f5 100644
--- a/drivers/net/skfp/skfddi.c
+++ b/drivers/net/skfp/skfddi.c
@@ -101,7 +101,7 @@ static const char * const boot_msg =
static int skfp_driver_init(struct net_device *dev);
static int skfp_open(struct net_device *dev);
static int skfp_close(struct net_device *dev);
-static irqreturn_t skfp_interrupt(int irq, void *dev_id);
+static irqreturn_t skfp_interrupt(void *dev_id);
static struct net_device_stats *skfp_ctl_get_stats(struct net_device *dev);
static void skfp_ctl_set_multicast_list(struct net_device *dev);
static void skfp_ctl_set_multicast_list_wo_lock(struct net_device *dev);
@@ -612,7 +612,7 @@ static int skfp_close(struct net_device *dev)
* Interrupts are disabled, then reenabled at the adapter.
*/

-irqreturn_t skfp_interrupt(int irq, void *dev_id)
+irqreturn_t skfp_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct s_smc *smc; /* private board structure pointer */
diff --git a/drivers/net/skge.c b/drivers/net/skge.c
index b9961dc..8ee1e36 100644
--- a/drivers/net/skge.c
+++ b/drivers/net/skge.c
@@ -3373,7 +3373,7 @@ static void skge_extirq(unsigned long arg)
spin_unlock_irq(&hw->hw_lock);
}

-static irqreturn_t skge_intr(int irq, void *dev_id)
+static irqreturn_t skge_intr(void *dev_id)
{
struct skge_hw *hw = dev_id;
u32 status;
@@ -3447,7 +3447,7 @@ static void skge_netpoll(struct net_device *dev)
struct skge_port *skge = netdev_priv(dev);

disable_irq(dev->irq);
- skge_intr(dev->irq, skge->hw);
+ skge_intr(skge->hw);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 70d7e47..a79b1e7 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -2636,7 +2636,7 @@ done:
return work_done;
}

-static irqreturn_t sky2_intr(int irq, void *dev_id)
+static irqreturn_t sky2_intr(void *dev_id)
{
struct sky2_hw *hw = dev_id;
u32 status;
@@ -4035,7 +4035,7 @@ static void __devinit sky2_show_addr(struct net_device *dev)
}

/* Handle software interrupt used during MSI test */
-static irqreturn_t __devinit sky2_test_intr(int irq, void *dev_id)
+static irqreturn_t __devinit sky2_test_intr(void *dev_id)
{
struct sky2_hw *hw = dev_id;
u32 status = sky2_read32(hw, B0_Y2_SP_ISRC2);
diff --git a/drivers/net/smc-ultra.c b/drivers/net/smc-ultra.c
index 00d6cf1..191280b 100644
--- a/drivers/net/smc-ultra.c
+++ b/drivers/net/smc-ultra.c
@@ -127,7 +127,7 @@ MODULE_DEVICE_TABLE(isapnp, ultra_device_ids);
static void ultra_poll(struct net_device *dev)
{
disable_irq(dev->irq);
- ei_interrupt(dev->irq, dev);
+ ei_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index 7c60df4..374e0a7 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -1069,7 +1069,7 @@ static void smc911x_phy_interrupt(struct net_device *dev)
* This is the main routine of the driver, to handle the device when
* it needs some attention.
*/
-static irqreturn_t smc911x_interrupt(int irq, void *dev_id)
+static irqreturn_t smc911x_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
unsigned long ioaddr = dev->base_addr;
@@ -1325,7 +1325,7 @@ smc911x_rx_dma_irq(int dma, void *data)
static void smc911x_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- smc911x_interrupt(dev->irq, dev);
+ smc911x_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c
index cb2698d..a5716b1 100644
--- a/drivers/net/smc9194.c
+++ b/drivers/net/smc9194.c
@@ -257,7 +257,7 @@ static void smc_set_multicast_list(struct net_device *dev);
/*
. Handles the actual interrupt
*/
-static irqreturn_t smc_interrupt(int irq, void *);
+static irqreturn_t smc_interrupt(void *);
/*
. This is a separate procedure to handle the receipt of a packet, to
. leave the interrupt code looking slightly cleaner
@@ -1372,7 +1372,7 @@ static void smc_tx( struct net_device * dev )
.
---------------------------------------------------------------------*/

-static irqreturn_t smc_interrupt(int irq, void * dev_id)
+static irqreturn_t smc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
int ioaddr = dev->base_addr;
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 7da7589..cbd77b1 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -1235,7 +1235,7 @@ static void smc_eph_interrupt(struct net_device *dev)
* This is the main routine of the driver, to handle the device when
* it needs some attention.
*/
-static irqreturn_t smc_interrupt(int irq, void *dev_id)
+static irqreturn_t smc_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct smc_local *lp = netdev_priv(dev);
@@ -1351,7 +1351,7 @@ static irqreturn_t smc_interrupt(int irq, void *dev_id)
static void smc_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- smc_interrupt(dev->irq, dev);
+ smc_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/sonic.c b/drivers/net/sonic.c
index 8069f3e..ee2f87b 100644
--- a/drivers/net/sonic.c
+++ b/drivers/net/sonic.c
@@ -272,7 +272,7 @@ static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev)
* The typical workload of the driver:
* Handle the network interface interrupts.
*/
-static irqreturn_t sonic_interrupt(int irq, void *dev_id)
+static irqreturn_t sonic_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct sonic_local *lp = netdev_priv(dev);
diff --git a/drivers/net/sonic.h b/drivers/net/sonic.h
index 7db13e4..562ff7e 100644
--- a/drivers/net/sonic.h
+++ b/drivers/net/sonic.h
@@ -328,7 +328,7 @@ struct sonic_local {

static int sonic_open(struct net_device *dev);
static int sonic_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t sonic_interrupt(int irq, void *dev_id);
+static irqreturn_t sonic_interrupt(void *dev_id);
static void sonic_rx(struct net_device *dev);
static int sonic_close(struct net_device *dev);
static struct net_device_stats *sonic_get_stats(struct net_device *dev);
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index fab055f..0eb3cc3 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1650,7 +1650,7 @@ spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
* interrupts for this device and makes the stack poll the driver
*/
static irqreturn_t
-spider_net_interrupt(int irq, void *ptr)
+spider_net_interrupt(void *ptr)
{
struct net_device *netdev = ptr;
struct spider_net_card *card = netdev_priv(netdev);
@@ -1693,7 +1693,7 @@ static void
spider_net_poll_controller(struct net_device *netdev)
{
disable_irq(netdev->irq);
- spider_net_interrupt(netdev->irq, netdev);
+ spider_net_interrupt(netdev);
enable_irq(netdev->irq);
}
#endif /* CONFIG_NET_POLL_CONTROLLER */
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index bcc430b..c91d8db 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -632,7 +632,7 @@ static void check_duplex(struct net_device *dev);
static void tx_timeout(struct net_device *dev);
static void init_ring(struct net_device *dev);
static int start_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t intr_handler(int irq, void *dev_instance);
+static irqreturn_t intr_handler(void *dev_instance);
static void netdev_error(struct net_device *dev, int intr_status);
static int __netdev_rx(struct net_device *dev, int *quota);
static void refill_rx_ring(struct net_device *dev);
@@ -1308,7 +1308,7 @@ static int start_tx(struct sk_buff *skb, struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t intr_handler(int irq, void *dev_instance)
+static irqreturn_t intr_handler(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index 9b2a7f7..12c721d 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -120,7 +120,7 @@ sizeof(nop_cmd) = 8;
DELAY_16(); DELAY_16(); } }

static int sun3_82586_probe1(struct net_device *dev,int ioaddr);
-static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id);
+static irqreturn_t sun3_82586_interrupt(void *dev_id);
static int sun3_82586_open(struct net_device *dev);
static int sun3_82586_close(struct net_device *dev);
static int sun3_82586_send_packet(struct sk_buff *,struct net_device *);
@@ -675,7 +675,7 @@ static void *alloc_rfa(struct net_device *dev,void *ptr)
* Interrupt Handler ...
*/

-static irqreturn_t sun3_82586_interrupt(int irq,void *dev_id)
+static irqreturn_t sun3_82586_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
unsigned short stat;
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index f8d4613..d6d4eb9 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -237,7 +237,7 @@ static int lance_probe( struct net_device *dev);
static int lance_open( struct net_device *dev );
static void lance_init_ring( struct net_device *dev );
static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev );
-static irqreturn_t lance_interrupt( int irq, void *dev_id);
+static irqreturn_t lance_interrupt(void *dev_id);
static int lance_rx( struct net_device *dev );
static int lance_close( struct net_device *dev );
static void set_multicast_list( struct net_device *dev );
@@ -646,7 +646,7 @@ static int lance_start_xmit( struct sk_buff *skb, struct net_device *dev )

/* The LANCE interrupt handler. */

-static irqreturn_t lance_interrupt( int irq, void *dev_id)
+static irqreturn_t lance_interrupt( void *dev_id)
{
struct net_device *dev = dev_id;
struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index fe3ac6f..b5283a6 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -887,7 +887,7 @@ static void bigmac_rx(struct bigmac *bp)
printk(KERN_NOTICE "%s: Memory squeeze, deferring packet.\n", bp->dev->name);
}

-static irqreturn_t bigmac_interrupt(int irq, void *dev_id)
+static irqreturn_t bigmac_interrupt(void *dev_id)
{
struct bigmac *bp = (struct bigmac *) dev_id;
u32 qec_status, bmac_status;
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index ff98f5d..d35627f 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -416,7 +416,7 @@ static void tx_timeout(struct net_device *dev);
static void init_ring(struct net_device *dev);
static int start_tx(struct sk_buff *skb, struct net_device *dev);
static int reset_tx (struct net_device *dev);
-static irqreturn_t intr_handler(int irq, void *dev_instance);
+static irqreturn_t intr_handler(void *dev_instance);
static void rx_poll(unsigned long data);
static void tx_poll(unsigned long data);
static void refill_rx (struct net_device *dev);
@@ -1112,7 +1112,7 @@ reset_tx (struct net_device *dev)

/* The interrupt handler cleans up after the Tx thread,
and schedule a Rx thread work */
-static irqreturn_t intr_handler(int irq, void *dev_instance)
+static irqreturn_t intr_handler(void *dev_instance)
{
struct net_device *dev = (struct net_device *)dev_instance;
struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 53b8344..cf4039a 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -928,7 +928,7 @@ static int gem_poll(struct napi_struct *napi, int budget)
return work_done;
}

-static irqreturn_t gem_interrupt(int irq, void *dev_id)
+static irqreturn_t gem_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct gem *gp = dev->priv;
@@ -971,7 +971,7 @@ static void gem_poll_controller(struct net_device *dev)
/* gem_interrupt is safe to reentrance so no need
* to disable_irq here.
*/
- gem_interrupt(dev->irq, dev);
+ gem_interrupt(dev);
}
#endif

diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index 120c8af..99cc094 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2090,7 +2090,7 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev)
RXD((">"));
}

-static irqreturn_t happy_meal_interrupt(int irq, void *dev_id)
+static irqreturn_t happy_meal_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct happy_meal *hp = netdev_priv(dev);
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index 26ade68..daa8910 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -816,7 +816,7 @@ out:
spin_unlock(&lp->lock);
}

-static irqreturn_t lance_interrupt(int irq, void *dev_id)
+static irqreturn_t lance_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index ff23c64..66ab859 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -466,7 +466,7 @@ static void qe_tx_reclaim(struct sunqe *qep);
* so we just run through each qe and check to see who is signaling
* and thus needs to be serviced.
*/
-static irqreturn_t qec_interrupt(int irq, void *dev_id)
+static irqreturn_t qec_interrupt(void *dev_id)
{
struct sunqec *qecp = dev_id;
u32 qec_status;
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index 8038f28..a9edd2b 100644
--- a/drivers/net/tc35815.c
+++ b/drivers/net/tc35815.c
@@ -566,7 +566,7 @@ static void free_rxbuf_skb(struct pci_dev *hwdev, struct sk_buff *skb, dma_addr_

static int tc35815_open(struct net_device *dev);
static int tc35815_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t tc35815_interrupt(int irq, void *dev_id);
+static irqreturn_t tc35815_interrupt(void *dev_id);
#ifdef TC35815_NAPI
static int tc35815_rx(struct net_device *dev, int limit);
static int tc35815_poll(struct napi_struct *napi, int budget);
@@ -1437,7 +1437,7 @@ static int tc35815_do_interrupt(struct net_device *dev, u32 status)
* The typical workload of the driver:
* Handle the network interface interrupts.
*/
-static irqreturn_t tc35815_interrupt(int irq, void *dev_id)
+static irqreturn_t tc35815_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct tc35815_local *lp = netdev_priv(dev);
diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c
index 4e1b84e..08d0b17 100644
--- a/drivers/net/tehuti.c
+++ b/drivers/net/tehuti.c
@@ -248,7 +248,7 @@ static void bdx_isr_extra(struct bdx_priv *priv, u32 isr)
* TX_FREE - packet was transmited and RXF fifo holds its descriptor
*/

-static irqreturn_t bdx_isr_napi(int irq, void *dev)
+static irqreturn_t bdx_isr_napi(void *dev)
{
struct net_device *ndev = dev;
struct bdx_priv *priv = ndev->priv;
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c
index 014dc2c..5363f6a 100644
--- a/drivers/net/tg3.c
+++ b/drivers/net/tg3.c
@@ -3665,7 +3665,7 @@ static inline void tg3_full_unlock(struct tg3 *tp)
/* One-shot MSI handler - Chip automatically disables interrupt
* after sending MSI so driver doesn't have to do it.
*/
-static irqreturn_t tg3_msi_1shot(int irq, void *dev_id)
+static irqreturn_t tg3_msi_1shot(void *dev_id)
{
struct net_device *dev = dev_id;
struct tg3 *tp = netdev_priv(dev);
@@ -3683,7 +3683,7 @@ static irqreturn_t tg3_msi_1shot(int irq, void *dev_id)
* flush status block and interrupt mailbox. PCI ordering rules
* guarantee that MSI will arrive after the status block.
*/
-static irqreturn_t tg3_msi(int irq, void *dev_id)
+static irqreturn_t tg3_msi(void *dev_id)
{
struct net_device *dev = dev_id;
struct tg3 *tp = netdev_priv(dev);
@@ -3704,7 +3704,7 @@ static irqreturn_t tg3_msi(int irq, void *dev_id)
return IRQ_RETVAL(1);
}

-static irqreturn_t tg3_interrupt(int irq, void *dev_id)
+static irqreturn_t tg3_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct tg3 *tp = netdev_priv(dev);
@@ -3753,7 +3753,7 @@ out:
return IRQ_RETVAL(handled);
}

-static irqreturn_t tg3_interrupt_tagged(int irq, void *dev_id)
+static irqreturn_t tg3_interrupt_tagged(void *dev_id)
{
struct net_device *dev = dev_id;
struct tg3 *tp = netdev_priv(dev);
@@ -3802,7 +3802,7 @@ out:
}

/* ISR for interrupt test */
-static irqreturn_t tg3_test_isr(int irq, void *dev_id)
+static irqreturn_t tg3_test_isr(void *dev_id)
{
struct net_device *dev = dev_id;
struct tg3 *tp = netdev_priv(dev);
@@ -3844,9 +3844,7 @@ static int tg3_restart_hw(struct tg3 *tp, int reset_phy)
#ifdef CONFIG_NET_POLL_CONTROLLER
static void tg3_poll_controller(struct net_device *dev)
{
- struct tg3 *tp = netdev_priv(dev);
-
- tg3_interrupt(tp->pdev->irq, dev);
+ tg3_interrupt(dev);
}
#endif

diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index c99ce74..6b451e2 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -289,7 +289,7 @@ static void TLan_Eisa_Cleanup( void );
static int TLan_Init( struct net_device * );
static int TLan_Open( struct net_device *dev );
static int TLan_StartTx( struct sk_buff *, struct net_device *);
-static irqreturn_t TLan_HandleInterrupt( int, void *);
+static irqreturn_t TLan_HandleInterrupt(void *);
static int TLan_Close( struct net_device *);
static struct net_device_stats *TLan_GetStats( struct net_device *);
static void TLan_SetMulticastList( struct net_device *);
@@ -822,7 +822,7 @@ static void __init TLan_EisaProbe (void)
static void TLan_Poll(struct net_device *dev)
{
disable_irq(dev->irq);
- TLan_HandleInterrupt(dev->irq, dev);
+ TLan_HandleInterrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -1178,7 +1178,7 @@ static int TLan_StartTx( struct sk_buff *skb, struct net_device *dev )
*
**************************************************************/

-static irqreturn_t TLan_HandleInterrupt(int irq, void *dev_id)
+static irqreturn_t TLan_HandleInterrupt(void *dev_id)
{
u32 ack;
struct net_device *dev;
diff --git a/drivers/net/tokenring/3c359.c b/drivers/net/tokenring/3c359.c
index 5d31519..0412c15 100644
--- a/drivers/net/tokenring/3c359.c
+++ b/drivers/net/tokenring/3c359.c
@@ -130,7 +130,7 @@ static int xl_xmit(struct sk_buff *skb, struct net_device *dev);
static void xl_dn_comp(struct net_device *dev);
static int xl_close(struct net_device *dev);
static void xl_set_rx_mode(struct net_device *dev);
-static irqreturn_t xl_interrupt(int irq, void *dev_id);
+static irqreturn_t xl_interrupt(void *dev_id);
static struct net_device_stats * xl_get_stats(struct net_device *dev);
static int xl_set_mac_address(struct net_device *dev, void *addr) ;
static void xl_arb_cmd(struct net_device *dev);
@@ -1038,7 +1038,7 @@ static void xl_freemem(struct net_device *dev)
return ;
}

-static irqreturn_t xl_interrupt(int irq, void *dev_id)
+static irqreturn_t xl_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct xl_private *xl_priv =netdev_priv(dev);
diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c
index e494c63..fa57dee 100644
--- a/drivers/net/tokenring/ibmtr.c
+++ b/drivers/net/tokenring/ibmtr.c
@@ -193,7 +193,7 @@ static void open_sap(unsigned char type, struct net_device *dev);
static void tok_set_multicast_list(struct net_device *dev);
static int tok_send_packet(struct sk_buff *skb, struct net_device *dev);
static int tok_close(struct net_device *dev);
-static irqreturn_t tok_interrupt(int irq, void *dev_id);
+static irqreturn_t tok_interrupt(void *dev_id);
static void initial_tok_int(struct net_device *dev);
static void tr_tx(struct net_device *dev);
static void tr_rx(struct net_device *dev);
@@ -1162,7 +1162,7 @@ static void dir_open_adapter (struct net_device *dev)

/******************************************************************************/

-static irqreturn_t tok_interrupt(int irq, void *dev_id)
+static irqreturn_t tok_interrupt(void *dev_id)
{
unsigned char status;
/* unsigned char status_even ; */
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c
index 47d84cd..f1c243e 100644
--- a/drivers/net/tokenring/lanstreamer.c
+++ b/drivers/net/tokenring/lanstreamer.c
@@ -207,7 +207,7 @@ static int streamer_open(struct net_device *dev);
static int streamer_xmit(struct sk_buff *skb, struct net_device *dev);
static int streamer_close(struct net_device *dev);
static void streamer_set_rx_mode(struct net_device *dev);
-static irqreturn_t streamer_interrupt(int irq, void *dev_id);
+static irqreturn_t streamer_interrupt(void *dev_id);
static struct net_device_stats *streamer_get_stats(struct net_device *dev);
static int streamer_set_mac_address(struct net_device *dev, void *addr);
static void streamer_arb_cmd(struct net_device *dev);
@@ -1025,7 +1025,7 @@ static void streamer_rx(struct net_device *dev)
} /* end for all completed rx descriptors */
}

-static irqreturn_t streamer_interrupt(int irq, void *dev_id)
+static irqreturn_t streamer_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct streamer_private *streamer_priv =
diff --git a/drivers/net/tokenring/madgemc.c b/drivers/net/tokenring/madgemc.c
index 5a41513..cbacfeb 100644
--- a/drivers/net/tokenring/madgemc.c
+++ b/drivers/net/tokenring/madgemc.c
@@ -69,7 +69,7 @@ static void madgemc_setregpage(struct net_device *dev, int page);
static void madgemc_setsifsel(struct net_device *dev, int val);
static void madgemc_setint(struct net_device *dev, int val);

-static irqreturn_t madgemc_interrupt(int irq, void *dev_id);
+static irqreturn_t madgemc_interrupt(void *dev_id);

/*
* These work around paging, however they don't guarentee you're on the
@@ -413,7 +413,7 @@ getout:
* exhausted all contiguous interrupts.
*
*/
-static irqreturn_t madgemc_interrupt(int irq, void *dev_id)
+static irqreturn_t madgemc_interrupt(void *dev_id)
{
int pending,reg1;
struct net_device *dev;
@@ -447,7 +447,7 @@ static irqreturn_t madgemc_interrupt(int irq, void *dev_id)
outb(reg1, dev->base_addr + MC_CONTROL_REG1);

/* Continue handling as normal */
- tms380tr_interrupt(irq, dev_id);
+ tms380tr_interrupt(dev_id);

pending = SIFREADW(SIFSTS); /* restart - the SIF way */

diff --git a/drivers/net/tokenring/olympic.c b/drivers/net/tokenring/olympic.c
index 74c1f0f..12637e0 100644
--- a/drivers/net/tokenring/olympic.c
+++ b/drivers/net/tokenring/olympic.c
@@ -186,7 +186,7 @@ static int olympic_xmit(struct sk_buff *skb, struct net_device *dev);
static int olympic_close(struct net_device *dev);
static void olympic_set_rx_mode(struct net_device *dev);
static void olympic_freemem(struct net_device *dev) ;
-static irqreturn_t olympic_interrupt(int irq, void *dev_id);
+static irqreturn_t olympic_interrupt(void *dev_id);
static struct net_device_stats * olympic_get_stats(struct net_device *dev);
static int olympic_set_mac_address(struct net_device *dev, void *addr) ;
static void olympic_arb_cmd(struct net_device *dev);
@@ -919,7 +919,7 @@ static void olympic_freemem(struct net_device *dev)
return ;
}

-static irqreturn_t olympic_interrupt(int irq, void *dev_id)
+static irqreturn_t olympic_interrupt(void *dev_id)
{
struct net_device *dev= (struct net_device *)dev_id;
struct olympic_private *olympic_priv=netdev_priv(dev);
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c
index 93da3a3..e496442 100644
--- a/drivers/net/tokenring/smctr.c
+++ b/drivers/net/tokenring/smctr.c
@@ -140,7 +140,7 @@ static int smctr_init_shared_memory(struct net_device *dev);
static int smctr_init_tx_bdbs(struct net_device *dev);
static int smctr_init_tx_fcbs(struct net_device *dev);
static int smctr_internal_self_test(struct net_device *dev);
-static irqreturn_t smctr_interrupt(int irq, void *dev_id);
+static irqreturn_t smctr_interrupt(void *dev_id);
static int smctr_issue_enable_int_cmd(struct net_device *dev,
__u16 interrupt_enable_mask);
static int smctr_issue_int_ack(struct net_device *dev, __u16 iack_code,
@@ -1979,7 +1979,7 @@ static int smctr_internal_self_test(struct net_device *dev)
/*
* The typical workload of the driver: Handle the network interface interrupts.
*/
-static irqreturn_t smctr_interrupt(int irq, void *dev_id)
+static irqreturn_t smctr_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *tp;
diff --git a/drivers/net/tokenring/tms380tr.c b/drivers/net/tokenring/tms380tr.c
index d5fa36d..672cc06 100644
--- a/drivers/net/tokenring/tms380tr.c
+++ b/drivers/net/tokenring/tms380tr.c
@@ -744,7 +744,7 @@ static void tms380tr_timer_chk(unsigned long data)
/*
* The typical workload of the driver: Handle the network interface interrupts.
*/
-irqreturn_t tms380tr_interrupt(int irq, void *dev_id)
+irqreturn_t tms380tr_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct net_local *tp;
diff --git a/drivers/net/tokenring/tms380tr.h b/drivers/net/tokenring/tms380tr.h
index 7daf74e..ca10671 100644
--- a/drivers/net/tokenring/tms380tr.h
+++ b/drivers/net/tokenring/tms380tr.h
@@ -16,7 +16,7 @@
/* module prototypes */
int tms380tr_open(struct net_device *dev);
int tms380tr_close(struct net_device *dev);
-irqreturn_t tms380tr_interrupt(int irq, void *dev_id);
+irqreturn_t tms380tr_interrupt(void *dev_id);
int tmsdev_init(struct net_device *dev, struct device *pdev);
void tmsdev_term(struct net_device *dev);
void tms380tr_wait(unsigned long time);
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
index 77d9dd7..8dcf8b5 100644
--- a/drivers/net/tulip/de2104x.c
+++ b/drivers/net/tulip/de2104x.c
@@ -483,7 +483,7 @@ rx_next:
de->rx_tail = rx_tail;
}

-static irqreturn_t de_interrupt (int irq, void *dev_instance)
+static irqreturn_t de_interrupt (void *dev_instance)
{
struct net_device *dev = dev_instance;
struct de_private *de = dev->priv;
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index 41f34bb..02d5e6c 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -896,7 +896,7 @@ static struct {
*/
static int de4x5_open(struct net_device *dev);
static int de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t de4x5_interrupt(int irq, void *dev_id);
+static irqreturn_t de4x5_interrupt(void *dev_id);
static int de4x5_close(struct net_device *dev);
static struct net_device_stats *de4x5_get_stats(struct net_device *dev);
static void de4x5_local_stats(struct net_device *dev, char *buf, int pkt_len);
@@ -1530,7 +1530,7 @@ de4x5_queue_pkt(struct sk_buff *skb, struct net_device *dev)
** interrupt is asserted and this routine entered.
*/
static irqreturn_t
-de4x5_interrupt(int irq, void *dev_id)
+de4x5_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct de4x5_private *lp;
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index ca90566..90c2bd1 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -320,7 +320,7 @@ static struct net_device_stats * dmfe_get_stats(struct DEVICE *);
static void dmfe_set_filter_mode(struct DEVICE *);
static const struct ethtool_ops netdev_ethtool_ops;
static u16 read_srom_word(long ,int);
-static irqreturn_t dmfe_interrupt(int , void *);
+static irqreturn_t dmfe_interrupt(void *);
#ifdef CONFIG_NET_POLL_CONTROLLER
static void poll_dmfe (struct net_device *dev);
#endif
@@ -764,7 +764,7 @@ static int dmfe_stop(struct DEVICE *dev)
* receive the packet to upper layer, free the transmitted packet
*/

-static irqreturn_t dmfe_interrupt(int irq, void *dev_id)
+static irqreturn_t dmfe_interrupt(void *dev_id)
{
struct DEVICE *dev = dev_id;
struct dmfe_board_info *db = netdev_priv(dev);
@@ -835,7 +835,7 @@ static void poll_dmfe (struct net_device *dev)
/* disable_irq here is not very nice, but with the lockless
interrupt handler we have no other choice. */
disable_irq(dev->irq);
- dmfe_interrupt (dev->irq, dev);
+ dmfe_interrupt (dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c
index 3653314..2c1582b 100644
--- a/drivers/net/tulip/interrupt.c
+++ b/drivers/net/tulip/interrupt.c
@@ -486,7 +486,7 @@ static inline unsigned int phy_interrupt (struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-irqreturn_t tulip_interrupt(int irq, void *dev_instance)
+irqreturn_t tulip_interrupt(void *dev_instance)
{
struct net_device *dev = (struct net_device *)dev_instance;
struct tulip_private *tp = netdev_priv(dev);
diff --git a/drivers/net/tulip/tulip.h b/drivers/net/tulip/tulip.h
index 3f69f53..35a07b2 100644
--- a/drivers/net/tulip/tulip.h
+++ b/drivers/net/tulip/tulip.h
@@ -427,7 +427,7 @@ int tulip_read_eeprom(struct net_device *dev, int location, int addr_len);
/* interrupt.c */
extern unsigned int tulip_max_interrupt_work;
extern int tulip_rx_copybreak;
-irqreturn_t tulip_interrupt(int irq, void *dev_instance);
+irqreturn_t tulip_interrupt(void *dev_instance);
int tulip_refill_rx(struct net_device *dev);
#ifdef CONFIG_TULIP_NAPI
int tulip_poll(struct napi_struct *napi, int budget);
diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c
index e5e2c9c..d81e576 100644
--- a/drivers/net/tulip/tulip_core.c
+++ b/drivers/net/tulip/tulip_core.c
@@ -1813,7 +1813,7 @@ static void poll_tulip (struct net_device *dev)
/* disable_irq here is not very nice, but with the lockless
interrupt handler we have no other choice. */
disable_irq(dev->irq);
- tulip_interrupt (dev->irq, dev);
+ tulip_interrupt (dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 76e5561..fd03199 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -224,7 +224,7 @@ static struct net_device_stats * uli526x_get_stats(struct net_device *);
static void uli526x_set_filter_mode(struct net_device *);
static const struct ethtool_ops netdev_ethtool_ops;
static u16 read_srom_word(long, int);
-static irqreturn_t uli526x_interrupt(int, void *);
+static irqreturn_t uli526x_interrupt(void *);
static void uli526x_descriptor_init(struct uli526x_board_info *, unsigned long);
static void allocate_rx_buffer(struct uli526x_board_info *);
static void update_cr6(u32, unsigned long);
@@ -657,7 +657,7 @@ static int uli526x_stop(struct net_device *dev)
* receive the packet to upper layer, free the transmitted packet
*/

-static irqreturn_t uli526x_interrupt(int irq, void *dev_id)
+static irqreturn_t uli526x_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct uli526x_board_info *db = netdev_priv(dev);
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
index 3c8e3b6..58639d0 100644
--- a/drivers/net/tulip/winbond-840.c
+++ b/drivers/net/tulip/winbond-840.c
@@ -332,7 +332,7 @@ static void tx_timeout(struct net_device *dev);
static int alloc_ringdesc(struct net_device *dev);
static void free_ringdesc(struct netdev_private *np);
static int start_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t intr_handler(int irq, void *dev_instance);
+static irqreturn_t intr_handler(void *dev_instance);
static void netdev_error(struct net_device *dev, int intr_status);
static int netdev_rx(struct net_device *dev);
static u32 __set_rx_mode(struct net_device *dev);
@@ -1107,7 +1107,7 @@ static void netdev_tx_done(struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t intr_handler(int irq, void *dev_instance)
+static irqreturn_t intr_handler(void *dev_instance)
{
struct net_device *dev = (struct net_device *)dev_instance;
struct netdev_private *np = netdev_priv(dev);
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 70befe3..da4855a 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -114,7 +114,7 @@ struct xircom_private {
/* Function prototypes */
static int xircom_probe(struct pci_dev *pdev, const struct pci_device_id *id);
static void xircom_remove(struct pci_dev *pdev);
-static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
+static irqreturn_t xircom_interrupt(void *dev_instance);
static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int xircom_open(struct net_device *dev);
static int xircom_close(struct net_device *dev);
@@ -329,7 +329,7 @@ static void __devexit xircom_remove(struct pci_dev *pdev)
leave("xircom_remove");
}

-static irqreturn_t xircom_interrupt(int irq, void *dev_instance)
+static irqreturn_t xircom_interrupt(void *dev_instance)
{
struct net_device *dev = (struct net_device *) dev_instance;
struct xircom_private *card = netdev_priv(dev);
@@ -508,7 +508,7 @@ static struct net_device_stats *xircom_get_stats(struct net_device *dev)
static void xircom_poll_controller(struct net_device *dev)
{
disable_irq(dev->irq);
- xircom_interrupt(dev->irq, dev);
+ xircom_interrupt(dev);
enable_irq(dev->irq);
}
#endif
diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c
index c3f8e30..6787e61 100644
--- a/drivers/net/tulip/xircom_tulip_cb.c
+++ b/drivers/net/tulip/xircom_tulip_cb.c
@@ -328,7 +328,7 @@ static void xircom_init_ring(struct net_device *dev);
static int xircom_start_xmit(struct sk_buff *skb, struct net_device *dev);
static int xircom_rx(struct net_device *dev);
static void xircom_media_change(struct net_device *dev);
-static irqreturn_t xircom_interrupt(int irq, void *dev_instance);
+static irqreturn_t xircom_interrupt(void *dev_instance);
static int xircom_close(struct net_device *dev);
static struct net_device_stats *xircom_get_stats(struct net_device *dev);
static int xircom_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -1043,7 +1043,7 @@ static void check_duplex(struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t xircom_interrupt(int irq, void *dev_instance)
+static irqreturn_t xircom_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct xircom_private *tp = netdev_priv(dev);
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index 94ac586..34d5c6c 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -1799,7 +1799,7 @@ typhoon_poll(struct napi_struct *napi, int budget)
}

static irqreturn_t
-typhoon_interrupt(int irq, void *dev_instance)
+typhoon_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct typhoon *tp = dev->priv;
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index 07263cd..f2a2ffd 100644
--- a/drivers/net/via-rhine.c
+++ b/drivers/net/via-rhine.c
@@ -413,7 +413,7 @@ static void mdio_write(struct net_device *dev, int phy_id, int location, int val
static int rhine_open(struct net_device *dev);
static void rhine_tx_timeout(struct net_device *dev);
static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t rhine_interrupt(int irq, void *dev_instance);
+static irqreturn_t rhine_interrupt(void *dev_instance);
static void rhine_tx(struct net_device *dev);
static int rhine_rx(struct net_device *dev, int limit);
static void rhine_error(struct net_device *dev, int intr_status);
@@ -578,7 +578,7 @@ static void __devinit rhine_reload_eeprom(long pioaddr, struct net_device *dev)
static void rhine_poll(struct net_device *dev)
{
disable_irq(dev->irq);
- rhine_interrupt(dev->irq, (void *)dev);
+ rhine_interrupt(dev);
enable_irq(dev->irq);
}
#endif
@@ -1295,7 +1295,7 @@ static int rhine_start_tx(struct sk_buff *skb, struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t rhine_interrupt(int irq, void *dev_instance)
+static irqreturn_t rhine_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct rhine_private *rp = netdev_priv(dev);
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 4ae0579..c36fbe5 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -378,7 +378,7 @@ static void velocity_print_info(struct velocity_info *vptr);
static int velocity_open(struct net_device *dev);
static int velocity_change_mtu(struct net_device *dev, int mtu);
static int velocity_xmit(struct sk_buff *skb, struct net_device *dev);
-static int velocity_intr(int irq, void *dev_instance);
+static int velocity_intr(void *dev_instance);
static void velocity_set_multi(struct net_device *dev);
static struct net_device_stats *velocity_get_stats(struct net_device *dev);
static int velocity_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -2212,7 +2212,7 @@ static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)
* efficiently as possible.
*/

-static int velocity_intr(int irq, void *dev_instance)
+static int velocity_intr(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct velocity_info *vptr = netdev_priv(dev);
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c
index ff37bf4..cf84139 100644
--- a/drivers/net/wan/cosa.c
+++ b/drivers/net/wan/cosa.c
@@ -343,7 +343,7 @@ static void put_driver_status(struct cosa_data *cosa);
static void put_driver_status_nolock(struct cosa_data *cosa);

/* Interrupt handling */
-static irqreturn_t cosa_interrupt(int irq, void *cosa);
+static irqreturn_t cosa_interrupt(void *cosa);

/* I/O ops debugging */
#ifdef DEBUG_IO
@@ -1968,7 +1968,7 @@ out:
spin_unlock_irqrestore(&cosa->lock, flags);
}

-static irqreturn_t cosa_interrupt(int irq, void *cosa_)
+static irqreturn_t cosa_interrupt(void *cosa_)
{
unsigned status;
int count = 0;
diff --git a/drivers/net/wan/cycx_main.c b/drivers/net/wan/cycx_main.c
index a0e8611..f32e3d6 100644
--- a/drivers/net/wan/cycx_main.c
+++ b/drivers/net/wan/cycx_main.c
@@ -74,7 +74,7 @@ static int cycx_wan_setup(struct wan_device *wandev, wandev_conf_t *conf);
static int cycx_wan_shutdown(struct wan_device *wandev);

/* Miscellaneous functions */
-static irqreturn_t cycx_isr(int irq, void *dev_id);
+static irqreturn_t cycx_isr(void *dev_id);

/* Global Data
* Note: All data must be explicitly initialized!!!
@@ -299,7 +299,7 @@ out: return ret;
* o acknowledge Cyclom 2X hardware interrupt.
* o call protocol-specific interrupt service routine, if any.
*/
-static irqreturn_t cycx_isr(int irq, void *dev_id)
+static irqreturn_t cycx_isr(void *dev_id)
{
struct cycx_device *card = dev_id;

diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
index 33dc713..9f07e5b 100644
--- a/drivers/net/wan/dscc4.c
+++ b/drivers/net/wan/dscc4.c
@@ -365,7 +365,7 @@ static int dscc4_init_ring(struct net_device *);
static void dscc4_release_ring(struct dscc4_dev_priv *);
static void dscc4_timer(unsigned long);
static void dscc4_tx_timeout(struct net_device *);
-static irqreturn_t dscc4_irq(int irq, void *dev_id);
+static irqreturn_t dscc4_irq(void *dev_id);
static int dscc4_hdlc_attach(struct net_device *, unsigned short, unsigned short);
static int dscc4_set_iface(struct dscc4_dev_priv *, struct net_device *);
#ifdef DSCC4_POLLING
@@ -1473,7 +1473,7 @@ static int dscc4_set_iface(struct dscc4_dev_priv *dpriv, struct net_device *dev)
return ret;
}

-static irqreturn_t dscc4_irq(int irq, void *token)
+static irqreturn_t dscc4_irq(void *token)
{
struct dscc4_dev_priv *root = token;
struct dscc4_pci_priv *priv;
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 12dae8e..3825708 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -1498,7 +1498,7 @@ do_bottom_half_rx(struct fst_card_info *card)
* Dev_id is our fst_card_info pointer
*/
static irqreturn_t
-fst_intr(int irq, void *dev_id)
+fst_intr(void *dev_id)
{
struct fst_card_info *card;
struct fst_port_info *port;
diff --git a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c
index 8d0a1f2..95fafe6 100644
--- a/drivers/net/wan/hd6457x.c
+++ b/drivers/net/wan/hd6457x.c
@@ -424,7 +424,7 @@ static inline void sca_tx_intr(port_t *port)



-static irqreturn_t sca_intr(int irq, void* dev_id)
+static irqreturn_t sca_intr(void* dev_id)
{
card_t *card = dev_id;
int i;
diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index 5ea8772..b12f2d9 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -100,7 +100,7 @@ static int lmc_rx (struct net_device *dev);
static int lmc_open(struct net_device *dev);
static int lmc_close(struct net_device *dev);
static struct net_device_stats *lmc_get_stats(struct net_device *dev);
-static irqreturn_t lmc_interrupt(int irq, void *dev_instance);
+static irqreturn_t lmc_interrupt(void *dev_instance);
static void lmc_initcsrs(lmc_softc_t * const sc, lmc_csrptr_t csr_base, size_t csr_size);
static void lmc_softreset(lmc_softc_t * const);
static void lmc_running_reset(struct net_device *dev);
@@ -1272,7 +1272,7 @@ static int lmc_ifdown (struct net_device *dev) /*fold00*/
/* Interrupt handling routine. This will take an incoming packet, or clean
* up after a trasmit.
*/
-static irqreturn_t lmc_interrupt (int irq, void *dev_instance) /*fold00*/
+static irqreturn_t lmc_interrupt (void *dev_instance) /*fold00*/
{
struct net_device *dev = (struct net_device *) dev_instance;
lmc_softc_t *sc;
diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
index 99fee2f..f0e531f 100644
--- a/drivers/net/wan/pc300_drv.c
+++ b/drivers/net/wan/pc300_drv.c
@@ -284,7 +284,7 @@ static void rx_dma_buf_pt_init(pc300_t *, int);
static void rx_dma_buf_init(pc300_t *, int);
static void tx_dma_buf_check(pc300_t *, int);
static void rx_dma_buf_check(pc300_t *, int);
-static irqreturn_t cpc_intr(int, void *);
+static irqreturn_t cpc_intr(void *);
static struct net_device_stats *cpc_get_stats(struct net_device *);
static int clock_rate_calc(uclong, uclong, int *);
static uclong detect_ram(pc300_t *);
@@ -2363,7 +2363,7 @@ static void falc_intr(pc300_t * card)
}
}

-static irqreturn_t cpc_intr(int irq, void *dev_id)
+static irqreturn_t cpc_intr(void *dev_id)
{
pc300_t *card;
volatile ucchar plx_status;
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index 2e8b5c2..859e75e 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -120,7 +120,7 @@ static int sbni_ioctl( struct net_device *, struct ifreq *, int );
static struct net_device_stats *sbni_get_stats( struct net_device * );
static void set_multicast_list( struct net_device * );

-static irqreturn_t sbni_interrupt( int, void * );
+static irqreturn_t sbni_interrupt( void * );
static void handle_channel( struct net_device * );
static int recv_frame( struct net_device * );
static void send_frame( struct net_device * );
@@ -500,7 +500,7 @@ sbni_start_xmit( struct sk_buff *skb, struct net_device *dev )
*/

static irqreturn_t
-sbni_interrupt( int irq, void *dev_id )
+sbni_interrupt( void *dev_id )
{
struct net_device *dev = dev_id;
struct net_local *nl = dev->priv;
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 8e320b7..a84aa4c 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -244,7 +244,7 @@ static inline void wanxl_rx_intr(card_t *card)



-static irqreturn_t wanxl_intr(int irq, void* dev_id)
+static irqreturn_t wanxl_intr(void *dev_id)
{
card_t *card = dev_id;
int i;
diff --git a/drivers/net/wan/z85230.c b/drivers/net/wan/z85230.c
index 98ef400..7732d99 100644
--- a/drivers/net/wan/z85230.c
+++ b/drivers/net/wan/z85230.c
@@ -716,7 +716,7 @@ EXPORT_SYMBOL(z8530_nop);
* channel). c->lock for both channels points to dev->lock
*/

-irqreturn_t z8530_interrupt(int irq, void *dev_id)
+irqreturn_t z8530_interrupt(void *dev_id)
{
struct z8530_dev *dev=dev_id;
u8 intr;
diff --git a/drivers/net/wan/z85230.h b/drivers/net/wan/z85230.h
index 158aea7..7ce32b5 100644
--- a/drivers/net/wan/z85230.h
+++ b/drivers/net/wan/z85230.h
@@ -396,7 +396,7 @@ struct z8530_dev
extern u8 z8530_dead_port[];
extern u8 z8530_hdlc_kilostream_85230[];
extern u8 z8530_hdlc_kilostream[];
-extern irqreturn_t z8530_interrupt(int, void *);
+extern irqreturn_t z8530_interrupt(void *);
extern void z8530_describe(struct z8530_dev *, char *mapping, unsigned long io);
extern int z8530_init(struct z8530_dev *);
extern int z8530_shutdown(struct z8530_dev *);
diff --git a/drivers/net/wireless/adm8211.c b/drivers/net/wireless/adm8211.c
index 5bf7913..4e6de7d 100644
--- a/drivers/net/wireless/adm8211.c
+++ b/drivers/net/wireless/adm8211.c
@@ -442,7 +442,7 @@ static void adm8211_interrupt_rci(struct ieee80211_hw *dev)
}


-static irqreturn_t adm8211_interrupt(int irq, void *dev_id)
+static irqreturn_t adm8211_interrupt(void *dev_id)
{
#define ADM8211_INT(x) \
do { \
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 074055e..8526cd4 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -1122,7 +1122,7 @@ static void mpi_receive_802_3(struct airo_info *ai);
static void mpi_receive_802_11(struct airo_info *ai);
static int waitbusy (struct airo_info *ai);

-static irqreturn_t airo_interrupt( int irq, void* dev_id);
+static irqreturn_t airo_interrupt(void *dev_id);
static int airo_thread(void *data);
static void timer_func( struct net_device *dev );
static int airo_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
@@ -3177,7 +3177,7 @@ static int airo_thread(void *data) {
return 0;
}

-static irqreturn_t airo_interrupt ( int irq, void* dev_id) {
+static irqreturn_t airo_interrupt ( void *dev_id) {
struct net_device *dev = (struct net_device *)dev_id;
u16 status;
u16 fid;
diff --git a/drivers/net/wireless/arlan-main.c b/drivers/net/wireless/arlan-main.c
index dbdfc9e..567514f 100644
--- a/drivers/net/wireless/arlan-main.c
+++ b/drivers/net/wireless/arlan-main.c
@@ -78,7 +78,7 @@ static int arlans_found;

static int arlan_open(struct net_device *dev);
static int arlan_tx(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t arlan_interrupt(int irq, void *dev_id);
+static irqreturn_t arlan_interrupt(void *dev_id);
static int arlan_close(struct net_device *dev);
static struct net_device_stats *
arlan_statistics (struct net_device *dev);
@@ -1651,7 +1651,7 @@ end_int_process:
return;
}

-static irqreturn_t arlan_interrupt(int irq, void *dev_id)
+static irqreturn_t arlan_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct arlan_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 059ce3f..2d06fac 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -1142,7 +1142,7 @@ next:
}
}

-static irqreturn_t service_interrupt(int irq, void *dev_id)
+static irqreturn_t service_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct atmel_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index c141a26..e88e161 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -1505,7 +1505,7 @@ static void b43_interrupt_ack(struct b43_wldev *dev, u32 reason)
}

/* Interrupt handler top-half */
-static irqreturn_t b43_interrupt_handler(int irq, void *dev_id)
+static irqreturn_t b43_interrupt_handler(void *dev_id)
{
irqreturn_t ret = IRQ_NONE;
struct b43_wldev *dev = dev_id;
diff --git a/drivers/net/wireless/b43legacy/main.c b/drivers/net/wireless/b43legacy/main.c
index f074951..141ca8c 100644
--- a/drivers/net/wireless/b43legacy/main.c
+++ b/drivers/net/wireless/b43legacy/main.c
@@ -1350,7 +1350,7 @@ static void b43legacy_interrupt_ack(struct b43legacy_wldev *dev, u32 reason)
}

/* Interrupt handler top-half */
-static irqreturn_t b43legacy_interrupt_handler(int irq, void *dev_id)
+static irqreturn_t b43legacy_interrupt_handler(void *dev_id)
{
irqreturn_t ret = IRQ_NONE;
struct b43legacy_wldev *dev = dev_id;
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index 4568343..4a6693a 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -1814,7 +1814,7 @@ static void bcm43xx_interrupt_ack(struct bcm43xx_private *bcm, u32 reason)
}

/* Interrupt handler top-half */
-static irqreturn_t bcm43xx_interrupt_handler(int irq, void *dev_id)
+static irqreturn_t bcm43xx_interrupt_handler(void *dev_id)
{
irqreturn_t ret = IRQ_HANDLED;
struct bcm43xx_private *bcm = dev_id;
@@ -4007,7 +4007,7 @@ static void bcm43xx_net_poll_controller(struct net_device *net_dev)

local_irq_save(flags);
if (bcm43xx_status(bcm) == BCM43xx_STAT_INITIALIZED)
- bcm43xx_interrupt_handler(bcm->irq, bcm);
+ bcm43xx_interrupt_handler(bcm);
local_irq_restore(flags);
}
#endif /* CONFIG_NET_POLL_CONTROLLER */
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index c592641..6a90173 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -2622,7 +2622,7 @@ static void prism2_check_magic(local_info_t *local)


/* Called only from hardware IRQ */
-static irqreturn_t prism2_interrupt(int irq, void *dev_id)
+static irqreturn_t prism2_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *) dev_id;
struct hostap_interface *iface;
diff --git a/drivers/net/wireless/ipw2100.c b/drivers/net/wireless/ipw2100.c
index 2d46a16..a52b3ab 100644
--- a/drivers/net/wireless/ipw2100.c
+++ b/drivers/net/wireless/ipw2100.c
@@ -3263,7 +3263,7 @@ static void ipw2100_irq_tasklet(struct ipw2100_priv *priv)
IPW_DEBUG_ISR("exit\n");
}

-static irqreturn_t ipw2100_interrupt(int irq, void *data)
+static irqreturn_t ipw2100_interrupt(void *data)
{
struct ipw2100_priv *priv = data;
u32 inta, inta_mask;
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index feb8fcb..944c60e 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -10595,7 +10595,7 @@ static const struct ethtool_ops ipw_ethtool_ops = {
.set_eeprom = ipw_ethtool_set_eeprom,
};

-static irqreturn_t ipw_isr(int irq, void *data)
+static irqreturn_t ipw_isr(void *data)
{
struct ipw_priv *priv = data;
u32 inta, inta_mask;
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c
index 75e3b5c..67286e8 100644
--- a/drivers/net/wireless/iwlwifi/iwl3945-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c
@@ -4810,7 +4810,7 @@ static void iwl_irq_tasklet(struct iwl_priv *priv)
spin_unlock_irqrestore(&priv->lock, flags);
}

-static irqreturn_t iwl_isr(int irq, void *data)
+static irqreturn_t iwl_isr(void *data)
{
struct iwl_priv *priv = data;
u32 inta, inta_mask;
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c
index b1a6e39..e67b1a8 100644
--- a/drivers/net/wireless/iwlwifi/iwl4965-base.c
+++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c
@@ -5118,7 +5118,7 @@ static void iwl_irq_tasklet(struct iwl_priv *priv)
spin_unlock_irqrestore(&priv->lock, flags);
}

-static irqreturn_t iwl_isr(int irq, void *data)
+static irqreturn_t iwl_isr(void *data)
{
struct iwl_priv *priv = data;
u32 inta, inta_mask;
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 0360cad..3a5b60f 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -240,9 +240,9 @@ static inline void if_cs_disable_ints(struct if_cs_card *card)
if_cs_write16(card, IF_CS_H_INT_MASK, IF_CS_H_IM_MASK);
}

-static irqreturn_t if_cs_interrupt(int irq, void *data)
+static irqreturn_t if_cs_interrupt(void *data)
{
- struct if_cs_card *card = (struct if_cs_card *)data;
+ struct if_cs_card *card = data;
u16 int_cause;

lbs_deb_enter(LBS_DEB_CS);
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c
index c2d71af..576373a 100644
--- a/drivers/net/wireless/netwave_cs.c
+++ b/drivers/net/wireless/netwave_cs.c
@@ -207,7 +207,7 @@ static int netwave_start_xmit( struct sk_buff *skb, struct net_device *dev);
static int netwave_rx( struct net_device *dev);

/* Interrupt routines */
-static irqreturn_t netwave_interrupt(int irq, void *dev_id);
+static irqreturn_t netwave_interrupt(void *dev_id);
static void netwave_watchdog(struct net_device *);

/* Statistics */
@@ -1063,7 +1063,7 @@ static int netwave_start_xmit(struct sk_buff *skb, struct net_device *dev) {
* ready to transmit another packet.
* 3. A command has completed execution.
*/
-static irqreturn_t netwave_interrupt(int irq, void* dev_id)
+static irqreturn_t netwave_interrupt(void *dev_id)
{
kio_addr_t iobase;
u_char __iomem *ramBase;
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index ca6c2da..ee774f0 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -1957,7 +1957,7 @@ static void __orinoco_ev_wterr(struct net_device *dev, hermes_t *hw)
dev->name);
}

-irqreturn_t orinoco_interrupt(int irq, void *dev_id)
+irqreturn_t orinoco_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct orinoco_private *priv = netdev_priv(dev);
diff --git a/drivers/net/wireless/orinoco.h b/drivers/net/wireless/orinoco.h
index 4720fb2..b6a7df9 100644
--- a/drivers/net/wireless/orinoco.h
+++ b/drivers/net/wireless/orinoco.h
@@ -128,7 +128,7 @@ extern void free_orinocodev(struct net_device *dev);
extern int __orinoco_up(struct net_device *dev);
extern int __orinoco_down(struct net_device *dev);
extern int orinoco_reinit_firmware(struct net_device *dev);
-extern irqreturn_t orinoco_interrupt(int irq, void * dev_id);
+extern irqreturn_t orinoco_interrupt(void *dev_id);

/********************************************************************/
/* Locking and synchronization functions */
diff --git a/drivers/net/wireless/p54pci.c b/drivers/net/wireless/p54pci.c
index 410b543..5e1cd30 100644
--- a/drivers/net/wireless/p54pci.c
+++ b/drivers/net/wireless/p54pci.c
@@ -124,7 +124,7 @@ static int p54p_upload_firmware(struct ieee80211_hw *dev)
return 0;
}

-static irqreturn_t p54p_simple_interrupt(int irq, void *dev_id)
+static irqreturn_t p54p_simple_interrupt(void *dev_id)
{
struct p54p_priv *priv = (struct p54p_priv *) dev_id;
__le32 reg;
@@ -277,7 +277,7 @@ static void p54p_refill_rx_ring(struct ieee80211_hw *dev)
priv->ring_control->host_idx[0] = cpu_to_le32(host_idx);
}

-static irqreturn_t p54p_interrupt(int irq, void *dev_id)
+static irqreturn_t p54p_interrupt(void *dev_id)
{
struct ieee80211_hw *dev = dev_id;
struct p54p_priv *priv = dev->priv;
diff --git a/drivers/net/wireless/prism54/islpci_dev.c b/drivers/net/wireless/prism54/islpci_dev.c
index 219dd65..6e250a3 100644
--- a/drivers/net/wireless/prism54/islpci_dev.c
+++ b/drivers/net/wireless/prism54/islpci_dev.c
@@ -182,7 +182,7 @@ isl_upload_firmware(islpci_private *priv)
******************************************************************************/

irqreturn_t
-islpci_interrupt(int irq, void *config)
+islpci_interrupt(void *config)
{
u32 reg;
islpci_private *priv = config;
diff --git a/drivers/net/wireless/prism54/islpci_dev.h b/drivers/net/wireless/prism54/islpci_dev.h
index 736666d..2c8161f 100644
--- a/drivers/net/wireless/prism54/islpci_dev.h
+++ b/drivers/net/wireless/prism54/islpci_dev.h
@@ -197,7 +197,7 @@ islpci_state_t islpci_set_state(islpci_private *priv, islpci_state_t new_state);

#define ISLPCI_TX_TIMEOUT (2*HZ)

-irqreturn_t islpci_interrupt(int, void *);
+irqreturn_t islpci_interrupt(void *);

int prism54_post_setup(islpci_private *, int);
int islpci_reset(islpci_private *, int);
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index f87fe10..db014eb 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -130,7 +130,7 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, i
static void verify_dl_startup(u_long);

/* Prototypes for interrpt time functions **********************************/
-static irqreturn_t ray_interrupt (int reg, void *dev_id);
+static irqreturn_t ray_interrupt (void *dev_id);
static void clear_interrupt(ray_dev_t *local);
static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs,
unsigned int pkt_addr, int rx_len);
@@ -1916,7 +1916,7 @@ static void set_multicast_list(struct net_device *dev)
/*=============================================================================
* All routines below here are run at interrupt time.
=============================================================================*/
-static irqreturn_t ray_interrupt(int irq, void *dev_id)
+static irqreturn_t ray_interrupt(void *dev_id)
{
struct net_device *dev = (struct net_device *)dev_id;
struct pcmcia_device *link;
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c
index 31c1dd2..9e742ca 100644
--- a/drivers/net/wireless/rt2x00/rt2400pci.c
+++ b/drivers/net/wireless/rt2x00/rt2400pci.c
@@ -1186,7 +1186,7 @@ static void rt2400pci_txdone(struct rt2x00_dev *rt2x00dev, const int queue)
entry->tx_status.control.queue);
}

-static irqreturn_t rt2400pci_interrupt(int irq, void *dev_instance)
+static irqreturn_t rt2400pci_interrupt(void *dev_instance)
{
struct rt2x00_dev *rt2x00dev = dev_instance;
u32 reg;
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c
index ff2d632..3d91337 100644
--- a/drivers/net/wireless/rt2x00/rt2500pci.c
+++ b/drivers/net/wireless/rt2x00/rt2500pci.c
@@ -1323,7 +1323,7 @@ static void rt2500pci_txdone(struct rt2x00_dev *rt2x00dev, const int queue)
entry->tx_status.control.queue);
}

-static irqreturn_t rt2500pci_interrupt(int irq, void *dev_instance)
+static irqreturn_t rt2500pci_interrupt(void *dev_instance)
{
struct rt2x00_dev *rt2x00dev = dev_instance;
u32 reg;
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c
index 01dbef1..f64105c 100644
--- a/drivers/net/wireless/rt2x00/rt61pci.c
+++ b/drivers/net/wireless/rt2x00/rt61pci.c
@@ -1818,7 +1818,7 @@ static void rt61pci_txdone(struct rt2x00_dev *rt2x00dev)
}
}

-static irqreturn_t rt61pci_interrupt(int irq, void *dev_instance)
+static irqreturn_t rt61pci_interrupt(void *dev_instance)
{
struct rt2x00_dev *rt2x00dev = dev_instance;
u32 reg_mcu;
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c
index a1f8a16..cb93a2b 100644
--- a/drivers/net/wireless/wavelan.c
+++ b/drivers/net/wireless/wavelan.c
@@ -3760,7 +3760,7 @@ static int wv_check_ioaddr(unsigned long ioaddr, u8 * mac)
* This function is the interrupt handler for the WaveLAN card. This
* routine will be called whenever:
*/
-static irqreturn_t wavelan_interrupt(int irq, void *dev_id)
+static irqreturn_t wavelan_interrupt(void *dev_id)
{
struct net_device *dev;
unsigned long ioaddr;
diff --git a/drivers/net/wireless/wavelan.p.h b/drivers/net/wireless/wavelan.p.h
index fe24281..e000b89 100644
--- a/drivers/net/wireless/wavelan.p.h
+++ b/drivers/net/wireless/wavelan.p.h
@@ -638,8 +638,7 @@ static int
u_char *); /* mac address (read) */
/* ---------------------- INTERRUPT HANDLING ---------------------- */
static irqreturn_t
- wavelan_interrupt(int, /* interrupt handler */
- void *);
+ wavelan_interrupt(void *); /* interrupt handler */
static void
wavelan_watchdog(struct net_device *); /* transmission watchdog */
/* ------------------- CONFIGURATION CALLBACKS ------------------- */
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c
index 577c647..ea336b1 100644
--- a/drivers/net/wireless/wavelan_cs.c
+++ b/drivers/net/wireless/wavelan_cs.c
@@ -4067,8 +4067,7 @@ wv_pcmcia_release(struct pcmcia_device *link)
* 3. A command has completed execution.
*/
static irqreturn_t
-wavelan_interrupt(int irq,
- void * dev_id)
+wavelan_interrupt(void * dev_id)
{
struct net_device * dev = dev_id;
net_local * lp;
diff --git a/drivers/net/wireless/wavelan_cs.p.h b/drivers/net/wireless/wavelan_cs.p.h
index 4b9de00..e7b5e22 100644
--- a/drivers/net/wireless/wavelan_cs.p.h
+++ b/drivers/net/wireless/wavelan_cs.p.h
@@ -737,8 +737,7 @@ static void
wv_pcmcia_release(struct pcmcia_device *);/* Remove a device */
/* ---------------------- INTERRUPT HANDLING ---------------------- */
static irqreturn_t
- wavelan_interrupt(int, /* Interrupt handler */
- void *);
+ wavelan_interrupt(void *); /* Interrupt handler */
static void
wavelan_watchdog(struct net_device *); /* Transmission watchdog */
/* ------------------- CONFIGURATION CALLBACKS ------------------- */
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c
index 42a36b3..21f4024 100644
--- a/drivers/net/wireless/wl3501_cs.c
+++ b/drivers/net/wireless/wl3501_cs.c
@@ -1141,7 +1141,6 @@ static inline void wl3501_ack_interrupt(struct wl3501_card *this)

/**
* wl3501_interrupt - Hardware interrupt from card.
- * @irq - Interrupt number
* @dev_id - net_device
*
* We must acknowledge the interrupt as soon as possible, and block the
@@ -1151,7 +1150,7 @@ static inline void wl3501_ack_interrupt(struct wl3501_card *this)
* On the other hand, to prevent SUTRO from malfunctioning, we must
* unlock the SUTRO as soon as possible.
*/
-static irqreturn_t wl3501_interrupt(int irq, void *dev_id)
+static irqreturn_t wl3501_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct wl3501_card *this;
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 2a8fc43..7a94b52 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1292,7 +1292,7 @@ static int xen_net_read_mac(struct xenbus_device *dev, u8 mac[])
return 0;
}

-static irqreturn_t xennet_interrupt(int irq, void *dev_id)
+static irqreturn_t xennet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct netfront_info *np = netdev_priv(dev);
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
index 87f002a..a02874e 100644
--- a/drivers/net/yellowfin.c
+++ b/drivers/net/yellowfin.c
@@ -348,7 +348,7 @@ static void yellowfin_timer(unsigned long data);
static void yellowfin_tx_timeout(struct net_device *dev);
static void yellowfin_init_ring(struct net_device *dev);
static int yellowfin_start_xmit(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance);
+static irqreturn_t yellowfin_interrupt(void *dev_instance);
static int yellowfin_rx(struct net_device *dev);
static void yellowfin_error(struct net_device *dev, int intr_status);
static int yellowfin_close(struct net_device *dev);
@@ -882,7 +882,7 @@ static int yellowfin_start_xmit(struct sk_buff *skb, struct net_device *dev)

/* The interrupt handler does all of the Rx thread work and cleans up
after the Tx thread. */
-static irqreturn_t yellowfin_interrupt(int irq, void *dev_instance)
+static irqreturn_t yellowfin_interrupt(void *dev_instance)
{
struct net_device *dev = dev_instance;
struct yellowfin_private *yp;
diff --git a/drivers/net/znet.c b/drivers/net/znet.c
index a86c022..73b1c87 100644
--- a/drivers/net/znet.c
+++ b/drivers/net/znet.c
@@ -157,7 +157,7 @@ struct netidblk {

static int znet_open(struct net_device *dev);
static int znet_send_packet(struct sk_buff *skb, struct net_device *dev);
-static irqreturn_t znet_interrupt(int irq, void *dev_id);
+static irqreturn_t znet_interrupt(void *dev_id);
static void znet_rx(struct net_device *dev);
static int znet_close(struct net_device *dev);
static void hardware_init(struct net_device *dev);
@@ -598,7 +598,7 @@ static int znet_send_packet(struct sk_buff *skb, struct net_device *dev)
}

/* The ZNET interrupt handler. */
-static irqreturn_t znet_interrupt(int irq, void *dev_id)
+static irqreturn_t znet_interrupt(void *dev_id)
{
struct net_device *dev = dev_id;
struct znet_private *znet = dev->priv;

2007-10-19 07:58:31

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 6/9] irq-remove: sound driver trivial


commit 6348eaa5c5320cc3c4fac5ca1d41b587388e74d9
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:48:10 2007 -0400

[IRQ ARG REMOVAL] trivial sound driver updates

sound/aoa/core/snd-aoa-gpio-feature.c | 2 +-
sound/aoa/soundbus/i2sbus/i2sbus-core.c | 2 +-
sound/aoa/soundbus/i2sbus/i2sbus-pcm.c | 4 ++--
sound/aoa/soundbus/i2sbus/i2sbus.h | 4 ++--
sound/arm/aaci.c | 2 +-
sound/arm/pxa2xx-ac97.c | 2 +-
sound/drivers/mpu401/mpu401_uart.c | 4 ++--
sound/drivers/mtpav.c | 2 +-
sound/drivers/serial-u16550.c | 2 +-
sound/drivers/vx/vx_core.c | 2 +-
sound/isa/ad1816a/ad1816a_lib.c | 2 +-
sound/isa/ad1848/ad1848_lib.c | 2 +-
sound/isa/cs423x/cs4231_lib.c | 2 +-
sound/isa/es1688/es1688_lib.c | 2 +-
sound/isa/es18xx.c | 4 ++--
sound/isa/gus/gus_irq.c | 2 +-
sound/isa/gus/gusmax.c | 6 +++---
sound/isa/gus/interwave.c | 6 +++---
sound/isa/opl3sa2.c | 6 +++---
sound/isa/opti9xx/opti92x-ad1848.c | 2 +-
sound/isa/sb/es968.c | 2 +-
sound/isa/sb/sb16_main.c | 4 ++--
sound/isa/sb/sb8.c | 2 +-
sound/isa/sgalaxy.c | 2 +-
sound/isa/wavefront/wavefront.c | 2 +-
sound/mips/au1x00.c | 2 +-
sound/oss/ad1848.c | 4 ++--
sound/oss/btaudio.c | 2 +-
sound/oss/dmasound/dmasound_atari.c | 4 ++--
sound/oss/dmasound/dmasound_paula.c | 4 ++--
sound/oss/dmasound/dmasound_q40.c | 8 ++++----
sound/oss/hal2.c | 2 +-
sound/oss/i810_audio.c | 2 +-
sound/oss/mpu401.c | 2 +-
sound/oss/mpu401.h | 2 +-
sound/oss/msnd_pinnacle.c | 2 +-
sound/oss/pas2_card.c | 2 +-
sound/oss/sb_common.c | 4 ++--
sound/oss/sh_dac_audio.c | 2 +-
sound/oss/swarm_cs4297a.c | 2 +-
sound/oss/trident.c | 2 +-
sound/oss/uart401.c | 2 +-
sound/oss/uart6850.c | 2 +-
sound/oss/via82cxxx_audio.c | 6 +++---
sound/oss/vidc.h | 2 +-
sound/oss/vwsnd.c | 2 +-
sound/oss/waveartist.c | 4 ++--
sound/parisc/harmony.c | 2 +-
sound/pci/ad1889.c | 2 +-
sound/pci/ali5451/ali5451.c | 2 +-
sound/pci/als300.c | 4 ++--
sound/pci/als4000.c | 4 ++--
sound/pci/atiixp.c | 2 +-
sound/pci/atiixp_modem.c | 2 +-
sound/pci/au88x0/au88x0.h | 2 +-
sound/pci/au88x0/au88x0_core.c | 5 ++---
sound/pci/azt3328.c | 4 ++--
sound/pci/bt87x.c | 2 +-
sound/pci/ca0106/ca0106_main.c | 2 +-
sound/pci/cmipci.c | 4 ++--
sound/pci/cs4281.c | 4 ++--
sound/pci/cs46xx/cs46xx_lib.c | 2 +-
sound/pci/cs5535audio/cs5535audio.c | 2 +-
sound/pci/echoaudio/echoaudio.c | 2 +-
sound/pci/emu10k1/emu10k1x.c | 2 +-
sound/pci/emu10k1/irq.c | 2 +-
sound/pci/ens1370.c | 4 ++--
sound/pci/es1938.c | 6 +++---
sound/pci/es1968.c | 9 ++++-----
sound/pci/fm801.c | 4 ++--
sound/pci/hda/hda_intel.c | 2 +-
sound/pci/ice1712/ice1712.c | 6 +++---
sound/pci/ice1712/ice1724.c | 4 ++--
sound/pci/intel8x0.c | 2 +-
sound/pci/intel8x0m.c | 2 +-
sound/pci/korg1212/korg1212.c | 2 +-
sound/pci/maestro3.c | 4 ++--
sound/pci/mixart/mixart_core.c | 2 +-
sound/pci/mixart/mixart_core.h | 2 +-
sound/pci/nm256/nm256.c | 4 ++--
sound/pci/pcxhr/pcxhr_core.c | 2 +-
sound/pci/pcxhr/pcxhr_core.h | 2 +-
sound/pci/riptide/riptide.c | 5 ++---
sound/pci/rme32.c | 2 +-
sound/pci/rme96.c | 3 +--
sound/pci/rme9652/hdsp.c | 2 +-
sound/pci/rme9652/hdspm.c | 2 +-
sound/pci/rme9652/rme9652.c | 2 +-
sound/pci/sonicvibes.c | 4 ++--
sound/pci/trident/trident_main.c | 6 +++---
sound/pci/via82xx.c | 6 +++---
sound/pci/via82xx_modem.c | 2 +-
sound/pci/ymfpci/ymfpci_main.c | 4 ++--
sound/pcmcia/pdaudiocf/pdaudiocf.h | 2 +-
sound/pcmcia/pdaudiocf/pdaudiocf_irq.c | 2 +-
sound/ppc/pmac.c | 6 +++---
sound/ppc/tumbler.c | 2 +-
sound/sparc/amd7930.c | 2 +-
sound/sparc/cs4231.c | 2 +-
sound/sparc/dbri.c | 2 +-
100 files changed, 148 insertions(+), 152 deletions(-)

6348eaa5c5320cc3c4fac5ca1d41b587388e74d9
diff --git a/sound/aoa/core/snd-aoa-gpio-feature.c b/sound/aoa/core/snd-aoa-gpio-feature.c
index 805dcbf..1915d9b 100644
--- a/sound/aoa/core/snd-aoa-gpio-feature.c
+++ b/sound/aoa/core/snd-aoa-gpio-feature.c
@@ -281,7 +281,7 @@ static void ftr_gpio_exit(struct gpio_runtime *rt)
mutex_destroy(&rt->line_out_notify.mutex);
}

-static irqreturn_t ftr_handle_notify_irq(int xx, void *data)
+static irqreturn_t ftr_handle_notify_irq(void *data)
{
struct gpio_notification *notif = data;

diff --git a/sound/aoa/soundbus/i2sbus/i2sbus-core.c b/sound/aoa/soundbus/i2sbus/i2sbus-core.c
index efb9441..ee0a5ac 100644
--- a/sound/aoa/soundbus/i2sbus/i2sbus-core.c
+++ b/sound/aoa/soundbus/i2sbus/i2sbus-core.c
@@ -92,7 +92,7 @@ static void i2sbus_release_dev(struct device *dev)
kfree(i2sdev);
}

-static irqreturn_t i2sbus_bus_intr(int irq, void *devid)
+static irqreturn_t i2sbus_bus_intr(void *devid)
{
struct i2sbus_dev *dev = devid;
u32 intreg;
diff --git a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
index c6b42f9..e732f15 100644
--- a/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
+++ b/sound/aoa/soundbus/i2sbus/i2sbus-pcm.c
@@ -702,13 +702,13 @@ static inline void handle_interrupt(struct i2sbus_dev *i2sdev, int in)
spin_unlock(&i2sdev->low_lock);
}

-irqreturn_t i2sbus_tx_intr(int irq, void *devid)
+irqreturn_t i2sbus_tx_intr(void *devid)
{
handle_interrupt((struct i2sbus_dev *)devid, 0);
return IRQ_HANDLED;
}

-irqreturn_t i2sbus_rx_intr(int irq, void *devid)
+irqreturn_t i2sbus_rx_intr(void *devid)
{
handle_interrupt((struct i2sbus_dev *)devid, 1);
return IRQ_HANDLED;
diff --git a/sound/aoa/soundbus/i2sbus/i2sbus.h b/sound/aoa/soundbus/i2sbus/i2sbus.h
index ff29654..9d97f3b 100644
--- a/sound/aoa/soundbus/i2sbus/i2sbus.h
+++ b/sound/aoa/soundbus/i2sbus/i2sbus.h
@@ -100,9 +100,9 @@ i2sbus_attach_codec(struct soundbus_dev *dev, struct snd_card *card,
extern void
i2sbus_detach_codec(struct soundbus_dev *dev, void *data);
extern irqreturn_t
-i2sbus_tx_intr(int irq, void *devid);
+i2sbus_tx_intr(void *devid);
extern irqreturn_t
-i2sbus_rx_intr(int irq, void *devid);
+i2sbus_rx_intr(void *devid);

extern void i2sbus_wait_for_stop_both(struct i2sbus_dev *i2sdev);
extern void i2sbus_pcm_prepare_both(struct i2sbus_dev *i2sdev);
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c
index 3b73ba7..2c7b8bc 100644
--- a/sound/arm/aaci.c
+++ b/sound/arm/aaci.c
@@ -309,7 +309,7 @@ static void aaci_fifo_irq(struct aaci *aaci, int channel, u32 mask)
}
}

-static irqreturn_t aaci_irq(int irq, void *devid)
+static irqreturn_t aaci_irq(void *devid)
{
struct aaci *aaci = devid;
u32 mask;
diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c
index 7bc2767..4110b80 100644
--- a/sound/arm/pxa2xx-ac97.c
+++ b/sound/arm/pxa2xx-ac97.c
@@ -152,7 +152,7 @@ static void pxa2xx_ac97_reset(struct snd_ac97 *ac97)
GCR |= GCR_SDONE_IE|GCR_CDONE_IE;
}

-static irqreturn_t pxa2xx_ac97_irq(int irq, void *dev_id)
+static irqreturn_t pxa2xx_ac97_irq(void *dev_id)
{
long status;

diff --git a/sound/drivers/mpu401/mpu401_uart.c b/sound/drivers/mpu401/mpu401_uart.c
index 3306ecd..702c2dd 100644
--- a/sound/drivers/mpu401/mpu401_uart.c
+++ b/sound/drivers/mpu401/mpu401_uart.c
@@ -128,7 +128,7 @@ static void _snd_mpu401_uart_interrupt(struct snd_mpu401 *mpu)
*
* Processes the interrupt for MPU401-UART i/o.
*/
-irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id)
+irqreturn_t snd_mpu401_uart_interrupt(void *dev_id)
{
struct snd_mpu401 *mpu = dev_id;

@@ -147,7 +147,7 @@ EXPORT_SYMBOL(snd_mpu401_uart_interrupt);
*
* Processes the interrupt for MPU401-UART output.
*/
-irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, void *dev_id)
+irqreturn_t snd_mpu401_uart_interrupt_tx(void *dev_id)
{
struct snd_mpu401 *mpu = dev_id;

diff --git a/sound/drivers/mtpav.c b/sound/drivers/mtpav.c
index 40eb026..ae65941 100644
--- a/sound/drivers/mtpav.c
+++ b/sound/drivers/mtpav.c
@@ -570,7 +570,7 @@ static void snd_mtpav_read_bytes(struct mtpav *mcrd)
} while (sbyt & SIGS_BYTE);
}

-static irqreturn_t snd_mtpav_irqh(int irq, void *dev_id)
+static irqreturn_t snd_mtpav_irqh(void *dev_id)
{
struct mtpav *mcard = dev_id;

diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c
index 65de3a7..63c08a3 100644
--- a/sound/drivers/serial-u16550.c
+++ b/sound/drivers/serial-u16550.c
@@ -292,7 +292,7 @@ static void snd_uart16550_io_loop(struct snd_uart16550 * uart)
* Note that some devices need OUT2 to be set before they will generate
* interrupts at all. (Possibly tied to an internal pull-up on CTS?)
*/
-static irqreturn_t snd_uart16550_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_uart16550_interrupt(void *dev_id)
{
struct snd_uart16550 *uart;

diff --git a/sound/drivers/vx/vx_core.c b/sound/drivers/vx/vx_core.c
index ed19bc1..d043118 100644
--- a/sound/drivers/vx/vx_core.c
+++ b/sound/drivers/vx/vx_core.c
@@ -537,7 +537,7 @@ static void vx_interrupt(unsigned long private_data)
/**
* snd_vx_irq_handler - interrupt handler
*/
-irqreturn_t snd_vx_irq_handler(int irq, void *dev)
+irqreturn_t snd_vx_irq_handler(void *dev)
{
struct vx_core *chip = dev;

diff --git a/sound/isa/ad1816a/ad1816a_lib.c b/sound/isa/ad1816a/ad1816a_lib.c
index cf18fe4..376bd96 100644
--- a/sound/isa/ad1816a/ad1816a_lib.c
+++ b/sound/isa/ad1816a/ad1816a_lib.c
@@ -315,7 +315,7 @@ static snd_pcm_uframes_t snd_ad1816a_capture_pointer(struct snd_pcm_substream *s
}


-static irqreturn_t snd_ad1816a_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ad1816a_interrupt(void *dev_id)
{
struct snd_ad1816a *chip = dev_id;
unsigned char status;
diff --git a/sound/isa/ad1848/ad1848_lib.c b/sound/isa/ad1848/ad1848_lib.c
index a901cd1..d3686db 100644
--- a/sound/isa/ad1848/ad1848_lib.c
+++ b/sound/isa/ad1848/ad1848_lib.c
@@ -564,7 +564,7 @@ static int snd_ad1848_capture_prepare(struct snd_pcm_substream *substream)
return 0;
}

-static irqreturn_t snd_ad1848_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ad1848_interrupt(void *dev_id)
{
struct snd_ad1848 *chip = dev_id;

diff --git a/sound/isa/cs423x/cs4231_lib.c b/sound/isa/cs423x/cs4231_lib.c
index a5eb965..94b0961 100644
--- a/sound/isa/cs423x/cs4231_lib.c
+++ b/sound/isa/cs423x/cs4231_lib.c
@@ -909,7 +909,7 @@ static void snd_cs4231_overrange(struct snd_cs4231 *chip)
chip->capture_substream->runtime->overrange++;
}

-irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id)
+irqreturn_t snd_cs4231_interrupt(void *dev_id)
{
struct snd_cs4231 *chip = dev_id;
unsigned char status;
diff --git a/sound/isa/es1688/es1688_lib.c b/sound/isa/es1688/es1688_lib.c
index 5c26d49..1f20e42 100644
--- a/sound/isa/es1688/es1688_lib.c
+++ b/sound/isa/es1688/es1688_lib.c
@@ -479,7 +479,7 @@ static int snd_es1688_capture_trigger(struct snd_pcm_substream *substream,
return snd_es1688_trigger(chip, cmd, 0x0f);
}

-static irqreturn_t snd_es1688_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_es1688_interrupt(void *dev_id)
{
struct snd_es1688 *chip = dev_id;

diff --git a/sound/isa/es18xx.c b/sound/isa/es18xx.c
index 4a7367a..369a6f2 100644
--- a/sound/isa/es18xx.c
+++ b/sound/isa/es18xx.c
@@ -754,7 +754,7 @@ static int snd_es18xx_playback_trigger(struct snd_pcm_substream *substream,
return snd_es18xx_playback2_trigger(chip, substream, cmd);
}

-static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_es18xx_interrupt(void *dev_id)
{
struct snd_es18xx *chip = dev_id;
unsigned char status;
@@ -799,7 +799,7 @@ static irqreturn_t snd_es18xx_interrupt(int irq, void *dev_id)

/* MPU */
if ((status & MPU_IRQ) && chip->rmidi)
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);

/* Hardware volume */
if (status & HWV_IRQ) {
diff --git a/sound/isa/gus/gus_irq.c b/sound/isa/gus/gus_irq.c
index cd9a6f1..ea27421 100644
--- a/sound/isa/gus/gus_irq.c
+++ b/sound/isa/gus/gus_irq.c
@@ -30,7 +30,7 @@
#define STAT_ADD(x) while (0) { ; }
#endif

-irqreturn_t snd_gus_interrupt(int irq, void *dev_id)
+irqreturn_t snd_gus_interrupt(void *dev_id)
{
struct snd_gus_card * gus = dev_id;
unsigned char status;
diff --git a/sound/isa/gus/gusmax.c b/sound/isa/gus/gusmax.c
index 4922f5d..31d4121 100644
--- a/sound/isa/gus/gusmax.c
+++ b/sound/isa/gus/gusmax.c
@@ -103,7 +103,7 @@ static int __devinit snd_gusmax_detect(struct snd_gus_card * gus)
return 0;
}

-static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_gusmax_interrupt(void *dev_id)
{
struct snd_gusmax *maxcard = dev_id;
int loop, max = 5;
@@ -113,12 +113,12 @@ static irqreturn_t snd_gusmax_interrupt(int irq, void *dev_id)
loop = 0;
if (inb(maxcard->gus_status_reg)) {
handled = 1;
- snd_gus_interrupt(irq, maxcard->gus);
+ snd_gus_interrupt(maxcard->gus);
loop++;
}
if (inb(maxcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */
handled = 1;
- snd_cs4231_interrupt(irq, maxcard->cs4231);
+ snd_cs4231_interrupt(maxcard->cs4231);
loop++;
}
} while (loop && --max > 0);
diff --git a/sound/isa/gus/interwave.c b/sound/isa/gus/interwave.c
index 2091c50..6cd4770 100644
--- a/sound/isa/gus/interwave.c
+++ b/sound/isa/gus/interwave.c
@@ -298,7 +298,7 @@ static int __devinit snd_interwave_detect(struct snd_interwave *iwcard,
return -ENODEV;
}

-static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_interwave_interrupt(void *dev_id)
{
struct snd_interwave *iwcard = dev_id;
int loop, max = 5;
@@ -308,12 +308,12 @@ static irqreturn_t snd_interwave_interrupt(int irq, void *dev_id)
loop = 0;
if (inb(iwcard->gus_status_reg)) {
handled = 1;
- snd_gus_interrupt(irq, iwcard->gus);
+ snd_gus_interrupt(iwcard->gus);
loop++;
}
if (inb(iwcard->pcm_status_reg) & 0x01) { /* IRQ bit is set? */
handled = 1;
- snd_cs4231_interrupt(irq, iwcard->cs4231);
+ snd_cs4231_interrupt(iwcard->cs4231);
loop++;
}
} while (loop && --max > 0);
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c
index 59af9ab..44ba899 100644
--- a/sound/isa/opl3sa2.c
+++ b/sound/isa/opl3sa2.c
@@ -296,7 +296,7 @@ static int __devinit snd_opl3sa2_detect(struct snd_opl3sa2 *chip)
return 0;
}

-static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_opl3sa2_interrupt(void *dev_id)
{
unsigned short status;
struct snd_opl3sa2 *chip = dev_id;
@@ -314,12 +314,12 @@ static irqreturn_t snd_opl3sa2_interrupt(int irq, void *dev_id)

if ((status & 0x10) && chip->rmidi != NULL) {
handled = 1;
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
}

if (status & 0x07) { /* TI,CI,PI */
handled = 1;
- snd_cs4231_interrupt(irq, chip->cs4231);
+ snd_cs4231_interrupt(chip->cs4231);
}

if (status & 0x40) { /* hardware volume change */
diff --git a/sound/isa/opti9xx/opti92x-ad1848.c b/sound/isa/opti9xx/opti92x-ad1848.c
index ee1a824..4e04ee7 100644
--- a/sound/isa/opti9xx/opti92x-ad1848.c
+++ b/sound/isa/opti9xx/opti92x-ad1848.c
@@ -1098,7 +1098,7 @@ static void snd_opti93x_overrange(struct snd_opti93x *chip)
spin_unlock_irqrestore(&chip->lock, flags);
}

-static irqreturn_t snd_opti93x_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_opti93x_interrupt(void *dev_id)
{
struct snd_opti93x *codec = dev_id;
unsigned char status;
diff --git a/sound/isa/sb/es968.c b/sound/isa/sb/es968.c
index d4b2187..4eb3bbf 100644
--- a/sound/isa/sb/es968.c
+++ b/sound/isa/sb/es968.c
@@ -70,7 +70,7 @@ MODULE_DEVICE_TABLE(pnp_card, snd_es968_pnpids);

#define DRIVER_NAME "snd-card-es968"

-static irqreturn_t snd_card_es968_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_card_es968_interrupt(void *dev_id)
{
struct snd_sb *chip = dev_id;

diff --git a/sound/isa/sb/sb16_main.c b/sound/isa/sb/sb16_main.c
index c06754f..eea5976 100644
--- a/sound/isa/sb/sb16_main.c
+++ b/sound/isa/sb/sb16_main.c
@@ -395,7 +395,7 @@ static int snd_sb16_capture_trigger(struct snd_pcm_substream *substream,
return result;
}

-irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id)
+irqreturn_t snd_sb16dsp_interrupt(void *dev_id)
{
struct snd_sb *chip = dev_id;
unsigned char status;
@@ -405,7 +405,7 @@ irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id)
status = snd_sbmixer_read(chip, SB_DSP4_IRQSTATUS);
spin_unlock(&chip->mixer_lock);
if ((status & SB_IRQTYPE_MPUIN) && chip->rmidi_callback)
- chip->rmidi_callback(irq, chip->rmidi->private_data);
+ chip->rmidi_callback(chip->rmidi->private_data);
if (status & SB_IRQTYPE_8BIT) {
ok = 0;
if (chip->mode & SB_MODE_PLAYBACK_8) {
diff --git a/sound/isa/sb/sb8.c b/sound/isa/sb/sb8.c
index f933aef..8b3aa59 100644
--- a/sound/isa/sb/sb8.c
+++ b/sound/isa/sb/sb8.c
@@ -61,7 +61,7 @@ struct snd_sb8 {
struct snd_sb *chip;
};

-static irqreturn_t snd_sb8_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_sb8_interrupt(void *dev_id)
{
struct snd_sb *chip = dev_id;

diff --git a/sound/isa/sgalaxy.c b/sound/isa/sgalaxy.c
index 922519d..3255bea 100644
--- a/sound/isa/sgalaxy.c
+++ b/sound/isa/sgalaxy.c
@@ -108,7 +108,7 @@ static int __devinit snd_sgalaxy_sbdsp_command(unsigned long port,
return 0;
}

-static irqreturn_t snd_sgalaxy_dummy_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_sgalaxy_dummy_interrupt(void *dev_id)
{
return IRQ_NONE;
}
diff --git a/sound/isa/wavefront/wavefront.c b/sound/isa/wavefront/wavefront.c
index 83c2fc4..5cc35d4 100644
--- a/sound/isa/wavefront/wavefront.c
+++ b/sound/isa/wavefront/wavefront.c
@@ -264,7 +264,7 @@ snd_wavefront_pnp (int dev, snd_wavefront_card_t *acard, struct pnp_card_link *c

#endif /* CONFIG_PNP */

-static irqreturn_t snd_wavefront_ics2115_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_wavefront_ics2115_interrupt(void *dev_id)
{
snd_wavefront_card_t *acard;

diff --git a/sound/mips/au1x00.c b/sound/mips/au1x00.c
index 8a61a11..f4f7ae8 100644
--- a/sound/mips/au1x00.c
+++ b/sound/mips/au1x00.c
@@ -220,7 +220,7 @@ au1000_dma_start(struct audio_stream *stream)
}

static irqreturn_t
-au1000_dma_interrupt(int irq, void *dev_id)
+au1000_dma_interrupt(void *dev_id)
{
struct audio_stream *stream = (struct audio_stream *) dev_id;
struct snd_pcm_substream *substream = stream->substream;
diff --git a/sound/oss/ad1848.c b/sound/oss/ad1848.c
index 7cf9913..0848881 100644
--- a/sound/oss/ad1848.c
+++ b/sound/oss/ad1848.c
@@ -195,7 +195,7 @@ static void ad1848_halt(int dev);
static void ad1848_halt_input(int dev);
static void ad1848_halt_output(int dev);
static void ad1848_trigger(int dev, int bits);
-static irqreturn_t adintr(int irq, void *dev_id);
+static irqreturn_t adintr(void *dev_id);

#ifndef EXCLUDE_TIMERS
static int ad1848_tmr_install(int dev);
@@ -2196,7 +2196,7 @@ void ad1848_unload(int io_base, int irq, int dma_playback, int dma_capture, int
printk(KERN_ERR "ad1848: Can't find device to be unloaded. Base=%x\n", io_base);
}

-static irqreturn_t adintr(int irq, void *dev_id)
+static irqreturn_t adintr(void *dev_id)
{
unsigned char status;
ad1848_info *devc;
diff --git a/sound/oss/btaudio.c b/sound/oss/btaudio.c
index 4d5cf05..5583f35 100644
--- a/sound/oss/btaudio.c
+++ b/sound/oss/btaudio.c
@@ -824,7 +824,7 @@ static char *irq_name[] = { "", "", "", "OFLOW", "", "", "", "", "", "", "",
"RISCI", "FBUS", "FTRGT", "FDSR", "PPERR",
"RIPERR", "PABORT", "OCERR", "SCERR" };

-static irqreturn_t btaudio_irq(int irq, void *dev_id)
+static irqreturn_t btaudio_irq(void *dev_id)
{
int count = 0;
u32 stat,astat;
diff --git a/sound/oss/dmasound/dmasound_atari.c b/sound/oss/dmasound/dmasound_atari.c
index 285239d..bf5db09 100644
--- a/sound/oss/dmasound/dmasound_atari.c
+++ b/sound/oss/dmasound/dmasound_atari.c
@@ -133,7 +133,7 @@ static int FalconSetFormat(int format);
static int FalconSetVolume(int volume);
static void AtaPlayNextFrame(int index);
static void AtaPlay(void);
-static irqreturn_t AtaInterrupt(int irq, void *dummy);
+static irqreturn_t AtaInterrupt(void *dummy);

/*** Mid level stuff *********************************************************/

@@ -1257,7 +1257,7 @@ static void AtaPlay(void)
}


-static irqreturn_t AtaInterrupt(int irq, void *dummy)
+static irqreturn_t AtaInterrupt(void *dummy)
{
#if 0
/* ++TeSche: if you should want to test this... */
diff --git a/sound/oss/dmasound/dmasound_paula.c b/sound/oss/dmasound/dmasound_paula.c
index 90fc058..cc85922 100644
--- a/sound/oss/dmasound/dmasound_paula.c
+++ b/sound/oss/dmasound/dmasound_paula.c
@@ -82,7 +82,7 @@ static int AmiSetVolume(int volume);
static int AmiSetTreble(int treble);
static void AmiPlayNextFrame(int index);
static void AmiPlay(void);
-static irqreturn_t AmiInterrupt(int irq, void *dummy);
+static irqreturn_t AmiInterrupt(void *dummy);

#ifdef CONFIG_HEARTBEAT

@@ -556,7 +556,7 @@ static void AmiPlay(void)
}


-static irqreturn_t AmiInterrupt(int irq, void *dummy)
+static irqreturn_t AmiInterrupt(void *dummy)
{
int minframes = 1;

diff --git a/sound/oss/dmasound/dmasound_q40.c b/sound/oss/dmasound/dmasound_q40.c
index b3379dd..d706976 100644
--- a/sound/oss/dmasound/dmasound_q40.c
+++ b/sound/oss/dmasound/dmasound_q40.c
@@ -48,8 +48,8 @@ static int Q40SetFormat(int format);
static int Q40SetVolume(int volume);
static void Q40PlayNextFrame(int index);
static void Q40Play(void);
-static irqreturn_t Q40StereoInterrupt(int irq, void *dummy);
-static irqreturn_t Q40MonoInterrupt(int irq, void *dummy);
+static irqreturn_t Q40StereoInterrupt(void *dummy);
+static irqreturn_t Q40MonoInterrupt(void *dummy);
static void Q40Interrupt(void);


@@ -451,7 +451,7 @@ static void Q40Play(void)
spin_unlock_irqrestore(&dmasound.lock, flags);
}

-static irqreturn_t Q40StereoInterrupt(int irq, void *dummy)
+static irqreturn_t Q40StereoInterrupt(void *dummy)
{
spin_lock(&dmasound.lock);
if (q40_sc>1){
@@ -463,7 +463,7 @@ static irqreturn_t Q40StereoInterrupt(int irq, void *dummy)
spin_unlock(&dmasound.lock);
return IRQ_HANDLED;
}
-static irqreturn_t Q40MonoInterrupt(int irq, void *dummy)
+static irqreturn_t Q40MonoInterrupt(void *dummy)
{
spin_lock(&dmasound.lock);
if (q40_sc>0){
diff --git a/sound/oss/hal2.c b/sound/oss/hal2.c
index a94b9df..4d4f8fa 100644
--- a/sound/oss/hal2.c
+++ b/sound/oss/hal2.c
@@ -370,7 +370,7 @@ static void hal2_adc_interrupt(struct hal2_codec *adc)
wake_up(&adc->dma_wait);
}

-static irqreturn_t hal2_interrupt(int irq, void *dev_id)
+static irqreturn_t hal2_interrupt(void *dev_id)
{
struct hal2_card *hal2 = dev_id;
irqreturn_t ret = IRQ_NONE;
diff --git a/sound/oss/i810_audio.c b/sound/oss/i810_audio.c
index f5e31f1..d99fe07 100644
--- a/sound/oss/i810_audio.c
+++ b/sound/oss/i810_audio.c
@@ -1524,7 +1524,7 @@ static void i810_channel_interrupt(struct i810_card *card)
#endif
}

-static irqreturn_t i810_interrupt(int irq, void *dev_id)
+static irqreturn_t i810_interrupt(void *dev_id)
{
struct i810_card *card = dev_id;
u32 status;
diff --git a/sound/oss/mpu401.c b/sound/oss/mpu401.c
index a690ca5..111fcd9 100644
--- a/sound/oss/mpu401.c
+++ b/sound/oss/mpu401.c
@@ -432,7 +432,7 @@ static void mpu401_input_loop(struct mpu_config *devc)
devc->m_busy = 0;
}

-static irqreturn_t mpuintr(int irq, void *dev_id)
+static irqreturn_t mpuintr(void *dev_id)
{
struct mpu_config *devc;
int dev = (int)(unsigned long) dev_id;
diff --git a/sound/oss/mpu401.h b/sound/oss/mpu401.h
index 0ad1e9e..fe21576 100644
--- a/sound/oss/mpu401.h
+++ b/sound/oss/mpu401.h
@@ -3,7 +3,7 @@
int probe_uart401 (struct address_info *hw_config, struct module *owner);
void unload_uart401 (struct address_info *hw_config);

-irqreturn_t uart401intr (int irq, void *dev_id);
+irqreturn_t uart401intr (void *dev_id);

/* From mpu401.c */
int probe_mpu401(struct address_info *hw_config, struct resource *ports);
diff --git a/sound/oss/msnd_pinnacle.c b/sound/oss/msnd_pinnacle.c
index f1f49eb..efd59c8 100644
--- a/sound/oss/msnd_pinnacle.c
+++ b/sound/oss/msnd_pinnacle.c
@@ -1087,7 +1087,7 @@ static __inline__ void eval_dsp_msg(register WORD wMessage)
}
}

-static irqreturn_t intr(int irq, void *dev_id)
+static irqreturn_t intr(void *dev_id)
{
/* Send ack to DSP */
msnd_inb(dev.io + HP_RXL);
diff --git a/sound/oss/pas2_card.c b/sound/oss/pas2_card.c
index 25f3a22..e9902fa 100644
--- a/sound/oss/pas2_card.c
+++ b/sound/oss/pas2_card.c
@@ -88,7 +88,7 @@ void pas_write(unsigned char data, int ioaddr)

/******************* Begin of the Interrupt Handler ********************/

-static irqreturn_t pasintr(int irq, void *dev_id)
+static irqreturn_t pasintr(void *dev_id)
{
int status;

diff --git a/sound/oss/sb_common.c b/sound/oss/sb_common.c
index 07cbacf..1c65d0b 100644
--- a/sound/oss/sb_common.c
+++ b/sound/oss/sb_common.c
@@ -132,7 +132,7 @@ static void sb_intr (sb_devc *devc)

if (src & 4) /* MPU401 interrupt */
if(devc->midi_irq_cookie)
- uart401intr(devc->irq, devc->midi_irq_cookie);
+ uart401intr(devc->midi_irq_cookie);

if (!(src & 3))
return; /* Not a DSP interrupt */
@@ -200,7 +200,7 @@ static void pci_intr(sb_devc *devc)
sb_intr(devc);
}

-static irqreturn_t sbintr(int irq, void *dev_id)
+static irqreturn_t sbintr(void *dev_id)
{
sb_devc *devc = dev_id;

diff --git a/sound/oss/sh_dac_audio.c b/sound/oss/sh_dac_audio.c
index b493660..2971832 100644
--- a/sound/oss/sh_dac_audio.c
+++ b/sound/oss/sh_dac_audio.c
@@ -263,7 +263,7 @@ const struct file_operations dac_audio_fops = {
.release = dac_audio_release,
};

-static irqreturn_t timer1_interrupt(int irq, void *dev)
+static irqreturn_t timer1_interrupt(void *dev)
{
unsigned long timer_status;

diff --git a/sound/oss/swarm_cs4297a.c b/sound/oss/swarm_cs4297a.c
index a8057f2..e58fdd6 100644
--- a/sound/oss/swarm_cs4297a.c
+++ b/sound/oss/swarm_cs4297a.c
@@ -2503,7 +2503,7 @@ static /*const */ struct file_operations cs4297a_audio_fops = {
.release = cs4297a_release,
};

-static void cs4297a_interrupt(int irq, void *dev_id)
+static void cs4297a_interrupt(void *dev_id)
{
struct cs4297a_state *s = (struct cs4297a_state *) dev_id;
u32 status;
diff --git a/sound/oss/trident.c b/sound/oss/trident.c
index 96adc47..e702019 100644
--- a/sound/oss/trident.c
+++ b/sound/oss/trident.c
@@ -1811,7 +1811,7 @@ cyber_address_interrupt(struct trident_card *card)
}

static irqreturn_t
-trident_interrupt(int irq, void *dev_id)
+trident_interrupt(void *dev_id)
{
struct trident_card *card = (struct trident_card *) dev_id;
u32 event;
diff --git a/sound/oss/uart401.c b/sound/oss/uart401.c
index a446b82..50922ef 100644
--- a/sound/oss/uart401.c
+++ b/sound/oss/uart401.c
@@ -96,7 +96,7 @@ static void uart401_input_loop(uart401_devc * devc)
printk(KERN_WARNING "Too much work in interrupt on uart401 (0x%X). UART jabbering ??\n", devc->base);
}

-irqreturn_t uart401intr(int irq, void *dev_id)
+irqreturn_t uart401intr(void *dev_id)
{
uart401_devc *devc = dev_id;

diff --git a/sound/oss/uart6850.c b/sound/oss/uart6850.c
index f3f914a..ccc3cf1 100644
--- a/sound/oss/uart6850.c
+++ b/sound/oss/uart6850.c
@@ -104,7 +104,7 @@ static void uart6850_input_loop(void)
}
}

-static irqreturn_t m6850intr(int irq, void *dev_id)
+static irqreturn_t m6850intr(void *dev_id)
{
if (input_avail())
uart6850_input_loop();
diff --git a/sound/oss/via82cxxx_audio.c b/sound/oss/via82cxxx_audio.c
index 5d3c037..a2b73ed 100644
--- a/sound/oss/via82cxxx_audio.c
+++ b/sound/oss/via82cxxx_audio.c
@@ -1911,7 +1911,7 @@ static void via_intr_channel (struct via_info *card, struct via_channel *chan)
}


-static irqreturn_t via_interrupt(int irq, void *dev_id)
+static irqreturn_t via_interrupt(void *dev_id)
{
struct via_info *card = dev_id;
u32 status32;
@@ -1926,7 +1926,7 @@ static irqreturn_t via_interrupt(int irq, void *dev_id)
{
#ifdef CONFIG_MIDI_VIA82CXXX
if (card->midi_devc)
- uart401intr(irq, card->midi_devc);
+ uart401intr(card->midi_devc);
#endif
return IRQ_HANDLED;
}
@@ -1949,7 +1949,7 @@ static irqreturn_t via_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t via_new_interrupt(int irq, void *dev_id)
+static irqreturn_t via_new_interrupt(void *dev_id)
{
struct via_info *card = dev_id;
u32 status32;
diff --git a/sound/oss/vidc.h b/sound/oss/vidc.h
index 0d14247..95da71a 100644
--- a/sound/oss/vidc.h
+++ b/sound/oss/vidc.h
@@ -33,7 +33,7 @@ extern unsigned long vidc_fill_2x16_s(unsigned long ibuf, unsigned long iend,
* DMA Interrupt handler
*/

-extern irqreturn_t vidc_sound_dma_irq(int irqnr, void *ref);
+extern irqreturn_t vidc_sound_dma_irq(void *ref);

/*
* Filler routine pointer
diff --git a/sound/oss/vwsnd.c b/sound/oss/vwsnd.c
index d25249a..6cf7c74 100644
--- a/sound/oss/vwsnd.c
+++ b/sound/oss/vwsnd.c
@@ -2233,7 +2233,7 @@ static void vwsnd_audio_write_intr(vwsnd_dev_t *devc, unsigned int status)
pcm_output(devc, underflown, 0);
}

-static irqreturn_t vwsnd_audio_intr(int irq, void *dev_id)
+static irqreturn_t vwsnd_audio_intr(void *dev_id)
{
vwsnd_dev_t *devc = dev_id;
unsigned int status;
diff --git a/sound/oss/waveartist.c b/sound/oss/waveartist.c
index b48c729..4bdac2a 100644
--- a/sound/oss/waveartist.c
+++ b/sound/oss/waveartist.c
@@ -833,9 +833,9 @@ static struct audio_driver waveartist_audio_driver = {


static irqreturn_t
-waveartist_intr(int irq, void *dev_id)
+waveartist_intr(void *dev_id)
{
- wavnc_info *devc = (wavnc_info *)dev_id;
+ wavnc_info *devc = dev_id;
int irqstatus, status;

spin_lock(&waveartist_lock);
diff --git a/sound/parisc/harmony.c b/sound/parisc/harmony.c
index ff705c6..141ae20 100644
--- a/sound/parisc/harmony.c
+++ b/sound/parisc/harmony.c
@@ -193,7 +193,7 @@ harmony_set_control(struct snd_harmony *h)
}

static irqreturn_t
-snd_harmony_interrupt(int irq, void *dev)
+snd_harmony_interrupt(void *dev)
{
u32 dstatus;
struct snd_harmony *h = dev;
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c
index 98970d4..5272038 100644
--- a/sound/pci/ad1889.c
+++ b/sound/pci/ad1889.c
@@ -596,7 +596,7 @@ static struct snd_pcm_ops snd_ad1889_capture_ops = {
};

static irqreturn_t
-snd_ad1889_interrupt(int irq, void *dev_id)
+snd_ad1889_interrupt(void *dev_id)
{
unsigned long st;
struct snd_ad1889 *chip = dev_id;
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c
index 4c2bd7a..8c3ce64 100644
--- a/sound/pci/ali5451/ali5451.c
+++ b/sound/pci/ali5451/ali5451.c
@@ -968,7 +968,7 @@ static void snd_ali_update_ptr(struct snd_ali *codec, int channel)
pchregs->data.aint = old & (~mask);
}

-static irqreturn_t snd_ali_card_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ali_card_interrupt(void *dev_id)
{
struct snd_ali *codec = dev_id;
int channel;
diff --git a/sound/pci/als300.c b/sound/pci/als300.c
index 48cc39b..1fdd075 100644
--- a/sound/pci/als300.c
+++ b/sound/pci/als300.c
@@ -204,7 +204,7 @@ static int snd_als300_dev_free(struct snd_device *device)
return snd_als300_free(chip);
}

-static irqreturn_t snd_als300_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_als300_interrupt(void *dev_id)
{
u8 status;
struct snd_als300 *chip = dev_id;
@@ -235,7 +235,7 @@ static irqreturn_t snd_als300_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t snd_als300plus_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_als300plus_interrupt(void *dev_id)
{
u8 general, mpu, dram;
struct snd_als300 *chip = dev_id;
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c
index 1190ef3..6f08ea2 100644
--- a/sound/pci/als4000.c
+++ b/sound/pci/als4000.c
@@ -385,7 +385,7 @@ static snd_pcm_uframes_t snd_als4000_playback_pointer(struct snd_pcm_substream *
* SB IRQ status.
* And do we *really* need the lock here for *reading* SB_DSP4_IRQSTATUS??
* */
-static irqreturn_t snd_als4000_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_als4000_interrupt(void *dev_id)
{
struct snd_sb *chip = dev_id;
unsigned gcr_status;
@@ -399,7 +399,7 @@ static irqreturn_t snd_als4000_interrupt(int irq, void *dev_id)
if ((gcr_status & 0x40) && (chip->capture_substream)) /* capturing */
snd_pcm_period_elapsed(chip->capture_substream);
if ((gcr_status & 0x10) && (chip->rmidi)) /* MPU401 interrupt */
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
/* release the gcr */
outb(gcr_status, chip->alt_port + 0xe);

diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c
index 89184a4..8f91784 100644
--- a/sound/pci/atiixp.c
+++ b/sound/pci/atiixp.c
@@ -1329,7 +1329,7 @@ static int __devinit snd_atiixp_pcm_new(struct atiixp *chip)
/*
* interrupt handler
*/
-static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_atiixp_interrupt(void *dev_id)
{
struct atiixp *chip = dev_id;
unsigned int status;
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c
index ce752f8..c592e6a 100644
--- a/sound/pci/atiixp_modem.c
+++ b/sound/pci/atiixp_modem.c
@@ -1017,7 +1017,7 @@ static int __devinit snd_atiixp_pcm_new(struct atiixp_modem *chip)
/*
* interrupt handler
*/
-static irqreturn_t snd_atiixp_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_atiixp_interrupt(void *dev_id)
{
struct atiixp_modem *chip = dev_id;
unsigned int status;
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h
index 5ccf0b1..06133a0 100644
--- a/sound/pci/au88x0/au88x0.h
+++ b/sound/pci/au88x0/au88x0.h
@@ -236,7 +236,7 @@ static void vortex_spdif_init(vortex_t * vortex, int spdif_sr, int spdif_mode);
static int vortex_core_init(vortex_t * card);
static int vortex_core_shutdown(vortex_t * card);
static void vortex_enable_int(vortex_t * card);
-static irqreturn_t vortex_interrupt(int irq, void *dev_id);
+static irqreturn_t vortex_interrupt(void *dev_id);
static int vortex_alsafmt_aspfmt(int alsafmt);

/* Connection stuff. */
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c
index 4a336ea..e385146 100644
--- a/sound/pci/au88x0/au88x0_core.c
+++ b/sound/pci/au88x0/au88x0_core.c
@@ -2385,7 +2385,7 @@ static void vortex_disable_int(vortex_t * card)
hwread(card->mmio, VORTEX_CTRL) & ~CTRL_IRQ_ENABLE);
}

-static irqreturn_t vortex_interrupt(int irq, void *dev_id)
+static irqreturn_t vortex_interrupt(void *dev_id)
{
vortex_t *vortex = dev_id;
int i, handled;
@@ -2461,8 +2461,7 @@ static irqreturn_t vortex_interrupt(int irq, void *dev_id)
handled = 1;
}
if (source & IRQ_MIDI) {
- snd_mpu401_uart_interrupt(vortex->irq,
- vortex->rmidi->private_data);
+ snd_mpu401_uart_interrupt(vortex->rmidi->private_data);
handled = 1;
}

diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c
index 36d3666..09cc9de 100644
--- a/sound/pci/azt3328.c
+++ b/sound/pci/azt3328.c
@@ -1198,7 +1198,7 @@ snd_azf3328_capture_pointer(struct snd_pcm_substream *substream)
}

static irqreturn_t
-snd_azf3328_interrupt(int irq, void *dev_id)
+snd_azf3328_interrupt(void *dev_id)
{
struct snd_azf3328 *chip = dev_id;
u8 status, which;
@@ -1263,7 +1263,7 @@ snd_azf3328_interrupt(int irq, void *dev_id)
/* MPU401 has less critical IRQ requirements
* than timer and playback/recording, right? */
if (status & IRQ_MPU401) {
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);

/* hmm, do we have to ack the IRQ here somehow?
* If so, then I don't know how... */
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c
index 91f9e6a..b2c37f0 100644
--- a/sound/pci/bt87x.c
+++ b/sound/pci/bt87x.c
@@ -310,7 +310,7 @@ static void snd_bt87x_pci_error(struct snd_bt87x *chip, unsigned int status)
}
}

-static irqreturn_t snd_bt87x_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_bt87x_interrupt(void *dev_id)
{
struct snd_bt87x *chip = dev_id;
unsigned int status, irq_status;
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c
index 31d8db9..c14ab27 100644
--- a/sound/pci/ca0106/ca0106_main.c
+++ b/sound/pci/ca0106/ca0106_main.c
@@ -1138,7 +1138,7 @@ static int snd_ca0106_dev_free(struct snd_device *device)
return snd_ca0106_free(chip);
}

-static irqreturn_t snd_ca0106_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ca0106_interrupt(void *dev_id)
{
unsigned int status;

diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c
index 6832649..d51f834 100644
--- a/sound/pci/cmipci.c
+++ b/sound/pci/cmipci.c
@@ -1412,7 +1412,7 @@ static int snd_cmipci_capture_spdif_hw_free(struct snd_pcm_substream *subs)
/*
* interrupt handler
*/
-static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_cmipci_interrupt(void *dev_id)
{
struct cmipci *cm = dev_id;
unsigned int status, mask = 0;
@@ -1433,7 +1433,7 @@ static irqreturn_t snd_cmipci_interrupt(int irq, void *dev_id)
spin_unlock(&cm->reg_lock);

if (cm->rmidi && (status & CM_UARTINT))
- snd_mpu401_uart_interrupt(irq, cm->rmidi->private_data);
+ snd_mpu401_uart_interrupt(cm->rmidi->private_data);

if (cm->pcm) {
if ((status & CM_CHINT0) && cm->channel[0].running)
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c
index 9a55f4a..ba3f91c 100644
--- a/sound/pci/cs4281.c
+++ b/sound/pci/cs4281.c
@@ -493,7 +493,7 @@ struct cs4281 {

};

-static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id);
+static irqreturn_t snd_cs4281_interrupt(void *dev_id);

static struct pci_device_id snd_cs4281_ids[] = {
{ 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */
@@ -1810,7 +1810,7 @@ static int __devinit snd_cs4281_midi(struct cs4281 * chip, int device,
* Interrupt handler
*/

-static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_cs4281_interrupt(void *dev_id)
{
struct cs4281 *chip = dev_id;
unsigned int status, dma, val;
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c
index 2c7bfc9..194d328 100644
--- a/sound/pci/cs46xx/cs46xx_lib.c
+++ b/sound/pci/cs46xx/cs46xx_lib.c
@@ -1149,7 +1149,7 @@ static int snd_cs46xx_capture_prepare(struct snd_pcm_substream *substream)
return 0;
}

-static irqreturn_t snd_cs46xx_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_cs46xx_interrupt(void *dev_id)
{
struct snd_cs46xx *chip = dev_id;
u32 status1;
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c
index 2b35889..64c7cf0 100644
--- a/sound/pci/cs5535audio/cs5535audio.c
+++ b/sound/pci/cs5535audio/cs5535audio.c
@@ -203,7 +203,7 @@ static void process_bm1_irq(struct cs5535audio *cs5535au)
}
}

-static irqreturn_t snd_cs5535audio_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_cs5535audio_interrupt(void *dev_id)
{
u16 acc_irq_stat;
unsigned char count;
diff --git a/sound/pci/echoaudio/echoaudio.c b/sound/pci/echoaudio/echoaudio.c
index 499ee1a..83e03f3 100644
--- a/sound/pci/echoaudio/echoaudio.c
+++ b/sound/pci/echoaudio/echoaudio.c
@@ -1805,7 +1805,7 @@ static struct snd_kcontrol_new snd_echo_channels_info __devinitdata = {
IRQ Handler
******************************************************************************/

-static irqreturn_t snd_echo_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_echo_interrupt(void *dev_id)
{
struct echoaudio *chip = dev_id;
struct snd_pcm_substream *substream;
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c
index 1ec7eba..992a9b7 100644
--- a/sound/pci/emu10k1/emu10k1x.c
+++ b/sound/pci/emu10k1/emu10k1x.c
@@ -780,7 +780,7 @@ static int snd_emu10k1x_dev_free(struct snd_device *device)
return snd_emu10k1x_free(chip);
}

-static irqreturn_t snd_emu10k1x_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_emu10k1x_interrupt(void *dev_id)
{
unsigned int status;

diff --git a/sound/pci/emu10k1/irq.c b/sound/pci/emu10k1/irq.c
index 3c114b4..d5b7df9 100644
--- a/sound/pci/emu10k1/irq.c
+++ b/sound/pci/emu10k1/irq.c
@@ -30,7 +30,7 @@
#include <sound/core.h>
#include <sound/emu10k1.h>

-irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id)
+irqreturn_t snd_emu10k1_interrupt(void *dev_id)
{
struct snd_emu10k1 *emu = dev_id;
unsigned int status, status2, orig_status, orig_status2;
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c
index b958f86..d6954d8 100644
--- a/sound/pci/ens1370.c
+++ b/sound/pci/ens1370.c
@@ -442,7 +442,7 @@ struct ensoniq {
#endif
};

-static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id);
+static irqreturn_t snd_audiopci_interrupt(void *dev_id);

static struct pci_device_id snd_audiopci_ids[] = {
#ifdef CHIP1370
@@ -2358,7 +2358,7 @@ static int __devinit snd_ensoniq_midi(struct ensoniq * ensoniq, int device,
* Interrupt handler
*/

-static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_audiopci_interrupt(void *dev_id)
{
struct ensoniq *ensoniq = dev_id;
unsigned int status, sctrl;
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c
index fb25abe..65e0fcc 100644
--- a/sound/pci/es1938.c
+++ b/sound/pci/es1938.c
@@ -241,7 +241,7 @@ struct es1938 {
#endif
};

-static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id);
+static irqreturn_t snd_es1938_interrupt(void *dev_id);

static struct pci_device_id snd_es1938_ids[] = {
{ 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */
@@ -1645,7 +1645,7 @@ static int __devinit snd_es1938_create(struct snd_card *card,
/* --------------------------------------------------------------------
* Interrupt handler
* -------------------------------------------------------------------- */
-static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_es1938_interrupt(void *dev_id)
{
struct es1938 *chip = dev_id;
unsigned char status, audiostatus;
@@ -1717,7 +1717,7 @@ static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id)
// snd_es1938_mixer_bits(chip, ESSSB_IREG_MPU401CONTROL, 0x40, 0); /* ack? */
if (chip->rmidi) {
handled = 1;
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
}
}
return IRQ_RETVAL(handled);
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c
index d69b11d..c15e89d 100644
--- a/sound/pci/es1968.c
+++ b/sound/pci/es1968.c
@@ -550,7 +550,7 @@ struct es1968 {
#endif
};

-static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id);
+static irqreturn_t snd_es1968_interrupt(void *dev_id);

static struct pci_device_id snd_es1968_ids[] = {
/* Maestro 1 */
@@ -1913,7 +1913,7 @@ static void es1968_update_hw_volume(unsigned long private_data)
/*
* interrupt handler
*/
-static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_es1968_interrupt(void *dev_id)
{
struct es1968 *chip = dev_id;
u32 event;
@@ -1929,9 +1929,8 @@ static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id)
/* else ack 'em all, i imagine */
outb(0xFF, chip->io_port + 0x1A);

- if ((event & ESM_MPU401_IRQ) && chip->rmidi) {
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
- }
+ if ((event & ESM_MPU401_IRQ) && chip->rmidi)
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);

if (event & ESM_SOUND_IRQ) {
struct esschan *es;
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c
index 9939109..1037c1d 100644
--- a/sound/pci/fm801.c
+++ b/sound/pci/fm801.c
@@ -520,7 +520,7 @@ static snd_pcm_uframes_t snd_fm801_capture_pointer(struct snd_pcm_substream *sub
return bytes_to_frames(substream->runtime, ptr);
}

-static irqreturn_t snd_fm801_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_fm801_interrupt(void *dev_id)
{
struct fm801 *chip = dev_id;
unsigned short status;
@@ -561,7 +561,7 @@ static irqreturn_t snd_fm801_interrupt(int irq, void *dev_id)
snd_pcm_period_elapsed(chip->capture_substream);
}
if (chip->rmidi && (status & FM801_IRQ_MPU))
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
if (status & FM801_IRQ_VOLUME)
;/* TODO */

diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 3fa0f97..abb9229 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -878,7 +878,7 @@ static void azx_init_pci(struct azx *chip)
/*
* interrupt handler
*/
-static irqreturn_t azx_interrupt(int irq, void *dev_id)
+static irqreturn_t azx_interrupt(void *dev_id)
{
struct azx *chip = dev_id;
struct azx_dev *azx_dev;
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c
index 052fc3c..089f263 100644
--- a/sound/pci/ice1712/ice1712.c
+++ b/sound/pci/ice1712/ice1712.c
@@ -413,7 +413,7 @@ static void snd_ice1712_set_input_clock_source(struct snd_ice1712 *ice, int spdi
* Interrupt handler
*/

-static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ice1712_interrupt(void *dev_id)
{
struct snd_ice1712 *ice = dev_id;
unsigned char status;
@@ -426,7 +426,7 @@ static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id)
handled = 1;
if (status & ICE1712_IRQ_MPU1) {
if (ice->rmidi[0])
- snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data);
+ snd_mpu401_uart_interrupt(ice->rmidi[0]->private_data);
outb(ICE1712_IRQ_MPU1, ICEREG(ice, IRQSTAT));
status &= ~ICE1712_IRQ_MPU1;
}
@@ -434,7 +434,7 @@ static irqreturn_t snd_ice1712_interrupt(int irq, void *dev_id)
outb(ICE1712_IRQ_TIMER, ICEREG(ice, IRQSTAT));
if (status & ICE1712_IRQ_MPU2) {
if (ice->rmidi[1])
- snd_mpu401_uart_interrupt(irq, ice->rmidi[1]->private_data);
+ snd_mpu401_uart_interrupt(ice->rmidi[1]->private_data);
outb(ICE1712_IRQ_MPU2, ICEREG(ice, IRQSTAT));
status &= ~ICE1712_IRQ_MPU2;
}
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
index 0b0bbb0..e61b1f1 100644
--- a/sound/pci/ice1712/ice1724.c
+++ b/sound/pci/ice1712/ice1724.c
@@ -219,7 +219,7 @@ static unsigned int snd_vt1724_get_gpio_data(struct snd_ice1712 *ice)
* Interrupt handler
*/

-static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_vt1724_interrupt(void *dev_id)
{
struct snd_ice1712 *ice = dev_id;
unsigned char status;
@@ -237,7 +237,7 @@ static irqreturn_t snd_vt1724_interrupt(int irq, void *dev_id)
*/
if ((status & VT1724_IRQ_MPU_RX)||(status & VT1724_IRQ_MPU_TX)) {
if (ice->rmidi[0])
- snd_mpu401_uart_interrupt(irq, ice->rmidi[0]->private_data);
+ snd_mpu401_uart_interrupt(ice->rmidi[0]->private_data);
outb(status & (VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX), ICEREG1724(ice, IRQSTAT));
status &= ~(VT1724_IRQ_MPU_RX|VT1724_IRQ_MPU_TX);
}
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index b4a38a3..12a4f4d 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -777,7 +777,7 @@ static inline void snd_intel8x0_update(struct intel8x0 *chip, struct ichdev *ich
status & (ICH_FIFOE | ICH_BCIS | ICH_LVBCI));
}

-static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_intel8x0_interrupt(void *dev_id)
{
struct intel8x0 *chip = dev_id;
struct ichdev *ichdev;
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c
index fad806e..97a88df 100644
--- a/sound/pci/intel8x0m.c
+++ b/sound/pci/intel8x0m.c
@@ -483,7 +483,7 @@ static inline void snd_intel8x0_update(struct intel8x0m *chip, struct ichdev *ic
iputbyte(chip, port + ichdev->roff_sr, ICH_FIFOE | ICH_BCIS | ICH_LVBCI);
}

-static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_intel8x0_interrupt(void *dev_id)
{
struct intel8x0m *chip = dev_id;
struct ichdev *ichdev;
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
index c4af57f..d1fb714 100644
--- a/sound/pci/korg1212/korg1212.c
+++ b/sound/pci/korg1212/korg1212.c
@@ -1127,7 +1127,7 @@ static void snd_korg1212_OnDSPDownloadComplete(struct snd_korg1212 *korg1212)
snd_korg1212_setCardState(korg1212, K1212_STATE_DSP_COMPLETE);
}

-static irqreturn_t snd_korg1212_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_korg1212_interrupt(void *dev_id)
{
u32 doorbellValue;
struct snd_korg1212 *korg1212 = dev_id;
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c
index 3224577..315c806 100644
--- a/sound/pci/maestro3.c
+++ b/sound/pci/maestro3.c
@@ -1658,7 +1658,7 @@ static void snd_m3_update_hw_volume(unsigned long private_data)
spin_unlock_irqrestore(&chip->ac97_lock, flags);
}

-static irqreturn_t snd_m3_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_m3_interrupt(void *dev_id)
{
struct snd_m3 *chip = dev_id;
u8 status;
@@ -1696,7 +1696,7 @@ static irqreturn_t snd_m3_interrupt(int irq, void *dev_id)

#if 0 /* TODO: not supported yet */
if ((status & MPU401_INT_PENDING) && chip->rmidi)
- snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data, regs);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
#endif

/* ack ints */
diff --git a/sound/pci/mixart/mixart_core.c b/sound/pci/mixart/mixart_core.c
index d544573..2bacb1b 100644
--- a/sound/pci/mixart/mixart_core.c
+++ b/sound/pci/mixart/mixart_core.c
@@ -408,7 +408,7 @@ void snd_mixart_msg_tasklet(unsigned long arg)
}


-irqreturn_t snd_mixart_interrupt(int irq, void *dev_id)
+irqreturn_t snd_mixart_interrupt(void *dev_id)
{
struct mixart_mgr *mgr = dev_id;
int err;
diff --git a/sound/pci/mixart/mixart_core.h b/sound/pci/mixart/mixart_core.h
index c919b73..dda03cd 100644
--- a/sound/pci/mixart/mixart_core.h
+++ b/sound/pci/mixart/mixart_core.h
@@ -563,7 +563,7 @@ int snd_mixart_send_msg(struct mixart_mgr *mgr, struct mixart_msg *request, int
int snd_mixart_send_msg_wait_notif(struct mixart_mgr *mgr, struct mixart_msg *request, u32 notif_event);
int snd_mixart_send_msg_nonblock(struct mixart_mgr *mgr, struct mixart_msg *request);

-irqreturn_t snd_mixart_interrupt(int irq, void *dev_id);
+irqreturn_t snd_mixart_interrupt(void *dev_id);
void snd_mixart_msg_tasklet(unsigned long arg);

void snd_mixart_reset_board(struct mixart_mgr *mgr);
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c
index 276c576..69141e6 100644
--- a/sound/pci/nm256/nm256.c
+++ b/sound/pci/nm256/nm256.c
@@ -1003,7 +1003,7 @@ snd_nm256_intr_check(struct nm256 *chip)
*/

static irqreturn_t
-snd_nm256_interrupt(int irq, void *dev_id)
+snd_nm256_interrupt(void *dev_id)
{
struct nm256 *chip = dev_id;
u16 status;
@@ -1068,7 +1068,7 @@ snd_nm256_interrupt(int irq, void *dev_id)
*/

static irqreturn_t
-snd_nm256_interrupt_zx(int irq, void *dev_id)
+snd_nm256_interrupt_zx(void *dev_id)
{
struct nm256 *chip = dev_id;
u32 status;
diff --git a/sound/pci/pcxhr/pcxhr_core.c b/sound/pci/pcxhr/pcxhr_core.c
index 0ff8dc3..1871253 100644
--- a/sound/pci/pcxhr/pcxhr_core.c
+++ b/sound/pci/pcxhr/pcxhr_core.c
@@ -1131,7 +1131,7 @@ static void pcxhr_update_timer_pos(struct pcxhr_mgr *mgr,
}


-irqreturn_t pcxhr_interrupt(int irq, void *dev_id)
+irqreturn_t pcxhr_interrupt(void *dev_id)
{
struct pcxhr_mgr *mgr = dev_id;
unsigned int reg;
diff --git a/sound/pci/pcxhr/pcxhr_core.h b/sound/pci/pcxhr/pcxhr_core.h
index d9a4ab6..0a2c18f 100644
--- a/sound/pci/pcxhr/pcxhr_core.h
+++ b/sound/pci/pcxhr/pcxhr_core.h
@@ -194,7 +194,7 @@ int pcxhr_write_io_num_reg_cont(struct pcxhr_mgr *mgr, unsigned int mask,


/* interrupt handling */
-irqreturn_t pcxhr_interrupt(int irq, void *dev_id);
+irqreturn_t pcxhr_interrupt(void *dev_id);
void pcxhr_msg_tasklet(unsigned long arg);

#endif /* __SOUND_PCXHR_CORE_H */
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c
index 8e54104..72bb4b5 100644
--- a/sound/pci/riptide/riptide.c
+++ b/sound/pci/riptide/riptide.c
@@ -1742,7 +1742,7 @@ snd_riptide_pcm(struct snd_riptide *chip, int device, struct snd_pcm **rpcm)
}

static irqreturn_t
-snd_riptide_interrupt(int irq, void *dev_id)
+snd_riptide_interrupt(void *dev_id)
{
struct snd_riptide *chip = dev_id;
struct cmdif *cif = chip->cif;
@@ -1756,8 +1756,7 @@ snd_riptide_interrupt(int irq, void *dev_id)
}
if (chip->rmidi && IS_MPUIRQ(cif->hwport)) {
chip->handled_irqs++;
- snd_mpu401_uart_interrupt(irq,
- chip->rmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rmidi->private_data);
}
SET_AIACK(cif->hwport);
}
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c
index 1475912..9d52963 100644
--- a/sound/pci/rme32.c
+++ b/sound/pci/rme32.c
@@ -805,7 +805,7 @@ static void snd_rme32_pcm_stop(struct rme32 * rme32, int to_pause)
writel(0, rme32->iobase + RME32_IO_RESET_POS);
}

-static irqreturn_t snd_rme32_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_rme32_interrupt(void *dev_id)
{
struct rme32 *rme32 = (struct rme32 *) dev_id;

diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c
index 0b3c532..7136784 100644
--- a/sound/pci/rme96.c
+++ b/sound/pci/rme96.c
@@ -1102,8 +1102,7 @@ snd_rme96_capture_stop(struct rme96 *rme96)
}

static irqreturn_t
-snd_rme96_interrupt(int irq,
- void *dev_id)
+snd_rme96_interrupt(void *dev_id)
{
struct rme96 *rme96 = (struct rme96 *)dev_id;

diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index ff26a36..9814607 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -3673,7 +3673,7 @@ static void hdsp_midi_tasklet(unsigned long arg)
snd_hdsp_midi_input_read (&hdsp->midi[1]);
}

-static irqreturn_t snd_hdsp_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_hdsp_interrupt(void *dev_id)
{
struct hdsp *hdsp = (struct hdsp *) dev_id;
unsigned int status;
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c
index f1bdda6..1acd8ee 100644
--- a/sound/pci/rme9652/hdspm.c
+++ b/sound/pci/rme9652/hdspm.c
@@ -3419,7 +3419,7 @@ static int snd_hdspm_set_defaults(struct hdspm * hdspm)
interupt
------------------------------------------------------------*/

-static irqreturn_t snd_hdspm_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_hdspm_interrupt(void *dev_id)
{
struct hdspm *hdspm = (struct hdspm *) dev_id;
unsigned int status;
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c
index 34f96f1..78ba478 100644
--- a/sound/pci/rme9652/rme9652.c
+++ b/sound/pci/rme9652/rme9652.c
@@ -1861,7 +1861,7 @@ static void snd_rme9652_set_defaults(struct snd_rme9652 *rme9652)
rme9652_set_rate(rme9652, 48000);
}

-static irqreturn_t snd_rme9652_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_rme9652_interrupt(void *dev_id)
{
struct snd_rme9652 *rme9652 = (struct snd_rme9652 *) dev_id;

diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c
index 44a7f5f..da5547e 100644
--- a/sound/pci/sonicvibes.c
+++ b/sound/pci/sonicvibes.c
@@ -580,7 +580,7 @@ static int snd_sonicvibes_trigger(struct sonicvibes * sonic, int what, int cmd)
return result;
}

-static irqreturn_t snd_sonicvibes_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_sonicvibes_interrupt(void *dev_id)
{
struct sonicvibes *sonic = dev_id;
unsigned char status;
@@ -601,7 +601,7 @@ static irqreturn_t snd_sonicvibes_interrupt(int irq, void *dev_id)
}
if (sonic->rmidi) {
if (status & SV_MIDI_IRQ)
- snd_mpu401_uart_interrupt(irq, sonic->rmidi->private_data);
+ snd_mpu401_uart_interrupt(sonic->rmidi->private_data);
}
if (status & SV_UD_IRQ) {
unsigned char udreg;
diff --git a/sound/pci/trident/trident_main.c b/sound/pci/trident/trident_main.c
index a235e03..680d57a 100644
--- a/sound/pci/trident/trident_main.c
+++ b/sound/pci/trident/trident_main.c
@@ -52,7 +52,7 @@ static int snd_trident_pcm_mixer_build(struct snd_trident *trident,
static int snd_trident_pcm_mixer_free(struct snd_trident *trident,
struct snd_trident_voice * voice,
struct snd_pcm_substream *substream);
-static irqreturn_t snd_trident_interrupt(int irq, void *dev_id);
+static irqreturn_t snd_trident_interrupt(void *dev_id);
static int snd_trident_sis_reset(struct snd_trident *trident);

static void snd_trident_clear_voices(struct snd_trident * trident,
@@ -3718,7 +3718,7 @@ static int snd_trident_free(struct snd_trident *trident)

---------------------------------------------------------------------------*/

-static irqreturn_t snd_trident_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_trident_interrupt(void *dev_id)
{
struct snd_trident *trident = dev_id;
unsigned int audio_int, chn_int, stimer, channel, mask, tmp;
@@ -3806,7 +3806,7 @@ static irqreturn_t snd_trident_interrupt(int irq, void *dev_id)
}
if (audio_int & MPU401_IRQ) {
if (trident->rmidi) {
- snd_mpu401_uart_interrupt(irq, trident->rmidi->private_data);
+ snd_mpu401_uart_interrupt(trident->rmidi->private_data);
} else {
inb(TRID_REG(trident, T4D_MPUR0));
}
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c
index cf62d2a..50c993b 100644
--- a/sound/pci/via82xx.c
+++ b/sound/pci/via82xx.c
@@ -613,7 +613,7 @@ static void snd_via82xx_channel_reset(struct via82xx *chip, struct viadev *viade
* Interrupt handler
* Used for 686 and 8233A
*/
-static irqreturn_t snd_via686_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_via686_interrupt(void *dev_id)
{
struct via82xx *chip = dev_id;
unsigned int status;
@@ -623,7 +623,7 @@ static irqreturn_t snd_via686_interrupt(int irq, void *dev_id)
if (! (status & chip->intr_mask)) {
if (chip->rmidi)
/* check mpu401 interrupt */
- return snd_mpu401_uart_interrupt(irq, chip->rmidi->private_data);
+ return snd_mpu401_uart_interrupt(chip->rmidi->private_data);
return IRQ_NONE;
}

@@ -659,7 +659,7 @@ static irqreturn_t snd_via686_interrupt(int irq, void *dev_id)
/*
* Interrupt handler
*/
-static irqreturn_t snd_via8233_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_via8233_interrupt(void *dev_id)
{
struct via82xx *chip = dev_id;
unsigned int status;
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c
index 57fb9ae..2bfc320 100644
--- a/sound/pci/via82xx_modem.c
+++ b/sound/pci/via82xx_modem.c
@@ -475,7 +475,7 @@ static void snd_via82xx_channel_reset(struct via82xx_modem *chip, struct viadev
* Interrupt handler
*/

-static irqreturn_t snd_via82xx_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_via82xx_interrupt(void *dev_id)
{
struct via82xx_modem *chip = dev_id;
unsigned int status;
diff --git a/sound/pci/ymfpci/ymfpci_main.c b/sound/pci/ymfpci/ymfpci_main.c
index 1fe39ed..3e18d13 100644
--- a/sound/pci/ymfpci/ymfpci_main.c
+++ b/sound/pci/ymfpci/ymfpci_main.c
@@ -779,7 +779,7 @@ static void snd_ymfpci_irq_wait(struct snd_ymfpci *chip)
}
}

-static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_ymfpci_interrupt(void *dev_id)
{
struct snd_ymfpci *chip = dev_id;
u32 status, nvoice, mode;
@@ -825,7 +825,7 @@ static irqreturn_t snd_ymfpci_interrupt(int irq, void *dev_id)
snd_ymfpci_writew(chip, YDSXGR_INTFLAG, status);

if (chip->rawmidi)
- snd_mpu401_uart_interrupt(irq, chip->rawmidi->private_data);
+ snd_mpu401_uart_interrupt(chip->rawmidi->private_data);
return IRQ_HANDLED;
}

diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.h b/sound/pcmcia/pdaudiocf/pdaudiocf.h
index b060183..780c619 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf.h
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf.h
@@ -138,7 +138,7 @@ int snd_pdacf_suspend(struct snd_pdacf *chip, pm_message_t state);
int snd_pdacf_resume(struct snd_pdacf *chip);
#endif
int snd_pdacf_pcm_new(struct snd_pdacf *chip);
-irqreturn_t pdacf_interrupt(int irq, void *dev);
+irqreturn_t pdacf_interrupt(void *dev);
void pdacf_tasklet(unsigned long private_data);
void pdacf_reinit(struct snd_pdacf *chip, int resume);

diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c
index 5454336..34b05ad 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf_irq.c
@@ -27,7 +27,7 @@
/*
*
*/
-irqreturn_t pdacf_interrupt(int irq, void *dev)
+irqreturn_t pdacf_interrupt(void *dev)
{
struct snd_pdacf *chip = dev;
unsigned short stat;
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c
index 4f9b19c..a888e3b 100644
--- a/sound/ppc/pmac.c
+++ b/sound/ppc/pmac.c
@@ -689,7 +689,7 @@ void snd_pmac_beep_dma_stop(struct snd_pmac *chip)
* interrupt handlers
*/
static irqreturn_t
-snd_pmac_tx_intr(int irq, void *devid)
+snd_pmac_tx_intr(void *devid)
{
struct snd_pmac *chip = devid;
snd_pmac_pcm_update(chip, &chip->playback);
@@ -698,7 +698,7 @@ snd_pmac_tx_intr(int irq, void *devid)


static irqreturn_t
-snd_pmac_rx_intr(int irq, void *devid)
+snd_pmac_rx_intr(void *devid)
{
struct snd_pmac *chip = devid;
snd_pmac_pcm_update(chip, &chip->capture);
@@ -707,7 +707,7 @@ snd_pmac_rx_intr(int irq, void *devid)


static irqreturn_t
-snd_pmac_ctrl_intr(int irq, void *devid)
+snd_pmac_ctrl_intr(void *devid)
{
struct snd_pmac *chip = devid;
int ctrl = in_le32(&chip->awacs->control);
diff --git a/sound/ppc/tumbler.c b/sound/ppc/tumbler.c
index 5821cdd..96d9f74 100644
--- a/sound/ppc/tumbler.c
+++ b/sound/ppc/tumbler.c
@@ -1018,7 +1018,7 @@ static void tumbler_update_automute(struct snd_pmac *chip, int do_notify)


/* interrupt - headphone plug changed */
-static irqreturn_t headphone_intr(int irq, void *devid)
+static irqreturn_t headphone_intr(void *devid)
{
struct snd_pmac *chip = devid;
if (chip->update_automute && chip->initialized) {
diff --git a/sound/sparc/amd7930.c b/sound/sparc/amd7930.c
index 07962a3..0fb49b2 100644
--- a/sound/sparc/amd7930.c
+++ b/sound/sparc/amd7930.c
@@ -491,7 +491,7 @@ static void __amd7930_update_map(struct snd_amd7930 *amd)
__amd7930_write_map(amd);
}

-static irqreturn_t snd_amd7930_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_amd7930_interrupt(void *dev_id)
{
struct snd_amd7930 *amd = dev_id;
unsigned int elapsed;
diff --git a/sound/sparc/cs4231.c b/sound/sparc/cs4231.c
index 9785382..1efb7d4 100644
--- a/sound/sparc/cs4231.c
+++ b/sound/sparc/cs4231.c
@@ -1661,7 +1661,7 @@ out_err:

#ifdef SBUS_SUPPORT

-static irqreturn_t snd_cs4231_sbus_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_cs4231_sbus_interrupt(void *dev_id)
{
unsigned long flags;
unsigned char status;
diff --git a/sound/sparc/dbri.c b/sound/sparc/dbri.c
index 376b986..ffc950b 100644
--- a/sound/sparc/dbri.c
+++ b/sound/sparc/dbri.c
@@ -1910,7 +1910,7 @@ static void dbri_process_interrupt_buffer(struct snd_dbri *dbri)
}
}

-static irqreturn_t snd_dbri_interrupt(int irq, void *dev_id)
+static irqreturn_t snd_dbri_interrupt(void *dev_id)
{
struct snd_dbri *dbri = dev_id;
static int errcnt = 0;

2007-10-19 07:59:11

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 7/9] irq-remove: scsi driver trivial


commit fb66571c6fde956fb8bddacf11d64101f8df8bf8
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:48:35 2007 -0400

[IRQ ARG REMOVAL] trivial scsi driver updates

drivers/scsi/3w-9xxx.c | 2 +-
drivers/scsi/3w-xxxx.c | 2 +-
drivers/scsi/53c700.c | 2 +-
drivers/scsi/53c700.h | 2 +-
drivers/scsi/BusLogic.c | 2 +-
drivers/scsi/BusLogic.h | 2 +-
drivers/scsi/NCR5380.h | 2 +-
drivers/scsi/NCR53C9x.h | 2 +-
drivers/scsi/NCR53c406a.c | 4 ++--
drivers/scsi/NCR_D700.c | 8 ++++----
drivers/scsi/NCR_Q720.c | 5 ++---
drivers/scsi/a100u2w.c | 2 +-
drivers/scsi/a2091.c | 2 +-
drivers/scsi/a3000.c | 2 +-
drivers/scsi/aacraid/rx.c | 4 ++--
drivers/scsi/aacraid/sa.c | 2 +-
drivers/scsi/advansys.c | 2 +-
drivers/scsi/aha1740.c | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.h | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 +-
drivers/scsi/aic7xxx_old.c | 4 ++--
drivers/scsi/aic94xx/aic94xx_hwi.c | 2 +-
drivers/scsi/aic94xx/aic94xx_hwi.h | 2 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 2 +-
drivers/scsi/arm/acornscsi.c | 7 +++----
drivers/scsi/arm/cumana_2.c | 5 ++---
drivers/scsi/arm/eesox.c | 5 ++---
drivers/scsi/arm/powertec.c | 5 ++---
drivers/scsi/atari_NCR5380.c | 4 ++--
drivers/scsi/atari_dma_emul.c | 4 ++--
drivers/scsi/atari_scsi.c | 10 +++++-----
drivers/scsi/atp870u.c | 2 +-
drivers/scsi/dc395x.c | 2 +-
drivers/scsi/dec_esp.c | 12 ++++++------
drivers/scsi/dpt_i2o.c | 2 +-
drivers/scsi/dpti.h | 2 +-
drivers/scsi/eata_pio.c | 6 +++---
drivers/scsi/fd_mcs.c | 4 ++--
drivers/scsi/fdomain.c | 4 ++--
drivers/scsi/gvp11.c | 2 +-
drivers/scsi/hptiop.c | 2 +-
drivers/scsi/ibmmca.c | 2 +-
drivers/scsi/ibmvscsi/rpa_vscsi.c | 3 +--
drivers/scsi/in2000.c | 2 +-
drivers/scsi/initio.c | 2 +-
drivers/scsi/ipr.c | 2 +-
drivers/scsi/ips.c | 4 ++--
drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
drivers/scsi/lpfc/lpfc_sli.c | 2 +-
drivers/scsi/mac53c94.c | 8 ++++----
drivers/scsi/mac_esp.c | 10 +++++-----
drivers/scsi/megaraid.c | 5 ++---
drivers/scsi/megaraid.h | 4 ++--
drivers/scsi/megaraid/megaraid_mbox.c | 4 ++--
drivers/scsi/megaraid/megaraid_sas.c | 2 +-
drivers/scsi/mesh.c | 2 +-
drivers/scsi/mvme147.c | 2 +-
drivers/scsi/ncr53c8xx.c | 2 +-
drivers/scsi/ncr53c8xx.h | 2 +-
drivers/scsi/nsp32.c | 4 ++--
drivers/scsi/pcmcia/nsp_cs.c | 2 +-
drivers/scsi/pcmcia/nsp_cs.h | 2 +-
drivers/scsi/pcmcia/sym53c500_cs.c | 2 +-
drivers/scsi/qla1280.c | 2 +-
drivers/scsi/qla2xxx/qla_gbl.h | 6 +++---
drivers/scsi/qla2xxx/qla_inline.h | 2 +-
drivers/scsi/qla2xxx/qla_isr.c | 11 +++++------
drivers/scsi/qla4xxx/ql4_glbl.h | 2 +-
drivers/scsi/qla4xxx/ql4_isr.c | 3 +--
drivers/scsi/qlogicfas408.c | 2 +-
drivers/scsi/qlogicfas408.h | 2 +-
drivers/scsi/qlogicpti.c | 4 ++--
drivers/scsi/seagate.c | 10 +++++-----
drivers/scsi/sgiwd93.c | 2 +-
drivers/scsi/stex.c | 2 +-
drivers/scsi/sun3_NCR5380.c | 2 +-
drivers/scsi/sun3_scsi.c | 4 ++--
drivers/scsi/sun3_scsi_vme.c | 4 ++--
drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
drivers/scsi/tmscsim.c | 2 +-
drivers/scsi/ultrastor.c | 4 ++--
drivers/scsi/wd7000.c | 2 +-
84 files changed, 137 insertions(+), 146 deletions(-)

fb66571c6fde956fb8bddacf11d64101f8df8bf8
diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
index fb14014..ec76865 100644
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -1192,7 +1192,7 @@ out:
} /* End twa_initialize_device_extension() */

/* This function is the interrupt service routine */
-static irqreturn_t twa_interrupt(int irq, void *dev_instance)
+static irqreturn_t twa_interrupt(void *dev_instance)
{
int request_id, error = 0;
u32 status_reg_value;
diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
index a64153b..2ec0c28 100644
--- a/drivers/scsi/3w-xxxx.c
+++ b/drivers/scsi/3w-xxxx.c
@@ -2021,7 +2021,7 @@ static int tw_scsi_queue(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd
} /* End tw_scsi_queue() */

/* This function is the interrupt service routine */
-static irqreturn_t tw_interrupt(int irq, void *dev_instance)
+static irqreturn_t tw_interrupt(void *dev_instance)
{
int request_id;
u32 status_reg_value;
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
index 71ff3fb..43e4633 100644
--- a/drivers/scsi/53c700.c
+++ b/drivers/scsi/53c700.c
@@ -1479,7 +1479,7 @@ NCR_700_start_command(struct scsi_cmnd *SCp)
}

irqreturn_t
-NCR_700_intr(int irq, void *dev_id)
+NCR_700_intr(void *dev_id)
{
struct Scsi_Host *host = (struct Scsi_Host *)dev_id;
struct NCR_700_Host_Parameters *hostdata =
diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h
index e06bdfe..d601ab3 100644
--- a/drivers/scsi/53c700.h
+++ b/drivers/scsi/53c700.h
@@ -57,7 +57,7 @@ struct NCR_700_Host_Parameters;
struct Scsi_Host *NCR_700_detect(struct scsi_host_template *,
struct NCR_700_Host_Parameters *, struct device *);
int NCR_700_release(struct Scsi_Host *host);
-irqreturn_t NCR_700_intr(int, void *);
+irqreturn_t NCR_700_intr(void *);


enum NCR_700_Host_State {
diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
index 49e1ffa..144b6e2 100644
--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -2665,7 +2665,7 @@ static void BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapt
Adapters.
*/

-static irqreturn_t BusLogic_InterruptHandler(int IRQ_Channel, void *DeviceIdentifier)
+static irqreturn_t BusLogic_InterruptHandler(void *DeviceIdentifier)
{
struct BusLogic_HostAdapter *HostAdapter = (struct BusLogic_HostAdapter *) DeviceIdentifier;
unsigned long ProcessorFlags;
diff --git a/drivers/scsi/BusLogic.h b/drivers/scsi/BusLogic.h
index bfbfb5c..3dfe9ce 100644
--- a/drivers/scsi/BusLogic.h
+++ b/drivers/scsi/BusLogic.h
@@ -1341,7 +1341,7 @@ static int BusLogic_BIOSDiskParameters(struct scsi_device *, struct block_device
static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *, char *, char **, off_t, int, int);
static int BusLogic_SlaveConfigure(struct scsi_device *);
static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *);
-static irqreturn_t BusLogic_InterruptHandler(int, void *);
+static irqreturn_t BusLogic_InterruptHandler(void *);
static int BusLogic_ResetHostAdapter(struct BusLogic_HostAdapter *, bool HardReset);
static void BusLogic_Message(enum BusLogic_MessageLevel, char *, struct BusLogic_HostAdapter *, ...);
static int __init BusLogic_Setup(char *);
diff --git a/drivers/scsi/NCR5380.h b/drivers/scsi/NCR5380.h
index bdc468c..7d932ac 100644
--- a/drivers/scsi/NCR5380.h
+++ b/drivers/scsi/NCR5380.h
@@ -303,7 +303,7 @@ static int NCR5380_init(struct Scsi_Host *instance, int flags);
static void NCR5380_exit(struct Scsi_Host *instance);
static void NCR5380_information_transfer(struct Scsi_Host *instance);
#ifndef DONT_USE_INTR
-static irqreturn_t NCR5380_intr(int irq, void *dev_id);
+static irqreturn_t NCR5380_intr(void *dev_id);
#endif
static void NCR5380_main(struct work_struct *work);
static void __maybe_unused NCR5380_print_options(struct Scsi_Host *instance);
diff --git a/drivers/scsi/NCR53C9x.h b/drivers/scsi/NCR53C9x.h
index d85cb73..ff0fbd9 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 *, int);
extern void esp_deallocate(struct NCR_ESP *);
extern void esp_release(void);
extern void esp_initialize(struct NCR_ESP *);
-extern irqreturn_t esp_intr(int, void *);
+extern irqreturn_t esp_intr(void *);
extern const char *esp_info(struct Scsi_Host *);
extern int esp_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
extern int esp_abort(Scsi_Cmnd *);
diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
index 3168a17..3aef1da 100644
--- a/drivers/scsi/NCR53c406a.c
+++ b/drivers/scsi/NCR53c406a.c
@@ -168,7 +168,7 @@ enum Phase {

/* Static function prototypes */
static void NCR53c406a_intr(void *);
-static irqreturn_t do_NCR53c406a_intr(int, void *);
+static irqreturn_t do_NCR53c406a_intr(void *);
static void chip_init(void);
static void calc_port_addr(void);
#ifndef IRQ_LEV
@@ -765,7 +765,7 @@ static int NCR53c406a_biosparm(struct scsi_device *disk,
return 0;
}

-static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id)
+static irqreturn_t do_NCR53c406a_intr(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;
diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c
index 9e64b21..2afd135 100644
--- a/drivers/scsi/NCR_D700.c
+++ b/drivers/scsi/NCR_D700.c
@@ -224,15 +224,15 @@ NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,
return ret;
}

-static int
-NCR_D700_intr(int irq, void *data)
+static irqreturn_t
+NCR_D700_intr(void *data)
{
- struct NCR_D700_private *p = (struct NCR_D700_private *)data;
+ struct NCR_D700_private *p = data;
int i, found = 0;

for (i = 0; i < 2; i++)
if (p->hosts[i] &&
- NCR_700_intr(irq, p->hosts[i]) == IRQ_HANDLED)
+ NCR_700_intr(p->hosts[i]) == IRQ_HANDLED)
found++;

return found ? IRQ_HANDLED : IRQ_NONE;
diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c
index a8bbdc2..aa2bc5d 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 = {
};

static irqreturn_t
-NCR_Q720_intr(int irq, void *data)
+NCR_Q720_intr(void *data)
{
struct NCR_Q720_private *p = (struct NCR_Q720_private *)data;
__u8 sir = (readb(p->mem_base + 0x0d) & 0xf0) >> 4;
@@ -65,10 +65,9 @@ NCR_Q720_intr(int irq, void *data)
if(sir == 0xff)
return IRQ_NONE;

-
while((siop = ffz(sir)) < p->siops) {
sir |= 1<<siop;
- ncr53c8xx_intr(irq, p->hosts[siop]);
+ ncr53c8xx_intr(p->hosts[siop]);
}
return IRQ_HANDLED;
}
diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
index d3a6d15..954e6d6 100644
--- a/drivers/scsi/a100u2w.c
+++ b/drivers/scsi/a100u2w.c
@@ -1045,7 +1045,7 @@ static void inia100_scb_handler(struct orc_host *host, struct orc_scb *scb)
* Entry point for IRQ handling. All the real work is performed
* by orc_interrupt.
*/
-static irqreturn_t inia100_intr(int irqno, void *devid)
+static irqreturn_t inia100_intr(void *devid)
{
struct Scsi_Host *shost = (struct Scsi_Host *)devid;
struct orc_host *host = (struct orc_host *)shost->hostdata;
diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
index b7c5385..d2db130 100644
--- a/drivers/scsi/a2091.c
+++ b/drivers/scsi/a2091.c
@@ -23,7 +23,7 @@
#define DMA(ptr) ((a2091_scsiregs *)((ptr)->base))
#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))

-static irqreturn_t a2091_intr (int irq, void *_instance)
+static irqreturn_t a2091_intr (void *_instance)
{
unsigned long flags;
unsigned int status;
diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
index 796f1c4..863de5b 100644
--- a/drivers/scsi/a3000.c
+++ b/drivers/scsi/a3000.c
@@ -25,7 +25,7 @@

static struct Scsi_Host *a3000_host = NULL;

-static irqreturn_t a3000_intr (int irq, void *dummy)
+static irqreturn_t a3000_intr (void *dummy)
{
unsigned long flags;
unsigned int status = DMA(a3000_host)->ISTR;
diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
index 73eef3d..d9c1441 100644
--- a/drivers/scsi/aacraid/rx.c
+++ b/drivers/scsi/aacraid/rx.c
@@ -45,7 +45,7 @@

#include "aacraid.h"

-static irqreturn_t aac_rx_intr_producer(int irq, void *dev_id)
+static irqreturn_t aac_rx_intr_producer(void *dev_id)
{
struct aac_dev *dev = dev_id;
unsigned long bellbits;
@@ -84,7 +84,7 @@ static irqreturn_t aac_rx_intr_producer(int irq, void *dev_id)
return IRQ_NONE;
}

-static irqreturn_t aac_rx_intr_message(int irq, void *dev_id)
+static irqreturn_t aac_rx_intr_message(void *dev_id)
{
struct aac_dev *dev = dev_id;
u32 Index = rx_readl(dev, MUnit.OutboundQueue);
diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
index 85b91bc..7a236d1 100644
--- a/drivers/scsi/aacraid/sa.c
+++ b/drivers/scsi/aacraid/sa.c
@@ -44,7 +44,7 @@

#include "aacraid.h"

-static irqreturn_t aac_sa_intr(int irq, void *dev_id)
+static irqreturn_t aac_sa_intr(void *dev_id)
{
struct aac_dev *dev = dev_id;
unsigned short intstat, mask;
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
index 9dd3952..f6167bc 100644
--- a/drivers/scsi/advansys.c
+++ b/drivers/scsi/advansys.c
@@ -9600,7 +9600,7 @@ advansys_biosparam(struct scsi_device *sdev, struct block_device *bdev,
*
* 'dev_id' is a pointer to the interrupting adapter's Scsi_Host.
*/
-static irqreturn_t advansys_interrupt(int irq, void *dev_id)
+static irqreturn_t advansys_interrupt(void *dev_id)
{
struct Scsi_Host *shost = dev_id;
struct asc_board *boardp = shost_priv(shost);
diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
index f6722fd..aaf6e99 100644
--- a/drivers/scsi/aha1740.c
+++ b/drivers/scsi/aha1740.c
@@ -223,7 +223,7 @@ static int aha1740_test_port(unsigned int base)
}

/* A "high" level interrupt handler */
-static irqreturn_t aha1740_intr_handle(int irq, void *dev_id)
+static irqreturn_t aha1740_intr_handle(void *dev_id)
{
struct Scsi_Host *host = (struct Scsi_Host *) dev_id;
void (*my_done)(Scsi_Cmnd *);
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c
index 42c0f14..0751639 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.c
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
@@ -1526,7 +1526,7 @@ ahd_linux_run_command(struct ahd_softc *ahd, struct ahd_linux_device *dev,
* SCSI controller interrupt handler.
*/
irqreturn_t
-ahd_linux_isr(int irq, void *dev_id)
+ahd_linux_isr(void *dev_id)
{
struct ahd_softc *ahd;
u_long flags;
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h b/drivers/scsi/aic7xxx/aic79xx_osm.h
index 853998b..ee488a4 100644
--- a/drivers/scsi/aic7xxx/aic79xx_osm.h
+++ b/drivers/scsi/aic7xxx/aic79xx_osm.h
@@ -852,7 +852,7 @@ int ahd_platform_abort_scbs(struct ahd_softc *ahd, int target,
char channel, int lun, u_int tag,
role_t role, uint32_t status);
irqreturn_t
- ahd_linux_isr(int irq, void *dev_id);
+ ahd_linux_isr(void *dev_id);
void ahd_done(struct ahd_softc*, struct scb*);
void ahd_send_async(struct ahd_softc *, char channel,
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 7770bef..5bcf877 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
@@ -1532,7 +1532,7 @@ ahc_linux_run_command(struct ahc_softc *ahc, struct ahc_linux_device *dev,
* SCSI controller interrupt handler.
*/
irqreturn_t
-ahc_linux_isr(int irq, void *dev_id)
+ahc_linux_isr(void *dev_id)
{
struct ahc_softc *ahc;
u_long flags;
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.h b/drivers/scsi/aic7xxx/aic7xxx_osm.h
index b48dab4..e24d6c8 100644
--- a/drivers/scsi/aic7xxx/aic7xxx_osm.h
+++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h
@@ -820,7 +820,7 @@ int ahc_platform_abort_scbs(struct ahc_softc *ahc, int target,
char channel, int lun, u_int tag,
role_t role, uint32_t status);
irqreturn_t
- ahc_linux_isr(int irq, void *dev_id);
+ ahc_linux_isr(void *dev_id);
void ahc_platform_flushwork(struct ahc_softc *ahc);
void ahc_done(struct ahc_softc*, struct scb*);
void ahc_send_async(struct ahc_softc *, char channel,
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 4025608..4c6ad7a 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -6467,12 +6467,12 @@ aic7xxx_isr(void *dev_id)
* anything like it, please inform the Gross Hack Police immediately
*-F*************************************************************************/
static irqreturn_t
-do_aic7xxx_isr(int irq, void *dev_id)
+do_aic7xxx_isr(void *dev_id)
{
unsigned long cpu_flags;
struct aic7xxx_host *p;

- p = (struct aic7xxx_host *)dev_id;
+ p = dev_id;
if(!p)
return IRQ_NONE;
spin_lock_irqsave(p->host->host_lock, cpu_flags);
diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.c b/drivers/scsi/aic94xx/aic94xx_hwi.c
index 0cd7eed..c2bf1ed 100644
--- a/drivers/scsi/aic94xx/aic94xx_hwi.c
+++ b/drivers/scsi/aic94xx/aic94xx_hwi.c
@@ -1017,7 +1017,7 @@ static inline void asd_hst_pcix_isr(struct asd_ha_struct *asd_ha)
*
* The ISR processes done list entries and level 3 error handling.
*/
-irqreturn_t asd_hw_isr(int irq, void *dev_id)
+irqreturn_t asd_hw_isr(void *dev_id)
{
struct asd_ha_struct *asd_ha = dev_id;
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 491e5d8..6bb6e07 100644
--- a/drivers/scsi/aic94xx/aic94xx_hwi.h
+++ b/drivers/scsi/aic94xx/aic94xx_hwi.h
@@ -372,7 +372,7 @@ static inline void asd_ascb_free_list(struct asd_ascb *ascb_list)
/* ---------- Function declarations ---------- */

int asd_init_hw(struct asd_ha_struct *asd_ha);
-irqreturn_t asd_hw_isr(int irq, void *dev_id);
+irqreturn_t asd_hw_isr(void *dev_id);


struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct
diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c
index f817775..60fbfa5 100644
--- a/drivers/scsi/arcmsr/arcmsr_hba.c
+++ b/drivers/scsi/arcmsr/arcmsr_hba.c
@@ -168,7 +168,7 @@ static struct pci_driver arcmsr_pci_driver = {
#endif
};

-static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id)
+static irqreturn_t arcmsr_do_interrupt(void *dev_id)
{
irqreturn_t handle_state;
struct AdapterControlBlock *acb = dev_id;
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c
index eceacf6..419cd8b 100644
--- a/drivers/scsi/arm/acornscsi.c
+++ b/drivers/scsi/arm/acornscsi.c
@@ -2460,13 +2460,12 @@ intr_ret_t acornscsi_sbicintr(AS_Host *host, int in_irq)
}

/*
- * Prototype: void acornscsi_intr(int irq, void *dev_id)
+ * Prototype: void acornscsi_intr(void *dev_id)
* Purpose : handle interrupts from Acorn SCSI card
- * Params : irq - interrupt number
- * dev_id - device specific data (AS_Host structure)
+ * Params : dev_id - device specific data (AS_Host structure)
*/
static irqreturn_t
-acornscsi_intr(int irq, void *dev_id)
+acornscsi_intr(void *dev_id)
{
AS_Host *host = (AS_Host *)dev_id;
intr_ret_t ret;
diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
index 68a6412..6740fb0 100644
--- a/drivers/scsi/arm/cumana_2.c
+++ b/drivers/scsi/arm/cumana_2.c
@@ -134,11 +134,10 @@ cumanascsi_2_terminator_ctl(struct Scsi_Host *host, int on_off)

/* Prototype: void cumanascsi_2_intr(irq, *dev_id, *regs)
* Purpose : handle interrupts from Cumana SCSI 2 card
- * Params : irq - interrupt number
- * dev_id - user-defined (Scsi_Host structure)
+ * Params : dev_id - user-defined (Scsi_Host structure)
*/
static irqreturn_t
-cumanascsi_2_intr(int irq, void *dev_id)
+cumanascsi_2_intr(void *dev_id)
{
struct cumanascsi2_info *info = dev_id;

diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c
index bb2477b..8c8cbf0 100644
--- a/drivers/scsi/arm/eesox.c
+++ b/drivers/scsi/arm/eesox.c
@@ -135,11 +135,10 @@ eesoxscsi_terminator_ctl(struct Scsi_Host *host, int on_off)

/* Prototype: void eesoxscsi_intr(irq, *dev_id, *regs)
* Purpose : handle interrupts from EESOX SCSI card
- * Params : irq - interrupt number
- * dev_id - user-defined (Scsi_Host structure)
+ * Params : dev_id - user-defined (Scsi_Host structure)
*/
static irqreturn_t
-eesoxscsi_intr(int irq, void *dev_id)
+eesoxscsi_intr(void *dev_id)
{
struct eesoxscsi_info *info = dev_id;

diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
index d9a546d..247f904 100644
--- a/drivers/scsi/arm/powertec.c
+++ b/drivers/scsi/arm/powertec.c
@@ -109,10 +109,9 @@ powertecscsi_terminator_ctl(struct Scsi_Host *host, int on_off)

/* Prototype: void powertecscsi_intr(irq, *dev_id, *regs)
* Purpose : handle interrupts from Powertec SCSI card
- * Params : irq - interrupt number
- * dev_id - user-defined (Scsi_Host structure)
+ * Params : dev_id - user-defined (Scsi_Host structure)
*/
-static irqreturn_t powertecscsi_intr(int irq, void *dev_id)
+static irqreturn_t powertecscsi_intr(void *dev_id)
{
struct powertec_info *info = dev_id;

diff --git a/drivers/scsi/atari_NCR5380.c b/drivers/scsi/atari_NCR5380.c
index 52d0b87..e1a8b0f 100644
--- a/drivers/scsi/atari_NCR5380.c
+++ b/drivers/scsi/atari_NCR5380.c
@@ -1271,11 +1271,11 @@ static void NCR5380_dma_complete(struct Scsi_Host *instance)
* from the disconnected queue, and restarting NCR5380_main()
* as required.
*
- * Inputs : int irq, irq that caused this interrupt.
+ * Inputs : void *dev_id: instance structure
*
*/

-static irqreturn_t NCR5380_intr(int irq, void *dev_id)
+static irqreturn_t NCR5380_intr(void *dev_id)
{
struct Scsi_Host *instance = first_instance;
int done = 1, handled = 0;
diff --git a/drivers/scsi/atari_dma_emul.c b/drivers/scsi/atari_dma_emul.c
index cdc710e..587f051 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)
}

/*
- * void hades_dma_emulator(int irq, void *dummy)
+ * void hades_dma_emulator(void *dummy)
*
* This code emulates TT SCSI DMA on the Hades.
*
@@ -140,7 +140,7 @@ static inline void set_restdata_reg(unsigned char *cur_addr)
* increased with one.
*/

-static irqreturn_t hades_dma_emulator(int irq, void *dummy)
+static irqreturn_t hades_dma_emulator(void *dummy)
{
unsigned long dma_base;
register unsigned long dma_cnt asm ("d3");
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
index 6f8403b..7cfebd2 100644
--- a/drivers/scsi/atari_scsi.c
+++ b/drivers/scsi/atari_scsi.c
@@ -193,8 +193,8 @@ static int falcon_classify_cmd(Scsi_Cmnd *cmd);
static unsigned long atari_dma_xfer_len(unsigned long wanted_len,
Scsi_Cmnd *cmd, int write_flag);
#endif
-static irqreturn_t scsi_tt_intr(int irq, void *dummy);
-static irqreturn_t scsi_falcon_intr(int irq, void *dummy);
+static irqreturn_t scsi_tt_intr(void *dummy);
+static irqreturn_t scsi_falcon_intr(void *dummy);
static void falcon_release_lock_if_possible(struct NCR5380_hostdata *hostdata);
static void falcon_get_lock(void);
#ifdef CONFIG_ATARI_SCSI_RESET_BOOT
@@ -282,7 +282,7 @@ static int scsi_dma_is_ignored_buserr(unsigned char dma_stat)
* end-of-DMA, both SCSI ints are triggered simultaneously, so the NCR int has
* to clear the DMA int pending bit before it allows other level 6 interrupts.
*/
-static void scsi_dma_buserr(int irq, void *dummy)
+static void scsi_dma_buserr(void *dummy)
{
unsigned char dma_stat = tt_scsi_dma.dma_ctrl;

@@ -310,7 +310,7 @@ static void scsi_dma_buserr(int irq, void *dummy)
#endif


-static irqreturn_t scsi_tt_intr(int irq, void *dummy)
+static irqreturn_t scsi_tt_intr(void *dummy)
{
#ifdef REAL_DMA
int dma_stat;
@@ -403,7 +403,7 @@ static irqreturn_t scsi_tt_intr(int irq, void *dummy)
}


-static irqreturn_t scsi_falcon_intr(int irq, void *dummy)
+static irqreturn_t scsi_falcon_intr(void *dummy)
{
#ifdef REAL_DMA
int dma_stat;
diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
index fec58cc..5a6ada2 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);
static void is885(struct atp_unit *dev, unsigned int wkport,unsigned char c);
static void tscam_885(void);

-static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
+static irqreturn_t atp870u_intr_handle(void *dev_id)
{
unsigned long flags;
unsigned short int tmpcip, id;
diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
index fd42d47..d300a5f 100644
--- a/drivers/scsi/dc395x.c
+++ b/drivers/scsi/dc395x.c
@@ -1800,7 +1800,7 @@ static void dc395x_handle_interrupt(struct AdapterCtlBlk *acb,
}


-static irqreturn_t dc395x_interrupt(int irq, void *dev_id)
+static irqreturn_t dc395x_interrupt(void *dev_id)
{
struct AdapterCtlBlk *acb = dev_id;
u16 scsi_status;
diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
index d42ad66..9af7fdd 100644
--- a/drivers/scsi/dec_esp.c
+++ b/drivers/scsi/dec_esp.c
@@ -94,9 +94,9 @@ volatile unsigned char pmaz_cmd_buffer[16];
* via PIO.
*/

-static irqreturn_t scsi_dma_merr_int(int, void *);
-static irqreturn_t scsi_dma_err_int(int, void *);
-static irqreturn_t scsi_dma_int(int, void *);
+static irqreturn_t scsi_dma_merr_int(void *);
+static irqreturn_t scsi_dma_err_int(void *);
+static irqreturn_t scsi_dma_int(void *);

static struct scsi_host_template dec_esp_template = {
.module = THIS_MODULE,
@@ -352,7 +352,7 @@ static void __exit dec_esp_remove(struct device *dev)


/************************************************************* DMA Functions */
-static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id)
+static irqreturn_t scsi_dma_merr_int(void *dev_id)
{
printk("Got unexpected SCSI DMA Interrupt! < ");
printk("SCSI_DMA_MEMRDERR ");
@@ -361,14 +361,14 @@ static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t scsi_dma_err_int(int irq, void *dev_id)
+static irqreturn_t scsi_dma_err_int(void *dev_id)
{
/* empty */

return IRQ_HANDLED;
}

-static irqreturn_t scsi_dma_int(int irq, void *dev_id)
+static irqreturn_t scsi_dma_int(void *dev_id)
{
u32 scsi_next_ptr;

diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
index 8258506..f87b897 100644
--- a/drivers/scsi/dpt_i2o.c
+++ b/drivers/scsi/dpt_i2o.c
@@ -1966,7 +1966,7 @@ static int adpt_ioctl(struct inode *inode, struct file *file, uint cmd,
}


-static irqreturn_t adpt_isr(int irq, void *dev_id)
+static irqreturn_t adpt_isr(void *dev_id)
{
struct scsi_cmnd* cmd;
adpt_hba* pHba = dev_id;
diff --git a/drivers/scsi/dpti.h b/drivers/scsi/dpti.h
index 0892f6c..64be1df 100644
--- a/drivers/scsi/dpti.h
+++ b/drivers/scsi/dpti.h
@@ -259,7 +259,7 @@ struct sg_simple_element {
static void adpt_i2o_sys_shutdown(void);
static int adpt_init(void);
static int adpt_i2o_build_sys_table(void);
-static irqreturn_t adpt_isr(int irq, void *dev_id);
+static irqreturn_t adpt_isr(void *dev_id);
#ifdef REBOOT_NOTIFIER
static int adpt_reboot_event(struct notifier_block *n, ulong code, void *p);
#endif
diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
index 96180bb..17bcdfe 100644
--- a/drivers/scsi/eata_pio.c
+++ b/drivers/scsi/eata_pio.c
@@ -178,9 +178,9 @@ static void IncStat(struct scsi_pointer *SCp, unsigned int Increment)
}
}

-static irqreturn_t eata_pio_int_handler(int irq, void *dev_id);
+static irqreturn_t eata_pio_int_handler(void *dev_id);

-static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id)
+static irqreturn_t do_eata_pio_int_handler(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;
@@ -192,7 +192,7 @@ static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id)
return ret;
}

-static irqreturn_t eata_pio_int_handler(int irq, void *dev_id)
+static irqreturn_t eata_pio_int_handler(void *dev_id)
{
unsigned int eata_stat = 0xfffff;
struct scsi_cmnd *cmd;
diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
index 668569e..254827f 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[] = {

#define FD_BRDS ARRAY_SIZE(fd_mcs_adapters)

-static irqreturn_t fd_mcs_intr(int irq, void *dev_id);
+static irqreturn_t fd_mcs_intr(void *dev_id);

static unsigned long addresses[] = { 0xc8000, 0xca000, 0xce000, 0xde000 };
static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 };
@@ -619,7 +619,7 @@ static void my_done(struct Scsi_Host *shpnt, int error)
}

/* only my_done needs to be protected */
-static irqreturn_t fd_mcs_intr(int irq, void *dev_id)
+static irqreturn_t fd_mcs_intr(void *dev_id)
{
unsigned long flags;
int status;
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index 5d282e6..fc03f07 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -406,7 +406,7 @@ static volatile int in_interrupt_flag;
static int FIFO_Size = 0x2000; /* 8k FIFO for
pre-tmc18c30 chips */

-static irqreturn_t do_fdomain_16x0_intr( int irq, void *dev_id );
+static irqreturn_t do_fdomain_16x0_intr( void *dev_id );
/* Allow insmod parameters to be like LILO parameters. For example:
insmod fdomain fdomain=0x140,11 */
static char * fdomain = NULL;
@@ -1123,7 +1123,7 @@ static void my_done(int error)
#endif
}

-static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id)
+static irqreturn_t do_fdomain_16x0_intr(void *dev_id)
{
unsigned long flags;
int status;
diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
index 37741e9..74cab0b 100644
--- a/drivers/scsi/gvp11.c
+++ b/drivers/scsi/gvp11.c
@@ -23,7 +23,7 @@
#define DMA(ptr) ((gvp11_scsiregs *)((ptr)->base))
#define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))

-static irqreturn_t gvp11_intr (int irq, void *_instance)
+static irqreturn_t gvp11_intr (void *_instance)
{
unsigned long flags;
unsigned int status;
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
index 8515054..9205ebb 100644
--- a/drivers/scsi/hptiop.c
+++ b/drivers/scsi/hptiop.c
@@ -429,7 +429,7 @@ void hptiop_iop_request_callback(struct hptiop_hba *hba, u32 tag)
writel(tag, &hba->iop->outbound_queue);
}

-static irqreturn_t hptiop_intr(int irq, void *dev_id)
+static irqreturn_t hptiop_intr(void *dev_id)
{
struct hptiop_hba *hba = dev_id;
int handled;
diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c
index 714e627..683fe1d 100644
--- a/drivers/scsi/ibmmca.c
+++ b/drivers/scsi/ibmmca.c
@@ -497,7 +497,7 @@ static int option_setup(char *);
static int ldn_access_load(struct Scsi_Host *, int);
static int ldn_access_total_read_write(struct Scsi_Host *);

-static irqreturn_t interrupt_handler(int irq, void *dev_id)
+static irqreturn_t interrupt_handler(void *dev_id)
{
unsigned int intr_reg;
unsigned int cmd_result;
diff --git a/drivers/scsi/ibmvscsi/rpa_vscsi.c b/drivers/scsi/ibmvscsi/rpa_vscsi.c
index 1821461..8003fb1 100644
--- a/drivers/scsi/ibmvscsi/rpa_vscsi.c
+++ b/drivers/scsi/ibmvscsi/rpa_vscsi.c
@@ -43,13 +43,12 @@ static unsigned int partition_number = -1;
*/
/**
* rpavscsi_handle_event: - Interrupt handler for crq events
- * @irq: number of irq to handle, not used
* @dev_instance: ibmvscsi_host_data of host that received interrupt
*
* Disables interrupts and schedules srp_task
* Always returns IRQ_HANDLED
*/
-static irqreturn_t rpavscsi_handle_event(int irq, void *dev_instance)
+static irqreturn_t rpavscsi_handle_event(void *dev_instance)
{
struct ibmvscsi_host_data *hostdata =
(struct ibmvscsi_host_data *)dev_instance;
diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
index ab7cbf3..c6754d1 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)
* but it _does_ need to be able to compile and run in an SMP kernel.)
*/

-static irqreturn_t in2000_intr(int irqnum, void *dev_id)
+static irqreturn_t in2000_intr(void *dev_id)
{
struct Scsi_Host *instance = dev_id;
struct IN2000_hostdata *hostdata;
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 22d40fd..87c7537 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2532,7 +2532,7 @@ static int initio_wait_done_disc(struct initio_host * host)
* code under the lock.
*/

-static irqreturn_t i91u_intr(int irqno, void *dev_id)
+static irqreturn_t i91u_intr(void *dev_id)
{
struct Scsi_Host *dev = dev_id;
unsigned long flags;
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index c316a0b..78a44ab 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4178,7 +4178,7 @@ static irqreturn_t ipr_handle_other_interrupt(struct ipr_ioa_cfg *ioa_cfg,
* Return value:
* IRQ_NONE / IRQ_HANDLED
**/
-static irqreturn_t ipr_isr(int irq, void *devp)
+static irqreturn_t ipr_isr(void *devp)
{
struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)devp;
unsigned long lock_flags = 0;
diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
index edaac27..0f1edb9 100644
--- a/drivers/scsi/ips.c
+++ b/drivers/scsi/ips.c
@@ -235,7 +235,7 @@ static int ips_eh_abort(struct scsi_cmnd *);
static int ips_eh_reset(struct scsi_cmnd *);
static int ips_queue(struct scsi_cmnd *, void (*)(struct scsi_cmnd *));
static const char *ips_info(struct Scsi_Host *);
-static irqreturn_t do_ipsintr(int, void *);
+static irqreturn_t do_ipsintr(void *);
static int ips_hainit(ips_ha_t *);
static int ips_map_status(ips_ha_t *, ips_scb_t *, ips_stat_t *);
static int ips_send_wait(ips_ha_t *, ips_scb_t *, int, int);
@@ -1231,7 +1231,7 @@ ips_slave_configure(struct scsi_device * SDptr)
/* */
/****************************************************************************/
static irqreturn_t
-do_ipsintr(int irq, void *dev_id)
+do_ipsintr(void *dev_id)
{
ips_ha_t *ha;
struct Scsi_Host *host;
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h
index a599e15..0771fbc 100644
--- a/drivers/scsi/lpfc/lpfc_crtn.h
+++ b/drivers/scsi/lpfc/lpfc_crtn.h
@@ -152,7 +152,7 @@ int lpfc_sli_queue_setup(struct lpfc_hba *);

void lpfc_handle_eratt(struct lpfc_hba *);
void lpfc_handle_latt(struct lpfc_hba *);
-irqreturn_t lpfc_intr_handler(int, void *);
+irqreturn_t lpfc_intr_handler(void *);

void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *);
void 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 ce348c5..f1e20e7 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -3765,7 +3765,7 @@ lpfc_sli_flush_mbox_queue(struct lpfc_hba * phba)
}

irqreturn_t
-lpfc_intr_handler(int irq, void *dev_id)
+lpfc_intr_handler(void *dev_id)
{
struct lpfc_hba *phba;
uint32_t ha_copy;
diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
index a035001..db29fc0 100644
--- a/drivers/scsi/mac53c94.c
+++ b/drivers/scsi/mac53c94.c
@@ -60,8 +60,8 @@ struct fsc_state {

static void mac53c94_init(struct fsc_state *);
static void mac53c94_start(struct fsc_state *);
-static void mac53c94_interrupt(int, void *);
-static irqreturn_t do_mac53c94_interrupt(int, void *);
+static void mac53c94_interrupt(void *);
+static irqreturn_t do_mac53c94_interrupt(void *);
static void cmd_done(struct fsc_state *, int result);
static void set_dma_cmds(struct fsc_state *, struct scsi_cmnd *);

@@ -176,7 +176,7 @@ static void mac53c94_start(struct fsc_state *state)
set_dma_cmds(state, cmd);
}

-static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id)
+static irqreturn_t do_mac53c94_interrupt(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = ((struct fsc_state *) dev_id)->current_req->device->host;
@@ -187,7 +187,7 @@ static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static void mac53c94_interrupt(int irq, void *dev_id)
+static void mac53c94_interrupt(void *dev_id)
{
struct fsc_state *state = (struct fsc_state *) dev_id;
struct mac53c94_regs __iomem *regs = state->regs;
diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c
index bcb4902..fc03a88 100644
--- a/drivers/scsi/mac_esp.c
+++ b/drivers/scsi/mac_esp.c
@@ -44,7 +44,7 @@
/* #define DEBUG_MAC_ESP */

extern void esp_handle(struct NCR_ESP *esp);
-extern void mac_esp_intr(int irq, void *dev_id);
+extern void mac_esp_intr(void *dev_id);

static int dma_bytes_sent(struct NCR_ESP * esp, int fifo_count);
static int dma_can_transfer(struct NCR_ESP * esp, Scsi_Cmnd *sp);
@@ -88,7 +88,7 @@ static int setup_hostid = -1;
* set up properly!
*/

-void mac_esp_intr(int irq, void *dev_id)
+void mac_esp_intr(void *dev_id)
{
struct NCR_ESP *esp = (struct NCR_ESP *) dev_id;
int irq_p = 0;
@@ -122,7 +122,7 @@ void mac_esp_intr(int irq, void *dev_id)
* acknowledge on the various machines
*/

-void scsi_esp_polled(int irq, void *dev_id)
+void scsi_esp_polled(void *dev_id)
{
if (esp_initialized == 0)
return;
@@ -130,7 +130,7 @@ void scsi_esp_polled(int irq, void *dev_id)
mac_esp_intr(irq, dev_id);
}

-void fake_intr(int irq, void *dev_id)
+void fake_intr(void *dev_id)
{
#ifdef DEBUG_MAC_ESP
printk("mac_esp: got irq\n");
@@ -139,7 +139,7 @@ void fake_intr(int irq, void *dev_id)
mac_esp_intr(irq, dev_id);
}

-irqreturn_t fake_drq(int irq, void *dev_id)
+irqreturn_t fake_drq(void *dev_id)
{
printk("mac_esp: got drq\n");
return IRQ_HANDLED;
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
index 10d1aff..ff6d232 100644
--- a/drivers/scsi/megaraid.c
+++ b/drivers/scsi/megaraid.c
@@ -1244,7 +1244,6 @@ bug_blocked_mailbox:

/**
* megaraid_isr_iomapped()
- * @irq - irq
* @devp - pointer to our soft state
*
* Interrupt service routine for io-mapped controllers.
@@ -1252,7 +1251,7 @@ bug_blocked_mailbox:
* and service the completed commands.
*/
static irqreturn_t
-megaraid_isr_iomapped(int irq, void *devp)
+megaraid_isr_iomapped(void *devp)
{
adapter_t *adapter = devp;
unsigned long flags;
@@ -1328,7 +1327,7 @@ megaraid_isr_iomapped(int irq, void *devp)
* and service the completed commands.
*/
static irqreturn_t
-megaraid_isr_memmapped(int irq, void *devp)
+megaraid_isr_memmapped(void *devp)
{
adapter_t *adapter = devp;
unsigned long flags;
diff --git a/drivers/scsi/megaraid.h b/drivers/scsi/megaraid.h
index ee70bd4..a04f446 100644
--- a/drivers/scsi/megaraid.h
+++ b/drivers/scsi/megaraid.h
@@ -992,8 +992,8 @@ static scb_t * mega_build_cmd(adapter_t *, Scsi_Cmnd *, int *);
static void __mega_runpendq(adapter_t *);
static int issue_scb_block(adapter_t *, u_char *);

-static irqreturn_t megaraid_isr_memmapped(int, void *);
-static irqreturn_t megaraid_isr_iomapped(int, void *);
+static irqreturn_t megaraid_isr_memmapped(void *);
+static irqreturn_t megaraid_isr_iomapped(void *);

static void mega_free_scb(adapter_t *, scb_t *);

diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c
index e4e4c6a..f179000 100644
--- a/drivers/scsi/megaraid/megaraid_mbox.c
+++ b/drivers/scsi/megaraid/megaraid_mbox.c
@@ -121,7 +121,7 @@ static void megaraid_mbox_prepare_pthru(adapter_t *, scb_t *,
static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *,
struct scsi_cmnd *);

-static irqreturn_t megaraid_isr(int, void *);
+static irqreturn_t megaraid_isr(void *);

static void megaraid_mbox_dpc(unsigned long);

@@ -2188,7 +2188,7 @@ megaraid_ack_sequence(adapter_t *adapter)
* Interrupt service routine for memory-mapped mailbox controllers.
*/
static irqreturn_t
-megaraid_isr(int irq, void *devp)
+megaraid_isr(void *devp)
{
adapter_t *adapter = devp;
int handled;
diff --git a/drivers/scsi/megaraid/megaraid_sas.c b/drivers/scsi/megaraid/megaraid_sas.c
index e3c5c52..b76847c 100644
--- a/drivers/scsi/megaraid/megaraid_sas.c
+++ b/drivers/scsi/megaraid/megaraid_sas.c
@@ -1316,7 +1316,7 @@ out_done:
/**
* megasas_isr - isr entry point
*/
-static irqreturn_t megasas_isr(int irq, void *devp)
+static irqreturn_t megasas_isr(void *devp)
{
return megasas_deplete_reply_queue((struct megasas_instance *)devp,
DID_OK);
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index 7470ff3..b1c5f46 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1018,7 +1018,7 @@ static void handle_reset(struct mesh_state *ms)
out_8(&mr->sequence, SEQ_ENBRESEL);
}

-static irqreturn_t do_mesh_interrupt(int irq, void *dev_id)
+static irqreturn_t do_mesh_interrupt(void *dev_id)
{
unsigned long flags;
struct mesh_state *ms = dev_id;
diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c
index be41aad..4f99eb0 100644
--- a/drivers/scsi/mvme147.c
+++ b/drivers/scsi/mvme147.c
@@ -19,7 +19,7 @@

static struct Scsi_Host *mvme147_host = NULL;

-static irqreturn_t mvme147_intr (int irq, void *dummy)
+static irqreturn_t mvme147_intr (void *dummy)
{
if (irq == MVME147_IRQ_SCSI_PORT)
wd33c93_intr (mvme147_host);
diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
index 016c462..59fef30 100644
--- a/drivers/scsi/ncr53c8xx.c
+++ b/drivers/scsi/ncr53c8xx.c
@@ -8066,7 +8066,7 @@ printk("ncr53c8xx : command successfully queued\n");
return sts;
}

-irqreturn_t ncr53c8xx_intr(int irq, void *dev_id)
+irqreturn_t ncr53c8xx_intr(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *shost = (struct Scsi_Host *)dev_id;
diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h
index 0e008da..0eaee1b 100644
--- a/drivers/scsi/ncr53c8xx.h
+++ b/drivers/scsi/ncr53c8xx.h
@@ -1322,7 +1322,7 @@ struct ncr_device {

extern struct Scsi_Host *ncr_attach(struct scsi_host_template *tpnt, int unit, struct ncr_device *device);
extern void ncr53c8xx_release(struct Scsi_Host *host);
-irqreturn_t ncr53c8xx_intr(int irq, void *dev_id);
+irqreturn_t ncr53c8xx_intr(void *dev_id);
extern int ncr53c8xx_init(void);
extern void ncr53c8xx_exit(void);

diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
index 28161dc..c50373b 100644
--- a/drivers/scsi/nsp32.c
+++ b/drivers/scsi/nsp32.c
@@ -243,7 +243,7 @@ static void nsp32_sack_negate (nsp32_hw_data *);
static void nsp32_do_bus_reset(nsp32_hw_data *);

/* hardware interrupt handler */
-static irqreturn_t do_nsp32_isr(int, void *);
+static irqreturn_t do_nsp32_isr(void *);

/* initialize hardware */
static int nsp32hw_init(nsp32_hw_data *);
@@ -1161,7 +1161,7 @@ static int nsp32hw_init(nsp32_hw_data *data)


/* interrupt routine */
-static irqreturn_t do_nsp32_isr(int irq, void *dev_id)
+static irqreturn_t do_nsp32_isr(void *dev_id)
{
nsp32_hw_data *data = dev_id;
unsigned int base = data->BaseAddress;
diff --git a/drivers/scsi/pcmcia/nsp_cs.c b/drivers/scsi/pcmcia/nsp_cs.c
index a45d89b..49f42c3 100644
--- a/drivers/scsi/pcmcia/nsp_cs.c
+++ b/drivers/scsi/pcmcia/nsp_cs.c
@@ -940,7 +940,7 @@ static int nsp_nexus(struct scsi_cmnd *SCpnt)
/*
* interrupt handler
*/
-static irqreturn_t nspintr(int irq, void *dev_id)
+static irqreturn_t nspintr(void *dev_id)
{
unsigned int base;
unsigned char irq_status, irq_phase, phase;
diff --git a/drivers/scsi/pcmcia/nsp_cs.h b/drivers/scsi/pcmcia/nsp_cs.h
index b7f0fa2..1ea53ae 100644
--- a/drivers/scsi/pcmcia/nsp_cs.h
+++ b/drivers/scsi/pcmcia/nsp_cs.h
@@ -332,7 +332,7 @@ static int nsp_reselected (struct scsi_cmnd *SCpnt);
static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht);

/* Interrupt handler */
-//static irqreturn_t nspintr(int irq, void *dev_id);
+//static irqreturn_t nspintr(void *dev_id);

/* Module entry point*/
static int __init nsp_cs_init(void);
diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c
index 190e2a7..45e52df 100644
--- a/drivers/scsi/pcmcia/sym53c500_cs.c
+++ b/drivers/scsi/pcmcia/sym53c500_cs.c
@@ -362,7 +362,7 @@ SYM53C500_pio_write(int fast_pio, int base, unsigned char *request, unsigned int
}

static irqreturn_t
-SYM53C500_intr(int irq, void *dev_id)
+SYM53C500_intr(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;
diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
index 76089cf..013e4c1 100644
--- a/drivers/scsi/qla1280.c
+++ b/drivers/scsi/qla1280.c
@@ -1111,7 +1111,7 @@ qla1280_enable_intrs(struct scsi_qla_host *ha)
* Handles the H/W interrupt
**************************************************************************/
static irqreturn_t
-qla1280_intr_handler(int irq, void *dev_id)
+qla1280_intr_handler(void *dev_id)
{
struct scsi_qla_host *ha;
struct device_reg __iomem *reg;
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
index 09cb2a9..e5de80e 100644
--- a/drivers/scsi/qla2xxx/qla_gbl.h
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
@@ -258,9 +258,9 @@ qla2x00_set_idma_speed(scsi_qla_host_t *, uint16_t, uint16_t, uint16_t *);
/*
* Global Function Prototypes in qla_isr.c source file.
*/
-extern irqreturn_t qla2100_intr_handler(int, void *);
-extern irqreturn_t qla2300_intr_handler(int, void *);
-extern irqreturn_t qla24xx_intr_handler(int, void *);
+extern irqreturn_t qla2100_intr_handler(void *);
+extern irqreturn_t qla2300_intr_handler(void *);
+extern irqreturn_t qla24xx_intr_handler(void *);
extern void qla2x00_process_response_queue(struct scsi_qla_host *);
extern void qla24xx_process_response_queue(struct scsi_qla_host *);

diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h
index 8e3b044..cf05419 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 *);
static inline void
qla2x00_poll(scsi_qla_host_t *ha)
{
- ha->isp_ops->intr_handler(0, ha);
+ ha->isp_ops->intr_handler(ha);
}

static __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 c4768c4..714c100 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -20,7 +20,6 @@ static void qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);

/**
* qla2100_intr_handler() - Process interrupts for the ISP2100 and ISP2200.
- * @irq:
* @dev_id: SCSI driver HA context
*
* Called by system whenever the host adapter generates an interrupt.
@@ -28,7 +27,7 @@ static void qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);
* Returns handled flag.
*/
irqreturn_t
-qla2100_intr_handler(int irq, void *dev_id)
+qla2100_intr_handler(void *dev_id)
{
scsi_qla_host_t *ha;
struct device_reg_2xxx __iomem *reg;
@@ -120,7 +119,7 @@ qla2100_intr_handler(int irq, void *dev_id)
* Returns handled flag.
*/
irqreturn_t
-qla2300_intr_handler(int irq, void *dev_id)
+qla2300_intr_handler(void *dev_id)
{
scsi_qla_host_t *ha;
struct device_reg_2xxx __iomem *reg;
@@ -1541,7 +1540,7 @@ done:
* Returns handled flag.
*/
irqreturn_t
-qla24xx_intr_handler(int irq, void *dev_id)
+qla24xx_intr_handler(void *dev_id)
{
scsi_qla_host_t *ha;
struct device_reg_24xx __iomem *reg;
@@ -1665,7 +1664,7 @@ qla24xx_ms_entry(scsi_qla_host_t *ha, struct ct_entry_24xx *pkt)
}

static irqreturn_t
-qla24xx_msix_rsp_q(int irq, void *dev_id)
+qla24xx_msix_rsp_q(void *dev_id)
{
scsi_qla_host_t *ha;
struct device_reg_24xx __iomem *reg;
@@ -1686,7 +1685,7 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
}

static irqreturn_t
-qla24xx_msix_default(int irq, void *dev_id)
+qla24xx_msix_default(void *dev_id)
{
scsi_qla_host_t *ha;
struct device_reg_24xx __iomem *reg;
diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h b/drivers/scsi/qla4xxx/ql4_glbl.h
index a3608e0..da9e27e 100644
--- a/drivers/scsi/qla4xxx/ql4_glbl.h
+++ b/drivers/scsi/qla4xxx/ql4_glbl.h
@@ -17,7 +17,7 @@ int qla4xxx_send_command_to_isp(struct scsi_qla_host *ha, struct srb * srb);
int qla4xxx_initialize_adapter(struct scsi_qla_host * ha,
uint8_t renew_ddb_list);
int qla4xxx_soft_reset(struct scsi_qla_host *ha);
-irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id);
+irqreturn_t qla4xxx_intr_handler(void *dev_id);

void qla4xxx_free_ddb_list(struct scsi_qla_host * ha);
void 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 4a154be..118d23a 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -633,10 +633,9 @@ void qla4xxx_interrupt_service_routine(struct scsi_qla_host * ha,

/**
* qla4xxx_intr_handler - hardware interrupt handler.
- * @irq: Unused
* @dev_id: Pointer to host adapter structure
**/
-irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id)
+irqreturn_t qla4xxx_intr_handler(void *dev_id)
{
struct scsi_qla_host *ha;
uint32_t intr_status;
diff --git a/drivers/scsi/qlogicfas408.c b/drivers/scsi/qlogicfas408.c
index 2bfbf26..ac372b1 100644
--- a/drivers/scsi/qlogicfas408.c
+++ b/drivers/scsi/qlogicfas408.c
@@ -424,7 +424,7 @@ static void ql_ihandl(void *dev_id)
(icmd->scsi_done) (icmd);
}

-irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id)
+irqreturn_t qlogicfas408_ihandl(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *host = dev_id;
diff --git a/drivers/scsi/qlogicfas408.h b/drivers/scsi/qlogicfas408.h
index 2606264..57e7ed2 100644
--- a/drivers/scsi/qlogicfas408.h
+++ b/drivers/scsi/qlogicfas408.h
@@ -102,7 +102,7 @@ struct qlogicfas408_priv {
#define get_priv_by_cmd(x) (struct qlogicfas408_priv *)&((x)->device->host->hostdata[0])
#define get_priv_by_host(x) (struct qlogicfas408_priv *)&((x)->hostdata[0])

-irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id);
+irqreturn_t qlogicfas408_ihandl(void *dev_id);
int qlogicfas408_queuecommand(struct scsi_cmnd * cmd,
void (*done) (struct scsi_cmnd *));
int qlogicfas408_biosparam(struct scsi_device * disk,
diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
index 7a2e798..a08b023 100644
--- a/drivers/scsi/qlogicpti.c
+++ b/drivers/scsi/qlogicpti.c
@@ -649,7 +649,7 @@ static int qlogicpti_verify_tmon(struct qlogicpti *qpti)
return 0;
}

-static irqreturn_t qpti_intr(int irq, void *dev_id);
+static irqreturn_t qpti_intr(void *dev_id);

static void __init qpti_chain_add(struct qlogicpti *qpti)
{
@@ -1180,7 +1180,7 @@ static struct scsi_cmnd *qlogicpti_intr_handler(struct qlogicpti *qpti)
return done_queue;
}

-static irqreturn_t qpti_intr(int irq, void *dev_id)
+static irqreturn_t qpti_intr(void *dev_id)
{
struct qlogicpti *qpti = dev_id;
unsigned long flags;
diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
index ce80fa9..440aff0 100644
--- a/drivers/scsi/seagate.c
+++ b/drivers/scsi/seagate.c
@@ -321,8 +321,8 @@ static Signature __initdata signatures[] = {
*/

static int hostno = -1;
-static void seagate_reconnect_intr (int, void *);
-static irqreturn_t do_seagate_reconnect_intr (int, void *);
+static void seagate_reconnect_intr (void *);
+static irqreturn_t do_seagate_reconnect_intr (void *);
static int seagate_st0x_bus_reset(struct scsi_cmnd *);

#ifdef FAST
@@ -620,18 +620,18 @@ static int should_reconnect = 0;
* asserting SEL.
*/

-static irqreturn_t do_seagate_reconnect_intr(int irq, void *dev_id)
+static irqreturn_t do_seagate_reconnect_intr(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;

spin_lock_irqsave (dev->host_lock, flags);
- seagate_reconnect_intr (irq, dev_id);
+ seagate_reconnect_intr (dev_id);
spin_unlock_irqrestore (dev->host_lock, flags);
return IRQ_HANDLED;
}

-static void seagate_reconnect_intr (int irq, void *dev_id)
+static void seagate_reconnect_intr (void *dev_id)
{
int temp;
struct scsi_cmnd *SCtmp;
diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
index eef8275..48e4b72 100644
--- a/drivers/scsi/sgiwd93.c
+++ b/drivers/scsi/sgiwd93.c
@@ -46,7 +46,7 @@ struct hpc_chunk {
u32 _padding; /* align to quadword boundary */
};

-static irqreturn_t sgiwd93_intr(int irq, void *dev_id)
+static irqreturn_t sgiwd93_intr(void *dev_id)
{
struct Scsi_Host * host = dev_id;
unsigned long flags;
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c
index e3fab3a..79b98f1 100644
--- a/drivers/scsi/stex.c
+++ b/drivers/scsi/stex.c
@@ -838,7 +838,7 @@ update_status:
readl(base + IMR1); /* flush */
}

-static irqreturn_t stex_intr(int irq, void *__hba)
+static irqreturn_t stex_intr(void *__hba)
{
struct st_hba *hba = __hba;
void __iomem *base = hba->mmio_base;
diff --git a/drivers/scsi/sun3_NCR5380.c b/drivers/scsi/sun3_NCR5380.c
index dc15a22..3f20aa6 100644
--- a/drivers/scsi/sun3_NCR5380.c
+++ b/drivers/scsi/sun3_NCR5380.c
@@ -1255,7 +1255,7 @@ static void NCR5380_dma_complete( struct Scsi_Host *instance )
*
*/

-static irqreturn_t NCR5380_intr (int irq, void *dev_id)
+static irqreturn_t NCR5380_intr (void *dev_id)
{
struct Scsi_Host *instance = first_instance;
int done = 1, handled = 0;
diff --git a/drivers/scsi/sun3_scsi.c b/drivers/scsi/sun3_scsi.c
index 5e46d84..aa76608 100644
--- a/drivers/scsi/sun3_scsi.c
+++ b/drivers/scsi/sun3_scsi.c
@@ -101,7 +101,7 @@ static void NCR5380_print(struct Scsi_Host *instance);
#define ENABLE_IRQ() enable_irq( IRQ_SUN3_SCSI );


-static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
+static irqreturn_t scsi_sun3_intr(void *dummy);
static inline unsigned char sun3scsi_read(int reg);
static inline void sun3scsi_write(int reg, int value);

@@ -370,7 +370,7 @@ const char * sun3scsi_info (struct Scsi_Host *spnt) {
// safe bits for the CSR
#define CSR_GOOD 0x060f

-static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
+static irqreturn_t scsi_sun3_intr(void *dummy)
{
unsigned short csr = dregs->csr;
int handled = 0;
diff --git a/drivers/scsi/sun3_scsi_vme.c b/drivers/scsi/sun3_scsi_vme.c
index 7cb4a31..cf243a7 100644
--- a/drivers/scsi/sun3_scsi_vme.c
+++ b/drivers/scsi/sun3_scsi_vme.c
@@ -66,7 +66,7 @@ extern int sun3_map_test(unsigned long, char *);
#define ENABLE_IRQ()


-static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
+static irqreturn_t scsi_sun3_intr(void *dummy);
static inline unsigned char sun3scsi_read(int reg);
static inline void sun3scsi_write(int reg, int value);

@@ -339,7 +339,7 @@ static const char * sun3scsi_info (struct Scsi_Host *spnt) {
// safe bits for the CSR
#define CSR_GOOD 0x060f

-static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
+static irqreturn_t scsi_sun3_intr(void *dummy)
{
unsigned short csr = dregs->csr;
int handled = 0;
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c
index db03c4c..e6766b4 100644
--- a/drivers/scsi/sym53c8xx_2/sym_glue.c
+++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
@@ -591,7 +591,7 @@ static int sym53c8xx_queue_command(struct scsi_cmnd *cmd,
/*
* Linux entry point of the interrupt handler.
*/
-static irqreturn_t sym53c8xx_intr(int irq, void *dev_id)
+static irqreturn_t sym53c8xx_intr(void *dev_id)
{
unsigned long flags;
struct sym_hcb *np = (struct sym_hcb *)dev_id;
diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c
index 5c72ca3..ea27599 100644
--- a/drivers/scsi/tmscsim.c
+++ b/drivers/scsi/tmscsim.c
@@ -742,7 +742,7 @@ DC390_Interrupt(void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t do_DC390_Interrupt(int irq, void *dev_id)
+static irqreturn_t do_DC390_Interrupt(void *dev_id)
{
irqreturn_t ret;
DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq));
diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c
index ea72bbe..cdde36a 100644
--- a/drivers/scsi/ultrastor.c
+++ b/drivers/scsi/ultrastor.c
@@ -288,7 +288,7 @@ static const unsigned short ultrastor_ports_14f[] = {
#endif

static void ultrastor_interrupt(void *);
-static irqreturn_t do_ultrastor_interrupt(int, void *);
+static irqreturn_t do_ultrastor_interrupt(void *);
static inline void build_sg_list(struct mscp *, struct scsi_cmnd *SCpnt);


@@ -1170,7 +1170,7 @@ static void ultrastor_interrupt(void *dev_id)
#endif
}

-static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id)
+static irqreturn_t do_ultrastor_interrupt(void *dev_id)
{
unsigned long flags;
struct Scsi_Host *dev = dev_id;
diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
index 255c611..19ca418 100644
--- a/drivers/scsi/wd7000.c
+++ b/drivers/scsi/wd7000.c
@@ -998,7 +998,7 @@ static int make_code(unsigned hosterr, unsigned scsierr)
#define wd7000_intr_ack(host) outb (0, host->iobase + ASC_INTR_ACK)


-static irqreturn_t wd7000_intr(int irq, void *dev_id)
+static irqreturn_t wd7000_intr(void *dev_id)
{
Adapter *host = (Adapter *) dev_id;
int flag, icmb, errstatus, icmb_status;

2007-10-19 08:00:57

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 9/9] irq-remove: misc fixes and cleanups


commit 497cd0c681f0d7144a240af45f5d5eaf5aea75ae
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 01:27:46 2007 -0400

[IRQ ARG REMOVAL] x86-64 build fixes, cleanups

arch/x86/kernel/time_64.c | 2 +-
drivers/atm/horizon.c | 2 +-
drivers/input/touchscreen/ucb1400_ts.c | 2 +-
drivers/mtd/onenand/onenand_base.c | 2 +-
drivers/net/cxgb3/adapter.h | 2 +-
drivers/net/netxen/netxen_nic_main.c | 2 +-
drivers/parport/parport_mfc3.c | 2 +-
drivers/scsi/gdth.c | 27 +++++++++++++--------------
sound/drivers/mts64.c | 2 --
sound/drivers/portman2x4.c | 2 --
10 files changed, 20 insertions(+), 25 deletions(-)

497cd0c681f0d7144a240af45f5d5eaf5aea75ae
diff --git a/arch/x86/kernel/time_64.c b/arch/x86/kernel/time_64.c
index c821edc..dd16458 100644
--- a/arch/x86/kernel/time_64.c
+++ b/arch/x86/kernel/time_64.c
@@ -148,7 +148,7 @@ int update_persistent_clock(struct timespec now)
return set_rtc_mmss(now.tv_sec);
}

-static irqreturn_t timer_event_interrupt(int irq, void *dev_id)
+static irqreturn_t timer_event_interrupt(void *dev_id)
{
add_pda(irq0_irqs, 1);

diff --git a/drivers/atm/horizon.c b/drivers/atm/horizon.c
index 9b2cf25..ddd1064 100644
--- a/drivers/atm/horizon.c
+++ b/drivers/atm/horizon.c
@@ -1382,7 +1382,7 @@ static inline void rx_data_av_handler (hrz_dev * dev) {

/********** interrupt handler **********/

-static irqreturn_t interrupt_handler(int irq, void *dev_id)
+static irqreturn_t interrupt_handler(void *dev_id)
{
hrz_dev *dev = dev_id;
u32 int_source;
diff --git a/drivers/input/touchscreen/ucb1400_ts.c b/drivers/input/touchscreen/ucb1400_ts.c
index 68dac18..1a15e7f 100644
--- a/drivers/input/touchscreen/ucb1400_ts.c
+++ b/drivers/input/touchscreen/ucb1400_ts.c
@@ -356,7 +356,7 @@ static int ucb1400_ts_thread(void *_ucb)
* interrupt by scheduling a RT kernel thread to run in process
* context instead of interrupt context.
*/
-static irqreturn_t ucb1400_hard_irq(int irqnr, void *devid)
+static irqreturn_t ucb1400_hard_irq(void *devid)
{
struct ucb1400 *ucb = devid;

diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index 1b0b320..ebc92dc 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -357,7 +357,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
*
* complete the work
*/
-static irqreturn_t onenand_interrupt(int irq, void *data)
+static irqreturn_t onenand_interrupt(void *data)
{
struct onenand_chip *this = data;

diff --git a/drivers/net/cxgb3/adapter.h b/drivers/net/cxgb3/adapter.h
index 3814cc6..0333841 100644
--- a/drivers/net/cxgb3/adapter.h
+++ b/drivers/net/cxgb3/adapter.h
@@ -277,6 +277,6 @@ int t3_sge_alloc_qset(struct adapter *adapter, unsigned int id, int nports,
int ntxq, struct net_device *dev);
int t3_get_desc(const struct sge_qset *qs, unsigned int qnum, unsigned int idx,
unsigned char *data);
-irqreturn_t t3_sge_intr_msix(int irq, void *cookie);
+irqreturn_t t3_sge_intr_msix(void *cookie);

#endif /* __T3_ADAPTER_H__ */
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index c506398..76cfa8a 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -1266,7 +1266,7 @@ netxen_handle_int(struct netxen_adapter *adapter, struct net_device *netdev)
* @irq: interrupt number
* data points to adapter stucture (which may be handling more than 1 port
*/
-irqreturn_t netxen_intr(int irq, void *data)
+irqreturn_t netxen_intr(void *data)
{
struct netxen_adapter *adapter = data;
struct net_device *netdev = adapter->netdev;
diff --git a/drivers/parport/parport_mfc3.c b/drivers/parport/parport_mfc3.c
index 6dec9ba..137c828 100644
--- a/drivers/parport/parport_mfc3.c
+++ b/drivers/parport/parport_mfc3.c
@@ -211,7 +211,7 @@ static void mfc3_change_mode( struct parport *p, int m)

static int use_cnt = 0;

-static irqreturn_t mfc3_interrupt(int irq, void *dev_id)
+static irqreturn_t mfc3_interrupt(void *dev_id)
{
int i;

diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index 3ac080e..4165350 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -140,8 +140,8 @@

static void gdth_delay(int milliseconds);
static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs);
-static irqreturn_t gdth_interrupt(int irq, void *dev_id);
-static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
+static irqreturn_t gdth_interrupt(void *dev_id);
+static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
int gdth_from_wait, int* pIndex);
static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
Scsi_Cmnd *scp);
@@ -165,7 +165,7 @@ static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp);
static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive);

static void gdth_enable_int(gdth_ha_str *ha);
-static unchar gdth_get_status(gdth_ha_str *ha, int irq);
+static unchar gdth_get_status(gdth_ha_str *ha);
static int gdth_test_busy(gdth_ha_str *ha);
static int gdth_get_cmd_index(gdth_ha_str *ha);
static void gdth_release_event(gdth_ha_str *ha);
@@ -1334,14 +1334,12 @@ static void __init gdth_enable_int(gdth_ha_str *ha)
}

/* return IStatus if interrupt was from this card else 0 */
-static unchar gdth_get_status(gdth_ha_str *ha, int irq)
+static unchar gdth_get_status(gdth_ha_str *ha)
{
unchar IStatus = 0;

- TRACE(("gdth_get_status() irq %d ctr_count %d\n", irq, gdth_ctr_count));
+ TRACE(("gdth_get_status() irq %d ctr_count %d\n", ha->irq, gdth_ctr_count));

- if (ha->irq != (unchar)irq) /* check IRQ */
- return false;
if (ha->type == GDT_EISA)
IStatus = inb((ushort)ha->bmic + EDOORREG);
else if (ha->type == GDT_ISA)
@@ -1523,7 +1521,7 @@ static int gdth_wait(gdth_ha_str *ha, int index, ulong32 time)
return 1; /* no wait required */

do {
- __gdth_interrupt(ha, (int)ha->irq, true, &wait_index);
+ __gdth_interrupt(ha, true, &wait_index);
if (wait_index == index) {
answer_found = TRUE;
break;
@@ -3036,7 +3034,7 @@ static void gdth_clear_events(void)

/* SCSI interface functions */

-static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
+static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
int gdth_from_wait, int* pIndex)
{
gdt6m_dpram_str __iomem *dp6m_ptr = NULL;
@@ -3054,7 +3052,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
int act_int_coal = 0;
#endif

- TRACE(("gdth_interrupt() IRQ %d\n",irq));
+ TRACE(("gdth_interrupt() IRQ %d\n", ha->irq));

/* if polling and not from gdth_wait() -> return */
if (gdth_polling) {
@@ -3067,7 +3065,8 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
spin_lock_irqsave(&ha->smp_lock, flags);

/* search controller */
- if (0 == (IStatus = gdth_get_status(ha, irq))) {
+ IStatus = gdth_get_status(ha);
+ if (!IStatus) {
/* spurious interrupt */
if (!gdth_polling)
spin_unlock_irqrestore(&ha->smp_lock, flags);
@@ -3292,11 +3291,11 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
return IRQ_HANDLED;
}

-static irqreturn_t gdth_interrupt(int irq, void *dev_id)
+static irqreturn_t gdth_interrupt(void *dev_id)
{
- gdth_ha_str *ha = (gdth_ha_str *)dev_id;
+ gdth_ha_str *ha = dev_id;

- return __gdth_interrupt(ha, irq, false, NULL);
+ return __gdth_interrupt(ha, false, NULL);
}

static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c
index 4990b35..dcc90f9 100644
--- a/sound/drivers/mts64.c
+++ b/sound/drivers/mts64.c
@@ -853,8 +853,6 @@ static void snd_mts64_interrupt(void *private)
}
__out:
spin_unlock(&mts->lock);
-
- return IRQ_HANDLED;
}

static int __devinit snd_mts64_probe_port(struct parport *p)
diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
index 7e4ac0b..e065b2a 100644
--- a/sound/drivers/portman2x4.c
+++ b/sound/drivers/portman2x4.c
@@ -645,8 +645,6 @@ static void snd_portman_interrupt(void *userdata)
}

spin_unlock(&pm->reg_lock);
-
- return IRQ_HANDLED;
}

static int __devinit snd_portman_probe_port(struct parport *p)

2007-10-19 08:00:11

by Jeff Garzik

[permalink] [raw]
Subject: [PATCH 8/9] irq-remove: driver trivial


commit 52afddf59be0049d4118b21bdb1ef6bd1c5a9165
Author: Jeff Garzik <[email protected]>
Date: Fri Oct 19 00:48:47 2007 -0400

[IRQ ARG REMOVAL] trivial driver updates

drivers/acpi/osl.c | 2 +-
drivers/ata/ahci.c | 2 +-
drivers/ata/libata-core.c | 2 +-
drivers/ata/pdc_adma.c | 2 +-
drivers/ata/sata_inic162x.c | 2 +-
drivers/ata/sata_mv.c | 2 +-
drivers/ata/sata_nv.c | 20 ++++++++++----------
drivers/ata/sata_promise.c | 2 +-
drivers/ata/sata_qstor.c | 2 +-
drivers/ata/sata_sil.c | 2 +-
drivers/ata/sata_sil24.c | 2 +-
drivers/ata/sata_sx4.c | 2 +-
drivers/ata/sata_vsc.c | 2 +-
drivers/atm/eni.c | 2 +-
drivers/atm/firestream.c | 2 +-
drivers/atm/fore200e.c | 2 +-
drivers/atm/he.c | 4 ++--
drivers/atm/idt77252.c | 2 +-
drivers/atm/iphase.c | 2 +-
drivers/atm/lanai.c | 2 +-
drivers/atm/nicstar.c | 4 ++--
drivers/atm/zatm.c | 2 +-
drivers/block/DAC960.c | 21 +++++++--------------
drivers/block/DAC960.h | 12 ++++++------
drivers/block/amiflop.c | 4 ++--
drivers/block/ataflop.c | 4 ++--
drivers/block/cciss.c | 6 +++---
drivers/block/cpqarray.c | 4 ++--
drivers/block/floppy.c | 4 ++--
drivers/block/lguest_blk.c | 2 +-
drivers/block/ps2esdi.c | 4 ++--
drivers/block/swim3.c | 8 ++++----
drivers/block/sx8.c | 2 +-
drivers/block/umem.c | 2 +-
drivers/block/xd.c | 2 +-
drivers/block/xd.h | 2 +-
drivers/block/xen-blkfront.c | 2 +-
drivers/char/amiserial.c | 6 +++---
drivers/char/applicom.c | 4 ++--
drivers/char/drm/drm_os_linux.h | 2 +-
drivers/char/esp.c | 2 +-
drivers/char/hpet.c | 2 +-
drivers/char/hvc_console.c | 2 +-
drivers/char/hvcs.c | 4 ++--
drivers/char/hvsi.c | 2 +-
drivers/char/ipmi/ipmi_si_intf.c | 6 +++---
drivers/char/isicom.c | 2 +-
drivers/char/mbcs.c | 3 +--
drivers/char/mmtimer.c | 3 +--
drivers/char/mxser.c | 4 ++--
drivers/char/mxser_new.c | 2 +-
drivers/char/nwbutton.c | 2 +-
drivers/char/nwbutton.h | 2 +-
drivers/char/rtc.c | 6 +++---
drivers/char/ser_a2232.c | 4 ++--
drivers/char/serial167.c | 6 +++---
drivers/char/snsc.c | 2 +-
drivers/char/snsc_event.c | 2 +-
drivers/char/sonypi.c | 2 +-
drivers/char/tlclk.c | 4 ++--
drivers/char/vme_scc.c | 16 ++++++++--------
drivers/dma/ioat_dma.c | 4 ++--
drivers/fc4/soc.c | 2 +-
drivers/fc4/socal.c | 2 +-
drivers/firewire/fw-ohci.c | 2 +-
drivers/i2c/busses/i2c-elektor.c | 2 +-
drivers/i2c/busses/i2c-ibm_iic.c | 2 +-
drivers/i2c/busses/i2c-iop3xx.c | 2 +-
drivers/i2c/busses/i2c-mpc.c | 2 +-
drivers/i2c/busses/i2c-mv64xxx.c | 2 +-
drivers/i2c/busses/i2c-ocores.c | 2 +-
drivers/i2c/busses/i2c-omap.c | 2 +-
drivers/i2c/busses/i2c-pca-isa.c | 2 +-
drivers/i2c/busses/i2c-pxa.c | 2 +-
drivers/i2c/busses/i2c-s3c2410.c | 2 +-
drivers/i2c/chips/isp1301_omap.c | 2 +-
drivers/i2c/chips/tps65010.c | 2 +-
drivers/ide/legacy/hd.c | 2 +-
drivers/ieee1394/ohci1394.c | 2 +-
drivers/ieee1394/pcilynx.c | 2 +-
drivers/infiniband/hw/amso1100/c2.c | 4 ++--
drivers/infiniband/hw/ehca/ehca_irq.c | 4 ++--
drivers/infiniband/hw/ehca/ehca_irq.h | 4 ++--
drivers/infiniband/hw/ipath/ipath_intr.c | 2 +-
drivers/infiniband/hw/ipath/ipath_kernel.h | 2 +-
drivers/infiniband/hw/mthca/mthca_eq.c | 8 ++++----
drivers/input/joystick/amijoy.c | 2 +-
drivers/input/keyboard/amikbd.c | 2 +-
drivers/input/keyboard/corgikbd.c | 2 +-
drivers/input/keyboard/hilkbd.c | 2 +-
drivers/input/keyboard/locomokbd.c | 2 +-
drivers/input/keyboard/omap-keypad.c | 2 +-
drivers/input/keyboard/spitzkbd.c | 4 ++--
drivers/input/misc/ixp4xx-beeper.c | 2 +-
drivers/input/mouse/amimouse.c | 2 +-
drivers/input/mouse/inport.c | 2 +-
drivers/input/mouse/logibm.c | 2 +-
drivers/input/mouse/pc110pad.c | 8 ++++----
drivers/input/mouse/rpcmouse.c | 2 +-
drivers/input/serio/ambakmi.c | 2 +-
drivers/input/serio/ct82c710.c | 2 +-
drivers/input/serio/gscps2.c | 4 ++--
drivers/input/serio/hp_sdc.c | 6 +++---
drivers/input/serio/maceps2.c | 2 +-
drivers/input/serio/pcips2.c | 2 +-
drivers/input/serio/q40kbd.c | 2 +-
drivers/input/serio/rpckbd.c | 4 ++--
drivers/input/serio/sa1111ps2.c | 4 ++--
drivers/input/touchscreen/ads7846.c | 2 +-
drivers/input/touchscreen/corgi_ts.c | 2 +-
drivers/input/touchscreen/h3600_ts_input.c | 4 ++--
drivers/input/touchscreen/hp680_ts_input.c | 2 +-
drivers/input/touchscreen/mk712.c | 2 +-
drivers/isdn/hardware/avm/avmcard.h | 4 ++--
drivers/isdn/hardware/avm/b1.c | 2 +-
drivers/isdn/hardware/avm/b1dma.c | 2 +-
drivers/isdn/hardware/avm/c4.c | 2 +-
drivers/isdn/hardware/avm/t1isa.c | 2 +-
drivers/isdn/hardware/eicon/divasmain.c | 2 +-
drivers/isdn/hisax/asuscom.c | 4 ++--
drivers/isdn/hisax/avm_a1.c | 2 +-
drivers/isdn/hisax/avm_a1p.c | 2 +-
drivers/isdn/hisax/avm_pci.c | 2 +-
drivers/isdn/hisax/bkm_a4t.c | 2 +-
drivers/isdn/hisax/bkm_a8.c | 2 +-
drivers/isdn/hisax/diva.c | 8 ++++----
drivers/isdn/hisax/elsa.c | 8 ++++----
drivers/isdn/hisax/elsa_ser.c | 2 +-
drivers/isdn/hisax/enternow_pci.c | 2 +-
drivers/isdn/hisax/gazel.c | 4 ++--
drivers/isdn/hisax/hfc4s8s_l1.c | 2 +-
drivers/isdn/hisax/hfc_pci.c | 2 +-
drivers/isdn/hisax/hfc_sx.c | 2 +-
drivers/isdn/hisax/hfcscard.c | 2 +-
drivers/isdn/hisax/hisax_fcpcipnp.c | 4 ++--
drivers/isdn/hisax/isurf.c | 2 +-
drivers/isdn/hisax/ix1_micro.c | 2 +-
drivers/isdn/hisax/mic.c | 2 +-
drivers/isdn/hisax/netjet.h | 2 +-
drivers/isdn/hisax/niccy.c | 2 +-
drivers/isdn/hisax/nj_s.c | 2 +-
drivers/isdn/hisax/nj_u.c | 2 +-
drivers/isdn/hisax/s0box.c | 2 +-
drivers/isdn/hisax/saphir.c | 2 +-
drivers/isdn/hisax/sedlbauer.c | 6 +++---
drivers/isdn/hisax/sportster.c | 2 +-
drivers/isdn/hisax/teleint.c | 2 +-
drivers/isdn/hisax/teles0.c | 2 +-
drivers/isdn/hisax/teles3.c | 2 +-
drivers/isdn/hisax/telespci.c | 2 +-
drivers/isdn/hysdn/boardergo.c | 2 +-
drivers/isdn/pcbit/layer2.c | 2 +-
drivers/isdn/pcbit/layer2.h | 2 +-
drivers/isdn/sc/card.h | 2 +-
drivers/macintosh/macio-adb.c | 4 ++--
drivers/macintosh/smu.c | 4 ++--
drivers/macintosh/via-cuda.c | 4 ++--
drivers/macintosh/via-pmu.c | 8 ++++----
drivers/media/common/saa7146_core.c | 2 +-
drivers/media/dvb/b2c2/flexcop-pci.c | 2 +-
drivers/media/dvb/bt8xx/bt878.c | 2 +-
drivers/media/dvb/pluto2/pluto2.c | 2 +-
drivers/media/video/arv.c | 2 +-
drivers/media/video/bt8xx/bttv-driver.c | 2 +-
drivers/media/video/cafe_ccic.c | 2 +-
drivers/media/video/cx23885/cx23885-core.c | 2 +-
drivers/media/video/cx88/cx88-alsa.c | 2 +-
drivers/media/video/cx88/cx88-mpeg.c | 2 +-
drivers/media/video/cx88/cx88-video.c | 2 +-
drivers/media/video/ivtv/ivtv-irq.c | 2 +-
drivers/media/video/ivtv/ivtv-irq.h | 2 +-
drivers/media/video/meye.c | 2 +-
drivers/media/video/saa7134/saa7134-alsa.c | 2 +-
drivers/media/video/saa7134/saa7134-core.c | 2 +-
drivers/media/video/saa7134/saa7134-oss.c | 2 +-
drivers/media/video/stradis.c | 2 +-
drivers/media/video/vino.c | 2 +-
drivers/media/video/zoran_device.c | 3 +--
drivers/media/video/zoran_device.h | 2 +-
drivers/message/fusion/mptbase.c | 4 ++--
drivers/message/i2o/pci.c | 3 +--
drivers/mfd/ucb1x00-core.c | 2 +-
drivers/misc/ibmasm/ibmasm.h | 2 +-
drivers/misc/ibmasm/lowlevel.c | 2 +-
drivers/misc/phantom.c | 2 +-
drivers/misc/sony-laptop.c | 2 +-
drivers/misc/tifm_7xx1.c | 2 +-
drivers/mmc/host/at91_mci.c | 2 +-
drivers/mmc/host/au1xmmc.c | 4 ++--
drivers/mmc/host/imxmmc.c | 2 +-
drivers/mmc/host/mmci.c | 4 ++--
drivers/mmc/host/omap.c | 4 ++--
drivers/mmc/host/pxamci.c | 4 ++--
drivers/mmc/host/sdhci.c | 2 +-
drivers/mmc/host/wbsd.c | 2 +-
drivers/mtd/nand/cafe_nand.c | 2 +-
drivers/parisc/dino.c | 2 +-
drivers/parisc/eisa.c | 2 +-
drivers/parisc/gsc.c | 2 +-
drivers/parisc/gsc.h | 2 +-
drivers/parisc/superio.c | 2 +-
drivers/pci/hotplug/cpci_hotplug_core.c | 2 +-
drivers/pci/hotplug/cpqphp.h | 2 +-
drivers/pci/hotplug/cpqphp_ctrl.c | 2 +-
drivers/pci/hotplug/pciehp_hpc.c | 6 +++---
drivers/pci/hotplug/shpchp_hpc.c | 6 +++---
drivers/pci/pcie/aer/aerdrv.c | 3 +--
drivers/pcmcia/at91_cf.c | 2 +-
drivers/pcmcia/hd64465_ss.c | 4 ++--
drivers/pcmcia/i82092.c | 2 +-
drivers/pcmcia/i82092aa.h | 2 +-
drivers/pcmcia/m32r_cfc.c | 2 +-
drivers/pcmcia/m32r_pcc.c | 4 ++--
drivers/pcmcia/m8xx_pcmcia.c | 4 ++--
drivers/pcmcia/omap_cf.c | 2 +-
drivers/pcmcia/pcmcia_resource.c | 2 +-
drivers/pcmcia/pd6729.c | 6 +++---
drivers/pcmcia/soc_common.c | 2 +-
drivers/pcmcia/vrc4171_card.c | 2 +-
drivers/pcmcia/vrc4173_cardu.c | 2 +-
drivers/pcmcia/yenta_socket.c | 6 +++---
drivers/pnp/resource.c | 2 +-
drivers/power/pda_power.c | 2 +-
drivers/rtc/rtc-cmos.c | 2 +-
drivers/rtc/rtc-ds1553.c | 2 +-
drivers/rtc/rtc-m48t59.c | 2 +-
drivers/rtc/rtc-pl031.c | 2 +-
drivers/rtc/rtc-s3c.c | 4 ++--
drivers/rtc/rtc-sa1100.c | 4 ++--
drivers/rtc/rtc-sh.c | 6 +++---
drivers/rtc/rtc-stk17ta8.c | 2 +-
drivers/rtc/rtc-vr41xx.c | 4 ++--
drivers/sbus/char/bbc_i2c.c | 2 +-
drivers/sbus/char/cpwatchdog.c | 4 ++--
drivers/sbus/char/uctrl.c | 2 +-
drivers/serial/21285.c | 4 ++--
drivers/serial/68328serial.c | 2 +-
drivers/serial/amba-pl010.c | 2 +-
drivers/serial/amba-pl011.c | 2 +-
drivers/serial/atmel_serial.c | 2 +-
drivers/serial/clps711x.c | 4 ++--
drivers/serial/cpm_uart/cpm_uart_core.c | 2 +-
drivers/serial/crisv10.c | 6 +++---
drivers/serial/dz.c | 2 +-
drivers/serial/icom.c | 2 +-
drivers/serial/imx.c | 6 +++---
drivers/serial/ioc4_serial.c | 3 +--
drivers/serial/ip22zilog.c | 2 +-
drivers/serial/jsm/jsm_neo.c | 2 +-
drivers/serial/m32r_sio.c | 2 +-
drivers/serial/mcfserial.c | 2 +-
drivers/serial/mpc52xx_uart.c | 4 ++--
drivers/serial/mpsc.c | 2 +-
drivers/serial/netx-serial.c | 2 +-
drivers/serial/pmac_zilog.c | 2 +-
drivers/serial/pxa.c | 2 +-
drivers/serial/s3c2410.c | 4 ++--
drivers/serial/sa1100.c | 2 +-
drivers/serial/serial_lh7a40x.c | 2 +-
drivers/serial/serial_txx9.c | 2 +-
drivers/serial/sh-sci.c | 10 +++++-----
drivers/serial/sn_console.c | 2 +-
drivers/serial/sunhv.c | 2 +-
drivers/serial/sunsab.c | 2 +-
drivers/serial/sunsu.c | 4 ++--
drivers/serial/sunzilog.c | 2 +-
drivers/serial/v850e_uart.c | 4 ++--
drivers/serial/vr41xx_siu.c | 2 +-
drivers/sn/ioc3.c | 4 ++--
drivers/spi/pxa2xx_spi.c | 2 +-
drivers/spi/spi_mpc83xx.c | 2 +-
drivers/spi/spi_s3c24xx.c | 2 +-
drivers/uio/uio.c | 4 ++--
drivers/uio/uio_cif.c | 3 ++-
drivers/usb/core/hcd.c | 2 +-
drivers/usb/core/hcd.h | 2 +-
drivers/usb/gadget/amd5536udc.c | 2 +-
drivers/usb/gadget/at91_udc.c | 2 +-
drivers/usb/gadget/goku_udc.c | 2 +-
drivers/usb/gadget/lh7a40x_udc.c | 2 +-
drivers/usb/gadget/net2280.c | 2 +-
drivers/usb/gadget/omap_udc.c | 6 +++---
drivers/usb/gadget/pxa2xx_udc.c | 6 +++---
drivers/video/amifb.c | 4 ++--
drivers/video/arcfb.c | 2 +-
drivers/video/atafb.c | 2 +-
drivers/video/aty/atyfb_base.c | 2 +-
drivers/video/au1200fb.c | 2 +-
drivers/video/console/fbcon.c | 4 ++--
drivers/video/intelfb/intelfbhw.c | 2 +-
drivers/video/matrox/matroxfb_base.c | 2 +-
drivers/video/pvr2fb.c | 4 ++--
drivers/video/pxafb.c | 2 +-
drivers/video/s3c2410fb.c | 2 +-
drivers/video/sa1100fb.c | 2 +-
drivers/watchdog/eurotechwdt.c | 2 +-
drivers/watchdog/mpcore_wdt.c | 2 +-
drivers/watchdog/s3c2410_wdt.c | 2 +-
drivers/watchdog/wdt.c | 3 +--
drivers/watchdog/wdt285.c | 2 +-
drivers/watchdog/wdt_pci.c | 2 +-
drivers/xen/xenbus/xenbus_comms.c | 2 +-
include/linux/arcdevice.h | 2 +-
include/linux/ide.h | 2 +-
include/linux/libata.h | 2 +-
include/linux/rtc.h | 2 +-
include/sound/cs4231.h | 2 +-
include/sound/emu10k1.h | 2 +-
include/sound/gus.h | 2 +-
include/sound/initval.h | 2 +-
include/sound/mpu401.h | 4 ++--
include/sound/sb.h | 2 +-
include/sound/vx_core.h | 2 +-
313 files changed, 447 insertions(+), 460 deletions(-)

52afddf59be0049d4118b21bdb1ef6bd1c5a9165
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 352cf81..d154b1e 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -287,7 +287,7 @@ acpi_os_table_override(struct acpi_table_header * existing_table,
return AE_OK;
}

-static irqreturn_t acpi_irq(int irq, void *dev_id)
+static irqreturn_t acpi_irq(void *dev_id)
{
return (*acpi_irq_handler) (acpi_irq_context) ? IRQ_HANDLED : IRQ_NONE;
}
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 10bc3f6..aec151e 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -1545,7 +1545,7 @@ static void ahci_irq_clear(struct ata_port *ap)
/* TODO */
}

-static irqreturn_t ahci_interrupt(int irq, void *dev_instance)
+static irqreturn_t ahci_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
struct ahci_host_priv *hpriv;
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index bbaa545..5d51222 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -6009,7 +6009,7 @@ idle_irq:
* IRQ_NONE or IRQ_HANDLED.
*/

-irqreturn_t ata_interrupt (int irq, void *dev_instance)
+irqreturn_t ata_interrupt (void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int i;
diff --git a/drivers/ata/pdc_adma.c b/drivers/ata/pdc_adma.c
index 199f7e1..2431d06 100644
--- a/drivers/ata/pdc_adma.c
+++ b/drivers/ata/pdc_adma.c
@@ -565,7 +565,7 @@ static inline unsigned int adma_intr_mmio(struct ata_host *host)
return handled;
}

-static irqreturn_t adma_intr(int irq, void *dev_instance)
+static irqreturn_t adma_intr(void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int handled = 0;
diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c
index 08595f3..f78f0b0 100644
--- a/drivers/ata/sata_inic162x.c
+++ b/drivers/ata/sata_inic162x.c
@@ -320,7 +320,7 @@ static void inic_host_intr(struct ata_port *ap)
ata_port_abort(ap);
}

-static irqreturn_t inic_interrupt(int irq, void *dev_instance)
+static irqreturn_t inic_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
void __iomem *mmio_base = host->iomap[MMIO_BAR];
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 7f1b13e..dfd3c3d 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -1699,7 +1699,7 @@ static void mv_pci_error(struct ata_host *host, void __iomem *mmio)
* This routine holds the host lock while processing pending
* interrupts.
*/
-static irqreturn_t mv_interrupt(int irq, void *dev_instance)
+static irqreturn_t mv_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int hc, handled = 0, n_hcs;
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 240a892..10bb0ea 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -298,9 +298,9 @@ static int nv_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
static int nv_pci_device_resume(struct pci_dev *pdev);
#endif
static void nv_ck804_host_stop(struct ata_host *host);
-static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance);
-static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance);
-static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance);
+static irqreturn_t nv_generic_interrupt(void *dev_instance);
+static irqreturn_t nv_nf2_interrupt(void *dev_instance);
+static irqreturn_t nv_ck804_interrupt(void *dev_instance);
static int nv_scr_read (struct ata_port *ap, unsigned int sc_reg, u32 *val);
static int nv_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);

@@ -313,7 +313,7 @@ static int nv_adma_slave_config(struct scsi_device *sdev);
static int nv_adma_check_atapi_dma(struct ata_queued_cmd *qc);
static void nv_adma_qc_prep(struct ata_queued_cmd *qc);
static unsigned int nv_adma_qc_issue(struct ata_queued_cmd *qc);
-static irqreturn_t nv_adma_interrupt(int irq, void *dev_instance);
+static irqreturn_t nv_adma_interrupt(void *dev_instance);
static void nv_adma_irq_clear(struct ata_port *ap);
static int nv_adma_port_start(struct ata_port *ap);
static void nv_adma_port_stop(struct ata_port *ap);
@@ -337,7 +337,7 @@ static void nv_swncq_qc_prep(struct ata_queued_cmd *qc);
static void nv_swncq_fill_sg(struct ata_queued_cmd *qc);
static unsigned int nv_swncq_qc_issue(struct ata_queued_cmd *qc);
static void nv_swncq_irq_clear(struct ata_port *ap, u16 fis);
-static irqreturn_t nv_swncq_interrupt(int irq, void *dev_instance);
+static irqreturn_t nv_swncq_interrupt(void *dev_instance);
#ifdef CONFIG_PM
static int nv_swncq_port_suspend(struct ata_port *ap, pm_message_t mesg);
static int nv_swncq_port_resume(struct ata_port *ap);
@@ -921,7 +921,7 @@ static int nv_host_intr(struct ata_port *ap, u8 irq_stat)
return ata_host_intr(ap, qc);
}

-static irqreturn_t nv_adma_interrupt(int irq, void *dev_instance)
+static irqreturn_t nv_adma_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
int i, handled = 0;
@@ -1451,7 +1451,7 @@ static unsigned int nv_adma_qc_issue(struct ata_queued_cmd *qc)
return 0;
}

-static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance)
+static irqreturn_t nv_generic_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int i;
@@ -1500,7 +1500,7 @@ static irqreturn_t nv_do_interrupt(struct ata_host *host, u8 irq_stat)
return IRQ_RETVAL(handled);
}

-static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance)
+static irqreturn_t nv_nf2_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
u8 irq_stat;
@@ -1514,7 +1514,7 @@ static irqreturn_t nv_nf2_interrupt(int irq, void *dev_instance)
return ret;
}

-static irqreturn_t nv_ck804_interrupt(int irq, void *dev_instance)
+static irqreturn_t nv_ck804_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
u8 irq_stat;
@@ -2318,7 +2318,7 @@ irq_error:
return;
}

-static irqreturn_t nv_swncq_interrupt(int irq, void *dev_instance)
+static irqreturn_t nv_swncq_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int i;
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index 9032131..20927b3 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -707,7 +707,7 @@ static inline unsigned int pdc_port_no_to_ata_no(unsigned int port_no, int is_sa
return is_sataii_tx4 ? sataii_tx4_port_remap[port_no] : port_no;
}

-static irqreturn_t pdc_interrupt (int irq, void *dev_instance)
+static irqreturn_t pdc_interrupt (void *dev_instance)
{
struct ata_host *host = dev_instance;
struct ata_port *ap;
diff --git a/drivers/ata/sata_qstor.c b/drivers/ata/sata_qstor.c
index c4c4cd2..5563c33 100644
--- a/drivers/ata/sata_qstor.c
+++ b/drivers/ata/sata_qstor.c
@@ -456,7 +456,7 @@ static inline unsigned int qs_intr_mmio(struct ata_host *host)
return handled;
}

-static irqreturn_t qs_intr(int irq, void *dev_instance)
+static irqreturn_t qs_intr(void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int handled = 0;
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
index ea3a0ab..85db01c 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -466,7 +466,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
ata_port_freeze(ap);
}

-static irqreturn_t sil_interrupt(int irq, void *dev_instance)
+static irqreturn_t sil_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
void __iomem *mmio_base = host->iomap[SIL_MMIO_BAR];
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 26ebffc..50a90fc 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -1147,7 +1147,7 @@ static inline void sil24_host_intr(struct ata_port *ap)
slot_stat, ap->link.active_tag, ap->link.sactive);
}

-static irqreturn_t sil24_interrupt(int irq, void *dev_instance)
+static irqreturn_t sil24_interrupt(void *dev_instance)
{
struct ata_host *host = dev_instance;
void __iomem *host_base = host->iomap[SIL24_HOST_BAR];
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index 9f9f7b3..87f4153 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -803,7 +803,7 @@ static void pdc20621_irq_clear(struct ata_port *ap)
readl(mmio + PDC_20621_SEQMASK);
}

-static irqreturn_t pdc20621_interrupt (int irq, void *dev_instance)
+static irqreturn_t pdc20621_interrupt (void *dev_instance)
{
struct ata_host *host = dev_instance;
struct ata_port *ap;
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c
index 0d9be16..4242ff3 100644
--- a/drivers/ata/sata_vsc.c
+++ b/drivers/ata/sata_vsc.c
@@ -258,7 +258,7 @@ static void vsc_port_intr(u8 port_status, struct ata_port *ap)
*
* Read the interrupt register and process for the devices that have them pending.
*/
-static irqreturn_t vsc_sata_interrupt (int irq, void *dev_instance)
+static irqreturn_t vsc_sata_interrupt (void *dev_instance)
{
struct ata_host *host = dev_instance;
unsigned int i;
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index 41b2204..4eded7e 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -1487,7 +1487,7 @@ static void bug_int(struct atm_dev *dev,unsigned long reason)
}


-static irqreturn_t eni_int(int irq,void *dev_id)
+static irqreturn_t eni_int(void *dev_id)
{
struct atm_dev *dev;
struct eni_dev *eni_dev;
diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c
index 94ebc9d..821b183 100644
--- a/drivers/atm/firestream.c
+++ b/drivers/atm/firestream.c
@@ -1557,7 +1557,7 @@ static void __devexit free_freepool (struct fs_dev *dev, struct freepool *fp)



-static irqreturn_t fs_irq (int irq, void *dev_id)
+static irqreturn_t fs_irq (void *dev_id)
{
int i;
u32 status;
diff --git a/drivers/atm/fore200e.c b/drivers/atm/fore200e.c
index 8b12925..036387b 100644
--- a/drivers/atm/fore200e.c
+++ b/drivers/atm/fore200e.c
@@ -1306,7 +1306,7 @@ fore200e_irq(struct fore200e* fore200e)


static irqreturn_t
-fore200e_interrupt(int irq, void* dev)
+fore200e_interrupt(void *dev)
{
struct fore200e* fore200e = FORE200E_DEV((struct atm_dev*)dev);

diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index d33aba6..18aa58e 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -109,7 +109,7 @@ static int he_open(struct atm_vcc *vcc);
static void he_close(struct atm_vcc *vcc);
static int he_send(struct atm_vcc *vcc, struct sk_buff *skb);
static int he_ioctl(struct atm_dev *dev, unsigned int cmd, void __user *arg);
-static irqreturn_t he_irq_handler(int irq, void *dev_id);
+static irqreturn_t he_irq_handler(void *dev_id);
static void he_tasklet(unsigned long data);
static int he_proc_read(struct atm_dev *dev,loff_t *pos,char *page);
static int he_start(struct atm_dev *dev);
@@ -2216,7 +2216,7 @@ he_tasklet(unsigned long data)
}

static irqreturn_t
-he_irq_handler(int irq, void *dev_id)
+he_irq_handler(void *dev_id)
{
unsigned long flags;
struct he_dev *he_dev = (struct he_dev * )dev_id;
diff --git a/drivers/atm/idt77252.c b/drivers/atm/idt77252.c
index eee54c0..411bb1e 100644
--- a/drivers/atm/idt77252.c
+++ b/drivers/atm/idt77252.c
@@ -2780,7 +2780,7 @@ idt77252_collect_stat(struct idt77252_dev *card)
}

static irqreturn_t
-idt77252_interrupt(int irq, void *dev_id)
+idt77252_interrupt(void *dev_id)
{
struct idt77252_dev *card = dev_id;
u32 stat;
diff --git a/drivers/atm/iphase.c b/drivers/atm/iphase.c
index ef52452..1848ecf 100644
--- a/drivers/atm/iphase.c
+++ b/drivers/atm/iphase.c
@@ -2195,7 +2195,7 @@ err_out:
return -ENOMEM;
}

-static irqreturn_t ia_int(int irq, void *dev_id)
+static irqreturn_t ia_int(void *dev_id)
{
struct atm_dev *dev;
IADEV *iadev;
diff --git a/drivers/atm/lanai.c b/drivers/atm/lanai.c
index 144a49f..a4fb1f7 100644
--- a/drivers/atm/lanai.c
+++ b/drivers/atm/lanai.c
@@ -1888,7 +1888,7 @@ static inline void lanai_int_1(struct lanai_dev *lanai, u32 reason)
reg_write(lanai, ack, IntAck_Reg);
}

-static irqreturn_t lanai_int(int irq, void *devid)
+static irqreturn_t lanai_int(void *devid)
{
struct lanai_dev *lanai = devid;
u32 reason;
diff --git a/drivers/atm/nicstar.c b/drivers/atm/nicstar.c
index 14ced85..1a0f2bd 100644
--- a/drivers/atm/nicstar.c
+++ b/drivers/atm/nicstar.c
@@ -214,7 +214,7 @@ static void __devinit ns_init_card_error(ns_dev *card, int error);
static scq_info *get_scq(int size, u32 scd);
static void free_scq(scq_info *scq, struct atm_vcc *vcc);
static void push_rxbufs(ns_dev *, struct sk_buff *);
-static irqreturn_t ns_irq_handler(int irq, void *dev_id);
+static irqreturn_t ns_irq_handler(void *dev_id);
static int ns_open(struct atm_vcc *vcc);
static void ns_close(struct atm_vcc *vcc);
static void fill_tst(ns_dev *card, int n, vc_map *vc);
@@ -1194,7 +1194,7 @@ static void push_rxbufs(ns_dev *card, struct sk_buff *skb)



-static irqreturn_t ns_irq_handler(int irq, void *dev_id)
+static irqreturn_t ns_irq_handler(void *dev_id)
{
u32 stat_r;
ns_dev *card;
diff --git a/drivers/atm/zatm.c b/drivers/atm/zatm.c
index 58583c6..fe37cc3 100644
--- a/drivers/atm/zatm.c
+++ b/drivers/atm/zatm.c
@@ -1013,7 +1013,7 @@ static int start_tx(struct atm_dev *dev)
/*------------------------------- interrupts --------------------------------*/


-static irqreturn_t zatm_int(int irq,void *dev_id)
+static irqreturn_t zatm_int(void *dev_id)
{
struct atm_dev *dev;
struct zatm_dev *zatm_dev;
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c
index 84d6aa5..8ebeae2 100644
--- a/drivers/block/DAC960.c
+++ b/drivers/block/DAC960.c
@@ -5254,8 +5254,7 @@ static void DAC960_V2_ProcessCompletedCommand(DAC960_Command_T *Command)
Controllers.
*/

-static irqreturn_t DAC960_GEM_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_GEM_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5295,8 +5294,7 @@ static irqreturn_t DAC960_GEM_InterruptHandler(int IRQ_Channel,
Controllers.
*/

-static irqreturn_t DAC960_BA_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_BA_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5337,8 +5335,7 @@ static irqreturn_t DAC960_BA_InterruptHandler(int IRQ_Channel,
Controllers.
*/

-static irqreturn_t DAC960_LP_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_LP_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5379,8 +5376,7 @@ static irqreturn_t DAC960_LP_InterruptHandler(int IRQ_Channel,
Controllers.
*/

-static irqreturn_t DAC960_LA_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_LA_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5417,8 +5413,7 @@ static irqreturn_t DAC960_LA_InterruptHandler(int IRQ_Channel,
Controllers.
*/

-static irqreturn_t DAC960_PG_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_PG_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5455,8 +5450,7 @@ static irqreturn_t DAC960_PG_InterruptHandler(int IRQ_Channel,
Controllers.
*/

-static irqreturn_t DAC960_PD_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_PD_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
@@ -5493,8 +5487,7 @@ static irqreturn_t DAC960_PD_InterruptHandler(int IRQ_Channel,
an arbitrary buffer.
*/

-static irqreturn_t DAC960_P_InterruptHandler(int IRQ_Channel,
- void *DeviceIdentifier)
+static irqreturn_t DAC960_P_InterruptHandler(void *DeviceIdentifier)
{
DAC960_Controller_T *Controller = DeviceIdentifier;
void __iomem *ControllerBaseAddress = Controller->BaseAddress;
diff --git a/drivers/block/DAC960.h b/drivers/block/DAC960.h
index 85fa9bb..323b3bf 100644
--- a/drivers/block/DAC960.h
+++ b/drivers/block/DAC960.h
@@ -4398,12 +4398,12 @@ static void DAC960_FinalizeController(DAC960_Controller_T *);
static void DAC960_V1_QueueReadWriteCommand(DAC960_Command_T *);
static void DAC960_V2_QueueReadWriteCommand(DAC960_Command_T *);
static void DAC960_RequestFunction(struct request_queue *);
-static irqreturn_t DAC960_BA_InterruptHandler(int, void *);
-static irqreturn_t DAC960_LP_InterruptHandler(int, void *);
-static irqreturn_t DAC960_LA_InterruptHandler(int, void *);
-static irqreturn_t DAC960_PG_InterruptHandler(int, void *);
-static irqreturn_t DAC960_PD_InterruptHandler(int, void *);
-static irqreturn_t DAC960_P_InterruptHandler(int, void *);
+static irqreturn_t DAC960_BA_InterruptHandler(void *);
+static irqreturn_t DAC960_LP_InterruptHandler(void *);
+static irqreturn_t DAC960_LA_InterruptHandler(void *);
+static irqreturn_t DAC960_PG_InterruptHandler(void *);
+static irqreturn_t DAC960_PD_InterruptHandler(void *);
+static irqreturn_t DAC960_P_InterruptHandler(void *);
static void DAC960_V1_QueueMonitoringCommand(DAC960_Command_T *);
static void DAC960_V2_QueueMonitoringCommand(DAC960_Command_T *);
static void DAC960_MonitoringTimerFunction(unsigned long);
diff --git a/drivers/block/amiflop.c b/drivers/block/amiflop.c
index c9751b2..75ed236 100644
--- a/drivers/block/amiflop.c
+++ b/drivers/block/amiflop.c
@@ -209,7 +209,7 @@ static int fd_device[4] = { 0, 0, 0, 0 };

/* Milliseconds timer */

-static irqreturn_t ms_isr(int irq, void *dummy)
+static irqreturn_t ms_isr(void *dummy)
{
ms_busy = -1;
wake_up(&ms_wait);
@@ -560,7 +560,7 @@ static unsigned long fd_get_drive_id(int drive)
return (id);
}

-static irqreturn_t fd_block_done(int irq, void *dummy)
+static irqreturn_t fd_block_done(void *dummy)
{
if (block_flag)
custom.dsklen = 0x4000;
diff --git a/drivers/block/ataflop.c b/drivers/block/ataflop.c
index 94268c7..ccae320 100644
--- a/drivers/block/ataflop.c
+++ b/drivers/block/ataflop.c
@@ -342,7 +342,7 @@ static void fd_select_drive( int drive );
static void fd_deselect( void );
static void fd_motor_off_timer( unsigned long dummy );
static void check_change( unsigned long dummy );
-static irqreturn_t floppy_irq (int irq, void *dummy);
+static irqreturn_t floppy_irq (void *dummy);
static void fd_error( void );
static int do_format(int drive, int type, struct atari_format_descr *desc);
static void do_fd_action( int drive );
@@ -573,7 +573,7 @@ static inline void copy_buffer(void *from, void *to)

static void (*FloppyIRQHandler)( int status ) = NULL;

-static irqreturn_t floppy_irq (int irq, void *dummy)
+static irqreturn_t floppy_irq (void *dummy)
{
unsigned char status;
void (*handler)( int );
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c
index 7c2cfde..212d9a3 100644
--- a/drivers/block/cciss.c
+++ b/drivers/block/cciss.c
@@ -140,7 +140,7 @@ static struct board_type products[] = {
static ctlr_info_t *hba[MAX_CTLR];

static void do_cciss_request(struct request_queue *q);
-static irqreturn_t do_cciss_intr(int irq, void *dev_id);
+static irqreturn_t do_cciss_intr(void *dev_id);
static int cciss_open(struct inode *inode, struct file *filep);
static int cciss_release(struct inode *inode, struct file *filep);
static int cciss_ioctl(struct inode *inode, struct file *filep,
@@ -2301,7 +2301,7 @@ static int sendcmd(__u8 cmd, int ctlr, void *buff, size_t size, unsigned int use
#ifdef CONFIG_CISS_SCSI_TAPE
/* if we saved some commands for later, process them now. */
if (info_p->scsi_rejects.ncompletions > 0)
- do_cciss_intr(0, info_p);
+ do_cciss_intr(info_p);
#endif
cmd_free(info_p, c, 1);
return status;
@@ -2733,7 +2733,7 @@ static inline long interrupt_not_for_us(ctlr_info_t *h)
#endif
}

-static irqreturn_t do_cciss_intr(int irq, void *dev_id)
+static irqreturn_t do_cciss_intr(void *dev_id)
{
ctlr_info_t *h = dev_id;
CommandList_struct *c;
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c
index 568603d..1dd7d83 100644
--- a/drivers/block/cpqarray.c
+++ b/drivers/block/cpqarray.c
@@ -169,7 +169,7 @@ static inline cmdlist_t *removeQ(cmdlist_t **Qptr, cmdlist_t *c);
static inline void complete_buffers(struct bio *bio, int ok);
static inline void complete_command(cmdlist_t *cmd, int timeout);

-static irqreturn_t do_ida_intr(int irq, void *dev_id);
+static irqreturn_t do_ida_intr(void *dev_id);
static void ida_timer(unsigned long tdata);
static int ida_revalidate(struct gendisk *disk);
static int revalidate_allvol(ctlr_info_t *host);
@@ -1047,7 +1047,7 @@ static inline void complete_command(cmdlist_t *cmd, int timeout)
* Find the command on the completion queue, remove it, tell the OS and
* try to queue up more IO
*/
-static irqreturn_t do_ida_intr(int irq, void *dev_id)
+static irqreturn_t do_ida_intr(void *dev_id)
{
ctlr_info_t *h = dev_id;
cmdlist_t *c;
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c
index 639ed14..dfb0858 100644
--- a/drivers/block/floppy.c
+++ b/drivers/block/floppy.c
@@ -220,7 +220,7 @@ static DEFINE_SPINLOCK(floppy_lock);
static struct completion device_release;

static unsigned short virtual_dma_port = 0x3f0;
-irqreturn_t floppy_interrupt(int irq, void *dev_id);
+irqreturn_t floppy_interrupt(void *dev_id);
static int set_dor(int fdc, char mask, char data);

#define K_64 0x10000 /* 64KB */
@@ -1734,7 +1734,7 @@ static void print_result(char *message, int inr)
}

/* interrupt handler. Note that this can be called externally on the Sparc */
-irqreturn_t floppy_interrupt(int irq, void *dev_id)
+irqreturn_t floppy_interrupt(void *dev_id)
{
int do_print;
unsigned long f;
diff --git a/drivers/block/lguest_blk.c b/drivers/block/lguest_blk.c
index fa8e423..2d5b4b4 100644
--- a/drivers/block/lguest_blk.c
+++ b/drivers/block/lguest_blk.c
@@ -94,7 +94,7 @@ static void end_entire_request(struct request *req, int uptodate)

/*D:490 This is the interrupt handler, called when a block read or write has
* been completed for us. */
-static irqreturn_t lgb_irq(int irq, void *_bd)
+static irqreturn_t lgb_irq(void *_bd)
{
/* We handed our "struct blockdev" as the argument to request_irq(), so
* it is passed through to us here. This tells us which device we're
diff --git a/drivers/block/ps2esdi.c b/drivers/block/ps2esdi.c
index 3c796e2..ec99308 100644
--- a/drivers/block/ps2esdi.c
+++ b/drivers/block/ps2esdi.c
@@ -75,7 +75,7 @@ static int ps2esdi_out_cmd_blk(u_short * cmd_blk);

static void ps2esdi_prep_dma(char *buffer, u_short length, u_char dma_xmode);

-static irqreturn_t ps2esdi_interrupt_handler(int irq, void *dev_id);
+static irqreturn_t ps2esdi_interrupt_handler(void *dev_id);
static void (*current_int_handler) (u_int) = NULL;
static void ps2esdi_normal_interrupt_handler(u_int);
static void ps2esdi_initial_reset_int_handler(u_int);
@@ -686,7 +686,7 @@ static void ps2esdi_prep_dma(char *buffer, u_short length, u_char dma_xmode)



-static irqreturn_t ps2esdi_interrupt_handler(int irq, void *dev_id)
+static irqreturn_t ps2esdi_interrupt_handler(void *dev_id)
{
u_int int_ret_code;

diff --git a/drivers/block/swim3.c b/drivers/block/swim3.c
index b4e462f..d8c6f2a 100644
--- a/drivers/block/swim3.c
+++ b/drivers/block/swim3.c
@@ -238,8 +238,8 @@ static void scan_timeout(unsigned long data);
static void seek_timeout(unsigned long data);
static void settle_timeout(unsigned long data);
static void xfer_timeout(unsigned long data);
-static irqreturn_t swim3_interrupt(int irq, void *dev_id);
-/*static void fd_dma_interrupt(int irq, void *dev_id);*/
+static irqreturn_t swim3_interrupt(void *dev_id);
+/*static void fd_dma_interrupt(void *dev_id);*/
static int grab_drive(struct floppy_state *fs, enum swim_state state,
int interruptible);
static void release_drive(struct floppy_state *fs);
@@ -624,7 +624,7 @@ static void xfer_timeout(unsigned long data)
start_request(fs);
}

-static irqreturn_t swim3_interrupt(int irq, void *dev_id)
+static irqreturn_t swim3_interrupt(void *dev_id)
{
struct floppy_state *fs = (struct floppy_state *) dev_id;
struct swim3 __iomem *sw = fs->swim3;
@@ -777,7 +777,7 @@ static irqreturn_t swim3_interrupt(int irq, void *dev_id)
}

/*
-static void fd_dma_interrupt(int irq, void *dev_id)
+static void fd_dma_interrupt(void *dev_id)
{
}
*/
diff --git a/drivers/block/sx8.c b/drivers/block/sx8.c
index 402209f..309597f 100644
--- a/drivers/block/sx8.c
+++ b/drivers/block/sx8.c
@@ -1200,7 +1200,7 @@ static inline void carm_handle_responses(struct carm_host *host)
host->resp_idx += work;
}

-static irqreturn_t carm_interrupt(int irq, void *__host)
+static irqreturn_t carm_interrupt(void *__host)
{
struct carm_host *host = __host;
void __iomem *mmio;
diff --git a/drivers/block/umem.c b/drivers/block/umem.c
index 99806f9..e9fdb4f 100644
--- a/drivers/block/umem.c
+++ b/drivers/block/umem.c
@@ -570,7 +570,7 @@ static int mm_make_request(struct request_queue *q, struct bio *bio)
-- mm_interrupt
-----------------------------------------------------------------------------------
*/
-static irqreturn_t mm_interrupt(int irq, void *__card)
+static irqreturn_t mm_interrupt(void *__card)
{
struct cardinfo *card = (struct cardinfo *) __card;
unsigned int dma_status;
diff --git a/drivers/block/xd.c b/drivers/block/xd.c
index 624d30f..aa19ae6 100644
--- a/drivers/block/xd.c
+++ b/drivers/block/xd.c
@@ -462,7 +462,7 @@ static void xd_recalibrate (u_char drive)
}

/* xd_interrupt_handler: interrupt service routine */
-static irqreturn_t xd_interrupt_handler(int irq, void *dev_id)
+static irqreturn_t xd_interrupt_handler(void *dev_id)
{
if (inb(XD_STATUS) & STAT_INTERRUPT) { /* check if it was our device */
#ifdef DEBUG_OTHER
diff --git a/drivers/block/xd.h b/drivers/block/xd.h
index cffd44a..4f43623 100644
--- a/drivers/block/xd.h
+++ b/drivers/block/xd.h
@@ -109,7 +109,7 @@ static int xd_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsi
static int xd_readwrite (u_char operation,XD_INFO *disk,char *buffer,u_int block,u_int count);
static void xd_recalibrate (u_char drive);

-static irqreturn_t xd_interrupt_handler(int irq, void *dev_id);
+static irqreturn_t xd_interrupt_handler(void *dev_id);
static u_char xd_setup_dma (u_char opcode,u_char *buffer,u_int count);
static u_char *xd_build (u_char *cmdblk,u_char command,u_char drive,u_char head,u_short cylinder,u_char sector,u_char count,u_char control);
static void xd_watchdog (unsigned long unused);
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 2bdebcb..7743400 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -445,7 +445,7 @@ static void blkif_completion(struct blk_shadow *s)
gnttab_end_foreign_access(s->req.seg[i].gref, 0, 0UL);
}

-static irqreturn_t blkif_interrupt(int irq, void *dev_id)
+static irqreturn_t blkif_interrupt(void *dev_id)
{
struct request *req;
struct blkif_response *bret;
diff --git a/drivers/char/amiserial.c b/drivers/char/amiserial.c
index 3d468f5..d57f2e2 100644
--- a/drivers/char/amiserial.c
+++ b/drivers/char/amiserial.c
@@ -447,7 +447,7 @@ static void check_modem_status(struct async_struct *info)
}
}

-static irqreturn_t ser_vbl_int( int irq, void *data)
+static irqreturn_t ser_vbl_int(void *data)
{
/* vbl is just a periodic interrupt we tie into to update modem status */
struct async_struct * info = IRQ_ports;
@@ -460,7 +460,7 @@ static irqreturn_t ser_vbl_int( int irq, void *data)
return IRQ_HANDLED;
}

-static irqreturn_t ser_rx_int(int irq, void *dev_id)
+static irqreturn_t ser_rx_int(void *dev_id)
{
struct async_struct * info;

@@ -480,7 +480,7 @@ static irqreturn_t ser_rx_int(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t ser_tx_int(int irq, void *dev_id)
+static irqreturn_t ser_tx_int(void *dev_id)
{
struct async_struct * info;

diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c
index 1f0b752..6f03607 100644
--- a/drivers/char/applicom.c
+++ b/drivers/char/applicom.c
@@ -110,7 +110,7 @@ static ssize_t ac_read (struct file *, char __user *, size_t, loff_t *);
static ssize_t ac_write (struct file *, const char __user *, size_t, loff_t *);
static int ac_ioctl(struct inode *, struct file *, unsigned int,
unsigned long);
-static irqreturn_t ac_interrupt(int, void *);
+static irqreturn_t ac_interrupt(void *);

static const struct file_operations ac_fops = {
.owner = THIS_MODULE,
@@ -617,7 +617,7 @@ static ssize_t ac_read (struct file *filp, char __user *buf, size_t count, loff_
}
}

-static irqreturn_t ac_interrupt(int vec, void *dev_instance)
+static irqreturn_t ac_interrupt(void *dev_instance)
{
unsigned int i;
unsigned int FlagInt;
diff --git a/drivers/char/drm/drm_os_linux.h b/drivers/char/drm/drm_os_linux.h
index 114e54e..cda69c8 100644
--- a/drivers/char/drm/drm_os_linux.h
+++ b/drivers/char/drm/drm_os_linux.h
@@ -30,7 +30,7 @@
#define DRM_MEMORYBARRIER() mb()

/** IRQ handler arguments and return type and values */
-#define DRM_IRQ_ARGS int irq, void *arg
+#define DRM_IRQ_ARGS void *arg

/** AGP types */
#if __OS_HAS_AGP
diff --git a/drivers/char/esp.c b/drivers/char/esp.c
index 2e7ae42..9ac4eb5 100644
--- a/drivers/char/esp.c
+++ b/drivers/char/esp.c
@@ -615,7 +615,7 @@ static inline void check_modem_status(struct esp_struct *info)
/*
* This is the serial driver's interrupt routine
*/
-static irqreturn_t rs_interrupt_single(int irq, void *dev_id)
+static irqreturn_t rs_interrupt_single(void *dev_id)
{
struct esp_struct * info;
unsigned err_status;
diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 4c16778..a51b853 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -140,7 +140,7 @@ static inline void writeq(unsigned long long v, void __iomem *addr)
}
#endif

-static irqreturn_t hpet_interrupt(int irq, void *data)
+static irqreturn_t hpet_interrupt(void *data)
{
struct hpet_dev *devp;
unsigned long isr;
diff --git a/drivers/char/hvc_console.c b/drivers/char/hvc_console.c
index 8252f86..4c2e0f5 100644
--- a/drivers/char/hvc_console.c
+++ b/drivers/char/hvc_console.c
@@ -295,7 +295,7 @@ static int hvc_poll(struct hvc_struct *hp);
* NOTE: This API isn't used if the console adapter doesn't support interrupts.
* In this case the console is poll driven.
*/
-static irqreturn_t hvc_handle_interrupt(int irq, void *dev_instance)
+static irqreturn_t hvc_handle_interrupt(void *dev_instance)
{
/* if hvc_poll request a repoll, then kick the hvcd thread */
if (hvc_poll(dev_instance))
diff --git a/drivers/char/hvcs.c b/drivers/char/hvcs.c
index 69d8866..19c99bc 100644
--- a/drivers/char/hvcs.c
+++ b/drivers/char/hvcs.c
@@ -315,7 +315,7 @@ static DEFINE_SPINLOCK(hvcs_structs_lock);

static void hvcs_unthrottle(struct tty_struct *tty);
static void hvcs_throttle(struct tty_struct *tty);
-static irqreturn_t hvcs_handle_interrupt(int irq, void *dev_instance);
+static irqreturn_t hvcs_handle_interrupt(void *dev_instance);

static int hvcs_write(struct tty_struct *tty,
const unsigned char *buf, int count);
@@ -549,7 +549,7 @@ static void hvcs_throttle(struct tty_struct *tty)
* handler taking any further interrupts because they are disabled which means
* the hvcs_struct will always be valid in this handler.
*/
-static irqreturn_t hvcs_handle_interrupt(int irq, void *dev_instance)
+static irqreturn_t hvcs_handle_interrupt(void *dev_instance)
{
struct hvcs_struct *hvcsd = dev_instance;

diff --git a/drivers/char/hvsi.c b/drivers/char/hvsi.c
index d5a752d..069264f 100644
--- a/drivers/char/hvsi.c
+++ b/drivers/char/hvsi.c
@@ -554,7 +554,7 @@ static void hvsi_send_overflow(struct hvsi_struct *hp)
* must get all pending data because we only get an irq on empty->non-empty
* transition
*/
-static irqreturn_t hvsi_interrupt(int irq, void *arg)
+static irqreturn_t hvsi_interrupt(void *arg)
{
struct hvsi_struct *hp = (struct hvsi_struct *)arg;
struct tty_struct *flip;
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 4f560d0..b0c21dc 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -969,7 +969,7 @@ static void smi_timeout(unsigned long data)
add_timer(&(smi_info->si_timer));
}

-static irqreturn_t si_irq_handler(int irq, void *data)
+static irqreturn_t si_irq_handler(void *data)
{
struct smi_info *smi_info = data;
unsigned long flags;
@@ -992,14 +992,14 @@ static irqreturn_t si_irq_handler(int irq, void *data)
return IRQ_HANDLED;
}

-static irqreturn_t si_bt_irq_handler(int irq, void *data)
+static irqreturn_t si_bt_irq_handler(void *data)
{
struct smi_info *smi_info = data;
/* We need to clear the IRQ flag for the BT interface. */
smi_info->io.outputb(&smi_info->io, IPMI_BT_INTMASK_REG,
IPMI_BT_INTMASK_CLEAR_IRQ_BIT
| IPMI_BT_INTMASK_ENABLE_IRQ_BIT);
- return si_irq_handler(irq, data);
+ return si_irq_handler(data);
}

static int smi_start_processing(void *send_info,
diff --git a/drivers/char/isicom.c b/drivers/char/isicom.c
index 85d596a..897f843 100644
--- a/drivers/char/isicom.c
+++ b/drivers/char/isicom.c
@@ -506,7 +506,7 @@ sched_again:
* Main interrupt handler routine
*/

-static irqreturn_t isicom_interrupt(int irq, void *dev_id)
+static irqreturn_t isicom_interrupt(void *dev_id)
{
struct isi_board *card = dev_id;
struct isi_port *port;
diff --git a/drivers/char/mbcs.c b/drivers/char/mbcs.c
index 3c5802a..9347b92 100644
--- a/drivers/char/mbcs.c
+++ b/drivers/char/mbcs.c
@@ -513,12 +513,11 @@ static int mbcs_gscr_mmap(struct file *fp, struct vm_area_struct *vma)

/**
* mbcs_completion_intr_handler - Primary completion handler.
- * @irq: irq
* @arg: soft struct for device
*
*/
static irqreturn_t
-mbcs_completion_intr_handler(int irq, void *arg)
+mbcs_completion_intr_handler(void *arg)
{
struct mbcs_soft *soft = (struct mbcs_soft *)arg;
void *mmr_base;
diff --git a/drivers/char/mmtimer.c b/drivers/char/mmtimer.c
index e60a74c..0792019 100644
--- a/drivers/char/mmtimer.c
+++ b/drivers/char/mmtimer.c
@@ -421,7 +421,6 @@ static int inline reschedule_periodic_timer(mmtimer_t *x)

/**
* mmtimer_interrupt - timer interrupt handler
- * @irq: irq received
* @dev_id: device the irq came from
*
* Called when one of the comarators matches the counter, This
@@ -433,7 +432,7 @@ static int inline reschedule_periodic_timer(mmtimer_t *x)
* registers.
*/
static irqreturn_t
-mmtimer_interrupt(int irq, void *dev_id)
+mmtimer_interrupt(void *dev_id)
{
int i;
unsigned long expires = 0;
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index 661aca0..7ba3eec 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -401,7 +401,7 @@ static void mxser_stop(struct tty_struct *);
static void mxser_start(struct tty_struct *);
static void mxser_hangup(struct tty_struct *);
static void mxser_rs_break(struct tty_struct *, int);
-static irqreturn_t mxser_interrupt(int, void *);
+static irqreturn_t mxser_interrupt(void *);
static void mxser_receive_chars(struct mxser_struct *, int *);
static void mxser_transmit_chars(struct mxser_struct *);
static void mxser_check_modem_status(struct mxser_struct *, int);
@@ -1890,7 +1890,7 @@ static void mxser_rs_break(struct tty_struct *tty, int break_state)
/*
* This is the serial driver's generic interrupt routine
*/
-static irqreturn_t mxser_interrupt(int irq, void *dev_id)
+static irqreturn_t mxser_interrupt(void *dev_id)
{
int status, iir, i;
struct mxser_struct *info;
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c
index 854dbf5..0e0ce9a 100644
--- a/drivers/char/mxser_new.c
+++ b/drivers/char/mxser_new.c
@@ -2264,7 +2264,7 @@ static void mxser_transmit_chars(struct mxser_port *port)
/*
* This is the serial driver's generic interrupt routine
*/
-static irqreturn_t mxser_interrupt(int irq, void *dev_id)
+static irqreturn_t mxser_interrupt(void *dev_id)
{
int status, iir, i;
struct mxser_board *brd = NULL;
diff --git a/drivers/char/nwbutton.c b/drivers/char/nwbutton.c
index 2604246..20049da 100644
--- a/drivers/char/nwbutton.c
+++ b/drivers/char/nwbutton.c
@@ -147,7 +147,7 @@ static void button_sequence_finished (unsigned long parameters)
* increments the counter.
*/

-static irqreturn_t button_handler (int irq, void *dev_id)
+static irqreturn_t button_handler (void *dev_id)
{
button_press_count++;
mod_timer(&button_timer, jiffies + bdelay);
diff --git a/drivers/char/nwbutton.h b/drivers/char/nwbutton.h
index c3ebc16..39e2468 100644
--- a/drivers/char/nwbutton.h
+++ b/drivers/char/nwbutton.h
@@ -25,7 +25,7 @@ struct button_callback {
/* Function prototypes: */

static void button_sequence_finished (unsigned long parameters);
-static irqreturn_t button_handler (int irq, void *dev_id);
+static irqreturn_t button_handler (void *dev_id);
int button_init (void);
int button_add_callback (void (*callback) (void), int count);
int button_del_callback (void (*callback) (void));
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c
index ec6b65e..ff7bc27 100644
--- a/drivers/char/rtc.c
+++ b/drivers/char/rtc.c
@@ -111,13 +111,13 @@ static int rtc_has_irq = 1;
#define hpet_rtc_timer_init() do { } while (0)
#define hpet_rtc_dropped_irq() 0
#ifdef RTC_IRQ
-static irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t hpet_rtc_interrupt(void *dev_id)
{
return 0;
}
#endif
#else
-extern irqreturn_t hpet_rtc_interrupt(int irq, void *dev_id);
+extern irqreturn_t hpet_rtc_interrupt(void *dev_id);
#endif

/*
@@ -233,7 +233,7 @@ static inline unsigned char rtc_is_updating(void)
* (See ./arch/XXXX/kernel/time.c for the set_rtc_mmss() function.)
*/

-irqreturn_t rtc_interrupt(int irq, void *dev_id)
+irqreturn_t rtc_interrupt(void *dev_id)
{
/*
* Can be an alarm interrupt, update complete interrupt,
diff --git a/drivers/char/ser_a2232.c b/drivers/char/ser_a2232.c
index 3c86914..0be33fc 100644
--- a/drivers/char/ser_a2232.c
+++ b/drivers/char/ser_a2232.c
@@ -110,7 +110,7 @@

/***************************** Prototypes ***************************/
/* The interrupt service routine */
-static irqreturn_t a2232_vbl_inter(int irq, void *data);
+static irqreturn_t a2232_vbl_inter(void *data);
/* Initialize the port structures */
static void a2232_init_portstructs(void);
/* Initialize and register TTY drivers. */
@@ -503,7 +503,7 @@ static int a2232_open(struct tty_struct * tty, struct file * filp)
}
/*** END OF FUNCTIONS EXPECTED BY TTY DRIVER STRUCTS ***/

-static irqreturn_t a2232_vbl_inter(int irq, void *data)
+static irqreturn_t a2232_vbl_inter(void *data)
{
#if A2232_IOBUFLEN != 256
#error "Re-Implement a2232_vbl_inter()!"
diff --git a/drivers/char/serial167.c b/drivers/char/serial167.c
index f1497ce..d481b02 100644
--- a/drivers/char/serial167.c
+++ b/drivers/char/serial167.c
@@ -375,7 +375,7 @@ static inline void cy_sched_event(struct cyclades_port *info, int event)
whenever the card wants its hand held--chars
received, out buffer empty, modem change, etc.
*/
-static irqreturn_t cd2401_rxerr_interrupt(int irq, void *dev_id)
+static irqreturn_t cd2401_rxerr_interrupt(void *dev_id)
{
struct tty_struct *tty;
struct cyclades_port *info;
@@ -517,7 +517,7 @@ static irqreturn_t cd2401_modem_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
} /* cy_modem_interrupt */

-static irqreturn_t cd2401_tx_interrupt(int irq, void *dev_id)
+static irqreturn_t cd2401_tx_interrupt(void *dev_id)
{
struct cyclades_port *info;
volatile unsigned char *base_addr = (unsigned char *)BASE_ADDR;
@@ -636,7 +636,7 @@ static irqreturn_t cd2401_tx_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
} /* cy_tx_interrupt */

-static irqreturn_t cd2401_rx_interrupt(int irq, void *dev_id)
+static irqreturn_t cd2401_rx_interrupt(void *dev_id)
{
struct tty_struct *tty;
struct cyclades_port *info;
diff --git a/drivers/char/snsc.c b/drivers/char/snsc.c
index b9c1dba..e0d94c9 100644
--- a/drivers/char/snsc.c
+++ b/drivers/char/snsc.c
@@ -34,7 +34,7 @@
#define SCDRV_TIMEOUT 1000

static irqreturn_t
-scdrv_interrupt(int irq, void *subch_data)
+scdrv_interrupt(void *subch_data)
{
struct subch_data_s *sd = subch_data;
unsigned long flags;
diff --git a/drivers/char/snsc_event.c b/drivers/char/snsc_event.c
index 1b75b0b..44e0297 100644
--- a/drivers/char/snsc_event.c
+++ b/drivers/char/snsc_event.c
@@ -36,7 +36,7 @@ DECLARE_TASKLET(sn_sysctl_event, scdrv_event, 0);
* destination.
*/
static irqreturn_t
-scdrv_event_interrupt(int irq, void *subch_data)
+scdrv_event_interrupt(void *subch_data)
{
struct subch_data_s *sd = subch_data;
unsigned long flags;
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c
index 8598585..334e9ec 100644
--- a/drivers/char/sonypi.c
+++ b/drivers/char/sonypi.c
@@ -832,7 +832,7 @@ static void sonypi_report_input_event(u8 event)
}

/* Interrupt handler: some event is available */
-static irqreturn_t sonypi_irq(int irq, void *dev_id)
+static irqreturn_t sonypi_irq(void *dev_id)
{
u8 v1, v2, event = 0;
int i, j;
diff --git a/drivers/char/tlclk.c b/drivers/char/tlclk.c
index 35e5803..4a1e647 100644
--- a/drivers/char/tlclk.c
+++ b/drivers/char/tlclk.c
@@ -193,7 +193,7 @@ static DEFINE_SPINLOCK(event_lock);

static int tlclk_major = TLCLK_MAJOR;

-static irqreturn_t tlclk_interrupt(int irq, void *dev_id);
+static irqreturn_t tlclk_interrupt(void *dev_id);

static DECLARE_WAIT_QUEUE_HEAD(wq);

@@ -864,7 +864,7 @@ static void switchover_timeout(unsigned long data)
wake_up(&wq);
}

-static irqreturn_t tlclk_interrupt(int irq, void *dev_id)
+static irqreturn_t tlclk_interrupt(void *dev_id)
{
unsigned long flags;

diff --git a/drivers/char/vme_scc.c b/drivers/char/vme_scc.c
index e122a0e..abca6a4 100644
--- a/drivers/char/vme_scc.c
+++ b/drivers/char/vme_scc.c
@@ -80,10 +80,10 @@ static int scc_ioctl(struct tty_struct * tty, struct file * filp,
unsigned int cmd, unsigned long arg);
static void scc_throttle(struct tty_struct *tty);
static void scc_unthrottle(struct tty_struct *tty);
-static irqreturn_t scc_tx_int(int irq, void *data);
-static irqreturn_t scc_rx_int(int irq, void *data);
-static irqreturn_t scc_stat_int(int irq, void *data);
-static irqreturn_t scc_spcond_int(int irq, void *data);
+static irqreturn_t scc_tx_int(void *data);
+static irqreturn_t scc_rx_int(void *data);
+static irqreturn_t scc_stat_int(void *data);
+static irqreturn_t scc_spcond_int(void *data);
static void scc_setsignals(struct scc_port *port, int dtr, int rts);
static void scc_break_ctl(struct tty_struct *tty, int break_state);

@@ -420,7 +420,7 @@ module_init(vme_scc_init);
* Interrupt handlers
*--------------------------------------------------------------------------*/

-static irqreturn_t scc_rx_int(int irq, void *data)
+static irqreturn_t scc_rx_int(void *data)
{
unsigned char ch;
struct scc_port *port = data;
@@ -452,7 +452,7 @@ static irqreturn_t scc_rx_int(int irq, void *data)
}


-static irqreturn_t scc_spcond_int(int irq, void *data)
+static irqreturn_t scc_spcond_int(void *data)
{
struct scc_port *port = data;
struct tty_struct *tty = port->gs.tty;
@@ -497,7 +497,7 @@ static irqreturn_t scc_spcond_int(int irq, void *data)
}


-static irqreturn_t scc_tx_int(int irq, void *data)
+static irqreturn_t scc_tx_int(void *data)
{
struct scc_port *port = data;
SCC_ACCESS_INIT(port);
@@ -539,7 +539,7 @@ static irqreturn_t scc_tx_int(int irq, void *data)
}


-static irqreturn_t scc_stat_int(int irq, void *data)
+static irqreturn_t scc_stat_int(void *data)
{
struct scc_port *port = data;
unsigned channel = port->channel;
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index 7e4a785..0f4f5ab 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -61,7 +61,7 @@ static inline struct ioat_dma_chan *ioat_lookup_chan_by_index(
* @irq: interrupt id
* @data: interrupt data
*/
-static irqreturn_t ioat_dma_do_interrupt(int irq, void *data)
+static irqreturn_t ioat_dma_do_interrupt(void *data)
{
struct ioatdma_device *instance = data;
struct ioat_dma_chan *ioat_chan;
@@ -94,7 +94,7 @@ static irqreturn_t ioat_dma_do_interrupt(int irq, void *data)
* @irq: interrupt id
* @data: interrupt data
*/
-static irqreturn_t ioat_dma_do_interrupt_msix(int irq, void *data)
+static irqreturn_t ioat_dma_do_interrupt_msix(void *data)
{
struct ioat_dma_chan *ioat_chan = data;

diff --git a/drivers/fc4/soc.c b/drivers/fc4/soc.c
index d517734..d163ce5 100644
--- a/drivers/fc4/soc.c
+++ b/drivers/fc4/soc.c
@@ -333,7 +333,7 @@ update_out:
}
}

-static irqreturn_t soc_intr(int irq, void *dev_id)
+static irqreturn_t soc_intr(void *dev_id)
{
u32 cmd;
unsigned long flags;
diff --git a/drivers/fc4/socal.c b/drivers/fc4/socal.c
index c903ebf..9dd04ca 100644
--- a/drivers/fc4/socal.c
+++ b/drivers/fc4/socal.c
@@ -403,7 +403,7 @@ update_out:
}
}

-static irqreturn_t socal_intr(int irq, void *dev_id)
+static irqreturn_t socal_intr(void *dev_id)
{
u32 cmd;
unsigned long flags;
diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c
index 2f307c4..6537c18 100644
--- a/drivers/firewire/fw-ohci.c
+++ b/drivers/firewire/fw-ohci.c
@@ -1012,7 +1012,7 @@ static void bus_reset_tasklet(unsigned long data)
self_id_count, ohci->self_id_buffer);
}

-static irqreturn_t irq_handler(int irq, void *data)
+static irqreturn_t irq_handler(void *data)
{
struct fw_ohci *ohci = data;
u32 event, iso_event, cycle_time;
diff --git a/drivers/i2c/busses/i2c-elektor.c b/drivers/i2c/busses/i2c-elektor.c
index 804f0a5..9c88be5 100644
--- a/drivers/i2c/busses/i2c-elektor.c
+++ b/drivers/i2c/busses/i2c-elektor.c
@@ -132,7 +132,7 @@ static void pcf_isa_waitforpin(void) {
}


-static irqreturn_t pcf_isa_handler(int this_irq, void *dev_id) {
+static irqreturn_t pcf_isa_handler(void *dev_id) {
spin_lock(&lock);
pcf_pending = 1;
spin_unlock(&lock);
diff --git a/drivers/i2c/busses/i2c-ibm_iic.c b/drivers/i2c/busses/i2c-ibm_iic.c
index e08baca..0d1ae77 100644
--- a/drivers/i2c/busses/i2c-ibm_iic.c
+++ b/drivers/i2c/busses/i2c-ibm_iic.c
@@ -320,7 +320,7 @@ err:
/*
* IIC interrupt handler
*/
-static irqreturn_t iic_handler(int irq, void *dev_id)
+static irqreturn_t iic_handler(void *dev_id)
{
struct ibm_iic_private* dev = (struct ibm_iic_private*)dev_id;
volatile struct iic_regs __iomem *iic = dev->vaddr;
diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c
index c70146e..786e844 100644
--- a/drivers/i2c/busses/i2c-iop3xx.c
+++ b/drivers/i2c/busses/i2c-iop3xx.c
@@ -119,7 +119,7 @@ iop3xx_i2c_transaction_cleanup(struct i2c_algo_iop3xx_data *iop3xx_adap)
* Then it passes the SR flags of interest to BH via adap data
*/
static irqreturn_t
-iop3xx_i2c_irq_handler(int this_irq, void *dev_id)
+iop3xx_i2c_irq_handler(void *dev_id)
{
struct i2c_algo_iop3xx_data *iop3xx_adap = dev_id;
u32 sr = __raw_readl(iop3xx_adap->ioaddr + SR_OFFSET);
diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
index d8de4ac..311f76d 100644
--- a/drivers/i2c/busses/i2c-mpc.c
+++ b/drivers/i2c/busses/i2c-mpc.c
@@ -62,7 +62,7 @@ static __inline__ void writeccr(struct mpc_i2c *i2c, u32 x)
writeb(x, i2c->base + MPC_I2C_CR);
}

-static irqreturn_t mpc_i2c_isr(int irq, void *dev_id)
+static irqreturn_t mpc_i2c_isr(void *dev_id)
{
struct mpc_i2c *i2c = dev_id;
if (readb(i2c->base + MPC_I2C_SR) & CSR_MIF) {
diff --git a/drivers/i2c/busses/i2c-mv64xxx.c b/drivers/i2c/busses/i2c-mv64xxx.c
index bb7bf68..088cfb1 100644
--- a/drivers/i2c/busses/i2c-mv64xxx.c
+++ b/drivers/i2c/busses/i2c-mv64xxx.c
@@ -293,7 +293,7 @@ mv64xxx_i2c_do_action(struct mv64xxx_i2c_data *drv_data)
}

static int
-mv64xxx_i2c_intr(int irq, void *dev_id)
+mv64xxx_i2c_intr(void *dev_id)
{
struct mv64xxx_i2c_data *drv_data = dev_id;
unsigned long flags;
diff --git a/drivers/i2c/busses/i2c-ocores.c b/drivers/i2c/busses/i2c-ocores.c
index e417c2c..32bc101 100644
--- a/drivers/i2c/busses/i2c-ocores.c
+++ b/drivers/i2c/busses/i2c-ocores.c
@@ -142,7 +142,7 @@ static void ocores_process(struct ocores_i2c *i2c)
}
}

-static irqreturn_t ocores_isr(int irq, void *dev_id)
+static irqreturn_t ocores_isr(void *dev_id)
{
struct ocores_i2c *i2c = dev_id;

diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index e471e3b..0b0924b 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -400,7 +400,7 @@ omap_i2c_ack_stat(struct omap_i2c_dev *dev, u16 stat)
}

static irqreturn_t
-omap_i2c_rev1_isr(int this_irq, void *dev_id)
+omap_i2c_rev1_isr(void *dev_id)
{
struct omap_i2c_dev *dev = dev_id;
u16 iv, w;
diff --git a/drivers/i2c/busses/i2c-pca-isa.c b/drivers/i2c/busses/i2c-pca-isa.c
index 5161aaf..48ee444 100644
--- a/drivers/i2c/busses/i2c-pca-isa.c
+++ b/drivers/i2c/busses/i2c-pca-isa.c
@@ -99,7 +99,7 @@ static int pca_isa_waitforinterrupt(struct i2c_algo_pca_data *adap)
return ret;
}

-static irqreturn_t pca_handler(int this_irq, void *dev_id) {
+static irqreturn_t pca_handler(void *dev_id) {
wake_up_interruptible(&pca_wait);
return IRQ_HANDLED;
}
diff --git a/drivers/i2c/busses/i2c-pxa.c b/drivers/i2c/busses/i2c-pxa.c
index 00fad11..45bf486 100644
--- a/drivers/i2c/busses/i2c-pxa.c
+++ b/drivers/i2c/busses/i2c-pxa.c
@@ -759,7 +759,7 @@ static void i2c_pxa_irq_rxfull(struct pxa_i2c *i2c, u32 isr)
writel(icr, _ICR(i2c));
}

-static irqreturn_t i2c_pxa_handler(int this_irq, void *dev_id)
+static irqreturn_t i2c_pxa_handler(void *dev_id)
{
struct pxa_i2c *i2c = dev_id;
u32 isr = readl(_ISR(i2c));
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c
index c44ada5..b962e38 100644
--- a/drivers/i2c/busses/i2c-s3c2410.c
+++ b/drivers/i2c/busses/i2c-s3c2410.c
@@ -435,7 +435,7 @@ static int i2s_s3c_irq_nextbyte(struct s3c24xx_i2c *i2c, unsigned long iicstat)
* top level IRQ servicing routine
*/

-static irqreturn_t s3c24xx_i2c_irq(int irqno, void *dev_id)
+static irqreturn_t s3c24xx_i2c_irq(void *dev_id)
{
struct s3c24xx_i2c *i2c = dev_id;
unsigned long status;
diff --git a/drivers/i2c/chips/isp1301_omap.c b/drivers/i2c/chips/isp1301_omap.c
index fe04e46..0669053 100644
--- a/drivers/i2c/chips/isp1301_omap.c
+++ b/drivers/i2c/chips/isp1301_omap.c
@@ -668,7 +668,7 @@ pulldown:
dump_regs(isp, "otg->isp1301");
}

-static irqreturn_t omap_otg_irq(int irq, void *_isp)
+static irqreturn_t omap_otg_irq(void *_isp)
{
u16 otg_irq = OTG_IRQ_SRC_REG;
u32 otg_ctrl;
diff --git a/drivers/i2c/chips/tps65010.c b/drivers/i2c/chips/tps65010.c
index e320994..6ee510d 100644
--- a/drivers/i2c/chips/tps65010.c
+++ b/drivers/i2c/chips/tps65010.c
@@ -437,7 +437,7 @@ static void tps65010_work(struct work_struct *work)
mutex_unlock(&tps->lock);
}

-static irqreturn_t tps65010_irq(int irq, void *_tps)
+static irqreturn_t tps65010_irq(void *_tps)
{
struct tps65010 *tps = _tps;

diff --git a/drivers/ide/legacy/hd.c b/drivers/ide/legacy/hd.c
index 8e05d88..4ccfb51 100644
--- a/drivers/ide/legacy/hd.c
+++ b/drivers/ide/legacy/hd.c
@@ -674,7 +674,7 @@ static int hd_getgeo(struct block_device *bdev, struct hd_geometry *geo)
* be forgotten about...
*/

-static irqreturn_t hd_interrupt(int irq, void *dev_id)
+static irqreturn_t hd_interrupt(void *dev_id)
{
void (*handler)(void) = do_hd;

diff --git a/drivers/ieee1394/ohci1394.c b/drivers/ieee1394/ohci1394.c
index 372c5c1..fbaa4b0 100644
--- a/drivers/ieee1394/ohci1394.c
+++ b/drivers/ieee1394/ohci1394.c
@@ -2135,7 +2135,7 @@ static void ohci_schedule_iso_tasklets(struct ti_ohci *ohci,
spin_unlock_irqrestore(&ohci->iso_tasklet_list_lock, flags);
}

-static irqreturn_t ohci_irq_handler(int irq, void *dev_id)
+static irqreturn_t ohci_irq_handler(void *dev_id)
{
quadlet_t event, node_id;
struct ti_ohci *ohci = (struct ti_ohci *)dev_id;
diff --git a/drivers/ieee1394/pcilynx.c b/drivers/ieee1394/pcilynx.c
index 8af01ab..1b874fc 100644
--- a/drivers/ieee1394/pcilynx.c
+++ b/drivers/ieee1394/pcilynx.c
@@ -828,7 +828,7 @@ static int lynx_devctl(struct hpsb_host *host, enum devctl_cmd cmd, int arg)
********************************************************/


-static irqreturn_t lynx_irq_handler(int irq, void *dev_id)
+static irqreturn_t lynx_irq_handler(void *dev_id)
{
struct ti_lynx *lynx = (struct ti_lynx *)dev_id;
struct hpsb_host *host = lynx->host;
diff --git a/drivers/infiniband/hw/amso1100/c2.c b/drivers/infiniband/hw/amso1100/c2.c
index f283a9f..078cdb8 100644
--- a/drivers/infiniband/hw/amso1100/c2.c
+++ b/drivers/infiniband/hw/amso1100/c2.c
@@ -72,7 +72,7 @@ static int c2_down(struct net_device *netdev);
static int c2_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
static void c2_tx_interrupt(struct net_device *netdev);
static void c2_rx_interrupt(struct net_device *netdev);
-static irqreturn_t c2_interrupt(int irq, void *dev_id);
+static irqreturn_t c2_interrupt(void *dev_id);
static void c2_tx_timeout(struct net_device *netdev);
static int c2_change_mtu(struct net_device *netdev, int new_mtu);
static void c2_reset(struct c2_port *c2_port);
@@ -544,7 +544,7 @@ static void c2_rx_interrupt(struct net_device *netdev)
/*
* Handle netisr0 TX & RX interrupts.
*/
-static irqreturn_t c2_interrupt(int irq, void *dev_id)
+static irqreturn_t c2_interrupt(void *dev_id)
{
unsigned int netisr0, dmaisr;
int handled = 0;
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c b/drivers/infiniband/hw/ehca/ehca_irq.c
index 3f617b2..e3b2ea9 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.c
+++ b/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -414,7 +414,7 @@ static inline void reset_eq_pending(struct ehca_cq *cq)
return;
}

-irqreturn_t ehca_interrupt_neq(int irq, void *dev_id)
+irqreturn_t ehca_interrupt_neq(void *dev_id)
{
struct ehca_shca *shca = (struct ehca_shca*)dev_id;

@@ -447,7 +447,7 @@ void ehca_tasklet_neq(unsigned long data)
return;
}

-irqreturn_t ehca_interrupt_eq(int irq, void *dev_id)
+irqreturn_t ehca_interrupt_eq(void *dev_id)
{
struct ehca_shca *shca = (struct ehca_shca*)dev_id;

diff --git a/drivers/infiniband/hw/ehca/ehca_irq.h b/drivers/infiniband/hw/ehca/ehca_irq.h
index 3346cb0..332665e 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.h
+++ b/drivers/infiniband/hw/ehca/ehca_irq.h
@@ -50,10 +50,10 @@ struct ehca_shca;

int ehca_error_data(struct ehca_shca *shca, void *data, u64 resource);

-irqreturn_t ehca_interrupt_neq(int irq, void *dev_id);
+irqreturn_t ehca_interrupt_neq(void *dev_id);
void ehca_tasklet_neq(unsigned long data);

-irqreturn_t ehca_interrupt_eq(int irq, void *dev_id);
+irqreturn_t ehca_interrupt_eq(void *dev_id);
void ehca_tasklet_eq(unsigned long data);
void ehca_process_eq(struct ehca_shca *shca, int is_irq);

diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c
index 6a5dd5c..b63b515 100644
--- a/drivers/infiniband/hw/ipath/ipath_intr.c
+++ b/drivers/infiniband/hw/ipath/ipath_intr.c
@@ -1001,7 +1001,7 @@ static void handle_urcv(struct ipath_devdata *dd, u32 istat)
}
}

-irqreturn_t ipath_intr(int irq, void *data)
+irqreturn_t ipath_intr(void *data)
{
struct ipath_devdata *dd = data;
u32 istat, chk0rcv = 0;
diff --git a/drivers/infiniband/hw/ipath/ipath_kernel.h b/drivers/infiniband/hw/ipath/ipath_kernel.h
index 8786dd7..114e617 100644
--- a/drivers/infiniband/hw/ipath/ipath_kernel.h
+++ b/drivers/infiniband/hw/ipath/ipath_kernel.h
@@ -667,7 +667,7 @@ struct sk_buff *ipath_alloc_skb(struct ipath_devdata *dd, gfp_t);

extern int ipath_diag_inuse;

-irqreturn_t ipath_intr(int irq, void *devid);
+irqreturn_t ipath_intr(void *devid);
int ipath_decode_err(char *buf, size_t blen, ipath_err_t err);
#if __IPATH_INFO || __IPATH_DBG
extern const char *ipath_ibcstatus_str[];
diff --git a/drivers/infiniband/hw/mthca/mthca_eq.c b/drivers/infiniband/hw/mthca/mthca_eq.c
index 8592b26..e6ad6af 100644
--- a/drivers/infiniband/hw/mthca/mthca_eq.c
+++ b/drivers/infiniband/hw/mthca/mthca_eq.c
@@ -404,7 +404,7 @@ static int mthca_eq_int(struct mthca_dev *dev, struct mthca_eq *eq)
return eqes_found;
}

-static irqreturn_t mthca_tavor_interrupt(int irq, void *dev_ptr)
+static irqreturn_t mthca_tavor_interrupt(void *dev_ptr)
{
struct mthca_dev *dev = dev_ptr;
u32 ecr;
@@ -431,7 +431,7 @@ static irqreturn_t mthca_tavor_interrupt(int irq, void *dev_ptr)
return IRQ_HANDLED;
}

-static irqreturn_t mthca_tavor_msi_x_interrupt(int irq, void *eq_ptr)
+static irqreturn_t mthca_tavor_msi_x_interrupt(void *eq_ptr)
{
struct mthca_eq *eq = eq_ptr;
struct mthca_dev *dev = eq->dev;
@@ -444,7 +444,7 @@ static irqreturn_t mthca_tavor_msi_x_interrupt(int irq, void *eq_ptr)
return IRQ_HANDLED;
}

-static irqreturn_t mthca_arbel_interrupt(int irq, void *dev_ptr)
+static irqreturn_t mthca_arbel_interrupt(void *dev_ptr)
{
struct mthca_dev *dev = dev_ptr;
int work = 0;
@@ -465,7 +465,7 @@ static irqreturn_t mthca_arbel_interrupt(int irq, void *dev_ptr)
return IRQ_RETVAL(work);
}

-static irqreturn_t mthca_arbel_msi_x_interrupt(int irq, void *eq_ptr)
+static irqreturn_t mthca_arbel_msi_x_interrupt(void *eq_ptr)
{
struct mthca_eq *eq = eq_ptr;
struct mthca_dev *dev = eq->dev;
diff --git a/drivers/input/joystick/amijoy.c b/drivers/input/joystick/amijoy.c
index b0f5541..448c16c 100644
--- a/drivers/input/joystick/amijoy.c
+++ b/drivers/input/joystick/amijoy.c
@@ -55,7 +55,7 @@ static DEFINE_MUTEX(amijoy_mutex);
static struct input_dev *amijoy_dev[2];
static char *amijoy_phys[2] = { "amijoy/input0", "amijoy/input1" };

-static irqreturn_t amijoy_interrupt(int irq, void *dummy)
+static irqreturn_t amijoy_interrupt(void *dummy)
{
int i, data = 0, button = 0;

diff --git a/drivers/input/keyboard/amikbd.c b/drivers/input/keyboard/amikbd.c
index c67e84e..44dbde2 100644
--- a/drivers/input/keyboard/amikbd.c
+++ b/drivers/input/keyboard/amikbd.c
@@ -158,7 +158,7 @@ static const char *amikbd_messages[8] = {

static struct input_dev *amikbd_dev;

-static irqreturn_t amikbd_interrupt(int irq, void *dummy)
+static irqreturn_t amikbd_interrupt(void *dummy)
{
unsigned char scancode, down;

diff --git a/drivers/input/keyboard/corgikbd.c b/drivers/input/keyboard/corgikbd.c
index 6578bff..f0040d6 100644
--- a/drivers/input/keyboard/corgikbd.c
+++ b/drivers/input/keyboard/corgikbd.c
@@ -188,7 +188,7 @@ static void corgikbd_scankeyboard(struct corgikbd *corgikbd_data)
/*
* corgi keyboard interrupt handler.
*/
-static irqreturn_t corgikbd_interrupt(int irq, void *dev_id)
+static irqreturn_t corgikbd_interrupt(void *dev_id)
{
struct corgikbd *corgikbd_data = dev_id;

diff --git a/drivers/input/keyboard/hilkbd.c b/drivers/input/keyboard/hilkbd.c
index 499b697..123b55f 100644
--- a/drivers/input/keyboard/hilkbd.c
+++ b/drivers/input/keyboard/hilkbd.c
@@ -155,7 +155,7 @@ static inline void handle_data(unsigned char s, unsigned char c)


/* handle HIL interrupts */
-static irqreturn_t hil_interrupt(int irq, void *handle)
+static irqreturn_t hil_interrupt(void *handle)
{
unsigned char s, c;

diff --git a/drivers/input/keyboard/locomokbd.c b/drivers/input/keyboard/locomokbd.c
index 7a41b27..124605d 100644
--- a/drivers/input/keyboard/locomokbd.c
+++ b/drivers/input/keyboard/locomokbd.c
@@ -169,7 +169,7 @@ static void locomokbd_scankeyboard(struct locomokbd *locomokbd)
/*
* LoCoMo keyboard interrupt handler.
*/
-static irqreturn_t locomokbd_interrupt(int irq, void *dev_id)
+static irqreturn_t locomokbd_interrupt(void *dev_id)
{
struct locomokbd *locomokbd = dev_id;
/** wait chattering delay **/
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c
index 76f1969..a7daa57 100644
--- a/drivers/input/keyboard/omap-keypad.c
+++ b/drivers/input/keyboard/omap-keypad.c
@@ -97,7 +97,7 @@ static u8 get_row_gpio_val(struct omap_kp *omap_kp)
#define get_row_gpio_val(x) 0
#endif

-static irqreturn_t omap_kp_interrupt(int irq, void *dev_id)
+static irqreturn_t omap_kp_interrupt(void *dev_id)
{
struct omap_kp *omap_kp = dev_id;

diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c
index 41b8038..d3c4cc4 100644
--- a/drivers/input/keyboard/spitzkbd.c
+++ b/drivers/input/keyboard/spitzkbd.c
@@ -237,7 +237,7 @@ static void spitzkbd_scankeyboard(struct spitzkbd *spitzkbd_data)
/*
* spitz keyboard interrupt handler.
*/
-static irqreturn_t spitzkbd_interrupt(int irq, void *dev_id)
+static irqreturn_t spitzkbd_interrupt(void *dev_id)
{
struct spitzkbd *spitzkbd_data = dev_id;

@@ -265,7 +265,7 @@ static void spitzkbd_timer_callback(unsigned long data)
* We debounce the switches and pass them to the input system.
*/

-static irqreturn_t spitzkbd_hinge_isr(int irq, void *dev_id)
+static irqreturn_t spitzkbd_hinge_isr(void *dev_id)
{
struct spitzkbd *spitzkbd_data = dev_id;

diff --git a/drivers/input/misc/ixp4xx-beeper.c b/drivers/input/misc/ixp4xx-beeper.c
index e759944..81db8d5 100644
--- a/drivers/input/misc/ixp4xx-beeper.c
+++ b/drivers/input/misc/ixp4xx-beeper.c
@@ -79,7 +79,7 @@ static int ixp4xx_spkr_event(struct input_dev *dev, unsigned int type, unsigned
return 0;
}

-static irqreturn_t ixp4xx_spkr_interrupt(int irq, void *dev_id)
+static irqreturn_t ixp4xx_spkr_interrupt(void *dev_id)
{
/* clear interrupt */
*IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
diff --git a/drivers/input/mouse/amimouse.c b/drivers/input/mouse/amimouse.c
index 239a0e1..19405de 100644
--- a/drivers/input/mouse/amimouse.c
+++ b/drivers/input/mouse/amimouse.c
@@ -36,7 +36,7 @@ MODULE_LICENSE("GPL");
static int amimouse_lastx, amimouse_lasty;
static struct input_dev *amimouse_dev;

-static irqreturn_t amimouse_interrupt(int irq, void *dummy)
+static irqreturn_t amimouse_interrupt(void *dummy)
{
unsigned short joy0dat, potgor;
int nx, ny, dx, dy;
diff --git a/drivers/input/mouse/inport.c b/drivers/input/mouse/inport.c
index 79b624f..f972af7 100644
--- a/drivers/input/mouse/inport.c
+++ b/drivers/input/mouse/inport.c
@@ -86,7 +86,7 @@ MODULE_PARM_DESC(irq, "IRQ number (5=default)");

static struct input_dev *inport_dev;

-static irqreturn_t inport_interrupt(int irq, void *dev_id)
+static irqreturn_t inport_interrupt(void *dev_id)
{
unsigned char buttons;

diff --git a/drivers/input/mouse/logibm.c b/drivers/input/mouse/logibm.c
index 26c3b2e..e3f3baa 100644
--- a/drivers/input/mouse/logibm.c
+++ b/drivers/input/mouse/logibm.c
@@ -77,7 +77,7 @@ MODULE_PARM_DESC(irq, "IRQ number (5=default)");

static struct input_dev *logibm_dev;

-static irqreturn_t logibm_interrupt(int irq, void *dev_id)
+static irqreturn_t logibm_interrupt(void *dev_id)
{
char dx, dy;
unsigned char buttons;
diff --git a/drivers/input/mouse/pc110pad.c b/drivers/input/mouse/pc110pad.c
index 05d992e..2a61c18 100644
--- a/drivers/input/mouse/pc110pad.c
+++ b/drivers/input/mouse/pc110pad.c
@@ -57,7 +57,7 @@ static struct input_dev *pc110pad_dev;
static int pc110pad_data[3];
static int pc110pad_count;

-static irqreturn_t pc110pad_interrupt(int irq, void *ptr)
+static irqreturn_t pc110pad_interrupt(void *ptr)
{
int value = inb_p(pc110pad_io);
int handshake = inb_p(pc110pad_io + 2);
@@ -90,9 +90,9 @@ static void pc110pad_close(struct input_dev *dev)

static int pc110pad_open(struct input_dev *dev)
{
- pc110pad_interrupt(0, NULL);
- pc110pad_interrupt(0, NULL);
- pc110pad_interrupt(0, NULL);
+ pc110pad_interrupt(NULL);
+ pc110pad_interrupt(NULL);
+ pc110pad_interrupt(NULL);
outb(PC110PAD_ON, pc110pad_io + 2);
pc110pad_count = 0;

diff --git a/drivers/input/mouse/rpcmouse.c b/drivers/input/mouse/rpcmouse.c
index 355efd0..e9ac3f1 100644
--- a/drivers/input/mouse/rpcmouse.c
+++ b/drivers/input/mouse/rpcmouse.c
@@ -35,7 +35,7 @@ MODULE_LICENSE("GPL");
static short rpcmouse_lastx, rpcmouse_lasty;
static struct input_dev *rpcmouse_dev;

-static irqreturn_t rpcmouse_irq(int irq, void *dev_id)
+static irqreturn_t rpcmouse_irq(void *dev_id)
{
struct input_dev *dev = dev_id;
short x, y, dx, dy, b;
diff --git a/drivers/input/serio/ambakmi.c b/drivers/input/serio/ambakmi.c
index b10ffae..593ee12 100644
--- a/drivers/input/serio/ambakmi.c
+++ b/drivers/input/serio/ambakmi.c
@@ -37,7 +37,7 @@ struct amba_kmi_port {
unsigned int open;
};

-static irqreturn_t amba_kmi_int(int irq, void *dev_id)
+static irqreturn_t amba_kmi_int(void *dev_id)
{
struct amba_kmi_port *kmi = dev_id;
unsigned int status = readb(KMIIR);
diff --git a/drivers/input/serio/ct82c710.c b/drivers/input/serio/ct82c710.c
index 0d35018..ad740f8 100644
--- a/drivers/input/serio/ct82c710.c
+++ b/drivers/input/serio/ct82c710.c
@@ -71,7 +71,7 @@ static struct resource ct82c710_iores;
* is waiting in the 82C710.
*/

-static irqreturn_t ct82c710_interrupt(int cpl, void *dev_id)
+static irqreturn_t ct82c710_interrupt(void *dev_id)
{
return serio_interrupt(ct82c710_port, inb(CT82C710_DATA), 0);
}
diff --git a/drivers/input/serio/gscps2.c b/drivers/input/serio/gscps2.c
index 3e99df6..f2e460b 100644
--- a/drivers/input/serio/gscps2.c
+++ b/drivers/input/serio/gscps2.c
@@ -82,7 +82,7 @@ MODULE_DEVICE_TABLE(parisc, gscps2_device_tbl);
#define GSC_ID_MOUSE 1


-static irqreturn_t gscps2_interrupt(int irq, void *dev);
+static irqreturn_t gscps2_interrupt(void *dev);

#define BUFFER_SIZE 0x0f

@@ -226,7 +226,7 @@ static LIST_HEAD(ps2port_list);
* later.
*/

-static irqreturn_t gscps2_interrupt(int irq, void *dev)
+static irqreturn_t gscps2_interrupt(void *dev)
{
struct gscps2port *ps2port;

diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c
index 6af1998..2d60d90 100644
--- a/drivers/input/serio/hp_sdc.c
+++ b/drivers/input/serio/hp_sdc.c
@@ -174,7 +174,7 @@ static inline void hp_sdc_spin_ibf(void)


/************************ Interrupt context functions ************************/
-static void hp_sdc_take(int irq, void *dev_id, uint8_t status, uint8_t data)
+static void hp_sdc_take(void *dev_id, uint8_t status, uint8_t data)
{
hp_sdc_transaction *curr;

@@ -212,7 +212,7 @@ static void hp_sdc_take(int irq, void *dev_id, uint8_t status, uint8_t data)
}
}

-static irqreturn_t hp_sdc_isr(int irq, void *dev_id)
+static irqreturn_t hp_sdc_isr(void *dev_id)
{
uint8_t status, data;

@@ -270,7 +270,7 @@ static irqreturn_t hp_sdc_isr(int irq, void *dev_id)
}


-static irqreturn_t hp_sdc_nmisr(int irq, void *dev_id)
+static irqreturn_t hp_sdc_nmisr(void *dev_id)
{
int status;

diff --git a/drivers/input/serio/maceps2.c b/drivers/input/serio/maceps2.c
index 558200e..7faf062 100644
--- a/drivers/input/serio/maceps2.c
+++ b/drivers/input/serio/maceps2.c
@@ -72,7 +72,7 @@ static int maceps2_write(struct serio *dev, unsigned char val)
return -1;
}

-static irqreturn_t maceps2_interrupt(int irq, void *dev_id)
+static irqreturn_t maceps2_interrupt(void *dev_id)
{
struct serio *dev = dev_id;
struct mace_ps2port *port = ((struct maceps2_data *)dev->port_data)->port;
diff --git a/drivers/input/serio/pcips2.c b/drivers/input/serio/pcips2.c
index 1b404f9..819dcb1 100644
--- a/drivers/input/serio/pcips2.c
+++ b/drivers/input/serio/pcips2.c
@@ -58,7 +58,7 @@ static int pcips2_write(struct serio *io, unsigned char val)
return 0;
}

-static irqreturn_t pcips2_interrupt(int irq, void *devid)
+static irqreturn_t pcips2_interrupt(void *devid)
{
struct pcips2_data *ps2if = devid;
unsigned char status, scancode;
diff --git a/drivers/input/serio/q40kbd.c b/drivers/input/serio/q40kbd.c
index cb89aff..a7a77d2 100644
--- a/drivers/input/serio/q40kbd.c
+++ b/drivers/input/serio/q40kbd.c
@@ -53,7 +53,7 @@ DEFINE_SPINLOCK(q40kbd_lock);
static struct serio *q40kbd_port;
static struct platform_device *q40kbd_device;

-static irqreturn_t q40kbd_interrupt(int irq, void *dev_id)
+static irqreturn_t q40kbd_interrupt(void *dev_id)
{
unsigned long flags;

diff --git a/drivers/input/serio/rpckbd.c b/drivers/input/serio/rpckbd.c
index 49f8431..8e37827 100644
--- a/drivers/input/serio/rpckbd.c
+++ b/drivers/input/serio/rpckbd.c
@@ -56,7 +56,7 @@ static int rpckbd_write(struct serio *port, unsigned char val)
return 0;
}

-static irqreturn_t rpckbd_rx(int irq, void *dev_id)
+static irqreturn_t rpckbd_rx(void *dev_id)
{
struct serio *port = dev_id;
unsigned int byte;
@@ -71,7 +71,7 @@ static irqreturn_t rpckbd_rx(int irq, void *dev_id)
return handled;
}

-static irqreturn_t rpckbd_tx(int irq, void *dev_id)
+static irqreturn_t rpckbd_tx(void *dev_id)
{
return IRQ_HANDLED;
}
diff --git a/drivers/input/serio/sa1111ps2.c b/drivers/input/serio/sa1111ps2.c
index 2ad8878..291aff9 100644
--- a/drivers/input/serio/sa1111ps2.c
+++ b/drivers/input/serio/sa1111ps2.c
@@ -40,7 +40,7 @@ struct ps2if {
* at the most one, but we loop for safety. If there was a
* framing error, we have to manually clear the status.
*/
-static irqreturn_t ps2_rxint(int irq, void *dev_id)
+static irqreturn_t ps2_rxint(void *dev_id)
{
struct ps2if *ps2if = dev_id;
unsigned int scancode, flag, status;
@@ -69,7 +69,7 @@ static irqreturn_t ps2_rxint(int irq, void *dev_id)
/*
* Completion of ps2 write
*/
-static irqreturn_t ps2_txint(int irq, void *dev_id)
+static irqreturn_t ps2_txint(void *dev_id)
{
struct ps2if *ps2if = dev_id;
unsigned int status;
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 51ae4fb..620f20a 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -722,7 +722,7 @@ static enum hrtimer_restart ads7846_timer(struct hrtimer *handle)
return HRTIMER_NORESTART;
}

-static irqreturn_t ads7846_irq(int irq, void *handle)
+static irqreturn_t ads7846_irq(void *handle)
{
struct ads7846 *ts = handle;
unsigned long flags;
diff --git a/drivers/input/touchscreen/corgi_ts.c b/drivers/input/touchscreen/corgi_ts.c
index e6a31d1..6ebbcbb 100644
--- a/drivers/input/touchscreen/corgi_ts.c
+++ b/drivers/input/touchscreen/corgi_ts.c
@@ -225,7 +225,7 @@ static void corgi_ts_timer(unsigned long data)
ts_interrupt_main(corgits_data, 1);
}

-static irqreturn_t ts_interrupt(int irq, void *dev_id)
+static irqreturn_t ts_interrupt(void *dev_id)
{
struct corgi_ts *corgits_data = dev_id;

diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
index 09ed780..07d2e77 100644
--- a/drivers/input/touchscreen/h3600_ts_input.c
+++ b/drivers/input/touchscreen/h3600_ts_input.c
@@ -106,7 +106,7 @@ struct h3600_dev {
char phys[32];
};

-static irqreturn_t action_button_handler(int irq, void *dev_id)
+static irqreturn_t action_button_handler(void *dev_id)
{
int down = (GPLR & GPIO_BITSY_ACTION_BUTTON) ? 0 : 1;
struct input_dev *dev = (struct input_dev *) dev_id;
@@ -117,7 +117,7 @@ static irqreturn_t action_button_handler(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t npower_button_handler(int irq, void *dev_id)
+static irqreturn_t npower_button_handler(void *dev_id)
{
int down = (GPLR & GPIO_BITSY_NPOWER_BUTTON) ? 0 : 1;
struct input_dev *dev = (struct input_dev *) dev_id;
diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c
index 1a15475..e7424de 100644
--- a/drivers/input/touchscreen/hp680_ts_input.c
+++ b/drivers/input/touchscreen/hp680_ts_input.c
@@ -65,7 +65,7 @@ static void do_softint(struct work_struct *work)
enable_irq(HP680_TS_IRQ);
}

-static irqreturn_t hp680_ts_interrupt(int irq, void *dev)
+static irqreturn_t hp680_ts_interrupt(void *dev)
{
disable_irq_nosync(irq);
schedule_delayed_work(&work, HZ / 20);
diff --git a/drivers/input/touchscreen/mk712.c b/drivers/input/touchscreen/mk712.c
index 44140fe..a99e717 100644
--- a/drivers/input/touchscreen/mk712.c
+++ b/drivers/input/touchscreen/mk712.c
@@ -80,7 +80,7 @@ MODULE_PARM_DESC(irq, "IRQ of MK712 touchscreen controller");
static struct input_dev *mk712_dev;
static DEFINE_SPINLOCK(mk712_lock);

-static irqreturn_t mk712_interrupt(int irq, void *dev_id)
+static irqreturn_t mk712_interrupt(void *dev_id)
{
unsigned char status;
static int debounce = 1;
diff --git a/drivers/isdn/hardware/avm/avmcard.h b/drivers/isdn/hardware/avm/avmcard.h
index d964f07..38eb5c9 100644
--- a/drivers/isdn/hardware/avm/avmcard.h
+++ b/drivers/isdn/hardware/avm/avmcard.h
@@ -554,7 +554,7 @@ void b1_register_appl(struct capi_ctr *ctrl, u16 appl,
void b1_release_appl(struct capi_ctr *ctrl, u16 appl);
u16 b1_send_message(struct capi_ctr *ctrl, struct sk_buff *skb);
void b1_parse_version(avmctrl_info *card);
-irqreturn_t b1_interrupt(int interrupt, void *devptr);
+irqreturn_t b1_interrupt(void *devptr);

int b1ctl_read_proc(char *page, char **start, off_t off,
int count, int *eof, struct capi_ctr *ctrl);
@@ -567,7 +567,7 @@ void avmcard_dma_free(avmcard_dmainfo *);
int b1pciv4_detect(avmcard *card);
int t1pci_detect(avmcard *card);
void b1dma_reset(avmcard *card);
-irqreturn_t b1dma_interrupt(int interrupt, void *devptr);
+irqreturn_t b1dma_interrupt(void *devptr);

int b1dma_load_firmware(struct capi_ctr *ctrl, capiloaddata *data);
void b1dma_reset_ctr(struct capi_ctr *ctrl);
diff --git a/drivers/isdn/hardware/avm/b1.c b/drivers/isdn/hardware/avm/b1.c
index 4484a64..1686b24 100644
--- a/drivers/isdn/hardware/avm/b1.c
+++ b/drivers/isdn/hardware/avm/b1.c
@@ -484,7 +484,7 @@ void b1_parse_version(avmctrl_info *cinfo)

/* ------------------------------------------------------------- */

-irqreturn_t b1_interrupt(int interrupt, void *devptr)
+irqreturn_t b1_interrupt(void *devptr)
{
avmcard *card = devptr;
avmctrl_info *cinfo = &card->ctrlinfo[0];
diff --git a/drivers/isdn/hardware/avm/b1dma.c b/drivers/isdn/hardware/avm/b1dma.c
index 428872b..345d7b1 100644
--- a/drivers/isdn/hardware/avm/b1dma.c
+++ b/drivers/isdn/hardware/avm/b1dma.c
@@ -629,7 +629,7 @@ static void b1dma_handle_interrupt(avmcard *card)
spin_unlock(&card->lock);
}

-irqreturn_t b1dma_interrupt(int interrupt, void *devptr)
+irqreturn_t b1dma_interrupt(void *devptr)
{
avmcard *card = devptr;

diff --git a/drivers/isdn/hardware/avm/c4.c b/drivers/isdn/hardware/avm/c4.c
index 8710cf6..aa4edaa 100644
--- a/drivers/isdn/hardware/avm/c4.c
+++ b/drivers/isdn/hardware/avm/c4.c
@@ -714,7 +714,7 @@ static irqreturn_t c4_handle_interrupt(avmcard *card)
return IRQ_HANDLED;
}

-static irqreturn_t c4_interrupt(int interrupt, void *devptr)
+static irqreturn_t c4_interrupt(void *devptr)
{
avmcard *card = devptr;

diff --git a/drivers/isdn/hardware/avm/t1isa.c b/drivers/isdn/hardware/avm/t1isa.c
index c925020..9126fa9 100644
--- a/drivers/isdn/hardware/avm/t1isa.c
+++ b/drivers/isdn/hardware/avm/t1isa.c
@@ -131,7 +131,7 @@ static int t1_detectandinit(unsigned int base, unsigned irq, int cardnr)
return 0;
}

-static irqreturn_t t1isa_interrupt(int interrupt, void *devptr)
+static irqreturn_t t1isa_interrupt(void *devptr)
{
avmcard *card = devptr;
avmctrl_info *cinfo = &card->ctrlinfo[0];
diff --git a/drivers/isdn/hardware/eicon/divasmain.c b/drivers/isdn/hardware/eicon/divasmain.c
index 6d39f93..cdfa22c 100644
--- a/drivers/isdn/hardware/eicon/divasmain.c
+++ b/drivers/isdn/hardware/eicon/divasmain.c
@@ -56,7 +56,7 @@ static char *DRIVERLNAME = "divas";
static char *DEVNAME = "Divas";
char *DRIVERRELEASE_DIVAS = "2.0";

-extern irqreturn_t diva_os_irq_wrapper(int irq, void *context);
+extern irqreturn_t diva_os_irq_wrapper(void *context);
extern int create_divas_proc(void);
extern void remove_divas_proc(void);
extern void diva_get_vserial_number(PISDN_ADAPTER IoAdapter, char *buf);
diff --git a/drivers/isdn/hisax/asuscom.c b/drivers/isdn/hisax/asuscom.c
index 61e69e9..b8ba79a 100644
--- a/drivers/isdn/hisax/asuscom.c
+++ b/drivers/isdn/hisax/asuscom.c
@@ -156,7 +156,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-asuscom_interrupt(int intno, void *dev_id)
+asuscom_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
@@ -194,7 +194,7 @@ asuscom_interrupt(int intno, void *dev_id)
}

static irqreturn_t
-asuscom_interrupt_ipac(int intno, void *dev_id)
+asuscom_interrupt_ipac(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista, val, icnt = 5;
diff --git a/drivers/isdn/hisax/avm_a1.c b/drivers/isdn/hisax/avm_a1.c
index d9028e9..440aaf4 100644
--- a/drivers/isdn/hisax/avm_a1.c
+++ b/drivers/isdn/hisax/avm_a1.c
@@ -101,7 +101,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-avm_a1_interrupt(int intno, void *dev_id)
+avm_a1_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, sval;
diff --git a/drivers/isdn/hisax/avm_a1p.c b/drivers/isdn/hisax/avm_a1p.c
index c87fa3f..2eb7f44 100644
--- a/drivers/isdn/hisax/avm_a1p.c
+++ b/drivers/isdn/hisax/avm_a1p.c
@@ -140,7 +140,7 @@ WriteHSCXfifo(struct IsdnCardState *cs, int hscx, u_char * data, int size)
#include "hscx_irq.c"

static irqreturn_t
-avm_a1p_interrupt(int intno, void *dev_id)
+avm_a1p_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, sval;
diff --git a/drivers/isdn/hisax/avm_pci.c b/drivers/isdn/hisax/avm_pci.c
index f8b7978..8b8a5e2 100644
--- a/drivers/isdn/hisax/avm_pci.c
+++ b/drivers/isdn/hisax/avm_pci.c
@@ -650,7 +650,7 @@ inithdlc(struct IsdnCardState *cs)
}

static irqreturn_t
-avm_pcipnp_interrupt(int intno, void *dev_id)
+avm_pcipnp_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_long flags;
diff --git a/drivers/isdn/hisax/bkm_a4t.c b/drivers/isdn/hisax/bkm_a4t.c
index 3d1bdc8..9456606 100644
--- a/drivers/isdn/hisax/bkm_a4t.c
+++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -125,7 +125,7 @@ WriteJADE(struct IsdnCardState *cs, int jade, u_char offset, u_char value)
#include "jade_irq.c"

static irqreturn_t
-bkm_interrupt(int intno, void *dev_id)
+bkm_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val = 0;
diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c
index 99ef3b4..8e13b93 100644
--- a/drivers/isdn/hisax/bkm_a8.c
+++ b/drivers/isdn/hisax/bkm_a8.c
@@ -138,7 +138,7 @@ set_ipac_active(struct IsdnCardState *cs, u_int active)
#include "hscx_irq.c"

static irqreturn_t
-bkm_interrupt_ipac(int intno, void *dev_id)
+bkm_interrupt_ipac(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista, val, icnt = 5;
diff --git a/drivers/isdn/hisax/diva.c b/drivers/isdn/hisax/diva.c
index 8267450..bd0193a 100644
--- a/drivers/isdn/hisax/diva.c
+++ b/drivers/isdn/hisax/diva.c
@@ -287,7 +287,7 @@ MemWriteHSCX_IPACX(struct IsdnCardState *cs, int hscx, u_char offset, u_char val
#include "hscx_irq.c"

static irqreturn_t
-diva_interrupt(int intno, void *dev_id)
+diva_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, sval;
@@ -317,7 +317,7 @@ diva_interrupt(int intno, void *dev_id)
}

static irqreturn_t
-diva_irq_ipac_isa(int intno, void *dev_id)
+diva_irq_ipac_isa(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista,val;
@@ -628,7 +628,7 @@ Memhscx_int_main(struct IsdnCardState *cs, u_char val)
}

static irqreturn_t
-diva_irq_ipac_pci(int intno, void *dev_id)
+diva_irq_ipac_pci(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista,val;
@@ -683,7 +683,7 @@ Start_IPACPCI:
}

static irqreturn_t
-diva_irq_ipacx_pci(int intno, void *dev_id)
+diva_irq_ipacx_pci(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c
index 948a9b2..223c4ba 100644
--- a/drivers/isdn/hisax/elsa.c
+++ b/drivers/isdn/hisax/elsa.c
@@ -280,7 +280,7 @@ TimerRun(struct IsdnCardState *cs)
#include "hscx_irq.c"

static irqreturn_t
-elsa_interrupt(int intno, void *dev_id)
+elsa_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_long flags;
@@ -299,7 +299,7 @@ elsa_interrupt(int intno, void *dev_id)
val = serial_inp(cs, UART_IIR);
if (!(val & UART_IIR_NO_INT)) {
debugl1(cs,"IIR %02x", val);
- rs_interrupt_elsa(intno, cs);
+ rs_interrupt_elsa(cs);
}
}
#endif
@@ -359,7 +359,7 @@ elsa_interrupt(int intno, void *dev_id)
}

static irqreturn_t
-elsa_interrupt_ipac(int intno, void *dev_id)
+elsa_interrupt_ipac(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_long flags;
@@ -379,7 +379,7 @@ elsa_interrupt_ipac(int intno, void *dev_id)
val = serial_inp(cs, UART_IIR);
if (!(val & UART_IIR_NO_INT)) {
debugl1(cs,"IIR %02x", val);
- rs_interrupt_elsa(intno, cs);
+ rs_interrupt_elsa(cs);
}
}
#endif
diff --git a/drivers/isdn/hisax/elsa_ser.c b/drivers/isdn/hisax/elsa_ser.c
index 1642dca..d0606c3 100644
--- a/drivers/isdn/hisax/elsa_ser.c
+++ b/drivers/isdn/hisax/elsa_ser.c
@@ -384,7 +384,7 @@ static inline void transmit_chars(struct IsdnCardState *cs, int *intr_done)
}


-static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs)
+static void rs_interrupt_elsa(struct IsdnCardState *cs)
{
int status, iir, msr;
int pass_counter = 0;
diff --git a/drivers/isdn/hisax/enternow_pci.c b/drivers/isdn/hisax/enternow_pci.c
index b73027f..3b57ebb 100644
--- a/drivers/isdn/hisax/enternow_pci.c
+++ b/drivers/isdn/hisax/enternow_pci.c
@@ -240,7 +240,7 @@ enpci_card_msg(struct IsdnCardState *cs, int mt, void *arg)
}

static irqreturn_t
-enpci_interrupt(int intno, void *dev_id)
+enpci_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
unsigned char s0val, s1val, ir;
diff --git a/drivers/isdn/hisax/gazel.c b/drivers/isdn/hisax/gazel.c
index 3efa719..c99ca73 100644
--- a/drivers/isdn/hisax/gazel.c
+++ b/drivers/isdn/hisax/gazel.c
@@ -243,7 +243,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-gazel_interrupt(int intno, void *dev_id)
+gazel_interrupt(void *dev_id)
{
#define MAXCOUNT 5
struct IsdnCardState *cs = dev_id;
@@ -274,7 +274,7 @@ gazel_interrupt(int intno, void *dev_id)


static irqreturn_t
-gazel_interrupt_ipac(int intno, void *dev_id)
+gazel_interrupt_ipac(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista, val;
diff --git a/drivers/isdn/hisax/hfc4s8s_l1.c b/drivers/isdn/hisax/hfc4s8s_l1.c
index ab98e13..4b26da9 100644
--- a/drivers/isdn/hisax/hfc4s8s_l1.c
+++ b/drivers/isdn/hisax/hfc4s8s_l1.c
@@ -1269,7 +1269,7 @@ hfc4s8s_bh(struct work_struct *work)
/* interrupt handler */
/*********************/
static irqreturn_t
-hfc4s8s_interrupt(int intno, void *dev_id)
+hfc4s8s_interrupt(void *dev_id)
{
hfc4s8s_hw *hw = dev_id;
u_char b, ovr;
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
index 077080a..1cb85bd 100644
--- a/drivers/isdn/hisax/hfc_pci.c
+++ b/drivers/isdn/hisax/hfc_pci.c
@@ -925,7 +925,7 @@ receive_emsg(struct IsdnCardState *cs)
/* Interrupt handler */
/*********************/
static irqreturn_t
-hfcpci_interrupt(int intno, void *dev_id)
+hfcpci_interrupt(void *dev_id)
{
u_long flags;
struct IsdnCardState *cs = dev_id;
diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c
index 4fd09d2..3f38d5e 100644
--- a/drivers/isdn/hisax/hfc_sx.c
+++ b/drivers/isdn/hisax/hfc_sx.c
@@ -691,7 +691,7 @@ receive_emsg(struct IsdnCardState *cs)
/* Interrupt handler */
/*********************/
static irqreturn_t
-hfcsx_interrupt(int intno, void *dev_id)
+hfcsx_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char exval;
diff --git a/drivers/isdn/hisax/hfcscard.c b/drivers/isdn/hisax/hfcscard.c
index 57670dc..56bdcd8 100644
--- a/drivers/isdn/hisax/hfcscard.c
+++ b/drivers/isdn/hisax/hfcscard.c
@@ -21,7 +21,7 @@ extern const char *CardType[];
static const char *hfcs_revision = "$Revision: 1.10.2.4 $";

static irqreturn_t
-hfcs_interrupt(int intno, void *dev_id)
+hfcs_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, stat;
diff --git a/drivers/isdn/hisax/hisax_fcpcipnp.c b/drivers/isdn/hisax/hisax_fcpcipnp.c
index 7993e01..55f63df 100644
--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
+++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
@@ -651,7 +651,7 @@ static void fritz_b_l2l1(struct hisax_if *ifc, int pr, void *arg)
// ----------------------------------------------------------------------

static irqreturn_t
-fcpci2_irq(int intno, void *dev)
+fcpci2_irq(void *dev)
{
struct fritz_adapter *adapter = dev;
unsigned char val;
@@ -671,7 +671,7 @@ fcpci2_irq(int intno, void *dev)
}

static irqreturn_t
-fcpci_irq(int intno, void *dev)
+fcpci_irq(void *dev)
{
struct fritz_adapter *adapter = dev;
unsigned char sval;
diff --git a/drivers/isdn/hisax/isurf.c b/drivers/isdn/hisax/isurf.c
index 55de069..42af46f 100644
--- a/drivers/isdn/hisax/isurf.c
+++ b/drivers/isdn/hisax/isurf.c
@@ -83,7 +83,7 @@ WriteISAR(struct IsdnCardState *cs, int mode, u_char offset, u_char value)
}

static irqreturn_t
-isurf_interrupt(int intno, void *dev_id)
+isurf_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/ix1_micro.c b/drivers/isdn/hisax/ix1_micro.c
index 252d79d..a99acc8 100644
--- a/drivers/isdn/hisax/ix1_micro.c
+++ b/drivers/isdn/hisax/ix1_micro.c
@@ -125,7 +125,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-ix1micro_interrupt(int intno, void *dev_id)
+ix1micro_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/mic.c b/drivers/isdn/hisax/mic.c
index a81d175..c974b99 100644
--- a/drivers/isdn/hisax/mic.c
+++ b/drivers/isdn/hisax/mic.c
@@ -120,7 +120,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-mic_interrupt(int intno, void *dev_id)
+mic_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/netjet.h b/drivers/isdn/hisax/netjet.h
index 4d89d3e..d9bf2b0 100644
--- a/drivers/isdn/hisax/netjet.h
+++ b/drivers/isdn/hisax/netjet.h
@@ -66,7 +66,7 @@ void read_tiger(struct IsdnCardState *cs);
void write_tiger(struct IsdnCardState *cs);

void netjet_fill_dma(struct BCState *bcs);
-void netjet_interrupt(int intno, void *dev_id);
+void netjet_interrupt(void *dev_id);
void inittiger(struct IsdnCardState *cs);
void release_io_netjet(struct IsdnCardState *cs);

diff --git a/drivers/isdn/hisax/niccy.c b/drivers/isdn/hisax/niccy.c
index e5918c6..b057294 100644
--- a/drivers/isdn/hisax/niccy.c
+++ b/drivers/isdn/hisax/niccy.c
@@ -122,7 +122,7 @@ static void WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset,

#include "hscx_irq.c"

-static irqreturn_t niccy_interrupt(int intno, void *dev_id)
+static irqreturn_t niccy_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/nj_s.c b/drivers/isdn/hisax/nj_s.c
index a895dfe..2764820 100644
--- a/drivers/isdn/hisax/nj_s.c
+++ b/drivers/isdn/hisax/nj_s.c
@@ -26,7 +26,7 @@ static void dummywr(struct IsdnCardState *cs, int chan, u_char off, u_char value
}

static irqreturn_t
-netjet_s_interrupt(int intno, void *dev_id)
+netjet_s_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, s1val, s0val;
diff --git a/drivers/isdn/hisax/nj_u.c b/drivers/isdn/hisax/nj_u.c
index f017d38..09fea1d 100644
--- a/drivers/isdn/hisax/nj_u.c
+++ b/drivers/isdn/hisax/nj_u.c
@@ -26,7 +26,7 @@ static void dummywr(struct IsdnCardState *cs, int chan, u_char off, u_char value
}

static irqreturn_t
-netjet_u_interrupt(int intno, void *dev_id)
+netjet_u_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val, sval;
diff --git a/drivers/isdn/hisax/s0box.c b/drivers/isdn/hisax/s0box.c
index 150ef68..99e5862 100644
--- a/drivers/isdn/hisax/s0box.c
+++ b/drivers/isdn/hisax/s0box.c
@@ -141,7 +141,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-s0box_interrupt(int intno, void *dev_id)
+s0box_interrupt(void *dev_id)
{
#define MAXCOUNT 5
struct IsdnCardState *cs = dev_id;
diff --git a/drivers/isdn/hisax/saphir.c b/drivers/isdn/hisax/saphir.c
index c99b166..32adb33 100644
--- a/drivers/isdn/hisax/saphir.c
+++ b/drivers/isdn/hisax/saphir.c
@@ -117,7 +117,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-saphir_interrupt(int intno, void *dev_id)
+saphir_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/sedlbauer.c b/drivers/isdn/hisax/sedlbauer.c
index 03dfc32..b4e818a 100644
--- a/drivers/isdn/hisax/sedlbauer.c
+++ b/drivers/isdn/hisax/sedlbauer.c
@@ -260,7 +260,7 @@ WriteISAR(struct IsdnCardState *cs, int mode, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-sedlbauer_interrupt(int intno, void *dev_id)
+sedlbauer_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
@@ -306,7 +306,7 @@ sedlbauer_interrupt(int intno, void *dev_id)
}

static irqreturn_t
-sedlbauer_interrupt_ipac(int intno, void *dev_id)
+sedlbauer_interrupt_ipac(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char ista, val, icnt = 5;
@@ -353,7 +353,7 @@ Start_IPAC:
}

static irqreturn_t
-sedlbauer_interrupt_isar(int intno, void *dev_id)
+sedlbauer_interrupt_isar(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/sportster.c b/drivers/isdn/hisax/sportster.c
index 0220950..cab3572 100644
--- a/drivers/isdn/hisax/sportster.c
+++ b/drivers/isdn/hisax/sportster.c
@@ -99,7 +99,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-sportster_interrupt(int intno, void *dev_id)
+sportster_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/teleint.c b/drivers/isdn/hisax/teleint.c
index 0909662..b6e93c2 100644
--- a/drivers/isdn/hisax/teleint.c
+++ b/drivers/isdn/hisax/teleint.c
@@ -157,7 +157,7 @@ WriteHFC(struct IsdnCardState *cs, int data, u_char reg, u_char value)
}

static irqreturn_t
-TeleInt_interrupt(int intno, void *dev_id)
+TeleInt_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/teles0.c b/drivers/isdn/hisax/teles0.c
index 4858133..6bd3756 100644
--- a/drivers/isdn/hisax/teles0.c
+++ b/drivers/isdn/hisax/teles0.c
@@ -144,7 +144,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-teles0_interrupt(int intno, void *dev_id)
+teles0_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char val;
diff --git a/drivers/isdn/hisax/teles3.c b/drivers/isdn/hisax/teles3.c
index 6a5e379..0dd2d28 100644
--- a/drivers/isdn/hisax/teles3.c
+++ b/drivers/isdn/hisax/teles3.c
@@ -101,7 +101,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-teles3_interrupt(int intno, void *dev_id)
+teles3_interrupt(void *dev_id)
{
#define MAXCOUNT 5
struct IsdnCardState *cs = dev_id;
diff --git a/drivers/isdn/hisax/telespci.c b/drivers/isdn/hisax/telespci.c
index 4393003..f970330 100644
--- a/drivers/isdn/hisax/telespci.c
+++ b/drivers/isdn/hisax/telespci.c
@@ -226,7 +226,7 @@ WriteHSCX(struct IsdnCardState *cs, int hscx, u_char offset, u_char value)
#include "hscx_irq.c"

static irqreturn_t
-telespci_interrupt(int intno, void *dev_id)
+telespci_interrupt(void *dev_id)
{
struct IsdnCardState *cs = dev_id;
u_char hval, ival;
diff --git a/drivers/isdn/hysdn/boardergo.c b/drivers/isdn/hysdn/boardergo.c
index 6cdbad3..80a1e33 100644
--- a/drivers/isdn/hysdn/boardergo.c
+++ b/drivers/isdn/hysdn/boardergo.c
@@ -32,7 +32,7 @@
/* The cards interrupt handler. Called from system */
/***************************************************/
static irqreturn_t
-ergo_interrupt(int intno, void *dev_id)
+ergo_interrupt(void *dev_id)
{
hysdn_card *card = dev_id; /* parameter from irq */
tErgDpram *dpr;
diff --git a/drivers/isdn/pcbit/layer2.c b/drivers/isdn/pcbit/layer2.c
index 5ba2a87..03392b6 100644
--- a/drivers/isdn/pcbit/layer2.c
+++ b/drivers/isdn/pcbit/layer2.c
@@ -495,7 +495,7 @@ pcbit_firmware_bug(struct pcbit_dev *dev)
}

irqreturn_t
-pcbit_irq_handler(int interrupt, void *devptr)
+pcbit_irq_handler(void *devptr)
{
struct pcbit_dev *dev;
u_char info,
diff --git a/drivers/isdn/pcbit/layer2.h b/drivers/isdn/pcbit/layer2.h
index 2ac295e..b549004 100644
--- a/drivers/isdn/pcbit/layer2.h
+++ b/drivers/isdn/pcbit/layer2.h
@@ -124,7 +124,7 @@ struct frame_buf {
extern int pcbit_l2_write(struct pcbit_dev * dev, ulong msg, ushort refnum,
struct sk_buff *skb, unsigned short hdr_len);

-extern irqreturn_t pcbit_irq_handler(int interrupt, void *);
+extern irqreturn_t pcbit_irq_handler(void *);

extern struct pcbit_dev * dev_pcbit[MAX_PCBIT_CARDS];

diff --git a/drivers/isdn/sc/card.h b/drivers/isdn/sc/card.h
index 5992f63..5ee1a4e 100644
--- a/drivers/isdn/sc/card.h
+++ b/drivers/isdn/sc/card.h
@@ -108,7 +108,7 @@ void memcpy_toshmem(int card, void *dest, const void *src, size_t n);
void memcpy_fromshmem(int card, void *dest, const void *src, size_t n);
int get_card_from_id(int driver);
int indicate_status(int card, int event, ulong Channel, char *Data);
-irqreturn_t interrupt_handler(int interrupt, void *cardptr);
+irqreturn_t interrupt_handler(void *cardptr);
int sndpkt(int devId, int channel, struct sk_buff *data);
void rcvpkt(int card, RspMessage *rcvmsg);
int command(isdn_ctrl *cmd);
diff --git a/drivers/macintosh/macio-adb.c b/drivers/macintosh/macio-adb.c
index 79119f5..7a11510 100644
--- a/drivers/macintosh/macio-adb.c
+++ b/drivers/macintosh/macio-adb.c
@@ -63,7 +63,7 @@ static DEFINE_SPINLOCK(macio_lock);

static int macio_probe(void);
static int macio_init(void);
-static irqreturn_t macio_adb_interrupt(int irq, void *arg);
+static irqreturn_t macio_adb_interrupt(void *arg);
static int macio_send_request(struct adb_request *req, int sync);
static int macio_adb_autopoll(int devs);
static void macio_adb_poll(void);
@@ -198,7 +198,7 @@ static int macio_send_request(struct adb_request *req, int sync)
return 0;
}

-static irqreturn_t macio_adb_interrupt(int irq, void *arg)
+static irqreturn_t macio_adb_interrupt(void *arg)
{
int i, n, err;
struct adb_request *req = NULL;
diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c
index d409f67..282098d 100644
--- a/drivers/macintosh/smu.c
+++ b/drivers/macintosh/smu.c
@@ -146,7 +146,7 @@ static void smu_start_cmd(void)
}


-static irqreturn_t smu_db_intr(int irq, void *arg)
+static irqreturn_t smu_db_intr(void *arg)
{
unsigned long flags;
struct smu_cmd *cmd;
@@ -225,7 +225,7 @@ static irqreturn_t smu_db_intr(int irq, void *arg)
}


-static irqreturn_t smu_msg_intr(int irq, void *arg)
+static irqreturn_t smu_msg_intr(void *arg)
{
/* I don't quite know what to do with this one, we seem to never
* receive it, so I suspect we have to arm it someway in the SMU
diff --git a/drivers/macintosh/via-cuda.c b/drivers/macintosh/via-cuda.c
index 741a93a..2480a41 100644
--- a/drivers/macintosh/via-cuda.c
+++ b/drivers/macintosh/via-cuda.c
@@ -98,7 +98,7 @@ static int cuda_reset_adb_bus(void);

static int cuda_init_via(void);
static void cuda_start(void);
-static irqreturn_t cuda_interrupt(int irq, void *arg);
+static irqreturn_t cuda_interrupt(void *arg);
static void cuda_input(unsigned char *buf, int nb);
void cuda_poll(void);
static int cuda_write(struct adb_request *req);
@@ -437,7 +437,7 @@ cuda_poll(void)
}

static irqreturn_t
-cuda_interrupt(int irq, void *arg)
+cuda_interrupt(void *arg)
{
int status;
struct adb_request *req = NULL;
diff --git a/drivers/macintosh/via-pmu.c b/drivers/macintosh/via-pmu.c
index f7c509b..ff86ea3 100644
--- a/drivers/macintosh/via-pmu.c
+++ b/drivers/macintosh/via-pmu.c
@@ -192,8 +192,8 @@ static int pmu_adb_reset_bus(void);

static int init_pmu(void);
static void pmu_start(void);
-static irqreturn_t via_pmu_interrupt(int irq, void *arg);
-static irqreturn_t gpio1_interrupt(int irq, void *arg);
+static irqreturn_t via_pmu_interrupt(void *arg);
+static irqreturn_t gpio1_interrupt(void *arg);
static int proc_get_info(char *page, char **start, off_t off,
int count, int *eof, void *data);
static int proc_get_irqstats(char *page, char **start, off_t off,
@@ -1542,7 +1542,7 @@ pmu_sr_intr(void)
}

static irqreturn_t
-via_pmu_interrupt(int irq, void *arg)
+via_pmu_interrupt(void *arg)
{
unsigned long flags;
int intr;
@@ -1643,7 +1643,7 @@ pmu_unlock(void)


static irqreturn_t
-gpio1_interrupt(int irq, void *arg)
+gpio1_interrupt(void *arg)
{
unsigned long flags;

diff --git a/drivers/media/common/saa7146_core.c b/drivers/media/common/saa7146_core.c
index 365a221..d99dd60 100644
--- a/drivers/media/common/saa7146_core.c
+++ b/drivers/media/common/saa7146_core.c
@@ -245,7 +245,7 @@ int saa7146_pgtable_build_single(struct pci_dev *pci, struct saa7146_pgtable *pt

/********************************************************************************/
/* interrupt handler */
-static irqreturn_t interrupt_hw(int irq, void *dev_id)
+static irqreturn_t interrupt_hw(void *dev_id)
{
struct saa7146_dev *dev = dev_id;
u32 isr;
diff --git a/drivers/media/dvb/b2c2/flexcop-pci.c b/drivers/media/dvb/b2c2/flexcop-pci.c
index 01af4d2..18a67fb 100644
--- a/drivers/media/dvb/b2c2/flexcop-pci.c
+++ b/drivers/media/dvb/b2c2/flexcop-pci.c
@@ -123,7 +123,7 @@ static void flexcop_pci_irq_check_work(struct work_struct *work)
/* When PID filtering is turned on, we use the timer IRQ, because small amounts
* of data need to be passed to the user space instantly as well. When PID
* filtering is turned off, we use the page-change-IRQ */
-static irqreturn_t flexcop_pci_isr(int irq, void *dev_id)
+static irqreturn_t flexcop_pci_isr(void *dev_id)
{
struct flexcop_pci *fc_pci = dev_id;
struct flexcop_device *fc = fc_pci->fc_dev;
diff --git a/drivers/media/dvb/bt8xx/bt878.c b/drivers/media/dvb/bt8xx/bt878.c
index eca602d..49b726f 100644
--- a/drivers/media/dvb/bt8xx/bt878.c
+++ b/drivers/media/dvb/bt8xx/bt878.c
@@ -265,7 +265,7 @@ EXPORT_SYMBOL(bt878_stop);
/* Interrupt service routine */
/*****************************/

-static irqreturn_t bt878_irq(int irq, void *dev_id)
+static irqreturn_t bt878_irq(void *dev_id)
{
u32 stat, astat, mask;
int count;
diff --git a/drivers/media/dvb/pluto2/pluto2.c b/drivers/media/dvb/pluto2/pluto2.c
index 08a2599..ac0fa89 100644
--- a/drivers/media/dvb/pluto2/pluto2.c
+++ b/drivers/media/dvb/pluto2/pluto2.c
@@ -323,7 +323,7 @@ static void pluto_dma_end(struct pluto *pluto, unsigned int nbpackets)
TS_DMA_BYTES, PCI_DMA_FROMDEVICE);
}

-static irqreturn_t pluto_irq(int irq, void *dev_id)
+static irqreturn_t pluto_irq(void *dev_id)
{
struct pluto *pluto = dev_id;
u32 tscr;
diff --git a/drivers/media/video/arv.c b/drivers/media/video/arv.c
index 19e9929..c0d24d3 100644
--- a/drivers/media/video/arv.c
+++ b/drivers/media/video/arv.c
@@ -548,7 +548,7 @@ static int ar_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
/*
* Interrupt handler
*/
-static void ar_interrupt(int irq, void *dev)
+static void ar_interrupt(void *dev)
{
struct ar_device *ar = dev;
unsigned int line_count;
diff --git a/drivers/media/video/bt8xx/bttv-driver.c b/drivers/media/video/bt8xx/bttv-driver.c
index 7a332b3..1cc1370 100644
--- a/drivers/media/video/bt8xx/bttv-driver.c
+++ b/drivers/media/video/bt8xx/bttv-driver.c
@@ -4440,7 +4440,7 @@ bttv_irq_switch_vbi(struct bttv *btv)
spin_unlock(&btv->s_lock);
}

-static irqreturn_t bttv_irq(int irq, void *dev_id)
+static irqreturn_t bttv_irq(void *dev_id)
{
u32 stat,astat;
u32 dstat;
diff --git a/drivers/media/video/cafe_ccic.c b/drivers/media/video/cafe_ccic.c
index b63cab3..20d6fb9 100644
--- a/drivers/media/video/cafe_ccic.c
+++ b/drivers/media/video/cafe_ccic.c
@@ -1934,7 +1934,7 @@ static void cafe_frame_irq(struct cafe_camera *cam, unsigned int irqs)



-static irqreturn_t cafe_irq(int irq, void *data)
+static irqreturn_t cafe_irq(void *data)
{
struct cafe_camera *cam = data;
unsigned int irqs;
diff --git a/drivers/media/video/cx23885/cx23885-core.c b/drivers/media/video/cx23885/cx23885-core.c
index af16505..3523a94 100644
--- a/drivers/media/video/cx23885/cx23885-core.c
+++ b/drivers/media/video/cx23885/cx23885-core.c
@@ -1323,7 +1323,7 @@ static int cx23885_irq_ts(struct cx23885_tsport *port, u32 status)
return handled;
}

-static irqreturn_t cx23885_irq(int irq, void *dev_id)
+static irqreturn_t cx23885_irq(void *dev_id)
{
struct cx23885_dev *dev = dev_id;
struct cx23885_tsport *ts1 = &dev->ts1;
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c
index 141dadf..a45e1d8 100644
--- a/drivers/media/video/cx88/cx88-alsa.c
+++ b/drivers/media/video/cx88/cx88-alsa.c
@@ -242,7 +242,7 @@ static void cx8801_aud_irq(snd_cx88_card_t *chip)
/*
* BOARD Specific: Handles IRQ calls
*/
-static irqreturn_t cx8801_irq(int irq, void *dev_id)
+static irqreturn_t cx8801_irq(void *dev_id)
{
snd_cx88_card_t *chip = dev_id;
struct cx88_core *core = chip->core;
diff --git a/drivers/media/video/cx88/cx88-mpeg.c b/drivers/media/video/cx88/cx88-mpeg.c
index a652f29..32b21d8 100644
--- a/drivers/media/video/cx88/cx88-mpeg.c
+++ b/drivers/media/video/cx88/cx88-mpeg.c
@@ -405,7 +405,7 @@ static void cx8802_mpeg_irq(struct cx8802_dev *dev)

#define MAX_IRQ_LOOP 10

-static irqreturn_t cx8802_irq(int irq, void *dev_id)
+static irqreturn_t cx8802_irq(void *dev_id)
{
struct cx8802_dev *dev = dev_id;
struct cx88_core *core = dev->core;
diff --git a/drivers/media/video/cx88/cx88-video.c b/drivers/media/video/cx88/cx88-video.c
index 231ae6c..8b1711b 100644
--- a/drivers/media/video/cx88/cx88-video.c
+++ b/drivers/media/video/cx88/cx88-video.c
@@ -1572,7 +1572,7 @@ static void cx8800_vid_irq(struct cx8800_dev *dev)
}
}

-static irqreturn_t cx8800_irq(int irq, void *dev_id)
+static irqreturn_t cx8800_irq(void *dev_id)
{
struct cx8800_dev *dev = dev_id;
struct cx88_core *core = dev->core;
diff --git a/drivers/media/video/ivtv/ivtv-irq.c b/drivers/media/video/ivtv/ivtv-irq.c
index fd1688e..5481c48 100644
--- a/drivers/media/video/ivtv/ivtv-irq.c
+++ b/drivers/media/video/ivtv/ivtv-irq.c
@@ -800,7 +800,7 @@ static void ivtv_irq_vsync(struct ivtv *itv)

#define IVTV_IRQ_DMA (IVTV_IRQ_DMA_READ | IVTV_IRQ_ENC_DMA_COMPLETE | IVTV_IRQ_DMA_ERR | IVTV_IRQ_ENC_START_CAP | IVTV_IRQ_ENC_VBI_CAP | IVTV_IRQ_DEC_DATA_REQ | IVTV_IRQ_DEC_VBI_RE_INSERT)

-irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
+irqreturn_t ivtv_irq_handler(void *dev_id)
{
struct ivtv *itv = (struct ivtv *)dev_id;
u32 combo;
diff --git a/drivers/media/video/ivtv/ivtv-irq.h b/drivers/media/video/ivtv/ivtv-irq.h
index f879a58..0f9e376 100644
--- a/drivers/media/video/ivtv/ivtv-irq.h
+++ b/drivers/media/video/ivtv/ivtv-irq.h
@@ -44,7 +44,7 @@
#define IVTV_IRQ_MASK_CAPTURE (IVTV_IRQ_ENC_START_CAP | IVTV_IRQ_ENC_EOS)
#define IVTV_IRQ_MASK_DECODE (IVTV_IRQ_DEC_DATA_REQ|IVTV_IRQ_DEC_AUD_MODE_CHG)

-irqreturn_t ivtv_irq_handler(int irq, void *dev_id);
+irqreturn_t ivtv_irq_handler(void *dev_id);

void ivtv_irq_work_handler(struct work_struct *work);
void ivtv_dma_stream_dec_prepare(struct ivtv_stream *s, u32 offset, int lock);
diff --git a/drivers/media/video/meye.c b/drivers/media/video/meye.c
index 7533fc2..d96cc3e 100644
--- a/drivers/media/video/meye.c
+++ b/drivers/media/video/meye.c
@@ -785,7 +785,7 @@ static void mchip_cont_compression_start(void)
/* Interrupt handling */
/****************************************************************************/

-static irqreturn_t meye_irq(int irq, void *dev_id)
+static irqreturn_t meye_irq(void *dev_id)
{
u32 v;
int reqnr;
diff --git a/drivers/media/video/saa7134/saa7134-alsa.c b/drivers/media/video/saa7134/saa7134-alsa.c
index c6f7279..cddf476 100644
--- a/drivers/media/video/saa7134/saa7134-alsa.c
+++ b/drivers/media/video/saa7134/saa7134-alsa.c
@@ -208,7 +208,7 @@ static void saa7134_irq_alsa_done(struct saa7134_dev *dev,
*
*/

-static irqreturn_t saa7134_alsa_irq(int irq, void *dev_id)
+static irqreturn_t saa7134_alsa_irq(void *dev_id)
{
struct saa7134_dmasound *dmasound = dev_id;
struct saa7134_dev *dev = dmasound->priv_data;
diff --git a/drivers/media/video/saa7134/saa7134-core.c b/drivers/media/video/saa7134/saa7134-core.c
index 1a4a244..ac72264 100644
--- a/drivers/media/video/saa7134/saa7134-core.c
+++ b/drivers/media/video/saa7134/saa7134-core.c
@@ -557,7 +557,7 @@ static void print_irqstatus(struct saa7134_dev *dev, int loop,
printk("\n");
}

-static irqreturn_t saa7134_irq(int irq, void *dev_id)
+static irqreturn_t saa7134_irq(void *dev_id)
{
struct saa7134_dev *dev = (struct saa7134_dev*) dev_id;
unsigned long report,status;
diff --git a/drivers/media/video/saa7134/saa7134-oss.c b/drivers/media/video/saa7134/saa7134-oss.c
index aedf046..6935ee5 100644
--- a/drivers/media/video/saa7134/saa7134-oss.c
+++ b/drivers/media/video/saa7134/saa7134-oss.c
@@ -805,7 +805,7 @@ const struct file_operations saa7134_mixer_fops = {

/* ------------------------------------------------------------------ */

-static irqreturn_t saa7134_oss_irq(int irq, void *dev_id)
+static irqreturn_t saa7134_oss_irq(void *dev_id)
{
struct saa7134_dmasound *dmasound = dev_id;
struct saa7134_dev *dev = dmasound->priv_data;
diff --git a/drivers/media/video/stradis.c b/drivers/media/video/stradis.c
index eb22046..ab5a3d9 100644
--- a/drivers/media/video/stradis.c
+++ b/drivers/media/video/stradis.c
@@ -406,7 +406,7 @@ static void send_osd_data(struct saa7146 *saa)
}
}

-static irqreturn_t saa7146_irq(int irq, void *dev_id)
+static irqreturn_t saa7146_irq(void *dev_id)
{
struct saa7146 *saa = dev_id;
u32 stat, astat;
diff --git a/drivers/media/video/vino.c b/drivers/media/video/vino.c
index 9a03dc8..c3d73d3 100644
--- a/drivers/media/video/vino.c
+++ b/drivers/media/video/vino.c
@@ -2322,7 +2322,7 @@ static void vino_capture_tasklet(unsigned long channel) {
}
}

-static irqreturn_t vino_interrupt(int irq, void *dev_id)
+static irqreturn_t vino_interrupt(void *dev_id)
{
u32 ctrl, intr;
unsigned int fc_a, fc_b;
diff --git a/drivers/media/video/zoran_device.c b/drivers/media/video/zoran_device.c
index 68c7c50..dfaea89 100644
--- a/drivers/media/video/zoran_device.c
+++ b/drivers/media/video/zoran_device.c
@@ -1377,8 +1377,7 @@ error_handler (struct zoran *zr,
}

irqreturn_t
-zoran_irq (int irq,
- void *dev_id)
+zoran_irq (void *dev_id)
{
u32 stat, astat;
int count;
diff --git a/drivers/media/video/zoran_device.h b/drivers/media/video/zoran_device.h
index 37fa86a..8d34bfe 100644
--- a/drivers/media/video/zoran_device.h
+++ b/drivers/media/video/zoran_device.h
@@ -64,7 +64,7 @@ extern int wait_grab_pending(struct zoran *zr);
/* interrupts */
extern void print_interrupts(struct zoran *zr);
extern void clear_interrupt_counters(struct zoran *zr);
-extern irqreturn_t zoran_irq(int irq, void *dev_id);
+extern irqreturn_t zoran_irq(void *dev_id);

/* JPEG codec access */
extern void jpeg_start(struct zoran *zr);
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
index 52fb216..1fd0b59 100644
--- a/drivers/message/fusion/mptbase.c
+++ b/drivers/message/fusion/mptbase.c
@@ -135,7 +135,7 @@ static u8 last_drv_idx;
/*
* Forward protos...
*/
-static irqreturn_t mpt_interrupt(int irq, void *bus_id);
+static irqreturn_t mpt_interrupt(void *bus_id);
static int mpt_base_reply(MPT_ADAPTER *ioc, MPT_FRAME_HDR *req, MPT_FRAME_HDR *reply);
static int mpt_handshake_req_reply_wait(MPT_ADAPTER *ioc, int reqBytes,
u32 *req, int replyBytes, u16 *u16reply, int maxwait,
@@ -405,7 +405,7 @@ mpt_reply(MPT_ADAPTER *ioc, u32 pa)
* the protocol-specific details of the MPT request completion.
*/
static irqreturn_t
-mpt_interrupt(int irq, void *bus_id)
+mpt_interrupt(void *bus_id)
{
MPT_ADAPTER *ioc = bus_id;
u32 pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);
diff --git a/drivers/message/i2o/pci.c b/drivers/message/i2o/pci.c
index 3661e6e..6ffd188 100644
--- a/drivers/message/i2o/pci.c
+++ b/drivers/message/i2o/pci.c
@@ -222,13 +222,12 @@ static int __devinit i2o_pci_alloc(struct i2o_controller *c)

/**
* i2o_pci_interrupt - Interrupt handler for I2O controller
- * @irq: interrupt line
* @dev_id: pointer to the I2O controller
*
* Handle an interrupt from a PCI based I2O controller. This turns out
* to be rather simple. We keep the controller pointer in the cookie.
*/
-static irqreturn_t i2o_pci_interrupt(int irq, void *dev_id)
+static irqreturn_t i2o_pci_interrupt(void *dev_id)
{
struct i2o_controller *c = dev_id;
u32 m;
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c
index e03f1bc..817b7b0 100644
--- a/drivers/mfd/ucb1x00-core.c
+++ b/drivers/mfd/ucb1x00-core.c
@@ -203,7 +203,7 @@ void ucb1x00_adc_disable(struct ucb1x00 *ucb)
* SIBCLK to talk to the chip. We leave the clock running until
* we have finished processing all interrupts from the chip.
*/
-static irqreturn_t ucb1x00_irq(int irqnr, void *devid)
+static irqreturn_t ucb1x00_irq(void *devid)
{
struct ucb1x00 *ucb = devid;
struct ucb1x00_irq *irq;
diff --git a/drivers/misc/ibmasm/ibmasm.h b/drivers/misc/ibmasm/ibmasm.h
index de860bc..fd44241 100644
--- a/drivers/misc/ibmasm/ibmasm.h
+++ b/drivers/misc/ibmasm/ibmasm.h
@@ -196,7 +196,7 @@ int ibmasm_send_os_state(struct service_processor *sp, int os_state);

/* low level message processing */
int ibmasm_send_i2o_message(struct service_processor *sp);
-irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id);
+irqreturn_t ibmasm_interrupt_handler(void * dev_id);

/* remote console */
void ibmasm_handle_mouse_interrupt(struct service_processor *sp);
diff --git a/drivers/misc/ibmasm/lowlevel.c b/drivers/misc/ibmasm/lowlevel.c
index 4b2398e..a112f54 100644
--- a/drivers/misc/ibmasm/lowlevel.c
+++ b/drivers/misc/ibmasm/lowlevel.c
@@ -54,7 +54,7 @@ int ibmasm_send_i2o_message(struct service_processor *sp)
return 0;
}

-irqreturn_t ibmasm_interrupt_handler(int irq, void * dev_id)
+irqreturn_t ibmasm_interrupt_handler(void *dev_id)
{
u32 mfa;
struct service_processor *sp = (struct service_processor *)dev_id;
diff --git a/drivers/misc/phantom.c b/drivers/misc/phantom.c
index 5108b7c..ab36eb8 100644
--- a/drivers/misc/phantom.c
+++ b/drivers/misc/phantom.c
@@ -217,7 +217,7 @@ static struct file_operations phantom_file_ops = {
.poll = phantom_poll,
};

-static irqreturn_t phantom_isr(int irq, void *data)
+static irqreturn_t phantom_isr(void *data)
{
struct phantom_device *dev = data;

diff --git a/drivers/misc/sony-laptop.c b/drivers/misc/sony-laptop.c
index e73a71f..2debd98 100644
--- a/drivers/misc/sony-laptop.c
+++ b/drivers/misc/sony-laptop.c
@@ -2259,7 +2259,7 @@ end:
* ISR: some event is available
*
*****************/
-static irqreturn_t sony_pic_irq(int irq, void *dev_id)
+static irqreturn_t sony_pic_irq(void *dev_id)
{
int i, j;
u8 ev = 0;
diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c
index 2d1b3df..a1a6783 100644
--- a/drivers/misc/tifm_7xx1.c
+++ b/drivers/misc/tifm_7xx1.c
@@ -36,7 +36,7 @@ static void tifm_7xx1_eject(struct tifm_adapter *fm, struct tifm_dev *sock)
spin_unlock_irqrestore(&fm->lock, flags);
}

-static irqreturn_t tifm_7xx1_isr(int irq, void *dev_id)
+static irqreturn_t tifm_7xx1_isr(void *dev_id)
{
struct tifm_adapter *fm = dev_id;
struct tifm_dev *sock;
diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
index 7a452c2..570a8d2 100644
--- a/drivers/mmc/host/at91_mci.c
+++ b/drivers/mmc/host/at91_mci.c
@@ -672,7 +672,7 @@ static void at91_mci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
/*
* Handle an interrupt
*/
-static irqreturn_t at91_mci_irq(int irq, void *devid)
+static irqreturn_t at91_mci_irq(void *devid)
{
struct at91mci_host *host = devid;
int completed = 0;
diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index 92c4d0d..b4d7c4d 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -731,7 +731,7 @@ static void au1xmmc_set_ios(struct mmc_host* mmc, struct mmc_ios* ios)
}
}

-static void au1xmmc_dma_callback(int irq, void *dev_id)
+static void au1xmmc_dma_callback(void *dev_id)
{
struct au1xmmc_host *host = (struct au1xmmc_host *) dev_id;

@@ -750,7 +750,7 @@ static void au1xmmc_dma_callback(int irq, void *dev_id)
#define STATUS_DATA_IN (SD_STATUS_NE)
#define STATUS_DATA_OUT (SD_STATUS_TH)

-static irqreturn_t au1xmmc_irq(int irq, void *dev_id)
+static irqreturn_t au1xmmc_irq(void *dev_id)
{

u32 status;
diff --git a/drivers/mmc/host/imxmmc.c b/drivers/mmc/host/imxmmc.c
index 6ebc41e..e4adae6 100644
--- a/drivers/mmc/host/imxmmc.c
+++ b/drivers/mmc/host/imxmmc.c
@@ -650,7 +650,7 @@ static void imxmci_dma_irq(int dma, void *devid)
tasklet_schedule(&host->tasklet);
}

-static irqreturn_t imxmci_irq(int irq, void *devid)
+static irqreturn_t imxmci_irq(void *devid)
{
struct imxmci_host *host = devid;
uint32_t stat = MMC_STATUS;
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index d0eb0a2..fe55ed9 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -265,7 +265,7 @@ static int mmci_pio_write(struct mmci_host *host, char *buffer, unsigned int rem
/*
* PIO data transfer IRQ handler.
*/
-static irqreturn_t mmci_pio_irq(int irq, void *dev_id)
+static irqreturn_t mmci_pio_irq(void *dev_id)
{
struct mmci_host *host = dev_id;
void __iomem *base = host->base;
@@ -351,7 +351,7 @@ static irqreturn_t mmci_pio_irq(int irq, void *dev_id)
/*
* Handle completion of command and data transfers.
*/
-static irqreturn_t mmci_irq(int irq, void *dev_id)
+static irqreturn_t mmci_irq(void *dev_id)
{
struct mmci_host *host = dev_id;
u32 status;
diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index 60a67df..ebb6b71 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -430,7 +430,7 @@ static inline void mmc_omap_report_irq(u16 status)
}
}

-static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
+static irqreturn_t mmc_omap_irq(void *dev_id)
{
struct mmc_omap_host * host = (struct mmc_omap_host *)dev_id;
u16 status;
@@ -549,7 +549,7 @@ static irqreturn_t mmc_omap_irq(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t mmc_omap_switch_irq(int irq, void *dev_id)
+static irqreturn_t mmc_omap_switch_irq(void *dev_id)
{
struct mmc_omap_host *host = (struct mmc_omap_host *) dev_id;

diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
index 0601e01..23f170b 100644
--- a/drivers/mmc/host/pxamci.c
+++ b/drivers/mmc/host/pxamci.c
@@ -299,7 +299,7 @@ static int pxamci_data_done(struct pxamci_host *host, unsigned int stat)
return 1;
}

-static irqreturn_t pxamci_irq(int irq, void *devid)
+static irqreturn_t pxamci_irq(void *devid)
{
struct pxamci_host *host = devid;
unsigned int ireg;
@@ -442,7 +442,7 @@ static void pxamci_dma_irq(int dma, void *devid)
}
}

-static irqreturn_t pxamci_detect_irq(int irq, void *devid)
+static irqreturn_t pxamci_detect_irq(void *devid)
{
struct pxamci_host *host = mmc_priv(devid);

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index b397121..611a594 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1033,7 +1033,7 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
}
}

-static irqreturn_t sdhci_irq(int irq, void *dev_id)
+static irqreturn_t sdhci_irq(void *dev_id)
{
irqreturn_t result;
struct sdhci_host* host = dev_id;
diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
index 80db11c..9265942 100644
--- a/drivers/mmc/host/wbsd.c
+++ b/drivers/mmc/host/wbsd.c
@@ -1153,7 +1153,7 @@ end:
* Interrupt handling
*/

-static irqreturn_t wbsd_irq(int irq, void *dev_id)
+static irqreturn_t wbsd_irq(void *dev_id)
{
struct wbsd_host *host = dev_id;
int isr;
diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c
index 1e81171..fd4eb89 100644
--- a/drivers/mtd/nand/cafe_nand.c
+++ b/drivers/mtd/nand/cafe_nand.c
@@ -323,7 +323,7 @@ static void cafe_select_chip(struct mtd_info *mtd, int chipnr)
cafe->ctl1 &= ~CTRL1_CHIPSELECT;
}

-static int cafe_nand_interrupt(int irq, void *id)
+static int cafe_nand_interrupt(void *id)
{
struct mtd_info *mtd = id;
struct cafe_priv *cafe = mtd->priv;
diff --git a/drivers/parisc/dino.c b/drivers/parisc/dino.c
index 03c763c..d1e80f3 100644
--- a/drivers/parisc/dino.c
+++ b/drivers/parisc/dino.c
@@ -368,7 +368,7 @@ static struct hw_interrupt_type dino_interrupt_type = {
* ilr_loop counter is a kluge to prevent a "stuck" IRQ line from
* wedging the CPU. Could be removed or made optional at some point.
*/
-static irqreturn_t dino_isr(int irq, void *intr_dev)
+static irqreturn_t dino_isr(void *intr_dev)
{
struct dino_device *dino_dev = intr_dev;
u32 mask;
diff --git a/drivers/parisc/eisa.c b/drivers/parisc/eisa.c
index 771cef5..43a7523 100644
--- a/drivers/parisc/eisa.c
+++ b/drivers/parisc/eisa.c
@@ -198,7 +198,7 @@ static struct hw_interrupt_type eisa_interrupt_type = {
.end = no_end_irq,
};

-static irqreturn_t eisa_irq(int wax_irq, void *intr_dev)
+static irqreturn_t eisa_irq(void *intr_dev)
{
int irq = gsc_readb(0xfc01f000); /* EISA supports 16 irqs */
unsigned long flags;
diff --git a/drivers/parisc/gsc.c b/drivers/parisc/gsc.c
index 1b3e3fd..e4e9476 100644
--- a/drivers/parisc/gsc.c
+++ b/drivers/parisc/gsc.c
@@ -73,7 +73,7 @@ EXPORT_SYMBOL(gsc_alloc_irq);
EXPORT_SYMBOL(gsc_claim_irq);

/* Common interrupt demultiplexer used by Asp, Lasi & Wax. */
-irqreturn_t gsc_asic_intr(int gsc_asic_irq, void *dev)
+irqreturn_t gsc_asic_intr(void *dev)
{
unsigned long irr;
struct gsc_asic *gsc_asic = dev;
diff --git a/drivers/parisc/gsc.h b/drivers/parisc/gsc.h
index 762a1ba..fa5a906 100644
--- a/drivers/parisc/gsc.h
+++ b/drivers/parisc/gsc.h
@@ -44,4 +44,4 @@ void gsc_fixup_irqs(struct parisc_device *parent, void *ctrl,
void (*choose)(struct parisc_device *child, void *ctrl));
void gsc_asic_assign_irq(struct gsc_asic *asic, int local_irq, int *irqp);

-irqreturn_t gsc_asic_intr(int irq, void *dev);
+irqreturn_t gsc_asic_intr(void *dev);
diff --git a/drivers/parisc/superio.c b/drivers/parisc/superio.c
index 38cdf9f..82f9793 100644
--- a/drivers/parisc/superio.c
+++ b/drivers/parisc/superio.c
@@ -95,7 +95,7 @@ static struct superio_device sio_dev;
#define PFX SUPERIO ": "

static irqreturn_t
-superio_interrupt(int parent_irq, void *devp)
+superio_interrupt(void *devp)
{
u8 results;
u8 local_irq;
diff --git a/drivers/pci/hotplug/cpci_hotplug_core.c b/drivers/pci/hotplug/cpci_hotplug_core.c
index ed4d44e..cccfcf9 100644
--- a/drivers/pci/hotplug/cpci_hotplug_core.c
+++ b/drivers/pci/hotplug/cpci_hotplug_core.c
@@ -342,7 +342,7 @@ cpci_hp_unregister_bus(struct pci_bus *bus)

/* This is the interrupt mode interrupt handler */
static irqreturn_t
-cpci_hp_intr(int irq, void *data)
+cpci_hp_intr(void *data)
{
dbg("entered cpci_hp_intr");

diff --git a/drivers/pci/hotplug/cpqphp.h b/drivers/pci/hotplug/cpqphp.h
index 298ad7f..1200f1a 100644
--- a/drivers/pci/hotplug/cpqphp.h
+++ b/drivers/pci/hotplug/cpqphp.h
@@ -408,7 +408,7 @@ extern void cpqhp_remove_debugfs_files (struct controller *ctrl);

/* controller functions */
extern void cpqhp_pushbutton_thread (unsigned long event_pointer);
-extern irqreturn_t cpqhp_ctrl_intr (int IRQ, void *data);
+extern irqreturn_t cpqhp_ctrl_intr (void *data);
extern int cpqhp_find_available_resources (struct controller *ctrl, void __iomem *rom_start);
extern int cpqhp_event_start_thread (void);
extern void cpqhp_event_stop_thread (void);
diff --git a/drivers/pci/hotplug/cpqphp_ctrl.c b/drivers/pci/hotplug/cpqphp_ctrl.c
index 3ef0a48..b0dbe52 100644
--- a/drivers/pci/hotplug/cpqphp_ctrl.c
+++ b/drivers/pci/hotplug/cpqphp_ctrl.c
@@ -877,7 +877,7 @@ int cpqhp_resource_sort_and_combine(struct pci_resource **head)
}


-irqreturn_t cpqhp_ctrl_intr(int IRQ, void *data)
+irqreturn_t cpqhp_ctrl_intr(void *data)
{
struct controller *ctrl = data;
u8 schedule_flag = 0;
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index 06d025b..afad9e6 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -190,7 +190,7 @@ static inline int pciehp_writel(struct controller *ctrl, int reg, u32 value)
#define EMI_STATE 0x0080
#define EMI_STATUS_BIT 7

-static irqreturn_t pcie_isr(int irq, void *dev_id);
+static irqreturn_t pcie_isr(void *dev_id);
static void start_int_poll_timer(struct controller *ctrl, int sec);

/* This is the interrupt polling timeout function. */
@@ -199,7 +199,7 @@ static void int_poll_timeout(unsigned long data)
struct controller *ctrl = (struct controller *)data;

/* Poll for interrupt events. regs == NULL => polling */
- pcie_isr(0, ctrl);
+ pcie_isr(ctrl);

init_timer(&ctrl->poll_timer);
if (!pciehp_poll_time)
@@ -677,7 +677,7 @@ static int hpc_power_off_slot(struct slot * slot)
return retval;
}

-static irqreturn_t pcie_isr(int irq, void *dev_id)
+static irqreturn_t pcie_isr(void *dev_id)
{
struct controller *ctrl = (struct controller *)dev_id;
u16 slot_status, intr_detect, intr_loc;
diff --git a/drivers/pci/hotplug/shpchp_hpc.c b/drivers/pci/hotplug/shpchp_hpc.c
index 5183a45..2c56914 100644
--- a/drivers/pci/hotplug/shpchp_hpc.c
+++ b/drivers/pci/hotplug/shpchp_hpc.c
@@ -181,7 +181,7 @@

static atomic_t shpchp_num_controllers = ATOMIC_INIT(0);

-static irqreturn_t shpc_isr(int irq, void *dev_id);
+static irqreturn_t shpc_isr(void *dev_id);
static void start_int_poll_timer(struct controller *ctrl, int sec);
static int hpc_check_cmd_status(struct controller *ctrl);

@@ -236,7 +236,7 @@ static void int_poll_timeout(unsigned long data)
struct controller *ctrl = (struct controller *)data;

/* Poll for interrupt events. regs == NULL => polling */
- shpc_isr(0, ctrl);
+ shpc_isr(ctrl);

init_timer(&ctrl->poll_timer);
if (!shpchp_poll_time)
@@ -724,7 +724,7 @@ static int hpc_set_bus_speed_mode(struct slot * slot, enum pci_bus_speed value)
return retval;
}

-static irqreturn_t shpc_isr(int irq, void *dev_id)
+static irqreturn_t shpc_isr(void *dev_id)
{
struct controller *ctrl = (struct controller *)dev_id;
u32 serr_int, slot_reg, intr_loc, intr_loc2;
diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c
index 7a62f7d..411c975 100644
--- a/drivers/pci/pcie/aer/aerdrv.c
+++ b/drivers/pci/pcie/aer/aerdrv.c
@@ -90,12 +90,11 @@ void pci_no_aer(void)

/**
* aer_irq - Root Port's ISR
- * @irq: IRQ assigned to Root Port
* @context: pointer to Root Port data structure
*
* Invoked when Root Port detects AER messages.
**/
-static irqreturn_t aer_irq(int irq, void *context)
+static irqreturn_t aer_irq(void *context)
{
unsigned int status, id;
struct pcie_device *pdev = (struct pcie_device *)context;
diff --git a/drivers/pcmcia/at91_cf.c b/drivers/pcmcia/at91_cf.c
index eb6abd3..5a1eb99 100644
--- a/drivers/pcmcia/at91_cf.c
+++ b/drivers/pcmcia/at91_cf.c
@@ -66,7 +66,7 @@ static int at91_cf_ss_init(struct pcmcia_socket *s)
return 0;
}

-static irqreturn_t at91_cf_irq(int irq, void *_cf)
+static irqreturn_t at91_cf_irq(void *_cf)
{
struct at91_cf_socket *cf = _cf;

diff --git a/drivers/pcmcia/hd64465_ss.c b/drivers/pcmcia/hd64465_ss.c
index f2e810f..8c98066 100644
--- a/drivers/pcmcia/hd64465_ss.c
+++ b/drivers/pcmcia/hd64465_ss.c
@@ -648,7 +648,7 @@ static int hs_set_mem_map(struct pcmcia_socket *s, struct pccard_mem_map *mem)
* mapping the IREQ request from the card to a standard Linux
* IRQ, as requested by SocketServices.
*/
-static int hs_irq_demux(int irq, void *dev)
+static int hs_irq_demux(void *dev)
{
hs_socket_t *sp = dev;
u_int cscr;
@@ -671,7 +671,7 @@ static int hs_irq_demux(int irq, void *dev)
* Interrupt handling routine.
*/

-static irqreturn_t hs_interrupt(int irq, void *dev)
+static irqreturn_t hs_interrupt(void *dev)
{
hs_socket_t *sp = dev;
u_int events = 0;
diff --git a/drivers/pcmcia/i82092.c b/drivers/pcmcia/i82092.c
index df21e2d..31f651b 100644
--- a/drivers/pcmcia/i82092.c
+++ b/drivers/pcmcia/i82092.c
@@ -319,7 +319,7 @@ static int to_cycles(int ns)

/* Interrupt handler functionality */

-static irqreturn_t i82092aa_interrupt(int irq, void *dev)
+static irqreturn_t i82092aa_interrupt(void *dev)
{
int i;
int loopcount = 0;
diff --git a/drivers/pcmcia/i82092aa.h b/drivers/pcmcia/i82092aa.h
index b0d4533..709b84a 100644
--- a/drivers/pcmcia/i82092aa.h
+++ b/drivers/pcmcia/i82092aa.h
@@ -23,7 +23,7 @@
static int i82092aa_pci_probe(struct pci_dev *dev, const struct pci_device_id *id);
static void i82092aa_pci_remove(struct pci_dev *dev);
static int card_present(int socketno);
-static irqreturn_t i82092aa_interrupt(int irq, void *dev);
+static irqreturn_t i82092aa_interrupt(void *dev);



diff --git a/drivers/pcmcia/m32r_cfc.c b/drivers/pcmcia/m32r_cfc.c
index 91da15b..7ead634 100644
--- a/drivers/pcmcia/m32r_cfc.c
+++ b/drivers/pcmcia/m32r_cfc.c
@@ -371,7 +371,7 @@ static void add_pcc_socket(ulong base, int irq, ulong mapaddr, kio_addr_t ioaddr

/*====================================================================*/

-static irqreturn_t pcc_interrupt(int irq, void *dev)
+static irqreturn_t pcc_interrupt(void *dev)
{
int i;
u_int events = 0;
diff --git a/drivers/pcmcia/m32r_pcc.c b/drivers/pcmcia/m32r_pcc.c
index 67d28ee..9ae6311 100644
--- a/drivers/pcmcia/m32r_pcc.c
+++ b/drivers/pcmcia/m32r_pcc.c
@@ -266,7 +266,7 @@ static pcc_t pcc[] = {
{ "xnux2", 0 }, { "xnux2", 0 },
};

-static irqreturn_t pcc_interrupt(int, void *);
+static irqreturn_t pcc_interrupt(void *);

/*====================================================================*/

@@ -351,7 +351,7 @@ static void add_pcc_socket(ulong base, int irq, ulong mapaddr, kio_addr_t ioaddr

/*====================================================================*/

-static irqreturn_t pcc_interrupt(int irq, void *dev)
+static irqreturn_t pcc_interrupt(void *dev)
{
int i, j, irc;
u_int events, active;
diff --git a/drivers/pcmcia/m8xx_pcmcia.c b/drivers/pcmcia/m8xx_pcmcia.c
index b019854..bdc67f8 100644
--- a/drivers/pcmcia/m8xx_pcmcia.c
+++ b/drivers/pcmcia/m8xx_pcmcia.c
@@ -262,7 +262,7 @@ static const u32 m8xx_size_to_gray[M8XX_SIZES_NO] = {

/* ------------------------------------------------------------------------- */

-static irqreturn_t m8xx_interrupt(int irq, void *dev);
+static irqreturn_t m8xx_interrupt(void *dev);

#define PCMCIA_BMT_LIMIT (15*4) /* Bus Monitor Timeout value */

@@ -559,7 +559,7 @@ static int voltage_set(int slot, int vcc, int vpp)
static u32 pending_events[PCMCIA_SOCKETS_NO];
static DEFINE_SPINLOCK(pending_event_lock);

-static irqreturn_t m8xx_interrupt(int irq, void *dev)
+static irqreturn_t m8xx_interrupt(void *dev)
{
struct socket_info *s;
struct event_table *e;
diff --git a/drivers/pcmcia/omap_cf.c b/drivers/pcmcia/omap_cf.c
index 2df216b..59b3a95 100644
--- a/drivers/pcmcia/omap_cf.c
+++ b/drivers/pcmcia/omap_cf.c
@@ -101,7 +101,7 @@ static void omap_cf_timer(unsigned long _cf)
* claim the card's IRQ. It may also detect some card insertions, but
* not removals; it can't always eliminate timer irqs.
*/
-static irqreturn_t omap_cf_irq(int irq, void *_cf)
+static irqreturn_t omap_cf_irq(void *_cf)
{
omap_cf_timer((unsigned long)_cf);
return IRQ_HANDLED;
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 0ce39de..09fe356 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -783,7 +783,7 @@ EXPORT_SYMBOL(pcmcia_request_io);
*/

#ifdef CONFIG_PCMCIA_PROBE
-static irqreturn_t test_action(int cpl, void *dev_id)
+static irqreturn_t test_action(void *dev_id)
{
return IRQ_NONE;
}
diff --git a/drivers/pcmcia/pd6729.c b/drivers/pcmcia/pd6729.c
index abc10fe..d51ab87 100644
--- a/drivers/pcmcia/pd6729.c
+++ b/drivers/pcmcia/pd6729.c
@@ -182,7 +182,7 @@ static void indirect_write16(struct pd6729_socket *socket, unsigned short reg,

/* Interrupt handler functionality */

-static irqreturn_t pd6729_interrupt(int irq, void *dev)
+static irqreturn_t pd6729_interrupt(void *dev)
{
struct pd6729_socket *socket = (struct pd6729_socket *)dev;
int i;
@@ -249,7 +249,7 @@ static void pd6729_interrupt_wrapper(unsigned long data)
{
struct pd6729_socket *socket = (struct pd6729_socket *) data;

- pd6729_interrupt(0, (void *)socket);
+ pd6729_interrupt(socket);
mod_timer(&socket->poll_timer, jiffies + HZ);
}

@@ -575,7 +575,7 @@ static struct pccard_operations pd6729_operations = {
.set_mem_map = pd6729_set_mem_map,
};

-static irqreturn_t pd6729_test(int irq, void *dev)
+static irqreturn_t pd6729_test(void *dev)
{
dprintk("-> hit on irq %d\n", irq);
return IRQ_HANDLED;
diff --git a/drivers/pcmcia/soc_common.c b/drivers/pcmcia/soc_common.c
index aa7779d..1e2eee6 100644
--- a/drivers/pcmcia/soc_common.c
+++ b/drivers/pcmcia/soc_common.c
@@ -256,7 +256,7 @@ static void soc_common_pcmcia_poll_event(unsigned long dummy)
* handling code performs scheduling operations which cannot be
* executed from within an interrupt context.
*/
-static irqreturn_t soc_common_pcmcia_interrupt(int irq, void *dev)
+static irqreturn_t soc_common_pcmcia_interrupt(void *dev)
{
struct soc_pcmcia_socket *skt = dev;

diff --git a/drivers/pcmcia/vrc4171_card.c b/drivers/pcmcia/vrc4171_card.c
index eee2f1c..ca2785e 100644
--- a/drivers/pcmcia/vrc4171_card.c
+++ b/drivers/pcmcia/vrc4171_card.c
@@ -513,7 +513,7 @@ static inline unsigned int get_events(int slot)
return events;
}

-static irqreturn_t pccard_interrupt(int irq, void *dev_id)
+static irqreturn_t pccard_interrupt(void *dev_id)
{
vrc4171_socket_t *socket;
unsigned int events;
diff --git a/drivers/pcmcia/vrc4173_cardu.c b/drivers/pcmcia/vrc4173_cardu.c
index 812f038..491bbb4 100644
--- a/drivers/pcmcia/vrc4173_cardu.c
+++ b/drivers/pcmcia/vrc4173_cardu.c
@@ -440,7 +440,7 @@ static uint16_t get_events(vrc4173_socket_t *socket)
return events;
}

-static void cardu_interrupt(int irq, void *dev_id)
+static void cardu_interrupt(void *dev_id)
{
vrc4173_socket_t *socket = (vrc4173_socket_t *)dev_id;
uint16_t events;
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 20853a0..a4e9f91 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -441,7 +441,7 @@ static int yenta_set_mem_map(struct pcmcia_socket *sock, struct pccard_mem_map *



-static irqreturn_t yenta_interrupt(int irq, void *dev_id)
+static irqreturn_t yenta_interrupt(void *dev_id)
{
unsigned int events;
struct yenta_socket *socket = (struct yenta_socket *) dev_id;
@@ -477,7 +477,7 @@ static void yenta_interrupt_wrapper(unsigned long data)
{
struct yenta_socket *socket = (struct yenta_socket *) data;

- yenta_interrupt(0, (void *)socket);
+ yenta_interrupt(socket);
socket->poll_timer.expires = jiffies + HZ;
add_timer(&socket->poll_timer);
}
@@ -895,7 +895,7 @@ static unsigned int yenta_probe_irq(struct yenta_socket *socket, u32 isa_irq_mas
#ifdef CONFIG_YENTA_TI

/* interrupt handler, only used during probing */
-static irqreturn_t yenta_probe_handler(int irq, void *dev_id)
+static irqreturn_t yenta_probe_handler(void *dev_id)
{
struct yenta_socket *socket = (struct yenta_socket *) dev_id;
u8 csc;
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c
index 41d73a5..d0c1811 100644
--- a/drivers/pnp/resource.c
+++ b/drivers/pnp/resource.c
@@ -329,7 +329,7 @@ int pnp_check_mem(struct pnp_dev *dev, int idx)
return 1;
}

-static irqreturn_t pnp_test_handler(int irq, void *dev_id)
+static irqreturn_t pnp_test_handler(void *dev_id)
{
return IRQ_HANDLED;
}
diff --git a/drivers/power/pda_power.c b/drivers/power/pda_power.c
index c058f28..6bd215f 100644
--- a/drivers/power/pda_power.c
+++ b/drivers/power/pda_power.c
@@ -117,7 +117,7 @@ static void charger_timer_func(unsigned long power_supply_ptr)
jiffies + msecs_to_jiffies(pdata->wait_for_charger));
}

-static irqreturn_t power_changed_isr(int irq, void *power_supply)
+static irqreturn_t power_changed_isr(void *power_supply)
{
/* Wait a bit before reading ac/usb line status and setting charger,
* because ac/usb status readings may lag from irq. */
diff --git a/drivers/rtc/rtc-cmos.c b/drivers/rtc/rtc-cmos.c
index e3fe83a..e2812b0 100644
--- a/drivers/rtc/rtc-cmos.c
+++ b/drivers/rtc/rtc-cmos.c
@@ -394,7 +394,7 @@ static const struct rtc_class_ops cmos_rtc_ops = {

static struct cmos_rtc cmos_rtc;

-static irqreturn_t cmos_interrupt(int irq, void *p)
+static irqreturn_t cmos_interrupt(void *p)
{
u8 irqstat;

diff --git a/drivers/rtc/rtc-ds1553.c b/drivers/rtc/rtc-ds1553.c
index bb53c09..429bf98 100644
--- a/drivers/rtc/rtc-ds1553.c
+++ b/drivers/rtc/rtc-ds1553.c
@@ -189,7 +189,7 @@ static int ds1553_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
return 0;
}

-static irqreturn_t ds1553_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t ds1553_rtc_interrupt(void *dev_id)
{
struct platform_device *pdev = dev_id;
struct rtc_plat_data *pdata = platform_get_drvdata(pdev);
diff --git a/drivers/rtc/rtc-m48t59.c b/drivers/rtc/rtc-m48t59.c
index bf60d35..cedcf9e 100644
--- a/drivers/rtc/rtc-m48t59.c
+++ b/drivers/rtc/rtc-m48t59.c
@@ -281,7 +281,7 @@ static int m48t59_rtc_proc(struct device *dev, struct seq_file *seq)
/*
* IRQ handler for the RTC
*/
-static irqreturn_t m48t59_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t m48t59_rtc_interrupt(void *dev_id)
{
struct device *dev = (struct device *)dev_id;
struct platform_device *pdev = to_platform_device(dev);
diff --git a/drivers/rtc/rtc-pl031.c b/drivers/rtc/rtc-pl031.c
index e4bf68c..b6359f8 100644
--- a/drivers/rtc/rtc-pl031.c
+++ b/drivers/rtc/rtc-pl031.c
@@ -47,7 +47,7 @@ struct pl031_local {
void __iomem *base;
};

-static irqreturn_t pl031_interrupt(int irq, void *dev_id)
+static irqreturn_t pl031_interrupt(void *dev_id)
{
struct rtc_device *rtc = dev_id;

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 8c1012b..1505d36 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -46,7 +46,7 @@ static unsigned int tick_count;

/* IRQ Handlers */

-static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
+static irqreturn_t s3c_rtc_alarmirq(void *id)
{
struct rtc_device *rdev = id;

@@ -54,7 +54,7 @@ static irqreturn_t s3c_rtc_alarmirq(int irq, void *id)
return IRQ_HANDLED;
}

-static irqreturn_t s3c_rtc_tickirq(int irq, void *id)
+static irqreturn_t s3c_rtc_tickirq(void *id)
{
struct rtc_device *rdev = id;

diff --git a/drivers/rtc/rtc-sa1100.c b/drivers/rtc/rtc-sa1100.c
index 0918b78..85b17a5 100644
--- a/drivers/rtc/rtc-sa1100.c
+++ b/drivers/rtc/rtc-sa1100.c
@@ -68,7 +68,7 @@ static int rtc_update_alarm(struct rtc_time *alrm)
return ret;
}

-static irqreturn_t sa1100_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t sa1100_rtc_interrupt(void *dev_id)
{
struct platform_device *pdev = to_platform_device(dev_id);
struct rtc_device *rtc = platform_get_drvdata(pdev);
@@ -105,7 +105,7 @@ static irqreturn_t sa1100_rtc_interrupt(int irq, void *dev_id)

static int rtc_timer1_count;

-static irqreturn_t timer1_interrupt(int irq, void *dev_id)
+static irqreturn_t timer1_interrupt(void *dev_id)
{
struct platform_device *pdev = to_platform_device(dev_id);
struct rtc_device *rtc = platform_get_drvdata(pdev);
diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index 78277a1..22500da 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -86,7 +86,7 @@ struct sh_rtc {
unsigned long capabilities; /* See asm-sh/rtc.h for cap bits */
};

-static irqreturn_t sh_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t sh_rtc_interrupt(void *dev_id)
{
struct platform_device *pdev = to_platform_device(dev_id);
struct sh_rtc *rtc = platform_get_drvdata(pdev);
@@ -115,7 +115,7 @@ static irqreturn_t sh_rtc_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t sh_rtc_alarm(int irq, void *dev_id)
+static irqreturn_t sh_rtc_alarm(void *dev_id)
{
struct platform_device *pdev = to_platform_device(dev_id);
struct sh_rtc *rtc = platform_get_drvdata(pdev);
@@ -150,7 +150,7 @@ static irqreturn_t sh_rtc_alarm(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t sh_rtc_periodic(int irq, void *dev_id)
+static irqreturn_t sh_rtc_periodic(void *dev_id)
{
struct platform_device *pdev = to_platform_device(dev_id);
struct sh_rtc *rtc = platform_get_drvdata(pdev);
diff --git a/drivers/rtc/rtc-stk17ta8.c b/drivers/rtc/rtc-stk17ta8.c
index 8288b6b..0e98f29 100644
--- a/drivers/rtc/rtc-stk17ta8.c
+++ b/drivers/rtc/rtc-stk17ta8.c
@@ -197,7 +197,7 @@ static int stk17ta8_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
return 0;
}

-static irqreturn_t stk17ta8_rtc_interrupt(int irq, void *dev_id)
+static irqreturn_t stk17ta8_rtc_interrupt(void *dev_id)
{
struct platform_device *pdev = dev_id;
struct rtc_plat_data *pdata = platform_get_drvdata(pdev);
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c
index ce2f78d..8dfbad8 100644
--- a/drivers/rtc/rtc-vr41xx.c
+++ b/drivers/rtc/rtc-vr41xx.c
@@ -274,7 +274,7 @@ static int vr41xx_rtc_ioctl(struct device *dev, unsigned int cmd, unsigned long
return 0;
}

-static irqreturn_t elapsedtime_interrupt(int irq, void *dev_id)
+static irqreturn_t elapsedtime_interrupt(void *dev_id)
{
struct platform_device *pdev = (struct platform_device *)dev_id;
struct rtc_device *rtc = platform_get_drvdata(pdev);
@@ -286,7 +286,7 @@ static irqreturn_t elapsedtime_interrupt(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t rtclong1_interrupt(int irq, void *dev_id)
+static irqreturn_t rtclong1_interrupt(void *dev_id)
{
struct platform_device *pdev = (struct platform_device *)dev_id;
struct rtc_device *rtc = platform_get_drvdata(pdev);
diff --git a/drivers/sbus/char/bbc_i2c.c b/drivers/sbus/char/bbc_i2c.c
index ac8ef2c..988f534 100644
--- a/drivers/sbus/char/bbc_i2c.c
+++ b/drivers/sbus/char/bbc_i2c.c
@@ -332,7 +332,7 @@ EXPORT_SYMBOL(bbc_i2c_readb);
EXPORT_SYMBOL(bbc_i2c_write_buf);
EXPORT_SYMBOL(bbc_i2c_read_buf);

-static irqreturn_t bbc_i2c_interrupt(int irq, void *dev_id)
+static irqreturn_t bbc_i2c_interrupt(void *dev_id)
{
struct bbc_i2c_bus *bp = dev_id;

diff --git a/drivers/sbus/char/cpwatchdog.c b/drivers/sbus/char/cpwatchdog.c
index 7b5773d..b926988 100644
--- a/drivers/sbus/char/cpwatchdog.c
+++ b/drivers/sbus/char/cpwatchdog.c
@@ -185,7 +185,7 @@ MODULE_SUPPORTED_DEVICE
#ifdef WD_DEBUG
static void wd_dumpregs(void);
#endif
-static irqreturn_t wd_interrupt(int irq, void *dev_id);
+static irqreturn_t wd_interrupt(void *dev_id);
static void wd_toggleintr(struct wd_timer* pTimer, int enable);
static void wd_pingtimer(struct wd_timer* pTimer);
static void wd_starttimer(struct wd_timer* pTimer);
@@ -444,7 +444,7 @@ static ssize_t wd_read(struct file * file, char __user *buffer,
#endif /* ifdef WD_DEBUG */
}

-static irqreturn_t wd_interrupt(int irq, void *dev_id)
+static irqreturn_t wd_interrupt(void *dev_id)
{
/* Only WD0 will interrupt-- others are NMI and we won't
* see them here....
diff --git a/drivers/sbus/char/uctrl.c b/drivers/sbus/char/uctrl.c
index 44d2ef9..5a1ed8d 100644
--- a/drivers/sbus/char/uctrl.c
+++ b/drivers/sbus/char/uctrl.c
@@ -216,7 +216,7 @@ uctrl_open(struct inode *inode, struct file *file)
return 0;
}

-static irqreturn_t uctrl_interrupt(int irq, void *dev_id)
+static irqreturn_t uctrl_interrupt(void *dev_id)
{
struct uctrl_driver *driver = (struct uctrl_driver *)dev_id;
printk("in uctrl_interrupt\n");
diff --git a/drivers/serial/21285.c b/drivers/serial/21285.c
index facb678..d15c39e 100644
--- a/drivers/serial/21285.c
+++ b/drivers/serial/21285.c
@@ -85,7 +85,7 @@ static void serial21285_enable_ms(struct uart_port *port)
{
}

-static irqreturn_t serial21285_rx_chars(int irq, void *dev_id)
+static irqreturn_t serial21285_rx_chars(void *dev_id)
{
struct uart_port *port = dev_id;
struct tty_struct *tty = port->info->tty;
@@ -123,7 +123,7 @@ static irqreturn_t serial21285_rx_chars(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t serial21285_tx_chars(int irq, void *dev_id)
+static irqreturn_t serial21285_tx_chars(void *dev_id)
{
struct uart_port *port = dev_id;
struct circ_buf *xmit = &port->info->xmit;
diff --git a/drivers/serial/68328serial.c b/drivers/serial/68328serial.c
index aad4012..092bc5e 100644
--- a/drivers/serial/68328serial.c
+++ b/drivers/serial/68328serial.c
@@ -375,7 +375,7 @@ clear_and_return:
/*
* This is the serial driver's generic interrupt routine
*/
-irqreturn_t rs_interrupt(int irq, void *dev_id)
+irqreturn_t rs_interrupt(void *dev_id)
{
struct m68k_serial * info;
m68328_uart *uart;
diff --git a/drivers/serial/amba-pl010.c b/drivers/serial/amba-pl010.c
index e88da72..8047dc6 100644
--- a/drivers/serial/amba-pl010.c
+++ b/drivers/serial/amba-pl010.c
@@ -230,7 +230,7 @@ static void pl010_modem_status(struct uart_amba_port *uap)
wake_up_interruptible(&uap->port.info->delta_msr_wait);
}

-static irqreturn_t pl010_int(int irq, void *dev_id)
+static irqreturn_t pl010_int(void *dev_id)
{
struct uart_amba_port *uap = dev_id;
unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT;
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c
index 72229df..fb11364 100644
--- a/drivers/serial/amba-pl011.c
+++ b/drivers/serial/amba-pl011.c
@@ -214,7 +214,7 @@ static void pl011_modem_status(struct uart_amba_port *uap)
wake_up_interruptible(&uap->port.info->delta_msr_wait);
}

-static irqreturn_t pl011_int(int irq, void *dev_id)
+static irqreturn_t pl011_int(void *dev_id)
{
struct uart_amba_port *uap = dev_id;
unsigned int status, pass_counter = AMBA_ISR_PASS_LIMIT;
diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 4d6b3c5..ba3703d 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -358,7 +358,7 @@ static void atmel_tx_chars(struct uart_port *port)
/*
* Interrupt handler
*/
-static irqreturn_t atmel_interrupt(int irq, void *dev_id)
+static irqreturn_t atmel_interrupt(void *dev_id)
{
struct uart_port *port = dev_id;
struct atmel_uart_port *atmel_port = (struct atmel_uart_port *) port;
diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c
index 2382718..ef4c6d7 100644
--- a/drivers/serial/clps711x.c
+++ b/drivers/serial/clps711x.c
@@ -93,7 +93,7 @@ static void clps711xuart_enable_ms(struct uart_port *port)
{
}

-static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id)
+static irqreturn_t clps711xuart_int_rx(void *dev_id)
{
struct uart_port *port = dev_id;
struct tty_struct *tty = port->info->tty;
@@ -147,7 +147,7 @@ static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t clps711xuart_int_tx(int irq, void *dev_id)
+static irqreturn_t clps711xuart_int_tx(void *dev_id)
{
struct uart_port *port = dev_id;
struct circ_buf *xmit = &port->info->xmit;
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c
index b5e4478..9a62717 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -377,7 +377,7 @@ static void cpm_uart_int_rx(struct uart_port *port)
/*
* Asynchron mode interrupt handler
*/
-static irqreturn_t cpm_uart_int(int irq, void *data)
+static irqreturn_t cpm_uart_int(void *data)
{
u8 events;
struct uart_port *port = (struct uart_port *)data;
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c
index 7e8724d..868288c 100644
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -2348,7 +2348,7 @@ start_receive(struct e100_serial *info)
*/

static irqreturn_t
-tr_interrupt(int irq, void *dev_id)
+tr_interrupt(void *dev_id)
{
struct e100_serial *info;
unsigned long ireg;
@@ -2397,7 +2397,7 @@ tr_interrupt(int irq, void *dev_id)
/* dma input channel interrupt handler */

static irqreturn_t
-rec_interrupt(int irq, void *dev_id)
+rec_interrupt(void *dev_id)
{
struct e100_serial *info;
unsigned long ireg;
@@ -3011,7 +3011,7 @@ static void handle_ser_tx_interrupt(struct e100_serial *info)
* ser_int duration: just sending: 8-15 us normally, up to 73 us
*/
static irqreturn_t
-ser_interrupt(int irq, void *dev_id)
+ser_interrupt(void *dev_id)
{
static volatile int tx_started = 0;
struct e100_serial *info;
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c
index d31721f..92b0bee 100644
--- a/drivers/serial/dz.c
+++ b/drivers/serial/dz.c
@@ -322,7 +322,7 @@ static inline void check_modem_status(struct dz_port *dport)
* It deals with the multiple ports.
* ------------------------------------------------------------
*/
-static irqreturn_t dz_interrupt(int irq, void *dev)
+static irqreturn_t dz_interrupt(void *dev)
{
struct dz_port *dport = (struct dz_port *)dev;
unsigned short status;
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c
index 9d3105b..f665789 100644
--- a/drivers/serial/icom.c
+++ b/drivers/serial/icom.c
@@ -849,7 +849,7 @@ static void process_interrupt(u16 port_int_reg,
spin_unlock(&icom_port->uart_port.lock);
}

-static irqreturn_t icom_interrupt(int irq, void *dev_id)
+static irqreturn_t icom_interrupt(void *dev_id)
{
void __iomem * int_reg;
u32 adapter_interrupts;
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index dc19671..2c2625e 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -306,7 +306,7 @@ static void imx_start_tx(struct uart_port *port)
imx_transmit_buffer(sport);
}

-static irqreturn_t imx_rtsint(int irq, void *dev_id)
+static irqreturn_t imx_rtsint(void *dev_id)
{
struct imx_port *sport = (struct imx_port *)dev_id;
unsigned int val = readl(sport->port.membase + USR1) & USR1_RTSS;
@@ -322,7 +322,7 @@ static irqreturn_t imx_rtsint(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t imx_txint(int irq, void *dev_id)
+static irqreturn_t imx_txint(void *dev_id)
{
struct imx_port *sport = (struct imx_port *)dev_id;
struct circ_buf *xmit = &sport->port.info->xmit;
@@ -351,7 +351,7 @@ out:
return IRQ_HANDLED;
}

-static irqreturn_t imx_rxint(int irq, void *dev_id)
+static irqreturn_t imx_rxint(void *dev_id)
{
struct imx_port *sport = dev_id;
unsigned int rx,flg,ignored = 0;
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
index 0c17938..90bb3cb 100644
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -985,11 +985,10 @@ intr_connect(struct ioc4_soft *soft, int type,

/**
* ioc4_intr - Top level IOC4 interrupt handler.
- * @irq: irq value
* @arg: handler arg
*/

-static irqreturn_t ioc4_intr(int irq, void *arg)
+static irqreturn_t ioc4_intr(void *arg)
{
struct ioc4_soft *soft;
uint32_t this_ir, this_mir;
diff --git a/drivers/serial/ip22zilog.c b/drivers/serial/ip22zilog.c
index f3257f7..4611c29 100644
--- a/drivers/serial/ip22zilog.c
+++ b/drivers/serial/ip22zilog.c
@@ -440,7 +440,7 @@ ack_tx_int:
ZS_WSYNC(channel);
}

-static irqreturn_t ip22zilog_interrupt(int irq, void *dev_id)
+static irqreturn_t ip22zilog_interrupt(void *dev_id)
{
struct uart_ip22zilog_port *up = dev_id;

diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c
index b2d6f5b..0faa7e0 100644
--- a/drivers/serial/jsm/jsm_neo.c
+++ b/drivers/serial/jsm/jsm_neo.c
@@ -1119,7 +1119,7 @@ static void neo_param(struct jsm_channel *ch)
*
* Neo specific interrupt handler.
*/
-static irqreturn_t neo_intr(int irq, void *voidbrd)
+static irqreturn_t neo_intr(void *voidbrd)
{
struct jsm_board *brd = voidbrd;
struct jsm_channel *ch;
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
index 348ee2c..35653cd 100644
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -462,7 +462,7 @@ static inline void m32r_sio_handle_port(struct uart_sio_port *up,
* This means we need to loop through all ports. checking that they
* don't have an interrupt pending.
*/
-static irqreturn_t m32r_sio_interrupt(int irq, void *dev_id)
+static irqreturn_t m32r_sio_interrupt(void *dev_id)
{
struct irq_info *i = dev_id;
struct list_head *l, *end = NULL;
diff --git a/drivers/serial/mcfserial.c b/drivers/serial/mcfserial.c
index 99af084..363e97c 100644
--- a/drivers/serial/mcfserial.c
+++ b/drivers/serial/mcfserial.c
@@ -404,7 +404,7 @@ static inline void transmit_chars(struct mcf_serial *info)
/*
* This is the serial driver's generic interrupt routine
*/
-irqreturn_t mcfrs_interrupt(int irq, void *dev_id)
+irqreturn_t mcfrs_interrupt(void *dev_id)
{
struct mcf_serial *info;
unsigned char isr;
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index ec36ad7..d6e1dfa 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -114,7 +114,7 @@ static void mpc52xx_uart_of_enumerate(void);


/* Forward declaration of the interruption handling routine */
-static irqreturn_t mpc52xx_uart_int(int irq,void *dev_id);
+static irqreturn_t mpc52xx_uart_int(void *dev_id);


/* Simple macro to test if a port is console or not. This one is taken
@@ -548,7 +548,7 @@ mpc52xx_uart_int_tx_chars(struct uart_port *port)
}

static irqreturn_t
-mpc52xx_uart_int(int irq, void *dev_id)
+mpc52xx_uart_int(void *dev_id)
{
struct uart_port *port = dev_id;
unsigned long pass = ISR_PASS_LIMIT;
diff --git a/drivers/serial/mpsc.c b/drivers/serial/mpsc.c
index 4d643c9..97ba6e8 100644
--- a/drivers/serial/mpsc.c
+++ b/drivers/serial/mpsc.c
@@ -1196,7 +1196,7 @@ static int mpsc_tx_intr(struct mpsc_port_info *pi)
* the interrupt, then handle any completed Rx/Tx descriptors. When done
* handling those descriptors, we restart the Rx/Tx engines if they're stopped.
*/
-static irqreturn_t mpsc_sdma_intr(int irq, void *dev_id)
+static irqreturn_t mpsc_sdma_intr(void *dev_id)
{
struct mpsc_port_info *pi = dev_id;
ulong iflags;
diff --git a/drivers/serial/netx-serial.c b/drivers/serial/netx-serial.c
index b56f7db..e707567 100644
--- a/drivers/serial/netx-serial.c
+++ b/drivers/serial/netx-serial.c
@@ -245,7 +245,7 @@ static void netx_rxint(struct uart_port *port)
return;
}

-static irqreturn_t netx_int(int irq, void *dev_id)
+static irqreturn_t netx_int(void *dev_id)
{
struct uart_port *port = dev_id;
unsigned long flags;
diff --git a/drivers/serial/pmac_zilog.c b/drivers/serial/pmac_zilog.c
index 794bd0f..e58cdd9 100644
--- a/drivers/serial/pmac_zilog.c
+++ b/drivers/serial/pmac_zilog.c
@@ -448,7 +448,7 @@ ack_tx_int:
}

/* Hrm... we register that twice, fixme later.... */
-static irqreturn_t pmz_interrupt(int irq, void *dev_id)
+static irqreturn_t pmz_interrupt(void *dev_id)
{
struct uart_pmac_port *uap = dev_id;
struct uart_pmac_port *uap_a;
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c
index af3a011..d9c3205 100644
--- a/drivers/serial/pxa.c
+++ b/drivers/serial/pxa.c
@@ -231,7 +231,7 @@ static inline void check_modem_status(struct uart_pxa_port *up)
/*
* This handles the interrupt from one port.
*/
-static inline irqreturn_t serial_pxa_irq(int irq, void *dev_id)
+static inline irqreturn_t serial_pxa_irq(void *dev_id)
{
struct uart_pxa_port *up = dev_id;
unsigned int iir, lsr;
diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c
index 3f26c4b..0dcfb6f 100644
--- a/drivers/serial/s3c2410.c
+++ b/drivers/serial/s3c2410.c
@@ -310,7 +310,7 @@ static int s3c24xx_serial_rx_fifocnt(struct s3c24xx_uart_port *ourport,
#define S3C2410_UERSTAT_PARITY (0x1000)

static irqreturn_t
-s3c24xx_serial_rx_chars(int irq, void *dev_id)
+s3c24xx_serial_rx_chars(void *dev_id)
{
struct s3c24xx_uart_port *ourport = dev_id;
struct uart_port *port = &ourport->port;
@@ -393,7 +393,7 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id)
return IRQ_HANDLED;
}

-static irqreturn_t s3c24xx_serial_tx_chars(int irq, void *id)
+static irqreturn_t s3c24xx_serial_tx_chars(void *id)
{
struct s3c24xx_uart_port *ourport = id;
struct uart_port *port = &ourport->port;
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c
index 58a83c2..e016ad6 100644
--- a/drivers/serial/sa1100.c
+++ b/drivers/serial/sa1100.c
@@ -281,7 +281,7 @@ static void sa1100_tx_chars(struct sa1100_port *sport)
sa1100_stop_tx(&sport->port);
}

-static irqreturn_t sa1100_int(int irq, void *dev_id)
+static irqreturn_t sa1100_int(void *dev_id)
{
struct sa1100_port *sport = dev_id;
unsigned int status, pass_counter = 0;
diff --git a/drivers/serial/serial_lh7a40x.c b/drivers/serial/serial_lh7a40x.c
index eb18d42..5f8934d 100644
--- a/drivers/serial/serial_lh7a40x.c
+++ b/drivers/serial/serial_lh7a40x.c
@@ -243,7 +243,7 @@ static void lh7a40xuart_modem_status (struct uart_port* port)
wake_up_interruptible (&port->info->delta_msr_wait);
}

-static irqreturn_t lh7a40xuart_int (int irq, void* dev_id)
+static irqreturn_t lh7a40xuart_int (void *dev_id)
{
struct uart_port* port = dev_id;
unsigned int cLoopLimit = ISR_LOOP_LIMIT;
diff --git a/drivers/serial/serial_txx9.c b/drivers/serial/serial_txx9.c
index 6846a6c..3ce9905 100644
--- a/drivers/serial/serial_txx9.c
+++ b/drivers/serial/serial_txx9.c
@@ -378,7 +378,7 @@ static inline void transmit_chars(struct uart_txx9_port *up)
serial_txx9_stop_tx(&up->port);
}

-static irqreturn_t serial_txx9_interrupt(int irq, void *dev_id)
+static irqreturn_t serial_txx9_interrupt(void *dev_id)
{
int pass_counter = 0;
struct uart_txx9_port *up = dev_id;
diff --git a/drivers/serial/sh-sci.c b/drivers/serial/sh-sci.c
index 73440e2..9f982da 100644
--- a/drivers/serial/sh-sci.c
+++ b/drivers/serial/sh-sci.c
@@ -734,7 +734,7 @@ static irqreturn_t sci_rx_interrupt(int irq, void *port)
return IRQ_HANDLED;
}

-static irqreturn_t sci_tx_interrupt(int irq, void *ptr)
+static irqreturn_t sci_tx_interrupt(void *ptr)
{
struct uart_port *port = ptr;

@@ -745,7 +745,7 @@ static irqreturn_t sci_tx_interrupt(int irq, void *ptr)
return IRQ_HANDLED;
}

-static irqreturn_t sci_er_interrupt(int irq, void *ptr)
+static irqreturn_t sci_er_interrupt(void *ptr)
{
struct uart_port *port = ptr;

@@ -778,7 +778,7 @@ static irqreturn_t sci_er_interrupt(int irq, void *ptr)
return IRQ_HANDLED;
}

-static irqreturn_t sci_br_interrupt(int irq, void *ptr)
+static irqreturn_t sci_br_interrupt(void *ptr)
{
struct uart_port *port = ptr;

@@ -789,7 +789,7 @@ static irqreturn_t sci_br_interrupt(int irq, void *ptr)
return IRQ_HANDLED;
}

-static irqreturn_t sci_mpxed_interrupt(int irq, void *ptr)
+static irqreturn_t sci_mpxed_interrupt(void *ptr)
{
unsigned short ssr_status, scr_status;
struct uart_port *port = ptr;
@@ -860,7 +860,7 @@ static struct notifier_block sci_nb = { &sci_notifier, NULL, 0 };
static int sci_request_irq(struct sci_port *port)
{
int i;
- irqreturn_t (*handlers[4])(int irq, void *ptr) = {
+ irqreturn_t (*handlers[4])(void *ptr) = {
sci_er_interrupt, sci_rx_interrupt, sci_tx_interrupt,
sci_br_interrupt,
};
diff --git a/drivers/serial/sn_console.c b/drivers/serial/sn_console.c
index 41fc612..06ce7db 100644
--- a/drivers/serial/sn_console.c
+++ b/drivers/serial/sn_console.c
@@ -615,7 +615,7 @@ static void sn_transmit_chars(struct sn_cons_port *port, int raw)
* @dev_id: our pointer to our port (sn_cons_port which contains the uart port)
*
*/
-static irqreturn_t sn_sal_interrupt(int irq, void *dev_id)
+static irqreturn_t sn_sal_interrupt(void *dev_id)
{
struct sn_cons_port *port = (struct sn_cons_port *)dev_id;
unsigned long flags;
diff --git a/drivers/serial/sunhv.c b/drivers/serial/sunhv.c
index 8ff900b..80edbf0 100644
--- a/drivers/serial/sunhv.c
+++ b/drivers/serial/sunhv.c
@@ -210,7 +210,7 @@ static void transmit_chars(struct uart_port *port)
uart_write_wakeup(port);
}

-static irqreturn_t sunhv_interrupt(int irq, void *dev_id)
+static irqreturn_t sunhv_interrupt(void *dev_id)
{
struct uart_port *port = dev_id;
struct tty_struct *tty;
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index ff610c2..91de430 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -300,7 +300,7 @@ static void check_status(struct uart_sunsab_port *up,
wake_up_interruptible(&up->port.info->delta_msr_wait);
}

-static irqreturn_t sunsab_interrupt(int irq, void *dev_id)
+static irqreturn_t sunsab_interrupt(void *dev_id)
{
struct uart_sunsab_port *up = dev_id;
struct tty_struct *tty;
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c
index e074943..f9b832e 100644
--- a/drivers/serial/sunsu.c
+++ b/drivers/serial/sunsu.c
@@ -444,7 +444,7 @@ static void check_modem_status(struct uart_sunsu_port *up)
wake_up_interruptible(&up->port.info->delta_msr_wait);
}

-static irqreturn_t sunsu_serial_interrupt(int irq, void *dev_id)
+static irqreturn_t sunsu_serial_interrupt(void *dev_id)
{
struct uart_sunsu_port *up = dev_id;
unsigned long flags;
@@ -526,7 +526,7 @@ static void receive_kbd_ms_chars(struct uart_sunsu_port *up, int is_break)
} while (serial_in(up, UART_LSR) & UART_LSR_DR);
}

-static irqreturn_t sunsu_kbd_ms_interrupt(int irq, void *dev_id)
+static irqreturn_t sunsu_kbd_ms_interrupt(void *dev_id)
{
struct uart_sunsu_port *up = dev_id;

diff --git a/drivers/serial/sunzilog.c b/drivers/serial/sunzilog.c
index 283bef0..ffc7f73 100644
--- a/drivers/serial/sunzilog.c
+++ b/drivers/serial/sunzilog.c
@@ -533,7 +533,7 @@ ack_tx_int:
ZS_WSYNC(channel);
}

-static irqreturn_t sunzilog_interrupt(int irq, void *dev_id)
+static irqreturn_t sunzilog_interrupt(void *dev_id)
{
struct uart_sunzilog_port *up = dev_id;

diff --git a/drivers/serial/v850e_uart.c b/drivers/serial/v850e_uart.c
index dd98aca..4220655 100644
--- a/drivers/serial/v850e_uart.c
+++ b/drivers/serial/v850e_uart.c
@@ -271,14 +271,14 @@ void v850e_uart_tx (struct uart_port *port)
v850e_uart_stop_tx (port, stopped);
}

-static irqreturn_t v850e_uart_tx_irq(int irq, void *data)
+static irqreturn_t v850e_uart_tx_irq(void *data)
{
struct uart_port *port = data;
v850e_uart_tx (port);
return IRQ_HANDLED;
}

-static irqreturn_t v850e_uart_rx_irq(int irq, void *data)
+static irqreturn_t v850e_uart_rx_irq(void *data)
{
struct uart_port *port = data;
unsigned ch_stat = TTY_NORMAL;
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c
index 6fd51b0..ebac087 100644
--- a/drivers/serial/vr41xx_siu.c
+++ b/drivers/serial/vr41xx_siu.c
@@ -423,7 +423,7 @@ static inline void transmit_chars(struct uart_port *port)
siu_stop_tx(port);
}

-static irqreturn_t siu_interrupt(int irq, void *dev_id)
+static irqreturn_t siu_interrupt(void *dev_id)
{
struct uart_port *port;
uint8_t iir, lsr;
diff --git a/drivers/sn/ioc3.c b/drivers/sn/ioc3.c
index 29fcd6d..a463cd2 100644
--- a/drivers/sn/ioc3.c
+++ b/drivers/sn/ioc3.c
@@ -398,7 +398,7 @@ static inline uint32_t get_pending_intrs(struct ioc3_driver_data *idd)
return intrs;
}

-static irqreturn_t ioc3_intr_io(int irq, void *arg)
+static irqreturn_t ioc3_intr_io(void *arg)
{
unsigned long flags;
struct ioc3_driver_data *idd = arg;
@@ -441,7 +441,7 @@ static irqreturn_t ioc3_intr_io(int irq, void *arg)
return handled?IRQ_HANDLED:IRQ_NONE;
}

-static irqreturn_t ioc3_intr_eth(int irq, void *arg)
+static irqreturn_t ioc3_intr_eth(void *arg)
{
unsigned long flags;
struct ioc3_driver_data *idd = (struct ioc3_driver_data *)arg;
diff --git a/drivers/spi/pxa2xx_spi.c b/drivers/spi/pxa2xx_spi.c
index 5f3d808..d4bdab6 100644
--- a/drivers/spi/pxa2xx_spi.c
+++ b/drivers/spi/pxa2xx_spi.c
@@ -659,7 +659,7 @@ static irqreturn_t interrupt_transfer(struct driver_data *drv_data)
return IRQ_HANDLED;
}

-static irqreturn_t ssp_int(int irq, void *dev_id)
+static irqreturn_t ssp_int(void *dev_id)
{
struct driver_data *drv_data = dev_id;
void *reg = drv_data->ioaddr;
diff --git a/drivers/spi/spi_mpc83xx.c b/drivers/spi/spi_mpc83xx.c
index 4580b9c..b64c85e 100644
--- a/drivers/spi/spi_mpc83xx.c
+++ b/drivers/spi/spi_mpc83xx.c
@@ -356,7 +356,7 @@ static int mpc83xx_spi_bufs(struct spi_device *spi, struct spi_transfer *t)
return t->len - mpc83xx_spi->count;
}

-irqreturn_t mpc83xx_spi_irq(s32 irq, void *context_data)
+irqreturn_t mpc83xx_spi_irq(void *context_data)
{
struct mpc83xx_spi *mpc83xx_spi = context_data;
u32 event;
diff --git a/drivers/spi/spi_s3c24xx.c b/drivers/spi/spi_s3c24xx.c
index 89d6685..8d7af13 100644
--- a/drivers/spi/spi_s3c24xx.c
+++ b/drivers/spi/spi_s3c24xx.c
@@ -199,7 +199,7 @@ static int s3c24xx_spi_txrx(struct spi_device *spi, struct spi_transfer *t)
return hw->count;
}

-static irqreturn_t s3c24xx_spi_irq(int irq, void *dev)
+static irqreturn_t s3c24xx_spi_irq(void *dev)
{
struct s3c24xx_spi *hw = dev;
unsigned int spsta = readb(hw->regs + S3C2410_SPSTA);
diff --git a/drivers/uio/uio.c b/drivers/uio/uio.c
index 865f32b..8dafdd5 100644
--- a/drivers/uio/uio.c
+++ b/drivers/uio/uio.c
@@ -250,10 +250,10 @@ EXPORT_SYMBOL_GPL(uio_event_notify);
* @irq: IRQ number, can be UIO_IRQ_CYCLIC for cyclic timer
* @dev_id: Pointer to the devices uio_device structure
*/
-static irqreturn_t uio_interrupt(int irq, void *dev_id)
+static irqreturn_t uio_interrupt(void *dev_id)
{
struct uio_device *idev = (struct uio_device *)dev_id;
- irqreturn_t ret = idev->info->handler(irq, idev->info);
+ irqreturn_t ret = idev->info->handler(idev->info);

if (ret == IRQ_HANDLED)
uio_event_notify(idev->info);
diff --git a/drivers/uio/uio_cif.c b/drivers/uio/uio_cif.c
index 838bae4..bed6398 100644
--- a/drivers/uio/uio_cif.c
+++ b/drivers/uio/uio_cif.c
@@ -29,8 +29,9 @@
#define CIF_SUBDEVICE_DEVICENET 0x432


-static irqreturn_t hilscher_handler(int irq, struct uio_info *dev_info)
+static irqreturn_t hilscher_handler(void *_dev_info)
{
+ struct uio_info *dev_info = _dev_info;
void __iomem *plx_intscr = dev_info->mem[0].internal_addr
+ PLX9030_INTCSR;

diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 3dd997d..97dae5e 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -1546,7 +1546,7 @@ EXPORT_SYMBOL (usb_bus_start_enum);
* If the controller isn't HALTed, calls the driver's irq handler.
* Checks whether the controller is now dead.
*/
-irqreturn_t usb_hcd_irq (int irq, void *__hcd)
+irqreturn_t usb_hcd_irq (void *__hcd)
{
struct usb_hcd *hcd = __hcd;
int start = hcd->state;
diff --git a/drivers/usb/core/hcd.h b/drivers/usb/core/hcd.h
index 98e2419..5c0714b 100644
--- a/drivers/usb/core/hcd.h
+++ b/drivers/usb/core/hcd.h
@@ -264,7 +264,7 @@ void hcd_buffer_free (struct usb_bus *bus, size_t size,
void *addr, dma_addr_t dma);

/* generic bus glue, needed for host controllers that don't use PCI */
-extern irqreturn_t usb_hcd_irq (int irq, void *__hcd);
+extern irqreturn_t usb_hcd_irq (void *__hcd);

extern void usb_hc_died (struct usb_hcd *hcd);
extern void usb_hcd_poll_rh_status(struct usb_hcd *hcd);
diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c
index 1c80406..8c6a63b 100644
--- a/drivers/usb/gadget/amd5536udc.c
+++ b/drivers/usb/gadget/amd5536udc.c
@@ -3041,7 +3041,7 @@ __acquires(dev->lock)
}

/* Interrupt Service Routine, see Linux Kernel Doc for parameters */
-static irqreturn_t udc_irq(int irq, void *pdev)
+static irqreturn_t udc_irq(void *pdev)
{
struct udc *dev = pdev;
u32 reg;
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c
index a6adf7e..a344b96 100644
--- a/drivers/usb/gadget/at91_udc.c
+++ b/drivers/usb/gadget/at91_udc.c
@@ -1368,7 +1368,7 @@ static void handle_ep0(struct at91_udc *udc)
}
}

-static irqreturn_t at91_udc_irq (int irq, void *_udc)
+static irqreturn_t at91_udc_irq (void *_udc)
{
struct at91_udc *udc = _udc;
u32 rescans = 5;
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index 2ec9d19..fde447d 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -1546,7 +1546,7 @@ stall:
handled = 1; \
}

-static irqreturn_t goku_irq(int irq, void *_dev)
+static irqreturn_t goku_irq(void *_dev)
{
struct goku_udc *dev = _dev;
struct goku_udc_regs __iomem *regs = dev->regs;
diff --git a/drivers/usb/gadget/lh7a40x_udc.c b/drivers/usb/gadget/lh7a40x_udc.c
index e78c2dd..47b0e97 100644
--- a/drivers/usb/gadget/lh7a40x_udc.c
+++ b/drivers/usb/gadget/lh7a40x_udc.c
@@ -915,7 +915,7 @@ static void lh7a40x_reset_intr(struct lh7a40x_udc *dev)
/*
* lh7a40x usb client interrupt handler.
*/
-static irqreturn_t lh7a40x_udc_irq(int irq, void *_dev)
+static irqreturn_t lh7a40x_udc_irq(void *_dev)
{
struct lh7a40x_udc *dev = _dev;

diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c
index d5d473f..901f553 100644
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -2667,7 +2667,7 @@ static void handle_stat1_irqs (struct net2280 *dev, u32 stat)
DEBUG (dev, "unhandled irqstat1 %08x\n", stat);
}

-static irqreturn_t net2280_irq (int irq, void *_dev)
+static irqreturn_t net2280_irq (void *_dev)
{
struct net2280 *dev = _dev;

diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index 87c4f50..72c051a 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -1826,7 +1826,7 @@ static void devstate_irq(struct omap_udc *udc, u16 irq_src)
UDC_IRQ_SRC_REG = UDC_DS_CHG;
}

-static irqreturn_t omap_udc_irq(int irq, void *_udc)
+static irqreturn_t omap_udc_irq(void *_udc)
{
struct omap_udc *udc = _udc;
u16 irq_src;
@@ -1898,7 +1898,7 @@ static void pio_out_timer(unsigned long _ep)
spin_unlock_irqrestore(&ep->udc->lock, flags);
}

-static irqreturn_t omap_udc_pio_irq(int irq, void *_dev)
+static irqreturn_t omap_udc_pio_irq(void *_dev)
{
u16 epn_stat, irq_src;
irqreturn_t status = IRQ_NONE;
@@ -1977,7 +1977,7 @@ static irqreturn_t omap_udc_pio_irq(int irq, void *_dev)
}

#ifdef USE_ISO
-static irqreturn_t omap_udc_iso_irq(int irq, void *_dev)
+static irqreturn_t omap_udc_iso_irq(void *_dev)
{
struct omap_udc *udc = _dev;
struct omap_ep *ep;
diff --git a/drivers/usb/gadget/pxa2xx_udc.c b/drivers/usb/gadget/pxa2xx_udc.c
index 3173b39..8c64baa 100644
--- a/drivers/usb/gadget/pxa2xx_udc.c
+++ b/drivers/usb/gadget/pxa2xx_udc.c
@@ -1365,7 +1365,7 @@ EXPORT_SYMBOL(usb_gadget_unregister_driver);
*/

static irqreturn_t
-lubbock_vbus_irq(int irq, void *_dev)
+lubbock_vbus_irq(void *_dev)
{
struct pxa2xx_udc *dev = _dev;
int vbus;
@@ -1392,7 +1392,7 @@ lubbock_vbus_irq(int irq, void *_dev)

#endif

-static irqreturn_t udc_vbus_irq(int irq, void *_dev)
+static irqreturn_t udc_vbus_irq(void *_dev)
{
struct pxa2xx_udc *dev = _dev;
int vbus = gpio_get_value(dev->mach->gpio_vbus);
@@ -1709,7 +1709,7 @@ static void handle_ep(struct pxa2xx_ep *ep)
* could cause usb protocol errors.
*/
static irqreturn_t
-pxa2xx_udc_irq(int irq, void *_dev)
+pxa2xx_udc_irq(void *_dev)
{
struct pxa2xx_udc *dev = _dev;
int handled;
diff --git a/drivers/video/amifb.c b/drivers/video/amifb.c
index f2e243c..983818b 100644
--- a/drivers/video/amifb.c
+++ b/drivers/video/amifb.c
@@ -1144,7 +1144,7 @@ static void amifb_deinit(void);
*/

static int flash_cursor(void);
-static irqreturn_t amifb_interrupt(int irq, void *dev_id);
+static irqreturn_t amifb_interrupt(void *dev_id);
static u_long chipalloc(u_long size);
static void chipfree(void);

@@ -2494,7 +2494,7 @@ static int flash_cursor(void)
* VBlank Display Interrupt
*/

-static irqreturn_t amifb_interrupt(int irq, void *dev_id)
+static irqreturn_t amifb_interrupt(void *dev_id)
{
if (do_vmode_pan || do_vmode_full)
ami_update_display();
diff --git a/drivers/video/arcfb.c b/drivers/video/arcfb.c
index c343169..6db1004 100644
--- a/drivers/video/arcfb.c
+++ b/drivers/video/arcfb.c
@@ -218,7 +218,7 @@ static int arcfb_pan_display(struct fb_var_screeninfo *var,
return -EINVAL;
}

-static irqreturn_t arcfb_interrupt(int vec, void *dev_instance)
+static irqreturn_t arcfb_interrupt(void *dev_instance)
{
struct fb_info *info = dev_instance;
unsigned char ctl2status;
diff --git a/drivers/video/atafb.c b/drivers/video/atafb.c
index 5d4fbaa..60f0afd 100644
--- a/drivers/video/atafb.c
+++ b/drivers/video/atafb.c
@@ -1631,7 +1631,7 @@ static void falcon_set_par(struct atafb_par *par)
f_change_mode = 1;
}

-static irqreturn_t falcon_vbl_switcher(int irq, void *dummy)
+static irqreturn_t falcon_vbl_switcher(void *dummy)
{
struct falcon_hw *hw = &f_new_mode;

diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c
index abe0c43..b529166 100644
--- a/drivers/video/aty/atyfb_base.c
+++ b/drivers/video/aty/atyfb_base.c
@@ -1527,7 +1527,7 @@ static int atyfb_open(struct fb_info *info, int user)
return (0);
}

-static irqreturn_t aty_irq(int irq, void *dev_id)
+static irqreturn_t aty_irq(void *dev_id)
{
struct atyfb_par *par = dev_id;
int handled = 0;
diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c
index 03e57ef..a3993dc 100644
--- a/drivers/video/au1200fb.c
+++ b/drivers/video/au1200fb.c
@@ -1545,7 +1545,7 @@ static struct fb_ops au1200fb_fb_ops = {

/*-------------------------------------------------------------------------*/

-static irqreturn_t au1200fb_handle_irq(int irq, void* dev_id)
+static irqreturn_t au1200fb_handle_irq(void *dev_id)
{
/* Nothing to do for now, just clear any pending interrupt */
lcd->intstatus = lcd->intstatus;
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c
index 0f32f4a..c38c7f1 100644
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -218,7 +218,7 @@ static struct device *fbcon_device;
*/
static int vbl_detected;

-static irqreturn_t fb_vbl_detect(int irq, void *dummy)
+static irqreturn_t fb_vbl_detect(void *dummy)
{
vbl_detected++;
return IRQ_HANDLED;
@@ -428,7 +428,7 @@ static void fb_flashcursor(struct work_struct *work)

#if defined(CONFIG_ATARI) || defined(CONFIG_MAC)
static int cursor_blink_rate;
-static irqreturn_t fb_vbl_handler(int irq, void *dev_id)
+static irqreturn_t fb_vbl_handler(void *dev_id)
{
struct fb_info *info = dev_id;

diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c
index 2a0e320..91d5315 100644
--- a/drivers/video/intelfb/intelfbhw.c
+++ b/drivers/video/intelfb/intelfbhw.c
@@ -1968,7 +1968,7 @@ void intelfbhw_cursor_reset(struct intelfb_info *dinfo)
}
}

-static irqreturn_t intelfbhw_irq(int irq, void *dev_id)
+static irqreturn_t intelfbhw_irq(void *dev_id)
{
u16 tmp;
struct intelfb_info *dinfo = (struct intelfb_info *)dev_id;
diff --git a/drivers/video/matrox/matroxfb_base.c b/drivers/video/matrox/matroxfb_base.c
index b25972a..587b27e 100644
--- a/drivers/video/matrox/matroxfb_base.c
+++ b/drivers/video/matrox/matroxfb_base.c
@@ -198,7 +198,7 @@ static void matroxfb_crtc1_panpos(WPMINFO2) {
}
}

-static irqreturn_t matrox_irq(int irq, void *dev_id)
+static irqreturn_t matrox_irq(void *dev_id)
{
u_int32_t status;
int handled = 0;
diff --git a/drivers/video/pvr2fb.c b/drivers/video/pvr2fb.c
index 6a3d0b5..f7f4fca 100644
--- a/drivers/video/pvr2fb.c
+++ b/drivers/video/pvr2fb.c
@@ -207,7 +207,7 @@ static int pvr2fb_set_par(struct fb_info *info);
static void pvr2_update_display(struct fb_info *info);
static void pvr2_init_display(struct fb_info *info);
static void pvr2_do_blank(void);
-static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id);
+static irqreturn_t pvr2fb_interrupt(void *dev_id);
static int pvr2_init_cable(void);
static int pvr2_get_param(const struct pvr2_params *p, const char *s,
int val, int size);
@@ -626,7 +626,7 @@ static void pvr2_do_blank(void)
is_blanked = do_blank > 0 ? do_blank : 0;
}

-static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id)
+static irqreturn_t pvr2fb_interrupt(void *dev_id)
{
struct fb_info *info = dev_id;

diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c
index 10f912d..6ff9032 100644
--- a/drivers/video/pxafb.c
+++ b/drivers/video/pxafb.c
@@ -879,7 +879,7 @@ static void pxafb_disable_controller(struct pxafb_info *fbi)
/*
* pxafb_handle_irq: Handle 'LCD DONE' interrupts.
*/
-static irqreturn_t pxafb_handle_irq(int irq, void *dev_id)
+static irqreturn_t pxafb_handle_irq(void *dev_id)
{
struct pxafb_info *fbi = dev_id;
unsigned int lcsr = LCSR;
diff --git a/drivers/video/s3c2410fb.c b/drivers/video/s3c2410fb.c
index ae08d45..c580b45 100644
--- a/drivers/video/s3c2410fb.c
+++ b/drivers/video/s3c2410fb.c
@@ -760,7 +760,7 @@ static void s3c2410fb_write_palette(struct s3c2410fb_info *fbi)
}
}

-static irqreturn_t s3c2410fb_irq(int irq, void *dev_id)
+static irqreturn_t s3c2410fb_irq(void *dev_id)
{
struct s3c2410fb_info *fbi = dev_id;
void __iomem *regs = fbi->io;
diff --git a/drivers/video/sa1100fb.c b/drivers/video/sa1100fb.c
index ab2b211..ba3207a 100644
--- a/drivers/video/sa1100fb.c
+++ b/drivers/video/sa1100fb.c
@@ -1084,7 +1084,7 @@ static void sa1100fb_disable_controller(struct sa1100fb_info *fbi)
/*
* sa1100fb_handle_irq: Handle 'LCD DONE' interrupts.
*/
-static irqreturn_t sa1100fb_handle_irq(int irq, void *dev_id)
+static irqreturn_t sa1100fb_handle_irq(void *dev_id)
{
struct sa1100fb_info *fbi = dev_id;
unsigned int lcsr = LCSR;
diff --git a/drivers/watchdog/eurotechwdt.c b/drivers/watchdog/eurotechwdt.c
index b14e9d1..df7c31e 100644
--- a/drivers/watchdog/eurotechwdt.c
+++ b/drivers/watchdog/eurotechwdt.c
@@ -158,7 +158,7 @@ static void eurwdt_activate_timer(void)
* Kernel methods.
*/

-static irqreturn_t eurwdt_interrupt(int irq, void *dev_id)
+static irqreturn_t eurwdt_interrupt(void *dev_id)
{
printk(KERN_CRIT "timeout WDT timeout\n");

diff --git a/drivers/watchdog/mpcore_wdt.c b/drivers/watchdog/mpcore_wdt.c
index 0d2b277..bbe85b3 100644
--- a/drivers/watchdog/mpcore_wdt.c
+++ b/drivers/watchdog/mpcore_wdt.c
@@ -64,7 +64,7 @@ MODULE_PARM_DESC(mpcore_noboot, "MPcore watchdog action, set to 1 to ignore rebo
* This is the interrupt handler. Note that we only use this
* in testing mode, so don't actually do a reboot here.
*/
-static irqreturn_t mpcore_wdt_fire(int irq, void *arg)
+static irqreturn_t mpcore_wdt_fire(void *arg)
{
struct mpcore_wdt *wdt = arg;

diff --git a/drivers/watchdog/s3c2410_wdt.c b/drivers/watchdog/s3c2410_wdt.c
index 5d1c15f..5a0e060 100644
--- a/drivers/watchdog/s3c2410_wdt.c
+++ b/drivers/watchdog/s3c2410_wdt.c
@@ -337,7 +337,7 @@ static struct miscdevice s3c2410wdt_miscdev = {

/* interrupt handler code */

-static irqreturn_t s3c2410wdt_irq(int irqno, void *param)
+static irqreturn_t s3c2410wdt_irq(void *param)
{
dev_info(wdt_dev, "watchdog timer expired (irq)\n");

diff --git a/drivers/watchdog/wdt.c b/drivers/watchdog/wdt.c
index 0a3de6a..98e1b69 100644
--- a/drivers/watchdog/wdt.c
+++ b/drivers/watchdog/wdt.c
@@ -223,7 +223,6 @@ static int wdt_get_temperature(int *temperature)

/**
* wdt_interrupt:
- * @irq: Interrupt number
* @dev_id: Unused as we don't allow multiple devices.
*
* Handle an interrupt from the board. These are raised when the status
@@ -231,7 +230,7 @@ static int wdt_get_temperature(int *temperature)
* a failure condition occurring.
*/

-static irqreturn_t wdt_interrupt(int irq, void *dev_id)
+static irqreturn_t wdt_interrupt(void *dev_id)
{
/*
* Read the status register see what is up and
diff --git a/drivers/watchdog/wdt285.c b/drivers/watchdog/wdt285.c
index e4cf661..97aa733 100644
--- a/drivers/watchdog/wdt285.c
+++ b/drivers/watchdog/wdt285.c
@@ -46,7 +46,7 @@ static unsigned long timer_alive;
/*
* If the timer expires..
*/
-static void watchdog_fire(int irq, void *dev_id)
+static void watchdog_fire(void *dev_id)
{
printk(KERN_CRIT "Watchdog: Would Reboot.\n");
*CSR_TIMER4_CNTL = 0;
diff --git a/drivers/watchdog/wdt_pci.c b/drivers/watchdog/wdt_pci.c
index 6baf4ae..479ecec 100644
--- a/drivers/watchdog/wdt_pci.c
+++ b/drivers/watchdog/wdt_pci.c
@@ -276,7 +276,7 @@ static int wdtpci_get_temperature(int *temperature)
* a failure condition occurring.
*/

-static irqreturn_t wdtpci_interrupt(int irq, void *dev_id)
+static irqreturn_t wdtpci_interrupt(void *dev_id)
{
/*
* Read the status register see what is up and
diff --git a/drivers/xen/xenbus/xenbus_comms.c b/drivers/xen/xenbus/xenbus_comms.c
index 6efbe3f..92b7924 100644
--- a/drivers/xen/xenbus/xenbus_comms.c
+++ b/drivers/xen/xenbus/xenbus_comms.c
@@ -46,7 +46,7 @@ static DECLARE_WORK(probe_work, xenbus_probe);

static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);

-static irqreturn_t wake_waiting(int irq, void *unused)
+static irqreturn_t wake_waiting(void *unused)
{
if (unlikely(xenstored_ready == 0)) {
xenstored_ready = 1;
diff --git a/include/linux/arcdevice.h b/include/linux/arcdevice.h
index fde6758..2e69484 100644
--- a/include/linux/arcdevice.h
+++ b/include/linux/arcdevice.h
@@ -334,7 +334,7 @@ void arcnet_dump_skb(struct net_device *dev, struct sk_buff *skb, char *desc);
#endif

void arcnet_unregister_proto(struct ArcProto *proto);
-irqreturn_t arcnet_interrupt(int irq, void *dev_id);
+irqreturn_t arcnet_interrupt(void *dev_id);
struct net_device *alloc_arcdev(char *name);

#endif /* __KERNEL__ */
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 19db0a4..b5ae4a1 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -1185,7 +1185,7 @@ extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout);

extern int ide_spin_wait_hwgroup(ide_drive_t *);
extern void ide_timer_expiry(unsigned long);
-extern irqreturn_t ide_intr(int irq, void *dev_id);
+extern irqreturn_t ide_intr(void *dev_id);
extern void do_ide_request(struct request_queue *);

void ide_init_disk(struct gendisk *, ide_drive_t *);
diff --git a/include/linux/libata.h b/include/linux/libata.h
index bc3b6fc..05cd982 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -823,7 +823,7 @@ extern u8 ata_altstatus(struct ata_port *ap);
extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf);
extern int ata_port_start (struct ata_port *ap);
extern int ata_sff_port_start (struct ata_port *ap);
-extern irqreturn_t ata_interrupt (int irq, void *dev_instance);
+extern irqreturn_t ata_interrupt (void *dev_instance);
extern void ata_data_xfer(struct ata_device *adev, unsigned char *buf,
unsigned int buflen, int write_data);
extern void ata_data_xfer_noirq(struct ata_device *adev, unsigned char *buf,
diff --git a/include/linux/rtc.h b/include/linux/rtc.h
index 6d5e4a4..3ac7e0e 100644
--- a/include/linux/rtc.h
+++ b/include/linux/rtc.h
@@ -206,7 +206,7 @@ int rtc_register(rtc_task_t *task);
int rtc_unregister(rtc_task_t *task);
int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg);
void rtc_get_rtc_time(struct rtc_time *rtc_tm);
-irqreturn_t rtc_interrupt(int irq, void *dev_id);
+irqreturn_t rtc_interrupt(void *dev_id);

#endif /* __KERNEL__ */

diff --git a/include/sound/cs4231.h b/include/sound/cs4231.h
index 66055d7..6b4630b 100644
--- a/include/sound/cs4231.h
+++ b/include/sound/cs4231.h
@@ -120,7 +120,7 @@ unsigned char snd_cs4236_ext_in(struct snd_cs4231 *chip, unsigned char reg);
void snd_cs4231_mce_up(struct snd_cs4231 *chip);
void snd_cs4231_mce_down(struct snd_cs4231 *chip);

-irqreturn_t snd_cs4231_interrupt(int irq, void *dev_id);
+irqreturn_t snd_cs4231_interrupt(void *dev_id);

const char *snd_cs4231_chip_id(struct snd_cs4231 *chip);

diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
index 441aa06..76e4687 100644
--- a/include/sound/emu10k1.h
+++ b/include/sound/emu10k1.h
@@ -1585,7 +1585,7 @@ int snd_emu10k1_mixer(struct snd_emu10k1 * emu, int pcm_device, int multi_device
int snd_emu10k1_timer(struct snd_emu10k1 * emu, int device);
int snd_emu10k1_fx8010_new(struct snd_emu10k1 *emu, int device, struct snd_hwdep ** rhwdep);

-irqreturn_t snd_emu10k1_interrupt(int irq, void *dev_id);
+irqreturn_t snd_emu10k1_interrupt(void *dev_id);

void snd_emu10k1_voice_init(struct snd_emu10k1 * emu, int voice);
int snd_emu10k1_init_efx(struct snd_emu10k1 *emu);
diff --git a/include/sound/gus.h b/include/sound/gus.h
index e5433d8..c1731a2 100644
--- a/include/sound/gus.h
+++ b/include/sound/gus.h
@@ -638,7 +638,7 @@ int snd_gus_initialize(struct snd_gus_card * gus);

/* gus_irq.c */

-irqreturn_t snd_gus_interrupt(int irq, void *dev_id);
+irqreturn_t snd_gus_interrupt(void *dev_id);
#ifdef CONFIG_SND_DEBUG
void snd_gus_irq_profile_init(struct snd_gus_card *gus);
#endif
diff --git a/include/sound/initval.h b/include/sound/initval.h
index 1daa6df..93709e4 100644
--- a/include/sound/initval.h
+++ b/include/sound/initval.h
@@ -53,7 +53,7 @@
#ifdef SNDRV_LEGACY_FIND_FREE_IRQ
#include <linux/interrupt.h>

-static irqreturn_t snd_legacy_empty_irq_handler(int irq, void *dev_id)
+static irqreturn_t snd_legacy_empty_irq_handler(void *dev_id)
{
return IRQ_HANDLED;
}
diff --git a/include/sound/mpu401.h b/include/sound/mpu401.h
index d45218b..f132ee0 100644
--- a/include/sound/mpu401.h
+++ b/include/sound/mpu401.h
@@ -106,8 +106,8 @@ struct snd_mpu401 {

*/

-irqreturn_t snd_mpu401_uart_interrupt(int irq, void *dev_id);
-irqreturn_t snd_mpu401_uart_interrupt_tx(int irq, void *dev_id);
+irqreturn_t snd_mpu401_uart_interrupt(void *dev_id);
+irqreturn_t snd_mpu401_uart_interrupt_tx(void *dev_id);

int snd_mpu401_uart_new(struct snd_card *card,
int device,
diff --git a/include/sound/sb.h b/include/sound/sb.h
index d0c9ed3..ac03a99 100644
--- a/include/sound/sb.h
+++ b/include/sound/sb.h
@@ -317,7 +317,7 @@ int snd_sb16dsp_pcm(struct snd_sb *chip, int device, struct snd_pcm ** rpcm);
const struct snd_pcm_ops *snd_sb16dsp_get_pcm_ops(int direction);
int snd_sb16dsp_configure(struct snd_sb *chip);
/* sb16.c */
-irqreturn_t snd_sb16dsp_interrupt(int irq, void *dev_id);
+irqreturn_t snd_sb16dsp_interrupt(void *dev_id);

/* exported mixer stuffs */
enum {
diff --git a/include/sound/vx_core.h b/include/sound/vx_core.h
index 4830651..9db8d7c 100644
--- a/include/sound/vx_core.h
+++ b/include/sound/vx_core.h
@@ -228,7 +228,7 @@ void snd_vx_free_firmware(struct vx_core *chip);
/*
* interrupt handler; exported for pcmcia
*/
-irqreturn_t snd_vx_irq_handler(int irq, void *dev);
+irqreturn_t snd_vx_irq_handler(void *dev);

/*
* lowlevel functions

2007-10-19 13:00:38

by Mark Salyzyn

[permalink] [raw]
Subject: RE: [PATCH 7/9] irq-remove: scsi driver trivial

ACK with comment ...

This API changed in 2.4.23 switching to irqreturn_t, and 2.6.19 dropping
the struct_pt_regs argument, this is yet another API change in the same
function. The last one came with no clues to differentiate except kernel
version (for those of us that are required to produce updated
back-ported driver modules once this patch becomes a legacy). I am
*praying* that this API change is clean across 2.6.24 and add my voice
to all to ACK this clearly!

Sincerely -- Mark Salyzyn

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Jeff Garzik
> Sent: Friday, October 19, 2007 3:58 AM
> To: LKML
> Cc: Eric Biederman
> Subject: [PATCH 7/9] irq-remove: scsi driver trivial
>
>
> commit fb66571c6fde956fb8bddacf11d64101f8df8bf8
> Author: Jeff Garzik <[email protected]>
> Date: Fri Oct 19 00:48:35 2007 -0400
>
> [IRQ ARG REMOVAL] trivial scsi driver updates
>
> drivers/scsi/3w-9xxx.c | 2 +-
> drivers/scsi/3w-xxxx.c | 2 +-
> drivers/scsi/53c700.c | 2 +-
> drivers/scsi/53c700.h | 2 +-
> drivers/scsi/BusLogic.c | 2 +-
> drivers/scsi/BusLogic.h | 2 +-
> drivers/scsi/NCR5380.h | 2 +-
> drivers/scsi/NCR53C9x.h | 2 +-
> drivers/scsi/NCR53c406a.c | 4 ++--
> drivers/scsi/NCR_D700.c | 8 ++++----
> drivers/scsi/NCR_Q720.c | 5 ++---
> drivers/scsi/a100u2w.c | 2 +-
> drivers/scsi/a2091.c | 2 +-
> drivers/scsi/a3000.c | 2 +-
> drivers/scsi/aacraid/rx.c | 4 ++--
> drivers/scsi/aacraid/sa.c | 2 +-
> drivers/scsi/advansys.c | 2 +-
> drivers/scsi/aha1740.c | 2 +-
> drivers/scsi/aic7xxx/aic79xx_osm.c | 2 +-
> drivers/scsi/aic7xxx/aic79xx_osm.h | 2 +-
> drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +-
> drivers/scsi/aic7xxx/aic7xxx_osm.h | 2 +-
> drivers/scsi/aic7xxx_old.c | 4 ++--
> drivers/scsi/aic94xx/aic94xx_hwi.c | 2 +-
> drivers/scsi/aic94xx/aic94xx_hwi.h | 2 +-
> drivers/scsi/arcmsr/arcmsr_hba.c | 2 +-
> drivers/scsi/arm/acornscsi.c | 7 +++----
> drivers/scsi/arm/cumana_2.c | 5 ++---
> drivers/scsi/arm/eesox.c | 5 ++---
> drivers/scsi/arm/powertec.c | 5 ++---
> drivers/scsi/atari_NCR5380.c | 4 ++--
> drivers/scsi/atari_dma_emul.c | 4 ++--
> drivers/scsi/atari_scsi.c | 10 +++++-----
> drivers/scsi/atp870u.c | 2 +-
> drivers/scsi/dc395x.c | 2 +-
> drivers/scsi/dec_esp.c | 12 ++++++------
> drivers/scsi/dpt_i2o.c | 2 +-
> drivers/scsi/dpti.h | 2 +-
> drivers/scsi/eata_pio.c | 6 +++---
> drivers/scsi/fd_mcs.c | 4 ++--
> drivers/scsi/fdomain.c | 4 ++--
> drivers/scsi/gvp11.c | 2 +-
> drivers/scsi/hptiop.c | 2 +-
> drivers/scsi/ibmmca.c | 2 +-
> drivers/scsi/ibmvscsi/rpa_vscsi.c | 3 +--
> drivers/scsi/in2000.c | 2 +-
> drivers/scsi/initio.c | 2 +-
> drivers/scsi/ipr.c | 2 +-
> drivers/scsi/ips.c | 4 ++--
> drivers/scsi/lpfc/lpfc_crtn.h | 2 +-
> drivers/scsi/lpfc/lpfc_sli.c | 2 +-
> drivers/scsi/mac53c94.c | 8 ++++----
> drivers/scsi/mac_esp.c | 10 +++++-----
> drivers/scsi/megaraid.c | 5 ++---
> drivers/scsi/megaraid.h | 4 ++--
> drivers/scsi/megaraid/megaraid_mbox.c | 4 ++--
> drivers/scsi/megaraid/megaraid_sas.c | 2 +-
> drivers/scsi/mesh.c | 2 +-
> drivers/scsi/mvme147.c | 2 +-
> drivers/scsi/ncr53c8xx.c | 2 +-
> drivers/scsi/ncr53c8xx.h | 2 +-
> drivers/scsi/nsp32.c | 4 ++--
> drivers/scsi/pcmcia/nsp_cs.c | 2 +-
> drivers/scsi/pcmcia/nsp_cs.h | 2 +-
> drivers/scsi/pcmcia/sym53c500_cs.c | 2 +-
> drivers/scsi/qla1280.c | 2 +-
> drivers/scsi/qla2xxx/qla_gbl.h | 6 +++---
> drivers/scsi/qla2xxx/qla_inline.h | 2 +-
> drivers/scsi/qla2xxx/qla_isr.c | 11 +++++------
> drivers/scsi/qla4xxx/ql4_glbl.h | 2 +-
> drivers/scsi/qla4xxx/ql4_isr.c | 3 +--
> drivers/scsi/qlogicfas408.c | 2 +-
> drivers/scsi/qlogicfas408.h | 2 +-
> drivers/scsi/qlogicpti.c | 4 ++--
> drivers/scsi/seagate.c | 10 +++++-----
> drivers/scsi/sgiwd93.c | 2 +-
> drivers/scsi/stex.c | 2 +-
> drivers/scsi/sun3_NCR5380.c | 2 +-
> drivers/scsi/sun3_scsi.c | 4 ++--
> drivers/scsi/sun3_scsi_vme.c | 4 ++--
> drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
> drivers/scsi/tmscsim.c | 2 +-
> drivers/scsi/ultrastor.c | 4 ++--
> drivers/scsi/wd7000.c | 2 +-
> 84 files changed, 137 insertions(+), 146 deletions(-)
>
> fb66571c6fde956fb8bddacf11d64101f8df8bf8
> diff --git a/drivers/scsi/3w-9xxx.c b/drivers/scsi/3w-9xxx.c
> index fb14014..ec76865 100644
> --- a/drivers/scsi/3w-9xxx.c
> +++ b/drivers/scsi/3w-9xxx.c
> @@ -1192,7 +1192,7 @@ out:
> } /* End twa_initialize_device_extension() */
>
> /* This function is the interrupt service routine */
> -static irqreturn_t twa_interrupt(int irq, void *dev_instance)
> +static irqreturn_t twa_interrupt(void *dev_instance)
> {
> int request_id, error = 0;
> u32 status_reg_value;
> diff --git a/drivers/scsi/3w-xxxx.c b/drivers/scsi/3w-xxxx.c
> index a64153b..2ec0c28 100644
> --- a/drivers/scsi/3w-xxxx.c
> +++ b/drivers/scsi/3w-xxxx.c
> @@ -2021,7 +2021,7 @@ static int tw_scsi_queue(struct
> scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd
> } /* End tw_scsi_queue() */
>
> /* This function is the interrupt service routine */
> -static irqreturn_t tw_interrupt(int irq, void *dev_instance)
> +static irqreturn_t tw_interrupt(void *dev_instance)
> {
> int request_id;
> u32 status_reg_value;
> diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c
> index 71ff3fb..43e4633 100644
> --- a/drivers/scsi/53c700.c
> +++ b/drivers/scsi/53c700.c
> @@ -1479,7 +1479,7 @@ NCR_700_start_command(struct scsi_cmnd *SCp)
> }
>
> irqreturn_t
> -NCR_700_intr(int irq, void *dev_id)
> +NCR_700_intr(void *dev_id)
> {
> struct Scsi_Host *host = (struct Scsi_Host *)dev_id;
> struct NCR_700_Host_Parameters *hostdata =
> diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h
> index e06bdfe..d601ab3 100644
> --- a/drivers/scsi/53c700.h
> +++ b/drivers/scsi/53c700.h
> @@ -57,7 +57,7 @@ struct NCR_700_Host_Parameters;
> struct Scsi_Host *NCR_700_detect(struct scsi_host_template *,
> struct NCR_700_Host_Parameters *, struct device *);
> int NCR_700_release(struct Scsi_Host *host);
> -irqreturn_t NCR_700_intr(int, void *);
> +irqreturn_t NCR_700_intr(void *);
>
>
> enum NCR_700_Host_State {
> diff --git a/drivers/scsi/BusLogic.c b/drivers/scsi/BusLogic.c
> index 49e1ffa..144b6e2 100644
> --- a/drivers/scsi/BusLogic.c
> +++ b/drivers/scsi/BusLogic.c
> @@ -2665,7 +2665,7 @@ static void
> BusLogic_ProcessCompletedCCBs(struct BusLogic_HostAdapter *HostAdapt
> Adapters.
> */
>
> -static irqreturn_t BusLogic_InterruptHandler(int
> IRQ_Channel, void *DeviceIdentifier)
> +static irqreturn_t BusLogic_InterruptHandler(void *DeviceIdentifier)
> {
> struct BusLogic_HostAdapter *HostAdapter = (struct
> BusLogic_HostAdapter *) DeviceIdentifier;
> unsigned long ProcessorFlags;
> diff --git a/drivers/scsi/BusLogic.h b/drivers/scsi/BusLogic.h
> index bfbfb5c..3dfe9ce 100644
> --- a/drivers/scsi/BusLogic.h
> +++ b/drivers/scsi/BusLogic.h
> @@ -1341,7 +1341,7 @@ static int
> BusLogic_BIOSDiskParameters(struct scsi_device *, struct block_device
> static int BusLogic_ProcDirectoryInfo(struct Scsi_Host *,
> char *, char **, off_t, int, int);
> static int BusLogic_SlaveConfigure(struct scsi_device *);
> static void BusLogic_QueueCompletedCCB(struct BusLogic_CCB *);
> -static irqreturn_t BusLogic_InterruptHandler(int, void *);
> +static irqreturn_t BusLogic_InterruptHandler(void *);
> static int BusLogic_ResetHostAdapter(struct
> BusLogic_HostAdapter *, bool HardReset);
> static void BusLogic_Message(enum BusLogic_MessageLevel,
> char *, struct BusLogic_HostAdapter *, ...);
> static int __init BusLogic_Setup(char *);
> diff --git a/drivers/scsi/NCR5380.h b/drivers/scsi/NCR5380.h
> index bdc468c..7d932ac 100644
> --- a/drivers/scsi/NCR5380.h
> +++ b/drivers/scsi/NCR5380.h
> @@ -303,7 +303,7 @@ static int NCR5380_init(struct Scsi_Host
> *instance, int flags);
> static void NCR5380_exit(struct Scsi_Host *instance);
> static void NCR5380_information_transfer(struct Scsi_Host *instance);
> #ifndef DONT_USE_INTR
> -static irqreturn_t NCR5380_intr(int irq, void *dev_id);
> +static irqreturn_t NCR5380_intr(void *dev_id);
> #endif
> static void NCR5380_main(struct work_struct *work);
> static void __maybe_unused NCR5380_print_options(struct
> Scsi_Host *instance);
> diff --git a/drivers/scsi/NCR53C9x.h b/drivers/scsi/NCR53C9x.h
> index d85cb73..ff0fbd9 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 *, int);
> extern void esp_deallocate(struct NCR_ESP *);
> extern void esp_release(void);
> extern void esp_initialize(struct NCR_ESP *);
> -extern irqreturn_t esp_intr(int, void *);
> +extern irqreturn_t esp_intr(void *);
> extern const char *esp_info(struct Scsi_Host *);
> extern int esp_queue(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
> extern int esp_abort(Scsi_Cmnd *);
> diff --git a/drivers/scsi/NCR53c406a.c b/drivers/scsi/NCR53c406a.c
> index 3168a17..3aef1da 100644
> --- a/drivers/scsi/NCR53c406a.c
> +++ b/drivers/scsi/NCR53c406a.c
> @@ -168,7 +168,7 @@ enum Phase {
>
> /* Static function prototypes */
> static void NCR53c406a_intr(void *);
> -static irqreturn_t do_NCR53c406a_intr(int, void *);
> +static irqreturn_t do_NCR53c406a_intr(void *);
> static void chip_init(void);
> static void calc_port_addr(void);
> #ifndef IRQ_LEV
> @@ -765,7 +765,7 @@ static int NCR53c406a_biosparm(struct
> scsi_device *disk,
> return 0;
> }
>
> -static irqreturn_t do_NCR53c406a_intr(int unused, void *dev_id)
> +static irqreturn_t do_NCR53c406a_intr(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = dev_id;
> diff --git a/drivers/scsi/NCR_D700.c b/drivers/scsi/NCR_D700.c
> index 9e64b21..2afd135 100644
> --- a/drivers/scsi/NCR_D700.c
> +++ b/drivers/scsi/NCR_D700.c
> @@ -224,15 +224,15 @@ NCR_D700_probe_one(struct
> NCR_D700_private *p, int siop, int irq,
> return ret;
> }
>
> -static int
> -NCR_D700_intr(int irq, void *data)
> +static irqreturn_t
> +NCR_D700_intr(void *data)
> {
> - struct NCR_D700_private *p = (struct NCR_D700_private *)data;
> + struct NCR_D700_private *p = data;
> int i, found = 0;
>
> for (i = 0; i < 2; i++)
> if (p->hosts[i] &&
> - NCR_700_intr(irq, p->hosts[i]) == IRQ_HANDLED)
> + NCR_700_intr(p->hosts[i]) == IRQ_HANDLED)
> found++;
>
> return found ? IRQ_HANDLED : IRQ_NONE;
> diff --git a/drivers/scsi/NCR_Q720.c b/drivers/scsi/NCR_Q720.c
> index a8bbdc2..aa2bc5d 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 = {
> };
>
> static irqreturn_t
> -NCR_Q720_intr(int irq, void *data)
> +NCR_Q720_intr(void *data)
> {
> struct NCR_Q720_private *p = (struct NCR_Q720_private *)data;
> __u8 sir = (readb(p->mem_base + 0x0d) & 0xf0) >> 4;
> @@ -65,10 +65,9 @@ NCR_Q720_intr(int irq, void *data)
> if(sir == 0xff)
> return IRQ_NONE;
>
> -
> while((siop = ffz(sir)) < p->siops) {
> sir |= 1<<siop;
> - ncr53c8xx_intr(irq, p->hosts[siop]);
> + ncr53c8xx_intr(p->hosts[siop]);
> }
> return IRQ_HANDLED;
> }
> diff --git a/drivers/scsi/a100u2w.c b/drivers/scsi/a100u2w.c
> index d3a6d15..954e6d6 100644
> --- a/drivers/scsi/a100u2w.c
> +++ b/drivers/scsi/a100u2w.c
> @@ -1045,7 +1045,7 @@ static void inia100_scb_handler(struct
> orc_host *host, struct orc_scb *scb)
> * Entry point for IRQ handling. All the real work is performed
> * by orc_interrupt.
> */
> -static irqreturn_t inia100_intr(int irqno, void *devid)
> +static irqreturn_t inia100_intr(void *devid)
> {
> struct Scsi_Host *shost = (struct Scsi_Host *)devid;
> struct orc_host *host = (struct orc_host *)shost->hostdata;
> diff --git a/drivers/scsi/a2091.c b/drivers/scsi/a2091.c
> index b7c5385..d2db130 100644
> --- a/drivers/scsi/a2091.c
> +++ b/drivers/scsi/a2091.c
> @@ -23,7 +23,7 @@
> #define DMA(ptr) ((a2091_scsiregs *)((ptr)->base))
> #define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
>
> -static irqreturn_t a2091_intr (int irq, void *_instance)
> +static irqreturn_t a2091_intr (void *_instance)
> {
> unsigned long flags;
> unsigned int status;
> diff --git a/drivers/scsi/a3000.c b/drivers/scsi/a3000.c
> index 796f1c4..863de5b 100644
> --- a/drivers/scsi/a3000.c
> +++ b/drivers/scsi/a3000.c
> @@ -25,7 +25,7 @@
>
> static struct Scsi_Host *a3000_host = NULL;
>
> -static irqreturn_t a3000_intr (int irq, void *dummy)
> +static irqreturn_t a3000_intr (void *dummy)
> {
> unsigned long flags;
> unsigned int status = DMA(a3000_host)->ISTR;
> diff --git a/drivers/scsi/aacraid/rx.c b/drivers/scsi/aacraid/rx.c
> index 73eef3d..d9c1441 100644
> --- a/drivers/scsi/aacraid/rx.c
> +++ b/drivers/scsi/aacraid/rx.c
> @@ -45,7 +45,7 @@
>
> #include "aacraid.h"
>
> -static irqreturn_t aac_rx_intr_producer(int irq, void *dev_id)
> +static irqreturn_t aac_rx_intr_producer(void *dev_id)
> {
> struct aac_dev *dev = dev_id;
> unsigned long bellbits;
> @@ -84,7 +84,7 @@ static irqreturn_t aac_rx_intr_producer(int
> irq, void *dev_id)
> return IRQ_NONE;
> }
>
> -static irqreturn_t aac_rx_intr_message(int irq, void *dev_id)
> +static irqreturn_t aac_rx_intr_message(void *dev_id)
> {
> struct aac_dev *dev = dev_id;
> u32 Index = rx_readl(dev, MUnit.OutboundQueue);
> diff --git a/drivers/scsi/aacraid/sa.c b/drivers/scsi/aacraid/sa.c
> index 85b91bc..7a236d1 100644
> --- a/drivers/scsi/aacraid/sa.c
> +++ b/drivers/scsi/aacraid/sa.c
> @@ -44,7 +44,7 @@
>
> #include "aacraid.h"
>
> -static irqreturn_t aac_sa_intr(int irq, void *dev_id)
> +static irqreturn_t aac_sa_intr(void *dev_id)
> {
> struct aac_dev *dev = dev_id;
> unsigned short intstat, mask;
> diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c
> index 9dd3952..f6167bc 100644
> --- a/drivers/scsi/advansys.c
> +++ b/drivers/scsi/advansys.c
> @@ -9600,7 +9600,7 @@ advansys_biosparam(struct scsi_device
> *sdev, struct block_device *bdev,
> *
> * 'dev_id' is a pointer to the interrupting adapter's Scsi_Host.
> */
> -static irqreturn_t advansys_interrupt(int irq, void *dev_id)
> +static irqreturn_t advansys_interrupt(void *dev_id)
> {
> struct Scsi_Host *shost = dev_id;
> struct asc_board *boardp = shost_priv(shost);
> diff --git a/drivers/scsi/aha1740.c b/drivers/scsi/aha1740.c
> index f6722fd..aaf6e99 100644
> --- a/drivers/scsi/aha1740.c
> +++ b/drivers/scsi/aha1740.c
> @@ -223,7 +223,7 @@ static int aha1740_test_port(unsigned int base)
> }
>
> /* A "high" level interrupt handler */
> -static irqreturn_t aha1740_intr_handle(int irq, void *dev_id)
> +static irqreturn_t aha1740_intr_handle(void *dev_id)
> {
> struct Scsi_Host *host = (struct Scsi_Host *) dev_id;
> void (*my_done)(Scsi_Cmnd *);
> diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c
> b/drivers/scsi/aic7xxx/aic79xx_osm.c
> index 42c0f14..0751639 100644
> --- a/drivers/scsi/aic7xxx/aic79xx_osm.c
> +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c
> @@ -1526,7 +1526,7 @@ ahd_linux_run_command(struct ahd_softc
> *ahd, struct ahd_linux_device *dev,
> * SCSI controller interrupt handler.
> */
> irqreturn_t
> -ahd_linux_isr(int irq, void *dev_id)
> +ahd_linux_isr(void *dev_id)
> {
> struct ahd_softc *ahd;
> u_long flags;
> diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.h
> b/drivers/scsi/aic7xxx/aic79xx_osm.h
> index 853998b..ee488a4 100644
> --- a/drivers/scsi/aic7xxx/aic79xx_osm.h
> +++ b/drivers/scsi/aic7xxx/aic79xx_osm.h
> @@ -852,7 +852,7 @@ int ahd_platform_abort_scbs(struct
> ahd_softc *ahd, int target,
> char channel, int lun, u_int tag,
> role_t role, uint32_t status);
> irqreturn_t
> - ahd_linux_isr(int irq, void *dev_id);
> + ahd_linux_isr(void *dev_id);
> void ahd_done(struct ahd_softc*, struct scb*);
> void ahd_send_async(struct ahd_softc *, char channel,
> 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 7770bef..5bcf877 100644
> --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c
> +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c
> @@ -1532,7 +1532,7 @@ ahc_linux_run_command(struct ahc_softc
> *ahc, struct ahc_linux_device *dev,
> * SCSI controller interrupt handler.
> */
> irqreturn_t
> -ahc_linux_isr(int irq, void *dev_id)
> +ahc_linux_isr(void *dev_id)
> {
> struct ahc_softc *ahc;
> u_long flags;
> diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.h
> b/drivers/scsi/aic7xxx/aic7xxx_osm.h
> index b48dab4..e24d6c8 100644
> --- a/drivers/scsi/aic7xxx/aic7xxx_osm.h
> +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.h
> @@ -820,7 +820,7 @@ int ahc_platform_abort_scbs(struct
> ahc_softc *ahc, int target,
> char channel, int lun, u_int tag,
> role_t role, uint32_t status);
> irqreturn_t
> - ahc_linux_isr(int irq, void *dev_id);
> + ahc_linux_isr(void *dev_id);
> void ahc_platform_flushwork(struct ahc_softc *ahc);
> void ahc_done(struct ahc_softc*, struct scb*);
> void ahc_send_async(struct ahc_softc *, char channel,
> diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
> index 4025608..4c6ad7a 100644
> --- a/drivers/scsi/aic7xxx_old.c
> +++ b/drivers/scsi/aic7xxx_old.c
> @@ -6467,12 +6467,12 @@ aic7xxx_isr(void *dev_id)
> * anything like it, please inform the Gross Hack Police
> immediately
>
> *-F***********************************************************
> **************/
> static irqreturn_t
> -do_aic7xxx_isr(int irq, void *dev_id)
> +do_aic7xxx_isr(void *dev_id)
> {
> unsigned long cpu_flags;
> struct aic7xxx_host *p;
>
> - p = (struct aic7xxx_host *)dev_id;
> + p = dev_id;
> if(!p)
> return IRQ_NONE;
> spin_lock_irqsave(p->host->host_lock, cpu_flags);
> diff --git a/drivers/scsi/aic94xx/aic94xx_hwi.c
> b/drivers/scsi/aic94xx/aic94xx_hwi.c
> index 0cd7eed..c2bf1ed 100644
> --- a/drivers/scsi/aic94xx/aic94xx_hwi.c
> +++ b/drivers/scsi/aic94xx/aic94xx_hwi.c
> @@ -1017,7 +1017,7 @@ static inline void
> asd_hst_pcix_isr(struct asd_ha_struct *asd_ha)
> *
> * The ISR processes done list entries and level 3 error handling.
> */
> -irqreturn_t asd_hw_isr(int irq, void *dev_id)
> +irqreturn_t asd_hw_isr(void *dev_id)
> {
> struct asd_ha_struct *asd_ha = dev_id;
> 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 491e5d8..6bb6e07 100644
> --- a/drivers/scsi/aic94xx/aic94xx_hwi.h
> +++ b/drivers/scsi/aic94xx/aic94xx_hwi.h
> @@ -372,7 +372,7 @@ static inline void
> asd_ascb_free_list(struct asd_ascb *ascb_list)
> /* ---------- Function declarations ---------- */
>
> int asd_init_hw(struct asd_ha_struct *asd_ha);
> -irqreturn_t asd_hw_isr(int irq, void *dev_id);
> +irqreturn_t asd_hw_isr(void *dev_id);
>
>
> struct asd_ascb *asd_ascb_alloc_list(struct asd_ha_struct
> diff --git a/drivers/scsi/arcmsr/arcmsr_hba.c
> b/drivers/scsi/arcmsr/arcmsr_hba.c
> index f817775..60fbfa5 100644
> --- a/drivers/scsi/arcmsr/arcmsr_hba.c
> +++ b/drivers/scsi/arcmsr/arcmsr_hba.c
> @@ -168,7 +168,7 @@ static struct pci_driver arcmsr_pci_driver = {
> #endif
> };
>
> -static irqreturn_t arcmsr_do_interrupt(int irq, void *dev_id)
> +static irqreturn_t arcmsr_do_interrupt(void *dev_id)
> {
> irqreturn_t handle_state;
> struct AdapterControlBlock *acb = dev_id;
> diff --git a/drivers/scsi/arm/acornscsi.c
> b/drivers/scsi/arm/acornscsi.c
> index eceacf6..419cd8b 100644
> --- a/drivers/scsi/arm/acornscsi.c
> +++ b/drivers/scsi/arm/acornscsi.c
> @@ -2460,13 +2460,12 @@ intr_ret_t acornscsi_sbicintr(AS_Host
> *host, int in_irq)
> }
>
> /*
> - * Prototype: void acornscsi_intr(int irq, void *dev_id)
> + * Prototype: void acornscsi_intr(void *dev_id)
> * Purpose : handle interrupts from Acorn SCSI card
> - * Params : irq - interrupt number
> - * dev_id - device specific data (AS_Host structure)
> + * Params : dev_id - device specific data (AS_Host structure)
> */
> static irqreturn_t
> -acornscsi_intr(int irq, void *dev_id)
> +acornscsi_intr(void *dev_id)
> {
> AS_Host *host = (AS_Host *)dev_id;
> intr_ret_t ret;
> diff --git a/drivers/scsi/arm/cumana_2.c b/drivers/scsi/arm/cumana_2.c
> index 68a6412..6740fb0 100644
> --- a/drivers/scsi/arm/cumana_2.c
> +++ b/drivers/scsi/arm/cumana_2.c
> @@ -134,11 +134,10 @@ cumanascsi_2_terminator_ctl(struct
> Scsi_Host *host, int on_off)
>
> /* Prototype: void cumanascsi_2_intr(irq, *dev_id, *regs)
> * Purpose : handle interrupts from Cumana SCSI 2 card
> - * Params : irq - interrupt number
> - * dev_id - user-defined (Scsi_Host structure)
> + * Params : dev_id - user-defined (Scsi_Host structure)
> */
> static irqreturn_t
> -cumanascsi_2_intr(int irq, void *dev_id)
> +cumanascsi_2_intr(void *dev_id)
> {
> struct cumanascsi2_info *info = dev_id;
>
> diff --git a/drivers/scsi/arm/eesox.c b/drivers/scsi/arm/eesox.c
> index bb2477b..8c8cbf0 100644
> --- a/drivers/scsi/arm/eesox.c
> +++ b/drivers/scsi/arm/eesox.c
> @@ -135,11 +135,10 @@ eesoxscsi_terminator_ctl(struct
> Scsi_Host *host, int on_off)
>
> /* Prototype: void eesoxscsi_intr(irq, *dev_id, *regs)
> * Purpose : handle interrupts from EESOX SCSI card
> - * Params : irq - interrupt number
> - * dev_id - user-defined (Scsi_Host structure)
> + * Params : dev_id - user-defined (Scsi_Host structure)
> */
> static irqreturn_t
> -eesoxscsi_intr(int irq, void *dev_id)
> +eesoxscsi_intr(void *dev_id)
> {
> struct eesoxscsi_info *info = dev_id;
>
> diff --git a/drivers/scsi/arm/powertec.c b/drivers/scsi/arm/powertec.c
> index d9a546d..247f904 100644
> --- a/drivers/scsi/arm/powertec.c
> +++ b/drivers/scsi/arm/powertec.c
> @@ -109,10 +109,9 @@ powertecscsi_terminator_ctl(struct
> Scsi_Host *host, int on_off)
>
> /* Prototype: void powertecscsi_intr(irq, *dev_id, *regs)
> * Purpose : handle interrupts from Powertec SCSI card
> - * Params : irq - interrupt number
> - * dev_id - user-defined (Scsi_Host structure)
> + * Params : dev_id - user-defined (Scsi_Host structure)
> */
> -static irqreturn_t powertecscsi_intr(int irq, void *dev_id)
> +static irqreturn_t powertecscsi_intr(void *dev_id)
> {
> struct powertec_info *info = dev_id;
>
> diff --git a/drivers/scsi/atari_NCR5380.c
> b/drivers/scsi/atari_NCR5380.c
> index 52d0b87..e1a8b0f 100644
> --- a/drivers/scsi/atari_NCR5380.c
> +++ b/drivers/scsi/atari_NCR5380.c
> @@ -1271,11 +1271,11 @@ static void
> NCR5380_dma_complete(struct Scsi_Host *instance)
> * from the disconnected queue, and restarting NCR5380_main()
> * as required.
> *
> - * Inputs : int irq, irq that caused this interrupt.
> + * Inputs : void *dev_id: instance structure
> *
> */
>
> -static irqreturn_t NCR5380_intr(int irq, void *dev_id)
> +static irqreturn_t NCR5380_intr(void *dev_id)
> {
> struct Scsi_Host *instance = first_instance;
> int done = 1, handled = 0;
> diff --git a/drivers/scsi/atari_dma_emul.c
> b/drivers/scsi/atari_dma_emul.c
> index cdc710e..587f051 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)
> }
>
> /*
> - * void hades_dma_emulator(int irq, void *dummy)
> + * void hades_dma_emulator(void *dummy)
> *
> * This code emulates TT SCSI DMA on the Hades.
> *
> @@ -140,7 +140,7 @@ static inline void
> set_restdata_reg(unsigned char *cur_addr)
> * increased with one.
> */
>
> -static irqreturn_t hades_dma_emulator(int irq, void *dummy)
> +static irqreturn_t hades_dma_emulator(void *dummy)
> {
> unsigned long dma_base;
> register unsigned long dma_cnt asm ("d3");
> diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c
> index 6f8403b..7cfebd2 100644
> --- a/drivers/scsi/atari_scsi.c
> +++ b/drivers/scsi/atari_scsi.c
> @@ -193,8 +193,8 @@ static int falcon_classify_cmd(Scsi_Cmnd *cmd);
> static unsigned long atari_dma_xfer_len(unsigned long wanted_len,
> Scsi_Cmnd *cmd, int write_flag);
> #endif
> -static irqreturn_t scsi_tt_intr(int irq, void *dummy);
> -static irqreturn_t scsi_falcon_intr(int irq, void *dummy);
> +static irqreturn_t scsi_tt_intr(void *dummy);
> +static irqreturn_t scsi_falcon_intr(void *dummy);
> static void falcon_release_lock_if_possible(struct
> NCR5380_hostdata *hostdata);
> static void falcon_get_lock(void);
> #ifdef CONFIG_ATARI_SCSI_RESET_BOOT
> @@ -282,7 +282,7 @@ static int
> scsi_dma_is_ignored_buserr(unsigned char dma_stat)
> * end-of-DMA, both SCSI ints are triggered simultaneously,
> so the NCR int has
> * to clear the DMA int pending bit before it allows other
> level 6 interrupts.
> */
> -static void scsi_dma_buserr(int irq, void *dummy)
> +static void scsi_dma_buserr(void *dummy)
> {
> unsigned char dma_stat = tt_scsi_dma.dma_ctrl;
>
> @@ -310,7 +310,7 @@ static void scsi_dma_buserr(int irq, void *dummy)
> #endif
>
>
> -static irqreturn_t scsi_tt_intr(int irq, void *dummy)
> +static irqreturn_t scsi_tt_intr(void *dummy)
> {
> #ifdef REAL_DMA
> int dma_stat;
> @@ -403,7 +403,7 @@ static irqreturn_t scsi_tt_intr(int irq,
> void *dummy)
> }
>
>
> -static irqreturn_t scsi_falcon_intr(int irq, void *dummy)
> +static irqreturn_t scsi_falcon_intr(void *dummy)
> {
> #ifdef REAL_DMA
> int dma_stat;
> diff --git a/drivers/scsi/atp870u.c b/drivers/scsi/atp870u.c
> index fec58cc..5a6ada2 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);
> static void is885(struct atp_unit *dev, unsigned int
> wkport,unsigned char c);
> static void tscam_885(void);
>
> -static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
> +static irqreturn_t atp870u_intr_handle(void *dev_id)
> {
> unsigned long flags;
> unsigned short int tmpcip, id;
> diff --git a/drivers/scsi/dc395x.c b/drivers/scsi/dc395x.c
> index fd42d47..d300a5f 100644
> --- a/drivers/scsi/dc395x.c
> +++ b/drivers/scsi/dc395x.c
> @@ -1800,7 +1800,7 @@ static void
> dc395x_handle_interrupt(struct AdapterCtlBlk *acb,
> }
>
>
> -static irqreturn_t dc395x_interrupt(int irq, void *dev_id)
> +static irqreturn_t dc395x_interrupt(void *dev_id)
> {
> struct AdapterCtlBlk *acb = dev_id;
> u16 scsi_status;
> diff --git a/drivers/scsi/dec_esp.c b/drivers/scsi/dec_esp.c
> index d42ad66..9af7fdd 100644
> --- a/drivers/scsi/dec_esp.c
> +++ b/drivers/scsi/dec_esp.c
> @@ -94,9 +94,9 @@ volatile unsigned char pmaz_cmd_buffer[16];
> * via PIO.
> */
>
> -static irqreturn_t scsi_dma_merr_int(int, void *);
> -static irqreturn_t scsi_dma_err_int(int, void *);
> -static irqreturn_t scsi_dma_int(int, void *);
> +static irqreturn_t scsi_dma_merr_int(void *);
> +static irqreturn_t scsi_dma_err_int(void *);
> +static irqreturn_t scsi_dma_int(void *);
>
> static struct scsi_host_template dec_esp_template = {
> .module = THIS_MODULE,
> @@ -352,7 +352,7 @@ static void __exit dec_esp_remove(struct
> device *dev)
>
>
>
> /*************************************************************
> DMA Functions */
> -static irqreturn_t scsi_dma_merr_int(int irq, void *dev_id)
> +static irqreturn_t scsi_dma_merr_int(void *dev_id)
> {
> printk("Got unexpected SCSI DMA Interrupt! < ");
> printk("SCSI_DMA_MEMRDERR ");
> @@ -361,14 +361,14 @@ static irqreturn_t
> scsi_dma_merr_int(int irq, void *dev_id)
> return IRQ_HANDLED;
> }
>
> -static irqreturn_t scsi_dma_err_int(int irq, void *dev_id)
> +static irqreturn_t scsi_dma_err_int(void *dev_id)
> {
> /* empty */
>
> return IRQ_HANDLED;
> }
>
> -static irqreturn_t scsi_dma_int(int irq, void *dev_id)
> +static irqreturn_t scsi_dma_int(void *dev_id)
> {
> u32 scsi_next_ptr;
>
> diff --git a/drivers/scsi/dpt_i2o.c b/drivers/scsi/dpt_i2o.c
> index 8258506..f87b897 100644
> --- a/drivers/scsi/dpt_i2o.c
> +++ b/drivers/scsi/dpt_i2o.c
> @@ -1966,7 +1966,7 @@ static int adpt_ioctl(struct inode
> *inode, struct file *file, uint cmd,
> }
>
>
> -static irqreturn_t adpt_isr(int irq, void *dev_id)
> +static irqreturn_t adpt_isr(void *dev_id)
> {
> struct scsi_cmnd* cmd;
> adpt_hba* pHba = dev_id;
> diff --git a/drivers/scsi/dpti.h b/drivers/scsi/dpti.h
> index 0892f6c..64be1df 100644
> --- a/drivers/scsi/dpti.h
> +++ b/drivers/scsi/dpti.h
> @@ -259,7 +259,7 @@ struct sg_simple_element {
> static void adpt_i2o_sys_shutdown(void);
> static int adpt_init(void);
> static int adpt_i2o_build_sys_table(void);
> -static irqreturn_t adpt_isr(int irq, void *dev_id);
> +static irqreturn_t adpt_isr(void *dev_id);
> #ifdef REBOOT_NOTIFIER
> static int adpt_reboot_event(struct notifier_block *n, ulong
> code, void *p);
> #endif
> diff --git a/drivers/scsi/eata_pio.c b/drivers/scsi/eata_pio.c
> index 96180bb..17bcdfe 100644
> --- a/drivers/scsi/eata_pio.c
> +++ b/drivers/scsi/eata_pio.c
> @@ -178,9 +178,9 @@ static void IncStat(struct scsi_pointer
> *SCp, unsigned int Increment)
> }
> }
>
> -static irqreturn_t eata_pio_int_handler(int irq, void *dev_id);
> +static irqreturn_t eata_pio_int_handler(void *dev_id);
>
> -static irqreturn_t do_eata_pio_int_handler(int irq, void *dev_id)
> +static irqreturn_t do_eata_pio_int_handler(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = dev_id;
> @@ -192,7 +192,7 @@ static irqreturn_t
> do_eata_pio_int_handler(int irq, void *dev_id)
> return ret;
> }
>
> -static irqreturn_t eata_pio_int_handler(int irq, void *dev_id)
> +static irqreturn_t eata_pio_int_handler(void *dev_id)
> {
> unsigned int eata_stat = 0xfffff;
> struct scsi_cmnd *cmd;
> diff --git a/drivers/scsi/fd_mcs.c b/drivers/scsi/fd_mcs.c
> index 668569e..254827f 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[] = {
>
> #define FD_BRDS ARRAY_SIZE(fd_mcs_adapters)
>
> -static irqreturn_t fd_mcs_intr(int irq, void *dev_id);
> +static irqreturn_t fd_mcs_intr(void *dev_id);
>
> static unsigned long addresses[] = { 0xc8000, 0xca000,
> 0xce000, 0xde000 };
> static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 };
> @@ -619,7 +619,7 @@ static void my_done(struct Scsi_Host
> *shpnt, int error)
> }
>
> /* only my_done needs to be protected */
> -static irqreturn_t fd_mcs_intr(int irq, void *dev_id)
> +static irqreturn_t fd_mcs_intr(void *dev_id)
> {
> unsigned long flags;
> int status;
> diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
> index 5d282e6..fc03f07 100644
> --- a/drivers/scsi/fdomain.c
> +++ b/drivers/scsi/fdomain.c
> @@ -406,7 +406,7 @@ static volatile int in_interrupt_flag;
> static int FIFO_Size = 0x2000; /* 8k FIFO for
> pre-tmc18c30 chips */
>
> -static irqreturn_t do_fdomain_16x0_intr( int irq, void
> *dev_id );
> +static irqreturn_t do_fdomain_16x0_intr( void *dev_id );
> /* Allow insmod parameters to be like LILO parameters. For example:
> insmod fdomain fdomain=0x140,11 */
> static char * fdomain = NULL;
> @@ -1123,7 +1123,7 @@ static void my_done(int error)
> #endif
> }
>
> -static irqreturn_t do_fdomain_16x0_intr(int irq, void *dev_id)
> +static irqreturn_t do_fdomain_16x0_intr(void *dev_id)
> {
> unsigned long flags;
> int status;
> diff --git a/drivers/scsi/gvp11.c b/drivers/scsi/gvp11.c
> index 37741e9..74cab0b 100644
> --- a/drivers/scsi/gvp11.c
> +++ b/drivers/scsi/gvp11.c
> @@ -23,7 +23,7 @@
> #define DMA(ptr) ((gvp11_scsiregs *)((ptr)->base))
> #define HDATA(ptr) ((struct WD33C93_hostdata *)((ptr)->hostdata))
>
> -static irqreturn_t gvp11_intr (int irq, void *_instance)
> +static irqreturn_t gvp11_intr (void *_instance)
> {
> unsigned long flags;
> unsigned int status;
> diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c
> index 8515054..9205ebb 100644
> --- a/drivers/scsi/hptiop.c
> +++ b/drivers/scsi/hptiop.c
> @@ -429,7 +429,7 @@ void hptiop_iop_request_callback(struct
> hptiop_hba *hba, u32 tag)
> writel(tag, &hba->iop->outbound_queue);
> }
>
> -static irqreturn_t hptiop_intr(int irq, void *dev_id)
> +static irqreturn_t hptiop_intr(void *dev_id)
> {
> struct hptiop_hba *hba = dev_id;
> int handled;
> diff --git a/drivers/scsi/ibmmca.c b/drivers/scsi/ibmmca.c
> index 714e627..683fe1d 100644
> --- a/drivers/scsi/ibmmca.c
> +++ b/drivers/scsi/ibmmca.c
> @@ -497,7 +497,7 @@ static int option_setup(char *);
> static int ldn_access_load(struct Scsi_Host *, int);
> static int ldn_access_total_read_write(struct Scsi_Host *);
>
> -static irqreturn_t interrupt_handler(int irq, void *dev_id)
> +static irqreturn_t interrupt_handler(void *dev_id)
> {
> unsigned int intr_reg;
> unsigned int cmd_result;
> diff --git a/drivers/scsi/ibmvscsi/rpa_vscsi.c
> b/drivers/scsi/ibmvscsi/rpa_vscsi.c
> index 1821461..8003fb1 100644
> --- a/drivers/scsi/ibmvscsi/rpa_vscsi.c
> +++ b/drivers/scsi/ibmvscsi/rpa_vscsi.c
> @@ -43,13 +43,12 @@ static unsigned int partition_number = -1;
> */
> /**
> * rpavscsi_handle_event: - Interrupt handler for crq events
> - * @irq: number of irq to handle, not used
> * @dev_instance: ibmvscsi_host_data of host that received interrupt
> *
> * Disables interrupts and schedules srp_task
> * Always returns IRQ_HANDLED
> */
> -static irqreturn_t rpavscsi_handle_event(int irq, void *dev_instance)
> +static irqreturn_t rpavscsi_handle_event(void *dev_instance)
> {
> struct ibmvscsi_host_data *hostdata =
> (struct ibmvscsi_host_data *)dev_instance;
> diff --git a/drivers/scsi/in2000.c b/drivers/scsi/in2000.c
> index ab7cbf3..c6754d1 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)
> * but it _does_ need to be able to compile and run in an
> SMP kernel.)
> */
>
> -static irqreturn_t in2000_intr(int irqnum, void *dev_id)
> +static irqreturn_t in2000_intr(void *dev_id)
> {
> struct Scsi_Host *instance = dev_id;
> struct IN2000_hostdata *hostdata;
> diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
> index 22d40fd..87c7537 100644
> --- a/drivers/scsi/initio.c
> +++ b/drivers/scsi/initio.c
> @@ -2532,7 +2532,7 @@ static int initio_wait_done_disc(struct
> initio_host * host)
> * code under the lock.
> */
>
> -static irqreturn_t i91u_intr(int irqno, void *dev_id)
> +static irqreturn_t i91u_intr(void *dev_id)
> {
> struct Scsi_Host *dev = dev_id;
> unsigned long flags;
> diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
> index c316a0b..78a44ab 100644
> --- a/drivers/scsi/ipr.c
> +++ b/drivers/scsi/ipr.c
> @@ -4178,7 +4178,7 @@ static irqreturn_t
> ipr_handle_other_interrupt(struct ipr_ioa_cfg *ioa_cfg,
> * Return value:
> * IRQ_NONE / IRQ_HANDLED
> **/
> -static irqreturn_t ipr_isr(int irq, void *devp)
> +static irqreturn_t ipr_isr(void *devp)
> {
> struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)devp;
> unsigned long lock_flags = 0;
> diff --git a/drivers/scsi/ips.c b/drivers/scsi/ips.c
> index edaac27..0f1edb9 100644
> --- a/drivers/scsi/ips.c
> +++ b/drivers/scsi/ips.c
> @@ -235,7 +235,7 @@ static int ips_eh_abort(struct scsi_cmnd *);
> static int ips_eh_reset(struct scsi_cmnd *);
> static int ips_queue(struct scsi_cmnd *, void (*)(struct
> scsi_cmnd *));
> static const char *ips_info(struct Scsi_Host *);
> -static irqreturn_t do_ipsintr(int, void *);
> +static irqreturn_t do_ipsintr(void *);
> static int ips_hainit(ips_ha_t *);
> static int ips_map_status(ips_ha_t *, ips_scb_t *, ips_stat_t *);
> static int ips_send_wait(ips_ha_t *, ips_scb_t *, int, int);
> @@ -1231,7 +1231,7 @@ ips_slave_configure(struct scsi_device * SDptr)
> /*
> */
>
> /*************************************************************
> ***************/
> static irqreturn_t
> -do_ipsintr(int irq, void *dev_id)
> +do_ipsintr(void *dev_id)
> {
> ips_ha_t *ha;
> struct Scsi_Host *host;
> diff --git a/drivers/scsi/lpfc/lpfc_crtn.h
> b/drivers/scsi/lpfc/lpfc_crtn.h
> index a599e15..0771fbc 100644
> --- a/drivers/scsi/lpfc/lpfc_crtn.h
> +++ b/drivers/scsi/lpfc/lpfc_crtn.h
> @@ -152,7 +152,7 @@ int lpfc_sli_queue_setup(struct lpfc_hba *);
>
> void lpfc_handle_eratt(struct lpfc_hba *);
> void lpfc_handle_latt(struct lpfc_hba *);
> -irqreturn_t lpfc_intr_handler(int, void *);
> +irqreturn_t lpfc_intr_handler(void *);
>
> void lpfc_read_rev(struct lpfc_hba *, LPFC_MBOXQ_t *);
> void 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 ce348c5..f1e20e7 100644
> --- a/drivers/scsi/lpfc/lpfc_sli.c
> +++ b/drivers/scsi/lpfc/lpfc_sli.c
> @@ -3765,7 +3765,7 @@ lpfc_sli_flush_mbox_queue(struct
> lpfc_hba * phba)
> }
>
> irqreturn_t
> -lpfc_intr_handler(int irq, void *dev_id)
> +lpfc_intr_handler(void *dev_id)
> {
> struct lpfc_hba *phba;
> uint32_t ha_copy;
> diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
> index a035001..db29fc0 100644
> --- a/drivers/scsi/mac53c94.c
> +++ b/drivers/scsi/mac53c94.c
> @@ -60,8 +60,8 @@ struct fsc_state {
>
> static void mac53c94_init(struct fsc_state *);
> static void mac53c94_start(struct fsc_state *);
> -static void mac53c94_interrupt(int, void *);
> -static irqreturn_t do_mac53c94_interrupt(int, void *);
> +static void mac53c94_interrupt(void *);
> +static irqreturn_t do_mac53c94_interrupt(void *);
> static void cmd_done(struct fsc_state *, int result);
> static void set_dma_cmds(struct fsc_state *, struct scsi_cmnd *);
>
> @@ -176,7 +176,7 @@ static void mac53c94_start(struct
> fsc_state *state)
> set_dma_cmds(state, cmd);
> }
>
> -static irqreturn_t do_mac53c94_interrupt(int irq, void *dev_id)
> +static irqreturn_t do_mac53c94_interrupt(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = ((struct fsc_state *)
> dev_id)->current_req->device->host;
> @@ -187,7 +187,7 @@ static irqreturn_t
> do_mac53c94_interrupt(int irq, void *dev_id)
> return IRQ_HANDLED;
> }
>
> -static void mac53c94_interrupt(int irq, void *dev_id)
> +static void mac53c94_interrupt(void *dev_id)
> {
> struct fsc_state *state = (struct fsc_state *) dev_id;
> struct mac53c94_regs __iomem *regs = state->regs;
> diff --git a/drivers/scsi/mac_esp.c b/drivers/scsi/mac_esp.c
> index bcb4902..fc03a88 100644
> --- a/drivers/scsi/mac_esp.c
> +++ b/drivers/scsi/mac_esp.c
> @@ -44,7 +44,7 @@
> /* #define DEBUG_MAC_ESP */
>
> extern void esp_handle(struct NCR_ESP *esp);
> -extern void mac_esp_intr(int irq, void *dev_id);
> +extern void mac_esp_intr(void *dev_id);
>
> static int dma_bytes_sent(struct NCR_ESP * esp, int fifo_count);
> static int dma_can_transfer(struct NCR_ESP * esp, Scsi_Cmnd *sp);
> @@ -88,7 +88,7 @@ static int setup_hostid = -1;
> * set up properly!
> */
>
> -void mac_esp_intr(int irq, void *dev_id)
> +void mac_esp_intr(void *dev_id)
> {
> struct NCR_ESP *esp = (struct NCR_ESP *) dev_id;
> int irq_p = 0;
> @@ -122,7 +122,7 @@ void mac_esp_intr(int irq, void *dev_id)
> * acknowledge on the various machines
> */
>
> -void scsi_esp_polled(int irq, void *dev_id)
> +void scsi_esp_polled(void *dev_id)
> {
> if (esp_initialized == 0)
> return;
> @@ -130,7 +130,7 @@ void scsi_esp_polled(int irq, void *dev_id)
> mac_esp_intr(irq, dev_id);
> }
>
> -void fake_intr(int irq, void *dev_id)
> +void fake_intr(void *dev_id)
> {
> #ifdef DEBUG_MAC_ESP
> printk("mac_esp: got irq\n");
> @@ -139,7 +139,7 @@ void fake_intr(int irq, void *dev_id)
> mac_esp_intr(irq, dev_id);
> }
>
> -irqreturn_t fake_drq(int irq, void *dev_id)
> +irqreturn_t fake_drq(void *dev_id)
> {
> printk("mac_esp: got drq\n");
> return IRQ_HANDLED;
> diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c
> index 10d1aff..ff6d232 100644
> --- a/drivers/scsi/megaraid.c
> +++ b/drivers/scsi/megaraid.c
> @@ -1244,7 +1244,6 @@ bug_blocked_mailbox:
>
> /**
> * megaraid_isr_iomapped()
> - * @irq - irq
> * @devp - pointer to our soft state
> *
> * Interrupt service routine for io-mapped controllers.
> @@ -1252,7 +1251,7 @@ bug_blocked_mailbox:
> * and service the completed commands.
> */
> static irqreturn_t
> -megaraid_isr_iomapped(int irq, void *devp)
> +megaraid_isr_iomapped(void *devp)
> {
> adapter_t *adapter = devp;
> unsigned long flags;
> @@ -1328,7 +1327,7 @@ megaraid_isr_iomapped(int irq, void *devp)
> * and service the completed commands.
> */
> static irqreturn_t
> -megaraid_isr_memmapped(int irq, void *devp)
> +megaraid_isr_memmapped(void *devp)
> {
> adapter_t *adapter = devp;
> unsigned long flags;
> diff --git a/drivers/scsi/megaraid.h b/drivers/scsi/megaraid.h
> index ee70bd4..a04f446 100644
> --- a/drivers/scsi/megaraid.h
> +++ b/drivers/scsi/megaraid.h
> @@ -992,8 +992,8 @@ static scb_t * mega_build_cmd(adapter_t
> *, Scsi_Cmnd *, int *);
> static void __mega_runpendq(adapter_t *);
> static int issue_scb_block(adapter_t *, u_char *);
>
> -static irqreturn_t megaraid_isr_memmapped(int, void *);
> -static irqreturn_t megaraid_isr_iomapped(int, void *);
> +static irqreturn_t megaraid_isr_memmapped(void *);
> +static irqreturn_t megaraid_isr_iomapped(void *);
>
> static void mega_free_scb(adapter_t *, scb_t *);
>
> diff --git a/drivers/scsi/megaraid/megaraid_mbox.c
> b/drivers/scsi/megaraid/megaraid_mbox.c
> index e4e4c6a..f179000 100644
> --- a/drivers/scsi/megaraid/megaraid_mbox.c
> +++ b/drivers/scsi/megaraid/megaraid_mbox.c
> @@ -121,7 +121,7 @@ static void
> megaraid_mbox_prepare_pthru(adapter_t *, scb_t *,
> static void megaraid_mbox_prepare_epthru(adapter_t *, scb_t *,
> struct scsi_cmnd *);
>
> -static irqreturn_t megaraid_isr(int, void *);
> +static irqreturn_t megaraid_isr(void *);
>
> static void megaraid_mbox_dpc(unsigned long);
>
> @@ -2188,7 +2188,7 @@ megaraid_ack_sequence(adapter_t *adapter)
> * Interrupt service routine for memory-mapped mailbox controllers.
> */
> static irqreturn_t
> -megaraid_isr(int irq, void *devp)
> +megaraid_isr(void *devp)
> {
> adapter_t *adapter = devp;
> int handled;
> diff --git a/drivers/scsi/megaraid/megaraid_sas.c
> b/drivers/scsi/megaraid/megaraid_sas.c
> index e3c5c52..b76847c 100644
> --- a/drivers/scsi/megaraid/megaraid_sas.c
> +++ b/drivers/scsi/megaraid/megaraid_sas.c
> @@ -1316,7 +1316,7 @@ out_done:
> /**
> * megasas_isr - isr entry point
> */
> -static irqreturn_t megasas_isr(int irq, void *devp)
> +static irqreturn_t megasas_isr(void *devp)
> {
> return megasas_deplete_reply_queue((struct
> megasas_instance *)devp,
> DID_OK);
> diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
> index 7470ff3..b1c5f46 100644
> --- a/drivers/scsi/mesh.c
> +++ b/drivers/scsi/mesh.c
> @@ -1018,7 +1018,7 @@ static void handle_reset(struct mesh_state *ms)
> out_8(&mr->sequence, SEQ_ENBRESEL);
> }
>
> -static irqreturn_t do_mesh_interrupt(int irq, void *dev_id)
> +static irqreturn_t do_mesh_interrupt(void *dev_id)
> {
> unsigned long flags;
> struct mesh_state *ms = dev_id;
> diff --git a/drivers/scsi/mvme147.c b/drivers/scsi/mvme147.c
> index be41aad..4f99eb0 100644
> --- a/drivers/scsi/mvme147.c
> +++ b/drivers/scsi/mvme147.c
> @@ -19,7 +19,7 @@
>
> static struct Scsi_Host *mvme147_host = NULL;
>
> -static irqreturn_t mvme147_intr (int irq, void *dummy)
> +static irqreturn_t mvme147_intr (void *dummy)
> {
> if (irq == MVME147_IRQ_SCSI_PORT)
> wd33c93_intr (mvme147_host);
> diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c
> index 016c462..59fef30 100644
> --- a/drivers/scsi/ncr53c8xx.c
> +++ b/drivers/scsi/ncr53c8xx.c
> @@ -8066,7 +8066,7 @@ printk("ncr53c8xx : command
> successfully queued\n");
> return sts;
> }
>
> -irqreturn_t ncr53c8xx_intr(int irq, void *dev_id)
> +irqreturn_t ncr53c8xx_intr(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *shost = (struct Scsi_Host *)dev_id;
> diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h
> index 0e008da..0eaee1b 100644
> --- a/drivers/scsi/ncr53c8xx.h
> +++ b/drivers/scsi/ncr53c8xx.h
> @@ -1322,7 +1322,7 @@ struct ncr_device {
>
> extern struct Scsi_Host *ncr_attach(struct
> scsi_host_template *tpnt, int unit, struct ncr_device *device);
> extern void ncr53c8xx_release(struct Scsi_Host *host);
> -irqreturn_t ncr53c8xx_intr(int irq, void *dev_id);
> +irqreturn_t ncr53c8xx_intr(void *dev_id);
> extern int ncr53c8xx_init(void);
> extern void ncr53c8xx_exit(void);
>
> diff --git a/drivers/scsi/nsp32.c b/drivers/scsi/nsp32.c
> index 28161dc..c50373b 100644
> --- a/drivers/scsi/nsp32.c
> +++ b/drivers/scsi/nsp32.c
> @@ -243,7 +243,7 @@ static void nsp32_sack_negate (nsp32_hw_data *);
> static void nsp32_do_bus_reset(nsp32_hw_data *);
>
> /* hardware interrupt handler */
> -static irqreturn_t do_nsp32_isr(int, void *);
> +static irqreturn_t do_nsp32_isr(void *);
>
> /* initialize hardware */
> static int nsp32hw_init(nsp32_hw_data *);
> @@ -1161,7 +1161,7 @@ static int nsp32hw_init(nsp32_hw_data *data)
>
>
> /* interrupt routine */
> -static irqreturn_t do_nsp32_isr(int irq, void *dev_id)
> +static irqreturn_t do_nsp32_isr(void *dev_id)
> {
> nsp32_hw_data *data = dev_id;
> unsigned int base = data->BaseAddress;
> diff --git a/drivers/scsi/pcmcia/nsp_cs.c
> b/drivers/scsi/pcmcia/nsp_cs.c
> index a45d89b..49f42c3 100644
> --- a/drivers/scsi/pcmcia/nsp_cs.c
> +++ b/drivers/scsi/pcmcia/nsp_cs.c
> @@ -940,7 +940,7 @@ static int nsp_nexus(struct scsi_cmnd *SCpnt)
> /*
> * interrupt handler
> */
> -static irqreturn_t nspintr(int irq, void *dev_id)
> +static irqreturn_t nspintr(void *dev_id)
> {
> unsigned int base;
> unsigned char irq_status, irq_phase, phase;
> diff --git a/drivers/scsi/pcmcia/nsp_cs.h
> b/drivers/scsi/pcmcia/nsp_cs.h
> index b7f0fa2..1ea53ae 100644
> --- a/drivers/scsi/pcmcia/nsp_cs.h
> +++ b/drivers/scsi/pcmcia/nsp_cs.h
> @@ -332,7 +332,7 @@ static int nsp_reselected (struct
> scsi_cmnd *SCpnt);
> static struct Scsi_Host *nsp_detect(struct scsi_host_template *sht);
>
> /* Interrupt handler */
> -//static irqreturn_t nspintr(int irq, void *dev_id);
> +//static irqreturn_t nspintr(void *dev_id);
>
> /* Module entry point*/
> static int __init nsp_cs_init(void);
> diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c
> b/drivers/scsi/pcmcia/sym53c500_cs.c
> index 190e2a7..45e52df 100644
> --- a/drivers/scsi/pcmcia/sym53c500_cs.c
> +++ b/drivers/scsi/pcmcia/sym53c500_cs.c
> @@ -362,7 +362,7 @@ SYM53C500_pio_write(int fast_pio, int
> base, unsigned char *request, unsigned int
> }
>
> static irqreturn_t
> -SYM53C500_intr(int irq, void *dev_id)
> +SYM53C500_intr(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = dev_id;
> diff --git a/drivers/scsi/qla1280.c b/drivers/scsi/qla1280.c
> index 76089cf..013e4c1 100644
> --- a/drivers/scsi/qla1280.c
> +++ b/drivers/scsi/qla1280.c
> @@ -1111,7 +1111,7 @@ qla1280_enable_intrs(struct scsi_qla_host *ha)
> * Handles the H/W interrupt
>
> **************************************************************
> ************/
> static irqreturn_t
> -qla1280_intr_handler(int irq, void *dev_id)
> +qla1280_intr_handler(void *dev_id)
> {
> struct scsi_qla_host *ha;
> struct device_reg __iomem *reg;
> diff --git a/drivers/scsi/qla2xxx/qla_gbl.h
> b/drivers/scsi/qla2xxx/qla_gbl.h
> index 09cb2a9..e5de80e 100644
> --- a/drivers/scsi/qla2xxx/qla_gbl.h
> +++ b/drivers/scsi/qla2xxx/qla_gbl.h
> @@ -258,9 +258,9 @@ qla2x00_set_idma_speed(scsi_qla_host_t *,
> uint16_t, uint16_t, uint16_t *);
> /*
> * Global Function Prototypes in qla_isr.c source file.
> */
> -extern irqreturn_t qla2100_intr_handler(int, void *);
> -extern irqreturn_t qla2300_intr_handler(int, void *);
> -extern irqreturn_t qla24xx_intr_handler(int, void *);
> +extern irqreturn_t qla2100_intr_handler(void *);
> +extern irqreturn_t qla2300_intr_handler(void *);
> +extern irqreturn_t qla24xx_intr_handler(void *);
> extern void qla2x00_process_response_queue(struct scsi_qla_host *);
> extern void qla24xx_process_response_queue(struct scsi_qla_host *);
>
> diff --git a/drivers/scsi/qla2xxx/qla_inline.h
> b/drivers/scsi/qla2xxx/qla_inline.h
> index 8e3b044..cf05419 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 *);
> static inline void
> qla2x00_poll(scsi_qla_host_t *ha)
> {
> - ha->isp_ops->intr_handler(0, ha);
> + ha->isp_ops->intr_handler(ha);
> }
>
> static __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 c4768c4..714c100 100644
> --- a/drivers/scsi/qla2xxx/qla_isr.c
> +++ b/drivers/scsi/qla2xxx/qla_isr.c
> @@ -20,7 +20,6 @@ static void
> qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);
>
> /**
> * qla2100_intr_handler() - Process interrupts for the
> ISP2100 and ISP2200.
> - * @irq:
> * @dev_id: SCSI driver HA context
> *
> * Called by system whenever the host adapter generates an interrupt.
> @@ -28,7 +27,7 @@ static void
> qla24xx_ms_entry(scsi_qla_host_t *, struct ct_entry_24xx *);
> * Returns handled flag.
> */
> irqreturn_t
> -qla2100_intr_handler(int irq, void *dev_id)
> +qla2100_intr_handler(void *dev_id)
> {
> scsi_qla_host_t *ha;
> struct device_reg_2xxx __iomem *reg;
> @@ -120,7 +119,7 @@ qla2100_intr_handler(int irq, void *dev_id)
> * Returns handled flag.
> */
> irqreturn_t
> -qla2300_intr_handler(int irq, void *dev_id)
> +qla2300_intr_handler(void *dev_id)
> {
> scsi_qla_host_t *ha;
> struct device_reg_2xxx __iomem *reg;
> @@ -1541,7 +1540,7 @@ done:
> * Returns handled flag.
> */
> irqreturn_t
> -qla24xx_intr_handler(int irq, void *dev_id)
> +qla24xx_intr_handler(void *dev_id)
> {
> scsi_qla_host_t *ha;
> struct device_reg_24xx __iomem *reg;
> @@ -1665,7 +1664,7 @@ qla24xx_ms_entry(scsi_qla_host_t *ha,
> struct ct_entry_24xx *pkt)
> }
>
> static irqreturn_t
> -qla24xx_msix_rsp_q(int irq, void *dev_id)
> +qla24xx_msix_rsp_q(void *dev_id)
> {
> scsi_qla_host_t *ha;
> struct device_reg_24xx __iomem *reg;
> @@ -1686,7 +1685,7 @@ qla24xx_msix_rsp_q(int irq, void *dev_id)
> }
>
> static irqreturn_t
> -qla24xx_msix_default(int irq, void *dev_id)
> +qla24xx_msix_default(void *dev_id)
> {
> scsi_qla_host_t *ha;
> struct device_reg_24xx __iomem *reg;
> diff --git a/drivers/scsi/qla4xxx/ql4_glbl.h
> b/drivers/scsi/qla4xxx/ql4_glbl.h
> index a3608e0..da9e27e 100644
> --- a/drivers/scsi/qla4xxx/ql4_glbl.h
> +++ b/drivers/scsi/qla4xxx/ql4_glbl.h
> @@ -17,7 +17,7 @@ int qla4xxx_send_command_to_isp(struct
> scsi_qla_host *ha, struct srb * srb);
> int qla4xxx_initialize_adapter(struct scsi_qla_host * ha,
> uint8_t renew_ddb_list);
> int qla4xxx_soft_reset(struct scsi_qla_host *ha);
> -irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id);
> +irqreturn_t qla4xxx_intr_handler(void *dev_id);
>
> void qla4xxx_free_ddb_list(struct scsi_qla_host * ha);
> void 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 4a154be..118d23a 100644
> --- a/drivers/scsi/qla4xxx/ql4_isr.c
> +++ b/drivers/scsi/qla4xxx/ql4_isr.c
> @@ -633,10 +633,9 @@ void
> qla4xxx_interrupt_service_routine(struct scsi_qla_host * ha,
>
> /**
> * qla4xxx_intr_handler - hardware interrupt handler.
> - * @irq: Unused
> * @dev_id: Pointer to host adapter structure
> **/
> -irqreturn_t qla4xxx_intr_handler(int irq, void *dev_id)
> +irqreturn_t qla4xxx_intr_handler(void *dev_id)
> {
> struct scsi_qla_host *ha;
> uint32_t intr_status;
> diff --git a/drivers/scsi/qlogicfas408.c b/drivers/scsi/qlogicfas408.c
> index 2bfbf26..ac372b1 100644
> --- a/drivers/scsi/qlogicfas408.c
> +++ b/drivers/scsi/qlogicfas408.c
> @@ -424,7 +424,7 @@ static void ql_ihandl(void *dev_id)
> (icmd->scsi_done) (icmd);
> }
>
> -irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id)
> +irqreturn_t qlogicfas408_ihandl(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *host = dev_id;
> diff --git a/drivers/scsi/qlogicfas408.h b/drivers/scsi/qlogicfas408.h
> index 2606264..57e7ed2 100644
> --- a/drivers/scsi/qlogicfas408.h
> +++ b/drivers/scsi/qlogicfas408.h
> @@ -102,7 +102,7 @@ struct qlogicfas408_priv {
> #define get_priv_by_cmd(x) (struct qlogicfas408_priv
> *)&((x)->device->host->hostdata[0])
> #define get_priv_by_host(x) (struct qlogicfas408_priv
> *)&((x)->hostdata[0])
>
> -irqreturn_t qlogicfas408_ihandl(int irq, void *dev_id);
> +irqreturn_t qlogicfas408_ihandl(void *dev_id);
> int qlogicfas408_queuecommand(struct scsi_cmnd * cmd,
> void (*done) (struct scsi_cmnd *));
> int qlogicfas408_biosparam(struct scsi_device * disk,
> diff --git a/drivers/scsi/qlogicpti.c b/drivers/scsi/qlogicpti.c
> index 7a2e798..a08b023 100644
> --- a/drivers/scsi/qlogicpti.c
> +++ b/drivers/scsi/qlogicpti.c
> @@ -649,7 +649,7 @@ static int qlogicpti_verify_tmon(struct
> qlogicpti *qpti)
> return 0;
> }
>
> -static irqreturn_t qpti_intr(int irq, void *dev_id);
> +static irqreturn_t qpti_intr(void *dev_id);
>
> static void __init qpti_chain_add(struct qlogicpti *qpti)
> {
> @@ -1180,7 +1180,7 @@ static struct scsi_cmnd
> *qlogicpti_intr_handler(struct qlogicpti *qpti)
> return done_queue;
> }
>
> -static irqreturn_t qpti_intr(int irq, void *dev_id)
> +static irqreturn_t qpti_intr(void *dev_id)
> {
> struct qlogicpti *qpti = dev_id;
> unsigned long flags;
> diff --git a/drivers/scsi/seagate.c b/drivers/scsi/seagate.c
> index ce80fa9..440aff0 100644
> --- a/drivers/scsi/seagate.c
> +++ b/drivers/scsi/seagate.c
> @@ -321,8 +321,8 @@ static Signature __initdata signatures[] = {
> */
>
> static int hostno = -1;
> -static void seagate_reconnect_intr (int, void *);
> -static irqreturn_t do_seagate_reconnect_intr (int, void *);
> +static void seagate_reconnect_intr (void *);
> +static irqreturn_t do_seagate_reconnect_intr (void *);
> static int seagate_st0x_bus_reset(struct scsi_cmnd *);
>
> #ifdef FAST
> @@ -620,18 +620,18 @@ static int should_reconnect = 0;
> * asserting SEL.
> */
>
> -static irqreturn_t do_seagate_reconnect_intr(int irq, void *dev_id)
> +static irqreturn_t do_seagate_reconnect_intr(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = dev_id;
>
> spin_lock_irqsave (dev->host_lock, flags);
> - seagate_reconnect_intr (irq, dev_id);
> + seagate_reconnect_intr (dev_id);
> spin_unlock_irqrestore (dev->host_lock, flags);
> return IRQ_HANDLED;
> }
>
> -static void seagate_reconnect_intr (int irq, void *dev_id)
> +static void seagate_reconnect_intr (void *dev_id)
> {
> int temp;
> struct scsi_cmnd *SCtmp;
> diff --git a/drivers/scsi/sgiwd93.c b/drivers/scsi/sgiwd93.c
> index eef8275..48e4b72 100644
> --- a/drivers/scsi/sgiwd93.c
> +++ b/drivers/scsi/sgiwd93.c
> @@ -46,7 +46,7 @@ struct hpc_chunk {
> u32 _padding; /* align to quadword boundary */
> };
>
> -static irqreturn_t sgiwd93_intr(int irq, void *dev_id)
> +static irqreturn_t sgiwd93_intr(void *dev_id)
> {
> struct Scsi_Host * host = dev_id;
> unsigned long flags;
> diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c
> index e3fab3a..79b98f1 100644
> --- a/drivers/scsi/stex.c
> +++ b/drivers/scsi/stex.c
> @@ -838,7 +838,7 @@ update_status:
> readl(base + IMR1); /* flush */
> }
>
> -static irqreturn_t stex_intr(int irq, void *__hba)
> +static irqreturn_t stex_intr(void *__hba)
> {
> struct st_hba *hba = __hba;
> void __iomem *base = hba->mmio_base;
> diff --git a/drivers/scsi/sun3_NCR5380.c b/drivers/scsi/sun3_NCR5380.c
> index dc15a22..3f20aa6 100644
> --- a/drivers/scsi/sun3_NCR5380.c
> +++ b/drivers/scsi/sun3_NCR5380.c
> @@ -1255,7 +1255,7 @@ static void NCR5380_dma_complete(
> struct Scsi_Host *instance )
> *
> */
>
> -static irqreturn_t NCR5380_intr (int irq, void *dev_id)
> +static irqreturn_t NCR5380_intr (void *dev_id)
> {
> struct Scsi_Host *instance = first_instance;
> int done = 1, handled = 0;
> diff --git a/drivers/scsi/sun3_scsi.c b/drivers/scsi/sun3_scsi.c
> index 5e46d84..aa76608 100644
> --- a/drivers/scsi/sun3_scsi.c
> +++ b/drivers/scsi/sun3_scsi.c
> @@ -101,7 +101,7 @@ static void NCR5380_print(struct
> Scsi_Host *instance);
> #define ENABLE_IRQ() enable_irq( IRQ_SUN3_SCSI );
>
>
> -static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
> +static irqreturn_t scsi_sun3_intr(void *dummy);
> static inline unsigned char sun3scsi_read(int reg);
> static inline void sun3scsi_write(int reg, int value);
>
> @@ -370,7 +370,7 @@ const char * sun3scsi_info (struct
> Scsi_Host *spnt) {
> // safe bits for the CSR
> #define CSR_GOOD 0x060f
>
> -static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
> +static irqreturn_t scsi_sun3_intr(void *dummy)
> {
> unsigned short csr = dregs->csr;
> int handled = 0;
> diff --git a/drivers/scsi/sun3_scsi_vme.c
> b/drivers/scsi/sun3_scsi_vme.c
> index 7cb4a31..cf243a7 100644
> --- a/drivers/scsi/sun3_scsi_vme.c
> +++ b/drivers/scsi/sun3_scsi_vme.c
> @@ -66,7 +66,7 @@ extern int sun3_map_test(unsigned long, char *);
> #define ENABLE_IRQ()
>
>
> -static irqreturn_t scsi_sun3_intr(int irq, void *dummy);
> +static irqreturn_t scsi_sun3_intr(void *dummy);
> static inline unsigned char sun3scsi_read(int reg);
> static inline void sun3scsi_write(int reg, int value);
>
> @@ -339,7 +339,7 @@ static const char * sun3scsi_info (struct
> Scsi_Host *spnt) {
> // safe bits for the CSR
> #define CSR_GOOD 0x060f
>
> -static irqreturn_t scsi_sun3_intr(int irq, void *dummy)
> +static irqreturn_t scsi_sun3_intr(void *dummy)
> {
> unsigned short csr = dregs->csr;
> int handled = 0;
> diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c
> b/drivers/scsi/sym53c8xx_2/sym_glue.c
> index db03c4c..e6766b4 100644
> --- a/drivers/scsi/sym53c8xx_2/sym_glue.c
> +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c
> @@ -591,7 +591,7 @@ static int sym53c8xx_queue_command(struct
> scsi_cmnd *cmd,
> /*
> * Linux entry point of the interrupt handler.
> */
> -static irqreturn_t sym53c8xx_intr(int irq, void *dev_id)
> +static irqreturn_t sym53c8xx_intr(void *dev_id)
> {
> unsigned long flags;
> struct sym_hcb *np = (struct sym_hcb *)dev_id;
> diff --git a/drivers/scsi/tmscsim.c b/drivers/scsi/tmscsim.c
> index 5c72ca3..ea27599 100644
> --- a/drivers/scsi/tmscsim.c
> +++ b/drivers/scsi/tmscsim.c
> @@ -742,7 +742,7 @@ DC390_Interrupt(void *dev_id)
> return IRQ_HANDLED;
> }
>
> -static irqreturn_t do_DC390_Interrupt(int irq, void *dev_id)
> +static irqreturn_t do_DC390_Interrupt(void *dev_id)
> {
> irqreturn_t ret;
> DEBUG1(printk (KERN_INFO "DC390: Irq (%i) caught: ", irq));
> diff --git a/drivers/scsi/ultrastor.c b/drivers/scsi/ultrastor.c
> index ea72bbe..cdde36a 100644
> --- a/drivers/scsi/ultrastor.c
> +++ b/drivers/scsi/ultrastor.c
> @@ -288,7 +288,7 @@ static const unsigned short
> ultrastor_ports_14f[] = {
> #endif
>
> static void ultrastor_interrupt(void *);
> -static irqreturn_t do_ultrastor_interrupt(int, void *);
> +static irqreturn_t do_ultrastor_interrupt(void *);
> static inline void build_sg_list(struct mscp *, struct
> scsi_cmnd *SCpnt);
>
>
> @@ -1170,7 +1170,7 @@ static void ultrastor_interrupt(void *dev_id)
> #endif
> }
>
> -static irqreturn_t do_ultrastor_interrupt(int irq, void *dev_id)
> +static irqreturn_t do_ultrastor_interrupt(void *dev_id)
> {
> unsigned long flags;
> struct Scsi_Host *dev = dev_id;
> diff --git a/drivers/scsi/wd7000.c b/drivers/scsi/wd7000.c
> index 255c611..19ca418 100644
> --- a/drivers/scsi/wd7000.c
> +++ b/drivers/scsi/wd7000.c
> @@ -998,7 +998,7 @@ static int make_code(unsigned hosterr,
> unsigned scsierr)
> #define wd7000_intr_ack(host) outb (0, host->iobase + ASC_INTR_ACK)
>
>
> -static irqreturn_t wd7000_intr(int irq, void *dev_id)
> +static irqreturn_t wd7000_intr(void *dev_id)
> {
> Adapter *host = (Adapter *) dev_id;
> int flag, icmb, errstatus, icmb_status;
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

2007-10-19 14:53:51

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

On Fri, 19 Oct 2007, Jeff Garzik wrote:
>
> WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE
>
> This posting is just to demonstrate something that I have been keeping
> alive in the background. I have no urge to push it upstream anytime
> soon.
>
> The overwhelming majority of drivers do not ever bother with the 'irq'
> argument that is passed to each driver's irq handler.
>
> Of the minority of drivers that do use the arg, the majority of those
> have the irq number stored in their private-info structure somewhere.
>
> There are a tiny few -- a couple Mac drivers -- which do weird things
> with that argument, but that's it.

Jeff,

thanks for doing this.

Full ACK.

We should do this right at the edge of -rc1. And let's do this right
now in .24 and not drag it out for no good reason.

Thanks,

tglx

2007-10-19 16:54:23

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Jeff Garzik wrote:
> commit 8d45690dd90b18daaa21b981ab20caf393220bf0
> Author: Jeff Garzik <[email protected]>
> Date: Fri Oct 19 00:46:23 2007 -0400
>
> [IRQ ARG REMOVAL] various non-trivial arch updates
>
> arch/x86/kernel/vm86_32.c | 3 ++-
> include/asm-x86/irq_regs_32.h | 25 +++++++++++++++++++++++++
> 2 files changed, 27 insertions(+), 1 deletion(-)
>
> 8d45690dd90b18daaa21b981ab20caf393220bf0
> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
> index 157e4be..18aae9e 100644
> --- a/arch/x86/kernel/vm86_32.c
> +++ b/arch/x86/kernel/vm86_32.c
> @@ -739,10 +739,11 @@ static int irqbits;
> | (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO) | (1 << SIGURG) \
> | (1 << SIGUNUSED) )
>
> -static irqreturn_t irq_handler(int intno, void *dev_id)
> +static irqreturn_t irq_handler(void *dev_id)
> {
> int irq_bit;
> unsigned long flags;
> + unsigned int intno = get_irqfunc_irq();
>
> spin_lock_irqsave(&irqbits_lock, flags);
> irq_bit = 1 << intno;
> diff --git a/include/asm-x86/irq_regs_32.h b/include/asm-x86/irq_regs_32.h
> index 3368b20..68a531d 100644
> --- a/include/asm-x86/irq_regs_32.h
> +++ b/include/asm-x86/irq_regs_32.h
> @@ -26,4 +26,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
> return old_regs;
> }
>
> +DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
> +
> +static inline unsigned int get_irqfunc_irq(void)
> +{
> + return __get_cpu_var(__irqfunc_irqs);
> +}
> +
> +#if 0
> +static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
> +{
> + unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
> +
> + old_irq = *pirq;
> + *pirq = new_irq;
> + return old_irq;
> +}
> +#else
> +static inline void set_irqfunc_irq(unsigned int new_irq)
> +{
> + int *pirq = &__get_cpu_var(__irqfunc_irqs);
> +
> + *pirq = new_irq;
>

x86_write_percpu(__irqfunc_irqs, new_irq) would be slightly more
efficient here. Any why the pointer anyway?

J

2007-10-19 17:11:22

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Jeff Garzik <[email protected]> writes:

> commit 8d45690dd90b18daaa21b981ab20caf393220bf0
> Author: Jeff Garzik <[email protected]>
> Date: Fri Oct 19 00:46:23 2007 -0400
>
> [IRQ ARG REMOVAL] various non-trivial arch updates
>
> arch/x86/kernel/vm86_32.c | 3 ++-
> include/asm-x86/irq_regs_32.h | 25 +++++++++++++++++++++++++
> 2 files changed, 27 insertions(+), 1 deletion(-)
>
> 8d45690dd90b18daaa21b981ab20caf393220bf0
> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
> index 157e4be..18aae9e 100644
> --- a/arch/x86/kernel/vm86_32.c
> +++ b/arch/x86/kernel/vm86_32.c
> @@ -739,10 +739,11 @@ static int irqbits;
> | (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO) | (1 << SIGURG) \
> | (1 << SIGUNUSED) )
>
> -static irqreturn_t irq_handler(int intno, void *dev_id)
> +static irqreturn_t irq_handler(void *dev_id)
> {
> int irq_bit;
> unsigned long flags;
> + unsigned int intno = get_irqfunc_irq();
>
> spin_lock_irqsave(&irqbits_lock, flags);
> irq_bit = 1 << intno;

In this case we can easily pass the irqno into request_irq, allowing
us to do "unsigned int intno = (unsigned int)dev_id;".

I suspect this is the case for the majority of the non-trivial users
as well.

Eric

2007-10-19 17:16:56

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Eric W. Biederman wrote:
> In this case we can easily pass the irqno into request_irq, allowing
> us to do "unsigned int intno = (unsigned int)dev_id;".
>
> I suspect this is the case for the majority of the non-trivial users
> as well.


Not that easy, alas :) Save for weirdos like the mac drivers I
highlighted, it seems like most drivers in the non-trivial already pass
a useful pointer to request_irq().

But as I mentioned, most of the "non-trivial" uses are actually trivial
-- just not as simple as removing the 'int irq' argument. Most of the
time the irq number is used in non-critical ways like printk's. A few
times its used to index into a structure (something dev_id could replace).

Jeff


2007-10-19 17:28:20

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Jeff Garzik <[email protected]> writes:

> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
> index 80eab7a..92e1456 100644
> --- a/kernel/irq/manage.c
> +++ b/kernel/irq/manage.c
> @@ -455,7 +455,7 @@ void free_irq(unsigned int irq, void *dev_id)
> */
> if (action->flags & IRQF_SHARED) {
> local_irq_save(flags);
> - action->handler(irq, dev_id);
> + action->handler(dev_id);
> local_irq_restore(flags);
> }
> #endif
> @@ -549,7 +549,7 @@ int request_irq(unsigned int irq, irq_handler_t handler,
> unsigned long flags;
>
> local_irq_save(flags);
> - handler(irq, dev_id);
> + handler(dev_id);
> local_irq_restore(flags);
> }
> #endif

The above two hunks need to call set_irqfunc_irq in your model.

Eric

2007-10-19 17:31:51

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Jeremy Fitzhardinge wrote:
> Jeff Garzik wrote:
>> commit 8d45690dd90b18daaa21b981ab20caf393220bf0
>> Author: Jeff Garzik <[email protected]>
>> Date: Fri Oct 19 00:46:23 2007 -0400
>>
>> [IRQ ARG REMOVAL] various non-trivial arch updates
>>
>> arch/x86/kernel/vm86_32.c | 3 ++-
>> include/asm-x86/irq_regs_32.h | 25 +++++++++++++++++++++++++
>> 2 files changed, 27 insertions(+), 1 deletion(-)
>>
>> 8d45690dd90b18daaa21b981ab20caf393220bf0
>> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
>> index 157e4be..18aae9e 100644
>> --- a/arch/x86/kernel/vm86_32.c
>> +++ b/arch/x86/kernel/vm86_32.c
>> @@ -739,10 +739,11 @@ static int irqbits;
>> | (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO) | (1 << SIGURG) \
>> | (1 << SIGUNUSED) )
>>
>> -static irqreturn_t irq_handler(int intno, void *dev_id)
>> +static irqreturn_t irq_handler(void *dev_id)
>> {
>> int irq_bit;
>> unsigned long flags;
>> + unsigned int intno = get_irqfunc_irq();
>>
>> spin_lock_irqsave(&irqbits_lock, flags);
>> irq_bit = 1 << intno;
>> diff --git a/include/asm-x86/irq_regs_32.h b/include/asm-x86/irq_regs_32.h
>> index 3368b20..68a531d 100644
>> --- a/include/asm-x86/irq_regs_32.h
>> +++ b/include/asm-x86/irq_regs_32.h
>> @@ -26,4 +26,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
>> return old_regs;
>> }
>>
>> +DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
>> +
>> +static inline unsigned int get_irqfunc_irq(void)
>> +{
>> + return __get_cpu_var(__irqfunc_irqs);
>> +}
>> +
>> +#if 0
>> +static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + old_irq = *pirq;
>> + *pirq = new_irq;
>> + return old_irq;
>> +}
>> +#else
>> +static inline void set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + int *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + *pirq = new_irq;
>>
>
> x86_write_percpu(__irqfunc_irqs, new_irq) would be slightly more
> efficient here. Any why the pointer anyway?

Why the pointer? Honestly, I cannot recall. Its most likely due to my
ignorance of the per-cpu API, which always seemed more complicated than
I wished :)

This code was carried from the original days when pt_regs was removed
from the irq handler arguments, so that's probably why x86_write_percpu
was not employed.

I'll make note to fix that up...

Jeff



2007-10-19 17:49:17

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Eric W. Biederman wrote:
> Jeff Garzik <[email protected]> writes:
>
>> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
>> index 80eab7a..92e1456 100644
>> --- a/kernel/irq/manage.c
>> +++ b/kernel/irq/manage.c
>> @@ -455,7 +455,7 @@ void free_irq(unsigned int irq, void *dev_id)
>> */
>> if (action->flags & IRQF_SHARED) {
>> local_irq_save(flags);
>> - action->handler(irq, dev_id);
>> + action->handler(dev_id);
>> local_irq_restore(flags);
>> }
>> #endif
>> @@ -549,7 +549,7 @@ int request_irq(unsigned int irq, irq_handler_t handler,
>> unsigned long flags;
>>
>> local_irq_save(flags);
>> - handler(irq, dev_id);
>> + handler(dev_id);
>> local_irq_restore(flags);
>> }
>> #endif
>
> The above two hunks need to call set_irqfunc_irq in your model.

Duh. Thanks for pointing out an obvious mistake :)

Fixed and checked into 'irq-remove' branch of
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git

2007-10-19 17:50:37

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Jeremy Fitzhardinge wrote:
> Jeff Garzik wrote:
>> commit 8d45690dd90b18daaa21b981ab20caf393220bf0
>> Author: Jeff Garzik <[email protected]>
>> Date: Fri Oct 19 00:46:23 2007 -0400
>>
>> [IRQ ARG REMOVAL] various non-trivial arch updates
>>
>> arch/x86/kernel/vm86_32.c | 3 ++-
>> include/asm-x86/irq_regs_32.h | 25 +++++++++++++++++++++++++
>> 2 files changed, 27 insertions(+), 1 deletion(-)
>>
>> 8d45690dd90b18daaa21b981ab20caf393220bf0
>> diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
>> index 157e4be..18aae9e 100644
>> --- a/arch/x86/kernel/vm86_32.c
>> +++ b/arch/x86/kernel/vm86_32.c
>> @@ -739,10 +739,11 @@ static int irqbits;
>> | (1 << SIGUSR1) | (1 << SIGUSR2) | (1 << SIGIO) | (1 << SIGURG) \
>> | (1 << SIGUNUSED) )
>>
>> -static irqreturn_t irq_handler(int intno, void *dev_id)
>> +static irqreturn_t irq_handler(void *dev_id)
>> {
>> int irq_bit;
>> unsigned long flags;
>> + unsigned int intno = get_irqfunc_irq();
>>
>> spin_lock_irqsave(&irqbits_lock, flags);
>> irq_bit = 1 << intno;
>> diff --git a/include/asm-x86/irq_regs_32.h b/include/asm-x86/irq_regs_32.h
>> index 3368b20..68a531d 100644
>> --- a/include/asm-x86/irq_regs_32.h
>> +++ b/include/asm-x86/irq_regs_32.h
>> @@ -26,4 +26,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs *new_regs)
>> return old_regs;
>> }
>>
>> +DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
>> +
>> +static inline unsigned int get_irqfunc_irq(void)
>> +{
>> + return __get_cpu_var(__irqfunc_irqs);
>> +}
>> +
>> +#if 0
>> +static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + old_irq = *pirq;
>> + *pirq = new_irq;
>> + return old_irq;
>> +}
>> +#else
>> +static inline void set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + int *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + *pirq = new_irq;
>>
>
> x86_write_percpu(__irqfunc_irqs, new_irq) would be slightly more
> efficient here. Any why the pointer anyway?

Answering the latter question -- that's the way
include/asm-generic/irq_regs.h was written, and I simply followed their
lead.

One attribute of this method is to avoid preemption, which is probably
necessary in the bowels of irq handling.

Jeff



2007-10-19 18:05:01

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Jeff Garzik <[email protected]> writes:

> commit 008b5fcf3c1d8456005de26ddd4256b1369225e8
> Author: Jeff Garzik <[email protected]>
> Date: Fri Oct 19 00:45:51 2007 -0400
>
> [IRQ ARG REMOVAL] core interrupt delivery infrastructure updates
>
> include/asm-generic/irq_regs.h | 25 +++++++++++++++++++++++++
> include/linux/interrupt.h | 4 ++--
> kernel/irq/handle.c | 5 +++--
> kernel/irq/manage.c | 4 ++--
> kernel/irq/spurious.c | 3 ++-
> lib/irq_regs.c | 5 +++++
> 6 files changed, 39 insertions(+), 7 deletions(-)
>
> 008b5fcf3c1d8456005de26ddd4256b1369225e8
> diff --git a/include/asm-generic/irq_regs.h b/include/asm-generic/irq_regs.h
> index 5ae1d07..1d99ef4 100644
> --- a/include/asm-generic/irq_regs.h
> +++ b/include/asm-generic/irq_regs.h
> @@ -34,4 +34,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs
> *new_regs)
> return old_regs;
> }
>
> +DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
> +
> +static inline unsigned int get_irqfunc_irq(void)
> +{
> + return __get_cpu_var(__irqfunc_irqs);
> +}
> +
> +#if 0
> +static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
> +{
> + unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
> +
> + old_irq = *pirq;
> + *pirq = new_irq;
> + return old_irq;
> +}
> +#else
> +static inline void set_irqfunc_irq(unsigned int new_irq)
> +{
> + int *pirq = &__get_cpu_var(__irqfunc_irqs);
> +
> + *pirq = new_irq;
> +}
> +#endif

Please look at handle_IRQ_event. Local irqs are enabled so irq
recursion can happen. So not handling old_irq is a big nasty
bug.

Eric

2007-10-19 18:20:20

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 4/9] irq-remove: driver non-trivial

Jeff Garzik <[email protected]> writes:

> commit 654f4a242cac0148ffe98ce288c9116e65b08e44
> Author: Jeff Garzik <[email protected]>
> Date: Fri Oct 19 00:47:17 2007 -0400
>
> [IRQ ARG REMOVAL] non-trivial driver updates

Ok. You have some random cleanups as buried in this patch
as well as the necessary changes to remove the irq argument
of the interrupt handler.

> drivers/atm/ambassador.c | 5 +++--
> drivers/bluetooth/btuart_cs.c | 2 +-
> drivers/bluetooth/dtl1_cs.c | 2 +-
> drivers/char/cyclades.c | 21 +++------------------
> drivers/char/ip2/ip2main.c | 10 +++++-----
> drivers/char/mwave/tp3780i.c | 10 ++++++----
> drivers/char/pcmcia/synclink_cs.c | 8 ++++----
> drivers/char/rio/rio_linux.c | 14 ++++++++------
> drivers/char/riscom8.c | 4 ++--
> drivers/char/specialix.c | 7 ++++---
> drivers/char/sx.c | 14 +++++++-------
> drivers/char/synclink.c | 4 ++--
> drivers/char/synclink_gt.c | 9 ++++-----
> drivers/char/synclinkmp.c | 7 +++----
> drivers/char/tpm/tpm_tis.c | 6 +++---
> drivers/ide/ide-io.c | 8 ++++----
> drivers/input/serio/i8042.c | 9 +++++----
> drivers/isdn/act2000/act2000_isa.c | 3 ++-
> drivers/isdn/hisax/amd7930_fn.c | 2 +-
> drivers/isdn/hisax/hisax.h | 2 +-
> drivers/isdn/hisax/icc.c | 2 +-
> drivers/isdn/hisax/isac.c | 2 +-
> drivers/isdn/hisax/w6692.c | 4 ++--
> drivers/isdn/sc/interrupt.c | 3 ++-
> drivers/macintosh/via-macii.c | 6 +++---
> drivers/macintosh/via-maciisi.c | 9 ++++-----
> drivers/macintosh/via-pmu68k.c | 10 +++++-----
> drivers/media/video/planb.c | 7 ++++---
> drivers/net/eexpress.c | 5 +++--
> drivers/net/forcedeth.c | 26 +++++++++++++-------------
> drivers/net/hamradio/scc.c | 6 +++---
> drivers/net/irda/au1k_ir.c | 8 +++++---
> drivers/net/irda/smsc-ircc2.c | 6 +++---
> drivers/net/irda/via-ircc.c | 6 +++---
> drivers/net/lib82596.c | 2 +-
> drivers/net/netxen/netxen_nic_main.c | 4 ++--
> drivers/net/pcmcia/fmvj18x_cs.c | 6 +++---
> drivers/net/phy/phy.c | 4 ++--
> drivers/net/wan/sdla.c | 5 +++--
> drivers/pcmcia/i82365.c | 13 +++++++------
> drivers/pcmcia/tcic.c | 10 +++++-----
> drivers/rtc/rtc-ds1374.c | 3 ++-
> drivers/scsi/NCR5380.c | 6 +++---
> drivers/scsi/NCR53C9x.c | 7 ++++---
> drivers/scsi/aha152x.c | 4 ++--
> drivers/scsi/aha1542.c | 5 +++--
> drivers/scsi/eata.c | 19 ++++++++++---------
> drivers/scsi/psi240i.c | 10 +++++-----
> drivers/scsi/sym53c416.c | 3 ++-
> drivers/scsi/u14-34f.c | 12 +++++++-----
> drivers/serial/8250.c | 4 ++--
> include/linux/uio_driver.h | 3 ++-
> sound/drivers/mts64.c | 2 ++
> sound/drivers/portman2x4.c | 2 ++
> 54 files changed, 190 insertions(+), 181 deletions(-)

>
> 654f4a242cac0148ffe98ce288c9116e65b08e44
> diff --git a/drivers/atm/ambassador.c b/drivers/atm/ambassador.c
> index c2b9464..8f6a8a2 100644
> --- a/drivers/atm/ambassador.c
> +++ b/drivers/atm/ambassador.c
> @@ -862,9 +862,10 @@ static inline void interrupts_off (amb_dev * dev) {
>
> /********** interrupt handling **********/
>
> -static irqreturn_t interrupt_handler(int irq, void *dev_id) {
> +static irqreturn_t interrupt_handler(void *dev_id)
> +{
> amb_dev * dev = dev_id;
> -
> +
> PRINTD (DBG_IRQ|DBG_FLOW, "interrupt_handler: %p", dev_id);
>
> {

White space cleanup.

> diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c
> index 08f48d5..1fdf756 100644
> --- a/drivers/bluetooth/btuart_cs.c
> +++ b/drivers/bluetooth/btuart_cs.c
> @@ -287,7 +287,7 @@ static void btuart_receive(btuart_info_t *info)
> }
>
>
> -static irqreturn_t btuart_interrupt(int irq, void *dev_inst)
> +static irqreturn_t btuart_interrupt(void *dev_inst)
> {
> btuart_info_t *info = dev_inst;
> unsigned int iobase;

Trivial

> diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c
> index dae45cd..3f9d5b9 100644
> --- a/drivers/bluetooth/dtl1_cs.c
> +++ b/drivers/bluetooth/dtl1_cs.c
> @@ -290,7 +290,7 @@ static void dtl1_receive(dtl1_info_t *info)
> }
>
>
> -static irqreturn_t dtl1_interrupt(int irq, void *dev_inst)
> +static irqreturn_t dtl1_interrupt(void *dev_inst)
> {
> dtl1_info_t *info = dev_inst;
> unsigned int iobase;

Trivial

> diff --git a/drivers/char/cyclades.c b/drivers/char/cyclades.c
> index d15234c..7e8fe35 100644
> --- a/drivers/char/cyclades.c
> +++ b/drivers/char/cyclades.c
> @@ -1312,7 +1312,7 @@ end:
> whenever the card wants its hand held--chars
> received, out buffer empty, modem change, etc.
> */
> -static irqreturn_t cyy_interrupt(int irq, void *dev_id)
> +static irqreturn_t cyy_interrupt(void *dev_id)
> {
> int status;
> struct cyclades_card *cinfo = dev_id;
> @@ -1320,13 +1320,6 @@ static irqreturn_t cyy_interrupt(int irq, void *dev_id)
> unsigned int chip, too_many, had_work;
> int index;
>
> - if (unlikely(cinfo == NULL)) {
> -#ifdef CY_DEBUG_INTERRUPTS
> - printk(KERN_DEBUG "cyy_interrupt: spurious interrupt %d\n",irq);
> -#endif
> - return IRQ_NONE; /* spurious interrupt */
> - }
> -
> card_base_addr = cinfo->base_addr;
> index = cinfo->bus_index;
>
> @@ -1728,21 +1721,13 @@ static void cyz_handle_cmd(struct cyclades_card *cinfo)
> }
>
> #ifdef CONFIG_CYZ_INTR
> -static irqreturn_t cyz_interrupt(int irq, void *dev_id)
> +static irqreturn_t cyz_interrupt(void *dev_id)
> {
> struct cyclades_card *cinfo = dev_id;
>
> - if (unlikely(cinfo == NULL)) {
> -#ifdef CY_DEBUG_INTERRUPTS
> - printk(KERN_DEBUG "cyz_interrupt: spurious interrupt %d\n",irq);
> -#endif
> - return IRQ_NONE; /* spurious interrupt */
> - }
> -
> if (unlikely(!ISZLOADED(*cinfo))) {
> #ifdef CY_DEBUG_INTERRUPTS
> - printk(KERN_DEBUG "cyz_interrupt: board not yet loaded "
> - "(IRQ%d).\n", irq);
> + printk(KERN_DEBUG "cyz_interrupt: board not yet loaded\n");
> #endif
> return IRQ_NONE;
> }


Removal of impossible case? aka cleanup.

> diff --git a/drivers/char/ip2/ip2main.c b/drivers/char/ip2/ip2main.c
> index 2124dce..1d4c528 100644
> --- a/drivers/char/ip2/ip2main.c
> +++ b/drivers/char/ip2/ip2main.c
> @@ -190,7 +190,7 @@ static int ip2_tiocmset(struct tty_struct *tty, struct file
> *file,
>
> static void set_irq(int, int);
> static void ip2_interrupt_bh(struct work_struct *work);
> -static irqreturn_t ip2_interrupt(int irq, void *dev_id);
> +static irqreturn_t ip2_interrupt(void *dev_id);
> static void ip2_poll(unsigned long arg);
> static inline void service_all_boards(void);
> static void do_input(struct work_struct *);
> @@ -1149,7 +1149,7 @@ ip2_interrupt_bh(struct work_struct *work)
>
>
> /******************************************************************************/
> -/* Function: ip2_interrupt(int irq, void *dev_id) */
> +/* Function: ip2_interrupt(void *dev_id) */
> /* Parameters: irq - interrupt number */
> /* pointer to optional device ID structure */
> /* Returns: Nothing */
> @@ -1167,7 +1167,7 @@ ip2_interrupt_bh(struct work_struct *work)
> /* */
> /******************************************************************************/
> static irqreturn_t
> -ip2_interrupt(int irq, void *dev_id)
> +ip2_interrupt(void *dev_id)
> {
> int i;
> i2eBordStrPtr pB;
> @@ -1182,7 +1182,7 @@ ip2_interrupt(int irq, void *dev_id)
> // Only process those boards which match our IRQ.
> // IRQ = 0 for polled boards, we won't poll "IRQ" boards
>
> - if ( pB && (pB->i2eUsingIrq == irq) ) {
> + if ( pB && (pB->i2eUsingIrq == get_irqfunc_irq()) ) {
> handled = 1;
> #ifdef USE_IQI
>
> @@ -1231,7 +1231,7 @@ ip2_poll(unsigned long arg)
> // Just polled boards, IRQ = 0 will hit all non-interrupt boards.
> // It will NOT poll boards handled by hard interrupts.
> // The issue of queued BH interrups is handled in ip2_interrupt().
> - ip2_interrupt(0, NULL);
> + ip2_interrupt(NULL);

Ouch! What will get_irqfunc return here?

> PollTimer.expires = POLL_TIMEOUT;
> add_timer( &PollTimer );
> diff --git a/drivers/char/mwave/tp3780i.c b/drivers/char/mwave/tp3780i.c
> index f282976..ff57eb1 100644
> --- a/drivers/char/mwave/tp3780i.c
> +++ b/drivers/char/mwave/tp3780i.c
> @@ -95,14 +95,15 @@ static void EnableSRAM(THINKPAD_BD_DATA * pBDData)
> }
>
>
> -static irqreturn_t UartInterrupt(int irq, void *dev_id)
> +static irqreturn_t UartInterrupt(void *dev_id)
> {
> PRINTK_3(TRACE_TP3780I,
> - "tp3780i::UartInterrupt entry irq %x dev_id %p\n", irq, dev_id);
> + "tp3780i::UartInterrupt entry irq %x dev_id %p\n",
> + get_irqfunc_irq(), dev_id);
> return IRQ_HANDLED;
> }
>
> -static irqreturn_t DspInterrupt(int irq, void *dev_id)
> +static irqreturn_t DspInterrupt(void *dev_id)
> {
> pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd;
> DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings;
> @@ -110,7 +111,8 @@ static irqreturn_t DspInterrupt(int irq, void *dev_id)
> unsigned short usIPCSource = 0, usIsolationMask, usPCNum;
>
> PRINTK_3(TRACE_TP3780I,
> - "tp3780i::DspInterrupt entry irq %x dev_id %p\n", irq, dev_id);
> + "tp3780i::DspInterrupt entry irq %x dev_id %p\n",
> + get_irqfunc_irq(), dev_id);
>
> if (dsp3780I_GetIPCSource(usDspBaseIO, &usIPCSource) == 0) {
> PRINTK_2(TRACE_TP3780I,

Needed but just printk seems to be the only user.

> diff --git a/drivers/char/pcmcia/synclink_cs.c
> b/drivers/char/pcmcia/synclink_cs.c
> index 2b88931..922cf60 100644
> --- a/drivers/char/pcmcia/synclink_cs.c
> +++ b/drivers/char/pcmcia/synclink_cs.c
> @@ -417,7 +417,7 @@ static void rx_reset_buffers(MGSLPC_INFO *info);
> static int rx_alloc_buffers(MGSLPC_INFO *info);
> static void rx_free_buffers(MGSLPC_INFO *info);
>
> -static irqreturn_t mgslpc_isr(int irq, void *dev_id);
> +static irqreturn_t mgslpc_isr(void *dev_id);
>
> /*
> * Bottom half interrupt handlers
> @@ -1226,7 +1226,7 @@ static void ri_change(MGSLPC_INFO *info)
> * irq interrupt number that caused interrupt
> * dev_id device ID supplied during interrupt registration
> */
> -static irqreturn_t mgslpc_isr(int irq, void *dev_id)
> +static irqreturn_t mgslpc_isr(void *dev_id)
> {
> MGSLPC_INFO * info = (MGSLPC_INFO *)dev_id;
> unsigned short isr;
> @@ -1234,7 +1234,7 @@ static irqreturn_t mgslpc_isr(int irq, void *dev_id)
> int count=0;
>
> if (debug_level >= DEBUG_LEVEL_ISR)
> - printk("mgslpc_isr(%d) entry.\n", irq);
> + printk("mgslpc_isr(%d) entry.\n", get_irqfunc_irq());
> if (!info)
> return IRQ_NONE;
>
> @@ -1328,7 +1328,7 @@ static irqreturn_t mgslpc_isr(int irq, void *dev_id)
>
> if (debug_level >= DEBUG_LEVEL_ISR)
> printk("%s(%d):mgslpc_isr(%d)exit.\n",
> - __FILE__,__LINE__,irq);
> + __FILE__, __LINE__, get_irqfunc_irq());
>
> return IRQ_HANDLED;
> }

Ok. Just fixing printk again.

> diff --git a/drivers/char/rio/rio_linux.c b/drivers/char/rio/rio_linux.c
> index 0ce9667..616a1cf 100644
> --- a/drivers/char/rio/rio_linux.c
> +++ b/drivers/char/rio/rio_linux.c
> @@ -363,13 +363,14 @@ static void rio_reset_interrupt(struct Host *HostP)
> }
>
>
> -static irqreturn_t rio_interrupt(int irq, void *ptr)
> +static irqreturn_t rio_interrupt(void *ptr)
> {
> struct Host *HostP;
> func_enter();
>
> - HostP = ptr; /* &p->RIOHosts[(long)ptr]; */
> - rio_dprintk(RIO_DEBUG_IFLOW, "rio: enter rio_interrupt (%d/%d)\n", irq,
> HostP->Ivec);
> + HostP = ptr; /* &p->RIOHosts[(long)ptr]; */
> + rio_dprintk(RIO_DEBUG_IFLOW, "rio: enter rio_interrupt (%d/%d)\n",
> + get_irqfunc_irq(), HostP->Ivec);
>
> /* AAargh! The order in which to do these things is essential and
> not trivial.
> @@ -389,7 +390,7 @@ static irqreturn_t rio_interrupt(int irq, void *ptr)
> */
>
> rio_dprintk(RIO_DEBUG_IFLOW, "rio: We've have noticed the interrupt\n");
> - if (HostP->Ivec == irq) {
> + if (HostP->Ivec == get_irqfunc_irq()) {
> /* Tell the card we've noticed the interrupt. */
> rio_reset_interrupt(HostP);
> }

Ok. This is to detect to see if we are being called from the poll
function, ouch.


> @@ -407,7 +408,8 @@ static irqreturn_t rio_interrupt(int irq, void *ptr)
> rio_dprintk(RIO_DEBUG_IFLOW, "riointr() doing host %p type %d\n", ptr,
> HostP->Type);
>
> clear_bit(RIO_BOARD_INTR_LOCK, &HostP->locks);
> - rio_dprintk(RIO_DEBUG_IFLOW, "rio: exit rio_interrupt (%d/%d)\n", irq,
> HostP->Ivec);
> + rio_dprintk(RIO_DEBUG_IFLOW, "rio: exit rio_interrupt (%d/%d)\n",
> + get_irqfunc_irq(), HostP->Ivec);
> func_exit();
> return IRQ_HANDLED;
> }
> @@ -417,7 +419,7 @@ static void rio_pollfunc(unsigned long data)
> {
> func_enter();
>
> - rio_interrupt(0, &p->RIOHosts[data]);
> + rio_interrupt(&p->RIOHosts[data]);
Bug because now we don't know if we are being called from the poll
function.
> mod_timer(&p->RIOHosts[data].timer, jiffies + rio_poll);
>
> func_exit();
> diff --git a/drivers/char/riscom8.c b/drivers/char/riscom8.c
> index b37e626..1c0741a 100644
> --- a/drivers/char/riscom8.c
> +++ b/drivers/char/riscom8.c
> @@ -537,7 +537,7 @@ static inline void rc_check_modem(struct riscom_board const
> * bp)
> }
>
> /* The main interrupt processing routine */
> -static irqreturn_t rc_interrupt(int irq, void * dev_id)
> +static irqreturn_t rc_interrupt(void * dev_id)
> {
> unsigned char status;
> unsigned char ack;
> @@ -545,7 +545,7 @@ static irqreturn_t rc_interrupt(int irq, void * dev_id)
> unsigned long loop = 0;
> int handled = 0;
>
> - bp = IRQ_to_board[irq];
> + bp = IRQ_to_board[get_irqfunc_irq()];
>
> if (!(bp->flags & RC_BOARD_ACTIVE))
> return IRQ_NONE;

Reasonable. Grumble we should just pass bp to request_irq.

> diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c
> index 4558556..bad86e0 100644
> --- a/drivers/char/specialix.c
> +++ b/drivers/char/specialix.c
> @@ -195,7 +195,7 @@ static struct specialix_port sx_port[SX_NBOARD * SX_NPORT];
>
> #ifdef SPECIALIX_TIMER
> static struct timer_list missed_irq_timer;
> -static irqreturn_t sx_interrupt(int irq, void * dev_id);
> +static irqreturn_t sx_interrupt(void * dev_id);
> #endif
>
>
> @@ -876,7 +876,7 @@ static inline void sx_check_modem(struct specialix_board *
> bp)
>
>
> /* The main interrupt processing routine */
> -static irqreturn_t sx_interrupt(int irq, void *dev_id)
> +static irqreturn_t sx_interrupt(void *dev_id)
> {
> unsigned char status;
> unsigned char ack;
> @@ -892,7 +892,8 @@ static irqreturn_t sx_interrupt(int irq, void *dev_id)
>
> dprintk (SX_DEBUG_FLOW, "enter %s port %d room: %ld\n", __FUNCTION__,
> port_No(sx_get_port(bp, "INT")), SERIAL_XMIT_SIZE - sx_get_port(bp,
> "ITN")->xmit_cnt - 1);
> if (!(bp->flags & SX_BOARD_ACTIVE)) {
> - dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", irq);
> + dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n",
> + get_irqfunc_irq());
> spin_unlock_irqrestore(&bp->lock, flags);
> func_exit();
> return IRQ_NONE;

Ok...

> diff --git a/drivers/char/sx.c b/drivers/char/sx.c
> index 85a2328..ff7fac3 100644
> --- a/drivers/char/sx.c
> +++ b/drivers/char/sx.c
> @@ -1241,15 +1241,15 @@ static inline void sx_check_modem_signals(struct sx_port
> *port)
> * Small, elegant, clear.
> */
>
> -static irqreturn_t sx_interrupt(int irq, void *ptr)
> +static irqreturn_t sx_interrupt(void *ptr)
> {
> struct sx_board *board = ptr;
> struct sx_port *port;
> int i;
>
> func_enter();
> - sx_dprintk(SX_DEBUG_FLOW, "sx: enter sx_interrupt (%d/%d)\n", irq,
> - board->irq);
> + sx_dprintk(SX_DEBUG_FLOW, "sx: enter sx_interrupt (%d/%d)\n",
> + get_irqfunc_irq(), board->irq);
>
> /* AAargh! The order in which to do these things is essential and
> not trivial.
> @@ -1293,7 +1293,7 @@ static irqreturn_t sx_interrupt(int irq, void *ptr)
> }
> #endif
>
> - if (board->irq == irq) {
> + if (board->irq == get_irqfunc_irq()) {
> /* Tell the card we've noticed the interrupt. */
>
> sx_write_board_word(board, cc_int_pending, 0);
> @@ -1339,8 +1339,8 @@ static irqreturn_t sx_interrupt(int irq, void *ptr)
>
> clear_bit(SX_BOARD_INTR_LOCK, &board->locks);
>
> - sx_dprintk(SX_DEBUG_FLOW, "sx: exit sx_interrupt (%d/%d)\n", irq,
> - board->irq);
> + sx_dprintk(SX_DEBUG_FLOW, "sx: exit sx_interrupt (%d/%d)\n",
> + get_irqfunc_irq(), board->irq);
> func_exit();
> return IRQ_HANDLED;
> }
> @@ -1351,7 +1351,7 @@ static void sx_pollfunc(unsigned long data)
>
> func_enter();
>
> - sx_interrupt(0, board);
> + sx_interrupt(board);
Bug because we can't detect if we are being called from the poll
function after this change.
>
> mod_timer(&board->timer, jiffies + sx_poll);
> func_exit();

[snip] Found issues and ran out of review bandwidth.

> diff --git a/sound/drivers/mts64.c b/sound/drivers/mts64.c
> index dcc90f9..4990b35 100644
> --- a/sound/drivers/mts64.c
> +++ b/sound/drivers/mts64.c
> @@ -853,6 +853,8 @@ static void snd_mts64_interrupt(void *private)
> }
> __out:
> spin_unlock(&mts->lock);
> +
> + return IRQ_HANDLED;

Missing parport code change, see below.
> }
>
> static int __devinit snd_mts64_probe_port(struct parport *p)
> diff --git a/sound/drivers/portman2x4.c b/sound/drivers/portman2x4.c
> index e065b2a..7e4ac0b 100644
> --- a/sound/drivers/portman2x4.c
> +++ b/sound/drivers/portman2x4.c
> @@ -645,6 +645,8 @@ static void snd_portman_interrupt(void *userdata)
> }
>
> spin_unlock(&pm->reg_lock);
> +
> + return IRQ_HANDLED;

Hmm. The corresponding change to prototype is missing and
the change to the parport code is missing.

Eric

2007-10-19 18:21:58

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Eric W. Biederman wrote:
> Jeff Garzik <[email protected]> writes:
>
>> commit 008b5fcf3c1d8456005de26ddd4256b1369225e8
>> Author: Jeff Garzik <[email protected]>
>> Date: Fri Oct 19 00:45:51 2007 -0400
>>
>> [IRQ ARG REMOVAL] core interrupt delivery infrastructure updates
>>
>> include/asm-generic/irq_regs.h | 25 +++++++++++++++++++++++++
>> include/linux/interrupt.h | 4 ++--
>> kernel/irq/handle.c | 5 +++--
>> kernel/irq/manage.c | 4 ++--
>> kernel/irq/spurious.c | 3 ++-
>> lib/irq_regs.c | 5 +++++
>> 6 files changed, 39 insertions(+), 7 deletions(-)
>>
>> 008b5fcf3c1d8456005de26ddd4256b1369225e8
>> diff --git a/include/asm-generic/irq_regs.h b/include/asm-generic/irq_regs.h
>> index 5ae1d07..1d99ef4 100644
>> --- a/include/asm-generic/irq_regs.h
>> +++ b/include/asm-generic/irq_regs.h
>> @@ -34,4 +34,29 @@ static inline struct pt_regs *set_irq_regs(struct pt_regs
>> *new_regs)
>> return old_regs;
>> }
>>
>> +DECLARE_PER_CPU(unsigned int, __irqfunc_irqs);
>> +
>> +static inline unsigned int get_irqfunc_irq(void)
>> +{
>> + return __get_cpu_var(__irqfunc_irqs);
>> +}
>> +
>> +#if 0
>> +static inline unsigned int set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + unsigned int old_irq, *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + old_irq = *pirq;
>> + *pirq = new_irq;
>> + return old_irq;
>> +}
>> +#else
>> +static inline void set_irqfunc_irq(unsigned int new_irq)
>> +{
>> + int *pirq = &__get_cpu_var(__irqfunc_irqs);
>> +
>> + *pirq = new_irq;
>> +}
>> +#endif
>
> Please look at handle_IRQ_event. Local irqs are enabled so irq
> recursion can happen. So not handling old_irq is a big nasty
> bug.

Do you think set_irqfunc_irq() should be called at all the callsites of
set_irq_regs(), or one the fix you mention is applied, do you think
current model is sufficient?

Jeff



2007-10-19 18:36:20

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 4/9] irq-remove: driver non-trivial

Eric W. Biederman wrote:
> [snip] Found issues and ran out of review bandwidth.

thanks for the comments! I'll work through these.

There are definitely plenty of open issues I haven't yet tackled in the
driver area, as you are seeing. As you noted, a lot of these are with
drivers doing weird things like calling their own interrupt function
with (-1, NULL) or (0, NULL), which triggers some magic "I'm polling"
behavior.


>> }
>> __out:
>> spin_unlock(&mts->lock);
>> +
>> + return IRQ_HANDLED;
>
> Missing parport code change, see below.

those two parport changes were bogus, and actually got fixed up in patch #9

2007-10-19 18:38:48

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

Thomas Gleixner <[email protected]> writes:

> On Fri, 19 Oct 2007, Jeff Garzik wrote:
>>
>> WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE
>>
>> This posting is just to demonstrate something that I have been keeping
>> alive in the background. I have no urge to push it upstream anytime
>> soon.
>>
>> The overwhelming majority of drivers do not ever bother with the 'irq'
>> argument that is passed to each driver's irq handler.
>>
>> Of the minority of drivers that do use the arg, the majority of those
>> have the irq number stored in their private-info structure somewhere.
>>
>> There are a tiny few -- a couple Mac drivers -- which do weird things
>> with that argument, but that's it.
>
> Jeff,
>
> thanks for doing this.

Yes. keeping this alive is good.

The practical question is how do we make this change without breaking
the drivers that use their irq argument.

> Full ACK.
>
> We should do this right at the edge of -rc1. And let's do this right
> now in .24 and not drag it out for no good reason.

There are two problems with that suggestion.
- We don't have all of the architectures converted.
- We don't have a solid plan for how to keep drivers that are
using the irq parameter today working.

I don't think the irq argument is something we want to keep
around forever, and I certainly don't see the need to do
the error prone get_irqfunc_irq and set_irqfunc_irq logic.

How about:

irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
{
irqreturn_t ret, retval = IRQ_NONE;
unsigned int status = 0;

handle_dynamic_tick(action);

if (!(action->flags & IRQF_DISABLED))
local_irq_enable_in_hardirq();

do {
if (action->flags & IRQF_VERBOSE)
ret = action->handler_verbose(irq, action->dev_id);
else
ret = action->handler(action->dev_id);
if (ret == IRQ_HANDLED)
status |= action->flags;
retval |= ret;
action = action->next;
} while (action);

if (status & IRQF_SAMPLE_RANDOM)
add_interrupt_randomness(irq);
local_irq_disable();

return retval;
}

And then:

typedef irqreturn_t (*irq_handler_verbose_t)(int, void *);
typedef irqreturn_t (*irq_handler_t)(void *);

struct irqaction {
union {
irq_handler_verbose_t handler_verbose;
irq_handler_t handler;
};
unsigned long flags;
cpumask_t mask;
const char *name;
void *dev_id;
struct irqaction *next;
int irq;
struct proc_dir_entry *dir;
};

int request_irq(unsigned int irq, irq_handler_t handler,
unsigned long irqflags, const char *devname, void *dev_id)

int request_verbose_irq(unsigned int irq, irq_handler_verbose_t handler,
unsigned long irqflags, const char *devname, void *dev_id)

Then we just need to go through all of the drivers and either change
their interrupt handler prototype or change the flavor of request_irq.

It is a bit of a pain but we should be able to do that without breaking
any drivers. Which it looks like we are in real danger of if someone
goes through them all interrupt handlers that are using the irq
argument and change them all at once. Especially since most of those
drivers are old an rarely used right now.

Eric

2007-10-19 18:49:24

by mark gross

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

On Fri, Oct 19, 2007 at 03:54:43AM -0400, Jeff Garzik wrote:
>
> WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE

then whats the point ?

>
> This posting is just to demonstrate something that I have been keeping
> alive in the background. I have no urge to push it upstream anytime
> soon.

why not?

--mgross

>
> The overwhelming majority of drivers do not ever bother with the 'irq'
> argument that is passed to each driver's irq handler.
>
> Of the minority of drivers that do use the arg, the majority of those
> have the irq number stored in their private-info structure somewhere.
>
> There are a tiny few -- a couple Mac drivers -- which do weird things
> with that argument, but that's it.
>
> For the large sweeps through the tree, these patches are grouped into
> "trivial" changes -- simply removing the unused irq arg -- or all other
> changes.
>
> [IRQ ARG REMOVAL] core interrupt delivery infrastructure updates
> [IRQ ARG REMOVAL] various non-trivial arch updates
> [IRQ ARG REMOVAL] trivial arch updates
> [IRQ ARG REMOVAL] non-trivial driver updates
> [IRQ ARG REMOVAL] trivial net driver updates
> [IRQ ARG REMOVAL] trivial sound driver updates
> [IRQ ARG REMOVAL] trivial scsi driver updates
> [IRQ ARG REMOVAL] trivial driver updates
> [IRQ ARG REMOVAL] x86-64 build fixes, cleanups
>
> WARNING NOT FOR MERGE WARNING NOT FOR MERGE WARNING NOT FOR MERGE
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2007-10-19 18:58:02

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

Eric W. Biederman wrote:
> Yes. keeping this alive is good.
>
> The practical question is how do we make this change without breaking
> the drivers that use their irq argument.


This is why I'm taking it slow, and not rushing to get this upstream :)

I am finding a ton of bugs in each get_irqfunc_irq() driver, so I would
rather patiently sift through them, and push fixes and cleanups upstream.

Once that effort is done, everything should be in the 'trivial' pile and
not have the logic that you are worried about (and thus there would be
no need to add an additional branch to the error handling path).

Jeff


2007-10-19 19:03:16

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

Jeff Garzik wrote:
> Once that effort is done, everything should be in the 'trivial' pile and
> not have the logic that you are worried about (and thus there would be
> no need to add an additional branch to the error handling path).

er, s/error/irq/

the perils of a multi-threaded brain...

2007-10-19 19:07:39

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers


* Eric W. Biederman <[email protected]> wrote:

> > thanks for doing this.
>
> Yes. keeping this alive is good.
>
> The practical question is how do we make this change without breaking
> the drivers that use their irq argument.

the get_irq_regs() approach worked out really well. We should do a
get_irq_nr() and be done with it?

(Then once the mechanic conversion has been done we could eliminate all
uses of get_irq_nr() and remove the small overhead it takes to maintain
this per-cpu value in the irq entry layer.)

full ACK on the concept from me too. Please go ahead! :)

Ingo

2007-10-19 19:36:46

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

Ingo Molnar <[email protected]> writes:

> * Eric W. Biederman <[email protected]> wrote:
>
>> > thanks for doing this.
>>
>> Yes. keeping this alive is good.
>>
>> The practical question is how do we make this change without breaking
>> the drivers that use their irq argument.
>
> the get_irq_regs() approach worked out really well. We should do a
> get_irq_nr() and be done with it?

The problem are some drivers today pass in 0 for their irq number
to flag that they are calling the interrupt handler in a polling
mode (not from interrupt context?) so the same logic doesn't quite apply.

Do what you suggest would likely break those drivers.

Eric

2007-10-19 19:38:54

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 2/9] irq-remove: arch non-trivial

Jeff Garzik <[email protected]> writes:

> Eric W. Biederman wrote:
>> In this case we can easily pass the irqno into request_irq, allowing
>> us to do "unsigned int intno = (unsigned int)dev_id;".
>>
>> I suspect this is the case for the majority of the non-trivial users
>> as well.
>
>
> Not that easy, alas :) Save for weirdos like the mac drivers I highlighted, it
> seems like most drivers in the non-trivial already pass a useful pointer to
> request_irq().

I was talking about vm86_32.c in particular. Where we allow user space
through the vm86 interface to directly handle the isa irq.

> But as I mentioned, most of the "non-trivial" uses are actually trivial -- just
> not as simple as removing the 'int irq' argument. Most of the time the irq
> number is used in non-critical ways like printk's. A few times its used to
> index into a structure (something dev_id could replace).

Yes.

Eric

2007-10-19 19:41:36

by Thomas Gleixner

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

On Fri, 19 Oct 2007, Eric W. Biederman wrote:
> Ingo Molnar <[email protected]> writes:
>
> > * Eric W. Biederman <[email protected]> wrote:
> >
> >> > thanks for doing this.
> >>
> >> Yes. keeping this alive is good.
> >>
> >> The practical question is how do we make this change without breaking
> >> the drivers that use their irq argument.
> >
> > the get_irq_regs() approach worked out really well. We should do a
> > get_irq_nr() and be done with it?
>
> The problem are some drivers today pass in 0 for their irq number
> to flag that they are calling the interrupt handler in a polling
> mode (not from interrupt context?) so the same logic doesn't quite apply.
>
> Do what you suggest would likely break those drivers.

How many of them do we have ? This is a wilful abuse of the API, so
its not a big damage if they break.

tglx

2007-10-19 19:53:40

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Jeff Garzik <[email protected]> writes:
>
> Do you think set_irqfunc_irq() should be called at all the callsites of
> set_irq_regs(), or one the fix you mention is applied, do you think current
> model is sufficient?

Good question. At first glance I think the call sites are ok, that
is where we have the information now. Non-genirq architectures needs
work of course.

However given the weird poll case etc that either we need to take this
slow and delay this change until all of the drivers are fixed up, to
not need an irq parameter (as you suggested). Or that we need to
allow both forms of irq handler to coexist temporarily.

Eric

2007-10-19 19:55:53

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

Thomas Gleixner wrote:
> On Fri, 19 Oct 2007, Eric W. Biederman wrote:
>> Ingo Molnar <[email protected]> writes:
>>
>>> * Eric W. Biederman <[email protected]> wrote:
>>>
>>>>> thanks for doing this.
>>>> Yes. keeping this alive is good.
>>>>
>>>> The practical question is how do we make this change without breaking
>>>> the drivers that use their irq argument.
>>> the get_irq_regs() approach worked out really well. We should do a
>>> get_irq_nr() and be done with it?
>> The problem are some drivers today pass in 0 for their irq number
>> to flag that they are calling the interrupt handler in a polling
>> mode (not from interrupt context?) so the same logic doesn't quite apply.
>>
>> Do what you suggest would likely break those drivers.
>
> How many of them do we have ? This is a wilful abuse of the API, so
> its not a big damage if they break.

I would prefer to simply clean up the drivers such that
get_irqfunc_irq() and set_irqfunc_irq() are not needed.

One of the many reasons why I'm explicitly not pushing it upstream yet :)

Jeff



2007-10-19 20:00:25

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Eric W. Biederman wrote:
> Jeff Garzik <[email protected]> writes:
>> Do you think set_irqfunc_irq() should be called at all the callsites of
>> set_irq_regs(), or one the fix you mention is applied, do you think current
>> model is sufficient?
>
> Good question. At first glance I think the call sites are ok, that
> is where we have the information now. Non-genirq architectures needs
> work of course.
>
> However given the weird poll case etc that either we need to take this
> slow and delay this change until all of the drivers are fixed up, to
> not need an irq parameter (as you suggested). Or that we need to
> allow both forms of irq handler to coexist temporarily.

After diving in, in the past couple of hours, I'm pretty confident we
simply do not need {get,set}_irqfunc_irq()

Jeff



2007-10-19 23:13:57

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Jeff Garzik <[email protected]> writes:

> Eric W. Biederman wrote:
>> Jeff Garzik <[email protected]> writes:
>>> Do you think set_irqfunc_irq() should be called at all the callsites of
>>> set_irq_regs(), or one the fix you mention is applied, do you think current
>>> model is sufficient?
>>
>> Good question. At first glance I think the call sites are ok, that
>> is where we have the information now. Non-genirq architectures needs
>> work of course.
>>
>> However given the weird poll case etc that either we need to take this
>> slow and delay this change until all of the drivers are fixed up, to
>> not need an irq parameter (as you suggested). Or that we need to allow both
>> forms of irq handler to coexist temporarily.
>
> After diving in, in the past couple of hours, I'm pretty confident we simply do
> not need {get,set}_irqfunc_irq()

Sounds good. That was my impression when I was looking at this kind of stuff.

Just so long as this doesn't slow us down so much we don't actually drop the
ball on this.

Eric

2007-10-19 23:46:36

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Eric W. Biederman wrote:
> Jeff Garzik <[email protected]> writes:
>
>> Eric W. Biederman wrote:
>>> Jeff Garzik <[email protected]> writes:
>>>> Do you think set_irqfunc_irq() should be called at all the callsites of
>>>> set_irq_regs(), or one the fix you mention is applied, do you think current
>>>> model is sufficient?
>>> Good question. At first glance I think the call sites are ok, that
>>> is where we have the information now. Non-genirq architectures needs
>>> work of course.
>>>
>>> However given the weird poll case etc that either we need to take this
>>> slow and delay this change until all of the drivers are fixed up, to
>>> not need an irq parameter (as you suggested). Or that we need to allow both
>>> forms of irq handler to coexist temporarily.
>> After diving in, in the past couple of hours, I'm pretty confident we simply do
>> not need {get,set}_irqfunc_irq()
>
> Sounds good. That was my impression when I was looking at this kind of stuff.
>
> Just so long as this doesn't slow us down so much we don't actually drop the
> ball on this.

Hey I'm the one who has kept the ball rolling since the day pt_regs were
removed... :)

Jeff



2007-10-19 23:53:41

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 1/9] irq-remove: core

Eric W. Biederman wrote:
> Jeff Garzik <[email protected]> writes:
>
>> Eric W. Biederman wrote:
>>> Jeff Garzik <[email protected]> writes:
>>>> Do you think set_irqfunc_irq() should be called at all the callsites of
>>>> set_irq_regs(), or one the fix you mention is applied, do you think current
>>>> model is sufficient?
>>> Good question. At first glance I think the call sites are ok, that
>>> is where we have the information now. Non-genirq architectures needs
>>> work of course.
>>>
>>> However given the weird poll case etc that either we need to take this
>>> slow and delay this change until all of the drivers are fixed up, to
>>> not need an irq parameter (as you suggested). Or that we need to allow both
>>> forms of irq handler to coexist temporarily.
>> After diving in, in the past couple of hours, I'm pretty confident we simply do
>> not need {get,set}_irqfunc_irq()
>
> Sounds good. That was my impression when I was looking at this kind of stuff.

'irq' argument is gone from the entire tree, save for

drivers/char/tpm/tpm_tis.c
drivers/scsi/sym53c416.c
drivers/scsi/NCR53C9x.c
drivers/scsi/NCR5380.c
drivers/net/hamradio/scc.c
drivers/ide/ide-io.c

So I'd say the task is within reach :)

All the irq handler cleanups have been checked into branch
'irq-cleanups', and 'irq-remove' branch is rebased on top of that.

Jeff


2007-10-20 06:04:19

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 0/9] Remove 'irq' argument from all irq handlers

On Fri, Oct 19, 2007 at 03:54:43AM -0400, Jeff Garzik wrote:
>
> The overwhelming majority of drivers do not ever bother with the 'irq'
> argument that is passed to each driver's irq handler.
>
> Of the minority of drivers that do use the arg, the majority of those
> have the irq number stored in their private-info structure somewhere.
>
> There are a tiny few -- a couple Mac drivers -- which do weird things
> with that argument, but that's it.
>
> For the large sweeps through the tree, these patches are grouped into
> "trivial" changes -- simply removing the unused irq arg -- or all other
> changes.

Very cool stuff, I like it :)

greg k-h

2007-10-26 21:35:48

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

On Fri, 19 Oct 2007 09:00:23 -0400
"Salyzyn, Mark" <[email protected]> wrote:

> ACK with comment ...

Please don't top-post and then include 65 kbytes of unneeded goop.

> This API changed in 2.4.23 switching to irqreturn_t, and 2.6.19 dropping
> the struct_pt_regs argument, this is yet another API change in the same
> function. The last one came with no clues to differentiate except kernel
> version (for those of us that are required to produce updated
> back-ported driver modules once this patch becomes a legacy). I am
> *praying* that this API change is clean across 2.6.24 and add my voice
> to all to ACK this clearly!
>

That was a goofup. I proposed that we should add a #define
TWO_ARG_IRQ_HANDLERS (or whatever) and I think I actually wrote the patch,
but it got lost.

I agree it would be a kind thing to do in this case.

Not that I ever want to see these patches again ;)

2007-10-26 21:48:17

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

Andrew Morton wrote:
> That was a goofup. I proposed that we should add a #define
> TWO_ARG_IRQ_HANDLERS (or whatever) and I think I actually wrote the patch,
> but it got lost.
>
> I agree it would be a kind thing to do in this case.


Yep, I was thinking that including

#define IRQ_HANDLER_V3

would be a good idea.

Jeff


2007-10-26 23:55:08

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

On Fri, 26 Oct 2007 17:47:58 -0400
Jeff Garzik <[email protected]> wrote:

> Andrew Morton wrote:
> > That was a goofup. I proposed that we should add a #define
> > TWO_ARG_IRQ_HANDLERS (or whatever) and I think I actually wrote the
> > patch, but it got lost.
> >
> > I agree it would be a kind thing to do in this case.

>
>
> Yep, I was thinking that including
>
> #define IRQ_HANDLER_V3
>
> would be a good idea.
>

it sets a certain precedent though.... we don't do this for the 500
other API changes we do each release (see stable-api-nonsense)... so
this one is mostly arbitrary picked out


--
If you want to reach me at my work email, use [email protected]
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

2007-10-27 00:12:56

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

Arjan van de Ven wrote:
> On Fri, 26 Oct 2007 17:47:58 -0400
> Jeff Garzik <[email protected]> wrote:
>
>> Andrew Morton wrote:
>>> That was a goofup. I proposed that we should add a #define
>>> TWO_ARG_IRQ_HANDLERS (or whatever) and I think I actually wrote the
>>> patch, but it got lost.
>>>
>>> I agree it would be a kind thing to do in this case.
>
>>
>> Yep, I was thinking that including
>>
>> #define IRQ_HANDLER_V3
>>
>> would be a good idea.
>>
>
> it sets a certain precedent though.... we don't do this for the 500
> other API changes we do each release (see stable-api-nonsense)... so
> this one is mostly arbitrary picked out

We do for include/linux/netdevice.h, see HAVE_xxx -- and we should do it
because the last irq handler change was a pain for backports, and this
makes life easier for the backporters. irq handling is probably far
more global than any other kernel API except kmalloc()

Jeff



2007-10-27 00:20:27

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

On Fri, 26 Oct 2007 20:12:40 -0400
Jeff Garzik <[email protected]> wrote:

> Arjan van de Ven wrote:
> > On Fri, 26 Oct 2007 17:47:58 -0400
> > Jeff Garzik <[email protected]> wrote:
> >
> >> Andrew Morton wrote:
> >>> That was a goofup. I proposed that we should add a #define
> >>> TWO_ARG_IRQ_HANDLERS (or whatever) and I think I actually wrote
> >>> the patch, but it got lost.
> >>>
> >>> I agree it would be a kind thing to do in this case.
> >
> >>
> >> Yep, I was thinking that including
> >>
> >> #define IRQ_HANDLER_V3
> >>
> >> would be a good idea.
> >>
> >
> > it sets a certain precedent though.... we don't do this for the 500
> > other API changes we do each release (see stable-api-nonsense)... so
> > this one is mostly arbitrary picked out
>
> We do for include/linux/netdevice.h, see HAVE_xxx -- and we should do
> it because the last irq handler change was a pain for backports, and
> this makes life easier for the backporters. irq handling is probably
> far more global than any other kernel API except kmalloc()

to be honest, in a perfect world we turn this around, and have the
older kernels that people want to backport to have the
LEGACY_IRQ_HANDLER defines... not accumulating going forward....
(in fact, with what you're proposing you'll always get #ifndef's..)

the other serious question is.. how is IRQ_HANDLER_V3 different from a
#ifdef VERSION >= 2.6.24 .....
it's not really ;)



--
If you want to reach me at my work email, use [email protected]
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

2007-10-27 00:37:59

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

Arjan van de Ven wrote:
> the other serious question is.. how is IRQ_HANDLER_V3 different from a
> #ifdef VERSION >= 2.6.24 .....
> it's not really ;)

Note my mention of backport -- kernel version isn't relevant when the
various enterprise distros have random featuresets under random kernel
versions.

Jeff


2007-10-27 05:35:54

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

On Fri, 26 Oct 2007 20:37:47 -0400
Jeff Garzik <[email protected]> wrote:

> Arjan van de Ven wrote:
> > the other serious question is.. how is IRQ_HANDLER_V3 different
> > from a #ifdef VERSION >= 2.6.24 .....
> > it's not really ;)
>
> Note my mention of backport -- kernel version isn't relevant when the
> various enterprise distros have random featuresets under random
> kernel versions.
>

yeah and THEY can put the defines in (RH used to do this fwiw as a
generic "this is a RH kernel" define)....

but afaik no distro vendor backports such an api change nowadays... and
hasn't in 2.6 ever


--
If you want to reach me at my work email, use [email protected]
For development, discussion and tips for power savings,
visit http://www.lesswatts.org

2007-10-27 07:06:38

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

Arjan van de Ven wrote:
> On Fri, 26 Oct 2007 20:37:47 -0400
> Jeff Garzik <[email protected]> wrote:
>
>> Arjan van de Ven wrote:
>>> the other serious question is.. how is IRQ_HANDLER_V3 different
>>> from a #ifdef VERSION >= 2.6.24 .....
>>> it's not really ;)
>> Note my mention of backport -- kernel version isn't relevant when the
>> various enterprise distros have random featuresets under random
>> kernel versions.
>>
>
> yeah and THEY can put the defines in (RH used to do this fwiw as a
> generic "this is a RH kernel" define)....
>
> but afaik no distro vendor backports such an api change nowadays... and
> hasn't in 2.6 ever

People backport drivers all the time that must support a wide range of
kernels.

Jeff



2007-10-27 07:47:21

by Eric W. Biederman

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

Jeff Garzik <[email protected]> writes:

> Arjan van de Ven wrote:
>> On Fri, 26 Oct 2007 20:37:47 -0400
>> Jeff Garzik <[email protected]> wrote:
>>
>>> Arjan van de Ven wrote:
>>>> the other serious question is.. how is IRQ_HANDLER_V3 different
>>>> from a #ifdef VERSION >= 2.6.24 .....
>>>> it's not really ;)
>>> Note my mention of backport -- kernel version isn't relevant when the various
>>> enterprise distros have random featuresets under random
>>> kernel versions.
>>>
>>
>> yeah and THEY can put the defines in (RH used to do this fwiw as a
>> generic "this is a RH kernel" define)....
>>
>> but afaik no distro vendor backports such an api change nowadays... and
>> hasn't in 2.6 ever
>
> People backport drivers all the time that must support a wide range of kernels.

I thought the argument was not that drivers are back ported but that
internal kernel APIs changes aren't backported. So that testing
the kernel version actually has a chance as a reasonable test for
features.

Eric

2007-10-27 14:21:43

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH 7/9] irq-remove: scsi driver trivial

On Sat, 27 Oct 2007 01:46:15 -0600
[email protected] (Eric W. Biederman) wrote:

> >>>
> >>
> >> yeah and THEY can put the defines in (RH used to do this fwiw as a
> >> generic "this is a RH kernel" define)....
> >>
> >> but afaik no distro vendor backports such an api change
> >> nowadays... and hasn't in 2.6 ever
> >
> > People backport drivers all the time that must support a wide range
> > of kernels.
>
> I thought the argument was not that drivers are back ported but that
> internal kernel APIs changes aren't backported.

exactly
> So that testing
> the kernel version actually has a chance as a reasonable test for
> features.

or at least for this level of API change

For this specific change, I don't see ANY distro just backporting
this ... so a version test is just fine for this change imo.


--
If you want to reach me at my work email, use [email protected]
For development, discussion and tips for power savings,
visit http://www.lesswatts.org